pax_global_header00006660000000000000000000000064131204661200014505gustar00rootroot0000000000000052 comment=e1a64fefd26f32616fdb75c75c55aa1782c1d8f5 rmlint-2.6.1/000077500000000000000000000000001312046612000130205ustar00rootroot00000000000000rmlint-2.6.1/.clang-format000066400000000000000000000032641312046612000154000ustar00rootroot00000000000000--- Language: Cpp BasedOnStyle: Google AccessModifierOffset: -1 ConstructorInitializerIndentWidth: 4 AlignEscapedNewlinesLeft: true AlignTrailingComments: true AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: false AllowShortIfStatementsOnASingleLine: false AllowShortLoopsOnASingleLine: false AllowShortFunctionsOnASingleLine: false AlwaysBreakTemplateDeclarations: true AlwaysBreakBeforeMultilineStrings: true BreakBeforeBinaryOperators: false BreakBeforeTernaryOperators: true BreakConstructorInitializersBeforeComma: false BinPackParameters: true ColumnLimit: 90 ConstructorInitializerAllOnOneLineOrOnePerLine: true DerivePointerAlignment: true ExperimentalAutoDetectBinPacking: true IndentCaseLabels: false IndentWrappedFunctionNames: false IndentFunctionDeclarationAfterType: false MaxEmptyLinesToKeep: 1 KeepEmptyLinesAtTheStartOfBlocks: false NamespaceIndentation: None ObjCSpaceAfterProperty: false ObjCSpaceBeforeProtocolList: false PenaltyBreakBeforeFirstCallParameter: 1 PenaltyBreakComment: 300 PenaltyBreakString: 1000 PenaltyBreakFirstLessLess: 120 PenaltyExcessCharacter: 1000000 PenaltyReturnTypeOnItsOwnLine: 200 PointerAlignment: Left SpacesBeforeTrailingComments: 2 Cpp11BracedListStyle: true Standard: Auto IndentWidth: 4 TabWidth: 8 UseTab: Never BreakBeforeBraces: Attach SpacesInParentheses: false SpacesInAngles: false SpaceInEmptyParentheses: false SpacesInCStyleCastParentheses: false SpacesInContainerLiterals: true SpaceBeforeAssignmentOperators: true ContinuationIndentWidth: 4 CommentPragmas: '^ IWYU pragma:' ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] SpaceBeforeParens: Never DisableFormat: false ... rmlint-2.6.1/.clang_complete000066400000000000000000000013241312046612000157750ustar00rootroot00000000000000-pthread -std=c99 -Wall -Wextra -W -Winit-self -Wstrict-aliasing -Wmissing-include-dirs -Wuninitialized -Wstrict-prototypes -std=c99 -pipe -fPIC -g -D_GNU_SOURCE -DHAVE_STAT64=0 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/blkid -I/usr/include/uuid rmlint-2.6.1/.format.sh000077500000000000000000000013441312046612000147270ustar00rootroot00000000000000#!/bin/sh FILES=$(find src lib -iname '*.[ch]') # Format the files according to the style defined in .clang-format clang-format -i -style=file ${FILES} || (echo 'clang-format failed'; exit 1); # clang-format sometimes adds windows like line-endins (\r\n). # Fix this by issueing dos2unix on every file. dos2unix --quiet ${FILES} || (echo 'dos2unix failed'; exit 2); # Some bad editors might save files with a bad encoding. # Since a few source code files contain unicode, we fix this with iconv. for path in ${FILES}; do # iconv core dumps when using the same file as input and output. # (adding this to my wtf-of-the-day-list) cat ${path} | iconv -t "utf-8" -o ${path} || (echo "iconv failed on ${path}"; exit 3) done; rmlint-2.6.1/.gitignore000066400000000000000000000004071312046612000150110ustar00rootroot00000000000000*.o *.gcda *.gcno *.swp *.log *.status *.mo rmlint rmlint.sh src/config.h docs/rmlint.1.gz docs/rmlint.1 # Scons .scons* .sconf* .rope* *.pyc docs/_build __pycache__ lib/config.h lib/formats/py.c lib/formats/sh.c uninstall- gui/app/resources/app.gresource *.a rmlint-2.6.1/.mailmap000066400000000000000000000005771312046612000144520ustar00rootroot00000000000000Christopher Pahl Christopher Pahl Christopher Pahl Christopher Pahl Christopher Pahl Christopher Pahl Christopher Pahl rmlint-2.6.1/.travis.yml000066400000000000000000000007771312046612000151440ustar00rootroot00000000000000language: c install: - sudo apt-get update - sudo apt-get install python3-sphinx gettext python3-setuptools - sudo apt-get install libblkid-dev libelf-dev libglib2.0-dev libjson-glib-dev - sudo easy_install3 $(cat test-requirements.txt) compiler: - clang - gcc notifications: email: - sahib@online.de - thomas_d_j@yahoo.com.au script: - scons VERBOSE=1 - scons config - export RM_TS_PRINT_CMD=1 - export RM_TS_PEDANTIC=0 - sudo -E nosetests -s -v -a '!slow' rmlint-2.6.1/.version000066400000000000000000000000341312046612000145030ustar00rootroot000000000000002.6.1 Penetrating Pineapple rmlint-2.6.1/CHANGELOG.md000066400000000000000000000354051312046612000146400ustar00rootroot00000000000000# Change Log All notable changes to this project will be documented in this file. The format follows [keepachangelog.com]. Please stick to it. ## [2.6.1 Penetrating Pineapple] -- 2017-06-13 ### Fixed * Fix build-error on macOS due to wrong usage of #ifdef. * Fix a bug in treemerge that sometimes counted hardlinks more than once. * Fix copyright year notice all over the source code. * Fix --equal to allow hidden files, files counting as other lint and empty files. * Fix --equal to allow path doubles so passing symlinks to the same file still yields a 0. Due to those fixes the paranoia mode of ``rmlint.sh`` should run smoother (again) now. * Use a more sophisticated strategy to find the path to the own binary and fallback to ``$(which rmlint)``. * Workaround the bash bug that did not allow huge functions by bringing back the old approach without a function. ### Changed * It is now possible to treat empty files as duplicates when specifying "--size 0". * Use the `cmp` builtin to compare regular in the shell script files again, since it's faster. * Abort early in ``--equal`` if an mismatch has been encountered. * Test the shell script more thoroughly to avoid release troubles. ### Added * Add a new ``-c`` switch to ``rmlint.sh`` that cleans up empty directories while running the script. ## [2.6.0 Penetrating Pineapple] -- 2017-06-03 ### Fixed * Do not chmod +x files that exist already (previous versions tried to +x e.g. /dev/null) * Support anonymous pipes in the sh formatter (Supported now: rmlint -o sh:>(cat)) * Documentation should look a bit cleaner now. * Fixed a crash when a file was clamped to a size of 0. * Fixed a rounding error bug that can happen while sorting mtimes. * Fixed the slightly broken --mtime-window option (was too permissive in rare cases) * Force permissions (0755 for binary, 0644 for manpage) when installing files in the filesystem. * Fix wrong ordering when using -D without -k or -K. * Fix a space wasting bug that happened with -D and -c sh:link. * Fix a bug in treemerge that sometimes lead to directories not being detected (should be also slightly faster now) * Fix inconsistent handling of duplicate directories when using hardlinks, symlinks and reflinks. * Abort early if an invalid path has been given via commandline or stdin. * Do not silence errors while commandline parsing when using ``-g``. ### Added * Added new checksums: blake2{s,sp,b,bp} and sha3{-256,-384,-512}. sha3 is an alias to sha3-256. * Support for GNU Hurd (well, at least it compiles :) * New "-o stats" formatter that prints some statistics about the run. * Progressbar now additionally shows an ETA time (how long rmlint will probably run) * New option ``--honour-dir-layout (-j)`` that makes ``--merge-directories (-D)`` also check if the directory layout is the same. * A new ``--equal`` option that works like the ``cmp`` utility, but supports directories. * Add a progress percentage to ``rmlint.sh`` for big runs. ### Changed * Changed the default hash function to blake2b. * The default formatter (pretty) now also outputs the time used for the run. * Updated existing translations. ## [2.4.6 Myopic Micrathene Bugfixes] -- 2017-01-16 ### Fixed * Update translation template. * Various fix to make rmlint ready to be packaged in debian. ### Added * Output of rmlint.sh uses a colored prefix now. ## [2.4.5 Myopic Micrathene Bugfixes] -- 2016-12-12 ### Fixed * Make ``--replay`` truly merge different sets of duplicates. * Call ``exit(1)`` when getting a fatal signal (somehow was missing) * ``scons test`` now executes only the sane part of the testsuite. * Be more friendly when no manpage was found (and show --help) * Handle readonly btrfs subvolumes well. See also: https://github.com/sahib/rmlint/issues/195 * Various build errors fixed for old/rare systems. * Various fixes in the gui, mostly related to old GTK versions. ### Added * New option ``--mtime-window``: Only consider files as duplicates that share a mtime in a certain time-window. See also: https://github.com/sahib/rmlint/issues/197 * New sortcriteria ``O`` (maximize outside hardlinks) and ``H`` (maximize total hardlinks) See also: https://github.com/sahib/rmlint/issues/196 * Proper installation instructions for macOS. ### Changed * Re-Design ``--replay`` to accept ``//`` like the normal commandline does. * New default sortcriteria is ``pOMa`` to maximize the chance of deleting the most bytes from the storage. ## [2.4.4 Myopic Micrathene Bugfixes] -- 2016-04-01 ### Fixed * Makefile related compile troubles on BSD for the GUI> * Check for accessat and ATR_FDCWD explicitly and try to work around them when missing. * Clearup installation instructions ## [2.4.3 Myopic Micrathene Bugfixes] -- 2016-03-11 ### Fixed - Fix symbolic link emitting in sh script (sometimes files were omitted from rmlint.sh) - Fix compile stop on BSD systems in utilities.c (thanks f99aq8ove) - Fix some compiler warnings and typos. ### Added - Add basic spanish translation. - Add basic compile support on cygwin. ## [2.4.2 Myopic Micrathene Bugfixes] -- 2015-12-14 ### Fixed - Fix bad size stats using ``--replay`` with hardlinks. - Fix unicode emission of ``json`` formatter. - Fix broken ``gui/SConscript`` (was looking for python4...) ### Added - Add ``unique`` formatter to print unique files. (See https://github.com/sahib/rmlint/issues/161) ### Changed - Removed ``--with-metadata-cache`` and ``--cache`` since both introduced lots of code without giving many benefits. In total about 1000 lines of code were removed in this process. - For limiting memory usage there is just ``--limit-mem`` now. ## [2.4.1 Myopic Micrathene Bugfixes] -- 2015-11-01 ### Fixed - ``btrfs``: Do not try to clone files on different subvolumes. - ``gui``: Tie down version for gobject-introspection. - ``freebsd``: Fix very bad performance due to mounttable and some compile issues. ### Added - ``-S`` now understands two new letters to match via regular expressions: - ``r``: Select the path as original that matches the pattern given in ```` after this letter. - ``x``: Same as ``r`` but match only basename. ## [2.4.0 Myopic Micrathene] -- 2015-10-25 ### Fixed - ``rmlint`` should compile on Mac OSX now. - Bugfix: Broken ``chown`` calls in sh script (thanks Shukrat Mukimov) - Bugfix: memory corruption when specifying ``-T dd`` alone. - Bugfix: Make ``-D`` and ``-k / -K`` play together nicely (thanks phiresky). - Smaller compile time troubles fixed. - Progressbar uses timeout-based redraws which leads to much smoother drawing and less cpu footprint. - ``pretty`` formatter (default) produces now valid escaped commands. It is still intented for visual output only. That's why a note for this was added. ### Added - A fully working graphical user interface which is installed as a python module by default (can be disabled via compile option ie ``scons --without-gui``). It can be started via ``rmlint --gui``. - Support for automatic deduplication on btrfs using ``BTRFS_IOC_FILE_EXTENT_SAME``. The Shellscript now will contain calls to ``rmlint --btrfs $source $dest`` for duplicates on ``btrfs`` filesystems if the user specified ``-c sh:clone``. - Benchmark suite that will track the performance of rmlint from release to release. This helps developers detect any speed regressions or improvements and is a tool to help develop and validate optimization strategies. - Shell/Python-script now does more sanity checks before removing and can be told to re-compare files byte-by-byte before removing them (``-p`` option when running the ``.sh`` file). - Add a new ``--hash`` option so rmlint can be used as a very fast file hashing utility, eg ``rmlint --hash`` works like ``sha1sum``, or ``rmlint --hash -d md5`` works like ``md5sum``. Also does sha256, sha512, murmur{128}, spooky{32,64,128}, city{128}. - ``--sort-by`` learned new keys: ``l`` (path length) and ``d`` (path depth). - New ``--unmatched-basename`` option only finds twins with differing basenames. - Smaller performance and memory optimisations in shredder. ### Changed - ``-g`` now checks if there is already a ``sh`` and ``json`` formatter before it adds one. - ``-PP`` now defaults to ``xxhash`` as hashing algorithm. - ``-o / --output`` learned to guess the formatter you want to use from the file ending. For example ``-o /tmp/test.json`` will work like ``-o json:/tmp/test.json``. - JSON output contains ``rmlint`` version and revision now. - ``--replay`` learned to merge several json files. - Internal refactoring (credits go to Daniel) of the scheduler and hashing library. The duplicate finding process has be split in separate modules. ## [2.3.0 Ominous Oscar] -- 2015-06-15 ### Fixed - Compiles on Mac OSX now. See also: https://github.com/sahib/rmlint/issues/139 - Fix a crash that happened with ``-e``. - Protect other lint than duplicates by ``-k`` or ``-K``. - ``chown`` in sh script fixed (was ``chmod`` by accident). ### Added - ``--replay``: Re-output a previously written json file. Allow filtering by using all other standard options (like size or directory filtering). - ``--sort-by``: Similar to ``-S``, but sorts groups of files. So showing the group with the biggest size sucker is as easy as ``-y s``. ### Changed - ``-S``'s long options is ``--rank-by`` now (prior ``--sortcriteria``). - ``-o`` can guess the formatter from the filename if given. - Remove some optimisations that gave no visible effect. - Simplified FIEMAP optimisation to reduce initial delay and reduce memory overhead - Improved hashing strategy for large disks (do repeated smaller sweeps across the disk instead of incrementally hashing every file on the disk) ## [2.2.1 Dreary Dropbear Bugfixes] ### Fixed - Incorrect handling of -W, --no-with-color option - Handling of $PKG_CONFIG in SConstruct - Failure to build manpage - Various BSD compatibility issues - Nonstandard header sequence in modules using fts - Removed some unnecessary warnings ## [2.2.0 Dreary Dropbear] -- 2015-05-09 ### Fixed - Issue with excessive memory usage and processing delays with very large file counts (>5M files) - Problems and crashes on 32bit with large files and normal files. - Bug in memory manager for "paranoid" file comparison method which could lead to OOM error in some cases and infinite looping in others. - Fixed bug which prevented option --max-paranoid-mem working. - Note: much kudos to our user "vvs-" who provided many useful testcases and was prepared to re-run a 10-hour duplicate search after each effort to fix the underlying issues. - Handling of json formatter on invalid utf8, which fixed ``--cache`` in return. - Bug during file traversal when encountering symlinks to empty folders ### Added - More aggressive test suite, leading to higher coverage rates (90% of lines, almost 100% functions at least). Let's not speak of branch coverage for now. 😄 - A primitive benchmark suite. - A GUI sketch that can be shipped along rmlint. ### Changed - Most internal filesystems like `proc` are ignored now. - Improved progressbar - Memory footprint reduced to enable larger filesets to be processed. See discussion at https://github.com/sahib/rmlint/issues/109. Improvements include a Pat(h)ricia-Trie used as data structure to efficiently map file paths with much less memory consumption. Also the file preprocessing strategy (eg to find path doubles) has been improved to avoid having several large hashtables active at the same time. - Improved threading strategy which increases speed of duplicate matching. As before, the threading strategy uses just one thread per physical disk to enable fast reading without disk thrash. The improved algorithm now increases the number of cpu threads used to hash the data as it is read in. Also an improved mutex strategy reduces the wait time before the hash results can be processed. Note the new threading strategy is particularly effective on the "paranoid" (byte-by-byte) file comparison method (option -pp), which is now almost as fast as the default (SHA1 hash) method. - The optimisation in 2.1.0 which detects existing reflinks has been reverted for now due to conflicts between shredder and treemerge. ## [2.1.0 Malnourished Molly] -- beta-release 2015-04-13 ### Fixed - performance regression: When having many pairs of duplicates, the core got slower very fast due to linear lookups. Fixed. - performance regression: No SSDs were detected due to two bugs. - commandline aborts also on non-fatal option misuses. - Some statistic counts were updated wrong sometimes. - Fixes in treemerge to respect directories tagges as originals. - Ignore "evil" fs types like bindfs, nullfs completely. - Fix race in file tree traversal. - Various smaller bugfixes. ### Added - ``--with-metadata-cache`` makes ``rmlint`` less memory hungry by storing its paths in a sqlite3 database and selecting them when needed. - ``--without-fiemap`` disables the ``fiemap`` optimization when focus is on memory footprint. - ``--perms`` can check if a file should be readable/writable or executable. - Json output is enabled by default and is written to ``rmlint.json``. - ``--partial-hidden`` does only see hidden files in duplicate directories. - ``--cache/--write-unfinished`` can be used to speedup re-runs drastically. - Checksums can be stored in the xattr of files with ``--xattr-read/write/clear``. - New progressbar output inspired by ``journalctl --verfiy``. - Better support for reflink-capable filesystems (e.g. *btrfs*): - detect existing reflinks using ``fiemap`` data (significant speedup) - support replacing files by a reflink if the filesystem supports it. ### Changed - Optional dependency for *sqlite3* for ``--with-metadata-cache``. - ``--hardlinked`` is enabled by default. - Support -n (dry-run) for rmlint.sh; require user input on ask. - Default digest is now *sha1* instead of *spooky*. - updated ``.pot`` template with help strings. - updated german translation accordingly. - -T supports arguments like df,dd properly now. - New --help text that shows a short reference only. - sahib made his 1000th commit on rmlint with this text and wonders where all the time has gone and why he isn't rich yet. ## [2.0.0 Personable Pidgeon] -- 2014-01-23 Initial release of the rewrite. [unreleased]: https://github.com/sahib/rmlint/compare/master...develop [2.2.1 Dreary Dropbear Bugfixes]: https://github.com/sahib/rmlint/compare/v2.2.0..v2.2.1 [2.2.0 Dreary Dropbear]: https://github.com/sahib/rmlint/releases/tag/v2.2.0 [2.1.0 Malnourished Molly]: https://github.com/sahib/rmlint/releases/tag/v2.1.0 [2.0.0 Personable Pidgeon]: https://github.com/sahib/rmlint/releases/tag/v2.0.0 [2.3.0 Ominous Oscar]: https://github.com/sahib/rmlint/compare/v2.2.2..v2.4.0 [2.4.0 Myopic Micrathene]: https://github.com/sahib/rmlint/releases/tag/v2.4.0 [2.4.1 Myopic Micrathene Bugfixes]: https://github.com/sahib/rmlint/releases/tag/v2.4.1 [keepachangelog.com]: http://keepachangelog.com/ rmlint-2.6.1/COPYING000066400000000000000000001045131312046612000140570ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . rmlint-2.6.1/README.rst000066400000000000000000000101241312046612000145050ustar00rootroot00000000000000 ====== .. image:: https://raw.githubusercontent.com/sahib/rmlint/develop/docs/_static/logo.png :align: center `rmlint` finds space waste and other broken things on your filesystem and offers to remove it. .. image:: https://readthedocs.org/projects/rmlint/badge/?version=latest :target: http://rmlint.rtfd.org .. image:: https://img.shields.io/travis/sahib/rmlint/develop.svg?style=flat :target: https://travis-ci.org/sahib/rmlint .. image:: https://img.shields.io/github/issues/sahib/rmlint.svg?style=flat :target: https://github.com/sahib/rmlint/issues .. image:: https://img.shields.io/github/release/sahib/rmlint.svg?style=flat :target: https://github.com/sahib/rmlint/releases .. image:: https://img.shields.io/github/downloads/sahib/rmlint/latest/total.svg :target: https://github.com/sahib/rmlint/releases/latest .. image:: http://img.shields.io/badge/license-GPLv3-4AC51C.svg?style=flat :target: https://www.gnu.org/licenses/quick-guide-gplv3.html.en **Features:** Finds… - …Duplicate Files and duplicate directories. - …Nonstripped binaries (i.e. binaries with debug symbols) - …Broken symbolic links. - …Empty files and directories. - …Files with broken user or/and group ID. **Differences to other duplicate finders:** - Extremely fast (no exaggeration, we promise!). - Paranoia mode for those who do not trust hashsums. - Many output formats. - No interactivity. - Search for files only newer than a certain ``mtime``. - ... It runs and compiles under most Unices, including Linux, FreeBSD and Darwin. The main target is Linux though, some optimisations might not be available elsewhere. .. image:: https://raw.githubusercontent.com/sahib/rmlint/develop/docs/_static/screenshot.png :align: center INSTALLATION ------------ Chances are that you might have `rmlint` already as readily made package in your favourite distribution. If not, you might consider `compiling it from source `_. DOCUMENTATION ------------- Detailed documentation is available on: http://rmlint.rtfd.org Most features you'll ever need are covered in the tutorial: http://rmlint.rtfd.org/en/latest/tutorial.html An online version of the manpage is available at: http://rmlint.rtfd.org/en/latest/rmlint.1.html Sometimes we can be reached via IRC: ``#rmlint`` on ``irc.freenode.net``. BUGS ---- If you found bugs, having trouble running `rmlint` or want to suggest new features please `read this `_. Also read the `BUGS `_ section of the `manpage `_ to find out how to provide good debug information. AUTHORS ------- Here's a list of developers to blame: =================================== ============================= =========================================== *Christopher Pahl* https://github.com/sahib 2010-2017 *Daniel Thomas* https://github.com/SeeSpotRun 2014-2017 =================================== ============================= =========================================== There are some other people that helped us of course. Please see the AUTHORS distributed along `rmlint`. LICENSE ------- `rmlint` is licensed under the conditions of the `GPLv3 `_. See the `COPYING `_ file distributed along the source for details. DONATIONS --------- If you think `rmlint` saved you some serious time [*]_ and/or space, you might consider a donation. You can donate either via Flattr, PayPal or you buy us a beer if we ever meet. `See here for details `_. .. [*] If it freed you from your beloved data: *Sorry.* [*]_ .. [*] Please file a bug or read the source and provide a patch. [*]_ .. [*] For more than 100GB of data loss we owe you one beer. [*]_ .. [*] If you don't like beer or there's only Budweiser available, you can order a Club Mate. rmlint-2.6.1/SConstruct000077500000000000000000000545131312046612000150650ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 import os import sys import glob import subprocess import platform import SCons import SCons.Conftest as tests from SCons.Script.SConscript import SConsEnvironment pkg_config = os.getenv('PKG_CONFIG') or 'pkg-config' def read_version(): with open('.version', 'r') as handle: version_string = handle.read() static_git_rev = None version_numbers, release_name = version_string.split(' ', 1) if '@' in release_name: release_name, static_git_rev = release_name.split('@', 1) static_git_rev.strip() major, minor, patch = [int(v) for v in version_numbers.split('.')] return major, minor, patch, release_name.strip(), static_git_rev VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH, VERSION_NAME, STATIC_GIT_REV = read_version() Export('VERSION_MAJOR VERSION_MINOR VERSION_PATCH VERSION_NAME') ########################################################################### # Utilities # ########################################################################### def check_pkgconfig(context, version): context.Message('Checking for pkg-config... ') command = pkg_config + ' --atleast-pkgconfig-version=' + version ret = context.TryAction(command)[0] context.Result(ret) return ret def check_pkg(context, name, varname, required=True): rc, text = 1, '' try: if GetOption('with_' + name.split()[0]) is False: context.Message('Explicitly disabling %s...' % name) rc = 0 except AttributeError: pass if rc is not 0: context.Message('Checking for %s... ' % name) rc, text = context.TryAction('%s --exists \'%s\'' % (pkg_config, name)) # 0 is defined as error by TryAction if rc is 0 and required: print('Error: ' + name + ' not found.') Exit(1) # Remember we have it: conf.env[varname] = rc context.Result(rc) return rc, text def check_git_rev(context): context.Message('Checking for git revision... ') rev = STATIC_GIT_REV try: rev = subprocess.check_output('git log --pretty=format:"%h" -n 1', shell=True) except subprocess.CalledProcessError: print('Unable to find git revision.') except AttributeError: # Patch for some special sandbox permission problems. # See https://github.com/sahib/rmlint/issues/143#issuecomment-139929733 print('Not allowed.') rev = rev or 'unknown' conf.env['gitrev'] = rev context.Result(rev) return rev def check_sysmacro_h(context): rc = 1 if rc and tests.CheckHeader(context, 'sys/sysmacros.h'): rc = 0 conf.env['HAVE_SYSMACROS_H'] = rc context.did_show_result = True context.Result(rc) return rc def check_libelf(context): rc = 1 if GetOption('with_libelf') is False: rc = 0 if rc and tests.CheckHeader(context, 'libelf.h', header="#include "): rc = 0 if rc and tests.CheckLib(context, ['libelf']): rc = 0 conf.env['HAVE_LIBELF'] = rc context.did_show_result = True context.Result(rc) return rc def check_uname(context): rc = 1 if rc and tests.CheckHeader(context, 'sys/utsname.h', header=""): rc = 0 conf.env['HAVE_UNAME'] = rc context.did_show_result = True context.Result(rc) return rc def check_gettext(context): rc = 1 if GetOption('with_gettext') is False: rc = 0 if rc and tests.CheckHeader(context, 'locale.h'): rc = 0 conf.env['HAVE_LIBINTL'] = rc conf.env['HAVE_MSGFMT'] = int(WhereIs('msgfmt') is not None) conf.env['HAVE_GETTEXT'] = conf.env['HAVE_MSGFMT'] and conf.env['HAVE_LIBINTL'] context.did_show_result = True context.Result(rc) return rc def check_fiemap(context): rc = 1 if GetOption('with_gettext') is False: rc = 0 if rc and tests.CheckType(context, 'struct fiemap', header='#include \n'): rc = 0 conf.env['HAVE_FIEMAP'] = rc context.did_show_result = True context.Result(rc) return rc def check_bigfiles(context): off_t_is_big_enough = True if tests.CheckTypeSize(context, 'off_t', header='#include \n') < 8: off_t_is_big_enough = False have_stat64 = True if tests.CheckFunc( context, 'stat64', header= '#include ' '#include ' '#include ' ): have_stat64 = False rc = int(off_t_is_big_enough or have_stat64) conf.env['HAVE_BIG_OFF_T'] = int(off_t_is_big_enough) conf.env['HAVE_BIG_STAT'] = int(have_stat64) conf.env['HAVE_BIGFILES'] = rc context.did_show_result = True context.Result(rc) return rc def check_blkid(context): rc = 1 if GetOption('with_blkid') is False: rc = 0 if rc is 1 and tests.CheckDeclaration( context, symbol='blkid_devno_to_wholedisk', includes='#include \n' ): rc = 0 conf.env['HAVE_BLKID'] = rc context.did_show_result = True context.Result(rc) return rc def check_sys_block(context): rc = 1 context.Message('Checking for existence of /sys/block... ') if not os.access('/sys/block', os.R_OK): rc = 0 conf.env['HAVE_SYSBLOCK'] = rc context.Result(rc) return rc def check_posix_fadvise(context): rc = 1 if tests.CheckDeclaration( context, 'posix_fadvise', includes='#include ' ): rc = 0 conf.env['HAVE_POSIX_FADVISE'] = rc context.did_show_result = True context.Result(rc) return rc def check_faccessat(context): # Seems to be missing in Mac OSX <= 10.9 rc = 1 if tests.CheckDeclaration( context, 'faccessat', includes='#include ' ): rc = 0 if rc == 1 and tests.CheckDeclaration( context, 'AT_FDCWD', includes='#include ' ): rc = 0 conf.env['HAVE_FACCESSAT'] = rc context.did_show_result = True context.Result(rc) return rc def check_xattr(context): rc = 1 for func in ['getxattr', 'setxattr', 'removexattr']: if tests.CheckFunc( context, func, header= '#include ' '#include ' ): rc = 0 break conf.env['HAVE_XATTR'] = rc context.did_show_result = True context.Result(rc) return rc def check_sha512(context): rc = 1 if tests.CheckDeclaration(context, 'G_CHECKSUM_SHA512', includes='#include \n'): rc = 0 conf.env['HAVE_SHA512'] = rc context.did_show_result = True context.Result(rc) return rc def check_c11(context): rc = 1 context.Message('Checking for -std=c11 support...') try: cmd = 'echo "#if __STDC_VERSION__ < 201112L\n#error \"No C11 support!\"\n#endif" | {cc} -xc - -std=c11 -c' subprocess.check_call( cmd.format(cc=conf.env['CC']), shell=True ) except subprocess.CalledProcessError: rc = 0 # Oops. conf.env['HAVE_C11'] = rc context.Result(rc) return rc def check_btrfs_h(context): rc = 1 if tests.CheckHeader( context, 'linux/btrfs.h', header='#include \n#include ' ): rc = 0 conf.env['HAVE_BTRFS_H'] = rc context.did_show_result = True context.Result(rc) return rc def check_linux_limits(context): rc = 1 if tests.CheckHeader(context, 'linux/limits.h'): rc = 0 conf.env['HAVE_LINUX_LIMITS'] = rc context.did_show_result = True context.Result(rc) return rc def check_cygwin(context): rc = 0 context.Message('Checking for cygwin environment...') try: uname = platform.uname() context.Message('/'.join(uname)) rc = (uname[0].upper().startswith("CYGWIN")) except subprocess.CalledProcessError: rc = 0 # Oops. context.Message("platform.uname() failed") conf.env['IS_CYGWIN'] = rc context.Result(rc) return rc def create_uninstall_target(env, path): env.Command("uninstall-" + path, path, [ Delete("$SOURCE"), ]) env.Alias("uninstall", "uninstall-" + path) Export('create_uninstall_target') def find_sphinx_binary(): PATH = os.getenv('PATH') binaries = [] for path in PATH.split(os.pathsep): binaries.extend(glob.glob(os.path.join(path, 'sphinx-build*'))) def version_key(binary): splitted = binary.rsplit('-', 1) if len(splitted) < 3: return 0 return float(splitted[-1]) binaries = sorted(binaries, key=version_key, reverse=True) if binaries: print('Using sphinx-build binary: {}'.format(binaries[0])) return binaries[0] else: print('Unable to find sphinx binary in PATH') print('Will be unable to build manpage or html docs') Export('find_sphinx_binary') ########################################################################### # Colors! # ########################################################################### if sys.stdout.isatty(): COLORS = { 'cyan': '\033[96m', 'purple': '\033[95m', 'blue': '\033[94m', 'green': '\033[92m', 'yellow': '\033[93m', 'red': '\033[91m', 'grey': '\x1b[30;1m', 'end': '\033[0m' } else: COLORS = { 'cyan': '', 'purple': '', 'blue': '', 'green': '', 'yellow': '', 'red': '', 'grey': '', 'end': '' } # If the output is not a terminal, remove the COLORS if not sys.stdout.isatty(): for key, value in COLORS.iteritems(): COLORS[key] = '' # Configure the actual colors to our liking: compile_source_message = '%sCompiling %s==> %s$SOURCE%s' % \ (COLORS['blue'], COLORS['purple'], COLORS['yellow'], COLORS['end']) compile_shared_source_message = '%sCompiling shared %s==> %s$SOURCE%s' % \ (COLORS['blue'], COLORS['purple'], COLORS['yellow'], COLORS['end']) link_program_message = '%sLinking Program %s==> %s$TARGET%s' % \ (COLORS['red'], COLORS['purple'], COLORS['yellow'], COLORS['end']) link_library_message = '%sLinking Static Library %s==> %s$TARGET%s' % \ (COLORS['red'], COLORS['purple'], COLORS['yellow'], COLORS['end']) ranlib_library_message = '%sRanlib Library %s==> %s$TARGET%s' % \ (COLORS['red'], COLORS['purple'], COLORS['yellow'], COLORS['end']) link_shared_library_message = '%sLinking Shared Library %s==> %s$TARGET%s' % \ (COLORS['red'], COLORS['purple'], COLORS['yellow'], COLORS['end']) ########################################################################### # Option Parsing # ########################################################################### AddOption( '--prefix', default='/usr/local', dest='prefix', type='string', nargs=1, action='store', metavar='DIR', help='installation prefix' ) AddOption( '--actual-prefix', default=None, dest='actual_prefix', type='string', nargs=1, action='store', metavar='DIR', help='where files will eventually land' ) AddOption( '--libdir', default='lib', dest='libdir', type='string', nargs=1, action='store', metavar='DIR', help='libdir name (lib or lib64)' ) for suffix in ['libelf', 'gettext', 'fiemap', 'blkid', 'json-glib', 'gui']: AddOption( '--without-' + suffix, action='store_const', default=False, const=False, dest='with_' + suffix ) AddOption( '--with-' + suffix, action='store_const', default=True, const=True, dest='with_' + suffix ) AddOption( '--with-sse', action='store_const', default=False, const=False, dest='with_sse' ) AddOption( '--without-sse', action='store_const', default=False, const=False, dest='with_sse' ) # General Environment options = dict( CXXCOMSTR=compile_source_message, CCCOMSTR=compile_source_message, SHCCCOMSTR=compile_shared_source_message, SHCXXCOMSTR=compile_shared_source_message, ARCOMSTR=link_library_message, RANLIBCOMSTR=ranlib_library_message, SHLINKCOMSTR=link_shared_library_message, LINKCOMSTR=link_program_message, PREFIX=GetOption('prefix'), ENV = dict([ (key, os.environ[key]) for key in os.environ if key in ['PATH', 'TERM', 'HOME', 'PKG_CONFIG_PATH'] ]) ) if ARGUMENTS.get('VERBOSE') == "1": del options['CCCOMSTR'] del options['LINKCOMSTR'] # Actually instance the Environement with all collected information: env = Environment(**options) Export('env') ########################################################################### # Dependency Checks # ########################################################################### # Configuration: conf = Configure(env, custom_tests={ 'check_pkgconfig': check_pkgconfig, 'check_pkg': check_pkg, 'check_git_rev': check_git_rev, 'check_libelf': check_libelf, 'check_fiemap': check_fiemap, 'check_xattr': check_xattr, 'check_sha512': check_sha512, 'check_blkid': check_blkid, 'check_posix_fadvise': check_posix_fadvise, 'check_faccessat': check_faccessat, 'check_sys_block': check_sys_block, 'check_bigfiles': check_bigfiles, 'check_c11': check_c11, 'check_gettext': check_gettext, 'check_linux_limits': check_linux_limits, 'check_btrfs_h': check_btrfs_h, 'check_uname': check_uname, 'check_cygwin': check_cygwin, 'check_sysmacro_h': check_sysmacro_h }) if not conf.CheckCC(): print('Error: Your compiler and/or environment is not correctly configured.') Exit(1) conf.check_git_rev() conf.check_pkgconfig('0.15.0') # Pkg-config to internal name conf.env['HAVE_GLIB'] = 0 conf.check_pkg('glib-2.0 >= 2.32', 'HAVE_GLIB', required=True) conf.env['HAVE_GIO_UNIX'] = 0 conf.check_pkg('gio-unix-2.0', 'HAVE_GIO_UNIX', required=False) conf.env['HAVE_BLKID'] = 0 conf.check_pkg('blkid', 'HAVE_BLKID', required=False) conf.env['HAVE_JSON_GLIB'] = 0 conf.check_pkg('json-glib-1.0', 'HAVE_JSON_GLIB', required=False) if GetOption('with_json-glib') is False: conf.env['HAVE_JSON_GLIB'] = 0 packages = ['glib-2.0'] if conf.env['HAVE_BLKID']: packages.append('blkid') if conf.env['HAVE_JSON_GLIB']: packages.append('json-glib-1.0') if conf.env['HAVE_GIO_UNIX']: packages.append('gio-unix-2.0') ########################################################################### # Compiler Flags # ########################################################################### if 'CC' in os.environ: conf.env.Replace(CC=os.environ['CC']) print(">> Using compiler: " + os.environ['CC']) if 'CFLAGS' in os.environ: conf.env.Append(CCFLAGS=os.environ['CFLAGS']) print(">> Appending custom build flags : " + os.environ['CFLAGS']) if 'LDFLAGS' in os.environ: conf.env.Append(LINKFLAGS=os.environ['LDFLAGS']) print(">> Appending custom link flags : " + os.environ['LDFLAGS']) # Support museums or other debian flavours: conf.check_c11() if conf.env['HAVE_C11']: c_standard = ['-std=c11'] else: c_standard = ['-std=c99', '-fms-extensions'] conf.env.Append(CCFLAGS=c_standard) conf.env.Append(CCFLAGS=[ '-pipe', '-D_GNU_SOURCE' ]) # Support cygwin: conf.check_cygwin() if conf.env['IS_CYGWIN']: conf.env.Append(CCFLAGS=['-U__STRICT_ANSI__']) else: conf.env.Append(CCFLAGS=['-fPIC']) if ARGUMENTS.get('DEBUG') == "1": conf.env.Append(CCFLAGS=['-ggdb3']) else: # Generic compiler: conf.env.Append(CCFLAGS=['-Os']) conf.env.Append(LINKFLAGS=['-s']) if 'clang' in os.path.basename(conf.env['CC']): conf.env.Append(CCFLAGS=['-fcolor-diagnostics']) # Colored warnings conf.env.Append(CCFLAGS=['-Qunused-arguments']) # Hide wrong messages # Optional flags: conf.env.Append(CFLAGS=[ '-Wall', '-W', '-Wextra', '-Winit-self', '-Wstrict-aliasing', '-Wmissing-include-dirs', '-Wuninitialized', '-Wstrict-prototypes', '-Wno-implicit-fallthrough' ]) env.ParseConfig(pkg_config + ' --cflags --libs ' + ' '.join(packages)) conf.env.Append(_LIBFLAGS=['-lm']) conf.check_blkid() conf.check_sys_block() conf.check_libelf() conf.check_fiemap() conf.check_xattr() conf.check_bigfiles() conf.check_sha512() conf.check_gettext() conf.check_linux_limits() conf.check_posix_fadvise() conf.check_faccessat() conf.check_btrfs_h() conf.check_uname() conf.check_sysmacro_h() if conf.env['HAVE_LIBELF']: conf.env.Append(_LIBFLAGS=['-lelf']) SConsEnvironment.Chmod = SCons.Action.ActionFactory( os.chmod, lambda dest, mode: 'Chmod("%s", 0%o)' % (dest, mode) ) def InstallPerm(env, dest, files, perm): obj = env.Install(dest, files) for i in obj: env.AddPostAction(i, env.Chmod(str(i), perm)) return dest # put this function "in" scons SConsEnvironment.InstallPerm = InstallPerm # Your extra checks here env = conf.Finish() library = SConscript('lib/SConscript') programs = SConscript('src/SConscript', exports='library') env.Default(library) SConscript('tests/SConscript', exports='programs') SConscript('po/SConscript') SConscript('docs/SConscript') SConscript('gui/SConscript') def build_tar_gz(target=None, source=None, env=None): tarball = 'rmlint-{a}.{b}.{c}.tar.gz'.format( a=VERSION_MAJOR, b=VERSION_MINOR, c=VERSION_PATCH ) subprocess.call( 'git archive HEAD -9 --format tar.gz -o ' + tarball, shell=True ) print('Wrote tarball to ./' + tarball) if 'dist' in COMMAND_LINE_TARGETS: env.Command('dist', None, Action(build_tar_gz, "Building release tarball...")) if 'release' in COMMAND_LINE_TARGETS: def replace_version_strings(target=None, source=None, env=None): new_version = '{a}.{b}.{c}'.format( a=VERSION_MAJOR, b=VERSION_MINOR, c=VERSION_PATCH ) cmds = [ 'sed -i "s/2\.0\.0/{v}/g" po/rmlint.pot', 'sed -i "s/^Version:\(\s*\)2\.0\.0/Version:\\1{v}/g" pkg/fedora/rmlint.spec' ] for cmd in cmds: print('Running: ' + cmd) subprocess.check_call(cmd.format(v=new_version), shell=True) if conf.env['gitrev'] is not None: print('Patching .version file...') with open('.version', 'r') as handle: text = handle.read().strip() if '@' not in text: with open('.version', 'w') as handle: handle.write(text + '@' + conf.env['gitrev'] + '\n') # Commit the .version change, so git archive can see it. subprocess.check_call( 'git add .version && git commit -m \".version bump; you should not see this commit.\"', shell=True ) # Build the .tgz on the current state build_tar_gz() # We do not want lots of temp commits, so revert the latest one. if '@' not in text: subprocess.check_call('git reset --hard HEAD^', shell=True) with open('.version', 'w') as handle: handle.write(text + '\n') return build_tar_gz() env.Command('release', None, Action(replace_version_strings, "Bumping version...")) if 'config' in COMMAND_LINE_TARGETS: def print_config(target=None, source=None, env=None): yesno = lambda boolean: COLORS['green'] + 'yes' + COLORS['end'] if boolean else COLORS['red'] + 'no' + COLORS['end'] sphinx_bin = find_sphinx_binary() print(''' {grey}rmlint will be compiled with the following features:{end} Find non-stripped binaries (needs libelf) : {libelf} Optimize using ioctl(FS_IOC_FIEMAP) (needs linux) : {fiemap} Support for SHA512 (needs glib >= 2.31) : {sha512} Build manpage from docs/rmlint.1.rst : {sphinx} Support for caching checksums in file's xattr : {xattr} Support for reading json caches (needs json-glib) : {json_glib} Checking for proper support of big files >= 4GB : {bigfiles} (needs either sizeof(off_t) >= 8 ...) : {bigofft} (... or presence of stat64) : {bigstat} Optimize non-rotational disks : {nonrotational} (needs libblkid for resolving dev_t to path) : {blkid} (needs gio-unix-2.0) : {gio_unix} Enable gettext localization : {gettext} (needs for compile side support) : {locale} (needs msgfmt to compile .po files) : {msgfmt} {grey}The following constants will be used during the build:{end} Version information : {version} Compiler : {compiler} Install prefix : {prefix} Actual prefix : {actual_prefix} Verbose building : {verbose} Adding debug symbols : {debug} Type 'scons' to actually compile rmlint now. Good luck. '''.format( grey=COLORS['grey'], end=COLORS['end'], libelf=yesno(env['HAVE_LIBELF']), gettext=yesno(env['HAVE_GETTEXT']), locale=yesno(env['HAVE_LIBINTL']), msgfmt=yesno(env['HAVE_MSGFMT']), xattr=yesno(env['HAVE_XATTR']), json_glib=yesno(env['HAVE_JSON_GLIB']), nonrotational=yesno(env['HAVE_GIO_UNIX'] & env['HAVE_BLKID']), gio_unix=yesno(env['HAVE_GIO_UNIX']), blkid=yesno(env['HAVE_BLKID']), fiemap=yesno(env['HAVE_FIEMAP']), sha512=yesno(env['HAVE_SHA512']), bigfiles=yesno(env['HAVE_BIGFILES']), bigofft=yesno(env['HAVE_BIG_OFF_T']), bigstat=yesno(env['HAVE_BIG_STAT']), sphinx=COLORS['green'] + 'yes, using ' + COLORS['end'] + sphinx_bin if sphinx_bin else yesno(sphinx_bin), compiler=env['CC'], prefix=GetOption('prefix'), actual_prefix=GetOption('actual_prefix') or GetOption('prefix'), verbose=yesno(ARGUMENTS.get('VERBOSE')), debug=yesno(ARGUMENTS.get('DEBUG')), version='{a}.{b}.{c} "{n}" (rev {r})'.format( a=VERSION_MAJOR, b=VERSION_MINOR, c=VERSION_PATCH, n=VERSION_NAME, r=env.get('gitrev', 'unknown') ) )) env.Command('config', None, Action(print_config, "Printing configuration...")) rmlint-2.6.1/docs/000077500000000000000000000000001312046612000137505ustar00rootroot00000000000000rmlint-2.6.1/docs/SConscript000066400000000000000000000037621312046612000157720ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 Import('env') Import('VERSION_MAJOR') Import('VERSION_MINOR') Import('VERSION_PATCH') Import('create_uninstall_target') Import('find_sphinx_binary') import os import time import subprocess from functools import partial def run_sphinx_binary(builder, **kwargs): sphinx_binary = find_sphinx_binary() if sphinx_binary is None: return build_dir = os.path.join('docs/_build', builder) try: os.makedirs(build_dir) except OSError: pass subprocess.check_call( [sphinx_binary, '-Q', '-b', builder, 'docs', build_dir] ) def gzip_file(target, source, env): source, dest = source[0].get_abspath(), target[0].get_abspath() try: subprocess.check_call('gzip -c {s} > {t}'.format( s=source, t=dest ), shell=True) except Exception as err: print('Warning: could not gzip {s} to {t}: {e}'.format( s=source, t=dest, e=err )) # Do not use partial(), but a real function. # Scons uses this to check if the previous action # differs from the current action. # Partial actions are always different. def run_sphinx_binary_man(**kwargs): run_sphinx_binary('man', **kwargs) sphinx = env.Command( '_build/man/rmlint.1', 'rmlint.1.rst', env.Action(run_sphinx_binary_man, "Building manpage from rst...") ) manpage = env.Command( 'rmlint.1.gz', '_build/man/rmlint.1', gzip_file ) env.Default(sphinx) env.Default(manpage) env.Alias('man', env.Depends(manpage, sphinx)) if 'install' in COMMAND_LINE_TARGETS: man_install = env.InstallPerm('$PREFIX/share/man/man1', [manpage], 0644) target = env.Alias('install', [manpage, man_install]) if 'uninstall' in COMMAND_LINE_TARGETS: create_uninstall_target(env, '$PREFIX/share/man/man1/rmlint.1.gz') if 'docs' in COMMAND_LINE_TARGETS: env.Alias('docs', env.Command( 'make_docs', None, Action(partial(run_sphinx_binary, 'html'), "Building online docs...") ), ) rmlint-2.6.1/docs/_static/000077500000000000000000000000001312046612000153765ustar00rootroot00000000000000rmlint-2.6.1/docs/_static/benchmark.svg000066400000000000000000001045311312046612000200550ustar00rootroot00000000000000 Performance comparasion on /home/sahib0.010.020.030.040.050.060.070.080.090.0100.0110.0120.0130.0140.0150.0160.0Run #1Run #2Run #3Run #4Averagedupd (1.2-dev): Peak: 1167.79M CPU: 37.5%http://rdfind.pauldreik.se83.66523.4376.9915703685625dupd (1.2-dev): Peak: 1167.79M CPU: 37.5%http://rdfind.pauldreik.se80.492128.4381.81274843113556dupd (1.2-dev): Peak: 1167.79M CPU: 38.0%http://rdfind.pauldreik.se79.445233.4383.40360044232807dupd (1.2-dev): Peak: 1167.79M CPU: 38.0%http://rdfind.pauldreik.se79.856338.3999999999999382.77911125741866dupd (1.2-dev): Peak: 1167.79M CPU: 37.75%http://rdfind.pauldreik.se80.864443.4381.24751734406425fdupes (fdupes 1.51): Peak: 29.6M CPU: 33.0%http://en.wikipedia.org/wiki/Fdupes162.63636.599999999999994257.0fdupes (fdupes 1.51): Peak: 29.6M CPU: 34.5%http://en.wikipedia.org/wiki/Fdupes146.315141.6281.7987542260489fdupes (fdupes 1.51): Peak: 29.6M CPU: 34.0%http://en.wikipedia.org/wiki/Fdupes148.693246.6278.18552969632987fdupes (fdupes 1.51): Peak: 29.6M CPU: 34.0%http://en.wikipedia.org/wiki/Fdupes150.143351.5999999999999275.98234400747685fdupes (fdupes 1.51): Peak: 29.6M CPU: 33.875%http://en.wikipedia.org/wiki/Fdupes151.947456.59999999999997273.2412771228624rdfind (1.3.4): Peak: 63.85M CPU: 37.0%https://github.com/jvirkki/dupd116.28949.79999999999999327.42141180777463rdfind (1.3.4): Peak: 63.85M CPU: 42.0%https://github.com/jvirkki/dupd87.528154.79999999999998371.1219798057768rdfind (1.3.4): Peak: 63.85M CPU: 42.0%https://github.com/jvirkki/dupd87.657259.8370.92597225138917rdfind (1.3.4): Peak: 63.85M CPU: 41.5%https://github.com/jvirkki/dupd89.983364.7999999999999367.3917585187876rdfind (1.3.4): Peak: 63.85M CPU: 40.625%https://github.com/jvirkki/dupd95.364469.79999999999995359.21566045553357rmlint (2.2.0 rev f697363): Peak: 31.89M CPU: 61.5%https://github.com/sahib/rmlint68.25562.99999999999999400.40611620664936rmlint (2.2.0 rev f697363): Peak: 31.89M CPU: 62.0%https://github.com/sahib/rmlint66.441167.99999999999997403.16237747532483rmlint (2.2.0 rev f697363): Peak: 31.89M CPU: 62.5%https://github.com/sahib/rmlint65.521272.99999999999994404.56026080894196rmlint (2.2.0 rev f697363): Peak: 31.89M CPU: 63.5%https://github.com/sahib/rmlint64.535377.99999999999994406.058427077362rmlint (2.2.0 rev f697363): Peak: 31.89M CPU: 62.375%https://github.com/sahib/rmlint66.188482.99999999999994403.54679539206955rmlint-old (1.0.6): Peak: 14.45M CPU: 74.0%https://github.com/sahib/rmlint83.87676.19999999999999376.6709688648743rmlint-old (1.0.6): Peak: 14.45M CPU: 116.0%https://github.com/sahib/rmlint45.501181.2434.9794176991753rmlint-old (1.0.6): Peak: 14.45M CPU: 113.0%https://github.com/sahib/rmlint46.463286.2433.5177179525018rmlint-old (1.0.6): Peak: 14.45M CPU: 115.5%https://github.com/sahib/rmlint45.561391.19999999999993434.888251394809rmlint-old (1.0.6): Peak: 14.45M CPU: 104.625%https://github.com/sahib/rmlint55.35496.2420.01446883744165rmlint-paranoid (2.2.0 rev f697363): Peak: 111.25M CPU: 77.5%https://github.com/sahib/rmlint126.13789.39999999999998312.45798238444706rmlint-paranoid (2.2.0 rev f697363): Peak: 111.25M CPU: 78.0%https://github.com/sahib/rmlint124.302194.39999999999998315.24615185965075rmlint-paranoid (2.2.0 rev f697363): Peak: 111.25M CPU: 79.0%https://github.com/sahib/rmlint122.376299.4318.17259022981006rmlint-paranoid (2.2.0 rev f697363): Peak: 111.25M CPU: 78.0%https://github.com/sahib/rmlint121.108404.3999999999999320.09923812875195rmlint-paranoid (2.2.0 rev f697363): Peak: 111.25M CPU: 78.125%https://github.com/sahib/rmlint123.481509.4316.4936107910634rmlint-spooky (2.2.0 rev f697363): Peak: 26.99M CPU: 50.0%https://github.com/sahib/rmlint70.74102.59999999999998396.630311767477rmlint-spooky (2.2.0 rev f697363): Peak: 26.99M CPU: 50.5%https://github.com/sahib/rmlint68.253207.6400.40915508346154rmlint-spooky (2.2.0 rev f697363): Peak: 26.99M CPU: 51.5%https://github.com/sahib/rmlint66.412312.59999999999997403.20644118910184rmlint-spooky (2.2.0 rev f697363): Peak: 26.99M CPU: 52.0%https://github.com/sahib/rmlint65.883417.5999999999999404.01022410593174rmlint-spooky (2.2.0 rev f697363): Peak: 26.99M CPU: 51.0%https://github.com/sahib/rmlint67.822522.6401.064033036493Performance comparasion on /home/sahibAveraged seconds over 2 runs83.66580.49279.44579.85680.864162.636146.315148.693150.143151.947116.28987.52887.65789.98395.36468.25566.44165.52164.53566.18883.87645.50146.46345.56155.35126.137124.302122.376121.108123.48170.7468.25366.41265.88367.822dupdfdupesrdfindrmlintrmlint-oldrmlint-paranoidrmlint-spookyrmlint-2.6.1/docs/_static/benchmarks/000077500000000000000000000000001312046612000175135ustar00rootroot00000000000000rmlint-2.6.1/docs/_static/benchmarks/cpu_usage.svg000066400000000000000000001246071312046612000222210ustar00rootroot00000000000000 CPU usage comparison on ['/usr', '/mnt/music']002020404060608080100100120120140140160160180180200200Run #1Run #2Run #3Averagehttps://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)2624.14423076923077472.3084539223153Run #1https://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)25.5158.27884615384616472.9201256664128Run #2https://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)26292.4134615384615472.3084539223153Run #3https://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)25.833426.5480769230769472.5127522848439Averagehttps://github.com/jvirkki/dupddupd (1.2-dev)1234.87499999999999489.43526275704494Run #1https://github.com/jvirkki/dupddupd (1.2-dev)81169.0096153846154405.0245620715918Run #2https://github.com/jvirkki/dupddupd (1.2-dev)99303.1442307692307383.00437928408223Run #3https://github.com/jvirkki/dupddupd (1.2-dev)64437.27884615384613425.8214013709063Averagehttp://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)2545.605769230769226473.5317974105103Run #1http://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)25179.7403846153846473.5317974105103Run #2http://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)65313.87499999999994424.5980578827114Run #3http://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)38.333448.00961538461536457.2209586824067Averagehttp://rdfind.pauldreik.serdfind (1.3.4)2856.33653846153845469.86176694592535Run #1http://rdfind.pauldreik.serdfind (1.3.4)30190.47115384615384467.41507996953544Run #2http://rdfind.pauldreik.serdfind (1.3.4)30324.60576923076917467.41507996953544Run #3http://rdfind.pauldreik.serdfind (1.3.4)29.333458.7403846153846468.23105007616147Averagehttps://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)5567.06730769230768436.8314927646611Run #1https://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)63201.20192307692307427.0447448591013Run #2https://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)70335.3365384615384418.4813404417365Run #3https://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)62.667469.4711538461538427.45211824067025Averagehttps://github.com/sahib/rmlintrmlint-old (1.0.6)2077.7980769230769479.6485148514852Run #1https://github.com/sahib/rmlintrmlint-old (1.0.6)16211.9326923076923484.54188880426506Run #2https://github.com/sahib/rmlintrmlint-old (1.0.6)20346.0673076923076479.6485148514852Run #3https://github.com/sahib/rmlintrmlint-old (1.0.6)18.667480.20192307692304481.27923172124906Averagehttps://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)6288.52884615384613428.26808834729627Run #1https://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)66222.66346153846152423.3747143945164Run #2https://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)66356.79807692307685423.3747143945164Run #3https://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)64.667490.93269230769226425.0054312642803Averagehttps://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)3999.25961538461536456.40498857578064Run #1https://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)99233.39423076923075383.00437928408223Run #2https://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)99367.5288461538461383.00437928408223Run #3https://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)79501.6634615384615407.4712490479817Averagehttps://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)51109.99038461538458441.724866717441Run #1https://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)57244.12499999999997434.38480578827114Run #2https://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)124378.2596153846153352.4207920792079Run #3https://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)77.333512.3942307692307409.5105626428027Averagehttps://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)65120.72115384615381424.5980578827114Run #1https://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)74254.8557692307692413.58796648895657Run #2https://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)163388.9903846153845304.71039603960395Run #3https://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)100.667523.125380.9650656892612Averagehttps://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)43131.45192307692304451.51161462300075Run #1https://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)195265.5865384615384265.56340441736484Run #2https://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)202399.72115384615375257.0Run #3https://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)146.667533.8557692307693324.6912652322925AverageCPU usage comparison on ['/usr', '/mnt/music']Averaged CPU usage over 2 runsbaseline.pydupdfdupesrdfindrmlintrmlint-oldrmlint-paranoidrmlint-replayrmlint-v2.2.2rmlint-v2.2.2-…rmlint-v2.2.2-paranoidrmlint-xxhashrmlint-2.6.1/docs/_static/benchmarks/found_items.html000066400000000000000000000041771312046612000227260ustar00rootroot00000000000000
rdfindfdupesrmlintrmlint-paranoidrmlint-replayrmlint-v2.2.2rmlint-v2.2.2-paranoidrmlint-xxhashrmlint-olddupdbaseline.py
Duplicates027.203k27.203k27.203k27.203k27.203k27.203k27.203k39.656k43.217k67.931k
Originals016.115k16.115k16.115k16.115k16.115k16.115k16.115k15.133k16.109k22.848k
rmlint-2.6.1/docs/_static/benchmarks/found_items.svg000066400000000000000000000667531312046612000225710ustar00rootroot00000000000000 Found results comparison on ['/usr', '/mnt/music']2261 Dupes found0.62%297.950068789964713.398305764778826709 Set of dupes0.19%304.4492062437132613.6085278143936250.0 Dupevariance between runs0.00%305.9997314971750513.6833414854021950.0 Setvariance between runs0.00%305.9997314971750513.6833414854021950.82%296.0798958254754146.8894811363125525512 Dupes found7.01%361.0202645622676422.64049822264098615236 Set of dupes4.19%441.043301970157461.0351893119293440.0 Dupevariance between runs0.00%466.774244779450282.227614749033080.0 Setvariance between runs0.00%466.774244779450282.2276147490330811.20%340.1207684311084156.4755426049878225512 Dupes found7.01%502.9393316172249124.6490269084440915236 Set of dupes4.19%539.1295586857035205.692880991023170.0 Dupevariance between runs0.00%545.0436474673902238.498732110063230.0 Setvariance between runs0.00%545.0436474673902238.4987321100632311.20%400.42859735806326213.1936902428801725512 Dupes found7.01%545.1827085538715294.2434213422818615236 Set of dupes4.19%520.357609597093379.45816937108590.0 Dupevariance between runs0.00%503.6469337219716408.30177569135960.0 Setvariance between runs0.00%503.6469337219716408.301775691359611.20%409.73112157331866295.4581755605504425512 Dupes found7.01%467.6939451746557450.9030940993515236 Set of dupes4.19%393.6400627699959499.83019620670190.0 Dupevariance between runs0.00%362.23857219096533511.01709493590090.0 Setvariance between runs0.00%362.23857219096533511.017094935900911.20%363.6116578672296364.211194176603537130 Dupes found10.20%281.83732874967006520.404256614913714275 Set of dupes3.92%174.13137091951648491.072692491803760.0 Dupevariance between runs0.00%147.4923101150888474.76389167599960.0 Setvariance between runs0.00%147.4923101150888474.763891675999614.12%272.999426637482385.4736239218271440629 Dupes found11.16%84.97018453856907412.12724891998415179 Set of dupes4.17%41.405875412257785299.22916339168080.0 Dupevariance between runs0.00%39.35165897253165266.0826156677190.0 Setvariance between runs0.00%39.35165897253165266.08261566771915.33%186.3228315829271322.281138180354767931 Dupes found18.66%82.22995722145188125.8819233155121322848 Set of dupes6.28%243.2987400146998618.266996046215040.0 Dupevariance between runs0.00%292.9999999999999413.3499999999999940.0 Setvariance between runs0.00%292.9999999999999413.34999999999999424.94%208.19489620121107181.8876221124293Found results comparison on ['/usr', '/mnt/music']Averaged Found results over 2 runsrdfindfdupesrmlintrmlint-paranoidrmlint-replayrmlint-olddupdbaseline.pyrmlint-2.6.1/docs/_static/benchmarks/memory.svg000066400000000000000000001244561312046612000215600ustar00rootroot00000000000000 Peakmem comparison on ['/usr', '/mnt/music']004004008008001.2k1.2k1.6k1.6k2k2k2.4k2.4k2.8k2.8k3.2k3.2kRun #1Run #2Run #3Averagehttps://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)10076.96153846153845496.4928389356928Run #1https://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)100209.65384615384616496.4928389356928Run #2https://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)100342.3461538461538496.4928389356928Run #3https://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)100475.0384615384615496.4928389356928Averagehttps://github.com/jvirkki/dupddupd (1.2-dev)50.43876.96153846153845485.0256336660781Run #1https://github.com/jvirkki/dupddupd (1.2-dev)49.074209.65384615384616485.1296051891491Run #2https://github.com/jvirkki/dupddupd (1.2-dev)50.57342.3461538461538485.0155719057809Run #3https://github.com/jvirkki/dupddupd (1.2-dev)50.027475.0384615384615485.05696232882167Averagehttp://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)82.97376.96153846153845474.8563192493445Run #1http://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)83.016209.65384615384616475.0609846008442Run #2http://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)82.957342.3461538461538474.8374153360589Run #3http://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)82.982475.0384615384615474.9182905457204Averagehttp://rdfind.pauldreik.serdfind (1.3.4)16.93876.96153846153845467.24055763530765Run #1http://rdfind.pauldreik.serdfind (1.3.4)15.609209.65384615384616467.54324892424825Run #2http://rdfind.pauldreik.serdfind (1.3.4)15.594342.3461538461538467.32532034326584Run #3http://rdfind.pauldreik.serdfind (1.3.4)16.047475.0384615384615467.36975978457843Averagehttps://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)232.9176.96153846153845448.1957797055113Run #1https://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)232.109209.65384615384616448.6608312174293Run #2https://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)228.652342.3461538461538448.70755742244586Run #3https://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)231.224475.0384615384615448.5214148569478Averagehttps://github.com/sahib/rmlintrmlint-old (1.0.6)285.57876.96153846153845408.673795061791Run #1https://github.com/sahib/rmlintrmlint-old (1.0.6)263.035209.65384615384616410.91825363717624Run #2https://github.com/sahib/rmlintrmlint-old (1.0.6)307.23342.3461538461538407.85970718319993Run #3https://github.com/sahib/rmlintrmlint-old (1.0.6)285.281475.0384615384615409.15058529405576Averagehttps://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)1.392k76.96153846153845280.82022657266646Run #1https://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)1.414k209.65384615384616283.10302655282044Run #2https://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)1.436k342.3461538461538274.99492471333235Run #3https://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)1.414k475.0384615384615279.6394180214253Averagehttps://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)127.71176.96153846153845165.00014227170084Run #1https://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)127.727209.65384615384616165.60171357674201Run #2https://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)127.711342.3461538461538155.81406002219066Run #3https://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)127.716475.0384615384615162.1387148490013Averagehttps://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)244.93876.96153846153845136.5948020217862Run #1https://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)242.371209.65384615384616137.39082446711632Run #2https://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)282.984342.3461538461538124.50864604298056Run #3https://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)256.764475.0384615384615132.83155121972234Averagehttps://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)406.70776.9615384615384586.92286422735867Run #1https://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)417.93209.6538461538461687.05907911865472Run #2https://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)441.578342.346153846153869.2785766152922Run #3https://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)422.072475.038461538461581.08696702952983Averagehttps://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)173.5976.9615384615384542.689460324477665Run #1https://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)167.457209.6538461538461642.43768764067744Run #2https://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)168.805342.346153846153822.751853619219105Run #3https://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)169.951475.038461538461535.959743420248174AveragePeakmem comparison on ['/usr', '/mnt/music']Averaged Peakmem over 2 runsbaseline.pydupdfdupesrdfindrmlintrmlint-oldrmlint-paranoidrmlint-replayrmlint-v2.2.2rmlint-v2.2.2-…rmlint-v2.2.2-paranoidrmlint-xxhashrmlint-2.6.1/docs/_static/benchmarks/timing.svg000066400000000000000000001333711312046612000215330ustar00rootroot00000000000000 Timing comparison on ['/usr', '/mnt/music']22334455667788991010202030304040505060607070808090901001002002003003004004005005006006007007008008009009001k1k2k2k3k3k4k4kRun #1Run #2Run #3Averagehttps://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)4.307k24.14423076923077257.0Run #1https://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)4.209k158.27884615384616257.738905112578Run #2https://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)4.213k292.4134615384615257.7081462643233Run #3https://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.shbaseline.py (1.0)4.243k426.5480769230769257.48053322881657Averagehttps://github.com/jvirkki/dupddupd (1.2-dev)163.49134.87499999999999362.2535549454728Run #1https://github.com/jvirkki/dupddupd (1.2-dev)4.762169.0096153846154476.0276286553511Run #2https://github.com/jvirkki/dupddupd (1.2-dev)3.721303.1442307692307483.9644323198363Run #3https://github.com/jvirkki/dupddupd (1.2-dev)57.325437.27884615384613395.9737444558273Averagehttp://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)210.11445.605769230769226354.18106889760884Run #1http://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)165.199179.7403846153846361.919163426526Run #2http://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)34.812313.87499999999994412.0218720136345Run #3http://en.wikipedia.org/wiki/Fdupesfdupes (fdupes 1.51)136.708448.00961538461536368.01002483597654Averagehttp://rdfind.pauldreik.serdfind (1.3.4)344.31956.33653846153845338.2891952696052Run #1http://rdfind.pauldreik.serdfind (1.3.4)317.164190.47115384615384340.93236609407757Run #2http://rdfind.pauldreik.serdfind (1.3.4)311.942324.60576923076917341.4665280888565Run #3http://rdfind.pauldreik.serdfind (1.3.4)324.475458.7403846153846340.19911149368704Averagehttps://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)89.46467.06730769230768381.6526218694454Run #1https://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)60.484201.20192307692307394.24780622840086Run #2https://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)52.424335.3365384615384398.849308471473Run #3https://github.com/sahib/rmlintrmlint (2.4.0 rev 7a7a243)67.457469.4711538461538390.7371325494039Averagehttps://github.com/sahib/rmlintrmlint-old (1.0.6)242.73977.7980769230769349.53702518243495Run #1https://github.com/sahib/rmlintrmlint-old (1.0.6)188.733211.9326923076923357.6340021665053Run #2https://github.com/sahib/rmlintrmlint-old (1.0.6)216.241346.0673076923076353.2562506530557Run #3https://github.com/sahib/rmlintrmlint-old (1.0.6)215.904480.20192307692304353.30643294196864Averagehttps://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)120.29888.52884615384613372.12442497989684Run #1https://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)99.484222.66346153846152378.2368960604007Run #2https://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)95.609356.79807692307685379.51520878217275Run #3https://github.com/sahib/rmlintrmlint-paranoid (2.4.0 rev 7a7a243)105.13490.93269230769226376.46080283294555Averagehttps://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)8.24899.25961538461536458.3537469348438Run #1https://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)1.463233.39423076923075514.0Run #2https://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)1.468367.5288461538461513.8902247140085Run #3https://github.com/sahib/rmlintrmlint-replay (2.4.0 rev 7a7a243)3.726501.6634615384615483.9212268546182Averagehttps://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)85.556109.99038461538458383.0897286479154Run #1https://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)60.744244.12499999999997394.10979289557207Run #2https://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)13.185378.2596153846153443.26011319864256Run #3https://github.com/sahib/rmlintrmlint-v2.2.2 (2.2.0 rev d514de2)53.161512.3942307692307398.40012653085256Averagehttps://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)139.349120.72115384615381367.39437629113075Run #1https://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)87.558254.8557692307692382.34550885882663Run #2https://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)19.282388.9903846153845431.0306067612628Run #3https://github.com/sahib/rmlintrmlint-v2.2.2-paranoid (2.2.0 rev d514de2)82.063523.125384.4309121046599Averagehttps://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)85.394131.45192307692304383.1507098539829Run #1https://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)7.362265.5865384615384462.0100973006119Run #2https://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)7.094399.72115384615375463.2032235125741Run #3https://github.com/sahib/rmlintrmlint-xxhash (2.4.0 rev 7a7a243)33.283533.8557692307693413.4670296914222AverageTiming comparison on ['/usr', '/mnt/music']Averaged Timing over 2 runsbaseline.pydupdfdupesrdfindrmlintrmlint-oldrmlint-paranoidrmlint-replayrmlint-v2.2.2rmlint-v2.2.2-…rmlint-v2.2.2-paranoidrmlint-xxhashrmlint-2.6.1/docs/_static/custom.css000066400000000000000000000016601312046612000174250ustar00rootroot00000000000000h1 { font-family: Vollkorn; font-size: 32px; font-style: normal; font-variant: normal; font-weight: 400; line-height: 32px; } h2 { font-family: Vollkorn; font-size: 28px; font-style: normal; font-variant: normal; font-weight: 400; line-height: 23px; } h3 { font-family: Vollkorn; font-size: 24px; font-style: normal; font-variant: normal; font-weight: 400; line-height: 23px; } p, li { font-family: Vollkorn; font-size: 16px; font-style: normal; font-variant: normal; font-weight: 400; line-height: 23px; } li { font-size: 12px; } blockquote { font-family: Vollkorn; font-size: 12px; font-style: normal; font-variant: normal; font-weight: 400; line-height: 23px; } pre { font-family: Vollkorn; font-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; line-height: 23px; } rmlint-2.6.1/docs/_static/gui_editor.png000066400000000000000000002574341312046612000202550ustar00rootroot00000000000000‰PNG  IHDR”ÔÖ{sBITÛáOà IDATx^ìÝ@[ç¹?þst´bˆÙÓ€ñµcÇ#‰3:’¦·û¶½ÍííH“æ×öv÷¶½M›¦#]ÿî&iãö6{ØvŒ÷Ä`3lc01„@{ÿ+BHGBØÈ¬¯âR8zÏó>ïçGï9Gô¾}û(Ü @€ @‹]€O¸sçÎÅ>LŒ€ @€–´@UUoI`ð€ @€ °dP/™MB€ @XÚ(€—ööÇè!@€ ,Ï9Àœ7†a$ ŸÏçñP$s a! @€ Ì—Ëe³ÙL&“ÙlV(œiqÀ¤ô‹Ån·Ûáp°,˹&B€ @€æ‰MÓd766V(öõõÅÅÅ‘iÝ€Ü8 `™LFV#¥3Jßy²!‘ @€ „ð°dX$egg×××gffÑxx3)}ÉÍn·£ú ‹{!@€ @` b–”Á¹¹¹éÀäÈgrØó<R‚ @€ D(@æÉän@ãÀ˜Ü¹ßAÑ € @€æ­¹¸U@nqpõK&„›››¯\¹|×¼§71r´wNNÎòåËÉ9Ðóðî;wßs×û?þÉ'~öz›ÍÒø»ï¾ïÑ74SÎ.šiê–Æ_~|Ïî'Þ ŒjùLã£= @`ª@Të;<”÷\õëŸOà 0çL/çÂP£š‡Ëzþó)AXZnÙ_=ñÕ×{é˜äŒ¬¡{´çz§•¡YÖÃÀz¾?ÁûëM©ŒGñ~Èì!Ôò›ê+A€|·òª!#gœ # a³i»,€9ãN…s-,„ ,Ëã5}¼œ‡~úóO–ËhRó:­V(pŽ,’ña€ °¤檾›«~ý7. à%µ«c°€ pS|y‚\àè¿r¾¡7wMšŒGóÅžoFûú{û?þ¿µuŽŠ–møàWÝ›Þö‡Oõˆ$KªiíåçäÇO>Ä?ú˧Ÿ«n³È²6|䋟ٛ'ãQnSÛáßþìÙÃ-&6ŽÑ¹¨xob¡—ßx; ˆ­ñ÷S;úñÇ D75<¬@KK`® ѹê×ë¢^Zû:F @7# ʽÿßï9ù½—ÿü•½˜¿vÇ{>öð¶¥÷5ÔewHŠîþôÞ¡×~÷úïVPþƒbRkÅ›?òøÇbŒCbç¹g¾û‹wøë?ðé¢Þ7þöóoó~ùÅuÎS¿øÆÓoÛŠïûôgÖRçŸýSoÇXZ.-÷r÷ðÙg¾¤‚¬àבTÑu=nføX€—À\¢sÕ¯ÿÖC¼¸öeŒ€¢"À‹[ûȯÿ|Ç;/þóåêó'öýðÔá“O<ýßÛ=}I ÞýÙÇîIaFâšNãLc…À”0cë»ß½=…¡\š7¿ömÒÞ'¿ôñRcz_ýß_?œ5òú±>Õßþæ6«xeÝ+ûÇ `WÿÙËO½z40ÈÈÊ8ÿŽ¢2l… E)0m!zäèÑÿ{长ë×oyIñ?ðpe…çs×[¼MÛ¯üÏ=ö8MÓ¿øÉS·ØiÀê0gNœ g7¨F[èùGÁ!@ BA\áîO}c÷'Ìí‡~ù•§ÿù…K«÷Œ½Âx¯‚ÅJ´Ëns’e¾…”Cß?l·uþóÑ{ÿ9Þ\=4<¤3Ø…ñYÉr-osr'Ë: ý¡–1:cý;Šph@ð\¼1ŒÂ/~ý›½ô2ùBÙŠå§³¾±é‹O|ù?ÿãS?ø¾0kÜÅÙçBÿÏ_¨ùíþøýï|+)1±õF¹‹\8º`àkßúÎ#ŸüÄšÕ•Ó&0m0gÄi£¬õÏ_úËsÏéÑ/lß¶•3àM,l½qãØñ••«ÊKKobu¬@¸y·©·kD–’#äQuæ¬Åj%㟨ˆ@ˆ@@šµmÏ&ÛùæŽÞvP•T¸ã#ûø+cÝÓÖ¿ÅKØòø÷m¿}æ…Cúñkâ¤Ì’­Ù,Å$nûÒ÷¬’göýß¿æŠÍÌKŠñ¾‡ZÎ$‚¼Ñ€ À!¦½ÞÚJNú‹DäØc쌋Ë\¶¬ñÊ•0+rt´(Ì꯿µ¿¶î’L*%Õ¯@ G\ß½{7 ðæ¿ýýÈÂ'ŸzÚd6W¬\qïÝwžÁ‚À˜3'Î…ÁüáÏñV¿Ÿþä'>øðûm6[p›[Y²níP@Ž '4»cÓÆ F‹0ÿ£¡ ,5FUzÿ’ãf©’Oþuÿ'=KÉ+´üÑ¿¾õ¨ç­“ =Ò²ì?½óq¿µÉ¹Wò¼»¾üó»¾<%$‰B‡Z„Š÷ë}Jü@'¦>b†Ôq¾ê×…ÔÀ‡#&&&ÌŠýq¶ä\è]±W£©>vÌÛ€”“ïß{ív;¹‹œxLþò7¿}cÿ~rPpRRb˜ ¤}ø{IƒYûÊ„3gÏ‘ê—D$Åú‡>ðð¬W¿^—U+WÞ±Õs^qCSÓ6ÏYѸA€ @€À¬”—•^k¾ÞÑÙåÌýöôö–-/™•.8ƒ|þ3ÿù—ßÿŽJLîݹ};)'I)Knäò'YHî" H3ÎÕ#_Qìí{šŸ}ƪTV«ušÆ~wGž«·¥ÉdòþBÓ%?Óøh@€ @` „)Ö>üùÞoýÏ÷š¯·x›]ª¯ÿÞÿ>I~¿{çË"¹…¢ ³®ÅbñžrLÖ%³Íþ-ÉŸÞ€¤i&H¨~ý—GTC†éÃw׿ÈÄ/ ý½>ùü û"YÅÛ&’,}m.ÖÕ¯©!’ƒ¿³³2g´.C€ @€@˜b­¤¸èñG¿@ι}äsŸÿÀG>öà?L¾‰|A;u挦¯/̺¾»B ‡Y—|ûÑg¾ð¨÷Ð냇ù·úû¨J¥úé/žùÇ¿^$3´;î¸#’$"iÓÖÞA.EZVVT¬®\É*¾6·2¨u„Æ€ @€´9í69)é3Ÿþ>ßS-’oö!KÖ®®”ÉdätÔo~÷¾ÿío­\Q~Œ3-ÁH™ýîûî%u/9à—Ì?ÿñ/%ÿ|]¯AzüÑϓӀ½É„ézÚ~gíhÒ¹‘‰_’÷?ÿ9¹\.м Ãÿ “½ÿ]n·K(lX¿n¦Õo„ñÑ € @€ÀR_ ‘{II*»‘±ù…œ¬P(~ñôSäkŠÈ‘¿_ÿÎwÉ÷ò„ Ê0Ì*ä2RF£ñèñã¤úMJL\³ºÒ„üBþ$ É]¤Aø«M…ê×yà 0ç:$QÎåœ É<ð÷îýÀC’¼—®æl6Ó…¹99äßL×B{@€@(òCõ×n4Ô_´˜Œ C¯,Î]µzÓø—†ZË!@ _`Fõw¸¤ÎZ¶ì§?þѾô©øÈáÐûž›œ¡dÚ~|AaAÁ“ßÿŸDµz÷½÷“°?êǃƒ_þÚ7È]Ó®IÍGÈ¿ ©Ë‡‡‡g±úih@˜N€wüÂ¥®Öºöì çï<ô¾÷ç•k†Ì¯¾ñ"årN·îäýZ½íµ7_â\Åé¢n´·±cÑúf9òZöiMû¼J»Ýþ Üt4¬@ð iáÜœìŸþøÉ¸ØØŽ]ÿxÖoähß¿þáwdžytt´ ?¯° ŸüBþ$ gë@àÀ`Ϊšsá¬6zzþÑ“Ad@KV`xÄÒÙÖðÞÝ{Äòò2! )J8b5“ß=¯úämϹŠÃI½x!+9‰â1ašEiNÖ—@”zAX@Xˆž—­›º‘Kdåçæîí2åIæÃÄàì‚s¡2‡ê›F}æéŸ»È1ØdòY¯×‡éËÿ®i»,€9ãN…s-,„ Ì[íðH¼\$!ÕïÔ £ö×öWîÞu7-”^lln½Vïf]kÊ ó ËYоÒÚU{ñ bË 2S2Wxtôל?tï®»9YâtÑ«ßÑ^xùµŒUQé–"§Ò?d>y²ŠÔÏÊòÀÞ÷Ô6wø'`±»ªOÕ Ò”{ç– FVq©æð=»îeÁ¡Sç ÔbQœçŒ!²úÁê#¾Öo¸ó°ßZ1êÔy»i D[àVê;R êtº›ËpFý †›ë%üZÀáCà^@€À‚°ÙíBŸæñ `©˜Ù}Ç»øbåïÑt·óU™†ÁÖ‡¸ßâä½qà•Ìe9ÃVþ•†3îÝC ]òB>d°“±k‡-gξoÇoõK–ðv÷¶;^ysèýwßC‹$äèi#óÇ*gï¦ï¹k#’[谜ýû—g¢Úeâþ^À§ühîô_kÁm/$ @˜ˆ àUê³’‚@€¢*  ÍVërQ ãß‘@ÀˆÄŠ¡Tª8³ÕlÔjú†_|íur°˜ËeµÛl]}ƒ9©IBRýRMÓd]æíꃻ6¬–(ãÂä<]d«, „B Ëãi°ªc•F\GŽTUVT*bãÃôè×Í­ap4ƒ …%0WõÝ\õë¿uP/¬}ÙB€Àì$ÆÇœ69#:Y¬š3"M‘â–v:%yi«Ö¼Ë7QìîÖSì”kE‹„tFrAK[kBÊ2Š7ýÕ%CEæL#8)E=tÿýÍmÿ÷æþ]*yŠôHÞOÄ*Eþk¥çsv‡…€ °"yሆÃ\õë?–À˜3'΅щRÌ…ž”X€ÀRPÊ…ûß9¼}ËVUB™ ¶YŒE•æÙlV‘Pìm>²w>Ù×Ò› éîøÔl'C»Ë‹²mNWO_Gnl–Ñb·Û,¬€¶Y­+"+:œN—çêÓj"«Ýá¿VzNÑM^ÿd)ï4; Å"0öâÝgœ g7i»,€g·{Dƒ ÌWvmy‘\*>xìŒqÔ `èåù™™ùk²MQ+ KÖ¾øVŸGÅÆHvmߪV¯ùÇëû¥"AiAVbz)Y…œñ»mã–ƒ‡^‹O’Å&xƒˆ¼ä”Ü^y­0;-¯xô‘)¹uàt@wŸþ왣äàm¹„¿ëŽí"¹861û¹½¤R*xŒˆ¥bb‹Kòâ«/Þ·g¯/ÄŒågÎ÷­õ7>ãÀ߀ y!@ïÛ·oçξ\xAÇníß¿¿²²R,ö|z[uuõ{ßûÞhD&1ɵ¹ßyç]»vE)>ÂB€ @X@Ñ®ïl6[mmmp 6WýºÝ“'.UUUMªRVVVCC¹µ÷X¬Yÿ½}…|9Õ™3gRSñMÑ3Fd@€ @`! Dµ¾#Õocc#g 6Wýl›ÀC ƒ™.--%g%‘">z[õÅ_ŒFp†a Š‹‹É÷5G#>bB€ @XXÞúîÒ¥KþS£³5R‚—`sÕoÀÐö]Ã׎,!Ç?GïèÙ²ŽCŠyò ™®êƒc  @€ E/Õú.L 6WýúƒäèÀààíMV gÒ’[ð]X@€ @ H`®ê»¹ê7`ÓLðÚ–H€ @€ Jp(,‡ @€ E%x4N—]T›ƒ @€ ÀX«Õ€ @€ °üGX“/Î]ƒÄ @€ @{÷îõG,€—-[ÆãñÈ%ª½7xA€ @€9±×{ þ®ãÀ˜Ïç“ØWã”à´™‘* @€ %.@¦r}ÕïŒ à%n‡áC€ @€À˜ALæ~†ñM/¬q"[@€ @Xâ¤&s¿d*8Ø!ðh_LZ“ßqt0–@€ @€Àü •¬·úõ d`ì½ö•ï`΢y~ŽYA€ @€¼S¹d67¸žå.€½e0gÅ M@€Àl ¸\®¾¾¾þþþàkTÌVˆ3ÈûФ¤¤äädrÅÍù“2 E&à+z½UmÀè¸_¼µ2gżÈt0@˜CFãp8V­Z…Šh·ÂmëÚjµ¶µµ‘N¾sñ¶uŠŽ @`© xOã u2/w¼ÔŒ0^@˜­V»zõêØØØà#”æ$tU§Ó)êêêPGÕÁ!@ Œ à08¸ €¢+@*¢øøx¡Pˆ8ºÐó#:ù0ž|Ó™óŸé @XŠ(€—âVǘ!Ì‘HDfçO>È$z8µ*z¶ˆ @ ð"l‡f€ hàìßh¨ÎϘdž›{~nd@`é`xélkŒ€À| _T0ÓBNÑÀ±îÑqET@ˆTo;"•B;@€ @XИ^ЛÉCXügÏ_¨:|¸££“ÌçääÜ{÷]%ÅE‹Ø! @Q@T„„ ˆÂûÜß_xûÐa‰D’ŸŸïr9[ZZžüÉÓ?ø¾»÷쎸4œ}r9«¾øÒoíú¹?ý!Ô]X@˜CÀsˆ®!@ œÀÙsçIõ[R\ü_Ÿþ”R©$MµCC?ÿå¯÷ýß¿òóóòssíŒû¢&àv»ÿüìsÕÇŽG­† ¥+p­¹ù¥W_ôsÿ%‹‰‚ÍfûÙ¯~½wÏžå%ų‚‚s€g…A @`ö:,‹?óŸôV¿¤ƒ„øøÏ>òi2i|üÄÉûc5ÿxwɽítEØ>\3Çõßì*~ðåAOÌÒwÿCÆk¼Hïs8¿üÍo½ÕojJÊÿ¿'T11d¬J…â«O<ž‘ž¶HÇaA€Àí ÕïŸzúR}=ùi±ZIõûäÓ?­­»D~66]™• PÏ #‚@€Àì tvvfgeÆŒÕW¾[RRbJròõ–ÖÙï§0›-?úÉÓçk.z~ôCÿV\Tøÿ,-5õ+O|‰ÌÕèO÷C€B ¼üÚ¤î%w“J˜œôô¿Oý¤éÊUò§Ýn=ôy7!ÃqݘKË @àv éÜP7Ã8Žà{ÉB‘H¼<ÄŠ¦È¿wÎtñx(OÀÙ 9Ó檽adäûOþèêµfß®ñ«ßþ®»§wYFú¿÷]ò“üN–xï “äíڳР,<Ç>ÿYß¡ÎäÇ÷¢SXPð…Ï~fVƃxV€f_€œåÛÞÑÙ«Ñø‡¾ÞÚ:¨ÕæÍè`{ÛK_¹«4#!.¹hï÷ŽiÝeiüÝ'¶•ç$Ǫó¶=öj—ƒtáêøëû6=ô¹ï(ñ´,}è™=iI±æ–=vgQš:iYé{~Vo 'kiÙ÷Ù­é)©¹>õׯQÏJ‹ñöÛßÿ±³«Ëd#££äphrJ0)wÉOò;Y²‡Ž1A€Àm …_~ì‹§û’ê÷+_zÌ{Jð­çøÖ €¢"pï=w»\®Ÿ>óËöŽoä“à_ýæÿ#— Þö®-3è’ew|ý•ºö«¯|Ìô—¼xÃAñ7=ò‹W϶öÞ8òÍÌý_úêýce«UÓâÚú×IË?Ðÿ‹o¿ÜádGNÿÃ_oÝûç ÝW<óp¶0°_ã…'?ú}ÝG_nêlÙÿéѧ>û+Ž9pù÷#ŸúDæ² ÿÔÉy¿ŸýÏGÈ×S‘-B~’ßÉ’96$ @óF€¼¦[ôÒA=[D† éÂ+K¾ï÷#ü·þþ¯û»_øÒŸýâãßûá“äBÐ$h}C#™³®ÿ]”xÙæ]›óIe[×Å ]ï·ÑÂÄÒµ+råRUΆwåP=:'Yƒ¢Ä™[÷lÎ#-Wl[£º¡µŸúã«®÷þ÷§6¦J…²Ä´d9ß{ä³ïèÑÚ¿¿I¿ïñ‡Kc„²Â{?X>xèX'ÇaÛ¦:Ÿ›ÅªT_ÿÊWÈI¿¾ú¹Ï<â=òù«ßø–÷Xh²Ä{o˜L¿O  ,UïU¯¼çýú ¼WÆòž|ë0(€oÝ @ Z»îÜñ½oë®Ý»T1ª”¤¤{ï¾ë'?üßôÃÿÇ?¿üµo446άcš/äSnò¹²{¤áùÏß¹jåª5[þíç—L¬;ð£fšðY·Û1Ò«q¨ó’=_ÄÀ}³j»5—ž¹'/•ÜÒV|ºJï2ÛfãŠÓܽÍñR©TòåÇ[]¹Ê›Ç³û{Ó•+?xòGÝ==ä'ù,™ãÑ= ,dŸ>ó+_õ[TX@þyGCj`ò=ˆ³22|ð¬0" DK€v›¹lʵ…ÅbѾþËb±üäçÏ<ñÅ/‹Ï´oó¥Ÿ=òáÿ|ýܳ…º7>´ù©PYœŠíoé³RYrî6Be¼zÕ—ž=øÕr wƒE¶T |á¿>ó—çž?|¤º«»çûOþØ;@rö¯ï÷E6d €n›À»ïÛKj]2ÙKÎû%¹2<ž÷ D"Ñ}÷Ü=+i`xV€nŸ€J¥úòØÅ0È—"<õÓŸ“‰Ç™öí2êM,Ÿ¡ÜöáÆo^ œÿõÅ£6þÛVë?ð»“=f‡e ½}Øs¹,š/»‡Zntõö嫾Óô—¯ÿúx·Éå²é5]}F2̺ìcß^8~#¿;ϵ±Èé¾ÿþÑ<üàûfÊŽö€ ðÞºweyùW¿ô8y¡'×ÄzâÑG½’£Â¯὘Ž Í @äÁ±ñ IDAT *c§ÞÎøV—÷Äc>ù“Ÿ’ ó—¿ýÝo~ñ³!Æâ{OIûB$Ïÿ”ë¿ø­]z|}æq%;Éõ¡Å㧬·d’ïyêÙÞ/|æCÿ3*Ê\½Vãùþ¥øõÚnüè]ë|þ¥ßßöíç¿ýÕÏ|jÝÿ:e꬟ýß>Wfø×C~Ës¶²÷&Ì{äͳÏlS†ÌráÝqßÞ{È¿…—72† ù-@{þJác¾Éa_äг˜2½oß¾;wú"¶··óù|òá.¹‘…7÷¾dóC(@XÄçÏŸÿЇ>tÓlºzõ™_ÿöî=»î½{v‹ºéL°bäÏ?ÿüš5k"o–€  x/"M¾ŸÜœNgVV–oõªª*ÌÏ!@` ”…›ûG™"@€æ… ày± %+€C–ì¦ÇÀ!@·_Áºýæè€ @€æ@ð £K@€ @¸ý8úö›£G@˜À!ÐØ @¸m˜¾mÔè€ @€æRð\ê£o@€ @¸m(€o5:‚ @òÍóF£1p)þ^¼f³Y(.Þñad€ 0ßPÏ÷-„ü ,beË–UWWkµÚE +À[°™#q@€ @€À PÏ M!@€ @`á ,¡˜5kÞxõ?ÐÙ)Û‹µ Úìù³¦©Ëg´QCŸQ4† @€ è Dµvöuì¯nªÕ»£7ûÀµ¿¿qùºÉXwääË×L.вõ_}þERèö´ýɃGÿ|¼w$T}ËãË$b¥TÀL›å´¡¦€€ @€ 0GQ+€YG_KËÑ6»HHGsh¬Ídq¥ Ú®³Ð …±<†Ï'ßáÄ𙱞mÃý&&iYœb<‘À|hQ܆mkï+‹Þ˜xP¨À5]ˆà5°€ @àjjjnam¬ ,-À«@ÏÞèi¡"qó2aw]§cö‚N‰Äº]n—Á`cÅjÍ4⦊(§›¥†ÀŒ€7VŒ:ú»tF¡jM¢ˆöÎ;gÎ6h¬|Uòæuù¹29zùͪ+ñÅmJ‘YÈï×m™Ëô½-:;%Q•­*Y“ä-â'CQcSÝÕ =F ËȱËW­“¾hÊe"Á5vÊŠQ?ÂB€ @€À ¢6Lóã’T*†bÉѹY5Wžùøë-&ËÀµ¾®±ŽÔ9õê5“›Of€)>Ÿç›ÍÐÒo«“Ò&¦wmCšv‡49VèÐõž¸<p>ðX¦ÎÖn]lζÒ‘eøRCï9®zJ(ÊØÓz¦Ã$LËÙ\’’$ÈÅÞ£§YÛ`Ïu«$U-ã™u“+Fgøˆ @€ @3ˆÞ ðŒÒ¸™Æ‚øì»6+Î]è¢ 2u-ç-ÉÛÊâR Ÿ%3À|9š5kû»­Â´ •”ü1Ö ?&}û¦lµ{øøáKC:­#YÔ9_™²qyr-êºh1]T3%”‰!Õ5k1»—en- bÖì‰Â(RvlÎO¡ gŽÔÕ¯ @€ @`.lÌZ›ÏÕT÷^}¹¾ÓómNê·ìX™ ðœLf€iÖÞÛ©·Šãó>[žH$&SôP)â±v‡ÍÅ1AÍI¤dN—å šeÇL %KÍÛ’ç8Ù¦9q¼ï|lÚöy™c0™Œˆ²|1Ÿf­‘}ià@€ @¸Í ¶¦…Ù«VÉÚ¯î”mX)¿~¡SPºbS"_ ¡)žz×=ñ,dzô]×:åi‰IÂIU·ÕjvQ ·MouÓ<ˆÌ;Íip1+Ö2<%#É]¹*«ÈpõòÕSšÚ®ÔôtO²bÔŽ)LC€ ÊÊJÊm HlLñÄ2±ÐåâÉUIb{#%N“*džòÓ¡»ñòÑNDz²Ýñý}q~†R4)A»Œ½Õ'2—Qcb%iñž¹á 8Ž5ø‡rÚ›OI2Õ"MJå±Ùæ u°€ @€æ•ÀÂ-€É‘ÆÎ‘Q§P!a,Ã&ž8Ösd³çF3|Ÿá œ½#NyJn¬ÿ™”’¢|Ã3ÝQ\ÚæjùĹÁá¶ŠÛÚ9%¹Ä4mÒ´ms“)äø¬ÜËÄ<|ìN÷A€ @˜{zß¾};wîô%B;úæ>©é2ˆQ*§k‚û!@€–†OHnl®­­Ý³gÏÒ3F D*@¾#È×´ªª §¬F ‡v€ @€ ° P/è͇ä!@€ÀR¨©©Yê? ± àˆ©Ð€ @€² à…¼õ; @€ D,€8b*4„ @€ …,€x!o=ä@€ @ ,½ØÚÿÖúVÛ!Ö:Pu¨þª‰ ïæÕ~ûÄ_9þâåžÓÕN :)ÛÀþ—®Y¦Y1|Øùo„>3H´é&âG%ù™ ­!@ˆ¢@eee£#4 °¸&¿i–Çå²õ´uÕu”PWQ–‘%J±í2tllY¯½ÜМ¸|[Š`| .ãÅ£Ïêœ~ãâ)²Ê,å(-Œ)/ÉÄ4Ç}“‹œ½×:‡SJ?\¦².ãHŒKÊPî°kÌñî‘~-6^- ?®é³ôóñ9kñ§ÏàZL·qÆ(n«B€ @ãÑ*€Ýv³Ö­Z».;NäÖÞh={U—P‘ ¿ÕB,x³±Vƒ‘ŽË”²ö6“ %Æo8Œ|Õ[*(Êiè|㜥r[a†§4¦i[pŠ'JJq,÷_Ä:ŒfV™*zÂ0ò¹çΩ3ÉÓD¸Íw»LÍ×zÅ«H|Ëû|ücÎB|zö÷ˆà±†ß¸³0Šà.±€ @˜Ñ*€y’ØÞ3ñ r¡ÖjuSrf6 º¶ýç4:‹ÝÉ7¼Ðê²ÙXAõùÎåe;2%ãsÍ´§¾âÕXäW¿bË5ØÜPÓ9<ê$ål_'µì?¢ÉÙZ^(0_©m:¯±:XZ—¾cCV’WÈe¾ZÛtaÈjÓŸ{N¦Þ¾)Esúªµ´b³rrDƒæøùmF7_®^¿.¿P11ZÖzåÄ¥®ìŠ]éBÊ:Xu誹¨rož”qêOT·Š*Ëst×4:Ü´$~íÚÂ’†rš¸Óðôæj½Øž×]=PxGY.©âYëÕ“u™%™š+—´VºúT­4iǖܳæÄ…¶öQ%”å•oLã]?:«å)º«Æìlª¾AcJ(yp%[]­ÉÙœÏ65Ç)Ò¤–¶ÉøyjsÐðíƒUÇú lÏ ÅæpKRóv–«åSŽp µ4þ³S?êbÔÙw‹›O4 æWܙ晳vên¼rÞ¶f[q¦÷£ kÿÁÓÿ”ŽèSƳ=dײSꂼK÷¥>‹ÅA'.ßž'Ÿ8€|H1±qm`>¥òî‹#ò(å¥N®6›û*bA€ @óA Z°ßØXˈÙ%UËfûhA\ö}»“›Î´°e¥ö¶-Š;ת%‘ ÚGz¨²½w•Š,}ï¿Ñ³V:¾š¹¯­ÎšzßÞ4å5»Ä¾Š‘­Zî2_îÍ[µ“I®QM@GýùóîüŠ.¶5¨éNØ’ï]ªÕ‚†A³=]èÖé"÷ Áœ+•š ZV±FΗҩ۶Å‹Ý} µ‡¯è²Ö«©Pix:åIãÛO¤ï—#)Z™×«ïJܸ¢”̼ۇOœëb +>’!qzŸ½V¯,Ë—£5õ_ì]¶eÇæ$!ïô„Œ9ôNõD|‡þTððI±nÖˆVÞ»S)$ k­ŽÛ0Ž2–ª}”lˆ{ï*Ú†Nh9¿bU†èj—Þ’š(¥]º^Kã?1ïžš’ÛbU†Š þJ~~ø€ @X|³]• ¹LCµÝTnNŒ„« j>ÃN‹Ö)V‰(»ÑÊÄH#=Ô—¯(ÈŠ!§$3RUºÌ5Bæ¦'n|‘ˆ16÷™m4_! "ÎÙ¡ì¦âKÓ¤|š‰MK޳k&¯ŒÅ‹IPÐè˩ë3ɳRãͺk6ر±Z¢R%Hx4ÍSËv»ÃM…Mƒ£ý´jvÃ`/O]–JÒ£…ª¤²Ç‹4LV|ХŹÅéi†ÏL¯rø|yNšÜ³]„²$‰ËàGíÉ™/ËËŒ!óõŒDU”Æ jÌ’ä$åH•%sàílZ†ÒÿÀôÀ”ø²ì)ùG •ÇHäÙ©22}ˈå±|ç¨-ÄeÉÂç3­#@€ 0ÿjjjæ_RȘ§Ñv[‡Ï_êääL=òu60ìí5—NöÛ,vªóРÓJ„ÖïëŠÛ´¥(kº“y)_"ð%M±~µ’P{Ïêž3—kÿV+)(/ZŸá©¯"¹¹6óÈðÁƒýžb‘e”,ÉE⎗ŽE¬ÊÑ«5«ôz&5;^¢ë#ÓœüA«,Q.vÛ{[Z/tí¤±Ój+ÈjáÒàj˜aPõç&u5_&4O,aœ'&+z„bD*q¤Ÿ„¾çdiñħ4Å’ÿ¦Üx|1ßKÄŠø.½‹•Æ(»®÷Û2•Ú.6vcìTþ€”hF4¾:9Äz uzü ÷@ïßáóá^K!@€ E"a}w3£emúšÚ^wVÞºda¤…Ô úfU®Ié¿ö¶&q÷ iǹkÆ¢ÒŠ˜Hû }ñ%žL±cGšYÛuøBóUy™"¢˜Ôm¦ó‚wψSš®oÜ@€ ,9ˆª»›Pam†‹u=¶ŒœÕIÖív¹Yw`QvQVa­F;_N¦­:» vâÒW·×i²©[žX&•33ÈY¨JLwÔušìd˜nçèˆeÊA¸ä4àxþ@Ç 3.6†¡å *f°¯Ó%O•ó\§›/"‡&³NS[‡Á:–}˜48Û“c¦Œ­ÔóOvýà—' ™_¥íCFO5ìIÕ6ô˜,k×÷7 òÒ’IŸ!³ ièÓ?¾ üðC…sšZ:ô&7å2_íq%¦x®\%IHJ²ôÔöÒéé~² áÖ—ûèÖ£! @€ 0‚§Øf%YÖ8ÐÃ`q;›ÆÒâ‚ÕÅ«c9§GoºG·Éè’& iÇè-ÍØ.ÓÀ±s½ä˃F”ZXTÙô¯gÕšµ™§.\z®Ž\Í™¯JËÝU)Mž<ËS’n¯jã“<ç©R²Ø$^‡^«âÓ┌¼Ž«/½Ñ.Ëós“Ôc_Ò: ZÎÕžâ+W+«ÎŸû;Ÿ/”ƤċL$ _Q’'{ëì©?K’wn+\».óäùºç뜬@–WZRçñ ‘)ÁCl”)1óýãs ?D ßb¾2©€ßûæ[£n¾ç*Ð)c_X,Tæ'°-Ú¸­ÊÙØ¢Óå ”éyäÓÆE@€ @`Þ ÐûöíÛ¹s§//ÚÑ7ïr J(Fé÷íCA÷bÁptÖÔ^”—Ü[8»_›µÀU> @¡xBÊmol®­­Ý³gO¨VX,M>rÒ·ªª*Z‡@/M\ŒúÖ†þz­¸0]v[æo=_D€ @€Œ@”^0ãG¢óHÀe¬=y¹vDS^Z ›þ»—æQæH€ @X(€ÂVZ"92òŠwm¬X"ƒÅ0!@€ Û.€C o;9:„ @€ ¹@<êè€ @`–jjjf)Â@‹_ðâ߯! @€ À~»m`ÿK×,,k¨:TÕÄbñ¸ÍõGÏÖLùj`ç¨æÐÛ'þøÚ™ƒí÷Bg²ö¿u ¾ÕvkÃàR⤻µn¸×žÜc=ûðåëVîfX @€ %.­‹`±vcss÷µA‹ÅE å±å¥ËråQ)¶]†ÎƒM‚-ëÕ£—š—oKÜú¥…1å¥"™8Ô…ˆÝ#ý:[l¼ZªÁ­§í·8GïµÎÑŒ)"•ŽÊvõ8 g޵ò+Ê ì†Y¶buìÂýŠ%·îZíKõ‡o¡ÅE›×Þ¡žØc§|Lñ^ä²´_½~¶M?â D1IÖæç‡´.ɈqЀ @` D­v9ÝÊ”m…J%ߥmo=ye0¡2)föK%Öj0Òq™RÖÞf¤ÄÌÒpx¢¤dQÈ­ì25_ë¯"pÈ&óýŽ[ë4Z(yšX@G÷#‡~°‡¿Mfm®ŸðñhÊ…[ý’ÝŠW°êßó½ûë6÷½}Z—NFÄãï±7U»mÆ~wÂÖí%j‘»ïj}u]_ÒÆTeèG뢜ïQä@€  YªƒRãITÅ˼KùªX™¨Ïn'Gʆ~K`ú]ÛþsÅîä^huÙl¬ ú|çò²™’ñ~¬ýO²³©ú)¡äÁ•ì±}Êx¶GkµÚ)uA^Ž¥ûRŸÅâ  —oÏ“OΓãHhr¶–2Úªc}жgÐbs¸%©y;KåÝ›.i­tõ©ZiÒŽ-y©d5ÖzåÄ¥®ìŠ]éBÊ:Xu誹¨rož”qêOT·Š*Ëst×4:Ü´$~íÚÂ’†rš®Ô6×X,-‰Kß±!+ÉoS8 šãço´Ý|¹zýºüBo´£ñõÉïÊM¸†®]®Ò%ß½.E2ÐŒ”v,Y÷Ä…¶Vƒ“)+6–¯’hߪ(¼£,—Tô¬õêɺŽÌ’LÍÿ!¨ÍqŒ½­‡ê4CNF™˜˜ì”³ÛÒ\ÛtAk±éÏ=/OÙ±Zvù‚òúf,öQ2õ/Ë++Þ˜!åÛ'ϘûªŽvÊW¯Ú¤öß!Ýz~RVøZeý™p¡¤¯c}ʪ‡dè`ùw–ÆK=uúX´Ôbkºr~ª¼g_s 67ÔtºI9Û—ÇImSwžõj~àFñhs)q.¤‚¶)CìŸëÕï^?Íî´rÍø 6«ëÒã³3$4åÛc}1ÖÞYwé´56Ñ4Ä._µ}ìÈÇPë«5ö’lW]gྴ®lü—˜#" 7¥ä¹†Z¯î·žV’ ú“„ñáâÿ @`1TVVRnûb ÆD_ Z°/s·ÝÜÑ5BÅeÌÖì¬/² .û¾ÝÉMgZزÒ{ÛÅk'Jˆ‰FnSÿÅÞe[vlNòøÎA·Å0 «x BÎê;^¯nl(ª¸).»ß<ÙÖ‘^šÇ5é² kD+ïݩڇOk­7TlX™×«ïJܸ¢T>±-T« ƒf{ºÐ­Ò DîAƒ9W*5´¬bœ/¥S·m+Š»ûj_Ñe­WS}muÖÔûö¦©(ç¨Ù%ö¯%úóç;Ýù]&mk:PÓ°%3>#¯²÷Ò…¶¤])ú3ü•›’•.ý©àfnýÙs]μΔÒ6»KÈP“ËN 0’"ÿ!88âÄÙN]Š[¹ö¾T©çú眉>wž¤ ¢ÄaºÜ—_¹#…Oª¸:?dÆ®?y®‹-¬øH†Ämè=|öZ½rE…˜šFž/ŽU)äâ©ØGZµüìuq%"ºÏn¸4ÝFt[ Ò•÷ïTðmº“Ç®Ÿ‰WÜ‘*¤Ç£Il}MòdÖÔ>ÒC•í½«Tdé{çø†´˜µjÊαká¢ãܦäôjÿýÓ'<Íî4±¯Ø‡º©Ü5*qðÓKj׫§MÉw®O£Z UÝ#Ö”x1åÒõ»óòrÅŒvê¾4 ÏšõF§³æ+ä"_íMŽ/í¦âKÓ¤|š‰MK޳k,,Åç—/¶_yû\/S—/£9›Ùõƒ½¼„ò ¹ˆÇJÄ’jÎ8¶a­VœRš,âQÙ…k ñâ«WF” cõš»SBïN^Zrw›%±0ÃÇi¨m¤)Eºhl·fñÙ¢¾V#U¨í¡b7©Ææv§îKÞnóÀ±Ó]Â’eÞ“õ¹ö[²ß…Ü.Þ(ø @€ y,ÅØ;jšÄ'ÅÇ·÷j-c6@„Y•kRú¯½­IܽBÚqîš±¨´‚ó*[Q¾PÓøX„òt©­[3d¦UäbA¢ ±WË)ùBkïÕê.ñÖÍ«ÓD´UÓôJ³w žL±cGšYÛuøBóUyÙD)ÃÉ4ä[³ÕSçozÍ%$W1rñÆhj±‚³™Ý&`V2é/á)è¼ë²9+`Î8VŸvØlnŠLŠR\knÁ džP(púp“‹€ $|ÇqØþf­úƒ8wy¸Z>d·Ãìð|d@1¶šä3Þ”hAòc'sï&¾qqm.%Z ä ãD¦¼_V4Þ“¸|ͧ–OŒ‰¥BìNãŸ-X{Z\ñ[¹.DΓ¯Ü\(nº|´IuÿŠXO’™&¼Ö£×ˆõtR~üØ#>`_"n«öÄ©vWaùé^s2|=x¿½¥írƒá@€ Ü& ãKg§_ò-HÆ!³Ó3sÉ:õ:-%‰»©Z&l:¬ÕhçËE|—UgÄN\ú*ì*³q'/¦íCÆ©¥$9o3ž?Ð1茋ahy‚ŠAε IDATìëtÉSå<—Ãéæ‹È1Á¬ÓÔÖaðV=Nóè…ððÄ2©œaÝ~e©P•˜î¨ë4ÙÉB·stÄâ9:Ûel¼¬m[­èjiл\Í„*u²[[ßC @Öi³IÈ)[?™Y$'oêoŒ¸<~C'>ÎÒWßosQnco‹w­ð<ɳچ±ìúþ†A^Zòääv¨¬}øÜ©¦Æßáå¬y°X–˜N.ï45ÛP¦,wšš[‡FݬËH2q%¦È~ÑÂȇ ιQ„*¥ ¹¶i˜þBïNž•XkÇ ½4;eÊ%Ã|Ñx|™XV°2;¦÷ú¹~²ð”ÉjÙp÷å>:=Ísdxð¾ä¶>uÚS²9MȺÜ.—›ì\ûíÔí&Ü@¸555·±7t,lhÍ»m†KWZ´V7KóÄrÕòòôÔà3to•Îm2º¤IBÚ1:BKs#8ßõV;ô®ÏW”äÉÞ:{êÏ’äÛ 3ÆÇÅS’Ó€¯jã“Æj Yl¯C¯ŒUñiqJF^ÇÕ—Þhˆåù¹Iê~O—iàØ¹^“bQja¹ÎódnÕšµ™§.\z®Ž\6š¯JËÝU)m¹ÞÄϸ;CÌðDë úߨëJßœÔL"Æ®_“~üÂſԫ@«*7•U¨”+Š•UçÏýÏJcRâE&ÒÓÔ!pÄ‘&n*=tñÜ_\LLrZA’H¡@µv]æÉóuÏ×9Y,¯´¤2Ž¡È ¨áoNû°ÁäôTüc7ÖÖÓeŽY;v&êÔl7ÄŽ· ý´P‘Áï{ë­+#N~bnáÎdw÷™ÉhòÓ¦GúâØ(—k!÷ꡇ@>¢±;yÖqô7ÈJ+ÂâÍ“&mZ>ôjÝÎm™Ò¸lñ“öŒõžs¹]ÚÀ}©S™ª¿ª3ÚuçZ/ŽåÄ“–mY½)x¿ Ø.áòÇ}€ @˜ô¾}ûvîÜéKvôÍÇ4§æ£TÎÿ$‘áÜø¾È;{<7I W@€nŸ@Mm}eEYcËpmmíž={n_Çè X|þä¤oUUU”^È€ @€–’ ॴµ1V@€ @KX Zç/aR }ND‰wíIœÓ Ð9 @·U ²²’rÛok—è X°˜^°›‰C€ @€ÀLPÏD m!@€ @`Á  ^°›‰C€ @€ÀLPÏDkA´u›ëž=¬qN&K¾èÀ¥k–µTª¿jšøºÝ1ÿ$Â@¸‘­ýo¨oä ‡Ão” ð­fçÞàiÚ¸ aM;ˆ¨4ˆPÆÓìòukTR˜QPîÝØ‚s?äÚɹãpîZœ g”tpc®”‚[M³Ä—Xô6b4Æ>ͨÂÞý|¸wŒ°IáÎy!ÀùØŸIfÜ›~Vª3Im!%.õ‹`¹ŒýÕçûÅ¥%›ÔQéËeè<Ø$ز^=z¹¡9qù¶Áøe­ÍgêU¥÷ËÇ:vöÔ^<îνUü’ý‚XZS^*’‰é…¾ÓO7÷H¿Î¯ÎÁHýr›Ë4¸7±Ëxñèų:¿G(ž"«üÁÕq"înrét(8ìü³ Îq6–Ì\f6z4ÆäV˜­´9UøRà6t]»n$}㪠ñ E¹u×j_ª78| Òâ¢ÍkïH"ï"lIw\§a`ØÁ“Ä¥lY“³Ìó>ƒ¬ÛòN}¿ÎÎ2’˜åÅ«Ç^“X»æzËÉÁÎJ3–¿§’<ýº¸V'Mz÷.áŠ9–¹ÓÐõÖÑNÉêµ;‰ÂŒM&·NT‹ÞKdMM ùà¨&à€À¢ˆJQ:©ã¶ÞhÑ9ø¿Dކᣠ@`~DµfGzºÛ„êlY¿6 £uèÚöŸÓè,v'ßðB«ËfcÕç;——íÈ”xì¨ÒV¨jëÛM™Eâæ®u^®œ¼²vƒæÄ…¶öQ%”å•oÌòÉá7Õ…w”å’òµ^=YבS¹;Nwð´!;›ªoИJ\¯žx]acZ NZ¤¬ØX¾*–ÇÓ6pðxŸ2žíÑZ­vJ]—cé¾Ôg±8èÄÂåÛóä‚iP®¡ÖkGš‡GnZ¿vmaI CÙ«Žõ)ØžA‹Íá–¤æí,WËy¬±·õPfÈÉ(“Ý!¸ÉÁKG49[Ë -WŠŒëøùmF7_®^¿.¿PA>»±Ö+'.ueWìJRÖÁªCWÍE•{ó¤ŒS¢ºUTYž£»˜§Ót¥¶é¼Æê`iI\úŽ Yj{_ÕÑNùêU“ÇXû§¯d+æV˜”Ê»/6]ÒZéêSµÒ¤[ò|Ü(!<96¨oýð¥iÚºþœÍùlÓdÛ×((Ê5ØÜPÓ9<ê$ål_Gæ-ün‘íT“+pïÆ!öX¿~hO¹ËëšüTûríHœŽøáƒÇú” T–쇬"#ÿÎÒx©¯ß’xvª©*p¯VدÖLÙdjsÐ~´;¿Ëõ' økÎ=œsád°€8kÕšÓ ƒùw¦y&sœº¯œ·­ÙõÜ-ïºäì땵wÖ]:íȸk¥¢çÒ”ÇÑô'O,Á›†æz2ñÆe—ó5“œµÊK'Æž+$îÀíEž…BÞ‚vrûÄsŽ„âzŽâÚß(®'"îÇiÈ<üîJiZ ϳ}‚+Ì3j˜çθ:Y2´KSÜcŸnHAOíÔG}üüX ŸŸ“øÜù>:¤æ G›FŠWm;ØÊ1Ôújsù(-ü§Á ¸ÆwŒ¬‘æW/h=Gý³n«K±iÇŠår:°Sß+‘gßÐjõÖ1CS‰ËÒâÚz{,ÉJòÂÍg¤RÝ]kR¼çw·¹½Û‘˜"éÓ‹Ò"Uúî\QÛ™æÉïÌ¡iï³"ÉC×¥1ÆggËÙ[RÖ»25KI’¢â—¥§t´w™“‹)§ƒ'Š“ñÉBiŒ\J™\¤Üµéº™•23¼/ž§bÖ:±úrG﬋+¦gˆn}{ëuQZ¡²«Ï7â˜+‘%\O“ Y“¦õP­Fëà)SÒóÜÚáÌÛSŽ—Î úêjMD/‘öéÞDù’{ÒÓ µ´iÍÅÙœƒÁB@þQ,€É¤kFXºRioìº .û¾ÝÉMgZزÒ{ÛÅk}5êX‡´0³0¹þ\WGbl‹V²b£Ê3ûiן;×ÅV|$Câ6ô>{­^¹¢"Ä´¨ÛÔ±wÙ–›“„¼I)‡þì¹.gÞŠgJi›Ý%$Eé0GL1å¶dTÈY}ÇëÕ E÷ïRðF»ß<ÙÖ‘^šGO×@̓ƧnÛV/v÷5Ô¾¢ËZ¯&5†Ë2¬­¼w§Rh>q¬µ~8n½T{êÒPÜʵ÷¥ L=×ß8çœö›pƒƒlPŽž?ßéίøè2Ñh[Óšî„-™ž£ÃÆ$ÕjAàٞ.të‡ô‘{Ð`ΕJM-«X#çKéÀ<©¾¶:kê}{ÓT”sÔì3/ŽU)äâ)§OvN+¼#ÄP±ae^¯¾+qãŠRÏçÓß# ÇmPŒplИ‰Ì§Ñày>îa$EþiXû/ÙGz¨²½w•Š,}ï¿Ñ³6Ö¯ˆx§OˆÝ˜{Þ`¼kˆ|Gr[ Ò•÷ïTðmº“Ç®Ÿ‰WÜÔSð¸(6x¯žbåП Ú%A»SPO ÌÁ«8ô{¸›k¡ß– Œ#ˆ2DW»ô–ÔD)íÒõê\êœd‘³iº{`~\ä Þ ˜%ï;¯ž6%ß¹>‰ß×ð8 ޼„cÓ¤ ‚ÙɓɔÆ%Óù8¶Kãq¹Ÿ…‚;õ, ÞÉ'>áܵ8Rœ›‰“küé‰;—ñ¥Á)ÅrÈŸ‚g8Ù3*dzGàFLVº8vé8û k“# ~@9¦lDÆ®?øW^8øllî \ñ¶ÈÈNåWuXSHIöÿawb^Røê—¢Däñå“(©ð¡{ =µVsýáá”e2š{˜xH:,f‡(YæýS V ì:‹›ò¼‚Ó²Äxi}¿Æ—-¢#ƒl|…rT\ÓuZå½Ár]Ã>ÜÐMå®QyªèH[Òv©„ê1ÅçJÙ‘AÑFYݼø„åñ=§k:¨2fDò«u/ô›M UIe Ž=¦É3¦æÁÒâÜâô4 Ã÷|°;~³ëI„„ò ¹ˆÇJÄRÿrÅôœgÉ—e§HIå,Êc$òìTùÌœËcùÎQÛØKï4 h‰J• áÑ4?N-ØíïÔ._ž“&÷ V(K’¸ V·mX«§”&‹xä”ÎäÔ\rìÖ´·  ý`7_šFd˜Ø´ä8ë°Æâ{À‹IPÐè˩ë3ɳRãͺk6ر±Ž<ù"clî3Ûh¾B.òìBÕÚ Å%Š)»\ ð4 \£ W£°Ë‚"„Ü ãaÂj„úL‰¯(ÈŠ‘ò(FªJ—¹F¬S¦ég°SåÀ™!Ù=ÃŽ;øÎ™íHdcíÒdž¢(OÞô?Ž‚ÇEšsïÕÙpSpöS—¯Â™s¡¤ 8¿ |õ!«øgîàx12SAÏÆÁûg>\™Óªµxx Ÿ\ÒÏil#ûº"ø•7` ÁÝ4pŽôžjç¯,K$'ëruê{%b]d•Çó})à±ϼªçFʵ<™±eÐÎR.mç¢öÿŒqZÛ±ìhooŸ4%_9í[£)-… YÓíçœúË[Žöó”bòªíùà8=7-VßyäLó F½<™|L¹ì6£Á`J(xÏž­‰¬¿Þjf¹Wç̘+&)›ë5’¢ìeAåßš ÷#śר“\–,bhž25½`ì]Ç-½0q¾z{Íù“ý6‹ê<4è´’¡õûºâ6m)Êò  …Ë RÃŹ1Þi7)#ù2R)ŽÝx¤~uZœ‡ û^m‘jêŒ%Y‡Dpòcý‡ŒI3"ÏÑOžM3BoM€:¶4l·½·¥õB—ÑN‘‹|X-bÅx^4#žøX¤E±¬Ãád…¢ñ”h¾T@z{ ó30årØÌ#Ãö{2fY'%Kò¼±Ï_ ˆU9zµf•^ϤfÇKt}dŒ?h•%ÊÅ\y Õ¹÷¬î9s¹öoµ’‚ò¢õä8sÎd„ÃpFW+×@ãÅW¯Œ:)AÆêÊ5¦Æ×Æ_sOªg+Lõôlâ ÄÖ×xuÿÄZw§„ÖeÏãKã»yoIJîÆó)­Ù!ˆx§W†c»1Çë?ö5÷d…¹ë°G°#ù¾]šL”ˆÈáð®‰IÉ-ü`!©sïÕ+qw§Ð[6+päŒÌµÐ9ÐXçÛ4÷ÅáKã ”]×ûm™Jm»1–ï™Îš­]×i¨m¤)EºhìˆÌ›xŠ'™ñgߦ ÅαÃL}…Zql7ô{X­¹;™<¡ìä“¡¸v-îýk‹ŒísASß.êÑÍR¨MRp'6Õeâ/ά¦nD®¹¹@|=„Ü«ƒŸ(<ëømDÎg~гqÐ~%á̇+s–QÄg‹úZuŽT¡¶‡ŠÝ¤ò}Þ2mŽ‘¿&9yõ²FPP–7ö!5g§¯D4Ãð(·{â%›%§ |OóDéÒKæDñ!~ö 3>ýñs 9 ¾Í’X˜0õsZ®-Ð’Ô¥%å—xZ’«¬6(D<—Qsø¼6yý†Ý±”¶õJձ뛷$²,£JY‘1ö&$V%èuåK9Vçê•ÌôÇÌémmgíJ&'e}Ó@H_øÐ[mOÃùdlUù@Þ÷®ƒÇ— iÃÌ^˜‚ÆÇùìùó*ͬ[»šä ppW% g´Èmíê2¾ÙGê3Êít¹u—åíÈ—ÍbY•kRú¯½­IܽBÚqîš±¨´Âwª_¶4_ `&+žP(pZÉôÛX[·ÅâHø<Êî)I¼ïìY—Íé{ï©\†Î#ñ¾ž;CļÅ'b2‡p½ºK¼uóê4mÕ4½ÒjÐ!ŸvØlnŠL0Rù‡Z)h9O $s“wlÍVsÎ åéR[·fÈL«6ÈÅ‚DAc¯–1 Rò…ÖÞ«\yòdêŒ;ÒÌڮÚ¯¨ÊËB½§JíÖ0‰Ë×|j¹/ŽßïvŽÏ ¸6¨(¹Äo-– ¡AÞÕpôv¦Õ–dSûh÷°bL‘T¡‘Q ðzúlÃ]BâCók5Ǽº¡±KJީɹ¡FIy‡'íºô‡M¡OÁ-yyåíý³BªR­$+– >ôËZ$šdôaÛâé+ÿð˜+:º²Î§¶ozbvæÔ 9…<#,ˆ¶Ë¿)¨|ªd¾ÖX&‹mƺj’g¨5Úoö…ç¾£·þêýsïˆqûEýÅ´ÀÒ?VýQ¥ü²]bÐGþr[s6ÂZÕà8 ð€¬9ÏçŽdÊbkÕs‡+Ÿ>TùÌÁâj“"½¬ä‘¼c€wÔÂÜI’Ï`µ VðMä ¿=רŽ3&eH“ׇɟîRÀ>~Ý&KOQËY…Žñ“ÂÐ3,¶žÙÕþžåŒ–q²e®Þïs¥¨uÞ}ª/y‘UÉïîíw¬òrPΘhò޵ŒûJtt­, P/ĉæ7™@F>´pÎzç§i/”'¾&²ý6Þ”``h­ÙÈØÆmšV5NÞãœò†&«)5j-#‰d š<)}±õÆìÊáöXñÜù~ò´1˜r…Œq{•­}Ack,µFØ*Ñ#¹Ý›*j„w?û+ú뻃wwvO9EIp‘o(!)54zÅÙ¯¨wKèñ[—Lí>Œ¼V¶ñuä)Qïð¨;Ã+‹¬‡U™““½ÃM#tF†6²×±ÜΫQjŠvæFnÖƒßGëª+âÒÈÖóÃ$Ê7Žýz­+ˆe…¢ÞZ1v®úƒèö›^~ƺz5°ÛhyùEŒzKßY‘ßP+¢Šú“Џ‹"ïê¨ñÄøî OX43CׯèŒô(ßõ‘P‘Í-–Ý—{¤²Š”ůc4ºp†\oI—&oŒú‰· ŽL©ÍéaË ÒJca‚§¡eZ“aŠxõQd\+n _]›ºö¥È’’H~ɑԧGÎ_s˜ ÒÌ,Í©•äÁàQù•'gg†}œI%“’òØ©¦>W@"¿¬‡»üÚÌÐäáÈÓ£F­N­¶òàþÏ>¹ÿŸØ÷é5û,Ê,kíS¥úÅŸKwl²ú÷þü sc" †B¹éýÕõö‹ùòv~EFåX¶“w 9ÈK¢ ò€E|hòÔìÂ8¢ÄÊe´Œe–æ)mX“¢Û%¨“9:蜥ÕùQÇ-#Û’wïɾPßü‹f^’k *ʬ&r¦~G©þL}Ý/Y–SRîÈ÷p {weœo¸òÏdh£õ@eµ1Zs‘V©2Ú!Z›šYÐßþ›×ûäJma~²%öRb2uÒ*ç;WêþY` )éEÉŠéh5®±Onܵ;ûbÃÕi&ÓÊXczþ£ÖðwHÈôä1àöÉÄ乿x4 ɲ~»>ÁÈÒÊhq î‰su#ä³ £H+.)&ÿÞÀŒÃ͇Òë8o¬®¬@óÆå‹?S¥_syÒ¨±D¿I‹ÆÒ ãØ^cÔv–vÞîM5ÂU>#Y£ù…ÃÑo$6úwÍé2Ù±7Þh›åÙ¤üâã©9LѯÑîòìhø%‹¼•‘·ÓZ=ŠrÒÑîð5n{*J=¤iN_h–º&M­çyûµB<.S'(Ÿú]swr9{ãêè²ï£ÈÒ{".Bå_Ç“ð«°/a®ÖÛø)ŲQo­¨;©¨WdõÚoãèºz=°Ûh%TôÖEì8RyK+îì‡vÄ7TõŠw FûÉ ØVþ4&Wî‘ÑÑ~‰D½ä)µ)WÙs!¹w}÷”o¢…Ÿâdßà Ë7vî£&2~Éhwì«Üaˆö}º8 Êêk¬é\®ÿ§zòàä}»ÓŒäcü¥UåÉFÕ_°ŽQÜ×S˜oÕTT“e=ÖØ¢”½m›/M §É+«Ú›•æÌ¹åt~pöâ$wÃQVóPRœÆTÖžû¡Wv´6[¼Ñ5ÓÔÔtâĉµÎÁq@àÁ`Ù¥PgΜ‰Ï苽…, c¼eRYœ±ð6–«óè- 109í=çD¼îð¨Rï÷‡¸,€Ö)pŸ>®[gt(@`S ®¦ ךfåyUE䥨 <€?qóFý˜¬„È(tä]ùac?€è2 °µo­ë…h!°9IŸHÚ¡ÜÛ(mõáýÕ÷¶ÍÛkí½4·Ç„Ò€À]0ê²=»ç^ü´ ¶¹zM-› „l LÞ× QB€ @€À] ¾K@œ@€ @[C ðÖ¸Nˆ€ @ ª€Õjº;!D Ž4Á@€ @؆q[Kòu6´5Ìsf2]fá‰R|¢K€ @€ °5â–‹‚ORWí-(ÓÍ2ÓkÞw¢„ @€ °Mâ––J‚Od4#£é¹ÿ¶©º@€ @[D n#À’ 8›._m$¹&¡ª"3W·d{‹X#L@€ hll´VWnxµ¨Ø–qK€åÆ}vH2™L Nö]¼:¢Ýa‰[kÛòÚ ïê» IDATS€ @€ °q••12†¦hFnIOJ]ã^qãFU€ @€ Ûˆc¼‡$‰Íâ9àÛº2( @€ @*¯Xð:GþôƒãCS CŠ amè¥Ce€ @€ p;q{*WôõÜè9ç(£6$Z+“ñʵo§»( @€ °½¬V+%¶WŸÐ@ ^ñJ€åÀ~K¼¢F½€ @€ ÛÀ°ìm‚¡8 @€ lM$À[óº!j@€ @¸M$À· †â€ @€ °5oÍ놨!@€æ!@`H€× …b€ @€ °µoíë‡è!@€ @`H€× uÛÅ$ßÈWN7¼í_v¢èý‹wç–(ÿèWO׿æ•n»^œ@€ @w$¯÷‡‚‘‚CWúÎ ¥JÉ{´\ÏÝQˆ1Oò¹úòO'ÿ5;A>WFôu|¾®ó‰Ý'ŸWÒnWûw¯_zÍéåeŠTCÙ‹;öì“ëÛ_þTÿÌÂ{Òe Ÿ¯}þ/¨[;i9£H7}½lÿI KG6êîøÂñëGJ«ïÂLÆ%|ºB™¤¤)>²jCšˆR/vA€ @€EÝE2·Ÿ8ÝÛS7£·îÊNQÉè{;Ò)NýüF]oÒ±·jS ‚ë¦;Î̧´liî'~Y˜¬ž‹¦ÉN’³¥yÏŸ*LbƒŽ³]§¿ÕÚZn­Ê‹g圞ÔQRã5 ––)«R”¡=s ðŠÊ6¦‰Û e!@€ÀV°Z­”¸0±Õû‚ø!x Ä-8;Ç™Ò)©ª¹,ï.óÆÛd½C¼²&19e)ÖX­;¦eä¿(õÑœÜx %ÝØjŸpvö~ïW=ÎÅBró“Ÿyê #gà­Œ’xç«MW<êñI2£)çÅ}U¬p³»å[SÃA‘QY¾¼»âã†,M ­W~:05*È+óÊ¿Sn1F¿zvèØCµO…B:»šŸ˜Ø’ÜŠÿYaIdšˆvA€ @€ÀÝ Ä+æ=Né{;_ŸôeÊìâœ.ZÞywáÇ8›IlýaâÞÿ‘²ÐÄʦñ5 @€ ܵÀ:“ÃÛnG !ƒ›w‹9ÊÐhéFn+SUò¨ñÂ.™fwö±×²¼×†/|ýêÛÁÚ“ŸÓ†ç÷]xøV dòÇOšnvýök.‘<-ìêxçÛd ôâsËróSŸ{údê‚•ÖRòwµý?¼vùÉ&õUUž©QŠþ†®öŸ :Ý-ñÞi¥a¡jk’/ {ËhJZñ ´Œ1.¬¶EklÐÎ7’uA€ @€À2x%À &ƒþ…”O$jaª ô—é9Öéõ‘ ÍóZi oˆVU¥ïúÌèïϹŸÓ¬ž}Ë+2«Ëêê2“ù‚©øØ¾¹J ²$Kî÷ŽfOMö~£áÆ«FëqGë·Uy°j·‚vŒ6®séÜÐ:[±6‘ŸÎgìÒ¬—+ØùnÄ*Žý€ @‘ÖêÊÈýØ@ R ^å²ZS&ãhö%É3iëªS´«' ‘±­µ‡+IN'ê>ítI¢Ç7ú‹®6WbÑN–,S5siÚ6x‰wô¾ãSU¨n%—’$ÞúoÅ€,£ÈýJ¦â¾®ÁÕ—¬öyf;½‚HÉŒM2#’Ö ¬ÒÌÒ"ïz·ff­ÀŽóÎÓýS"ðL¾:Ì—§êÂçG¯³ƒ @€ u Äk˜bTÅå©î–®ßÞh…¶¨4'}ƒßL:h0í©ðâ_\?õC_bµ;R÷¾T”m Í5v¿ßõî/.·Äè•IOý‚žt”,Ï·õþº¼wÎæÖ{€Ã ˜‚ÔÖÁ‹?²å~?Ió£€{ä{uƒ]<%g”»Š+ŸÑ1:.÷±þ–?~½K«ÔŸÈO+_¾RŸö$;øå7šGD¶Œ¬ªˆÙäºêC!@€ @XM€>uêÔñãÇ‹ÐÁ±ÕŠoŽc½~s‚( @€î³@cS ™}£k¦©©éĉ÷94l2–¼÷ÖvæÌ :n²ëƒp @€ @ >H€ããŠZ!@€Õj½'í @`; ÞW}€ @€ 5¯I„€ @€ °o‡«ˆ>@€ @€ÀšH€×$B@€ @ØH€ïÛU”|#_9Ýð¶Y¢oô/Þiü[¢ü£_=]ÿšWºoñ¡a@€ °·B˜ˆØKïDÚÐpD{oçÛ7]üb¥4—W]¾×Ìlh+¤² ôßn^üéÄä(/)äêsÍÿ*«(bõí/ª&@ÑrF‘n(úzÙþ“–¦¤ÙÙ¶ÛN;ÝnJža(øBÑÞO” å;sõåŸOþkv‚|.BÑ×ñùºÎ'vŸ|^œ«ÊÎÓ´\¦Ì0’ªö>®&UElÞéŽ/\¿~¤´ú.Pe\§+”IJšZ²[jiCšˆ; @€ <w‘«­æ#3æ"›¢Hž(‘lrêBólªvÃG›y_×­ÿàFÂÞÿ½¯ BÁøüÓ-n&e¡¶4ïùS…IlÐq¶ëô·Z[Ë­Uižkråª.÷èk5ÉI´÷ÚèåšO{jN~Q·Z_(ŠTõ‰S…Élpútçé¿j5”ÖTæFv†•szNPGIW¯}ùQ™²*EÚ5—¯¨lcš¸pP€ @€À¶ˆSLR7Z6Ÿ½Ñ¢ctÒmLK%£š»šúêët‡þ½¼(m®j¥*éjE4'7HI7¶Ú'D___ËDÒ‘g§C¥t»2×ó›ÿÜ;ðleÚz"ãä¦GÒ2Ü:3áììùÞ¯zœ‹'ÉÍO~æ©'ŒœHš/ñÎW›®þxÔã“dFS΋û ªXáfwË·:§†ƒ"£²|ywÅÇ !yšZ;¯üt`jTWæ•§ÜbŒ~õìб‡jŸ eØBgWóó“£[’[ñ?+,‰ìBë e @€ @ \ n ðb#Agç8•U©å6^°ŸŸá«ó3ç³ßXµóÁé³#Ã~]m.åø¹“ª,HšË~ç7®ÄœÂ´ô ëI€%Ÿßöúà€O»'G_üýŽ®lR4ÿÇÉBSÓc7ÿÙ—ù'³³©àˆG0†æ}˳¾y¤²X)6_¿üBÛäÃ{SLdwÀQGÕ¼ôxÎ;üÂùÎO7ý©:¬Ö€£ªýÉãÕ:ÿÄ>lýaâÞÿ‘²ÐÄʦñ5 @€ ¬%ïXrÛl“JsùÆÏ¦¤À¤(Oææz :~Ñôê_Ûƒ’Ìô'ÖgþLOvñí½¯TõR‚ĦþqY~25lØvÙÜe–UªD—k•¦BUíè“ÉYÝÎä?*ÌOŽ>–-SÏ%× …Rám,ñ³©Ú4íüCÅ´Éh e¼S`Ñ)gü.‘"_J¬þ©S" ImÚ§é¾ì©ð˜Õ?–`"GU‰Kg¿1êô¤™ç›Xë²â8 @xP¬V+%”Þ¢Ÿ€ÀÝ Ä9¼½CþÄ\ƒ&zÊxW±ÓœIÆŠ’S2ÝÇ«þÃSüÈ‹Wü Ù,™5üñS…¦›]¿ýš‡KdhJ”'0ü0/†7Êó>£ÔÒ”}åã¶äÙåÅ]óU%/妮Žw¾M¦@/æÍróSŸ{údê¦ÖRòwµý?¼vùÉ&õUUž©QŠþ†®öŸ :Ý-ñÞi¥a!k’/dädƸ´"—1Æ…Õ¶h­‚ Úùà]ád@€ @´@|àÀŒ­_0ìIÇ!ÿ¥Ãn=ý­ñÑIs®™–©ä ÍE@€ @€À:â•K>{S—7}GÅqãï¿s¢y@€ û'`µZï_ãhØbñZ™Jž¶;} îòµ:’3ʬœ<5^¼Ån„ @€ @`; Ä+¦hÖœ÷Döv²B_ @€ @` `Zò¾x€ @€Ö/€xýV( @€ @[X ð¾x€ @ ±±€Ö)€xP(@€ @[[ ðÖ¾~ˆ€ @€Ö)€xP(@€ @[[ ðÖ¾~ˆ€ @€Ö)·÷S¢cdðÒÍiO+ –ÚÊ´4½Î˜n«˜àx«U~h¯ÅyízgRù‘TyØéÂL×Ùëã“~‰á”I¹EÇ˔ѣgǧý ‰.üpÔQ£[ɨ§c' @€À X­VJ ÜáÉ8 xÀâ•ó³c—z„ëŽ<äî¿Ü6¥ßaÖFO>ï†\ò9\´)[-zÝòTònx²wí>™ÈòÏ ¯”Ç @pwvŒ(kHLÔQƒ]ɨ§c' @€ Ä_ N °p¹Zs†VFRNcj’extÔ›X¨Ž•€ÞIGƒÓ½oÖN{<ëø·nÁï—äï×”WÍVÍOìü>¿ÂiRr Åéôê[£çë{z]"«µìÝSX¬ ´7¶^ôÑï_lR'=TFF‘EïòùfÏè‡ ½}Nâ4•¥û3Õ vËK>²Kw½Á‘›Kµ\u›Ëžß!žý`¢øáÊ|EI¾ö ÍýyÖÇÒä+cÐ1aRÀÑVÀvæÜ˜Î, Û¼þ ¨J+8^eÑFÀ¾þ’w¢Žs @€ lU8%À´\©`<Žq¯!KI¹¦ì6o€ HÔ†&ÀrSîÓ¥´^ê’*+н§»tÇv[TaBn0'óµë'&,þíõõbaõg³ÎÞÖÓCæCÙ%; FìƒIûwT,RËTËvf>¬”Š«?“©"s»ß½ÜÑ¢ßQm˜K@W”ô_s_É:tô`2'c‚Qnh1$.¦À{]d[*JðÎŒ*v>u\Ï‘`Îu·Ì˜ö-³¬‘õ—ŒvA€ @ئQÇ7 ¯ò„ÔšäàµË×~s®­nŠÖr¡¡àßxï$¯4*¨€ËÇÔáó—I[´"ñÐᲬwk–­/u÷Ž¾Æ«Æýdhyàï#¡í§M•äÉÆ·6Fe¬ÜU[îw¶_k{»NY˜kJˆÃB²³-šY|ˆ™¦$ò·6aâÆ•ßµ9yJžY»ëÉ4‚«ä’ þ@€¶‡@cc£µºr{ô½€â-·8,pŸÃî`5e¼ 4—cÝ•:ÞñöhÒc;Ôýu®’Š…9Éf2…®¤,½ëÜôL0C#çÔÆŒ‡ʵ„?u»ÖÂ2Ž“ó>2æ:7ëYôz¹Š‘ãÎ56ôK’Ui>Y•?ú—,j ·ÂŽÑV¬ñfr“T¾ë‹å·Î8oý ÿ€ @€–VKâîÒI åzd•f[C‡ËeIO8ï²ê…Ó%Ÿ+Àj¬à›È–¾Zª:è´Û}~AÿÄð¤K©Ó³gLÊ'šÜä‘dJä³ÞÐÌh«¤S®¹ôtq Û:Kš¼>ì JRÀ>~Ý&KO¹µ)VrY ä«Ð1þq2:KQ»­gV ÿˆív×h+,@ü€ @€Ö/·`Ñ×ÝÜÙlerUV~ÁÎT.©¶èv êdŽ:giu~D‚-x§ê†'¼‚(cµ É{j3ͤ cܵ;ûbÃÕiŠ4kLÏÔªR°º²Í—/þL•rüHqæüÃÄËwîÞ“}¡¾ùͼ$×T”YMaí…•<¶×¸LŸÕï(ÕŸ©¯û%ËrjCj¢ÂMˣŰø¸°Ü¥­µÆ¨×ÉQ€ @€Àƒ)@Ÿ:uêøñã‹§ƒc› ×oþ ! @€À=hlj!Ïßèšijj:qâÄ=hM@[H€e—}Ïœ9‡qÙ-„P!@€¶¸€ÕjÝâ=@ø€À½@|ï¬Ñ @€ ÜG$À÷MC€ @€À½@|ï¬Ñ @€ ÜG$À÷MC€ @€À½@|ï¬Ñ @€À† 466nx¨Ø®H€·ë•E¿ @€ @`™ÀÒ;‘îFtŽ ~ØîNÙYRm\HªމË×GF}§K¬­ÊÈPÒw×DÄÙúö—?Õoç)Z&cMªä§ò}-Ť]hFšm{±­á´Óí¦ä†‚/íý¤Aɬ¬e•JæÍ(ZÎ(Ò E_/Û[íx÷-W[[>W‘cêÜómüÝýð#\xç"OÜRÿsõåŸOþkv‚|.Ñ×ñùºÎ'vŸ|^É7u¾ò©ý÷öœxN5ç{«é•—SŸû‡ÕÊxñ5 @€ Ü™ÀF$ÀRp¬»·ÁF«Ã³@ÞÙÒjã J?žÄÚû»?j›2î4ßÊMï,Ôhg±¥yŸ8U˜¬¼½3­/ÞøÝ—‚Ïü4ˤ¤(ŸëÚŸ\¹ªË=úZMrí½6zù…æÓžš“_ÔEö8f%E=ª0‰ :ÎvþVkû/wZŸ8óÿM–þM²†‘œg†Ò³Ÿ<¼,ûsʼn­åÖ¢hñ/î“i¤‘uõªÈ³lôç«¶‹ƒ€ @€ ™Msº¤ƒÖô$v)wã]v›,¡Ð¬`h&1ÍbôÌŒû¤¸©2ŒªÀlý›ŠüѾ†¤ßž–‰¤#ž)g¬nWæáï¦øþµw`2v•,†Ksrã”tcÀ>A[>k¹Þ×Þ!PΙæôf|>Å™Rß:3ìDqõÎ3ÅÕöKÿgÊ·¬ »óÝÿòÝŸ~iñ¿¿~õõQ~õšp€ @€¢ ÄNÞ¢º“fMÉFJð RKÙeÐçr&õüŒc†Ó³A;IíT3£Vx‡;úÜZÙ‡—ÝÁÇG£“ª,H2.ÕÄ•˜S˜ö‘^!ϼjŸ—*á–NæƒÓgG†ýºÚ\†N2×<×ÿö?Ø2ö gç<¹w~BsŒÃN¤®Å(3¿[d³þSí³ õƃ{#Ôýþ GW=!@€À-`µZ)1ð@ ó€ÀºVM×]KDAI$òdîÂø2-ciÉ»ÆhD·¿CÆ™a\()hØvÙð6Ë*U¢Ë{x¡½ÅJ(2žÍ·÷¾RÕK S˜~øÇeùÉd“øG9IÏ·žþHQð£¤(3ªçê‰<Ñ¿j$I’¥¥ìûòèë?*ý§ͪ…q€ @€n_ N 0Í04%Š 9¯$ò½<½ýH×q†èŸX3iˆ–'0ü0¿,åæyŸQ®ýòb%¡ñl¶$÷ã§ M7»~û5—HúÚh³¹úÿR]Ȩ¬ŽÉýÄ} ,{à—6VþìW’ ów°R[õ÷5ì‹mgïp¹(.ÓXðÅ'>ý‰Ý˜•„a0©;¬ƒdËý~Ò»z×G~âþ— /þÅõS?ô)V»#uïKEÙ¦ˆtš–§ýYQÞ{M7ãÿÌôúz€R€ @`3 466Z«+7s„ˆmCF&ì~tÁ1ecdTnFrYiirJ*+W¬^¹V«IM²”æ“b‚ MÍØoöô Úí3g/Ö74_Û¿ËšWŒÑàÕ·ÓQúÔ©SÇ_ìÛüÝ3èõ›?HD@€ p›ZH|£k¦©©éĉ÷ E4q‚¼ôa}SWG YX·´0wçN«R­½ËÆlŽêëlcÃdᢂìÔC° Õ]Ö‰Ó7§™°Ø™3gâ6¼9{ï}¯õõïN/­“oH<ô³Ò¬°·%ÝAØñ¨óÂÀ)€ @Øv³îàéwßqLŽ%'ê>ü.Á¼!]L±ž}âÑ›ý£/ž'ÿ;9ýêÇÓ7¤rT²™°XõHÙólðõˆG"ªƒ @€ÀÖ°;¯¿ý¦ovº¢(kヌhfc“©0;%#åãgÎì}íô';¡M°l=&D|;ñx0÷vÚGY@€ @n¯ðæ»g|³S5åùûö?¼ÑÙïB{*…쉇Ê),›õoœyËï´G‚ÛJ 𶺜è  @xЬVëƒÖå¡¿¢HŸ¯otMO”dÖXP²8¦-äÑGöíÎÊ/u¸‚\xŸøAøícï¤Ö‡ @€îF kpb »-ѨܳëÅ0wSÕzÎ%9ðC{wk,£S#Ýë9e¶¨à-zá6 @€¶§@€§ë¯Ô±´pxÏ^F©¾7T)è½»ö‹´¼¥í-÷¦Q´rïß{s´@€ ÄèwÙm9KjvÌBq8šhIͱÙÓãq¨Un J€EçXÿ›ï·6ÙŰnEݹ)º @€ M(@žþmïê`)¡ª´BŠç£¿‘}gòžáÒ€(ëéí¢#c϶؈X Žuu}ÐPpa÷IÔÛ‚ € @Ø<›'Dr÷¿0iÕi8“9åîk»ÝÒ’å Õàè˜Äo÷\”ß‘S4§K:hMObÃ?(‰ºsK˜ H@€ @àþLÙ¼ÏkNгœÒëß~ÿììÔD\C‘$úÆÍÁWÿªßeW+åqfÖðyâÚ(*¿_‘Ó¬)Ùhd(‰üßâuçýê%Ú… @€¶‚À¬ËEIBb‚I¢éžÁ±Þž¾–ëW6"i‰ÙyI¢ºúúl“ÓƒýÝ,Ck´zA¤|^WÌp`+ Äõ^ÚÊ0ˆ€ @¸?¢V­‘(ÙÈø¨Œs2³Ã×Úðˆd2)'+‡¢h @f´ªJA”À†7„ 7ƒàÍp @€ `ÈRT$¥CW2 KÑKÞÒçM.—ßšË*±lèßƶoÇ«Š>A€ FÀjµ>0}} :ªR(h𙀠:½(Ñ£ãcq^“™ž˜´‘æTJ%²Þm“!Þö—„ @€À–%À2vÖå$‰J‚Á@Ñ ÉN%Aˆ_HÝ“S,M'ÉØ³ †Úš‚Ž_£¨ù~ ¾_òh€ @X) Õ(97mw¤7Á “±òi‡K úW–Û¸¯¼ätÌÈÙÐòW¤V×Mr¤ÐìklÛQ`ã®+£®Ü]º’(êΕ…ð5 @€ €BÎh4úéÙ‰`À«UéÕZƒwvÜ9;cPªãdŸuý>½VÁ©ÔA’ Ï:X–V©âÕ\œzj×)€àuB¡ @€ w2k¶${|üô䘜¥È¿ƒ‚8ÏWOÎØ%!hÔiÉÔëi‡ÛiŸÒi”J.î]E÷C ðýPG›€ @$ÐØØ¸A5¡šM" fgd ÓÙ}“–„ÌÔt‰bföXë` ‚Àóüê‹6“2±û&³‘E¶¤Dc%c[oÞ”„@VjªŒåbŸ‚#[X`ã¦@oa„@€ lŒäD…Fß?2±Ëåà8.|efAÆl“=½}“¶‰Yçl0Eò’`É U;t015kEÆ&ïœ}Çë´Ëd2'×iµ¦}nvNjZ³âÒn‡$À–Dó”ÃÛÓݦ”S¥Ååq}óðf~ ã@ü@^vt€ @›U@¥`rr ;¯7´µ·èRÊñ9Þ{ÿ=Ó8ípù/Ô}ôô“©+_<ÊóôùË—æË ¢èñùÉã“Sm7{8–©,ɯ©ÙC³t‚!arˆ’+´ç._üžÒ ÑÑvlLÞ&Ý€ @€Àv«ËJä*í›ÝÞÙ2À«àgð­wÞŽ–ý.tzÖåá¾po€ŸµOE3¡¼Øx½óܹ3”ÀQ’}p¹qb¨×¨åjköR2dIÑØ¶Å>\ÚmqÑ @€ l#ƒV¾sç.·Ÿª«¿ÈP’^§³ÙŸg•.² yuÑÒð/))aßÐéXÝ;4ê™Òk´-#ËéȾýœ&ô2$lÛU ðv½²è @x ¬VëÑϯ“•…9iÙ…¼(Ð4¥Vkz­lµwóJÙé) § wÒkI)«Èqr–Sª5jͰ -=¼oWRfÞ*åqhlÔ3À¢slðÃvwÊÎ’jã\R-ø‡{›‡œ.žât¦êÊÌu\’mÁ1ðV«üÐ^‹óÚõΤò#©áŸú3ý]g¯Oú%òÍ”[t¼,A}ý8qv|ÚŸháÂGÝõ¢¯¿dÔÓ±€ @¢YŸ™¦i²BUdçY–:²oï¯mc’Ï¡T¨”Z…>Áì°D–${ä U^R±b´W&­U;ßé—>ÚYRŠ9A®Pk(Š‘Ë9Y ##;Z1ŠD·Û%£)ƒÃQ…¶ÒÎH€¥àXwoƒV‡ebÀ3)wïÉ5)ÄÉžîËíÓæj³6zòy7^äÛÁE›²ÕR ×-O5,ëŽàúà†'{×,ïñÌðJy¬wgLj²†$ÀaÁDÝ5Øõ—Œz:vB€ @àð¤ß¿õ–ƒ¼‚ˆó³Rî?,W‘TtÙ&£e‚(Èe§T±Œ”ŸWxÅ6J Ž ’ ²S ‰)‘Ò,†ôì‚¡žöˆS(FF•—I2'§U*mŒÜ‘ÙQïðä¹sgý^Y)zgiÞ®=‡ñ„p$æÚy‰ï xšÓ%Ì↚‚·Î–©vÍÁ$šµÜ¤Ï'RZæ*yJpº÷ͺÑiòl;ëø·nÁï—äï×”WÍVÍ‚$ø}~…!Ó¤ä2 ­Wߪ)è=_ßÓëY­eïžÂbM ½±õê¤~ÿb“:ùè¡‚42Š,z—ïÌ7{F?lèís §)¨,ÝŸ©^°[^ò‘]ºë ŽÜ\ªåú¨Û\öüñìÅWæ+È·ª¯ýBsžõ±4ùÊtá4RÀÑVÀvæÜ˜Î, Û¼þ ¨J+8^eÑFù¤Œ¢üoÓ›©áIRRÒe«HTÇÊücêâ @€â(Ð7l›™ã/R7ûG®?<ñè“ìòØã Á NIÆgÉÓTqnöõ뺀{vEX:»Ëº—¤²‘áÊdÒ>«õ·£CA¯kùQ)#9!9-‡ì$³ŸUjßAñÁÅlf¡l÷ í½³oÑB Ùl™´;nÜì)-*Õ&&G6„=[E`#`š5%)Á3åÃâ yg=‚Ú¢‰rCÞ•’Ü”ûôc)­—º¤ÊŠ¢@ïé.ݱÝUX•rƒ9™ïø¨]¸81aqð7h¯¯ «?›¥pö¶žn2Ê.ÙY0bLÚ¿£bqZ¦Z¶30óaÝ T\ý™L•èy÷rG‹~Gµa®K+JúƯ¹Ç¯Œd:z0™“1Á‰(ŒCâb °×E¶¥¢į̈bçSÇõ æ\wËŒißÒ9Ë}Ž õÎgŽëXÿô…s7/%êN[6·;JHØ@€ {' ¡%awUqN±õ½  öÔ5\ØàXøøªËã•A¥PвÐßÊ:5c­ÞóÑÅ÷(QXŒ”c©‡ìWêæ÷ئg¿sxÊeQKYy%dg‚ŽÛ¿÷Yð9l"´¤WËí;L‘iÖEž1&«L‹¢ä—%À¼@×75R| ¦¢ ¦öð{—›o¶5LLŒ ¾w·IZÚè¬4"DÁ=Õ4DåçTñ„体¼Ò¨ .cP‡Ï_ÝÊŠÄC‡Ëò¼}¯½yéwWFÆý¡9A»mˆJ¬HW³4“žbòÍŒz#çJ¬ìF€I@Δhe~iFº*ô(}ÔN¯C̶Xm^º6ÔGN“¬dH=ÖÆjrÓ4d›VKÒYÛ¨kågY±NÄ~@€ °Õ·ZȈ—ÐN×,™Tœh2kÔÜÃÊ5úöá¾p /H’¨àä½¶TfîÚ}P6·Ú3ùKÛ’ }æñÇR² æÏêèûík¿ko½Ö?0ôîù&{æ÷ç¦>|Œ¬w5w–”j1>uâ µ1qþ¨$Qþ€?ôoò¯°mh|Ê9cKOÒ×Ôì£dTzjºD1d±è¨ᇟˆofŽÝ?Ñ7Su\žWX}¶nì3×>èk¼zaÜï PïØx™m?5h:p¨$'4?bacTÆÊ]µå~gûµ¶·ëÄ“2TA¿gvæ­·ÆC7®$ñ”&YX; «Q,|ßÉ”*†÷’É16FaTÆøda®)!z ßJ1Û¢™Å‡˜É÷mØp»0qãÊïÚœ<%ϬÝEÞþMÑ ÇÌ×FË o–>"‹2vC€ @àž ð¼ðûä¬L¯7’F5J633¯»ýêņº§“Ód·sN4êX9çð”Dþô Ó´T]–WQ”øYF¦P,-û<=¸ðÑ’°0ô¨óu—žMJ•)È$Q‰äÀùYÏû}^–eÂÏ"uyÉãvÊd4ikQ`lÒùÁ¹÷XŠßS³‹šË·õZ5Y†š¤Êäïìµó‡{F‰†nS Ž °ä·76ˆ9{R¸éàm»¬8—cÝ•:ÞñöhÒc;Ôýu®’Š…9ɵʺ’²ô®sÓ3Á œS3~(×þÔm âœå;d'çC1ÏÍz½^A®bWëTØÐ/IV>K’?úf‘EáV‹1ÚŠ5ÞLNc’Êw}±üÖùþYJ z‚¤!ò½)úOøðì´Ã;Ôß•UT9_‚$̬få:[äДƒ´l7ª8Î@¾ òâÕÖ›MMu$—.ÊN2§dΧ»‰F­FŸÐ38‘7Ð’•¿Jqh3 ¬–ÄÝMÜ’ßq¥yØŸ™W›,—DQ%qã?'‘|®«U°‚o: OXXúj)ê Ó>l÷ùIüÓ.¥NÏRœ1)CœhpH<"ïœõ†fFËX%˜rÍ¥§‹[ØÎÐYÒäõa’WJûøu›,=åÖ"X¤|XÉ•½d:Æ?NFg)*`·õ̆Æb£Çp«Ý5Ú 0Ö¿ywg÷”S”‰YHJ M‡Æ@€ M @_íèm½~EF‹Åyù2ùÂìM…\öä#•TÔxƒÒ…†æ=õïu—Î wZZ¦Ÿ§>¬ûHøV >”†GVLN–(ºw°Ÿ^>±yE%ä5L W›(!™š$1Š–ŽÞS¯üæJÃEJàS- »k÷/®­Å±RíÎ]ž õæÙsQ—•^%<Ú<q–\ã=oÐqc u®³´²¨¶´6acG"E·KP'stÐ9K«ó#ê¼Sõ Ã^A”±Ú„ä=µ™fR†1îÚ}±áê¿4Eš5¦ç?jU)X]YæË¦J9~¤8s~îÃò»÷d_¨oþE3/É5eVSX{a%í ÍâXÚXýŽRý™úº_²,§6¤&*Üä˜uêÔñãÇãƒc›5Ô¥¸ z¼:öUòO¼yv4â¸,;»] @÷E@ÆQbàF×LSSÓ‰'îKhtÝÌëgÏö¶=¼·¦ ¬z•³FmöúÆÆñÑÁ[†Ê’G “ÊJŠÈ°°F·,#°Ù}¯þþ²b3y>·(;uÚÏMŽ S´*ú?<÷Gtè1à¥mfÖs¹ñÊ`7™©¾Ÿ¼8?;½¶ºVk4ÅŠ 5ÿáÝ÷m#½µåyÖ=GVNÿŒuöß?vn­ïùíÌ™3q¾ýCË€ @€À¦E1 22YgfzR£Õ“—ñO²\Mi4ÚŨÉBÍOŸ8jwz¯^¿1Ðßëó¸É°dJóø”}üBMÕåf˜>rœ¹µ\©“¦èùtTÁqŒ°æsHå‹S-y^ºÔÔÒÞzU–­°CRß‚œôښݚ¹E¹Â7—ÛCè$õ“a˜@P4ê ¶Úç÷a5¬My—­à5€p€ @Ø™LÊËÉ»<Üw¡á*Eþ ÛH2i2j+JKòó ÉòWóGŒ:ÕCûjÅ=µ7û†?º|!àuËhšä¡$gî²Iï½uìØã4z|Q§VÜÕ5=–“–¸{Ïg@öÚ›3^ç´^£žg)Coß>wa¤¿‹Œs,©„¬R$’Qå¬4Ëþ=ût æðxÈRX=ý×o´8f¦#W}&/g).,‹ùR˜ ÁB%ñ`>ñ‰Oäç/-bF‹‘SçãÓò]ÔªT„½éè.êÙž§²šÂ‚³|ÅÛ³¯è @ /€¤$Á6í+(Xx,X6­@R‚A¥5z=2d«V©´deeÎh0È9åÔŒ£høFk«kv:Á`P(æ-“÷«˜ôYY]ý}"ïÍÍÊs{ɺ:²éYt¥§g“U¤É®…,-z:B†…•“••ëtÍصG9·¶³(Òï×]éï¾ÁÐd“Šò mv‡JN?|Àºk?§ZZSš<|ùÊÕ÷?ø ¿¯;àó’I×&S¢J¥Rp †e4*Eanæ#=dHLÞ´È,\€ Ý/~ÙÓÓƒ`Ü€ @€À= ÉHyQù/²½ñIGý•+c#­7ûÛ»úS-¦Úšê¤” 2æK › ŠªªÚ†Kï4ò)­æ€uïÛçÏ·÷ôUVTsÚPŠ›bÖ¥zx±Úâñc.~9=ëëíjã2r[Þ?Ô¡PE!P^’—™[´øï˜ÍÞÐÔ4:< I¢œ¡Ë ³«*ªôËG†#ÃÆž­%€xk]/D @€ °L ±±ÑZ½ð¢WÐlid³á䣓ç~š¯öõÜž˜9ýn‚^]³£*7¯fØô”ä–s{ìfKfÐ3™WPÚÕZç÷yæàUúNžµMŠ| 3Ýì ðÙ©)6ç,CKé©é¡W£ŠÔàèD]cÃÌäùJ«Rì¬(+,*‘/_:k•úqh ÞB ¡B€ @`› ç~Ú몭ij¹q³£mzÖóÎù4 Wª+JS3KFîö¸‹ó2ûzs‹öu´6^ºrÍl5 dµF«›.&F^_`|Â66>>i³Í8ì2IàXº ¯ø\sKñŽŠ¶òæa½ÁrãfßÕ«MîYyÐ79Q_[]–žM3oXÝæêP÷?@]… @€À–Ъ¸C»«wWW‘W·´4“‡~?¬o–_¹NVöøØD½¦yÖSH‰"-³Ð6ÞåôËμ.|šw–•õì*ÉïS>d­9ÛÐ ãtï1$X<žkOÿêõÓþЋ©ÌTó.«Õœ”†×m‰Ûãn‚ܨXtŽ ~ØîNÙYRm ÍÑ—®ÎΡ›×+Pœ6¡ª"+_»ôðñÝD¼tn ¾ýåOõÛyŠ|ÎÚTÉOåúZŠI»pßK³³m/¶5œvºÝ”<ÃPð…¢½Ÿ4(#>˹U MËeÊ cÑ×Ëö>®fçê6uþúÿž.ú·ÝÖ’…Ðç Ï(ZÎ(Ò ¤ðþ“šX…Éé¯|jDÿ½='žSÍŸï{«é•—SŸû‡ò<ôð$_׿òÁ«.ÞœPów5;ø›«tp%¢×Óó·u¿™¶O ´Viùxé‰oXäM¯~Göп&Ï?Öïs6|ºÅýõÝícû2W,áóµÏÿeBh ½hõ°WÚ_ýsäÔ\=çÕ/]íÝUùÄŸ8,µµò2àk@€ PÈ™šŠ¢Ê’‚Žž«ÍW<®YòV#AÉ~ž’{ݳ¤!NÎéÔJ…Ñôìñ#­£öò4ƒ- ’œ$MNQÓýÓ³–DÓ¨;àúA½š£Y¥@^ˆDÖ€x³Ó,{jwÍ¡­ýnÔ…ÛÌõlD,Ǻ{l4¹—»* ¼¨O=R¬×³Âd_÷…6›ÙšlØè˜bKó>A²2…àíi}ñÆï¾|æ§Y&²lºÏuíO®\Õå}­&9‰ö^½üBóiOÍÉ/ê"{¼P œ>Ýyú¯Z ¥5•¹$R~òͦHê}ÙQù͹Ìpn#…Ÿ?U˜Äg»N«µµÜZ•³°L#ü¨«ïPEžey¦;¼‚ïT¹z›m_Ú¹«š ÔÇîàŠ›Š÷¶ÿ?õÇ“ýÓÁœ<&8ìšvª µúÒìliî'~y+7&«á‘:cÔ#,6Çûº^¸z#¹è™/!û]q ð% @€@<䬬¢(§¬ §³oøüù³$QešáÔû´ÏO]ª¿`PËÕ:17-ôªà°,žÅ°ÜΞÛ´mh@ýŽÙY“^KÉÈÊá’F){üè1SrzÒ+䙣"ùü¶×|Ú=9¡yÒÞúÑqKrõþDù/š;ƒéGäËÚæƒÓgG†ýºÚÜU ‹lÖ*°}¶³¡ÞxpÏb»ÂjáíˆÝÇ¥r‹#Òs¥ÇGqG~ú\ö{Ûêõˆ³¯µ6¼­?ô¡1vJStôû/½‹Öp* @€Ö˜™õ\¹z­·ç¦(ð¤´Û+y\Žê҂ѱa¿†$½f£–3æ”e›»lž‹zÒ¯`|cÎbæ¼vQ“¨sy.ÇëÕÈÅܼâÎÑI‰z)éísÕu ¥yåUJµÅ˜à IDATvíPPbë DO7¤_‚sìlãˆ- qÆ”}…Úå)Û†´°²gb„q|ž´ l»lÀ™e•*ÑåŠ2³Ÿoï}eGŸLÎêv&ïüQa>I#Eÿðïœúê”\Ö3ªë¿öNVÏU*\ÕK S˜~øÇe«–$I––²ïË£¯ÿp¨ôŸr4 ß^xa½\ìàŠžKiµÈ#p:û~¿opa˜W”?Wrël¾­çåÒž¹¯äy/|âqÙjõôŸÿ%ZR¥»Ì²WÄŽ/!@€ E€ŒÒŽLL74]™"V“¿í+K ¦ÜvÛðàP_q¥åä#]mëüàü»& §tQš4#ÃÈTJ…R¦’x&HÓ£¼µDVxÛlIîÇç—wºµW›ê¸à<{áÿ’¤¼BP! Ž'§†2¿ù¦›]¿ýš‡KdÈ®U ÏÕGž+®üCÓÅW’!O‡ê¸½ðÂB]ì`xø·*ZÞß[E˜¼Ì?+X\ëÊçÛü·Í?ϼp(´S¹Å¨‡6™ÿáÌ2œ–åæŸ fÉF-&À«Õ#Ó©t‰Ë· þ¨ýâýÑÚâc?øfDØ@€ u ŒMÚ¯¶\›´MPBÀ@^Ëk6ÉäÚÖŽ6¿×Mê :§ZŒöì5%¥ÎU)æævw´LÙ½}=í¹Å¡‡†ÎJK&ÿÍ·éÈWóë»ÊdäiáeCpAžªk¬£„ y'°ÉœÄÉeU%ùEùƒc¶¦æfÛø°mÆ9?/º¼¸Q‡ŽµB^˜—]PP¨˜K¡±mi8e¤ä-H®)ùì†ä¥¼}bz’R™ÂWÚ`3žw]9ÿÅë9Öý¡{\¹/§2iâì7FGx‘\MCç¿9ªøtnVd~JÀÓ÷¿åc‰zJõªÌ霿·9Wø"§0ŠÜ¯d*Þéëêr­]8´vtÆî‡=W^"oP m·^DWD­ÜŸS™jûàë½Ý>(Æ\¶žàZ+`‘:$²úûÂs#¹kÖCftüïÆ±Û»F£L&_¾„ @ñhllŒ#h!.-C¿íwý½Ýn—ÓíõŒO\½ÑÞÔÜ@²_2l”‘œøì“>ýÔ³·²_J¨‰É‰ÐòU}±±Ù5c‹ KÁq ùŸÐ¶"ûEú|Ý•©±!r'—‡Rå¹,M^†ô±'Žâ¹çó‹JÉÂÑ_°þjë¥Ë‡‡].×ÄÔÌ…úæS/ÿz´ÿfd‹Ø³µâ5LÖ¿ÚÖ5é#7§L©5–We¤Åã!`òë¯Ë{h2È™¤IûXù³_I2ÌÆ£ÔVý} ûbÛ™Ç;Èbq\¦±à‹;O|2Ê;"/—Ð5ÞeÓ×V/~XD«w¥XþWoowFEXi¦ u‡uðÜWo°~ý¡h…+ë¦åiV”÷^ÓÍù¬4Vxä%CÙr媇ÿæÕúÿ·š|¤³ƒ+âVjwþ~¯íì³Ýn§ÄÕ9_¯>–·Æ”s¾­÷×å½s5ÝzðÚõКG‹ž«;÷푤¿KÿÊf‘×{ @€¶…ÀÿÏÞ}ÀÇqÝ÷¢Ÿ¶½/ú.z—I±ˆDY¶%Ùrâ—w“ëäåÅγŸç&7÷%¹~¶“—øúææã$.qU,Ó¦mu‰$ÄÞ °€$z}ÛÛÌ;‹EY,• #~$`æ”ÿùÎ,?úï93Ã6··×úf’$ ËiçY‘WàÉ E…JŽ srÒ¥wÀzñÊeëP?YMö;ÜüU§^xöˆB¿ Ÿ_¸pýVKC]¨I›ËüÝIqÛ·mÓ'„¦—)Fqh÷×¶­š:Úš8†!Ë'É¢h±"ŽLS»¶ÚûwRŒYYS‰mÍ ÐÇŽ«¨¨˜ŒŸö™WÿX4ê¨ï Zý#B@€  T×Ü3••Ö5ÔÔÔTVVƸu4·ŒôÕ;õ÷ª/oÌOÛùÌAÌÃβYmî«ÕÕ­äQX"–ÎÏNKνxå¼ðKEÌ®í¦ìœ"šãNGºËF1s\Ø@€ ð %yÙ õu÷:êÌÎÈí¼£·»|7kj›‘ ‘ÔwC^ÎÆMe2…ŠÜìö_½zÎíóŸ¹tóVíýœ¬Ìì¬VK^ÿjÄ댌X»{ûêëíVËØ¼± ’‹ž;tX›’“ŸÛ7h½yû¶¹§£»oø7ï}˜›aؾm‡L¥‰ˆd¿]¾ÞÞü@%ã¶–í@ö»Ö¯P̯õ3ˆø!@€ÀS-€à5}úÛz†«>ú€ò{È3™‹6n›\ðLV,_½]Ûø¨.à÷‘Ô·8?{Óæ-Ï ±_¼re°¯gr¡4™™%oB"·þ¼ßï f i¤ '}ÛÖ"ièé°ãl#VÇ­Ú»m- äÉ8äÉXÏl-Ë/, Þ<¶e¿×Ú›JDTåþ½IiÙkZûé >b˜}å•Wrrr&-hÞ¾ú]¤ÉêB€ ¬€€Á˜Fî#v›ÍæÜÜÜè]ÄP@«’©µÉmí}ù™éœ$ôÞæÒ­{îߦ…@y§çኌœ|NùH!…L\”Ÿ“‘™Msb?yá¯ÏÇŸ%‰y>øä’K861^¿¥´xÏîÝY9“óÓCIÅ9™i¹¹…._`xd¤­³Û9:‘–Ê-vïµk—bêÈ}I©Y18šZ1&lu}KKËS¶zŘÑ @€ °¼Œ¤þ’­uµ—‡û j=©ÑÒ5Xÿ V!aíÙ’>5Wµ±xzwùŠÚBnè%v&©/É‚II’öˆ8’ðF¦ÍQѨ¤‡÷ìhËɯªzÿQKW†áaz~ð‘¶äáÔdõunŽ1Ù˜¹€W¬Dm;W—À¬÷š¯®0  @€ °>™LF–+[m2gkµû.^9ÇÞ}Û·Í›ý†{wÿ’…¢r™L1¶‘6˜ýN6’‘—“_*Pì­û÷n'Ùß78@ÖȤR¼tÝ\zH€×Í©Ä@ @€ °&4JE³Ýæ>‡Ã{ât•ÇnÉNMLË*XáÁд°sË&u\â ÅýaÕ‡.»£½£•¡„8]à>Ë×àå³EË€ @€Àü‰q‘TÑÚ=|ì׿´™ã4²=»öÏ|(ôü =v ™„>rðT¥ë°þâ׿±ôu+e¢Ä$ãc7ŒV‹@¬`Þfnÿð܃KäÚø€½ïôÙ»—ü«eĈ€ @` TWW¯£Ñ<¥CQÉÙíÛv’'`ÑŸŸi|ñùErò®£'³éT’?ÿBJjyã‘R.Ú÷ÌN‘BýdBA¯Ë ‹‡` >ssë­Z.žñJhÞÝÒ4ìãé2„Ž&!@€ õ!Pœ›ZœûÚ*‹Z!~ñÙ«$„[˜ÌÓbUân“1‘‹H€…Ñî®VqB–bFbÛA 5@€ @€À|±H€iNŸ¤Õ²”@þ Ûxç`m¯¸$W-Aþ;ßiÀq@€ @XnX$ÀQcä=­ CÒ¬”Òߨ@Ø @€ @+*°L °`ëéj•¤lŒGú»¢§A€ §MÀd2=mCÆx!% Äâ!X3;çÝÝ£CÛûæàªhÞà‡ëN¦çÊS,O3#À@€ @€À4åIHiic^¨#ÁÛv·ÙlÈÛ‘(^žÎpF!@€ @ó ,SNJ³ˆz8C3+bq3ðüç% @€ @`™b—³òÒò¢(QҢ̲âÌ(° € @€ °rËô¬•z‚ @xšª««Ÿæácì€À¢/Š …!@€ @`­ ^«gqC€ @€À¢/Š …!@€ @`­ ^«gqC€ @€À¢/Š …!@€V—€ÉdZ]!@` ^Å'¡A€ @€@ìb•ó6sû‡çÔXøñØwÃÍš7NÝûsû݇6_ì‚o)`íøàj¯Mð÷Ü©=×;Õ ö‡”à‡ðÏÅò| Ñ* @€Ö†@,`Ágnj:ßꕈé©Aó· ߸£ìµ Óke/ªDË"¸­vZ¯– ÞA‡(EÃMt‚ý! 8À!üs±,B4 @€ µ"@;v¬¢¢b2\Úg^t肸ßÎèÄ]µ¾üü2íXRí½q«?asn–tÑíÍ[A£V“2¾áÖoô»¼~N"e ’HRŠK÷ªÌ'±¸¦.eÈbñu×¼ŸN€ ¬¸#¦xo]ÓHMMMeeåŠw!U-Àq“³¤TUUU,àÐxÎ{Õíþü‚ñØg¹|µµO`ø€ Rè6–¤e)bö¿ß¡8Ø­àzp­I(-É÷¶žhR.O…‚Á~8àz˜ù¹XÕ5!8@€Àªkî™ÊJ‘/‘Õ °Þ"à˜%¥‘n"íÎ]›^Ú»éå}ÅÏ$yïÞéðG‰Áï~× _ª•P^»›ÕÈÅ“-bˆpÿ\Äà#‡& @€ °†–m8ÜÄg½z½Wµ)¿D›|{lØÛV}çrŸÇ奤Æï& ¡Å2™~מlê>öÃ×CÄç¢0S²†ÿžBè€ 90<A+µ:\Úk¹|£/®,¿Pö”¬Ç8“K =}õ§zl’·ß¨·–”iÆlìéÂáŸ‹ÇøÌ¡* @`õ ^½ç‘A`¬Ðè€ËÖkõxÉK‘x__WÿD“,‹Möf(¸í^N)áîa¯H7õˆì!Á់Uð×B€ @€ÀˆÍšä(CàÝ-uÞ<}û—gÜ–›J“B‡ŽRré»x‡= WŠiŸ{”–+ÙɆ°?D8„.–þICM@€Àj0™L«9<Ĭ*ØÝ¼‚Úz ô vŠ® @€V£^ƒ´Ï b‚ÀjX¡%Ыe¸ˆ€ @€ 0&°lK á @€ @XMH€WÓÙ@,€ @€ °lH€— C€ ,¿@uuõòw‚ u"€xœH € @€æ@<·ŽB€ @€À:@¼NN$†@€ @s ps^ðQÞfî¼ôÈ‘¼¹°L;‘T ¾þŽ®ÛíV›’%g?[¬/¸¹… X;N>íÙ‘`»{¿!±xŠhz]Þ9Ø{ý^G›Å㥉Tž^P´7[Áù-—O×Þµñ¡Â¬*íÅCy)Ôèõ³µ”ùŸÜ‘¬¢ÇŽxNœ5çí/Ía£–ŸÜÉpbibzÖ¾Ò$-;VÑ?zíìÝž´Í/*C;(Òã¹&nKÙvýøŽ©8# ö®úkú†bC~qe>u;jT{²¬×n_öOµC1ªÌ¯nÕKB»ü֫癲ÉùÁ‡µgÜY/ÓŸˆ(AÎ#pÏ.PÍr"•.Ñ´9;WÍ"ãÛ…wv®P#Uvëî]ìLÞµi£*tE Žö{ou&¼´+E˜=ÎààÖîö+ͽ6¯bº”=Û’†®×̰*}.yà̤óµHð¶5]|40è Pœ4)5}GIJ¢˜&gsÖ Cio:{¿oÐ#°äÈʯؠ“†.ž‰3ß%vñ# @€ °œ±H€Ÿ¹¹õÖ-'©ÂÔÆ·¶ÜQ›¶e$ËšäM˲ n«ÖgÈo«C”¢‰Žà誻ƖR²á£JΜ£6 #O@Yå–›ËÇÓQš&±“\’a…¶=úƒÆiƒ Ƶ<Ùy°l»Žö؇n^k¼Ðªz!WNÚ÷Yú{ßcîÏÍMY´1­LÍ?ìt´¤?K²2ÿhô¨‚ñì)#Q[;Þ»á2í/H æþÁq,p‹äœeH:Íø=®žÖ¦óî»÷––ªgYD°®ñ€#ªøïÍ1’YãFÛ¾sÏ“½iã¾¹Èïõ«dªŒ¨V´nʙ⇛î¿ßÈ–mÛú¼^B{luõ§®žÛ•G˜¥»€µë|3c[ùÑ8ÎïtŽø¥¢È0÷%:Çq€  ˜L&Š÷.¨( AO½À,ÙËâ\h±*q·É˜È…ý¿¿×ÖÐÇmHN!Ù/i-2+X\QKû†[ß9qõxuwÃÝ_œ¸}³oøú¹›Uí®ñY]RÇg½óÐO¡,J̰,™·Ô§i¢$iïø6Ñ«(ÊWõ×µvy£¥ì3ˇêÑŒD¥ÏIä\6o ¸Çß×i§§ç‹­Í#á3´QDZ€³E5Ϙ/I|CÛZ/2K³õ5Õ0ÍIäé…EŒî»†\ÑœÆË.”+,æÙªÌÖlqú,µì)›KžISÊ9F$•''ªä2Ÿ×Ê;r§Ù“e*ܘ “°ŒX®)Þ\ãí®1] ³tð¸=Mš^*f9¹JmÔ‰Ãç÷ç¿DgŽ { @€ eˆELsú$-Yú+&6¿ÓfeÅŽÖ†÷.Ü}óRÃíïT^£ÁˆôY;RVž·óÀŽOï0$ _}¾¼"C69$¿}¤' ÉO’.b‚ IÎÚª¹úк˜/Ïè`C¿— ÎÂz¬Ãâlƒ.Ó(2wXÝ?Þ%F5gdz¹Ð¾D  cµXÆ2þEnÓ¹Yy¼ø,q’“ÞÏ«r$‹ýÊÅg·Qª ]Øz‘"]O:ƒßaÌÒHŸä7_}48â‹òMÀ¼—èÒ†ŽZ€ @€ÀÒ½¯Óær¥f?[$¥¬æ uªì̈›#ØÖÅü®A¿4GBy‡Ý¬&)âcC€Ü›;6%°wŸ<ßÒë8MÆ {2âÇvÝ>sþöXãRCégžIŽý,ÐÒœÒô¦Km37n’í mQË5ç.Ö ‚À* 7ï5’¼Kpô )’ÊåŒ<9IÝÒ×ãÖg?öÀg*,À(?œw/^y0¾,Zà¼,3Tj® Ø#‹ž`Þ5×\(WXÔÇd´RÆOnŒ2 ð]Qãä}>?'žXæ>O ÓZóûü¬X<íËZ$aýÎO÷F펖ÄíÙ»áÁý¦w?lÔ¤fì(NIŠH½ç¼DŠB€ @-°\ p0%TÅ%Ë‚·Òªu©â‘>ŸJF;è±¼mÕw.÷y\^ªã£¿Ûëç,Ç:õ»öfŽ?ŠbD"ÖïñŒM=³ŠäCIÞÁ¦ñO¾»}wæ#©ÈýžŠä9'î™3Maw‡n÷(Ï*Êö—mW;n^x8JB2XÁÓÕ1<Ü7ô«wÉ/~?Ã÷{³Ò=!9)zT3Ë…ïaevnÚ¦{T•¬¿{Ñ7vx¾ ÒïõøHª5û ŠGãÉ5-ZùD´‚@1b~8¢í±%ÓöÍŒ“æD\À:ésÛDeÆ*N_¨ ø<ä+v2)žÙ]p 2mé¶­ÅÛ£»OÝàîJÕW˜ÿ]T„( @€ <¦Àr%À¬D*á}žñe¡|@ Æ’°nâLÓ¶”¾úS½‰G6ÉÛoÔÛ KÊ4Óæï8…6nhò¦§ˆiš•ˆ)ZÄ,l94£ËÊ)ì®»Ö•J/¤§*ÎW¾õ £717Ù3ÜèÐz6,çœÝNt ÙÒ ê }‘Q{¤9Žs¡ûRiIåÆ`Þ1oóõ%x{»F)]^ð¹c‹½Í9ŒË0í¡ÝáÑ’f9ë·“kH²ÜN?#…ßiN¾¬ˆ8S"¥&Žêoòf“¾s.Xq }Ä—‘4“ÏÑ9,è‹ä5¹Œ=²»ÉÈ]à…ŒM†G|©ºñ¯`æ¿D ÊB€ ] ººÚTVýöB˜.°ôn)fœRŸÆZt;}‚àh÷É“'Þ´”æ¢×Üv/§”‰»a¯H7uóïDi±vSž¼óöƒ[=v§Ÿø}—Ÿ¤âS™§ßftÀ*7lˆmè0‡¦LCÇg-OËS2‹Åƒµ]Ž‘Þ~‡.ɨ 󉬈ãÔIIqÎþvûø¬³À ^àÇþDt9Ç¡©’Q£šû|;xëœAŽWŸµ/Áç²5ܹw¾O¾¹@Z7NªD‰~®°'–Í šSf%-»ºÉÉŽÁî›mcºzb‚¢BDœbݦIûí‡5f§;Àû}ž‹s⋘™}„í«Øz»þÞÛÇ“1Ž>¸ÓÐ$6–%OO¤§wç³Yº-nO€,/÷ôwÚ¥*õ´ï”æ»DçŒ!@€ Ø ,× 0YZPœâ¸×ôVc€–(ó‹2± 0ï°äIbÚg¥å93^¯K¦µYÅG¹æ‹wkk¾™–ÊSdÁ©Ù±{€Ï^Ý<ñài¶’øŒ†Á;'vÎ]ž•çåiêjœgù„ÍêÉ´–jsµ-µ=Î 9ÁkÎ]¨kQ.0NÎN;dØWHݯµN=,®Ì›3ª%\'yÈuBÑ,A†58S æ,‰ŸfE]|ÒÞý™YÁÇ+mCÛŸ4oˆën[‡,YŸm¦–3––ì¸Wî£6»ÉÕyÅ%;’g¼fˆ¢¦ÇÉèsKžg›/Ý®®vùyF¤IÉ>²Mí®`ò¾å†Ó“ÎEê`E®éÒõ›×Üãï~vGJ¹®¦Oq‡wp ݼÕÝï ð §Ô%mßš?í:œ÷]ÂùC@€ @`‰ô±cÇ***&kÓ>ó[ZÁju,¯`Àè € @`™ªkî‘%ÐuM#555•••ËÔ š…Ö¨ÇMMúVUU-×è5ªƒ°!@€ @`½ ^¯gã‚ @O…€Édz*ƉAB±@ E´@€ @«^ ðª?E€ @€b!€8Šh€ @€V½àUŠ  @€ ÄB p,Ñ @€À¨®®~B=£[@`í Ä*æmæöÏ=¨±ðc¼¥õѯNÝzcòOÕÝkƒåà X;>¸Úkü=wjÏõú&»Àþàþ¹XŽÏ Ú„ @€ÀZˆE,øÌMMç[½1=1lF›YðÊaÓk¦×›>µ;Ó¨P¦(cÑW¤«à¶Úi½Z.x¢Íä;ޱ?$8„."??ø€ @O•}ìØ±ŠŠŠÉ1Ó>ó¢Ç/ø‡ûíŒNÜUÛáËÏ/ÓF$ºüHsÃUáðµxÑMG¯ Q«Éßpë‡7z‡]^?'‘²GI$)Å¥{Uæ“Ø\Ó?‡2dËñTô(öB€VP ºæž©¬´®i¤¦¦¦²²r{FW€Àà¸ÉYRªªª* phÔç½êv~Adì³^¿Ù«(Í/QÅì¿C p°[ÁõàZ5Ê^x IDAT“PZ’ïm=Ѥ:\ž ƒýpÀõ0ós±þ‚Bˆ€ E ^4*@àiˆH€c–”Îb(8¥ñ™Ë²þ™¢ü®A¿T+¡¼v7«‘OÍ0cè|À់Y>¥Ø @XÓ&“iMÇà!•Xæà€ó~u«=+{‚hòþàÇÞØ °·­úÎå>ËKI%ŒßMB‹e2ý®=ÙÔ}쇮‡ˆÏEa¦äñ?yh€ °*1Å{±zUž'/°¢K ½ƒíUìöm©ñSë®c@0¹ÚÓWª7ñÈ&yûz{aI™f|BûCÊp€Cøç"Ÿ=4@X…H€WáIAHX5+¸ZðvwÙeÆx}L³ß0IÁm÷rJ p{Eº©Gü` pÿ\¬š¿„ @€žÀ2Þ°7٥ى’eëƒwØr¥˜ö¹Gi¹’$Äþàþ¹xBÇ [@€ ¬ØÝ¼‚Cšz ô vŠ® @€V¡ž½ O B‚ÀêXÁ%ЫgЈ€ @€žze[žüÔË€ @€V•àUu:  @€ ,—àå’E»€ @€ °ª¯ªÓ` @€'`2™W¥!§X`¹^Ñû“bè€ @x,ž§ßþèÜ@W i…¦(ŽeriVºqÓÆÍb™b M:¿zóxœBøøÑ—i‘x -Ì]eÈbs9FåR±>.!Tr¹{œ;rtáÌ ~ÞÆ[`f o¶¾B-$ªè½ðIŠÍVlb?ÝØÞ{§öæ¨Õ"q)Éq¥%&·×~Ê<>êØ[oQîáOì%©&n¾×êq̯Õ3‡¸!@€Ö·I}•2²Éš±Úœ5uõï}øNÀí\¨išKD'¢ÉO˰uõYÞ?y²»­aYZ_RÀ ò ¿]Ìd´Ÿ;ÿ‘Í2œ¨×©µ:¹TÚ3h[m§lî!Äêh¬f€y›¹óÒ#GòæÂ2m(©&{º®6 [}+Qæe–ĉVÏç!V|h€ @Ë$À0|å¾zCißbs¿ÿQÕÐHogJVÁb{TÉÙß{õåÅÖZÓåŸÂ!Ïq¾F,¼ß»©8Û´}¿0VîN}çå×ñ¡X$À‚ÏÜÜzk€–‹§2\Ám©ir7•ThXg_û¹†¾”òÔxvKbh€ @X.­JŸÒ>Òç›ö¨µw[›üWb¼nÇV“.!…¢˜ªË7[ëï”—ä–•ï%y΀Åýæ;¿IT±¼ô«÷Þž\=KuªæQûÍ+gJó »öá)êaKßùs¦è¥/}™,²²zûÎq„å¥W‰lb¨ì[Ugû;›iоz§üááåçЊdRÀé œ<{¡hˆ øR’ô{wî’(5³Ç¡G7uôÞ©¹5:jåJ­VîÙ¶EŸœPwë›ÝwØF¥q¼^½cë6J¢ÿÕ›¿2èÔ£nÙ/â„»œ¼|%4d›—%Gã/O;ìv©˜ËËN-+ÛÆ‰Qƒ×$ÃC õXÿðžËa#kÑK r‹6l¤Ynlò¯ŒzµŸ Q¼?%)nï3ÏH•Ú°êËçy±ÍrZ§¸U×Jþj‚ µ§Lª›6êÈÖ×Ëï1YM‹U‰»MÆD.,æ~Z¬‘‘]´L)—Q諆õ‡q@€ ¬êêêÕÆòÅàð£6Çæöžö&ËÄÅ%’;„Ï]«®»[­”pIɆÞÁÑwOœpŒ P_”—O³âöžÁï#!uö˜)¿''=-ü¾ßÙ«SYF'•w›xŸ‡¤ÓíÝ %ŒŒ:\v i­ËÜ'ø¼y™éìTöKvó›7äed”šp´òÙ#Ï>'QªC N·ÏjÒ©UœDÞÚi¾zý"Í“m¶ø§)ZÜçΟ VWj4:»Óív:Hݮܸyí¢ßã0Rôú8«ÃIó±štßà€N)KOOKLJa؈©>zÔnË2&îß»_ªÖ×Ô5;{Š xç>ÍdtÀ‘žá¸K7kÏŸ;I‘´x¬Óž¾~VðîØ²YŸÒÖÕwùÊy2ư‘,—OXÁgW àùÊçvl/Ÿí”E4»þ~Å 0Íé“´TÀÙIM希L“§¨­3Sé"só $=;!]­¿€A€ @ ª@€g~}âÌä!†¶ç’,ËáA’Ÿç8­3OPª!™ªïŒ8eä!XOölY)-NNOh­é¾~W UÉ»â%Xþü4\O# @€@¬ÈêJ•R!PŒÃá`þ¹{“ÓsIãä~N!àoîjþù¡¾HI»Ý.ð¼ˆc³²òîÜêíên7Hã-Cý†xR7J&t'¶9ª3 S˜Wx¦£±³«#ѹì#»6•Þ¬okëj3 ˜´ µnü9Ï æä3·¤‘X"ó¹dèÀˆu¶ø)fjª!A“lÌhéjëxㆤxSÙæ`r»7Ý*‘«Â³å…3Y†c©ääÔ¡¾Žá‘¡xcÖÜuC=¦&E2éQ&a )iÍÖÁÁ¾Ä±xr‰X2H¿ÛNƸÀÜçq|"ž㴆«Î=اáèr%À¼sàÊ=K¦Ò=ja¤³ýò­Ó¶ C쟸þ4œ#Œ€ @ài Ázv÷v½!ëüÚúûÕíí)i9dÊ—ÜÀIîâÌÏHÙ´¹œ‹IÜ#ðB0{r3ÒïÝ‘¶vu rcÀëÌÏÚLqå ­× 2ÎYJMŠ“(4íÝÝ^Q"GùÓSÓZGÜæþæžž>ŸÛ^PZº€7îÌq²‚¡ÎÀdeG½xxC[çƒ÷;ÍïŸ,+Ê–Æ¿k!ÛBÚ •!÷uNõ7Ï“´C'hiá-Â'¢ƒª.-¬õTk¹`·ÅbS$ìаäJѧóú[{ìƒ~_…¬'aŒ€ @#À›J‹ÛÚ›4uäfuÄ2âtZ†ÚG5j%#’D4­SI㓌}æVG]­LD§¦EÎpÎ]Ìp¦§e·7ÖÚ¼÷µ*™B­N7¤ßh¯¿WW#ã„ôôì¨#aèàÌ­Ç6ÑµÜØÎ¹˜¬ç%w?û<…ÙiäÅæ}ó½·[;»ve”Ò¬¨³wÀí+Æï4ž½«èG¼~ª««cè8}<)1wð z¹­º»L_³R¹ÛË›Í]äfìøø¤è­GÛ;w5èªày’ú’œkQµ¢ŽZÄR•ûw ¼ɰц¾êö-W,’J‡uÀ­I•Ò>ǨÙÃ¥1yàÖªD@€ @OPÀd2Q¼÷ °]+eìÖ²í—.V]¸~åãG““õª”´¬ž¶ú·Þ}W®Ô Èëó™šXP´uŽ«bfL3Cҥ䜻rƒòX^ª¬$Ï ›Ye}ìY®¤T¤3”w¯ßýí¹;ïÖŽ(sÒ³åaËÖF@€ (È4$¤¤Ž8=¨åX¡rß3¦m»´¸»×Ü×o&/à‘†=™9Ý(–)š*ÈÉ[=mcç«Nž¤¥ÔêÉ3·ÒS3H†IžŒ¥Tëȯ…¹ù3[ 5mLPo1mI}~¯Ûã›ë+‰yµ©QÉ †4?O½a¨8/c÷îƒ4GÜaÚ¶}+–wvw ô«dÒ@øúäÙOI=>¡£«‹<{KIþáÃÏÓœˆŸ;x†îܺuûî#nmoå(ßîm›wî:4EÔþçîb±'(T^&a6oÜŠ¤ƒC~¯wª“}Í ‰Ì$“/Ü7Ybuëc'}ìØ±ŠŠŠÉÁÐ>óê˜F½ÄÕ«hˆ€ @`qŒ˜Ì×5ÔÔÔTVV.®.J?c/ì=>ùä§cÐå¸GîŸØªªª"¿‚ @€ @`] ^—§ƒ‚ @€ H$À‘"ø€ @` TWW¯¡h* ðd–ë)ÐOvTè€ @€@H@­`?÷Ù× "€`\€ @€ ðT ~*N3 @€ @H€q @€ @€ÀS!«{€y›¹óÒ#GòæÂ2m(©æ­=ׇ­~ZªIØZj0Hè§Bƒ„ @XA“ÉDÞ¼‚¢+@` ÄbX𙛚ηz%â©×?j¾ÖÈ5mzõ`éÞdϽ‡Cva 3!t@€ @àI Xí¾7ßwÈÜõ¤ˆU¿ëf ±Yùvb‘S´X•¸ÛdLä&`Ákwx•ºT%CÓ¬6%1Á3ÒëB¼òç=B€ <®À›§Î5Ü¿5ÙJßó‡¯ÿl¸§}rO]SOÕ©·ívßüê›åqû›^? pª·õQl›»5›3ðóãÇüN)f±ùþãø/|ŽÑ™UFrháC&Í.H£mÝòLÕÕê+Oû½n‰ÇGÿôø›ßÿÑð£ÿäõ×ß{ÿm§uxf„ ßc±¹ß=yæÇ¯ÿüÇ?ûÙ{ï¿3Üß½ºsàD­>s áÅ뵋ÇÙ¹ð¯ÇéqåëÆ"¦9}’VËRùg|£ER ë´ö¹xJàíC–—׿E¼òç=B€ <®@Fjf{w7Í󡆺ûú)žjïjŸ˜üa:º;2F‰ÅÿZ?n°±¯¯’s/UådÊ%4Íóô›§Îv4Þ[B݈*i)q¯|ìcba°¯'tHÄQŸ:úìú½ÿíS¯|Z®M=u¶Jð-q1¼×GŸ8s&NÎæåúÕOçl¤é͹q¢æ@–€ÑrÔŽ–ÐìÓPeAçu "]Ê–$ßÝëw{áá!Z)fpðQ€ @à‰ ““ú­ŸÛA"!™FgwëÆ¢Ò®þ~Áï#{<>Á2bNIJ}âq.S,K«T*z¤÷KoÝX”œ–=1R¥ÇÉeâò-e6Ÿà²/qúÝáöú=Ö-›¶Hå ¹LR”›©KHYˆçÒpf d!]¡Llbõ¬ÑТ䜼£9Áý‚gäÒM‡"ìᥱ€ @K¨®®6••.¥æ‚ëèÕrV¢êO”«\ž€×9R°ukcW³Û1*ÕÄ [íÚ«Ôêm^*ÀÓ—nÞé2÷Rï–’ü›· 4=2ê>}þ¬Ã:¬UIîݧÒÅ“u³§Ï¼§Ó&vvw’’;¶”n(#%Ã#"µÎ^ÙÕF_ºµssAFÁöÍjÔCäÆKŠ¢!¸`û½ýÚÑ£œ\EæußüàçžÙÂKç—ID+mmk),ÖÐ,ÞEÄõ†¢Î¼§Rè»z:6奿•ì~w ÇÁËN~ô®T,”Ã-3²Kß<9mø%eÏÌ»&Öë£Þ>uÖá°+dâÝå&cFîÈŒ=»}ëG·îMÂnßXô¨w4Ü™tdYÌ¥>Þ™˜ç½–¢]™ìÕ;xkÛž½GÈÚ‰öË™3o}ú…çåºD€þí‡ì-ÍMÎÈ‹z6—uç²%ÀaQ»­+§Ø€§@/ë™D〠@Ë# âè¤ä4²æ9)-g`dT'©Õ*•&©¿¿7]×Ý×—¬×0œ˜òHÿƸ½»¶ŒzÏœ}?/'Ÿ‘éOžý¨¼0#3÷H]s÷ù+çù)fw¹ËŠt»w˜ú-îsç?ÈÊÈ+µ“á{|©µ9;%ïÈA——z¯ê9äóS'Ξ)M+|ö€Åîû êC©ˆKÏ ¦ 3[£$Ú(ýr¢¨B~?Uuá|N‚âȾ—$¥üžàP"·™ÅÜþPú~cG[í—ŽºpꑈU"†Ä²|DËÅ<îì]Ì¥î5UBF”k‰šZJ<Û•™iH½ÔRðºi±¬­»Kàis_O¶.‘ÜnÍ{¬ñ‰ šcûãÿº\K Id|ð nëÀ­z»&=A7í›”Ç-@€ @`eøÌÔôîþAÁïoëjÏ0(–ÊHËjélTgw{¦1#t0Ëi†T‘D¯Õp…Ûåì´JiWvN!Ã29é©#N¿Ën%A³ •žš&–Hãt¬8X2|$]æa å,(,e9‘L"fEÁd¬gÀJ{-……¥ Ëé5²â’­uõt ˜Ílm¶~£z™‡m¼kpãÆ-"˜üK¶˜btc»ùÁ½+ϬÉUQ+†ï\8ѼMù|ôñ÷Oýøg¯ÿôõŸ™ÛîWì?LÍž6Ï$Šh?àÿW^ÙdÚM¦²qü˜¹³™ˆ*ÃqÁs'“ÉärEx#dZ©P‘Eѹé)†ô‚ÆÖÆ%äZ4-fÉÕ’nH0¦6-©‘E]*3è›åž¬8[wñ:U€‘[†H†<4бeSykW'¹—¾«¯/I«K§éÍ{ºcU`Ùf€ywsmC­…gD²ôœÜÍ)â%œþX í@€ @àqõ‡Ÿ± ölÍ.#M“Õ9ì6»Û1ŸÜ¾Ñã+r—Û30äxý—ÇÉÜÙIS¾IYÃg†Š >oiÚì ÝéPHÄ$Ñ ßKš’‰9†ŸÅÕ(•m>™„œÖñDkÑû…ÀîpÉDÃLënfÙ¨Åî6›µr©L1ö»¢™ÝÏØC¾xáÙý ჳgK²ejÝŒ"ÑvD•ã8º(7½ ;ýú‡ç¯^ýT’1ê£5±×¨5£½ (9G^«ÑŽtO>kmŽ’‘‡u©DVžú}<wÔk8¬ÚlÝ‘§”¥¤d¶w¶¥J$Œ/'+«±í×íiëh1eeñÓ×üÏFŒÄ.få¥åESÑ1Ò¼-ŸÀšîû 9@€ P2 «T'6µ¶2~‡BL´4J #V767«ÉgB²D,JŠW¼øÜÇé°ÉIrŸêܦR‰”¬jæ~šO–$7»¼~>àcÈdð~`;YM“çé9ðX…¨ýÎÖ))ìðøHË·¿F”ZŒ¦ù]¦M'¯Þ¬½}ÕT¾7"”±/È6×ópêô‰H,“‰¶›vœ?ÿžÁ.Uëƒ=ÒäYeQLf~Ä~ò´¯4cjkãm>ˆ:ä´ÃXG­¥j!ß½µ`#2©Œ|q2sD-Güº¨KeÞDÑ®áÐjöPÝ9ºËLK¿SÝÀK:Ò”J¹H¦ëîîqÛ’’#¿3š=ŒÁ¼lŒAÑ @€ÀJ ˜L¦èŽÜ›™‘}ûáÃ$šIHK%'gÔÖÝÉHN¦Ç2Ò¨[r¼Öî—Ô?¼Ëû}~?o³Û…äfÆ$½Ý/ªtÔrº=>OðÍ·†D-Ï©ëëïó~?y(уº[%EÔô'6Mư¨~St>Fq«ú:yÅ. 2à÷‘gJñm³º\Ág_‡¶™ÅBûI~pϾ{mæÞ±eÃáÉݤÙÀР QGOûjDû¡_S“´©™%—¯_¦)yœ#éëëñùäid^Ï´µåQ«“£߉ӧëÞ·X,ÍíÝ—¯œÏLI`%²Ù†µò.òð*ž:zú{‹ K… ?¢)2£ît:H#½ƒí ròÅÑFñë¢.•yHŠv ‡_!st—§qø¸ÆÆ»i4ç3oܽ¯HÆVË“gª·uv Dõ\¦³~V—©?4 @€ µ(`LL¼AÓ†Ô‰¹E!#Õø¨îºÑ6ÇÃdúÙ‡.\¾xµö—ŽMIÒíß{hÞá+eì³*.\¾påvZ%“‹¤ 1'9pˆ<úúÝ_JÅyöoZVálMEí7 °§¯\Ú’“oȯHEZ¾péâý_—JÄ;7§ç–¦sÞ<ñÑ– ÙY…;B…gÓÇW€êTâåûN_ýèL­kœ/)(<{®ª®éç»¶–&¦Gy^wÔPÉ£¸fZ´ý|ù¦Òß~ÐÚÖT—Y°qËæí§¯_¢¯ÜJJˆ#K³ç8;“M‘c^`¯×Öy¯ÝR)å…Ùi›6—“fY›R-€à>r§kÕ¥v‡].ånߦÐ'’/|ø9…›g«;¹_$Ÿ»qÇb9K–»ï&ã6d ´mD‘-Gt´ðK%"¤hD¹†É­é“WHÙ¶=³u'3ºxƒÍÜ ÖÆ“ŽÒ †êêK[‹7†^šà…k·ïTú¸„…œ¦yõR€>vìXEEÅdQÚg^Hµ'[F£V?ÙÐ; @€Àj ‹„yo]ÓHMMMeeåj‰jUÆÑ7äüèô[Ÿzá(y¡Ñª p þ²¨5<Œõ:¶@£ªªj Ïÿëñ3OöýÉ«Ÿlè€ @  µ´d¥ÄKê¥ß »àÎP«S` 'À«QA€ @`U û¶•PT ²ßUyvÔ ,jmý Å„n @€ °@êêê–D1@k;~¾²4'ø¾ÇÞyɾí‡R8J’ø\如è¯þ~ì^£·ÅûÇ,å?°¼vÕó­7mßì(—÷ ?·¿cŒFQ€ @ˆ…€V%ú쫟ÁÍÕ±°\Þ6b±š÷öuv×¶[F<'Såd”&ˆJpt_«p ~sqZ¦bm'ÛË{(¡³Ó?š *–FíG¸yÛÝœ©<½ƒS ‚y˜ó*ÉÛÍ¢–œÚéñ|ùlàSÏÉó»_jý ±1â vçÉ¿k»SýÅï åó4‡Ã€ @€Ö¸@ ’R÷`ϵ†#×ÊDžÑum.ApW×õõùDqz9k¼~§g0°Æ©–5|?ÿnçnðoÑ6^èµSiIlðmY4ǦÏ;ï-ð§ozè Ò]2*9[ú¼ÇýÃ.òf²i›0ðQÏ#ñõd¿Ñб€ @Xo1˜–&¤Üž,VI%t ·îÁ¹^Å#¸\#ý^&¾ ç@×W÷ð|ïh—×Ä ßž~Ø„üSºNÉúú[ÎÔ ;6.§à@¾N%b×Ðõ¬JœP±7Ù6Hdãêiªº;`çi¥!çðæ=°õ÷™g„&Ò¤ìÙ–¥düök×ëmQ2xççë§Ý§G™Füåòu4íòþßïzÉÔ^~ÄC•l’U8=?nþ\ºEñõRVáò~éoªºÑÃ[=”1Oö[ÙKç?íá™·¬?”±y¯Ø¦ü‡ìà»ÏÜý®ß;é7ÄQwÌëàè¡[¢ož²Û¼~Z¤–MÇz‹x²“Ü·?Í}þÒ­n IÙð ²"9ú&ø½~A$‘0™@&«¸%ij¨8ïó’Iå³ç[¢Üù;Þ"'¦ãã¥_Iº!\ѽ¿i{yaÀ#PäIΔ0bD2ZžZÓLy>ûÃG¾kV?&Û@2ê9ø- ¡±ƒ¬Ä&c'_¸xZ>™SJÕþ¢ ÷oZ޽£ýËßE¼€s†"€ @€ÀšxüYYÁin?û`ÄɈd¾‘Ûµ U7o÷‘;mõIR~°¥ùÌíæ[f/£Ð¤*§Ò¯ec£YÇø=dá2Í)²34Ñ_*4Ö½×24,K.I")0£L2䪧Qx-ý]Lâæt…88«Ì©Ô2ÉŒô]‘ Þðþ¨1`(’aöŒð£ \äí ¼sßß ìïòŠUqäç„Çïj~/ÁÞÛÙ”QøÉ£™^·½©¹o iÖ:¼³ÿò]Õá-å¿Ï¬æî†>oØc•ÉÂbËÍíÏlÝôÙÍ"Vð[º›OV»È¬møF‹¹?­þÃ{ÅEÁÇÐYÙ²oïÏ}¿n¨:-aw‹<üº£ÛO—Ëÿ1aúÕRö󧬻âo}R¾K½` NôŠþF?#íž1 ¨aâ9£Ãß%IW+ô÷ùGuâ\<k†v@€ °Öª««Me¥k}ˆXúرc“Ñ>óÊtü8½hÔÁ4ó_ŸyœF¿îŸ¼zp)¸¼_ø­÷Ù—”SÎQ[¸tÎö}µâ[Ø%¾¤Hàß;e?‘®ü_E ¼þ¾£a£ê¿gÒáÓÜBÿ[Í_¯ÒüÙ?&¤“raƒ @kR ºæI€ëšFjjj*++×ä4 °l\ØS«ªªVbZvÙÆ²² KâöîÊ5N=2j—;‡¼¯÷2/-9û%04SQ.yÿŒûr¦¼ Ûý¾DúéÓ²ß`‘„C†ço´ÿý{ÿ¯ï ‘¯ìå„Þ @€ @¼`rÏÐ…3Cᥗ8ssë­Z.^Ÿ'«Å9™ eUÿùÀŽ?Õ3ãV룯]¸mÝkúŒ:˜Ÿ-z ØÞ«ïÐnI 0ÅH7&KÝBÌ+„‡4Gã‚Ïì¤R J%)CsÉš±—8yæ¨0uh sb_h‚å4b‘†£)×¹úÓÇD[¿œÒÜ’´ëeÖÅIˆ.?0tóKÛ8©têíÌ‘Ô? A€ °†ª««Me¥kxXA$ÀŒL·)?2¯ºÝ<¥dh±*qwº¸«¶ã‰.YøŽw:ÿåß,}&ù ñO¿ª7’”’´¿ÓõÝïY:m”ª4é«ßNÖ‘ø]Ž÷ÿ¢÷â-ŸO-?üç¯î±¡bß·ö:)y¶î³kÜ™ÎL¤ó,'ÖˆJ2Ϙ<]´D¢ÜU¸é¿»®~ýÑÀ‘mÉzšrZ;¿y³á¬= U&i{ñQþ}@äQ…ûê;¯:™sg,7|£\ûú¥®Ãû¶¾Èöýù….CÈ;l5ÿà—.’Ž;n÷~ç?øŠ.ùÉÙ’oüu|ÚØ,«ý¡údîwªJ¿ñ9öÚ¿ ¶¹)GuïwÞ ^ønÉÏÿùs¾ãß蜚Ðd$ñ¿_˜˜ez[TlÐqÖá6’“ù†ÿõfK oÇ™—ý Û÷Ã궦©l9ÚQAñÒæ¢JÝç÷8y°hëT2Kù]Ã5’ÜïWì}÷pIÑ`ó#~ÞÕ÷­ÚÌÍ{Îlÿ·S¿éuM[nÚÔxÉÈK·rCg•œ<´‹¡Èœ"O Ž!^š5QLÌêåü°m!ÓÙ>¯‡Ü£ª¢)ŸÏ=4:ô•“=AApSÊR2<1;ýèlr4§ %êc_Zð‚àòyy±TÂfDñb¦#¬nôÆI×4¼¥6¸Ñ Í*B+²išüwbZ•QŽ/Ó¦•Ökñû¨©›™YyüóêÖúÜûÔ}W…¸¯èzýDg¶ÁFßωÔyò¸×2·g´½ÿþû3´3'š£×Ä^@€ @D`¡ ÌÜX‚ÇR]ÓÃgænO¯¢ô—$yò8QægÒÿúåasµQãêóû©àƒ”&7ògòOøe<ãž,æõ9}p2ržMðÖtPº ÅŠ$qÚ̯íË+ ïhb5õ¨wÖæ§wMKÅ"Úç±ñT6ÿ´Ü Ùïš½b8 @€ž´ÀãM>éèŸêþßýÆš5;-’¨nÜø¬|þGt=–X`ôG—oýdT|pã–£ck¼±A€ '.P]]m*+}âa @`M ^§)Z¬òåí{^Žvdéû$)ÿ«2eÖê¬úöüƒYã @€ U-€y¼U}z @€ ÄJ p¬$Ñ @€ ¬j$À«úô 8@€ @ˆ•ÀzO€G>jý/_ê/¾ûí¶/WÜýÜ'[Ïv‘G'/ËF^Tûá·-¾ei{Ý6:r¢ùK_±X×íø00@€–UÀd2-kûhXO±xVÀÓÝÚYÛe³û)±J_Vš–)g¨¨;W^Nµ)ñ3 "y?ÕþÎϽ»ÿ¹äù4ÏŒ?.ÙÞô?ÿéä^¬)ªøÛW3•‹ Ï5\ÿ¹ÛüWvêy©½|÷¶—¯ùçõ¿×?lï=vJ‘ñùâ]/Ê7ÿv‹Ÿ¢†ÓË’^ÌÙóåd½r¼watôá7Þ:as8(Qª&÷sù;^ÓHg¼ÊÈ;{#¡C#^б£&ÿÏ6ì(³žþlg¿lÝZ<Öuè«ýQ~à 8üÑ3+>sTáÿèÎñhþËÊrãMß.q¼Rwë|rűçJÛ½þÄýÿšaÔ‹ª¶¥íýºó·_míøDivü,ïóÑÈd'´X¤Ý•lÔ>°ôÓ¥¿›•ð™¶Gõñ¦4kí]©•¬™ý,‡Uäç&a RËtækÿ4døã¥SÓ¶ÿ?{÷ßFy÷ü–NÓ’,É;Þ#ñÇYd°C€P/”²Û2JÊ(…÷e”²iYeCRJ ”0B ì,ÇÎp¶÷”·¬=îî=yʶäÙñøùû¹güŸï‰Ï‡¿žçîz9øíC¨û¬ä¡w¥·¼3Má­à®h|íþºCUä¿2rn™Nvëç®ùa·Û­V,ÿSüê…ZàË?©xñ壓Š<3æÖ»t12¼­ä‘OÙ©‚å`¥Çê’Ì[›pÕéìè¨üN…€ @€À˜îTÁÞjãJe^ýŽ. 3EwÝC‘i±š›ÞKh°Ù¯¢2õŒGþ|íó÷\u×Òð¨©é³C»'FI ×L c”ç§ÇÏ`RyZ|²íøÆÛª›Š-­­î1ÖªçR;¬n‚3噉Œ°ð¶ì·ý`§"isu‰÷~åþŽîN|jyÜMßVW9C¢i2Ü0ç"òÈõÆÍåUñ Y Û74èÒ§a€Å<wGŠî‡£»wy|jörðÛ)%¤JÕy¸$VíZmÔ¬¨¿|2óÑ?ªÄ/#,‡,ÄE)/lÉxäzzûË ¥ÂVPýâ„ó^ËXÿEêrSíëïÙÛî¬÷X5×¥<ù~ú“÷*¯¯/²ù…€ @€ú 3æ¬ù•Dr’F鷰oc¹Äe<ðnžôܳR:WÛ‚¥¤Sµ2–d¢ÕJµ8_R¯_¼aéªÛµÂÎc¶ýû-â2x߃bu4gâÄ%ew Ç„2=øF&ç–Éswg]x‹<‡K>Ìüê¥Ôo>ø‡0ë¥Éb,´þ²„ðüÛþn½.ÜÏŽê¶®ü5ìpw‰ Ttä)7ÉÊž«ltøDÓÓÁo!ó¢ï|ÐÍú=é-”¥éÎÈ’Ð$–¥·;MN®t«™X6?Ž¢ä²yçÊšwXÛòniŠv~*-NR™¤ÔÙœ-®€}â @“C //orL³„‚ xsì;çÍ»ö%I©i>5ò[8ÄŽG¹º§xˆ‡¿©wÒÌK.¿3;„ò4÷åAÙÒ•§ø,ÿˆ‰‘¨Sú5 âK?_gÌ<=¾mïïÁ;ë8Æ æ½¤ø`.O•§G’ìñ8´lॻ:!Ä\™™–xqnªîØño·±zof(¤Áu©¬ò§)Y/°ÿ†½âè±›Ô\45ãóüŸ? ?S¼8ÀNí^} æWZÅ(Ú#i'k½§jWñÚÍÞ1/$*]<¡“{9#o¯)Ž/ü€_ fxÔ @€&…@ÀühH³œ-yùÕ|BÊ‚H¶kQÓoáº=•™¤œ5ësºFæjò~ü†žµv¶ºÿ[M{as«J¥r‚¸,Yâ¢t¬¤ÏêºÐÐr<P)!hMv±©¾¾%,¶s´ëH£Ñ£š—Øÿ@„O'D×ò§dflÖŒ»^mŽý?]Û¯HFMÓJ ;ÐõõmH©YÆlw8 ¢}Ó´ËÕj"eºŽ¤ºƒ„Uθ'¦è–£Ç¯&;Ÿ¥„ËäM¦{fÚ ½$áò¸ûoPø.›Å‰/ëBÜè€ @O}’´¡/8M{ ªœ±Is#$Ïs¼ .Ëù-zß'¹×|ôƒíÂgO +%×Ñêï.ÿéËËÞ=¼£P·äþH¥oDz¯ú‡”§$d/òæ—²S2Âë¾½·¼¦ÚÃ{8K~å÷ÕH¯HŒ ô,±MŸNºyhiâ­±Ò¯KW qIÔ§!;-"š¯ÛõV“Ù"ð6GÍŽ²èÓf÷Ρ™éSæŸaÛóŠøö¥Á‚ÃÓÒÄy|B£”4Ýd7ZÄÇ‹ùí„N\®reü±ˆÉ9³«²Êû@€ @' Ð;»zW‚¥ÎXl²»M…åÛZ“²´¹Ó¦ZúNŸë}ï8:Þñ®ÞÁQû6\ôJêÏwÈ}Îá&Õ¬¨…¯¤Åëú,¹’’è[Ò’¾É?6Ø”T¨ú°ø±úžÑ‡w~äÓ +’ŠŸ=Ÿîœ„;æø T‘}ë5•/ßVø¦‰§T²ù·$Þ3¾>=~&…"@€ @ठ¹¹¹99Ý[~IwíIgPƒkÔêAÕ°RÛ‹jë=Àþû檚ʫ•ñó¤AXY÷?Âx*íäsäþc›g'Ý}‘÷ÝÈ8 @€@p(–à]…Ç›óóóW¬XܾÑ 0Þ¦{ sË–-þ×3Çû$?I2žÊuϾñÁ´å\’ l³Àõè]bLàÓƒ8cÿæàg7uï.Öè—þszœÏÛ’ÑGï*#Ñgï1zýî(ذáµÃ6·$n)ép5É/ {0Ãi@€ @`„&÷ ðã¢{@€ À ðˆcŒc^+Àت;ޝ%B‡ @€ Á ¼jB€ @€À8@<Ž/B‡ @ÈËË A $ªA€ @€Àø@´ëçª?øÒ3¯ÿöá?¿ÛÄõÓ«ø®à/Ÿnq÷S§ @€ @ øÁx ç¬*©(¨4[<¢ËʈMPP‚Ërôhå‘z»#XUhæÌ¸dÕÄN¶‡¾Ëo˜}Ás§jß­½éÈõ{ø;Nѽ÷cÙü%ó.Vr®Ú·üðj]“¥gžm™ IDAT&÷+eüÍé‹ÏWx«:lÇ*ø!ßpH¥ø{Ÿ†dð¯U­f¸†Ò¢ŸÕ²#48æ]M­‚>]-#)¢3]e$¬šå”4£a%†$ìÛŽl͕̽=ª¨8bñÅ´‘ŠÙ/_߸kí¡RF&“t}öz7œdJL€ @€ÀH!¦ä¡³ÒÚc£õÛàpð„J®×^ÈhC•ÒZ—‹'ˆ±™7o*~f¿öL¡þOÝÓšv WñØlg9Tå¶RÊ•Ð6¿o,¨òXhå…;{*Ýw9ÖcúéÓ¯þ[f²V¿óǰ鿿ú”4©wî4ÃjXNE3z™T\ÿÜ­n.Tn'ËiE²VÓæCJ$†«ggD7Ý×µqºWѸðè€ L ììl‚wMŒ¹`€ÀH !ö Q°·Ú8E˜Ò'ÑׇË*Z ]¬&¸CF0n®ÝýëØÇ6+ÕRÊö­ÐX`‹x5õÚT¢ôŸÇ¼¯þ—ҞšNVçj]ë‚ÇCCûäñŒfñ¯Îr4}vtÉ%¿ŸÚ–û¶”ÔpÍ4!ŒaÎOW1ÉœŸüÖÞ·‘ŠÅÊÖV^íM¥I­:9‡ð0 B †]åø€ @€†-Ð'—vOÁYó+‰ä$¼m”3×~½mÏ{ÛØ5™ñ*özñ¦TTèE—…蔤íî]YŠ&+" *Þ!f/|‘CQ±æŒY{ÿ×åñ›ÖšÊû` @M;ÏQòÐYi†09MS½AźŽŽ $´VU–°a‰Êá|ý3˜¡¨ã.k|íÞÚ#Õ¦WÖ¸ç)só‘šû®¬½âÓŸ-.ÿÛ¾MsWMÙJ¥-ûøû+ÏŒ›þlÞsÆ’?Ý9“ 4—§ÙÕÐm²Xe*%C$C3ßxvëåO _îV-[PIðVUFDäAæ@«ÏÔºª=+ÞÜܶ˜Üö§M–hVRb½uUë²ËëçL£öZòŠò;×­ÔæzÞ=>0~[G8#„`Ÿa{«S„)ÛÒjÞÖPPÃΜ­vöxŽÜ` NI¼þÆG„†µæsÖ%ÎÕ®#–àô‹^ @€ 0Þ:Ò­þÂæKKÅÓ}ÿö¶ ÔÜ›Ä ¥­ ¯ÕÛyYÔôß\µùW…ãiÈ7Õôfz™¨Øðˆý‰ƒBÒU¡OüÉôã-D­Ïò¦i»ç¡cžØð—k÷üÇ£ÿzgg ­:‡¥n»o;Oh)ª™Í¤ Säï=`ûkAYI*²s8‚R –¿üš-tQKoNyðUWÝÓoÎ/ýÇ¿ä_þFý©q€À€Ólßí‚xð$k’:Âìœ÷çÖj¾ÅMxáè·”æF>bcERNâ‘O)s¾ºªu¬!wäöíDo©å›]„§^¤“„°¢uÖÂ%Eö›6ÒÜþÛöY Ò1À`H£pÖÆüJ"9I#÷®Ø;KŽ6Ê£¢$'iùwH¡£2 @€&¶€o.Ú÷çö¹·§l}ÿÏömÒQB²Œ³¿8útYÅ3¥y¿9§Ìý§7¼w°vdíKm½·×wV¶|·›o¶ ‡~i2…*u’ž=sÂög-9ˬÏìŸúÛ·îÛ½1nQH /xÒ/Ë0|ÛòÆ6Þä Lb®èô¶r–·|WÀ×y£¥m¸ÎeUÎä¬j&\f~ëKÍ_‘IçÍä¼C{ÏžEgÀýL³s <ïΓM ¯R”ˆãzK;ºµf~’Æ-N«Ë‰¢¾9$®âú ×]M\' ÁÔ¶`nokÜ݃·°ãWж³Ÿÿ—lkß~úüÜ~áð÷ ‚–óŽæ]{’¤„4•w›¿¹º²D•i@ú;èKŠ€ @CÈÎÎz£IÙÂ{ÿjà?í$íwÀöý[<ÛO[Çáã×-o]ökëîʪ·_ÜqÜê­Ü–‘zß*äýÓ¶†)>É©=Mm/ä8ÞC’¤à§gG=÷ñãÖ9¦ÿsþúG™’gÂdæ²›OüÞ®|¢êúµG¹ÕTÔH´qèöú™E׬ý×sS†Çžâ⩇îJÞù.iŸ¹Õ–Àv4±_ÿrÉsâI™{Ϋ»e1©ôÉ»¹–l•VJu=ઽ“Î8µ?½ýñ&ñî_ÿñt–{'†cÁÙ-8[òò«ù„”‘mO:ãU­VóçµmŸÇ7nŽKY–*n“Ç@€ Œ¶€wAr £½Nß¿Åv›{×'Ý“‰o¨žÝýä_üøÛÆ:JÇ IÕñ¼Žç›Ýnñ1ñ¼ëK«‹–°éZpV|½ëìKâÃ%c3Ѻ„}‚“åYñáÉ‚”úvÕ¶²ÛÝ™@ØxÎ-6q0>4®®‘ä– <âË‚y^Bâ] Mª§IÒñq—ýv×y‚@¼‰Ûø¤í™ŸÅÌ”¡%Ñ ck_¸#(ÞÚê¾F¿ï9ÂÒƒ»Gµ²Í’—®þi·PQÎÛÅûIÍèÆÚÖI$CËRl-_üàÍ×íµþ柜{ Ë†óCBB*8M{ ªœ±Ió#ÄïVxŽ¿È‘MÍÎLmCp•î+ªN]Îa°¡Ì u!@€ A$À O¨ø–Ÿ>{{Ô¼=­ö&´¼°ûÏWÿYöÀùÿýýÆs-Fµ;I?Kýô&GÒ)‹Î ¥­[…ÛºjÿÓÖ¯oÏBäŠù÷ž]÷Ý¿þ¡H:5çÌ?]¦ßyŸ­Eà÷FóÏœ}Ç÷ëý¢Ñ©LWgy{ðiîû+Ò¤¡?*2+ÝxýäïóNÚ*pSßµ–Æ© BÀÄ$Ð4›¿².œÙ÷³$¾`¹¾»˜w5W ÙrXÒ³ŸÕÜÕîû.4ÝçÛÙßÍ×¶ÿjñüuuûs‹„¯okýºï€(9Q€—~Ð –:c±Éî6–lkDÊÒæNŸ*¾ÿªí ERâ—mo"Â@€ œö-¾ýü¶^ÿ AôýÛÛ(PsJ iìÞ -ÜKO(Þ}ôò5û,¹»„vÎxì§'ž2ñûwrÍNž$ìCÑ.‚wy7ES‰%.Ŷ5ì8hšŽ“$'ßõÊâÇi¢ò¸ç“»lÿØÆ‹K Í¿¸ÿð˜ê‘ïÜ÷¬Ð\æyþ6ëvZ×Ñ•·9ÕÙ³CìYš²ø[–…©‰æ®‡ïr¶‚ÊýTýì;_fôüýËÛEM3`ƒ'ZÂÅé ˜Ãÿ¯#\'¨5¢dnnnNNNפ»vDÇ Jçµ:(ý @€ q/@±b>Ux¼9??ÅŠã~:#3·“’®Öëûé[sìÅŠÛ„ý¼ËeJíØßé¿Æ˜)å£/2¿}ŽmÍo£ŒC~wî›ý+ 4K†ºòUå”-ïx»ù@} ò¼óÅѬ<9«1L÷¢ï–-[N|xr2bÖ€ @cB ///;+cL„2ƃ´¹·-l×ë¯Ën¼‘HüLÂív½újÀ-Ð~œÔ¢öivo±b0ý* Ô—›ÿ÷µæ*áüÉ@|rý1: @€FE ßÔÎþøãâŸQ‰c„é¾'yX«°ý*pèè~4†2Æ€ @€ÀI8±»[Orðƒž"¨ÎÛŒ‡¼Ú;ÈäP4笈x^TL € @½&ÉÚfE®eQnï¹þ÷I¢4x W ð„»¤˜ @€ú µëkÒ·J}M&V à‰u=1@€ 0ɲ³³Å§@O²Igº6÷‚ Jƒ@ßUïë‡è!@€ 0(¬m† JƒQÏu‚‘sΪ’Š‚J³ÅC°!º¬ŒØEŽ£»ínæÚp¨ØÔÓCü=U}ØxvkîM%ÛÕú댜J»4„ @€ÀDj4‡CEQ}¢'<¿q•ÛAf0œðœ'WAH€y—­×Î_¨“ò ÅE;7² *žsŠÌ…)3BÚÿ3#ƒý_›\yÙ«©awýw«nú%Rzr]6Ì€ @ƒH[½úÛõë1Œ9pÿjã'¶ Âw.WâêÕýOg{ !¦ä¡³ÒÚ»¥õÛàpð„Jà<ÆÒÔÈ-Î’,G¹Z8q™ 0>Ú€ @ }×]”Löåk¯qG€*(ö üküøÐryÆþ0ç¶Ûœ¸tCBì3œ`oµqŠ0¥¸ÚëáÝ.sþ޽yœ Q†fÎŒMô–ÿ G.Á~°è€ @ ÈyyyÙYAîtÂuÇI¥ ï¿ÿŒÇ#ñÏåâ ‚`k;ˆñ³j=샙sÖÆüJ"9S#“R‰ö”ųŠ¢xwCEéÏ{«Uó§„s4¯¥‰¡-»íõvEŒ|,h"@€ ŒAžç-mÇŒ !A`4‚¶*Ë;šwí5J’ÒT}R4E“IKÂbÂÃy‹ÑÎ}bdäʘ³<5w_V¾ÏôÎÑ! @€ L$à¬É Ζ¼üj>!eA$ë'¥ž ™¸X¨ý¢j‹$ê‰÷ôXžHŸJÌ€ @€ÀøIW‡:Šà4í)¨rÆ&͈oŽæxÎn®19]â¢/ï6VÖ5J5‘ÞÑA>xS§L•‡aÿsaÑ @€ ‰'pâ+À‚¥ÎXl²»M…åÛ|HYÚÜéY¬£¸°ø{+GP´B£ÏΈÐ!×öã/ø)C @€ÀdÈÎÎ&x×d™-æ œ˜À‰'ÀdHlÚêØ¾Q„-^Ö·4˜%‚ÍUZÄIÏ ñ¤`²¢/@€ @S`d–eGÃÊf}ï–¢­ÚðËÏ–" pŒ@€ @`| œø ðÉš¿B¹fýÌ5'ktŒ @€ @ãL`ü®3h„ @€ @'W ðÉõÇè€ @'$——wBíјLH€'ÓÕÆ\!@€ Lb$À“øâcê€ @€&“àÉtµ1W@€ @“X OæœU%•f‹‡`CtY± ж¼ZpוWî)3™Ý„<2é¬t5;‰¡1u@€ @8¹AH€y—­×Î_¨“ò ÅE;7² *’o*)Þ٬Ξ)§HáäN£C€ LLììl‚wM̹aV€@°‚SòÐYiíqÑzƒŠmp8xBÅ™éé³#£ä¤÷\Û_8 @€ @'K  °Oè‚½ÕÆ)”á1›M4«(9úYƒÓMÉâ§&ÌcqÃñɺÌ€ @€‚™“rÖÆüJ"9I#.úòn—Íl¶kãÎZšqÞ̦£ålƒÆç € @€Nš@Ð`ÞѼk¯Q’”¦òö)b˜)gI’U‡NaF+Òf‰!@€ @`Ò 'œ-yùÕ|BÊüÈŽ}δT&åÝÎŽE_ž·OúO @€@Ðòòò‚Þ':„&ª@`ÁiÚSPåŒMš!xžã^ •.–6¬²¹ÁÖP_æVDªè‰ŠˆyA€ @€ÀØ8ñ‡` –:c±Éî6–l›/)K›;}n¨|jz”uÿñq¤T•6=!oûD@€ @`â œxL†Ä¦­Žõ#D+tóèæù9ƒ"@€ @€Àh a ôh‡Œñ @€ @C@@€ @ŠÀ‰ß”0†Óɦø»óx8= ³ÍŠ[+†ÙÍ @€ @`Ô°<êä€ @€N†à“¡Ž1!@€ @`ÔÆs¬¼`ΕoDʃaF%Å]¸53ACÈÏ˺òÍhÕfá¹w6¶Þ]&ðV×ï[>6cúè€ Œ[¼¼¼q;‡F[ ÷sΪ’Š‚J³ÅC°!º¬ŒØÑRrô«cbAçA²IYé ôhÏoÜŒ'TTxZÃ$é²ÁFLɘ_/¤"~껚·Ë]zŽ"­Òº¶Xò÷6¦WF/Xl›+ÛX¡¾í•˜iþºðÓ+Š @€ Œo $À¼ËÖÀkç/HÔIù†â¢‡› YmÂÔKâ ‚$à?´FåeU1Ê“{xøOó¡§!&hjVœ¿•jߺËIÎP-–t’ìÜCÖu•’ûâHñRtBý×Õ_4þ÷õ°)Ò“;oŒ@€ @`Ô‚SòÐYiíÓzƒŠmp8xBE“T{ÊEò¦š«6:J曂k‚ õì—’¦.’3&ÓûöïüÞÉËC2Ÿ™µXβ‚uÛñ¯î©h´²³g]°Ú^Cé¢ã$R©«äá½?nvðŒ,ñÞÌS/‘Øì•Ÿ¶ô– iý¥3rî WK9Ó—G¿z ºÙÞ7h[£óá­Ž­­‚\ÃÞ¾\~~(IÚ]üÔIì¬á›ÄÌYò›óŸeÞŸ3æ(Π•v×ÚO\S¢‰Õ¼ÉIĤʟœKÿøõ_Õ<õ±iœN%xå<Õ“I”˜Ý:êìWmåo^¥œZcÿÓΣnrJ ;›k Äîºå#×Y¨Î']üʳl:ñöv—1Jùþ"á³&zåbÊ»ÚNÓ§'Q·ñ4ÅJô>ü‚£…—'ÊõÈ~û^R”@€ @VÀßâð'+Ø[mœB©ôíÕm>j$âbUìð» ÜR–©#ÞÙýVÖ·<çN¹3Ö ÞìvÖ¾]øá’o×-)(KIœwjû¸”ja¨í¹Ý¹ËxïžÖè[ãÕ¤ê¼iKOµ|Ö7oœž,D§Wõ†—šó[2õ¶×ì>štÆÕ!}·o»W*L—ùçäÔi !>’+–µííY|h²OMqs0%Ó’Îwûvb¾Õåôø> Š”EHu‹³®üUGÂJ31âp÷S½ÄÁÝN¡±Ùµö—7ÙAezB\q&I­¤ãúÒ©d:B ÉÎ[I2¤žTÊ gá»@K«˜•¡ŽÏ+ùÓtîŸÉ]a¤£XàYJÛ¾MQ)YÙëãCS ŠŽQ.BÂ’]ËÕâNt9%X»·˜_¿²8/&⎕²Î ÇÈga@€ @Qà$À‚³%/¿šOHYÉú®)»šëË8Í‚PÉå¿^Áw?0%M|0=­¢ðÓ»›ìIÂs fwéõÚ6ÌóÎV —ЄSÌI#é±.8œõë|ülkœ·Çµ`XÒ`=|l†¯¢Ÿ;…û\A^¨w „JTšÍ‚DNJ|ŸÂERóÓèu‡ÝÛM2V>ƒ%R’rñ­&æµâÒ¶¿ýÌ]¬D܃-´çõ^^°ó¤¢{ÿ¶*ä†w§¦îŠ”³)3kµ'pn nC€ @Ç'ž› –:c±Éî6–lƒ eis§Ï ¥9KÓq‹,uš4Iö`…9GéëµÓž\pÝ<Öƒµû?n ØR0zø§ÌÌÓ·œÁXmeÿ®)7*}ëºvÛò´eož¶4”ÌÖâÇ ¾-÷t­«¶O”enÍ‘=ù%çÁM‘‰Iò§OcÕì>AJé%çïþm­ò銧â(Š"WgÐ7eZ¬dÿv‘b±”9/šØT#y@ç]Ù¥CØ?/òüéûÖÅ[ÉøxéÊXª(ð(jcõ°KãÚæSgô´†²)#ò²ÀAà  @€ ±'@ææææäätFºkÇ^½#Ò¨½iæ¦În{·‘ßWÜZ1œ~;__ô«žîÙ•ðã6ókjåësè!¿ªHà?ûʲ)NõÜtŠæ¸n=šò—Ò÷k¡î㢇·hî|*,®Çº÷p¦ƒ6€ @ठäåïÏÎÊ(<ÞœŸŸ¿bÅŠ“ ‡Æœãóìß-[¶œø ð˜›áH$?sÆÊÿÓu/¥¶ŒÔ@aktý»†º`Ù¯IåÌ—~þã§ÅÔ*ÇçRÙSq=²_o•°eÑçî,{üw®?¼3 9ðÈ]Iô @€ Œ!$Àƒ¾öo~ðoía®÷? ‡{ã Ëú&rÙbÕùƒÙNí¯7i¨ôå‹ÛN¤(sSüÕ C+ŽoHýÙ  € @˜¨H€GýÊÊÙ®|K.C_ÿ+Íõ£„ @€ 0áÆq<" °þ‚c‚€ @€&«À(>¡y²cÞ€ @#'=r£g@`‚ ž`Ó @€ ÿH€Û\š7­½£Åäß(ȥΚÛ6íúÔ. Ø-塀ûë¼ÖkØÕhWà­ï~÷ý½5îñ7×ö#_>Ýâm0Œ@€ Œ‚@0îæœU%•f‹‡`CtY± 1¯æÍµ•¿m2¹ZªJž0S/!GaB£5„½éÈõ{ø;OŸžE4=¹uç;ž$H ÃÆ„FÝ0;m…šîW |¥±¾54|KRlè3eᲓÎÖÒPuOx úW¨Ý׫ó#ß^rÇ)º÷~,›¿dÞÅJÎUûö‘^­k²Ôä~¥Œ¿9}ñù ZìÆa;öPÁù†s7¤E*Åßû4<éh¨—õ!@€ 0I‚ó.[¯¿ Q'劋vn2d”Ζüãö˜Y3s4´ÍX¶í¨1jþƒ7˜ #aÕ,§sq–¹îŒ…·ê(§Óº»äðCßï1š}¹zX³åÌŸ)×Î `‚’eFÊN¾—oHCæ§p"C÷ µûzu–·—(iFÃJ4 IØ·Ùš+™{{TQqÄâ‹i;#/ _߸kí¡RF&“tõ×»áPMP€ @8IAH€)y謴öði½AÅ68<¡à9ÉjäbbAÈU 9a÷œœ¼_þIÅ‹/·Tä™1·Þ¥‹SJž+û¤ò•W[*ÌDHFÄ]OG†ŠñÛ­Ÿÿ¹æ‡Ýn·Z±üOñ«Jèöj¯™jl„")ôÊcN‰£:Wûh†Õ°œJ\çåº.)•ªO›õû/®?{^¤Ž$l¦ŠGwýÖÂÉT‘k¤¯ ¡}— {ŸU:>ÉÛûïµíÛ*¢™¯ý÷•ËO›{>müÓ÷•Ñbg½­ÕÍ룧=™Añu5Gîɯ<䦦D%œÃ‹âç=Õ§õî\ÚYsÇUSô®[“‹LO›¶Ü^ú¯Z{³›œ9uöC)j¥Xáûª)B¬`róѱéMWü´§3$iH*aWÎXøXŒTœ·£éèµ»ì¿;}Ö©Òv¾¶úÈ=•Ç3‘xç@eaÖû #¥~d«©ò‰ÝG·˜Ü¤4ôÚ…ÓÊ|4–N›fóžÝfæHVuvƬ;c•¬£º»ÛФs]Õµi=»aá³_Š#æžr§ªózu^®Ž+H3z™T¼Ž‚»ÕÍ…jBÃíd9­HÖjÚꑉáêÙ‘ÆM÷u]ç^ ;ûÿ!@89yyyÙY'glŒ Œ7 $À>Sì­6N¦¤J®IÕÖÖq’Ú¢i\RXp‡$´­ úÅÿç½–±$ÌõÍ}ů¿'ÿßßÈ]{j^øÎó3OM Z„a!Ë! ñDÊ 1 _–>örüÙQ‘ûk^x‡¸à•™‹§e–=÷Hý”ç#â:²=Jj¸fšæg÷«$=:”Ù×TÊEꄦ—vs© ¿‰“U•ÜžW:mirjWän?g/˜=}WKñÌEóÖˆ9™³æß•=ö¦|éü×r´JWÃßy§Ùp›¢þoõ ³—¾%1Vþn·=3ÞÅ_çâÐ{s¡rÁú,µÐrü†m¹Ó¬?KØKoþéØSæœMGó~Å‚7rÔ2gÓß>«?å¡îˆ²¢Ýk+š££ÂHîxu½3lêì‚·×þmo}ò쥯G³ÆªÂ›wºgô¼FnkõÕI÷.[–ÉÒ¬»éï}dRø¦v;SæmŽW‰‹énVê£!¸ŸØY"L]¸%Vá1•ÿïŽýï¨ç]-%|º%kJ›ÿØ3¼9 ²P«Ž”Q}¯WG ÜŸ¯b’9->ù­½o#‹•­­½Ú{mI­:9‡ð0 Ýßßôj8ÈO"ªA€ @']`¸wªú œ³6æWÉI¹˜:ld\˜Ú\»c_y9šbðî'ýƒ+Ýj&–„Í£(¹lÞ¹²æ–FWö­™9=|q*ÍHh]Ó~o²,MwF–„&ɰ,u¸Ýirr¥bµÓ óÄU_ŠNX6ÝÔ²£¸}]Ó;J:U+cýMIÜ"+ãÜâS®¬-µ;ˆðËb”R’NŒ‰Iv4ì±wwÐÿÙÞ3!ËbÔ*¯kÈ,¹§ÂÁ·6˦\)“ô”èø•=w\ìœ 9=J%.‚Ëê8yÈ™Ñ! ‚`e!IŒ»ÚÙ–ã‰E«ÄBJzAŒä`M«­;jJdtlkõN‡@xÌÛê„y±ZuçYS³ñˆlÊšHCP1‘q9}v€ ¤×«½„d¢ÕJo²Kêõ‹7,]u»VØyì£Ó¶¿EÜÈàÿèÕÐ%”B€ @cN h˲¼£y×^£$)5Í»-˜àmõ?ïo ›•±T-4W”ý´»<{^|´ß|q$Mk½§jWñÚÍÞÕ<Áà ‰J/XxÙ\¦×Ôi£h/¢’xB°6ò²ÄÎj,­SðMæÁìãv»œâ ¤!$áv;[ïØ\í¡Ê÷ÑvnRö6Éh;"æ}˜ ØÝ.ž•iÚ¿Á $–*÷ië¿sqh’öÞïê=HФ•í;²IRüwÇÔHJÕ±M›TIiW‹ÇMtg¢´Âp®ºä £ã4µñAGh¢àp¹…®xHÆ ¡ªzÍ…–ÅË:¾pñžÇåt0ªŽõqh?«îè€w×;ìnXͧÛÀáõéÎ#Q§*ôkÄ—~¾Î˜yz¼¶{K¹ÿ(… @€Æ@p`ÁÙ’—_Í'¤,ˆdÛ3GK‹Y¶PãÍ¥tSbRëJª-\´n´—I…^’pyÜý7(|ro®5”²=¢Çª´øgñŸƒT(GW5—§ÑJéÚ¶Åö®üÊf"tFŠñ¤Ø«r7Á×+6µzWg~ÃSj#fóµïVYlâj¹ÓnópŸ¡½M1$«],-ÕïÖÓó#•}Ÿ‘Ý+<ÞÕøÂÏ{ßóòÁu´ú»ËzçÆò²wï(Ô-¹?R9Úß× #ÎC€ àG ;;ÛO)Š ø8ñ`ÁRg,6ÙݦÂòƒm#²´¹Óç†FÏ)ß¹cßN1£eq© IÞWú¡ÈоõšÊ—o+|ÓÄS*Ùü[oŒ¡CÄÜrYÅË7îÍB„dEþùïíüíØö¶k*_¼ùÀz+¡H ýŸ‡#SÄ{cýœyÝ·›×‹·™J¤ †èÿ;=åtñ9`¢„Dwóü”¿íÞµ¢Àí&™„˜iËV„tvàÿ,£¹$%äÖßž&~⃿Á:ÊhEÔ]™¦{ö|š‡ŽÊÒ0VŸÚþ;ï§»®¨Xí"¦êæ/öU{˜™ÉG±Ét‡tzÆ"V{ŽAØÜ¶¬ç]¾ÝñpL\düy²âÀÃù5¬—ðÈîígæyH©îÆÅÙ×h}4NϸeAòS»vœ]à!$ª³gÎþ­Ž!Ä›€{d¯ð<ΓÙé °¬ìÓ–Ò¬šyé*µýÈÖŸ#–ߎ½Ï½eñ; @€Æ¿™›››““Ó5Ò];ö'¥Qw=ziì;*òæ7¿/(ŸqÊýá'öFç[‹Î÷>Ç,Ðáþ)oûªÙ¯L é|t š'¥üÄÂ㪚ʫ•ñó¼/zÂ@€À¸ X‚woÎÏÏ_±bŸAB£&Àø<üiË–-øßüQ“ö@¼óH“¥™WØùÚÚ²OmŠ9ªÑزk3U½Ý ?ŠrLf¿â‹—O,<:F—ˆì7ØŸUô@€ ±!pb †cc“4 Á}àXþKµ6›@J¤ê•™™gô&s®uýO»ßleÏÌœ³²m÷Ø:Æxxc Ñ@€ @`2 ` ôd¼ê˜3 @˜0yùû³³2°zÂ\PLÁÀèàz¢7@€ @co#ëøpC”€ @€ 0γ †p!@€ @`x=nþºäî»ë8Q‡¯ÚXz{ξë/*ù¶R|tòˆâ[d¿|ºÅ="}OØN›7­½£Å4a燉A€ @cD OæœU%•f‹‡`CtY± 1¯æMÕÛ5™<¤L67#:ZÚÏ«eGL#dVøåa’Pñý@&Ë'o»–má¬Ï«Œ\;i?Õì"H -ѤÝ9ca–ië•a/ΛÞÖ‘©ñûÕ‡<žÆ™¬/߆‹V*=_ïýàuíÊ·ãC%m¼ãÈu;ž;åj™'ÿè‡ÿS­~dÁŠ‹äíß™86çøAÔEohì½Ú‡qäðþ«‡ljÊMkWÎ÷#ërîý™K>U¡šè_Á åC…º€  C ;;[|ð0¢  0 ‚ó.[¯¿ Q'劋vn2ddæÚíÅ\Jö¬$¥`ª*Ûq¨Q=ËЙù¢3¦œæ³¸šv~4EÒ„oŽ)¿á·~3´‚d$¬šå”4£a%†$ìÛŽl͕̽=ª¨8bñÅ´‘Š£ˆ ÏÌô¤KrS#¤œ½¤ùࣅï¾àõ8Œ –}¿Û³7$qÙ§s"ÂIû¾šÿW°É6gå !}¯IÀNÚú_›θMßßôÀÁÃïÌξ |Ëk ÓŸŽPÒ‚yKyeLüy§öÈ~ÛgÖ«áÁôì´~§L)…êç—.™æ›J÷vèèC–µúªWÄï^=ì¿SgqÓ'3×/Aìߥ€ @€Àaý’‡ÎJ3„Éiš’è *Öåpð‚Ëbu©B§¨(’¤µQáaÎæûHí;îÅôuñm·5Ë›ÖÝW{¤ÒôòšÂû_´Úûká{ÎzìÛÿ}|ý[룯]óз6ò]gi†Õ°¬Šfô2©¸Š)p­n.TN“ ­HÖFÆ÷\É¥iyŠ!ûé™É5¥»¿s‰ŽŸK÷×…ŸþD|L¬„‘2!óbO}8ÒñvIyC`¦>tEC²íâÈ­«¥Ž »"1ì@éá#an.XgŸr]¤¦oJÝÙÒ§a÷ÜüòÐS§dÍlÙþl££GÅ^~› uŸßrEÕa[ÇYwEãk÷×ÚUóÀ¯ÜûŒÅ{9ìÖÏÿ|è÷ËÅ êÇs·»½;Ö¾|cÙÝ+ö^}Æþ?ÿµ©ÊámkÞVòç;ªþyû‘».-¼é£ÿÜæòÖÄ@€ @`PAH€}Æì­6N¡TR¤D&¥m&£KcK½Ýeö¦}'é`¦è®{(2-VsÓ{éݬ”6 eêüùÚçï¹ê®¥áQSÓg‡vsQRÃ5ÓÂÃåùéñ3‚TžŸl;¾ñ¶ê¦bKkk€©jÕ‰s©ÆV7Á™òÌDFX¸¶;vš!’6W— ”Óuwâ3 »éÛê*gHt"M†æ\Dy£Þ¸¹¼*>!kaû†æsöi Fg1ÏÄÝ‘¢ûáèî]Ÿš½üöAÊ#d ©Rug.‰Õ_»V5+ê/ŸÌ|ô*ñrXYˆ‹R^Ø’ñÈõôö—J„­ úÅÿç½–±þ‹Ôå¦Ú×ß³·ÝY-4î±j®Kyòýô'ïU^__Ô™Tû…€ @€|¯ ‰³6æWÉ™¹¸G64jNDéîûv“m¸VÅvÞv;ônOz —ñÀ»yÒs“¢÷ýº€’NmË^£;ò:½~ñ†¥Sß=°éÇ>:­bê“YKrÄνŠÕÑœ‘ÁÝÂ1¡LïF&ç-–ÉswO]¢³çpɇ™%'Щ1§¾4#9B,£õ—%„¯>¸éiÊóá~vT·uÕ·¡³w´=~ŠŽ<妚Ϟ«œ¾>AÙy²·ƒ¿NBæEß9Ï߉Î2YšîŒ, MaYêð7Í&'çÜj&–ÄÍ£(B6ï\Ù§,WÈÅA¥)Úù©bEB™¤ÔÙš[Ä~ýõŒs€ @€:‚–óŽæ]{’¤Ô´öÇ‘’ÈäÔ•ÉÞqgó»¬J?÷¡ŽÁëà)Þ²ááoê]„4ó’ËïÌ¡<Íß}yP¶tå)>Ë¿âf$êT…~M‚øÒÏ×3OñÎ:Ž1ˆy/)>˜ËSåé±›Øãq8hÙÀ7JwuBˆ¹23-ñâÜTݱãßncõÞÌPBCËñ<"üA¥„ 5Ù!Ħúú–°ØÎ]Ю#Fj^bÿ>]Ï;”͚̌±s׫ͱÿ§kû¢dÔ4­”°]_߆”šeÌv‡¸ܾiÚåj5‘2]GRÝ1]V9㞘¢[Ž¿š ⢾7™î™i+ô’„Ëãî¿AÁú8›Å‰/ëòg @€ ñ-Ð'Iút§iOA•36in„DàyŽÚ—åÚþ¦úÝG,š¸0靖ÆÛÁ5ý`»pÆÙS# ^p­þîòŸÞ¹±¼ìÝÃ; uKîTú¶ñx,ûª¸á@yJBö"o~);%!#¼îÛ{Ëkª=¼‡³äWþp_ôŠÄ8Cà ¯O'Ýž´4ñÖXé×¥Ç+†¸$êÓÍ×íz«Élx›£æ?ÇYôi³{çÐÌô)óϰíyE|ûÒ`Ááiiâ<>¡QJšn²-„à?^:q¹Êý•ñÇ"N\$çÌ®Ê*ï8 @€ œ€@ïìfè] –:c±Éî6–lkMÊÒæNŸ«q-há)‰<.9ev”Ÿ•á¡5Ê-çpŒjVÔÂWÒâu}rR}KZÒ7ùÇ›’ U?¶CÿÀ3úðÎ/äÓ +’ŠŸ=Ÿîœ„;æø T‘}ë5•/ßVø¦‰§T²ù·$Þ3з~ºA @€ .2777'§{Ë/é®û:µ:8A¶½¨vñ°Þì?®ª©¼Z?O„•uÿ#Œ§ÒNÞ9Gî?¶yvÒÝyߌ€ U /¿xpáñæüüü+VµotŒ{†é^Âܲe‹ÿõÌq?ËAN€$Oåºgßø`Úò.IP ²U?Õè]bL?ç>eÿæàg7uï.Öè—þszœÏÛ’î¢O‘è³Ï = 6¼vØæ–Ä-%®¢&ÙâE,²ßÐp€ ádggüàoÍÎhLɽê\IDAT€ @€ 0AO ‰i@€ É)——79'ŽYCÃ@< 4Ÿ&\YýC—–îi%š¿.¹û®Æ:nh݉ï þòé÷С6 @€  C ¯A\–£G+ÔÛíÁªB3gÆ%«¼yµËT·ã@uƒ`Côs3§L‘‘ÈoÜ4 ™~y˜$4à«~ìMG®ßÃßqŠî½Ëæ/™w±’sÕ¾}ä‡Wëš,5¹_)ãoN_|¾ÂÛÚa;öPÁù†s7¤E*Åßû4œÐŒãæz#P@€ @`ü #æ<¼:êô©j5Ã5”ýt¨Þ¡áÍûÖ³)Ó/gZÊŠ~9Ô¨mPMÀÜ­sJL˜rvX?ן‘°j–SÒŒ†•h’°o;²5W2÷ö¨¢âˆÅÓvF*f¿|}㮵‡J™LÒÕUï†ýŒS€ @€ X  0%×Nkц*¥µ.Ox,-õTè|ƒ”& }t˜¶ªÁèЫäc2nÞTüÌ~í™Bý;Ÿº§?4í®â±/Ø4Îr¨Êm¥”+ÿ m~ßXPå±ÐÊ ÿwöTšô¸vÿ£ôŸŸ9œr6ý,eûfÓ×Å÷ª½ÿõUÞÖž!f»âA3¬†åT4£—IÅrÁÝêæB5¡áv²œV$k5m€¤Db¸zvF¤qÓ}]{©{5 |)q€ @€úæ=À¼ËVVÑJè´†p;œnVÖ¶§WLþX5ãnqðýrRÏ ÆÍµ»#¢Û<ã–SÅ|Uh,°EÜ’úÔ†:Çõþ}õÊß§=õaú}y6­kmá…Æ¯«þõ‹üšÜŒ×?JZd1—YzÅÞ«·ö³”ÔpÍ´ð0Fy~zü † •§Å'ÛŽo¼­º©ØÒÚ*´W"µêä+FÐQ ÷jxR08 @sÙÙÙc.&ŒUà$Àœ¹öëm{ÞÛv¨À®ÉŒW±„ÀsIQ½“C ž±›ÿŠYfTèE—…蔤-e—¥h²(’ ÂS¥¡)š¹ÉâϤ.U&3¹Ì®ä{èJì0’dÙÙ†ÆÈz_Ü^½µŸ¦¤Sµ2–d¢ÕJµ¸&Lêõ‹7,]u»VØyì£Ó¶¿%à÷½ö ¿C€ @€À ‚°Z‡‰\~z¤À¹›j*~ÙSA΋ ·>ó|GÎ+ðd‚“kjVC®$1HCÙîV´Œ‘µ/^S¤øÛ±M’âÂ,Ï[Ze8Ó.Ç„0 ÆÙk¼^½Œ†‘¨Sú5 âK?_gÌ<=^Û}ëoÀF8@€ @ÃfVJÒ}„^Ï[ì<#—KÜ[û¬œ«Õè¥ÁkX“ ÜH\àÿé>ú¹W™¢”!¤­ó´Õæíœ³Ï«z÷æg\Á^Ød,s¹Ý„`s¶”¸(+Ã>~f€"@€ @ãLàÄW€Å· YÍ”L+ghÂÓR×Ô@ÈãdCk#…²c ú¹áŒ©¦¡Y¦Íœ(¯A¢—Èÿ]¿ï¬)s´î½7WØåC¿è‚ëhõwOÕ›š=Jbš³ä±HeÀW( ½{´€ @€ Þ'ž¼Ó´÷Ðñ/Þõ+SiÓ3§D{w+gÌÛ¹ïІý¢›“aPO”NÒ3å×K×]¶ïE…4ë]f˜£·êÀ¿SšU3/]E¸¶ÙúsÄòÛ±÷y`2Ô€ @þòòò²³2üA ÞdnnnNNNW1é®í]eìý®Q«Ç^Pʈ«j*¯VÆÏËÛÇ514‚ @£$—¿_L€ 7ççç¯X±b”FÅ0€À8`:žÞä wË–-AX'“aÒ1ºÄ˜1‚‚ @€ 0ÑO´+Šù@€‚(àvs…GÊ«ðxú<ô1ˆÃ «É-@QdZò”Œ RoĘÜÌ#/€xä1 @`Ü ì;XÒØâ¸ðÂU …bÜNbTë­·®ºêªQrüÖÜÜüã? …%ó²ÒÆÿl0@`L Ó—ÁA€N®@qiÍy+ϧiÚéìýÚû“ØXVC½:J¥òÔSOݼéËá%ÀÙÙÙïê ¨LN$À“óºcÖ€ A 8]n‰D" j£R›¸†úAÅd2™Ã‰$v¨r¨ Y ðÉЀ 0©xžŸTó=ñÉ"†!І†&€À0&~ÌWZþôó¦:AvÖïUÇ6 —¾<%]9 ©ÿoïNà›(ó>€Ïdr'MÓzS P(ÐV° ¢ˆX—u}½ßWÅÝUÔQÑW„u=xQ´€€×âz X<ð>>v½vÁw7´¨åèÚBKÛÜÉ$3³O’zLÓkÚ&Í/ä™yžçÿÿN ýgfž   @ :P™t÷¸C¬»bØ€@¿ HP ¬­¼üø¡:§“£”ú¸¼œŒQz™?ÞZ[õƒöä‰Ù“Œ–~Ë+8‘ÅöÑ®s׿Ü0‘¡lU® éÿ 0# @ rPÎu÷ØA¬»bØ€@¿ HQs^Þ2s¬Á çêÞy nH~R,í©=|ô_u´VI÷[2"qVö4¯š<’ñE¡Uf`iA$4A€B œ #º b¢,}×h2™ò'åöÝøLÀ2q\FÀDnŒÓ©jY–Ü+ÄÐʘÄéÊã¥ÿö ˜§òô–Uµ‡ª½G¯ß¿£`øò_Û çnx)}<.¨C‚y!@ òºXÎÝq÷=ûÊÊ‚éåæä¼ðÜúÈËVŠˆ»(˜Š¸Ñ2úù Qj%…7Æ€ Ð  ààl<먬²PñÃb}£Ê㓌稢nÝHÅð„ß=)Ô/µ^öÊÈɱ{ÈÖ ì @€€O ‹å\Ëê—ôÚ·;>ån%ÎÈš¦»Õeð‰!#@ý& MÌYk¿5U×±‚Ò˜<-K¯ì·ð1 @},ЭÚlÏîH8çžùo·:öqý:|·ÿóó›IpN§³_CÄd€¢U@š˜‰Iž=3Yà< 5U»öTÑS2RÑ*м!@ƒK ‹åœi×N’·Õj fßyG{iá’G>©ñžé¢Î¾¹pýÂLU„vžx‹sÍuäÕ¶×_íBÒ‚»zç«›Þ(>xÊÆk3ó¯XüÛÿš;P ž XpýâÙ5[wâTº!“n|xùÔ_½ÿ»ÙÏ<:+~@‚é(v¢P@š8G3Š„¤„„cÕõN>E1ÐGáÁDÊ€ >èb9ײô DÑ…Ž2F›uëËënËVûJ%ç¼,ëDîžâë¾\õà·3ÖüßÜÄðÿ £ ‰Ÿ=NäúgšîÚÙrçÁ­«7ÿ8úöu+g —›ÙõÝ!…\â‹§{àÌŸúnËöÚ‚ÇÞ¿i‚ph÷O\ŒŒbZ&ëZN’¼aóóó)ž•d(  zÞÀä[ìV™Ú¨‘3”·éTC=¥ÉP‡ÿϦAd‘  @@N˹»ï½oÿÏ?·ŸlæÜy9&l,|¦ý¦æI´àq9dýÌ&E#ó•{"åqÈ®ý¿±[1~ðN‰Ðfë|¡®éèAˈ«Î®¦xʘuÉÕÙ¼‡å$õè³ÇÑÄÆŽËMW¹\Tæäiç©÷‡‡ªÿߘhÞÀï6ï=PQïâZ¦Ö'䥧â&à>®˜€ •@§åœhõ˜}YY¨î¾b–üÛªTâO?ºúÇ„4«iÏ‘..áÌW~¾â?—9„ÿ¿åÒBUÖÂ5…×'U~ùòstñŠ¡S·âŽÔ·«V}éÑÛ«s«3.Zt÷—fjiÁ}âû ßø{•S‘<õæe¿Ÿ;BC*^õØßc’šL¥51³Wn¸êäš/7ޑˈuiÒYúŽ/ï •r»£2kÞ|r 8P·ÛتA“ž¡:þÝ7û§]9Þ('§<¹ækÇÝ•ŸlÚ´£´ê”•7ŒšuçC‹§å¼ûðʲËÖ­šEΘ VÓ³÷o_¶æÖ±ªö gÏZx*ßy¸µóÂLªv׫ë_ûæˆÅ«Nš|õ’;/Ë´ˆJ8ýí3z£¬^Xys±Lð:¹á‹Ö®í[ÕwP}…°È!Ày’Ð[!>è}L«Ò ¦§‰GÉhsÏ'¾©Z™ô!+ߘK96åñ7ûgZÌ@4Ý*çÚgª;©ÜG¶=°èÝ@1©Í¾åÉ• TŒ·¡–¾âÞ ÷©Ü~ÿcoþm꣋6½žüÐ=_lXy¢à²7(Úô¾ãЧ߾r¤ÒQs¤†¬¢lgx·<ÿÁMëÇ©Nýø—Gžzú¥„§þ0¡vÛÚ"ûk>˜ŸVÿÅ÷múxÔ×fR o®W^ùÀ–S–V9ê[¾T;Ê_ëÒ.¤•—%·,[å*eŠšuÙå2™lÁüùw/¹”¾ä9éì/… ›Ÿÿì‹/yžÿú‹ÏÚKRÚÜÅËæ¯zbå¢O2 ®^´pNn’ÿÊqЉŸxÕ²K3™ê¯ W¼ðJÎøå ¿ðâ¤/wï;=³`ˆÌZ¾ënÚÙjÁq¨=Èèà-×ò‘mœí–ò·Ön9<íá­ëò´5ÅkzzvõŠY‰-~}2ç‘ÕË×Ô/Þpß$êŸkïÚÂ4_”íOˆ¬îUjF‘$Ñ@ oð\ßúbt@€@¤ j³ÿ `ˆŽ¾ I5üêÕo|üþ{Ÿìxï£×ÿ¸ •!'„)eò¤üÑq´‡IÉc­5;]VKöfmMMf«ËKi1Þ¦]¦òZ3§ON"§zI/F7$VætxcϽáöTéΊºŠod.¹ñ¢$ÎÎÆO™3ÆRºï”Ç·§*eÒ¹™¥J§'‹v¶zéè¨KÛ|áˆ>ˆ†h{°ñœ¼xóÙ—ž»P¡CjbǯŸzâ±;—.;|äÈ»ïïÐiµ‹n¸žìûæÛEïíø€<–ž¾îé§:ê-x]v/3lÆo gݸo늇¶M͹ó\­ýpñë›v”Y)Í5ºb'ú“%N¹(ñÃ]'ê8¤½à×iJêD|B­‘5äiΧÆóª!‰jG£\xÝî÷ÇŽîÌá)>eZM&Sþ¤ÜuE'@ êÚýuH€ Pä$]¨Ím ÕÝw6–T­¾Gp˜æÙ|§}çRýåo°4S§H/¸󼻎®|é¹ÔáNöÐÜËYWeQ Óë ñÙ7>¶nQà*_RO»l6ÇÉ{¶:0Ói—`H³„J™rùæõë–ܳôÈÑ£¯m}S­R)•Jò„„5,=í…ÔjUKvÀ‚×í°¹éô¼qñŸ$‹f»*>,|Çqí3[.KQXv>¾x[óý·CϽ(éãÝÿ*ÑОÿ›d†Ø‰fçj·Œ–@>Hðç 0$¨,U§|ZŒï„¦š“n݃¼m~dëæÓÞX2þ!º8c»Ñ@ ¯p t_Éb\@€Ààð2!¡Ó쬫àeÝnÖ÷p“‡‡”^d¼`'ÿØþ«¢ ºþHµÅãvºØ¨é~—Њm ÔÀ›ÖÞñ‡{ªŽ'ë`¥¥¦¾¸é9Zâܯ ÈuLÝ÷ï¬ÿèÏœ61#wÎC›åiܬ0îšÛ¦¬^·ô–ÍúŒ)Ó2“‚_ÆA'Lº(ýåÝLN’N¥‹e72¸–/ÔVÎÿ;?sáª;ìk6.ùÀÂkRÏ_ôÇeéæËÈÏ$濼¼Õép}ö¥ùÎÇY¶ëŠkþ'§ý!h=£Ú ô™]TT4gÎœàø´§¶Ïæ’làXƒA²±0 @ ¼ùî7sçÎíx»o‹Á` —õŠîãõz-‹è&_#­ÐÅÆ¨Î^ŽF¾GÇbuËõ¥ÛbeÉeÑ´\kÐQv‹Ã+ÐrMŒ^-§Öiµ{•z½ZAníxrþÓæp{ê¾ÿÓÊ]ó6¬žŸDn&×Ûäd/€Qiu%Cöx¯Ëfwq´*Æ dÉ<Ë®e­_vÜ¥}H¢y}õÕWŠ:’º×ãõ.ùÃR—ËE®|Öët!ª__™R«U+äëi’·?I? ²A¯U‘õ—9Ë3Œ×f%ËQù INK;-¾å©ß)÷³–Î6¢Å(5:ߨ„Úã²ûW¼jó`Ô=ã´Ø=”BgÐpdrA¡‹Ñ©dœËjuxImA»!#ºE׈þÑvÎÖ¯M%ûÈ=Àe%%%óæÍ ½3¶BÑ&Ðò'Tqq±ø«hCA¾€ t$@.OíhS Ýl6‡Þ¡Ã­dYçÆÓ¶¶›½–FWs›à±75ž ‡¹Ñqf_²Oð¹¯Í¤ ¸­M ŠàÒVþvRôšÏŒÖÜÙuv|Òµ~Ùi—! ¦íÿ; t —:˦hëëäˈ!yÙv 6¯9·Ýê¶‹ìD6˜E7x]–†ÖÙ‹´±µ³ïÄÆöò:ÍÍLj¬ÒÍú›Ý¶&w𸊑zÓ”ŸŸO¾¹7# / =Àä‡WyùñCuN'G)õqy9£ô2ŠsŸ8ZUzÜjóRʘøI¹ÃFh¥½ßØi/Zrt·!á¶G“sâZý¬‹ž£‡L!@}/ÐÅr®ï 5Cs‘î»—4Ôný³­ëA¢·±±±¢Â,€ @$(JòE†”™Ó'^7+÷¢$÷þufž| G¾WÞxÞÔ¼« r.Hpþt°Á&ñ$²È?øšíìSi@€ @€€g€e㸌€¤Ü§Sղ䦙&îœ1F&aˆ^Yïrñ”ž‘œVÊÓ2dl“ïŠ!iG–4L @ˆh®ŸÏÀ4é¡sž}ûWî&³ËÿUÀûˆ±%Âì€J@‚8:9ë[Ye¡â‡Å¶UpZœv¨N‚“Í"J4®~QA @@2È(ç8gÓi§d9÷n Èë]Žè @ B¤©J9kí_¿Û³ý»¥Îؼáúàòû…³Ÿ.9NÊŒÕôA¥*‹Mclåκpù¡o„ @€"WÀd2EnðˆègiÎ31ɳg&“µ÷jªví©¢§d¤(|‰ð®Æî=©ÈÌC–Åêƒü«´¹»?x}ù[y1}0†„ D»Îgv÷±îŠa@ý& M—f I Ǫë|ŠB&¸›L%ÕüˆÑS“•}Rþ’/*¨ýüD±"å©í iš~#ÃD€ èP*åN§S­VGOʽÏp Ýn·F­êAGt Ð-ÞÀä[ìV™Ú¨‘3”·éTC=¥ÉP“ê×¼§ô„{XæyI ç9Š|ÅM¾¯^Úo®âtYš¡¨~¥uÅh€ fÌ‘#öïߟ••e0€ÒEÀ]„ îÆ²lYYYzZrw;b@Ýè}LñnóÞõdÕEZ¦Ö'䥧*[ÕÉ#f§Ç\öïŸý!Ñê1“ÇMŽ“~±æ_ê±»äØ€ 9y9Ù4%ìÝ[ʇÁêÊ‘Âöý÷ßGJ¨a§\ÎŒÏ=~ÜXв…IH¬½/€iuBZÁô´6@1ÃÆ\3¬Ñ{ì0§º„‘¾¬îãÈ1< @ B”Œkrþ9S¦^@>ÌŽf$ ‚×*xzXýæççS<‰i#f@ ÿz_÷Ìöíw5¥&Ýq© ð@Ì @ƒ^@àOùgÐ'Š!@ "·Öê®ÿKÎõÑpŒ# @€ H ÐGË3K†€ @€ H(€XBL @€ @á+€8| "ƒ @èTÀd2uºv€ @Œw @€ D… à¨8ÌH€ @€$XZ`mååÇÕ9¥ÔÇåådŒÒËDÁ @€ @() `ÎËRfŽ5ä\ý±Ã;Ô ÉOŠkŒÅùæ:Θ€ @€@Ô HPË4ÆqH¹1N§ªeYžm¤PGý€ @@Züü|Šg¥£AƒU@Ê’”g•U*ÞÛ¢¬m¬šÈ € @€ÂV@‚3À$7ÎZû­©ºŽ”ÆäiYz¥?]ÑÆ°…@`€ @€ 0¸¤)€™˜äÙ3“ÎÓPSµkO=%#EA‰6nMd@€ @a+ å%Ð4£HHJHàíõN>˜°hcØr 0@€ @¬À¬ÍvÚá劼M§ê)M¼šk”`®Áz @€@ÏL&SÏ:¢ …\Í»Í{TÔ»x–©õÆ yé©JÊmiŒB_¤ @€ @a" A¬NH+˜žÖ&ÑÆ0Éa@€ @€@ ´-€…:¨P]]]SS|™’’’šš[+W†aTái…¨Âá‹£€£Ÿ¿EñžÄ{ïI"¶¿çàOhwÿ„Á @€ 0•ìËŸ”[VÑXRR2oÞ¼ŒSCa( —Ÿ=é[\\Üö ° HàۄÔä ÿ! @€@ŒÊžJ~9LKÓ¦¥µ½)¯?¦Ç€@D `eæˆ:\€ @€z*€¸§rè@€ @%€8¢‚… @€ ž øî&·÷´;úA€ @€"Cà?@,½fRX]IEND®B`‚rmlint-2.6.1/docs/_static/gui_locations.png000066400000000000000000002562001312046612000207500ustar00rootroot00000000000000‰PNG  IHDR”ÔÖ{sBITÛáOà IDATx^ì`ÅÛÆ¯—Ü¥wB¡÷Ð;H•.Šb?Šê_Q±QDEQ@A¤÷Þ¥#½§‘^®ßí÷îîår¹\KOȳÆcovæw~;{—'ïáŠ+8@@@@@@@àA' ¡öéÓçAo&Ú      P¥ lÛ¶MT¥ ñ      U†p•¹Õh(€€€€€TmÀUûþ£õ      Pe°s€b±X©TJ$‘"Ù)!$‚€€€€€Tf³Y¯×çääh4___§n9À$} …Åb1 Ã8-‰D¨ „B!Epe2YBBBPP…u|s"€U*#é é[An$ÜpO€°–ËåuêÔ9{öl­ZµF4;o&éK‡Á`€úuWA@@@@@* ³$ƒ£££“’’ÜsÀ4ò™†=WÀ6À%ð’Å)¸ëÙQÓeÄ~½Šl      –-nåà›£ .¨~) |ùòå‹/¼TaÛÉ;F£½ëÖ­Û¤Iš]Á]…{     Pe ðŠƒD‡Édª²J¶á$…êիרQ£‚R¨Tióõ6hЀF;´¨\êõóó£±Ðöž8 `ZùÙAè^¸p!==}Ĉ>>>%{WxkK—.%ã¥a9##ãøñãçÏŸoÙ²ei؇MâàǰaÃJIqßÃJg!55õÀ$î J¡R¥]Ñê•J¥pÁ0ïÍ›7 DëGӺЕëÆûûûwèÐa×®]ïzåj¼˜@åUö¦¨ÕênݺmÞ¼¹ *UÚ°^‡{ä.x iEhÒÍ…qÁœ0…¶tªtº½b„K     Pz*µâ(=,űLò!;•B¥J»Öë€Ñ³¦:/}”ÊN€Ñ'[³ð‡u'n¥¤aQ5[ øboÍ’ñol~å‡/EŠ‹ÜBíùù'¯yuñçç³â*½È¡ €T`P%~sÜ„0K•v¬×ž­£vê®ÓÄ¿C¥g°²û_zd`@@À+–ŒÃßNy{}œÐ?¢FíH™%ëÞ•Û:±aØÒ »ê•1ÇLV+œΠõp•îXïA@àA PœÏÑ¡ý¥Ö§`&–¬ N«pšXõÚWá(€V_Ž:­‰   P!h¯ï;‘ ª;ò˯Ç5W IóštZF&5eVïà€< 8Êò&–íòª×ž-pYö4Ô  P9 HÔ!j©1ñâ±sqÑm£T"¡DÁîŒÀmÖa¸¹aöøe7ngÉkv|jÚ¤AÕoüôÂÛ»”µ}â¯ÝË’Ä<;{æHÉžùsÝ}C«ªÝñÙ×'ª§ ,97v|ÿÕÒW3ÄAâT³ ˜'ã:ýúV#úó óW4û¹úòÊÉ^ƒ€;–ÊŒ@yÑ.¯zíÁB—Y7CE  •–€ü ”u?®_øUýæŸ6"Qœ–¬èòìä1þÙ) ÓÑo>š·SÒaÔ ã6,ûúQÈü×Û›Î{oîV}£!/Ll'8¶ôç¸[s²ótKÚ‘oÞw4ÒŠ ØUäã+ª´|á8€@—i(/!Z^õÚÃ….Ó®†Ê@@*'QP» ßýÒsçê?þÚ}lÿŠÏî80eî;½ØÆ(ëù‘âÌ  ‡Þ;|þž–°@V£ûðá½hM+sü?ï~š>hæ›ÏµðÉ®žpö}›Î¦ÕÎ\¿7! çï¿Ö%@¤õ;µv'€Í‰G\¤ü{£‘Ì–AöUN®ð@r TiTuî†GÚ»öìYµfíå+WÄ"Q“ÆžõDl+öï®Å<<Ökoÿ•7& …Ây_Ì)f¥Å°SŸœ&–¬¥j­²û_ªp`@@ÀKÒ ýž¯ßXÍÍíó§ÍÝñËòÓmúsß0ü*X"™R*4ô&J³% Œé‰iýí?& þÃZ:4%-%5à ®¡¤u´øìt‘aŒ‰®Ò É6ÚWäe# @*(üÆ^J7Æ)X§‰6æ}·àÏ5ц²­Z47šLgÏ_x}ÊÔÇ?ÿÄczï¤Ó*œ&ÚÛõÄãz½¾`žâ¤´o×V*“Ò¸pBc4;wêè¥5/ý÷Ò²€T5…C_¤‡v3‚Æã–lǦÒ7OóIK6NbßtÏKdß UuúLžÛg²]iúG]oÀÔ¯LÍg’¬]¥4"¶«=Ÿ¼ÊG h¿±{UÊœ|úÈýš}Z·‘œ\ºâØíÇc¸ñËŒþÞþŸ¾^²ãz–Ø7P‘£a?Ê-Îíögâå/{¶CÌèýòÕâ×3MŠð6N|i`1{ݘzzÕü…ëÎ%jå‘ퟚòfOË–ùóלº“”eñ‹~è¥ic»Üûã) Ïk˜£Ïõ›+yòó9½¯8íÀC³¦÷ 85kIÚöÁ§G‚£²Nœ¼žjŒ}rÊ”¡1j×Ã¥"ršÈ·H,“޳©_>‘4°Ñhô÷÷wSСÏ9Íé4‘/¿{ï^>ÉÉÇA£ÜéM<¦Äù ¾ß°iEþÃÃÃÜ¡üî¯R†Û2á𑣤~É"‰õ§G=Qâê—çÒºeËžÝÙyÅç.\¸~ƒ@@@@@à'ÐûáA¶^k :Ü–â¦ù–Ô ‡â#;7ô÷oбnÆÉc÷XYÅh.þ:kI|·÷–¯_¿öûÉý£¤®ÝX¶^Ò__=û§kmßúõïuý¸tì/w'±ã`w6|ñí‰z¾_µ~Ëo3_îQM* n5⯯޾ö» Q',:’&©óÌü¥ïµ¯ÖaÚʃ{·,~®¾‚‚Á4ÊšTš+³B±)5QØfü×ËÖ®Ù/ãïßö%–ÀÀ`[3›7kzéò•[·ïØ7œb¿÷ââš5iì™FQs¼:ñÅÅ ¤¶“>½zÑ-&)KÐ[J¤K”²µk9¯0_·‡×\Gt:‡Ìv— Û€œœ¾ˆPè•ó…µü     eLÀ£|pïëâ–”ó‡n‡uh `üv©•zädI«Ìó[ö3=žPG®Ï1JÔþJ­èï4ÑÁ2ëFþ¤œK[wd·{fP}¹.ÇÔiìÈj—·M02šË[·dt?²E £Õ2>þ ZFQ]³nT€Ø¨·ø7hQMšœi4ë²³ dИ‘‘‘­3YøÐ2ø2ËÆžå­bc‚DFIµ¦}³2XNWМfæŸ5Šâ½Óg||ùÊU>åôÙ³6“ÎîÏn~àÍQ„zµZ-?å˜ÊR´Ù¾zˤ ”Í®êµOwí´ Õá4Ý>±K§ŽøýmùŠ?ŸI !Ћ!ÃÉS§ŽŸ8IiðwÚµŠ`E@@@@@*Šãèþ½6Ÿ;÷|ˆƒûwn·­žžî¼E Åÿ‹;srü )ƒÅ¨eÿ78Jž–fhá˘؉®fšqK²Ö”ã$‘U[y–ùsNÙ Yi¿¦BN»šYH˜B“–mdTé‰Usc4³si¹å›˜œ«;–Ì_s>K šÓtþ-y-ÍšâwÔãþeß1Œ+³l†1›È¬ª‰v¾°z-¯nÇ 7nÔpò¤×¾øêë ¯¼j2›SSSù²&ÑnoªPçnüüaÑÏ´ú4ŸaËöí4Úfy˶mtN£²'¾6éÑG†¿0öÿ U©CæÀ4D›¾¢ùÊ¿,ý•~H{nLq<+X–W¿…Ô/Á*È)     PI ¸‘F|‹ÒÒÒšF¢—Ô‡ûö2é—ÜŒûÍ'×f·3Ü^;åçôðU3©wîë˜`ZÚ*f…J'‰ùµ%'O9½™'€¥~ÁòÌ;IK”/Õ`JOÔ«êûI±ÊOœq'QÃDª­>꯮û‡f䜟DJ3Ìû{Þdbš~̵fWfm8ÑnÓËv*Ý=îªÚn¥U¦hà 7QìW.“ÓÛaC=vü³ÙshÇŸÞ/¶UK/*q’ÅM½µkÕêÝ«—Z¥úkÝ:ÚR—ä.?òyÛÎüCÇ ÉÎÉ¡lnŒ8©²@’£.Ž9ŠG3: àËy߬üs5EhêÙ³@EL¸qó-E…c[µjÛºPVŠÓ¨BU„Ì     †“yåÈ5ß¶OFˆÌÜö4¢ðÖ]Â×:›üp×Þ±†ùË6·~íáú4ˆ8.‹® }L,ØÆD¡?#»© ‘DæÓ§‡ÏÇ+7_¬=¬òþÁek›>Û.L,Ö¨“øÓŸ–5™útûê2}ŽY!6h B‰%'#5.aïÞ«9‚º¬u¡ÜÏO˜|=.««ŸÜ,² zWf §tÝjÝ‚mãS(ºNaÞ‰/Œ—HXµH;ûPJ»6±*•Ц£¾ÿÑŒO>˜Þ²EsWÅùôÂJ0’ÙÇ &Ý{ìÄ ZóyÑâ%ôc«‚¶Aš<éUšÌ;ã¦jõ: `§¶uW—½ùäo<[¡—w¾}¯c'ß1çóy/®É´(«uxzúý4 ZÞð¹é/æüüÆsߊý"cGMžÔë±qm?ýòµ1óÕ5Ûv¬.å[àÓxàCŸ|üÌö ØgÞÚ–5M,Rf­C¤9¿x5Ì Ÿ.ÔÝö˜Ÿt¦Ã޶¾¾¾óæÎyõõÉ´Ñÿ>ühÆûïyÔÀ]rS/-#EùyõV³f >üÙ¶MìíÛwHïÙ·¯mllA›…M®X±¢OŸ>¶b¼Ê··²víÚ¾}ûÊ®B¡P*•ôç~éj÷e·nÝ:bDÞo÷™‹puõêÕÆ +BA¨ÔhK¡³—®Ÿ;{R›“M[,¶lݺMg랆•ºap@8…UAAAÄÀ67Õ5¡TåçÃädjL¹Q(Qú©%ºÌ,=#Q¨T ©H(°˜LŒˆÑeÒjTBg‰yöÉž¿¯j6c6,b±);KGsƒÉ'_µB"d Ú¬lƒÄ×Of ÿ,çfErÊ ÏÌ2ÐWšPâã§Ø·/? ’Z¥PaiÛL’T¼výÆkoN¡‘¿´òñŠ_ó"´· Èõž>svÑ’¥3?™AÓû Jf·¬ÿ;éþý©ï¾7vô³-š7s}¯Ù+NëµWòÛ¶mó*쾚‚WI¾ó ¾à%¤€€€@™í;~*+éÚ°þùøh´zÆlˆKÎù÷øö‡ûŽOÕž8¶mPßÁŒ˜Û¨‘;’Óõü3¤ÿØñË1!· ÃmÏP¨Ãdܾs£NB±„쬷ÈÖ U™A@àA"à…ôå›Ës22òµœ1i3¬ëe™tÙlÔÑþ`œ%æe {é©Ö=iìŠÑWŒ&Ó q°EZ³>'SoŸßi>ò)3]›[Úœ•®çÏ›µèmhá.Cû øP‚ ¤$£ëÖùröÌwÞ›þdé¬yLs]»uí’ÅõcêÑÆ¿t¢òñYòÓ4ÖØ¶tqåøï4*í4±8µ–qÙÊîãBu  ðHËÔÞ¾qnD¿þ µ?} (2@–¥c9¡·áÁ>ýû¶šµ3FéüaŸhÂzµtŒ&Á‘“ÇkG„ Db§õÊž½µBDf¨àð{)Ý §`&zãIИèèMëÖR¼“âÀnŠ8­Âi¢½AlDüÍÜ/èRff&mËär•ïx¬ÂQ°À&x´â´A@@ ¼$§e«åJR¿Îx(+õ>ÌëÓµ£h5r2Ø[ëڥ·ò;c]0q”<§`&–lÝN«pšXõÚWá(€K¶zXr"À´kÞPí£Ø²÷pvV†T,lS«iË.Z³rõ߫۷íI^EûÖoÔvåúM>riÓúµÃª7¥DšgÛ£S×-Ûׇ«Cxç|•|Á!ýÅ4jûÇú´md¨Ð:1í"©½‘Úu›ï¾qiùŸ«ƒüý)>LÅåRQDdôòµëÔ‰ªÛ =¥„ªŒÄ¥8.¤y7!íÈá=4„[­”ôíÙËö[¡½µ{9:“ËÚ¡¸ÒÏϽ“åtP-€€”5áŠ+úôéc«–—•ÿØ´iSll¬BQZ«AîÞ½{Ĉ¥ÔnZ›{çÎ}ûö-%û0      PL¥­8Šé^%-®×ëÿý÷ß‚R¨´iW´zi“ínÛ¶Ís¸víÚç΋‰‰ñóó«\÷ž6§:|øpµjìÖ8@@@@@*&Ê«8*&OòŠ6+:þ¼S)Tª´+`½÷ÈQ–Ý´iSZ“þxPzwwõêÕ¥aœ–*©_¿~£Fh¿æÒ°›     Å'@Šƒ¢ž>}Ú>XW|³UÙI¡ 4lذ âõ])Ñ®€õ:tÇ!Ðü>ö™(…Æ?—ÞèÒë—$æ)þNqà‚ª¾ô*…eB¨¼Š£PÍ,ËÌn¤P©Ò®€õÚ‹A¯†@SšIKGYÞ0Ô     PE@q”å./ÚåU¯[Ç%¯Ê=ê2#\f¨Q€€€€€€@yð¼Vyz‡ºA@@@@@@ „8 àäää² 3       PžBBBì«wÀ´qnyz‡ºA@@@@@@ „ 4ÈÞ’£~öÙgK¨"˜ò$ššj_=Á*Ï›ºA@@@@@ÊŒp™¡FE      åI¸<é£n2#\f¨Q€€€€€€@y€.Oú¨@@@@@@ Ì@—jT      Pž €Ë“>ê(3Àe†€€€€€”'Ia+7›Í Ãx_J(ŠÅbïó#'€€€€€€”B`ƒÁ ÕjéµPX$ÉårÈàÒ¸°       à%o0IßÌÌÌä´Œ³)ÆT“Ô ðjì´X`‰”[„Ƀýüü¤R©—n!€€€€€€”,¯°ÉdÊÎÎŽ‹ßŸ`Š3H fƒ÷N$Jʼn9YÝ FŠ«T*ï z““Âˉ±eoX!€€€€€Tq^ `½^Ÿ‘‘q5.ùž!(]«-² ['Öê³g™K6ì#VóW¨}”jµZ¡PÐdãB9†Ì      UŠ€WØh4’ŽOÏÎøäè…D8S#ºšQè‚î+’ˆE2Ay÷âï IDAT—i“áÁÁÁ4ÍØ}~\¨Ê¼ÀîÈÑhÒéYºBŒ.m²õÍÈTø M2î áÐ¥]#샀€€€€TRž#I_¾mêÀ¶Ê`Ah,d„—ÓsÂ23)LsŒiVp%½p@@@@@@ T xÀ¤~³²²ÒÓ3®k¤ÕjÕÓÌ&³U—ª[Þ§ÐJYÀÙd½XœLÞúúúB{O9A@@@@@ êð €i÷£´´´SwR4¿;IéÆ ¦~ùû$‹j©OßIm-f….ñµ¦«No@KA@@@@@à&àN›ÍfF“œœ¬ûÜNÍ6Y¡(o©eûU—ËfX4cwhS%þýc´0ä^­Åýû÷i 4­‘à.‹¦€€€€@ù •´wïÞ¤¤¤òu£|k§· 4hÞ¼¹\./_O U»¬ÓéRSSõ µḚ́ڗW¼öe¸éÀœö–ÑÌ`®z†õ‚jdßp2˜\ ÷ Œ˜\ 'Ý\¨N€Ì     Þصk)ŽÇ{L©Tz_ª¤rÒÝýû÷ ??¿’²Y;$»nܸAÉvíÚ¡xyq'€iJ-í~DØ$·ðzSÀ€…¤@YÉË[ƒ¿öÑÙÒj _§~YL ˜±&±þ˜ ¹JÛVí*-?`@@@@@   ÀÛðáÃI“ -{ jµº{÷î6l )ûÚm5šL&šzóæÍG“šç>ÎK!`«Úåÿå50—dM/eüÖð3&íËê`. Lþ°'B;‡KÙ˜¨ªHwÐ&¬ôZ.¨^šõIú³\j·UJê7 ..®|Ý(líî"À6[ü@cЏ’Ò¤ÿHxZÿ”ƒK, ÌÊ\kcë´…æþ%/Ê©û8òƒ€€€€Tzå;ì´¼´·Ãm«Œ3O= `ºµœÔäEn®òåc¾|L¸L‚À¼œîå¿ì9à ƒf_ÙÿÊ·Vú‡ ðŽ@‘ Þ9‹\yÜ `Ûˆb’ÀÜ ¶JMkü—Ó ¬%~&./‰K­5ökfÀ:Ä»EgtÂ;Éû\z^À2€€€€€@WÒ> rï7þåî­MwòàÙϹA`ë¨h÷†ò_¥Ý”ì6Tòª$?ðÚ:Þ:w.û5¸x=ìm8ëè‡Ãº´jß‘~b;÷zè‰W>Zu6Ýì•'¥‘IsöÛǺö{eÓ}‹ëš3_ŽêÞíÕuqf—¿Ï„µtŠ@@@@@ ¬ ð·r|-ë?(õyÀ|3ùè//ƒó"°ì5kØ×vÉ›‘H(“‰é‡N¼ÉïP/»ØU.ý¼Kü2X…¼+²ðæ];µiÝ<&Lwñï/^{qÁéìBZ(¯ìbßš7o®,FÜ=}Ç[ýÛ ûôPVy5õ‚€€€€@e%PŽÒƒ^‹ÓiÜ ¶Ùµ"æ†<[_¸i·ÖAÐü¼`+„r©èß[I‹¹MÝÁl¦)ÆÞl>®ZkPÚz–;ºð«`)ê=òÞœ~¡"“qä³qS6œ8yOߢAeØÆY^{ÈGßñr€€€€”0n˜,ŽÊGÀ³¦AÅ4.—¿½¹³~¹È¯0/ëe»9õ+9y3Áh6‰„¢ã7’bë„ê /50ïûÊí{Äê_®bþ„œôvüsw³Á`fb©XhɾºñËÏm¿¦U×éòÓ& ¯¯ÖývôëÛ|êªî]¹“)i0nδ:»¾Z°ýRB¶È¿ZÓGÿ7clc¹ææöù³mý/ɨ®Õaä+“G¶“ i òè×·û6 I½v#I§¬ÙéÙ÷§h,º¸èÝ+N'd |£výúÄÁ1êÙ,Ù×¶|3ë§-—2ÄAA’“ ”½ÄZž¸6xò’ÙÑýŸ½oóæ=)Ýáà¿H`ÑÜØ>ÎÏÛ.&hd!ѱƒ&¾Ö;þãç>:Bïõ{¯ÈcÆ.øáå&nZ‘Û|‹DlÒüº~²äÓþad8yË»£ÿwºÕ§K?êâÕh×-Ũ4 €+Í­Êï¨gLùùyÀ6õK)|ð•æñÒ‰}º ¬ú•HŽßˆ#¹ë#—SÑLG¯&PØhbHzÚ&ôšÌŒÁä|r+ÿwò‡õ]ûŠýáÏùD7¼¤»ºö“77êt9÷o^½‘æÓæÑŽQÙf½5g›´ó³¯4¾û×âÙÓÄ¡‹¦¶¡’úÔ$E±o?•¬?¿pöª‹êÎCÇ7]?g63–Ôs&¼Á;úµ1êSË}7õ-ówß®ÏÖ¨O¾kì8ú­—êÄýþÑ· f6h½p˜I=xêèØÀ»ÿ|õõ_3? k¸`L‚Îq)æûûæLùl£¾É#¯¾ÞIpxÑ÷koÌiç›Âtè‹wýï˜MîåÄ ™øqwÉÙ=—}|U!5ǽ5&{æÒø“?™Ø!@¬ “»m…­ù i û~üíÌ–÷û¤ŸÝu&+¸]ߨ`¨ß‚7)    ,àJzk=`Š©šIáåFYm¤p+)zeÕ¯u+`wøØï±›ñdL¥QVZDK.“hõÆ7ÛFG^ŠOKÎÊ¡t±PØ1&ÊhfWßr°hÕº\*”¶9ÆŸ«… OíIË갺힜øãÔNÛðÍÎûÃæ½3¾•*»FÜé7vo8=!6˜*”×ê5rdßjb ãÐ¥…bŸàºvõL \hŽûûÏñ½?}ïÅA¢õ™;ã¿]»úßGÞnÁzª¨Ûÿé'zTg:þqhï…{šgº~™»Ò2|ÌSNœ»‘ŸÀæ„kv%öùìÓ·ºŠ4~'V­w"€ó|#O&àèÿ¸ºé«v’‘Of½Û“tj—n@Aó¶MC$ÂÔà:1Ñu}é½ûVä5ß’vzÓô£ÛŽ'ö}XqnÏ©ÌÐŽýZc.2ï^A@@@@ €.æÍÊÌÌü÷ô™vmb•Je1Mª¸ÌÛâ‡sB—÷RàUÈí¿kÕ¾´j>Xõ+–»~ÏløÈeŒÅ:t™T°\&Ó ‡/ßóUÑàh ©_½ÙÈÅuÙÃyKø ìEk†\÷\äwn…MõëüÁŸÜàÜCw/>Õ`¸µlBïeÖ$UXr¶™Ày‡Û?~ÙøùÂ9ÖÌño8pòêÆ§d¡õ¢Ô¬%YXt”Êrë~ª6ÿŠÎ"‰\"0 &Íõuófÿ´çJR–Þ@±o_“ÎèÊsczb:YŽ®¦ò.ÀjLsâzJ2k¤^u_·F¨¬­ ?|·Ö5b׎íG:ï9Ö©Sèß|]o@@@@t.ÕʃÞð’jßC‡7nÞ²s÷î—_œRRf=ÚñJÓ2U¼%éJ²×^GñÒÍþáÔ¯ôè8² ”Quùt-TȤNÊÌñS(H`[HZÛm¶o@®Þå`³¯œclßãÏ=¶ÖS‰_˜¿TVóáé=SOÎU'”„‹ïä/' jýÄ+†¾tíäæïf.üb^Ó9ý¥†;×ãs,12‘!ùf|ŽH¤tª7Mw7~9矔î“g=ÛÚÿÖ²·ßÙ‘g¼ÀS$ñ ñ•ãn'i˜™ȹ&œúÆìn^º•a‰±ûÜLjš6+¾¥þáÞµBè×b`¯:ÿÞ¶koð¿]z7aÈ8@@@@@ÀF—øïÆ%óÙxJßnæŠY}‚øÌæä+¿þaí‘ë÷3-êºÝžûßÃû9þ"í¢¬cu¦Ô3k|÷ëÞ+÷uBU`dî#_ûpSÉ¿?ûúê{&Ê-’©Ãõmú+ý¢ØA©Å9 üê^c¥[Ö”°sÎ祵yñý§«8Q¡»þ×'óÿ‹}mò°Z,í¥åüß{Ê«}"DY×÷®X¹ýL\¦IæR«íÏ nâ>ŽVTßÛ·k{øèÑÔÔ´E¿,yö©'«U‹,ª¥Â•sì[K³‹`YVjæ„¶³ã¹ƒ]€ÊÙíöKúöøÍ8ZìY&SAšìðC¦)ø«’³‹/Ó%~Í-§Öluñž8¸Ä:É.×UœCÕeX—À„í?ÿ´êàÅ+—ÏîÛv讉f'Û–„Íÿ5ú•©_-ÿ{÷é»F®ö­ÕíÑá)[f}òËîƒk¾þôçóÂf<Úʹ,dÌ4ÅÙ¢ÏJOO¾{éìÍ,Þc±\)i®îظýè¥TöÙäIµ.C:Ýß8sÆÛܲùxrÞ5gít꿬Z×G{E¤í˜5õãUû÷®]0cöç5Tš¤½¿(åТ…ë6¯Xøç%eó²>õû l`:ºè‡i‘Ýû4t³„—3'‘    P 0Y7íÓv;ªE¾_…†‰ì;éËŸÿø{Ñ;=S–¼3ï@J_ê]”͇ќ¸ãÃqo,NïôÖ·Ë·¬_ùËg/t–'¥¹<Š˜ÿûqËá½;¶.ûbB­“ßÌÛT ŠÂÞ^›”ã«×N»¥·¤ž;|9;7¤h2š3ýÏaLF‹…þ0™g~ÿqõ¿9ÁÍ{öëÕ,ÒW®ð‘zŒ^{’/cP`à‹ãŸ ¼·`Ḹø¢Ù)l)¯ÚÃþyÃvo¹±X±É¥°¯¹2Ø–…? J©äèµ{:£‰N¸ -›¿àågƒ‘t‰›ùë`'ï-—‡ÎwÊ¿Ï-SØÆÌ/ ëùÎÜ·úúÝÚüý'ïÍY¼ébZáÉBŸÈ˜âø›ÿ\½ûŠ Ù“ï¾Ü94¬ëÔ/Þy¤ú­ßÞû냂N/ÍšùxŒ¢ u6EZ³ßóÏ´WœZôÁ”Oÿ¸æÄïä+¯Õsh‡ˆœ#‹ç.?f÷4ŠÃ{¿;ûÍá7ÿð·~9/ :7kMuê¿(¸Ë›_üï±zÙ{¾™öæ·Û/§i²´´Æ˜OÓ'žÖHvõ﹟ÿqâzRŽ ÄëVÈjõÜB­Í°TïÞ'¦L‡ì»m=.‚€€€T\¢Ðï~9ý¹.u|iY¼CÐæ©‰vjR34¼NÇ'ží$rôØ€~}‹cÍ›²®;Wš²2 Ù%yÉiÙ‰£ì û–]‹×À5‘úUHiÇ£x£‘S¿ow &Ë‘øÐÕ{í¢££ÀT`H³Uý²ú—sõÐ:6›œä½õ¦ÙÈS,LæÙ­ûïJëMì^»ØÅr…A@@@º«ëWž0ÎÕXJ7-Õ'^¿+ˆ\ÍÅàDÝåÇôü‘+/ ëñö‹MÕ¥¬ëܸZ¶—t·ŽNQÕ‹RFë9—Ö¦›uS^QåwGÒfĄڮž8|èðsvmë4îåÇZú»VÌÅnLBbâŠU«È …îÚ¹S±íy6àNóz’}¥«^ “m6Ìi`ûƒU¿ÉÑë÷Œ³R.ãÆó:ƒëÂ7‘Xh0˜]½Û>ººÅȘl‹4ñùY¹Ë©`^÷r¡`« f´.l#¹dXÒN®ß/oðh÷šÅ]< d‚ÊNÀ’qôû¿›ž5°(¿bZL:“ÙbbE‹PuäÃÑSÿIdGˆªÚ½½üÃ0¢þøÅß¾ØHfÈI¹ºwñ§SÞÑÏú|TÝb…rHxTäš›‡Ï¤hï'Î÷ë­Pyø\Jçî¡"‰TlÑeæÐCÑgeéJ"¡+’©‚"£[õ©Ö°S‡} ¾Ý¹ãBßKkÏSR¿ þåþýdR¿/Œ«V—ÅâBî°íŽZe&רƒn¶Ðº›fwëIý*¥â£×ãXõ+‘±jµð=C.•éÆÃWîv¨Gq`“½檲šdÅ.§­sO*C´1­Ä'æÄC'+›Œé\ÃýŒäJÜF¸    P–ŒñÛæ~´3lüüÑ-‹´æ°"¼n¸åØé[š¾A*oûékvOÒ÷¼=æ/{@ê.´ñ€—&_š0{Ã¥¡¯6÷)F‹ sŠQ[ÑŠ29×Í îúôÈÎR)íÔÚå{ŽžIêüPxp횪GÿAÒ»[½œSÛö\4õ¨é'2ÜÝ6ÿç–êÛÔüwðгºs€¼”‚åÙÙÙ¤~“’îóê·¢¬ÍGTiqf6ÐJÓn¹þ„}å‚®|"7:šb¿¬úÕ›L´õ;Hš¨…|¥Û+“°‹fQX&‰Ø½‘lU³£±óÈõ‡R8'y-\´þR^Gœ³óжïGT÷êÏ'^ZE6*JÀ’rè›I_]í4eÚð¢DYjâð›ælûmÛ-ïV·2LÜHÕú`²/º¨¯Õ¹wÛõêÖ­W¿e·®õå÷ŽŸL4Šü?òìÐ6YgÖ/]ºû¦9ªã¨§ûÔUÐÔWEˆŸ)áüÎe+w_Ò·þäÀh£Ê‹Mn߃¼ú¥}€ËLý’מ% +qs,«þIsÒ4`Rœì6²Ö`0p±_íx¤7›å2’¯„¯X!Y©Dh0Z_½×žâÀ3¶™ä•.½å569P¸E°Š}Ã`@@@@@À{Œ…T'íj Uo :½Þ Kd‘%û¿•ï}z Ö‹³_nãk2hT®D*[Ò.¹Ú¸uL )eí*Gô{íѝ~1ajÊ”ñZF© ‰ç·n½! ÀÍÙcÈ²Þ bôé×÷/™µUØåÓú*ï]w–“VðC¨júÄ›0>þ 1·¶8¼íÓï52+ý%$å‚bºŽz!–þÀEt#|T>R¡PR­Ýˆÿk6Ød6[”*÷QûÈJ),èܱƒO»6±Jeiil§÷ǃfÕ¯uÃ#†¼œî¥[ÍžÚ ˆfçýŠEÇ®ÑÈg o…¬DvZ]a! C§ „\¹×.&ŠÑ“¶þ™†ëk¹=Žû—U¹®¦ä( é»ÿ÷ÈÛ{Ó¹ª ïñ?EƒñßÿbCÍÁEK%e>yjÛ'Ü5¿Ž3–Í䟴ÿÇÛÚÌYÊ `çeåÛDV}ÀÇ‹kÿõͼùS–ßË`T!µÛŸüÃmƒ Ǻ+?ï÷³@(õñ­ÕG¶(î2X•@Ó„^ß  »{+’ûåN|ŠåjÇYД¨ò“óO^v&??¿î]»x™¹³yÀ|Mœ¼äNiT3# ÉÑì:XtϹ 0¿ßï¹Û÷i 2m}D:Tg¶ÈIÃMªPo0IeôG!1m>{+©yð,úsïFnwãßòîå âbÔŠ¢     ¥C °×Ì]G šVô½ÙÙÖ7 Æ/ÞlÛ:ÔEYGkb¿F¾»àQ‡dY›ÿ­Ù÷?Ǽx_E x%€ù)ÀœæeÀ&'åËF€9Ñi )rÞ6¦š„¤0½µ0[Î^—Ò–ÁÅPÀT‰ôˆ©N»"‘MÒÀY:VýòÊ7Wç­±EW\í\Eo,š      Pj*C¸Ô_™ »ÀtSé !жå¥xMËI_Vß²'tjfrÌFž†ëS4˜v&ÉÊ,®0“©¡IVek³ÈMû寮E\œU°XYËmûkýÉW}®+ñ^†u•.2 oÄÅÅU«VM&“y“¹dóê¡Ú¥RiÉš-‚5£Ñ¨T*‹P°‹xÀ¼g¶ÁÅ$9Ù 0¥rgv`«(¥$~Ï$ÛÐ袵+.¤H2»£’c˜3É©_[ø—ÎÙ™Ç8@@@@@@ ” Þ½{W¯×—‹¦°sBB‚¯¯o)·Òƒy“ÉtûöíêÕ«{ÈWÁ.{)€ó⿼¦V°Ósù#¿æ·íeã·ö3† Ùl.òË*_Šçæ éæVÊ×m¯y±p!#;€€€€€@QôèÑcïÞ½7oÞ,Já’+“ššZrÆ mI"‘4nܸI“&….Y®¼À¼žÍæl]þŠuÜ Îm’µÐÌ]‹¾Ø­bpî2ÐöÆlq^{õ[Ì€s±…ªB€¢¯¬*­}°ÚéA³ +³E€Ù—¼…­re¨ãD_F  ÚÔ­V"”$‘ÆdÊ[‹7j«:·^ýrKFs¾â<`ÊÏkJëã\ Ì¿å¿ùLÒøç,YT š¢%XLFÚܨ`Yû$[ì—¡~ ²B €€€€€€OÀ³¦|lð7Wòò‚Óº–3Š Ù–É‘7ì™óÍ1]&> ÊBÀæG³aUnp1Û$z¡e Ùó¢°ÅXëªÐ”œ…ƒsÓh/âÜ£ÐvQ@@@@@@àA'àÕhevt±íÇNeò‰üBÍeóêÆ 'ÚØÓÍË:6{ô;Ûî—NĺT{j®ƒ€€€€€8ð,€iIg6ú[ð‡ß¢·¼^ øCN’«Žís÷^{íðõNÍÔ×—NxiÉeƒ»¬…¿f5ì °þªcíúË¿LxýÏk×W¾üJ‰{Uøv €€€€€<(<é3®$6ùoÕéD—}›o…»)º[‡.ª:´ñ AáL Å0.¯?æ»/FÔ¶JäpGÀÝ`¾;äÙh`DlNÛ0㲜÷ëÊ}‡1Ϭ“…ÙI÷èiiì[áÁm1~לIûÓîÞËŽ2ãóñm|uW6Ο½âtª‰ño5fúk}Âo/}ý³Ùº´d*ö±~Šƒÿ½« ê3mîKíÙþœýùºZ‹¬Ñ¨ÿ½3¸¶B °·ä\^3ç‹Õ×tŒ ´÷´Ï…ýþ‡“ô‚€FC^ysL«jCíÍ—¼¶ÀwÊ+ýõ5SÇláÝ'~øbò€€€€€€@‘ ¸ ŠD"1w˜SîˆDBûÐnÙÌøu_‹½?äž)é¶„;Èa/p㟴l%cóŠš?óÁ·+W/z9àÀÊciº««fþ)|ú륢;Pa IDATþöÕºe³Öß6 ,&Uç© WþõU¿„õçšO[´fñ¤Çþ:šÊ语]t±Ý'¿,ýcÁ8Åú_ö§’_yÆ3O.ûSÿø7‹—¬XüÉ“õ䢠v/Í]úךU?Qlýeû]““ÚmÂ^^kèg?ÿ¾æ÷Yž»-ÁìE«@@@@@@ÀwQE“¾¾¾ŠK'ŒÁQR©‚› Ìü6HÜ‚ÐÖƒ?Ú%ñ§¹YØíó畤À²Õ*ûjÊåãº6YÈæáÞØV¢ …½Vw. V[rØ+lN:qBßlLu9Ek±28<@&’Ô®©Ö¥gÇ¥Ÿ2¶Ó&˜„tXû¾õ­¹œÞ\ ’ûù)Dò ¨õð ¹XYÓߘ®1¦^<ùßéÔw_XÃ0¦mxL¶IàŸg\Ý¥ÑÝï&}pçùçéRG.(ä—ìûïÆÅ½6CÉÚüµkÍ5sÙˆÅ"‘@(«Þ­Íå[.g ˆ`ãÅ8@@@@@@ŠDÀ–ÉdjµºfÍšããï_%¬ß^QG,•“ŽeèÅö*R£ÿH‹’"NíÒ+å S[6îŸ}åå4ÿJš–Ýl˜µô-­Eÿr¯\6ZàŠ¿š—ËÌÌF½>þ†èêÑFÍ‘«*•ŠÜöˆÂ’|æpfƒ'ë(óç´êz‰Tl¯Õ…ùÃä¹—Ø fƒ–‰èûÖü m¶,‰yÆ¥Õú¼ÿSË3™û毒Ҿ¿]{û´O/´|zXófÑA—Üäkw滃β @@@@@@À=w˜Ô+…£¢¢Z´h!•J¯\9ùß>½¹b Å¥xo¨¿ýÖÍ6lH®’ÃöQh·¤ž;œ=¨žÓë¢àFMÅm?™Ú¬‹ò‘m7Â;< ¼ë4«@ kÒÀðɪƒÞ~¸ºÔ¤ÑXʬ<ãŒ139CØ|ؤéÚÉï¹—dwüã©Ùæ€vc?XCê67.‚€€€€€¸' \±bEŸ>}l™‚‚‚ 0 YYY999¤~ ¹×nAc%œBâœ40|¦Ù¿Þ ~.áêa@@@@@@ ¢HMMµ¹¶mÛ6`>+ Ëàà` ´šÍæBm5ThÀ3‚&\u¡ ÊKÀ+Ì7D&tfå½Óð@@@@@ª8N«x@óA@@@@@ ª€®*wí*N¸Šw4@@@@@ª àªr§ÑN¨â €«x@óA@@@@@ ª€®*wí*N¸Šw4@@@@@ª Ç}€ããã«JÓÑNš€\.·oŸ£>•ìc»l6›Äâ¼ nÞjs²e …—™É¾½)”u¬Ð¯¼|¬ðá9rÕUÐ7Ð7Ð7ø_lð,àYÀ³€g'€g¡ª= jæÓ÷Þ€€€€€€<¨ €Ô;‹v€€€€€ä#Œ      P%8Φ1ñ¶vÛŸS¢›·tÉÍU”u  VöÏ–èWnà8*µÚ/P"É'¾‹à=€€€€€€”¯0…³µšìÔäÄ…2Ó"6h5Þû£”Š}Fß´­PZu2´ý±„¤µ@è|ø4_‹}fJ±k4 Æ–½÷ 9A@@@@@ª¯°Ñ`ÈÉÊLÍL×É}Ó5ÚBÑÉÑ ²¥b1¤¥J²²ø²‹…†FóçFƒ^,‘ÚÞR¢ýU7oiøµØd0™Œj_©LN“ å2ƒ€€€€€T)ŽØaš;Ï ×êuš,­F£Ñåè…D8S,’‰-ÞEÙBÛ$;±ÈGd ι®×ùÉJJô~î5åô>³ƒe”õX•ýSïð ã=<ƒ`åª#¡o o oØà3ÖËÎ€Ï |nxÙUð{¬÷]¥b³*ü"X´3ýètºôŒô,Á¾Ç”ï9E}«ûÊ¥–û¤~é‡Víj&:ïªí*&¦°²ïÀèNi8<8xŽø°²põ1‚ÏX|Æ¢oØ>0ñ¹áª3à;}}Ãéoø-ÙïP{Ètîv¸Lo EnÙ#"2<:8œæëV¨CÈÙšœ,¹ÂG¡ô©P¾ÁŠCÀƒ&õ«Ñdk²3ýBüÃj†k 4nت‡+Hh ´2,@›£ÍLO±0¹\!°îÍTA„      ‚€£ÖædÛü¢‘Ü&ƒ!ƒ„¥Èäçv9>ÝXÁÔ/ïªT,ª¤ÖêÒõ:­Ê×ÏGågßû‘Ô"Û[-í]l÷–ŠxÿeÁ ýŠÊð,àYÀ³€g'€gÏž< îÆï øœ,¯ÏIÀ×&éÄQË Ûe£Qo õ¯´9!Õ#n§f›, ;8÷²ýªËe3,š±sœa¬ï装!÷ªú§ÜKôQûÒÆH´å’ÇÏ ê‚ÔXW·ÁýŒ²Þ?À`V®ž2ô ô ô ÛW¾\u‡¯c|nàsÃUWAß@ß(㾡Õë·î>ºuÏ!ƒÑd§QÊë”$QÙ2ÇÖˆ ÷ÔÐjá!ùtpÚQÛw“‘F<›4Y™&A”Ḛ́ڗW¼öe8ÌjaçªgX/¨Fö 'ƒÉrÏ,”«æ Pºdß ûsÊl{K'ük3÷p•™¿Ž²`屫 _"Ì…„ ¹ÊùÌþð­°o¥h]¾9ën2£¬÷pÀ ¬ø§Ï ž< xlðýëegÀç>7¼ì* ¬Ê¯‡ìÝ(—óŠ AùYû¤ÔþÖ8 `ûéã´–²HDjUd¡ÙÀücVpÚÖ¼²ªQëL\ﺩ_™DœÁn¶á¯ÖÓÆJ^†n­JÙ&˜Ùb¼[tF'ä$¹Êù,¶oEOˆ·ÁE½<ŠŠ­÷Ý+ ËÙ¢œ‘H!g륓\áZ(h|ÚjÍjÁ*„ aÇ”¼wý?œJøU¯_½A ƬIOŒ7ˆ½Rˆj@@@@@àÁ#P10pa{–WzilvËͽe•oÞTy:ثʩ4;^™Íˆp !Y™ÍUËyæyϸ/‡RóNšãÎü¹øtJpë±3†¶’rÝ—†­;Dí½j2€€€€T1Cÿ²:¨Š/ns°Ã2 »; š«ˆS¿ÖÍ\ØTÄl°ÜI®AoÚÁWǾ²ã¡óÊòFÈIn,vÝ.[+\MÅ6Å8}-[Ýâ…‡bÃE“™«ÞšYwiÏÂ/_MÒ Ô5Ûw}|L«ê*ªO{o×Εœ»uß ‰îþÐ#k›©N}Òž9ßýsó¾FÚüñaOˆTô÷¶oüõ÷ q:EµöÝžz¾M Q´5Ь¹¸ëÇï^»o³ß6mý¶}‹7Ön9¦}ܦ ΉÛv}¬aÚž¼óZŒOÞÒ b¡@ÕoÈ Vª¤­›VþCö#'?F¦ ©iæ¶ÝžœôçÚ5Kþ©ÕjlG2õÍ)Cƒ¶#'ÆŽïþëŸ$ZåË¡u"òA(àÖýb2oY0e×ÇG).¯Ù½öã æóqë‹RvmøaáIû>†×2ŸÞ¾ì·”@1•Ð]\¶q×E‹Õ%]K`—/É?Üö–Gêê*§\]EYâã Ž:°+W]}}}ÃöÉ?ö¿$¸‚ƒÏX°Bßpú¤à;¥¤¾S¼³9m¹mÚǾ<ŸÈ§pçÞ+¤Š €mÊˇ®Œ?Ÿí:wŒ;\¦±ÊsäC¬ö·¤++þxõkÝ Ø¡¨“·r‰Xc0^KJ0ì:NtÒ82\)ë­!X'Eì“xõË»Á¥mŽñ'¬«üàj–r/;íY>M»=Ú”r˜ëu;·ï÷ÿþ»¯1)Îü}!Õ¿Ù Ó‡Ç ík·É–)(‚M‡²Z¯‰C»E0™~wÏθ|íN²âŸóiᱯ½öP#?]xâ­¯œ¼’Q¯E^dU lÔuD+¶sÄ„u;³—³Ï„±¦äaëØ:‚ÉÒÅì:þßͻɪçSš¾0mplˆPï{cçæ$wí2gœ^ÇæŸ0¹Oë@a‡z‚¤×·îÝp³ç«Ag·\NnúüØŽMC%&a„jù]ÖŽP$S–ùGUkÑ©Sÿ¡%_Œ×]U¸    Uœ€w ˜rѾ:´~0¿„0mËïKoiBÈnŠc§§¸ LÞ¢Gž WìÉGç×µ9Y7¯œnÔÒùåRKõ €ùzùáÆÜ¡›Ä‰Mº)ìD`ë½â¥©{')š¬ÑŽÝJTÉc‚(󕤴£7îµ­!“HLÞ Wþ&³ÚÕª_sÝs*g;% ‰íJ<1»K¤Ÿ}˜Œêo\ùÍ®¯gjH˜›£ÑlÔ¤d˜$!áaj—ý\$—K„£6'9Ýd¼}pÎc­5«üÒs,‚<Ìèïœüó§=§ndjõ&gß”ßs¡D*&5ªËIÍ0IƒCC|\Vš¯q&¶jIpx( ؤ!á¡>L|j¶Þ¤LË4Iýv” G?ö¨iýßóÞ5_Y»ï€1cckøzW—sªH*BÀ¶°›öòêW"ÊÅBz%Ñd0ÓRVCQŠTŠ+“…aSH's£kéÜ@A=oôWqåÀ—Î?ux×ùtë?2XécÉ^òJÓß!ø[`a÷üÚ F^ºy£šhûß³w’‚TŠN1Q™#5£KLÔ+÷.%¦ÅÖŠ0ê)¦ëáÈÕ»ülö•sŒ½éü¹‡òv—Åaš×]±ñÔâöÕÖ5ZÉ5‰1hmÆ¡ÿLm4êƒÎ1ªÔퟮAþÓíø„,KàüzÙ¡N±"ÐO"­Ñò¹)]kúpׄbß0»"¦ôc?o<”ÖxÔ]ú%o™ÁÙwzˆþj±1!5MÇÔò ¹»CNú‰M÷’R4L ™Ð”’”¬*ƒÕr‰2ÐWlŒOIÓ2ß|5‰êôžúr×qI—vlûõ×M«Õ{µ_€Ûæ9u‰     PTŒöÖæ-«Ö\¼•¤µ(êõíÿìèÆÁDŠ%óÎî×nà±àð(M-¡ËŽ}ËaÚ7 *¦U°,ú#„5jOõÚÎ馰Ç »ãéþSè˜ÿ³±~pPjŽÁÀy6å0áþª+‰ét‰,x¾y|]\Ë­ê—;áÏÉIrÕËE°‚°¦ÃŸ¾ýÓ¢³¿¾vuKP?™À˜–ojðüœ®e šÌÔô„»·â²,‚0XíÛl`£ ÏOýö,cT#ÉÅs7|ÚŽÁ.‚E3™Ù5·~;c’˜MûÅøÎ=·á7I箵üMé‰ÚÈnƒÔ2†_g‹M_êÒœýxÞ>ùmvfJݤOŒß—§~ûÂ_ÿH ÍþëéNÁ²ˆe‘6ñØ–3~mj5Ø0pæ™ß¾1=¬úoåîëÂêCú× ÄœsÌ ´úAŸî1 šlÚ‹ìH~[qdéÇÇ#eìÔmšü+•…F‹·]?rÁ Ž1tDGI¾?ˆØf±c±º·^Îé+°rÕUÐ7Ð7Ð7øoy< xð,àYà ØžeÍ>Ýkò;’F¶lßàÐ?©ýzl·ˆ¬X »Ÿ(¬ýDã:!J NËæ¾'Øð åÉ3%̼¸vÉ­:¯Œ×ËOÀnnªö ‹î¤ÍɦßÄi®Dî#WÈåÕš5i×øàßñF˜[¼h}ÒS]÷Š&ùÒ8g…BÒ¼†4ùR¼¾vhl¸æœ–Æ8 h%^c¸y×ãÛ)Ùt$Ë,c‡Ú²#¥IþÒ´a6YIÛ»+’¶>oß ÊÙgØhŠßO¼»sÃïF>¯ö p•Ù¡¬-_»Ó«Nù9F€ f"}™»â#âöÿeo w;Ø3N{,åBá]“Ù¤’ßIͨ¨²ˆÙÅ‹é®ßNNñUÒ%:<[áŒrÒ™•¾œWì;RãÜ«WžØ;&TÖnýÄ­s“èïÜ=kÖëÕŸzq¥°¿…òȃßì=˜ËL- %;éû±|i³²ÙO7 áßTï3äÍžÃíVTþöÎ@ŠêþãÛÛííõ G»£WAiÒ»ˆ(ØÑ{l‰ÑôbüǨ1&jÔ¨±`A±E¥ZP@A¥é½×·ÏìüoÞîÜÜÜîÞp ¾#îMyõó~of¿û{ïúW £»×Ø»^8·îUsn‚¤:^xù¯Æ_ ÌòÕ Q¶vú³W†*U(wÙƒç]¦ª‘¼krv¼ðÒûF^áp˜C>~øwë,6êYÎ’)×þîÚXXí¯2Êy쀀€€€@“„`éÚe ¶zú_‘E»ØøI9_kVŸa© _ûuÆùÌ›>]jè}½|T½E*W¯Úêêwûp’µb¸µ¡¤H(P¶y嵯NwgÖq 6MåäñÏ´¸Oj¦£WJpÓ€7Ý4ªÈš½_8&²´$³Jwíß“R<¢‡k÷/óˆÉK.éñ-+%֣ڦz''ÕôÌœ>ƒF~5÷moMõ¶« {rÒMœJ˜ûVùÚÊÔ$R©MØkæÑå8qúÑ+”NPŒ¤»œG«‹6ïÉñ¤Pƒ©òYÍfËN—ôºø)=îõ•–‹'RasÅe¿0¶Ä„c›TSúgÓ/LØ@@@@@ Uö-ûç½s~ôÙ»\=uL1MÏÕhXK»K.;oå oüb팈”6öÊû{iÖÈÊv• æÔ•ÅJÝBÛ<™Úóú¿w*Û¶vþë3þm½îÖ ÙæÚÁ˜~_å±ï^ž¹0e̽/ ȯùñãÍúç3¦{o/‰½¡…š[¨© ¡€·Úo2Š5?Ì}ò‰µL%[À” IDAT%ØJ~zó y¢µó¨Sd‡Ö¼7ÿé‡|7?8¸€­ƒ•ÄT’÷#Ù-˜pc˜M;4YÖÞù6‡'ÿª1<°Ð/׺ÆKK³5ŸÅˆ3\S>{KÖÔ=l4ziÐ4Mm„¸5øÿHB&g•ˆseyéן¾_y¬Ô–~ö9—“C“«Ñ$¢IJO¾´â˜º´Øæ¨ýÕ„lÈj³Yl̤֨&Š _æ&åÉ÷¼é6}ô9ó)‘ê`Àn²X­Æ‹t£è_nÜÅê [d‹Âéi<.{{eõËä9¥OEµÚíV‡C©Evt‰‚%º5$j$^Ÿ¶7M¦šß¿»Ytgv8û›oÒ…ÍùOGSý¶Uß¶ØF(³B@g—„M¢ÿ&2Øl¶g ž)mô{¬ÙjOËí×>Í÷÷W×¹ôüε_ÔEߦo¿ÞÛùªÇ‡õ wvæ ¼î×ýiÕ_ÏÁY\ЭϞß%]Z·¿\ã­C®xäW ¾Õüç+‹Õn£ñšm¤ì6‡«ãˆŸ^|øws~Ø?øÊžÌÕœØ'”ü™¢ÃÌæ»2%ï—s6,*“Œ&ÇÀ±}ÆZ2v‡É†–šÜ;Öî\SÔã,±üˆ2-´ÁU†¹¥ëÒPÑ Mö‡TUrVqm2 .Yð¿šê R¿ç\z]V^¡RÀ$¢IJO¾šzk°ú±Aû´ªÍÂæog¦˜\“vâ;²f ¤·<®ôš"Fòg¦8Uú)´×áÊZ؉>ÓRœúfGe²¬˜ù¼_Yû²ŸOÈJèíY&*¶¦êâ)—x0uH ¦ó°mÅ5g ¿ðÞácؼå:‚ÿT­/oî¶ÕF(³ÒIOÉ>ˆöEû*6  Pßq¿RÓ+؆ÎÆTÐN~d±ÊkÚy›FÚôÍn'­¦ÌÅ‹Ýj¦Ÿl©ZeysöY‹ßþôóo†w½ˆ¦sC" "«Z‹Ö’U4i½Â…¢óe°Y»â%LôI#œ‹Ú;-{w|^šåcoý -]Uzö¹žb‡ï­ûLË$ oÐh‘¤–)9/OŠDBôz=ŽÁDY¶ÄyT"’šË7nø¶º¢<5-ƒ½8· Qq•ÀÇÑFZ\Ÿñ-‚%+]’dAÜÿ˼¯L×ÅÏÉñZÍŒ†=ÓO/áH$+Õ–‡(g¹û˪i¡ï#^_–Ç%Äæ'yï3ûDÞ¢^_>þY>s‹`EÓ–!àÛÿõG;½;¤™­ûè¹ö³¯+r"ÇöoÜHïÞ©(ÝàìÒ§»øÑÌ×ÚO\’>´ì•%¥%c{dÖYÖœ×oÊO¶<ùÜËÿ.¿hÂèÎy¡lóºå{ îòËZ"b8$F)TupÕŒYËÝog3OdkÐ̼‘À×|>+RÛ.ËÄÜu.ÿÞ-Ó ¥»Ç~ûØZKA÷4'½ÊÆåÛ½ù–ÿ[!º;ef»ÙºKT²†Œ¬ømM,×"ïÞçL»ÝYÜs `?‘†hlÜ0ә䙕7ÖÆ1½ËvU¢ãæj5™œô’Z¹åh xe H/û¡†'ÝKË>ÓI‹Ùj¦å¤%©Ê´[LôŽ,:Iíí#ãLº*–¬‚cZXþK¼¨r¹°€€€€´úâ_¹cÞ?¾¶Y2Ù‹2;²4ƒ†¬ôNY¤bÂÓYF{QZ6iT”=ÀÉW—‰rIXÄÖ}Á™’Ús{›_¨]…ªЬµ›¸YÊòR¾"¿ñ—~kaë`E5qÂß&,óê=‡VyyD—Íf !12gõ6%»Íl—“™·v;—®9©®ÞEyá`üe¡£Íkç¨ÉÅk³M9N‚€€€€Ài@Àä)}ÇÔÑwh¦}¬Åçüá½sd4yÒ`Ééuåý®Œ¡Àq%¢)¥Û›þ~¦jZ/[TÉÑÿòGç\c©Íèx'÷SªQ ÌÓ©T6V£Xù!û”÷d÷¯ÎWíoÙOëxZL¡ð ýûI†O¦öàŸé7 ö‚ªè1kž¸æg‹‘òý%¸§¼úhµ7:ç¦å¤¸”,Žù‚;–јüŽYžŽ™itÞé°UÃñå/3Å4dÑË~Xa‰ÑýRBE•7A©…º:LS»$W5¬£…m é4Ü7pßÐi*êÇ¢â‚U"3ƒmÀ6`ÊU¿14êÙ|èZþq宺yh_Fïðg–JkðóNqÖ4J£Ú(¸ÎKŸµX=ùØÌVÀ¢™áÆèhyÙgÞ@äžj`îf§µ[F2 ×L³ÔÕÐ7Ì}\îñÞÄ”XAš{Ç‘2ò—ys2ƒa1è%'±²ú™6M9wYó?r‹sQ,ϦÙí4ÌšMšWb&šN­gÂ4ârŒ`Eƒ‚¬ìt`Å»’ v•¨[ážÛ€mà™‚gŠæ¡‰ghk|†ÆwªŸóͱß°òàNt÷nY{Ö4ƒVÇm%ңʯ$3åU¯”× Õû½B•„ií5ZüÙ ÙÌf—ÃFÚ6Hk®É‘HBÛ"f—Ýæ …ÂáHˆ¦¦KÌÝ· ꓊×7¶Ã.êˆ×`      hú·ár"„†@C˜IL‰+›ôËÜ­lð³²Éb¸¤´üÕþò*“ÑB)¤9¤~¥JÑIôf¸œ50­}v°¼:'Í-4$d¹è¥\YÉdW0ÿU5•°aýÜ@‰q@@@@@’hP%}Ò.Bþ4eÅÃëG–'ÙÒÜZyȱì¦O:”EÇöéP Àƒ©>­&syÏl¢÷ôFò<ÎP8‘G§ÃœTz0”6–Vû)0âïËT•‘<ã·¶H¼TѤëWg@@@@@@àä ?`‹ÿ;yµ9RÒz€Õs—iŸV•bêT^bн¥ˆ$¦ì&ÁÉ_ÿ«Lþ¦3õ7’µËé%ÕôF$›Õêó‡äɺіØJ±ÛìVz?°ùYÂL]×OJ9#Ëp9œìæ{ò m’Ää_¦2c¬(-Mk¶â‰éµ Ž2«_“ñµW!X%CÑÑÐ8ôôôô…¾344V݉šn¿5x€9(ý_0ˆFóÞcõ/‚E²ÕLë`ù2Ðò(èÚMÖÀLvòSq—A£¸å¾`ÄHÿ<.W€ÄiÝÎ4n™–|NOq®ò’T.ó­fKÜVT2¢ì, à¨_šR&½m6Q™-êé׉¦bc‘‚—oSå*XU"SmÀ6`Ê “w~¨¹‹&?D?B?B?B?Rn‰ŒAsÁ}£5Ü7Z‡þe¦W=)FÕ¤;|~¬b: ¸™íYC@ëŽ ˆ¤/IM®xùë£í­xjUJX‚Ñ$«ò‘X¤L3H«Bdz,( énç /9‹Ëj|ž„‹@Dzã¹û—ŒR£B60ž;nÝp@@@@@I ÎÚHŒ{ƒóº-¥[ „Fñl@³QÅ‘óáÆÑ¤eÌu²‘ß×\³˜L5þE7IÆì'9xk½·±Ð‚ÉL±ÓÜ_ò ×8Û+º6Iõ©è¾f¤4ÍŠŠ @@@@@šŠ@JŠ#à­v¦¤6UúÒµÚí¶îîݵ£ÍfÓãd†EqÓ¶Ý4÷d&Úôi5 €yø’W´uÇöTàzŽ]y¼4á Wû$“Çaó 477Îì^RÓp$Õe¯ð†hhþ‚¥8 ¸ŽƒVÜ¿T"6K¹éy!ÓœÀ%#Î[4·ïбéY¹-ˆ¢]§î}ãë;&x»¤51ª|á¿Ï\VTÝüYŸHŽZ¬ŽL“viSMÀ嘲d/æ_«^)ØoF‰^Z¼9=Už\/ ?áEš\^ã{ےјp¬X¦ýû«Žx™þÒßq(¢:pÓÇmÌ"Xf“™ÞÐËÞ9Ä9ÇfþF—¿buf§â¸uåKòY¶€´”ãvT–J¼MGrÜ®‡Ê‰ÜÅò’Ó Òd¹ÅRPá ŠJ«va,5ce&:K ,:çåƒX%2Øl¶Á1è è è è ÊÎDÆ  :%Y•Œ÷Þpñ“÷Mb/Ê9]7Z„xgihçÑ Ù,µæç‚¦}´`Íe¦De5Jÿѿڥžc2”N%ÙØ›z·Ã1‰ä¯.I48:Åi«™þ•ÿ%LVÉ:‚«_Ê)ZÖ„1q@@@@@N”@H~<ذ¯F­ÿÉ“©ú½56‡#ÑUÊ^XsØãž(ÐfŒß€f%‘½±Ñ!Ç1 Ìe÷oÂÂÒúUÀf2»vz×Q$ñêT” v;ìÁ-‰%ëíÄÉjòäê7z2y´„%ÅSŸ€VÓï J¥ý¾š ß kiìuGÜœT¥²U©Ba)?ÃívÙýBÂwñìHg{RL&Z4KŒ”Ö´†"}¹'W35è÷|5Š€NöËŠÏ›ä*å•äªqU¿oU_û`° sí}¶qœ¿|£¡¡É_zð}#É—1Í×°«DOØlÃ`¨³X·V“§^Ñ™¡pÀb³š-A\ÌÎÓ‡¼Îu­øäÓ€•8uw|B8?ÃŽˆ0½Ú(™^¦µ¶Ìfk»Ì´cÞ@’q’P¼¾FÕb³Ymv¥IÚ›.÷°ÄMVó@+°Jô@‚mÀ6`ü™‰¾€¾€¾€¾ Hd ø~…ïí° EhªŸzž¡©ªÀj²f½Ç—-‚E²³VyÖ ÎØšXš$U‡äö=\ã§ ŽM&wq¹?¤'d4ùz)R ÙX´ –ÙR§ª_‘)®r‰vÂ[^|ù›~×Ý6Æ›É¬Ž¨Ì3UÇÕä’$0â‚ì*Úmå?èGqihn¸oà¾ûFܞ C'ô#ô#¦»R?ñ<Âw§ ÝcÕÚ× `Íe:doAª£€cAêIÐúqéLŸmÜp 7*N²yÆqâŽlÜ“Ú÷jwÒu¼âÄÃ)6H aL•"ËW°jR‘kìF—-´ënW×1™¦6Øl(2€€€€€€@c èÀ‘PH’+îÜF«ÍÆ–KGxo™ ©#Rm¡tísß ™á=ï?øEúÏo<·ÈÞ½è_/¯~h„kÅì—¦o- R» š|רniâžwÞxk½!´û°iÌ5LËkTN       Ð h0M#VJ¡×ñÊ›ÿðngûzA‘rIÿÀææ©£ÙdôîÝ•J tÉëT+µPW‡J¢:Ê6oŠoô­©ýz†æ®<6ªÀ}xÅvC¿ ²cßsîzê|KÄ¿þ¹×g}ÕëîK<!,»ç÷Ýô&(½®IªnʬÆI®Ò¥$WW ¬ô› X•úf‹~”ˆî±° ؆B ÉmÏ”$p4·°«DwØFk² «º™´X=éÙfs¸=ižôÌ=×8óЬ6‡<˜mü5Hò‚ÐÑïU§øn,û«_³v‰,–8Ï@=¿˜/@­–Üüª²X´ÉhþðÖ5©}¸SÓ­V›ºñ§q‹G÷m w¸¤ÈAžíŽgw ¾»«òü›×{Ýœk·X nƒûÖ5›K÷T!¯`°ÐR`fW^†Ça1³‚ ò:[ñSŽU,ÑU,´@„Ááð”«`V‰L¶Û€m(7LÞbö7ÜcÁ ¶·§à™‚ûF¢®Û85lCÝñi_+€Õ—-V«Ã™’SPTxôðŽùo§÷ænWl±Ù™Ÿ•)`¦v£ŸFƒIŤE)“¬vé“BЮL¾Ä°O.§ù'iZúOþddg3ÿ”ƒÑWüjm09°dBÁê};ª×.íÒ¥ÕîtY¬6M%ëF*7n÷uQ ¿óÉÞ¹w±wñ†¡¥â+Ú‘ð¾gLßÜá¼ó;wÚ´»~lœh{’ `R¯nOzvnA¸{Ãû6®Øÿýˆ(òZ’J5£ H‰B˜^?¤RõÕä‡'—ä.²k·^E»QQi_í…NÐ ’wÇŠšÂQyÑw;óÏèé{çÝu®3&å‘\òï]_StéYgô1n])´¶ÑÞ ª„Ó      É $ÀÓfwddçM&‡+%· Èç­…è$áHD¤qÁ<õp(`¶X•C:©¾šüðãÚNOzÓÎÌÉOÏÌ!¡ž¼ÂìªTµwÍ¡Ì>ì± ¶vgæí=ã–,ÆÃèîyq÷•¯¿òpÈ™W`±7œ B€€€€€€´zZ¬YƒÊO’2=3Ûîpx2²äaÊÑ•±(¤2\>àóZívõèyõUJ$Éá Æµ;V’éN—Ó妢ê›lÒý¦':xk"´o!kÏ ÿü6Å5ò3©ÆÞ>`TmC»)SïÌZ¿ŠEÀ¤v}œÁ*J@}H‚v•ïw I°«DÝ ¶Û€mpè è è è DÆ@çÕ=åÔ½oè^‹ˆpMKŸv‡‹Ö—bÓycëS Eñú½^›ã8ð‰Æu:lV;ù¨•vM4‹P®bR»Ò¾ ¢+°JÔ­`° ؆òpáÝA¹£Â6`°¿`(ˆÀ ¬4ÆÛÀ3%ÑCä8lCé_|GëÖ\V’ÈT—C}h±†h.n¢«”HƵXÕê7Iùq @@@@@@àt&Pë8=) î      §<àS¾‰QAF@;Z3 Z )ÉZ§î„éZ§ÇqÔ—€='éìœb(`V‰° Ølƒ@_@_@_@_P$2:¯î)¸oœìûFãÁRš*Ñ\d>K;ÑU=ÑUÄ%>‰àhÐX%2Øl¶¡Ü0ywPž\° ØlC鉌ß7p߀mÄ}jàûÕ©ñ U7.íc´A@@@@@NMÀ§f»¢V      Ú9À~o‚Æ^«‡C$9ôû¼I®R‚I®"n8t`V‰º$l¶Ûà/ôôôôN}}}}‹)ƒ!•£àŸZ\SS©\Žˆ‚É\ ÉaÀç ‡í:Súê¤7 X°‚]éìVèGèG‰L¶Û€mð/6è è è è œúÂéÖÀ9yí܈_μ56‡#ÑïL”`’¤È猸:ÑUCÒ˜XU¢nÛ€mÀ6øƒ}}}}@_@_8µû‚"oùæk€à@@@@@@àÔ$|j¶+j       ! “8-hÁ¢9J½Õût2É!]Jrq5TÁJÝ·’Ѐ]%£éV`V‰ºl¶ÛàÐÐÐЉŒ߯ôß(Ú+«ºÅµX=œÂé<¤`üŸ:iÄK¬`W‰ºl¶Ûà·MôôôôåKT"cPXiŒ¶Á£ŠaÐÎiÞÔ(hC 5@p      pj€>5۵Ѐ†I€€€€€€œ´s€ÕóžãÎŽDDI’ˆ ]UF“‡BL­\®\5&“9nR0¥H‡sV,¬ÀJ}[RÓ€mÀ6`x¦(ž)úo`VèG |ßÐi ¸o´âûÆñ.‚%„C>¹Žˆ¢ÉlæðyEAPé¤rÕd2Y­v‹Íšhî5;!\‰àp¼ÊU°«D¦Û€mÀ6”&ïüPsM~ˆ~„~„~„~¤Ü:ƒæ6‚ûî‰L¶ÑzlCé×|GëÖ\VCÁ@MU¥ßï XÌ›C"éS¿,Œ+E‘_ˆ_S’\)n·'Ãb©#¾µQp       MF@—&w¶ßWSVzØëpVEÌ!¿OyœVsª!œZ~ŒB;œQL *?–´6ãŸæ¹¨Óõa8ªï[Ö_6„8}èÀáPÈ[]UVU°§Vøü¢ã j¬æ€Q •—Yª«yÜH$BC£ù~84[¬Ê!T_MrHïÍBHÂîÔ4«ÍN“U08­h°fš;g úƒ_µßçó¼Ápc‘®2›læˆÁL·ÑiR:³ÉeŠdy÷å©é™v‡“NêŸ{M!õÖ¤Œ¸úÑX©{½æ£ú X%2$Øl¶¡À=V§1à¾û†NSÁ÷Xý¦ÒºY5~,ZÈ™þŠÊŠê@Hm1-»O^ßö©vkä(©_úLJU'š‰Î‹ª\ÅÄtVj†mÄ¥¡é8èGüÖV D·Ücq…m(7LÜ7ž)° ØFÜox†žÜg¨2ík=ÀšËt(EÈs˶ü‚¼â¬<š¯Ûª6£d ×Tú¼Õv‡Ëátµª²¡0      ­‡@˜Ô¯ÏWã«©òd§åvÈó‡hÜpT·’:Ð@hgnºß믪8‘"v»Ã}7S+) Š      Ð*h°ß[£”‹Fr ¡P% K“àIÍÝr°"ÜÊÔ//ªÕl*ÊtûÁ€?%ÕãJñ¨« YA5RýôîbÕ!Eш¸`»â½ }}}}@_@_@_@_HþußpŸl©û¤ÁªÈCÚÑ `›Ã¡\‡ƒ!ZÿÊïÍnŸ¿§¬FˆHl.pì²zÕåæ-© .IÑ#úŽHT¼öiÇöv¹SéÅHôÊ¥ïAd‚TÙDͼ#®þ V`•¨—Á6`° åQ…çQ"cÐ<ŽqßÀ}#‘©À6`Ílþ`ð³…Ë?[ôm(,¨4JKí’$jA¦­`QAÞÍ×]V˜—Ýšû ¦ÐZ¬6!L#ž_u•`h'ˆÓ¾\urí+ɘeÔÆf".g/±RPŽì@–ÁT*žh´PQÅ̺¤®…zŸ+‡´Ãÿ±4c[¢Àü:â‚Uƒ¦»"DèGq{ l¶‘¨kÀ6`° å‹ïqï¢J˜¸WÑК¹ÍúlÁ² {º¾Ö*¿‰¦¥¶}–§zÿ󻩹™uœœÍSž ÛÜóøÛÿ}ëㇸ­5÷A ­V_ŽH½¤—œÀ‚ázÓ ;€¤@™ä•÷£¿5Dý±MÊšgÅß L XŠžbå¡BRQÃá½F¸I‹ÄA@@@@NgK¾_[<üŠ–U¿ÄÿØþ-s_} Ým…ZàM=Ý:ä¼ôÇ©#~òXÛ²„dXö¯’Êä’“ÔfLíò¿\G=ÀÍQk.²)Cæ&íËöd70•‡’FdžF7G€€€€€ÀéGÀçó[)-^o1ÌIOi)Dù¶ÏIk©Ü~RK•4&+)Mú„gÔýKä“Í3èœÉܨ§™å Íå0y¨›Ã }Üœ@@@@@àÔ!ó ¶pZvôk›S¿ÔZZLÓ—•6¤}‘þ²Ôä"7¦|ùØcîn'0/¬{eÇ/Û£ÂpW°ì6HTT¹Ì쯅º:t¦^íêÌYOqõÃ+°Rî!c€mÀ6` û“Qù‰RN_Ç5)txÛ‚W>[¸êHeÐâÉÍ,è7dÊ­ýo6u¾:І     p h¤‡ZkÀzÊÙzÂ4 €yA¹÷Wñ½òÆ–Õg´Ý•KÍR1î†fYqÝËr áFä/ûfö‹ÿYuHL)(Éï”%ø\öê,kç;®èŠoΡ#_=õÉâ½Yg^yÉ€,IêàÒ¡~u¨rý³·¼½gØMúy»îHÑæ©Ü:ó7o,:hpçeæY Þ²Ý{Cæ“Y¸FÁA@@@@àT'_24w­!€K\§–ÇS+±±ÐªÑͺÑá™Ð•‡`+#Ÿå½ØXhöW÷&Z÷Á««zúNýóå#º8˜gV V Ûr¨_ (ݹ?œ6ø¼ë®í`¨±9­EbvnÜxØØ~òOõ“"›Hã¿Å _²Y";tÓ@@Æhú—顯”aZ+a‹`±aÐ2+YGwhPr3ÃæÙ±O6::0›Ž˜$6¨ò"XlÝ.ev¢©Øâ¡%«·Õ¤¼íÂa¬…—+e÷8Í%ÜÿÅÜ7fl<puÝ-g¶«ùþ©{>ÞTc0|ñÚ=_ žSï)Z5}Ù¶#~ƒ;£Ã³'ß0¨ƒ‡ŠEç½ùö†ýþhÄ¢QŒH†à‘EO<7g×QŸ=«çĉ×_’sèÕþ½ØVàªØ·ßoLM1UWzÃÃüWîžo°u}ÿã;Ûë'åß>ý?/-svÊôîß[rdõ™<áš ŠìN·Ó"Û¸eËÞ¬î¹.*¾ÅfŒP¥âäÛμyÑKÿŒ»è¬‘WÿôŒö)áíraòûøÍ%£ï{x¸åuõ{gJfÕêh”C"°Œ#+nõŒ¶¡¿ã€X©ºQ²[®ú‘Ç£èG‡¸`•ÈÌ`° ؆rGMb ­dèÖ €ùM# +Í›fÿž£{,šÄÌ×”âk`)ê—JÌ4§$ÑY´£>¯î-M±Ïà ò°2°µ¯Ø?¾O'å坨 Xêé×q§b‡ÊvT„œ}{§Y-†šu‹g~¸ÛGŠX²Gœ7ù¼,ÿ²yÏ?¿Þ|ÖÈÉ=ʽ3÷Kúon+™ð³ÑÁ]Úû¢Û§™ª­)¡­G/˜pqÿ”#ŸÍ›9gî[ÙE^—`×Y†Œ¸¢¤âëwYÄßÞÛÅLÓ¥IºÚ¼õ¬ŠYó͘W|æ %&C¨¢Úqö˜©S5ûü)™U žç‰wqIŽl—Ñ»¼~R´&Y¸¼\<êú›sJ?øðýéó:ô»å¢®C/¿hóKõômK2Jè`Ü£ Ý!N¾ÓFJ–öÑbÏ9gö›ùí¸&ÛÌ 3|ÌÔ]þ2›´ZS}×}Óz§Ô¡JÌã‚U]¹ªÌ‰WÛâÆ¥V°«D]¶Û€mðÛ&úúúúBýo› “fþ~¥ßÌB*¡¹OO}†öùI†«ue’ܜõЖj£¸äMk+“˜ÉÝX»ðTÈÝJ£†é“©ßè«€ã¦2OFµ®œ$wJ+ã;¬¨lÕ.›a>RƒÁ¿wÛê¥Û|,–);cðÄs,k>ÙPž7èÞ{Ïéé äÞýÔ’•ÛnšÒ@ût‹¡*3·¨SŽÄ†@\9ˆÅéš;jíâ?n>êœëXÄ3ñó±Å¶pÁQqkeç4 ä,wçe´–7cçê?oß±?XB'mÙƒ&’/‰‚Ùì]ÿÃK<ñ\;JåßÇIê"Ųç¼Ø#×,~góG}R6;¶e ¼tèö&ƒXþõÞ¯[ý5Û'÷Êv²PØ@@@@@ˆ€>L¡È‡EŽ)¾„0ÉY°C殢±“ÌÙÈF¸òM Õ.zÔêÖ €*cüë~oõ®­Š{ˆ¹ÉÎ6 €y¾|¸±Ü0Lð²Ô(læh[qiÚd…¬›0odf7²í0ΊԨ¶·åtͰ}ypõêŠá™9M{æ"ƒ¡rí¿o™¹—Ò¼¥BxÏÒ'&/æœâ©ðF u ­ýÃûϵjG•?(‚ä ‡Å¸ä±Ë—¨#2ÛLv›Å ‡¹Ý«.hv£eÐ&•« f´XÍ4ÒYNÊh´¤wxåïú_VulÅ‹¯¿þå—óÖu'_1°û‡wŸ©[ì(ÆXè8ÕwWùôÿ®¸R¸    §e=à$õáê×b6ÚÍFú$Õid(ÓPtÆjaâJˆÐ„Lö…œ®¥ý9õtë«F‰ $EmþK›×¿zÙWV-uÁ”,GA³@—&‰Å› ÂÞùkT¿Ë‡‹'}?œh¥bz—À–çýÊo¦²ñ}ý˜s†ô+ž1gÝëV4y|w fg†Çb-ð“Fv`3jI_šSsM†jUúbù²ç,-ëyÍŸGöð”~úðÌï颅Gý`ô…“³òÚ5OyµX=w™öiP1­‚‰0e}ñ¯,;ù>5 ûƒZGOûŸx…x^r:Qõ+ïð}*$Uç"XCNï‰×ïzáÅõ<øÄ‚vÙ.£P]q¨Ú˜f¢ÑÕž¾çwóäúÙoZÎÙ1M¨8ì/u‰ÛF¿ÎPÎl]0Q ‡Ã‚$…|Ue‡î>P‘r"b4âºY¯›† ï”áò@k‰­J%H¢üóŽ$Ê/XVNRo492RMk¿ÿê£9Õ™GBÝ'Ÿ)—A“T6U²^R¡Ã >üÛs;©éy¹N©¦â­ËUxÖÐn6qCýÀ‚ªØ{ÖÐ/¬:¢,–©­©„´ÀW½êgž9&‹‚Éäù¦Ž;Ÿ¯Ššl5 ¦±@ý!.Xé43ؤ~S+°JÔ­`° ؆òH¿1œßU‚ûVMÿÓÜ]…ƒ.½ó¼R\N™dÏÀ©W÷í–&í[õî3ïÌ̸ù†!N‰.Ñ&ùÖ¿½x;Ýe’¿0GÝ.j°¢®Þŋݱ}†ŠÀÖ “{?[BÌB{f¹êê̪ß:'µ'*•2_m_‰ó0ÊUÄ% `×r`°D]¶Û€m(SÞâÞE5\<O9VbŪ×ìî9ñÁ_öËbn6'¼k¤ö¾j\'ù5¢ævÃ/ünÍŒ•¥ÂÙlò÷ðî5Ÿ¯Ë?ųìsþÝX1¥[™#‡V-XŸ9þª´ï¾PÂÔv:ú‚mmßw¸k×ó šÖ‘¦-JUÛ?û¸¼x|§½;iT&}Ç¥q’»Ëî°Û ûöÜkéÇ}’%#öRÓãë¿ zé{;}§q·¥_‘µtóÁ`§œAy¾õ~ãl ¯Ý&)´kŸ×5ux©ð]µhcCmÙHi’¿ô­¿vl¨º;µÊ}nÉÇaÏ™9ã'ÞHࣇ÷}9{Æ…Snq§¦'¿QÇ}CÃLë®”„elÅ)ÉD_> šù1å=Y{ÖÕtgXfòl¹TìˆÔ¸üÙØ’-i½†N}|èÔha•.JÓÑ~ü„_޽œúdlEOŸŸ½ûWùÐï5Ý}ÆÝóßqµW©{3I'>8þÒXog×Ó§ÝýìÑ~åìwáf^Æ:ÿØûþ3ÇæžUKö艿=Qu§¨Ÿ”ßzÃÝÏÞ¢$5á‘ÙË ¹ºÏ9-U †â¸ùZ”b×ΚF…¡Ãènõªï÷ÒûŸ°€€€€@b‘ÒíßmOóp/Yý&Ø$Ñ_±··GÅg¤jõ[˪O:³`ݲ1 ‘ªuï-«|Å™ë¿KÆ’yÖU©;ŸýfÍ„¢¡9âÑ%K6ç˜6pÛK;Õ¤H(P¶y嵯NwgÖq &JöÄÎËãŸiÕžÔLG¯”à¦oºiT‘5{¿pŒœÖ̇)ݵOJñˆ®Ýk¼LLÈK.1‡™î­™µ˜îré ˜ž™ÓgÐȯæ¾í­©Þ¶qÕ€!cõÆ<ÞpI¬“%É}«|mej €KmÂvXð…°¸>ÞÜ/ª~cg¹xr!Iû±¹âlkt¢ˆ     p‚‚‡”E¤o¼òÇíǪγΚpý°îÙ1?«œzhçÊ?¦ ½>ŸfàŠ4úyÝâY[ /y¢“ëÀº¹S˜o?Û^xñm\‡×'C§®Þg_Xòâ¼öôŸâÿô“ªÞ?ë›ëߦ„m[ðð„ò¡9ãìË&õp4JeÆË7¹˜¹MFR¿66þÙ•î¯8br„ŽìÝ=RË«e?"“W¦¯—ìvnÞ˜ÂÐ.YûÒ8Q&¸øhÛxùžbç*ÊŽ.ÿz.UÊíIëÑop3ÔN+€Õ¾>Z™:àó†r«u¥¬~ÙÆ¼Á²n¾Mó̲æºWvGepÄ@E¥ûkªi6+/Rh]©ßçMr•¢'¹Š¸IàhÐX©‡©iÀ6`° þ¨B_@_@_@_hð‹kÛø~嫨ñÓ\ÖΣ¯šR9¶öýy/>&ÞùÛÁùÌÙÊîuBùžY}åao(«¾›¹ÉuþUÝAŸ_ •iü^¿—-ÿ¤ª¯X¾tæǸÉ]í, Ý/ä0uî~¿Ã¿­ûå¿|rÑ\Cp[á°Û;|+iÝpÀë÷ùEkçQ<4¦È**­yoþÓùn~pp[+É-(ùý9ù*ÐLËó­kï|›Ã“Õ^3¡_®u7LŠŠùð"ÎpMùì-YSK<ö°Ñè¥AÓ.~uj¬Öàÿ# ™œU"Εå¥_ú~å±RwZúÙç\NM®F“4Š&)=ùÒŠc=ÿÔ `š¯\ !«Íf±Y£2“š(*|™#˜”'sÜó¦S'Ù”û²{7ÚÊÜÛ+«_&Ï©TT«Ýnu8”Z$aG—äyêAÎÑY ¼ˆ«À«$Æ@Ö¢¾ V`•è®Û€mÀ6”Ç+ž¿‰ŒÏØFÛ¶ )Åáî8ðÒ+ú0Å›“‹o˃«vV ëÔŽœÀ¢ð­{}Κœq?¿¶8ƒ*V»¨´dÊù…©£ßf¦¥iìv›#º83jHÕË)Lç wPKÈFz’‡©óL‘lôž]3ÅLívæyÝxa¶}üC} Rl5´þ”Ñl³ÓÑJßÕqÄO/>ü»9?ì|eOæ‡VO]lÌ÷:`6Ø•á(qx¿œ³aQ™d49Ží3¾Ð’±;|L–0´ÜpÐäÞ±v皢gyŒåG”—Âè]e¸5`ê¹Çñ=' .Yð¿šê R¿ç\z]V^!Lhî„Éõä«$Ëw´XÝëhŸlŒfaó·3S.it:ß‘50ûÐ$Ú”‡1õ+—Fž÷+k_öó Y 9-å¤k,L]_JRç!â‚U"SmÀ6`ü€¾€¾€¾€¾ |!Ld "°:EX9 Ûyª÷ö›ÚË/#а¥§ÌVLë=Eü›g¼óþž®7ýmp¡S^wFªÞúù¦CÂ/Þ¼–ùR#á`ÈøØõ+zýìÖ;ÎI—CÐâUÕ[>£0¡é÷n|tGm˜i·ŽÎRüX´Æi¶Ø•5mà/îû×ÏD‹ÍIWkÏSIx®}HãÐûO$¶¬Œ>‘‰êy–É $Üh„sQ{§eïŽÏK³|ì­¿¡¥«JÏ>×Sìð uŸ%‰°7h´HÒGKŽ”œ—'E"!AžØ™0ÉÖxA•ˆ$/´æêÆ ßVW”§¦e°÷ç4*®ø8ÚH+€ë%þ±E°d¥K²“,ˆûeýI¸~¬&:£ØBÔëËÇ?Ë™5~¬&*#’Ó€9¯Û°¢o>x~iÊOú~?}ñá’±}è½DRp÷G¿óCÖÄ?žß#%EØ»P¬î÷ßÿ´™üWLRøÖÎ~êÏõQ”ê*ö¯ÛìK-îÒ)Û}ƃ÷?-ý^›Ýn nœóÔÌÔëOa¬±µ[µ”›ËB^Aíy¼á ¥PÕÁU3f-7v¿½ø_Ü ˜9x#¯?ø|V¤ ·]–‰¹ë\þ½[¦=J-*výö±µ–‚îiNz?ŒË·{ó-ÿ·BtwÊÌv³u—¨úœŒmM,×¶L÷>gÚíÎâžè]¶õÚ« O4 €™Î¤TÉ7N®w™ªD7aã%- ÿÒ/ª\.l     ÍLÀœ>ø¾ëÅWç¼qß§e’§ËèQ·ÞÐ?ËlÊ·Ìz{{E•áõ;׿.)eðä‡þÒßãb~Úè–b5“v¥S6Chï=±®ÇŸîì”m¶ºœ4\Z’äáñ)VK4L<‰›´²¡ ½r!eíñä~ËCCKRô Ì„É&.ËzIŒXÌ9½²H ‡ùØfÉd/ÊìÈÒ ²Ò;e‘Š LgíEiØ wDÙœ˜Úƒ|¦ß$Ø ª¢Ç¬yôÿBqÂÔ¸¿WN†Éröà ·öK UÞØúp<'ÍCšÚ%¹JÑ“\UgÑ`Fš¤7 X°Ò¬ÀŠß|¼ឣßTÀ ¬u+Øl¶¡‘µX»äùTiSMÀ嘲d/æ›ü^àfÚb™òÕ>`*¤ì®±–ÒÚÖu3韧ÞÀuWÍ¡,/8Ç5B؆þNV`¥ó6‚û³~S+°JÔ­`°ã°ŸLk0ßÿôò‚ª£·À¾d¸ÿ¹ÏZ _9˾Ý:>ýû«Žx…Öݳ–Ùd6™Lä\%y©^ðY^þŠmQop3"WĶZýr…NE¥U»°–º5”™èM=¹<Ñ”wäKÍ‘o)´Q\‹ÕÀ+Þ•ÀJ!¨[ឃ{lC¹a⾑ÈðLmœ¸m”Œ÷Þpñ“÷Mb/Ê9]7š}º³4´óhÐl–ZóóWÓ>Z°æ2û,¦ÿè_íRÏ1J§š{S²ŽeÌÕ/ÍKŽ–µ¹ „ü@@@@@N#!Aúñ``þµ–&/¨rè÷ÖØŽDW‰”:°æ°-ÆmCm߀f5‘çÿF‡Ç4°ÊýÛ•UœÀ¬tÊ’XrQ[ 4È@@@@@@ -Ð `ú½A)¶ßWôûCÁ sþÆ$/œÜܲrS‘¾\“/šŠôû¾E 'ûeÅçMr• $¹êG\Õï[`Uç×>ØlÃ\{_…mç/ßèGèGèGò·1|ßHòeLóõ¬À*ѶÛ0ê,Ö­Àä©Wp(°Ø¬f‹E³óô!¯s]+>ù4`%Nïđ܊××h ¢Zl6«Í®Ô"I{ӥ㖀¸IÀjH`V‰H° Ølƒ?3ÑÐÐЉŒ߯ð½¶¡MõSCÏ3T£PµXMÖl²Ð¢R´°ÉÎZåY+8£ÓãˆÒ&–Á,ùz£©l ,ZËl©S Õ¯ÈO¹D;á-/¾üM¿ënã‰ÍdVGTæRÇÕäR?phóó¯-î«$Þ¨¸‰ŠQ[æëlŸüñoÛ#N J·f´~ó¤ ƒÓäÆL·Á27*nm ÞƒK^œ=÷»Ò ÑìÈë2fÚãz¦Å°óL¥¬{œ¥\/ßà±å/~ð¿oJÃwnÏASîީά mœ\V‰ Ù”õMf Èí ›ä½}}}}@_@_@_8…û‚ºqi_+€5—é½©ŽŽ©'AëÇmÎ3T*jcr Ù¸'µïÕŽý3_~GºèÞ«sOæ{„ýG6PâW¹Z$LØ7óµ·Å‹ï»¶ ¶:wxï;¯}ì¹äÊÈÜwÜ£)U´Ìnã6söøëqO'[Xòn]öÚo}ìúé¤>uVøÖÁB<ôÑëo±\”ÜuDâA” †Ž~õè;ßäÿóWûä9Äê]»ö[mqk)ßú¿G?YQfÏrÁÍÓJBCdÞx+xñ½×¶3Ç+TøðöõÓ{öÉŠ{µ^ ñÈ‚¹ŸVúÙK;¤„Žî®v8ÄýïM×HíÞøº×K'@@@@@Ú]šô/)KúÇ…pkûTÊÖ8à¡ý[w»ºvÍÔ… qI '¸µèªŸÜ}iv\]'Y£ÅÓkØÕ“«?ÚRÙŒÎøXIŒUßµØ8â–›ûæ9if¸%µsIöñp`ÇÚ±Lð— IDAT)çüúÅ;AõÛ0ïðþ5sç 6‡*÷xݽ:·K³-®ÜâpF–E©``óòÃiÃÆeÕ3$‰cÙÍíÇÿb∴­¾¶éБÝOß³¼ËUS.4-~yúÖò ÁÝuà¤;F÷Ì4Ň"Ööçý’0’‰eßÎ}f¥ïèAN¦¨Œ|Âë ¡Ý‡ÅN=¶í+ßòè­ »ýdêÔÕ © ö(q¥o¼ùî6›¸ÿpi•¡ý„)·_×1Paå¿Þ7ã²KG¤Z¸óvç䯸íº.‘¥³_b¥’œM¾›J%îyçdž£®ùåµÖ¥,—pÄVxî½Gun¬¿½Qö‰À     '€V·Ð4b%ˆQì?¼ÛÙ¾„Þt¬\jFW£®*›MFïÞ]©´@—‘-Ð¥ÔB]JHu(”mÞ ßè1 " œNé1ü¦Ÿ»J׿öÈÒ æ}þÉWÒ°»žìå©^ÿú_f-î<¥D/þùUùåOaCŸŸüß%é›>yvöÖŠ¾=ªf}¹sÀ¤ï˯™õü››zÿ²·G<¶qTr%^³éÝïB®ÿõÐ4S$$Z"¦¾£n~ôâ4§ýs¯Ïúª×Ý—¤E"F–û´n©åk^~˜r¿<›ÆœGDQ´äŸ?ù®kr#{×½ñäœe&ͨ-³(R˜ˆ(ÄjäpÛB»}Ñ*R‡±÷ü®³ÛÞ÷áë_I#îyª‡»œj1ïÛ¼)Ý…HꈉwLÊ7î]ñâ£s¿ëtUI4—㕯>>gYç‰í¾¢ºŸ}ÏS]G7½õÕýºQS/ÿËüÅE=wÌ2œóëÞé„1«`Ø_Y¶{,’ üðÚãßìõ‹!W÷:/å3Â2ù7¿t”-ùüµ›ú>Øû²ë»ïZØûžûK‚É>ç®§.²›jÖ<=}ÎÂÞÅ<F ïñ-ŸûÃØ‘é6lê´é՜̕yBX*wÏï©vR`Ý'O}Ñõg?ïí±„÷¾¯‰Û5 ù#o $µì‡ÿüí»-õpÞÏîùáãWþûëWòGÞ|Ù„³SÅh»sòßn<¿Ó ¾¼T¥ßýc&/U$ʳƒSˆšõ¾\ÂŒÀŸ<'×(6w\mf´ŸØê˜1'¹Š¸IàhÐX©Ÿ 胉hàžÛ€m(’Ü6ñLIÏ_ýpÀª³ªã·Ò `õ x›Íáö¤yÒ3÷l\ãÌ+²Úòl`¶ñ× É BG7¾kTâ»± ì¯:|mÌÚ­Xâ<õüb¾µZró«ÊJÔ&£Q øÃ[פöàNM·ZmêZÄŸÓ/Ý·-Üá’"‡Ù"ÐÒYŽìŒ4—Å”™—ŸºÎç¯Ú±AìvmI†ÝlNé6¤xñ¢]Án&“ÍívÚì†vסô4—5¥ 'Eð‡%ÿÞ ·—øÏ¹¤»ƒÁœBZÊP¾gk¸ÃÅ(qk‡aífO{úq—Nè^`5,vaÝŽö–î©B^Á`a‹Œ9²XîV“œ{ØHjÞHkyÑ¢^VZÖÚb*ê5¬hÙw;CC J™i©+ cbË}É«^‰á€`OqQMfW^†Ça1 ;©WuÍ´› ùT‹…_î ö4™,N‡Ýj1wî;¼èûµ…îæh.Ö½†¶_¾b[iÕÅY,V÷sÆô¹ôü-Ï>öUç[n\h£‚‰Gc´FÜ©FoYˆ*bï0ø¶6x·½ùð:Éȱ¼÷ļˆ …sÛ«W¬Ìvƒûöu[쪓^"íÊe‰Œ]&c·EÉPìhí †0 äˆ€©JnÊ«N\g6ã`ËÎͱo DLf«#gШÛ=úý7o>ýæLÇMccí®·¹ír©ö﨔KÅZ'š£!¤äb„@0›ÕHµ¾š²ÏWшou1£Otq‰P"88«ïœ`—úúQ¢®Û€mÀ6”‡)ïq.ž¿`•¨ã´!ÛP›:ík°ú²Åju8Sr Š Þ1ÿíôþÃÜíŠ-6;ó³2ÌÔnôÓh0É¢˜$¥`’Õ.}RÚU‚É—xöÉå4ÿ$MË^6,‹Zú#;›ù§Œ¸âWkƒÉ%ƒ VïÛQ½vi—.ݨ¨v')I›¦’õ#•·û:(¨}瓆ëz ÏZ­Î* N@Ñø|'"#éƒï¾aB±3&‡"e·y‹G²ÄÍÙc&ý¦ï®%oÎÿǽë¯zlBÁ¢÷^ÝÐù‚‹;wÚ´[S.ž{ýÂò_ŒRü2³ð‘ªÍÛ«òûä» JtR|ѾìoUÚ˜äcÌŒt(ÇRê«;‰W«)B8 ¢§TÐQtfnùü͇ÏÉ-RÛRËM—w½5Ñeë½µ¹‘wzÆôÍ/¸¨Cq§»X 8F o޽ýRا„OL†‰7´CU3õ¯2£-笑ÏÝ2sk• 8š¾°ïÃwäRvî°u6ê\ȼè÷-ͽ@‡     ­@2LÂÁíIÏÎ-wïCbx߯û¿_Hcsy5H¥’Žï‹B˜\–Ê!T_M~x‚qIîR!»vëUÔ¹•öëèøÈ%ïŽ5…£ò4ú7ؔڱ‡iáÂ]Õ]{¦–n[¾+­Ï5.Ãø),ž.]…×>Ù8ìgóÍ‘€_²;ý”x»såÄ%Ñ[æ3¥¼õŠðCïm;P%¬÷¶;÷¬3ú·®G.øƒ‚$™þøíŽ”®W ;ÞŠ[æˆwÛŠwÞ*ë~W·4£Z»Y-ï¬êÓ=¥Œjáé1Áe<Ê~[ B»×}{$ox'»a¿çb”sé~m–\÷U=Kœ±ºKÇÖÌûÔpá¯Î^3ýó•gL>+‹Ñ‹VÐ`J6nôg¯ÿ÷ù”[oÐΩغóPÀb¶q,ξ·{Š$|’K½ê¹Í××]:x`?éÇ"ãÅHáûf‘?ß'Ù] €ÇN›h­i¿/H£ôkóJW([³q»[Ò#Óxxó·+ÃíoH·n­›…ä‹•Ê¿z‰\*õV[¹Öhêü2Ò@yq@@@@@ Å $ÀT8›Ý‘‘G®B‡+%· Èç­…è$ašJãCy¡öUé¤újòÃŒks8=éY4N;3'?=3‡„zÃL¥ª½keö!ù³]6aÌó>qÇ|£ÕÝëº+†šÆÉu¾r˜ÿ|ò¯Û¾4»yã&ÝvAåšCY»pqíßöîŒ÷¾« †´³Î»¥G–íâ’寿òð[μ‹µ8a¢ò£õÜG§ÕøÄ”^×O>;õÀ›uÊ)]ðÖo—šÉ9nò »ù†‰hfõÚXÖ"Zï鹿u®ÑBµ¸dp¹ÂÞûÑŒ¿Î„LÙÃoŸÐ?Ãt,š‹×qõ¸fòÙí6¹îß:Ç`Ní}ýÃó}kž^ê7eØ Œ®û7ÿ÷µ%?5©*h0: Æÿqªë…YÏÝ:?dwy ŠÏýù¹]6³ŒåŸÓ>3:œy㮸ýšvµµ5º{^Ü}åëÿ}èegn¾ÙÚ¹ã?§}nr:óΙtÛUyÉéØ;÷êV1ã‘[Wžyëu×DóRâæÔ‹+”oZ={ÖîÃUgNÁÀ믹jëF×–Ê–™m¶²õÉÔ[´¡ÿ9í “Ëž;†Õ(‘ÕË'@@@@@Zã;ï¼3~üx¥(K÷Ôz¾”qžB8ä÷ÕxkªåaÊÑ•±Ô£@>¯ÕNPkå´fŒh’ÃŒkw:­$Ó.§ËMÞà$QÕWýÊÐÜXåOù¸Æ£Ÿ¼=Ësé—ðw,òõ½>mÚõÕy : û>l¶¡<åOóç úúúÀsßÝ NUÛ©zyË矮õÇåL'í­/ŦóÆÖ§ªûõÚÇ)€ýÞ‹ëtجvõtÖ¸UPîwÊUÚáÿ”K´sjÇ-¯Å–ÎâÛ©]ßÓ­}Q_ØsÜ»Ùix¯C_@_@_à_iÐÐÐÐð_Ý ø¾Vסœa+øª|¼êC‹5DÞ×DW)…&Œk±jsJR\8] 4BŸ®ˆNz[‹®žv/ZüÔiPÔ@@@@@ Qê¾§QQ@@@@@@Ú­?fö*…WïÓÉ$‡t)ÉUÄÕP+uIBv•ަ[X%êV° Ølƒ@_@_@_@_P$2|¿Ò£hS¬ê¼'H+€u®ÀF ÌWY@\u_JD¬ˆR"8°+nz ¬À ý(nOÁ=÷ØD]¶Û€m(_ð Md ø~uJÚ†ú íc´A@@@@@NMÀ§f»¢V      Ú!Ðôúc% WHrè÷y“\¥“\EÜ$p4èÀ ¬uIØl¶Á^è è è è œúúúúSC*GÁ?µ¸¦¦R¹“êÅ¿I>o8lטÒW'…¸IÀ‚ìJg·B?B?Jd*° Ølƒ±A_@_@_@_àÐN·¾Ð€žzn/µ>Æ>€€€€€€´Qeeeê’cpmG@@@@@@ q €Ç ¡A@@@@@Ú(à6Úp(6€€€€€€@ã@7ŽBƒ€€€€€´QÀm´áPlÆ€n/„h£ €ÛhÃ¡Ø      #Ü8^       ÐF X[nQ%IÒËh4šÍfýá@@@@@@š‚@#p(òûýôÙ(l2™ìv»Ëå‚ nŠöCš      : èÀ$}«ªªJË+× — ÖAרi³!R` ÷ϵgfdx<«Õª³X      '—€.,BMM̓¿9$YCbH![͇½Õ£Baò§¤¤è¨'$¹—- |ËzX! €€€€€œæt à`0XYY¹í@éþPf…ßß(dÞ€¡&`ö«{U‹'×ì² Ón—Óív;šlܨ‚!0€€€€€€ÀiE@—‡Ã¤VÔT\Þ`¸±€HWùLÛ*1yF³)Ýf‘oí]”—••EÓŒ“‡ÇUÓ™€.‘7¯ÏW®¨4büsS“%¯oe•#Õ(Øä†C7uŽH@@@@@@ hX1’ôåusgdŸåÌ2´²ÆFɸ¥Â›[UE`šcL³‚ÛhK Ø      MJ Lê·ººº¢¢r‡ÏZرÄ1ª‡›´Xú§ÐN[úºÒ Ù\J¥MMM…ÖO!A@@@@@àô!Ѐ¦·•——¯Þ{Ìgñì=Rneê—·“Õl*Êt¯Ù[6ÐÌ…>ékMŸ>Ö€š‚€€€€€À)L ™EÑçó•––Ì®=e5BD2šj—ZV¯ºÜ<â%U;ÐK•øý G$*^ÇtÇÑ£Gi 4­#Â&‹ª€€€€@Ë •´xñâ#GŽ´l1Z6wxÛ½{÷~ýúÙíö–-I£ro@²²² Ã-ˆÓ¾\urí+ÉÓeíkl¦™Árö+åÈdLE â…$35//t;p£ŒA@@@@ôøê«¯HqLž<Ùétêu²BÒÝo¾ù& y<ž“•æq¤C²kçÎ䘙O8ú*à&GÈ.—¹Ü)­ŒïPQu:íGœSòú+ß­9|Edåúʼþ=ü{V®/½BX±ê³ÏCòÌ©…7ÞÕŸUi@ÞMK<ðÃúÕRQ²*ZóúÒ»ÐÜãå«ozdÑüu· áéŸ ‘úuùúƒ/æO|ú··ž‘RSt`Í/Î^sû ,ÊÒÞqÜ”)çš“åŽk     ÍGàd]UUµjÍÚÁgr:'˜T£¢7 €yZrë²yégYlJFùý»QíÛçk£J70·5¦ƒ¹–K7B¼“¶¢Q㺾<ýÛU[¤ïxÎ~`rå¿^X¶~sõŠ}ÎþW“þ•|;f=ý÷ÿ.Úz¤: RªG³‹—œêœÙS˜ŸjÜXvÌ‘,»H¤6p0ã`Y(´û­ÛÏ}+šXJniÈ06ÖEøÛcÉ·ËæÎÿôË… ïºãöœììLMt]Cj#ʰgzÝ®jì1 O:Ôœ¡“Mô¯~^òf{¼$ú«m0ØŠFœÓ#òãÜì°õ6àŒ!ņyŸ,Øå8cü \“°oÞ?Ÿ˜s¬ÿm¿1ãµÇ'YUI«m=ŽÝ {öUFœÎH’D¢éÕ¶yrÓ¬¶“þúÚÿf¾ý!û÷òŸÏ̓׷1mа    ­@¤úǹóšóÎ3tìE—ßóìÂCa¹”bé3þpë”óÎ;tÜ¥×þùÃUòÀ¸›pà£û/4ææW¶…´×k¾ÿ¿I#‡\óô5*•Tùíc“óðr€3† £ƒFŽ¿èÖ|º¿^"ÚD>f*¤E·†‹ !úòÑûîþÕ›½1BÿûÃ/þöÑî(ÿæ·uÿ“ŸhŒoõŽ…/ýí÷wß}Ï÷ÿþO¼¡:q£è/A¼CŸ•™™QVVþò«Ó8/H“œkX³E°"²î:eÅ+ï³qÈòF;ÍðOÉ+š{Ý"±B²åºônÖÂaçu.Ÿ·*\2¤{FVß3Û•/ýt½uÀùƒ²LID)¬®¨(Ý·yÝ®h³›íN›É·mÁÜ/–o®´Ôî—‹”i`ÇgïÎúî»÷ÿþÇçV ]Îp†'~"rùê¶´1qDÆ¡/^ùï{K7mݲîëÏ¿Ý'˜ù§ôV á@@@@@ Õ0Y¬ööçÜñÄ«ïòÊÃפ/zì_dߟI*8ï¾¾òîÇ/ÿvì±é¿}zɱø_ç#˧¿¾9µÐ“À=d4K{>}sÑa–ª¼ û¿zë«C6|UÞ]úâ§Ë/øì­ÜÞqå3O/<?£hp=ZTü²ÌõR>´zÅî`¤lý²-±ß$!,J"ýÏ¡ÃH„þ7HUkg¼øÁ*oV¿±çë[jw¸¬ FÝ%©03#ãŽ[o! ¼ÿÀç_z©Ù4°®ú0¾J Ë.W&6å3òrTµ•PM²C2;–)“äÑìÙ_^‚Æ¡· ß;͘ÒepÏ,“­pÀ€B»9gÐøAÄÄÚáü[nâXýòŸxäÝí®L§ÜwìÇ^64ßûÝkO¾½Æ×¾v¿Bî?á£Ë_ú݃O.öõ˜ò‡'njŒŸ/d½ÀSîØß>ùàyžÝóÿó×?<ñÚ¼Må:Ç\7®Ö     ÍKÀYüÿìÝ|U»ðÙ¾Ùlz#!„ „Þ{‡ ˆ ¨€DÅbAP¯¨QPTD”ªˆŠ(Ò!ô^„4ÒûÖ¹ïÌìn6mK’ÝòŒa³™=3çÿäÞß÷䜙¹÷‰Q}ÛF7îtÏ–ŠŒÔ\.ªŠ};~tÏVA!{<úDOÑÉýW Ê«L¿í»£õÇŽïê[AxQD qný§òùÍÙìCßm¼ÕfXËÞDR¹\¡PD´8¤­ÇíiÕ0\^©wà:]Ò‘¸´ ÎÝj/k;7 ÓÓ ¥á½†?ýº¡PK\gœgþ;ýDªà_­DRøÇÿ7íXÖúùÍ»Ÿ·ô"öí0yñÆÉ¥¬ñÃn~ؼ2ÒüžƒDVŠ¿ð³%nUUîN ÒhûrÓÿ P7öæÃÞ´î4hêæÿ¦–®?C€ @ Ö °ú¼¤£7 ì3¶¼Tõ¬6/WïáYN:1¦îþfcV¯·…ÿýWEÇ, y"ðÌÂïþÝöÞCÂÎuGCÇ¿ÕõÐ[W¬7`Ú¼ä3¿lŽc¢g†W9×¹9Utäv×kââÒ}ÚŒèé™~|ûó™ºúWðgÚ•Ä¿MÿN×ÿöé¼­z ¼wH§ROI¥ |ï!—./§ |ðÐá¡÷ ±{DUlPñÑó;æ\Yš ,d`aò3­ç'‘îÙ(2Ä¿qd€æÊÁÓ“V¹ÊÅ”v5å—Æõ +8íŠªÌ IDATºiál<Î=ÜÕ…KrJʆ͛©š ݧWOödÞµ­,äIî• »Å_–»^q‰Óhº–p‡*W¿òÝqÁ›‹ÁV%qkøD.,n€C€ @€€£²úÃß_÷ó×óÆyÿþÚ.YmgÌ>ôżuúû¦‹(=0Ìèþù~·ïègûÙÊ-ÜÎ$!ý'öÚ»fãÆïN7žøXo눫l>ùÛÇî=¸ã—ÕÏûo™9kãU£•WÐÎ=jêMu•\]àdzaêÞeo¾¹`{‚¦àÚÓé4ýœ.Ë–‹ròé®W´°šÜÜ"–V‘±XîéÙ!桉ÿ›<¤^ê¡Îf—”êÜn#J¿+¾Yuûv¥ßg'MR«Õv7©zƒr&”Ý©4¹¿¿F7E¦G që\GR¦¾+. ßè;÷ů¦C—Ù+ @€ ¨|ƒ"|MyÇ3mòg¿œñJ{_“.)vñ»;‚'/{²½WékÌ8¸j}R÷é÷5¡d,Ü:ÚÆq(?0¶ÕæYëÕã—ö£§©d—mJé.¨åЩ3.LY°íÂð—Ú ”mçÈS&q¤iµaó¯>•Ð籇{Õ“1úÌã[×ï:t2µ× €Fž;­ûR:¸oÓüã±»ÎiýûGx‹µ ±Ë¾‰3†·ìÜ”9¿oÿMƒº—¯ÂEƒåyyy”~SSo é7,,Ô=Nv°ð÷ ƒp«+>mÒñÓ/¦ðÆ„ÝS+ß‹9ýro…ë~MÙ—/RÈÂn,‡ïJÕÆ‰+ujìî#A€ @p¥€HDO\¡ûé }Ó÷/¶ärÏYŸŒ,;ú˰éq?ï¼~S3kÔ\ 1iÅÏÜ÷C×+ç -–i‡â€¾olþsºÈóôë2G¤Óê];µ·L5°‚Í»°ÿœ¦á€Á]¢êsu5x÷‰;ðÑ£)}‡…µ|è‰áÌ/{OþºfŸØ;8¼ÇØ1M”¬žUzëOžÙñ}œXÖuäÃ"íZVòÈþÛ»OH¿n~°LGC™Òr¡/—þ)vÒ½¯øìËÊ Wò ßLûªâÇ~ù`~?üåÁî«ÄùÚ± @€ê @Á¹Ÿ7Æy¶ëÒ""€¹ûå¢=ú/â®6æß8çý½ Ÿ[ðBg/½VKóq¥2¹Ä˜yöàÙ¼ –›ùô{û—XV$¦ÜÁ29GÎX8sþãÍ¼Ë ›UER•W¹ÓhYÚ¿F+f5YW÷¬þh»¨÷ûÍ=«v*jAôy¶~ô•¹¬ÊG)áŸ% éòØœhƒ‡”"œ³>cŸíD _‰T®òTÉD"iX×QOµy@o0Z«P©Ur 3½ztW©T];wòðpUÆ.÷ Û À\ú5=ðˆå¯9ïò¿ƒÅ¢ËݵëVò1×vùï\6—êº~±g@€ @À9£NoÌ<¼fÞŠk©R߯=Æ}¸ðáöt*6sßÊÕûS³™ÿûü.½{Ìû~áý>©{¾šÛyášf~rO¯âË‚ÕJ©Lååã£.s¥°Ý‚Š.}3ùžo‘LåÔ°ë£ó<Ü®ª·Áª˜.èõò÷·Â+¼üÍ·¿IjŸÒ÷¦•žÞŠ*þiÀîÙx{{÷ëÓÛÁÆÕØL´aƘ˜Ëý­ˆòóó¯\¹wÙ·u¾FO˜ôåÿ#¤_áçj,ÇÞ®L#¼æ_7~î÷}y*¤M³NwêÔ)22ÒÓÓ=gÍ^¹ø€ @¸ëÖ¬Y3dˆËØc›mûöímÚ´±ÝÆ Ÿž:uê‰'žpCG•î"##òmll¬`¡) 07â+ Ó09%_ÓÏ@ùì¦Eïå;ãk2EazCEº©t@€ ÔmÚ0\·ÏPGo+ÓI¥…¦@[n/%D]>úr£ÁÜúϽÉS¸Û³È-ÿô†Š´TZÁÁb5 @€ j@®Ě؅­l©‡{â®ùaØ<ÌÁº¿l!q[ ÿr%˜o%çþrÐ# @€ Ô;X6ð7‚æ†zùÉÏ–…Ãî>HËx3%oî‹ àÜ ),î.ýA€ @uL#Àµô„;€Fó4gþîÏ 07ùÙ”?¹cwu¶ä^ºÄð/? ÍÉ-µôL l@€ @p©€,ô-ÜbŠþ–i XÈÀô©ƒéÛ‚§å`®SsÇü$mD_—þª`ç€ @€€IoµôWÁ~¦SkàoÍÏ‚.^ø \;-IØEÖùÖ¶ùlšÍ‰ ì"~ì€ @(!Pƒé£Ä…©8-ÎØÀ´7о”,…ÄKB*¾Ø’7­’°3½;ÙÖÜð]þ Štrwh@€ @ 2B*ª© Œ\™sÆoc'Óƒ… =cH˜nlê†?Û%º¤ÑàJ—àØ†Öc»¦÷¥Æ{Y®T*رý¡ @€ J $&&†……ÉåòJn_…Í(õPï2™¬ û¨žMu:‡‡GõìË]{±€…2,“‹MƒÀ´–g5ìŽ p­3°pͱeø—*¢"Ý…†~ @€ º+àçç— Ñhj$Ópdrr²——WÍž½^ãÆðððš-ÃÙÞ ÀÅùVÈÀÔ Í…6uf•„íÞéöæN…¾­3/žì4&6€ @€œèß¿ÿîÝ»ãããß´:·ÈÈȨÎÝ9¹/©TÚ²eËV­Z9¹] 7w0³/­oøÌßþŠ[J< É-ÇbçµN¿¸´[ìÑ  @€ ÀÐèë°aÃQì`îÆÊÜÂÝk™¾ŠoõlŽ¡´ÊÝ‹¥ksÇBú¥ë’Mµº» ô@€ @µ@ÀN¦#àó¯i¼×’­†kà -ƒÀ\yæÙÙ\‘ÖƒÂ5Pº„ @€ ;WÀ~¦Ú¹Á_sä§0lD݈–è+Dà‹vÿ1£G@€ @¨¬€­,Ì(æ†UùÉÅ\ôÂ?©8| —W¶{g·+'r[F}é²dóâìnÑ€ @€îz±#GÈÍ.¶|Y¥La%=x×m_6Ê('Û;¶Üà žœ{Û5OvÑÎM»ÍÜ5ch¿>Cîí7p`¿Qÿ[q<§ºÂEeÛ;ø€ @€€Ëì`£‘ÂnÙ/º1t ~•©‡Š¤R+¼ràj`Ï6ê«k¦L]}Që̦öÛšv`Xs¹tïš‹«¦Lÿáò•/¼X¶ªâÝJCï[´åÏ]ÿ¶æïkw%aà gWM™ùK¢ÁºÄ¢s_¿ðÒ úê+ÛzO\¿|–7öûA @€ @n°—Ïø‚(l c¼eRg9¹Øým,µ9§Wt}ÿ9Ïîí"pn× S…+šOø|Ѩ†åNN/»[±GýV­ƒ¹EFذQ¹:XÙý;¸!šA€ @¸ãì§%nʳNËŠ¹––iÆîøQYÉRsž¹"¹ ´&áÐ Y§WC¤Ì F—´sá´=™ ·òê?8ïƒÉ½Š.ý¾lÁ†z֧Ä·_Ž ¹±fúü½yE™ižÆÜ£Ü÷Û¡„ÿ˜×OíêÇäýaÁ¿\+4Ê£ÇΞõ@#%ÃXvnÌ¿¸e᢯±LÐà×çM <´à­/¤jßè_|eB_:®R½·IYýòr¯W^`4W·¼6á/FË„ô{þçzS¥Å5š7G+­×óé¹/ ÍÚUêÀueÚ„Kí”×^Uö·k @€ 8*`køS,KøÅ~S,Yíºí¢_Y×CåéSoHù… vàèuIGŽ3í;×—smžmŸûÙÆW¾à»wãá̢˛?üAôØ'k~ønÉ£Eßôë cÔ{özmÅÆŸ–Ü“üë鶯¯Üòí´‡:”Áj®l]y®ëÿ­Z³iùÓÊ_WíÉ ºŠwžsôû4,ývõ†oÿo\S…Ø¿ëÔÅk~Ú²ùë Êí«þ&%—êÝì ‡ÏÿfÝ–u Kùfq,Íq.Q³!9vÎã#ypâÒݧNO-3…[ŸøçÂU#ÿÓú•ï=!£aérJ5j™&>ùáϕ϶õ°ì_Õ¬w³¬ƒgÒÆô3GR¥Yq'Ò lö™ƒ™Í{7ó.ïÊ€YÿAo¯Úôëº÷ïIZ¹h{[ÎV¥ÛäÛ)¯L'X@€ @À[#À&½¼¼üüü”âtõe2%50·AâomZ„·"«UÂ[sî»uûâ-ùÇ,ñ ÷Mxk=”+ŒëZb!׆ÿÁr'j±HdÔªOû6ìB;€ ©qqš6Â4ZË0€_¹XæÛ(B]”•›˜u\×~Bç ÒÁ݆4]¹åbV[F¬ðöVŠþõÕ7Cüyh„.«@—qîèùo>»…eõù…!ÍòôŒOñÎÅ‘½£>Ÿ6÷æ3êÝX!b”Šì‹{ÿ;í\º¦0»€¿R·dï…ún%ÿD,fDòð¾÷F¬ÿëbîHKÍ܇õbæ}úZW•&óÚËç~µü@‡ÙõÌrßÙœóûo5º¿W%_ƒXBö†rJe©gHˆ·TLÇj¸eÙ¿¢y¯Æ©ÿœËîÈÕžØÿä¡3éý½ö¥DôR‹¤LÙC°îXx/’(”2‘HÚhàІ[öÅÜß]YæÀK¶¹š`,#i]^Ù>°€ @€€3¶°\.W«Õ-“’ŽìÙ,jÞM^¯±D¦ ,Å}Ñ‹åUÄPR£ÿ(‹Rïb>íÒ+µ ·–füGBîUˆÓÂ+eZîaÃ|¨¥otw-úοòÍèW§ÅÍøÆ,cÐi4I×Ä—E·‰¦R===©l»Æ´“r¢Æ5ö(ÙÒ”ë¥2./ZQÉaróGÜRjÔ²õ†¼ºlJK˾Œ)Å;—…żõuû“¿¯Zü⤿§-{½Ñßo¼¶ýc#Ú¶‰ô¿PªL¡÷òjç+(¿f±Â/²ïèA¿.KÍ×—À´…Õ1p{5êÊ”ª¹XÜ]‰ý{Eõ _³÷èqYzÄÝ c;rÌãfX¯–Þ"Íåu3+<„rЧsH 4—×Ï®x+¾ c»¼rvU€ @€œ°€)½ÒðoýúõÛµk'“É.]:‘sþ?¡Äý…éË%mi¼7ÈǧyǶ-Z´ R©`ëQè º4fœ>yÓò¯)•øG·–üô÷ÑŒ6½}ÒÆ^ é>ÑW”PÁ®dÁ­¢´ÿ·yÇýoÜ.Ó•¹Å;gu9iÙ¿¶#¦½]8cÎÉ„T݉Œæ£F èÈÙ§³wËjV[P@×53·þûý’‡'4§W•W³± ñXìa]Ôs4ÔK‹ˆÒ²6¿PÏ4nã³ò¯=‰‡ÖÓåç댾eKõ´:¨’&"ŸV=ƒ¿Þ¸YÝæé& #n,_¯ø1_‘1íR™C0õh¤?zð]s¸`Y}c‹®Æþžù`cý¥ËxÉ6-–’´.¯~¬† @€ à°€­L;Q*•õêÕ£‹i(¸I“&™™™z½Óq¸ûª7¤yÚzCCCƒƒƒ©`ûûd³OïIl0°™º‚¦Ê¦¿þÐâySÆ.Iý»NzgX¸,¾‚¦ ãÑrü룖|øÒÃË¥*uƒ{ßš÷@jñÎÙœ“k_ýtoŠFÏôxáÖÚ^;WL~ì3¯a2Eó wÊ} åY<ù‘Œ<ƒo×IïÞçsaA‰š I̽[&fÄʰ>^›N#З¹Íä!m[Í2)þÅ/Î|ôÒ[Sþ\¬ö÷ù†—)õ½'"-”6û·é°è+Ÿ MÕŒºy—àä Æ´õ§ÞºŒ,uÅ=¾;¤uÑ»Ôõÿž .º´éÕ§~5hÄ ï›6§OOfé­¨ç’mÔ¢’’Öåٔ‡€ @€mذ!&&ÆÒÔßß¿ìfZ­6777??ŸÒ¯“ÏÚ-»³j^Cáœ20Í|¦«™ü\ÍÝcwå Ðé~Ôo,]þÜøMiSÞ¾±€ @€€£–¦±±±vF€…¦,h Õ`08õ¨!G‹ªB;šðL³ )WaØ€ @€î~‡°À@!9óîÿÀB€ @¸KœÀw©«úÍ'~ñ±Ý:ÒÆÎ.ð1 @€ g0sØ-´… @€ Z+€\kO ‡ @€ g€ÑB[@€ @¨µÀµöÔ¡p@€ @pFØ-´… @€ Z+€\kO ‡ @€ gJ?)))É™ÍÑ€ @€ p‡ ( ëÊJàÐÐÐ;´p”@€ @pF ##ú9¦@;ƒ‡¶€ @€ Pk€kí©Cဠ@€ àŒ°3Zh @€ @µV¸Öž:@€ @Î ;£…¶€ @€ Pk€kí©Cဠ@€ àŒ°3Zh @€ @µV¸Öž:@€ @ÎHi̵5 ,Ë:¾•H$’H$Ž·GK@€ @€€+œÀZ­¶°°^ Àb±X¡P¨T*Ä`Wœ?ì€ @€p4SôÍÉÉIËÌ>•®ËÐË´ŒCs§%Œ1T¦k¬ð÷óóöö–Éd–…f€ @€ êp(ëõú¼¼¼Ä¤¤=ÉúD­LkÐ:^DŠL’’ŸÛW«£qcOOOÇ7t¤% /K¥RŒ-;b…6€ @€글CX£Ñdgg_NL»¥õÏ*,tŠ,¿ˆÉ+’jr[æªwX%…ù(Õ*µZ­T*ébc§ Cc@€ @¨S`NG8)+/›QåktÎQÎ)_ÎvzCÛI%b_9Ó»ž¬Uƒ€€ºÌØv{| @€ @uYÀ¡lä—ü‚‚,]Vn‘óŸ]-K£¾Ù9J/‘^Î/4ÚÕ=bÿ€ @€ PKì'FŠ¾Â±©ý»x0wØDc+º˜•œ“C#Àt1]\KÏʆ @€ — Ø À”~sss³²²¯ÈÂ6-ÔôSviYŽïœ&B{È}O¥i$’4ªÖËË Øq=´„ @€ Pwì`zúQffæñ›éRYº;,ý çI&7ðWŸ¸™ÑQÂݺÚï5]w~p¤€ @€îb[Ø`0¤¥¥IT72òôFV$.¾Õ²õ]—Ý3-šµ:ôP%á'ú¦3²T^C_åíÛ·i"4ÝFº‹eqh€ @¨YJI»wïNMM­Ù2j¶wšxÕ¶m[…BQ³•8Õ»\TT”‘‘¡Qªõ–˾Bê²/Ë_Ìg_‘›® æ»g¹*¨Gî>S Tž–•P©!!!”Û€ú%@c@€ @Àq;wRâ3fŒ‡‡‡ã[UWKš¢»gÏ­Vëíí]]û¬Ä~(v]»v&»víZ‰Íkj[˜.©¥§QÖ+ŒBÞdø`%P.òòïMƒ¿Ö£³®:¡+>ýr)˜0kZÅÕ£gT*l¹k—«êÀ~!@€ :,@o#Gޤ L)Ôý jµº_¿~Û¶m tï–õz=]÷`JóÂ"ŒóÒ°)í ß… ̯2­w1¿iøY¦ìËå`~˜êáÞˆ¬ vq)Ø= @€ PW(wÐCXéµF¨_ºê“ògôné”Ò¯¯¯obbbÍ–álï¶F€-û&Óˆ+%Mú‚§iø—Zð+ݹ˜kúãú4M…æ¿S5ôëç,8ÚC€ @µ^ f§ÖTö.uÚjã•§ö0Z>j !ל|…1_aLØ-ƒÀB|îå~¹wT ? š{åþ«ÙßÂZÿÄ8@€ @À1;$‚:V,Z Ø À–ÅùlŠš¦ñ_>ƒr{®Ä"±ëlMc¿–i\ABYôŽÞE 5»® ì€ @€p-ýÛ®›þåÏ­%w Ó ¹‰ÏæA`Ó¬hÛ;ªò§ÂÄkÓ|kóm¸¬ïÁ%ä᪠œúlLŸ˜)[ U®;€ @€îbaà­_ïb[—š­`KÇÂè¯% É—~æCS³âxìÒbM;çg<ó‹Ì¹„Û`¹£wô@€ ÔuŒ×Òß0? ÌOy6½!T˜mÉÁ.6à‚.Ÿ}MƒÒ¦wæ¹ÐÜw,€ @€\.€ìrb×t`?Ó¤b£yŒ×|Õ/ƒiú±›§Ð?Þkº!´e ½¡"˜ÿ\pfå›ó6œHÎa¼ê·èóäôçh¦æ…‹Î­žvÿg·seaî{úÕgú7Pˆí­ØÏ?Xþ÷…ä<±OXëѳçMjY¼vÍ/ö @€ 8-€ì4Ù±ýLu ×[Ò/­_Å|¶^ïêƒFy©®îÞWü€ù÷ÂJG 0襑¼öd'¿„ß–|òÓ‡óƒ[,ŸÐ€ÛXäÑ ×Óc:êv¯Z¾nîtýÇ«^î ß÷Å‚ÍçÔ½†On-¾z*Ñ`r·£]¡ @€ p— ×Òj'Ó˜ª|—å i¸•nŸE¯\ú5= Øå¦¬Ë÷# J[ ÞP©Ž{µ{ò…vÜŽÚ‡LØûÏ̸Ó×rY>+ 3¢O˜¤[}Mü3KwþyzRÇ– ¥T$Q4ˆîÓoìã~4$Œ€ @¨ËÀU<û999ÇNœìÚ¹“‡‡[g×Ú ÀÂQñg—¿ ˜»36Yÿü]Sö¢i Ý\ø]ãFaM#±æòL?:²¶àꯟ.øz×¥Ô\V§g½ôEº’›Ëƒš5P³ñi…FŸ.Ͻ÷‚îƒ §lYèÓbØŒ¹Óîoììˆ3Ú@€ @à®@®âiÝ»ÿÀïþµãß_xnJP``÷æøævƒ$ìÈhžlLÓŒ-ï)ôò¹/Ὣ_Ëöůá~÷„J>l}Â/ü-½Ý³­]÷íG#ÈÊniÌ¿^(òðóUŠ©ÇGçnØöÓ¦ÅÏvÈücѧ;Sh  @€ ฀>qëŒû:õú›ËZÓFúÌãÞ÷à^ƒóòg»RtewÆ¥ÝòÑSôï8äÕØŒ²Ÿ3LÞ‘÷êÓmì§qyVZlöþÇtúâtèÖƒ¾:õ‰¹oò¢¿n™ (o®ãRH.ÖIÍôÉ;>˜öâkßÍ7 ]ýiÎÿæo½nr(¼°þµ‹c“õ4Ñ6÷ê¿+æÏ~ñÅ—ž›1{Χ?ŸÉuUòéÖµ‹¿¿_FFæÊU«“?œ*¶´€¹›`ùÜkžmyÏÍCæîT®ÿ²ô%TRª$®Hîv]Ž,¬Ao`šÜ¬¬´„ §â­Ïª.åÄ¡cW¯ÜøÉWqÚÈ!¶ó2&ÿ9{ì“/¾¶dýÏÿžH(`jU9Ù‘nÑ€ @uTÀ˜uhõš ^aÞ3€öêo¿ù»ú±kY·ð鈣ï¿òù‘ÜÒ“:ÙÜsüWØ{ÒØvÂ-kËÕIØ}·+Å`þTkç÷;“ÜôU~Q6{ê«¿ìþgû÷‹¦4<ºôÓSÌ åvǯ¬ÑðËu^qi¥>Ñ%?|]cÌ8}à¢ùo¬^g` ôOhJ?ôasN®ûêÇcùmÜ3°MN÷„y IDAT¨—B©’ÙŒWR¢¡¿Ÿßs“Ÿ¡ |+1qùŠnËÀçk9Ãü+6ù5Ü«ÛN¿év\\§\$7uÏ}Ês˜^qÏ3wS_9wæû›®¨ü‹'4ËÔŠø¯MxòåÕ×"Ƽ½àé¶j‘HÚ¬$)îÏ~ü÷ÓfÜ›/ô pˆÍárЀ @w·€6~ÛwGëßÕ×ü¿¤ .þò{ZϧÜÒüžg=êqè·Óy¥ÄAýßüøí‰½{Y‚sY(EÄàaçÖÿx*ŸÿŒÍ>ôÝÆ[m†uð±4Iår…BÑvà¶·o¤UÃpÙ:îÈ5º¤#qiA»5Ô^ܱÌJ–l,LO/”†÷þðÐÃF?>e\ß T½ÊÀÍšFfeeSÎÈÌtagæ]Û¿˜‹™æ ÅtÙ/]þˈÄü ¸w|úuC¡–.¸Î„9Ïüwú‰þTÁ¿:Q‰Ø·ÃäÅ'—ª;têæSË‹w»'?úæÉ²ë±€ @p@À˜ºû›Y½Þþ÷_ææFMNê©4çyp‹†Ìž«iÚ^röX²‰,<æ‰À3 ¿ûotÛ{C ;× ÿV×Co]±nƵyÉg~ÙÇDÏ ¯r®ssršÄ¼&!..ݧ͈žžéÇ·8ŸÙ¡«Ńyÿ6ý;\ÿÛ§óN´ê1ðÞ!H]|ë#ÊÀ÷réòrÊÀzÏJ©ƒV|ôü¸ÑU–¥éÂBfÓz~Â3wÒÍÙ¸x‚47 ì²/>år] s¨#¡$ú‘ŠªuðÈÑ € @pƒ›{|Í7ç¢'ŽïèeÕ›ªQ÷E;7Æ^ʧÿu¯Ë¾~âè¿ä\äØÑ­Õ.ÎuÎÖï²öEןH÷lâß82@såàéL py£˜²ÀΣ¦¼ñÒ¸~aG7-|ãƒÇ³+wB= ä”” ›7Skš ݧWOG7«B;[#ÀBžä^¹°[Ü ¿0Üh0;h÷-ܘ/W 7ëYxµ¼á92°ûÎz‚ @€€}}Â?ßïöýq¿ ±îfqsq@ÿ—fÝø`þÄ!‹ŒJ¼ê‡4¾•6f:ÛìJÒÒèŸÞ\³Q^xºñÄ;x‹ö·W6ŸüígÏE˵ùé—wûþÌYš>Û¤J£À”;lÖsg|Xàdzáí”eoò"§Ó{щÊ$Æ¢œ|ºë!°šÜÜ"–VÑà¨XîéÙ!&¬EÏîÿ-ÿlÇ?g‡´ëáç¢ÀGéwÅ7«nßN£ôûì¤Ijµë¼«ÍÓV¶tÂÏ8惦)ørO?¢UtU9·Î§žïÊôËÆe]a¨ÙôÆuT›?v@€ »YÀ˜qpÕú¤îÓïkB3›KÞæYì×~‡ŸÐkt¬L®=µdʇùM*»YEãƶÚ!ýºù9Àv0 EJîÊ[sèåb'ÝûJÿå>å2p%ÚùÍ,ñVHºô£Pí‰+é×yRl@€ — ˆú½ýK,+Ó˜Ëä]8cMàÌù7óöâÒ¯¡0''7ãêîM+Vü]0ø7;Pþ5dž=x6/¨eÇf~”UX#eUz€©–žxª-Òh´"‰T.­èFF"©Ê«ÜÍêµZVÌj²®îYýÑvQï÷›{Ví˜kAôy¶~ô•¹¬ÊG)á'–KBº<6'Úàá#¥çß¬ÏØg;ÑßèÜ©ÊS%‰¤a]G=Õæ½Á`dh­B¥VÉ]5ØÙ«Gw•JÕµs'Weìrϰ̥_ÓXî1Zæ¼ËÿþOˆ.w×®[ÉnsØå¿sIØ\ªëúÅž!@€ §hÚ±ÕmÕJ©Lååã£æïô¬½ùÓ¬—W%z…Gõ~åËÇ5öä‚­>uÏWób;/\Ãà¬g?ôÆî,¾Ë½#ûÏVFMþâ‹ç¢•NÕÀ]úfò=ß0"™Ê'¨a×Gç-x¸]UoƒU 0]Ðëåïo%%Vxù›/|IjŸÒWAÓJOoEÿ4àà©ñööî×§·ƒ«±™,ôÄÇKþ-]ôËrS ¹û`Ñ9ç-íª¿ ”w”¦±fó¯Ýš¡}?ÚÒ—_ßyö–ÿf—ӫꢀC˜¿˜ñ¥o4ᙆÉÍ·¿âG_ù즅¹B æk2EazCEº©t@€ ÔmÚ0\·ÏPGo+ÓI¥…¦@[n/%D]> ›o- W°wW¬æ£8?êËíæü *ÒR©+úÅ>!@€ Àµô7ÁV¶Í4¶Œ® ƒÀæÑ`n ÖýG.ŒõZ ÿr%Ó¡Ý_ z„ @€ Z!`' ƒÀþFÐÜõ¿üägˇaw¦e¦3%oîË4ÌP‘Ââî‚Ð @€ PÇ0\KO¸CØhr&Ã+~Ê1] LÏB¢c¶ÄQW'aKGt‰á_~š/’[jé™@Ù€ @€ àR;Xè›&]aË?»Ë4,d`úTˆÁôÆmÁS˜t-tgýåæ?×Èdl—žì€ @¸30ðvgž»UÙÀtj üm ùYÐÅ Ÿ‹c§% Ûí²r ¬ó­%lóØ4š/ÿ•ÓÅV€ @€€s5˜>J\˜ê\Õu½µýLB}…«m)ñ ÿ5%aKÞ´JÂ.5w'|†…„"]Ø5v @€ @À, L­© Œ\éßD;˜,d0h4Kœí]Òhp¥KplCë±]ÓûRã½,W*ìØþÐ € @€@%ÃÂÂäry%·¯Âf”z¨w™LV…}TϦ:ÎÃãzöå®½Ø ÀB–ÉÅ´gÓͯèFXæ*ù{c¹|)ÑŸ~-ÿôžŠtyè€ @¨ó~~~ ¦F0 ;'''{yyÕìyÐëõ7nܯÙ2œíÝÁ\œo… LÝÐ\hSgVIØÙînoîTèÛ:óâ9ÀNcb@€ @ÀyþýûïÞ½;>>ÞùM«s‹ŒŒŒêÜ“û’J¥-[¶lÕª•“ÛÕps0ÝºÄ ŸùÛ_qK‰G!¹åX,ã¼Öé·€v‹=: @€}6l j£€ÌÝX™[¸{-ÓWñ­žÍ1”V¹{±tmîXH¿ô€&S­î.ýA€ @€@-°€éøükïµd`«áß8HË 0Wžyv6W¤õ p Ô….!@€ @àΰ€©vnð×y…À) [Q÷¢%ú ¸Æ¢ÝÌè€ @€*+`+ 3йaU~r1×½Ðå¿Vã®ôÞ“ Ë‰Ü–Q_º,Ù¼TVÛA€ @€À]+ väȸÙÅ–/«”)¬¤ïºíËFådc{Ç–{xÁ“³boWêÉÁUÙÖ^]ø€ @€ª_À~6ù'ì–ý¢C×àW™z¨H*Õ¡Â+®öl`ß ì^+ÜVw}ã /®¾¨-» Ö@€ @€@M 8þ(l c¼eRg9¹Øým,µ9Yt}ÿ9Ïîí"(µëªlë\•h @€ @Õ#`ë`¡nʳNËŠ¹––iÆî¼î·¢-5ç™+Ò™»@kuz5DwbÙó_ÎúôÑF2í•U3>M[ð¸×þo}y UÃøF?øâ+:øê.®ž¾ð$Sxå²$æ£Ï§F' ÛJ ©»Jµ¤j5W·¼6á/FË„ô{þçzi.nY¸èÇ+E,4øõyO·ô¨èˆ°€ @€\'`+‹Åb ¿ÒoŠCšh³y)>]WŸƒ{–ˆEúäR)-T°[é’ŽgÚ?W_îaè׮蛸¤ÑêÝ:xDÔez¹XÜuêâ^¯©Äé»ßaÕ߃یaŒZ¦ÉäO>ììÃ0bÝ Ó¶ŒØ¿tËP†Q4>ñSQâ„mï¾µ8¶ékêïÐ<²ìÛŒ¦@/s 64 @€ ê°€)Lzyyùùù)/ÄéêËdJþj`nƒÄßÚ´oEV«„·æ&ÜwëöÅ[òYâî›ðÖz(W×µŽÜæ;R›Ö‰E"£¦PxÚ·a*Ø¡lH‹Ó´™® .#û¶+Xs8徎ã˜.ÏGÈé蔊ì‹{ÿ;í\º¦0»ÀÀ'õ ñ–Š)\no+-§%#‘ˆÅŒHÞ÷Þˆõ]4<×;:áóiso>3ñ¡Þ¹±@€ @€€ûl`¹\®V«#""Z&%Ù³YÔ¼›¼^c‰LA9–û¢Ë«ˆ¡ÄGÿQ¥cói—^©½µ4ã?p¯Bœ^)ÓræŸíKßøÁfá•oF7¸>-nÆ7fƒN£Iº&¾|(ºM4•êééIeÛu4¦<5®1?YÕt@›üÕOiŽ»<×€6Ö\^?óý³íѶM¤ÿ…Ò;³ÞÖvK2 ea1o}Ýþäï«¿8éïiËævd„ºt¯ø€ @€ª&`+Sz¥áßúõë·k×N&“]ºt"çü?zÇ,4ÞäãÓ¼cÛ-ZP©T°õ(te3NH‹¼¿©JøÜ£Y¿ÖÙ¯ýË»û.ÿ³/Èh>jÔ€Žì‘}ºÒ7–¶Þ¶ü–¬¶ €®Gfný÷û%ÿOÊsn§KüÚŽ˜öváŒ9'‹{VPVC€ @€€ël`êU©TÖ«W.¦¡à&Mšdffêõz×US‰=Ó @€ º"€\WÎ4Ž€ @€@@®ã¿8|@€ @uE ôs€“’’êÊ¡ã8!@€ @à®P(ÖÇW:{{{ßÕ‡ƒƒ @€ º" Ñh¬S ëʉÇqB€ @¨ãÀuü‡@€ @ ® ו3ã„ @€ PÇ€ëø/€ @€@]@®+gÇ @€ @ Ž ×ñ_> @€ º"€\WÎ4Ž€ @€@@®ã¿8|@€ @uE@êìjµZ£ÑèøVb±X.—;Þ-!@€ @®p"dff:€¥R©§§§ŸŸb°+Îö @€ @ 8€³²²’““/]?—+ nÞ^åàHÚ‚¼Ä#{º„©5l¢R©Ù m @€ @Õ.àP.**JKK;wþüy6XÕ:UodÒr,EպϡëgrÏžcYÖßßßÁ­lFÃË4°Œ±e¹Ð € @€@]p(çåå%%%>s9hh¿ô¼§¼òŠàÈ“Iìé¿È2§¶µÝX-·nT¿^p -ÞÞÞt±±íöø€ @€ê²€C˜F€)§hey…y­³^y…ŒÌ;\áQäì–6ÛHÅ;ó2å'vÇtkߨQ£j^¶Ù9>„ @€ Z&àP6 tã+ŠÁY9…N`בˆD¢Àà–'OŸ¡«‹iQ*•®ë {† @€ Z-`?ëõzáµhÕ²I#º³ŽWÄŠÎí‹o˜”D7š¦K‚i¹³êC5€ @€ pg؉‹”~SRR®_¿‘çq÷¶½ÞàÄC€ÝpŒR‰¸ñ¨±×Ο–\¸Ù„î5 ìvt@€ @ Ö Ø Àôô£[·nÅÝHï0 ÇÙ„ Ý–~n™DܨQÔÑ¿©T …‚î‰UëN † @€ W Ø ÀZ­–ðõë×[tp--WodEb‘e4]k)Î=Ó¢Y+ z¨’ð}ÓY*¯yÇ×Îìòõõ¥;BãÁH®þ½Áþ!@€ PgèîH¤'ÅÖY:pz O“&M¢££kWø²€iþsNNNbbbË®Þú‚<.ð ©SȾ,90Ÿ}Enº2˜ïžåª ¹øL%è ¬Ì×—JŒŒ¤²k×9à  @€ PKöíÛ'“ÉÆŒãáááþ’333÷ìÙC£•4òçþÞ-=Ò’h`²}ûö5X†³]Û Àùùù………:Ö(äM†õQå"/ÿÞ4øk=:ël ޶ºâÓ/—‚)³¦U\=T$•J[îÚåè~Ñ€ @€€Ã4OväÈ‘‰„R¨ÃU[CµZݯ_¿mÛ¶Õ쵟»èîK”ïžL>aœ—µLzR¯M#ÀÕv:mìÈ4ü,ŒSöår0? LõpoDVÛØ >‚ @€ Pyö¤9§–«2+¿£JmIýÒó_k|ØÒ/]J“p+u5¶‘­`KQÂDcq¥¤IÿQð4 ÿR ~¥]}\Ì54 Ó±-ƒÁ\æ\]ö@€ Ôu{«A‚šÊÞ¥™ÆÀk¡r]ÛÀ4·›¿êV¹æä+Ì=Æ„Ý2,TÀO~æ~¹wT ? š{åþ£R+§€­ @€ 8.p‡DPÇ FKAÀV¦¿jÐyåç³ôNÌûšï@ÅmmJ£¦+q…Hì:WÓØ¯é›0û™Ê£Ÿé•Çi.ØuU`Ï€ @€€kéL‡D3ËM!Ór|ü4h›éW‡_® ®S¾+–»æ—ÉÄß—K¸ú—ûˆO¬£Sáóâ>˜üƶ$1‰eJO¿°V}F>5~pK?YµŸÈÂ3+žñ{ȌƊ+½÷Â3ŸM}å×€W}p_hí›hPéÃÆ†€ @¸€ïijâ@Mv°°þS Mrò›wùu¦äk–u Çª7†¡¹ý¹—›}o ÂÎí\ܺs¥Î`ÈKºzdË¢£û¿¾è•!õª?;WZC€ @w¶ð}~*¬Î¡ÌÏ€¦'!‰,C£üCLs¡¹ jÉÁöR=p1›ïÖ2ó™Þq³´¹5Ü hg»QF>øê{ƒ¸aYcÞùŸæ¿º|ç—ßôéüzoÿÊÔ:[ÚC€ @µO¸ö3¾bû˜î,EÉRã5_õËüЏ)Èî\„î¸Wþ¹G\îå»ÞP‘•¿ –XÝâþ‰£þ>±òøçòz÷ò6Þø÷Ë%kw\¼­S7è2òÙj$Ó^X=mêzØ?}6Z‘µÿƒ‰sv«F}´â¹6ªÜ#<ûæ®°©KŸHywö¿ê(ÿÌk7n)t{ôµÿ oX¨Ü=‹˜‚skæ}ôãé”\Æ+´YqSŸé)fŒù×þùbÉš.gKüü%&€ß—6iç׋¿þ÷RJ¾Ø§^ô𙳟hQà.qXø€ @uI¸–žm‡Æ:ù{añ£¯Üí¦¸Wî ÷Ž{#¼ +]új鎿×Uq1Üz#w¬*Eh˦¾¢Âô”\½1óà'o.øùV½ûŸ{ùñöÆC+Þzkó•"FѸwŸÆ’ģǓ´Láõ¸‹YmêéÓôCAüáSª–ºÔ£ñqmz¢.rä´÷þïɨ¬Ý+—üz]gUV{¦!h½´ñÐéï/Y<µ·êÊïKm½¢a iû>³x[bP̳o¼þpǹ°#6ëÐÊO~ºÀ´:ñ±¡CFºK7@€ @ÀܤÔ]Üx¬wUWvF€iL• ’i”U8taª17q˜›þÌQþQÀ._„„+¤=êZ—¶ÔFo„j+[‡Q¯Ñ³¥·’IÙ·uW’oÿ¹¯>ÝÛOÓ”Mxé«m?Ÿ|pF׈ý¯_{äTêƒÆãgs‚Û4/L8q6c¸>îdªGËqƒ%iÔ¹¢QÌ#£z‡Jò´Ý~:¸÷BbAKE† ÷¬n3n2ß®Mðø»æ?w=Oïyð×Ýɾæ¾õro_q¡÷ñ­\çZˆÄ ¥T,Qù‡Gõè5æQ_¹[ð+«Ší @€ p `¸Š'577÷Ä©Ó:´÷ðpëlV‡F€ù³Ë]fË$½7ò3ùW>»g1Åpºì×4,ôNUpoªú+X”x6>WQOeÈNÉÒ*š„Ò$d†‘6 ódóÓ3‹ŒŒ,¼W¿Höêá—ÏKöî>jdGYüá³MT¶Ð9¨äÝ™ER…DdÐê¨\ó¢¯hÏlaüï‹§?2êÁA÷<2gw&Ë…q]Nj6•Ñ8TUê$yw˜4grWí?ŸL›øðˆçÿ_XÜC ±9 @€ à€€{^¨ñŽnràÐáŸÝöñÒeiééî,Ô¡l5홟øl=Úê½Kç? Wb.ƒö¯©¤ÊÃsOoY±å*ѽw©w·L“Ÿ\À%~½Éyú)ÉJV¿{¿æÆ‹Ûÿ7^Þ¼K›¶]ÎmÿãߛжÛÙ´äghW´gcbìgŸnÏh3qÞW+¿˜7¬j‰W€ZªÍL¸]&ßJýÚzcÕæõ«ç?Õ63vé—ÿ¥ š¨üñcK@€ ÔŒ[”zâ—%Ï?2¬Ïˆ·vf–_ƒ#mhK}æ™- §=2òAC‡?0nòŒeœÍ60ùÇŒ¿§÷€A½ î{ïðÑ//ý'Q[~7άµMÝó‘ãÅê“w|0íÅ×¾;›o7+ºúÓœÿÍßzÝäPxaýk3Ç&ëi¤3÷ê¿+æÏ~ñÅ—ž›1{Χ?ŸÉuUÒèÜ©£ŸŸoffÖšïÖ%%%;~8Ulig 4í&M‚¦äizð/­áß b~^2÷d^7,|_ÅÃÐÜ@°é‹JâŠ4Q;ZJáåŸþïÕ_òr rRR ½»>ÿÖãÑ*F¤ì9¼Ïú÷¶² !û oÜ÷ß·š4¼­šÛ­,´ëÀf«m?éÓãµf¾²¿ø;%pÀ;íZÆr IDAT+¼u´Xá!^ݵý߀®íº ï\vÏlªžª×æfg¥ßJ9sƒ~ËêQZ®×ý¾nßø×Ç…LÝ*o×±tá&XÆ”Ø÷ßø1;¬Yd°1!±•{ªðà&GO9ÚA€ ÜalÞÅíûŠz>>Š]_QiŽ´1¤îúà‹Ž7;cÑ›­‚$9‰öﺜM÷ã¡Ä£Œ||釛Iòn_;°áã/¾ØÓvî@ÛÃWUbY_Õù§v;¨¶ºä㇯kŒúÓ.æEwðâ‚«×Xý:¡Fúǰ9'×}õã i“zøæÄ_Ó(U2›£|U(ÒÏ×wÒ„'W~»:)9yåêÕ“ž|24”BËû˜âÇXMAÑÃ{ìñ˜VA îBÐsúû3”KÖn|o®Ñ¿iÉï>?"R),­×m@ ïcguŒò˼۶©§8—Û¾{ß 3ä úÜ×yû—×-3ª½3¼Ü=‡š0öÈÇ›Ö~pÌ»QÛ&~Jþï ’àþ3窖nøáÃY|6 ñხHY_òDZNÊ|ë·óêän†ïJ!c#@€ ¸M@Ø{æ½Ùô'7ÅWÔ©ý6ÆôÿV|}¢ùËËf ªÇGï¨c¢zpïòéŸX*—Ë ÿðV}´Ú°òfº– 2ýïûŠú¼[Öë’ŽÄ¥uî&?svÿÅÜö¼m ] ÓÓ ¥á÷¸¨Ì Ó³2•Â…!ÁÁ”úù—+W¯Qž:åYJÅ.ìßµýLê4èÊ»²þù¿ôÜ_1ý,æß ñØÕeZíŸqæoû̧Ÿ ü+W¤ã#ÀêN¯¯Ûþz…e‹Ubf,‰™QNIذ~fú@ýôš?Ÿ¶´òhõÌš?Ÿ1ýèÙnúÚ?§ó?<ô,Ê۳اí„÷WM°´1¿ñj>ìõ¥ÃJ×Ùzì¼ÏÆ–i‹€ @¨£ÆôcžR ~»—~ËU —ù©çÿù8õrý*çºJ ¿•[•«WjââÒ}ÚŒèé™~|ûó™ºÚ<“ø·éßéàúß>w¢U÷éÔ@j#.WGé”xåêÊììœ#qGc ¬Ž½ÚÚ‡,DJnr1Ãg$§a_zÃÿh±b!Ûê¡Z?3¥_n6·Ð+wU0ÿ†Š¤5Ndàj- ;ƒ @€jJ@sûZ"64´‚QÝ¢K«ž½o_œ$¸ïŒ£=]œëjÊ¡L¿EןH÷lâï Ù{ðtfç¾ÂÜU!Q•ÜBØyÔ”FÝ/ÇØ`Ó±=Ÿ~aL{Ÿ 纖éÎé)©©?nÝJ›ÑõÀ=»wsz{ç7°€ùûKñ ?ÙXXø¡`.s·‚¦ ̈Y‚”9 ¾SZËO~6?”Xø‘¿55W¬ããÀev€ @€@­`uZ=÷øVŠ"&ïÈϾõçm..xvšñͬ FÙlâ—‹&5—éò3®ìû~Ñœw5óæŽiT¥Q`ʵ@© þÀÉôÂÛ)ËÞÜËU+ò8p:½W¿ ±T&1åäÓ]¯Õäæ±´ŠrXîéÙ!&¬EÏîÿ-ÿlÇ?g‡´ëáç¢?Pú]ýÝ÷iié”~'>þ¸§§§Hm`K÷Üu¶”7ù_'Z(‹E"ZÅ]üKXÈÄn(–éåÒ.ÿKçü.õrojï [”Ð  @€ꔀ"¸Q°1îÔÂ~*FÝùõï§«³÷¼3e›uFË<[Ä<óÂ¥éŸüyùþ)­ªòüÙÚ€Ùü«‡Oåôyìá^õdtìã[×ï:t2µ× €Fž;­ûR:¸oÓüã±»ÎiýûGx‹µ ±Ë¾‰3†·ìÜ”9¿oÿMƒº—/“$,ùùù”~oßNÒ¯{î€EÇagô–Ë–,«ç³&}Ñ|cáAD4š»ñ2?è*¬tÏ+uGr]—¬‡jã‹äœì€ @¸s$ÁïiY°sÓÎtÛgû «×êÝ8Šg¿ —´`ó.ì?§iØkp—¨¦Mš4mÞ¾oŸæŠ[GަèÄÞ-zbxg¿Ü“¿®Yóo¼¡~±Å4Q²Vè­O>³ãûÿ^(è:rܰȪü•ÀÖaí;pPH¿“'=å¶ôKÙn‚%Œµr韟÷lÿå¯ ¦Á`[GV­ŸYâ­t¹Xnvò&XÕZv@€ TN€5êèvỌ̈Õh´Z1MЕ²YçœÏlÑ.Ò—Kùm¬Çò$!ƒŸ›tpæ²és2^zjpÛPOmêù;âE¾1r®,£^«ÕêDFMvüþuŸì÷x»©ªråš·ªo"ÏÖ¾2—Uù(%®lIH—ÇæD<|¤áü›õûl'ú;+K¤r=ZU$’†uõT›h6¹‘¡µ •Z%wÑ0Ó½kNÚÓkÕN…s[Û Àt^ù+¹ÑUîY¿”8ù¼Ë½5MˆæÖ¹yá;4wËç’0W©0-ÚÍå ;@€ @ ’ÙÿÍ?wo6¿õÁ±÷ÍS6ŸøÉ’I oïÿö£Þû’Àå·i^â"^YXÌœå¿~ùåW³HÊ1ªüv~àÅOFwôÓcŠ®¬}qÄZ‘XêáÑiôìyµ®êm°jA¦ z½üý­N‹Xáåo6IjŸÒWAÓJOo…;®Äe//¯Þ=ùçT¹w±€…bŠo‚Å?ñ—þÔÂÝÚ”‰…ë‚ÝTµ)k›Ý„›Aóé—{0@€ @ v øö{÷·eKn6qù–‰æÕ´)½•Ä;jÄÌÅ#J­–u˜ùý_3K·ÅÏuTÀ¡Ì 3t³gaâ3 ‹øÛ_ñ?Óè+74ì®Eè‘ï ½ôÂgb*ŠtWè€ @¨Óµa¸NŸ ŠÞV¦“J ÝNœî'νáoûLÿ|ônMÿü °þ²_!ýrß…›rÑ*Ò\©[ëqã¡£+@€ @àŽ@¾#NƒóEØ À–½q!Óüƒp×+óh07ë|§UÝÂ2ê+¼*¦CWuר€ @€îR;X¸­ ®rýró¹ÉÏ´˜®·¥ëÝ8ýY8– K¹—û2Óý¨¹… ¾KÏ € @¸S0|§œ 'ëp(S¨4ÝbŠŸM™“nÍM~æƒ$,®¾¸ÔÞ¸q£~ýú5[†³½;€)÷ZÂ%ÅLº4-4ÞoêÌÕ7€¶>&s§BßÖ™×r?jg Ѐ @€€ã½{÷Þ·o_||¼ã›¸¢eFF†+vëà>¥RiTTTtttMÍw°ÎRÍ ÀFz¼.=úˆ¡‡ q ÅNʼBå²°{‡^­£¸å`ø[ta @€ àrš÷{Ï=÷Ü “]~¨6; )дØlrÇ}h'Sšçî^Ët£åâ[=›c¨0ìÖòtmîÕü`$ît®V,€ @€\&@¡CË/.ë;v•€LÝ ™Ò4嘛þÌúòõ¿sUyåï×:ãZfgÓJ¤ßò½°€ @€Æ~&%nØy…ÀiƒkбøÂd¾¶‹®©#G¿€ @€ ༀ­länX•Ÿ\Ìíœ^ø[^‡OaØùŽ+·…õدi–9ÏtY2K+sKåvŽ­ @€ @à.0Ý×Êör³‹-_\æóŠ›nû²QF9ÙØöQ1L^Ü'SÞّ暼좛v›µgÖ¨¡÷Œxh}=üríŠFmZòG‚Ž1è=»M_úíºùƒRþ8Ûú˾_>5üè¶#™¬æÚ¶5:½ýùW«?~Rñçw2©®âçžØô³æ¡_|±jù[7Qˆ};=3ÿËuß­Y6^ùÏwÿ “†Kõn öò÷¿ýÙÊïW¾{OêwËv¦¬v[úwBªðÐfè5¥+OoØ=2ëȹL£1óì±4iÎñÓi6çÜ‘¬¦="UŒ¡Pþð»_mÚ°ôIÅž­§s-»-³Ÿc™ÊõIÿ|ú]æýó¿^÷Ígo 'Èœ’[ºHü @€ @ Fl`¥RÀ/·þÞ¬/È•KıHø’‰ÅôEk,_ ‰˜¾”R‰åËC&¡/•éK¦’É<ååÑGü×XØÊz?ž­ûz·Céò²“ÿÞäïïHØ>©!íø1MËNõ|S‰G@\,óh Ödç&>©k;¨#MŽ–uØ$ã襖+¼¼b¹h€Ú;ØO!ñ ÷Öæê2/œ¸xzë;Ó^˜üÚÊc9E™yzÆjçª&=¢n­|}þú=7ur¹X$U* ¯øçí'3´E9…üÕ¶%{Ö eIÄbF$¯ß+&<áà¥Ü’5—8FCaŽVá­bSËTnˆìÞèöáó99çOêŒïm8q>#çÒ¡Ô=›yr]{yËÄ2¿õ…yZój}ÙýäHJUÎæ^<˜ÔpP÷zÜŸDbîæà¥¶D…ø€ @€@M Øš­R©(ýFGGߺukßG/5`Bp«nžjÊ:ܽˆ h"î÷†þãs½Ò‹H· ·–ÆÜGügÚ†.*f¹ÀEZ¢WîQÃÜcŒøÛM³¬_ÇBwÚâÖ…Oæ7Â,S˜Ÿwëäþ«¿­iÙ¤•êççGes›Ù\Œé§å6Ó›×mµ7KeÒâ? ÇY܈?Bná1j‹Œ!^^8©x¾¯1µxç²z^[ÖöLìÚ¥3_ø÷ùÿ‹øwî¢ mÖªeã=‹w*ì+XHMÄ–_3_Dæ…¸ÌzxJËT®nÖ³þú'NÊÒ ìÚ¥pç_ÇN(B»µð*Ñ™p¦Ì½—# ¹úÛ‹KU^ºÜRûFÿ —\_]VC€ @°-`+‹Å∈ˆÜÜܼ¼<™,îʶ•—6-½Óž²KEzzz¶‹jÚ¡C‡-ZPÁ´Æö1sñÜáô&÷Ò$àò±T´dÛÎã™-{x§ÙÔe¼·èVy-i4(º¹vÁÖÝCÿ7$L¦/(d•ÊÜ⳺܌±O«aSß(œõÞéÄÛºS™‘ÃìÛÎxì Îî-«´:–%íÛ~Å·íXí¹ïÊ­Ù{é×ÏÖ&¶©[€T^¶r±wt· Õ?nU·z²±âð›+4„|ÄGÄhÊ÷Ç mA‘ž -½ŸqÌÕ%+©µò^û÷þ¤1!\¡F_:ØôìâƒMÖô*¸L¿X@€ @À ¶0uïííE—ÓÈ*¯Þ¾}[§»³8KWüÕ¯_¿yóæM›6¥‚í«±9g÷'…÷‹ä&—·(šŒœþÀgNŸ´Œ‘øu~|Ö=õe7Êkǯóˆ3ãÁå‹_ðµÄC>øµÙCoïœÍ=³aÎR5zƯë³oF‡+èþß·/=³B]?T&¬p§Ü"QÁ±e/MÈÌ7øvzâÍ{¼/~R¢fCÊß³ß'¥K³Å^Mc&0±7¦[¶r†ñkÙÅé*ŸñM<Ϧƒ’wŽhåWî äÁ­£‹æO{áÆŒ÷'O`¹•@xHnéÊe÷½<êÊÿÍxr…ÄÓO-ò­ÏÐÁÎ->Ø(¤_›çB€ @îmذ!&&ÆÒ­B!\[¢Ž‚‚‚”””ŒŒ ­V«×ßYO{n|EWÿ†„„82ùÙÝÀè€ @€jH@£)žùkgX(’‚eãÆ4h@¸†Ê¶Õ-ÝõŠb°­ø € @€ê¼€¹‘B&rfÿ… @€ Ú*Pµõ`P7 @€ @ "àŠd°€ @€î*à»êtâ` @€ @ "àŠd°€ @€î*à»êtâ` @€ @ "àŠd°€ @€î*à»êtâ` @€ @ "ÒÏNNN®¨)ÖC€ @€j‘€ŸŸŸuµ¥pddd-:” @€ @¨H ##Ãú#L® ë!@€ @à®@¾«N'€ @€*@®Hë!@€ @à®@¾«N'€ @€*@®Hë!@€ @à®@¾«N'€ @€*@®Hë!@€ @à®@¾«N'€ @€*VôAEë ˲}Zv½H$’H$e×c  @€ @ÀN`­V[XXH¯N`±X¬P(T*b°;Ï+ú‚ @€ RŽ`о999i™Ù§Òuz™–qhî´„1†Êtí‚þ~~ÞÞÞ2™ '€ @€ P#`½^Ÿ———˜”´'YŸ¨•i ZÇkM‘IRòsûju4nìéé鸆޴¤áe©TбeG¬Ð€ @€@p(k4šìììˉi·´þY……N‘å1yE’BMnË\CõŽ«¤¢0¥Zå¡V«•J%]lìTah @€ @uJÀ¡¬Óé('eåe3ª|ÎY ÊÀ9âËÙNoh»#©Dì+gzדµj@—ÛnO!@€ @ . 8€ÿ¿½;ˆ¢úã>³7 ,7("x €ŠGÞ·©xWjY–fZiVVf™¦iw™š•]fwý+Íî,M¼oó$DQ<8äZ޽Ïù¿™YÖö9õ;ÿ°;ûæ½ßûÌüö½ycå6V[b*Qé«1ÿ¹®eɨoi™ÌŸ6K¸L‡®ëQ? @€ 4QÏ#I}ù¾ù…öô ¡ÙDcš¡Ï–hÂËÊÈ0¹Æ˜\ÜDφ @€ :ð“ìW¥R•””^Њ#cbuF‹Ùbˇë4,ï+'¡}$§ Ba!‰Ößß9°÷z( @€ @àæð“»¿R¤)®ä—˜YöËŸ'±PÐ2ØïÄå-BvQèZ_kúæy7 §€ @€n`w °ÅbÑjµ………z¡ü²Rm¶2´àÚRËŽ«.×Ï´hÆá<›*ñÏÈ7“•!áÅÊ ÈDh²"4nŒt¿eÑ5@€ 4¬É’vïÞŸŸß°a4lëdâm\\\çÎ¥RiÃFR­Ö=$Àz½^©Td~f Ãæ¾|ÖÉç¾ w90—ûÒõte0×<ÃFAZdŸpi0 „gd„$Ôˆˆ’·#®Ö›…!@€ ïvìØA2ŽI“&ùøøxTm•$St÷îÝk4 EmÕYƒzHÚ•™™I&{õêUƒÃêw 0¹¤–ÜýˆäÀf©•Ï7)n˜&(›òrmƒ¿Ž£³uÕ¾).ûe³`’3¶]ló%OùùФصô¸>$¸ÏÜÆgæì~¬ê¶®¿¸sW¦ŽÒŸÛµçâä¶qîî_e<ÿË›Ë~¿ÜrØ}KFFô­„Õm å!@€ D#ÀMôDz™sÃÀÜ”gÛ> å'AÛóà:6`].÷µ JÛ•Ï…f¿WoÓgîÚyIÛ%,;}×®ÌÉqñ2×Çk/§féCú=>ÿÁ y·-×â@€ @ ¾×—t-·ã9&“Š­åc¼åWý²i0™~\íŒóú‚ç›ãÆ{m BÛ÷$ÈjÎÖeìÜ{QÚyþôN¿/úrÇ®Ìiñ $VzsòÓ»ãßX·rp€éÒúÙ3Öï{yÌÉW—TSÔ¦'’6QT@ï{m<꟪<Ÿ™¯÷‰î7méÂ;;Ò>_üêºWË(ÿñxú±ÛÚùq=6dþþÚý_¿¨’µ0ýÅã[žÿè§·úÅf\*0ú´ê=´ •vèdfž9 aôSo\²’• IDAT>9(\hUgüýβϷž×ùµðà¹ÚûéO}HŽªÜ¨Ÿ‡Iì×GŽ£!@€ 'H€ 4…]^¥Oö뀹å¦lÿøÅ¡ùëƒ÷×Ýcvø—õ%‰.û~³ÿã÷“}Õמ߶ç²$~PŸ.}úÇЙ»wžÓ¹¨@Ôûáç¦wô÷›ÿñÿ~þnõœn~”¡0ËÔnÒs+W>œP²ãã·~Í4ZÌ¢¶·-Xµæ£yC|ÏýñÖ›?³]Xl5åîxâé‘!ÙÉ.ÿý{·lCa¶µÃ}Ï-;Xž¹ã·]ª¸»æ-™;PòßÏ|q\cU¦¼ýÜÊT¦ ~PÚÿ€„êý °æÜŽ=WÄq»…û†ôíõź½Û2¦'&ú8é-kѹg§P­ iÝ®mJ«K¦(Y›QS'‰ªŒ}Ü¿û¿líýƒ˜Ó…=¼kÄô”móžÎT1-Ùç>ñ“æ=?>RX|jï‚”S—uÈNY›‘÷Ý=,Ò~úçm¿GŒ¾ÿÞá†È3¿$o¸Y•õóö‚fãW/šÕÍWÝ2çļOÌîÂU©Qª­ÄIÄØ@€ Ô¡F€¯·¬¬ì؉“½zt÷ñq–‚]gí®÷órg—ýÂ-ýÌ%› ÍÝ×–ûVwðÕu<^¼Â¿×Ø<Ø–’—‡ç˜¡{¬G“¾}ße£úüŠI=Wð…%{¶™Èe°ÕÚ"©ˆ²˜Œfí…?V¯øl×¹|•Áh23þf½©bHB™\BYŒF³ÃnH"Xzû™‚H"¢“Q¯,T—¾›=ü;[$¾á…j ›—oå²Nð‹’U+f† @€®C ðuే¦ì?ð÷æ¶ïÜ9çÑÙa¡¡×Y›÷‡{•[ù¹Çì/›ö:N›æS¹úIÁÊó].çVÃâcß{ücï»M©Ó“÷g ":õi%cØÉÅfeÆé‹û¶§ÍìÏæ³Œ¹B–êMÅæ¬¿ßYùWÑàg–O»%àÒwÏ/ÚæÍQNˈábIô˜_¹?VÊõš–F¯8-Œ€ @hzŒ>ïØß_ðåßÇ ½ÞZ·<)ØÖ…²”—&=ûO>wý»ôãû£C­…G׿÷Éo/”YýÚ šñ¼ñ/çTymÖÇ!K>|”]؇Ѥ}ûäs[ã½÷lâù7¦=ýs¶™T&øE$ŒzêÅ'F¶¸Þi”M(6_ݾrÙ¯Å=]:¥ƒ/—¹é/üúúgº?õÌøÖA—þÃKks‡Ï2©™@ua÷ºõ[Oæ”™%ŠÐ˜ž“gÜÖÑß«ËfùÓåý×Þ½z8tH©,þü˯§M¹/2²¹÷Ç^OIÏ 0»–•!©¦ <͵?fG¹Á_ÆvSàë‰Ä‹cù¶¸‚¶ì×6ÍfÂlìr]^mª´mûrä=ž{å½Û›s÷3Ò§~òÈÃßìON›yKT\Kß_Nløá/YBiÊö‹*Ò«*‹ÙÂX ª’’¬«§.ª¼ ÅIå¢Èã|õÊÖ/>“Ú%Ô|õ’&n¤ '%± € @MR€Q¥mÚ£ðнÌ7ç+u@Þõ©ŸÞ¾3F¦dÆ©PDÐ"†i>bî;½Ú…Z2þXµlÑê°Ï q‘šYòw¾µäWÅCï>Õ7H@–²•µ{pí»³âE꼌”oßzõÎnoŽwq¬—šM'6]=~ø’Áj>}à¬:¡›?§j6Y ù?ßYòÔj%ÿ§˜²“߯ýù„¨M·[û–]Ì4Èäâëcr­ô謙¯ý4;'çãO?}tæÌúɽê7ÆZ¾q+b±É&·ƒ[ŽêÚ‹öRuò€òµ5Ê¦ä¶æÙï¶`×¾_);µå@®¢ë˜>åwó•µ12^š›òÏiUİyOމ.øã•E+~H5ù‰½«U=ræý½eÇ?iþ?ž—û\ǰ¸ üÖE«ž¡¸´yÍëKV~µ)­¸ÒdjïBB)@€ 4RAØÅï¼8c@kÿò¿ÈíÒ´ˆ\&(â6±HÈe,‚ÀS»«_Çè°ˆÖ}'OëGŸÜ^ë¼kŒþÂo¬Në=Éí1R[Z$‘H¥òèÎCGtö)¸\È.K{sl¦Ü#G ÃzôŽ1žÝVeKy]tݪ+*Ò‰¢úßq÷è¡cïºö}ƒZ– º8âºv7‹ˆ 9p»Ø¶%%¥$V_WuÞìy˜M3m­Œ€Œøò³ 99v>4—ýz×Ví”âFœÙ)Ð\Tì3òQ÷ÕûHýÿ|¨b8’Ö÷}¹ý>~_À¸E_[T)ÜaË7)ß%O||ÞÇmÏ|oYøÓž…Ü“Y«ÖϪtXs§%‡Û&Ìü~×Lþ QûÿÛ5ƒ,‰»xÍØÅŽµ…9­ªR{x @€ [€1ªUfŸh_§©Œµxß/þžòþ}ƒ+ö1V£újêŽR ó£®;¯«ç$¨ÆgÔuôhQ@âø~¾EÇ·8SÜ­W%Çš…Á‰Cºüá¯Õ¯žèØwè¨Ý[²£ïu¹‘xÔˆç2>&9ðÁC‡GQ—­±u;}×\k”]e2µ—¤—¤ïd¦1™ìÌ>`Ÿ² añ9p]Gi¯ß–ý²ù/»‘¯ìè/÷€ÉG[oÁ !@€ @ Ö´©ŸÍ¼ãK % hÙóžÇ½31¨BÒ¢Ïøs}j³Ñ·#—úVÞLW6¾µñpûg>žØFæºéÏ®~ëZ®°(|Èóvò«ã¼®r\ ö\éð‰"ߨ¶Á>mC )O÷d›8ÎgT#‡ö¸sv«>Gì?ðãÊÉýž3©k€W³†kÖÅ«yyë6l Ç ì߯f•Të(w 0ŸO²_É«ƒŸ “fØÑ`.®¿Mw¹,˜Ï{¹¡`[ÌiÛê/´@€ Ôž€¯ç~Ú,’ËÄ”±äÜöO–.^lXõδØò[ké¡5¯~o³|l´³e¬DЍè ÷¦ vmnµ¬ý¬¯ÈâX£¦(c÷WoÌ_dX¾ìÞ6×5 LÚëtÕ¤½xàd‘® ïƒÅ)l´ÏÓEý‡ Db¡U_¦! ƒÆ R鲋$º‰opó¶Ý’"ãûõÙóñ‡Û·ý7¢Kß :JøHöûé_’ì÷‘‡òóó«3ˆk»K€í¥li&9Å|×Éɦm·@b÷Õã©çš²½ÙØd×6Ì?¨Ç8êáÌ  @€ Ü|´Xn[„G7ú±9‡þ8ùü¤ØܽbM¹É«^Ù>냺:_š˜¸eæ²ÀÂY+ÞØýæ=FÉá$» ë0úñgÒg¯Ø˜~Ç“å×ÁÛ`Fsáð)UÈÀ©w÷o&¦ÌÅÇûaס“ùý‡E„´ŠöÝ~èûODÃÅjŽ'ïJ3‰VŒYÉ|qÔÕ¡G,ufßþ+¿þÒ:Ê~Õj5É~óó øì·~VÀbßîO:?¢já–º"ÿØÅ–˰O¹AW~gý|e›ã†£íaðÈ.Hvsß#¼ @€ 4 ²R±™rC“ä*Ì¢ýïÏ}7£ßü…œŽþÚº$Ž=ÿ…¡ùk_øè@‰Ë³˜Œf—¯5 /¢dÔéûÓ 1ý‡÷Œ‹mÓ&¶}×AÛK³ü›g(:LœvG ÕÉ?¿ùfçEK‹¾÷NMj##—¾ÊBæ«©Û¿[¿3]ÒkÂ}cÛrŸ<ÔÁ¶'eŸý’û×[öKúáy˜Í9ùV~˜$Ÿä2`’gr·>â¾×_ÎiOoùL—<åI$ÕY«N ª„ @€¼`¬$ %w5’[™õƒ‘ÜîH"XŠNï>Xèß:6&”É?¾é³UÇ£|¸µ”²ªÏ¬_òFJÌ£+æôð7dò®H,:õ}üµGžêµ k_Ý‚ ‰!‡ŒÆPraï×Ë·ÐÞhïëu¨N 67Ú·Óäg_bä2!7\Ñsê’‹O€ˆ¤pÁíÞûHwò9C ˆ¼ÜW.&«oGöºóÁÄÛÌ‹•"{¥r?9w3ªºØú÷í#—Ë{õèîãSW9¶Ó°=$Àlök»áw¯ßò|—}è0!ÚiÕu·Ó6šo€Ë‰ÙL¸<Ôºk5C€ @µ"P²ó…‰Ïï.áêJ™0äYܬ5kM ŠÒvýôëÉ Wò4¢À¨Ä‘sß{()FB1Ê}Ÿ½?¿”z}JòëÜ1о¯~·rœ‹›ùÒ²Öw-z&í±åKþ½ú.ŠÒŸûbÖÈ/(2½: ,¦×äWWÜÝåz—Áj 0™òíìp¶Rÿ`û¡„R¿€ÊWAÓB©¯Bz xùöP(ƒð²p-óó-qé%÷,ý̰ӦÙu°È9çëê3g½´5—¿ÝÈüg²ñáÙ"tvöA€ @J hè[;:‰¨ý¤—¾˜Te?ê[þ€ Ÿ]ÿÁ E@€ @h`~ØÂ-Í^ÿËM~¶o\2\ßÝ´Ït&™7ûÏ6L‘ ù­¾B{€ @€ÀM&€à&z½J€ù[ï²=äVæÙÉ϶ü“{¥Ž3a{ÞËC;\ýË…DF€¹›ãØD߈€ @€@] xH€ùæù%¦lök.ŸÍ]Ìm•Ôº‹Û~ 0ÛhyÃÜ$혌]wÝDÍ€ @€@£ÀÀ[£=5îóœ“Ská–æfA_ÛøùÏö´Óž »o¯Æ¯:æ·Ž³ ùÄ—ìá‚D\c`@€ TC ³ ¦V#d¥<'À‰¤¾üÕ¶dž3ûßòaßrAvEèºO>Ë[à¿óÿ|`|8Ÿ€ @€êA€ŸÛP90àŸb 0¹±Åb!7Ùå§ÛšáÎv…&ÉjX5Á»ÓkÛãÊ—³¡’€½«¥ @€ ÔP '''22R"‘Ôðøë8Œd=¤u±X|uÔΡ&“ÉÇǧvꪯZ<$À|öÉÅü´gÛâW4¹°mc¯®ûˆ+4Áe¿öá_ò˜Y÷! @€ @àf ÊÊÊ2 ’“áÈ«W¯úûû7ìi0›Í—/_ŽŠŠjØ0ªÛº— ðµü–ÏI3d.´­1‡L¸ºÍW»|y£|ÛŽ9/î\mL@€ T_`È!»wï¾xñbõ­Í#”JemVWͺD"Q‡:vìXÍ㸸— 0CÒKÇŸÉ h>µ×c/ì㼎Ùo}\\}DS€ @€@£ £¯cÇŽm´á!07`vaevc׸"ÿ®-õ\ž†’]õ½Ù›.o˜Ï~ÉuɶXë; ´@€ @M@ÀCLzÀå¿¶ñ^{ì0üÛ´³á•ÏÎfƒtn€¸Ð$ @€ 4^Ï 0‰ü-Oyù„“ vLDë¿‹öÔ—O`,ºþûŒ!@€ @ ¦î`~F1;¬ÊM.f› _¸ ]K>ÉŽš¶]ƒãœ¤ÜöQ_rYrùVƒšq @€ ÜØoºÇÎ.¶ÿsÈ2ù䯻õöÏMNrcO}S^ñÀ¢ä‚º¹spUîP­µpÛ⤤'~¼böÔQ¼@€ @”çØjåî°[õYºÿU‰‡IB­Î)Õ?p!´_¢ß…of?þõYcuõ\ÖVyˆ'`CFåÖ g¿œýôOç×Ïy¢jTÕ2ªÿö¦—Ûs¢Ðe·­ÊýÎ?ñÞ)Ot ÄóGUƒñÜQ”€ @€ ÐDÜM¶wdN|ŠUŸ³½ä»jǦ¿´?Í·ÏøPÁû¦¼.i¯Üë#ì¥í§ô6e¹ò£“C«UŸÛ›.ëÑ[š™’Z4¦Y˜ÓL[snË!¿G>Y=ÚùËNZÀ.@€ @7ª€ç˜òl22¶¤} ±ÚÙføUÐdƒ¬Î*І¬C'ÄÝŸ‹Q—)Ss÷ge«[Üþê²Y=üõçþþ`źJ3Ðmú‹O%E\þæé7SÔúâB­o÷I#eûþ:”¥ NZ¸êñ^A”ú¿ŸV,û#Sg•$Üû¢ÛZÉ(Ê^¹Usö—•oÿ|^ÏPaþ:#ôЊ¥ŸÈ7P ·?ñìôn¦Rë‰y_?õ±ÿ³s(Ã…_Lÿ‡2Rƒ{ùÑ$Òk1S”6sÿ)A¯G'‹>x{oZÙа@Z—ºfΧ¡KWÞ#Òþ»ê©ÿµŸ7î¿Ov]Ê=þÌÿ$N_2*ýÍÏK Ïå”Ðm'½þƃ‰úÝ^ó­÷gR?÷a…&º*Ã;¥Þ|¨€ @h‚NÇ mýBn³]hÇIÇõvѯ›†ã!á™ó/‹¸ìʼn0å9NuíÑB–v¾ÿ¥×ÿüùœÀ”õ‡‹õÞú‰žúÞ7?ýïÝÉúï–ÿyÙDY;ý|ºþ×wG^ýótç…ŸÿòÕÜ–‡=¤d çû<­×ë_~óãÇËþür¯’Äu­ò²¿ûÉpÏû_}½î«×ï‹• ‚{=¾ê›_ÙðÙtÙ–/·fqWïVjÝžØKcîxó‹ïù~ùؼ/V%_µ8TKQúK‡N˜:ôï’Ø¯›øÌžsj']†™=s`›>Oðŧó… ,ZSô”åßnüý³‡¥»6œ(ó.˜ju¼rN¢Â.@€ @ $àn˜$“þþþAAA²ô£¦b±Œ»˜ÝøÛ q BÛ6þ!í°‹X^„ýîXþÚ‘Üm–¸ýÆ?tÊåÇuíi![†{b_‰Z@ÓVƒÎ/çt`LO°W °%ÿèQCâô()­¥(¡OHD D lí§/Qå”7uÞ#„$Òá½GÄ~þËْΔ@ªPÈÒà¡~W"‚¥BIóèS‰Ö¤Lû÷Ì åâG~a³FÑNm¦®U.h; !룹/]™9câ€ÖRš’IKϦì9“™VdЕj-lG*¶®3G³;¹„EK¢Šþ៳ªmí1SƜÇ5qSãþ‚-ï¥\Ðôìâîà ®>‘oxD€X ŽŽ”îV‘›`ªÑñ*MÏ/>ž„Jv…v¦Uyú@aÛq±r§¯ ƒ: Ýú¯2q@@áÁä̈>3é,§E)JÞ1Îøú†íãž%6kµV™êZ匩¬°TÔyüÜuÏ,9™•o:¡lç·ÞÂÙgr¹v³­)ƨՒ뚩ì=Ÿ î6ÍpúËò˜­'÷+{,ýíõádq+«rÇ¢GÖÊ2¶÷ —\ÌR[[ÊK Jžaké¹jS¥ûU;î[¥ v@€ @hDî`¦L&kÖ¬¹˜ ·iÓ¦¸¸Øln\w%ó´IÒÚ¼yóððp°g]¦ôôÞœ–CÛù¹(*‹½{áÄU¯Î¾w- îõÐËc£Ä]¥(ŸSÞùî[OÞý±Hî×rÔÒWoË¿V9SvòÛçV§äÌTHß9/wŠö1ößñ鬩ú·ŒKÛ»¬”}¦5GVͺG©¶özè•1é+Êc¶ŸJÉMêÆßcIÔut§Ï~ø÷êÔ‰·ÞÕaáK÷N jÙL&$ó­Ýn‚ž¼ÆIM•;þÚ´ÖNJa @€ Æ"@¯[·.))ÉNpppÕÐŒF£J¥Òh4$û­æ½v«VVË{HrNr`2ó™\ýëÍäçZnÕA€ @€@cP*•öÐ’““=ŒóEIbBZ-Kµn5TdÂ3™MÒàzh M@€ @€@Óð*æ»G’Lä™M÷L#r@€ @7¹Noò7º@€ @àf@|³œiô€ @€ÀM.€ø& û€ @€n$À7Ë™F?!@€ ÜäH€oò7º@€ @àf¨¼ ôÑ£G»Þ½{wǧxv¼7ð_Š]?ð“?xü·€ÿðßþ[ øÉñG4 ah¨ß’ާ€<¦×­[—””dß\©žB€ @€š¢€R©´‡œœ\yø›o¾iнBÌ€ @€ JãÆsÜS95jÈ @€ @7žÁºñÎ)z@€ @N;AÁ.@€ @¸ñßxç=‚ @€ 'H€ ` @€ ÜxH€o¼sŠA€ @€€Ê«@W-b6›/\¸péÒ%‹ÅRõUìip𦣣£cccÅbqƒƒ @€ /Ô:ã×ÿœü~ûz£ÙËCPÌ©€H(¸sPü¬±Ýý¤N ØwzN€322´Zí„ är¹ûºðjƒ;;§¤¤Ó”Ð  Q@€ @ Ÿl<¶ítáüY“Ã|kp8± \È.üú·uì¹{ú¸gñœçää{ …BƒÁà¾.¼Ú ~~~ƒ Ú´iàñG£€ @¨™ÀÆÓ'O8xÙd¼P\³p/(—L?ì?þY °Ñh$sk†nã §F&“‘ÓÔ8ÃCT€ @€€S2ál!c0Y¾ŠÞ kÌ«°X­÷xˆç`R…ÕŠSâQ²! à㉆ÔGÛ€ @¨©€Æ€T«¦v+Ñzµd•W 0ò«Ú9'¨€ @€€ƒ€më÷ý€¸~½Ñ @€ r+.5­ß7C­%À³ç„’J¿ß®áX,ô/ÿü3 !Ú'´íÆÍ?Ý3f¬ØWQov%*S=7Z-œJE%ºm»¶ëUÅÑ‘!·Á…N¡TZËïœ4z´Ô?Ðiúßéeä5Ìþ.jÞ:¾Æ•à@@JÀÍ5À“GtÓê$ûµßà'¯Ô´2¹àÃ)Ñcz´úæŒÛ~˜sÊ®äÍ|~ÑíüühKAΕ_w¶«©Z»çSfT­|sX„H™U¸,Y•ãì&D´<êÝ;îú9RéUZ6aÉ‚®ÇóÞUºíE¼èUVçæR^•J5dÄ(÷íܲÙEPÞnúš·gÆILš¬=Ÿ½öößE¾=£ƒ‹âõ¹ÛZ°ûÓo3º<¿nmÏ`‹NovcPðJ(¤Š­™¼tu?‰÷¤Òf-ؼtÁŽAËÞîôS•Êåñ€@} ŸX mZ´Ø×dì:pèàÁÝýú§È6·›¿\tǨq"_·¥\¾hµÒ¿oÝÞ½uht»D—…ª¼pV©ÏóŽšázIw:Ø&·ûØ‘ä¯Çì·f}÷k-•py-µ€j Ü€n®NhÛòtF¶RcvìvV±ñbvA—¸hkZ©ÆjžúÔÝ·jU¯}—Ÿm¶Šño%·šUµ–ÿR ÕòèŽÙ9Oüe.¡h«¥jÃFÇ î‘‡©2ÐÍe= Ù_%ýqÓ«Úxéz`obp’Ôñ‡1¤Ë4m1ê 4-n6èû·ÍÙp:ߘ-ö¦Úº-cÖ•ê$­º¶’ë5ººiÉÆB¾‘“NKü$9ÿUß Me2ãŸ/X7± V@5ˆ‰ ¡È?nëÖ¹û¡ý›(‹‰HÝ×E~¦ùûû»/Së¯Ö£5Ã!·Z)³Iß2²--yõKºÖ±jZaÓ¼¦=Æq€jA Jfx­N‹• ½ªHâgûmK^Ó)sÄ •¡jJY!¡"²sÀÕ¾ÏJSD ÖÔ´bû {ý%åÉí%Ê2« Ð/n\³(¦ôä–â‚"“‰tŒè~«Ÿ€ÒžÊ>r^ä§Óä›­¾¾¤XëfBû\UFUvb»xhËs®ÝÐìÓážÈèJ{¶àøî²2% ðÞ*’”§¹ì†ô‘ï¦U“^p|—ªTOÉczžÁ¿ÄhÒòíV©´<6´ë°…„´žu8](×h J„-'Ät 7^Úžwþ’Él¥}bÃ{$ùË=|ÚîæÄxõ»ÕYZV¹Îß6¬?鞪_I9—‡³Ùù?yÍü­FJD:b%­†ì]¯úfϸYïéóÑʇÊO~ñÕ}A‘e‡ÿ½¤ìz÷Œ[©=?mü7KÔcÆ‚'ǵ&ÓÙÃÕý_¾ûÕö efYD»{|l\€Ðxaâ%©£ßY:ŒŒŸ2ª£o?ûmð¼eÆI«6qMÑZ°õ­¿ü¯Àüƃ‡E¾‰½öB—S/¿²Ç?¢äèñ\ÿáKÞ4Qè¤-Êê9ÈknlÏ9¶ïù[-L¶üŤ`ÍÙÍkWÿtYcõÙº}£¿opVÎå.í¢zö½UY¦ß¶k‡¦Tè/:h°P( ]¥5íJI)ÌË‘Šèž];ËÈ.ÉÏþ'ë"½÷Hß®qºõ+QvìÙ]R”/ »'&´O$£Ð¤ÇÊÛuðgù¼kR¥VHævêlfê©£³Y!:¬v'»Â)­¹•nÞ½·´ oÓ®ààà^]cÚuâÏŸÙLÿºùǾÇÄõ¶X齇Od]Í¥,Æ[:µïܵ7ù`¹j‰Æ¶í)!YY—ý|„}{öMͼr5û ùgÄ¡þÁaŽoRøŸ­Ê$ò"e¡LD÷¾¥sÛöJÔf÷'Ë7 ¬jäN#©t^’½xT}ÕÇ{m@¨'`åíþ—¥îÖ.Zšó‹6¼·, ‚ìÖ]i¦=ݲùà_åº9”4›ýòéà¡Ñ¿ýñ»Ú3 $º¥˜Ï_­EêÌ ÷Í_toœ¯Y0%÷ý³¦IsçMlë.cJ3÷¿úÑù³1í$ŠVï¼_¨jÑ/Á?˜V§üï—Eá IŒùºýù'o--xíäîÍzóTVé•Â9¯¼8.Z&2–¥¬ûfùy?ŸH…€ÞcS>S¶:»äé×_-±êôZ¡%ýŘrU9ÚË_Oj&2¤½ûîɃò2E«÷–wRi#ûÅÉÕ§.ÏÛtP;tõ’„H)m*-Zûgé¾ë¢¬µ8@Á^ÊUõ+Ùé6¶¥€VCá©¿KUô¼»¹˜Ñžý~Å:ÍË~Ó¢pÓkÏ|ðGÛ×înC -%yÔøŸ/ŽQþ¶èÉ6N|þå^ûèÙ·¾=Ð{ñ0ÓùŸV|v¾ï¢oßé,ÏM^¶pù;ò7 é?8bóSEC†† Tg÷§ûö]ÔFÆhÓ«6kÏ,éðQ/®Ð?»ðÄä5Ë*Ìz:û?ki¡dÂüÏD ´Lþgm <éð—!ÏÂ'Àd:´@ ÒŒ!óï~ÖÞ±ü‡ ­%ÚÜ ¹tĈ¾n¶ð©-Cß{wl8£×h –ªƒÄõòß& àRÀd¦N¥ïÛ–U˜Âc0QÿìØÚµMóv#‡êŒÔÆä-•ªPkõÝâCõïÅ~ôÉîÓ*vdêùì]ûvy»™'ïÞÕ6Ìwäà;-$¯eÌmÚwrœm4S›wlOŒ‰qk‰Úôwò&™XÝ®#iȱrcù¥GFg­ä—šNŸ:0!i„<0¤L­TYÇC­³ìܳƒÌXrJ׺yBÇî®~8»Â!ûF>zð€Ÿ7©†tnÝα9‘ˆ¹sÌHǾ“k€I˜!ƒú÷.(3nßñW»¶í>ÁUI1•V×5>øÖ}޹´#e׈AƒBôÛ}èøá÷:Ž©8qÝh2Œèß[™™¿7e›Â×WÐÒãɪ¹SêªçÅcµFìþ]äô¤`' ¦"à2W¢¨ŸŽk{į^0uîëkÓ3Vë-q‘ï,šIÓôÏÛ­aby€Ënêµßî’/ºkÞöñy›Öÿ¸úŸ=ʸÛÃ"üÕåQ³ï¤+]øen!«%ÓqQzšò¥yEVºïŽÏO:ýÔAFG1’0IFÙÒÃÚáÂ;úüޔ”3¦í§‰G´ìtøêÛJöW¿U;ñ‰‰ó•Oþ£Ó)ü?mц½oüi!?æÉù©ó§=}GÛ+mÖk$¦ñÚG3ŒE[0å©Ñag¯>ô‡)¸}袇š]ùÃ\$cÄÁôYåüùfÊjiÖaÉXñ¯köî7÷’‘éÖ®~éºä¸öB­%À ûk¸êW²Óe€$pCÆ7óî['dÌF‹¼ÝØùKïl#fÔgvÞºp`„Ec î™Ôþû §ò'´–1”$¼K×¹…vê¨ì«°©v½Ú˾¾Zjdäg“·«{=u[;©NmîÿàÝ›ŸØvøê 1-Â{ ÿsoªrð )Éå}ÆEЬš4'M´½¶Î•Ũ՚HÜu)7µž¬•6ïvK…„„Á¨O8o«9)æ6ÈP‡ÑÛò³ÆòpƒÁ,-ô7gÝ´£O‡æ~Í"‹žÌ /Õ%%ÒÊ+^œ` P×äG×¾OH­emÚ ªÔVÖU¥”ÒÆÅ'Ò"±M<¬|… ™ãÕRìîýp)·TFëÚ´' ¶Ž:~bŸN]Zd”Zu…;¤ÅRî`1­uÜr JicI|üP êØ©Gê¹#1mØ’+7ªLüQ¹…NZ!‹cš-tVNV[?…Ÿ“å(ebzPßÞÚé:…äï—¿ˆÝฎܫ_Í|w„¦ed”X* ôI}õ:m©FX•‘ü…#2Q‘-DbqTóæ™ç$ÍÉ´«VÑ­OÍ`¬ìg Žª¤£~¾þdÞxltóÌ+qç2ÏuêÚÒãÉ’øWIvJM"©t^ùÂhÏÞSpþŠE 1Zï2Ìן¦´$;1–;oÍ& T©šð(y)£©Ü)ÅÇ/‹ˆçŸ÷é6k)¯T·ßòæà°-TŸó°#ÀVydB’0çíS4[Æd,Ô[£JÖz°yß m:If‰¥tž°*©«¿v+9ÊDZ7ç˜Øß¼¢Àp“¯ü–ðíÛþüûlØàˆøvâëÈ‹ªñ[¶rwkå¹´õ½+ޜѦð×¥¯»uBï öÚ'“JYxnÛÜ)¿ ȬqrZ1­Í¶¿w,³•!éä5™§ÆMœ¦È”;Š|aRi [Ôj•††Ë´Åìã²ðžÃÛ¦¸«ß¾ty¿Û[Vëº ×ÝbØÖ­ì9pÙw°› ]Wn{EÔ|ÄÒ×¥kß[õÈW‚øQͽ¿Oó†>EcF@à&H»•yjâ¨QU—€Vk5¾R IM½ù V§7i¾]¿&9%ù¹N>TUkt>b‘@à²r”D$ÚRë?¿‹ä&Æå"N[ ”Œ>fßÁýûŽžHŒksK÷>´°Â_‘H ¨ÑuËnp\Fî4Ëöô&cÁÈ•V ã´ƒ”Ã2Ò$çþ^a?Æ_´6k€" ,÷J¥RÎ[©XÈyç ZÛŽtvˆU­Õyÿ.òм @ ñ ¸ÿùûñâÓÙÚ¤ŽšûõÖÊM§K;7.š}÷¼ãg-ýèB¡@íª[$9›VðBº²c¢ï⇻ÿ‘Ê ñ×ä™òÒª:¡ˆê÷ö‚A’E™åJvuéò¼•ÀkoÉï™J¡ÚËòbE L•“«㪵(s‹ô"ª‹Œý½C }ƒ|D%—óö¦ÉKE`xlâW?Œ$¿¹I11eÌ ¸ÂØÆ m-šJÊVl¤¦žõ×Tãɿ׿”fmèñ˜+¯²+—C¸µòeª~e;ìêc vÜSHÒw« j̃¶¾þáÆøçÇFŠ„¾Šàø)¯¼3•Ÿ“LSV½Z­ÍãñHel}7÷ ü‘X"-»’¯µ¶ YPæ’Ü<ƒo{…ˆ-vËÀˆ?9æ›&ï3¾™äÍN›Ð;N.æêµ5Æ>°·Î>pÓ–-.A:J°‘ÙÚp¨ßbG }öÃQs2“W-ùdudÌ+#ÙQcî2iÇ£¹x°Ahh Y…‡íÕ¿OÀµõ9ìAɤ2µNoµ˜iÄc¤R‰8"Ô÷¶ÑãÉp±½°T_¬1˜¬YßÉezd³ýâ#—ëŒfR@À­UªV“)ÐÜ¥ÈÎs`§­›…*&ŽY ToÙ‘Ú:®‹Ç€=ð„ã*r—Wê»ÓrN;H.ëuZØ‹‚Ò²Ò¿Ê‹–9m…› vmsZÆ}$N‘© ¼yÑ# и<þ‰Ÿ‘oÈÈgGjí›Ö ÒÌäÃÁµ¯<öÐâ/PUs`F¶0õ,çDi2÷çFvŽWHTV¡Ìª %—Ò -ÚI„& #–…Æ¿|‡ü÷ÏïÕ d¾ŸŒd3Ñòô‡{`ËZÊw:†R^ÒLKþBÙÕ,sD$­;g•&H-­UÏÁJ2ÑH[f²ÊŒA€Yœ“ej)´¨ùÜË"”gl]°FRÜ"JDÍ3‰AD ®f[ÂdÈ»z¦pÕåç¡ôC£&¾`¸ðzåì¦K^Y¯ù<ÐÕW¾>;«ú•¼êêÀòÐJ>iµôÄ`å_lÏ61òØ¡=µWŸ’qU©,È>î’ÒX¾>6_wlղͳ6>±Ã‡È®ßôŸÒhÖe§|÷[^§±=Ãl):¤Ëàð´ï¾?æÛ·G›ÿºjÂ1R{·lM:vÄu[ÜQ®ƒ¬Ð€@"±–fåëøÓO^5_8ý_ÆÅÜ"8¬eÈB–~#‹(è 9e&ƒNoâò`'.¾B¨O«…ê={·êÞ%42ÆLf¿X*ܧDÒ""Xm§Ÿ9e5›´zƒÉàüZ>æf¡j³4=í$)Læø¨Ôjr±Só° “À÷Èуf£žì´˜M$ÿ•I} Š ‹Õl6E†ZEŠôôÓä Y*é¿Ô#âÈmæ\98mE­3ä䛌¹T"•“)F®÷~¿GœêFNš®Ôw§Á8í Ó’nv’_К¬Jy9§ ?ç\ÇøÄJ'xÓŠ7e*Åàôj½‹Üt /Ahœü ÉÕúZ¨6/ü9Gk°È¤’Ï^{¼•5½êá´oóùO ,.+ôÒ¶ˆ€à÷÷½ÊœÑQªBËaIgG•H®¹˜ò‡¡°Lí/Ò—þôʱã·tò+_´™d\䇿mg.®Ô —’Ùvª Ìûé.uK×ìü8ï²~æQgÓ͹Ê"PXIJÜ?Í…Êâ<ËIEïGÿÓïú8'ýJ„{}0‰çxÐ๷œ5ìùàâî Æ¼‹+['?þÈ·H K¢4Ûõû><›¼å¬ZâH¬Úe²Ç›Í«`o*ÊÎÉ!Ū~õæX–Î"Š›<»ÿ¼•k·uzaT‡K\³âýÇוXdÍ:ÜöÌÜq1ž*b$mî[ú¨fÙûýZfõ‰ì3õÅyýi~î4Òm`ÔÚ5†~="È,:VÆÇI­½^^ÙU[Þ™—÷Ä/~dwÝ+/ÌÛÇâ7ÆØvš•Ç~xû—ãy:Ú'°Õ€"×%[;ŒøúkÓ¶w¿ñó££*_BçI¯C¨áãÇ Z]òÞÃùG~²J¨Éîû²k"òYpxÄ­I»Svïû7Uáï#—øºù9é#¥GÜ:lwÊžýÇ×KEÂæAC “I#Éν{N¯ß@~Í÷íÚ±UûNââwìLNÍø®Ķñ]I²ÐôÁ“ëeQïÎ -[³»Úœ¶¢Ö˜·íÜ«U—‘…¬c[E¶no[xÙU%^ì÷Œ#1ÕŠœkÔêØ÷ðh'wBvÚA/®P„,Е¼÷Z£–ËDC{÷ô ¯4r뼺ÂçÎ˸ Åé!~>bïßEn«Ç‹€£@y®W½ØRs´Ïÿš½lb ™dõâ‡'­½Xéx’ÓÁÁ£¦'>ð¥-3¦¦å?{@Ã^‘«×~ý·rfÒä ë¦XtÆÃûsß9£þ6·ýóŸ¬\¢7¹`.’· ”Œ¬…ÔÇ_&ÉbÈ"a¨Ì?Äê¯ao#,)Ò b¦ˆ‹5ê¾ÛTüðȇÿž(‡å½›N~™æ˜W›=¿òÅQÿf=·G½f³hΘÙ[¦Œeú4ƒÈ$³h¿Þ$š™ôð_“EB“ùjvñòMÅIër©4‹1²8ˆ#ûÌ5¦k€€1š/f®ü,³Xó^·n]RR’½s•½7oÞõèU*ƒ…Jå¾>²T7™ûkÖ«5z -õWHŒe*ƒ•¢…>þ~]™ÆÄp•×A %>¾r){”ÕDLÖóõ²u ÉÑrZWV¦/,wÒD…¿Ë„2ù(¤”¬@Å/¸Ö:ßçm9s¤…@âëï+u®Tz¡×;£ÀÇÏO&&e‘©Fš|°Cú("ý%·¢`Œ:•ÚÞ‡ŠÈÃ-[¶Œ5ªâ><ƒ T[À~Ÿ*ÇÏ2ª] € /ºÏþ"¶ïx/ :/Ò¥¥üÅÛ"ÌðP/W¨…øÁ¦=öȬò•9*TOR_N§ÕVÎèp @€ @àz`èÕ@À«Ø}½ns_¯B€ @€@%š] Æ x•»œÃ\ãfq  @R Ð_;â9nÕªÕéÓ§Ûµk§P(ÜÖ”ìMâæ¶qÛœwa ¹¥S·‹ÛïBF4 € @è·5¾#a#™ül1»Sõš½k6Ájû¾æE“ÎÜŽGÛê@¸ÛtŠÒ³›W-ž?{ÜÄ©“ç>öÄKŸîÍVÈÒ¾Y0qƲ}Å­Vu´é²´Ï›4ñ¥ýæ¥XKïhùÈ@h-p[ã;R¸5ï;U¯i{ÌG€-ŽôZL´Ö«»0½»·ÿ.$E“ ô.mmâ/½º·ˆ*r÷ñ÷`ië ÓóätªN§gÐéïŸ`xzK*Í¥~d6)ÁZú-U‚“ @FÎ\µìd´X…ÅD; ´3[»U˜ÀËm·‹g!€ ÐCdYÇ“Jh~²ö‰(>•ļj¹LÇbªëzHÿÐ @èUw*¾»Sõš¾¹€{ÕG… [`88;0U¥WÏ]. äŧQýšn¡ÌÙ÷áS¿dçÕ³}‡=üʲiÞÙž~õ0ןWœYXÏYøáêG?_³éH¶Œï?lá–L æÓ(Ziößë?ÝøwF-ÝQB¯ÒPœ ³žžuȬEÚ·­+úð±Pö-u'A€@ï¸Sèª×ôÝEÜ»>ëè- ÜŠ;hæãSO®ÚùÃ+‹6»† ¾÷¾EóF‡ ×PRÅí3åéi•{¾Ùûí§¡Q ¸º‚·ðÅE¢†JŽúìºÿ}–À:ÿé>Eû~YûÍùóÿ QŸúìõ5‡á3ž^2˜rnã÷E¹MÍÒTXN×VŸY÷†y!1䓊x»öõ¸•îã@èYw*½Sõš¾{€{Ög½ Û"@“ ~æËÆ$lߺóȹ[Þ?õ÷É—Ö¼6V_7tös/Lõ ×I®œ~=1­PF` ËgÔìÙc=èMñÿ÷n…Û´ÕËëÏkð.¹ôÚñ—ªýëö+yë¥qbšL˜²ë@S¬)=c%ýÔî£æ…ÔEKL+º-ÝF¡€ Ð#Ú D=úûŽ]7ÒÓé4Z߈ð‡çÏ‹ÑÿîÚÉG»õš–ÿï^¤R©Ÿ}üQ'+5;Ý<¶Ø&‹‰]ÛŽÛZZwoÿmÅAဠ`§S6ñÉ×'.nÌùëóWÖüýÃæ‹'5]a »`ÑX\&U£T¨Iš1‘¢ª)­V*ò¶.›¾µ¹—ÊêʪZ%ËÉßKöÑ2d'u:Um©µô¶…4¨M+²³È@ÐoÞhCá³/¿Ú¶c'¹¡lLÿ(•Z})íÊ^zùÙ§žœ÷Àý6Î2;d± ‹‰¦'ž;Ÿ´~Ãwï¬|ÓÍÕ53+›"G—–•ýß›+Ÿybñ ±í6 Ý*Ì`‹%¶[ŠÙY[·ïøqÓÏË—-;z”Åo!13+ëØñ±±¢"#oátœ@¸u­´(¿Žïá&bÑ(4ž{ ˜®+jÛq÷#ºÀYÀdùL|åÿ沚¾nP™"gíQ†ª¸ B¦ b‘=µn>è'+é q¥Üz‡p& ôfñ]‘#$ú%¡æ»+WŠDB¢TV^¾ü•W¿úæÛȾ}ÃõÓœnùa£Þæ2©”ôŒŒç–½àííU__Oÿ³âå‚‚BÒ µ¸ÝÎVu}üýO7þò+©žÍfµßC;›I¾/P©J•êtâòE¡b`»Ý€:/ .Nøàߟ%+…îÞnBJCqAIÅkæÄåJ{…3<†MúëêÛ~bMÕÏIUš/ ™63fèä!¿|pè“ÜŸ¹?¢áXJ¥a,†»•t‹…8¶W7ŽC€, ØÓvìÚÃãqß~ó ‹ÙØØHN ïþoåýó>pðPDŸ> ´3ÑF½†èíåUPØñ6=’/¤ÿ’DrH£±ã—çöšÒÅð·ßÿðëo[i4Ú3O>1âž{Ôê¦ 2»â•’šz*ñŒL.'ýïŠRQ @ÀžÿèI÷(ÎÝÈ-Ê©b‰ÝÂî]¸è±YÑŽÚvã_ …æ<âÅwë×mþëû÷pÜü"Fè(t×ÑËWɹë¶üþþÿiý‚ÝD†ë±µt‹…ØÑnd X°ˆ¦gf’E¿6›Ì=6œIÂN'‰ÄÏ×7íêU'Z¨¦M’Ó÷î?p!å"ŸÇ#Ñ/“É$3®§LœH øãàÁõßn ‰«?Z#mlŒ‰î?}Êä6w Á<¶Ø&‹‰m+ÙðÆè÷é'?òC€ @èÁ6‚µóç“ñÞ7ß^u#=Ãíâ¥K«Þ[MžO™¤¿ù=kt6ΕÉd†%Çä\2Úlš“¼4H2l6 ±V¯iº]1¤:Œ‡â†#¿¤èUï¯þyó{N1ä±§•Æ<É))ç’’ÈK2ù;À߯Cç"3 @€ ØÖ"Âû¼¸l)YsûÌ¿ŸŸ¿pÑ/ ÷@"7""h§‹KJlœk$eðÀX>ŸO–£¾ñ¿·ßyëÍèþQ¶ûØÑŒ„Ù³gL'q/™ðKÆŸ¿ûñ'òÏX¹ Ò‹Ëž'Ë€ ±Qu»õvÙhRy_Òîÿ<ÿo‹mH´ý_­7=¤ÕjXLæ°¡C:ýÚY>²A€ @è ¶4r”Ä™$²«kz'dU°@ ølÍGä6EdæïWþÜ—ÇF!Ö mœB¶‘jhh8zü8‰~Ý\] Œ5Bž—$‘"lï6e­^Ótó`‹ç†ZL·˜HÆgMŸ6ÿÁÈφ­«-fëhbP` ù×ѳ€ ÐV@¦ lÚú K§ÕQ©dUQÜ€¾!}›/´m3#€ ÐÃ:ßúNb`_ßO>ü`éò—HÄG¦CoÙÔ2Bk§O»õ2̰ÐÐÕï¼íêâ2qúLRìÚ>,+/ùÿ^'‡Ú=ÝžfØÛSi—“GGÏB~@€À?& r`=8u:•Å1ÔXR!M:?mÂtnÚ‹é%•gN˜9y&…nÏe”z"é²G~[cl‹íüÇ0Q ô2,ðɇ«_{ý͇æÍ½]&³}GŽˆ«oz„†“ÿ’'dØù§ ßhãvЩÚüÊm1ª¶˜Ø™Zÿás»{ûÿa.T@ Ç ‰M†YXä usâMš0]Kn?ØzÒ“Åtùú‹‹}3¤Zòß6Y‹í¼mµ¡`@èÞ·‘4$(èÀž]d¼“ŒÛP°X…ÅDÓBÈ bã$âuk>&‡Èl2ø\SSc£.ÓCíVa[,·ÝR,ž…D@€@w(­l$#À11£Ïœ=ªÖß›kÝ$üIã'—×kIúø1Sÿ>X_UN¥hÇF¡‰kë•{üY]Wï$`N™0…Êâ%§Ýȼ~I«Ó êEëôÜ’sgOЩ™\áÓÇH!WjŽœ:m,Mäâu53ÿBr" ¾û…úùÇøûBÚÀã0Fäìá[XVîÌaÓVרÌR ílÛ~‹“žS’r!‘Å`4*ƒ"‚#:¶‘dwyÑN@°_ 3ñ P«ªªì¯Ë4g‡ê­­­½µZlŸeWl»… t;Ú妭ÛI˜ÊbRfL˜@¡ð ]Ðjå3'N¡2öþýwYQUàMÒs‹«˜êêgÏÒè}5²%CŸ8f$ƒ#Ü—p¸¸ ‡!ö«-Ï|pÖL™š¶ïà.?ßÀz5+9éø}Çq„’cçR)¥‘(¯uiåÕ²«—˜6‰Éu ß ´ZݬIã˜,öܲ3ÉǧMò"'šµŠÂó°ØÎ¶9¹Î—.ž=iƒëpüü%NÑíÞ)4€ Ð…vÀŠÔ»°q( € p›ÌÖ7T6*â°Èƒ«£ÓDJ•’Ý”êâ(8[§9|8>6&VàèD¢Y&“Îæp)tŠX,i”ˤåÅ%ÕÛ÷ì%s¢5¹R!/©’º;òxBG-…BnÛ`Ú Gáy“ÒòKò=ÝX$ú¥PÈb':*SR³2²Ê+ªUj5‰ˆÉ¹f­"Ë”-¶³mκŠ71ŸÅå“RHá· ÅB€@÷¸Sñݪ×ôÝAܽ>«h- üC¦Ñ¢˜ì˜5sfÚìßÿ80aX,Sìgl•¢*ÕjUD°×€A#[îšPUj­¡ŽB¶Iiµ&¥)Ê5+ݽý݈M… Ð-Œ{W/䉇L¡¤1¨Q}jMaIn€ØÏÙ°•…¢ópq9vìLXhWè¨P©È‚['±ðBR´®Ší Q*Ž>¯G®TÑ©ZciÞÁƒOœ8^Ãv‘ e•ÕžNÿ€À¬Âªæ­ºl´¬½C‘à|y]Cm%Wè¬nŠ„ÕjmMmµ£P@c0»Å›…FB€@— /I]^²±@‹UXLìÚ6´[…yܵգ4@€@((«IrB0Ÿ|“ß½¨¨NíælïÙ½Q}† `—€ª*§°*‰š6}{Óï†ZµJG§Ñ©ac¦†ÙUB×e"Ñïù¤dCy·k뮟JLoà…Žž8"XÔÛ/Ö5T¥]÷Ρ$@€ìèð7N£Ñê¨4:M]–üױ˥õ [èä×ø 0±âÚÁG •Êõ}?]§Ð%¦ÍˆÑ·CS}íØÎ”ªCì=:.܉i_ë €@ ±ù,š¦¡,¿´Nâ-dQ)4†þO¤qýÈxÇ«»ÿH­Ò4CPaMSltʪôÓ'’³ªT,G¿˜¸¡áNäÔN=L£ß )IY·kêro”(xþõ~uªš¬³'“3Ë¥¶Ø»ïàá}=ùtвðøïs]?G[syï®óšþÓ'{fîý3‹åÌ“UÕHÕäòÑÔpŸŠ„]fW™Á®¾uŠ©ƒ'ÛÔ eµ¹>RÊ’ÿn}m•°Ôd1‘E\„ ‹¢(¿vêdJv•‚ÊŠØõüÁs&†:P-~6Hb晓I™•r*—GkÔRxì ²C€z„€½ßÔU׎JW«T5U5r¦g_MA“„ÆE{rên$&^=yŒï<-Ò;6.Zuüb½ûð{{s¨ ò½¦š8i5†KØ>WÎ^={ÂÙcZ?1½Gð¡€:+À„ì“s8-éàïùN>Á‘±QÎ&»,Ð…A#&û¨dµå¹W.fÖ9ø‘ÈG'Ë;2‹æÛˆKÝÕ”SQù3ãü8·›F¿†Ýr ¬®¯jP3%Þ®¼6ÍÑ7ûÏc74ý‡F³J.'Ÿ×N›ídÕPÝX§õ‰ŽìXéÈÙs'œÜÆ´½ÊX=ù®8`C£©}m®aÚ6×ÖhÉhNá9-¨êø_‰9 ÿÁã#Ý4çO&×òõ%ZüløhsOÅOW»„æC)H>W§¿8ã@è}öÀš†’\)•Î`óÅ^ýÇ v¤Ó(уÝõbîÑyYñEe5JF°›§+N‘ñ›æò©ôÿa:÷G6ÁRpËòâóÊjUÀ½ï³†C–¨<Ÿ¡³îʼœš–UsñHnFÎÈic‚nf¦q<¸ä)½,µ^+îsOŒ'›¢­Ï½’-„MëÁRŠêKæÜ(‘ûù“|·òhýJ¹åXº~çD³‡¶!÷JV='pܨAþ\jˆ3¥nÏÙkWJ"F¸šç4¾fH‚£"ý4¥Æ'-?·\Êéo~•±zê]uÀ‚†¡}m®ýüÚ\[)ú˜bFQ[úž×È ž0,ʇCQi%ì”2}6=r›Ï†ÌQ~5[/ï=D^Å.J»Žø®ú€ 1€ ð Ø³}G?hXllšªúú™“É9•R%Ù0E«ckÔZ«Wøæ“¨ &¢ŸCýõAètžKèà{C)«3N<ž‘”RâÝjý¯ºâÊÙÔj‡ð‰1^lÒ­¼A®ÑÔ\Ú·ñRsïXüF¥–½µm¦ÅÆ’]åÄ8902ª ÊCô;G´<ššÍàKô½):ÏQÀÔÕ46ªÚ»vèK 1h¶û]>¬k´ö6^Û¿¶(Tr©BKçŠøfkŠ,~6ä²Fù®z§Q @  Ø·éš¶.ýôÉþÃ'ô÷àÔ¦þõwvsý×Ξ¯3mÊD Þ' SÖÕÊY‡N¥PY‰ˆL®S¶ Õ•WN^¬ áï@2ú«uÃl]>zlIó‚ÇáÖ¢ß.§ }CÝSŽçž=uM4²»)ÖiÕZjS³ÕuÕõJ„KÕ4ÖÔ«¨,©_÷LÂ[;í^W믿ºz+×Ö6oÅ#kÇëkT”›ŸëŸ >%KŸ¹Ö{8¥NäãɯϾr½Œâ 1ÛºWy ³€ {Û£„<€ »K@«"[…ËK®ŸÍÔ²ENÃÇ éëŠø÷îzÐ@¸ ß…o š@hG€Æ÷2ÑwH;¹p€ VXŒ @€ ô À½âmF'!@€ @À| 4¹‹P @à6 ô¼¿±=¯Gyë¡Ñ=œ @øÌàvÊ@U@€ @€@·Àènñ6¡‘€ @€ ÐYÀÄù€ @€ Ð-w‹· „ @€ Î î¬ Î‡ @€ n!€¸[¼Mh$ @€ tVpgq> @€ t ÀÝâmB#!@€ @ ³w(Öÿ>7|ìg×”m?· ÐtùÇ¿^2ÊOÀt½­Ì¢€¶&yÿÆEú8 Ä“_Ù“×æ/nm³!~Ôòcµº–"t•‡–„qEÃW_’Sš2Ðõ‹ï8êù­Yr‹•™%Zi^{MReÿ0Óƒe¨º©Äêý }YMõ®36›4µ¹Vm]ÚæåS£HOùb÷¸Å_œ(1tU[°iZÈär5¦ÍÓožÑÇb9öô¬cy¬8´)DU~îÇf ïäÕçÑ}•m߯½F¨9Ñm¬EC€î´À €u•g÷\v™4ÖŸu§ûú!tGmÍùÍ{¥Sþ»l˜ÈZóiL7ðþw~O¼qýô¯ÿvÞ½téoyê6™i múæOv·QeíX»3OK¥6gåõåX¹´¡:?eï›aG_[±³°U8Ù¦À¦+ͳÝ$mÅ_ï|ÁÑß‘aZ¨ îãÔZ™¼é!+Ü1×ãfÚ3éR>™3á…ÓÁ+v$gç]9üÕœº5ÓG/ÙYd­™T—©ëÿ\?ÕŬËѧjòš2åÇá¿ïóÙ(‹'1„ž~¤«ÿÄÚƒIÝê¼ß_zýÜÐ/~˜ëk­“ÿDSQ @ —´3Þ'L¡Pž<ØöŸ´±±OXè-1Õ^Ø{ž7fB(÷–ÎÆI€ `¿€NU—ÿåº$i-ýêÈ zð•tÛ>Ù—OF8•™Û?;ê¿ìåq.ôVè4òšœc?~y˜:0.°óº-4IS¸gÕ—S—ßÔ¡™Aª¼„]W<xbtSôkxpÃx|Hý_;/Öé_7œoJ˜‡Dâ6nùÎ,™Žb2Z'Kß¼$.ÈÝÅÕoðâ.×k› P'¼w_´¯‹ØÉ7vÁÛßÛÿ‰?³=Ìe‰‡¾}A¦©Núú±a!>žžžCžÙš«ºYï-ý¯¦ðï_“}žye¦õèW“ûìA3žž?ÜßIä~ßû»v¬~xh«£[¿ùëSë›f„ëdÙ;— ÷vqvó´àó3MCýäÄÙCçükáè0±Ð9|ÎÚó5²´ÍºCò)²·¿4!\Ÿ'dòÿŽVÛ}”]^¿hD__gƒÄIJ]ù\W8þ…LƒÐÆ oèWyù|¿çž"²{î°åVZj’®æøÇïœðê‹qbóÒή¼7ÐËÓ'0rÌ“_ž.3 7å%é%ô€¿VCÒtÇÐ(׆ìü¦€–ºàë™%ùg×IY6ëÕ#5-kˆν·àíÊE»oåz¦îÃ%ëRe$¼öõ¢gõ}7!½¤0uϻ󦽖pqÃÄ€ ßfÈ”5‰¯ÇP/¯_úQåc{®å§þþüa;—QËÆTivržVwnåäþÁ>ž¾‘÷>µîDiÛZQœ©¾w͉ììW¯yösÙÂÍ)9—¾¶úÍ=úé)Ÿ,xñ˜õçòK2ÿ\Jûâ¡g67Çåò¢ Íè·ÿ¸\±ë¡Òµol/ {±uwô¿fèènãÞØCòì}Lúêß3UrÛ}d¸Å-ù|oRnYÞ±•~û_X±·”@מx}þÊÊÅ»/^½|ñä{hõ1¸õ†µÃ‚À Û&Ðþ•»m Ü©è—üŸ¶ÿ„vøÔHÁmë † &Và¢-©WOþú¼ã¦ùs?Mm´ÈÂðžõúÓâ?Ö¬[ûibÄŠå#MƒP^Ìëgë5ecuÞÉw\7Ü7÷‹4&vâa¡Iª¬ß?þÃyÉë3½Ì~Uû"µ8?'¯ ÿÆ™_Ó7ÌŸ÷Ù¥6µ—+·4JŸÔè2„Þ>.<ßgÌ¿^›¡‹ÿ-©i\Xÿ¨Kúyõþåó#…L^ØŒG¢Êâæ*Î÷cÙä·–O s8b/'¶YDNãK„ÊÌã çrê)߈`Ç[ú!ØØTµ´ºAÖȼôë}'~:Sºþ‘G×_U´tÅðŒã7~·P1fd sHÜÐÏ{øÔœâŒ2¥îìw¿V_ñìHÃ!lîKÎÿ¸/ÇFsüFMŽ vrpí?z¸2“änû …OŒ !yú"©¼Q"o§L—ÈÁý]ø\Qà°QºÂœJ¥æì¦xî‚å³üÙ Íå2ôl¶Ö¶H ü#íÀ¤¦1p'£_òƒðµƒGC¦õ·ºqË?ÒoT@ W0œ½B†>ðæÆõS‹7ý”\o¹Óܾ — NYõiÙ´eÓ},î Ag ½byÿ£©%ºÐ`¹;SÍ›¤-;´zmF´Ù‚Êùl:•JçºôäÝUcŠ·üvYjRÇ=ØM•y!·Ud¯©¾žZÆð´¾Âñ¼BåE¥RÃDg E^QP”òÙä7òp|òP¦Q®‘•dÖ ýݬOóf?¾qû‹‚ßñ °bg–¼í®Ôv:4e£s#¼öü¬¡}|}#Æ=·úÕ¨Œ] VçUS,:E«kª“Æ`3(ZÒEe‘LâÍ7„êL§_nmQµÙžßT:“¡Ójm¶–”NJÔéÚ飶îò¦çÆFGEÇÞ3ïÓ©Žª©+Ì—ò\„­?;v5¬#ZÈ @è¼€]0©ÆÏ™=ë±… nq泡±òôø„úÓˆ;ßv”@ö Pi4ªN«¹ûµ9‰æ6㛋%ÇßÚÞäJ®²ZL›rm$Ül’®ôð†Ý×Ó7Í q’Hœügl¸túíž÷ÿl¾í²N­TQHhzÝbúŽ^üû†#å-m’_ßö}¢Ã½³¢Ívº’g”ÓÅœ›ç³„N®±+þÎ-%’’²ª’c¯Fs™B'FÅÓ ›Ú4žl:õýa:|üËcÙGßðÚ÷ü¿6fµ±l£×æ‡xþÑnIW«››OªÑéCUó‰àæ§µzÍ–xp«Ò ¥†àVU™“/yK¬­¥6ïŽÅ¢mõ‘Ìk~ê½ÊÇwžOI¹ð×ûc›æ Ð\œ)Åiy­§t¬a‚D@€@W Ø“zI jª¥:ˆVV§Ø—Z×T„xðü1ò­«¾>UFÚP”•S«_ܱ†Ùî$ŽB€ºH SÑlÇÛ ÌMØ_1cˆý7`ìx8€@¨Ø5Ïφ,>˜ñÇ£A|—¸w.4RT…ûßzì…-YúÙ¯¥JS~øÃÇÇGùùÇ>ôfñæ]oÞs X5^|¤ Ÿ/pòøàºÚ‡¶«ËͳÒ$G(‹„ú‡Hä(â1YG'‰ˆK§(KÏïþú­''Eùœý晾ïïÿù©0²ÈÔôAÝóÖ¿?tåíéQ>î÷<³‹÷ÔÖ#_Ïñ2ÌÆe tÇ_éïâ½h—÷뿼;ÎÉxÙ£JF¯üe¥ßžÅ½Ü‚M_¾5KA¡:ŽZ¹ùƒÁ)¯Ž p÷é;á…m9 Šãð'ç;oŸà½pc¦´ðણÂ\]#æízcí¢PkC­¤•–Lß& Ãwþ†m+${—Ü8ä‰â¶¬Ÿçgqºõµ`ðk¿|Ð÷ÐâÞîA>Õý{ËWs-Odo*¢UwÌ&JêPÙì£`è oNÈ~u·ÿg㹑>M×i.“×l{ËkÇ#ý|Þÿ¿¿Š›ö¡îXà •ã¿€ Û+@ݲeËøñã•H$’ÛYaãõ½;Ò¦NŽìä¶!·³(€z®¹ ÒÌ1›çÞ=ߣípwÏíö?Ù3Å•5ãg]~zË 'Õnܸ1&&†,À¶‘‡ @`0Z~YŽïàÏÌ­Ÿ6ý‘°Î‚ó!@·( ª-­Óqy&{ßb8ÍL@×s©”ã.¶143@€Àø‡§@ß±~¢b@€EšúÕòµEƒæÄb'Æ.þ4¨«s2‹êTYΞ·ßHðxdQl»KÅ»¸(€ `À?<lO“€ p{˜ÂÐ9Ÿìœ3ÃW¿®ÖTžùjÉŠß/7ÐÝ-üâÇçûó»¶”@è|èG”@Ý@€å?ù1ÿnÐÎn×DºÛ¤ÕNZÝíÚC€@¯Àè^÷–£Ã€ @€z§àÞù¾£×€ @€z@àóIɽކ @€ ž"Ð5Àç’’Æè)G? @€ p— 4ʤuõu*•š¢Óê(‹Åã¶Ú\®®¾V«Õq¹l•F¥RÉQƒiz¿Ó»´chî´@à;ÝTÔ@€ î* ml¨o¨—ËeUÕ•FÚ(¥R(2¹Œ„²:ޤ@V«Ó1èäÿ Òúúú:¾…J%qíÕW↎2íyVNºP V«U¤œÜ¼lo/ßzi½B!«¯«§Óéž^A¡6‡F£ø†vW5´]-€¸«EQ @€@oP©”Õ5ÕÕµU$|U*•$Ö%q¯V«%A)—Ã#>ÏÃáªTªsɧ§Mšíåá-ˆÚÕÚ´å»Iã¦YËvð¯}à ›ËÉȺQQY>pÀÒ€ëéW ‹ [£Cz/@Ü ßtt€ @  rò²jj«IAµµ5U5U …œN£ ´k©Q}c"Â"cú$Ó’™ ¦Yed¼7áX<êµ'ú%çj4ZÍU«Õ6Û˜A£Õ_ý82W_¾B¡°q.A · îmï8ú @€ p+2YcuMUn~öùä3%e%$Îôóñ¯¬,›1õ2Ä*9òy|²—M]YL–—§µjÈ€0‡Ã&3Ÿ­e0Kg™Ä·mOQ*†z ‡HX˜m”ÁÀø@è~Úšó›÷J§üwÙ0«[‡Ò˜,nàýïüžxãúé_ÿí¼{éÒßòÔmzJchÓ7²»åˆ*kÇÚyÚ¦5lú¯ÿ+ÇÊ¥ Õù){ß ;úÚŠ…­ÂÉ66%Xiží&i+þzÿã ŽþŽ­¦& â>N­•É›²Âs=Z¾á5U¥kHùd΄N¯Ø‘œwåðWsêÖL½dg‘µfR]¦®ÿsýT³r,wDŸªÉÿijÈ”ó¬hýLk­ÏPdmZ8lòª«¡Ï|±ï̉Ï'8Ú(° u¢;]P;Š€ÀÝ$@î3”•“yìÔáÝlûmû/d˨)fþïÿ>\8o±‹‹k °PÐ<‹˜ ¢š6œLWÎ/kÝ%{/¯üæ™w·?öÕÞÿW6ÙŠô[Oµüìè(p%»R1YôFyó/)ÇåÕÖ×KñšÇl )dM¯TÖ2‰šIoµ–V£ßVÚx®L.uà¶üõ k€7V(˜}7}îЖ;/p[¦@§]¹zéòekëÙ7"ÜÚQ¤C€@»tÏÙ_î›M†ïN®±úÇ–ùð‹‘†’<æÎøÙ»5jНÙ_}NØœ…‚Ÿ~uvÖûÃÉ7=]eÂGk³‡=wñÒÍ6ИrÃ'dø¬¹Ã×ü÷F‰‚âÅk§Öšg«Iò«?|$`Ù ¯_7™–N¥‘a²˜ÎJÊôŸV¬)˜þÝÑO¦¸êÑu÷Ÿ»©Ó'ü÷ýcc>kuÇLc ¡§_ó—Z+…vY²5“ Ôy¿¿ôú¹¡_$ü0××Z'»¬=( åed«üÂL6¦¶6vmÚG<‡@ï¸-#Àá}ÂÈ^'O'¶ý'mlìÖÑ;qË/}4c£áçw]ÕÁ'#ÿ÷¬”"»¼~ш¾¾Î‰ÿˆe»òUämÓäþ03vÊcsz‹Åý–iYÑ{ÞRô€€©€NU—ÿåº$iƒ8miXA¾ò€nÛ'ûòɇ2sûgGý—½<Î¥åk•þF^“sìÇ/Sƶ|Kl[š})š¤)ܳêËŠ©Ëïj™ÒgGaª¼„]W<xbtSôkxpÃx|Hý_;/6]ο7%ÌC"ñ·|g–LG1™­“¥o^äîâê7xñ—ë 3•Å ïÝíë"vò]ðÅöwÆöâÏìCOsYâ¡o_iª“¾~lXˆ§§gÀg¶æê/=·þÐþýk²Ï3¯Ì´ý’ëÚ¬A3žž?ÜßIä~ßû»v¬~xh«£[¿ùëSë›f„ëdÙ;— ÷vqvó´àó3Mߙɉ³‡Îù×ÂÑab¡søœµçkdi›u‡äSdoiB¸>OÈäÿ­ ¶ûhéâKÚ ÏÚ±|Bÿ>á‘ýúˆ ›¿›|·Ü°[癸U²I2 zÉ`ïö=[’RÎ’ÑÑSî›9õþ‘ÃÇøûšF¿¤²µU]]MMCÅÅŒS[þ^÷þÏÏ=¿nâš=K¶§~p¥ñ Ì9Ó)‚âÄ/¯jŽ]Ixá;˜œÈv —WÚH–“;þ’[^: U ýß-M­T5ß”ˆüºX_ß2ÆË甲–{ÑTíÍ ÕäD&½Õï—dÎ3‹Ù²µU£¬Á'6ò{,‘mÃKr$Ãf]Æ£x^.бø«o¾5ûw>)¹­ ™ã±àáù 0;Ý?jÑ‚GL'l´=×R 'tê,¯«;ëçŸTŸßyÆaò¬H>…á·äó½I¹eyÇVúíaÅÞÒ¦?ʲ<úäÏŽ]»²ÿåXýÞ|x@èµÊŸw—OYSwÿʧ£-þI¤Š‡/]1à‡ëk+>\W8þ…LƒÐÆ oèWyù|¿çž"²{î°euKMÒÕÿøó^}1Nl^zÃÙ•÷’ÍV#Ç<ùåé2³pS^’^Bˆñk5$Mw rmÈÎo h9¡ ¾>‘Y’vý˜”e³^=RÓ²†¸áÜ{ Þ®\´ûFQΡgê>\².•¬¶S\ûzѳ‡ú¾›^R˜ºçÝyÓ^K¸¸abÀ„o3dÊšÄ×c¨—×/ý¨ò±=× ‹òS~€°c—QsivržVwnåäþÁ>ž¾‘÷>µîDiÛZQœ©¾w͉ììW¯yösÙÂÍ)9—¾¶úÍ=úé)Ÿ,xñ˜õçòK2ÿ\Jûâ¡g67Çåò¢ Íè·ÿ¸\±ë¡Òµol/ {±uwô¿fèènãÞØCòì}Lúêß3UrÛ}´xñ­=ñúü••‹w_¼zùâÉöh·²Þ0s¼†Àí K'HÄûÁÚ·?ÿö“¬œ 2Ø;}ò}“ÆM‹îK6²V' ”µÏ|0ñ›„ç˷׋¯‘ˆ×#DàèÆå Y ¬ÂeséW³/Kð÷ ©.–3Ù´ÂòlC"ùºKbàêšæ]WGOuSÌdÓë¤úû“‡XäØ(k4Âç Ôª–˜¬DQªZ¶] Ë‚Õò–™Ø:­ŽÉhùÁP®RpX-?OÊäÆ`²Ñ´ñ¹±.<@oèØ•ûÙ§ž4û70Ö<Ê5h¶o5úÕ—Çž:ÛûÊÎ%ZJu’>þA¾í0]"÷tásEÃFê s* ß8þ£& t÷ôñXýÛÖ›ßsôè=¬ÀE[R¯žüõyÇMóç~šÚòEË”€á=ëõ§Å¬Y·öÓĈËG:š¡¼˜×ÏÖk4ÊÆê¼“ï¸n¸oîi-›²Ü ¤…&©²~ÿøç%¯Ïô2û£-÷Ejq~N^Aþ3¿,¦o˜?ïðKŠ1 IDAT³Kmj7.Wni>©9Ðe½}\x,¾Ï˜½6Cÿ[’qfP]ÒÏû¨÷/Ÿ)dòÂf<U4WÙpþ»Ë&¿µ|J°˜Ã{ù8±Í"r_"TfO8—SOøF;vî:£–V7ÈYƒ—~½ïdâÁOgJ×?òèú«Í£C-âøÆä-”DŒè74@Àó>u§8£LA©;ûݯUãW<;ÒƒÃp›ûÆÒ€ó?îËi¾ úšìäàÚô qe&ÉÝöA ŸBòô5DRy£DÞN-]|kÎnŠç.X>ËŸ HÑØ\.CÏf«am›tYÜ{6)qÕ‡ÿ]óù{<.ÎŒùŽbɈaúÁ^ro^C=ÆÝªê«ÉHïÆƒ­Ûöš± ¾^\ÃÅŸï a“…»$â5{°xô¢Êœ–üžÕV\Ѽ˜r–¸»òù²«3yNgQëk ‰¤12YË’`2¬Ó˜À4ªñ&I$?‡ÍU)[Ž’?r¦#ÀRYiLn/Ìã6ÇÃdC,³Æã%z¹@Çàa™ÆÀ‰~õ•²ƒ&ÏöNÛq²¤2y×Á”™úø—¢­»¼é¹±ÑQѱ÷Ìû4EJ~ ëPû€@Ï`88{… }àÍë§oú)ÙÊM)¹}.œ²êÓ²i˦ûXÜ‚ÎzÅ>òþGSK6þt¡¡SnæMÒ–Z½6wÜË #ÚÌЦ²B>›N¥Ò¹.ýywÕ˜â-¿]nù¶H¾º»©2/ä¶Šì5Õ×SËøÞ‚ÖW8žW¨³¼¨Tzó ¤¼¢ (å³Énäáùä¡M£\#+ɬú»YŸæÍ ~|ãö¿=ã:aÅÎ,yç®øÍ‘—êÿ8Ÿþ7YåkÈܯºy;y«È ª ãXn oˆ´ZIFw+ëK' +*Ê /™ ¦—c0yÎ`ÑnÀdÓU¾|®ÐF¬JÖ!k4-¿È‘m¹L±•J‡Õ2†lhõ%·2¶Ú€@¯°øE§Ë$ 1°ŸŸïȸ{ÈóN”Ë œtŸÏ7»þŒw$ñï÷}ôßMÈÔª§Þ«\òÇùGXU{öa'ŠÇ©€z´•F£êȦ¡Ö:Is›ñÍÅ’O©|¡ÅiÒ&§éTr“)zÖʳ#ýf“t¥‡7쾞.›²™Jnâ¡‘Iå´ž_ûìÈoøš¯êÈÂ9òݑܤåÁô;+üí/6ù÷€).Íä×·}Ÿèpï¦h!¥U¤.+Î(§9Š9´›c/B'ר›â_ëoîÖ”;1*nH)}ŒS ÉN¬d¨Åtêkf:|üËc ßIýå…yÏÿ+8jÏSA·¾{Ï?Ú­âÄÕjm¸»¾ù¤>T5ŸnÓ“-ñàV¥Ju}õÃժʜ|¹hÄÚZjóîX,ÚV-]|é.ΔⴼFŠÉÝF;Ö0‹ A"ì(*.¸–~¥ª¦ÊÕÙ-2<ŠÜ¶×lÁ—‡Oqi‘——×Õܤ¤ëG¯\¨Ó–œX|¦‹M§Õÿås¨¯ç¦’ݪÈs'Wž/…bëÆo\£°Lþ&1-k€J²ÛVKL"|C½d;hlm߇¹z‘@g‚R»˜HÜ;zäˆÎE¿úŠXf{^µ2^0uZhÓ(¦¡Zªcß•Õiö¥ÖuîWx»:ƒL€îFIÖ¶5Ê­†ü\®ÐkR—%ø#á¢a¡l}òwï|ºõHJfqIæÑÏŸ[º›?íþV›Oe:ˆE|fÛÈK«"5)ä5I?¿²ì7Úä£MbËåYnÅb“n3º^^R›“““uaÓC}b—í¹tþ»9^tué™í¿îLHÎ,*Ê8³må¢ÿytnßV£³¬Ð+Ÿì|â¾å¿](¨ª)½‘°vñïäO|ûÕQ†í`Ôµù• µ´àÈ—ïî¢Lxxˆq—QìüqÒïÿï‹cRFQSœ_Ò ¡ˆ>4…±ëÕ·¶]«QiµÕR5…Æs’P‹R3ª•ri£JQzñôÙ+ù5*¶[H˜ ].WÙ¸øXv0}›˜~S†Ÿyuéº#¥eYÇ׿ºúFì£Í÷궬|3U8pálÁ¡¿>YJú™¾mÕg9COó·”·îŽÅÆ+möÑâÅW>>ÊÏ?ö¡ï4‹7ïzóž[ØÀªñâû#]Èý<œü>¸®öáŸí*Åró¬4‰ÆŠÅ"¡þ!9ŠxL–ÀÑI"âÒ)ÊÒó»¿~ëÉIQþg¿y¦ïûû~*¬eÄ£é=¡ŠîyëÀß ºòöô(÷À{žÙÅ{j둯çx&8±ºã¯ŒôwñŒ^´Ëûõ_Þçd¼ìQ%£Wþ²ÒoÏâÞNnAƒ¦/ßš¥ PG­ÜüÁà”WG¸ûôð¶Åqø“ó·ÏðŠ^¸1SZxpÕ‚Qa®Ž®óv½±vQ¨µ¡VÒ8˦o…á;ö’½Kî òÄñ [ÖÏóëàä,Áà×~ù ï¡Å¼Ýƒ&|ªû÷–¯æZžÈÞ$Öª;gFªlöÑâÅ—æ2yͶ·¼v<ÒÏ'`àýÿû«¸iÍaÇÖÔ:< `‡@UUE±C¿nÛxôd›Í™pïÔñc&“ØìÔʺ’œ’æ•ìk%¸hØR_>OÀ²80Ã33‹ÓŒ…D…ª+·øÿ"ÍYÈžÏeÍÓªIùÁ^ý j·%Qà j0Ùä™Àj¥ŽŒ×Ö7ïŒE"X²–TÚÈþÏd,‹‡@èä6H3Çlžx÷|¶ÃÝÝ¢w}#WÖŒŸuvùé-3œl´uãÆ111d¶<83ÌìôSgŽfdføûðyÎ~¸-ÙÔ*5+1ñr|^Õ­œþÙöRÉu)”kioþ¸(|¤Õ/º$OÞÅúwÛâáL&?S ŠrŸû`Vô×¶URT »4ø'Ö^nøuíÅÆítíÞ€'¦x„$’{½ýá_^ö†á6KG’÷mKþ€„Ù~º¸=°ÒpÖçß®¹Æ|w7òòræù/þü[pËLæÊ‹ìu/í1äüaëÉ [¼›|ª‹äcŸ9êQr”Ìsž²8ú_¿dxIâáO¿y÷…gþK‘û _O¿2*î^C!ø/z§ù‰ÊØñøøøþÌÜ;ÍÐk@è)ªÚÒ:—ga²wOéá!çR)Ç]ŒA§;ýNô¬úÉ]|%ì—6JGÞ3ö¾óHô»}Ïoµuµ"¡ÈÐQrÇ ËÙgÿNÚ‘]™Êà«ø–$”QVs5çBD@,Éè"¢zQ(mv’7â92Òó/`7oW¾­eÀdË«’Úlr«^ZS€íïrúœZâÅ)«j^â«àŠÉ­€ °£À™Ü ‰É¦Ö”7“³Dqye©!&·A"Aµéû¦0½ Y¬nÖ™L‡&kaÈtã‰*µŠÌ2¼T(ådÜ´L<‡ã3@½F@šúÕòµEƒVÇ—÷š®ß措«sre_7fá¾·ßHðxdwl»KÅos‹P| 74ÊÍÏ!¿d¹ìÔ‰³<Ü< ûE‘Î…‡õM»š:|Ȉü²Œ£){R³N6PKDî7W¦N£_OVÉŠ\Y®4ÀäžCýƒ‡_ÉÞëÐêÎá¦N,è:&€¯óBn@èÆ,ÿÉùwãößµM§»MZýç¤Õwmûаî$PV^zõúåꚪ °¸a£ZušôƒŒ’ù箥øöZËCcФ”ÒÌ‚´>þÑäÔ°à¾\5Yšnqûóæ¢ëÔ¥Åy†˜6Ä?¬z«Ü/Ê<ö6¶Â°Vlø’"I\ôS¦+¤ùre£!%ðÕ— ùIŠ€ãB¡(UµÆ[%ñ¸Üº†æ˜Ëæ›m‚¥n}$uK8L:A5Dõ¤pFMÆÉ醊”J—Óüœ syÖ÷ÿ7ñÄSôî³ tïyOÐS@€ Ðû ‹ò÷Ú}þB¢¿_àôÉ÷õ 2UÉ*ß“—|»gyb°=tbyŽÌfµºHa£d4Ù‹lUeÈ3jÈ„Ê\›û` 7r/2“cÉ2àÚR«å3¹ô¢ŠcíþÞÁõåJr'¤òêbC¢XìX]UaÌ º)å$¦oLv¨"wr7fñœ[õÅd¯z:Ù«ÕYÃîÖ$?Ùö™ü×8Z«Ñ£er`²|ºU™x^/`>zêÚÖLúyM¶qÔúY¼K…ÖŽ"€ ^(0×±v]¶ p"ñÈŸíïÞoÑCOžKN‰ZíPwæJ|Òõci…§Xbµƒ“O穵Oo6ìSEŠ›4jÖû[â=­.se°h ”â¬Â«ÁÞ}I~2 š­$³ [¶S6kÇž~=Õ˜1ørâA‘›åòIá%ÒB²ë²a6²¿WpBºFèÊ*ªÈ¥èçE „ 7oÉK^’eÀ9•ú}°ªëÊ<à êë›§@“—™]Nfn@£Q»Lëà¦@×ø0ÀjµŠJ£rn. &A¯ñFÇdC,fë¡cÓð½S #Àý¼›—ÚwHêÖÎêPÈ @€ нò r¶îü5íê¥?ýâ¼9 ‚B‚C3³ÒI/t:íÕܤ·¼ømüÙê®á ‘+Ç0&ÌäÑJ32 š·ªŠëïLR4˜®Ž5g¸°&í3¤’¹Áý†V[M‚ÏZUIAY¶!X`Dm‘ÕÌ$Š"-®È5dööô—Ö¦@·Ü ‰ S“Mª „|‰Z®¡Ñ)u7§@óx¼FYË@Ÿ#P7çmî¡0öÇlí2“Ñ<)šÜX³›w·&¹ñ®§ …‚ÏÖtæ ¼îå€{¹º@€ Ðy²ÖwßÁ]W®]wïÓýÛp— RldDÿ«×/¹ü÷‡›—~ºï¹ öŸ¾B¾ˆe6õ×Ñ‹óçé­†f¹¾ãæèW[˜Í‚3º*ÏVLË—0oä5“eÀ†«õ²)Ã-;K\ëÕdg¬²j“;!9¹åäeJ {k©:›V[ß|+`›+“›Àd#hUKÄKÖ«Ô-wBÒ©[B`ÓiÍ9›îL!Á³¡¹\fÜùY¿˜kõ¶O6úÕÃ¥^¾°cïVò›Këºsk€oÍ gA€ tL ¶®ö?wŸ>wr`ÌIã¦C_C)dµª¯oÀûß¿Xÿâ*dó™&ß-98±Òò›gQœ.µÑ2Q¹NS”žwÙ'²Ot•Í}°¸Œ«ÙɆÌd(5*x8YÙk­|‘_ša8*p¸ üÌî„äæêVVQfÈ HT ÙK*k¾÷/)߸™3ÉC‚XÆdž3bn §kM‘M°HðÜœ®ÕP©R’á%™m|N6ˆ¶ÖòÞ“.mlÈÎËŠ‰Š½”–r(a?¹·Vïé;zjQ°E$B€ t™@MmõÑ“ ‡Ðàý3ç¹»y‹6å5(Üm˜´Zm{ogºHv8i¡2ÇøÞ˜ûlïí,tå$_;nÈ/ˆFEϰ±µWHÏ)¹fl^dhL•õ)Ól­ ´y¾49%Ì7ª¡RYÞGî„d(A"q.¯h¾°«£§Z©c˜l‚Eò²Œuñ¹BÓˆ•¬6F°d °é `ýnÒ7G€Éœg²ÙDÚPŽJ©4®ûU©¬†îÆJ{ü“ìœL7Ï¿ ©gõíÓ/éÂYòQ$ÈßqtК`k2H‡ @è¬@ƒ´þlÒé„cñ$™9å~w/c‰jŠÜÙèõ î<ú!‘ OûPá•zÛµ’e½'.0îí<ùÿÙ»°(έÍöÞØ¥÷Št+ŠboI4Fcl)77ýæÞ”?=¹InbªÆk4ÆÞ+Š•`¡©é]`í½üg™aw…ÝU“Xfžeökówfgæ|çœ÷Œ™ÝQëÊLçJjò¬c¦%Œ;÷š†0`±ºÉêØ'sN .ÐÂn4Æ Š’‰õ$Š-’§À««uxfÒ94<›H!È”6í‹J¦v÷t#s#“(Æ\ Ý c0R†b“þh+ÓU/í³¦ËBÊE²xGCl0™ì˜¾Ë5¼÷S­B©(¯,MˆKF„òó ×X9qúØÅ‚ßà⼟„Åd¹E0øša```````ÜFƒ!ÿ¹Ü3ÇÁ 9uÒÌÈðhjEúƒê[Pyúý+¶^øÐàÙvªp¯T*`ޤ÷¸¤ž"Óð=¦Æë ÅÈh¡1bäàu69‹[²¦ÞJ“èÚ šÁ#q42š¯·?ïáld(ïT4*5¨™`àmÍ„Äã¸w÷eB#-Ÿé“—*Qa¡;—ë.•£i™t°Û´\°éZ•|:n6ÙÓ`™ÉDT¹ÕèÔt*Ó:CƒÑ@$X` ƒÆ`ˆ*‡„ÒöY”M-*_ ððßë×˺å훎~öÙîg»©¥~Ñ,ü¤ì–³€¨Ù#;]xÜ}³2f·”Ýd™ ÏUAÎ$¤ u³†>ÜÕäô·mQSÕM"”±¼ ;6†ùtÙ…G†v‘:´åæ¾aAá ÷'ÓnÈ„Äåp;ûˆ Ý9ž½ˆ ­.ß6W*GMÄ  h¢­—“ÅÚ„R_á Öû´¥` ÅBZj´jZ_`(1èõ4ªEÖê4ŠÓëQî׎Îv¥JŠðEu§…„ËŸî|zýáá‚´ Îw@`°¯?_”Jmöùûœ\.go,^”©ñ\gPû7Ì ;$†††À]‰€I©X½_´«^«p`Eg,kéÙ|UY-1ˆ»• •fFš#ÃN$` ©Ð‡%r"Q+!.™ç-”•Ùi›FƒIg0I$ê Uj “Ì»áìvÐ!Q2c…yâÓ‰\{ö|ûA=}¬7 ‡ãðHæÅ¥N£Fg¨hPIÈD–õéD M¢µ—ô\q¨Èã3x‚ºöÎʪäF¹RWR,zï¢!e¸{¬³‡†ÉÔ-7¨ìÙToGˆÛj{ § çá±ÐKýÝ®¶uêf…Qý'ë¿·5¬1†Àm! lkÍ=qT©PÌž3?)i¨Õì–œšv6ÿøû럼"9(ˆÄÓYd;C¦ílòÉÂÖäF©‰ÃƒXqÒv‡¿|´ƒG>]|ìŸÈ÷ì1³Dµüa¬Ç;sa4(ÌÃc&©ºœf ‚ìÁÖ0àß Ái6`*¸@wÔ[ꥒÄR[*`ßSÜ݉4ðr÷׫±H®Dã~•Z£FUqP€í“Ã2Ñ„ÎÐ>[’e(K`ÛíØÞÃÜœX½ÜW°ñ®Ö‰=h;—‹ò‡&¥[¥Þ}j­G0 .?¸KeG?زlóñ•‹Ž4€ËbÔ'Oœ~õÚµO¾øè· 6Ê´ ·A޻Ⱥ¦CëGâ‡æ4³G¿B¨©ë¸}w"yò8¯iþdª›¼SöÃQq>âkG¦><3äqÞM¥=•×þs­^‡#„ÇzŒ…ÇÃÀ ÿG+ ‰úðD>»¬uy¹Þ=ÆûͱÜÚ½ÝufröϤöÎ×sTb7g_mOUÝün¹åµ”,p¿“Ï 1Œ…Ãyóß[@õ¡á”ÝÊ#ÄGÚìó€ZÄ&1ÈøRÑ¿NêyC|ÞÇ=t\øì sl†ßÓéÌK‡dbeÖD°FÑ û4*6ë™i>Ïj[>½nI¥Bfð¥ïœÕªÜyoLä¨kÛ½«Qj'ŽaYéèiêú!W«âq_ŸÄϨl=AtùLtôl•h 'ñÙÅmÏVé $ʬ¾–õ ¢ã‰9º ]¬ìA ¶¦ª¤¸0.>1mX†½½QØ\-ð õƦFÇ Iºœy¹j·ßYñ@ù€×*¿âȤaCº ¨MIt&^ÞYüU#%/ ¢Ãѧ›¿9ï=&Ïq'(Ì ’ °Öú{†@÷„Á©ßìP9 ÇæšúRëqã£Sv_9íP†6°G.æ±°äªÊ×Q鄎î¶@oK¬©·§OÉÕBd(>ÇË 5ÑØDk&$ƒiÍÖË ²ìI°ðœ]$²Á.C¼[óC 5Ý.Ö×ê5 š0î pg¨Þå%—F¤Bpë¹?¸ÞÃãÝ}è}÷á«?Ö¶”Ïû¤50¹ÿóÒçòϬþñÛÅ-Œ@†ïX0þ è_.võû¨ý"³Atàk­¶Œß¯ýˆ&cc»V¤6é´úë­z7‰ˆk2‰å­ÑÔÙ"Ù^ç–I¥Œ*96€êIvSËumNcê°ËCCCà^CGˆæ=/û¹Bç$CˆY\Û}D˘•À›é­ÛY¤¾Á­Ú ÝúkõÔ¯«f­©{å7ãÄ©>Sw°Ùpñ|ûqïÓ;Ÿ _7K0Œ‹×iÀÝçíýZ¬qóκGjü²‘üäL‹3Î;Â=U-ÙZkg¿£K(CC•Üð­o@tOöP7ùîJ0Œ›[êäõtúŽêÅOWn)T¶iÍ:­¡SÓñÕtgŸx<“„£5ûN¶¾²­å‡:üä‰ÞÙî¬úòFXgljQ‹Ôú2¡^m0TÔkõ ‡àF÷挦ªv^UwÍšùÖb}Ä †'ò¼3ê¯5¨Û4&‰XU¥%øÐŒ xZGÚ¨+5?î&2:z¶2¼Ù‰FÙ®Z=\cf£Y× ›«‰ /hW|ÐHEã5$ H¶¡b"â%B§/ˆ:¡µ£ié)ðQ´]&$ˆòmï"µ®·Nc$qÝÒ¤\ U*ÛÒ"ƒìX{ÇãqàölÝìS"•˜Je U`6öY€Ášü@²@74Õé[ÀG“Wûw³ü*íÀìG$¼ÃYBbÁ—{^Üyz^‹¿Ù4sú¬úú†£Çr¤R™ zlïÞGà¯P€o %{øi¿pT>(Úó¿ ‚¾}4ð߉Tªƒç¾¹«Çäõ©ìóC=ªïo–„|Á´„¤a†††Àý€Î3ÒãÙpýÖœî §on`&Õž,Ö„årê{PZæ²ëu†šëâµõÄ̘^r•ßµ™Ôê]‡Y]óè÷Õoî(Pš» `0œœ@.=×qDd„×µ3gEÛ•ôID>7XR kvþ¬Wé{ä0ö ÷w<•L3‰}Ô1èTѾõY@¦ù¼wŸÛ²’;ÏÝš R{±ƒˆT‚UFX°ÆKúŌlݬ.Ðd2Õd´-øÙïí3‡þæ±ß y€Á§·ŸPÂ×k¥%驈¤Z½fß¹ü!–(f7 6Òå-í Vp€º½S”—”5!ÓËËsçî½W¯ÙÜ ïoï:àx_±äX©l×ïó|î;cÞs©„ãšžÝÒøÆy•#ªK4iMz³YÖ.]½³aÉή®Ïgbœ¾|ÜßW&††À}†7HðæHJñ鎻Y‡2JêÚÿñcÝ«4NIQûº ö™(v“BÐâtFœ_$/¯:Ó* Þ7p#Fú™ÍzÈoI€4NœtyÜäà_Ÿ ûu‰ßD>uþÜÐuSØvZœA®ºÐM9˜Þ›ª Ùpþáœh½êBg?ž+ô†oqÑ댒öî××Õ.øÑò÷ÈÍÛ;ÍÑH# ( ¸>‹2<£îäó ¯SÂÝ Öéƒr ﵎¬ÚNQÕk Z*Y€2œáØlIkpifa\«Â®dtølÕyƒâq#ËÚS!±Š» ©Trêä10üŽËœiš¤K´kÃ'¹»¾ôå}<98>"H°ëj“]R;&;ˆœâÂŽ CaŽ.¶&øe³Ø†ÏVºŠ½`òIy¥Ç@ÏAfTXíΩ°Ht|u‡Íb<$:©³Î©¶Lç*Q,Šì,0…IhëlD&–ð Ï(`i¶Ë„Dd0l‘Æî,/ø™Kb+tV>g(¡’&;¯s_Ø4`Ù»@‰6·pƒÑ@êÍ2(½D ØBöµ$’õ@ÂNm}5‹ÅæmDØ ¥'ņj8A.d×Á꘷|ÆHXDÈ»xvøÐ‘€¬M$&Ä/˜ÿ0¤ª:|äXO¹íb4¬êîGànT€5“Ù|±^ŸA< OÁYnD 9%”bóüÂã,àŸÇ ü¹„¹_×hè”h/2˜€1¡Em&]¿ü‘Ia}100îðH&Àbi  %-û–ûž̈ ™1èž¼—2™­ùÂM-FÁÒÆÕóß L‘&M?±w¦@Cj9…-Xi.¨ÖÞTIv.!ŽJ%ðyôIcü?FÊ?ß]ô.:Íùܘ‘üQà´" ‰ÌbkζºjE+~¨]´®þ‰uõK·ˆN÷höh|>GÞeÿd0êr/Håa^oŒd…1 :9>Áûµ¡Ä¢üîkˆÅhÀ ßú­ê—8ÇÑ@uÄðî,"‡Uíòsq:ÓŸ‚ƒ×wðO†EY™Æì. 1 8*GºçÅÍO“Ép¹B5Ücº?‰K' ŽÌåjN6œ[ @«êåëès†Ð¸0C.s^©²L Ž·Åqø´#º”Ñá³U!’_%2çÅöÎAò"[¾½‰9ž.Vz×!PW[u1ÿ\pH˜½á׌qçíÙðYÝìE„u²ÞI#»iÚ /œ@¾‚¡xÚ¸G%8ƒÎÙjia½g®ì³ÒA§'ô D)ÄŽ¹  =èÌj¢¨¬¶9Jh8?Õ™c3´a !0jöñò‹ôNvÖØÜb³û ‰L’¶;¶EVk'jë†C„DëÔF«û4”Ðh4‰e €0`³Á¬D¹,³#°ZêáÜGkm©²*Àxü /íT¢-¢U§Ó°˜¨ãô `­¸ÄXON{­üJB\ "/˜Ù÷ƒù×î= âFÕŒ‘OòHá…‚‹k·)¸VoÕD¨Tê°ô¡ááa9's¯WV= `ÞÇbXå¾dU‹z~iôY>?t™FWÜ íì ñÒçÁ#¦ð‰­îâ%áÆf#Áƒ3o"/žƒ7A„U]××å:Çá ÷8˜(÷4ì0ŸÕ“Ñ÷”Å/4[w6oé&¦¦yhi}E ,J„¤¡î‰ ´eÌì•U£\ùKk®«`:G)Ï {ØÍ¬×™º{”޵n³ÐÿÎ@ÊÊö›Ë6‰:•?íêÎëîÊl¼|¦eUº×£Ó‚þI1wu(vçÊ`Ô¬´)‚F­ ˜ûò$…ʶ®·vëŒä¿ý˜7›`ê)n9ÔbÑ!A xÃ7÷½4š5ªÍG»žçýÕP^oìö|y\R¯Um>"~bœÇ'Ox™VÑEá·úŠR¹l¢ïºhCq~Û×íŒ[^ÜÂi2wV¶D,¸ˆåÖ%’ï8">ãœÚ1ì:ͶcâÅ™^ß$‚ úÂáª*‹øNV¸öâü¯ÎÁD¦+>[!»ò‡ºžÌô^•‚S€6g‰›t21‡ÄŠî NõÒ…<Ÿ–žÁáò¬SîîlÛþÓ‡³ÂÏ‹C RúY/ü<ÙÏìMNë5&&¦Æ]UÝpÒ+Ò©b ­„ÚyòòÞ£‡.`ž8bî–¼"7°ÓÛc)”N\ÞmñzlVÆÌMgÞf¦ 6À~è2ÜÉ…×ÏÕ”Ã*Õ¨Ô‰*¾vH aÀ-ÊzÐc=y¾ÐxpTâ†ãZÿX¬Ñ0gaèK&ðp†–Áù"³}&$.‡'•Iàj- °Ä ¤YÖ‰A´³B©ºl("h±ÎD¢XÆLíj-ª÷F¥š­žÏx7Û’&ý2(¨° Ú‚±õ:dÌ~ÜÇ_«ëª<žVó/d–V“„,ú ôWýÄWKõŒ¸ÑÉS‘r¹B¾iÛvÏ Ä]' ®–×,}tº¯ê”lX¾>Þy¿]hk&'%p8Ž£µïcxïÑp¿þúë„ ¬ò,üÙökì'$9—ÕíJþûzÝîQ°ö·‚Î. Ò­´ÇÚÜ6ò¬Y¾‘EÍŸÔ¹²d?»˜˜èååuÛãcþ& ×ѱ#&Lœþ¥Ö)€á·$ÿ¨SÏfÒ9î‰Är^PÚä¹–äF°54Ô¾óÍÓ~#ÍàìL½Ö¨®ç¼·lB-“ËÞ\ù4m°È“u©/’~¸d+Bï,“KŸÿh^ÐX§væúéçÏì>*­MÔòÌÇS&;¾;ëÕ¦¿1"~"´„„ÃËßœ<Îñ`ÓÙÇËv!ªr]cõë?> ¤Ó?½z–L²ø*ç_>O&’“-éš~»š³%ÿ=²Êû‹w âlÛµyxúÈ¿ øºnßgWzBø1ìw5«g%?—=¢««5ªÙÏ ‹Ÿ„Æ!«j8_¿º éþã–¯"#¢F_EíÂÊêòÑ–…Ïí{¶<999N/ˆ»jÒØd00000î28šÁžŒm8)˜nîÑ:Vþ¤ƒbÃþ€srJZ~ÞYûcËÙÉg˜ š3í{ X5¥y¢Ö¤cPPhfòì¶rWî(`PÕR:r ö!],‘Àé³[Ë]h¹ûRÁÜ×מ“6h|G½ÓÈaÈfTtý<ÒØ­Â<’Õ2Ç4ùT¡¼Í`Q¸Qþ‰ª.Çn‚àÝ,ªEƸ{ª¥0 ‹ºš‘OW§¥}†lIj¹Q¦„,ÞèÈÃÃS£Ac˜=¸¾Z¥I¯¶ü4& DF€8a£Þ¤W¡x7Û =hæ$jÒ,k °5»2Â}ÿYQUæç`õú:q½Ó…ö €t·j³’XµßêÚª]GN[´_ØÌf:ƒEçî9Yô¿Õ›;»Ñè_0Å''%Nœ}© pÕw?XOÜ}ïý$ ¦ßOg“CCCCÀ%$Ê”‘\~»¢ÆqŸË¾X¥+pL6ÉŒÃIiiüx•üD¶Æà ¯{´.(8”B¡TW]·ÎÒÜ'›D7§òãSïÝ€ôýaʤ‡Üu‘Š.Ç:'ÒŒãM=]²ÏJ•¨Çàó¬îK¬ªµBª÷@¨U– þŒ³Þ’\̲A³Þ )·6m!üZ­–ÍBÒ â †J2ÙiþddÌûéS*“64Ö ŽéÕ]!½¹\œWvâÉ]ȨS)j/Äš™ö×?þžnßÀø6õ˜Þù|ý¾cçŒÀ§ß»ùøx¿ôÂ?ÃÃBÿûñgUU(¸‹caUw˜|Wl2&&SkMçû§äbL;»³0ãðQq^ï/Ù²$`WµúxO½+ÕæÎí/E )yhyÙUp‡FŽ—;ºYx˜Ë¦)ŵW.ŸAz¹»óg_ÔRâÊ †;-¥ó䥽h?3m† »1˜[U„öŠsH{p'ŽõÉpf­¥2‰MÝåb ªKÓQçØ\l –^·ÒY% N•w ª2@D®Qo6hÍ`­%àpÍmhT=(ù‘ñÀƒ%ìD-Àî<¸§™›¯G ¨¸Ð]*Gi±|Ï.‰%ÌÐh4àq$e§NÖ®“´kå]:Hi{¡èÌùË'ò.ŸÏð®F5ü‰ëÕ2‰ Oå.¸š/î¶´6´µ7µ¶54µÖ!«­æR€Áñ;$8ÜšöéHÞV=£ \ \ü<:TM|FAÃÑçæ´uX¼Îðf3Î$q|vç\þjí6‰ÌvÝNÌ?oÞC߬^S^a[rqD¬ê.AÀi(Å]2?lw £¾ ÓÌîœ¶ÌÆÂó-…¨KéŸ0>6ä]ƒ‹Í—Ppé¨1™Z&7·ñSlü¶B¡ÖY8ŸoÞœ¼;¢‡¤R¨F¢ÔÔ±Gv4^vrš •ãM9Y´'sèLDE•>þØo»Õ2±³H`Žåtáþáqj˜Û¸ÓÖž¸ηñuÙÏÏÐ\©ÎÏL… -û²£µŠ ÓÁ‹1ƒCªo»Ž÷zyúâµ,ƒب,ôÌ–ÔÜ–OËRØÑb=D\LJùé3b!Ró¡É@×Ü-ƒ&ŒÓRT*Õå+ç=Ý}”jÅ…ÂsBQóù¢#¾^]=a‚$_¯@*•FŽ$sXîÙˆ`¡êÓž–4Ž@C/U4‰HVªdÚÄh6åäQYUC9‡ß“³ üŸá@'/ìcǃÉ`„D;—§À‡Çv·ºIÛcrïîËdÒ¦–Æé“g#"ÅM«Ž³C]]²N]´ #1jÒÔ·î9è<Ì€˜‡_ȵš¦/~Øúî+h@;4nmm›ÿðÜšÚ:±¸+%%‰Nsz=;+ÿëpð;ÿë'CCCCCCCCàž@ 4,R$V^/‹Ž‰… ½sÖ¬¥»×~0$ʇHpêZH£TO^î¾q“çC/ …:gòâÏ6•²¼ÎÌt`–PÚ!²7{ø<èâÎãK¶ÿê·aC³ï‚b\UWÐ$ª ô‡öéI[{³ceà‚.©D`ÐNG$džnÙàåàŘÊ"^©º6xŒ ~ȱ!é"Q>E°ª¾6“[sG%·7 ¯—À[Ú®©¬«(­,V¨dbѵÚüo6(ýBØL^bÔðQé}Ãè4•LËHO¥ Š“¨³µ¡¹&=it¿‹ŽÊóÄÑ3^$P>iô $™pIÙ%pÀ ІqꛫSãF¬ßñmö˜Ù…×~Sª•×k®ž8 Ð74÷9Ù u–\)+K&¡ïþ³?ø "Ù© ¶tƒ˜ùÄâWy!wÔú_6“9áªSrrhi62ñ‚§lÚ/~¡ïðáéà…~ñRAΉ“£GŽär_Ÿ÷(¶÷å´üÎïK91¡00000000îñ‰É¹'Žùøø!ùB#ã2¦5\;âçîb|?vÙåñ)£ùž–¬B‘‘ƒ†Ee_¬Üîç ±2ׇz¢`÷˜äiˆ8sd6¤GÒ©$À8åð@<êÙâÃe?µ4*}hÌØ‚êÞ´:‡X_~U¦ìa3,&âQivå­öB[Zò°Qµ×´K áêšm®C26äæzÕ[ŸívÀ¬Uº:•v~m0˜DíÍ"9>rØØÔl" ô aÉV*Z•–0h(›é QhãÖqõ¢  ³òàYÒ&E…îÙ¬ázQ¢YÞ£×ÈõÐë'ŠŠÍšïãéçÁ÷–É%ç.åLmq±¸¾Š³¤*w°Žj îW-Ut)´h¸5ƒÌ†œÌ} lCç3‘`ƒ¾ vcp“†¯r…4"8¦µ½ LÍ*”aǾ7‹®\+Šg]\Ø}j-Ù(µ*À*™ ŸØ›ºùÏÛwù‡ÜDïPʺ£øÙ™¨Ë4}úÅšòzß+`J&š ˜±&e?}æ¸C§§¥Þ›p>³vê©2PúË…( üÀ*%e/ÓÀª00000000î^^>~¾þ¥WK!²wÒìe-]@Zì*ÿ3ŸKïh¼zýÚ%¤—‡§×üÉO·\q•߈çM=vi»•Þ9kôT£˜ü½Î*5¡óbÙ)¤Öß7(!xœ3*,—t©m Úøøá3:šÔz ä²ZÙþ4&™PÝPcÖ7UWÖ_ÓÊÍ=ÕÄ@RÚìô§ßyòûÝß^øþýÿzòÃG¦-‰‹IíZ²Y\…Ê)ËXe«›ÊD’†jQQqÃÉSe¿6wU"sæª?~rà‰÷ö<üï_²¯³Jºÿò÷ï웹çÒ*kùÕÆ³Ö} 2F4^S0¨Á·¼ÙÁ IDATpbqÌÂ,[¥RÜ71À¢¡\! A³øV6^-i:Í8Õ~(E3~ñ´WOuøúëî2=‹Îr张תÍJñ“Ï%õ¥“=p8§¢Q;|Ëþ3?ï<ªR£©Ølöä쉼êØñR©Ôz^°» ÛP€ïªyc“ÁÀÀÀÀÀÀÀøˆ4¤½]Þ§È‚£âÓ'6µß„:ØÏ=÷Ðf­F…ôÊ‘LI–¦&#Ññj’ðLáA¤=&O1¯µÂ©ÎÌó¥ä]9l…%sØ”¶*™C”h\RµðŠ5ÓÒÐøŒÎ:5¢÷êzÕ`䨘U݆«?ÿáíK%ç ÂvÖ¤ù«ÞÞñƳŸÍüx\t …LEøÀú…Ãâ‚ÝUkP %u¥Íy'J7Ã>Ò†L!¯Îyùë3K~.yõ@Ý'9µ?Ö¯ U ¾vËÛ™1=üX? ¶hëÆaüb8ðçÌÀ»Y"ÑÍl³›LFÄÚd2%²Åº7ºòƒmÔ`ð W©•½¯mÞ;{%W ãR¬øï=½Î#Ø Uw³zhøÄpÿÁˆˆõu;Bÿ:—º½¹vþ¬,Oª$WTV½vk@T‘Dô ‰>UXýþ—ë;»Ð+lÑà Öàã9¹` v>*Vó·!Ðßúo›v`        {*–’šþÛùÓ“&O'õò 3½®òªDÖ yœÉdѤ®®‚ߎgásoê™}³ã?L¾ ì·{Ad/G'O¥,þÕ`>œ÷«^eÝx`{®©*®o« ñ‚Ú´ä‘›öû4J"õ²¶„ìB|¯åÏM‡S–Ö¤¶0Nú{1Âtj140茊n½\¬c°jÄ¡)‘!ƒýB‰½¡¶DI®ð8l†£j‘YáIæv,22¤d žÂ *ºt!‚¸0oK¢Z6ƒ‹7ã|¢ØHKeæƒìƒ.Ç£y›zµ´V‡®ÀW:™e6YÈŸaæƒ ißû‰ö…= ŒFl›` R(­NCëU€€cÈ!äHahHð?ž^~êô¹mÛw:›Vþ· €)À ìØA1000000îâ’Å⎖æ&D/ß äŒéMBWŽÐ2‘KÕ<¸é.£S'ÍS×1À¨ë w_ ƒÞež0jª¦î¬=“G¼ÞR P¡˜SÆÍm)“÷é½fÚdñmÖ˜¡„H!T4×·T9½ûÓïÞlÕMHŸûÓû‡×|°kÁ̧Àê îͧäíéwéú‰mùÿûüЊ·öOÛTüÊeÅ1û2-²“Î&‹$(|®—¢ËЧ»Q™¥uƆaÙ$K¨0²á ¸.¹Èú•Naà á+°\Œ:k9ÄD÷Ínx$a²ùIƒ«3 ÎÏ ükt0nˆ @‘µ`Ghë°÷èNCSƒÎðôðBæ_R•×,¿Jg;un•Câ_ „ó º@âßmûù†¸²ÍBµª»õÅ'Ðièepêl^NþU¿AA#’Htž×žS…o}úƒ\‰Úí9Î+/=§R©¿ZµZ.Wì…•ü-` ðß;vP       ûácŠ‹.©ÕèKJÆD:?¬KbóÝ(§·€U[ö[kc5R61ýá¶r§¬Q`–ášÏ—AÚ{yxOJŸÛVå¸=T5¤Îß®æ =^Ãc²¥BEî3ÿ‚ >ÉÕÊÆÚæœs¹l÷ç—¾ùòò·ƒüB½=üÆôv)„=JTG…tDZƒ¶B~œ" Šãz3™\P0‰fŽD#¶u×!Çås=uJ‹Ç2²ƒ·µ Æç³ü¬U$ N¥µ´Y ®AÝkBÇÝÀMéÍoøý’ˆè>|EòYGCvÀ, f^­VM&S55$^ë¥Áhb€YÌ{>WíµÒ’ä„¡¨°zÍž³ëANï!ñ¯^Ì|tâ³H{ džĿfªŸëÄ¿baÔÌôÐ ¤W[›pÓ¶½!Ѩ/t?Àá+Oðô ÉŒïüïG•˜¨ÑíñE ” Õî=û0Z¬ ý-%˜ü·ÀŽCCCCCCCà>A€Ãá†GD¢ÜÎÀ0,-6vPΉS==®œ#Î+¼ã` ð‡CCCà÷" ?ÿÒ`:dã°Û¸£V–[^ôy_=–,àòã'ÿç@sŸSœYQ¾é©Q‘Þîžai½¼ÍÑ»ãMÛHsŸŽöN!b®1Ë >”ô±#”GP{'C$3ø¡£ŸÛ^g[Òþ½B:êçL:‹à—7¼4sø0¿èÇ:¤Ó4Éʶ¾2%.€V¥«Î‹tL-?OÈ^ßxCº³pëôèé[…6ÎGº3efUó¹ïŸÄ"yÎÚÙá|Ì›Ëè¼ï«± Ù¢?6$ÖûE¡uZm}] "?ï•<|rC[ 8 c°¦§¡(ÿÒô™iãk.rlÔ…6 Þ€’s¡mï!ðœ:«­ú†ökÐZ’A’Ý:ѵëõ(µrLD¬7=B\§l.•’¥þóF?·õóÓï¼ðUæð)÷‚9ý}‚Kk.Ÿ¯Ü³6÷w÷ÍÜ[õQé1DÇ­l¿¿Èl‡D¤J…î‡$¾¾Ý’0 Ù‚¼£¥}×$ ÞÞÏÙƒë£SÛîØjƒªšIãz³Iáñ`ìµÝÁ}ôZdjµQƒlï§ ¹ŽCƒ¹v4Z5…L±0c‘È`ø…–Œ‡qïå ¼»Ë¯—&Ä¥ B€b¿ÿÜF¾ŸSó/$þuw Ÿ>i¯R)×ý²Õuâ_FEÐI^X±ßg„ß½ïpK·žça³Û;„P)—x±ð+ßyÑê5]V^ÊsÆðaÉI Éɉ¹§ÏH$Xz$‡àýu…÷öà¯Ã ;†††À_€kħ%RxR¦V«»/8ÌgPvfÅMSþÝÂE›9/î)®,Ùÿzä™Ì|íŒT8mõO &ý_ãÄ•Ç Û°˜¶mÑÔ×ÏôôSín¥M6CëîçûžûæÖ'zZ(Séñÿ9Û©Tô4—x;êÌë¯îiuœ}ó ãL:¯îçEò?¨ˆ|jÕÁ‹ç¿Íâ 8ŒYQòÅœ¬—òÃ_Ý]TßT~ê»9²•ÓÆ<³§ÍÙ4qSÖ[3ÅãÇÂÃÚ›7N‰˜¼¡ÉÙ€.úš$[('¿ùÂ0Ά7—ÑÅn¿êˆsûÃz/\äèJ ƒ±W¡”Ѩ `À©A n‡²ß+…Uµ•°üÁf¡–Øœ‹»Õd¡CJpD¢ŽZÕãS_B(Ä¡dǾÝ2=Ûuâ_QsÍ£³²øîèERX|eöÃ!ƒR]C¤Óª rÑ’ùS¸Ò²¾¡éбS©©Éè%!ÁA™cG;žS_ßàz(¬öOEÀi¤øŸzÔ;88,«\+-u6àØØÁƒbœÕbåw8`Ñè›’¼`Û¶æ„gç ¢¹).lÚ$œøÉ¶GáaðÈÇ?4N|lóEÉè´â¯¿ªýåÙצzÃræÓ«×µydåÁç2 o@0–$ïæmúiV•­Yñ¯â «Ž/‰ê#~Á“¨@)J§F ŸùÈð•oV‰´n~w–ª›ž F`¥VƤZÔ*A€¦ÂÆ•­3)A7F¸šÉ$ŠA‡*Àú] ‹L½Áï”^«E”a2Ù ±¾À€;`ïÕ¡9,žB%‡‘Ujƒªgýf~O|U(åuõÕ™c&!³…4ιŻ¹A¸ÊøwÌ 9C¯MÍ[öKCYŠ,n«Ÿ2&edzR+‘J¿ýqsX\ºÃÆÖBpæÖW¼°ì¡ ”Ä:þwåê-¿ýè3Ï¡Ó,§†ËåΜ1m÷Þý ¥rH¬ÍCÞõàXíEàž·ÇDGiµº¼ü ÿ”*UtTäïÀK'Ìýïì„@ð4L^øÓu›Y]¿ç•ñ1þ¯àÔ…ß^÷Þ¯Œëg$O~bNŠ?—;äùÓ2hV½õ™Œ0oÏ ¡K×—ÊRþŽ9a]000L§Ü«·bZ¼7Õr‰Eï[²¤$FºÕ” %õy†´‡Gz¡·rfìôɂʥ6G:77õ-´A¡5vûÏc_à_ùå“I½Æ_Ûf6j$ g7¬>…KÉuêeö{Ïé´ÆÖ“¿<õŸδ_ðnÊÝ[îóв1½Ú/²ÑbZ’&?±çJ/ Š‚ÿNŽòqw÷‰ÿÊž:µÙÍÎÚñMû†GÀª]Ž‹_v¬þøòp™›þ~±ÚØSøýÃ"|}}CÒžÚÞèÈçüÖ‘¸áY33uú“ó‡ó91³?Þ»û“éaž<¯!ó×\•÷šû>¤f¥ÏùÇ¢1Q>\¶ fÎWuÙçýÄÞÚú]ÿÊŠ±´‰È~ïŒ]®eT—®YnñÂÇ pm`—›”h¯¿øéãƒ?Ê­µ^ÝÿѬŠªä‹…/]s¹YT{ìyüªGŸÚоòè:šÙ_Ÿ½^~øßÉ Ååÿ.|¿kñ¾ª¶†ãOÉþ÷Ì7WÞ½o2¬CCàGÀÐxð‡SôYËÇöjv̘ ɪ}ßl»&3º™uÝ•çÏVKÕ ¦»UÉ ñ¦[½y)^¡Fq‡ÂÎ[Ww mzÑÖÕl|úÇ?ûþÉA¶-´øý¡,KpØØ yöé4Î-ûßêIt"QY_Ôd2_~7;><À706sÅ7çÛû©›Qµˆ’tƒIšÀ‹ŒóTÔ7÷¾ZR#~¾VÔ|iÍØ’f¾vÚâ8ŽnoÚý󦾞{姉!Y?Ö¨u’ ÿ—ˆ+]óüg]Oì¯lmk¾ºã¹$ö{ŒÞ‚Œ0[­°Ö¹ò|}ý‘%=+ŸþV½hkIõucÊ>y{¿Å#ÝùCJÓVcóþ¡Ò–š½¶õÖ.QÔË7ŠcYÍ0¼Æ¿µÚxB¹þƒµzk‰^Ï|{ °±£éì»A‡_zõ@;-=ÿóßíZºïJE镼õ |Àçjb·zm`íîAââk«+årt!.1-3$vdk‡Ó G"ïÅ%–UÖ©¢Jü´ö72;ÀÜa¨.º~)#ðìq‹…UJ„ÞY%Ñ‹ªä©ÿÃ#ŸÝò¿ÿzò0ùZßC"¯×])oÉ_{êÍÏëXoð«õå¸û2¸vˆFÆ DT:ÐvÀ~+TV؇Ë;l UÖ9R„fq5ò–´ ›L¢â­¿|¾5‚7'÷Lay³À7Ä:¦Ãîöæ”ÁA³&CjAm^»qkk·Ñ3 –+Ü=ýÄjü{_¬u §˜N§gOÊjŠ.^ºìp@¬ðOEà=¹ÿÌ©=½by¿¿”äþZ.rü:ðï×~-Ö‚µ:²ßyer8—Jåúð)òKkéžðêÓ£|¨DfÔ#o=R°á`òF =)=ÔÛ7À—¥,Ü|7÷•ù±l=júcq9g,þ™˜acc`Ü/hÊ·­½ºdI ò–BðžöéKuŸòb³Ù¼ ¯í­RÓx ™Fr3šl*Ùd4¹ÈD»[;þÚô¢Ft‹ò^8r©Ýö²ÅôÄÿ»$7uªž¦¼=šýȪ²;½¶çD:¢AÙ£P«ÈCŸÿþ`Þ…£_ÎP®yìñ5^7oLÒ+‹¥E…Èöð “cÿñútsζB«y\æè¦=ðÐOßÇ3ÜÙºÚs¹—än¬ÀAá¼Û_fµ¿HoQFj`Æ„T¶û ±£Bé!,ºÿð)ITa ¼~Ë\=¤‚Fgg„ó™žñcR¹]µŽ^ÖÝ`ð‰ÐfÈè4÷®*‘æ&2’úÉD_²i×ˬm'Ff½º§®—¨æ÷o· £ýà8"™àf6<‘B‚X°ßÊC G AŽR»Ås†ÑaD³ù&2šd¥??;.!.!yļ/K”à‹éf”µ6+éìyEnibæÝó³9ÜÊ ” ™ÉâfN{¼®É•#t°Ÿû™#[µô·Q€&Dž3kæ‹þÏç>¤Il>Q\Õ‚FaXJ)î>´îêV%rÇÑw54k8þî~nd6ß3ùÕ“í°‰DÝ¢³¯%ÜñP¹?ûzÀÆÇÀ¸ 0‰Nþx@Ÿµ"; ?O!žD£‘´UÛ>Ýiœ0?…C5†wu×Y!âEg–•ì=¡ˆÏе§xº•6}2“C[õÝì–÷¼~ êpƒ(»Þ´?aë'=8ÁK\XуüüÌ5ÎÞ$K 73F¸ã§Ó¶9i*w®»ÀÌœ™ÐéJ-¬éÄó¸Ô¾çžÃ›öÀG’lŽÝ'1I²dõÙšú3où|î›êþPð-ÈxS¤oñ!…ŽÓ›;ÅN‡Ã»’®Wü·kÉž‚’’âãYÎé!p–5ݰq«OO‡3À ïuÀÜØX'éA•½¨ØÔAC'5 QEt tt*‰h\<‹šÂ@‹{dÚÒî œAgùm£•5¾v 3CÙ}lÃõÚÒŸ~ýòìÅcKæýsúøG†D'C Vëà2uש²_¿8¼âÃ] µT›M2¶½úÆ+µ·„S;š:+‘îA¾8…ƒ@Yné®±Â|£–U–tG*ÔÌ _½V"hˆîQÚR¢ Ø^ª>ý‡w³ÆÛ³±×Õ6SŸ; ì[ò÷Ýëðà3Ý»Aº#«öwhЄáeB^!bY~õ½åvVb°#}ï­Ï+eÅCÇ#ä^0ócù;\9‘ìX—éiÕŽ‰›mMü[P\p¾ðº‡¯Sn ­JÁÀi–-˜…ä=¸~Úð‹ÄH…·{(í³VÚöïg¤²X IDAT·òEƒÑøÛµ¿„ǧ“©x¹Èpeóƒ¾Z·ëH.êïìÐ=úHtDä†M[ÄÝèïÅűª;‚€ã‹æŽ ý×:ð˜Q#ÿ`r3NÊ£“‰{_{gçu‰Þ¤•ö( ì”E³XÇÿ÷}^»Ö ¬ÞùÁ× iK§ 3ä$ϯ\÷ƪ³-J£Q+6‹œD¯üõÀ`GÄÀ¸—Ð×íûñgîÒ‘ü¼o ÊîŽÖë§~øç¤ o¶ÌøäßðC_þrÊå-ûøÐ•Úë§W?½üîSÿžè‰3t9”{¥Ãò²ã¬CHðYÿÝú–ÿî§þùK=êçöì2’–ÂÍÿya>ûá„?!zÌ‘t¤ É‹b.¾öü7§kÚ;êέy퓪äÇ'Þ°*@Ž\øî2÷=Ëf¿²­¸¥[Ò^•ûÕÒ‡>lžøþk£‘ìiKsܼ[N¯þh¯[Ö‚44©…››Ã›öÀG€žÎwǵ]­éÑi”*½¶ýJþ¥òf‰žâåAÐhô.LÀf£ÀS©µà£ÿGËâýÙ¹ž)»Â[|H¡=nÇáäu.e4*z”f"¢u=eG^•õÁ:¬fûßÿÖX·Õ5H-6±Û›ØÍÄÄêï- fBbê…üó ‰Ì|Ô„9*7–BéÀgiàëɾzéDOW;ò5*:6="»³~u«/¤ꥹBþL:¥±¤ìÒ±3{&Œœ¾lþ‹ ú‚Ãsu}9ÒW$iØ~áó•Ç–žïXG “xÚ¢š\¤ŠÏõL ™ìн™) _ª:Ž4c2ØQÞiÒW Ü6Ë®Y5ÕA¡IÀÕnÝ]r!2Tˆo´Z†‚1Àö©€}Aj º†F â¬áÁ %Yc€uz›!ÚB|Õ÷£%PSL¯ ´ÍŒ<ê!|Ö+¸ Ì¿ ƒ_:Äß[×2ÛöNQKKCxªÁ¶u6(ØEeáò°O …4ÖÈ îæðÉ#æ£_5š7m ³Ðw;Ü`Q@ÖÑ´bálkú¢Óç~;~®$ Ü•¿´…ö¹±rÁ¬,{Úç>ÿŽãCg9ˆ!Gs3Ó¸þÛœÎÍ+´NfbÖøÈÈð¯¾Z%lw‘2ÞáܱÂ߃À}¥ÿôÁñF¿»õÓ¡%¯ñœõÒÎ-kèë[>||i’¿wXÖ—æþúÝ#ì2§á>æÝ-ïí_šâÏ÷ KöÊö:§7ùGÅ 000PT×¶®/^öxâyµÕkç M›öâæŽ‘+Oú|"B{Lðóý¡#r_ÎJH[´‰øìÎíÿ®'úÖÃï<ñÒ¯u½:¬“6NÇÑ­øáë±%ÿ^üÙ%‹n£ºòñ(È™ÁNyøé‚Í{ßqçi° Ÿ±#éˆóÚùªûgF„…¦-ÛÍ}é×5ó‚úYÅqœï9ùYjùûÓâ¼CG<µ—¾bûéïçø!íÈ,ó¹ÿŒ öðMX¼×ÿÿ¶|4žo}ì9¼i;x¸ñ†/Ÿ/Ø5+Ä/aѦZeëÑŽŽòäyš·;ì­¯Gð²!+Þ;/ˆÁ`G,=Zsèñ0&Ã#ãÃbÕgçVdtrª¬Å·öêk~ƒ8¢y,­ô.ed¥¿ôvVýk©þÁiOçÐbz_¼ñÙ+w¾ã·û±!!)sß;!ì}Ý¿½‰YåÁvî||ýøAéÕbDƒ5õágš:Õz½ã¤Ú2QÀ4Ÿ>ò+Ò´µ‡g>¡¬¥«%Æ^½ ¿MXÑ¥k.“P¿|}ësO¼äŠ´ÔÔV_ßQ¶áÌÛkÎ>[cÌ 2C”/‘HàúPÎVìµÂ:!mN{§__xAW m:ÉÐÁcÅ Ž›Õ Qº,_Ï@…ØÁÏx°:$ÍÈÀ ™+û2ƒ–«ÐÙ\ÁÝ9ž ª¡òqà̌샌ÞȾÎdóŒ%Az$„ËdÆ÷±@ƒ­’FEÕ`øEòÍBn$°ý"œX ñÂ>¬Õ©Ë Å=´sàø%ø”œ.k˜öS[qt\à`ùÔÙ»Š»‰jT ²Ÿ³&þÝshŸDCq‘ø·[Ô4%3-6&¤££sýæ]ÀÞì±°á¡ì‘cF ®Îà2 ´Ïª‡k£1ŒI$“àô–WÕÙ/àó!eýº …×3Ájoܯ¿þ:aÊô ÝÝQž´'3°R ,w]òWör=¬CCCCCÒ Í»uþ©}ó}úñ[aØÜ!´å+'̼ôJþ¯Óù.FÜ´iSbb"°f¸hƒUÝëhÔêӧާ¤x ~¤¹‡·Ö—…ˆ_g¢]©l›³ô­ 04?jΉ?ÏÒü̉¾§]Ì‹]<÷¹A ãÝŽçíÙ[öyP›ÁëâÛrMöÔ¨oB¼,ÂKðÛß/e§vÑYýÃL Ùsã~ôã‡A3¹Búϯ³’gûô›ª¬C;˜Ö` ÈÂRž““ƒY€B„•````Ü·è¥í23N´ß?ë› ×Ú©Þ\¦ñ?ëÐø¸ m^Ì?o¥žºРÒhIÉi/œ‡ü´È|2ÆÏ2‘½$ §^¸Þ¼Ã»Öƒs)Ò~ø°±!´äîf $7¢©_}ì‹ÏÞØÏµ_hŸ‘4©÷ƒ7Ý~WPÅõ£æ^ÝŽŒ qÂã’fw58°³±<)…5'f(›’5Ð šÆ"‚Ù ïàTY{—?HKÛ!mAÚÀTùÑÖX_p¢îQ n®<¶‡VÕg&ᬠ– £€*Þ†ÞœbèPÊk´Ü» Ì>0Âülic6#/úÀze±ëõ@û¬Ò¨€6Y«ÓÒ(t°ß‹ XÛöl?j*9úûO;›Çæð£EU µL‡[¼z]åU=|ßšøV¾üî»Àˆ4+†ýv ˆ¯“<»äDû…Ú½ŽÖ ®µ_èÌ,üò…³­£í9p$÷bÅ­h¿í͵Ñ~ìž\`Õ~KË*šššÁ šÃáLž”•˜÷Óë%R,èΤÀÊoL¾]İö÷,ʫ߽òU[êœdk(ð=+Ê]6qCOCm›LoT7ìÿ­\ŸÇ'ÿ ¡âw™ÌwÕtŒCþog!´¦¦ªª²âî™›§—·¯_ÀÕ’"dJ@M<ã±¶‰õZM¯Cª€iN§7’ÉD¤õÒy4b‰“bÓðmœ§f¾óÙkëÓGõò¸¡[}çµïs^=]†j¶@ËþÅp¸ëËçñؼ`gçØÕ%oÿþ© ?Ù=ö]GäwíÐÈ~s2ÙlĮ̂YqsëÀ \^ò»Îඃù‰º:»:;ZÇè…í=Òñ ´U£3htƒZÝ —M˺|B.hh¬úâ‹·¸,öý+÷²÷¥ŒJ=AC ¾_^yñËì§û™e™UÇ1:”`1 Àòh¥¹1ªqÅe[E{.·™¢Îúæ¶¾Z¤¡¯[ðÀ$‘gØFàFjv´q•C.ì‰8âö©[±˜^;/Uÿ¨¥—hÞ#EÃŽÈ\ÃC«FóÃGƒkP›˜[Œ~clðˆ"=Äý"DÞƒ–é¼» 0Ø{ù+¨¦Ñi@ ìÀ4*CZÇ´?Y puCÙÊ”JØ_8’b¿÷oSBh*Š´`þïtw˳C"Õä ùW?î½Mâ_±¨%af Ä+‘J?Ùñ‡ÿíØ/XŒáÍ“®ÅdŸkêê¿úþ°û´ÛµBæžÏ–´¡'¶ŽY›¡ížÇܼŽÃAÓ´µµgf_{ôáé4Zn^¾V;E„¹ øÇ_€N€hx?'d—ù,õgã¿}wûðYç½{±´±³·§­ìì›).TÜÅünC|»þöîþ¦¢¬ÄËÛ¬£`2MH^ÐÕÕ‰]o×òwÙÉNgÆÌ.¼ wó¨¥42n‰åÔ/5òOHO ¤×H}µð ò@æ*™ø½w^È¿vuùÒÍIóV„EΪ©,Q*äP¿WÖöᙇ¿ÌyJÊ)…(P¦%ÅÀçVŸG– ³bý—ˆ¦Ò¸bY“rkÏbZIs#–÷LU#$—6e#½OqNR˜’—T×YŒÔ³³M$æáŒ!:h¡ê•¡œ_híκÈ.2Í#º ÔlMsBÊ3«ucš[,:G«2rãño°oÃ6<æmLG@¿pà:nL•4’òœŸƒ#÷H6` hAÓ¨t•J±IÞûo@Ù¢—­-ùÈT;àÀ¦Ífr7,}äË×N:Ó§ƒ4š¡—¾uÙsØã€GˆB mjo•BÊ¡ ­]–ŒôÎÒŸîøFmÁaro)^`Ði»š«ï[5ßÓ =j½}}ïúÓÖû6²ÏHÿà5Í"jÿóÂ6}:ØÒÒ¶ÿà‰§·=èå‰ ¹utvå߸9/)ÏçA<°™¹YNnþŒ3ÄoþŒG Ÿ3ŽŽŽŽŽŽŽ€cGöñB0ý^ËÎT*Þ¿D'vV|[ksqÑÍ{#++k'gׂ›¨w1‘HZºáÉ.ÉdEö;ò2R_ Áí`sg?™)œ¿`õêµ mΫ,6ÇÅÝ»²ºàlÑ×»2Ÿ5Úíý8T&yxÄzʵ¥fWÇRÍ ]`ÑÇŸlßc ETÓ:c;ÛyX›y©&‘[—TÕyÃ-Ü7NÜlêáLgOöv žL/褾¥ KwÆaÙX–`;k7lªjý˜UœIãFä²Á»<Û‘~ ÖIù¤sog,0b†„ÀÐD«Ó VkTt:þ‚þ³J£üs%®o©ô E–'ÈÞ¬w>¿ò$œrÍXÊ\ ~ùéOžXõºkZU šÉ¹¾±îàÉ‹àü¬×iG嵱à TÖ =¹u-FGS¯¤ß¬h±u´ÆjŽÓ'jY»(.6r:R²Ïo¼÷é Ãî'eŸAg‹n¦xõùG°á:»Dßýxð¡6…(·omk?s.ò¹r¹Æ,ÍÆlíÃfãóZO9%¼ð—!€à_†Þ GGGGGGGàFàÐþÝÃàü”¥ÓCœœ²2®H¥˜pà¤ù)2©¤¨pŒËý±s¢ÉZš›iXZ £VÕ·õðÞê«3ˆ%ªâêö¨Eû¿÷£b'csvu÷Î*8•Ûví¦£³Qê‹ìçá!n~ÍEä#¼HŸ½MSD³m(™Ç‘j@-’f¬îk3Õ¯ž,R×tö7"Õ¼\¦ð”¦Yôª›0¿k·Pi—i?:ë¬Ä|:j3¤0ˆ˜ !°´Ã,Ìýj4u0”3h,m…7ãBž10Ì€ùc¤WgÐb1ÀƼGDp'xµ-1xnÏ ‹d¼åɤ?@]ck­gè!+Ï«9/%4[{)–úĹ¢¯á¬ÁŽfbìÂ>ýªB%ýh×{5õÕ?8`%p×ÑE^zíðêmM€Ê¦$D»» ±Á¢îîœvö¾]Þ£¾Î¦˜`e Qm}þdûW"áörY0–RÖO”ûÅ’ ûýlçw›7¬²·G¥ÎÚÚ;.¦¦­XšÂãíÏÐùÅÔËL&cVltuMmIiùرÇßÝ ‡¢`îhÜß³ÕÍô©ÞͯŒ#€#€#€#€#€#€#ð§CàÀÞošê«—­XƒÌBmýü¯^¹Øßo”z"‘ÈQ1qj•ªàFÞ=²´ˆ¨Ø²ÒBµUŸ ‹Jtô‰õ)€úÊÕºÚæÕûÅ×w,[»…Î0S%’HË“•Öè1wßñ‹b )镇0#ðÜK´hPåøjt©UV"–£<3Ø{æpïþ±l>¹¬9ihÍø£&ŠÍ©, Ø^à IŒL@&Q-ºš‘BpcväûÈGt°ÀÕY¢îÆ*[±ZŨ—h®7 D¼£!·-Tl§ƒ5<J ŽÐ$"é˜0^ä=x>S€å Ë5ºF›› ‰#™Ÿà $žR=›Ì=õf[ÓPîëˆÌ nFÕQK{*œ>᮸)9ôùÅgzÆÂÝÁ~IòÊÕ‹×ìøþ“Ìk7¨¦A§Á^ ˜‚¥ýÝn6)I³Ðž5šÿ¼ó)CèIeLqÎ u$b‘­%yóšE„ÑGŽŸ¹^Þê8:½[A§VÊHºñìW,îßñå÷nÝäæêŒ´ö›•“»lÉB„ýB¦Ì¬6›:=$ÿúªªê斖ʪê[ —ÿî€ß(KþóGº÷[ýüµà5qppppppî®çfÊÄѱ³Šn\Cü]aVàfqüànqŸQgôfDFC èõ<”Îý±3çp¸Þ>þ×ó®aÓHZ¼Qª#utËÚzt WoûÇ>utñÀöªäyç¿‘ô¡Ã..^QnËĵ¦¶V¨o4³û³*N"mÁ<;`ygõF`²õ`~ šVª8Îêk‹¼Eš3¬HmcZБþ âvS/èñaÀL{r0¸@c™ [‚VKP,¹¡O«Gõ·¸ I‰`‚J‡Î™Ig´ˆ ´ùиLHC#nß`Ë$PC.˜aCf¬@}ÁØ üY­U‘!’AñÁ#À ð‚þI@·´7ð¬„XÄrNåi=½"¨‘•‚h¶¥-ÝÌ®ý«ìgöf¿>ØicA $ÄÍýÛ£+ûÛ¥ý¢¬ÅLÁ`%dÞ·£²»÷îQZpø6X&o€ÄÒ‡•ÏoÛL§Q‘]—¯f~ø‚gPÔ­š åÐpXÙýâS÷cŠYýýþåÖû×;;¡Æg`¿Ù9¹Isã1ö›v5ƒÁ GÍŒ€òÉÂó’ç–”–)øöÃá{>w@€~§xMßòÒ‚k™—6>°mfl"äÚÍI¿(—£á£ŽN.‹W¬ÏJ¿ÜÝm´sŽˆŒÖtp`O/P-®«EÍY &;$"‘féò·ÿû`ÖÜ…d jÕ4èªn\Ì8ú´£¸$ç ãü¹ m½rDjâÆRòêÏ`Fะm»©Z0­IÍW0¾¶XToª ,«SUi5û{„ö6™Ö0àÖ>4ܺõr˜fljÏêŒè:Ýý¨•èºTÕ‡L_`i«U£ØÜ ÓÇ2Æ£`s,ÄœÑpàa3Œ¿™C˜ð(l¡[c$ Á:£Ï³F£xý,¥JºÓ¦ÀÝ“Ÿ•jE}sý«ÔÊrëNsmÑÓ›2‰J´õf·÷6ÈÔh‚+°uçgE…Æ-MIþô—uò^Q{V­@ìÀµ\Öݼeí"ÌùFAÑÑs.>·t~ÖiTƒŠî¿=²#±U5ußí9æñS²Ï- Øï?ŸzÀÎF€LX*“}ºãë6¯suFýáýæää%޲_Fs!õ²••å´ié™Yð8¤°@CŽJ¥.Z8¿¬¬|§ïÉÃõç›N€ÿ|Ç Ÿ1ŽŽŽŽŽŽÀ_´Ô3[}–Î`Gk`H„ÀÆþØžâ^ôæ4±âæe§_,@ ê„Ï0šª®eg€wåŽ[Xxdmu%èuÉ¥’ü¬+ŽÎîϼô¶ÐÖ›˜XÔtå໢ª n¢»_ÖUÚRƒÆ¸q¹ÖñÁ«z*¦Há ±»zzØ ‘~@Ày¦çÂÉF` ŸZJwí¨–ƒÐÕž0ÙÙ- ”· ¼V¾?¤Ž1TXY‡…xÌw›bK¡[ˆF½ í.ªQ 0‰FËP7lÐ1ÖÊQh™ Í„Üuxp$fÕ|¢|1p†‘4HàÞÃÆÞ#öa°ÓŒÐø v`*…4˜Ã²”+e hvvpÇ_e”5°ûóÉgog•"9ø> =ªêÊ@ Qv°·=¹ÿ›MËç+ÅmŠ>ƒ^; jŸìôŒtÇ7ûܧENî)Ó±¬§eò$Wg´ÿžÞÞ÷ÿûËÞï6þÒÐØï Bôì#ì„HWr¹â£ÿîZ¿z™û8Ïçk×òæÆ!¶_`¿©—®898øùú¤§gÒ¨4F’ZA%8>nöÁƒGª«q;ð­×”ãøÀ«âààààààükÌɼ´|Íf6Ç›†pXTÂ7Ÿ¿!joF 9\Ëy —åå¤#¶V#Žˆ;R~n–FmjÌü—’Îa3"Ø}#7ÓwÚôi!3,ˆhbnƒN]¶/÷ćŽ½“­¥ÑHx\ì, 3êµè´#¹rOõhZÝñ“ aNíI̺;7rÙ”F`–€œ]y iÈÌ ]ÑÝ`ʨÁ º¼%ÀÀ/§{ÇtšzACpKj¶ã;I{L}³) ‘‚†XbŒèI`F-–`’…¶Èd$HŒº@kթ傹a¥Ö4 ±#4ieD´‚!Êwh„3ƒí¬†t âá/“Î’+¥à QµLÆ1Ï¿ó ð“ÃÉÒQ«·{Rs@ÙSØv´¾'7„Ä¿Óx‰Á®h4¯D6ð㱓í:õhú\8vëV-S°€Mh«/³·f¬Z2éì«‹;DÜ&ƒQogÓ¢„Èñ²Ï¯½õñ0Óþ6©’ s­JÓÏ=ºÁÃÕ ØïÇÛ¿\±t¡·êá¶_`¿sçÌFدJ¥:!ÕÉÑÑËÛóÊÕ WW—ˆaã3`A?Psñâ…GŽïêBŸžL/ù™àøg…WÃÀÀÀÀÀÀø#P)E7rBgD;8ºšÌÃ?(|ó#ÿ8øãvQg+²‹Ád¥,Y]p=§²¢Jàf:$t‹Åλ8°ÐÆ5Ù\Kk>jƒöuÖ_>øžªó¦— D&Žˆ77•Ä!««‹Ò‘@ä–&<Ô]hJYa¯ÑÌçT¡.ÓV^˜[¢¨Æ4Ĥ°êò1…ª ï3 lô?ð‚n‘ÉeyEö4šŽHãk;P}'†0`“ÜKdºEW3Ò%Xt-QÃ#‰Jè—£æzÍe“ÐèS°éb.ÜT2(6Ù,À0. A…`>¦=hÐÆ'PD2–ƒì3{NâXàK'XÎÕ’CCœ~39Fƒúaue~è}H9ðÿCgªÍíókÞÚy´¶y,ט‚ßã_k—&sØTQ1<¶+éYé×˸|›¡‘”Q“·ÞÎæ¸pß) È.½^Ìbåö²Ïà2­—u=¹eÆ~![ÒGŸ¹xAR`€ÒU{GGnÞuŒý*ŠsçS=<ÜŽŸ8èëãÍ'¿°¢£ ³»›ëºÕ«¶ïüº»{LGmòÌñ’ŸD'À? ^GGGGGGGàG ¤0Ïšoãìê‰LE«’Õ¥Ùùhcç¸éá¿Ý»³ºee4:}ÙÊ õµ•¥ÅFbàÀÁÓÃ-­¬s²Ó‘ŒÁà’’.-¸q \s±94Tätb[‹hÅvÙòXu…© )j5õòôáÄIZM]Ž¡¾¥-%»æF#çE¯Q´N‘õÇÒŽRXŸ†ôV!Îñ=¦<™É#W´æ!uÖv.Ü`•|S"ÝÒ7æ aÀ’® Vb À˜ 4ôãlãƒdK"R,ú(ƒb=ê¾ aÃR% »X 0$(¶2 IDATÙ =Œä…2R`‹q¢^ÁJ …àùL´0`^E«U#v`c$°V ÔÊa±ÈŠîÙ¿`¬îwyº¢\žSw^f ¦8ˆýíê¿Ö,4“PEmYvaƒc ߎÀ²ÿøÇÔ#®Éèc *•²uóº «—Ÿ<{!#;·¹¥õõ÷w8¸“$éµsnˆ¤¯Ë‰OÛ°rV~øØéëåm£vé)ö«h{hÃbw¤°ßO>ÿr^Âìà@Ô ÝÞÑy-÷úœ¸YˆíØïù‹—ü„Á¥+W!ØÙ µ ï?vþÍO¾>|ú 6œ»»[|\ìžý§œ^ø3À ðÏ ¯†#€#€#€#€#€#€#ð‡!PQZö=¿iÓ‘û½²ÿœƒo\Ú÷>ü …VÖ‚û·½”vñDA~:RB¡Rç§,ïíéÂ’!‡ …¶üÇr`žÀ&zÖÜKçN`€Ç,Ó˜q*SGb¨@"YØó(y—ö!• Ëæ=$ºnj’5Ö¤Yèè=×kSQ@8¼ç¹¢úIäÖšRØ|s–ž3ciwíuÊZPÁj ©þ‰m¼Ça¬.y F¶}]§KE&OeûíØø®J©1܈1Ftá£ÐÊÍDog4ìÁÈu æCèJa4î—l1æ sCb€‡G-Àz=H^éô: ½@}©ªR¥ Sz½có¹7ßTÖ–x»`) ÓJR…:x4`2[Φ(í¢|SrxÞsü˜½[òŒÞön~¹UÝ}wº¥5ŸÂ.oO÷-›Ö––WnÙö7x’dn>쑉†7س$•BJ7S=÷è&Lö9õrúžã—<o- ë´j¤}ëºÅ¡A({‡°ÞoØ?gvtD8šJv„ýæcìW.—û“/$=ºšž‘”/ðGW¤ûn߉½Çλ:Ú®[–„- Ý`؇ÜW{ö¸7àŸbV8þS¦;™¤¾vûÏåGǾíwÒ¯‹#€#ðÇ"0$)üúñ„Gk“kë7ÿÅSˆ‰Cžý¬?\ÚÆmÜYUŽÝj雾[bKæD½[f¥f\¾'çÓá.<®µSЂO·™>ê6“¦m šùjr79,¿ùn¼óôg.ö B¹'udP"™aí6û©CSõÿ[af¥tÿ,_G›ié~ß΂ô.pâ€C²ŠýÏ/ Ð\Ϙ­Û³EÈ ‡ÚLñœÿ]Ë„VÃ]ûû,Þß5…Šì]_ǰª-k×c³Y$Á²#=·î^ß{ãûg—FMs·÷¹ï jãºuí»¹Çˆ†—)Dws¼¯»„@}M…¸·;4u„;õ›—vë:oNsåÈê¯þüYHî‚ žÏ<öbmEIæeT gÏIV©”˜t@`°­­}fúe¹ ÕŽ¾KÓ¼³n‚ Yy j¯¦Ð˜as×5´Š ˆøÓÄά¹teOugsRÌãÛ.Šx¸»l  ‘À0#· cÖ·—ÉMfþ´Zj/–ì׆çàž®˜pm¤2-º”U˜©všGx_“épæ´±0`G7y¯){Ðw(4dtg[OµÄÈoAˆK¬@] á#Ÿk«ÑÁ" jÝ·¤]£ DHz„^Ä0ZH%ѱ #1ÀÀxÇùB#~Cê#'†dH`ûÅ\©Mиw>HÅðrsòB¦ÔÖW[Õ—ÍâOaþí®W¬~–LD\ʾ,Ñq™,¶È€ ¦àAšàÓÝç‹«š°rî`o·iýªžö…¤±Ð`ã  +î¼ûùÇ7cJÑõ M_î9êæ?ã6@ûUö´lZž1µôûý껽¡A3#‘†“Øï…‹—"ÂÃ@Ð;+;gÁüd.uÅW©5;¾;|òbFBlÄ^|LÈ·Bz€>Ož: I’žzb[ooß™³ço3%|×mÀ ðmÀù]v ¶ý°ÐsÁ÷­SÞÖý.3ÀÁÀ¸w È4·•oΫ­ÉÝ÷$ïäÓOlŸ;Vô{ÅRøåƒM­V÷ßxs&°ã¹®£!†ú.¿óa‘¥‹%*$3q=šÊ/6mÞÃùÛñ¢šâSÿôÊx|éK’[Ò?CDZ§6îâþkÿ;ÉcT=èÅÌ^¥b ­øô+Þÿ|áxÇïwµ"‡‡œ×}t<·ª:ç«¥¢w6þý\·éèÊâW$=›ëñ±¦ÖÊ«_¬}´(î±ã¦GA1ç/ÜyqçB¾©=á–'Á¯¸JInî?­\ð¯gfÞ&óˆ¶ñÇÍ3ç¿Qåõèö3ùÙŸ')ÝrJ¿fǯXίoûkèí.Ÿ–>¤Ÿâ«DE'L”u2Xºæ£Ûÿ&— Ï¾!×ëÊMÛT*Å™#ß#õAK6*&nîÁð‹ˆ`vuõȽ–õÇràEK×vw¶*ä2džv.¾ÎÓÚE(c4ÍÙŽ{ãò>à*Hù¬èÅônÍ€i'„ïji=y5(7à[ÙÄû¯žlf )¹5ç®à!_\ÈÒžzS~kÁÖ•…ÖöBš—I”/„×w#@°7À4 Ä¢P,P“V`Øú5혽‘ËâiäÆ+ÐrLV>òبs¯~T ÌÂHsdLÝŒY GN °ƒì3¼_h ¾#¶_£4Dÿ‚ÙüŸ!Þkuo¾)¯)òó ÂÎóó?0lPÿñ–Š4‚DwÛ@¤PÔÛuæJ¶£ÛÌÉ‹‚3xxN£Ð…ÅeNŽöl\ûÙ»/Kº›ÄÝ-õ5è5pji”2Eoë–õ‹ìÑÀlÈÜûæ‡;xNÓn#û m]iÓÊdL. äÖ9äÌ Øonþ˜çóÀÀØ~#f„K¤Ò‚¢bÈrÄb¡úd©üíO¿¹œ‘·fIÒS¯ç°P£=˜‹OŸ=ïêâ:=ÂV¯\~îBjcÓ·Ÿ¼|¼äVüE pEeÕC‡oõ‚½·Â /ÇÀÀøM`lxîÑ%‘ž¶ö¾ñkÖ†Q{ÚGg˜Á÷qd#“µ¶o]ëg¼Ñ1nšª=¦»>óÜÞT—tEñîÝ]Éï¼¹>ÄQè¼æ/Ÿ`^Þ“?õýå°ªbçÃ/Jܾk‹÷¨ƒÒ±4–Ð3jéš(FGíD¿ß /þù×¶Íó´wð›÷ø óÍsÏW  ©£ãêê~xá£öEßÿxc¸3ÏÚÎ7áo»O¾âpî_ïdN½Dˆ¢cÛ9Û±§|Vp·Wca·lÇ™^HñãÞr8Cëá¿ÿûFäö´SïmžåëÀc‘§:ˆw{bx"dÒ’‚ܨÙï5úÕ¤–]þÊYÈ€Ad!6\Š=Y||ûßú:‘¸T$.\Í`qþðg /bf,|›s¯e"ÎÏ>~NN.×r2þ@Ìds@Àº ?2ó ¨…êa®L1…³ “N¡äUW‘št:3)j}wé·dd„øfTL0wL2ÓØÄfYag?ŠX°O$YŽrìô`X’1+1êß?Ñ šÆ!5v—cõƒÝgJ{&Ì„ »%­Hž¥z4ŠŒÀ’ÑTÀ¶êeœÙPOúW'”s^äŒÞ vœzcGßÂçWºOá% Õr‰E½[¢:†x™ÕWt™:êkö\|qãÇ„ç÷½;oÄø;¶ j$Í™ßï¸jã6Ê»'ÔøÍ? k¥ƒÏžx/¤oM;Qi»êÁ8ÁدÍwÕ–ùåã%#6%ÅÍ·xÛZYÙz'<¼Q=l6ÎzŠë-´Ðu¥½½<؉ã¡›¶}Óä*mzµGí9¿€ÁŽ+û }q‰“éMÖáÏù P7>Á×Ϻ„oú<¿oÄ$ —E®x|sœ·-—Íó]ñéM‰ºbÒ¤ìh:ú÷$_cÏùÿÉè3þê˜ü¢M\£º|çý±þN<ÓÊ%ö™mÈÞaMã±ç“‚||¦Mñô^w|¹‡§œØ/Äê/Ù dŸ ò³ W‡‹ú@ö´U]úÞËžý0T8 ’#]rîÛÿk­ESæ­šIKÝ<ý÷|õ\ntuÃÚô°k?+# !½À=<}þX BЖւ†š d-$ -"yS[¯N¯ŸÂÃ^Àn(ËÀü½C‚b!ŠÓ¯¡ÑLï¾Qw éŒÀ1>Ë'Ë\qí¨ù5:t3Ð%ÖÄP $¹CQù0GÄ÷µL¸Å‚zTX°—s ¤c‚5…A죎ˆ—M8pZ‘^У©€Á2¬5Þî]£U£y€á#uÔÆ/3æºlôp6€åx˜02mø ùh0 \J´:-p]½NG& Ö©ÕàMS©•÷x¤âÊë¾hîXä…¢=<×)~oÄmêY¾+Ù4ô‘_˜WÝ&çX9c€`ozÚC½í¢ÃP6«Ñj?ÞµW¬FÅ¡“ÉxëÕX³¸­¾T)ïïíhJŠ Yž’ˆôy’Þx÷ÓÃ7}22>°ßÖÚË&Ä"…pNž>/ògÏŠAJ€ý^ËËÇØoOOoÚÕL`¿õõR©l~r"<–BkŠz^~÷‹Þ¾ž¸Ù‚9Ø( MÙ9¹Ðƒ«« 65·¤¥g¤¤,ˆŒ˜8Íï³í_ôKnõÄë3ÿ5üÅ—_™¼n ¿ã× OÂ6mX6Ýôq„¡ß¿i#\¡îô4Ñ”ï|úñ§j::ÛJ?5Íô[’Â+:’Óc¼¢ÚÒN´O[Í×™Tã<—Vòu²kÒWõj$ïß!4Å·7½.¾ÿdmgsꣲ÷û y²©íj0Ìý(»©éü–¶}®Þ¼¿¸¹ìÛ¸Šw_9îˆÃ²k¯oøgý¢Š;Eõ™Û×¹úEÞé2ðú88÷ºÚÏm¬<|$[ùÚ#ÁŸØZÎ|y•¾ì¡x”ñ K²>|óæô—ž‹áÞ§—雪:ùÙÁ2\,tý5Ù™uRµB3éÖRWÿöÇSC>Øõˆ}\Wª¢×g°ŒÀîñÿ¸9í‰mœ[ŒóÛ"§*ÝýY¾ã†µÓÆߌjDu" ×ç ¥–^ESÛÈ%ÕkÓ®ìQÛõñÅÏ,})}œó÷”×[mõ®û·¥ú¿•V'ê(=õÖÚ”N¼J››^íÝϨ²©°uhøÆkóƒ<íœæ>üYv·é½<ÜÎÞö'ÀLUüñ¦çŠâwÞh5\|š°}ý£û[N4õƒq¯Ÿ-o¯?±¾ûӗмMt¢a aÂ˧ Îé”ß½q¸A?émâ‰Â˜Ç>?]ÐÒÓšùšó¹g_8Ý @K³ÿ½î5ñÖ“%Uå%9ßm°2Þ¶ßzb¿íÙò?Ô{uE±ÐÖÁÞÑY“RÚ›yè]†œh1ʼnǢ‘\XŠ´=ÿ)ÍA£ñ†GÍ™pòÀ×`IF: šîèä ¾Ðv÷ð ºÐRévííØÞÚ,@àöîN~±mS9BSÈDÃP˜uY 𽥉wæ™êWÁ^ ·9Õc9Ånh/3q 1cZ‘ËÚ³0ú¶HTkZÇ‚¥«j»Ž g'pâ=LœœõD– ØÝÑW!žH€é,0tâ(tWŒ¤ †LH˜ƒÆÒ\’G\ ÇÖ¢s4 ¿@xÑ 6PƒÞ ÒÿÌÇx‚TÁ 9d?B´!â¯9ÁÜø†JSkU,[&—ÜË X¢ ñBžueÛõVÕMÐÙF>b•z‹ X¿%H‰L!=u媽 jh_Y«QYè¥+棼v;s©OI(mQ|ðõ‰¾ÔëžL"­Y±øå¿?®‘€ì3óþu˰NN½XV/²Õ£6™ |ë:°ßµ)³'ÏFög>wá2‡ÃN˜ƒ–˜°ß®.QFföŒa•UÕpàæÄÏF2WAóêúæWÞÛ¥Ó^ùû#³£PÑ,(/.)-/¯œ7ÑÇ*,*.--ŸG¡ÍÓC‚-Z¸w. =ùøÜ®dŠ èíªßóû¶=üÉ+,Ô”å"‹˜Ì1û… +¶®!+íF³ÜŒåäçaiAóY¼ˆ_|ÔÈ€þ»2ŠO˜\ÍQYÁž3æ+Ÿ_À&ѽo ì¹”Ñ2r%¥:Å$†;°­üâg¹ñ8¨S ´æ¼)øzùšíS8þ¶‡gHœöò–ÿê7¿~Ÿ÷÷F£"ÇÍÁX„úSÙŽ|:™áÿø?_:X€Þõ˜™My½UÜüæûžù¯>¿ÀƒK¥rí­)&|ÿ'/ãw…A9 P«È3žÞu&'ïÂ'K”;7Þ·³j’yþ¶?²ëßìëO|aÛ,[*‘齿å§]o~¦aÀTçÙóc<¬™‚ ¸p®¸aäÎÛtƒÎ“c<¡Î´ÙVâZ‘æ'ÖHâÌrã3h·™³Ý†;šÅz3Éõ/Ñ6=¿ÔB£H¶Þnb¦“À?O@Uy‘R)ÇdŸõeêÿá wSH“¾¾£­é¢;oèæ©¯ &ÞÀé3gΞwúð÷’~4ÅŽ@‡—OvÖU„ôöóº–}µ¿ÿwÕ`ÃÖ RÕÁa3‹oäôèóŸi‘ó $D6ÅÕÆ†Çê®Ïïuövqñšé¶L\gê2M¡[Ȉ-%M™È(BžýL÷E&F` œ:Z_q#Zø­·u”‰Ëš\Ô˜tü3Ð-ÊÄ ši5 fd{¶ÿx† JѽŠV,ÜמïªÑ»² XôÊ:‘ntÄ4CzõR=ö‚Aekä†Aí0Ð*¤¦Ñ±YmÐ*‡ˆã0Ä#)sÁ †¤ bûEÿjT ú½+]RyÌ¿È2!˜9µd¯•£©ù˜¿²´bæãˆê5T>pê°ÆÜžJ3UY€Ô¾]ÍU[V%qXè3ä¢ÒгÅnÖ6Jç¯NÔ4u`gà¬èÈ—ž}ÌΆWP\Šæ]¿ù߯÷¹„c dXet’}OkÝŠä(ÌT „öìùK2éVìÈ0xžÎ­¨¨dб1Q˜É-¿°üƒí»É$â/=æåŽZ³á Bº`h7;ÆÒ’ ¶å¬ìkbq?$†Ø|¦¯¾˜zÙd†øÇÛ ð¿F€o³ÔÉ»Æsà_Ã~¡g²Ç–ÝGŸc¼/ÄÉ+é…ãša0;,Z,(°®ýêÉö€3ù„©ªMœ–¦¯½³ø¿ó]…°Ù<”*TM´Ó˜ÉfhÔH1Jšd]z¾§íD?ÉÉëÅKppþ$™<{ÏÈU¯ìÞ¹°ëÇ ÇôK¥ùßïë Û²õvêI}÷Ó–„lö»í×ß‚û÷#•bY_·X.)ß9ßVèãg3É_š`5ûÕ}ï\~ò¡]*”=ŽáeAaÛ‡n|烅¢Ý?™šH~[Xu-Ÿ~äˆý¿¿})Škú›EµñêŠ&:%Ô”ö0\XkÓí½xšÎn¥Ñ.lܦ¼ÞªE R¶‹Ðô¾kl…S\íÍò-¨LË€Mÿ|ji¤““_Âï¾X" µßNîxªŸ3­¸SmåéÀ@¨:ÉÚÕ‰&íœ(g ί$št`ǽÃÊððO¬qHVþãs‚ƒC£×~R¬ë”Ù ¬£MIç›DVÿ¬‰M^$^2‚_57ÔFDÅcxä_øÖBVkÅšâ)ÐxÌhd oVMÆ·™'vb¼ËÝË?aáªSG~èêhE*éõÎÍÉDH¯“³Ë´ÀмkèÇßÿ p­¬míÁâ M$‘#çÝ×Þ?¨ÕMx"‡ìus´¾yõ°Qüid[°‘Ð*Ô+MOo®=5­ü0–X(eÖÆŽrÓ«džz³~Œ9ÌI鬙Pd®Ú¤˜tdàܾ։Q¾Lâø0à—p“0`µY¿d4»¯›½¯¼WD×|ÈL*G7¯væùëÔÃPÞ#AY1¬K`e¯V A6`ã—ldâ$P§4{æ94<®Î°¾¼ˆ 4˜‚µz …LÓèÔà ­Ò(Á ¬T+@éç^ûÛÚÙäœg%D&VÔxµo¸ üÏMæÙß¡žéºÄÎÊ )¯mªÉ.jØ£Îã+÷w·/‰õvs@ $Ò݇/8#{x˜Î`3n»¥ï? W¤ÎŒÐǾ?ûÚõc§Î••Wþýå÷\½ƒŒ±Áz-Ði“™  }MK#V/IÂv]¹šA"[$'ÍEJLl¿MÍù×oL.)-µ³³˜²}¨|93ÿ¿_î³ä°ÞüçB¾5Òd´Ò®fèõú¹sâ9ŽJ¥ºzsbÂ&sìAFOo/(c­]½"3+»¨eï&³Å?NFÀôfbrÿ턯X¶ôÍ›~çó8pH¼°-;2ë›2^¶?óÔã»õfTÏ…K„%G3 /ŸhCø/TŸTmDêÓ~ ³­¡/\ié†M$êée¾|ë1tx †w¸»nböõÿíㆯGà/€9`><4–dHtå«Óú¤‡ç;"·ÃÝW¿>YS÷ãOk++k—Å_—å¾kç¶rÏ”²òFÒÖ|ïÈ`âº0Óçå#€’Ý6nÿby;„T\6F‚N¹ ë5ú[훲Á¯+ì¾ð²çÊ’>ßµÅkŠû~’Óœ¥¾]‡¿N¦æÈ·y̹KƒÙ‡VwÕ÷,¹ÔÑß½)¯·$¶5±¯¶}¼CåÄ«ô—ñ_³BºK°°¯ j>ü ©ê¹™S¬liýuèÝ¿^Üܦá8XMzÂNÓt9SÎ~ÒOÕ¸Zà×üðÛâ-Ço]~gŽ¥q®L>Ϭ«¢u¢ÅMlʉüU !_+_ÍŒK¦ ·n¦þÐSvÚ‘r¾? …Dðu`u½|ðc=›Á•zÉê.Ÿ;ÜX[‰t¤7dzxnv†¸Ï(íàè ùøÓÃÜíÞþAý}=Ý]íHÇV÷iqm]S8f³™T3eGm1j¹år­ãƒW‰JLÉ­ÑlÑTÒœ…tÞH·E½ÍNSÈuÔ,+‚t;H ïHªÒvp$/¶ Ó•Õí7‘BWÑ ‰ãEJ Ù/„cY—‚½gB6àá!3Èâ dÕ †¶]ýÍHe¾•­¬¢r– ±t,7Ÿc«–€CCݨä4Ñ*†À zÎHsÐv†>!M…Ù˜o01lªPB‚C°QZ3"­Õ½„`+.«yO½©®/ òCs’WËY:˜ÞýBâ_ªÊvNÐjdæ nýíÁýXâßñËQʬi†ÄXÔ §_î><Ìr`°Æ4ö!•.Wè’_ݽçdºV‡ú0Œ§Û*“ËŸûç«®> °ßÁŒ=mA„ä˜Àñì7-=S«ÓÍOBã‡MØ/ñûõðð«6áãçÒ>Þ¹',Äÿõ—Ç/)гç.€™B…)²L&;{þ¢“£CÔ̈ñ+--+Ïξ6/)1pZÀ¶G:yò4¤Š¸§Žì=;™¿:†ÂÊ‘¨‰_|œtÝ%¹×+Û$zŠÐÓ›o¡ÑèáÚIñX°Ô¦àów¿må¿ST#Э­Ì;Këà7J¥g‡®KP~ûÛ3Û•ƒƒZIW›H1)PoÒ$ÍyÑâÔßܕݡҫ{šš&GMj„ààÜ‹È ¿yó“CéÅ ]¢†ŒÏŸxú$#eUú¬Wßxò«,ÎÊ­±Ö(=2.ù¡¦WÔÞÒÜÜÜÔXôãzŸÐgN•Ýüf…ýpOÁù³i%˜2ŒAÙßÓQ}õË'ç%þ«}É»ÿˆ™’ÿ/ˆü¤·÷¿ìpìÑ'÷5¡lCzøE…h*I{ÁžŸ9H˜¿:õ¿þÍ’þ÷þGÎz½±ïx®Á˜J;ñ¾8»×¦×´:þàòçµ÷KºkÓ>ݺêͶä×_š8ˆ¤ímb­AÙž¾ã­fI"0娮 IDAT¿1ÎT×[NØúÄ/½z¤Z¢ÒJ@šuâUZ;ÕÕþVH CFIF¥ÖBüó7><0Œ;:$ç›}ó_zú³ôúîžÆ¬/½[z_²“©áãVŒ”³Ã6/c¥¾¿+§ÖYwäÿ6GlMq1 íbâr¦$SSüT›À b@ iG͆tçÏ”ÊFºàÎX¯9ôÆ®k=0‡ÎÆf©ñŽüÎ&6nüm^öwo®JW@øªáækúàímøó°eJk.žÛýdvAö€’Öòu_˼XV””ml#£bAº»» JàcøŒ¨¼kY ›YYV"ÆÈôüf$™1Ä’)¤=l8µ…W´j”ôF„'Z©¼Õý¦–:àQie‡&Ms[ÚSr«Î"#] uŸÓÛ0aD¦i¼t k´¤cÍ€0à¦nô±‚-ß¹¿] ¶\½ÆhÑ…Üa¶÷4 ý³™Q ¢;vá1à.Ý/5؇E}­½’®ŽÞf…Z*íRKz5õ­Uðªn)Ñk‡Á‘["“"%•ME"I[usq[wco—L9 WIáÙ)X}Û/Ñ‚$‘õƒ5VïÍoVck-¤zç²­éAþ*¹^˜Ì¶§A¹$l•„º4gäeH4¬ñ‰‘úðtA'é|dC ¸"#%—3r«Ûd|;“-ˆDž­SnIýx_hƒaì«kW-뵨²A½Î Óô: Áƒ£‚RtB¤ÿ†• °3²®œUB|RbÂ~kjj!jwš@AQQHH°Ÿ¯R ž‚ì=zîë=ÇW-N|úáõT úز¿¿ÿü…T__$г½½ãbê•訙Àr±ÕƒwtccsLL4âíà`¶â·ßÿÈd™øÇ)À ð”°Üq¡¾ã›f{ ,~k¹¿üéý^Ƴ˜â>™}ŹހQˆ^ÍTÕ,£ZÇ;ºÌÕ>xóî½UÜk{_s>µ5ÌÁZè¾èùCSEl™Ì \øáž,÷¯´¸Ïû°9I4àŽ„7ÀÀø#Ôé{¯¾¿%1ÐÙ%tý7ƒ[÷Ÿx%UR•íÿ®ÒçÁûBÆT±T6—ËÐ^6›Ã±äÐId–¥µ‡f¡ï8÷êÏhD9¬¶î›µ3"ýmOOìGW¯~˜÷Àb4˜mÊNwïÞ‚SîýËBŒ.à9ÉK ‘/€0dÐ_Þÿ6¡;ŸË¼•SûOCÕ'Óö ñnyÃRàˆÔë¬+gÈZLü|¤D¡g\½Y¬ 6JúÅ  |ø§¸Û5ò²®8:»Ù;¹"WܸÔRtÊË…o2äIªnSÄ­|ÎrD:xhpð›}ovñr-]'Ð'µÌ@êv}&åSD9©]ÔôʾõÁ &¬«·I•ìòd´ï"dˆü‡Ö­ 䯰AzMà«.1P¦Ô—¶¯·Ÿ£}æ!3ø«VØÿ§—}€Ô?“~ ­udžôÂwõjqÀqËÂ%r±TÑ_V[ Ðö»Úy ­„îL¤³ˆâo ;44$UöƒõE}fæÃª]i*™Æ¤s¬9˲+ñÝ>†?·¿š†rHP:m&ÒàRñ¾¬Îïùnb•!ñ¯²õÄüO,#þƒ†O¿ÛÑ)³¶x˜ y|ìè®=«•Ê×Þßiaéɲžâ4îëlšæÂݲzÒ ÄŸœ¹˜fo+˜>’h¶êÚú¿½ôÛÚžiim $Ê@Ÿ(:Øã‘ûW‘ˆècÊ¢â’ÚúÆ…ó‘¸\ö ô´ëë v—ËE=ÀhÇw‡ªëšï[“‰ºjÈå•uuõ±1Ñ.°®ß(ɫؘ™Œ­gff³¹Ö >'v6ˆ}i%èæÉÉI ˆd´ >åÄÑC \ºt ·ÿ¦'ƒ®#7GúÏømÖoŠ3Þ9ŽŽŽÀÏE@/í– Óè$ü²üs»ÓzÊæ²nª ÷—¶;ñ¦>dë­()ˆŒ™‹°_XWQúes¶%ëWÉcSlIâS_þ££µRBÿ³—XW.‡TÃ0“ÉŠ›“T]UQ]U-­¬ác~^vG{Ûïo@PX]u¹Z…F/û…%Ðø¾=ý¦¹ŽH$ ;+RaÆ1d† hÙ¼‡D¬»° ̳=†ªŠÖ<¤šƒëtûd#0[Hɯ½ˆ­4qÆŠ®ê F`Ÿ\P©@$’¦¹F÷Ô(t#NθK0'@±NúE{8ùõ4«{”måÒ†‚~ò€s¸÷ÈE$´róõøš¿xß'k·ÅMOM,•“Æþ-Ø/̼¯-Y:ŽŽŽÀ(ÊÒ/žÿ´3üÝб88wÃ@s‹ÚÊIHê8óúËi¶O†þ^¡âweú÷F'e…ù.î^àŒL§³¡¸æÚ!ýç_Ý~‰H§í};rñ6Ï cfTþœ9;¹ ?óòùcñÉKX,ƒÁLHšŸ‘~E§ÕOJ?79ýJ*¤qtr¹}ÿww/“Íq÷ò+/¾=ƒpÛŒ¹k/ø€E׃ç󸱬¹tQ}Ukm‘“—ч–Ç·]ñpvÙ÷‰Ã-í©©ÅûÀ1/žµùõƒ©Öã²ì€§t›¶²¥§ÊYà ýøº³Óœu*)™n4—Ê 56–>™h¤g³¦/Lß{nM…P^W‡¿*½´¨6›Ëä÷ˆ¤Ê(Ÿ…!¾3…n@z‘E¿"­A¥Tê5p€ÊŠU¨<É‚§dÍ%[Ð,Ì€ÐÉ\:‘eAøY†\hÈaZÁËÌ µ±9÷û…@bµFE£Òó¹¶àqý ¦ýó›Ô5V:Ú¹ÀpH“Œ²£v‰2Aþ ÿòÍü¢|R:J•âÄåKvN´ `—Á SŠ[·­M¢QѧE×®e7ûLŸ=y>Z•Â\Õ÷è£+!í²’$íÚ{*§æ×KeÊó¢]®Îޝ¿ôì+o}ÜÚT3#è¡M+?ghU[W z—.YˆØ~ý^ÍÈš7 è+ìöÛÞÑɳ¶ê¤,œGÉÙ ›¸_òÚ»àÍ^|LÀC¿éÐ ´Ô¼“çÒi4¼J½”æîæ‚>€úPçÆÍÂÎ.‘­£¿Ÿ‡5&]\R–™“¿rY â&Íb± -$L‚q‘Añ¿“À ðdLîZ‰¦öôqQð³8ÿ½kˆâáààü:Hl¯_±Øÿõûu@š¶çñØ ‡Ëº6á›·ÿTÐX¬ºi]üó”ÔV•‚  ýUJ{³Ž|èÂ5ŠÁOYÿN 4¢3Až{üC¥´/xÖ2¤yhÄ,“yéLìÜlŽ%…BŸ“˜“•^Tp=$tP⸹IW¯¤ÂÍ·«›©»)(6ƒH5“e"·~§óšº¾£‹{OwgsC ˆA ÛÊ?rAeö~S_Vg;nQæ1[g„8ÍŠ^\ømºÆ¡“j9ö%#pg{UeÛu$ˆÔÑÖÍO?ÐY8>Ö”kGͪ<‰` ¬áÞ‰ù-»…Œ¡A#¿…¿*óþ†Ž2_g£X1ôÀ6wЫZÅ ¢_«”èÙT‰|€Ç±÷wå2­GÔÖbÒ« r¥®_¬êizå:1´i(º«”©†Ä@ýG8$(ƒþÌAMzBàÖ ä¤RÍÁUÞL¯Ýis™ ‰¼©¶Lª%ÈaQ¬¬è–4.Õ†Nº•ø¡B§QœíxÎÐ?8Hƒ’VŸDTÝR¬Ö*id†½ÀÌÔTò]N¡$WH;º[bPf; ì¹Þ|Žë=Áü ’תÒ†¸Ç1'íCgj\†ix…XÔšîëéj@ÔÝÓwðÔeï1ïb :PÉ’õ4>µ9ÅŠƒ>¤ëu{à´Gp4Á¦³¸×k[ú¥©®NDd´€U>ÿÔÃÛ¿ü>6b:Ž’óæ–V0ئ,HF̳&ì÷ÆM£ë2JÕéôÀiÉd”“·wv¿ýé·¶BÞ[×b‚ÏßÒñx¼Èã©}³r®…‡NwuuÁæŒÔ1'½}üü|ܱ€ap{>ŸšÖÝÓ{߆ÕúM‹Å­mmÎNh¼Ö þf<ø-Àox>P§½‰Šþ†£à]ãàààü\È.ópù¹•ñz? á¼w/Î{÷ç7ÀkN@ _ÜÓÜX;kª+ z³Ù'>·²ƒ¶Ó]DŠN!ºZ žýL§U‡'¬EÌ¡>þÁ Œ•v>rV‚•µ¼£cgÏççëy93"£ÏMœwåÒˆ&Eƒ‘ùt´6•æƒOøÌÙ`°½‹“傉äe lìè #Qñ Œén¯ïì)·L ÜL:…Fè¯*¼8Óˆè‡%E­?pãuçÙ|@újÙaLEiQì¦÷ާ[ÚÅÓ¹¤ºªðÂePŒýÏ]p俟[9Ѐ["˜B#æU^B°L%ñv ÉÈ9˜éëÌ·´Ëêmpº+Õöô)ÛzU-Òj©¶W1Øc°PhdD!X°!íŽËžx˜Øü­Ì†á G{ÅÞ`Ã`ŒØX°‘ ÿ˜ íJm«L7Ô¦ÒKu¢ÁAݰ™žÌ¶°2],év† “léÈ™"ƒ.¬¼¦áåé¹äb‘¸­¡£ N[ž“ÐÊΚcú â6«¾Í®šÆ 7GO e¼WK¬¤ '<$þ wZíÈ3Æ¥ÃVß\{éZ‰è“n’>KÒ‚84‘’F«ýï×û‰ÖîÔ‘3gü*ÛÝ­uS¢Üœl‘r¹BYˆhB?$IDuómœšz»>þîÔcæ³™FÚïíéþÖ+/î=xHü¬èŽŽÎââ’¸Ù±ûíïoûÍË¿aº@z)T*d-Âr¬V×7¸ãÇÐ@ŸÖ/¡ŒRb0ö^¼tÅÛËQxçêêš9q³322C$è—/´qvvqu2†»#›D*=p踯·Ç’”1K/D×Õ×GÍŒ´µÍþA'Àø™€#€#€#€#€#€#€#ð‡!4ãúµôЈXꨠkYÖQeK®‹iL{W7ÙÂÇ‘U—ñ-äFŠNÙjA4:Í::»S©´,àÀ± B{£wtÔ¬ù×®eg„͘ ,w„Ÿ7èõÞ¾FÊ$êl«­.OZ$“ÜÈËüM80Ðrÿ¢Æ|È`‡qCg/KÝWg©ÖCNóñ¨Ø ØuåYîþ‘`(†òéA±¹…ኞ2¦`¬ÛÛŠë:‹<íŒÎÒîŽ>^–1¥˜ì«Ã éõšÔøÀ•PÁ’Ëp_ÐÕ~ ˆ1B€-ˆ„ŠÆùW•*$ãg,ܼèIÐa¾Õñ”¾}ª¶es›¤¢[Ñܧ¯"iiL 2ÂîBÙ+Ábx˜cä·ã2X›oÕãäòqÜxIbó) ÛA µ«]WTØu®¸=­u \3¨ é4Òs"˜…ÁA˜°ÀÒNª€Pá–®:8{!µÒÏL§4 ×7WCê#äœ 4+ú­ÇÃ#ïÕ¹£æMߌöŠ»¿:x˜ïMy^ƒm}¢–˜@§y³Ñ„À2™ü“¯ö <ÂSz|M…´2({úþ¥¤Qá«Ô«9'3K=F30™‰f4®™G¥ ~âþ‚âÒÕK•VVÓ¨”¾Þ¾â’Òø¸Ù ½ mGØo˜ý}}¼üý°ÞŽŸK;q.ý±VG…)ZDV>¸:CRß /A'à·L"¡cAÐïÕôLñ†Øû_OlÎâèÐÑL}Áü$6ËøÎZHÅTVV=ÓÓÓ4PßdQ応Ÿl4Û”¤Îfåõ¼öÕyˆH CØðx³0H…A&aHh ™„;ûZkZË@=‹L¢Ò(?¡€w£$ÛÓÕÏ’ƒžEû2ß7ç‹Éô1ó/¸gkÛ8÷Åÿ$¸`ÊÀñvîýFeîÌâLˆkU)¤ƒä¡µóI#ÎÏ`ÝñíaŽ%µcËÙçaE׳[—±Y¨dŸ?ß}Ò=0Ê„Q#M¤}]BÆàÓ,Ab€¡°OÜ-ÿF|l4ŸÏssvº’žU]S›”0×ÚÚèuŸ›w½µµ 8~=Üݰq÷=—q­àåçrwE%©`-ਠ†åÙ³bÀQ,· €ÀÓÆ,Û b•zé ÇÒ*44ÄÉ~lÉ­mí'OŸ‹Š C¨2"Ž¥7¢£"AFëö‡÷/¾×„›>Äú‹£ƒ/GGGGGGGà÷A ¦²ÄÑÙ ñï…;ê ó¸p‡~'òdoMË» Eð¼Í¯ðìŒ7î ‚5gÞ²›y7ó2ƒ¦GÈ/o_Â:vd¯½mt\fû5]›óö liª2:#ów C}¨³±®ÊÓÇèª \=2ySîéÞN@ØÇX›Iíîë¨-ÎDÜ_™Lv|ðªÓ%;FùKÓ9¤¦æë¢27cW®Þ®ÜpIW%E ex·óµž4O»éî~îaˆIÓ0¨#Z †G`¿mÒŠ²î´fI‘šÜÍà’Ø~TƒDî5™ÿ6`ùƒfù ^–vfmO½ìtIË1‚Šëa9cšM¼=Ëg|Ê%°Š‡xóô]g_KEcøE{:€§ô”HôŠE:½ÎÑÎÙÛÚ[S'¹æä%õYÕ=™`–W6—I‘Ä¿áÓ^S†_¸y ÿ2&þå¶68˜j†úci~ùÁ¯Ϩë; µè¶7TÍöqœî…Åß‚ìóÎ=‡Dt=µ~²ÏÊÑýÊ:kß^¿H™"Øò7?P¨[r ̈lÃ_ŽÝ¬¬kF뫲XþÞ)éÙõõMa³g*Ù/_ ܽÿ”š*óõ K•ìÒ]½~ÃÁÁØ/5ƒ¸“Ç ›ªd¿@#oGñù?_c#ƒ>¥è¦¦³ç.™…¡ìb†¯ß¸%BC‚pö;î9N€Ç ÞGGGGGGG`<”ÜÏ5·°)´qEn|cÁ]Í3qŒgŒGiÃb-5E)×v¥GŸS¶³²u´u˜tæàO6öŽh2^8ùkâ/þl¢­ Ó¨Öfœæ¢˜Œ¸‹Ê&À!8+íî„s`-Ž.GרѱȚ÷¬ÕU-"‘XÚ¡%¸º0±½¹-47·sÖ m-J…À~A+ZÕ´©7“OˆÄ‚Ì¢»÷òî, ^ñï͇ü\g²UVqs.äs8{²hŸ†ߨQ]U“F"ý÷>Ê'ááu¢ ˜°‘=›dU“.9¸?û•sù_Uwæ‚\Ù4±œ,=|'ÍËpjALvIr·€—]æ_eËI¿k2ú5"´× ¦˜Ì3ÓÅÑ˪J®Ç¦éMê?+è%‹;V„£fdˆª=yá/®”9”Ó‚ì³³¹Ö¼˜ï4 Ÿ8w­™O‚¡Ëò»¥ÜÚ—(=¥!Eð×?05uÆ¢h$¶á§#Û¸]hs-MwÞØ"’ËÁG-éîáÿrवي%s(îmÕ×7ܸ A¿öv¶¬èÆÍp¢,¥~{{ûõ¿nêêêøêêôاedÅ%Ü3;ÔÝ#ð•UÝŒ€~ü}q ý¡'qì%8;VxMÇERû4Ö×·D;vsï]ÿÝRŸõ”Ÿ-R›jÈó"KøëÊd:¹m… !s–Ô”æ=€ú|^[ÂÕ_ÍtÉÀ~Ñæ6æœæ’˜¤ˆãˆ†rïÃÆÞ˜ê“àÀ¸½½¥­3Áië›YOšQ×ÔÙ!ÉP‹’IY>gc[¦ xoï1ˤ*Éù1×O¨2Õ§{Ì›dã ¹|”N¹"?­îêŸéo\¬û¿Nš®³Š†É1û²÷öÇt¤× À¢©Ï4˜DëÒ͸4óZªÖ, QWÃÂwï¦dÞI)2±éÓXFëws[5iâå ƒ”ù#bc2ËÍí‡Ié ¤ZÌ­Õ+%ûíîéùv×A!Í@Çмo94:EÛüç#×ËjÑB#CƒWV-?zê\UM]qiÅï‡Oûzº-˜=]Ù¤ð~Q|âÝAÓõõôÀ|ùêukk«iž}®Úô{;*Ö××ÇÅÅI©!<9&6®±±qVH0jæö~/92×@ b[\í¹ÿgb\¯q<.ØFiTCxû-Bž ¯JwaÛë„4î(ðC888888ÿ$bQfj¢‡—¿Òù95â°¡U²}†%©õµ9·^8ðUc]åÕûüBNšhïê‘thpüå=jb%ûEgkm¢ÝY“r/ò„ròÀµuôó²REÂ.ʹ:èrv’›•*‹Ð®=gÊ膼>ÆåÚL~saUq&ZGS“³<ôí† >]Òú’.*×hû’oÃÖØ˜8õÏÜÓ!¨.?t0ûõ{ÝPlô,U!‰Ñs¢kõ˜ÐÚ¼W1‹j`«F²¬¹ÛýÇ®äÕ±•ÇúûECâ([SçÅ!k‚}g\‰>}-êrskcdÚiUmšD¤@Ìò"äöDsiOø”Í,Iu7ª‰GUÕŒºÓ§Ø)zAœùÔå ÌZ9M¸_£"hÙ¼bžRÈê^ZÖá ÑVŽƒc‰¡ °_QgÍë+çè"’ÎðöûÍÏv*ØýÙ/zˆB"‹HìÃú‚ÀyÅKK~ÛxïÁã Ãføxº+§‘™™——áÁ \šU7#îøûù::Ø£àžýæÎ ah ¯´·µµ_ºr´²æÍ™­®ŽÈƒsþëÆ-¹\>wÎlMMÌmD9 þbàx Ú¤ì2aßiÂ},ÚÀË ,E8WD pѵ‹Á 'Ø/8Ùð÷‘&¶a«&^Žð¡=Ëkγy"CÆ#ð" çfìßâl¢­¿úŽa\©÷­RÒ’zèíp+#û5×0‡+‚¤9ñç•SÍ9Ú¦®s>¸ZÓ¯þ |$PÕ}væ¹$íŒÚìêýy:z©èJÛd6ùÍ[Í2(·¡Ã=iHüHei[n?S>¤í³9 ÒÆ˜Ö8˜pتš&S×ìMï¸ÝõͼwúØCoñù–‡ÎWVu0ÌfÞÑÚ µQðkâ÷m 4S£è.:‡Y­†Ø3;\Å /{è–>á#â–åkëèqt0™¥†òìÊÔËúZt€ž Jb©B,…klCmfyæí};ß™6=ÌÐÉ,ª®¥ãp½½¹B•5ŒŸ6p`nerzÌyåÌm\Øêš9÷&–CÊ%ãÂ\ŒÜÂÖä7w}]›\(ê»Ê’+ºê)Qç@þÏ”ÉÓ5øæuù]í%*¯†|ýéú}S¡-EmÝ-=U׋v-x»˜|IÍ®GÛ„…›|ùCa IÇ„eìN.Tœû3gëâ=¬²:•>ÙaÚÚÅ›Œ õ^û=« $µQ³<Ü›àÖ‹,Y^.æ¾h}.¯ãRd´YŸ¿4”C._c òœ`O´EAΊ±aªÐBCdŸÛ«Ö¿4Siέ¬©;púºõ$/2up‚1‘Ïo­Z¿$ÄÄp†ˆâ»ÿ쩘aLµ? >ÝÙR7ÕÙª!äéÕÔP§’Ut8ØLà‹Ûú††¹sÃ€Äæ&%'‡Î¢‹6Ehú…P^ˆVFáÂûÅQ1±ÖÈs*¶v0ߊ¸y’|¼§1Ã|ûúÏ=FpDü_ZwaûÊ}Ÿüv–.¢ÆÃtý ®¥§»£&ëêgv±½w±nâo¬ã|É ¹Ùò.&ÞOü#¼ñÛ•ïþÕÔbêÓwðÀ‹LЖðÁ§7šÈ›Ú3‹°KœQ†$.Þ¹o¡þü>ʹi'¯öÌùøMoä&þáÏì•¿XVsx®ÍœCÕ‹ÓøøËù_ë¡»‹W]Y úRèÄ%žØó»¬ Ÿ¶òóPØPö«üËÉ|f,´qì³e1Xj³—m“t³ ª‡6‡Ä4±úq`;'WàÀyÙ©ÉÈ7æ†íkÔBè`ljÀ¢|Õ4t§Í«mÄüì$R Ã2"QEÒ‘›rí©­«Ùu²ï\×W~zãˆJUŽn!Ð÷dÑŽzµðvfsà:êøøÁ‡! PQ×cpµªQG ¶],ø¶? ¦’ivæÎN¶Ž <·póLÚk ÀRy›ÆÒ€7•]:{Œ¡éB£aRÌP´VÖݼöÅYT &šu=2¶ºC¢­‹$¬V>ÀGº±ªhQ¨—µ&µBV?ÿqRÛØeO†&À~­•+ØYb€JÖ7?ïoÒ,‡®S*u6UÎt?£Ï’œ_X”_X¼iýªðy³/\þ ZNUtLJƒ-PV0óVTTÍžª4Þ"¾ÐW®ëéêB(¯’Ó%†|Â÷‹Š@ÚÄIe % ‰IE%¥!3‚,,̇Î/7¹w¿ÿ܆ÚS,B|¡‘NX»PH¸y`‡ß°ùç~"ð•ã<,çï8£- –.›²ëëZ®”`J–VŸ}÷“T¯_¢.5íÌ$tg9Ò0kçé—ÝÁ'Êdé·¿WÍZy,™8kÀíp¤;aá±ïc,Þ|ÏèÄÑQæ£àçï}õÝÌÐ_"ÖÛaù D Ng0é6>áK}~ø¸¸QD0zöÆ*"'hÇAèRŒ¶¾v|ûüîùz}<“H¦ô^ãR)d"‘®“®™FY>vˆ¢nd> a}xÊ$ÃE¿^[VÖÄ0åž!G8³CêáÏ)ñN.TöõÊŠ=ÔÔRÕžñ7J"Û/ú”˲Æ.ÿ…¯Ï_5s¹|Ë¿âþ:‘–›0ÅÅ|è±0Ñ*/ŽÉ¢PÝ|ç£Gm'A:¥ü¬4·©>Cë»§'ÇCJ$¹¾²qõ¯(Jono`«2$Rp`©L®¡ÆÈOÖ³´/k*ÜÞ‹ÔU1Wt\`eñ•'jÄ™jF2]upu&ãÞÎã>#C‚ޱªMM›ÖÖžr$7u©ãWÆlLÚª²¡ØÜÈÆÞÇ5Ôoæéë§ãï]`¨ û¯ÑTÓEûÉ/ÎM˯¶s¬Û\W¶j®·Ž¶9ß/)?~)ÆÕÞ ¡Aöyn€«F_sîžC U“¡YÀ¨»šÊW‡º;!nðöûËþ=ds»²[èQЈ´UmZ:Ké€ åàYÝÚÚàÇd2¼¦z45·8r‚Íb8ØÛ9;9‚:6.¬ÁóæÎV㦦6)9ÕÏ×[i †C@‰AšÃá,Zˆ}w@+:&ÞØØpÁ¼9ʶø‹‰B¿Ë5QH>è‡dHxÁ›Pø!dbû½þçhìWÖ‘¾o·‰¡¡¡Å´×ÎTIÀõná$ßÙNFšjš&^ögóyá òö®õw2娩j™û¿y©¦7À~BQÅùwg:h°96aÿŠmêÍ7\WÈ<æ¬[2ÅXCÃåðä7D}³ØÍTü+=Ví¿¸?>´çî´oæØhiØ…ì¸X.P Ûð© 6-÷1×V×qXüí¥ ;WxYéjê¹,ß›Ó檇/|¢OÞŽÀß…„Wùëîtƒy³¬àRYVwçD†Ék,ìÏ~‘ï¾ KLQc>¸•I7q·%”æ7`áq}+”Õ]ùê×Ö¹;^°ê3| ]¿¬ùÖ+$î8±sv¯ñ·ï¡ ¹•q‡~V™âgù·»¡§ur¥,v¿;C÷ DýµŸÓšk­½fòÎèmö:þßç÷&ÌÝéï°âb³ô 4ìK‹¼–l]=ÝÙH–üœÆ…tØýväñrd¤3Û¯ÙC÷OðâT\Üâ`¬ÃÑ3ŸºjOrk¯×À0óäìúÊ­ŠˆÖ ª†×—™ˆ‡èÐ-}ô5÷Ûs–_Ø1ÓÕÞÁÙÅu²»ÝòËà¥?üÄ‚Éó{¸®¦‚@P11Çœ'ÛÊ‹’Îëk<ão”TNè3ÿʵ­=‹©s–+ÏC]^dOGú–B¥OŸ¿ÚtÒœ¤ô`°]¨,Œ´jrnf%^E냲˜»©tzVêÝ <±ªlusëÜÌå(~akkÛ]B‘XO0÷ˆ$µU1É—­Œí}]gög¿­üjpx>YôA»Vªž# ráÔwÏNÿ®X*¢J4ÐcY¢åB± ®¹ÂÂÐÞª«©½ºì•ÏÖÿb¯®Kw–H‘K,ýyú„‰‡T,”Iá3†lÖm U^Ž&ýií¾£,'yšvkc•‹…¶Ò< üóØÙ«­BêÐP^ðdîj®xq¶·’ýŠ%’}‡NßošÛ Ž(†Q ¨XÌ­}kÝB%û…d¼7£â¯D&—‰}‹gú'ÞK툀ý666ݸabb¬œgvv.uûûBÃ!Ðv'g''prFk‚Ëttl¼§ç”þrYƒ‹¿}pŒ ÷Ûï<êtØFÀDð›O ÕZ] F»­+ÌÛûÆwmë®ÕÕ×äœÝ>™œq—JÀ·1eMui¿ø|ºüýˆÔ•¬ç·eÏÕôªæê¸/Ìþzû½«Mr°ý$½O¯äÕ–^]×sð«³eXê¼¾i×2æjRØ®¸û½ïÁÝß·vs„Ó×Q%u9W¾^dO<´gºíª} e5){ƒ²Þ ÿ0ñÈ5”IgüPQqc}Ç›÷VŸÌªÌýszþÎÏ® •YøpãÅ8Ï!ââ=¡úZÖs~à½ðÅ&7Dé²§"£Z®Hý"ÌÕÚÄÐÔyÆ«»š¯´ªC¨ÿòîÓ¹<A!n/Jˆ+ét y·*¸ñßÿ;mò‡ïøi¨Œ —¸ôðæ­îßíÛäÈìWŸù¥§lô~šËë›§©ÒÇȽ?Á#üœ#»“MV,sm»UŽÏ°™Âκ–‰øKvF$µIÊ#jLqeÔ­6·ÅÞœþë֗ʦy6ÒK/7ýüéù*éðûí¸—7Ò™ØáCöO~Ö«ÞÉ Ú›ZÓXvë â//¿v² ÝñÏ¿Ñî¨ìý³,fþQ*sï}âŽ\µ ÙÒ²Æa;:>YþEÛ†ËÙ…yÙ‰WÈ‘+Ù‘'6nÀþw‚pa^–“+fÔ’I%ѧÿk¦øê>ÃEÉå°—*Í¿M\MÇaõö¯ÐøX˜XeÚåÒÈŸ’Ï|Âk®Dç ‡¼C–¸L_•˜QÒ=0 /T PHÖ¦àÀ9Iˆ/(ëAò g°jZÜëü X"Up»Å­|Ê[Ÿ|®Îèlêó£ÒN:š¨ %Ýéç>u˜¹]ßæ‚áæ=“Æ`ݽqÐÕš£¡>àæÊï§_UQ!ºx!žŸPßÅm*¨7žäŽ)=þ‚ݦ¤Ý‹ÓÕ3d0‘Ë-g¯šòûEy1­â#ûÉçnÔP ¿’Ùpó^í9¹V Û–N&Ñqêûø§à¡=ˆrr·®« få »ÿJ¼§BqÿþXTˆ§§“)JVAÙÍÅÁÜÔ(î^ÊïGO™Ùøƒù—(—)È2 «üöÚ·Ö/Rê9§¤çd”4Ù¹ HZЏ}Ë+‹tÌÏ)19ãøÕ8ï>ßct¶À¨ë+î/=mºvy ÔôÔùë÷î7«ÝÙÞD·¿»é-u¸NGà)}öòMÒ{ÛÖ)¨©­ÏÌÉ žî§ÎV371úúû]ásÔNÎ|':VWG'ÀSù‚†|>¤Y,VhÈ 4¸©¹9.>ÑÒÂÜcr_øýCAÆ+ŒÜ<ÐFi""ÞB8*$|÷=xƒ°;yô¬qTëõGο£vz»©íÌ÷.– I×0lt¤-íàBÜ÷óò޾ì6ÉÍÃwÙOY= 9|H?*d*™¢ˆêÁ¿vàòøç²*ÇÈÆëÅÏŽìÛpôpFDWÕt^õÑöp/{SSÇ×w~8©ôRbå#éø¿{® ×ÚÔÖÅÍÛf gï¨ßßÏYÞ±óçª÷W;>ê.¢Vàç'v:ßÞ¶q_>ÐfãÐØF+¿ýnnã‘ÙH>пÅC\uúMçŒ>ùóC1ÿœ±ç“n¶•ÝI$½øâ"‹ÊiÍu ×kìÂ}õFêF…DÝ-¹â!ûí£Â2ò™¶§a÷OQ[½@ËÆ˜…)Ú¦ŒÎúŽAÞ©æ?l·Xáƒ-ý!kæ·CÆ««éaê°ÞzÓÄF›Ðós¬»«³®¶ÒÁ ³D‰ø¼ŒÛG 9ŒgÈ~ÜÞÐ_ÌüÛ#’ÕóTÖ¾ó=[#%eñZéId"‹A¶Õ–äÿõßʬ[ʳâàæ¼d[~5¿¥íAæ‹Ç€ۚ딦]νw-#’HÀá+¹‘&ê¼²TÕ¬l³3î)Sëè› ;UBgoXõÒ{ýÙo}WÑáÌwïvÿªjÇÓ2`‚«öDÍïgtÚkþË”æßØôxÅRÏØVÝÈñVFýoçk›1õ2èGC='$èÃíoÒ弎Ö:àÀ@V[*gúº™câÉÍ-­N_3³À!šWÐZõêò0%G-­¨:z!ÂÊepÒ#è°¡ºhÑ ¾XàÉ|öò­èôòaÙo{KCÆ}Ó‹Êž!¨ø·?Ojki®|±/ü8%#ûVL¢Ÿ—'°_Xˆ¶¶Ö’…óNž»Ü𶬬<&6az€¿·WßÝŸææ–«×o€ƒ´R++;'11É×Çg¿£¯<ß( IDAT¨&ä(¾LŒh' BÚ„÷£¯í'lßLxÛƒ°ÿSB&Á?Â0Δõ¿Æ•VÄ~jtmûÖ#åÜ”üº’6†±ÞoĬ_ý¦mýÅ´¬¬ÌÛßkbžS£ö3ÂØà›6\WjSØÚäÖâÚžºxx± ¡´…¨©A¤Úp øPx çÄ9R!—Á-"¦¹›^kzav·.÷¡QºN) ET|ú?çd¡Ë§ôpR4Eï¿\Trt©¶––¶ù‚ý¹I_úZ¾pl8`ªåÊ_~[\ûåŠn#€â«%CnZ=èeM7ß[ôNîÌ=ûÖÛŽÑú‹ÎSÍež4þúí¿b¥¾!v¾s ‹®ßޏ^aîo00öyØug¿¶#¤ðagvĆýд í%u=è] I[ePÝXk¤hï^ƒ‹’0ŒÐÿhkî·ƒ¤ªÃ!4ÐߣMl„©<Åù9éöŽ®}ÚW1gØŠ¶gKÃPá+0ü¢.Ðe ]a+Þ6³vB÷täßøÁF[ªœ$ƒFr4 UÇþRw\yR,l]Ö¿]Ü olét¦hT2pàâ”K…éQè!àÀ`³•J$€ÆDVcS ^^RÈël»}ñp{eÍœ…¯°xDû*ƒÏsdégK>–Uh÷&7ÂO ±@Fë1pÔ÷Cävµ'dO…· ‘¥c`& êþy5óbtvS® “H¾ž“?Ûñš‹…N]yAk}…£™NX°Ú˜j¿û툆± …c¡á´•÷_œãcjˆihµµwür𬆡ã Ùgˆnª-]8Ý-l:2xû½x=òæ½Bk×>Ã,zþ¶ÖWš¨>ؼL] óèìêîþqïÑi“]ç„`ögØKïÄ%%§ç¾´p¶–&?YZ^ÑÚÖ6+dú±ÓÒ32³rr!­Qÿ\G¹yùëhFÐt†Àíùæ­ÈöŽŽÁÓû+c)g‚¿˜p‰—LøèÏW‡ W +¿"8ÿáó@‘FXõÁ(•ðö~ÂÈY3ÅMÙI)5\ MÏÆN‡$Jë)Ü'nJu1{¾½­¿~³·™N—·•–ÕÔ7u‹»;z°ËÅðÛt-‡×{Á3|?CW6\Wƒ©OyyùÒ‡ŸŸ»Ï•ÈE=½Ê*CÒæô×£²›1/í¬­iI{jc~ýúaæŠicòd²ð‰‘a:[¼Gàï‹@WÆÿt&&«¬¡±,vÏëo\fÍ{ÑU•@1›³Ú!ùÃ7vÇ”65—Çïýpg±ÇšY¦½ö6iO{sÝýèß·Íý¸váÎ÷ýà›Ó÷•TÑ[x¸¨¥±¶ª²²²¢<óèËöo^ÉM;°ÄhØë@¢ÎÌoN~j|áµm'*0¢\?Î,‚[›~ìƒ7OÃ^rë»ôxfHÊy»ÖnºnûÕ‰¯‚4¤0CH:Äl=ÒìØ® <»N}s¸}êL;&ÙȦVü·ÿÍ0[`8,(ºy¤ýV!ÃÌø‘L.ƒ0IäæAÿ s´3;Òô—³§¬^¤ñß}‰M°í–œûjWå´ óÌG’#2µµTêsJ;ÄÂ~ïÎÇèkö·CÃsyðÌWûî6ÃêË+;‘‹G›Øi<7ÍMõ]<®¹•º¢¦ªü’”K:êt×f‚Á€Ûj@}•æßòÆ.÷ ¥SüÂÐadQöµïtÉ- ¡Þ`…hg¤ÊË;›uã¹ ûÁ×54_÷Qy³JEMë Y¶³ÐÍO8­äÀ?ì2ÙS"4ôD-ÉÙmj~fÒ_÷h™¾´ÚÆÇnò4Bÿ-qû3¶•’¯sìÀׂ2ºSÞDÍïG‰@{­0Øz-•„yE¥ÆÒXßC@ ÇÄî~“ì·s ¹¥b‡=Øj¬×7¼¼míb= Êì iÀ–Ñ·îÄ7r¥ªêÒ´5U/ rŸæfÖÿäöSѰ$û ì·¹¦t¶ƒ’ý®܌¾—këŠE+'/€*O²Ðؼr¾Ò§B|wÿ~<<,Ègf=†Èá¿"cäRé+«^`«a?Œ9yEÅe †µpî,py8sé:dúUý‡O¸[UU=oÎl‰aSðå«× ‚§BÆàþsÀ_?9p ´Ð7qšùö¹Ê!ê²½-$u}¾îíSåè3UMÿA€¹Ž¡ÛÚKÆŸÿ:D{LŸ³¡ Øðã8Ï2±DÖýßõ¡“ÌÌ=^> ÛpòÒg¾ˆêÙtùþsïi]Ýâke9í• oŸÚ»Ì¬÷ÚTTr`™ç´ùoköÿ!:úûYÃ:à+I¤³5À± y¨«kª3)T5Mm-uÆHTO…éøêﻂ²Þ_û] r‹Ÿým€‹¥¦m>å¥Ý+ŽazÆÈ+Zn}ùMdmùÙ“8lUˆ¡b™,9Y7fË´ºû‚)²2©ûLGH2I5 ֪발h4YŒGÚo[/-3c±Ø6n–^_c¥ÊÒñûw&à†9ò™;ÄjžÿSĆɯúV3Rl;õÛR“‘—¢é³q9çü" #·ÕGÊËøö:ú‡ýí ê„ýpîs£ +]L,¦¼ð¯Û ½wKmbc_ðÿXÍì´$·)}I€Ro6b+”:=O1Hèo¯ç3bþ•É[xbš¶Õ¬%¯(gRw˜Æ+Ðf5YÅl kqÕíô+?JE˜Å_]“ó⫟µ Õ Šë-‡N#Û[ê§^-ÊŒE¡¸›×y??kBÖÞTxŸÁ/YãŒvhíçWS˜s6éó› ;ÕmºÚWé.3!câ<a·”-´µÓÅœÛ:["Sr8CÓ )ÔµôèË3ÑE'o¥wvcŽ“$Ñwšûû¯¯«©kÈ+,ªYXTºÿä5DK"R( ¿¥¡bŠÞœ ̵,º{žj3%–ˤ #êi» Žö{ãNÜ…;ƒb‰¡O4“°¯³ñÚfҨحĺúÆ'.¬|i“½ ºxð…>冖¦zh°?ƒŽ|Y$IRJz;·sº¿ªŒ5ÕÃËíª­Ã¾]]]‘w ú¼¹aªªHŠc0ÇÆ'LrÁò>Y¼ÆD  rêÔ©ÐÐPeWZZ’¤õt’Ç!õ¼¶ ¾°˜°a-!øaƒuß!yáç}„E;æ#ù¢ î²VÌ 9ÿrô•UÆc⌃ÛÿϾÿÇ.üöŒáÇÀÀQÁ¡á);’N- Ñ:¨ö‘#GÜÝÝõô0Q¨úúŸ/®¯­]¿ L‰§2?1õìgVlL ãY¬œ%ÀA$Q@4C—@Ú*ÑZ÷îš,Ʋ&ëzSÒïÖFjCõ9úO¶º…Ï£Zx½ô9•¾ÀMäæ™ßÄm…îN¦ƒ–%JÊøÎ¾/X;cô¡3SÕÔ5ìÄE W•š [Ö¾¾dÚ‹zcyñ^µyÝ —%ág€@mA׋–_›kaŒ÷ðÕ£ÕÚºX*à¡‚Ÿ®Ž¶žöºÅÁή6FÊ R™ pM]}br¦€¬Í`©“ÈT"D™“©=¼vMŠè­ K”FÚ W#®Æå õgnª) p3[2ÛOyã)":áèÕ»ÖÎ^dê€Ohn5V—̘47¸/~rGÆ$.]¦«‹EÈóx]ç®Üôñt··Å.û{zøñw“u8ÚîÈ’ §¤eo·±²8|âìÚ/5€_Wy¹¿Ÿ/êä X÷’S!E°×´©(Š ^2É}·…###ÿY,kqÜÝ–p8†°¾û…DmÂ[ýî#€#€#€#€#𿆀¢»2·‰®¯1Ö;¿ÿkë{„ùJÄ¢üÜ WŒazäQ#mæ3d¿úÛ÷‹ø?ÃßòúîÙË^W²_¾jH?k¢Ëý¦:L޼êîñ{¸(" =wù6- Ÿä¬²A1è+f^â¹ò,s/™BqŸêÛÑÖZZ”ÿ€ö«Êkn.މQ74´Ä~¡–¾¥íl÷m 7;Æ×9Þê1èé”è\•ì·¡µ.¥°vö ÷0ø6ë˜:œ-;™Ñ?*ØÍÙÞÔÈP(–ò!å{¯ùW&õpÛ(¢Ž×VÌS²_P¢:™2 û­-õr4êÏ~ïÄ&ºmî8eû1­®¦ÊÅÁ“û³ßÔÌÜȘ»«^Z¨d¿õ MÀ~ÃB”좎ïÄÄ[Z˜¢ìÈð˜:ƒàkldèçýãî½mmm³g† ì·¹q{ÖÔЀìG8û}ÌÛøšãx|¸ ׊L%à.6×áààà<ïH;*Ëêy™ òÊ—ŸF¬\ëñ7Ö W–ëè話1Œû)7ˆ]å4ÊHñO|ºhè/ªzì·¬¡ÛoáFGwLþ„¯r¯~kÌRÆ&’¬¯I7e4'Ÿþ´³©:™B>µÕ”ð„Ô"`€=ÊsÎUcÑ¿À=¼ü›ëÆÁërs+““­ýý ú,ŠÝEEÕB'ãæ;W«Î¦g„È­'Žõ?{€Ö*A årp6¾židÒ0 6 ”f`nSÚNüõ\|QU³²¦«³ý—¼®Á5U—ôtʺ7­˜«¥í3à)ýÇÉk–NØÍ&eÃæº2O;½—æ(m¿qwS?}ËÊÕ—N¬TÄïæ·”¿æ53KÖ $$¥%§e¯Y¶‰Ð>óï—$ÜK Ÿb y¯”WT –—§‡­µÔihlºokcéᆘ‚Û;¸<ž……™ž¾„øŠD¢”Ôtž=3ÔÝËÃ4 ø¡'„N€Ÿ°x·88888ÿdmÉ¿m™íf¦oæÿqɬ_mwpmùÁ¡ßB%1P;¥‹¯DØ“ŸpÎ@‹1¬ðØÓ1ÿBê#䯼µK¤eæ¶ "*óoÿ¦GãÒ _>1 ÕŠÍ˼øUciZB|§…»‡¬OÌ(éì8°¥-3椒S©4OŸ GâÀ¢îîûwîôtt8ΜÉÒÄÄäIýÉ“•;vtŸ<Ùpù2: >ñû¢8º”7‚~çèkÃŽî6±uš™ÔZQWšSÞ¡¡=ÐGräÎáX‚éëã·rn'I¤2´®š*ëëßx!Ì·²(‹ÛTµlAÙƒÜH ÎüÝÞ£ÚæîýÕ¡¡UK]¹›¥ö²ùAJõo`¿»^±uõÄ~!°ˆ[³nIˆRL ‰oÇ$ÖÔ7®{y1*pL>)%#¯ðþìé¨à3”dçäùùxêêpà-(`eæäù{{Zš›Á@:.ñ0á-וWVWTVÝŠ¸-‹ûËbŒ~ä "0²LÆïzDHfën”¬ñðó{à»ðç÷”â+ÃÀø'!@Ò›½óÖìÿ¤%?l­ tlhlFg0ÑŠéwŽ1¥­dööa­'þx¯ê¦}%Ë:¥ìukߥR1¥«Šäsä–TŽëQS«1ÈÖDAQänQÏJ3WDSLm®Óf@ΧäˆcÎ õ¾%Cº6K=BFôI0ô[!ö1°¾ÌÙÂÊiñ.·41QÃØØÄµÏt&éè¨Üµ‹z÷®•ªÂbå;¦1y2Ó ¡ZƾN+î$ì6œ3@7x¤þñò A ¥J0oÒËhW €ón´¡ñ`ÃìC¢):¦¶IÅ ¥µ÷–Íš¬¡Ê€&2yaX°žŽvfî}{+äÃC,–üòç))•£Êp–[«œLÕW„+Ùï½´¬]‡/9LÄ“{x„žÆ­+ç()VóÛq“iÉüYÔ^,(ïT*›7s*pQ¾w“ÓH$Rhpˆ`ÁÛ´Ì‘Xèë  fVN^[{{p [ Ñ»2128rüÌê—_´°0ï8þx–ààg‰>>6ŽŽŽŽŽŽÀ󇀀ßâWÎXºnsuEF¤®rÿLˆós¯ùl¿ð·¤¡gÖÒ­º˜Z·þ~cöeÄ:=.ó4“F²Ö—Ýù¹øîYåêÜ|ƒoÍ«èniãõ_2p`s=Jzô©Æšb´8°W@HUEIEiÑ(à@ÐoaT”£cöËËÈ(zóM­{÷, *‰DQQ±‰Jþýo™KAé2-Ô°}RWé[ô(£à‡®‘ª¿³÷U–5ÊÙƒuÑÆ2 $sæè›t4vŸŠË,ªU6ñšâ 486)µ¡±xéÑ3—‹j¸ZzÆ2‰•††šÀ~­té+…P)˜ŒsfNþþÓ7ìÜý±ßÎö&²¨åW+Ù/$Rºp-R1……¢ìJ®Ý¼C§QC¦û¡ì¢|#¢bÕÔTý¼=ý‚ ÞÒhÔé~û…£·£ãÀ €°_àÆ·nGGFE¯Y¹ÌÂÂ|,kÇëÝÕʤ ~-Øf5:¬D*¹e`Œå(Ç\€C²Ô44Œ/ÄF¥Ã[´C} _Ïœ‚¢÷ŒLÌÑ5²”‰ÅXz$¹¬½¹ÖL‹¼á¥ÙJ}¬¢’ò}ǯêZº3UX‰¡&›ØýæúpmM,Ä’8wÕÂÔ(ÐSîêî9w醵•¹×T,6¸©¹¢|ìí&»ºÀ|jjë£ã]зյuÀ~!r nljþmÿ¡ÖÖÖÞ}ËÜÌd àMž¤^xÁÊ ÚF ƈ·'U*¦ùQ'ñ¼¶zTðú888888J²³³ žKÔî®Îüœô)^à ëíh¬L»ù›±æ3Ó¾“¯¨×ùžÜ‰ˆn²zû×Jr^”Õ“¯Êx\Õn2IEKÚT‘ÝÖÎÕ1w%’ ;¦*ÛÂÞ#å^²ˆß¡¥ÞN¥™Y^V&ÇЊ©†ˆ„ ´‘inV ø¾²Õ°”ª´´æÒR‡3lŒ¥ÈzzªÿøCvò¤5Pç~ÙMÐO—:™\‘’Bww§÷&Ù¢1YL¹ZvVÛþ™ùŸÿC¾ø¼f± %t’!vo%«(#ù~»®Ûc.Ò83Õ4‹*››Z,92òUni¨§1¹MíÝ@’Ñ!àSGkƒaÓŠy,Æ÷þªš¿çXNf© ô‘®¯4Õ"mY5_] ûd‚!÷Ô…ë~ÓÜ'9;¢6·´EÅ%x{N¶µ²DKî—æyO›zÎ@Èsó !Ð×ÇsŠžž„ C pyeŸÏ4T"«¸´<.1ÉÍÙ)lVÈc‚€7Lúßà+//„»}©ééãûym5(ð&888888Ï=%÷ó,¬ì(ŒRfƜ֣ƒsæ³YwŸósoÞ£ª&~à¼U &”ªô+üÒÍ4iàÀ6†ª²êÛ©wŠ]h[uMÎ’W>n©çÕõï ìÀæ:Ä„«¿·6T¢å4:ÃËoFiq>$OFKäRiEr²X(tš5‹ÆÂX ýþ9íêUk&“Ò{‹aèÖÁ¨øé'àÉè!{@kY`gî=ª +‘‰åâ&U‹Ehb‰ðVR¢ÑÔ îèY”µ~;_ÛÄEûd2Û7®ôv³®«, ºeXtU‰‚-«¨2±tUMÝw{k[¸b¿Í5%®–š›^ž§¬ ©ŒÎ]¾:ÝÇÎóßyç{©àÕlfb #¿MÏÌ©ª®ñ÷ÆÑÖ‰Ä pÅëꆠ_ÐÄ„1 I¡hº¿7HFÃÑ„¤”êšÚ…óÂ<§NžðN&G À8*ÞŽŽŽŽŽŽŽÀó‡Dÿ6Ô×XÛ:¡Kko¬l)»§Å¦=“•éFŸ‘¿2EC»`JÈ2·i3ÐÉ»ZªRÏYªÉ'”œ[豘¼ì{g>ðZÑ€o/Þðd-ÇŒ¼Êþ8¨²¨(æ¶5 å(..Èih‰@P#“J­}|H"9ù…[¶èæå3FÓÓf‘HúõõüvK$“Cço¡¤ë [pEè'õIä6‰Ütf³é:è™÷3¹u‹3QãÓ»¦Ž>AÕèÄ­ôš&,Ã3N{}ÃËë^˜U_y¿µ¾ŠM¿·i©* c¿Àiøý„šñ$5umå4¤Rq}Õ}“•á3”>ÒÚ7":~îÌé(×…Ê`Ú½_RÐËuá-Bwï&‹%’Þ°^5°ߺ£¥©1Àô ~ΑQ±FúÞžÜÒÚGA¶:$(UÀš(ð~& œO’x?888888ÿtò²ÓÌ-lHürSnÐgòÔ„RÌ1cÜË{Õ+xv e"ªnHx_¦‰üÈßÌØBPmsc­hÌaèÈ«“OÒÃmDÛÐḛ̀¥[tl“³Dù6ÕQ‰½°§?žæ|?;ýÞÅó,--k__•ÁÉܤ¤ò?¶íêêô;ÒœŒh4Éõë­ÑÑh–†¦ŸÇʶØÑÈ#µÅˉHNh×ò4›6{n§$ë?úwø ( –UËüø­¬¬bÌ¡TÇgùn_÷‚Š´këÚ%êlÌ»ðþëû} Ž]ö+ *îÏñ¶_:/P©]Z^™”’>+ÈRÁ¸¨¥}Á´‹¦ÿEé.GKø-¸^C”/ýBį‹“šú(#;×Çkª½­5¼Í+¸Ÿ’–é9ÅÝÕ» 6üZðÒgŠN€Ÿ)üøà888888Ï `þml¨±q@¤qàQ_–ÕZžÂf>nxíøà ü,U”×w-Xù–Òù¹ìî •–t6ëIÍMO“fÊlK>ýi{í}tþ$2eú¼ÕVSÂR‹±rQlÍPS~ûÌ.nÆ–ÉD’šH¡mlb:¹Ïw´ñܹÆÿþ׎Çc ú †®=x\¦Ñ ¶þŽÔYíiÝ#ÕÇËÇ@G½ÐM/ŒAQC{HÉOí–êÓ™Xh¶!äîbj›_ˆ)<'KYÁßÛcËÚÊvuó¡°‡Ïÿv÷Ÿr†>K£Ïö+ò»š+_œ9en0&p5Aºà~ñŒé~hj_Pl×e°ôôf3‚ õ Jº Ü’åÃQc#ƒþ^Ð`(/èØ„¤Ööð‘Ö×Å,áÃ./|æàø™Ÿ|888888ÏEÙàü¬ŒþÍK¼l¬Eyfæ_™B ¶_$ý¯¢¾]à¸ÄÞKÇÚÓQ×TpLjÃ|¢‘É,ª›—sí? Å÷г Æ:¯àE³6îìÂ"re29JÑeËnœÚÅã¶ x¼¢èh] KÇ€@åg¢îØ1ÞÞ½R)}„ ßa?=L"Ѹ­­|Ïåè3æm¢ç ›qEèag¡X #uêL5‹¶ïæó¢Ó3õ ûr5³ß‘›‘)T=Sû¬rîíä"¥4´‡«äÚMÎÈ®®møä›]’–:G_&Éeˆß»ˆß-h­xy®ï _,9¦gåV×Ô¡Q»ðMn¤Îf£–^(snVn¾Ÿ—'Jwãï&óù´>X˜‡zAkkiBÌ0øH3QA±¡Ð0Éî‘Z=f¹ QE×Ä2á~Ûõ„)x;ô>¬ÌMÌMŒ¾ýùöÁ‚ÌÀR‰X&ó»:DÜšW^šéábƒÖÚ nÏÜN¤öEù*Ú;1ñ¶ÖVn“×e©Tv/5¢y!ÊŒÃÜN »ÀoÁÕ¢|Áhœx/üœÁ F½ áíc® oþtxä­äéLë¹EÚyõû”3Wòvÿë^\ KÆýܬ_ŽŽŽŽŽŽŠ@yI¡‰™…2½PVìi=–♘!⸗ýbÑ¿UMÝ3mPec9`jsn‘; ÔUŸ’.“F²Ó‘WÆþZ|÷¬ò£biç¶â½üQC3دH"ƒ¿8³»¢^ÏÖÖÐ žö >ÌŠ“'Á™™üèìÎŒNo:}ZØ€élY8OñÐz¡%ž÷·ýÜ‚Y^!'Èå ¹L™u‘§D!…§xÈS‚Bë@eh ¥n/J IDATŸ¨U(h`þet›¸ÏDq»Ú² ôŒú¬¬C›LT ‰HÒ3²È¬ê¹Ÿ§äÀÖ¦k—/’;]<È ˜×Þ,ë¬Ý¶j®%"æ  ¬ñI)€×Œ@_¥ŸsBR2È5ÛX!‰¦Á™9*6ú ðz\QY˜”ŠÒ]ð‘æŒDûyƒŸ3Aü¹»»†Q¹¬‰ZÞÏE'ÀO^~vÖîÈnhº$øÃ`ÆÄëLLØì%Å¿Û,>ßÒ¿CYÕÁ0›yGk±ûj2–¢áäû'9þ¯'¤s¼ ­6¥B¶Ñ]ìûÕЇ×éŒÚìêýy::_Í®´Af“ß¼ Q›mÀåd*KÛ2pû™ráßdicÌkL8lUM“©kö¦wÈL¬oæýÀ!é Úå†]Ën} ~Mü¾-fjÝE皇­·PÒ’zèíp+#û5×ÚF®7ñG}Ø6ì`Õ@ô&~œç¿G©TÉ{”âÏ]í %ÏLüa¿žíÝ"#_—)˜;±°«µ*å¼)‡õ4iJ²7VkM?V}X.Ãܺ,ÞðIY“¢¶±ØoOXÛ²5>WÝøÆ—Õžk3çPõ½f!.Þ¹o¡þ˜?$OeVã o…#ð# æ÷}N§@ØûÔ]Xj0̽¶±ÔA!’Ö]ؾrŸÆÇ'¿¥‹ìZL×âZzº;j²®~fûÑ{ëžè¾3ÖóD$+äf˸˜Tx?ñðÆoW¾ûWSÿ‰©Oß]ÀCiKø`ŠÓÆM@‚Ú3‹.LòÈ[ßÈs–sÓN^í™óñ›Þê#W•]íöU¡ík¿\KNØ33ÓÜàñŽàõãá7R늲"=#¥ù77á"äþ}&æ_Lûª7ï˜Å*{®z“ø t¶8î°>K$ù—}¤?b9B´7Që*¼˜}k¯T„Þk#°5´_Þòe‡UXTW–QòòÇÀ`´c¹HTµk%"Øïã“7…ÂÈÈh¼zíœÊdΞ¹­ájû#.bª+/°S‰¥µËíGq{I/Ê16‹Ò`´!º1îe¼õUò^äÖÃN¼ÊJ,í5OÀR.]R ‘­½žÚ_[gK\V‰ŽÞÓ#À0.¬G[ߤ¨Qr)&GÉí­-^]¹°®¼@*ù`Ë Ž¶ …¢èø»`ªõpÇî³ddå‚wQ¬ÊêšÄ{©` IgejßÓýAº´¼4®\@ÿ¤¡a^a‘¿·'j4ž Dñnžä§4Î?qYCù«bÉr‘÷r»‰¤¿O MŠº‘ù(WmOkø888£" B¤P@CfÔ‹±ÔAüü½¯¾›úKÄz;:6(‘B§ÓLºOøRŸ>.nŒ°P¯Q§õd9A;¾BÇ0Úú^Øñí7ò»çëõíXDPIAS)`;‚$¢¨ÿl'në#.úõÚ"°²&þ7Òê³ï~’êõKÔÁ¥¦£žÂÚãÅÊ‹ |¦ÏB'æßòŒ[özÏæ„¢¶_0ó¦…²d³¶Ž!:±–²”îòSSõg”•‰`c¨ZQz©ÃcÁ[T"YmVnûêÄ—ïO[²ÔÎ7'˜jk FD˜šì÷‘N½1vÿÌ ¦™44´v ´Ùy\/ô‰(šæœ,C콈—2òÄÜ•û^ äQtBè)úþ#¯{é*” Y0r³½á òb½/¿* ø‹¼ "…*ð–H€ˆYä5^«ô¾Uá ^àÅŽÇZæßpËed"öQ¿wÓÐØ{¬'®ÂõŒ‹k¯Åç/t&õz˃øÿÞ\ßÒÖ¡L ¢Í1ñ‰úzh‚"©Tšœ– ‹Ÿàa½Ð$;· ¾±ÉßgÐ]°'ÜM¶µ±& t7-#»¹µÄŸádEhMMuPÃBNÜRðžžOûàSZÖßayåµÌ; uã×ß¶ÔhYGú¾uÞ6&†††Ó^;SÕ™þ…—í²s ¨Ó±´âÀ<×—/4ÉU+Éþ>Øõ•[­T ¯/3… ää?+}]3Ï óº ðâ Ÿº`Órsmu‡Åß^º°s…—•®¦žËò½9]ènÊ/9ûfž¦¶¡Cø9ØY%xJ?@x±ÈkÉÖÕÓí 4؇%?§q‘N~è¬y{×ú;™rÔTµÌýß¼Tƒ‹.þ>—øpFF@Ö|냕?wœØ9»×øÛ÷PÈ„ÜʸC¿F«Lñ³dŒÜó9¢ur¥,ö˜è† ûk?§5×Z{7ÁÎèmö:þßç‹7ÂÜþ+.6KDŒië«z¼MVwçD†Ék,™ýŽe3T\Üâ`¬ÃÑ3ŸºjOr+"zŠü ÞºùC~>@µâü»3íÝ&ì_±­C·÷Ak~oWË/ì˜éjïàìâ:ÙÝÆnùeðåV ;±gó1y’£‚ó3KB±0%™w8 ñ“ȯûÐE ¼WÚkþíäKIš–~³^D[É$¢âØ?­ôYÏŠý¢Ó°Ðc2»rb}Äçµ¢%Õiþs—{ÌYˆ¾ö[õë¯äË—'ýBÏàmÞÝ]þóÏ`[Fò ~A³Þš_ó¤Â:> ·!0Ko¯1ù"ÖÝÞgÿØkĺËWðeÝ5ÒžriW„—+æåHyð”u¦I:S%ÜT)/YÖ•"åÁët)7K:sÄùb~™´§A"lQºO÷Y˜‡› 2+˜$Lu(ÁýóÖÓ)1 ¸Ûè`ŽÄ ­uiEÚºÏF îΫüy9I<ÅÍÙÄP?5+ÒØÔ ö[H΋²_ Ãà ²j¨¨aÈ~Ì6 —ý‚±÷î½4Ô Q¾·£ã ÿépÌÅÉÖÆrÚ”É8ûýòw>Š[€ F†¿ýþÇ£ž¤©S<úÒÓõ6Wº2³D–ž ¸twÜ8]×!'Ìœò‚íæ_aÞÞ7¾k[w¥h£­»º¨IMÕhá<Ήs‰Í‹_Ð'Jk¢.Õº¬÷ÕçíXÍl΂àÓ/Þ¹ºÖé»;åÓU_¶½r¹xeÃÑ5‹¶ìv¿õè'Šʤ›$ì³mÜ·dÎæ=[Ìúƒ÷þœ×?»2ïÜ £ž»_®ø¨tÙᬿ¦ªw$|¾Ù!FxëKe¯î¹þ£;»ðÇÅ«?=¿àÊ Þ É™•¤ÅoËž™ÿµ6 UœÙ¾øí÷¼/Ö¡¼GG`Üt§|1Ãòk¦e=cË×ÿÞè­;” ޡޏôðæ£wÜ¿‹ÚäÈìgàg~é©öeïä(Æ‹÷ܘ¦>~kÁ¸—8jC~ΑÝÉ&+>u“]ša3+„}úZ&w^¨fwaDR›¤!2¡v»“•¢2êV›ÛVoŽ vyŒ :†­oøÛ›£Î¸ßÁžŠŒj¹"õ‹0×ÌÒ±ºÃìM_|ùšß`Óá蛹±(ëÇUïd†L½æ«VujkøË¯©G\e3:ÿwþ|(î$½OüÍC½x× /uv¹Ï:þ í}àÉzC÷v½®„O–Ñööåì¥æ”îìæ¼ «ä?±¡ŸÏ±Âõw­WTãì6T",J½n¡ö¤ò뎂0eè/¼¨kí ß´–FǾUWÔäM k”žÂ!±Té‘ܺë¿l}凎й\n5­//kÝ‘#¤ë×Í&ÂóyÐr4Éäö‚‚†‹–-ƒCàÛ2wÞÛûN­3]§Gf>Þ¹ßHˆÉô¨ÀØ ”5ù¢¯]«^ï ³ÃŸ åÊeÝ …PAèQ¡“غê¦Z–jš:j,M"‘ÌVãH:E"“Áz ’ÀÄàœ‚¸1<Áˆ,ö€X*÷ð¹~êjåv6p[Z¹e]òUAbBVeIDV“ð 0 yAD Â" LÁ¨AX¯‰`†’1|Z*ù+ì—++^Oˆ4xæ_åŽiCCõÕ¸Üðé“P›¸“½uFNAdLBzκ:¨©Œ¢âÀ¬ëá†8Bƒ«3è?êƒo3ý‚±·­½=ÀÏ‹­¦Z][—™çâdoinÁÃ)é™Í-˜x áUþ¾à˜°`>–¸ì±Î’´äDĺ÷³Rz ¿‰_ùŽYTVr6C¤ i/Þde4ÿ%YZlqY|Tj¨±Ÿ…©c¯3Ђù:ÇÎ^Âéå¿|tˆÄ®!ÕÆàñÒ]Syaßrg0€°¬œôŸŸb«v¸€•†nê:Õ˜MÒ °<Òèçe¡Æ$øÌLÿ¼´YD`$üqQ¶äà«>P“l¤¯J…èfa~ÖÚ*×éS5®•5‹ˆÚ™¢ãìÙn'³ô´T­l“püX3¼1ŽÀ4B~Éi ²˜T‚°5ïü'ë–/\½þòýï{Œ¥ìZVv:"n¤4Í7ìûm`º’rçsšˆ×˜wåë­‹— ÎŸÛæô·±ËÛ¢>]¿K²úô»1jÚ2íÂè[þÊå…N-Hál|ÏìFDró+¦Â¸›MNk½u‰„š~ØeërR¡@ÚÓÑ-àS=?Ý÷ådCyñ¥¿±r áÆåmW3êfÎN9p¢=ôûÍt‚ÝÒOß84ãеÊe[-aCæO02;è|–Ÿ6‰à8Më\q£h0d{ïßh¸½–r4’±êx¸92o(ö"×ϼ&fó|1à¶Öf¸ÔÖÑ5@A*ω£KÚȤgÀ31óo¯ó3·K¤mââèî‹ÎJÈknÉ»e§Ã|¶æ_ å@€!6Z•NÑcI.í|Ë#x­ÓÌÙÊåú“'%§NÙ²Xjò±¾À”FË;wNÝÃCÕÆjpL,fO}+6æWƒ9ZÃ7x”RD·Yú€÷ör` »È_DŸþ"þÏ AÔ&“rò.›Ä1Õv0ÑwаÔÕÒ2ÒÐÔG¼“ÇöVL£#Ÿ1U¶öH-„ü.¡¨§££¾©µ¢¹µªª(¯SÑFbÈ*4-‚yA#4á½½”˜0ʇ¡„<šwtw›ØœæeªéˆŽ^^[’WÞiël1ÒdžN9­c`šS]¡›>ɤßMW'»#§.ÙÛX¢ì|›!e‘“ƒ­…²‚®Utlâ$G ¸`+±ººZP€…BÎÊÉklj(_†j`"Ö×Ó·øô) €“©" C6”ÒJ÷nÚ´Iš½×ÿwsÓPè -mðÞϵ†›{Îùý¾'9¹ßó[vÌŠHîvÉöŠíÞŒ$Íj×7Z'%Œ½×átìÿóHÿš½¸9pd^•î磹èE"‘¸|ñ<•V/mh,(,þóô¹A©)(û­oA£ÌQÃýB¥ßßßfÐùè‰S&³eÜ$9VIYÅÉÓ ýXŒ1öÛî‡íŽ»ˆY€{kÊxãÆþç‘òYÿ‘WíÏþu×ð«\£d.INîÔ)$òà'®x#ÿÛgî}òñØûމ›97èëŸNä¨öÔxá¿p´¹íïøó®Id¶ 0cÃöÃ/¤µ²Ê8ª;WÀàs]¥ f\$³ó;;z÷RïÛÃo)û%{Y¹yÿ}#ÿÕQ?Øu  ^BÂÍl8ØïêˆÄ!Ãtv9zÙÇŸ^štÿÒâlž,l·xH²õfm´ž«îh<¸aþº+S>?ø`|­¿è`¬ÔY£ì/þr„›cýjBFÈ¿9¤®Œ7F ;·ÊrÝfé{8¦çæzä  Å©B•3Ép–u0ÆÜöÓ.¾˜Ö\*5¸R_›²ªÖÌÊïÈ×íØþ#íõ;Ó±½µÀdž‚#.ñeòݬËúúÕzV¥”g ËD¥ª+ÉÆ©JÈÁÌv9CŸJÞÚü«ÐZâÓ³B%ˆ‘eÕeC¿æ¾.`¿N/û•ËMkؼþE {>©ŠÃ‡Õ[·ÆÓhà˜Û§@± ^EEÝ?HV®„@€i³×îøi]h'Þ´…s+9À˜€Tß…¼ÊnÃ/âö ¯QÏgä:ÎÒä°+\|WhbPzÜà!ÁA14:ûV½zÞ‡zQ«Ái7;v»E+7£Ýâr@x9@Z $ø ‰žHƒ¿RgœïÊâˆàŒŠJ‡lcFƒ¦±±¼¸âBÅ•\ ®(  ˆxò`·Arîã‰`¾>3:¹%†1FÌŽEe-®.¬QÄ$†vQµ¾¿ÍÅ ½TZ"ª‘ Ã97+sèÏûÃß´ÉÀ·.—–•”‚±þYZ^q­¸|¤!A´²YuòÌyÈ}'Zõ‰ v{D÷½äØ>B#À½tu̺¬…?ÿøMMͶ­WIWÌ8nô’ÙüÎˬy—ªIañQ‚ ¸¡Êl« %vƼàÏ?ÚT¥°å¿íÜ†ç øõùe*kÍN`g,™dxøg~¶z´˜¨kj2³B‚oå¡ ½t¼iímY=œ¯ª¬T¹S¹Ø›.¾¨ :& ;;n)•C¯2¸ˆ`y¶ª ~;¯u!!ÓD*Õ©,+¯­ÇóƒZ¿bvä(Þ™Ø{uìç÷þQÏK˜ìª=óͫϞŒ{î¥Z«/2 ×Á=íB‡MykçË›öèš!G¶.s{³)*Gà&Eá·žú?}× V§Ý^|pÑ©Íù`å#¿Ä¿¾çõ,®Ýl¶ÃêB¡t‘8²Óæ Ó­~k«pÚ t"yÌþ»oÿ˽ñ.”«kgéëX]xTµØœ“,$f#TbÂÈ’óú2K"If¬HzwãÚùoÜ›Œ/ùáåM%§Ftë·™=dÅ|Ö½ÿÚr:í™Ìš_ÿ jø?fEvDÊñôÖ?íþRt®c»k;wØ’,óc¯o™·uÍ0†¬¢Jƒ¤áêž`ÃèÏïÔ×U ƒ!>òò±]|Å÷ìqër{>£§ÆF»oÙZT$-?û]DP:?ó l¤¨í×áTkmrÆœ ÿ¤2=k‰67WþÅñD"¥¥\SŸNz8…R°gvÈö¤`/8tÜà7tNW¡=ÞÎvwU!ïEÙ/âðl³ªÂ)ÀG –ŒŽI,ï\‡Íh5(-z¹U¯®k3©á/ g$Bze"L‚ÏÍl »Wࣦ|FýúàÃf…`›Ãû 6»O'Pùd:He)L +̶KŒé ‡á„í°Æ†²²êK%%å$ŽL„ш;4Â{= ð9‘f£”’™ö7T)»Ã¾ïÄ‘à°ñëèãwÁ÷!(,ö‹|Vt(â%N§Ñ&Žy>;,ízƒ!ÿj!À8sê$«Î¿z­²º6kì(HdWX\ZZ^‰2a°  6ÎÇòcÃõ5Ýú‘íkaîôþ â¸ç׆XW}â_§ oRòäˆNI¤Mzðõåÿ>V©Ã³“ç¾òÅÊxd#”3}~èÿ­/ŸñÝ(”ƒ¶w[À¨UK„ËæG}2åµ=;ÿê·¯>ÿèCCÞC*ÔÈÑkþ÷Õ“)·‚4óÝo¤O>zßÀWuÉPH{‡Œn“þúÊ?MØw:-°s®[Kõà3ÿœrß3CÃÖñ“§ÌŽvDZl¢nÅÔ!¿®ÝsèµV¯ßåÔ·‚ {CÀï°6fïÝòùé²Z-I3réÛ¿¾tÚ®‘I¸îé@—zòß3ññ•ÿŽßÿ˜ òÞ+z;Of B&=ñÍžÕ£ý –Kþûko®SºV üa•[þô¯/ï[ÖéšëU™“>gˆcûÉô)ÉÈŽ¾$kÿ¥lÆ“ãB»ð“ØÞÒ×”8œbϽþ¶Íu{0†y?}ðKÇO¼’ÜzvˆK¾øÑ´aÝc£ÿQã ¾ø¹]¯ß+é‚­Çd {áÛw6®zhðf¥ƒ3í¹]Ÿ.‡.:0eóZÿ||ëɼ{ƒ ëÈÑÎÚŽMßüã+O­Z–úŽ/ §6ØÛP‚uˆ×øFuEéȱ“QÁ5òZ­ôJXÃ÷å[;?×+Mã—qA¨T ׎“´…ô`–ïi¹w>½†_ˆ6˜¥…ª‰«ÞäŠ=Å™ŒUU•o¾™b2ù†ý‚TÄ€€h»½ô½÷RÞ{ÈFL²ÉÃ&––œi*¼ÌNê̈ w"Ô׆ø<»m¿nÒ 4ØÍ­Z—Uê`yƒ#³R'gñ¡`¡½ùC ôj9lf̬m0©jm†&‚CM£@N.ŸN¡0 å‘DDr5õì€Z¸f‹Üb©×«¬Æ«Òb³8$ºÎ¤²ÅTV08™´îx`pHœ£†ß£RÖ_Êÿ­$÷¼Žª „Hl„ôBâ-øë„`0t Koº€á±÷U]Sè™Ñ!îœ/þtI$VpÔOǯý}öÙë‰2ÒSþhtC[ÿoÕ en}«SV´räßÖÀúFôɪó:Ú„ï¬/cÎÿM¼¯ä¹?·Ï ì–\g}bïa````ø˵͓ç]XvלÓó€Û¶mKOO‡Ô¾©oÆ€êG¥…™YÓÐî/üŸ*ÿ»óÝãÞÅáÄA\‚Ùê„¿z“­ÎÄ~âŸ_0XHy[‡Õxú&ŠìÄN#z_¦V=鵨àtšíÈߢõÀéO œæÙz±kµÅëÖE××3;/eÞ"Ö€oËÌ™1kÖ }ÔÍÛ¿}š:×@á·ÿä†Z}6Ï3Â[Ì¿¦‡³— •?^9Djç3w»oAY`ibPp\6J%²T¨ÈÛú]ïlÅ&³Uo°*Uz³ï ñY¢8O|1é¶9¬SM͕˅‡ÊTÙ1ŽBp›‚@ø„¾šú÷‘ïq¨-´Ùmoõ]8‰Æè9co3~o^°˜Êº’çVNbÑ=.™ü ©±¦MÓØ$ÏÍ/ˆ‹‚`° 9zŒ½C§A*¬s/ÛÂà´À„{S¬¯þCBÁ½ƒ>|¸Ï}ÿÉvŒŒŽZµ€ÿÓVÐ̱]«JÙFm«ôìiÃÐÕ£D}» ¶»€!€!€!€!€!p»¸ôUW©ÁÜŽ¢o·ÿi_]Y›àq·‚êGå—Ds:‹{ê#É=žÏNÄÿ¹^i6cÊ~a¸šË¿rˆº~II* äñ|¯`â]]¡ Œ8`’§ú”ü­úðCam-“Úcì#¸¼ÝFP©ù{÷ª†ç \~Öð‡ö{-táÍ\Isåæ½éEÍ¿hܯÅe’:JúÉ”Œ¹Ó9Üë»9PìRB·›É¤®ÑÖ_±ë¤t’UÈgJB©4ŠO÷}€`3h8ƒ„³ÛÍš+гØÑ IDATâ³M6‘!f‹S¢<áúG—L¡ÅÆ ƒÔ\ yÍ•Âcù8Í´Pž‚Ó*,Âç£ìººVqUoü•ý‚„P2Š)ûápÎò™ÃÀŸ®LÎ}æbî¡£'mVËÈa㪦VZR^1h`J¤$rDC–¬˜( ؇ûúˆõß`¸·Á§Œy÷1û·Ó«¥üÀOÒObü÷v@ÄÚb```ø»ªªÚÄ"I¼öòQñ²½w¹åÄd“¡R4ÊãÇ+-͡ؼ¯«ô»©/œF‹ƒÀ5i:ñ6“®&goZ("„ûå@ÂS[¨/°ßæf³5þ¡'½iŸ¾ûŽrâDý^Ç}'|,^ôÉ'P‰ÄãÁ(ñcŠ'Õ]9ÍMõÌ#˜6„÷º °‡#/L8}•-È™™8-~ÜiÞú€\Ćæ2mýU—±I±F XœðÎ"úNǶ=CDq €'X†µ:­\z°¡’@³C€›´— »‹{I&®¡ŸWXrêbá/*ª”€ç>íÓf·î9vH œùºðH¾q?5Ûpø¢:YÍ¡sE33‘í*ú…ÂHßïùuƤq,óôÙ “iÄÐ ÈqÀ n‹vånB#À~7›æ’ý»eƒžÁø¯ßÍ &††††@8”ç?}lÃWô„à¡+>þúÉ4_3Áë³ËµÕå!áx˜FGÈ?µ[Äé3fëÜWõJcÖ½O‚É ©6ÿ ˆbt:ÛÍtÖg¸´êœŸ½¹¯tz»´ž:ç¹[è®üàAÍ×_'÷ûIéx|pccÅ'Ÿ$üãðO |“ç>þÍÖ2sŠH‚(_à½ß‹¼p›—¡Ê&´DN0?.f¸m¯ÞL-͵6—ó6 ›Î G|ÑýóË0—MƒÄSi”ªúߤe$2'’žAa{e¦3¹ƒg¥$/);¯j– ²”)9…Ùj=“)¢Ø­ßIÕÕ®Cu¿ëY¾DbÉ…âR£|lz È\÷oóf9q&ÀåD„9 Üž!ùde0úmG¦ß±úë€`¿›kjê†?¯ùT˜@"@š¶é÷i›:|ÿî{£º¢$3k:ª—^%k®Ì䡉y}¦ìuó¯Óy€ÁióÐÑÁüÛ\xHÂî—lT»©úks8çg‡³¢T3üoy!aè»ÆÊJùöíPôMnì3ÄÚB¡¨NœhÌÈš†ÄrS™Ì©žØqd]È"¡›ýº=ŸÁíÙýÂXgç©ÂǤÌNN ~­{ƒ›ôòRUÍ9²C!±¹±LÔá¶íˆþy…ǡà ´ÔÚÚúü«6’ˆ1‚)ŠófÌ¢Ò˜S'Ú¬æ&iyyÁ9n`螣‡xüL`¿.‚O„œ`$øK€ [H•&ÿ:À /Ž8–]š$@œS€‰Z~pZjumÝ…ìËàó uüKnLš>C#À}-Ö1††††††À݈€ºYA¦Pit™»àì~1æcö ¸zœŸÝ.Ð5 cÖâ'¼ɲ3;.%Ø?¶,'âüìôZ€k¥ÆÀØññ™r‰¯Ê_}5V­¦ø<ñU»Æh*µpÇnFE„$v OJ]±"ûÜ.f u~ökitHicâî4f2qƒQŠiêòt —¹TKJ8—FñxÅ·;–Ÿ_Ò.â3ᄤYõ ‡j*޳Ä霰A’‡í“ÈÔШ³QWpõt@³ÉIh¶¨s9þ’\D'XƒÝÑþu@Rhv`ä·/­^4rnƒp#† :vêÂÁ?Ž»Ήã2!Ø¿$ƤéKün“¦/•ÅúÆÀÀÀÀÀÀ¸]ÊK¯EÆ$ ½8ì¶êkg¡üïívÚÍö@2-…Áüë$ Ò†ODû0ëÍågûÃ%¡¾îÌ¿:Íl °êi|‹»xÍÿ,“ù>ísGÓðø0…¢üƒÀNˆÞ3,k½0Ô 5ÛÌ.‹Ê©Ï³ÇÛÆ¯šóþ¨÷´f¿P­W^z¬îܺ!;5Š)B™UGÝA×iTrŒDJjÒó[䥨­¯üT:+cØ´çŸ~6=Äa­;kÖ+ÁŒœ6Ï_‡Ý‚ÃAµÝÀ:ž]‚Šñ çÖËÆÆØ¯MUßKCX´hQL â4Z‡±"¸€qwEòÿVÝÕ»CCCCCCà6ÈËË‹ÅL&RŠùÎ: ylQA^jú04¸±êjÕ…ï>'À½D,Û]µrÓè9G%¤¡HVeï¦kó´þIÄí dsŸù¹Í“W½Ì@eS>lÚºˆ•_M:ƒ@h®ª21™œ$$÷/DŠK=þý.<•*PÆÎùÔðŒ¹êõ¸v`ƒÍUg5G„$y\œ‡‰Ä»Ð¤JqX´ >Õ®¯oªÎ³YLV xѹwƒÄ¤Ô0SVž£ÑjñDÛ"oÁÿà…Ë!µ~æMg²Kªdx—U"FʾR(dIxhNÞµ˜Èp¿ú@bÂô:xüõohEEE7¾®/]ê4þߪJaM000000þšÈ¤L6‡DòÐKðâP}líó/’þÊéBŒÀN—…È4r:ý+/:ʃ:³ýq€`^ó/¼(/Õšú@Xª‡™[dÛ¶ER} ×-‘°¹\JÃO?êêЛ™|~fÒ¢áôKç¾&‘ ôö±¾ªš‹µg>c›¯$Kè!ABÿÕX¾¥^½r(Äe™¦¼Ú35WŸG¢¢[ޏĴ‡W=2ep˜¹æ´E§ðØÁl³ÀétX{E†ÞêŒüW—½ ðöeŽŸºö‘û–ky¡ÝjqX-n§høkqØ,8W?UâjOI¦ "vý~ݪ70%¡¼ºV«»îãÝ^;ìÚ]…F€ïªéÄ”ÁÀÀÀÀÀè;,f³¼Q& ò$:*Íùƒh×8ÀîéÃk±ý‚× 2š¼ßa5Ö]ÚÍg÷ó3ƒÖ=BipI¡zÚã/’¨ Ui99%ÀlË“ÿÙé2[xfpÒ Q(bºÆ2«,Úy‰Á%Ûëÿl0Ú››©£ï{ßâí\ýùçaz½?8?_g¿-4‚~2'¿óqÄÀaÞž±¹º!g[K#é7ï\ÜíN«Ía4Û5:‹Relëê›´R™VÚ¨­“ià/ü®Ã 7˜!ï²ÍM a¿|ƒ +X¬DBW4^Þ¢2ÀÖL\âÀ‡XPkQK½ ±à’×?¢¶Æ¡ñtÁŽƒÙž Æ8\R\Lqi•ÙâaÇÝŒF€ï¼Ù%„,øâð–¹Á½4wŽÚ­3ãf|]ƒÑè;I|"€'‘iÑ‹Þøá\IñÙk„{×®ý®Íb©Ø¾bäô× ãýøÀùSMAýôÌ×>]¾âÎÓ»/çî{!þÄãó6žP·ûTáTyûÝ˼HÞ-¼íÒŸŸ\¶…ûâη§"‰tèiÏÿ)7èUµ¹ûÿ™pâ… »¥ýºX8ÕÙ;÷f¼øÔHOÍ—¶—>÷½…Sž9»áçœÊškÇ>]¨Ý<{üc»ë;<@4ó³ß?›)ò˜õÚöxólÙ¼‘¿Ä¿!ÿ³ÅrÝÿ¹,÷X —âlñùô ˆí×mþ…¿MjsJÆxï¸~Ð|O`¹ñ:?ƒ¸¶R—>cKèÉŸ¬:uŠxö¬?d~FËó3ì…¡Fàj²K=2mìÓ/±A].p{Ö”ìM’Є|¦oæFöÜÕ`´Éúòêæ+Ų ùµ§/U¼T{þš6¯ÊUÔH«5„Ô™Bëm’[d“+¾Þÿ,S Jl¸áÌUõŸ—¤ÐæÖC'ÐtÝz©Ô 0"¨ Àèu‡ [rïÒHºÂª,÷Øíàmìå‘L¶ÖN¹\"EñárX"~IY•à†èGnñ$Ô’õéÐ× ¯\½ÚÑ©¤${JüutO^'qB#‘G??ªªÖŸp`ccÜU0,]çÉÀ"^|ïÞ¬SÛqD{ÍϾtqÄÇG¿ZÑÊâ¤Ïݶ­aê¦ïîKçâpá‹ßþ¼zê²oΫÇMõ„±]‡Æ\øÍ»Ç£žÚºc{'x¹ŒŸ=üìåÉz0¡Å“UL¨4:5nԼţ6¿X"³àBéôÑ·oBær`>ØlOoî` ·–nݰ¹nö—'Þ›ˆì '=½moÀì)/¾ýgÖãÚ•ŽÈ‘°Û}»ˆ!àE@)— „A×ýŸ ΄°|Ø&F€qrù¡©ž»V£F/Í ¡´$ôñݼµv~Öèív¼8y¼'÷•Ã`¨ûüóä–2H¾“©ÍHð¼„P_wè/ú¢‚ìrŽ1öáudªg9sØLòâÃt[ET¤O ü"I³zƒE¥5©4&½Ñ‚£ˆ¨,8©Á,:—De‘(ÝK»*XŒZ£ºÁ`3*52“´oUЩ$—ÎçÐt âû¼Ñ×Å.]€щ‘„Ú†óõùõÁfá Èw„Éæ.¹ïþmÛ¾ª–ÑD‰HGÈ>-ò²mô’E§KÞ|lÃŽœ/JŽ F(ã¢<ÎdôßOÝÍbbÿîeúó3×˪t§»¤Ä‹Åzúì¹¶§ÁhLLˆïNgè½.sÅÏ매%& HMœ—°d¯ñUŽoq«ÓŸÙ0lØógõpqÞÐ9,)àˆ’¼½ççMKGÄò‚R—|–¯ƒÅ +7 .ÐÈÀúì·f$ˆù|q¤õ»+LîÅT¹{ý¤¤0‘0(rèòÎ+-vȉåêgƒ¸ë0CŽ],AW3Ȇ•’w­¸ì¯³¸ý5½Ûð§Ÿÿ÷¦3ûRNÛyÅãñË—.2xðMo J¸rù2wkÛäW4§^Zòªò¡½y…WóNµTÜR­½f–†rûÄͧ*+{PµyõG¦;s«®üo|Á¦îC} oyÃõ^©ñË·œ*—Õ^ø,+÷©y«]ÆÜ÷–¯»œõÙÅZYùïkñß÷èÎj4h÷:%eÝѼ/¦FMùo™Éª>÷Rº?Ù¶‡&v CàîCÀZòÑä`~ìŒÍÚE¯>21*sjœ®‹¯NO‹ ‰0ñáO5"ßkfÒä ãÞ¿»¢uà\ÖæâS–‚)Á|“¯¯K}òÝ7²o\—ÉídóßZ¶uõã‡Òÿ½å‘dz«ÛŒ—_ÆB"€c²žËN}bõpN'}øÁ\˜e¥2BTºä†{/~` ¾²ÖMhÛ.›^±õßZþšråÞ’úªCjÿõ؇ù°)h)Ú²rõ¡”7–ʤùûÞ¼wÖ Ø²éíclV‹Ùdô殯Èã1I>ÏÿŒx>£X¡³ ?Ë BSÑ Û׿hÝíüìqnÖZ¢Ô$‹µ±Ñ°pþö Œõ|Fi0”;âÜ3äòÕD’g?ТkjÈÝ儉Á•¦¯³Õ^-Uç\•^(PÈláŒØqžN÷°8>“ÜÕë\pK ºH_ðÐ-t.Ž“œµ:vÂÓ0h½9È)†°á[ŽÕã"ﮀµ=+ðY³N ´4äÛí^lE8pÇ3˜ÜÓWj«T¨¾á!Á ¥Z®lî±úXC?Gàns^ýðª."Žr`¸9;ÇÃ{Î~!‡þ…í‡iË¿‰üþPh4b§OˆÔˆÌÉCÃØ~ÖØèm²ÌQ,:nÔÌÁÔWÊš,8¤fü-oð*Id‡…‹èd=ëñæìZóÝ%iÀîÍ“ß]=VL À%,~yí׿>PuïãA¾l÷zÜݶÒÅùÇnÃðcÈÑ+wåO-;óík–,æþº÷™vƒJo2’‡½¼åµÁ!Î’=o¬]v?î·½k’‚g¿óyéêGÆ=é âxÑv“p!ãÆ•ÝVñû¿ûyn(ÁÚÉ–6‘“ úùÐogÏ ¹Þ=ý¥ ¼’A±heW÷½ùø‚ŦŸ~\“âß{e-Iz[Í1r q‘£Í²©ý§çFí¥o,Ú²d›„cÏY6ðÿœ¨^«üòë¦é›×ψEBOBÃáO>4¶{éO(ä &‹ÐRȧòÊi6½3wŠ^—±µ¢ÀN—Íî 2űIžM|UíU—¦ŒÌbû6ñÆ ’ÇìtUjüc7÷UÅûï‡ÛlD’O“„Ý;jûõz>£¶_΂¹éó—5Do6(JE¿&F0XÌ>I íp8›5¦…VmÀS¸Q”Á¡¼0oºé¶ŸHcõœõ¥Õbr9zm3b/µCrbk$^ÈTrÀï„×àEL$Sh 6@‚ÿQhL8á)÷¦Î D '(NhhPÕÕ–Ÿ«”I¹ gˆˆÍcÓ}P=+PȤPM%9ßðã&³‚’APšÝM8ˆdü‚¸ÊðD ç¼É ä–7´Ò—/4nT)êMüQa t! ¢"hšz•ÇU¶×' ~·æ»CCà&ˆLahœðžnc7Œ{~kΪwS©LÞ€å/<9/ Ùd‹xbÓÆ#ã¿:ZýhRû\Öj]rpësgÓ¡MïWOÚ¼"¾ì§ˆ†Eˆ?î•ÂúIkVm‰ûá±”ÖV`“@a‡f,{ûß—Ç?½õòïŒò]~˜n~:¨Á±A¶ã—«óE×ÀUq~#*Œuã#¡gÙ48=O]fE]}î¶éQ[ð8ÉrÓÌ“¬\Ãäß”¿› a·wY}mXD4ÚÌf6¨¤×Dd_Z€[r_áÀÏY¦²7Ù«Cùù‚yT³_½•ó³KÖhŠL›,Œò@¤ƒ4+çÏsX,Ï®S·ñîh¸/,{¨í·„ê­\1hæboïú¦âæÒ_DsiÔÞßΰÙ2¹N*Ó8¨!ÜЉqa)@AÛUÌdÐõjôtÚíÀbéL.¸g“¨t®0¶]ˆ¤ö¢½¡¶Œœf£AÛ,o¨´[Í@5³¸"è ¸qëqá-–0N‡ÝÒ\WPT—G®•ŠEì`‹D¼™6·+p×/r˜´ä(|QÙ‘™)Œ…†ÀاLŸïpí9{ÕÍáZkp®#|º>ÜíÜ Ù°¤Õ52UD0’D#Gá·YwÜ{<0ÖCC @öûÁK=rPâT¡Ê™äÎÿßXì—_w5Á“h4—©xë;?:&=¤u~dWã±/ö—šÇíRAÃ3~LÈ–IÿnYÄÍ+9zÙÇŸ^štÿÒâlž,l÷IÈe3Ûú9`«S¸Iæ%½öñÇ× ž!òh`.þñ瘷bãô­{–M*^ƒ^%³¶~!­ÝUËDEI—è}BÆ–ÍN§à®|*§ Ì@U«¯È';4g÷Ý&,° 1ÀîüÏ ­eHæ4´CHe‘—rCßæÝkÞbþEŒÀà][¡[üÚrÔ‰Œ“ÒmÛ"¨Ôþ}°@Ù¯7ëUÕÅ]¼pà´…^=u²]Õ±”(ÚËfj‹Õ^× ‘©íD–$8c>Ò\ ­`æU+ :5\&WÈâC$Ib·…BK¥³àl= Š ºfƒV¥”U;v:“Çá19ÂÖýáE†Ó¨®¯/;SSPÌ%†‰9½ i±€—tÙ³XÁ) $|N¦N›í´ÿ|±´8 rb¡[ †Š{m±òÍ$VpØS…«ŽD?ɃRÏ^Ì6qŒoÀFñ%í>ßøR€þ xïø±cnƒý"*p‡-É2ÿú–3M»¡¾¢Jƒ$ž"°Ã%ä²Ã'«tºúücG¯(ûÀmή©«U˜uÇ?ysnÊÒááCVÌgú×–ÓpµôÇ×?¨þЬHpçëà:* ñêóËTV3dÌïߟ«þÿ4``ô3ºœ/ßøÏ÷ÇsËÜ~ÇC IDATdå'>zbí^Ƭ{Ò˜8’dÆŠ¤ó×~x¼¬±©âäg7•dÜ?5½…i747I‹Ž}¾fÚäëænz.ø¯½éÒo¿Ík²á‚æn-–Ëꪫªª*+.o¿/1ã©}W²¿\z3ûukŽMykçËa??ºfG¥Ç\ì´™¡ü‹Ù¨®»ôÍóO}‡Ÿþ·A7}LGÙ&ZÉh±K’† ‚ÂP\äå˜D“Ù/²î8<ÎÏÀ~e ¦¸ásøaH|š‹‰—/³úÕù²Õ­‚ * b_*TWIUnãM¯2@­)?¨mðdï‡Úò'O(¡Z•e`ˆXÐÜ¿{mÔîwD¡ÐäÜÉÜ ´)‡Í¢Q©uõÝï káï`¸wf/š¾ùÇWB^–kÈÿipg^æŒ~öÅq…Ϥ‰#‡/û°x“Ka/ Mf¹N>?6R2håž°—¾}s’Ïö·ï¤zhpXpÌ”ÿ¸Öìútq8ò”ÜÑuoÔª%ŸæG…Z±­¼3É^ëCC S”D~ì_N(‰Ì¸ïKÇC;÷üs4’uбä‹7ð÷?6:&zøßæ>³ë³{%nþk)ýòÞaÃg?ýMÓ˜ÍÇŽ½;ÕüØ&ýõ•žÙUßh<•ÍårØÈÁáð8t™Å@IŒvù/4  '?üùY¹Ï­ü÷-l‰óÞ+b0X‚È!ûP³ô@ªÑ‡o*öÜ+a0Øq,ûåþ&C”ùÆeããpF¿òÛÿzíµÙãG?º‡þð÷Ç·, E]žÚY6[ÚðÇ¿úí«’} Å ½þû DV{uç;Ãr7Ž‹ O™òÌUlÙìÃöÇ®kªÊâ“ܾšîC£¨å2»m¦»ÅPê‹þ…ò¿ƒ3§¡*èSz턘çëX¦Öæ_wí_í°ùKQóï·ßFôkî+;Ê~ÑÜW.W=g=tÔCOA|,*$x>ë*~OŽá÷"û…X_iƒæÌåZ¹C"ñ`äàyT¦À;é`]º[U” üÓlЇÇ'Î µs÷æÛùØxÛÂ0PXÌÀø´L¨¸v„‘Z÷ƒØ¡C–É‘çrk¥2-(Õ+@'uJŒ8°¾©í“FgÍ›¿8V`·¨ëZ’B#4ØÕYÙÞ§ý~`šx"ñù«•Þ·⢠KÊÛ¿»z'#°k׮ɓ¯G’ðùF{Cvå®§˜òbâÿ­zú,×6OžwaýÙ]s®¯}½? Ö#††††@o eæfí\rlï±'¸7zÅú¸Û¶mKOO ºÅ}~ðöÉ£¿&Ì€"À ‹JVuàƒ“%_F™m.“Õi¶:áonyó‹Ÿ¢3‘¨NˆEÎÝöhJ$©/«Ý"A0ˆT[oàHf½5*€âðaë»ï†÷_í_`lìÊÜR÷¨)À)ÏHÌÚðd/ûU”iËö®íW£µU6Ú(aa)S ‚Që¹€]ec ø!Cd¯ HÂ"©NýáP+”ÕV³I(–‚"nÊËeÔÈê Qmõq§÷Œ›Ì¶¢j/a&…‚`6ê¿Þú?™3ŒÂ †^ÀÕ!¡D…ÖýƒRNÑPsÏØè¤HÏÒtâôEHˆÅçõa†ðþÑô/6*„Ò{5>|øp?}¼îjÐ]úª+Ô`®Oý£îjD1å000ú›¦Që¢ÑIûíCïè®F—'DU¨+Ͱɾd¿@nÁöët§€Ö™lqƒÆ¡ì䑿âS|Ì~Ñ|Ô^èºJCê¤ÙÞùmعSÔÎϰ€†þ‚ 4¸Òj]NYŠdÄcë¼ì׬•ªKöÇ…ÓzËök2Ù Ëå¹å:~ò=ñ£V´f¿`Ìl¬++ÎýÓb6D% Iá?ìæ „‘¢“‡ZLúœcu¥ °wA‘¸‘Ë9‰ Aµ¢ 9¨Ù+_a€=>‚¦,Üï­D¥3Ì›ÏwVY §Ý¾ÙüI|»©ãUÏÈÿ~æš79Nb|tþµÒ^QëÄÀpoÍ…]UU^¯µ9LUû^{ù¨xÙÊŒ~Œ’ë-¥°~000îv ùŸ®¿~è lÿnŸêžé×(“2™P`Æ4P_žÇ¢õ›ÿ³RgÉhIê(kó¸ Ÿ ƒº { )æèÁSy¡-Éò¤Rj V=üvZ!¡¿-Ñ¿ÆW1'`ÈÃk9"O*›YÓ˜÷C¢„i™ngO[N¥1å6˜h)qcæÅyût:µ%eW΋˜ ™{aÄ>è×è¤ÁY»n¬-…ªKè8àfJjJRn‰\­µô 'ð“"™uç>·™Ôè@âð³gÛsœ6£' î·``ŸÖØ(…•žÐß ‘6 ”Íiû`°.ûŒ÷èåùO›6H,óbéÔ¿~2ͧé!{I ¬   ¿$vüÂ÷v²(ì¯^á¯6ñ]Õ·©A&Aïv¹œŠÚ¦¯ 0’ÿ=ÕZktâ T¼Ò¥*ó2ó®ês{÷UÎîf¿H‚åtÕTêÒg,ò€ãtÊù%ˆÜoîohâ+ M( ® á>¹>0*Ïn54ä~Æ ÓzAB»ÝYT)ϯ´Z6` ‘Œ]›!Tç…SE¹' JodâÈAlêö ÷EkðQA`»ÝZ’TðÚ?AµðÔi¢‹ò+MÅUrPüö‚)ˆä7ä}“‚ö÷·YL²+nì1÷[B,ŽÃ<~©Ì BBLdYeÍí+Žõà?`¸—æ‚4mÓïùõò¦Ú+¿¼1+’ŠùÒõ²X7}‰9rúóRØØ¯a_‚|'÷ÝÔX$öX8ëËri.-x#ûL¡ÖþÏ&«#6}“í©J*¯Èq|êŒ Z#¥˜œîüÏN—VcEE#Å]áÐåçSŠŠúËü ´ÌK}Á\MqqÌ‹6• JR6áØxœ^¨è­Ñ[²¯Ôh Ñq™B5]ï‡ÁdД^9™¥b’‡‰%IÞœ[Þüü•Âë5Šò«g¡:±W`¶(*vôƒš€(PÔ¿}Eø\†˜ck*úÝÛÕ€AÆ&ÙI……ºC»\}P?¥ Ò“©4¨ß\!õ$ Ti´ZÝ eôºÐ v‹ÿ"€ýäûïÜ`’a`````ô#6+$TrÑÿÕÚ’‹lÉwô!œžè_xѨ2 7Ë‹F]þï|Vo¸òv_´1vàÚ}ÚÔ…Þ|Ôõß/î?ó/^Ôð 4X‰wé’cÒç/ó&R’—‘å!A­k¤wGíV÷6*ôWÊõôˆ¬Èô¹¨áÞ„LWõU…uWC$ÉqƒüÖá¹+:ƒðqéÁ’„ÚÒ¼†ê"P mÊ"©­C3Aý…®+]u~Oh‡—Ê®îCoÃã 3f-a¦f‡ F9pçôÕ» ,Ë.Aû‡yjR\þ5Ï?ûjP¬_"€`‚ …!€!€!€!€!€!pç  T41ZØ/HÝPYÀ¢úÔWÞÙâü /Ô[ˆÄhªi(&šñxŸ>ŹݰQó/N§·“™Q’´ t2¥¥Žóçû«ö/’òÊõ NC€«6”;ö©ÈžêPÚ†|œ:/X„ä;,ÿeÕŠ¢:{ØàÅÁq£½]uªâܸ褡,®'YÚí äm™lAtÊ0Øý)Ì9nЩ¼"…$ŽI[TRç¨mPß¾+DH ¯/F&È}€»øÂ ‰ªB»Y‡8B;ìtôONY)3”ÕÊQÙBÅAÍ*NïñÙö‡9Âd¸º±tÍð,sÝÏÿ[e_Êé–FØÍ€ ƒá5×+JI‚)4jÏ-ö“õZi#S2>lÀdyÈŠµŽ ØoDü` •áGŸTŠŠƒúZuTH@БÃR&’Ä™€ÖcY`²ByÉQ´È=oÞ=4í5ävGÛát9o+Þ¸g²±Á— kж>",D¥öø÷¬C¬•? €ྞÍ™SËæÿüÔÛ—~8£ïùºÐ×Rbýc`````´F@ݬàðèy] ‡Nò!ÿu›[j éŒöðè$T­¬”äÐõåáp¸] Ñ`©)jˆ'Ò_9 ¸ýB€[<ŸÁ\MvÅ-]ÎäyJé ñºB!ÏS½¹@YlŽ‚R-4Ókû²×P]h·Y"âÓïú ßÎõ£“†Ù¬æúªkÞ;(JȨ¢²&€®ó漋”ªÒ\Õ7£÷@ª)ã3-òwI$ôìL¡PËtr••*"L|µðº¼u°·üŒ÷íìØ5ûß½ðý¾«þß¹? -¹úvH¬w      ÛCÀl6ÀE¦ Ý4ÕÓ©>,€„çgzšmŽ Èd&Û˪¨Î°=RÝžŠ]mí¡¾ˆÿ³K«±E¥O` =®ÅÊ£GùF£ïòb·ˆì5ÿ2ãqšèø1SÑ7!s’ªòDTxÏÓ2;Îâò&ýÖ•ç;NÈåͰÕUøîÆûà«P€sBmy¾×š8ÞÁJ*©€=Vª")Ëy½ÓãâUN‹Þép{A÷G6,P“' ¹TX‹*Åf1I$’No챎XC@#À}: ƼÜë8|Ä 'Ðz˜ ÑÕ°sNâœ Ýø‰AšÄOÿªºçûpárËžuÛgÅõÉЉ„]Ǹ‹pªs¾x|Ò€p‹É'O~_M+Ï›üâ×ÏÌ•šxÿ¥Gk[Óé÷— ri3žß_Û±§‰­ò«¹b2gÔ¦+mâ—4GW§|åú‹îÒeoÊ’ ~ê÷&\£ƒHf¢Ç=ù}E›¶ýƒ¾]v|óʱIáB6“>ôþÏ.©n\î®Kîßs-øI~KyÕ_M›µ½®çÏpÞ!\ÆÚ“['a‘çÿØIýÈvgö–‚öÆ ·\Ò{c;²•RÎå]'Q ió6üi» ×ö /´z[J†Çÿú‘Wä𙾠ê þØns´´Á?r‚Wæ“'}_ý† è Fr_‘]>›¨TªšìŽƒAëáйÒ*…‰6ÀèQÛ/ü…„ÏÝÇ»ûþ°˜T ‡`÷ª‘6ÓHŽ*«VzYqw€‰ bÛ4u9hC™:kú4³¢ ͆å¦Á°éÑçáî ÐîýT;¯´ÞûVdDhyeu»wbï0܇3å2þòJ¾‡çE<ýB|ˆï¶ŽûP'¬k  >EO"Ó¢½ñù’â³;Ö÷®]û] êóe©Ø¾bäô× ãýøÀùSMAÍAækŸ._ñ çéÝ—‹s÷½âñyO¨Û}8p*޼ýîe^$véÏO.ÛÂ}qçÛS‘U‹žöüŸrƒ^U›»ÿŸ '^ذ[Úûk=€Ot9%K6ï>[Xtú¿ódo/{öׯւqÆxMk+žòÔóCRVýÖhBþQ÷ýü['Å!„,øâð–¹Á½ðûèTgïÜo˜ñâS#9ëØþÌv|ÿm¾ã¨Ý:3nÆ×5~1·©K_6oVÊyϧÅép•µ$b/|$º(²×ü ÌSc´IbSІ«ÑÔTŒ'øN¥¾h°IH‚ £/,d””PZ‚»¨Úí߆˜[€u„×ÀÄ„h·V“ʪ¸$dõx”:™V¦%‡§N‡Çh'ì UpC£>ºïc“„,²{õÖçnÛÖ0õí7îK ´øíÏŸ`ùæ¼çGú,Ì…ß¼{<ê©u„-û.cÁg?{yòÇ[L zÚãIT*•Æ Š5oñ(†´DÖóLŸ½8;xaÖúWWO–<íñ ÓÎþVà ÑBGÁƒEÕÈd -P±ýG×( ‰ʾÅFA—t!„ÌÿäÀÖ ³’¹öÖÁÌv©{ì¦>D@£Ròøž˜Re} o„dT}8Þ]{R@»Ã€u&[¨$}_ÓPÂcàá¢ÏÔÿ-G¬ÑÚ$³`A@GWüñ‡ïÓ_Á ¹¯P\Es ÿû¯[²¢äp 2õ ¥ÊXÙ船ŒHö”8V4TtÍá±iàôÛ³>ïîV Æ!1…jJ¡sbG,+•ZÌžé™ÌBÄæÊ3hs˜ÜI§Øš nóo¿Á Íâ^¼æ±ú‚4¤+U=SkåôpðÑý]gÕËÈ\œ°'ž‰µ´CuiË#ãÂCBB¢†?ú}µ \ïæ=mlJ(Å ñÐyÚ›~çLW?[9&%BÈbò#Ç<µ§ü€`{öæ~‹–ÊŸž’$æ²…qÓÿï„¢íïe{]!dÌx`á0.7uíq-gm8úÖ‚A"ð¯ÌXþEâþxËžõÙoÍHóùâ„IëwW˜ |BõWó†ÎydɨHG”´àí=?oZ:"&”ºä³|üžÝZqŸoL> ^EÀeÓVþäÃKâYScàiÓ!ýcGNø£Ïϸñ!ÌaÒYI,z »¢†§ÇãÊ ÚPT‡tßëŸ(f®_ә뤣é÷ç—½‡_¿cÓ4·ñ÷úár˜ÕU~ýɱ€!™Ñ´^Õ´:sY4j;CÄîÒª)ïÍÌ”û(Ü\FslM¢hÌ»nÀÌW6IZº»ÉÞâ ëÒü _1>YH“¾Ÿ­†…´Ýõ¶ÇZt4³­:¼åú ¦ÊÝë'%…‰„A‘C—t^áöhG~SÁ»Òþþ{å¡U±42wÄk—‘’#m—ôÎulï·d0Wü¼~JZbÒ€Ô´Áéq Kö‚—~û‚õ-_64 |A :¢´ì2…„÷ýml±;ÃbÓ *‰¢&MïÒ½·°B ¿-þÏMõ†„QYhÏN›M}â—ØáÖNo pS?­Í¿ª'sÜnpzEß /ò{˜ûÊlµ_+o L˜H¡{êéTMÍMuPüÖë_ÝGJÝÑÝ‚Õ  4Jª…ÁÆŒ-*—¤=S ™D]™QUƒ6‡%El†&H…ÕŠ÷¬ï¶¢³8ÅUr{Kxs\tDuíu§èvŠ5ë?Úçeý'O?Œ*ùôóÿv÷̾ä‰Oh%±Ë¤Ë9«P£~eVÕoßIUN¼xÊEñ˜ÍW?[ûoåûŠ¥õµù?<9˜L‡U0öíãåÒì3¯½¼ä¹C7RWbPæcí¿TÝTóç«’_ŸÙ°¿Ñ‰k·œ‹4éå}WëÊö?`øêõÊÝT¹õÑ^WˆM5„éüYtí×ç2–¢-+WJyóh©Lš¿ïÍùQHTÍ-{¦Æ/ßrª\V{ᳬܧæm<ŽxdZÊí7Ÿª¬üíAÕæÕ™VìÌ­ºò¿ñ›þ¹õ¨¼…â7KýCàîEÀZòÑä`~ìŒÍÚE¯>2©¶a¨Ì©qº.¾:=-6<$bÀć?<Õˆ|¥™I“3Œ{?üîŠÖsY›‹OýYª1éÍ7y·ºÔ'ß}#{ðÆu™ÜN2X˶®~üPú¿·<’Lou›ñòkÃXHpLÖsÙ©O¬Îé¤~™cþ¶χ/½7Õc³é\ZÜÔIìÜ—3¹¾ðÐY¥­âð©:ÓZuôwå #…­õ3×—9Æ¿ö ,¤{îk|ÿ埪íí¯·ÙÉ»ÍìMn±~sß[¾îrÖgke忯Å|ߣ;«Ñÿfùe ëŽæ}15jÊËLVõ¹—Ò‘ÝŒ6Kú-tl÷·Csê¥%¯*Ú›Wx5ïôWKÅîr% Ö $þð¸Ëƒ¹É[ÛV£”²|Xv¨µùW«·&¦ðb¢–B..ŸrN¨ìHF2`©•ÖÀ˜TcYM¥òqùߛ̿ÕL|Úü¥\.yÉáèpOÖîî~ŠÀÄ Ù›hÁüP«³Õb¬)͕ĢÐþ¢ºŽ!@$IH¸Ì&ŽP’Ng”V*zì7ÂUVœBe›ð´i3ÊÒ½ }¹%…#àññJ™‡ôòy\YÓ­3JtCìN#àÓeÔǺuq¸9³gvñÎÎn³—î8ôÀs¹ !o\¶.…h)/ý!Çâ¢<ÚÿÅá|¶µüäÑ‹“Ã2£"’!fÅ&W"7Ï,Ž@¦ÐâÜ_G&ƒNÀÌ •ÒÅ_žÞëïöÀ,À·‡Ÿ·5QBÔ«íô³÷«.Gùo…y:#5uåð–@º¶#‘cÜöÓ:Öw÷§GÄOÙ°»Â|Ón=4Nd—7ƒ ñõ齺ý‰ ƒÊ}ïr P%‡»E?Døá†ßQ΄ u&÷¡½öQ§½®nÒ$+×°#ƒ:zÖmé¹­j-Wè¡ñBs}£¡•64" â ·à‰­wv{Šw<ö†À]‡‘) qÏ?·}6³aûÖŽ@eò,áÉy##"’'=±iãÀ²=G+A4æÙ¯)µŠF¥N}õ³éâ Ääà֥ΦC›Þ¯žôÜŠäŽ×"7€xþ¸Wvlpdͪ-mëš(ìÐŒeoÿ{¦lÛÖË7Ûö'úÖêïÖ>òcèKÿÛ8ŠÛåŸ3Fò̱ø³ •åœ&dÝsÏü¨ªß²›¤§~©M˜7:¨£n$È»åtÝb½í.Ïl»=µ»~Z”õ&~\5]“Q4M=$ ¸áh‘¿Ýn=[–ô[èØÎo‡C+­5ÐE7NwI°Îê·÷´Oà †jDze ѧ°à7Òsš¬ŽPI „^QÍ0úŒý nï»"±ËÕ¬0EgŒöN‰&'‡åûôWh°›×Sq)Óæ{åQVöpÏÌìåõ†ÐäÉÞÄW@ä€í°yø~û ÞQ\\¸¦,•Ø)@ZÑ`x{¦GHWUs×R}{ìØ,»ªüºØéëD~ /¯LêÕ%2"¤¦ŒBØqG"ÐÑOý©L¿ Í7ö?ˆhŽªýÙ¿–«Nü*×ã(ƒ—$'wê”Gyð“?Ë*O¼zàÉÇ·UÜà¦ì2JK•´° ¼sß{ø-僻³ss/y{Ïã«×i?à¾iíuuÃÝ$¶€¨(©ëy2?SC™ÏãR»õAkOñ”À.cÜÍàñ.'ò¼K¤¸T¨òìAFBh¼ÎºxF²”|÷ÎŽÉK†´Þnw5ûboqéöÅq>_9ç‹+g_½è›ö²“£—}ü邺ז¾p¤´(Ô.›ÙÖfÓª_fÁÑxpÃüuW¦|´åÁøníÁ³Rg²Ÿüåȯ'ì£'%DžRüË‘C¿TÆÎ#îÈa§•†=Yo;èV3ÛaÃVoPøbZs©Ô€î•Ú”UµfN¿#ãx‚/OË3eýw¦c{¿¦Hˆk(¨¹1ëM÷ë@”~¹¬Q7³9žHZ…ÔeRzvm}"ÛÙm“% gs=T\#+åÜäÞÑÇò Ô×ìR6ZB=u€Ìuuø¢"çFm¿@zÀMࢠ,”Ä¢è› Ù ›Ù­uÀƒÃ᪨UŠb'0x¡è%•\ ðbIR£{vc³š@T7€T?à{ -L(Ã¥0¨ªÐ¶Â@qŒ˜i5êN»~v—;ÒÂgd_×[ð `v¡â Œû ü^¨[¼¤×G¿«:  ŽY—µ0ï”×lÛzuÚä†.™Íïl9¶6æ½p­Vm£Å%ˆf³ Y!ìiÒl7Iôö‘àWä©T§²¬¼¶¾QoÕ« ."XP­ª‚ßäkÝKJûýÜ ]G{]ÝÔˆ3ä¾Ä=_ù±HmsZ4*Ck½éÒo¿Íkòx»¦®Vi±êŽòæÜ”¥Ã»´+ÛFñž8ÍÜJkì} ÿF@—óåÿùþxnyƒ¬üÄGO¬Ý˘uOG’ÌX‘t~ãÚ—56Uœül㦒Œû§F¸2í†æ&iѱÏ×L›übÝÜMÏeÂ7çúW2 hîÖb¹¬®ºªªª²âòöû3žÚw%ûË…íÇfàESÞÚùrØÏ®ÙQéÙµwÚ €ÅlT×]úæù§¾ÃOÿÛ ž×é5ôÚœV>òKüë;^ÏâÚAB³ÅÞåG,vÚœaº]omm:%N 3…òíåHæŒíB¹ºn­·.‡$3š,ð°ÿ!‘ÍƒÖ fg3ÛU°ØCVÌgý?{×EÑý÷z/¹ôÞ¡÷R”"ˆ–QöÅ¿b ì Š,€"¢‚±ð)½÷4H¯×ûîÝÿíí^Iî.d/—MÀÏìμyó›Ý¹yóÚ¶WVí®†e÷ÜÆeo• ž79+œm W«áT-Ð:lf‹çK'¨4?ÆßêA3ÆØ¾Z¶ê5ÀCEQ‰žü²`ÆXíxÁ ×©choR}]¹DĿȉAôx…Ž<&ФØb' ÍŒçÈ‚,úÊsbQ Žh¢Ä <Tø+ƒí—<6[™Dº+AÑíÛ˾ý³‡ƒág©ËŸ0Å7P]Ù‘äx:NÓÑWÖô¸*.«?Õ\kÊ PÊ_¦0úêgtê]]vGQWbR{èl92‚iIjmÉ?T[ˆ8=rÄB{ Ò’‘Ò/šU%0œ*5‰‡Ï”Qü@,h³Ù‚ã¬òŒ¨U0HÆ$â+¼ä¼ÇJWc¶ß_Ùý[3°Û¸Œfv–ÿ¼lÖ¨ü„˜„n7oÊ]òæœÎ䑽íì§w ÍIJ8ÿϯ}|_ ¦2ó*ãkÜðæQÞO/^<0-kðüí’雯Ðt.6E(RMqbF=»îåA‡ÊNJï>~ÁÆ’ è²žÎòŸ¹}Áú"jÃ,T¸ÿ||dV|JŸ9›Óžúâ…±±ÍÂàí3xàº¸Ü N¢ö·WæŽë•™Õÿ–ˆyë6?=œŒ:ÅϘ±zã"Í÷ÏÍ|Ç&õ‚õ+oÎôÈ¿ösÝQ\·gO,»ñŸÉƒ#Ϥ DüËNKíJÇG±Ê…öR…ü">!a3[Å府7ù†vþìáøÔäú®–\è’ÒóÏŸ¥#Å‚Uy§a³ŠÊuuKš7©Ó*°—šjÏQ×3sòe8dÃvƒ J`œ‡´xÙ û &ýLIµï²Z­lІÊ;Ô]èhpÖ¯_?níôÌi4´ÍO0£'yþ]w_oþJÇoÕ<ÿ ﺪNϺñ‹ .Œ#ûÞ[îŠaö­ Y+&ýæ–ß¾Ÿ•Ö"™‘!{·ú¿vàwJg„B 2ì'WŒ›ºwáßë§4’wíÚµ}ûöMLŒ0jQd¬µ¤„€þã׭㯹‘ª¼mí³Rí~1[’§“p[.ês¶Ì8cÁ;Ùù¤¤‡ÛM{VÝÜ=SMFþ`¥8p·Õé²9H~No=ï•ô^}¡g§V{rúôþ‰Û«šf§Ûmu»mðÊ„î´ÇÍ4Šê·âÈÆty}lL$±š!ï‘CÞ7¥ëŠTCM)äòÉî:…]Þ]Ü£ŽKÑ$@ìT²”ŸÚ)2î–‰Ou½Ö\fIHîIû{;´ç›?ψ4øB _(ˆÄ\^8èc ~I¥g?sçx¡€{6ÜÈY”~J÷Kþt»kÄXb~O §MïÔž‹Lú5˜ì5z,!w0EŠÀ5å)ÙH˜‰Âû¦û`INà´c\\fÿ:#|." “ëÔžÁ´MuZF&¡»@ZAƒú—ôfÕ^¡TUT^G $>6¦ºž£ré!€àhÏ™èŠ×î5Kpí컄31ŒvŸˆB!€@ Ú\[RXapÖ’ï—.Ù™õ/ÎÁœÙ©¾ìGæú"ß$1ö,…3†²*}B§ ¾Ä¿åEÇ’3ºp¹ì1´ò)íøÍÛÄô¼ª §³»’§ ð§&s@iån•\Ìá23©|‘»Î¢;/ÉRq )ñ2ÜèÑýz5Àð˜0£1€\>WguÛ8姉Ñé it€ôˆÉ¢†,#€4À,ŽºC „B ã"àtØ•J:y_CU ä@bWZïêQ›­ÎÔŒNT×pÁ^[Àek‹Ò! =œuMZʼn¥¨Hb4²&ýB§öÏu|wò ¡½wÕžß‘úWg´UL íîk5éA|RÆ0¤Y{0.ÑŽ Æášô´‚4©ÓÐz‹À`8ñ±r0w÷5ÌÍLu*)é¤`6­ ÁK¤9ë"p›ÅHñ£Iïi° ` "`O#ãXŠh:q‰ñR0&u¿=0< ìÙ%H•ê³çýÙ€51êÚzm#BMÚëé¾"`´ã·Š`P¨ B!€@ —&£A"õU2êE|;¥VBû{!‰ej@D45”JXŽ€åñþ…È*Éy=(6 àíèQ9‹°|Þ¿ ßÔñÜÉC†ûÜtuÄk"‰4^]o%våòÔ  [Oz§^­œ8Ô¼R²»—¥*ðø"iB÷ÊZ°9g\b52íZÇ /'Ói¬n,3¦Y_VK÷ j¥ÂjÄ®;²ÞQ«¨ ÀÞ²v„B!€@ m„€Ùd‹é¼8Ð…ÍØ `U& Aüuàîä¬.¾1Z*…|öâ3‘z5Òû—Ž€•›Gqb=^j³±™Ìž©p\ðK½KêN‡Åûg‡®X­¤-Õ[þ08qWE%1wÕÄi·:ìV©œvùn9T³åÈ•w:lªIlFߪ:+LDË)P5Ur ®/ñµêÞ½nª&Õ¿ðŒxTÁL F^ß튥 zzD1jUu]CäÔPËö@ Àí:ê!€@ އ€Õj‘ÉiÏ[ØX[ue¬VÒê_°ÉŠ'„€¶šêÅ"ö`’25Y¬f\GM”­¬¬½ìŸAZ2K Y)N¬ºò8ÿœ¢åÏQ½Î"ˆé$’ÒomEQlbfË›£š‘!›˜ÑP[Fµ•(âêœÈò!iÔb‹öE'1%ƒc«Ñ—…,[Þ ±Tu¾Šz!’^ïW³Åê§U ¸Uð¡Æ„B!€@\6˜MF™Œ6¬µµ<.‡µHÀ;—œîCÕ®-ãqXÊòÒœ¸È XbE¢Ðkn>wNÊ¢ý34¾™ãŽ<”/ôÚ„WŸR+«An©¨Ñ«’hÏjwèªã’‘Üæ¯/„ÂÒÕ•àTO±™ý*ªõ¤©âVJUt,h¡HÜ57Ý…›=ê_òCÛ°UDiy mÈ-•ˆmzhlõúi-Hn-‚¨=B!€@ —`ªéHMéé¹€ù.=B$@ ”®ðÓnÇãiØf¬a&JÙ)E4U0“É™˜ÝÝËVQ!fUwƒU+%k…œ”^ý|XuçUÌퟭ6\oÆâ2zStLúz¹*Ö—T‰xÿ½ðø™BcÐÖRÃW%æÕp«±Ñ2ý¶jK|vëÖ 7@,h8¤"s†¯kkœ%rÕ™’*_/ßf··u§ˆ~@pÁD¤„B!€¸„h¨¯MHJ¥€;ì\å=Rèô„²…œ.—\C±a7Õƒú—59<@í6qé9¾é´]¸À¶Ø“ýˆ FÍu'å÷¤8qÚôR®IÀÜ)Zk°(ShéHÕVÇ%g]Âë%Å:ä%0Å2©Èâóuz+ÓÀû(áÝÞdH©i¸ÕϘAÃc…)Áˆëó£Å/ñ&&ÄÖÖ¡@ÐÃÙ ‘Ü £.„B!€è€8PH1fÒÕðyìm“<ªWÏÃN·\Iû©zr ±ëìeÃlvƦgQhV««°ÇfR(¯ú…V…PC»"C$ˆ‡Äôáã…š:3詆¸ÓNà¸D¦bJÕ …:’åìTóøìA•5‘XAKÅBSXX› t=`4‹&Ðð¢Ú ¾ÉJŒ¨UJ£É2¨U» ÀÞÊÞ.Ãc­Swåº)]¦¬«$M”ˆóŸLÌ›üY™ËUöÙ伉Ÿœglã’íÀ.BV@Ë·¥ôÏU÷ŽÊT¦m¬ñ ¯ÚµbÎÈ®éqJyLúÀÙ+hC-8DýžwföOÓ(”qÙÃî^sÂÔÔšR¿s~ï¡Ï bZºû—Éì÷ð/5\ÏóÈÂÊbsF=øUQ›${3:—îàêûÆöHUÈÕÉÝ&>þý…~V.Éu ¯éÕdꤼóÞý«Šªrfs- 3® çÔY»ïÓS‡õÌMí2{K}Ðí6¼@¢Ñ9jßSmÈ([¤mV+ŸO'Èq:¬‚v€Ýî"¤rZ637” ìíÖ<ž”¤$ª`»…P'§QØ[KJ¤\nÓ¥£Íæ:ò9[¹˜¦ß.OõfÓ•Êd´3pËû‡°Ã:3¡LÈ¥šµµ UlË›£š­G@$–ì¹&ÍhsG B[ê‹)"`YÝ9+Ùí´ød`Ö²ƒ°-ŠÀ¤ÞS ’NOç:n=Pˆ °·¤²0˜Ò/åúÕÛW]—„°í ‚Ø@\¸tû×ý`žôäÃCi,¸|·+sÆŠoÿ>uz÷‡S«^šùèÕME`Wõ–Gæ¬>ôéªòƒ«¯>óÌÝo oz†—ozpæ*õ“ë^š@j¤½ÿ£ÖlÒ–þáéüߟXômySúQ€7ÜèBIÎÏýÏÙ3ù@Üw=´áÞ¤;·éðë7Œ_ðw§E›_8ùÛû7V\;úÞo+±ɉ¿få/+¯‰oqH!¢tÍ5y“>½Ž`3ã3®Æ-ìEŸÝ6tâ²SïywËž¿ÞO¾6C¶U·Z1œVõ{©4æ`~—W³AÀoñsÒêÒöÏ\Xá“Ãq‡EÈj*&JM²a·r ­wµWVO­eK FÀ2ð±Ø:þ3´·ªÌà½U–àÏ,¥­+WÇѶî-å Õkê¸d]ƒßoV“£30>Q•ËDN³ŸH§ÜNNkƒOL†Âb§¸1±L^YGV)F- ³Ó?꥕°·–µ’Ñè6?qòÔ±ãÇÃÑìÙ£G÷n]Ãݽøu*5‹Ü¢²õ^œ#T!€¸Ôà¥L{oË4Ð×í^¸vqãÆ,|v 5¸ÔûMüâÁŸN˜®Ml$$;kÏqú=vMßD† 42qcihHC™º-'VÞõè¡qïn››/¦!ã Äb±D*Î6uú°Ož­²c©‘äinÂŒ“õ¸õ‘TÃäé7xë…2Že~q9έY´¢ìÚ~}Ryê7ö¿k¿ã\;þÉ—þóÖ¨}ò•)™Êw¢~1ܸ:Â/|ýèSû†¼»ó“é´â1êl ‚-D,4ù^5#4±št2.‹0yÊGczN7ÏÚ²SÙövk~Kl7ÆáIÅ :&¶éìY5›öÏ4¤ï³çNJË !œV®£VÀOoáœúaԙɴúœEí6³TÒÿ2E±UõÁ º¬èd-ârÉÃÕ˜”îÕ¥?'ÄÂ÷ƒ"ò]– Üa«$h¦V©ÜÖÓ¤›¸Çp~r0–üø|!x•S¬óx\‚µ8u ÐBUÃ"ð/ÕRví’o·;vÿýOðÇl±tÉ÷4†E.ü Ÿ 4YÅ´ÿÅIùÉMrþØ…ßYa!'´VÝ>4/=%%%{ð=_wbÖã+ç\Ñ=#N!×d]ñðæR'Ù0¸ZøÑ„B!¦_v½—Å+›ŠQ¢N¯KþóÿýhUíáÏ_ÛŒÿOŸ QóËã3_ç.ürùÕ寿¸ ›®äOßû3`DN(ɹmñw; ÅÛß{û@òä ¹^¹œêÑyaçæ“É7Ý1Ú#ýREÒõ¦¹ƒ;¾=â9›Z„L ÝÖsëî‘›Ÿ9hÞ'ÇÔ©¥£rç‹×÷ɈWÇfôŸõî7Ï_ÙûŽ_Š·ÝÙI"TYzÈÝÅ™(ÿõ˃é÷<~]xé¾S¦œr÷ŒaY±ªø®×¿´yÓò[‡ä&Ä$öœ±ò¨Ñc’ê¶»pl×´ø¸Ä¬³ÞÙSçÑ“CÃiCn¸ï¶ÑùÉje\×Þܯ³žx­Ép ž½ø›GÇw%ëäM|î÷:@¡ù1†üÎÂܶ¢M Ç÷îÒµGÏÞýúæåÏøl¹C3FÍSüét:á¬ÇǘÓa YÚLÓê_ó­wkâS|l¸½}\‘ÝXl:1˜qÔÖŠX€ý&Ћ˜ÏIÈ¡Õvc•RÑxhÁ“D®:­YC«| UiÈE°´P•V N×ÚoB`e‚Élƒ©aJO!Úá69-Ëíhðˆ¾žhi¬‹Ã0HR«¥Íž=f#žÅ•KËM~ÿƒ›|ö8<\.wÖ­3ôó‡Ô§êôé £t IDATÝkά™àîÜ$Â+âγVýUXUºwå˜ÃO]¼K;‡‡^­¿ýû3å¥G¿~°Ÿ’‹ñGÜûÎÎ×\øãÙÌ,ú¡Ú…Ù‚«EÈj†@ü;°]ûöžô[o÷¸ïí [î½"/{ðÃûú=òàpMµ–£`Íüû¶õ}uÕÝݤ·-‡–RÀ¹cÛßóþùƒU!Ú¶%ÂŽ³ïŒKÒtš´Âpã³w÷i¢,°U«âe÷Íl4f^Lç^ ¦âR@´û7)¦}/ÎZZ?绳%Ûî1¼rïÛGÁ2Ü~zÕœùÛº¿°ó\UùÑï_¸yò;¬ž=þëC÷ÏS}9Ñ]œÍÅ/¸ÜûžØ»SzJF«îzû¯jÏ!h£b¯,įZñWqñOsµ+æ¿c½mÝá’c>±üéïI‹tËá×g=rhÌÊ}¥U…¿<Ä}÷–{ÖÁÙ*YlÄè¥[—l¾¥úÍ%ßTå?Òx8äi†›—8vÉ÷Pç‡ÛÍŸ,ûºÐy‘/ PßY˜þ¯§f<[?ï»#§ŽÙýÉ­É.RÏX“v?MFƒ$@®¹p;,ñæ‘€)1Øêp)büî©ç–µ$Àõ/U0³É)×$ø†ïhh°;ÐÚ.ФrŠ›± 1îrq¥b9ªÉÐA‰™Aõ[€LºwŠŽXïäHíÆÎ%r‰Ð\_B‘JÌé‘}éOë™l!HD¬ÕÓ`h"‰ F«…àµ5¶Vv¶F:ÿ®;›|ôo*åR¼ËÀÑ—~¡'¾2-=^*”¥¹ï‰)îí˜d¥£ðÏûJŒ˜"£[§&ˆï1¨wN¼L¢Ê:*Ç]^RïĸÁÕØÂõƒ@\z¸êw.™û–ó¶¥³óƒ‚Ã8J>ŸwÓ‡ñÏþq¾¶òÈGãO<4ñ¡ŸjƒÝùšÜüxý??í­näf+íûÔ^#A8,Ú »ŸOX}ýôwO„w n à„9sÖ=µûËc>›1ý£þý†·³›ò€Óø E˜öٻʟoáܸpF¥@š?ef¯ší¿Ÿw˜öôiÍÄgNꤋթ鱢&ò~”gܬ5Y-ÂA­Ú²ûŸŸß¸Î¼ræì•§‚òIŠ3FŒ˜¦Ôt32'.oÄl…4mØ5ýÄ•5v̰÷£/Æ-š?2YÌ—çO_òPöþO·”P°8sÔÄbå ½GT×BíàÄ'ŒÈƒ:=G ÖÔŸ­²]dŒ¡¾³t{?Û.™µpj<~\‘Dâqmޱ`6:À0Îý/›°³¦Ô!E_Z Œ9qBŸ ·jYS-yY …q‹•PÅ%ú¦…0Äìj€)fÓ½ìÙ(NœæZ sXo´ •t4/ c6Ô£øÏíòÂ)c!ý2Õ5hMòƒ9Ô¢Ô,s‰ª —ÇËLKÀàÀÍsnãy‹X*\>ßhõ3/—I-VÆ.Í,ñŠº Bàr€ƒØÜ…@¸M¤ßFKS;ÇÙ*ª9s×~óˆbÃì¾Ç/ú¶ÈæÆ\†ãŸÝeŸ^}ú¿ùÃf8ÄÂ0a§ jÍ ÝC þÍ8Îoxèî©O}¼x˜:hU7\ù汑¯½}Ïౢˌ7¾x"é×vTIÀ\ͨg¾\ÞcÇw®:a ÚDðDÊÔþ3_zõšªµk±{ÊÍ—Ç¥æ ¹ééµ+¯©ülÍÁF‘6ÅI…‡Î7‹ 홣5²ì4Ec,èEØì¹­®¬âð[³¡$õ¸s›Ž°ØkU¡^™•ÞÌ;Ê‹3O,é1뉧钑ÑmìýË÷*ؼ“Öß?Ó>˜ä‚¢ƒ¼Ã勸òÅ^_aÕä¥É(Q]›!ÑWh›Ìæð0­y/5 Ý1Äwa(/5Kã•=U[ÄXð ÛïŠÃnŠü°ËnzÚŠ9rë„qÜ%ö*<Éþp+k»zJ‚ ~Úm¸Ì‹Ì±Z]Íê_#ÇÛÉo‰m7ÕÉeŒ5À&³]¢¤…y8æ€áˆ$Ì\OÛjâÿetv8½P'‘ ´UŠ„È%܆’o˜6õöÛfEÓò9$ÖÊ‚ZnŒZÌÄ ˜ûÞÅ¿/IÝòà}k‹ô‡_¿ëÅú¹ßî?|øÐŽ—®Œ¡Õ M«Å…è]B þuÕ?/šöȱñ﬚Û9Hû h8õÕFžB&¤—®@Ä#ìv<Ô^V˜3óÝ÷¯/[zë;HOÐÅí´9ÃÝ Ù Z9\.Çíjâ/&ȸrj×ʯWï PiÛÎlüøùUS›::ûaš#¡26¡ÿ¢_ÏWC©ªªi¨úcq‰@˯;[Γòîò‹ Q]œ¥Y}ëœÒÒ’»)RTedf.Ò$KΕÓš³¾¤Ô¦JÓ„“š'äü47F°kúÎâÉãã°Êëç™1’v/:¾7Ð1$,åó9ìIž”ôëÙN¾VCJÊõ¶¶ 4^!œÅmvB,£#`¹,¾Å²Û¤× ¢lXøUŠ7äعZª|f~j€©Áh“ih °Å¨‹ê >Ñ–Š¥-ô‚´ÅæðÉ-ä€Ëá8M~X&•:ɳªóýje5·„_&'©T‚2!µQ6›ÿÛ`ÀßÑ#¯ðY×D†>‡/»ê K+ªM¼p}Yi½7—ízï=së`iõ‘¿÷ž,Õ9E‰yùñ<›Í‰›´f7,ç.‡öÄO[Ž<_tŽ jX¸."ãµB .)Ü„Ãf³Y¬vÂEÀ?6›Ý#†º ßšs÷ÖÎ˾\6FC ›góŒ×øiëÎ#5äÁ™ªßMcœ_.|rÑòúº¢ßß[¼¢¸ßÍ£“Co!¹ñã_\·$mÓ=|YLŸÑ»œ$U›EWvàóÇÞÀøŸ>ô¦8z†ñàGÏ¿ñծÅ•U…¿¿sÿCßÉ&ßÔ›v¤;vžõìšoï¸~á†Ce ºê³;ßœwÓó¥–.EEx Z„}_UýgŒ5üïþQf&»®²´ –oÕ€[&ñ7/~fãiÓe×kÍ8Æ•Æj8G ´›Ùâ´-ÎÍ'¡Ç8;‚ÌI·uݳø¡·wT×ý¹rñò³ýgOhèú¢0+Ü6M±í•U»«áËæÜÆeo• ž79«i,4/™ÆÃ É|ðP`5"Ôw–zÐŒ1¶¯–­ú_ ðPQT¢'5!Ì»è8Û¾‚Ýnãpè}‘Ãj‚}vÛ÷éí”ùh˜ ‚HLͦnàv3¨íÙ“Ã=8õÁÁ9>‰fÃh°™˜dÃSÀ\™ë«èÜ`¸Ã$0ž‚p›lHs6§=õÅ cc‰òŸ—Í•Ÿ“ÐíæM¹KÞœÓ9vÈ‚§Ç/˜–5xþvItOtCgP5a˜.¢4D!€èÐÔm¾9S&SæÍû¹`ëì\¹,~Äó‡,˜»ö—¥/n/+úúÎ^qJ¹ Jú ëÊ]°‚üøÌí Ö‘2,7~Ò›?¾7²ðåi}s: Ÿÿ]ìc›>žV<Â8Ònw}ðÖ˜ÃÍyu/yg9òÒÈx™L›5à?oëoý|óÓã+ô臓¨ý핹ãzefõ¿å#bÞºsTßùé×Wž\zm¯ô¤œá÷l–ÞõÕ®U7¤RÖ¸Á‹°ïk£ýìÏf~?o@ZlbîÀk~UdÇ81£ž]÷ò Ã‹Ge'¥w¿`c‰‹v猸o¦e§ö¹mm¡9xqÿà„Wàì`üŒ«7.ÒüpïðÜœÁwlR/X¿òæL†9oƒžøâåîÛæõKKÊÿ†ûõïOOO¢ÑpšJSC ñ0FE¨ï,nüÄŸIÝ4³gzö€ŸÛQé1dÆXxÙº’'¤ü¢zCM)ò±·™&E` G[<¯"špXY‹Ã÷ð@Šð¿ÃîËéÃ.G}½8ŠñA/6¡4$n'“(éc+Ün BŸÝ5CòÓ8]Bž€žY›Ù WÑÉ›i…nµ U¼ÍB{²% WA!‘€ï°ÔQÂד 'm‘}2pqÞ”¬ã‹D&¯°P °Úû37¥‰þf ÎúõëÇçëN£Ñ„ë¢+C|©pwÃ]ïø­ÂqŽ®#„À凤Aºn̺¿}7#™±*éòC£MFd?¹bÜÔ½ ÿ^?ÅÊ8¸£µk×öíÛ°ƒoµ×•c‡öÊ䊜<2ãN]ùÙß>¼7'IÁŽì$ÜV» â?ÃçH±vÁ+߯đÚ×Ú½U¿½˜Ç’Ã*d`¢x°8Ü÷ÖÎxqƒ"ž ]ûóÏŽ×_Ï„wŽêœQ,ø=SŸƒr÷„Õ_R:[SÍiNÕ/ÙiÍ=WÁŒÍöãÒÜÁ3¨[Çvgæ÷çR ¦Œ®D€hàË åvBµ=û×§=Ó •"”ÿNxêçˈÄñò„.PÅn³.{y…8kä%%|‘„ÇçžbDwj+& Hî—OX­¶Ý{54"J¨Q›#àsož¶oߎ4ÀmŽ8ê!€@ :àmpK¤Ì );Î:8'nSɱjq’š¥=hÑp8íªZ `ÒÕˆ f©ê+Z qÈ8> 0n·x¼¶Y*>€‡ÇÅSÛ++%íøqò¹>‹e›±ZÈÐø7šìØ›%£ÝhÃét¸ Š·°·öôèÙ“pçKƒä°ê¥îŠ­ÒxÈ óÒÊg+ØT˜Px?bo*&À€pšRÆ>ÀV›“¯ð:[ŒRR‹-PQ?M*TRP,õœ‘q¸ºi‹ýÍçsq ÓžÒ¤XM5©øõH¿ä/,èÚwÐû¤z–ºGÝ´öVÕV0‰š"„B ³&Þž BˆFcx‰W/ÿåêå—6,øŠ–¯|Šv†äÙ½û»bSÝ<@šŽ_ÔÄ-Vcb{yrs0ié„LÂiã3 F.™’g ê_>[¢ÁÀ¢+ktÀÔï"YŒ½†±È &Ðð0øð”JŘ ¬ ½D, ÍåócRýŒÊ%‚›'z—$ˆM„B!€@ þ•øœoaƒÞ¾R( ¿ËÅž°WM "¯Ù0pâv8+^#}~()†úéäpxBx$§U¶¯ŒƒLÑäy|Úpšp:[™ö’Qï¨rHø|/°H¢„ b*:Âcà´j}Ä%b‘‡ €äSã!Å’ ʈt¦8ähÑʼn€;ä´ ¦„B!€h?œvÿ¾–M.`ï Ð#¹@¯Å¦0T‰ÊŸÄe··‹Ç\ª”tSí†ÇPLÅ‚MÁv.±1›À¿¡/ZË)@EÏTu AàЉÚn³ð,>¹ÛZ¼õµ×OŽ]¶hˆ2pÝñ>þ|g‘ w:D§=0ÿêiÀ³á¼ðíS/_÷ü‡Æø¯µ»^~ö¯¡Ïýßh£ðëe¯îÔ‹%ÇåĆμëƾ± ¶ýmøðs8ïÈ„ `˜pf¯n÷‡’&O°©&©°§þ|€y‹±s‹H·o¾"/×V-FUD „Bà@ÇBmpKà>‹°WqEþ â€,«¾F-bÍúº k?ÊšAxc †Ãù£@sÊHÔxÀ6–Ëõow¹<[ß6~jÝÖ²=›?ßtÈ€»ƒ#s6gâÕ¾Ö-VàÒø`é§Û{,¹.ÝÏ;n¨·µùdïÛ»Óâ½ÛxtÓwgŒ’®fÓ¸l:g§ÙË!¥j·£ú¯÷_zû§ø'¯íñÿÜ`×à-<˜«È=RÊØÂ@‘ØÍGD#¤Ôr”‡,øB2·ñÄÑäyŽJ-ß·¾T ‘8­Öâßþøµ¡’®{1 U¥¥<NDb±A«MëÝ›}6|=BŒo‚ 4ññWN™ÒŽl4ßuÇYšçÝE „B!Іpy<§Ã! p:mÃΑ&…_¿* $7µË^M( È[_/Œ@ýnŒL®Ã¤øª»ˆ(hÛ:”0,]g,™bÛôâ– P„I}‡R±»¸êN=l'ôN,@všŒê+®‹?÷ÓÞº®£ãH‰¯úßÝÐi}NêÌMÒñp„‰}†¤~ûOëpàPá<"gðŒ Á3»š›—Ý­W\r³fÑ®]|¡üª[o6UÆô~þ裫o»q³¨6°Y­þüsTIF™Kg$Qæ‘C „B!mHŸÛö.í$i’Ãö«žAMø³³ò¤RÆnšÑ€Ñév eþ„Ò7ㄱÀ$§áxƒ{ß>+÷h0ØJizß>™ò‹©øÝ†‚£Æô^i~]8ŒÊf° SMãܶå4éþê6ÿþ/ɘ‘y1n#h€·õÂ?Õ¦õˤÐJÞ;XsÂáH+Ç$QÈ[I!*Í <’×$*]Á:+r»œ*FdD!€@ „B Uzaâ¿DÁ a3Ëþ–‘qp[@42^$i8p¨ÐÎ8˜L’ÛV²õÝ øÄǪMÕà&*RzO{ñ—ƒ ]†à{~mpS_ë<Çlt¸1È|l:ºæéG¾ÂœV]M=sê¢ꋉÚLëXu;Bv+«ÑÔ@Š#yM¢Ë9á`Œ]šÑ¥Æþj]þ5„B!€@ — Ì"±4j2Ó@½Qb ·ûÓ½F¦¼§P7s¼é™f܉Ò8"#ã¶l~ýà Cž?<¶±ðê²Y\B1£ì=eØÏkþW’àØËqWš€[-8Í6‚€å½f?áñ'àš=½°ôó{^˜Ó¥c‰%`hP²ÿk¡€±0„Nì6‰‚UW\X´nƒÜÆ©`b-Ì7¼¬ÉW_rË-µÅ%kÿó>ÇÆç';E$už:5gÚ4ª»í}t`Ó&švÙ5~î¨Q쌺•½°6;­ä5G „B!À<¾FÕÖ½zÅ^òß@IS(U¹†ÉmÎsSÌ@Ê\_g<‘ˆ5& wß!üâtØ}lxbü2+ úåq9.ÎÅèàÏ„³ýme[8gÅŽ·?(¶à1IA2Ëns‰„àÈÈO>ZúÜŠ7Eýîy:–‹¹…ž³ÖæjÜG˜ÐûŠn_[nrw·û d0ò÷&p;f*êÝ+i‚«¿MÄhØTS•VÝàâJ /‡?Ù£Ç/œ;çƒZa3¥××K¸$Ô§…ÝÊjF7•–úˆX´ÚnA2àáDÌX•Ífª®¦ØèøÇLȸ•O]PóŠ]Ø‚ÿbÇ,vLDZîÇö낪¢ „B!€@tœycÆ f‡?ŸàçÍÄäé–ÃuàM„6ØfŽ€ —ËXôl›7æ phä eL©‚(é¬|ªc‘Xê†|9¹àºâSÕVæªÿgý‰·Ý=:Xúþ]v«[H ÀWÓoÒÐô.'u!£–q¾Ãdoêì¨:°ë73MÎŽdØ<À&‚ªƒ;¬<ˆ·Þ:!/BÏ÷5ß{ïÂKÁøÏ&œK‰·œT3sÚÌ­–ÓoyMxÙ¨ÊàxßòVíR Àц½ð;lÕì´¦k8ˆMŸ€m<ƒYú¤ãµÿ|ðð´!“”2…&9·ÿõ/íÑ–~v]ZÞ]Û´~îœï˼âµ5;çç‰!Ö¹·(‡¾p$à;Šj€WíZ1gd×ô8¥<&}àì•´Þ¥Ðm:¹öž‘“4 ¹ƒoZº­‚>ßu[Jÿ\uï¨L… aÚÆ_¯.ÝÁÕ÷í‘««“»M|üû Íž›:‹?¹.Y¨¶üm°†l8öÂ]öyè¹+×Mé<ñ“óíï¤M†‡ˆþ[hÁKjükAwiÀ¢¿ªG®8éתVúó{}æõåí6î_>&³ßÿÔp^pøBYlΨ¿*ò›#¶+Æ[.üœ=ñúoj/Ê6qþ“‰y“?+‹Â÷w˜50ˆgí¾OLÖ37µËì-õA·ÛðZ Á…M¸oß&–)Óµá4& îªÆ ´¶L1Âé_$¸,j€ñà»1s-­S‚ë.ÂIÌ^L˜SŸg77PdùH_¬Íf¹ôÇÖ¿òÆ–;f-=r¦øïžüïÞòÈ‹ß(Ãq›#P»xIþôÇîDuòB—4À\±ŠnÍ“ÿ]à)½ñOÒìÇfäwûg˜ 7á ]´ jðð„þ(åÆšJž‹!‰æ&¨ ávC|8ßeký˜Ulã ×JûÊþq@à@¬uÆ“ÚÆ 5!L £wþHL³û»»1ÓïæOÁÎ Çv¬Áº‡<¶t[ޝ¼uÊÒ²1=»ñíÁ™ ÌpþØ){¦<%ùú~¶å[ŽèÇVy8Ä+þÜR~íø\Q-&íóÄê/#5xèy§Oôh¸|·+sÆŠoÇöJr[óß{f>šºkÕµ‰<û¹Õ·^½Ìq÷»ÛÖtÑÿüÜüÛ&6üúò¨ŽK·ÝæIO>ì~ùx"\P’sãó_¿?(?ýý ÷>ôP÷>_ÏÊýÔ¸êv¼ôÚ¡˜¬ÿípdðŽíˆæˆ(]3åÊ 7ýúÜŒË7èCDÈ F—-xIÃ_>¬_î5|/Z¯¸fÊ÷¯Ê¦wAhà囜¹JýäO/MHàé1LÚûñ?~zªŸ@_vìçWæ?±èÛáf¤¶ÿKu±åB5ú퓆·0ŽÛ¼ÿÙ w×/ÝùÖÇqøA–„AðR®_½}¼") ÄaÖÀÆ]Ú‹>›3þ¿ûòæ.y÷Å+»¥%ç b±5ÐÚ=ȸc³ZÄžô?°Ao/+>J§²õpàIÏpÔï@פ(âù Š+ê}…#èíŸäöi’»Ã*•0`váBÏa3SbŠP$lÏáºn¯ëâüÛ–åÓsc¯Xüñž?úÜ¿êóp,qÔW<¶4äMYÿ—÷'ïäþgÙÊÿ„¬ÒÞÁþÙ·u 0LSaÉîÀÁØ7§ÉÏDà“ÃÎá0†ðjØFŽŒÜœSvx€^.—8†þâ€èS4šL¢Ê.L(äŽ*É( -ÊD¹“¹ØXöçN¬JŒÍ¹;; ûù,b„*Ž‚5 Ÿ?=þÃ]ï^“Hm(U½F§“5ñQS{=ùæ'L£‡‘AÕ]ÕÿûáLÊ5/ä‰1P_pà|O,öú{àÆYøìêïÔûMüâÁŸN˜®Mtï~ëÍS£Þøcñdrg7ÿ½+FO_±åÁ³Òy)ÓÞÛ2 T»W À˜¬Ç­ô è$O¿yÀ[/”ép,´l;õùk»²^”úåg>F Þ*ÜõPСk„€¼¤ ôù¤>ãþ JûÜs·Ð‹’Ûrbå]÷î¶¹>MW ƒH Î6uú°Ož­²c©þ#ïöš†‹.\P‘Ì |.xœ š]3B JÍ¢Ž[;º0k` YüÂ×>µoÈ»;?™žqqá¼µ ¡öÍ"Àãñ o$HOÚlÝ(ߤÅNUBABàzÓã˜ÝBmß ‡ß܃/—Ã&›].ÈÞ¸ÇTUåë—'ã„™)|ÇfªÃ°<[°åî™®˜á2«;ì¾ Í05B>ãÓF4Àÿ÷M«%môáÁe·@n02>œ·"_{ˆx€’±=~°t«ÕÔ&½^áýÝ9iioŒŸ¹–þ×Öã¥`7ÅN}ˆ„Šmý8¬ô ¡JÝt2ËAÌ IDAT<ùæ»ÆÐÒohü´ÑS»kwþrÚc’èªÝóý‰ø‰WwŽÀvÅm×ëpY¼R€Y‹wïÇÿçŠDzÖå=¦LŠ;³ã¸×\;üœ¹†âíï½} yò„ÜÐ,åß/{¯îš…7æ28˜%;ô³×¸ûÐ×Á4ñº^ïÙ=5F“>dÞê#øF¶_9çŠîq ¹&늇7—:1û‰×®ì}Ç/ÅÛîì$ª‡,=VâŽÊ/^ß'#^›ÑÖêÓ份ø›GÇwMV+ãò&>÷{];|¹‡ÇÝA0Bàâ/)IÎU³ëÃÍæ+ïº63¤¨EÔüòøÌ×¹ ¿\~uBc¯›°éJþøô½ß8Fä„–±ÝÊ¡—‹0}X¼0¢ûì-u™BÿÛ]âÁ·ÄcXh;¶üŠ®·~[ƒ{M aÁ™6ä†ûnO®]oxs¿V B{`ÕíCóÒSRR²ßóÕùÖi“ˆò_¿<˜~Ïã×…—~©§Ü=cXV¬*¾ëõ/mÞ´üÖ!¹ 1‰=g¬÷ ãxÚ* ˆ»ÞÙúz_å©×¯¿mÉ7S¾¿Õ°ò¡WëoÿþÌ]E¦ gª¡° Õqèkæâƒ\î}ÏNì}¨ Ö¡êzõÝÏ.½gDb“•È^YˆßýÑ_«:W­ºaÒüwîýtÝá<6éþ§¿Ÿ¼ñÖ4ûá×g=rhâ'û¶ Wœ_ßÔ[îQí\7+8 æ¿ÉÚè®<¼ÞnivŒüKn¢ñ¯§f<[¿à»#Ó³¦#+&ݸl ÍX‡]gî ¹$’ÊY Ýèéàó¸|¯­>_,cU¯å‘À©(N!4eª*Œµ³¨f8v¿Îå Àö5ô«þªXȯ3‚˜,¤ayG[ÁÂs~¹ÞÀ >›g‡E/–2Fà1ðÙ“¥màHÜ"Ÿ™ x Ú$OF»<\ ˆ¼êVÐÃcãgƒE4èÃ} Lp4ПdÆÏ\CëYš×­'BS ª°—W`:7–‡¥„”wåÆ=‰‚_AÆ•Só^Üðkñ{%úá€bܽžø~PÄ]çóÝ“ò¸ ¡~ç}C®û¸„üRdÏûîïwÆÐÖ{®úKæ¾å¼mÃì|ð÷s%ŒøF‡æ.Œw1ÛaΜõG'üï‹¥‹fLWÿøÝ‚Ìšt7¢îë×¶ÆÝ»éºTž£€’Ùó7 wªÁW§gÄŠ…ÜÜ)ÿ÷ÜO[ïûú€áê =yΜˆœ¡£rÜŸ•Ô;±ÄƶiÿGŸÖL\±pR'šT03wW’#&ŒÈƒÜz=G Öl<[eÃÌ`þPÕƒ@ÐKÚ+Ô©f;¹á£#9s_à÷œ _“›¿iÛO{«¯šâ¤}ŸÚûë3ýEvCÕñï_¸ïúéÖo6>нÃh›_.BM‘´ËÄ1â{g(øN°JdŽš8¢S,ë=z zKa«Q: ÿܹo\ÚˆìŒn¡± Õoèk¸Yk²Z„ƒ–¬ZÚ/ÅuvóóÍœýôÝ]ûhÃb5n`š’§32gmÕˆ!Ù )6ìš~âg jì˜rïG_6Œ{mþÈdÈo’?}ÉCŸ^õé–’›ïË.ƒøÇ2‚ Z ¹ÉÍŽQ¼äŠö~¶]2ë‹©Y$ß"‰„O~©Â0Ö‘ZRqá)‘ Ì,aì¨I™Ó»ƒ‡.mV³ÐZ,Õ±hí眭„<‡Å"Q‘ßšÆÂ¢BŸc1ÓÎI±äpvú'{¡7ïä>^$æšuÞàÉJe{i€%fÖÒú[¡4Æbm6E(¤DBîð/Z"±ÌbBVСbåšÍb„œ'¾®lÚ |~3Vˆ¡y²Ùœð0P÷¬F½Ðå;Ù|e`{ ¼I€¨7)4ëmsÕe§-—Ì:"0³»tQã…“/¢nƯm†ªHŽˆ^nlÿëØc;±{VcÎÇôÇV/ÁN¥( èŸ>ö溯^Ûp6dL~aÖØ)™Å?nûuËßüÑ“C‡‘Ë>Qýó¢iÿΪ¹éÇQ˜9rtÌÑoþ¨¤ŽO݆Ûw˜zïAû „%Eß SéytÆ‹»ú·Õß9÷Ùô¼X&6kÊêc/½"%çÆÏ/4wJ‚=Ùp×C1ç¶”Ÿ«—¤%r޼~׋õs¿Ýøð¡/]C-~ž£'_ O2–_w¶ŒqìŒPý¢kŽŠ@˜—Ôî«ê×pŽ¿kbz3†?œ™ï¾}ÙÒ[ŸØÖ'Þí´9›.í“å¢‡Šž“‡ánÝñãïøð±ùÙÃ'¥œÙºcÛÖâNS¯HnÁFL7`î{ÿ¾$u˃÷­-j•°4«ObÝSZRX³ ¨ŠÀ£?mqi’% çÊÍ”(î¬/)µ©Ò4á©医6åЫ˾u¼¶'.€ä×å´Ùlv²À¿¡ö¢.ÃÁ·æÜ½µó²/—QC®8¨M~J{ßùÈ€}ÞñÒÖ#…§w½7ÿÎ/Õ÷<6!žZÈÕ,V;À„ ¾g‡k<øÑóo|µëpaeUáïïÜÿÐw²É7õ`„d†“xÝš3µUeçKJJŠ‹}vK—þlÿG7@¢”0dð‡…¹Ž×øiëÎ#5ô.×——ÕÛpkù®w^Ú‘4wþP™IkvÃù¡Ë¡=ñÓ–£j«À•Æj8G ´ýÀâT¸eóâg6žÖ9]v½ÖÌØ‰(z ¢„ˆ"a^Ò&o „Ü+úîÃ?U7λŒy›+Üøñ/®[’¶éž¾,¦-Ô‚c³èÊ|þøÃ¸ÿÓ§µv¿ÍqÐÂ{a–‹–µVöž2ȸþÅ5 ÇçKù©WŒ×üùÒ+3§ŒL¹¸üë¨>ò÷Þ“¥:§(1/?žKp3ÒIè50pv™“nëºgñCoï*¨®)úsåâågûÏž:Ö~¸Á)Ü6M±í•U»«í¸ùÜÆeo• ž79+œ£mãµ1$óÍ‘µäªÍcûjÙªÿÕE%zreÆX¸á±x]$Ûí´˜$”€pHxÚ†!JèôÐæq¸> °Dvlí¥=R„ÏXÀ1ëhËa€AÙÕüâE\~ÁFÈ1 BàÒG ÜKÚä­Á,ÇÖ}r²Ë³û^<0GÚí®Þsø±9¯î%“¨G¦ˆÍðŸ·õ·~j`ÈpËE 9Qõ2€(ÄûŽï'zÂÌ1Wjʵ9“G¥6£÷Rv–ÿ¼lÖ¨ü„˜„n7oÊ]òæœÎáT­a—ÖF³ÃϘ±zã"Í÷ÏÍ|Ç&õ‚õ+oÎl#U zâ‹—»o›×/-)wüîÖ¿?½E£µ1¤9ióc ¹ärã'®ØøLꦙ=Ó³ÜøÜŽJÏ!#3ÆZ8ymX 4À¾ XÇY”<©}3¹…‡Ä“Þ§¢äVm8èF¤·ïßn¡Ïãyr9ÙÔØ:dCÄáÚþl|YÓƒ À¤,«¡†ªP ©€C>øl¡üïîÇf5Jt²³¶\%{ÄFʼn<)mšÕ—(œä;âû0 Õšªn·S àIhç:k€í±ç=f©@G ‡ó½°©ýØ vŸWìt:ãY‚ ¢n8ëׯ7nœ¯­Æ«Ê¦¡’#u¹¶jŠí,6ovåZl^'ÿ-W=öæ*lÚB,«™ RSJèïf€¬“Ç~sËoßÏJCg7Íà„n!öCÀ~rŸ©{þ½~ ­ ÉÊÚµkûöí›Ø‘6I5ÕŠ  I1¼æ™i½S8ž@•m^ «ÝeuŸÒ:Ë€kvÕõT¯»Þº¡o–$Èÿ¨MX"ÙððŸò K\׃n¼•êéÐÌ™ƒŒFˆlÓ&µºÝÔÇÂÁŠFõûÈsT•ê“[Ò$•1ªp!=‚y.TՙеêÜÁ7S·Ïþ=+€Ï7ttµ °[ÍÎÎë5œ¢]¸g}vŒ.)®‰iáE:Öê­eÖäÄn“©zÛ–?Ñi÷1©“p8Ôç"í£t›ëvP«{­YCÑÛýᇕkצˆD$\.üdgŸ Ú¦ƒ8>yÇŠß7løç•WÒÄb)»lÀ©í¡ðžmÛ(6þþõל.]SS£vÈF¥Þ¾};;³¾;: qglÍ.ln€ô sc±ÿ>¤ßŽ>wˆ?„B!€ˆnSɱjq’úÒ;ùðN‡ß<ˆ'”²åìQ^yX>¯¾ºÜ7!<éE¢7u‘„8b± ¶ÄoÂ!Ø8 ðƧÍãºÜºãÇ\.otnY¼ÕÆX«RˆÚŽzP¨âŒúÚ(â†Hµð¾–yÕ¿Ð&¦¦…m}ÕÀ_O £5Àð`èOŸ‚‡„mõ¯GïÊ ÐêkjDcnJýËÒA‘GïÍõ&ˆ¬&S$6åLç T}©7ÜWd0¨ U«£\Cpôf‚/dí›2zL#J„B!€h=¸¶¤°Âà$¬%ß/]²3yæœþÀUœá°$2¹Áo šò /k2ŸgÿNmâ%B®¶ž¶×6ÒÞ\TI†£l®ºÇ˜*˜Lηèë}µ¥ÙÙõ´¹ÆQ½ÛSßG`sÚ¼a±%êT£¹™Ø*¡™€||ÈkÑS·%2+4Pm}UßP%UÐÁ«,º*f»X*ÎYíN±"ºa3D6gàÓ¢AÛ\"À8@ò¬/,”yò³,Šƒ.M Ñ€žÙ³GJÉá^›ð¶}Sª$J™FÝ€´4293Å~SŠmü7€Û`D!€@ —=Dýž÷コOfRæOž›ðî§ö¾¸¿y‡E,–@ì[ʘ$;k’'íLêÅBDÊõ±!’ª˜G>Ž[ L~ ¥K}ÙY!y~>›0©×¢>`ÉépÕ](¤8ÉâLfÆ` ÉfM tŽoU\²ÕL Ñ#…Z2GÀf1(5IT;‹¾2âÅðK"£U¤ ýKëJÎIq7d¾¥žÖô®0AH22¨±€£~Ý™3ÀËÒ/ôn!yzºo*p»]H±áe†ù,EÒäpqÀqîtB>øH±Õ†ñcÇc¨„@x™·ÿtn r º„@ Ú^âÕË9ZTQ[Szlëó“³ÄlîD£8nH®à£¦ŒM¶ØØKàS½tÕ¥´¼ÌÈbXfƒ€a/ïvCÄ":•$+Ëp:EÌC’"e ª`˜ÊÍ5VVPÕ 4&I°;ÏKbœB[q‚&Âå‰$ŠÀS†< ‹ÑEÀbÔ‰$r_zXCÍ9†ñ9L=!Jô…€ÖW\P±ÓS౉.ÏÍPƒ×Ì"¨ 6ƒ‹ã>é—=&<–ØÒ€H 5ÅÅíÂèÃÅ ¿ÕÛ—¸Û÷€ÛÔ;B!€@ ÒÓÕëXªÔàk6Ð>ÿ[ro5é|ID%$+d ¯˜dC,ã›jiclQR’©L •8Vs渡<Ñle¬V+ÅÖzÿ±‚2&ÁÐPŪ¨#@ ¾úBLœ?*’­¡P­`¬$4™íb­C&iœQá´ú—R³µÇáTˆêÎX[+ò$‚Ël8ÂÚ iÜ´Z’ (fX+ ˼¡ S‘˜±k7k¬R!˜eÀQw„B!€@tPĉÃN+%2µÝé·ˆnk޽’'©€…8XV‹‘êQ¦I5ÛØt¾qÂ#Q€1¶„§¯©¤Ø§¦Ú\.Ö¶Ô>A8‘¸°†ýûoî"ilŽNoa:>W)ã‚Ù-ÕP¥Iô!Ì”ª~Y©¡M—õÕ*)&…))£ÙÕÊEàõö‹\nJ感l>Ÿ {muååbj›âÁ#~²Tp·[ž’Buæ°ÙÚ+1øGHchïn›Õ*éØöσ'o`ÿþLæåÚ*(P„B!€@ :2àlµÒÂh€]îö€!9µ€£o ÃKq6{°_Ç0¥RX¡˜š/®HÄIO‡¬Ä¬MŸOªD/2“C_C[AËbs"ЃL’’¨ª-ÚGñyžA`AVЬͦ٨Š¥d`9OÑWIˆ“E (LV±ŠV#j$&;<¾G…µá./7— ɱ=¥¾¨¼™)¥+¥}e€yÞxËÚª*q`,åpX¡”Þ¤GV³™ËƒiéÐ…¼ïÀ†r¹¶Š Ô!€@ ŽŒ€L¡´Ż M²…UÉ“¶Z„„<ŽÙZ¢†X\¬åß%¿ÞG*h+éÀQ€‰0) "î°6}¤TÃá@\]ø)%ð…"ªkp¶º.æ¢8Ü«ŽûLÜ5 éÚZn$ÖÆõï쨾ê<N¦ÀX}"F)e …'ìµ@ Nd©>{\åËcú!a Ò0í8¨>¼bo,¸YWT$£4ÀÞp\A-Úä bqÅ@Q7Ô×óIùÛ»’´IŸ¡‰Ú W<› `¹Jº^‡¹ÊæÓÒaA „B!„€@ Ô5ÔQ—É ­›4Hf§ê#o‘ˆ…µU¨~ù"¹‘þ…¬˜ÞDËdüª":pt.íÔ‰U¯r/Ö•¢•·À‰DQ¯¥Ï)ZŽŠDÄS+xúj:¹1äã°Lîl9T32ÜndV¨ã¨æõ¥G52ŽDÌgJMg°Jb²}­*ŽÐ8iõ/ù¨°ö®b˜Ííö…€~j Ú%¬ n¥Ò§ˆn¨¬”x]‘)1˜)‘Õ6>À³Y$EFеVHf jÔB!€@ ‰Tq°(•±©;ÁÚ®:@õ ™¸6«_À)’Ý,ÆÁ¢9á’™¬†r§72¶(1ÑÈf èÓV™›S¿÷ÜA»g+’{ꌳƒHš¨ª?š_P ùjü*îýh^ÊÌikËU±I\-ñê+O%'*§òüB&M2›q°Àˆ’Ü@{œåJAýyÚùVš—gKH`3åL9yÆ;±ò£û©©îx²D½ÉÊôyƒ°ÃII] ÔF ii9\°ÎeJÕo9¯@ };Õ¤ªài‰ªâ?ƒý³8.ŸÃ£ãNU%ퟟ–³ÔÊšð ØU^Ï[}y¹ŒÏ!ú°f3£°„O†åâ±cBŸ t+ɤ9tíSÿ’\Ùl*† v¨‹àvu‰@ „@D@A°¬~±J®ŠÃqötž´Ø£vX >+heB.«°?À¢²SG¨™ ¨sg6³SÊ=JCp*þþË—Y“=47`Hr¼ÊZwŠÀirz§Þ¥…Ç:à£xÙ°TVt,)¶[vNsõÉÄXE£«Óš•)=©†.‚¨úgw¬‹´:ö=$ÐŒ¬ ¼’Î}mË“S`OÀ66%+ðÉWfeQœ˜´ZK])„{ŒËÙTDëq<¥'=5ÀŒ®¾^¦ˆdŠ#›ŽÈZ±9M‘qx©µªØ…-ø/v<àTÒt{à~l?mRu©ñ‹@  Þñ©^šDÎbâŸÉS$àêµt&$yl†ÙÆž ´/ 4ìæ5aå¹£>@dyyð“ͧ!ÐÆ•w¡ÒPK'C’jrtŒÃ`‘ŒËe¥È©­}/q IDAT8EB,Uð…"}C5›ƒú÷ôÀBÆ)ˆ7F ¹îÂa“Ii-.#t·T“E5Ñ×”s.TðÜícÿ ¯€¬kWŠx5*Vñùìûƒˆ ! 5=zPœêê|¹ˆIclæ.ÖŒ¦#°²B‚yÃ> )11 )Y}o]}Æ9©`4Ü–SŸÎ”ŸÞkúêsÞٮ׎WˆóŸLÌ›üYY[)1"›š¶æª…€“ÌwžøÉyV÷s-ä­eÕ¯ þö-¨£ß9¿÷ÐgPéOÝÆýËÇdö{ø—®çAZA(|!$ßõàWEŒÏ´l LkáU»VÌÙ5=N)I8{åmãIôsîaŸ.‰-Yô¢øpº-¥®ºwT¦B0m#íGj¤ÎÚ}Ÿ.˜:¬gnj—Ù[êCÕh«k—þ+}d ƒ¥/’*.Õâ`Oòô¨n¨ÿ!·¼ä 5<‰2Îbs±:¥M =q°Œµæzú±”wé¢ÃÙ8!õ{ž<7ð‰w`§wü@aÂå xЬº¿½z À7=Y][ø?_ýø¤,- …ÕBøV«ùö®¾©ríŸì½“¦M÷¦J){ŠY"2\(¢¢^Åy?T÷Šû*^Çu rE‘){È”½G£¥{¦;mÓ6ÍN¾çä$¡mF›Ðž<ç—_ ç¼ãÿþß÷¼9Ïy–² (|VÉb6©ŠÏù6 ¥ohûiüH2Å[8ÿø©Áê\°Hð<àà%&b=­ј›‹¿ô ½‰:*•ˆ!©«¨@“;Ô¿>S| ‚+²Ø¡ˆ`ª#/ñM4ÙëU ¸§)Žˆ[3¶8 ê Èw#Ù£CÛ‘qöàïûÓç¯|dêÛ¥S¾8péôªÇYÌxëX#ÈxžÎ“itVÔ}ý~6/÷̺¥;^~ycúKä©|OÎ\¾úîØé«Ên%qÁ\öûëŸÏÙS]~iû¤ˆ|Ž»ï…EsÅ–%ï¤ù1«¢$ý×Ç¢é^ŠöÙ%ŠbÎʃ+î ì_7;N¨nÅëÛJñ´'´o¥;en”7)·¾4…ð_ë?™€>U°SÞ8^§im,ÏÜõNü±·–lSö‹ûŸLµZÂç}±íLÎõS?ΪþdþkÔ´&¸ã›ìfN§U|chÒÓ{k´è*6Ͷ'*ôBs.NKÓÅõ»4ÓÿõQ^r"ê‹Ö,5íܸg—ï>wòÛÉvU‰„7uéö¿)nЍ,–h˜Ù<± G…'ªz™ÓfHÉfRZÕØ`(t6KcÆ1 É„Kk¬,Çp5¶0³¸¨ã0s•™Iuv÷]ÀW R©±×v¾Áò˜"†¦¶Øf ÃD*ö­¢tW €ú—L¦°¹B¬`CÅKäwUÏÍõZU L7vÁj±Ô^…ý¶A:¡imÁà‰ÂZ4øeB²û£˜!‡Q˜cOØ`Xâ6=~ªWL·ÇÁÑ«óíÃd&“eÂQyÃ)çP­­¬ Âÿb³Ã…µ™y:ßi a a}ÑY§iw`h\mE¨(ûí²¼å€™ŒúêÒëÁQv]ðþ­-8(@£«ùxÀëÉ"0BÂêÕ_§•(oH¿øú»ÍfJt4Ù‘ç¶2+‹ç€m¯®|œÿÅAìäEF:ë+óò4tïTûß´/5á 4ÀN¸™€}aï6*KQ ÷Br~D&MGu¿{~FâYž†§->uÑ4âqrûó7yætiî¡«µÎ;ìª!ïµ±¹øàwß\ š1%š‰xjçFy;k[þïÿ˜+I ³¾¼l7wÔo{uRBˆL*öè·çêmû?Î9÷ùwÄ ùÒ„¹_]lÒ^ûüΔ§öx:†EŽü ÃSøEÔ€0Îa®ÜzzÉðáoœiEÌ—V<1*6T¡PDŽxvS){[µùëŸ( þä/W[ºk¤«½úÃãã’¤<®8bÜ?¶—{ÎboQn||ö¿Ï^ýenl <@ÌýôjG NwÜ@u7‡æòµÎ|ÿ|ÉÎÇäòع«ŠM0"dÞ›6ý‰¹CC„Â/u™gãž«3u|R°ˆ' ùäʬf”)7ÈÝÌšJÌÚíUhGW´õÕÉ)’¦ IŸ·Ã£&´p¯$7Èq?õîºè•×)pÃuUèݬXCÕáç “ %ai®¼Ž.}ñ–×&' ë<×qOp¤Ë2æÚýoÌÿ’üêºeSmÊ߇լk*9¾ê»#¤¡c£Ù¾uÙ##£Dòó~¸Üb‡Ç­£[Û¸ë-à}Œ®÷š ƒ»Ä=0ŸY·‚P,mj°§Éá( nÏ´ððj—<É“A./¸ Á~°Ñó¤áZ=~Û“] !’É$‰˜Urå¼s©©*£çŸÝ^˜,TÔ!‘¨6+h¹týÀN¬™Ê’%Õ7ÚßVøÔ³€Ç3uµEç°Z,ŸÃ7©ª|j„(ì…ÆÚ ž(âlcej ωY:!ßõ/L1Sb÷¹…Ö Ž 4¢‹[¬¼ ê™K‹ãl«"+K°á¯ð|©1™ÑÑx•síäÉö>À¸ âБ‘Á`‰ì¶K`Íì÷9€4Ùö ’à-–¡A©D²«”!’™ëkëÝŸoÅ~ yßÞ(Ž™þEó}ï=3”ËžÚ±—wà³6Ÿþà‘· îYYY]p|ù¼(›+E[æ—¾’1ñ‡ åÕ…û_&/øÙõ¨l ‡®²À|Ç{®Vl¸æ«¥[ªã_9œµrJää ´†¦³o§úô¬»úÃËŸ©žØ™«¬,¿üûKCød¤õÂÇ~ z|G^eÉg›ÿóÜ7—=‰Ôf*ûÜ·».•Ö–/üÅKvÕxz* ?¸jÛ[#“nɯ®ÉÿýѰÎjwÜ@íû/%ô‘ßö¼7"üîU955ù[¤z&ÓP[F™öõñëÙ¼/Õ[Hã?9ZX£¼¸|löÒy¯¨·¸CîfÖJ;¼Ïî<§pU}òíy艹ܑ•s5ëÔ/Y¼¿7¸"ñ0š§»êÂU—Sà†ëª %u^±úë+_t é߇󫕗wþ{v$zX)òIKwÂ:ßõ„æ—/ÄõÁ®KòºUÀeOpS«ë2†‚Õ‹ž?úÙŠgolJ°Ed|0‚Äp$Ñ_¿8ð…E#¸ý®º†»Sm—ýæ\è# ô¶Ý:+²b§LâgîÎ@ã¶æ8£2ˆIåÆ?¸ôåÈ‹«v—`Ï_Ìð ÓÆÆH¸)w ª koÊð‘Ìó …'_(iAxa‰1"Jó¥ßv“î{u^2ŸÆŽŸ9PíÁc¥Ý‹"E“%O‰’qX‚¨Q¢¬Ê•ëãéAßÝ{zxq‹Áªû¹v9ë•̈ SGF*Bk.W›Î¯9ÈzôÕY ’,šÊÎëá‚ijBÛÞN×]¸ êz \atcU´^üiUí´w_#d2…Á¡:ZfØØ)ccaœ0B¬Ê«î'Až¼ÎB§‹.{‚›Ê]—¡Š£ãeê³{Ï×tx ÂN}û<ü΢Ï/§> X9çÁå׺ù¦Ê Šž?eQ^ºðkã‚‹·GGéªö€i™þ¸ÒŒhóœ—>½ddÍsµfcùñ}5I³FtüYôcqv Ãu“¦±UÛFþòŠÝ§Îîûzæ?öCŽËf «ô®a!|qâÄñQÒØ±##yìÑwaVÀÆìmëpÁïË-ÐÅ èî^s{›{æG9ŵm7dFÅNÛúÄS¦‚¾@Í‹ˆÀ¨ªªXí2ãi‰Ýb2ÅÞq‡s z}ÿÏhñœ,<—h_õ¥GV?‡¬Ñ!Ÿ}Ž÷"ßœó(xÙ2¤á|uAE«S:ÓUåÕ1CäB™ûó­ •+ Žyÿ;¿þpwÕšÕé-žÚ üÛòœÈhGsö·ãÊ*£,6¨£ù‰^U©džp0±‡&‰ c©+;É¡wδ“Ôýà—³ð×-¯ð6>–7yɶ"UW_Q™ùõ´H9ÉOh2·éº]ÇÒ|uÍ w48mÌCÿÍÔX»Ffõ »Åà µ›ã홞Ûê^uvp¬ÌT×ÐT×{ÞgÍ~ÕÔ¬,×°e~yÛ‘h=pë¨Ù‡.˜}™ s׫B[]¨æGÈ=™.¨t*ï2=OQ¿½ÒyOp´Ë2dñ„w×-K>ôâÓ+®µ¹°@aðƒÓæòÙÝÕ¿®Îè7*C鯗ŸÙüöÏoŽvû猓x÷xò™}9ªÂ?OQ&ÞÿìÈ’½k•'÷”ÇÏãðHq¡ÐŸÅéÒˆë “+J~ô­—f–8é…eo*Ø~Øn†ãZ)űHÉT,XP¾vkëð¾!`=9n.n@7;°ûÛ¼[À\Ù×gÀaÜh2˜¶Ç²Ð8ï^¦~Âá|‹:2hÔú»ØI¡1„{u¹5ýî©«Š ú‚˜i¤Å¬ü³Ç°‡–œŒg6`èUÛ> ö( ôÎÍN]¾"¥²ö†Æ¾«au¸®6•žÖ·ÙUŠB ]S½=Ó’OM… @81«Õ"’cgÚÔ5­•BöPX¾“+ЉÕGâœí‚6é×±$|mðfÊÃË`Xü4‡¹oéÅ‹ÂvÀ¸ê¢­VRPSj°[”™‰æ"Æ‚`á ìAøŽHÔ°m *Í£GÏÍß³u»ýÄгÝÞž­Y‘‹_"¯Fž]‰¼´Yœ†¬\Šd{S•ÐÃÇß!º¼åx&öY›3·jM™œ,õpžß‘7ô­¬Mg쩎å)±ÐZ“_ÕQ¿Å±ò•ì7Õ¨*)× BÄž¢ÛŒWœA#rÌtEîžCöÇÌäÉ@£þn/Î1X^)§ÑN)š€U»ØÕ:¶Ü­­ÃY¥[Û¸·1ºÛÝßæ¾ë]x•áòøªºj¬7&[ ÇqÉ;L Á”qiÙ7²õðbZ´Ýü9ê¦ì A &“DFiÖ篿 - çdHð´ 2¦ôc!$J^±2'$ÄF22B[Zý1Þá°è1¡Â¢óëC‹ˆRSžOBû½€€ºšŠüИÁX ðž¢,sGtˆ¨ö£M˜V##Œ%Áê*s²he [ú_l=à,ƨÁí6-Í14sÉéÓB:ÝöžˆHð£±X„ìù¥OyNÎX\ø"XꈉÝÜØÈåwVü˜v<ªà9YxŒ§/û¨Ú…ÌÿIþ'òî°%E} ¾€,^‰xÙ“Ù)O¿2ôÂkO}²'«ðúÑï=½NøìëSHžÎ#-é?}ôßMG3 «ª }ûÂË;83îOáBž÷ít ƒ$óÈÚ­8©l3jk‹‹ÑßQþгyþ³âTÞ¤Éßüá×%#žœáéÝ ™-“*/4tš6£Õj6ètzçßmO ~h8½àà‰’––ÊËG_Q¡¾¡&ëÌùìò&#C/£ètF~Ú¼IšŸÿ¹üxä×7U•W£NËÚ$Q™L‹ª °¼²¦ÕÐÚ¨±RA bh¼¶w÷åfL¼õPºî$·oŠëƒ+TO#í´ÞºK¦¨Þª›ÔÊ •ΤUýö“C  u‡Üõ/>o¢nÓ‡+Nר,*QÛ,ý< D/¹ ¶›ÄÝÔ»ïÂ+V7S`ª½´wÏá¬ZûÓŸ ŽÛUÑqÅò‡><ºýÍw7_o2ZôêF ~f^‡{3=ì èòPÆm·dÙä×/ Ùúì‹ëŠí– ðýÓéumM—~{ãÉÓÌs[ד–æô¯fO܇ë>œ(4BˆêñMWgdü”™Ã[6|¼ºaØäx65xÜdñ‰Oþ“>s¼¢kù×ÍâìÜüÿÛî$]›Vo¶˜áûÙ~vháÓ$œ{óåoŽÔÔøáÍeyiMq‰V๠¸âmëp­Øiw-àn»nO­Ùݽæö6÷ ˜;$}uŽËå vCtq`„FgBßþâr@GNç[.“Z–—ጃ%ŠmÓwÏNª' ÂˆQ%›-DäjQ©«í1¢„C‡6à 7'ª¶éý¢´¤ìÝ[,;âÈÑÕv-®¯C à h­ªÒ ¬"ƒÅ ‰)/¼âk;DyŒ²‚,yH,a×gÔ—¦ó©ê@©Ÿ?0­¢0‡Ài1çìÞÚf³ÆÔ¿¸“Ë^4bÖ­º²²áúu†MôE'¾Á¨ÁFEè;OÞ©S¨w`Ø%@……aœ475‰JiÜ'Ç· Ø7¾<–6#/¿ˆ4G¾{Á̉…ce!§?D~É÷X ¡(æ®ØóIìáW&±àWê ›7½8Ý4<œ7Œæº#ÿYx× ðˆ´‡2?¹~û;cЈ4Êwì˜,¿ûóß–ˆÖ?<(0 zêç…\*çò†¿µöÓ¤O Œžü_닾0Ôî´á·hôÓó¤[fG^ðk¡¾zÓ}a¶óàˆýßqÔ#T0æµMÈYœ1bþ79ÜTGhTîûðÑ ñ¢€Ä‡¶F/ýêñ8†øŽ÷Ö¾¾óÉ¡!yô°{^ÝT¤G¬žÚœÿ·–ϧ ûÕeÊÈÅïL.~sXHĈEYÉ¡6£níêŽvƒi×”ÖW¨4O¨:QÔ=2=BõR]—·ê©QQ¡ÃöùÏÏ'³Hî»™±®N‘eÓ¾ØünðÖùC#‡Þ÷þ¡*T&ôˆ®¹ AÚñÙænêÝvá—ëÐÊ?Þ}bñ†"»PæƒçnU H‡kMxoý§Ã3ßœš4yñæWKï¸úßUO{B{º<•ñ0;ñïÿûzbæëv}»Ô–õÉx‡Ã“D }àõ#¿Ù7µñ:m­ÛÿÁÇ+Š~z”ÏåÀ:w½²ÛšiAêÌ¡æBSêäDˆPJŸx§XÙ5cB°ç½Ï907‹Óó ë·?ÎáðcŸÜW°ç±h.G6ö£Œ6Ø Û-fjؼ•›—ˆw=7&:jÄS[…‹7üðPx7p´ïÔËÖá[‡›ÂmÜïct{¯¹¿Í}æk_â Dm»­ˆ8(ÒÊãéSgS½¢¶ð1êÔêÆ:ŒixŠº? 0tŠ¥¶‰Á$±ŒQ~Õ.%2CB¬ññz3$y0 0üeZCæ•ÆÊRŒ¶0LC’ª[¼ÙÜyZKÕ8*TR_xTÓhÏ ¶»D­VYè© qÞU¥9tÛiü ”±@¯©£aBaZ9R{ÆÝe©1#‹ƒÜX°$xð n“å…½Ûâ3Y}YØNú…a‘%Èÿ½EH¿·Åÿ%am-¹Rà öâ ]ü%¦Š$Á@?fà6¸Í…"qKË÷by¸Î€Ÿíqû8X&-ï²=/<`“Y23nâ/jN‰ê¢ÑhXd„Ç¥•fnk²[ó ª1¸5 èÅ¥‰Ù¾Âc,|D&¤v÷n•²ë˜ÔŠÈÕ~´@PÈù|R2ûÖˆp¡ÑƒJsÓõºÛ7hDN¸þ–çgE HsF~®¸vH@®býë§¹U§¥*0éZh¬*m=}Vh%c³™@ûײߵêÀþy¤=W[ccéñãl[Ü)§Øï–}­h´X˜11˜ô u ÓÓíöÏh_ô»<(¢Ã6áÐH aí7•·pE*ÁõUÔ-L½?1`j,)¬l6šµ%;?Xz8hþãi~úêx]xB0@0€·ÕmN¡PÍf“Éáæ* ‰ën’‚ž Ú} µ@rhÅ×íÑž í Äñ­¸ŠTFl20‰/¢×æbCä&&êÄb3¾ á!Ë)ÿ€ªE²6¯qƯ’ÆL(«´§Möu@΋’i«/Õ;œY~DüðÁÖk ¸ :á5¼,ˆLöÏXÑúÒLs}Vl¤ˆí¢²‡ËEeª€8»ªÅb¹²ccx›5ƒ·YÂÃÇÏv=t×åiXê­ ;Ʈ誼vo‹ÿŒ¿ô P!óÄaÿ ÿÍ¿x‘O£9M ñÔmB …#1$@¢'°_Ü Ç­çÝ–÷ IDATòV`’ÀH0pk2`Vûþ¹©ƒÃÃÇý+ÊòU/¥t‘¾Ú÷aâÐ…ï ˆ=ÉÀmw›‹D’ÆÆzŒ"Yh|³Öˆç·S L£kËr4­ö4?Ò°”Æ\Ý€±dH †,UxáÆ h£ãÇ7›ð%Ø^’˜IÚÓçTE$–0áÇÕ7ø™¦I§&DÉê ë5v)š' ÉBÊ 2)—zò–¹]Ú2 ¥yby‡ow¢ë ÅEJ€RÿFY×ÐJÄ1¸2¬zCE±æØ Q;õ/ÎÆÏâ?Kï¾Û©tÍÞ·OÊ`Ø¥_[D.ÿFê_-ÃsÄR×Õ72˜=;#Qã Ò¡Éââ°Q4Õ×ß*°0!û·öˆZø1@ boþîÞr¦È§.Û¹¨²®¶üÊžfD0½l~"ñ¥‹îÐê'Œî4M”! ðž¾ÍýCуµdò º{Ðcm±¢!©z°}ïMµW³ÙÔ‡Œ'P ÐZèxªXl¢/:v4–ˆ‘v¯Qk50eŠw+èNJà0-ruçFÐb|B8h¥ <…»¾ã4HDìØ`FÁéÕú6LJ GPš—n6áúÞÁûòè?WP’sùiP†Ê¨k£ƒh"A·[ºŽÅ`4)ëMÒ˜‰Ø%ˆõ¾öÇ0HþÑwê_@Ri0È!“´ÍÍe'O ¨T4>œÃÚu ½t¤n ƒ¡?k¿^©ì GQY,It4†DUW'í—1ÜN!»¥…8I0@0@0@0@0@0ð×e€Ãå·iìºDp¾¥ñCôÆ>p†Çk>‹^ä°‚¦Ð˜Ì€z’a`ê_»´˜R’y[ìØXkBα ¡ëö‚ÀBÒ=¥tðÃàÊ™Ãü6„†Æ¥œ ¡¥2çSë™Ä`q•Å×þº7ƒç‘-L_‘€A³þ^Ù«YþûRU×·0Rh,{0á²Ëç­ç³øV»å36ûžõÊt‘§¤À‚ÇZ/OOç Nãgø‚硳XXÉÉTŽÝZ/ïüy¾ÍÙi0 çDDPl¸àPÕÔ<‡RÆ U7;"ànE#     ø«0 ‘Êk«•ÎÑ*bRÛôø™ûÚÜnÑ|‘òégþÜæD—G·éðCý¶·‚ b_?±ß F4~¼ ÷„À †'n‰„}BuHÆêF=‡FaHj†®Ñú™ä2'ÆFHنⲬÝXƒp&(·ç°pØ?C+êÆF±Ìnµî£xÕô¨aiöåè¶Ûµ–O$… n!LH¶B2ìrT@h|+Žb'<â;Ý€©²®¹¾MÓ‚±' ؈o6`Ì Ó ø´òìS­*ŒBètüg$$ð1åYIâBeÞq»XN¢Ð%1w–Úý·ýXr Nƒ€X”–ëÊëG±ê°‚£’)PxšŒ~ŠÖ~ é·U@Ó«,¾ n§a±©NYè"7gˆýF'K˜J¡ÙƒiåÞ-(©æ8Õ¿6ý¿ßûWúS±Ùâqã°ê-55ŇÕqŸØ?†F“)À!‘©ëëK/^d:4À ãÉÀò7^Àz`²íçÕxÖòa^¸tÉd·k-?¨ ª      Ü* ÅÒFU†6 t@‹Æˆç³7æŒé9LJY¡ÝW’¬¥JnBÄð‡~ ÓH“(’XÎ(ɰgf¢ …¤äd î¡°` ú:µ‚Áz$oÓomÍöàUi4"Hª©·¿2ðcÀ e@L€¾òtUÞIguÐSiŒ’ÜK½Ý Ú–oƒ*0|ˆzEc°çp€(Cåi ††Föó€)#‰±EXýÖÆº‚ kà vU?L·Ÿ1µü„c¯Öd4R“’ŽÜ¶ù'N@úk»ú×¶ñ< _-‡#J°3_ž“#¤Ñœº_xk†è©ÙlŽ;뱺¼\(‘àÖûÍwäÿ2½ù¾‰ú'Ò€@U} †Ma pðŒõŠé— ú|\Zvº]£ÐY¬ZƒkL&Lý‹©‚ØWï0éíŠPéĉÿt*Á&²PFViÎüüÙdG"‹û›ReÕêüg‰Ã¢'ÆÊMÕ'+®ÄFªNpvå‹äeyéöÿ!÷‡aàe¹— àsPX¼S÷ µ–Mˆ•i~ƒ„É*¯ÕK¢í±@É|nõw‘ z˜\˜b3ÑŽžs FcÀÔ©Ø-fóÕ]»¤6“cƒ¿ý3$@¦¤8ƒQ_Ú¿ìŸA–sš@ûÍ¿¯ÑNƒ‚xXEˆ€%q¼#ðµ©>)OÀ}B;Ñ)ÁÁÁÁÁÁ@¿f@ÜPo×ÐØaš›¨|ª=4 \û)Q˜}Rc%ŒÃ?0ÈÀT44ÂãÑÚT¹êšj ˜†6 …8'ƺÆ4À ‡€€$FÈæÓç+²3°KK3)¿¤ÖWÚÛ—çsñQrCí…ªÜãÎóÁÑҠȢìó­Í 7Óø­XWÓÜPrý¢T$8ñ9@QJB0Ðå÷ L& L–xÀ *ÝÛ©4ãŒéô‰•ŒJ¿o¿Û÷»¢Ñln`±C‡b-Ôæåµäær0ûg›Ø‰³.÷¡“&a` Uyá… ˜ŒÁ<¸XâPDC§õÕÕ·0Æyâp›¢#‚‚‚‚‚‚‚ÿà Dõµv1Z‘(¢´züAC˜ÞSk*ªÊí où± 㘕 åUÿRÐdHðE̹~Ò®%3™üqãšú aÑhX[hˆ†•½v•¶¥ ›rŽ,Ή¹™ˆÐЗMKŠ•ªN)³oÄ…Jñi…—ë«J°¾þ ë*‹Ê .‡Ç§Áðã­ÈþÓX}(¢n†„Šê&Š4+ÁѶª³×­Ó9¬Üm³Ü'K½É$ž>̰ËöY;vÈÀ䨦ޯ”À73j_ëm,–,5«X[Zª«®F5±¶TL8ópPr2†Äl6·45IÚ`_ÇÕ'åq¦«OÆHtJ0@0@0@0@0@0@0à3<Й I•Ò¨ÁÕÖÕêØð‡Í$—;Ü€Yüº8Úbñ3Û­Ï,Ø*`ê_ô/…$—³rOì2´µaM)î»O 1Ãü;묖] l V`^ù…ßV@æXìj`òÌz £QmÇé_G<cЀ RcFÙ彳ݦšÅD'jiª-/Ⱥí]‚a€ í·ªë£“G1ÙöüFf“¾$cµ)}`| Pä·X­Ö6½JË‘DÛ£LÁô_õ]PAL(füŒÍòÍtá_]XÒ þ œ3«®U«ó÷í `0œÆÏxj\dcb$$0¥R Ïå£G1`LúÅÓA¨M&…#5H¿·Pø+Œ=Böï¦ j      Üæ *B•%Ø ¥!±&ªdQÜÆŒ*]IվʬóGw9»V$N¬oÆ51x_ÞÉ$¾PŸ}Ôx™Ä:ÿ|H Ñ1YÐÒ‘¶#'r‰šÈš,ivq­Q«÷ßzaЩÉààjÈ+8»ÖЦ¶÷KgD& §3Ø¥¹é­Íö°Ø¸­ Ü:‚¡Ù3Ί0”F· ººÖúÂs빆üÄ9s3``jò”:yòL2ÅÞxî±½úc'¥TúuNîÍtáw]XÒÔ¡CéŽÔ>¹GŽðM&L÷‹)ñÛ lc; gügøï•ãÇ%4rN%°ß#õµ" _O&ÄÇcUµµÁáá¾6Ò·å ¸§ù¯<Š,þ?äj»­W‘_@.Úmrzº?¢=‚‚‚‚‚‚^aâ`Õ×TaMSiLšƒ÷¦D)ŸP‚Ìi·‚&‘ØtJmY¶ºÁî“,L«Sëp „º£VÐü `_;ºËìH¬¸ÿþ GX,ŸÆxó…áY3„ÆÄà(Røû†æzû¬1¸2~Ø8H®^¦7ÓDJˆˆ·[ÓÚ t6%…ÈXey™•·]†$Høƒ*ÏÏ ‰ôe™E~É… ì¦Ñr[&ÿ£É\PRDçØóǪëªò×ÿ¡G#?£j›\œ­ÎñÀ’†…ý×l0\Þ¶ ³]+¦öä¾×aÒ9Ò«ëê*32˜d²=Z¾ L‹`Ð *“‰£¦¢B|KEÀØ7µp}Ÿ¾¿@ÂÈŠÈõfûP›Ó‘§ ›s-®ië{hkÕú™f®¯òßÔêæ[èr8hqÓ~)ÅÕ;«KTD‚°¶•ŸXñÜ„p-`öfï_ŒÅ¿ÜDŒ^vEטúð¢”Qï^ ­-—M òýµf8 )á€Ð$’¨ /m*r©Û¹-|þoª>úÅããB¥|®(tØc?\jìxûß@nƒo?äs¶Üˆiä ¨¹ô—i±3ÖTÜÔã2ÖxwgÇXwaÕâY£Fxl7®ª$bóô´ °óbȄԨ²:Œ{ƒ£µà˜ 0@(,[ìeô‹K/ÊÍ€q¥aV^¸ÞyÇß³WmHP¤‡jÔ””_Éĺ`ÇÆ’‡ ií O`€™ÈbÂäŒ /WüöS“Ñn¯ÎdáÆWÖÚ5·~sæèÁrþ€ZEÆÆŠìÃÎv8<Ñ€Ô $2¥èDÆÂõþõ{,]Vln¬…á)ÔøÔ;Ø\¡³|åõ£UY›€„˜p)Òe;Þ T֨ɒ!0AX1ƒ®íÄÞ ¯n†IÄf³¯ŒŸO‹ÑH16†­äÂ}^~ mÙ˜@&ÇY,7X,´„~T†çê‰}hÿÜ`2ÅNœˆ!í4À·Vh@NÀÞïM߯ÆGÄ-È™´¦úòÀÝHö(äÐvdœÝdß÷‰b._}wìôUe¸þÔÄ Ü Xš.®ß¥™þ¯Œx‡k©?ôÉç¢Qæj&åÖ—æ¯þký'SÐxvÊÇë4­å™»Þ‰?öÖ’mÊ~q’©VKø¼/¶É¹~êÇYÕŸÌíšöÀw|“ݬÓé´ª“o MzzoýOŦÙv=ƒ²(Š9+®¸7°~»5;ú¢5 FMû0'îÙå»Ïüv²È ¶¸Dl§¾6Ÿ ³YmO0?¢OÝìS¿/@àtº‰YŽívÖ8©÷wë6 0ú<0Áa¼Œ?6Ýx;0o^e)Lý‹é …f’ðJþ™Õß´wn°ƒ¸å ÷îËH8)±cõÙ’ôí&ƒí¥!èF)Ô ð¡±)Õ¥¹`0|K'IðÅ9ªËó`8añ bĈ0êZaȺÊÓ£@‚{v|9«¬Q7Z‚¥1w`• ïÑÙß~æWˆ-hägç„úÒdO–­2<àÀfNß´)¼±¯ðOȤõ¯#é. àéˆmA°ð<FÅÀXê†:“I¥Á¤ÝJGüÀßJÃÅ«d(’ÆANFª/!Þ‹äM@ö­A’z`§À;ÑÁÁÀ-ÇE1û»Ý«—ÌHzlu9¿}~4ò¯Ü)õ¶í[Û®ýð÷×2îZ¾ba¼Ý¶ !Ó˜L&‹'=ëÁÑe^5®Ž‡ž&„,øê{‹¦ Iœúü’i¤3{¯uHÌI¦Òè4N§Qá ¾ ÿïžlwž&Žæ{ç³Í@‘nÌŽ©ì÷×Þ¾0rùáŸ.Ÿ"åÑ»±{Ý¥z‚àЈ:‡´48N­±Ü¼â«û¸lÀv˜N¥gŸu†\'Ô4éq·‚F=mJ`’HDoT^ªÉÏÆÃ2¤-*J‡¯RÚÉ$Ü6¨ÎÐf7 Ÿ`=¢9p¸àÔ!g€S*Õ´†&M÷É÷TRÀe¤%‡¬Å§~Vר¶ƒÅáC˜(¾X^|ýbeIŽ^Û}yÂÐç0À.ιqžcŽá8{ažYCšÂçúŸì×Ù ªQS¥¦É§“Èö­¶àìíþ?CöDu¿}§¦ƒe¬Q(xŽ Ou……µgÏò¨TTýk“6{â÷Á‡9„—nu s:à¦ÚÚÜ£G¹¶—*ýëCc7[º³J¥2‡p]UUHDÄÍ6Š{}<Ã}p}Ò!EÜ7 Éù™4Õýîù‰gyb¨:üñœÁa2¡$,íÑ•™gÞ÷Ðæ*ÌòÎTüÓŒ”‡·ÖK¹7mús‡†…_>Úæyq›äÖÓK†ãL+bn¼´â‰Q±¡ …"rij›J]œ”\ h¯þðø¸¤0)+Ž÷íå¶*®Å¼ wSØÜxñ»GÓ‚£½kÚƒÌÝXíÉxì ï4fêø¤`O:òÉ•YÍ0pWTúkŸß™òÔþâOǰè‘d€ƒuGÞ®£F™úâ-¯MNò¥±ÓÞ?VßÖ‹^FN\"¸µ0+w~ø]ýݯÞííÉÅ\»ÿù_’_]·lªMù{ã°šuM%ÇW}w„4tl”·-­Oh±êÕM&ŽŒß­ÐÚ¬Mzlw½mcRyq€lÜç×l2½îʲq l«59L aš=rîó îˆG7–„¹_]l‚Å;w£6+ÿ\—úì÷†yD0f ›ù̼Ñ,aÎ'Û·.{ddt€H>pÞ—[lã°j‹·½:)!D&•G {ôÛsõ6Ÿ7øµn¶S7›§÷1ºîÒ6 º¢­¯NN<0eHjlü¼` êØMðÕU¥²@U}³cELªÁ„«fýå±hN+hAP¼Um0â ÄA÷‹Å‚†¿rûòmNr‚æÌ©ê;%0*ý¶ƒ£t¤kßS]˜Á/Ž ”òJÚ´=Ê|_ã#d)‘¬šËë+®°«‚Qe0I;p4¼€+¾~A‰:÷@w½½î¤8¹`Ç¥ŒÉ‚a X§0´ÒÌÝ5YëF0`È7éô‹µÙªÑUjƒ?éš±3Õù×®-ÿ*Vw#ž:•8¿ÝiÇ2xÿÊgφ7OعókÖ‚’Sÿâ.ý³ÕJŽŽæGGcxŠ23E¶\Ęô‹süç6³Y6h¼VÆÀT–•IäòväÝ_q~…ÑOIùþ?úŠlXZÚд!îjQ±÷ Œ]HýÈž_¶»2Žsúë+_t`ø—‡¾3QÕ™¥’òÒu›OÕι/l*?¼½bàÂ12²1Ô–Qýïøòš…Ç1»¶©»úÃËŸ©žØ™ût£µ,·†×ùÕ†›TùØç¾üŸ˜ Jñ¦—æ,^2~ÔÚ9×v<{ü¹¶i®Úù~myëÏ‚ù±Lí•/¦Í:ÝC iüG·e(÷½?ÿÙy¯‡_þ77¨^9œ%yçÆûÿÜõxúX®¿þMGÞ† ÄJ‘OZúå÷i‚¼¯ï{øÃßç^ëñÒ+(â"ÁÀíÆ€µéÄç]òÖѱ‚-g(X½hÍŸ©Ÿ~&‘ÝÎÆ³-ãƒá¼lµh!s¾Ý;B€§¨G´í.´]þõ›s¡,èu»uT`ÅN™Ä߸;£iÆ]¢ÖœgTƪƒ'+^Jж–Þ¯üü()©Š[WY`þû·{¾Låç|9gÁÒ-3w>ÒÜÅfÛÈ7ÊhŠÓË,Ö ïMKÉ(¨3¦>óÞÏŽ•wÚ¼ôU…¦g~:¹"®zÅÜ鋾}nÕúÌiÇ_ŸþÂ;;gl~$DŸù壯dLûåÂî1¼Ò ÏÏzøYÁáõ†ÃÏ€+þNÛ©µêºëæùD›×1ºûí·œ|{Þ{ªÅ;²Œ µf}1ý¾s0È6÷Àn­­Y$‘Öœ¨C_L$ˆL[~*;@ˆß{ Ìäû+1Ïþ¹mÀ ‘Ø Š¯Î^+t|_åÛô¹´MúµRͨXÀºpn_[Ó3l!jº/1¢*$ÄPWG§à É9™à%L¼âZIñÍ– ß~6fÉ;â 4D-% ñTNæúë¦2÷ =’Ÿ‘–ZRy-ïØÕàA÷ðb°E1‚£%òÐúêÒ¼¬|‘L¦ˆb°¸>sÝûÀàüªjapd"Ør;û›ªs«®þ¡‘"SÂmñ†{àÐhõyåšÀÁÓ˜v¿úŠ¢K?~ßbe"d{Ñ-¬wtæW³YÍç‡ß}7V»©²²hÿþÁ|>¦þÅþúÕ°ÿ•êõúÐI“œõ¬] Ù˜àC?¸Û?·˜LQÆ9Á476†„ø?¶>ªIÀ(ñ‹þþtño®F>ýi²"ÁRDÑ…åsëÅŸVÕNûâÕé1è& 83ï‘ý¶$à¹R›üûäh)GfÄ„©#£l>iæR7`É1ßPxâð…»BÆF†%Bš6õáçGÞûs ª E>¹ãØ?:@Yòp›;œ9jÔ„(ëš•¹´cµGRD vÙfÝŽM§¸¬›Ë‚‹ÆæviËG††I˜trô̾¿wÏó¿_jž:Å•¼ã:uå É ;el¬„‚ œ0B¼9¯Z‡°›•Bœú 2`,úýó=Òç¶ÞL1ܰÖs!‚*ŽŽ—m=°÷|Í=³7î9vêÛçÿ|7¡o®¾ºóßÏÏyP»eó‹Iø=ý»àìx¢:¼táׯ‹ïæó,{À´‰Ìçþ¸Ò|×°‚ç¥O/ ß{à\íSaºãûj’`Ûr3|´±1’rÇ0áîÂZ=Y⺗vÑÛe“¦±UÛF¾tÅC–¼í½<ÿ1dïŽ:Žö·»†…ð)â‰ã£~­;2’ÇFFß=„ùnA­áŸÿi]Ã]Ÿ/Ä$!ñ.}yÕßVí.yèù(èØ?æÇeó$y#ÍÍoãüšƒ¬G×Ί@q3X,*úðÚìØ­µ7CÔ@Ô ª•HQ-GHì̽¹ˆ…[ÖÛöVРÎÌ8± bôç[?æÂ©Ÿ„LGÈ{‘oÎ!žÌm8´Õ…j~„¼ý“$3îž™™ 6TÙQ‘ôâÓ+®µ¹Ü??8mþ'ŸÝ]ýëêŒζšÃå´¡tãËÏl~ûç7G »·W,NâÝãÉgöå¨ ÿ¹Sd£Õ¹˜K;í‡Ñ©pSD­Ê.Çr©¸Œ×Û k›2_Å ‘“²Ü¡²9CMºãÍ[ÛÄ5‚¿0Öš#+w保y0V"K"f®¼ræƒqЍû~sT5ù÷s*>xä­CÝè­F±;΄ IDAT¸Ø›kö-™ýÊ•Éß®XçÓ[7ÞÀ£M'öúã˜i̤øÈ1Ó¹{ØS3k\P7 7}Ú$»ZzìˆÁòúK9vJQÛMTTõIÃÀ±ò•L$3ªJÊu‚±'oïŽÛ©|ÞÆvÍ.¿®LŠT]+ë¸ùûÌ”þpZ\[]éD¢ˆNiÅ7ür{+hŸvrÿ&'IèÀª&Ï®J½C(¥mÒ¯]ç\Úi‡z3Åüù}•.È*˜-&fúµ³«¿Õjì)*¹øQS³ @!ÙS Q(äà@þ° ¥´üüj˜ a“Û7ÎåKÂã†D& ãðE`u "hyAVS}¤Ûí) žÚ. £²üÌëéG k®@7h,€HN__¨«kU_ÚZ~qµ”\<:5T!çà<µéëy úZ¡Š5™Õ…é8ù¿ÏigÒåF«ý……mâð°Ü~,°tƒ|Ðéý{níZH¿õ/|é1FºÍ ÊhŒ˜:+n1›ÏíÞ-¸ìŸ[ÍæÐáÃØë«« ¸Û3y»¬Ú…ÌÿIþ'òî„Ì@} ¾€,^‰xþa }x:uû›ïn¾Þd´èÕôe$#fú¬ÀKß.û¹ÌƒüKá‡†Ó ž(ii©¼|äðÃP“uæ|vy“‘!—Qt:c§·Ó®L­+ü~Y ×öî¾Ül«àZ D×UAayeMk§P®…Ecž¼—¶ýÃïOTiMÚºre3:"RûLµ—öî9œUkÿÍ1©•*I«<úí'‡.Åq‡ !³%bRåå‚FƒNÓfä»ãív]Vĸ¼3`5 ¿O›Vo¶˜áNЧ7n4’üÞÕ¹uÕ¥%%%ÅEköW.þ47Ø­¨G–MþxýҭϾ¸®Ø®B´¡½®­©âÒooüc#yÚƒÁÉ¢¯Ksú×?³'îÃuNš¡Noê¶NŽŸ2sxˆW7 ›Ϧ›,>ñÉÒÃgŽW¸%¥ÃX]÷=/Ýv5; « Ÿ¾ áÜ›/s´ ¦¶èÄo.ËK{lJ˜OîIü¡ fóügÅ©½I“¿ùïKF<9#“ugÇíÔ-xïc4»Û¥…ÃçMÔmúpÅéZÀPYT¢F7߀õõ’òÒ?—'€W°zýv\Ú¤:µ··Û^šòï&pbb0›Am¨)jTÙãr… š¢Eø='§t M Œ~@¥Pp®ŸÞÒXawO`Cj*¤Qín[½P ˆåƒ#ôˆ~ßáË»6B®¬7~P² vzn™¦e`hÍG‹†%Ihå%§¿+<¿±¥¾´ýøÀ.¢dE'ŒJÁ47Öä_9 ~Â~YÝP݃³Àȹ©¾²²4ÏÍ8 $Aà º†Wí}}€,<·¡üüO2jňD) ¡{ó»;sà÷ T ¢§ ‚cu`"2·ýf=z&RwC]óÕ‡®¿(F£15UàppUçnÛ&‡ìG¶àÏ}âý ¿I-Ž3RmY™òâE.d¶×_Üã?E Fc´#µV£Ñµµñ]ä`ìî*Á·þ/2ðn½A`ª—_DšÆ#ß½€`vhÂ1ȲÇÓ"¿ä{BAMxoý§Ã3ßœš4yñæô5 #zÚìàk(“çŽg47‡`Ìkÿš³8%(bÄüor¸h¼£r߇Nˆ$>´5zéWÇuzûïZ@2rñ;“‹ß1bÑAVr¨Í<Òµ]Ÿ2tîW—;iv] 3cßÛôŸäO¦†ÆLx~C‘í½fûŒÊ?Þ}bñ†"û£µ.oÕS£¢C‡-:1ìóŸŸOfñÜ¡BÑè§çI·ÌŽ ¼à×B£[ÞÜ0Eœ"¸ý¨ßþP8‡Ã}r_ÁžÇ¢¹ÙØ2ÚàNvÞhd&xèøèžŒ6ÎIÄ–'QÄNüûÿ¾ž˜ùúãŸGß‹µe}2^Æáð$CøFýÈoÛßÓÂ`YëöðñÁŠ¢ßŸ$ås9p„Î]¯ì¶fZ:s¨¹Ð”:9ÂÒÐÃ'Þ)V6F͘Ü ¹Óußó¤j…Å×åì€^!lÞÊÍKÄ»ž5â©­ÂÅ~x(¼8Ú/mÞð·Ö~štàÉ!!Ñ“ÿk}qÃ÷†zn¢Ãvê6@­÷1ºÝ¥É²i_l~7xëü¡‘Cï{ÿP•MÌð X¿¾[%2yYi!Q,0 GñDŒYAƒÀ ýʬ Gwa½ÓX<ŽbpcK¯k; ¶½dàˆÁùm¿9ËD<óL©N‡+A.“)Á8û£'µnÙ‘B—ÃC ÕÇLÍ.nñÌ¥öM`Щ CO áÔ«®®Ë=þcmñ³©C/¨o¹$(,vp‰aq©sHU]VxíLÎ¥?ó/Ÿ¬(¼\_UæÊz¦K1€bMõÊúªâŠ¢«W¡‘Ã×δ¨ëÙAD|ZÒðÉБ@,ï$÷¤º’ôüÓ«ë/¯ áªpT(¦\¼©áwª¬Õ®—h€j^`’óÒÅÍ«4;þˆÖÛ“9§©';ö±-X®e:]Èüù˜úÖÉùuëBl¹·Oå>öã[ñ&“‰“”Du8՟ݹì±1Ñ~ÄqÖ–Cf‰$È‘ªº¢"8"·ñô›Ò¤ 6Üu×]NŒƒ(J0@0@0@0àúì/îšuþÕ3fJ¼Ôúõ×_SSSå·HþŒ’¢¼šªŠcîÄF´õëçå¤2Íó{/#÷ëHmZ£Eg°h –V­±Þôü»?BÒhL]•{mó« aœc_@àð‡Ð¬è_£%ýBý=¯~Ÿ€/÷í·ƒÒÓEŽHB~ úf+Á<¨îáãø’Ç°pî™6ü‘g0ê ƒÖÚ\UÞ¾¸0¶€Û+±ýÌfKc³¶²®¹©•DåDäŠC; ¢íÇi±XÀÖ ln >3H¶š–FP–šÍ&Ô‡rá ™hÉà:K¥1¬ˆNÓè ’œ3¹|1‰La0Ù<¡ ΑÂÇ•D‹Ù*ßú²tSs¹€cQÈø">«­Û÷¨nÕæ•µÉ’f±EáØyƒ®íâÆŸ4»öÅéH [Òf~±/nŸ]ñ÷Ò™ƒ¡211á³Ï°ö+¯^Ýúä“y<&‰äüàü´ „k4Iß/NNT&ƒáŸwÞo6³)™ ¨XíMØ{‰—vÍjaŽ7ãã±sÇ÷îILT„Ûg¶÷û¿© ‹³³þÁƒñÛ»o uÿ¯ÌŒCVE(]²ù¿·|ÇnPž9¥¶h´¬o·ß5þò X[K®Ô0…¾½ùíç´…†G]ÉSŒ_*âÀb•Õ54Öænªh#3Dá’ÐÁŨëAthS !€v¾ –϶/ñ:¤`ã–ÓÍÍ#<‡é\YÐà‡Ë®lÕChBãÞ8@Ô –ó<Á\ßP§*Ü^sÙbŸü°TŽPÁ)¨ônåÖòIú¡WÓX©iªjT^¡˜šylR €-M’²˜ Iî]é©¢ª©ºœv?•nωÒï¹µ?èvíÓÛu¿ðÜŒj€{J7¦³Æ`=ü0;* +[|îœêܹ|’Ÿn4ÓÃEê †;íV'Ðô™íÛ˜L~AxCÿöò v h¿›É䘉±óuUU\>¿‡Œcs„Œ#ÙÝëJ—·k[õàÅ„üÛ=ºˆR}Ï€Yuîûç–ü~¥ª•8lÁòU/¥ôM"Ø^d"4<º¬¤€Ù| WݪËcA^*¼pƤ_P· 9ôô¼ m[ U" ëJÎV«gQÕKC(, ö×É?òÓ缿œBGUsçæ=*ª«cÚÔæ}u€œRôNrÈÀ±:¤lÏÁ£ ã_xƒÎDßИü°¡ */oÕ—V„ Á‰·—бÔÐ Ah Àh¶h4††æ uÍ™j­Þ@æ³xr&?€Á±… G³|‚ÓF]‹¾­I×\Û¦®2hȆ:.›)à3Ã#ØJ‰k¨wÅ^/D$,Q6X±!C&ƒQ66°|>ñݧ´Sc]ü~{Q,êÌæ:…"qî\¬Ä}<êߎ޿øƒ„åªf³S§LÁP©*+³öìô¿˜ô wÎ7•Öl ‘¡Èá(+(‹Žî‚Ù~|¹·îð~<äþ9pÉñìþ²[øhÑÏÌÆsQJø{óŸð|¸B0@0@0@0p‹0@‘O]¶ê²[­_0eò °‚v Æ§MÊÙ9DŠ« ‚$ÕŒ ’0‘ Ùçîž0}Œ†Î0‚†¨ëO¹x«[0ÍBâó©ÕÕe׎ì4å@Eáp‚Ÿzªìwâ!|ü"¾*ò “AŒ½#3 å§ÓÞûÂë¾-ü ‰¬4·¡äìõ’ 1¡«—™$¡!£…&|`Q™ÍV½ÁÜÒÖÔ¦­mmÒWÁdZoB ;•Æ¡ÐT:R£¾½8ñ¢ môc1hÕf£þ5µÕC5Ð3sYt›.Òy &ƒÆ ÆQUÅòJ[YA£#Fb*w V£VÿâCþ•üPƒ]å‹é~aRpöªu»˜J öÕSOÁrÅ®^Þ¹Ó’›Ëg±œº_œu­ °7CwÄX>½}» e þŒ?$ˆÿœàPGƒ3H}MÍà‘#ÝòyKœ$à[bš}É“É Å•¥Á¡€#RgÀÖ5•ŒÊÀ؇äH¤m§7þäÌ6ùÒK¥` ’\_ Æ€ Œ~_,ä K×,}­ì2ªÛÇ‚ðò°R#-(­kÞ>A B,ÈàÎe2(C"bK„lE¼ˆƒmQwb¾\Ê…KPŠAa¨ÒWÒ/•_R«ÔÈ‚‡/tJ¿@){è—éy@u'òñ—*]§Òl±(¹ÜðgìÖŠûêÄ÷ßó›šÀh^2`Ÿ>Q¶˜LÌQ£¸¡¡æìÓ§M•• PÿcÀ¶:xz‹…—”Ä Ä:-/(ˆŒÇ@÷åÃÒÒüèþv­åD‚‚‚‚‚‚[—EHx}mµÿà;P5»M¥Ü‹CDÝ€mq°àK€½ëÎ΂“î¬jÐõbßž›F ¡mƒXÊìÅÏbÅé2™xîÜR}çÚõŒÅÛ•2°C–XÈIµm½wyÏ&0-Æ*ƒK0˜C›Ä£®—¶6·ö ¥Þ†ÑÏ®©[´9%­fÉÅ 9íB^é³vm¸úÑûjµbË—˜Ü¤_`Q©× fÎd† ‘íà(>{¶lß¾@3~Æ”Àø“ äTëõñóPï8@,?¹iSø$÷Qø+ÀÐd4ÆŽGcÎcGc]]€Báüï­øÅøÂ¥K~Œðv­åD‚‚‚‚‚‚[—6‡Ë`²šê±!D$Žn¶°@ÅsD6`Tú…~ylªº2¿IUƒE3sÂ&3žx°¾¦Æd`ˆ†unûj&„] ºÿþæØØf£]¼Ä^§¹g1m0Ï‚ ÖêV¯9þýÀ[Õ^Ì¡ÃGHÎ+¨¥•õ™*¸Ï¹ò¿@Na#`ð#@—Óé·­¹ñÄòeªÕ¿%i!BvªÜá‹ÝÛ{»¸\…©ŽU<ü0Ö›¡­íÈW_…2™NÅ/|ÁÙÒØ>n«Õ*8û¯2?¿ìÌdì²qG²"lyñŽp\ê†0»çðní8ÿ>À¸¬F¢‚‚‚‚‚‚‚~Ê@xTlqa.Ž+’‹‰­Z¼å:09郄̃Û~Áð@x¤€¤»jšúFcé´‚†/Bn-Mßý»ƒ²pa<1÷Ch ¨ønHe6mpœá:}òó÷•9™ÎÅGçH‚‡Ïÿ½{sÿ{V42{^ü¡=âÇáààààà PkÕÎÑ)3=ÈÙ·ÂÔIÒà,HUyH™ ˖øuvŸ€¯ÊÒÄ ì#bÒŒ9B+ß=<Í.ï\),+Åàâtì¨èÒ%Ø‚1Á€f`FK•S´Òté"&¸>\±äÞŸÊ ó4§ ‰bbéÞɦùØb’×ó7…iYE†ªüI¯ P TËÁ¶-&p\;€âšKósîíÞørÙÏNObÅUó])Á4ª _Lìt€Ô·¯e׮ؿ‚’’Û[¶¸Wu~~Gî?)¸ZÃ3µ6ÛK•º¢¤äÊŽ\2£¾X h­ƒ>mƒT.[[;´h mçäôi‡l¨Þq\ßH'žAvA^«z¤ô2¼rü "Ðã'£(µZ'/[޵{ë/W^ÍR?²ÕÝ.͹µqB'žÛÔ‚×rüΈ"UJÑÅqNTH‘®Þ¬ÊV•t×ÖP‘}h@3];Hâ¶wóüâÄ[íCŒ®¥ö¢Ö~ÏRÓ«ÏžÔÿh8Ða†TŸ(øéwwÍèìÌ¢X>þîö¬Êïß§$lzPÛeX¨ž¢,|mWçß^É“A»']¹¬@qGK·ÎßM2L‚Y-Èô.†ª=ßI^ia$ÙÔf}“¥îéãÙÿ@F=XuÞ<&®äíÓ½sµ pwh6þ¼º ‹–Ο¢_Á> UwOßĸWر$2Å5 cIEC‡¶‚­U™ }™P‰DAöËG×1‘h¦» þ ŸK¦ÆL%ÌØ+ÑÝ;5ߺ̞]Àã•MU$``ïÂ’6a6L̘ÉVüËú…°k³&=;ý \åjG‘i,ëf=ZÍg†F%óSó›LŠ,HŸ’Jj  ¥k{M_P@(®Í™B?Âà‘w†_ùרŒü 6Ô=*trrž1›q¨¯{mýzrb"‹L†âL`ûÅÞ5çC(‹† !™¨1<¹pÁT €`¸á9[±Tê?p ÆW<%>žçæÖÀ°|¢áÌO¤ˆÑtëÝ á”!PJž"Ãú!¯Ú"×O#­t‰(Šß=º÷Ï©½6^x°w‚É‘qýß.⪯HVÈGn<õ0öõý?å¬óýÅ\5óbuØY"*7AæÉávF¸øèÂÀÈÛdéûúyöÝ›†\#Ÿ¨ÿ¬xòâðCç*úþôm[3½ÔfÍÁÒ̓ߌÙeþÓ¡5½¬Ñ´%Œ î¼­(/Jqn©÷íÅ NeÅÅPÓbˆêbÖeë«Rt1,¸÷C¨ß”K¹èâ(È8:Xåö¦,¨3aÿÅîk»ÚÖÃïc­%׶ϪX¯iÛÏ?¾·­§ªšH ~ÔWøšöQð©¶²¶‰e¥*ß.ŸV}sŠ„Ä÷öçgÌÞ!ô¹7 ˜ˆö¾ÝòÅl™´žã|`@Ω$"Jƒ•F`'Ó̘«q÷oc]‘Ùl(?“jiiTÁÀ5ße‡Æ¼y•ïv2b‹R„¿ÿеŸ¾}}û’XøÎÑŒ¢ Ù©õÄ®gl&áelf^A™AqÀLU;ÄáA…˜ Ѿ7(ªU¶úB¸/¨kåÂ}‡BJ‹Êç¹’ýÜ ¿ &Ôò‰§R]ü‘HƒXèwûvöµkö4Æ{ ëü,“Ë ­­Ý Âd”•ÝùçH¥ô|Æ8ðÇÏoz€ŸÀBÍG\Z\¬Ë­lmëÔ‰Ñîl¨$gF ÈG fŠ„0‘»aH™0‰ëŒ\Þƒx¿ó©2@ñý-›c;oº³¨?z«5}ÇßY]†o<ÿM‡Ïãu·åYu¿\å¸á0sAŸ¿§ØL IDAT¹Sþ¹òÆ—ù%hTuÙ°VïGG 1 @²¼ãü`°ãÝß­OÞÚ샫àÇìœúýóÛ¯NòVå Dˆ:n {¶4¼ÝÆŸârDˆCßP ÖN¬a1T A$S¨è_*…L„ò¨”:,Ž3ýê¢b-—¦ûþç§m¶‡íîd(Ï»º¨„ï«FŒÀ)IqÍ[A¶ñêP\ôŒÍPžu µ‘ 4Æe¨˜E‘=¹u®SŸ0>•afåÙ>/颥a.WÈMUä "xbËåDWwö£cÛmܽÌlÑ*Looû©Sß,]êËdÂÚP€ÕvLÁ$…üNá]¢þì"!Ø%çglÙ–ìuÞ£ÿ`§à64†*9„Ųl}á%*ÏËÍx–‘”hF“pÌf†Á¿¶ªª÷+,á— Š*È4K/N`UçõM{þ0þìIú›O)® ’!Þ[ÉÍÐäÉÊ*µÆI}AE1°_ph_°@S÷(?%åÎúõù®X,ù3|0 )‚RCŸ®‰þ}xö,)/•ÿUW®ëœ~äþeR©eëÖfX?þÊÃÏï#û4žÃnÑ1h>P’=2´-û'Ò½/jû½ð·^ö >$É÷Ã¥­‡u´QMƒ©ÿ€¾Vo®GçéiWûUc¢)D%ÅR&—ý±·L ~ü±o»zÚXXÚû ú=RU®@·ú‚è:ú9Y±L9.¿=®tØ–EìšØÖ“gooïÚzÚÑT½‰7À±pp›!3Çuñ¶3g[ù Ù^Œ>›VâÍèàn˵vn5yOt™òyµîF]¢Ö~Ïw:$Û÷îäç`Á²àµ™¼ûe)Œª­(fC· ¯®$_âaB5o³ò9<òg‡­þ¢¹×ÜÒ)dìîר?¨(ùÄ÷=}P¥<û¬¸o˜îºg oŨ²¼+?Œù8ÿàÚÞJãï»M!§ÜÙ»ã&!´ƒ›žzu¨žw­Ób(xùk¿ñçó•1"%7g7ãvÜ£Lá+ŒZÛÑgô©<©ÚZ÷’Uë¯VZÊ2o|Æ›öÃ@ýìÄÔrÀ×#Û¹Xšq}¾XsúäÚÑmÜ­-lFîŒ,Sê¡$ŸšßÝÇ‘keãÒrì¶Çùʘò t¬i:V°šuÔ^*•2“NÎïÔÌÇ? ¨E°§÷È3àË­[°Z!cô;9:¹%Æ¿Öv ìXXÖÐ^Ð’*XéíbÃ|pí˜H¨úwk3¼Œh)1\Êe˜JGh²­èòö_Dåª@e‹Ì'N4Â``Í©‡™‚+[8á± Sޏ‹‰î1©Ù¿o [6?úÚi~%§h8–fjmÓ¬·CË©Ç>©¥–Ïß'¤¾-*áËzÓ u²ƒH@zÁÕ9âMQZ©%b߇×n¦µwjì—_VuõÔeó2×ot‹Iõ”Mhš«j¶_£e¿o†Xl6l˜yÛ¶Ô²²‹Ë–YWT0H$ÌðkXçg‰\žO£¹~þ9&^QnîýÇm(šA’·I€Ú"-•J3’“í›J0h‡`ôdûãÖõñ.%`Õ•‹„tø¡e!ùAÈ©=ˆOMOþÄ…™f®¶ ¯2ÍÆ+ËÏ+Ê×Ý^^Ùó¹ëcÞèêÊŸ,ÿÌÍÁžçæßuÊŽ‡yzihUq¥VŽ^œðù¾Y9 w¶tSy†TÝKý٦Ìmç"RóÒî,w¾8wÁ¹\9"ŒÞ9g}Áijo2³Ò#}Ó‚]ÓI%ÌJuYy!:#áô¨ÜÍKN¤J‘ò§«Ç®,˜p&.+åê´Òßfl–©«Q·¨µß³ªJâ2B§5·s3÷wxµdä«ùrmí(~óÂ^îîåÚóϸøÑÏÁ&¢×»&L¿ê÷kX|NfäÙ_»¢x)H6Ý—œ¥ÎM¬Ø³êXb-±×1ÞŠ#` Ä û¦Ï¼¼~××¾ï%á?_ÙŠ…F»w]0kzk3c‹®ÐZ kÐijWwö‹óÏQßÕòØ« $I×îeÀE+N »RÐü‹¶V•õÓ^²ê´âÕ(‰òËŠägirÅÓå}‚ÞR]÷c¿T!W$òžñóÄ‘#ç.Ì x¿¥¦ðÞŸ§dCöLmgû’lMIªâ†:E§pý[)#èdnm;»)¤H &‡-N¼ö´‡cW'ß÷\tçÎ}:xX .-ÍÏ'æ‰JÓþ9Oºk¤?˜²ÙÆ®Ût;u¾[®ŽF^’QK#j»gu…Èæ<'K:•è>àÇ—.Ì<QÚ»—¶v6U/‘òð¿öæõÙ8¿¯ê éÀƒßŠlx êÔ¡WOKй5çx\ŽñüX»|uiñÿq>9dŽ»7÷äÕKOr?dÿîÄgÿü䯲š¨4'úì¯3¿.8q|¶ßû×–O./6€ÖbøÞqÍút¥Ï¸UÚ£eÂÕ'VS8_ºú8ï+'á˹~ÚZ‘ôJ}h-YD˺¬xï•FZQT.àS[-Ùµ²…½<îô/sÆŒG.™íSõY$,2=Z:²Iœ®ÜöçthãÊb íúµ /KÈ!ì',ì±az';:ñ¾dÎÞÏöžO1Ó F×’ÑN᩵‚íjÔQ×íÉk&cÿä‚ÊM31çHH9£G°&³@‚8#-ÙÎÁ”%Sè‡å>ý‡kÞÐWj–È2ÔloIpõH@hg +Ô…Õ¹Eÿ{ÏÏK¤åðH6ÄüØ/Üç(ä軋 +öÕ­È«¾Íûq ¹ŽëwßÅ.\ÈLOg¢Éntƒ›/àH€ ÷w/…‚,G\åDiZIî?Çïœ<É iáÕ³¿­w•öî ’hÀ„á¥KEå¹EÉi©qqƒ†X°MXL:ƒAýÔÑ㘥W —” È™fË´òcù:pYöšZ¾jèÑ+"œsâ¢o]-{øÈV ”B>gâ;k$’ª|7ÌYU—Ó¤\"Éçñ¼+Uý}~âDú… Þ€»2ëÆ~ ©ˆBQáèØ²_?L-Hþ|íÿóçg¥K¶A¢A’<‰¤YŸ>dº**.*Ê?4´.Àû¾5ëŒ]vc”O„ì›"ë7 ÄKÈÖÇ5? ¦Y9³K2Ê5 X˜÷–îhcÎÕÝ®¶ÊˆSÌùú¸ÃÏ/jg®šA•ÅfÒÐ`nИ_WuÍ>|$Z• £& ¤¥YÙ®§:Ú¯¦}á;yiôYÝš6i?bÓ‹ JÞ©“öŸ˜Ç:2>ØÉ«ç‚SIÂÚ=ÿ†§£ÑK®ægd½ØÒÇÕ6[ÿ)W‹e|¡LW£H§¨µßS¿j O®ôm¡@¦C»jG rKØ.6únodÈW`„nNúuÇ¿ÁÐ @ät^vp­ÿõÙSvÅðµ.cí2fÍú~9û÷=W¹0<‹áû…búöëD|x9¶ ñÆ}R×/¿ìšr)Æ•ZxnTÛß°)V¡“vÜ÷Kä¿sG|3Ó#ðìT÷Ú@©lKë®-ªÄ*‹ßj7*ò’tˆªëpÝ{êULÁÏŒ/0q´!¼Ô¥Ò±Gã×Da[’óã2*f šèD¯ìø8õŠÕmÌö?"º½ØëúÆV:—…D(1Ž8÷Z,†ºÑaôo'ýéÂuógÒö˽]9}í·\¸~µ8ÙcPG;XŠß—åú£V¼ê1\šÛäß‹-’û(³NÃZ£@©j(cgRŸY¡ð£Áq’‚”t¡YK޾5ªêšV]Õÿ5é¨ë‡€dʵB²cÒø¯’PÝÓ#Š‘7;»{%'¾ÆRa±8vŽAÅ…,FíëG? ‘ #drôÝÞÒäÑ•ƒ{}É`¢w ¶Í:¦>;Çf™ÐZ*n °pnÃSsÔñÊÇüœ]ÍlÑ[jÈKä¼paÜÏ?{KáùAÃßí×m @>´"«Ò kfÆ>PsB–Zœ›yîñésD/wÛÖm‚Zr<ª¹‰9^¼øJ**•ŠEeyyÂRii¹$¯D..CÄ… ¼Ú)"d8Åa`¾Æè2AHÑ•ðÌ]*•‰Ä2©L&•ÊÅrtM1± 0Ì) †©•…©5PïêJª,ïy)q/žä>yˆÄ'ÛȈb”tÕ—DP™y1S¤²±ð^LYHûœÀ`¸-YBW§q*LM½»y³‹‰ Pzù>T§ÿÈ ½x »Ž±1ó32nþùgs ‹On@qTCK$ݺ±íÐ|u°ÅEG{øú6¼ŸtDœ×¼Ùç1«ÿ¥È²Î<»ù»?2w7rf6¢µò¨FeM™ÚyþWk«G¸]^9ý ù´‹½¬ &–ºÛÁûlË„¯/x­:½ª«¹T(”Â{Læ>>s#Ë¢Y`3[Eúƒ–×sáÏ~& ™X$eR5¬•$* ~'Á§A^˜žEäpÛî"˜óË®þ»¦·æ%')CSô(+/ªP€•\\sé|d©--Î}‘Jqôrµ´ñôæ’R„…žÃubm2²{ÅÔ·wØ9½½]þYö¶:­t‰Zû=i^ĵ§%ö-;#üà”dfmM în[sÝvÒɶ̢³ÚÚ!D†%‡™P$¶1‘’Ø¡£ú’G/ZÖÍqù@/~‰”i®S+¼G ¡P^mr™@$“Ë„|¨õCD¯rù»³îyuÞ¹=WZ2¬÷´Ù¡×÷qEµK €ˆ(äÇž_ýíbŸÃÍßéкë[ k56;h@«²é«÷YõÞíÍ S;öälXó›ÄmÑ:ôQä{6+žþ#t#_yv(Î}ÇùlX4g+痾ĸcKÖÆ…,êåT§ßfvè¸Á¬¿íº4·iÚñU[RZÿØßEÙ©º¦étg©YG?æ­FvÎXµkо٭˜9I)%hgÝÓ£1ãàèrçÆ_ÿ$¥ohϱ¶Þõs1kà„GGYåºC#tÙùƒÛ†MY "òé6%æøBªRÈUƒ‚ w!JGh¥/´‚hΦØÛ /nZòÅÏ›iJÃËßßj̘äƒ} 8°ñ%…Ö £Áð(PEƒá¾‡@À>æÉö|…ìERnLâSò©צM;;ÿ`+O[G32 /óªñ Ч¤B*Èe" ¿€1dR¸R£å$*˜”!Ã=‘bB¥2èD2‰ÊZ­tU®ÕÆ/-*HKÌ|žþ„’‘c)!øHÜé%ïÕð| éê«óG£Vƒ5øNð8 A¸“&Á©… ^žŸqÅ ËÂBsuè/ÐK`¿¤¿€g’@ÐVíž O4.ÿõŠ>í@_Jè†ÇÉ‹û Šá&‹³SS;©‹!5øL~ªØO¥‰û•$#sf#ųÌͼ=²v<ò`²®A}É~È® k<ÃæõlÞzÜ~ò¬ãGg+ãvõ´+Þ^Y¹úZFÒ±)VlS&l¼!‡2a熟ٵlJï@·ÐÁKû­¹øÏToš"çèP'&C³1-¿»ƒ¦’æ´óYÙ†^¡C6G múmøgÅ¡Q¶Öî½7$šš¡·Ëzdµ™»´gò¢–Ž.­§_3ñç)‰½$óòª±½­-¬}Gœt_²y‚EÏá:Q pº,ÿw¹óÙɡޖ6î-?Ÿ4I„èl$êµö{‚ —Mœ{8Iå(ŒÛûU[7[^Ëéw[nø{¦¿‰NíĢݔ‘V'»:4·?QbÑyù¡u­^,êìjËóë9÷xŠñæîÐ 7ÞØäÈ?=™Éd{N¾œpa¼»)“Ûá—çüjg»î}ô@A`øNýß–®/NXÿ¤î¸ø/×tâ2™,K—Ða[KFÿszi{#Hƒ¥w1Ô£Uµf³à¡²DipO_p}¡:wíÆÉ,rëßÙ¡·ŽÚ+ž>S+Œ©ù*kÙiäîã 8çf´wwkýÕIó¹‡wŽp®…•5bµZüï:¿«“[8Úº÷ܤ˜}øá<ý]TYÓt¦-®YGK%‘Ûgãñe'Çð\C‡®¸ž­ÌrT7Áj7wF¶ƒijÏsIMVýÐ[Ú{0m›‰%ïs#øZTNmËaDÞ?—žôÇÜÁ—åÑ%¯Ø`Ù°@ àTàÿ ¦`ìÅåÒMHYçÖÿ‰0!m‡ aõŠÏ—¢~ýcƒ{h`P§hÔU¸êËQJ “ (GÎ&._~uê˜Ë+æ=;¹?#æYyQ¾\^ãyD”j Ä&fŽl»@¶}¼,œZq\Ú5|0wl-¹ v€¼Íd«fö ըʋ `èg§ÿ¹òëÂkSÆ$,]J=v>0>Ï_@WçjÂWVÔlD„Š%‰DV_ÍíÝ;“à1îù¥KÉqqøª²í×°Jå‹D–ýú±]•š$3>þÅÉ“V`ÖR‡þ$±6¥Ù!!öAA˜T© VvvM)ý¦áðáÃ=zôЬ4Gó¹ÚÈ“üÉ¢šêQÕQÆ!“' Ýö#“=Þ}%/@6ïBÏG\j¸AªÞþ ÕAúw?1êæÙ±Ž†]ý@W|†E@ôjcAOæ?<<À²†÷ïß ÙjاQ|UTðöÑý°>†cÒFÞ9žxû<î{²`~ Õ$R(€–P,/æK+è.ÓÜ©da,™˜ÿxß,O !øÔ~Š¡kÙ§D¦¿4‘T޾K±oŠí¼zw™8‹DUÝ&eþódÿ~C+ A-G0än@ge`¶UºFWþ„ZÐwpW& …$¤œ‚”’™)òEÇÕÝÌÁÙÌÆžnj¦©*üáj€¡XmÔT(äàÍ/*(LM,JK.Ž‘ç¼e‹,#CÈਤµ`ãEß•¾Í˜á·ò‡—Ä@GÈI|>}Ò$û‘#1dbqØæÍ™gθÑ麬z)ó{HFtX3Åj»iÓÑýW*Ý6m1:Ú’LV=‰ õùñ|R±Ó…Âà%K|Ô&ßËÇŽµêÒ…ÃUfÀm̹Rš½k×®éFܘ•4€ìt/dß-p0®24Ñùu@Â7ÿŠò”¨\º­ùåɯ…%¬JÅEæ(á÷mÛ?îÉY©¬„\›DõzN¨¼ å¨;´)”‘ýêù}È ƒ¨ » ~Ù‘ÿ8Z€™k´„„XÊ``"p3øÐÌÛ,.îRønË/F•Ñ¿cÆd"Hüþýžcì¨;Ê~ Œ÷ª¨¯2Xk4‘!`ú…åe|áå{¥¤»ù…€¨B쿹ÓÅ™ek϶ç1-, dЉ™9•΀\I$Èì…a)42•&A¹Hèú#HÄB x·YPR$—J„¥%%)ü¼¼Ò„xYY™‰XA—#P¶×JŠ8ÉQ¢K„ÔÛJÆ ±z(õUò^ Æø0aCRø(@ì4€)vÈ *Ä$DF@äð‚ÿ‰)µîÂ0là¯r9I™ål¹p+—ó‰ ^IiFÈdEN0c Ë î]>ÚmÊ-)&¬fŸM‹9¹ÈßpÙ°°‰A90¢4£‰Ï‰ž>æ17öšÛÚ7ëÔÛŠ§2™Éçι6B;°æäØ0ö/f V±_ V~*¿Ã¿`"öj)'( Ý•2÷•’̸aú¯’Ï*[•oè¦ü¬|¡ÿÀ”új0Æ~u`¬ŸFýÊ&CyŸ>n³f)*ßáWW¯>\·ÎÛÔЦTý5¬¦0)ñA‹ùóIê*»Wöì‘$%™jÌ¿ÊôW ¿Aø½ÀÚº…Úu¼¸ @$8ºº6¼$ 0¢An½ð!pjB€ä<ñRüÄšöÀ¿ÃÀÀÀ¨=$›Þk¯ô^[ûšÚžî^¾q±Q-ÛvÅè¦æ-ûe?ýÇÆ\_ˆO¨¾ÒŒÖC"Ë NVŒë'þlÕÍÊ3´àù[ÌM»Ä5khëte…›)íÀ`¤”£üNòlfvkÏ**ÃÔ-´ ìI¤Ñœ§M‹ÏËK~ü¸Qs`Ö˜Ýû· F °²®FƒÑ‡U_p”š÷¢`Ÿ•¤WµaŸ«`F °’ñbdCM€+uÐè?ªØïçŸÃi£a¿Pò7 jk1p®Wf¿•¡3ˆæ¹"‘yÏžVê,Si±±·vïÆJq7Té#€¢P"qïÕ‹nf†Áò&2Ò;0Ð 5À ª§G 0>ŽŽŽŽŽŽŽ@“DÀÉÕ£´¸PÀ¯À´óo7 j’5¸F‡ÐcàÀPvÞ!Ù‘Ë<ºûW¨‹ æÙ~T¾„#‘Ö˜øÓÏ£É Ù¡ÙlŠ_sÎÿ-K{ 4ÆsÉé矃S«ÁKýâwÞà#¥Æ2-ûîIÖú Zt6ÍÓ݉2156 Ú¸ªÕyxz'‰bÈÊì7åéÓ«?ýäÆ`0IP0 Er_Á»ÁiÙ–Y[Íš…©¹¯Nýþ»«‰‰ªô‘²ú ßàÀXlj¤®~$¨¨(.,tpqipAh@ƒŸ ¤'> ŽŽŽŽŽŽŽÀ'B’-Û:8e¦§`ýSMX6žm K S)¡Q¬|qÙÔ‚Ô—‘Ona‚A6,‡ ¾éoù†Ž‚D‰: #QÐÂHðÅ${6c„ýõKâãû˜¨À]fΔ–¸ +¢³D«[àöÀv€”ÿóî l IDAT††1Um«Íx5ûèû º‚¡[è†hb4@Êäòd¡NÞ”)Ûoâýû7V­r#“ÍÔìãÀ!–•çfrtAˆ2M]s'âÊ•¼§O-ÈdŒc°´N“†h(•J]>ûÌT–?áÕ+'ww* œÇ›æVÜ2$ä0hªG}ø!888888MH…)‘¨Š+wU ¢Ä öU”“‰v·3½zâ~9†¼sè@’mh¹@U€×€ÓÌ¿4¬80…hÎ&;;+îì_¥áÀ±˜7y2y„7PŠÚCcîÊ1Ƹ1°£ÊN¼•?W&NX>ç¦Êuµ§N x8B5ÊqâDerktK|ðàÂÂ…6%%fd2fõÅÞ Î~A6 ™äV­ÕÕg‹óò®îÜéD£¡“¨Œû…u fÚˆ|h €“%—·?ë@$¦ÆÇ{ùûhà¸:àü4Bå—R'µšêQußGGGGGG i#F`'ׄ71˜š–vn—C•þÏ*Gh…D—ä]<ü–Q î±}ºOO*¢Š$*¿hÎ ”%¦RˆJ#0>X˜Q\ÜéWw,޼|V#•ÃÈ‘ô1c^WTˆdöÜ6 PøÐÕ€“N ÊСŽãÇkØoìµk—øÁ›B›jåÇÆñH,—§3™! bÒÂÅxvÛ6rv6SiþU=é0Ð4Cô¯c÷îl;;lüä7o ÷©Rá\Éõ ‡­þ„Rà]ãàààààà4rÜ<}R“â4FàŸÉ«0L$0ùŽ“ vFôýÓ1w1€é,+÷öcŒÁäŒúBk80›âdùàØÆ7wojN‡qã,¿ÿ>žÉH OÚùIÚćÓà °ÜÙ³¾þZ£Oìa?ýäJ$š’H`õÕ˜ý‚Y ÿzNœhbm }÷nô™3v`þU'¾l¹óoƒÑzâDlt‰XíÛ¢…A„i°AqÜ`Pãáààààà4eX,3[{^R|,¦$ÇÖ…ØÓPF`U6,4˜9±xÖŒk§vk¡z€#tQ™a¢”«dÒ;L£ÍÌÈ>~œ[{—G]» Ù“Û»·ÝwßEI$åÃ;o7哨èuƒ ΂÷ÓO6ƒi„¾xñú?º3Ïg,ñ•1°_²H"!¶kç:`&0¿´ôÒx2˜;Æ å¤ æ_ëŽ-ÝÜ0Ù ú×ÑÅ¥ GÿbjâØè/t\@F‚€_`HJâ;#pðg£²K¤‰À”¹ U‘Àf ±"ýæù0 ÁºYç‰ÙBsB•";CYñœXæfdÔ|pÝ›;70Ïm̼ukŸ]»’lm Ū@kƒ‰‹l `ê“ìíÝ–,a«M”r™,üðá;+Vx›˜°•¶_ŒúÂ#a¿Pæ*ËÔ4xî\«öÙ­[åññ&$’&„[U¹¸ÁQÖÏ`„Žƒ æß¤×¯=›tô/¦)N€ü\ÃÄÀÀÀÀÀh¢P¨4k[û´äL?&ÛÒÞ¯›¡ŒÀàR‰r`ìE"ØY˜<º´ïuä#•l–<×¶#ßd”¢Z“ŽéG90E j#1Iþ!VŽ­¾ÿïn™šñ2\\¼Ö¯O÷òJmrå‘t ‚7UBM¡,fúùy­[Çðôľ‘ŠDþú+bóf&<Ÿ5Ô> û¢•PQá7{¶Æù9òÖ­çGVs~6Œ÷³²ö¯]Uó/×ÎŽ¥.Ü„O@œ7áÉÅUÃÀÀÀÀÀhhšù5‰Œ©36uš/aj̘ ,Í;GhH M&4㱯ýãmN:&s†kç¼aK¥o8,'dÅU¾ˆ,ÙÏß"3êø…ß——ååbGQ,,|×®uï€%xZ,}P6­vHøœÀç‹ûôñ^¶ NL9ayù¹%KöîmÆdbeŸ0ó¯ñ°_3K(´8RLa2W_ض͵²ó³2ÿ³A6X”òh´–•Ì¿qQQþTôÇ òÌ 8þôt›u ™û-x÷]y42{^¬ko¼ GGGGGG I!`Â`:¹¸CI$L+K{wGßNª 2@6,(Ç„•D‚ŒÐ„²Ô§÷‚ã(&žO·©ù2®Ð2Bcò`9± )´¦<’»»™¤ôÙ¥m+Ëòßbûi4·yó(“'ÇR(|<-V“ºzt()¯b!Uò¸q®sæ˜Ll²¼¼ãß|Sq¥¼Ò¼ŠOj‹.”ÉJœƒfÏÆ¾‚‹îèºu„”0V«¢•µšµl˜–±Ø¹gOŽ:ú75!çæÆ05m˜Ñ ; N€ëÿÄ3È®#ÈëRU¿¥Ïá½ãož¼…ŠòWû§uò²åX»·þråÕ,ujÝíÒœ['tòáY±M-x-ÇïŒ(ªT@òöéÞ¹ƒÚ¸;4¾ ¶ŠIâ¶wóüâ„êG¥¶GÕn?yÆþž}ö¤ÖT·@ß>EÇ9QIï6뇲µÖ8öú”ÀVѰÁª'\Ù‡x½ç¬¨§¡þ“ÝèXäÅÏvÏìîϳd™šÛùöùálš:|N÷:S ·’°éžtåeH¦2-Ý:s4ÉH,E5.† Á;É+-#$›Ú¬u²Ô=}<ûȨ‡¢£ ~úÝ]3:;³(Öƒçé?!uÌšþëõüz¬W8ßuæîí^Ðb‘êz î:²Ta!“æW n°1/h¯…v–Œ¸ˆ+nªê QLX^]¾JÈʦÐ.Zj#;´ÊLpqa™ÒÒÎo\œ—¡ á”öÆ9­Xom'2ŠT^Ÿè\úw “gmí¸b…ƒÚP €dFEž?Ÿ‘àlb‚Z}Dãül¨TRÚÓ¡¿©TjÈ?ètìÛgW¯Æ_ºd¯Ìü õ…wCÑ_©\.°±i;e &Ôþ}õüyPëÖÚŠ4Éœ×÷´zwB8eÈCeðOÉSdX?äU[äúi¤£•®‘Dñ»G÷þ9µ×Æ«öN092®ÿâÛEð©¯HVÈGn<õ0öõý?å¬óýÅ\Œ]Š’ŒkÛgU¬×´íçßÛÖSå¢kÐFÓÆê°!²D Tn‚Ì“Ãí µJ ˆ,}_?Ͼ{Ój¢ò×O,(ŽÕ'¸¦îu¯D ÕÄmè/ÇŽyxp¶Õ™9sޤ¡Oäô­3UG`ýpçmEyQú‹sK½o/^p*Ó(.ý‹!&¾Y—­¯JÑ¥£àÞ¡~S.å¢K‰ ãè`nM*¿#Ù±ûÚ®¶õðû(/?t®¢ïOß¶5Ó?¬îYÓ¿ÿG~ƒ_¡ `í‡tÐŽÎnq¯£°ÝlKﶃ² ùµ;ºþ÷ª’šDð´cÞ:··¼´ÉÊ5„×vlN‘À`7ãZ“ŒÀŒFÃËΚnm–{~ýwqnkvgùû{­]û¶yó$n赺Á1b™ ¦µ Mï `¢5š@¹£óóç›§¥YS©•S^™¬‡U»žI LÝyìX ¬Ë‚¬¬3ë×;ÑéÆùDÊ‹= bXZbâó³³»{Ó®ý[ynçT©§3ÎàÝX†"!Län’ ˆÄuF.@üTÕ¥+¾¿eslçM{õtõè8}ÇßSˆÇ7žÏékGˆV]ç/ŸÞ'ÔÓÁÑ·÷Ì}/Å”C¯Ò´cßÿü´Íö°³ëÆuòq´bQ›Â̈ JQnT xEᎎ@ è]˜þ£çMØÆÓÎÁ§ëð¡ô¼Œb Àz×™jC)t:Ý„eãÙnÐðvÌ̸£°µè[ 5ÂɰlÀÒ®Dº†Ôz¡˜9¸8°ëËŽd?xÇù} úûšëíMï¬Õ0ÓøWoßÀ”„¸ò2•G˜oë~|’•Tf0’¦4ÿ¢åvÁL£’8Ôò[~‹U6j×VCHνs‹*peHÍ¥ F“cQ––tOÚ½=Ëî|—‹Êåz­XA™81…JÅ«zÒêm|¡ ‹öäÉ^K—j‚~%Bá“ÿ½õãÎb1‡LV±_ÁœŸê.1G(dôêå1l†ˆX(Ü·x1§¼œ¥t~ÆÌ¿†Êü "ÁÓ"¡ƒCÐС˜xüòòœôt?¿z›?£ïȨΣG«6’ì‘¡m‘Ø?‘î}QÛï…¿o}Ç ’ï‡K[ëh£šSÿ}­Þ\ÎÓÓ®ö«ÆúSˆJŠ¥L.. YæƒÏxÓ~èTË«IÁ?ömWO K{ŸA¿G¢Ï¤Áëo`H߉CBÍÍæÜ*E‚äSó»û8r­l\ZŽÝö8_éÄîؾw'? –¯ÍäÝ/Kkók®(¹¹¿_·•ŠäZ!Hyøê¾ÞvŽw÷ù§’5øˆÉŠ"vMlëɳ··wm=íhªuVôR{G—?XЪÕËu ©³©AM ³öþÒ-è«+ÉW§x˜PÍÛ¬|®ÿA°èñ‡ftp·åZ;·š¼'º Ó+Œ®=·2s\o;s¶•ÏÍáÅ(àuH×áˆ8;lõ͸æ–N!cw¿x¸¼×ˆãÙØTJ“ÿê4êdnå‰Õ-° z焎~NV,SŽKÇoO§KQÌ-¬ªŽõ½Û%Ÿø¾§ª‘gŸ·óks 黊ðv ï]’Òäk;¶FØõïåNGô­?U×Uï ™°8åÎÞ7 ¡Üô.i†šŒJ‹áûE¼üµƒßøóùÊu¦äæìfÜŽb”œ^µ¶£ÏèSyRµ 4œö:.­UèýcÖ°Ç{gM¹\ j9àë‘í\,͸>_¬9}ríè6îÖ6#wF–)õл\W—_ ã Õq=Ö¬£ö…¯”A˜tr~Ï f>þA-‚=½GžH݂ՀGSú ‚½ýã_aJQèÌÀÎ_f çË„+ãÑÚHV,ZIfÔùƒÛ5˜»·V¨°6ž`` °ÂÌ¿XN, Á: Ô*3êØÉUs‹³³0áái¹ýˆÖkÖÄ;8äŠDD¸)À†Ò¦ï­HÍå:¯^ ^î1Êß¾=… ·o÷55ÅÊUý5ªI(C¦OÇêA®©û÷WDEYÁ¢ ô|Æ^”ù­X<|8UîûêÙ37&‹e¨IoøqqŒbþÇÿþ¬ë+<♞Ù"!>GhYH~rjâÃгÚ,.̬0sµeh.šW–ŸW”¯»½¼²ç!?rÿÖǼÑ#`„ŠägirÅÓå}‚[î¼~uqa“ÿâ÷±óžwÝù4='ñÊâöQÓ¥b}ŠËÖÜJÌÍ ßÞáÕ’‘ ¯¾—¿â÷Mñ—Ãêµ³@O¹*Áÿt¯±»î%æ¤?ÙÙõÅ·ƒÝ*Æ(pù“培9ØóÜü»NÙñ0FF¾`âÙ7™Yé‘ǾiÁÖ{ëRGc jjÐX<䇰—»{¹öü3A .~ôs°¾ûÝÀ–?]=veÁ„3qY)W§•þ6ck¤’@ëFϞ¬Y—•¢3NÊݼäDª´NiŽˆ^ïš0ýªß¯añ9™‘gì4°¿Õóã÷óP&*M;ðe{n5puL¶é0cÛ¹ˆÔ¼´;Ë/Î]p.—â7¯VÕÇrEÏ6ɦû’³ Ñ¹‰{VK¬álÅÎMü½Ô¼ˆã¶õ°åxôÝX:tù×ÍÁ)EßúSeaùÏW¶b¡Àî]†ÌšÞÚÌ€?Ú:a¨¼êÜ¡J£‰g¯îì矣y Ëc¯>,$]»—§ 8%ìJAó/ÚZUÖOûò©ý*ô~Y`šgMÝ…(;QúÙÆ{ÉÉ—&mœ¾M0îЋ”¨¿»Ä¬]zõH׿ŽU—?Ç»ú Ch]ïÑQû‡•£äÞÏ#—L>ó26úåý=£íäè#Sý‚Õ œÆ¿“›§Ojr¿õÔ‚Í;¤§ÄÄI,5Xê]ÉìfËzyçÄ«ç÷1ñ¨L ¿>s“ ˆÆ–ZYYXùR¦†¦Sˆî®fLjÊ™µó’ž<Ôœ&L¯5kJ{öŒ.+ƒäCÿôù/jS^^ Ùž7l0õöÖ@pïÞÉ9s¨11žUS^Aòg°¦R2ýe2C—-£q8˜`/nÜÛ¾]åü¬Žþ5`¬2€,tuõ<¯¸  /;ÛE]YʨÀütÂèåŸnH#ìyúÔ)u}…†´Ð­ˆ,Y·G³Bìõx>«$RM(ˆLþÎ੃s‰J¡énç,/[2i‹dÜÊñÞ(V• øÔVsv¿ÿèò¦;nj߫×O±ðÞŸ§dC~œÚÎ΄Âà:Øšª/CºKçÞmÜlíyö¬Š',ì±`z';:ÙÔ{ø’9®á{ϧ`<…lÎs²¤SÙî~\1PqãX„N“‘ZKIúÉ9ÃÖ# Žo`§ö¬4:6™íÈã2¨L^×™‹(®A;4ï¾=2;=%-#=îñ¿“I»GŽØ% 29lqâݰ§)eËÉ×ÃBÿ¢SH­ÆÌÔ¬&¤îù®ÒªØÒˆÎ†ÎéϦ0¼Œ Ì»v;U™‚H[}{Ò;÷éàaijÔ¥¥yAbž¨ni^þ×Þ¼>Ëæ÷õ0§ÓÍx–4F³Ÿs_œ@0Ƈ¶«Îu\Jáú· rã2MÌÜÚvvSd¦h1Yí±Ð_*ºS‡^uX…j!LmWo¸dz´tds|»vr³òìÐÆ•Åplׯ=;!O„”Ö´ŽU_=t¥u=¾GG]~ñ“×LÆÎä?IDš‰ ½ÐkL‡M° ²Ç‡¶{öä¦Ûœ‘”SA4Ü-;jVzAS•U‘œmLï\V^¦*Tafëi4 ó­€hd·‡ ¶²Dð»´Xv6 OxýÏÅá§hªƒ¯¬ÛwßÙ¬\ùÚÂ" 77ªK – ˜2˜8ë+\¾ù¦²Ûó½?ÿ¼"ƒ0)"îÝ  ýïDÿbZÙ g¸¢žF!ûf „Èú ñ²õ1Rƒ7/8öX9³K2Ê5; ³ãÞÒm̹ºÛÕ¦bqê‘9_wøùïEíÌ•3H¢›Zø]üÍ 6Íœœ|»ÏZ»(0át˜Ê`«¥š´4+[Âõ´S%¥Óú^Ù *Èp<™Øs5Š¥«“IIV‘:w¬ú†ƒ'Wú¶°&§eyiܽ§ÅŽmZòôÙM+ Àpð²fåVÈ•ÅfÒHÉ„4æ×U]³‰–xLÚbëÈø`'¯ž N% kÄWÕ±N!U%ùµQS7DZ­ºægd½ØÒÇÕ6[ÿ)W‹e|aµ'Ó*aŠß¾oO‰iÐä3øþT‡+9‰%l›ÊB÷ú|€õ °‹3nžÉðÒV›ÿVÒW ©¬4úÀ¬nÍ›‡´±éE…¢ÒÃõÞ:ƪ L%#)Q L¼¡î¼g ›Z9x¶ùréþý²ì{V¦oýyç’REí2fÍú~9û÷=WÙ³ê.c}¡µÖf¦o¿Nć—c oÜ'uýòËÁ®)—Âó2ï]H÷Ô^‘¢Õ‘úò¡~È*¤Õ›¦á=³Vý@¸bHê+†H¦ÁÕÆ×Z-×jù«÷XùõõøåÚ¾¬43½‚Á­8]+Áj¨)|ÇsvƒôkosUκž-8nmJ*ô>¡n•.Ð*_hs&ÙŽ¥øgË"¡*A—[Ûì€a©¹†#éº1ó5X€é(Æ^Ž9%8Ô*îî_gV/(ÌPU6†ƒ-ÚµóÙ¶­(((²¼ Ö¦‘µÂ4½,+ã÷í Ó§‘®8+ëäܹñ{÷ú³X–Ê _ õ…Ïúm †Qî˜3„B›±c›MœˆI ¬¨8¸|9=;ê©â~ m².“J¹:¹uê„I˜—™ •xîî†Ìp£â¸±W á¿# Ãi»‘o¦#sCÝKW5™J¨ÎºXDž¸“ñ!Eé‹Ó×˃zú[éig£ÂÊr//˜‡|›V¤0 ½„¡Áü‹eÂ``.›ZšuôÏÕšÊÀKÀð,(­ñ.Á3¢J‹E&@"]ÌÞ½½ÍÍ)g×~ÿðŽF2›ÝlÍû_~‰·±É ïùù6„2ø˜Jà¡~†@ðÆÚÚúûï]gφ‰Ã€©Œºpáà¸qàöìnbR™÷aÊ+Læ|‘HèåÕlüxì_PíèÚµüèh.™\™ýê¹9oˆB&—ç±ÙæÌÁƒEéå“'~!! 1¶‘àú›ìsȘUˆÿȲÎà†Œ]Š8Û2áë ^«®êj.Eˉ¤@Ê(Î}Çù<^4g뭄ܼ¤»;­ ßˉ¬AÞ9‘fƒÏè+Áªýè.‚#¿ìº—É—ò’“‹´üV„:n0ëêo»î犤ñÇWmIi=¹¿ æ.!-ÉÌ(J™·¶­¹n;iz[3Ý©°%š¶˜ó¿%Ǧÿp^U³©:èÒ’Œô'ãÖŽ_O#=G·6G¤¹O<ö,1++áññå¾»ë9~¸)÷åÃ'¯Ò‹%4Oo.I(”Ù²{>P+¶®±´$Âê}ëRöì¯_6½õ"1;'ñö¶YsÎ0ûdŠè]gª #‡Ä›B0gDüó÷Gˆ}†57‚DzÃÚÉЪìðê}…-{z3È{rî®ùí™ó€Nöïç¿b­U¨†cÊ¥BȈdrüQ­Á•¯,½³V;M”{Õ´\kwSm5ÓÞ¡kÔQ¦ëÂ7o5²«ðèª]ò`)ÏJJ)AW•º ¦K’¦ÑƱ´6a˜¾ŠŠÀÔ15ãz¶ü<+ß`%‘@ ,£ÁÀ„]¬M“#Þ?º†IH¢ÐZ Z”'åòE:n >)hH0 ŒF+™0ÁÂ‚êæ®xphÅÅß—¿MJÔHhÞºu³-[$_~ùR$*–£.Ó°”K¥Qb±tØ0ß­[¹½{k„|Wç~úéÁÊ•n2—BѰ_샱ýbbC`m±£cûµk5UŸ\¸ðúìY¨TŒ:?+CáõþߘO9%yb±×àÁNNØ 11f\;»O9¦‘öàzšI22g6RÜ Ù1 Á܆ÍÛ#kÇ#V!{âõA²²ëÂϰy=›··Ÿ<ëøÑÙ¨uPO»âí••«¯e$›hÅ6eÂÆr(8-Ùiäîã 8çf´wwkýÕIó¹‡wŽp&+rŽub24Ó"ð»;^K´é·áŸ‡FÚZ»÷Þhj¦#Õjñ¿ëü®NnáhëÞs“böá?†óT±¸½_µu³åµœ~·å†¿gú›èH­8æ>vÛo­ï|7s‚¿/*Kq÷‡N.\ûæN;þüï¯Ý-‰p~fײ)½]ÜB/}ì·æâ?S½i’ÌË«Ævö¶¶°öqÒ}Éæ ^T³ößÿÔ9vnKë1[cM­ÕÖh-!Qa´kP³Ê´Y´›2ÒêÄ`W‡æãö'Šê,Óeù¿ËÏNu´´qoùùü£IZÂèÝSëÒ9ƒµ?œ`Ñyù¡u­^,êìjËóë9÷x *ͽÏ`‡˜‹™þCÚ©¢ %™—Mœ{8Iåù®%0«ÍÜ¥=“µtti=ýš‰?Í$™ö IDATOåT_+‰Î±´4ÂêÝë"Kdooþ6©G ³KȨ¿d“^ÚÍd¥g©& ÿåšN\&“eé:lkÉèTׇÀчÞŰv}š•%Jƒ{úšÂm‰s×nœÌ"·þjO¦cÒ?fþéÎL&Ûsòå„ ãÝM™Ü¿<ç#U®,=³¦¿OßÔvír…VkQîR³Ž:/|"·ÏÆãËNŽ à¹†]q=[Y6 n‚éЬÉ4ùg¦§H¥JX$¤ûèrÇ€%‘@4´2«äjcznߺÜÌLBHˆåÓcff9 u1¾ R¨¡ÑœXð2c‘ýü9ÿÙ¥­?¿¹sC®†š7J“'»îØ‘WQ{DÉdÂDÀt¤¸lÞ Ó„ &“JÃ=üõ×òš™šš‘H*ö«Žû­Å"m!o\‰ÔbÅ Mâ«×þñGW:]÷kèÐ_Ì¿åÖÖÍÕ‰µ…Aòë×~¡¡Àˆ$>|¸GI8ê”eÚ²AždÈ¥Ý^sKS=ªºÖÂ8dò¤Û~d²Ç»¯äÈæ]ÈàùˆK5×áêG7¢ÿ¡ Gÿî'FÝ<;ÖÑxŸžèRg£¡7*a4 ðŸ­ølTÜÂ;YW÷Ð1N 5}ø¸885! zµ±Ç 'ó`YÃnû÷ï†ä5ìÓ”¾zó\"}T4ã"®Æ\XïdÃ4 s. ^dà¦|)ŠÊ%|šÃØ9ëÌ8\ ù´ÈÈ“K]€œTÿQ0’©‘Èb©Þ%Ø»LQV.MN,…2]ÆÏfW=»Š<È:p€”d¹”H†5Å ~C$“e‹Å¥nnöcÇš·iƒ Âä(Î̼þÛoCÂd¬^.š/J“8Ê€a5â$‘Ë“(ÿŸ~²mÛÛ± +ë™3Ͳ³¡Xqeçm^E0tŸßaíZ®]1!Ÿ?|H¥Rÿ;þÏdò»‡'×®]3^SãÉf|_Ò½}·I•Ø/ÈH´D¾[ܔدñáŽKTˆ3Þ¯h ùŸ ¸D×£:xW88†A@Qž•K·5o:O~ëGw/ߌŒÔ²RU¾eÏÝ)¶Á¥:mðõ2àû;AƒUv`4#´“L¬HÛôÓ‘@åžÍq t’Yö¾ïëívlÌ ï˜MØŒEñ àP%‘§Wóòò™Êã¢É±6m"Œ)CÂaxñ‰¤Â»Õ‰€T.‡xì׿æä©Sa"`:4ìòx¿8}úÄôéÄgÏ|˜Ls¥áWó‚ _ Á:û4x#\)|¾Ëøñö ‰¯öýø#+;Û¢Rè/ÈoXÀۜݦ†ýBé£ÜŒ wƒh(p\È“©Æú„´þtÄ{jÂˆÏŸÈ ‚óß&<Ǹj8ŸiQJbV©D&H9»rI˜Ý˜ !F*þéÔ­{Ï Õ׿yÄã{™$ˆÏÊ0 ¿bÝ;«·# Üæ îÐlmFc’ÊOìýM&Syk{vkôeÆ[(ÝToƒÖoGXvh4At¥— ÝÍCs}Ç¡¦¤G>׌H¤ÑÇqbŒ‰I¡XŒçǪßéÐÙ€\ ¿61xl¯í† ‰Àö„Ë!3*êÈÌ™ëÖ9•—[c…Ž ÖQ¥—ÑëDe‹D¶&x¨ýŠ¥bñžE‹ø‘‘eÚgÍ˰*À£È}Õuþ| æÏîßoÞ¦ ÁÐ9_ÿ…Fœÿf×GàýãÎÊiŽÛß¾ŽŽ€6²‚ÇÌèÝÜÙÖ¹ãOñ½¶ïý&HÓ§½ë·ÅçÊ23‹‹Ä 0çòÞ‹Á€ZA• ¿ð¤±>xAm^™¥_?MÚgÐèúþýÙwî€ 7J}Õ‰¯ ·œ+û ®É}•Ë05µåñ>ffû±Ÿ”ÆàN~’óÄKñ\mBêl4”"F% =`ÁWzñ0BõÊŠ#€#Ððlz¯½Ò{mÃÜÈFôö ¼vÙÕÝ›JCÓw‘sO Ê3¡ÒDŽÄ`‡†Š QÈ=íY·OlÌÕ-;õ!‰$ŠŸ9/ÎüZPúŠÃRe;4BÜÁ UÞÀ¦M’¢i®±™Ce›qrrÂÿü  Ûˆ_ÒLU¾ 4;;×9sDÆåœ:•}û6·¤ÄŠ VpÜ2T?s Ô÷­D’Ïf3;wv<ЮÜ/¿¨(âÈ‘ð¿þâÑé,Äú’•~ÎXÐ/ö¯ÑR_L‘¡PÚ¦M«ï¿×èuïøñÛÛ¶5c2ßÙ~!†¹~àüð^Är¹ÜË+xøp¬ ŸÕ±RÎíïº1‰_çyöpÙqppppp¦,3ï¨O1‘ÉTzHqéùb’¡=Œß•%‚]mMOÿµòî•c˜œ$ ݧûô<¹}Q™ŽRÆ?j &¡E’°*ÁX`0¼;Ø3Z´4ËŽ9vtéô˜°Ëqª‘ˆ™óŒÛ¶ ¿ü2†FVH–k<5FI %2”öe±Ä#FxìØðVf¿PW/òܹ£Ó¦¥ÿûo°™™-VÍê‹Eü9ûçyÈãºx±f‚^Þ¼yjÅ W ûEù¼¡ ØàaÏçöÃdºêÑULx¸OóæàŠÒO­z”'Àõ&ÞŽŽŽŽŽŽŽ@Mx6óÏÍÎ,).Ävr èäÒr@~‰°¦cä»J˜À¤“ÜíY.JKT¹1ÌíZ|±$OfSÆ7dâ®Ú ¶_u<°ªHæíêÂrrà¿<·ñèò™±7¯ J¡.¤j¿\ðÎõÚ¹ Â/éôT B]H©6#âû`@-\€î›-;Öë? Üšjù.<Ò¢v ‰¬ x¼–K—RÕ4292òÐO?¹+½¸5uŒÁ;W$ò?ÞÆ×Ó,/33?7×ÕÛ»vŠ6å½HC‡uwwרhb‚V¡Õ¹‚½}k%7Õ£tB„7âàààààÔ—/_ÚÙÙ™šB)æÿÖF$-8VÏžÜ㹸“”Åx¬yÞ/Âo3> ¨›á60VU+ÔüF«´ŒÿôÉc¿ÎtÒM¦1,]‚_…ßdQ%²±óp‡&ƒG4ª”úE$ÐhDŽBªxóäfÜ£'Љ™­I]…Ä`˜sûö•òxYee9))à— ”L ‹áæÆ¸G›y‘D’$úù±Gvþö[³-4i®@v°úÆ\ºôï×_g_»æ(ÚÑh&D"ðCÀ¶ò»±ŸRÊYJ¥ÉNûM›˜Ø´ägdìûþ{ny¹9™¬ÉÝz^Àvpè¶p!UYfY"? íÔ‰¡®ºlܧU=K ¯¦Ç¤¤¤:,µO#">@–¦zÔ@‚#€#€#€#€#€#€#`emkcë É†Ec°;~1/.«ÌàŽÐp‹Q°S0‡Eµ íÛüCiq6k`n=zCZ)C(R¥‰6æÙDë÷•æ,m+×y‰ÁuÇÀÀÀÀÀhzÉ”-ÛG>{ܱ[_Ì:¸ëÈ3±Äâ"*ÕÀ÷Ïàݬ€"/ °! †âÀTyQØ'Î]©¡a.˜E]íÂndV&…&HI`¿( &*È(F(@ƒY” ~Á››;ŸÚåѪWó^ƒÍ5õw°šIP6©<6¶ðÞ½ÌGÈ©©ÀèþƒLb_K¥Ò<±XââbÖ¦Sûö¦êàRÍ Y—Š32ž;åŠiE…=… ӫQ_Ϳ躆TÊÀ~ƒ-b9;cbóKK×Ëzû–5¾+±_c`V‚»ÂÖöó¯¿ÆD…I ¿{·Eûöÿå¿ÕN6c˜¦Ftþã¢âààààààÔ6vŽ9Ù1‘áÁ­¡;p„î6öÅÅ­n\¨HTýLP H°AMÁ`¶± g¾}ýǪ™³–í¢RÑt²,®‹¿ù/N¯ô°7 ;0†=S°ŠVZƒ¥ÐÈ¢šzP¤rEvÆ•} Žù´ìß­‡—™FÓÀhêã/ÅäÉoÞh˜°• ‘ŸP<ÉÐ3ö1³]Ó±˜Ÿ3ðÞ\‰ªé˜·kçÔº5ØÆµ‘ÉOž€©<íæM.ÖŒFƒÌÃ$É·²ùWû`ãnÛo2‰ÔvÍ û-ÉÏß·x1+/φJÕØ~ÑüÕF ÐÝT©ÇÒ¥tuŽ®YÚØX© ×F £áEÀ °áç—GGGGGGà?ˆ@3ßæ7.Ÿtvõ43ç€úž-ºå¥eF±·d ™ $uDD!&ì`ÉÈ*Jÿ{Ãü‘Ó–šYpá ¶­gÈðÕ//ra‹é´Æt?Y…+¢e(FÃNÌô¬ ¯Î]$"Qô¥KLÇÚÓÓ¬R [(4\™ =z”ùô)òæ „ ³Àšß$* ƒ“sØ{e²b‰DáímÑ®s»v 77íÓ3ùBŽ«øë×¥ééà*ˆÍ†³AC}ÁŸáç³öñFßùÀ3¸ÜÊìl¿À~ËŸ=ãÑh*Û/Ôß2ö pB)/Ïqゃ1hÁù’?wèÕËè‘nPÓ‚Õ Ààƒáàààààà|Jhtz˶]Ÿ>¸Õ¹G𣄡ZtuêÕc0Ëõ5ð¤@ð‚_hJXÐÓ³£ï\1ỵ4:JÑQ_èA+"Ïþê$+a2ŒÁúUÄ44XÉ~•¦`¡œ/¡š¹ºƒ ´40ðMXØÿ p iñå—N-Z0,,4h˜02q¢(/¯âõëü§OS¢¢ÈJ& |Xnè2°u€æXIzËe²"©TâàÀ dxT®â[¹C~QQÚóçÑgÏf=x`E£ñÀÊdbt·ò;æðl`·þ:Qiçr‰$Óήݺu {{¬™_V¶{þ| û}—ÈúC‡¨ßãøR©Ìǧ͔)X·ùùÉíÛÁíÚ1+·×7Ã/¯8½bgÝBÖŸA&ýŠø«óX”G#ÿgï:à¢8Þör½½÷ŽtéEP£(ö– vcK4Qã?úÅ5Ñ5±›˜¨1¶Xbol¨A@Å"½W©×Û÷Þ-œ”;š(‡îþöwÜÍÍμóÌްϼméndòZÄW=;0000000P ŒL,mì%Üó ‡‰1iÅ©MS{˜ƒ2±ë£د\ŒH-ôiYùI~Y:yÁ([èžc¾{xjµ‰´ŒÍxm0Ü]æ¥Á@Uåz`©,=ƒç?pêL ‘òîÜq¡Óq))÷W¬¸,ÙGF:öíkîáÑ ÃHɆ†pꆅɤR^NçùóÜØØÔçÏÉ55À„‡ƒ72 ãÃZ2Ð]žTÊÞ+s™®®l//й¹ºÞ›ûèQêõëi—.é‘Hú$¨|•Œ· õ=p7¥¾0| “ùÆÆþkÖ4d¿Û?ûL’–f®ÔýÖ{ÿªƒë]–‹¤ÒBkèòåxbÝnÔÓÄDcss£úŒMïR ï«i4|$š"^údÏ1$¥>»zõdìäÄ „§&a€¬öùŸ³Ãu í>^sµ@T75å2nîí=sí˜DÑ'J ZMýN„E’½/ÒaÈÁ<Øîàñæ-t°ã6^&JÝÑ×aÔÉÒ6Vï”j²Â#Ã#÷eK:¥5¬‘Š‹“,IðÐ\;R¨°a””ÇmŸèc®ËdéÛÏ:ð¬uWS[_‰cUÌŠ¢9‰®g>ÿï ¾f€,.º±yJ˜‹…>‹¡cá7ywbEãÑkÉ‚7j˼W*µ+vE¥ñûŽv·3sž|¾.ßÌ»Á[‚Þ Î-÷bçØ£ª²¼¤(­ÆÖ7󎘖WÆÕô³ò¬HDyn$2dH"jY2ªs“¶7[Àç¢C.]× ŠÄFUAË#ÕØo!DDЦqéYÕ¶Þusk‹‹+ ‰DÐèÚP©^,–äæÍØ¥K÷v~Õªׯs^½j2"P Ó¬­!“°ó÷ß{:e÷×_Ì5kjGÎñö~Àf?®©d¹Å°M1äURÚ~7tÝÉ£7 …¥A:— €HÙÞÞ måJë#G¼²_¶ „WÉ~÷ÂϯX±'"âî²ebÐ+²Ù‹OÕÒ‚ÒÉß(ò¡5"n‡ð¸Ê‚L}ý-[X66h`ù¼wÑ"ñË—æõ~¿Jõo‡:éä‹@æÀ#*J¯ÞR½(7·0'§GÏžÜÓ{Ѧîìit Ct÷"÷Ò1FHU<2vò"¹vqm ^ѱàåÞ × gí¸zÀ¹êòws& ©>öïá:B5åZÒÊ„#ç8ƒ¾ýRöãÓ¢«k§3—V¼é¨½ÑLc5›&’ÜÃúûøßsS,ÕíöµÒBgO…F´×X4BNLˆ÷fè¦Çgç:’å¿}ˆãJ ÂiñùESv“–žKm/øoˤ³¶zF/óR©¨ªß šç7·.-ïI¬Ê{ryãœeKþ 96ÎLÝüÝÁˆ#ȤVã6ÿÓÏÃXôäÀW³'~mvcÏP#¥`ìÞÛžWo…G>NÂê³Ê×ÄlíÃF@¤U;q¥R³b7AqpJÄWñÓVìø¡osÃ×6–­ŠÚ‘ Ø¢ÔÔÞî5°ÁävÿÞ>ÃPCh÷^£³žÝ-­z©Ç’GœêòÈ!ªF_­ iy¥¹»ÖÍûì›_htˆÇ6uöÿcÂñ弊L]Z—ñêbE%< ïL¹?6Y11:…L–hiI€=‚Ÿ' oàMõ÷¢£«ÄbS†ìïo¨cnÞ0b\dŒ‡áÔ9ƒCXZÊÍÈàffV¼| VÓ’²2¤¸H RÈâp@áå3ðFpš•oS*4Æm ¯U÷´§`Ô¹$äH$b™ ´»B…‚W®ºFF]]ª•ÝÁ¤5µµ%éé¡‚©{ yyù§\»VœÀÆãuI$཰ÐÊO…v·îµ>§êú«®ÁnQñùœ=ú¬]KÖ­»8••»,<{¦ôûÕ(ö À– …Ú}ûz‹‚ÌãrïߺÕ{ð`Rƒ@nÝÿw#$F€;g=_ćŽÜŽAŠ(È”áHj8ryâ¤&­_å­¿$‡ÿ|ké9­œ³ó‚Þc7ŸŸ:ô¥êò( ¼éÈçGžýÍ °ºv ~'ŽÈ6³f¿Q{oÞÂu]Œ!ðþ# …#ɤzë't¼¢ÒÔ ­žÿìmûpAƒÂŒNä¾"ˆbYRU¿ J8"…B¡Ò(Á#Æoþ6µH€˜u}€œ~ŸÅ«û ¢šÍ[yhþ¥gµC^/Q8‚£!!@+؃5¥¥[¡óV*Õ+v£¾Å9Ç¿^¸#fßXËÖÉyKbcßug´uõmí]ž?Nôô ‚qà Ä“W]Øý%SXÙåY‘P\s`™¹µðUöþ-K&ÍÿÁ’ïÚàI´ž£V=¿¶+§øž•gu»#%£:púhTl‰H”wõª% tÞZÀ'›œJ&\ûøqzbbâ¶m##;dbìì A³pØ$8•|:’ðx¢òrAa!//¯ª¼‚Iqe¥T @ª«¥ååðÃÞC3 jàºÀráDù¹„J%k‰ƒjmMÒÕ%êê²õô MLˆzzxªšgÑÆó$‹+ òŸ<ɉ/xôH\TÄ&úš0™ <¬*o ÕhHºÓCÈæñˆýû‡|õ¡>¹quy9øýJž?GÙoðÏ26!D,37³x1l» "%ܺåäîÎÒÆ¼/UOÑ{p¯ªX—•âM‘1AHòoH¿AÈó äÂjÙ/‚ð2ï$ˆ>éeT7 ·aƒô_\{Z¢¦¼Þ®ºéàÔµ£®>øð6k\°µÛÀeÔúÓ§6L´3Ô1r·ûqüïéî)½\-õ™ ]ë^_žÎ•f+ÍáÍÈÀÑó&õv2Ñf黌þ%¡’÷lS_ÏW2¯Î´§’´×<äµ·¹aµŒ÷òÈÜP;cC+ÿéûžÖ@ô5ÜgÐÔѾæÚÚî nt|DÐxæ?‹û¹˜èYûEm+«³I—q_ÿ²ƒ‘Žž©Ëˆ-Qƒ.’4].•GÈÀ0W3¦ŽEàô½IÕ kó! šÁÀ…1?Œò²4ÐÖ³ô‰Ú›"7'džü:ÂE¦Cäw7Ë:ncÞôÆÀ>c( ÛG7¹ý_ÿžPTúè¯M§‘ˆO¼ä:›v2 ¿2ëÖþ×µ|CmÛôÕŽÆß¸ªLPU)¦°ÚÄyI߇ºN>_¦x:¯ºþ…³A¯MÏv›ü'z¹Lø§D\ïî¡b­“¯J‰{¦9X˜ššÚÌþ;»Þo¥cÃäÿ{øÅìo†«g¿­¯ØjÖ7ò7_«AìæKPËcl¾ÖÉÇ.ãgœZáéìâæîÙÓÛÁiܰåV·ðv ¬÷ü*{'WNmMjÊtœT¦nð¨…9Õ8Ѥ!#L®³…–¿1Ñ£hU¤ý±éëêÊ2TB"•é6pÑ*"£ž%4Eì6¢Çቹ8 S;G´~ù³gHz:8î‚Aïë³Þ¾Wiè«‹Ç[Q(n †#‡#Œ‰‰_½úÐÇï1âìòåþù§85•WUÕ‚@JÁÞ˜íçg=ð袻"ö‡ÓŸAsµñÍ%AíE•k´Âvß8íKοüÝÄÙãþg~kÇG*@k ‹ eÛ”9Wý·ÄüÑ×)/•è“…ިߊ-»|Ø©[ÇŒ_{|\ð‡6=È·÷¦ÅêÔÞ_ý‘í÷„¬kÿÑÜï×Í 2„›‰â6oÛÂ+½çö:¾@*1w`Cˆnýª£²~# ¸×ø3×(Šˆæ£¶_ `+W, ”ûøÏmqV¸·´Ü*e¥: èÇ:vþaåþ:µÉWï•‹ £cóæ»Úɲb®”{Í Ò×jàÆØ|­›P½{ÁOåSϾ˜éB®ÍyQÌ|³§>N惩,~u¤çôR!Ûeà¬Õkf‡5Y:¶¾dÍåo²(É Sš/AS¹-ŽQÕ?£šØåãV—/<“4ÖšX›´yИ8€œ«záÅ8u?÷žãY‘Lí¼z„ML½¾ÇƘ¡!FÅŠ˜X8ð-PÄ…Æj“Ê«³üü¿‰_|¯£gãÂÉ=úÏÉ~hñòî¯6Ft"AÕS‹ºñwiyFN­Sðh¾NàÔS§ŒI +’zs_x£ÔË·Â'Äyí+|„%ÏUg IDATø¤‡’¿çókoß~~ãFD–’HX¶¶æ^^NÉÐÉIÛÔh¡A¶Ú2\°é¥1Ô$w^W©D½ÕÅÅÅ))%/_?{öêÅ *OÃá´‰DÈjÌ”¯kp¢J]åÔàYþ±^Ü–!t—:`+®ÑfQQ®³f)eÎ~öl÷_r8 ö 7„’kȸà™Íç»Ï˜aè쌊TY^ž›ž¡!j¦–ÏËœÏfvÚôHŠ7#•2ÄL1m¯É;Ä‘¨D‚*;—I%R°""’U—C¬B•‡ºvÔÕ—7B± íïgÎÂëö ³ý³(4ІIC‚÷¤¬J+ æ47ù‚‹HlƒÂme³ÊEHCŒP¬Â#Cíõ´ÏÞ~ÚçÓáËÆ¢ÛÝBuÎ_çµÆìçjÖ°‰?þ|3{±;èš(ÖámÕù+»mqD¬û¿~ÕÓœ0Šâ4vÅ‚ýí?Ÿõé<ÝØßþ‘ŒÞ÷Y° tD03fàW'ªÄ˹îa]‡m K= g7ìÿ¾»taÞñÄꚃfÔøV›ðûþ’ÈÍ‹ÙË 5Í,@?R¨˜‹¡zxÄ=<@÷DjÁpã» ûÔF´ûíx\H¢ÓH¿ìéÉåSÇ}Ê;wa‘;>ë¯éÿf°úVöÔ¯þù_Ô‚ÈŒ;" pjê7ÖðÒ¼—ßÿw•YP]ôôì÷óFå<ñ…«Æh¥å1+¦mM:6Ù©ñgiΑ}(s/>©îï—võ¾þÌ%V—®Æ•̰äߺ\ì:%ȇä6À»ÙZ‡ÓÓe ÓoÇÄ÷7µ±ìÁlãܨ«&æTÔò¸$ÿ{Öô4•¦ž^·`âdäÒ™/\¦Cë›-tÚLþ¦kµ¼NÓ%gÒâU-ïäû£©Q‡FXËå&S©Šô9Õj^l…Sw;0™lWï˜+g‡Œ:{„É~þ_YÕ3 qÉѸÐZrƒ\9Öc‘^Ugí\9í“Ù«Ü|Ñ¡YyσŒûG­Ù2©{ÿ¿˜˜ž!!tã]‹Ò­úë«R÷T€˜‹ä#?mB~Yl‹CÖËs¨9ÈúV¬ª{yµ²:Z‰_˜ZJ17Ò6P]þZUܸAuí¨«ßðj- /˜ /à “½kDZýôвù›n½Bð8Q!G·ŸZK&-<bÑ4÷õi ü²¼‚GFÚì¼ýAˆ8{ò%¨›¢üT«‘ ¼€§l^‡3QÏÆ’ZUP! E½LQ-‰êÞ ”fæ` ¾ñŠ'©Î;Ü h¼¢ô*V˜‘:†ìó«/ö…æ" Eb²ÐªçÄï×þ²òØÓÙ6’Ý¿< Ûtcvè} Çý|¨¶`Ö ³åW—k«Ù l>]ôƒÃp‹.'—ëÞºƒï³þc³”“—J‚+/ä:}Rï‘Òì²úµŽd?íÏ“Ä '{‹÷ŸùÓîïFØÂ¶Z‡<…¡ãµlþãµü|ÃÒk½÷ÅdÏvqT©&mÏúÖX&ukuÃZõKP+cT±¼Kªós9´Vãg 5 /Øt¯÷ÿBÈŠäàäúøAœO@/t´ý&,;·ç+†è™¨)Ïlõ¹‘àGPœ›Œ'Oüº*rüW^¡b[xFÒuÌ“£·™S+™°+§ÙGA1ÏØ-‚ή‹"£Íá ꣡Lnd¹¾·Xþ±^3 V¨¢\æŠH”‰è·P(yñ¢ô®2„ª2üßøÚZZ2)L&ËØ(1‰Á€ [ ôÒxP@¦¹TŠ:yBÛx ØR©X(„LÍ`Ã,äpÐ]89åå< ½¹¹‚ áj0W†78œ` èzÆ+Wè×3^å{”ô*Ë•z`͞ÎKW#§‰Da[·j×+Q¡­Gžùþ{:\ Qö[÷Úñ~:ÿJØO)¡P&.Y¢tý}tïžµ££a}ÖâÎïò}iQSÓ÷O’°ù_ 2û42?ÁŸGÖ¬@&œCÔ«JHVa½uöœ¼U8âcSXndÕN_«õ\î¦o¥­²\מºvÔÕom0[ûì‡ò¹&Ú^´±Õ+ä± åKs=yë@ $–ž¡Ï’ƒÑË<ðCIvºnC²® õÕË|ŽÌUWTž•Ëgûé’ðt]mYñËB>bÝàq^¥$j;‘qó_–SÍ´’TÖ"KP–šÇAš¨“Õ6Ž}!Ðadb¡rŠÂÖ«â¼]þð$?pD2^f¥é®–²~+=ÊD|‘|›¬ëIñå%#=‰øõò4Ç6jQ¡™îC‚Åß^¸¦ý@²ÚÉFwéÖ ×®VfÚèeK1èvZ<ˆú¾ÓvÞš´îñ¡…ŸÎŸgïqö3»Ž:šµ—QYlr…ÔEaåk¨LNUÛE©Õ¬ojÑxQRS©¥1ªZÞñ }¤ðY±h oŸ`jDù‹Ý¼üîÞ¼ú2婃³ œϹwz³¯k×­ñÁ ÿõ:iDp:tØLžØý­PÀó‚v¬ké)‚ãŽ|c"ª1Ô¦jòî.„¿òªÂ_å\½jÛ8– :(Qe)€T’a”I†ß¶’Ë u_5=KJDEEÔ ¸1ät•[Y+b\É/T¨'šÐ+jM dâHÃ3=‡ž¦ D¾ ´ØrŸ•†§<Ì´¢•>Õ½i õUª|Û¼­ØT°îòŸ ™Ì~ýE«72—ˆÅWÿøãß;œètpW:ý°_êß"p‡ä1™ÃúIéúûâñc¡@àìéùz{ßš|ïïíw8a…ç‰k·ÿCV…#82µ1‹GîEZÈšIóœ¹È7þëë/$¥§ÜØ9gæaíÙÿ`¨¥®ÖJ‰Ïçsy‰Tø|üQT]}Emò¨«Ý:&’Ú Ž w¤ÂŠg—Î?®nú¤¬ªMOW«àqZ…ÏáŠÄíoí3®çÿÛq+vD•…¹EàÃÜôèèˆX¾“F2¯nÜs§X æ¼<±vkVÀô!ÖD-ý ½yÇÖí‰ÍçŠx%š@ÏFµ$â’ÄKb’Jê"Þˆ«òóÊùb^þíë¯O›DW9䯰°|Ç"œ^ºêDJ¥H*¨ªà¨ÉÝtØØg ¶ .Ž;yøŸ˜éiq'VOùê¶Ãä±®TvÏûˆ/þöXR~yYÆÍK7göü´70=5õ›v%Á¢?+óÿúæËc¸ÈO¼ÞÔî·iø,­~°uʬ Žk¯í£- ùÍ9½ÚfYžÃükŽþpà•_„`Ö+B÷öú¬†…É·"[9„ÅI÷î?Ï­‘œ ð|¾¨…RõŠÝp1!Z šä·tÁ¶iÅ%·w/Ýê3y€e»6§Õ¬ojÒxQR)|ËcTùBÛ\þßk÷Ü-5¶ #«J¾¸µO05ò~˜Å^¾Á™é)5Õ•èð-]]ÃÆeÖâåÁ€5å â!3°",–üÔb1ˆ®V¬k‡7ìÿù¡°îÑR‡NÝÎeûdAî[Ná¯øDkKùvhø+ ¨í• .€_.ð%4/®<­‘ò}ó7*¿Åá€qí´‘hF&[’ÉÖŠ=•êH¥k~:ÒéŽ4œPBUÁ%&D¢>ÀD“*µ±ÓfÃ` í{ñêêú uÏäreýûG4`¿ðØ|úçŸoïÚÍXÌ~av §´ÛرF=z @–g¥¦zÉÃÈcG«¼÷·w«tRQ&²à ¤2 Ùù9‚ÚÙj‡ &#w×"û^ªïo:zÏ…õ1‹"¼&ýIøüÄß_Ƚ^uåHÙéO­èt–ÃôËi&Û1è¡ëBàbÕõeE±¤Ó”]Çã«[ê)7’¸peDæR?së€9ÑT7‹6¥!Ô ž9NÿäH3¯I¦“Ûß‚–nïÕ‡V[îk®gdç7tñß BÑ âuxDÓÙ¡]¯Nïinlñ³ì‹£»ÆZÈ×w£Á›þZ¢sd¼‡±¡ÝÀMé 6lï©–D”qÕÔ…G3`^~ðS÷ϲ5¶ð›sÛoÓóܨj@k‹H'|õ‘ý- ·1¶pXx"«ÙÕß,Ø7­ ,N8³gÕÌÖ¶¾#Wƹ®¿ø×gà‹3ôËÅaé?Žô¶µ™sFï§þˆ²†;]Mý&½p“Ö‡À>¸žµï'Ûª&üuzeˆ„Á’•^YóCt^Æñ™ú,‹ÑGòÛüxÍöæ+I{GôÛ’UŸ¾ºù¶CÂÍÚÀ;Eù—×F…;êöøô”ÝŠ_¦8¶`Ü©zÅn´˜,Çí=±D÷ÜÜ;Û€§´Ýý©Uäh8MjÖ75÷K£E©nAk\µå1ª\ëp‘›O¬2;5ÑÝÂÆwÌw× »{íL¼d1Îèéß+.6†ÏCs n!#mC¢²Kj5Éý!ീý’‰À„q@†©$‚½)³èÅ}›¾ærê7d†çЯÙ^2Ê¥"qóí®Ÿ`å¡2üU‡…CÉ0ê5ŠÒ`°@nʇ›—­OÜ´rs6«²¤…Ë›u§ Ur~¤W9¡"‰$ A ç̀ϤzÓ÷ÚŠŠ= <>|؉FLž¥û…m°>ßeÊßɓѡ®¿}ú0ëÇÒá[÷¹PëèÑ£ýû÷WŽV·>ãsóñC¨ä‹z_¯jŠ?™>éû'2ÝþõWÒrä—=ÈÈňu HM[Â>k>\dH¿“㯟2Ƕ4º0 10Þ-‚ç›û¸¿øÞÑaz-tüçŸz{{ÉCc‡J^}º§ø­ÛgÁv]ý³Ây¬á)ŸkÅ)So8®ÒX*(MP[hÔ¼-odüÜÀòŽö`©‚$ϹjÚ4›áÕ8䧦þ¾h¥°Ð˜Lnäô«yq¿*E"¾§çÈÍ› ¹† Éï\½j`bââåõÁNk«'4ˆi=¾·ŠXÛ*P‘7i Ø/\‡ÓC¾Z†±ß¶!ˆÕÂÀÀÀxÕf=)¦kc;¿o:›N=kVel,$ûEÍÅ•XÙ$¶BÀmêT§ˆt<.7öÊŸÐP,ðUîŒw4ì       w„€¾‘µÓ½[×Dõ¶ÄÚ&p\n™f…Fá€ÐШ?°\¬ð 6×§ik•þ±qþý›$’ºøR`íûñwL÷ñ/Ë´xµ¼+ŽÔŒ— >hÏþªòÁ½‘rºB"¬ÏNF€Ñž!5ÔgŸÙ3­>ädú½}âÄ–±c™ùùæÍœ~5*à3 ltåòùfcÇΜ‰–ˆ„Â{ÿþëèá¡_Ÿ¾¸“{ß›Ãðû>ÃØø000000º9öN®ºúÄ)ÇáÓ"ͪWQOGö:,A‹¢ˆŒ¥Ë Ù¯üõý±_×qj«P™ñD²MÀÇn#Våò!2––Ö;5êîªðW8_ï¥HZ2ä Ê35õÛ¼ÙqâD\½k7·ºú÷%K.¯[çB§7túE•Àšò šb€:w®r¦Ý»§«¯ïèV—¼ú½œÁ·:¨v`?Ÿˆò¾^Õ(°K0000000:†€§OP(x”p½œ@¤„ZPÎg¼ªÑÄŒòò°X ê«°…Æ fR Îìâ”{7|™“þ\ ÛØÁïÓˆöCžgW Eo=ÿ²ß†á¯d`% ‰dº4üUÇî ì*•ð%’§µµ„‚6nÔvrRÖI¾wïÇO?-¿}2ý2ñx”ôÊ_N¿í E*{};…Õb1ÏήÿҥʰÏOÄb±WPÐÛéðƒhµsŸ˜ØHÞ׫:v †††††††@‡ðî]\˜W˜Ÿ¶@¦±Fµ«oÌ×°ÄHÊ*\‚åìWñ*m©OÕ“ìþnz̹ƒB!­ ‘±œzOë1r}zva9W*}ë1®!ü`® Uúø1’ž†:<5Ø…‚€D¡øÍÅï®]>K—Rë£% ùü«üñÛ¬Yzåådr“\Gèô‹âÉ‹_™šŽØ¼™n`€–d¥¦æefbaŸßð~Ã~êo v9†††††††À»@'„ôò,©´¤í#õ›².Ãj*&à_g Vp`Bð²Õ‰»ðëÞ¿,+ªËðÃѱp œ¸™ä4òxCø+ÇÀAXø«wq×¾«>ÀQr䦉̉ÃvîÔóðPö\’“³iÒ¤ØmÛ<˜L¥Ù³Rý[í]ÉÙö~À0¡P_?bÕ*eңœœg@ØgHüÛöv°šÍÀpsL°       MD€Ádû†%Ü»YYQŽÊÇÒ50}}.—!K4QbshT ¬Ôƒ*ØÁ”‰¯zùëº91çþ’Éê¼AìÕcèŠÔr*ˆ~{¹‚†¿â••aá¯4óÎi»T"(‡ÇË65íñÍ7=fÌ Ðëò° ¸\Pün7Žší@£)£=£fÏðª±DRþfjkøî;£=Pª**’þû/¸_?,ìsÛo u55vÞÕ Œ•c``````|¸@b$ßÀðûw¯s9µ( :†–CçåV“Å’·n<ÜaÜQshy¢à:shœ›b©-Ž»°çŸ7T³MœÂfìayNL«¤VÖ€?wîᯌ\û±ôõÑf3££u8œÎíkí!Læ•P˜ÁfΛ×gï^“ÐPe×¥¹¹{/¾µm›ƒT Þ¨£/^”k¬Ù3È|> AB-2©×cskkïFGû†…éÔß·ï á÷²#Œ¿—ÓŠ CCCCCCà½EÀÀÈÄÁÙýÎ+5Õ•è ­]Cìý‡½,âK%ï4–r» &à”æÐrÇ`Ed,<¨‚ÅI¿®óßõ3¯½‚!@´ÿhŸ±ju“óª%Jì!ü•Gßa¨äXø«vÍ ¦U†¿Ïjk…}û†ìØaÿÉ'ÊPÏàñ{ãÈ‘ÍãÆñi4º"Þ•üT»‚ScÍža¹6_¶Ì.<RþÞ¸pÁÕÇKzÔYw &ß5F¬       ÷ ;'H ü4)Á/(œ@ç.õéE¦2R¯í4Ó‡þÎV›vxhthˆ6…ƒC,Ãád8-™±6™-ÆýéAì¥aQ_™[×…í¥0 </ªÈ½“..4Ö¥ñoš§Fuø+­“Ƈ5óŽ–X$p­¬<æÌ1n¹ -í¯•+kž=³¥Ñh$QK ~òWô|Gv° ôi\®ÿ’%΢M )í\\,íì:Ø(vY30 p3HÞ° à²ð+äiƒ¼|µO‘/>Gêöhß°yìr       @ÀÑÙ]ßÐ8.6F"®Ëä2Ò©ÿ/ ª•^µš _g­0‡–«‚¢£“ÂIßµjò¥ã{xÜ:ën_ÇÜ-`â¶÷”ô zIï cDcá¯4ó–h»T繘ÏÏÐÖ6Z° Ï¯¿6d¿Üšš³Û·ÿ4j%=Ý‘NgâpuŠ_Tý«`š|@î⠯ǔ)^Ÿ|‚Ê éŽnœ?odjêÔ ¦—&¡»È†àΞ©ô3ÈžcHJu]»Õ±/Þ»Km×¹C’æ<ìH¡J“*qÑÍSÂ\,ôY  ¿É»+TDàqsoï™nÅ$Ž_Ù¨U9;¥¶|u Œ]؈ƒ“ƒÉº}ý’DR÷?È5x˜mÀ˜Ì¢Z‰Tå?î.¶Q×õ‰‚µÈ$yhhùIÂé0Hž6ºÏnÞ³nÞ“øÒúAá‰dkßá¾ã6jÙ ~YªÅáŠ:ì ᯜë,KUUXø+M¹!Ú –*‘è…LF?>ì·ßìFÂS(èu°ô :zëÔ©÷íó„PÏêñ[—îHƒÓü*Ç ›V ûõœ??ôóÏë%‘$ܺfÏ`üÜx°*í@#Àí«MUÂÝäø®ÃÏ4ùd0ò<¹véUk¡Mt›J8‚Lj5nó?÷’Sîü6¢hýį/7£ÒÊ„#ç8ƒ¾ý2ˆ­n`êÚQW®®·S.É=0ØaÐþœf#{;Ýa­b¼ÌÐM«x|ÅÁË?5ÖÌ [ú©ªß¸{šç7·J9µ¹Î­tº¹lÉ?ùñKhiPò°{o{^-¡<ö_×™—Šå ðòþY—J±Œñ¦£öFïnÜ ÿÛ°úA⎌ƒ“‚"×&;ÎÞq>.v{„N ²uÂWØ‚Ö jVž>AL¶öÃø;J­oð°¹v¡“³‹5ŽUÁòDÁ  ¶1¤³¤…ÿüú{7.,ÊÏTÂM¢ë@º`O~,£y>Í®¬å µÚi膿b¢m¦_¼ˆ…¿Ò¬»Y4°׈ÅOjj8!!!¿ÿîúÙg$öëgÊâììŸgÌ8þõ×Ìü|k*H¯Òã}£áŠ_´D*Íåó¦NõŠB1€-­ÄÛ·itºwp°T°âŽ#€ùw;ÕWêù">täv RDA¦ GRÑËû'ªêÊݾ§ßgñê>è0Ìæ-‰<4ÿÒ³Ú¡F‰.ÞtäÎó#AÏpgóS5#V׎ºr5Í`Å<Z„L"6úoßÒïHUý& ∠…J£8¼ùÛÔ"bÖõîr- J1¨ˆñI"p8<‘Ø”–î"ÛÌZív]K6û® «Ÿ8çø×ËãwÄìk©ùiÍFˆh>þ½îß½ñ0ánO¿T"ŸþQÜšWÙIçlŒZí¥‰ïvP¨*C'N$–áq2<ƒÈ¤²kª’Y:>$rbïÁ㬺½!ºŽ™÷ˆe5Åi/nÿ•—“ha@cP‰õy”ZÂ_ùFÕ…¿‚ª¹116—ËV®Ç¾~çÀ^ä¬è IDATW"Éæñè¡¡“&éÔçB©yõêúáÃ×ýÕœBq¡ÓÁË—ÐØã·[ð`¿Y|¾Ë¬YÓ§£ã‚ͬÇ÷ïÃ{€€wùÑa'ìp8µ}xSdL’üÒo\÷{á–Ù¯°0æ‡Q^–Úz–>Q{Ý[èøé‰BÔòNœùûÏñ§ŠEÙû†û š:Ú×\[Û}Á 0Ïs¬·I®½»Äßÿ›{µˆ¤"qÏÔ  SSS›€Ùg‹šŠÜ¼ïéî)½\-õ™ ]ë^_žÎU\Ò¼ZÓ†Ô}– ª*ÅtÖ›>©kG]¹Bè„Q>–f¶^¡ý#ûz8>V$S9º²ƒ•ãpa®f:L‹Àé{“ªöæW žmêë9ãJæÕ™öT’vàš‡àÞÝxÖRä&¡‚Ì“_G¸˜h³ô"¿»YÖ ¶“êpÆÊ1Þ~G-5+“ð+³níßy]Ë7ÔVã6ôÚ5(^Ò÷¡®“Ï—)ŒC«®álÐkÓ3üÿɆ^.þ)×›@Ã*12pô¼I½ä?m—Ñ¿$TÂO»ã‹¤*„%ùÿ~`1û›áêÙ/ˆ1ÂoجqÁÖzl—QëOŸÚ0!ÐÎPÇÈ}ÜîÇ5ŠqÈx™ÿ,îçbn odíµ=®Lás£B~žŠMÅòÕò›¯“ ø§Gx:»¸¹{öôvpwl¹U ¦ ¬ìMð +ÐÏ“” õµôÀùå\ ÷F&(½‚Ñhª$m:ÑÛN'íÞñ=kç$ܾ¨Œ —0ì}ǬrñC®ÐäEn5‡/j•æ£á¯Ì]ÐËŸ?—½xA…x\Ø¡‘õåÀ-][›kié½cGðúõ Ù/Äy¾sêÔ¶iÓžïßïÅd“Hh„g4Ô3šè¨[°_yÆ#Ïuî\%û…ÙHŠ‹ðxþ½{kä̼Bu‹{ã­½ë×ßÚÛ‡Ÿ¯OOUWá‘СùRÖ¹°qiQQ"HÙ3eÎUÿ-1ô5GÊK%úz¹CôŸ¸S2jŒ1Nœs:Ï}ZˆŽKrðs~½µÃš(eÒE¯Í”ðŸî^ðSùÔ³/fºks^3›.è**ŒBçnØho‚Ïü{þ¨…K‚b7o§ÜÇn‹³˜°Â½Å«B¬q™ºvÔ•ÃC^áÙ¯¢¶J—ý›6ÑÂ{²9rÄ-hRÕ茣"¬Ñ Û}ã´/9ÿòwgûŸù­©ÀdQL’þ°¾Ç>þ÷ÜKyôIAʶƳF>Ddx£~+¶ìòa§n3~íñqÁsÞt' u¬°Í¨½¿ú#Ûï%Y×þ£¹ß¯›dØèFlö;j¥>´Ï}¸ÆŸ¹FÑÑ|ÔöKìvÚ6“±³ š ªÅ¨ú±ŽX9¤¿NmòÕ{å¢ÂèØ¼ù®v²¬˜+å^ó‚ôµt=øi’϶_ØâÍJÞ2jÒŠ“ÃÎN¨ne±m±÷f_r2äHeñ«#=¦• Ù.g­^3;Ô¨Éò!(LÏú=vcўуælŸ»ÿȣ߈·þ7èó•g‡œ˜`.x´%jÑÃÈ}ñçC˜ÙGç?›s$Ê ¼æò7YÐd…)Í—¯©ÜǨru­‰]>nuùÂ3Ic­‰µI›‰ƒ±rU †-ŽÍîƒN(Gýžþ!‰q±OÝwóôCµ¾ ¦±tŸ\ÚbeÀÐØ¸ÐÊÁƒ…\Áxœ2‘D†KA',Æ! ãå *¢ýpéØÎ13–9ºûÃ`Ñ«t,Ü‚¢6Wä>͈;‘—÷È\ʤÕù>+Â_&êò¿&= ¬© ÇšèlPƒç|>Ÿà9a‚~ÏFÏÛ°Ñ“wvëVnjª… P`I‘+~ÉÐPÏo+¼³G¤®=ˆz•Ãç»Î˜á7eвX>káp^ê®ÂÊߌË1œóÙÌ7‡²®Iòãf¤R†˜é#¦ô–›­Mø}IäæÅƒìåÖvfðB6Ô௓À€Gë+øïô`’‹ ëð¶ Ÿ4I¶ŠVqt]–0ývL|óPËLÐlÄÌ þG–\@´™~ææ—M+ ˆ›¿ÂNbn+;˜U.Btšµ#+|Ý]“6ïmïSg&(-Y1m«hÒ±ÉNdÒµ¹H];Ë›ˆq®ÿßwŸå@…çr"ARÐ\¢ŠÑ5Ž ma©G!áì†ýßw—.Ì;žX=p@sLŒÿJšÏš"Šeè€P=<â {"µˆ`¸ÍÓŽUì,´ûíx\H¢ÓH¿ìéÉåSÇ}Ê;wa‘{½Æ¶Ùï«•ú¨X4ïå÷ÿ]åCT==ûý¼Qcy'O|áª1ZàfƒjLšsdÊÜ‹Oªûû¥]½¯?s‰Õ¥«q%3,ù·.»N 2T,¹Êƒbj¯§…xööÓ>Ÿ^"Àé5_K[íS}1§¢–Ç%ù¯Ø³¦§©4õôº'#—Î|áÒxµ‚¦¿Ÿ9 ¯Û'ÌöÏ¢Ð@& Ü“²*­D€°îÿ~øUÿMsÂL(ZˆÓØ ö´ÿ|Ö§ól¡Ûfò#–Í„i¶|áLZ£ªÕ•|ÿ`45êÐk¹Üd*• ß&©V#¶:6›ƒÎ)ZèÑ3 ñ¿[Ï'ºyú¢º æsªžÇünkÌ€Îéém¶¢0„ Ô‡—ÈÄÀ„%2Ð;˜1k¹Â;–èYºEŽkeçŠS¤DÒÒÂéZzÀY‘÷4ý¿¹9‰¦ºm¹9 †ðWŸL{þªêÉ+öü6ç²ýmà Z%õ¥yEEé5} AÑÒ=:·ukiR’9•jN£ÕñÞz³gÔþ¹ýÝvÍñ(Çóš?_é÷ ÆOâã¹N`ß¾DlwæmNK7X ßæð;½mr`.rü´ Á]B¶Å!-†`ä¥W±¬>IR‡3|:`aÞõ3yn£ƒ€ÿ¶å ÙOûóä"æ±ÉÞ–ŽKþÉàËØ}w$×ðGõóí} šU@¤ÕO~Þ×ËÃË'äÓŸqdòÍÛiØ{“6ëä„ÙÇÌ:a¶ü¥ÁÚmWõÔµÓ´¼±½ð¥¯¤zVMÈ­ªÑ©îV^J3s0—¾âIT`Òä*³Ö°†D@¤môFR/ö †@Ð"1Yt2^K O5ðœøýÚ>…G=åÔ5ÔôwÅ-ÖoÒ?žÌ2ó™¸þ§ÁExø:?I¤ìÌKT ªõæé=‡áî]N.Oÿ÷¾ÏǴɺ”P’{!×iDH;‘×­iá‰ôO*ky‘l½÷¦¸R:nQËæt¶´ìÑïó K=ÒNÇ4wb©» |ýƒ#a±£lAyO×ÁœŽªæ‰z6–Ôª‚ aãžêåoIÂúå«•1ªX]%Õù¹š«1›h“`- „}×nÀ_ß'0¬ª¢ò+/öî;Þ=bNf±@$é6þ9ÊàXJsh0ŠÖf-X¤Ú´æü¹íÛOäN’ʲ%QtQ*èÞÏòE•µ‚† “š„¿Ê‹Õ®ÄòS¶û{{@r£ 6ν~þ9dãÆ&ì÷ebâÞ%K~›6œ’x<Ø<7Ìr±¯º‘u X>§p¹Þ_~©d¿€-°ßšÊÊ >ÂØïÛ»ÓЖ߄®¼mÙº]û2$a ò¿dö^dþd¡²wò¼ABàf"²ôe©yõϧŠï)ƒ‡%¼ùàÚé\5üIã%"q“cD}ßi;o¥eÞ\av~þ¼?3š97­PõhËg?”Oû'áÑ£‡×Ö÷Õ©3klZ­Y;M†!)¾¼dä¢'Û÷Ls|í¯ºvÔ•+Å 0MM…Ïs¹Ë;U£k6hŒ›ÿ²œjn¤•¤ê*…%™Ò‡JÕ¬©i+ÆèBdb¡º¤Xå[ýÁ-Þ°~ rËD|‘fµˆFÒ`=ÙÕŠ-,ˆÿkË‚ƒÛ—çeAZœ×Úm³"Ëó“<ÃÞ/Ê…¯¸©oØCá9dâZÄíÿUᎌD­DÌâ‘…{õ>´lßñƒ§—®:‘R)’ ª*8r{e²ý ƉÛ7ü‘£†ÿâYV¤´èÛY55¯Ç<)—¯ìÂâ¤{÷ŸçVŠÈFNx>_ÔD÷ܼ‚¸¶‚VEˆTXñìÒùÇÕŠ šWCŠ´<-=·*4…HZý`ë”Y×^ÛG[,O¼"C;â’ÄKb’JPò,“@¨>—'€BðêÈŸÕQÓ(©U¶ßX Ýéɧ×îº]ÈóJsó«å0JT®‰`ˆ¸*?¯œ/æåߨ¾þšñ´9At•WáhzºZÓ*„|È=ÈR5kMÁ>ctâ⸓‡ÿ‰y^Pwbõ”¯n;L ÆÊê~Gêê7]*’ÿ²ùÜʼĿ¾ùò.ò/p²èêCÝ Ú$Ës˜ÍѼò‹p¢ÌzEèÞ^¿ñÕ°0ÓÖùoóE²CŸÖW?¢Õ I.qKl»‘V\’q{÷Ò ©>“X¶Ë.“å;i$óêÆ=wŠbÎËk·fLb­NÒxAS)|ËcT¹ºjûëÃÿ{íž»% CAFV•|nŸ`mš:¬R›Áãr%ÜU’C·‘¾ƒçgW‘„âfÿÌÛÔj×T‚=ýmñâãÆqbc= #E¤«&)Ž@ñÛúÂݵCmÜ» ¹$dÉ÷Q£”ß<úï?ˆzÕ3$„B{ÃP:š4T –#À49˜jÁHe²ósµCÓA6LFî®Eö½Tׇ–Nøê#?ú?Znclá±ðD–<ö Ù.r¤Ù³‹ùn£ƒÁMÅÁùúÛðä…ž&Ö·%3 i +å_^îd¨cØãÓSv+~™âØd÷¿y½À…+#2—ú™[̉¦ºY(r‰7¯FÒ œøQͦ¾£yÜxsöåJ¯¬ù!:/ãøL}ƒ‡Åè#ùRhå⪩ f &xe§?µ¢ÓYÓ/§]˜lÇ „®{ÈmTG];êʃ¢Å]ý÷F·«Ó½ÍíÃçÍ£ÈT5º&‚!üÔý3‚l-üæÜöÛôÇ<7ªê«à™ãôOŽ´1óšôgºH嬩˜'¬Cà# ,N8³gÕÌÖ¶¾#Wƹ®¿ø×gà•¯öw¤¦~©¹Iëà èt¦žµï'Ûª&üuzeˆ„ÁR;¨¶aÎöæ+I{Gô`€ç‡UŸ¾ºù¶CÂÍÚÀ;U,’êûl}õC–ãöžX¢{nnˆmÀŒSÚ îþÔª r4ì”é¿ìЮW§÷47¶‹øYöÅÑ]c-Ô7ÑhAkb(¶ÚòU®“8ƒÈÍ'V™šènaã;æ»k…Š8ÔíL=ŽØ7B ¤¯X,Ž¿wS,®³å²÷îÛ{ª¬ ¢@¤˜ îs€ó2ä†“ŠˆFù0g¤Mv·ÑæçÅï[7cÛªÏÒSJ$¯‡F¤0çMú…é:ŵ÷eø«Ì«W 1Ë®›}Ø”) ©o¹··Ãúõ<è2}:žúÚ!P,¦?|¸õ³ÏvMœÔוN7­¯2»oƒ7꺮^‹=ƒY~¾ŽÎà_~qìß­ù~ï߸lü~Iä71¥l±cìËÆh=z´ýÀWºººê ‚PÉõ¾^Õ%~*2} Ò÷Odºý믤åÈ/{‘‹ku¶hM›A?s|÷ÑøÔÿÝ:8°]vpª[û°JEé{ ¼8ãö鱯-c B†ô;9þúÙ(s•Û lØh100: ÁóÍýGÜ_|ïè0½ÚüóÏ?½½½ŒŒZ¨ƒ}õæ<Œ¿# !Q0¾>àSYAÚ¿W_1!`^7< @4DÆ’ŸR¤îü½¬Š#,xÅÓ6s ïâ ÊBåàbOògéÉoH1wqìX‡M$v'Ux7œ©&"ƒž¶J$*‰8::fXEF6Ô÷¢•A š|ïÞÅ]»j^¾4!“µ ˆk,WþÚøMËÏxš‰â{éè Ý´ÉÀÑ•P$&ÆÆ’)ïà`Í”ù½‘ n%åX¢££»ÝÖ‰¦NÅ9pÁ7þ_‚ÓC¾ZÖ~‰…ù÷îpüætÇ_wû‡‹]!€!€!€!ð! «ÍzRL1Öî–äê=š‡º¡xû…€3ð±ÿöê‡W„MÖ7µœùã…_—ˆ$åzL²J3xMÆâcAPè:ê Á¢ëßXdm:©š—sñ•W˜&ýF{~ÄÒÖ¯­¬õÊ~a\*Õÿ›o².^ÌøP›ÃÑ%‘È8œfÄ5ÐdÔ;.( Üq©PXÅ`Ð}} 2èÙOy½=6]UZšpåÊÝ¿ÿæä˜P(ætz#ÒÛ€wLJc¹L(¬µ¶³iËIJ€Ï¿uñ¢¡©©'–ñ¨ã÷W¯ÄpSq¡“þÙ ÒÏŸÌ÷˜ñ_cE‰€¸"+›§kiDÌ?¿fEŒÉÄ3>à*®‘H½{¡<¼Rž=ºyí|hï$²œx°tM†ÎÚ}hž“¡#ÏÔÍX0ЉF4XÁ% ÆCh"‹Fà «/îºxh‹Oøº™sOÿ†°ÃÉ/+˹|9?.Ž÷ð¡!‘È"I8\7âÝßLmîQî'•VŠD¥"l=½Gjh猶{ù/_ÞÒÑÕA$JØè¯î_f§Ý9dmÌ ¢IÓºNÂ÷ ÑÓB,‘s`T,W–Êø\ñÐ韻zû¦$Æÿ³ëgp vícçá¡ôˆ†NÁNçÉ“_=}Z’˜|Œóà‘évhx<æ'Ü–yÊÊ•H*D¢ ±ô½†!!Í]|¡)‰X\–{âDÊÍ›Hy9h}ÝŒæÔ·Ž·¥o ®ìt¿6Ó¦ùO›†¯Onôª´¢^ù…‡ëj°ìï¹h~Ï'††††††† `faC¥Ñÿ»ÕÃÃø0ЉÿÀi4¦ÎãXkKH¤î•P¦Ñ¬&,…°TAƒ¯Åå<¿`¦¶và€Á=zú¯=2/-Û»W/=SSs''p n¨úÖusƒ˜pmnnq|<¨…¹ÏŸ3ø|—ÅÀã ˜tã_heÁ¹·V";g…Âòó3 rñòRê{¥b1®Aä¡Ê’’W¯Æ_¸ðêùsˆÂmC"h4¸áPöÛ„wã±%Hw”©¥åÿõמcÆ(‘ËMOþð!Æ~»|AÆp—O&†††††††À»@@WÏÐ?¤ÄÄ‚,ÁvŽ=Ð.!E°Ž¡Õõ£ß›3ø ªºÒïB¼7ïÔØxœ–TaWÁsŠö‹6ûèÒ¥êòŠ~QQîîÅYYOcc3>tò÷w b6ÎN»Q£DªçéÓÂØØ´'Odl<\…éx kZ¦·0^ð¯‹åú^±XËÖVßÛÛ>0PßÃÐÀ¼e¿À{_&&Æ;—«O$ê“H&õ*_ÀÕôÖ½*<~ß̵"Q±Aäòåæ>>Ê»:ùÑ£ü¬¬À>bëè¼ù­Žµð&´ƒû5˜Â¶wù¾^Õv°š‚8÷‰v;æ—[ëæé‡ª@ÍzŽ˜¿ëêK…Õùúlj· ‹Õ[œB"håÖŽZ8ý L6[C–‚YŒvàøÄD_Ÿžíë}½ª½8`õ10000004xÜ«ÏÀ¤qW/œèÓ(šÁ6ˆ˜²îÎÙÙ9÷Lti`N¬ ¢vX†ZžXL±²´¯K¸šûèQNRRÀÌ™À~Ñ6“.]²¦RY‚…RúÎpauêÝÛ³OG°‘nh ¼Žíà§õС@ój²³+SRг““ÅYY øÂ 2ÜÝù°œÂÊd˪Z, 牄`mÍvr2÷óÓvvVéÙ‹B (•åç?¿sçñÍ›i·oC_*æ­à½(ã•¿*lž•*_´¤Ã³¬iÊÙ/ŸO0`ÈÂ…”z¢ éŽâoÞÞôÑGMÓdþ0åiþ0ÂF!€!€!€!€!€!€!ðž!@$‘}Ã’Ÿ>¼}ýr`èGt†òPâñã•'`à@t<">?36ÖD¡¿…0W$<žM¥J(”šøøccÿ‘H´¼ú÷w 5²²¢ÔïE¯š‡ÆÍ²ŒŒ„AeeuZZÙ“'EOŸò %ÙÙ JL%˜yYa,­É”8›Ü›W&«‹…I­T Ê^¼•ÓÚZÏÝÝÌÁAÛÉ 4á-Ü|§8;ûÉÍ›Éwî>~¬K$j7ä½õŒ· Vpàî½ÅÒ ¡TšÎã9Žþå—JMxEYYü­[6NN®®Í®À º ŒwôXÇ]ˆ€‹›7ƒÉºsãŠ<=’"44ž@ôéÚà{g¶YëI»¯KpJVõˆo ØÖ––æ=xÀrr2±±AKr“’H……L ½2™80ȆŠ&¬M£Å///ïéÞ½wvï–1!!Ž~~ö={‚Z˜X¯@VÎY[ÛÀ×N©H„#×deU¥¥U¾xQ”•ÅÏËÓª®¦àpPš¥àÃd<ž¤°šbü.‰m tWÚ]‰Øhw Ûf‹E·³cÛÛëÚÚZÛØ0,-aP-ß–̹¼ œ{Aß›~Ãÿ^P§1™°§ ÔôBwÍyo‘tËt·oÁé·ÄÀ ßÂ…¶aaJÙ‹óòܽëîëknkÛÝôžË‹à÷|‚±áa``````¨CÀÂʼ‚ïß¶±u²±wF«9ù 4sô‰Þ¿ªöUº™>M"}—LM¤í(/(ãÙ÷È®mõôòeÅäýñÇÀ@ÑV’NŸ6%‘ ý1Ê~•¯@}ÃGਠêH@#zóæÍèèÓb1ÝÄÄ> ÀÁ××ÒÅEßÜœD¡4” Ø/|êHöòÒ÷òR~”˜[PÀ)(¨ÊȨÎËã——‹ËË99mÈ! ‡ƒ¾ í-poŠ"3^Qo” ·Œ¾Rо2´"’É@£ DW ¤W*…ÀxéÖÖTccº±1U_ßHWTÙ4SSH‰¬ÔX¶ŒrþË—¹))/^þ÷·¨ ¿!Y”3ÀJ§£¼WÉ~ëÞ40~~/y/Àã‚\G—k×6tú}ñøqæ‹}ûêèË·–°C£À°FM& †††††††À;E€­­ëÔûɃ¸œìôÐðhŽ\Pÿ|kÌÑ^¤^·6dºU–àÔìš¡ŸBA—Ý”k×À¾7pð`´„[QQ”à¦ÈÐì…¨ÐÇ6áÀRT-¬x-‹JµVYSóêòåèsçª%’ŽŽµ¯¯µ»»»»Ä…©`­Í9%ÖÖÖéÑüÁw •°²’_ZÊ"ý­¬ IDAT2\QÁõ ˆquY™°¦FÌåŠù| ÍHE…–T¾÷ ·F¹±–N&§ÃÐ nºð0v- et:YW—D§ƒÅ2œ4*ƒ¡£«KÖÑ¡êéÀMbV5µyIUiiY^^NrrJ\\öƒâšˆhÅ$l ƒQGzj^TÙ+T?Þ‹b·Ç .×îãC¿ø‚H¥¢…b±8éÞ=.‡…¼j~SiB F€5a00000000º &“ñäáý×ÎõêG£3@.Á©‰þ£÷‘«»‹94„¿’P¬ìz¸¡hBø«Ò§OÍ‚‚ôMLÐ’çÑÑôš¤þh›’ £ÔX¥’£jaøoÈD¢‘oÀà™ûàÆ _"¡9™99™9:ꛚ² •îÇ*'4®@VálcD`‰@€@ŒeAÄá  B $Keã.Ãf`¼¥yy…iiYOŸf'%Uæä@d8!²3‡Sjz,WIw²_” CÉ{ÈsÑhA‹¹¦,§¦æ¿˜}#£^õçï=Ýq€îìY+¸üt™ö=âV·„Ô>E–îF&¯E|[q¨èlQ°ö0000000ÚŠ€»·NfZìõË>½ôôÐË}" -]®^_]žfa@×|shåÓ8üªDáELŒA}p¬&РL ’ÑÈU e•³_Å«<¼s½·p&À¾’Wær+®\É»x‘ 9rAmK"99A²%S{{c[[m0™&(ô´;ðõ¾Ç­zç¶½}!WQ\ 'ÐÝWEEµ(#>ž¬¥îÊD|z­ðx&Sî9¬àºò³þ’å6´|† ª•àm—©›Ô„9‡\G20{þî;m ¥Ôy™™àôëáïoíàÐM†òŠù!lм۩M?ƒì9†¤T×õZý;9ñá F·üðìÙÿmÙ’{ü8;%ŇÅò`2ét[*’ɇ CS9䯰Pï_TguhÃ~J —k5jÛ6%û•H$OâãÁï7|Ð ŒýªƒNsÊ1 pgÏ…S¢»¹—†Œ1Bªâ‘±Ã!ȵˆ+½³{Ò„öp™ÔjÜæúy‹žøjöįÍnìjÔøßŠ´2áÈ9Πo¿”ýøTÐêÚQW®¦™÷¾X’{`Xßcÿ{nŠe+ÿºß{(°ªE@Zvmý¦‡:Ö: –wAÆÁ)_Å;L[±ã‡¾=Ì uWãˆ$ªí˜uÇwù[ˆSÎ~?wÁW¯ãQ–Mþ-Ð<¿¹uiyObUÞ“Ëç,[òOȱqf]ÿµ¶8°{o{^½Ñ’qV˜U¾&fk6èt´ò(5-xÓQ{£#˜Æ°A܆Õ’¨¨œ–e|ƒo±eä Àû@.…pÐAaýŸ>Ž¿ðÏᾆ£æÐD =pð,}S‡Ä+ût åzL h>5åà3P×°N} á¯j‹‹{ ÎÖÓC¥MŽŽ6j§&U~‚.´€ê• aùG…rXV¯%–kƒï-3q8)‘(/Q\Ä[ÎȨ|ù²X,~$“á4\É™@Cp$ÛÔtÅtpÖ¥ÓéÚÚ2™¥×Ä–#TAÛ"¡Ô¹" ²¸˜SUUûêUx—”H¸\ÐТ]"Aä-»¥K Z,ªÝ•¿*”·Je/Z×*ßÔi€(5pöß¶H€$‹.f0ú¬\éðÑGÊµq7n0X¬þý±L¿o{:¥}Œw Œ ÑóE|èÈí¤ˆ‚Lޤ†#—÷!NõæÐÝ[W·‡Óï³xuT ³yK"Í¿ô¬v¨Qc¼éÈçG‚žáÎfµXM;mj¿«AÀúÇÐ$øÉmºaóå³ÃëÅçÿzy|àŽ˜}c-Ñ?ºÛ„Eu^r&c?õÝú}^¥iJ€'S(*â ÙU•<ªvëã+òj¤Ë«G^:†½‘"(Êq„塀“ú:ëhÓGýù¸R„]ÈL9<'ÀÖÈÀÐÒgúîç5â®ÀO¬O9þe°=CWßÄ9bÃÓz±ôÊç| I2¼‡ÿà@S]-]sßé;ªQ«²J±_¬ëç6ãJÆÕ™vêª:¾«â˜hcƒ÷O’(8•qòëg‘Rö¡?Þ.•ÜK¯[ƒ¿º6~Þ¹Õ[K‡,mûzª?ïÆ¡'æ³– oéý¾!äVg\Ûº)Öxè Û›z4ËÂgUfÆìÙzSÅ+À¦Ó½Ð“opz›™ðs€Ëä¨RñeÕÍyN}Ö½`‹>°ž­íã<þt1¯1ßJ¼¹‘Ä‘kµwUÎÚáþydo+}šóÈ5gN­ïkk¨Ëè¹íiX!3ãô¢Îft†•÷ÄÍJÅsnpäg☣¡XGYë$–•~jQˆ›“³kw·žöŽ‘gQ¤=¾`x ­3°¶uDáÐ/Ÿ=yñôq“|TšÁÀ‰ß;œ“QNª©çÈYùøý¨#YþÊÆÙEÒZê—Z¡9þ|åªYŒ†Û‚“¼9ÌïË›ÕÚ½–žýÜgªF}Ü*­UâÚÈf#7_êEëlÏA ŒNG©Û }4*®rè@ÝÚÄ«÷˸×îæÎw±fF_)sŸëGW»Ã’CÖJŒ¯nÅØâ´© Iqï4d¤ñ>ÿçîv‡Âí£Âfož³çpürÌ7a_üpnè‰ñfìø ¿Š Ýý(Ê_+ëÈ܈q³hч'Z¢ŸYù¥Ìˆ° IÖhL­W¨#žÉeÔÜý>reÙ³ c¬Èµ ëÃF?@Â×ã &IÁÑÙ.I¡S_½¸u-ÊÛ/ˆª©…$D£ƒ®þ#Lí=\Ü™“óCWZtÉ%Ë_‘#œcG9õë§Ö¸?M¹smV^/‰?,ÊßøV½Ÿ’DG‹þDA£×Bâ¶DgSЏˆ$ý)z«%¾$9šþhLÀù¿É*‹þì˜Ô8Ì+Jh:e%AÎ( ðâ`'‰~ÙlJ¯^Ã-Òµ°hÊV]Yùèöm=ƒ¾C†@س¢ºø6~A6Âý™e\LW¦aÁëæ¤ê¼¿9¸!LPP½|ÚF“Õp¤S:I^=-ÓeÅPF©Rw¿FT-ƒBìôU0·¾Þ:QiÅìêìQ*£·Gº¢qlíð =~ýãvÖ"›"œDóô§ù£vÖÛ†‘L4‰È®ŽU6§4’޹…>E•`þí—.Ì=[=x¬RŒ–ßWÙûGÔY‹€AöúD¬{P/½É…, `iÜ]õ37ýøº ô9§†›9©¯•äÕUÔ2ëU}–o_ÕÓD|æ§&c—ÎÎsYUm¦y:(õ߃«GŽÑ¹xva©wXß?¼±ÂS]]øüÜÏsGŽaž<1Ï¥ÓŒË3ò;YÃ)4˜2çâ³êÞ©WÒg.¶¼tõAñ VÌå"—)~†b“ÛtÈX ‚¾¬-•ßX«W÷Îk1,z›iõ‚möøZki`½‡ô¤¬H-fcÚÿ9T>pÝì@cŠ æ8fù‚=ý÷DeŽkƒŠËȽ~~k¬]ÆhŒêHÆùíP{¸ÿšúăV¢» y$ÑsxµÁÀ&µz_tª h „«›W^NÆíëQÖvNN.îK×Ðbð”ãoIü÷¤‘z½6Uõ½O FË_ [ÔOBO²üUŸ?ªqû_vmmá“'¶­-ÕŽð_»Ä¨Òf^qƒÜäô6÷„%°ø’äh³,vwE 6ùÀ2~¯$C;jÚ%«B”ª¸Ül>ßcÆ ï)SÐTš&5“âã³RS»{{›XZvIÝ»¼Râ]¢ÌÆöÎÁö³°ß×a„Kئ ó6ähÈ,L«Ò¶b4’¤8 7ŒGcÀœÜ›gs]Gù!ÿW™CÕnÚ¾“_iìaá²øt:KHë·%±†)>ª_n6É€ ªŸïÿ¢Ÿ{wOÿ±Ä× EóLdëiÞºT“ä8YG|~Âôû]K{ë('.¾Jòê‘N—C9E¤K5—A…HFËy „¬ÒÜüø¡Ö t¹Î¼ZɯgññÙÕù\{ã–ñ¢ÊçÄ JÕ0µ7à•”3ù8½#U çþi¡I•$zå,¿-¸Ò¥Н®ý3kÀ7“ºI…1)šº®—Íðu²°è6à‹µK{¤ž‰nš&AÒ¤›Úû~òþmC öï}R# QMÛÔsš߇îÛW+'S‡'K¥ vH¸9±,íÆ=bð'ŸŒ°Î¼ô¸8ïî…dž<Öh%I¥hž©•Þ‘®O…¤JlüZHjè+ŽÆ—ØeùL={3ªä™–¬om¡^•_!µ¤w£üÒ56ÿŒjVtÄ1¹ü꼜: í–/é”L‘@p­05·îÓ?¬¦ªòßÛWëë^Û÷ౡŸ­¯ÓtÍ*ªã¾×¢¥–¿zyý:¿¤„äèhb#z„ŽÌGHEEh9¨÷‹}Q‘(¨X´6•x¡iUq¤ñë jñË’e–Ûò¯TI3ª5BÍ¡FQÓàý*s ßL&³ÄÄdì±c¾3g6y¿eÅÅ·¢¢ŠóóïW’3Ï{¶Ê›J%ÄoÀ¾‰ÆfíÄæÏÆzb;—c/Ñ—'5¹“L÷š¶5&5ãörÓ¨ùs÷¥ËL–ÎP¿á³_ʦ~w}M?Ý‹(M¦)uøE—øêYÈæíÓÞfôW^=òÒ_‹‚ìÚCQ…ªÚú†ž‹od¡£°°¸¼0f©»:^¢&UOGX”RÐ2>\ùœrï a}^J™ºC%O)ñKܦÀ(¼ûGnÅp¡«ÝÜyöUÊþ1öúzzúVá;ŸÝ_ÕÇÄfôl5+wFilbEƒÉE݉œ!©g ´Ê¨ŠP Äã«ËâvŽ©å­9®Õ}hoÞ ×/Þæùp´ö3yuáúÕ v}ŒÑbkG[¤Âú4”ê…U`jzÆêå)yu’·]ܲÌÍLOÞ†£-͈œšéˆgr‰št¬àE¶d1„ÆJÛ&˜Q ¹óÐÒ¢ùø›˜[݉¾”‘šÔ$Ú$)tÚjë€)É…¼ê:.Šª}/2£å¯üB†KšF¯´_^¾ŒV“ò9m‚&I|…ö¶}/²µ©Q„Or¢gt‰«ŒP|Jr6lSsYŠ‚Y‰~ut\¿újâ¡CÍÞӓ’ EÔììèšš€îÃ%pûõ]ÁylÂjÌõ[lEFPÃ&þ€™>ÂîÄäÏ¡¥y #YºâDR%WÀ®ª¨Å+«Ù…EÅn^»+[ŽÿKÔ6·TM½v'³¦&ÿéÍège¢u9E ÷¾Ì©äª1ì ˆ,WjàO6¯¶¢NHBƒ œŠ—¢žV‹ ÈfÃHŠ ,5-'¿¨Vf{YAõ“S>¿à°úÐê` lª‡W{éBtB±Äyò9èB=“ÍðÑ(èñ¹E9õ AjÜú[v_9E” ¥yF¨Ûõí–˜Ü:>Ÿ]YSˆtÆKT¡ûïË<úÓö»yõ\fqFF…HWåsJ!ÂxUy¹e,3ïÖæ5צÍö£â)…4ôõTòŸ¦VpXuõ\m¼û§ýnh¨éÃ" Â¾÷UIanVfffFzÜþqNž_ž{öøŸQ¦˰IΖ.Øt+µ¨8ýζ¥k“='B‹=×<ùç§?ŽÝŠO+(L»½ù‹g©C?q“ýEpEßlV}enì%_%„~ê.šøž¥Œƒ<µÝÂ}jŽü²·Ü;ÄQƒdÚ'DïΚߞX†š´îÿÊI¶¥uëG–×;òdÇI×öš4BëêoÛï±yu)'VoÌì5}¨•¼çü–fWxÅ:âš\ŸÈ`Ö±ÕÛÿ-F2ä§gV‰~ÎÚ&ŽfÔ  •±üdg¦>þïvyY±DD"‰ìÑoܧ‹÷×i:¥æWsx2Ï ïXÉòWv.=$íH–¿ÊåpzJRª +ž>E{Û¾cA ú›Úã7±®ŽÐ·ïè;Ü?ý´ià—Y_çò圴4ÿ'§[I^üj Žö €¦Z0« Ķ~IâÐtü±µ“±Wc»Sä5 ¢´òð¯>ñKƒ¬Ì]BžÈ­½¢f:ÂôÅÅ<×Q½Ñd4œƒæÿõwA‰ ÝŒ­zMØ”¨i¨Þùqó.¯žäh¨kØmì)ÛåNqzû/›Aßwá!K½Í¬z;¦îj.›”ͦªç;¡ͺA^£þlXéøµHÂ’+«~¹–›~|fº¶&ÚµŽj>êpžÕrqÅÔ…GÒ%!x¥gÆZR©ÚöÓ/§^˜l«I5ø)®¾EyõÈKo EKIEpPJ'©èõ]yp¥å¹é^fú [ïa‹Ž¥³1ÜDcȺ‹uëadh;x]š& =m*ŸS ÆJÞ3ÃÏÆÈÜ{öïu»æºªã*…aº½gFÒOް6uŸ´/‹{ÿHëŸ?жŽM[tÐhº4 ²ª–®¾Mˆ‘,"wžX¬w~Ž¿­M¯§tÙ6Ö’„ñ9\~ÉÍߦ ìaiå9îþôÃg~ð—]áª>aM •ª¥oåõ馪ñp3u8d匃\±há^ü4žGH7äð«Z÷ÓË«°dªÄ³1Ž‘”Û Öºõ“×;òëĹ¢å³ìà¯.W§÷43² ùC8ïÈ_cÌå«ÒÂŒHJK*W¬#®u"„®?±ÂôÔ„îæÖ^£¼^ ^‡ºm‚áhI“€6M7hÀPm½GÿÞÎL{Õ$¤º–Þ°Ï÷ùte.K· ¬ž/šYÕA‡xù«aMË_Å>M!-ûõ£K$xuó¦F¼)$$4Ó™  à¨B+“F Z»vÈO?i2¶’Féhºï³g ML‚† ¡é¢¦àøà ¨9rdàÀMzèééÉÓ -•ü‹EuÕRÒ”XÉØô)X¿}Øt»×—eØŸÛ±‹0+y±hÒÕH>×?ù±ÿ¸äoböG¾Ÿ8"|± õÝ@[• prÜÍsÍp_x¼›V¡V €À;"À~¹~`ÄÃE÷„ë+haß¾}hÁyàR''P]U‘ðä?ä!xõ Ô ¾Žá²êžDN{rÁXƒÓ1‹cŒÎýjã9º‘ÈÝ­¯¨80~|mQQÀš5>¸gÍ2xùRý}OîäúqЇµÑbWÅæýúΛ§Ú,¶¹¾¶öÞµk¡ÏàÁªjo3ÑïãDÛ‰´&5‹þ¸víšüwÄHæAж÷Fléèô±ÿ-k»ôœ¼û÷ê¼g÷6ï·íð @¼WÂÚÌgE#¶½ù}¯"CãoH ÷ ÍÊH¹wûе­“cüd µWØ ;~—v}WTYdaHUE3®ÞÙ!YþJâý¢Fž_¾¬^^ž«­ÝÍÇGÒfaRREl¬µ•½9Þ™€Pqç%€bžsX,-_ßaóæÑíí›åóùÉÏže&'»xzZØÚv^@²7"ðaÃ-Dj§{vZÔɼóÁÿÅ¥ ‰@ Ð ð*2³˜z r^ÔªåÑÆÎzv‚©âSWÉÒÚÞÀÐ8ñEÜÙãû‚ ÑÑmù×7¶™ðí¡äØ«ñ7ª± tÔ‰Äwòf-5dN‹å¯øB¡MP&­a·ŠÄk×ÂòW]ñîè¼:¡•Òò9Ž…EÀìÙvÁÁÍ­(-}|çŠv4H«ñ.꼚€dm'pÛ™½ã¬äó§ Ý‚ÿûŽ9Cõ@ Ðnøeþš³øø³‚Z¢‘÷¤-{æ»Á`[»Áý*BñÏž>}ÌÌ­ãÝÕ£3œ]ÜUÕ6dsð ±vñz÷TÚãË:Ä ¥}çK-•÷ìóåË2otx¸ŸËM¾qÖ¿úî£E#”q¹ŠuHH¯©SµMM›®ª¨xöð!r€½ÌÍ;H h¦Ã €ÜáÈ[kÒ}qÌËÖ2Áõ.D€h9õRÊÔ.¤¨€ÀÇG€È¼öÊൟâ q3 c3=}ƒW‰Ï¢¯žsêæfeë(¹ˆ"¢=Ltòôàòî§ñ—íL´ÔÕHíµM½xù«qMË_Åž8–z.62²uu•´žýä !?_MCú H¶8*RU52dÜôéM+]!2h*{Æ«W‰ññfVV½‚ƒ›î(€Ö% €Ü%»”@ €@G «ª¹ºyYXÙ&>CsƒÝ=ýhÑTÃ~c¿Épíý4æT}îS3:UƒB¾õBÑI™ÕCö•艖¿*ŠUåó{ ÔäÀ í þ¹£o„N× ¾¯çñ²ÙlƒÀÀðY³šO÷E²–=}øPƒJ …˜çN×yï@ p€ßT¨ €+´8V/ÿ~E¹±î Ý’KLQo€µvíƒÎ¼”'®î-Èa¦¯¡¦J|c/X´ü•W¨ÔòWÉ,Öì!C$ì™UU…wøc½%z£•®ŠØì=½¡›6™zx4‡6ø»w¯¶¦¦‡·|MGR IDAT7Ä<<·I`oOÏ7àÒUK½ (€@„ŠˆFgzJâ›—Ì,lÐÑdrÃr¡¦ö=MìÜ3Ÿß{rã ¡$ÝDOãÍÖÇ/Õ0×Q}yù²&@óòbXXH §Ý»§VQQ&$$äAÍ&×spðœ8Ñ1$¤9.‡“òüyzR’‹Kïf;½@ö}ûDºj©7@E€@ ðQ°±wöÄa³®]<•’ô¼Iw‚u÷>Ãçþá8`^ZµFvq‡Ço´ü•@ÃÊÎ¥‡¤TnBZþª˜Ëõ 'v]zvñ"–¿jÖ®’™‡ö7b2 -,<~øaÌ®]ͽ_´Åò{¯ž:Åf³ƒ‡ srsë*JƒÊhð²UB> €@ &€ÖˆvóôëÖÃEDç\IwéÑ KØÈ”n~ü¦Åßzv÷$¡<ËH¢FR*(-åæÿió富UUïUWGúûK*/ÏÎ.úï?3MM臊õ-ãpªètßiÓœÃÂH-Çÿ sr^*2 lp€áf@ €x·Pü³o@ÿÒâ—ÏbŸÇ»¸y¢Ýƒ%M"7ØÑ{°­{ß&7ØT_D"(^"K¼üÕI ìÚZ´ü•žPh¦k` I|uó&lÿûn;µ3ÕŽ–¹bòùEfgç1fŒã A$5µæÄÿû¯:•ÚÃÇÇÀ¸áÞëL€,GàŽc - €@àc&@74 ì?­•ûŸªšZ·î=éF 7ØÎ£úÓÛOoç§1ôÔµ(dÜ “ ËXÍ—¿J¼qC½¼<ÃÚ„÷Ut´),õÜmh>g WÈfkxxôž0ÁÒÏØ²ßÑ"ÏÏ?f³X®žž¦VVP±à·. €@´#ÉúXE…yOÞÕÐÐtéá©«ß0lK$‘í{°óèW–wëhVúC3ºº®¦_Ðb­h4ü;øó†¥ž‘`ñ§N™¨ª¦ÓhÝ||$r¥¤Ô¿|I¡RÛQl¨ª³@S½+¹Ü\ǰOŸãÆ™öì©Bh±¼QyIɳGêkkѨ/¸¾­ûÞ£<à¿GøÐ4@ >R #Ó!£s³Óýwí“„Ü`}:CÂ-‘ebçÎÒ¼äø[Ç^e<¦S¸4 U±w#YþʱGÃ~6…IIµ/_‰öC†P4ö[J8{–¡Ú°èôGÊ·K«Ö¸*çr+55ûô‰?ÞÐÉIJ]4êû*!¡º²ÒÕËËÜÆ¦KÃåÚLà6#k¥@þ-ì÷³Ø´Ÿ1Wõ†œµÏ±¥Û°É«1/VÊÂe €@|LÐIèÌÏÍzòðž…âäânÈ0i@7u0þ»êÒ¼ÿO}Cá–Ð(9E-–¿z~é’™ªê³úú ÆI ò¹Üô»wׂþ˜pvq]ÑD_ŸÍbñŒŒºED :”Ú8å»Ió¢ÜÜqq6Û¥gOp}»ø ñ¦êµa¤7mâ#+—vÛ~KªnP»ú 6fvâÆäáƒÖ¾Ü7+ÐÁHÏж×'«®æs²ÉIÖçÜÙ>'ÈR‹l8âDñë*å¥ã7ú¦©Â‚ÃáNᇠÞxËzQâJBwgÉß퀛¼¥ŸýÈ“%o*fg)×?kw¨ýÐý¹Aîþ¡ö Õo»øíÒ/Š›m½×—‡«I€›±{¸±*­÷Úg,q³¼Â[ë§:›Óµ5uͽ'o‹­höíã–<Ú³0¢ww[S§ÉQeÒbVE϶§  EˆD’*Uß&hþ±tIÒ;ü³B¥4¯%‹ßp0”1,MßÖ·WJYˬ¸Þ^ù5ÀW[>¸Ò¡LÌ,†tìæö"!öÖµ¨¼œL´WM“ÚtS¿¡³F¹Ã%lQ9Ù>!¹Ò3°aù+.‹•rõªºŠ ÑÖÖÜÁAR$'.ŽŸOn Û¡ú@cíM@(Vq¹¯êêrÐÎFß~;îàAŸ©S›{¿Bô„•‘qãìÙç±±ÝÜÝ Þo{wBשàöîKÇ@L¯»Ÿ*ª·êöéì¥vý Ö‡Ž×;eçøÁßg Z5öß=SÔNºìvr/å¥c‚ÊLJÏ×…}÷¥­E}òÒñíð4~ÎÞ!öa{²å»¼.R‡7H4¹óÚöáFr¾qïÑ{ Ã{¤ë6((½¾f]œ®•nS€$XF®?}?1éÞŽˆÂ5¾¾X$ù6²Ó÷Oò ]è0kKÔƒ»›Cð6„Ðp[SRW[‘þÇÛËŸÎëßdùJIº–ÖwÓËj‹Å,»»ÄËeæ¥"¦èCî± ó Ü­|[””¹¤”eV¦dj~óø²¿9;(ùÎ   èàaÝ=|}ålrÒ3.—ÓÔ*™Buð ½dà¸oèF «ø¾¼r…R^žÍåö<˜Ô¸åïËk׌ þùwWG4€†|Q´s>‹•ª¡¡:d÷îñû÷»„‡«6ÛÝŠËá¼zúôÒñãùÙÙn¾¾ý‡727ïá –„@·w×é{ažTìN4VHÁ¦ Ç’ƒ°Ë»1ÇÆph©Ö*ïmü31蘥CEŽÑì­»òûŽY5?`X ~úDs¢Éˆ­Q#Ð;û{ë_ï&j•—ÞÞêA}oJ€L3µ½´¼iP(E€•x`Ý-ë/›ÚߘŸ@^´2XòÉtîâЃó/½¨Æ ñ²ýý#ß-Ñ»ÇXåWN S(hzžwĘÞë¿K.dc¦ “ìäzçWä)ÕÔ0DOÿS%“´"¨ªò‹Á6~[ß^ %,³’½ðö²@ @àƒ! O7DgmMUê«ÑWΛ¢=„Ñ—X¢@nzºm7×&eøõõ5h$.wèÀ’D.›~ó¦[£3üÁ¨ ‚¶$ jøüBG£{÷nƒ; D¡µüA³Á««S^¼(ÌÎf˜™ù‡„À¾¾p)I@Îx”’¥!›,¢ 6ÚKÜ ý^Ø%×ûEû•eÜ{ÌëõiFC7hº†‡Ñ_]^,'½1®Z¶Õ6¦ð+b·Oõ³7711±î5ëXc>ß6¥‹]KSϪϗgrđزٚ·ƒWD:èÐ#]ûïbŸ%1Öõs›q%ãêL;uUßUqLT ;ãä×!ÎÆ:ÚtûÐo—ŠœBa}Êñ/ƒíºú&ΞÖ+R ¯i”ŸSýËHw } ω;“äEj"!‡÷ðèbª«¥kî;}gBµ%z†Måe¦£Ó}Á­jLÈÌ8½h€³™aå=qóƒÒ†v!+ýÔ¢7'g×în==ì#ÏÊDâ‰Þ"¨²öñ/aŽÆzzÆŽNg²^È ’Ûº©ðšDˆ§)N_³eÀƒ‰ÓkøíBêû#ÀÏ;·zkéE£må¬ý"dWUò¨ÚÈáåçÝ8ôÄ|֒ኼßU„|VefÌž­7U¼lä¼Ð{Z7Sªu!˜ ?¸LŽ*Ï䨺9ÏɠϺlÑÖ³µ}œÇŸ.æ5NX@ß ¾£æNêë(2VΣþ|\‰Œ•bÃØº-s(Ñ HŒïðÏ#{[éÓ œG®9sjíx_[C]F÷ÈmOkÄzà[ ù™8_vƒ¬XG| Œkñk+$ÈÿqÐÔ¢¹{õî;`(úãÖõ ÷c®• ¸èÔ—/­C™ž‘‘C¶ní1~¼‘……Ô+´%RMÍÇ ­ hv®åñ²˜Ì ==ÊСáŒÛµËýÓO¥¼_4Ñ7æÒ¥¯_×ÔÖ ëéïÞoèýSF€E¨ÿú{G[‰{{zzyöÄ+EĆajç±Ò~؅ݘ³¢Ny^ÍÚHÅwH5†?¶¸¢?½–é"ÃðÖëù¶¿—M=÷j¦³Zmö«"-FbÌÙò›11ãØü‘ úI“ÍÖܧÄ+‚çMvþ*:Þïè'7ÎO±@â ’0!‘1`ù†¿¢wõ3ÃÊJøôÛŸ·¬S£¸íÖ/µ¼Ë?N˜ùYÌFgŒSœMœýwÌ+²@‹Z¿vâWq¡»Eùke™1n-úðDKrÕÝï#W–-<›0ÆŠ\›°>lôrÊ»Dq˜¸ýäW>Ze÷þ˜:%b©N̆–ˆ°ú¸Ÿq[¯ß€—®àk,«é–þ8}-ÕG;i“LNœl¯Í¶W0l(OyH‡„•wÖýô¸ç²[:©'qÛ©ºoÓóñË»#ËTñ$[ |´2Ô-.µ„CsüùÊU³ÒZ·ÊGk•¸6²ÙÈÍ—zÑš,nŸØ\©Ö[W·4@ûhT\å굉Wï—q ®ÝÍïb+D—eîsýè*bwXr°òSùŸm¾°ÁC;qÃÈIËO†Ÿ_-c?[oT~Ž:¥z]ÆûüŸ»Û · ›½yΞÃñ;È1ß„}ñù¡'Æ›±ñ-zµ*+¿2yj½Bq-p žm”c²¤ï1ùxà @ËbÙ:tC' ŠFÓƒKòó…LØb-ž††[ÿþ** ¶©äÕ+®@Àäñ¨$D]}(·²Wl ˆÃ©×Òbøùõ‰ˆ0us#Q(Rò£½|3““³ÓÒ‚³»»‰¥å‡¢ ÈÙ©(xrîTr¾[af6³Ýàb¿®Ç*…˜)3ie÷9‚ª:k¾³PÀ`DU²~:©ì T=mNÚèGͬ-ºi‰”7põOãÛøÙ÷g–q1]™l‚fœÈ8Ep`\²‹€AöúD¬{P/½É…¬ò”§ù£vÖÛ .‘L4‰Š`¼¦©ÿÙSº~Q˜(@Æ´•É$s }Š*Á6üÛ/]˜{<¶z9†Q¬‚ûÚˆ§éVßúçPùÀu³)*˜ã˜å öôß•9v®ÁÃý×Ô'Œ°y×jêê¤7rHÚfæªDà¹ËÂÌ;[ذn‡„VõCüÖrÒíp!Ke5«èzõ!}æbËKWϰ`Å\.r™âgHÀrš•¢X…Øé«`n}½u¢ÒŠÙ}Yû‰ÓвIJöúö ô6Ó&êÚì+ ðµÖÒÀzéIY‘ZÌÆ´åX$„ŒüXà Ys¥ 2ÁX¡ŽxX Ï6Ê3e`9”½= _3¦æVèÌËμsõòÆU?XÛ9ôî?ajв¤'%¡ðצ¼¾S¦9:¾¸x1ïÅ *“IWUU#Àîœwzäbòù\n­ººV.ÁÁ݆ ‘õ{‘ðhGßägϪ+*èFF>}ûÂxoçìÐEªvò¨>uß¹œllïl? û}F¸„mz€)\/Yn©]•š[Û”‰U\B1cèà§¿*~;ETí¦í;ù•ÖÑÉ!‹O§³„˜ úùþ/ú¹÷p÷ôûG|P´ß¼¦™…iUÚVŒ6?–k˜ÚðJÊ™-{Š]–ÏÔ³7£Jü[²¾µ…zU~‡_—S§a Ýn/Ž4Lè¬ü¢º–¿ÌrZÇä¥ËÁ$•ܨ)§¯¥²¶³¡×ÞÜÊɹڑ€ øêÚ?³|3©þ÷ˆ“utÁç'L¿ßµ´·ŽØò)šº®—Íðu²°è6à‹µK{¤ž‰F3"p¢š¶©ç„5¿)Ü·7®7Ë{H”QJ¨Ý†î_N,K»qüÉ'#¬3/=.λ{!Ç1¿qFŠLE*D2ZLL lÅ0Ê”k%¡m½€¡/Q´ ˆ¨VI ™Od<”² ò+’§ñ«ÝŠŽ8ß6*%˜"à&`ja5vƬ9K¿3¶4?´cë±v>¼}MÕÖy½Ó¤º®®sXØèÍ›G>l·`A‰“Ó³ÚÚ<´ ×QtÒ"Áç7 €:‚Íç£NIVQ©ts³_¸uê²£FIy¿ÌººÔ/¢~|çZÚªïСíüÀ¡ˆp€Ûñ–b7`ßDc³vbógc =±Ë±—¢¯òUËÀ¾ºOOÆHUVÇŸ¹^ëâJ—“®-¯¢6§“é^ӶƤfÜ^n5î¾ôªø ŸýR6íôãøø¸ëkúé6ŒkJgkþdŒBÛpŠ*B>—×ÒŸ‡%¡õëå‹I¤êé‹R äMÛmY·i²¶>©49·N~#¸W„õy)eêf ©— jzÆêå)yu™¹e™9,š™ž*QӀ޼ÈV8C·9‰Ì‚Ô‚®…Ø‘œÖ1yér*o™Ü¨©J^ǵì£7„©”éÝÜyöUÊþ1öúzzúVá;ŸÝ_ÕÇÄfôñòëü¢Ë‹G|õ,dóöi¼VîŒÒØÄІ¯+úŠ ENRkQ B.‹Û9ÆRð”RŠ®V÷¡½yw.\¿x›ç?ÀÑÚ?ÌäÕ…ëW/dØEô1VâùX‘aTªýæ™Þ°Z´Ó6ËкAF•+ÒÏãÛÆ¶ ÖfvPàã%€–åó êÿ¿?…Žþ¤®º:ùéÓ³û÷g¥¤ð¸-Þài¡Âcþþ{|TTo¿eöê•H"å0™u<Ù»—ßûÑ\ò(ˆV,Ëf2Ÿ ®®®K–Hü^4ÅuVs±x<^Avöí‹ÑDßºšš °°‘#­ìíUÕÌo{?zA«"p€Û¯× ÎcVc®ßb+‚0‚6ñÌô¶p'¦À©Óp›ù•×£¯g¬¹–tkë왇tf}3ÈPE^:r#ù´—G=“ÍðÑ,[ò(ŠŸ.Ne7¹9E ÷¾Ì©äª1ì ˆ,—W[Q'$¡NÅ‹KQO«Å~Ÿl6 ½—”¥¦åäÕrðеÍ-US¯Ýɬ©Éz3úY™Øµ'hèë©ä?M­à°êê¹x~° Ý|_æÑŸ¶ßÍ«ç2‹32*Ä¿aräçã5MóF:³tʼn¤J®€]UQÇ“W\T3¯*/·ŒÅcæÝÚ¼æºÑ´ÙR»JaÚ^“Fh]ýmû½"6¯.åÄ꙽¦µ"c:>‘Á¬c«·ÿ[ŒÒóÓ3«ÄKcÉ‘S¥®ÇðªrsÊP¹·¶þ| ßK§%"-9­Ë“ªEC¼âØK¢Šžd4¥âÑ“ê#mY˜"=áèÌTÃ÷¾*)ÌÍÊÌÌÌHÛ?ÎÉóËsÏÿ3Ê”(¨~²qÊçVZ¬ÃC„Åæ¡ï!Ù2l’óƒ¥ 6ÝJ-*N¿³méÚdÏɃ,dâh›M›U_™{`É—G ¡Ÿº‹çM¼ßCŽRÊ ¥íîSsä—½åÞ!Ž$Ó>!zwÖüöÄ2<ФuÿWÖ0âÙ´9ð-só/©²½ H1y–¿LëÇø7××ãÚÆ¶ †/.¤E´h´àaÃþ÷óÏÝ»£ `ÿX¾üò±cÅyyÍ÷Få‘sÕmذáëÖ;~¼×¯¿rýýÕÔRêêÊ8´Å< +BüÖ×^¾PXÎá ài4aà@ß_rñâ'ýå!å÷¢±(ÈùÁÍ›×NžÌIOwpu4z4ÚÙuô[ ×à[ßNw7[0« Ķ~Iâfuü±µ“±Wc»Sä·A4µýÂûè¯BÜ{MÚGúâıyÝEA¼òÒ±Ò3c-©Tmûé—S/L¶Õ¤ü'ŽÄMmAÕh:¨º=þƒ–’ææ]^=1ÈÑP×°ÛØS¶Ëÿœâ ï»ð‡Œ¥ÞfV½f_Sw5‡PÊfSÕóпfÝ ¯Q>%âÁhþ_”¸ÐÍØª×„M‰š†’UÝÞ3#é'GX›ºOÚ—özG¿f\Œ!ë,Ö=<®‡‘¡íàuiš4´JŠ<ùµðšVÑ ZyøWŸø¥AÖFæ.! Od²ä¨/j–•¼g†Ÿ‘¹÷ì;ÞëvÍu•‰œÖòYvðW—«Ó{šÙ†ü!œwä¯1æÈ1 „®?±ÂôÔ„îæÖ^£¼^ r€åɉ5ÃÕ|ÌXUKxgI •‰û”3fßüy€>k‰HN똼ôæ qó.®˜ºðHzgMqéa-àÊÀl¶*P³nƒ?;ÅÒ´E¦KÓ «jéêëÑԉ’+«~¹–›~|fº¶&æ£ç¡A\’Eä΋õÎÏñ·µé5ã”ÎÂ#ÛÆZÊø¿õ k ¨T-}+¯O7U?pæÿN° –\¥”ëšG¸?çÒMÍö° î§—Wa34ÈTF{Ùêp £l¦Æ\ËŒlk³/©r½ ¿ Ñy–¿TëY±Ž¸6×6¶Q0|q!(C­‡4mÑ¢™‹9º¹½Œ‹»xôhÜ¿ÿ4_¹DT ŠŽ¶ ¶víÔ Bwï6ýì³RW×§55(· …ðX¬ íVó ŒèÍB•x°7 ÃJ\\è& 9p`Ê™3ƒW¬@]Ð|_Tò{K‹Šݾ- u6³¶0bšèkܸ²w«-B Ð&*GŽظs*©§§'¯>ãÞ½â¤$VF†‰¤E$R‰D´…xç˜îñÎ0µkÅ艊ƒßæóÑæ½å\®†©»»m` Q·n轃¼¦ÐÒV¨› ssÑrßÖŽŽ†&&T­Nc$O\Hÿ` šm ~íÚ5%^w°ªv¨àlï-´€s‹F úØÿ–u¨ÐXÖf>+¢éÀÛ„M Ðé €mìô]ÔõDNò¦Ð)ñ„jïÜÑ74´´³345•ò„Q®ÓàÁèD\ªòòœyÿ~þ«W5‰‰šbgXƒ@P'‘3¬`¾C×g*£!šÓ+é-år™A5§Õ­Ãѱ§Ÿ£[7mcc™ 6»¤ E8W–—«kh nêæá6Ö—Ò@»¸ý’Àj?˜·&^EfSÏ‚A΋Zµ<ÚxÂYOxUÙy{ $@ £€mì(ÒÐN[4y¬úzäte¥¦Æß¿¯N¥¢õ„ÌÌtô¥¸h¦¦è´ïß5‚œáòÌ̜NjSRÐÆ³üÒR‘¨)>‰âÁáÍ–x¼h˜·žÏ¯ãó«ÐLkuum;; //77CªxCM9ŸÇKzúíä\_[«Ï` 8gw__ŠÚ• ÐÑÀîhâÐÞ‡M€_öà¯9‹?+¨%yOÚ²g¾[+›=Øê‚ô@¥€mT dzo£enk‹N$ò„Q€ôƒ[·K††…M,,ÌllÄ룷8$ΰµ¿?Jås¹eii%ÉɹOžädfV§§“˜L‰3Ü4>Üõâ¥Ñ/:‘¯‹x‘Ó‹b›YD¢¾«+ÃÁÁª[7º¾­-‘ŒÖl‘{°˜Ì²¢¢\´¶iYšékjeÕÝÇ1—[.!p‡`†F:¢åÔK)SßP""cðÚ+ƒ×¾aé.öVšv°¬Ð4Ê6~ФAø·'``lŒNOO ]V\œŸÖÍ"’HzÈÖ34”Ýk¹y†NNèt G ¸"3³";;/!¡()©6?ŸSP N  ™Ã"QUEýAPQACÄŠWŒ]ô­\U/ˆ¦ò l œÇ£YYÑííõ,,»kc£ke¥ØãEpP„s¹˜*zË€¶h–¼bpõò‚ɽoëB íEàö" õ €@|0K†N´D’¸¦ª 9l™))cbTUUÑÒY(L¹Ä(^ZVä"·’`i”[_üኬ¬’””ª‚‚´ÔTvI‰ º9ÃD¢šø_¢Š YEE•@@ŽqÓ)[ù;JAþmÓ‰œ[rt…B.rt…BŸü^Š¡!ÕÜœfb‚ÞèYY¡p¤ I¹}w™uuh9«<ôR ´9½h×"KK´"7U­´ètÀît] €@t$䳡ÓÖÙ5Š&©¢]yÐæÓ‡ÑDW==4gzt:INÄ/YCC2Dì8hP“ØÌŠŠºÒÒªüüê‚ôoMQQII §ªŠUR‚Õ×#gX@@Å’Hc´è4IE=—£·P ÈYE3:›Ch>ëX*bí$„F›yÈ›P6´õ.? …h,¥#mÛˆÜ]!šsK¡˜tï®J¥ÒôõµŒÐjUZ †Ž™™ÔÖDŠá£a^´„ oF' oFKìÒŒÐcΰg¯btpµ3hƒìíéùwÕRo€Šûfì IDATŠ €@trššè £Õ³§WQR’F‰‘ÇŠ<ä ëêëÓôôpLJ›´CÛÿ £Êê‹FŒ™hÌ91‘@&sêêX••&“ÏáÔ•—W•–ò8‡­ÑœúzNm-¯¾^ˆ|qrc14]ùÌ\´‰¹º:DB®,‘FÌBµ…RÔ¨T´ç;‰BAÒªikëZXÕÕEÂèè Ì²Â(“‚^ TWT h5âÀãruét:ƒaçâ‚^ÀZVÊ0„<‡@àG±±^ž=Û*zW-ÕV €@àÃ"€\;#t𙉆†%þpYò3’“+ËÊ{¬¥££N]]4>¬I£!—Xv=-Y•ш1:ì$[¤ÃRÐ`2 i®­ªª®ª*-,¬ª¨@kY©©©!‡9½h×"»uXw@Cï‚@àwÑ<Ô €@ > þ°¹y“´È?¬*/¯©¬D.1š‹|E&\bä kP©è䣿Érb§ß¯Ö(’­†ÜÝúº:¤R¤®¶–ËáPÔÕ%1áh³"´~•¦¶öû•ZíKàöå µ €@|,hººèl®-r ‘'ŒK6œ—•…"‡Ñߢپ‚º†НFçh¡iädjji‘ÕÔÃŒ>¢åi_j(P¹¸È'G’ ©è#£¬°Íf£²ª* _£j4‰m…tA‰í+Ô:p€;[€<@ €*ä@š˜àJQtJF\Ñhådô¯ÄMe³Xè>TTòHÑÎLè@õÈz¤ÈkEqQI+hv0:ÐGÉ,eä#‰„RÐ2×ȵ¹Üªª’±h …âàêŠj@õã ‰@ Ë€[¿Ëw1(€@ ðþ  á_t*#ZïJäs8(³h…gÑZÎ-äÜ"?W’$ò–‰Dä'˺ÊÊ´y€ÀÇFà­ÇA_ €@NM Ï¢ÖšêÔÂ}°Úy²ÁË¡ýÏ¿…-üöœùºÆÚçØ¼/°Ç•í×Ô€@ €m&p›‘µR í,¶ý(–TÝ­ú 6fvâÆmÝö!‚ÃáNᇠšï¾Þ¤¯ðÖú)ÎætmM]sïÉÛb+¢qšk*¬Ï¹³}N¥Ùpĉb\ ëá–<Ú³0¢ww[S§ÉQe¸å¥ùY»Cí‡îÏ•ŽR¦lÇçvÝ…ƒ®ã…?d‚Ê';çp5××ÒÔ1îºä\¶(v«¹»ÐEC ×ø¯Nàú—lt‰_ö`óO3=-mºuïÏ÷¾¨•þžWE϶§ˆK¡­&õm‚æKguD ñµäÍUgŒI(°Œ\ú~bÒ½…k&|}±HÆT>>|¾.ì»/ýhòd–_;}ÿ$¿ÐÕ‰³¶D=¸»9¤ÅB‹òª#šŒÜymûp£·¾½ù9{‡Ø‡íÉ–ÑI^ËxéíR ^ÅZ@릨یþéøɯîšG?»`ÁÑlôæMËÿ×ø*–ø`2™å~òCÞqk5LPõÕ”mª Î'æ=Ù9øÕŠÏ7&4 ^i¨\ÃmILI]mENüùo/[|:ï­¾íÕiò†¤ZßM/«E*—Ý]âå2óRSô!÷؃V%h7‚aJX? {#+תr3€E’‹. €ÀGAæ·w7ë{ažTìN4VHÁ¦ Ç’ƒ°Ë»1Gõön¦“ÔG /Z,ÆtîâЃó/½¨ÆhéèMFlÆî­.Gnyõð²ýý#ß-Ñ»ÇXå”ÅK&ÓL­äzÛx tT×ñ_¹J13ÖkãϹ•<Ì‚¤‚öØhT¯æñÑ£9î_Œí†Œ»$9]¥ç7C<T ó dœÈ)GcÆÒæŠ@Fk†ªkPì{GŒé½þ»äB6fªñÞqÉ3M‚HdñNªd@D»Œ(¿ gû%¬ß›Z¹÷Þ @“À[‘}˜j¿C©‰&Øh?,q6 L4ö{a—bï—SýËHw } ω;ãï¯ôu{¢@ºËËøg¨Û¸SEܬÝÃ=æŽò2ÓÑé¾àVŠïuhŒI®ýw±Ï’ûµ¿"vûT?{së^³Žeq¥u”ÍÀ|¾mJ º–¦žUŸ/Ï䈋Èf“®HÞg!»ª’G5Ðn‹£ŠWW³zøy7=1Ÿµd¸bïWFæ¦Æê˜E>¦ ÑaH§QÔígݨ„̔Ãsl -}¦ï~^#7Nšýb]?·W2®Î´SWÕñ]×|l 51¼‡ÿà@S]-]sßé;ªQE²Hñ*iÙéI¢ˆRvÆÉ¯Cœu´éö¡?Þ.•+0HR„ÜêŒk[7ÅdKiqMP|kÇ™º~Ÿ ³}OÕìB‡ßùöë–ÄXw ùÔ]Ÿ¦ÏªÌŒÙ³õ¦ŠW€´‡Œ_¤SÛd|˜ ?¸LŽ*G{WÝœçdÐgÝ Q<8Æz¶¶óøÓżÆ9èk>ÂwÔÜI}EßMçQ>®DßMƒóVš*aåÞáŸGö¶Ò§8\sæÔÚñ¾¶†ºŒî‘ÛžÖˆõ23N/àlf@gXyOÜü T<çG~&žY“µ?Šu”5tbXé§…¸99»vwëéaïyÍXÁì­ˆAa €oGF€Eüþú{G[1z{zzyöÄ+EĆajç±Ò~؅ݘ³ÂvÒö)³¯úlˆÞÕÏ ++áÓõs†Ò¸W×®"v‡%+?•ÿÙæ <´7Œœ´üdø¹ñÕ­Û¶é^§”•c¤ñ>ÿçîv‡Âí£Âfož³çpürÌ7a_üpnè‰ñfìø ¿Š Ýý(Ê_+ëÈ܈q³hч'Z¢^–•_Ê" ’díÏÔz…:âýv0jî~¹²láÙ„1VäÚ„õa£ õø‚ukÛM¹@ ] €,Â9û³™íF•_ˆýº«b¦t̤åçLµÿÙSº~Q˜(\×ÔýC fpà$ò€GÑÅþïôÞ,Ã(VAƒ}mÄ“ZùY2aª§ÍI»ýh Y€µE7-Ñ0s}‡ïÊ­§Ÿ½ý¥t 3põO‡ãÛøÙ÷g–q1]™z„¯›“ªóþæà†8cAYôòi¹“ŽNvTÑNé$©zxuµÌzUŸåÛWõ4$ŸùiÁ„ÉØ¥³“ *Vßè74\Ÿ°eáNµ/ÎM´S­¾} JeôöHW4R­>¡Ç¯ÜÎZäî$•lëAÒ1·Ð§¨lÿýñÒ…¹Çc«’EÊhù%“ítaŠEÀ {}"Ö=¨—Þ‰äBp[»òK¨ÚL9òtPê¿W-Ž£sñìÂMï¤X/þ“`3íw/d D'óÀôOv¬ŒÉšÚ­üô7„.мµ%ٜ懆Ç÷o¬ðTcW>?÷óÜ‘c˜'OÌsÁ}iô>ú íÆGÃ)4˜2çâ³êÞ©WÒg.¶¼tõAñ VÌå"—)~èå2¹MÅ2(4ÀN_sëë­•VÌ&èËÚÒ·P\Ž•›çÜÒ”"1ÐÛL›¨h³¯0À×ZKë=¤'eEj1Ó~øÏ¡òëfST0Ç1Ëìé¿'*sì\$—Œü˜…Œ´2ö‡`¬PG2Îo‡ÚÃý×Ô'Œ°Évn!‰^“TË Ì›L@@téqÂŽk¹k¶ÄÆöÎÁö³°ß×a„Kئ˜ôšª-Ôf¦Ui[1š?IR†…Æ£1`Nîͳ¹®£ü¤žEåaSµ›¶ïäWZG'{X8„,>ÎÒúmI¬AKÞ £úåæ`™ ˜ úùþ/ú¹÷p÷ôûG|P€„•­§y‹Ru6βåd]ðù Óïw-í­ó6w”L=DЦ®ëÄeó#|,,º øbíÒ©g¢³4ZU­&ö«=Kwb3~™ê„žÌX¥¹ùñC­EaÑF®3¯VòëYo¿¤†©½¯¤œÉÇA*Õe8Þ<‡ I•„ „ ïy7¤’&ÝÔÞ÷“ömR°&*UöÊ÷š6ܶá}Oí“m> \·iV/CŠ–Sä—Ýøûz¡œ|¢š¶©ç„5¿)Ü·7®¶³ –1ÊFí6$pÿrbYÚ{ÄàO>ayéqqÞÝ 9Žþ y6L…HF‹þ „Ф2í·È#ÇÊÉLbi(„,±ÑBHjÈZ þb—å3õìͨ’¡y²¾µ…zU~…x ð×G£üŠ$l´?­èˆóÛÁ¯ÎË©Ó0Ðnù¾O)Á ×€@´?y?õíßÒGP£{¼û&›µ›?[è‰í\޽”]Sõ5 ²¶>©49·®9Šýጄ“·Ÿ\?“#Çÿ%T„|.Oê1•L÷š¶5&5ãörÓ¨ùs÷¥ËÍámFñêѰrg”Æ&V4¨*D‡è!N&S‘Ìœ´ý‹72g¬Ÿë&SÕÖ7ô\|#«……Åå…1Kñ Åjª¨ ¶P«R:KÖ祔©›1T𶬯ӥëƒÏ@àí ¨ˆ …€ßd'…7vœç†|jÞè£p«ŠjˆZTÕ†/¬Fä³Ù¼Vow.‹+ÇI~{©ÛTžÑPª­îC{óî\¸~ñ6Ï€£µ˜É« ׯ^Ȱ‹èc,;ÙA¦JEG&sk ÊZ9Eõ¨é«—§äÕIºŽ[–™Ã¢™éÉ‹kQʬ)ÒÅ5Ëüv5 èXÁ‹ìúr¶M0E*Â5 €íFàvC‰œÇ&¬Æ\¿ÅVa5lâ˜é#láNLþZš×¸0Ò™¥+N$Ur쪊:Q¼²š]X„Qìæµ»²åø¿DmsKÕÔkw2kjòŸÞŒ~V&Àä%Üø2§’«Æ°w4 ²X\©§XÙ ¼ÚŠ:! &p*^\ŠzZ-. › #Q(‚²Ô´œü¢Z™¡RAõ“S>¿à°úÐê`žh›ñã3¯8öÒ…è„b‰ó,äsÐ…z&›/à£ÿPÑãs‹ÃÖ{Ø¢célLXxl´U£é êöø_Œx±nô“#¬MÝ'íKã´Ô c%ï™ágcdî=ûŽ÷º]s]ÕµðJUÂÅíty·¤å ð9\~ÉÍߦ ìaiå9îþôÃg~ðoX±ªþÙáÝ/fLöh¶0Á ìÏ‹[Ó~áacç?û¬þ7§vM”u›êÖP©ZúV^Ÿnªàu¥Ê‹Öþ9å 嚢y„{ñÓx!ÝÐ UËà~zy6CƒL¥­ Nm ŽlîÖ­ŸrVN¶æ)Z>ËþêruzO3#Û?„óŽü5¦i _¶hK³&{÷‡ Y6\CG0]b…é© ÝÍ­½Fÿx½@¼uÛÃÒ€@´7•#GŽ 8°©Z===yM ¥’ß`±¨®ZJš+›>ë·›n÷ú’  ûs;6bf%/MºÉçú'?ö—üMÌþC™h_üÚÑÐþ"CœwóÜD3x‹ÔÑð¡= :5öËõ#.º$\_œûöíóðð@¯&äK@ Þž‰ôú ÷µk×”xÝýöm~ 5P°½·0bKG— ýoYÛµçäÝ¿Wç=»·x¿m‡%€@à½Öf>+¢é´íÍï{@ˆ ^µ_g“T±vñXÙiQ'ózŒÿ·ýºj@wK€W‘™–_Íå33Ï­ZmfÍßYƒ&xP4HÊ#)ŠºžwĘÞë¿K.dc¦o'i;”–«lcÝYUô·*™D ÉdU2YÙfÛÏ4MFlFYï­.§u^öñ¯¿ä»%z÷ ¥%”S$ €­€Á·Vµ1Ñí‡%îÀ„‰Æ~/ìRäýò+b·Oõ³7711±î5ëXc>ß6¥‹]KSϪϗgr¸¢æe³5 ¯ˆ(„Ï¡1FºößÅ>>Kb­ëç6ãJÆÕ™vêª:¾«âDÓ”Ù'¿q6ÖѦۇþx»TŒ,¬O9þe°=CWßÄ9bÃÓziýq„2SÏ °520´ô™¾ûy ª 0Ü3lê(/3î ®Þÿ5À6|ŸdèYX~y¦«ÏwëšÇr ¢éna€"1='îLba8uJKŸK@È®ªäQ ´›»TBnuƵ­›b‡²¥ o)³†CÖÒh| J1÷pÀR_°ñêòY•™1{¶ÞTñ °ét/ôð”ÅÓBœÆLø9ÀerT©x¨»êæ<'ƒ>ë^ˆ•f=[ÛÇyüéb^ãì d£FøŽš;©¯£ÈH:úóq¥ÈºÉØm¹m)qŸwãÐóYK†Ë÷~‘ÞáŸGö¶Ò§8\sæÔÚñ¾¶†ºŒî‘ÛžÖˆõ23N/àlf@gXyOÜü T<çG~æ ¥~ëˆ÷£ƒd`¥ŸZâæäìÚÝ­§‡½cäYË/˜\ @wEF€Edÿú{G[{{zzyöÄ+EĆajç±Ò~؅ݘ³¢Öóm ~/›zîÕLgµÚìWEZŒÄ˜³9ä7;cbƱù#.ô;8’&›­ù,<¼"8ñÖd篢èáýŽ~rãü "z0)H„DÆ€åþò¤%o=nõñÈÞ³W_–:voüEoZÅÝ_"¦¿h©$ŽÌµ~™¸ªlÆÙäÉ6û'˜³ÉãʲîÆ)Î&Îþ;f‹Y ¥_aºãô‚ÿ·wàM•kÀOvºÒ=hKiÙ{/Á–2D "  ²¯ˆ ^^q€, Ф(È^-«PÀ²7RÚR {¤3{œû%f—–6…ÿyî#ÉùÖûýNnÒ7ß9'£G³ /ìLtíÿKKJq±ìßuïL‰í¼êØ/}‚©‚<•¯ìü"“>Û:ÜŸÝæŽ?öAÀÄ×¢¿O¬;za+ý;<é‡/ýçx‰ Ëüݓۺ ]›…wüý¶1-Þiå¦&%œ¼[,©+5>ÁY|ùóÎnŸk'Å úÃÁ.î G˜¡A ¦“µ S£~¯ ¶í»\4(ܳìvìÙEV\BúÌ è´c‡ ÚN{ɇað€43Y5é‡ý«Ú n¯:váŽÁ{F—˜¼o[ÎV™èÞ¥júügýÛ\NΓ»7‹œüÙçï÷ð7Z –e¥('oLX×8{ݰS~˜ºië•õœ“óL_´gÐöÑÁ²+«Þþðrÿ_Ïïëîv?fÚ·Þw?¶õízänÓøíù xWluŽæ>tüKŒú¬`öî«#B9eWWx#‘L]l>0¬tÛzY €ž¡` î”I«ÌX•M-[I‘ëè‚|¨@Í™V6¦‹—@žrêØùðàa!ÍÝ4U}[vÖ^¢¦ªÿR¯úôïi ÊÓ¤eÐ+ÇL3 °Ù8ø!=úõhäÍ¢Zõêâµ=)[*¼»~§jد“ºÕ!Ù&;(À•e”›Æ\¿yãu£Z’µ&Áà1­—­Ž¿?§iÎíÙµ¾î_ïQÁëw&dé|Q“ÿnlnðÍ@Ù…›rû¯œ3 ¡æ„è ºe¶Ï¶Mµ'4bƒ¬ ¨ Ž-ÿbì¶qMxúšÜúïÄ\ë—|fËçsGð8°{vkç†ÚŽ IDAT€×–ý|wÊäžþ3UlŠáY?D)ñæbü©àÜnÁ¹£‹;ðd%Ù7ö|9mèÉŽí3Z8Ì×Qf'kÕǹiÿWøS\/ ï”{ÎgâÜzcsß ‘ž<”Óâ—ü˜ÔCƒöüz½ú÷hèÍ Úôîä±/%WÆô6}ß¶:žõB¥¨°L"æv^¸îóöê¤]_Ì3Ž:¸{F³'‡NÓy¯ï,`y½Ò³~tv®anÎT·íù‹“se”àÜÆ?„á+¦ô¬ÃgPMF,œµ©ï¦}i#§Õ×44ŽŸ 1 È䃀YÇêÍ}èðÎýçôö–!¡š¸yNNlÍ×$%k„ Øä ` T›N®ZjõÛTêw)µ|ÅtÛ6®]H㈹;S¥4¥.¹ñûô>m[·íÐ}äê+"ZM:0SͰsM*<+›Ë¦Ôä ÉÌ,…o£:äôH ›i0ÒüôÌ+ßõó'[@ˉ±E*±ÉÅkÐ?*øæß§³ .íJtðºaþKI²SŠ¡þQÛÕ§…±/¶€üþ¶Y“·-øe~7Ãwx¶«OP£®ÃE¯˜õûo—J‰Ë÷å¶ß*(ÉÏ)(-º±¶ÿ¦Í,|ÏÄâ ‚:ŒùzùÀìèß.—9 ±¥ÉZÏ¥ùÀžÌ³‡n¤=Ízeøð¨°´ƒr3ö?l2¤»¿¥OE‹Cn2¦¦Mß­f«Åwõlùö'3‡tmÒüÕéKç·NÞuŒ\c~#oÕ,òV­ýda²yäm›œ”-+È”x5 vÑ-Ís¼ÃBœŠ3 néý8~óýêö>ú °5G3:ª’Œ‡"g_Aù¯Oì ÌZ@(ƒ T½€¥úªé葦.¬¢æ£Þß@ÍœBÍî@mXHÝ2øA`3ŸŽã<™|/~aо™Ó¢S‹¯¬šôUÁø®\¹|äë>žN54®fø·9ÅÌL&“A«Êò¿0Ä`þhÝŸNf‚!»X.^tÎÝ,k?tb Càí×aîÑû9dËÎÎfŸœoædenýÈ¡uoí:÷7É7-·|Äx³ó“ÒEObâÚÕ§ù9`/^`UΡ¹Q^øaÝøÆå—£04oj•Á{“ãäÄ‘%m[¶]>ª£ÍûÒÑ ©Â1~»Ìöd-¼ÜZ ê¦<µÿÈxe÷W›„uxgÿ‘Øý÷y¹¹<ÄÖfüh)YµÕ¶Ü9´­þÅÛ…HÉ4­IU+tš9Ï«Ž“ðn†H÷…«¢ í¡Ô=ØËÂ7”í–µ9šûÐa¹úúPY7”¿kDÅ³Ë • @•@\YÁ'í³öRc–P-ÿK-îE1yÔÛ‹¨ óÔì ”ådRžsõì¹[‹<ÿFM|YR©BYV(¢Ùä ~yá̓û®•hÿž1­F±ù|uArÊÃÌœ2¹¹&,AÝzÜä¸Si¥¥™×Ž»^ ½¬éìíÅȼ–\(—ŠÄ s‹Ó Ÿî£{K¶}±.!C¬äÞ»W¨ýÓN™{ñàþcWsÉÓ`F½*úå¿kN¦‹T*YQÖÃì2ã‹5}pÃ"¢‚Î.ù,Îmà ÆåW˜Ý;¾5€½kþâíÿ)Ô²âB‘Òݾ>5ýbƒ ¨K.}÷Îäý—ü±ä%ùÕ©L©ùÿyé¥_¬þóÄ•”¬ì”ø¦ÏÚí2hxWm#¥H˜›ñïñŸgD†šþúÒy=Ìä¿j…¦'©¸(ýâæÿ³ÙÿͶÚë5jv³4Y»¢´ܹ4æ«ß„"š8³ƒ^Žð:õõ7—ê îh;ÿ5}4÷^ú( Z%'xb‰L¥V‘ˆ£æËƒwTŠSoÀØf‰óg}"9'7õÔÚùK“:Œëb|"ºÕi :Žr‹ýfÝé™Rtwû’ïÒºLjé4cÛfÞç ç¨2÷¡ãÑyÔ+Ò?—¬;“KbÈLM+Ö܆«bY# !@U%€¸Š$÷¨Y3¨¢žÔÓ)ÝyhÝ©¥ã¨3K¨_ïZC‘qhÉÛ½šøyú5ùwƒ…ß¾ÓØ»ëìE÷æw í2%Ωe]m¢hZëÕuLßÒý:ûöË\ʽûGŸöº=»MÐ.c¾¿íêç¬]Oðì6q”ÏŽ¨° ¶c£SŒÎÓÉô¸bó\Ï­oµðk¹"ÅÕ]óG”"ãÀâwgǤ’&¦Áð¼z¶å³z{&t ööoÐéµ9¦š½,'4bh£â,ÿò_rña¯Ï¶.ë|e~¯°€º-"foO“ÛÙ§%Yì‡À (@çþü«¸ôÔ¿&¶ö¸º­î°­jJ%W¨òŽ3>¼u½ÐomTMغkQwݬdw7ŽìÜåµ6ç¾¼òøñýÈõ¯&›øê×=}]\ܼC;¾ù}ñèÍúÆ&5«s‡¥ÉÚƒ{»ÁU)ÊvÍÉÜz¯ôñÊ(¬?¨Wy§é{ ¥¥VKþ®‘õ\\&JÞ?®«‹o/.‹ ßQɽBFmØ>×kïÔî êwyïoÙ1kGÖ³#Ùºuþd˲±Ú4ˆXMψùiD]Ë]Øþ °>G7s:Lßþ+·/ú{L«ºaßøß‘,í}¨+˜Õ @•`ÄÄÄ„‡‡ëûðòò²Ô¹UòSÜ,êyme¬$M¢&¼Cõ‰¦&4|R¤. ¾]GEÍ¡B­üdÜžC€j±€ìÖÊð!çæœìmeÑÑÑíÚµ#7°RE€ Ê °ÙO¾Ž‹‹³üqå‡z¡zà7¦~;A±Ê'ºLoêƒO^(L€^pº,íz?Àßü¾à/L€€ƒ ®ºÃƇ}Õa¢'@¨MÊ´û¯NƾÏ«3fw¸T¼6"V@¨&$ÀÕa @Ï­€ª ñ§©sÿºžUÆ è4vͦ™m\žÛ¹bb€ P«×êÇà!@ Àò\z8r©D‚ @VÌÜòÓj}B€ @€j¥àZyØ4 @€ TT  p§*Ú;©ÿ¼¶z 4 @€ ¨@|þâŧôymõh@€ @5(P¸£ÄЀ @€ J ®$ šC€ @€@í@\;Ž¢„ @€ J ®$ šC€ @€@í`[ó¢Á¯Ü¿oTÙ°”u(›h])i¥{`¶Tß¡Q©¾•®‚m}}|H}{¢2W×J·§¢m AЖ^Ïxmàµ×Þc‰€Ÿe/ˆ•áÛC€ªM€®ÏËËËÒØ?ý¼~ʤ‰–J-í^[Yš/•y‚Z¾›ÿ%ÕÒéQ²ÔüµÔ¸%TG‹­P@x‘¢££Ûµkçïïÿ"Ms… `³Ÿ,úÆÅÅ'Àûöí« 0$ @€ @ ª ¤ï’$ÀƧ@GFFVõˆè€ @€ Pó¸ VÍD@€ @Õ €¸1 @€ Ô¼àš?ˆ€ @€ªA p5 c@€ @¨y$À5  @€ Tƒ€ñ] M‡T*•÷îÝKKKS©T¦¥µbOhhhXXÇ«Ñ"H@€ @À¬@™D¾ùÈßãnHåJ³°ó…ýjËq­¼NÖl'ÀÉÉÉb±8**ÊÙÙÙz_O]=vìØ§nn½aaaaBBBjjj³fͬ×D) @€ àÈëö]>z#ÿ£I#ý<]9NÄf*0ãóuß/˜lº¿Jö¤eæÿºó¸R¥ž;¢«õm'À™™™ä·ƒY,–L&³ÞWeJŸ]ç...={ö ²Ÿõ!P @€ ÔvëI)Ýôe ‡L3³H1esš~¾¤èî‘ ätè…?lÏ5=Zq?ëÄ_…"5E² ¶[ÐØ¯Ý+~žfS …g¶‹ê©èü4Í+Ò†_púŽ{aNš´¨B›ºôzöÅS¥bŠíÛ½n‡6\f…ZW¸²õcG© Nÿž+o]¯Wg]ž*½õ á6™š;Ÿ¢ Wxä' ª  …ë6l$]‹2wöJ¥’$¥¡õBº¿ÔµKçNK¾Zºc箾½{7oÖÔJœÖàܼ<]£dÒ=%Eú V†@ @€ PÛ¬_GJJ_÷‰\»L6®«gÃW5‹ÀdÓ5$ ÅŸM{ãým&§Cs½æ­]ÀfP´B®Ì{piõwç®Öïη+aÒ`ð_?jÁ¼¶WrV MŠªzÓ§ËÆM}ãwæž™ëš.)ú'¦$hdÝq~L—È…²O–Õן-LÏÿ:®4Ó®27Š}ûl;iá+¦ .ÎÚ"Ïrå’.ÎÁ«×´ˆßM_P•{lßhækÙu<­g§‡bã$IXh½YÓ¦’ºqȹР…¢DDâ¹ qGîÙ¿¿YÓ&æCÐîµ>9zÓï›õÙ/Ç#Md2™®C&“I*XïÁÊÐ(‚ @€j‹€õëHIé‘ß¾ôФOdË,’OŠNÓ=&Eƒ¾KÚ7³±ötè|ãù’äL–½©l„Åâp;ulúñŠw(³l]ËiÜÏ£çÚ_¼¥iëÑZh[±Ýj±ä»Ý2‰˜Œe¶!7rw2—æÐÆ? LSÝGöo‘‘9c¿²ˆb¨UÖóS³Wl§U µZÅìH—°B;³ïí ýÈj´6c'³ÒLÍðqÅF-_» àë7o‘>##"ôë‡ËåýûEøÚõÖT+¥äê_r¹¯>û}sØÐfÎ C¬øö»íï$HѲ•«:wìˆ++óR@[@€ 8¾€…4ïQà¤´ÏØÿÊE…\Ïú}'Nǰ¡™Nh’iÑ -UДB6¥}THk7Q†Œ¢E·s/Ÿ,-“3œú´íë.àRâëRØ®Q^®RíâÒdP@X‹A©Ewò®Ä—K)çz]z½KF'™mž~þËY$Ê+bÕª×*äɩǴTzÿXNÊ}…RÍpjè×1ÜÍ™IKï ¯+–¨™®d,ßÌ Ãæ Š/ÅÞtæNßHO¼Fs¤²’šíãÚ¤Ÿ0³èÜÁÂ.3Tþ¸s¸”ÓxdHÿGëÀtiÉÕcœ>uïîýùl¢Ò©ùˆ@ŸåºmÂ'å]9YR"¡Xî. _õ $sÔÌý|‹Ì=7_Í«çÕ¬•™X”'¤yõ}:ôó 8–73ìúÊt™«_˜ßÃÜ-*·ðú…;îû©YC›Ò“VšØà±ål—T*žóñ'wS’Åbͪï¯Ñ¿oÞºuÁüùÛ·3ÖÛKs#ò¢¢"+).©`¥tùêoõ’µßiïOÖ­3ϘòþÞ}ûer9)=™pšü—Û>à¨@€ Ú,`}™’”þ"ȃ›Q$oSšáD šéäñò©¦HU*ÊL–ªƒ¸N2º,³4SøâóA!\µD*f©î\')u–Ùæß.kY*ìÖĹìúƒâÇÒ¥·|öùnA³@CQ\ðóÞâ3¢‚²{©o}ôɨ&.NJiâé¬5)\Ãæ% Z׿øÕ?ŒÐoWwvbø6 àò¤ù±›þX%ìÿÞòÅï2¾ºõ!œøp^¢L“>‘á9xþŒiaö¼%çhúfBúÒ»ÌrQŧç>ÌŸþ¿EƒBølyÉé˜èe)®N– tõÒæÂ² Í\øÅwׯ»Æÿðãaøü«¿O;ëÚX“$[ØÌ°ëkÊ šõMO+¾¨– måêsG™G®Öò%‚fX[U÷ØBÿöì®T<{ÖÌw'MÖ-üJ¥ÒýwéÔ‘\l8pVvyêááa%ÅÕLÄF¹‰ì—ÃÑ\Œ®?ÝZ_l'öР @€ àhÖÿæ'¥}Þþ„¬ëÂ&ëÀa}­64Ó‰&¿Rˆ¯¬MJ–3Ø‚.£§·§±¥j•8oô¬þ¾IÙö(¼û|2!àáeŸæzûr“KžÏ»³>~½ûË(NçŽýàõó¦’ЏŠ!}ë„д¥æ/F’ð£r•”Zb ' ùüœkâ9uÜQ € @¨f³8ýDîì]Ö]³W~›­ùÍÆæ;Qäný£t§„? ½áÁ]‡„=\X\‡_ÃV›¶ö#iiÅ¡ä9îébMÿšÔQû/¹\—Á`ºxº°‹äÊýiƒ%P;š— UQTòÍ>jlÿIûÇȯضø´/·½›(3Oæ§ïVüãÑç·'øx¿,ëa)»™ïQz«¶Üpú®ô>ún9~if–ÔW;®J˜U mí!`SúÛgkjªU*J“¤’ÇäVäVÍ$¡×õYn˜ÇO,)„ »t©ÛºÅ®ÃI]&‹¡rázìVis{}HFÍasg¥V€IïdÉ÷Óùó.\¼lx,rEnì‘#‰ç/:#†¿Ñ ~}£S£"³²xKV}·mßaøHúÔW× )"ÆŽ~ËælQ€ @¨Õ–Vs‹¥~îü´ãš\×tË)’Ú\¦È Ërù¯tß9ç¯ßìÝû‹›§ø-U,~aò‘yk¹…AÁl†\)S2ù.lÍÒh23MŸÚ¬Ž<3yLw%'3]ÈR•©´û-6×¶5 -ËÉþ7åCáFƄȡŸÊRW3øjƒ{ÿŽ,¨—¥PÑÚëA šëbÐô¦‰C­’HÔL®ªð:¯i„\ÁSbMV*)VªØ4Íd²LNP~Æ“~´‘+<¹‹Ÿ®ôdHîªyÍx*®X-Õåáºàuñk ´£?z mnv3¯®šZ.é*Þ–»¯PS…ãÁYп~kºàƒ«™‘¸D¡æsÜXúÇlžµ[m™Z¿ÓdþæªkϺ¶¸ ò:Éo k¬Y»Žd¿ä›áC‡N›<‰äÉÛk¬”’¢ @rá¶æô²Øk î))"¬÷`nZØ@€ Ô2Ý=Mÿ»2.?¯´Ü݈ôË-Q¬<’¯k¢ÛiÚ\·ÀKr8RTš^ôsjàäQJ^faI¾êŠg¯ÿ´O’ú!íä_òœ4¦Z{og²æùøź¸0GuMÐer«[ÒøŸ2ï<ôwe‘D§Ôrs‰i VQ°è˜ôÌš¤¸Ø¤2®«¯‡(_užÛqNd7qmÚé=²ü’ZërL}sýSšÅäîÊ8ºAJMîÌ‹½)/UsÅ×Ïë²ðøæâœ"£µ™Ø“0 »-ËSže´™ÐîŽèÄO9¤‡'ÝQf©ÍLMïiö±éÔÌÎW[MÂu j&ËW•ÊÔe2uaêL±o!PqøÞY{•ùBóÉcÓÎõÁØ|5Ûµl½²ðkúH~~¾íÛµ{ó¡Í›6‹õw5³Þ“ÅRò[J\.7+;›dÚätדë~çÎþ€œe]'  ï+½õ? l±@€ @µ\àqögGw:´É2%Û—ïâÃw•Ð"’ت®^(¾0bèÂȇŸ]ÿv=1ü½ý#Ù,…2;£pÙÁÂ4~ÏÉÏM§Éu¹,¾›·ÚM¤Î,[{ˆ=}Àû±£™òém[éÉWçYhîìÆã¥Órã08]ÿ3i@[w&-W¦%ç/¿E®ò”ÿv@81|ä_1£Uùù³Yß>tâ4§I0º§2šâ Ÿ÷ßw]Y”DŸ½K›õßúW.8ãt?å…„ô%WåOnÚÄtç <ÏBº@Elžô£‹J.Ùr°ð½~ïÊbÊåçÎ嬾£ _005sðù5Á»Öåºp¸ìlšœýìÌqSr˜ù&?7üä8X8v.m"ê©ò³ÒÉŠª®®Ry%›;¬o»:»ÊŽgÌ_¾(òRúÜœǧ$Oa2bbbÂÃÃõA™ž¨|èСˆˆó¯Ë{ÝÝÝIVL’RÓÛb™6е9ù$²ÞK:$ÙïWß,'ÌÿhÉÉ~r ´Íì— i:4ö@€ @µE Ãû¿4|iˆÍhc&†ú{ð-UË.’ŽZŸf©´öîgrK÷ŒûKqJn|o-G˜TòÙ]ö»Ê„J†¸¸v¼Qlö“E߸¸8»V€ÉÙŃüðo…šØ‚üÌ’®CrO¬¡C^'ËÊÊHÞ[ùåå ʼnÊ€ @€@ Ø“š,Ëû(2ÀÏMóë>F[N‰bElž=·tøç&õøš^Œ×{êþo*mýU¨¾aåg•W4 › °¾C’ ë“኎‚ú€ @€@­°”DNê\ªhø)µzšOü£EËZ˜?ˆ7ë2K½–þk©Èæ~»`›½  @€ j°pi5ŒìèCм`®¹´X{u®Cn–Ž]Ï¥·«-^»`û—gŸ:îjâ©cCC@€ @ÀAÈm°™P}¸®b¢šíçÙít ²«—×IDAT„c‡øÙ_ô @€ T±€=§@Wñ變áØÙ•WÑ|Ñ  @€ J `¸R|5ÚØŽ] p5œŸ\ CÔè±Æà€ @€@8Â*bLã…ìÂŽí˜ÃáH$>ßâïhUɱ{¦ 0ùµ$òsÁU': @€jJ@àÂSJE,žsM€q+#ðL“>•Bê%p²ží844ôÆ56»{ê ÏÎB.—ß¼y300ð©cCC@€ @À^ïÑ,æÔy6gGˆ1THàÙ­«•2aêù!ØŒÇvܼysƒqùòe›}U¦B|||eš[iËb±HöÞ´iSüz°%A€ @Àñ¦GuáqXötüP¡©@æ¥=¦;«dŸË~o@» ;P*¹õ111áááúJJ¥Ò¨“ÉtÖnÖ;rØR²¶,ÖnÏn‘ÙaçŽÀ @€ ð< ÔöÜäy:5+I›ýdÑ7..Îö °Z­.Ón5C@€ ¼hÈM^´#^åóeVyè€ @€ à€H€ð  $@€ @¨z$ÀUoŠ!@€ @À;àAAH€ @€ PõÆ7Á2¼GVÕ†!@€ @5$€à‚ǰ€ @€ P½H€«×£A€ @€@ ®!x @€ @Õ+ ¹8..®zÅh€ @€ êø?Þãm@®¿‡ÚIEND®B`‚rmlint-2.6.1/docs/_static/gui_settings.png000066400000000000000000002044731312046612000206220ustar00rootroot00000000000000‰PNG  IHDR”ÔÖ{sBITÛáOà IDATx^ìÝ\TWÚà;½0ô24éEŠ(**Q± v£q“ø™5½˜^6Ùt“›ì&1eSw£IÔX5¢bïD”Þû0½|FÇaæ2 e`”ÿl6?8÷Ü÷¼ç¹cäåܹ‡±zõj /@€ @€ÀÝ.À&œ4iÒÝ>MÌ€ @€ú´@ff&³O`ò€ @€ ÐgP÷™K‰B€ @èÛ(€ûöõÇì!@€ ôæÏÓ¾X,–@ `³ÙL&ŠdZ!4B€ @€€½h4…BÑÔÔ$•JiÓ¢/€IéËçóµZ­J¥Òét´g¢€ @€ `' ƒ¬àºººr¹Ü²²2777²¬k’Mìàà@N#¥3J_;¹H€ @€, è X²Ìãñ‚ƒƒÏŸ?hrG³éíͤô%/¥R‰ê×2.ŽB€ @€€ b–”Á¡¡¡&é™ÀäÎgrÛ³Î)A€ @€¬ ëÀdqפ³iLcí×JPtƒ @€ » ·2ÉÍ´ 6¯~É‚pNNÎ¥K—ÌÙí<õ‰‘»½CBBbbbÈg MR%“º|ùrnn®Z­¶óYôÁôÈ… ïß¿¿ù…냘2 @€@áÊ•+W¯^½; Ë¥©ïÈË3%ㆅ…EFF’;‹M®š¾®ìáqœœÈ½ÐÆ™˜ÀäÉÏ&…îÅ‹kjjRSSÍçÐ-oÄõë×/X° [B™!i:t(;;{РA&‡ô“JNN¶Ñ¤l1¾³¾¾þäÉ“äj~áúf @€ ГwY ÿ‰º­R¨®®nÆŒB¡°Û…õ%)*Í’'Â=?.‡Ãi§6_æ½qãÆÄ‰mZ(’'Nw;= (‰’’’¶mÛf®ß“²ÅŒúHLggç#FìÙ³ÇüÂõL€ @ ‡î²ÁÂOÔd¦éééd [Ta–K°^×ädºlþ>#O„6¿sÚ¼[WZÌ«î®D3œKÂ’ºöºöÀ¤ºe }6Ù‹‹öÂõYL€ @À¦w_ÐÖOÔd¦d]´WJ°^×ämCó,›¾±hƒ}½Èâ;íˆh„ tH@§(?¾jÉ¢ù3'&§M™÷ÐÃ/¶ùºB–ý݃ÉÓžÛRÚêÓEŠK:˲¿|(%ùå­¦QÚjïh|ô‡ ´ÐîµçK°Þ×xö¦+À6úM€å·œ­µu|˳ÃÑN àÂuš'BÝ, ­?úÕËÛ\ÂpöîäÃÕ6_-³:]ó8ºæýô_vjØ›Qô?‡Eh«½Sƒà$@è›´AÑ6v¯í´=0®ñ¦p÷oe´€°2tƒ ÐÈòœ*c†Ìýôó‡ã¤æUËe:.GÝ@ÓM€ ;è­ú«·Æ5¾(€íü͉ô @ÀØ"GU~éÄ…’Ð?&ƒÍo~rfËNzÊ[>~ô×ë¼€Äû_{.Ýÿúým HXz­¸‘¾àã¥sÙû¾ü÷Ï{¯Ë‚<ÿdz˜“Ò6]ßõÍg+våÖ³\ÝX5Ê]?ͶÛóv˜Qdßz ŠàÙR€ {è­B´·Æ5¾(€-½;ß´¹¼¢Â¸‡Xì5cêTKçà Ü}¼ÐéM;´dãÿ^[¸Ê+|Ø„Y ïá¤ÿ;T£T ú§>–^½é»Íß÷a)Šk«ø£¼¸ÐYRÍWÿâ½e»Ù#æ?Ö¿d˯Ÿ¿ÃôøòùáêÃËÞü÷EÔ´ÇžFXñß’ü4M}»¶öØo™‰'' $t´‹çzÜ}3‚ p÷ ôV!Ú[ã_AÀ–ÞÏúê÷±‡é;}ûÃåå­êaK'ã Ü=L·aý¿q»×¯Ù¸÷ÄÁÕÞuèå¿>¾y‚‚ˆ™O¿æÃjp»xäÍ£ÙÅ2RSÜ~cfÎïâ4¥¾ña•8}éK JüËο~ ã|mPÃæýe.ãÞyëÙQ.L™Ó™ß3Z `Mù±6Úÿ±Ï4Hà 7ãîkÌ€l-Ðn!ºgß¾µ~Ϲz•ÅdÆDGÝ?ÿ¾!ñÍ¿wíâ«Ýqã?ó‹ cÙ¿>éâ &§›ÀÊ©»R±õ o²ðKê^ã™ê¿ÅRpw]} q:zá,„Â!@]à¸E&?òfò"é_¾öï]ÿ[uvhJ˨ôOÁbr†F©P“6C#¥ª+¯U* Ö<7uÍÍ DžÕµÕ5õJ®{·€þ𢄡CÚM Ý!L àv#ZÓáÜ… §Ng%bMÿv³$AvïÝ÷ÉgŸ/|ð¹³gY³+}Ln{¦ ÕæR°²äÀï;.5’í—,ÏÁ-hÈèaáÎ6q¦M¬cÚúìŒÅÑS'óiOT×]=¸ïT~#%ôŸ<6ÒÙÊÛë¤×¶ý™–6)¬ù#rxA¸ó´M%… >bg.“b ½Cú¹°t%¹»±=9Ü~ɯ½1/„ÛòÐhÇÙC»OÄV•UÉt¡\òL­[/–£{í4A¼XEw>,f@ ïhêÎel>!H>܇ÓÁiw÷O×ê¯Ý{÷’ê—”š¾û®³³I´¢²ò¥×þöŸï¾‰Ž‰j¾Í©Ó/ ãތɠ®ææ>ýÜ þþ~¤ñùW^-**&9PŒæM:=´áÄî/ÌNž:}*+‹ Àd²¬ÌÏš™°Y¬¦¦¦¯¾ù–ļwÖL+#w®›ážçÎN±Ý¥'qgiU ùYûï>ã”>TÜÑw¹ñغ¦œ[sƒ§L‰ýœÔÒáNfotš®)ïøé*ñ¨9é~Jǰ²ú5צv}Žˆ@À uéî>³ì´ÒÉÛ_ìDIJ‹Ê(¿éÉÑŽÔÅöÎfû$¦X¹tÏÏ˹)c¸«Ê eáéÓãGLþë?w|úOïÇçDKöŸ©Ö?‹íÝF;m×öÆÆq@è‡s¹œá †ÓJJ Ùž,Rw›–Þ½–† Ðó ±)#'ròKnÔp]Ä‘,|hÆ Wm»õ/ùu°Çè?P|óŪÿýx_=&XG±¼Æ¾´D.øbõÚÞ膉oÞ)ÔV;mžgÀˆ€ `.@ªß‹—.éÛÛ®µ’ÒB©8~(óÂÅÂ:•س+«cæ9t´ÅBýuõÚ5ò¡_>Gî=Ö‡%e§»›[`@@ö¥KN´& §oÞšA I¡T¿‡ÜqšœLbþ¹mÛ7ßÿ@—~òï&©4~ÐÀ©©S¬«­>¦°…œÚ ah7®~ÔnCkU*•¤æ$w¢ýíw+[#“ËŸyâq+‡°&¾•¡:ÜÁb6/Ö7Ÿ§®¿vdÿ©ëõ*–cÀФ®†NQy娡s%jË!`ø„ÄPÓ´›“ä|ÆŸÇÊ•ºâµ?d{ħNw¿yÙ4µçÌQù'œ¸V#ײýãî¹§¿'ßlåV]ýøÁ“¹Õ _ÀV¨õ[o˜Žë¢ÌÝ›yª²I»oÝ ×;!ebˆúò¡CJê$ Šç6rü° ¦N’“‘‘¡¿ÛYU~të1Fâ”á¢[NæÕšM¹-ÕÞ¼pmå„v@ O °\b§?Aþ1™¼ŽŠ~xyÆÃÍ­ä?X¸ç–o}®ù›1·›¿e8Ozñß“^4:›ü½ ›òêçS^m’Da´Õn„r7½U|@=!@þ«½ÿàÁËWrôƒÉåò6GÕJKò%.¡þýX¥gÎÖ òôdSäéí;®h¹Êêš&5Ç%dð¨Ä7NM#÷v\uåé­»êL,$ëSÚÆË™;‹#SÆ ÚZ­¢ý‰š¶Q?YÈS(†êWßHj`•JåììláD“¹Óö¤mÔŸXRZºwÿ~}R÷Í›3›€äùà1iüò?ßlÉÈ ë¬äIL‚þ–’¦°IÞÖ›_P@JvÒ?aÈR—[¢õ=É[êþûæ‘ÏC¿ýþ’l=vL’õ§w¢ç}sï]½f­ù¿­ ¥S7•^ήàùÅ9±(UeÖ¾3ŠÈI÷…;Js÷ï8tÑ#e KÃåÃç‘“çD¹°T’z)‡AÛ-.m&Ÿöh–«é!uuÖÞcÕý’f%{q$y3÷à¤Nµ*Uå§öž¬Iš“ìÉU–ge¨%ó¡K/|ÜdùÖ̲Ó&¶l,©•{Gßã?ÜIÈhÌ;²óð1oñ¸ ú€Ì2ÔÔœ5²•šè@€ Þ :j”HÆŒEбƒ‡ªßȈˆ¤Q£ÚÊN'+Ëot  …ÌWùÅÂú8Ï–%-­Šá32-Ù“ÕT˜µûОci#]hG5?ö_ÿb»ð¯Ý(“…Ú¦ÒM®‘b~[Õo[ùXhK>Óš_PÐÏЬý—”Œº'щ]<´øÉ'¦LžüУ‘Ú{Òøñ¤×$_oIÌd2ÿ÷Ý·áa¡–~Ñ`Ef‹ƒVœCÛÅðK²HKÛÁB#)Ó­|‘Ù’ß èCqy\kβ0n»‡œš?ömþïvNÔTgm^ù¿å+~\±6³ÀyØØä<ʪÜ*h`¨+—Év u“—H´ 6£m(-©jTQ‘‹3AÛ­áŒ++s®*üFy YLŽsÈÇŠ«Íä2zÉË®ÜÐ î/²™l¾PÈnþóbÕ¸L¾›§›ŸÍæ:н(©DÞ:²5yšOÙš³Ð€ @½.@ªß“§O_ÉÉ! ¿û0ÜùÜ?2B_·‘¡NZ–_çÐÏÇɈ]¤…Å 7?ÌÊà:ˆxä'w§ÀCuÅyU*‚¶ñVhRKò«óÊä:Š<¡1_âìÝñú×Bõàüùd½—¬8æ\ÍÕw;{þü’,%_§¦4o~`Í« ‡æåÙ¶^2™Lÿ‘cr.Ym6îF¾Õ$H·¶"ö¶Æ5nï¶àà  òÛ‚sç/=£$M’n¿ZŸô¯«#&_?´àÁÑ#G,¬™jÏõa¹Hž8ØUzq÷¾Ò˜ §fd¼©©:wëê+ŒæzS§¥\Ü5Z¦KÄø‰ÌG÷­;Éðê?|ô@]7ë3×Ê›4<±èæUeòEl¥TAÊÔÛ¿èЪ¤R-ŸTÈ­¢Ò¦g:®NU“{òÐùRÅdh¥*ž¯i+¾g:™N™¬Žã@€ û eŽ>IÃÂ/ù–T¿dí—,·™¿NVž_ÑXV¼ñ×S¤N£¢T% 1n.­N`;8 ´¥ u»,çÀ@AÎõrY Gq~“[¤WÇë_K÷ GGõñ¹gÿõÙç?³ØËÓS­ÑÔÔÔè“:|ô(Yö‹Ûœi{,Ô¨ßþø_òôi}‡í;w’[  Á¶gf’¯É‚ë“Ï>7gÖÌÇýµ½q,ﶘ ’8|8¹eœÜM¶oR)UÇYz šqR Œ»‘þ’ê—ÌœT¿‹þ©þ-ͬ71ÙdyZà=$0oßñß QÎL—/ðˆ?eà­ÏïÞÌï1:=lX͵#»trïH×Mwó€vçÄä YІ&5ÕòÈ-­\"Ñp=x­–ù™l²r.«—j(G£vúôZ/ðª«/ì?+IžîÈTìÝx®%òG]§Ó6ÿº¥í?ó­òfšL9¥¿S·Ý‡Ð.:@€ @ ³cF&;Ý~IýÏ–ª_ÒI^y½ÆqpÚ„XWR|é´u—¶ï,(–D»´ZR75ÈÙ6u³ÆnÉÑÐh\ø°œûrn”V)ÈýÏý;SÿZ*€É#yÊÙxËÖ ²öËãòÈ·3¦M=~âä?>þä¿ËW¼÷Ö›ä#¯#´P÷N?^äà°qÓ¦Ÿ~þE#4%s÷î¿®$_Ìœ6MÒÔDºYbMV¦pчS øüÃG9wÎÍÍ5<,Ìš$¬ésððáÿ­ø™ô|ø¡…d7àU¿]œ”5éÑöáz´ußñ\¿ N!þêCÇ/Š“¢ÅB†J&×p„–¼¦RÂtpñNÎ|F£FË¥ëÆa°ùÄõ æì>s¹Ü=Ö“-¹~ú‚Ä+>À¸Ð%yòÅa¾ê#§/$Eyò Êæ2—~ÜÖ³Ò©Éo¤šé¥UÔÇ·ëšžÅà882ŠÊƒØ ¥¥äÙ[Í­L6‹’×7Hš<¡ Uò,UÉ”iéô½uá,¤„C€ @}Y`ôÈ{Èôõ50©~-Þù|ÓI^™_Íõè&àêk/·~¢K7J$Qä3¶:eS“B#`ËË.ž)öŸèÅ%°y#³Øè§kË©_°àÊ…³*׸v?ÿÛ‰Ÿ¨ÉÇnÉ2ï“=Êf7g¬V«I˰¡CÈg]ÉÆ´o½÷þï¼=h`œå·AGÇ%eöÌiSIÝ{âÔ)òÌçZNþ1 A¶Azñ¹ÅäcÀúd, Ý°…XVKVÉýñ$?+Oi7K§ù™"ÙýhÖôi†»Ã­Œß{ݸ¾ƒþ“ã;ÄoïáßWá»ú÷suпw¸âñÞ;n\q˜çäáíB~iÕÍ3ÜWµgÛ…1ÓÄÆÉñ4›rï]Œ @€ Ž èk`òAYkª_ŠRTܨdûDÝÜïŽ Ærò÷fç—6ù1(uCÎͤ ŠÜ$9|tŒ[˰y£®ÕO×ÍpðԱƀ ^m>ýÙâ¬Ú­¿HI^Æ1—ýû“ÅÏ¿Hö"úû»ï½ÿÖ›íÖÀæ)XWÿh+}õK{ÐÜVL"$ RPPHJbò¡kò¸eó˜méþ˜dKþ±> † ãÆ$¥§N1þl´õñ;ݳ¾¡œkþoK¹¾£g}8–ç7rÖ\}¦kè¨ôÐVφóˆ›r¯éïN8æÝHEé=8}þ`ÚqM9ß“Üü‹©6_ žGÔøQ&ÇéÆu~ïC?¦(81=ØôÙo,§ÐQ³ZO‹¢8A#g=4òÖ™­’w1Ÿr›™â pW­}Î_É»pþ´¬IÂb1E…:²ãÑ»+,0 @¸+ôÏCnçÎç›3å$Íh5k²³é´ûÉ Ÿ$‡âxħLŠp¸ýYÂæç8™5R a«Ÿ®)¦Hìãâ( ñtŽÓšúË$2)øƒ>ýøŸÏ¾ô2)ÊÈíЫ¾½BkeíŽËasȺúÒÞ'?Nž:„ýü“+*+_}ãMr¨ÝÓ­IÃ&°5w´ÙJ¿TGOì\òafrÉHätó“£ ‹³ ô=æ“g+®ÍH™ tt‘Ê:MËG/Ú{iµŒ'²nä^äq¹b7áø±ÉºnúooYµôØ‘ŒéS¦S¬îúKqðÔ1_Óþo¦Ëªš²NîL<µ´FvêDfúä©–ç¥ÖP…׃ûõct[¶íÑwßñRw€±ûrD$@°®ôíLdëÎÑ6U”«<£Ä¬­ĬY þô㥯¿ùö_î›gv¼†œ4zTcË+"<Œ8“/„Âå?|Gîî–G ›þÝß-UuG§nëA;_ÿDkR›Ï…T¿ãn/‹šw@Kw tâÂu×Јt—@mƒ¬àú…ÙÉ)|‘3ùC-àsÉc¬ùÓ­P銋®ÎŸž¦ã:Ô×Uk[¹×-Y‘Ñõ¯î H²ºÓºI±»0eòT-ù¸Åy©ÔÔ±Ó'ƒ¼ÅóÎûÝkG©;Êh6zA¸ë4 ù×¥î±V­ÿ’ÿ´šÏŸ¶Ñ¼›y )AÃCC36ýNîX¶üT&Ú!hG1^õüâßÿ"‡HQVWWgž mK»C˜À´QlÝØn–¶NÀ<>yšùǼ-€ Ð!ªÚwO@ª_£ÓšoŠÎ¹~éÂiVàí–˜˜TR#?qlZC~Ñ[/vs˜4>u߉,I}ã¦í»•ˆ§™–6;§°òLÖQ.›-U(¢ƒ…ágNíJk^Aåì<|<“Ïs 9t(“TŒJ6#}VVNþµ+çµ:M€ȰÈ8ãê•›2¶×64º;rR'§2¸ÂÖùŒÝsòlˆ+;(2®®QµqóêyS’…®^®7U^qÏC¨«ùe'Žd1(™\!Žï_RÑhžÒž½ÛtZ­F­ 1ÚÀP^-%+Ài“¦^¼Q’uú(©ƒD†ÅgìÚ¡h’ùì¤ .^Û÷în¨©_µqS?—Ñ£&Ÿº”k<)™R³÷ð‘ÆšJ¥4:ÑÙóægpšTÛâxøá¬Á‘·èäáw:;ÇxÄúv"ϼRXi˜Ž§¬9µI@‚iÂØ¡7:C胚ú‚2·8«ê_zž®Ô_¤F5lŒD½íÖ[__ßv¤Î±‹¸óéãL@°o…RÉå°L¦qýYQÓt%ûøìTRyж8|õòY‘W¤V+ŸžœÊàˆ6ïÚU]žŸ4|ĦêÂYi)ړǶ“ºëüù#3S&³¢'ÏëÚØŽA©fMIañ„•µòúÊksgL—©™[¶ýBN4P ù¬äqIl¾Ó–Ý{J‹n°][ç“Ò/4ïòáàˆ%U&·¬¼$ÄÕ'¿(oxDˆa"µÊÓ§ÌJžÈwrÛ‚l §¤½">#uò4 ƒ»e×®üÜ‹0ãn•u²KŽÞ›žÂˆÈZ­nFÊD——“_qìôô¿ä±ã~ÿ³z^jƒ' E¬É¤ *duíÜ™34:²|û®%>Ë$Ôœ‚Òã€äJ™ŒèÀZˆ\]¯0žNyÌœÚ$`£šk #­-!ÜÑ QDêÜ“)Ð6šôa¹ÅM›sGO½7“·‹¸C¿ èM-Œ @ Ÿà•ÊÉç~5”Ñ'x‹ÊÊ‚|=›K>²ƒbh䵋xEò¹ä%б˜"‘³R¥4ùxUEu½ØÅl±N>?lá“W<.§9“YZYUZV»~Ófrç—F#W*äÆ0‡Ãâñ‹rqq“Êe fùŒ r²I©–ËKJó‡Ç'Ü(¾ì'—T»yܾ9¨¬²ÖÛU(tr%)YØø€ÉÒÿŠ ‹)(<Õº.,- ñs[(ȼÈCÂdJF^n^eU­J­&1yZ¨Ü|Rž®N'4{öd‰âèÚ¼þÅb1ÍâPÖà˜,­,1a D"–•O‡$ÓšZÚdv]Êjš¬aìàûÝ!@À’@oÕ_½5®± `Kï ƒ . x¹;iRKj\= ¡ÈôF+Â&Õ#ù´oËKg\è’5šVû14÷ û\“þdµZæ78!ÉxåÙ|. ²,JéØ,–²u>|.٤ݫ´´L)« ráÚERz:ñÙ<å'xYH‰ŒÎd´Z '-d^Œæ*÷櫼ºiÿþŒaãÅ^ÞÕ•×M6Ÿ”¢æNŸžs}ퟓ‡ø‡Þ|ÂGãruâªVsL-GÖj´d·xsgÒÒBÍ0ŸUSNÛ€ `;Ë[Ý}ãÏÈ´î [jëø¶{‹ôñȸp}ü €éßNœˆÈøŒÝ»Æãâ!&«Á ™ÄÇÃcÿÅ£ƒ¤&Ot9÷rÿ~ZòÞüeôp)w²ÔyºAR_-pòP·TÂ6["S*2‡¡Ë)Ï8€·§çýÇ"#jN® •Š|rظœÖ÷Ô?ºŠ„{x0ɇÒú‡œ¼pÂÏˉÇ犜¼Îœ;94&LcTr»»8ejhj¨á‰ÜH¿”ÈmÍ:R¥»”s~Dÿ`ò YÚ%ż>/¯‡NGGÕñDÎ$“ÀºÝ IDATŠêZ_wÇ à¼âš[éé(S¡ó¸|óI)TjC×?X¡Ö—åû‡ô×òæq¬Ä‘+U­† Ûßš±Ýȇž0L‡Ì¨5µÎÇÓÓ$ 9#9åîxóc€ìA€ö?ª´Ý›-í´=0®ñ¦p÷h€ ÐçtÃâú‹„üíûJë9,FLxà„¤ð¨„5›·2T°Ÿgpø°’j™e(w'Þ øQ¶ípØ2•Æ/6ÄÕ‰ïêüóº .NŽLOG5†—¯§Sdô°õ[3ÙLÊÕY0y|2Å! ¦y¹9˜äCúù‰=nH­£´þA‡¯Ÿ{1>ßÓU3`ÄÚ?w°HñÍ8ЦTVÝ´æMdå36"Ð7 L®fÈ4‚õ¬ž0ŽDóqwŒˆJøms†Ç‰ ‰Û{ýʪuëÝœ™-}æq˜Þ>¡«~ßì7"q¼É¤ŠÊêŽÝGî0 Ø“Ç7Ž~^ûZÇ1ÎÜNQY­q@“)c»‘§ãîm"îcv]Ìé/Z!@Ý!ÀX½zõ¤I“ ¡Ì?Å”‘‘1a‡îŽ&ÆúõëÇŽKs ;š EVVÖäÉ“M‚ÙzRÝ‘{ŸŽAª¾{÷nó ×§Q0y@à¦cϱ¬`&yD³ý“ÜzÔsºåÍ~í"È€À]/p÷mýDMf:dÈ>Ÿo£kj¡ë•qɧ 3ÍÌÌd¶;í   £GvúQ×íÆ'ŒïËêÆ¯ }vv¶¯ïÍ=!Œ3éIY3qô¡ »Š‘·í…£íF@ èÿk’©+ÊòÝݽúȬ1M@軬@°ð5™é… È&CÝXyBY.Áze\“÷é-Ðæ·eÇÆÆ’2rÏž=¶{çíÛ·ÏÁÉCV"""¢¢¢È~Í&ñɤ.^¼hÓIÙbF}$&¹páááÑÑÑæ®`š€€¹yVÔîÃ'j+еZU€hGw±ù_Xægõz‹>Iý½ž €  ¤@ åÙ]S X.…Ès1Ξ=k¼4jA¦C‡È¸‘‘‘ýû÷7ÿIž÷ʸ&ù›Þm¾·i!ëã¶["ïh‡:“8Èo È/?ÌHºs'Õ!;´³… w‡ÎiC€ ع)dzó<­LÏÂOÔ6-…ìp\ãbÜmºlJN ·“—ù¡;·å®œÔ{99 @€zW€Ò–Wï¦Ñ£÷V)Ô[ãš¶ÿ฀ @€ `kÀ¶F|@€ @° Ó[ ï¶‹‘ @€ @ ;L પªî‹€ @€ ^ððð0ÎÀ´&û¯ör‚€ @€ ÐéééÆaL à”””î1 @€ @ö%€‡`Ù×õ@6€ @€ `#À6‚EX@€ @°/Àöu=  @€ ØH°`€ @€ìK°}]d@€ @6@l#X„… @€ û@l_×Ù@€ @€€PÛa!@€ @À¾PÛ×õ@6€ @€ `#À6‚EX@€ @°/Àöu=  @€ ØH°`€ @€ìK°}]d@€ @6@l#X„… @€ û@l_×Ù@€ @€€PÛa!@€ @À¾PÛ×õ@6€ @€ `#À6‚EX@€ @°/Àöu=  @€ ØH°`€ @€ìK°}]d@€ @6@l#X„… @€ û@l_×Ù@€ @€€PÛa!@€ @À¾PÛ×õ@6€ @€ `#À6‚EX@€ @°/Àöu=  @€ ØH°`€ @€ìK°}]d@€ @6@l#X„… @€ û@l_×Ù@€ @€€PÛa!@€ @À¾PÛ×õ@6€ @€ `#À6‚EX@€ @°/Àöu=  @€ ØH°`€ @€ìK°}]d@€ @6@l#X„… @€ û@l_×Ù@€ @€€Ø6ŠÛVX‰LóãÊßÎg/+-òY1!O<´Ð+ ¼­þöÐ~úrùk¯?ñÎc™òü Û6ý&di ˆ ‰Ì/-å0{,öó|±hÑ<¤Þ"”i7'^LT”›‡7ª_‹n8@€ @À®znX¥fþë»ï$×ß}þñác¦è »†1J.¬ŸË§|p§d‹ÿÏù×.»¹÷N”6u.ƒÃ%÷¿óÎâèÐþWoÜЪ¤#â㤔ðò¥l­Zš6nØC]|êjõÛo?Ú/ôza>¥M7bÁ‚ǘ<Á¡3ï¼óô²×G˜x­¨ñé}ræämÙ•¹g…Ôù ø\í7ÿXâØoà[K—æ]:Ç¢Ô¡þ‹yÔ3 zñ;^kÝ­Tëm¸:·írâþ¿4˜k2ºAQ‘NnžT+48„%r&}øõØÂ‡ÉýcØ{Ož.8·]ÑT7ЬEé àvòlÎ-qT„„Z·yÝ¥«W^˜ùЄÉR7–Í/Z @€ ô¼@ÏÀ~^î¾ãÑÓ'ï™0£õ"0£¤¼TÀey{û“ùó8L±·ÿµ¢,•œ”·ŸÅf1 ¦\¡ nùš¥T)½Ø,ÊËË'ûªR!»¹`Û®f“L»ì¿ËOÝ/•4¨ÕgJ­VóÚ<ͪ<É#½XlÉÉ Øìžãm3k€ @€ {3èã=xçÑì=;~§´½¿J­ÑjÕbO/™RSQQB•*]eE‰“ŸÃvè©ÔTii¡Ïáñ,¹ËšaR!“h C«ÕÞzúcÓžãwm|úßõåèäÙ†¥ÚÖÝ Yè:”§V«#å´F£îÐ,Ѐ @€l$ÐsK”¶öÅG{íÝ‚¿ZþëïÛÝÉç{ ‹®-}ùé±ÃF®YôÑ×ß>«ì9›[xåÔóÎà4ߥ,·bÚÌŒ}‡½Â¶ʺž}ü¡iI‘K?o!GèòÛ– O¼ûÄ9BÖGçåáuù¸bùÊå"qØÈØ R ’2µ®¾¡¨¤¢¤èú­Âؤ[ EyèO;lÐoVç¹ýHÎÒ¥/ã!XV\At @€ Ð=·Lfè#úö_ÿJ™v/ƒëx%÷jc]Ũ„Á®^b7îGo½ëäÓÿ­Oþ}ñäîgÎKžv¿õ-¯‘¾¹ô“óÇvþe긹÷?N1íëÁô¯OݨV¿óђœ3"§KÍýÓSÂã6l?±emmuEÚØáÑñ£¿]ýDz/>vpoíÌdÒ­Òpº˜gO\OŒ@€ @m0V¯^=iÒ$ÃQ²(ÚFO{l&û$6(2¸–=fŒœ @€ @ §ŒÌ”™™Ù£+À=5GŒ@€ @0@l*‚ï!@€ @à®@|W^VL € @€Lzî)Ц#wÇ÷ƒû‹wlØ@"áÀÝÁ‰€ @€îf¬ßÍWsƒ @€ ƒ@Ï­oÛ¶ î€ @€ ÐRRRìaÖ=W“Ù.X°ÀæŒ @€ @ ÇV¬XÑccY·@[öÁQ@€ @¸KPß%Ó€ @€ Ë(€-ûà( @€ Ü%(€ï’ ‰i@€ @€€eÀ–}p€ @€îÀwÉ…Ä4 @€ @À² `Ë>8 @€ @w‰ à»äBb€ @€ `Y°e… @€ »D W `ÉÉ%³FŸ¿ì”Dw›SWdé½ÃÆ>üß\¥Ýëªv,žõÜï¥Z{ÉP]°ú‰ÙÏ﮵—| @€ ûèÕ˜p0Xº‚í¿ì+×Ü¢QïùuO™–Á耕¶|Ós³ŸÚRÖmõh×v=B殀 @€ о@oÀ¼€‰i—V­?ßÔ’«®þø/¿H‹wn?uô€ @€ X/À¶¾«mzrü'-ðÈþä—sâRÄš¢=+OûÜÿÖ°ão]#ÃiK7?ýÔ¾©ß}<ŃAIÏ}úħŒ—¾~.F}ñ÷ÏþñËñ™–+ýÜ{³Ë—<ñÙÙ&ÝÑÙ ð£}ýãѼ[¹’/¼ºÏ½_Ý¡£y2·„ÿ{*…ÚõóúcR·O¾ÿúœp!CqmíGKWž¸QÖ uŽL}eÉâñ®+ž~Ô$ ³ê䊥Ÿ­9S*ãùzø½·FQ”ªdç²g~ʺ\¡vtßþu°‹á— Ê<Ó²7™Œ"&ò:EñÞ/ÿñÃþr-›ÃaÉeÁÏþ°tŒ}cAæ'ï}³+_Êõõø[/L 2)¼`÷²¿ÎÈi`:» åá¶¹Bˆ @€ @àîèõ˜bˆâî_¹hÅšs£lúyMùð&ûK·­«¸¶aé/õÓÿµvv0WZ–_- LþæW—žÜ>ñ«/Ò½ÍW´•UEêY_þz@Õ†WŸúhí¼·—¬yƒ}ê‹çþñÝþ¤¥)b–[üœ—û{²J¶üê'Ëâ¾?nI@åUï.=óü÷o SõµZg®*‡Ò1݇-zåµ(QÁo/¾ñ¿“ãæÜÂ䆘FPךâ.=ûÕ?ÔßÿÉÚI>léÕŸŸ{í<™µ„®Qzñ‡·¬›þñ¦t¿ª­ï>¿tMÔ #Ôç¾}óë‚Éo¯ù<Ú±áì/-Ém G @€ @À¼`ìy–xì¢9އVüöÛ/‚z ÞÉâç™|'‘ªèôÉ‹%RÊÁ;8À©½)ð¼ã‡G‹œB‡Æû»ô‹àëÀ÷4ª?¯ª¨†}wîXf,þûãcü­›ƒÅaQ:]˧™Í_k›š¥mÊÝöõG¿dÕS,¦ºJæ<ÌèÔ7ÓPTKâÝ ÷U›dÇ`“X*Êü<£~4£h%•å2~œC«äi)e]Eå•­ONß@j\òt0©T5UV©]y¶••%Bƒ @€ ÐìdÙéžô·µÛ¶üôh¬ƒñU`2”F­1©-Ù.QSßønCÆ·‹¼þëÃ?‹ÕÍU!)m;sýä9«Þû©~æ'Ë×®üù»g†ÞZ|níà̪+(—u(~«t£0…..TU^™¼Õ„é)Žƒ³[ÔƒßmÞ¶gǶÝÛ·Øþí¢ÀÙQW]X©èPVè @€ Ø@ éôGsÆŒ}fÝÛ7†ÊÎ|þó??+µÁhV†$ODzrÖ [*Úß-ÇúžVm·Ýì¤&+›l¡£HÀnu÷3ÓAìÃ.:’UÒ$­Ì9uòj}ófIªš«g³¯—5ª¹îý‚\˜ …ZÇä;;1*¯6¨”2¹ºC…°FÖ Ó±É¥T yä6éOnÐ!*y4{ß²ïw_oTk•’™aϦ¶/këjºQc&Sîünù¥FVY\"iKÛ(Ššx:öÊW>eò¼ÅŸì*µøy_š\ºQ˜®‰/-}Äk÷Û³ÓgÌõÇ£UÍRhNƒŸXòˆïþ%óÓ&›±pñg;‹”ÓmÔKï?è´ãÍ9É)©‹-Ь»¼#:è @€ X)À œ2?&÷ÇïÔ´¿âjeÈ®vc‹¼|=E,+ÂXßÓŠ`öÜ…±zõêI“&RT«mµ¸mÛ¶ سEo榼þóÓ/ŸàÇ&í€LÛØ›Ybl@€ @€N€ÜýØ×ί¾áÿó ËůÿøB‚3ƒÜýøRê…Ÿ($ –ìûrÉ×Û®Ö©¾‰¼üÊì—Öu)¹ ùùWv;ûÔ9Qä”þñòã9æ;¡jéw„eÏŽ6ïû}ZÎkFAþ÷—âמړúÍ'é^L•ñÆ®=¶ýÝ/ÉV²F'¾x³'ƒ6U’Þ‹¯ò ¨?z,§Jí>âáwßåhõrêŠ+RRRèàlÞÆfß^(ÌÌÌĪ¡ÍÅ­@'+½ZÍõpäw¦m´&ú@€ @½ ÀöI~ò/[ŸÿamZìÃýÆ—çüüÖç—ïysågJw|øÒ›ï‹¾^šêmRŒ©jʘ³ÿö¿W}ØZ¡ôâÌvB *hgGXmiN« êâ›I(o¬k½±«xæ¯F[É’oöl#URê** 53_þò…HÑõ•Ï¿ýÝΤOfúZ³¸Ü ×ÁÂV×ìbàP'4 %E•Mj­¢tïß÷˜2½¿¢h;9Nƒ @€zR€˜ödŠjã·Û Œ>™)ÉÞ´µaØCsâ=¹,aà¤ÇîóÍÞr°ÄüÖ[žÏÐ{býÝ=½=…RºP­ÚÖ(ˆ¡Ø£ßØ•ÎÅRª\’ÞÀæ`#†Ä:Ö6o*{ç½°Ü{×L[~ý??Ýy­RÆôˆN}ýíy²-]cï刑!@€ 0„1ó½ç±¿Ú;hî­ÓTõU §8qóÈ‹íâ+æK*H…Üv5F·ª–ÑÉaÛÙØÕhzm¦ÚŠ€Éfé´zøpmÛµmrÛŽ‹èäWn#ŸY6ò™Ö´Ð‚ @€î¦Ë°Gýë·ÿ=££\š“æ8yð *äºPnóS}ëJ+¢h§V4›~'Ô¾ZÉku¨eGØÔg®nûä}Ø/lÙôæˆíîkØØ5øö ô[Év"UÓÔíû{Ümß×ÙA€ @w˜ÓsÌ£‹úúeW±þ6gQtêᱟ6œ«& ìþ~uÉ€i£ü,®EÒí„ÚùaEæ»¶±•l'R½³. à;ëz![@€ @ÀîØ~Sžz –£¹¹!’0úá÷Ÿ =ºd^Ú”´§Wëæ}ð÷ÉbËÏ¢Ý µÓ;Â2h6vmc+ÙŽ§j÷£U‚½¹ ’T®ûñ—Ÿ8Z5¹{œÍbŒ6lŲüN¸³x‘- @€ ¾.`?Û õò °‹#÷±…>ñè#óç/¸^)=~t¯•oÒJɦÍë(­–|ñû¦µ”FcùDµ†ÊÍ»¦Ó˜?jÍòy?J;biUÓÚ «¨îKƒvó¤­T2œØn+Ç5ÏÄÊ–½ÇÎ^>wœ¶³þP»šŸk}În>Z @€ {°xãy&+r&$Û´euü Žƒ“õ#ûxЦ¥Ï¦˜íTò*µîð‰c!¾> VM¹gF´r+• ìíö·r\ë¯cG{¶›¡y@ësîDpóáÐ@€ Ðw& ï;“5Ìôì‰cwܬ{¨´ÆÅՑϺÖÕTÉu§ŽmŸAÊZ+cß‘þb!ß=tGæfV«Q«#‚|FoHëŽɘ‘6ûµÂÇ2)Ý ¨È¡›¶ý)—4:8ãG%ºymÉÜQWU»ü·u~nãÇ¥¿påJv–V§IŒ‰ˆŽ—+5™ûö×W•3(mêø$W±¿>> ¾k×F«RÊ‡Æ ¼œ_ÔX_; ¼ßˆ{ÆV4š$ék2yÌØ½§Ïßq|ª¡D¯kP¬ûcsM}ƒ‡wzÚt‰š½Å(U/¿ Oø‹4уFË5›6NKJtpó>qî²qÂúôH£y¹«9n¡žüÐèøÚåoëW<8}ªƒ›øì傯ò‹aÑ£ŽÉHH˜xèð.µ†ÑÐPçí.šš:MÅà¶5q¢jÞŸÅ#;5Q­ÇuK>iÓö­m2ÒçJ^Éɹlv“\ž9 Á¤%"6Á|R—óŠÞËbP2¹Â;!ÖømcrH݇Ÿ¼ïÀ¥JÇeÈçκïä¥<¥ 9ùúwELxÈÊFã÷@Ö•¼ógŽë´š _¤¤ eµŠ}û2ô¡’’ÒŽŸÜ=#uöñìkÞ'Ö¼½Ñ€ @à.¸KÁ»ørX˜šÀäÿlO©RPtw0II¬ap7ddä]9/ô 7žUe­ôÂÙC÷ÏšÆ:êt¤RÖÍ–Êáò.å•:¾wæ´~é“&¯ý½úé3˜|!©j˯>8o®TÅØ¸ympPØr)G]ûÀ}óÈfV:]«»©¤ú%§2 ‹!UPW¯_-¯¨V©Õ”Ž<}íö=Ò%•Å%Õ«Ö­'ûe©Õ2¥Bîåæ|¤N•¹cëð„áNnÆã³Ù,‹ã(dr¸\¡ÐAC¾á U*%ÙÍË$MÓ ÍÏö¢yq8,¾@H±(WWw©\Êb1MR»97©˜2Iýõ‚ÊðŠÍ6OX_›D÷öt=*Q¨e²¢âë#ó /ö $k¬r÷QÑxóùs|.—ËkÝÑÑE¡Txù´9q}p“þ4ó¡È:½éÊ*k½]E¤ú%ýÉå ÿ6o1ŸTIU£›©~Ir±Ç*)¯nëK~Ñ!$'˜Tä—”¿+Èi†˜…¥¥Á~^zÆèˆè+çö õ‰6„Òç\Ú‘÷ ­ !@€ »°£X"S)¥µ.ned—¾zÔÛ1L“ÆÑ\åÞ|‘ÕÅ]»6%êãí[U‘g"NÊב ‰·ï£v ¨çÎ=w)÷פŽÑêæ[“ÓTsEG^&Iº9óƒxƘœHÇSä"...QHk‚‚†ŸÍ9_T\âå,`ñ…T£é’uKYJ™älaâúþ´ãšO¬£kZ?èˬ…A3©ªÚøV6šÔäW3ÞÆqÈo54·®#i7©·õ=Ívè}beÚè@€ ô˜@;ÏŽê±BiB€ @ö#pgÀ>ž¢Óîµ5dbY€ìa4eÜHŠ"ÿÜ|™·XŽ€£€ @€º]·@w;)B€ @€€=  ¶Ç«‚œ @€ @ ÛPw;)B€ @€€=  ¶Ç«‚œ @€ @ ÛPw;)B€ @€€=  ¶Ç«‚œ @€ @ ÛPw;)B€ @€€= ôÂ>À¥¥¥ö(œ @€ @ [|||º5^WƒõBlo]%Äù€ @€ p'àè;á*!G@€ @è² à." @€ Ü (€ï„«„!@€ @ Ë(€»Lˆ€ @€ p' ¾®r„ @€ .  î2!@€ @€À €øN¸JÈ€ @€º,€¸Ë„@€ @w‚ à;á*!G@€ @è² à." @€ Ü (€ï„«„!@€ @ Ë½ZKN.ùË¢ÿ\’·ÌB×tiÅ¢© þy¤VÛåYY «Ú±xÎKUºæQ¾¶|–mª V?1ûùݵ¶Ñ!@€ ôa^-€Ü5{—¾¹ÑiÑûÏ&ºÚENÚòMÏÍ~jK™­«ñ>üÞÃÔ!@€ ô¨»GGkc0ø³õB¤ô¦t·Êeº8L¡‹ U•W&§¼…†°´ÝŒt5ÅŽºêÂJå{ûtëÓCO@€ @ È®þÇýͯžˆâ·ìáúóâWvF¾þùK6ÞņìÛúìã;¦|óñ†ñ×=8s³¡È®Ï<ìÞ>ïjvÌÞìã¶[¦kâSKï]òñöb%Šš `R”òƒç¼þbBΗoþ’Ýä8ø‰%øî_2?mÒ¸ ¶³HI1œh›Ý•,y85yêüÎÄ<÷æ¼ÐV·;ÄþåñÅŸ/HOY¸ô(/T¬ΔslÚ°¦åÏ,|aÕU™ñ×­.£ã ™“]v¿2%õ7þ,âÒÅ!eûKKñÚýöìôó_ýñhUsLÛH›<ÓmÔKï?è´ãÍ9É)©‹-Šìa9þÎ}+#s@€ ô€€a×7±‡kpw÷ŒÕ«WOš4ÉV­¶Õ:ä¶mÛ,XнùkK7?ýÔžÔo>I÷êíJ^yýç§_>ÿÀÿLr¾=GÚÆî%@4@€ @ ô·@¿±$.ã•‹§ñÙ·v±¡Ù®µ÷pmÿhî &“Ñc{¸JÂ_ÿÅú[ W¬X‘’’ÒWÉ|6ûö:cfffo׿ Þ™-:YéÕj®‡#Ç8}ÚÆ;s~È€ @À®wü®(€»òÇXÓPRTÙ¤Ö*J÷þðíq)Óû“çYÑ6veœ @€ ؃öp½ã÷pÅÇN»ðI[~ý??Ýy­RÆôˆN}ýíyŠ¢mì 8€ @°ìájס YÜÙ0Ógêצvaú];•é6ò™e#Ÿi„¶±kãàl@€ @À>°‡«}\‡Îf[ ;+‡ó @€ >(€=\ïä=\Q÷Á?²˜2 @€ ÐyìázçîáÚ›Û Iåºõ¬|`æl—_U'ßôçš9É“<¼;ÿNÄ™€ @€ìR /ïáŠmZ½%•*]æžÌqCãmQý–VJ6m^Giµ†/ ckµÔ®C'¿ûïÿVüºrǶ?JÊêô=­ÿó¢ÖP¹y×tšæÍ“K«šÖnXEµ|ÝÖ˸¿¡q†¿oZKi4mNzZî@¿­hhß{ììåsÇiOÔj7Cós­Ï¹Á͇C  @€ú¸ív­´wTï?K§cì:|ÌÏ…Ûþ •®°àʹ³(ž¨¶¦RË`u4•ZwøÄ±_Ë*IËý}ÉUìOz’¥Ë-™;êªj—ÿ¶.ÐÏ-fàØºź?6×Ô7x8q§§M—¨ÙÆÉ¸y÷?>Õ¤Ö%ó:v$cFêìãÙ9Ɔ)è;$$LiÓö­&WòJNž8Èe³›äòĸðÈ &-± &þ$òå¼â#‡÷²”L®ðNhõ{ “Cú ‡Ÿ¼ïÀ²°ÏeÈçκïä¥<“é\ÈÉ?qü “ÒÅ„‡Ü¨l4Ž—–u%ïü™ã:­&È×#)iBY­bß¾ }¨¤¤´ã'w›ûÐ^¶®;Ú!@€ Ð ®{½| ´¶æÐWïöp}ö•E£}¹ ÚÆNèÜ9§ôr¬Ñ2²Îe ‹ fryz´²*ImùÕçÍ•ª7¯  «jb˜´PÃQÀœ‘>[ÃànÈÈÈ»r>4:^ºHÀž;-•Ãå]Ê+=t|ïÌiýÚº,5~ä¨õU÷͘VÞ 9zèOCOón”K9êÚî›§Õ‘ýæ-Êl•>iòÚß«˜>ƒÉ’[ ìôÉ8§Û3‹ òüB£M’1îßVb¥Õ&óåM:kµò9éÓ™\ÇõåÅù¾!ýI“|4­ÉèuRMVÖ¹SÓ8BÑž£gt:e]£Ò¤Å|îjî‰ã{ï›:Eàì¶ûHE© ÉÔ4(Ú:Ä T÷MŸÊæ;”WKM¦S+g_8{èþYÓ¸BGN£¤nVJ.ž;2Æt&ÏqËî}—³O»úÆB•U5‘¡Í}h¯N[¼h‡ @€@¯`×^a7´— `S7qô¸­»¶øú:¹‹Ir%•Å%Õ«Ö­'˰jµL©P”T4¶n‘S”€Éb2ÉÿYTtdÜü“†˜ÅbJÔÕëWË+ªUj5¥ÓZPf´¬9›¿Ìr{¹9©SeîØ:棗UÖz»ŠHõKúëçnÞb>÷’ªF7Rý’³ºñX%åÕmâqÉo!„ä³€Šü’ò0RýÞJCgˆYXZì祟otDô•s{†úDBés6÷±òêÐ*¡€ @è;½\hoQü1[wî¸wÆr+¯J¥8Þp TùÕ&- •ã+ÄdÜ®ÊÈæ®]›õñö­ªÈkïBêhk`ó(êÁ¹sÏ]Êýuã©£‡¶÷qeÕ\Zw0™›Éšnam”ðÍg˜NV¯5­ŸÑeÖ ½ªÄBí2¨É¯f¶ñ‹ ‹¥i¡Ó¿Lêm}£yÀŽ^vsF@€ @à®hA²¦=¨°Ð=èðá=äöb?oï‹yÒú2®B¥"·Èš·4§DˆÉ͸j*ûòÙ°à0C’åU5þžÎ!á\¾P߇ôSk4ä3¥¤á CÿÛ‹-‹¢úæ#ÊJ­F186|БE¥E†Ó™LRê2•m¬Áš'CÛß8CÙ|tÃpí~aß|tO7—Šzi}u EóÓª½L[tþfþ^î®E•õ²†Bn2S ‡ ©šO‡´\É/–7Öéûçìëå•W\¦’JȺ/æ\ Ò2ÜxâæÛº:ír¡ @€ Чz˜p“ûj'ŽùÛÆuþ9çƒ"â¢$®Ü¸…Ãb¸¹ÓS¦ú‹MZÈ)%•¿¬Y«V«F…ô Ž4\³à~Þ;s/’mÜ]\X-OfvuJÕü•kV¦%O×qïô™\'óËìì(Ðw˜3m–Ɉ%Õ‡îÒªÕŽBNzrŠá\‡òõ ÿé·µÑa‘±£Lb†ôóÎlŒqÿ¤1“õÁ2d82q‰àïåb:_×<[ÚãøƒÆíh=º‡ hÂØÕ›2¶ìÿÙ»𨪴ãwzú¤^(I€„"Mš¡# èŠ,®`—µ`»XPüì®kY‘&J HUŠ‚tLHo¤'“ißIÃL&!0ÉþóäÛ/¹÷ž÷¼çwÂóøæž{ÞíWãHh í_׸®ý¾Z¾J)“4×–Þ­«º¶sªêššÓ'ŽÄtìµ`é wu\LdÇ.×V^×XL§Þ_-[!þ°Ó7=W¬x¿àSÓ§¶Ù±IÄA@@¸jd‹-2¤¢î²| â¹YÇ|Ö®];uêÔËûÜÛ’GŽ—Ä›¬ø4H`ý¶=‘¾Êªg§EŒšG˜F € € €À ,ˆ?±1u”Êó7}œb tcŽÿ*ïË$ÖKRQ‰!=õt‹o«yä*'bø € € p¥ 8Åè+×ÙÆ%Šßu[vd§%™Lú>×ÄiBjq¶œÉ@@¸\Ͳö÷7æ¦ËEpõÄÏZÔW’Ä×¹OÍ#W#E@@«M€%ÐWÛŒ3^@@@à* ¾J'ža#€ € €W›ðÕ6ãŒ@@¸J(€¯Ò‰gØ € € €ÀÕ&@|µÍ8ãE@@®R à«tâ6 € € pµ P_m3Îx@@@«T  öNKK»J±6 € € p5 ;Õp› v6§š’A@@pK KX@@@ç v®ù @@@ P;–° € € €Î%@ì\óA6 € € € v,a@@@œK€عæƒl@@@$@ì XÂ"€ € €8—°sÍÙ € € €8H€ØA°„E@@p. `çš²A@@p°ƒ` ‹ € € à\MZÿöê”éÿù³ì<‰!yé}þc®·’9{ýÌñ®H3Õ»EÅ…­&ÎZ“]ÿ~l‡7¥­ºwüë3«÷Þ°¬l÷ÁQ@@@Ë!Фðå@ÓÆûzî½'úÉ%SÆÊ'Ü·:½z)Ü´ùÑ; € € €ÀßJ(.I@éâQÂ÷’iŒ € €8\À‰ `ÝÉ%¯Î[¸ç¯ô“¶ÝˆÇæÎ¨”L…‡W¼õÊW»SKMêÀë|eÖP•$éS7¼óÀçûŽd¼»Ü<çå]ãm}cÛfœ `ͺ”Íï½òÉÏ&¥J¥(+mýïOæ ðÒ¥nyoîkç\CzOyô± ¼’XóüÐc›´Á¹;ö${zý³¤óö‘>O/|+Î=mý˳ž~Ñãƒy#‚De­ÏM—Oxò³Çƒ•&w7CJE$U›©~íýð½ënxÿÝQט³kf5Q%•g'Æ?õÅìˆìåß÷ê’ÉÏÎ]?[çÕ9ÐÅ’ŒÒ;$Ð¥(«@ßbÉVV2…ÈÔl®ÌT^ñ½‰‡ˆ„K#@@@ ¾önaÖ7†c®+;öÍ Ÿçß8ÿ‹% ¿üèî^çêb¥wÌè9-_óß;¶½ñò)–›²vR¨%NU ¹›··”}*Ýj3&qNåÕBS”Yf©¥ yi™:/ñ¼q­™HÐRÐÖz '@@@àê0e®¹ÿâ·k­§Mƒƒ7¸a=sþËœ·6–”š•rɬ/8µmë‰âÊRTŸ{üÀ¡Óé…µ_x+o¹Ng¨s'_›qd µÆ”&9#+·Ô½ÃОå>Z~0·ÜXš•’ZdyÄŽ¸Þm×çË戃I›>^”ÚiL¿P;÷Ëå.Z/YÖñ3úòÒ²º³rþß 2D@@ÆpÎU3«Kž;%Ý%Ǿ´îÿqw¯§_Ÿ:j¾Wë>}#ź’dÈÜññ3_ïN-‘»ù´0ã¹ÑªÒcöû±GÒvÙ³xÎÓ¶ÞüÚ‡÷õž5oÆksŸ°À  Tg#DD·Øé/>ðöKs'or ëûÏ—ž¨°·Û‘g—‡z?ýØð5þ½ï~í•ö“â, € € €@c È-Z4dȪn †:×70ŵkqØ[Õ IDAT×N:µ­Yùé/ïô÷)Ÿ¾Ö_Ûh}Ò € €\ab±ñÌ©o%zy”dçK>íG<ðäýüN~rïã§§üoî`±טúݬGw˜³äÑ·ÅŽª2¹\V±£ê§ÓÛJI ó_øpcb‰:¤ßÝÏ<<&²úËwë|Ì»/òµ^ô[߆ ÊÊÎ .X° >>ÞÎŽ;¥Tž¿é›à¼K G`'²¹4íxŽº…§½‡}í4ç € € pN@1zöG?¬[õõ“ÝŽ¾ñèÛ¿êÛ èçstÓþ³/À5fìÝ”5´[Ü??üú¹Þ!}žZ¶gÇÆ¯¦·Ó”þäÙOóF½¾rÍŠ'1oñq-Ñúó¶QïÕ§aƒ³²•©S³âTù5J2Æ‚Ôä¬bƒI—¶ù“ÿîn1|lû¿·bj”îé@@®@¥{@ ‹Ê5¨ûÄéý¥ G ­úð9¶á€¨€é{¶dD ®Y¢Yû³ìúiÃ"=”.­úÎݵ7M_´çõq®ëÙW| ºñµ_‹Vý‚7¸aµé°™Usœ2ç}¸ñ4Mù¿/{íÍ '³Jå-bGÌ~vr[×Æëœž@@@àJp ˆÐ–ïÊ-UÆ èï³jãÁÜëÚïÙ’5¦“¸#yᆨåy™YG¼wìrqFì4£—Z¶+7yôxtÅ–G«”ÄJf+1{Áå mXŸ¬šã¬Q‹}x}û>ðNßšãô‘3 € €8¿€.;9Oæå©–«#úõ÷[½é×#›2"Çu¶,Q¾`GU•»Ö7æ¶—ÞŸÖNSÏqÙn'ˆý†—˜•~›òK ›RŸ¾@@@àŠ0efä‹mU3~]öÉf©O|OIR‡õäw䛫Ò"[ÿ|Ꭺî1C{•®zwɾŒR“©¼0+#§äÂ[Äç¸ê¼&n=6,«šÝ9Ù `'›ÒA@@+B@ånþí½»†9éù-w¼0³§¶¢úR‡öèr{Vôàο ¹rGÕM 1eÎɯkî™;#äç¹·Œ2hÜ´™omH.·ÁQïàÕÛÖ»aC²ªÞ™óýÜ”K ®X5¬gg¿–‚%-»xåʯÿ9ñ&/ñãá“iY‰û á|bd„ € €Ô! þæ7Ãm]¤ ŠëÖ*Äÿ†ÎÞ²s§e^]ïüxõU«[ÇÏþ(~¶­Æ–cü‚(Ó𢳪=_':Ó”w€ÃB[%§&Y0R32 zSvVºåǤ”ÄÖá-Ó³‹—,ÿF2žßš8-«hÅÊ%’ÑhM(Šçj—Uµsª¶I¸¨&"Ÿ•«–J&›‹jë¡â¸e F½ñÄ©“æÊ^T¿U¡ F©*‚½þ8‡ € €N! Ïüý@iìà.>׿—3«opÃË™}#ÄjÊ;À¡aöþ'ªG¹<%ít·¸ž§Ï$†Eƈ¢./7Ý?.:O_] Øßc̨ âúê'šÛÏ–èô²_öìj,S4p"ôó%Fhnrä‹ € €@3ˆëq­Ý,w ²~‘³ÝK/þdƒƒ_\Ã{v]|nMÜ¢u×eÉ:ÀW›_jЗ•žå%ym»tßðó1É /(6«¤rw/)¯<¯@·ôûU¹ù-¼ÔcGŽÍ,4íÚ±fÜÈ œ<³g÷6¹dîÓ&¨e\µË.ç7ò­vªÈ \½ö‡²¢BwWÕà~½B[••¶üœŸ!“L#÷—>µEË/*¯ÖÖÚáè©Ô½{¶©•Êâ²²Þ£Ûvì±ÿÏ“¿ïßm6[…´èßÿúô³º-[Ö”ëÍjYYÿþ#·ïÜ$)Üó²Ï~ñíÒ–¡¾âÖìÆ«F“¾¼¬{ç¸#‰É…ùg;E‡÷ê3Èò'ñ—‚Õ ë«" 4rßÑSÖ=Ê”*K†gÒóݵnœøÛB±fËŽönÁm:ZÚ; lÏÁ#Gí3™½»vhÛõ²L1A@@¸:j+u'¾¼{ö‰Û>|n°ïå¿Üàà nØì&·) `WÜÝ«ÅÙœLƒFòqW{ûx™nÅyy†`?ïÊâ­ÜÝU9jèõ*W¯ïÖ%¤$Rù´ÄYgKþ8°ýÖñcÔnžf³9=§¤Úem;VÍDµS¡‘±“ÆŒP©5žJÛ¾{ócÂÿJÉVÎN¹y²É,™ÍƲ³ºÚ¢y¸*«µ­ê%¯°|ß¾­“FT¹yü´s¿Ù\žž]tøàŽ[Æ•k!Ä>^7­tq«»UJ)þ†¡‹W-ž2vœÜÅM,®9XW4näøì"Ó?.ž4j´Yí½ìûEÝJ‹Tâ¯bïk…4jÈÐ%+rÎEȪÞcL\­vª6j‘íÙŒã·MžT¢—}·jIëVQ*7ñŽ:> € € p94Q·}¶ør´ŽÕàà n訑8,nS®%K…‡µNJ>“’ž"WHáié©gR’"BÃ-CV©.®n …äããWRVb9˜˜’,ª_ñ£¬b{*Éæe6#(ò2ƒtøèñô”D½Á ™MâFtZž>aýEy9ŠÊ¥ÈµE«Ù¶j^Ò³Îùxˆê÷ï”dgÒÒZ‡ˆ2R$Û6ödR¢(¯5jQz»ÉårKÚUÍm¦**• …BåéæªR«ÝÜÜ]4 •‹›^oë5p’d£ÇjXýXmÔ©™Y)©9ß,]¶bÅRƒ®´\WV{SÎ € € €ÍR ) `’”‘šr*80DüØ2,âDRR^Nš¿p5N™t~…€Q, 6Û~ï”õe6#ˆ[+W-s‘›ƒƒBd¢æ–$_­Ëm“&ù…¶ýú»ïýa½¡Z´šm«º7V/ë’$³(]­›‹¢·þ¿ uŽÂf(Q+ÛéQÜ*·nuᨉ¢ºS»ˆ[&OúÇÍ“þ9eš»¿Í.8ˆ € €4_‹¨Ê1H_/÷¼RsI^†‡¶b÷£@?Ÿ¤¬B¥±XãZq+µ¶OXpðÑÄ”²Â¼Ú.°s<#;7Ì_Û&º­Z<'\Y–êÊMFÝ5£»t뛜–lg%~Ͷ¢½ÁhOùúûzŸÉÌ/ÉÏ ••pp@À©”t}I‘xÉ×ác‡£Z¶w««%&îK2yy¹ÎNÂöOYG©Ùãß5juQi¹^W*^š¥++y\8ê3aAA‡O%•äçŠ:½¾Zµl?Î"€ € €ÍB )Ÿ@µäçìfÈ”©4âGñT°—·_¨B¬ýµÃê¯éØkÁÒî.긘Hÿ°óOüÚie9Õ&<(áÄá_/ôóö¶,xNJÍÙ¾m£É`ðtS_p~Ó¥êÁZ‡m¸°­—[‰Áeáâ…7ß½ÇÀE+׸ª”¥zcX\tP ˜N½¿Z¶B¹‘áÑ1}Ós«¯+V«ä!¡ÑŸ»$6*¢]Ç~Õû«ÇÏ•TáºþêõXÀOëêùÉ×ßøh½J³ä[mÔnZml§Þ ¿[­RÈ|½ÝFÅ–TêzôÏ% € € €@³-Z´hÈ!UùÄc±Žù¬]»vêÔ©Ž‰í\Q×oÛ髌äEÊÎ5-dƒ € €M#°`Á‚øøø&é[iuo5!!¡‰—@7 ƒ:5‰µÎ’TTbHO=Ý¢E ƒz!, € € €@Ãì­4nXÄ«³•(~×mÙ‘–d2éû\§ ¨x§@@@ç ¾hÌe I@@@f#Шw€ÏdßõÈ£k¾_lÖå·ŠÒ¸{¯Ú´sͪE2s#Ô¿ÍfJH@@@ÀwXo¿ñÑÇùi'æÜ÷¯ë†Œ‘ä 1žüÂbW•Ì$“9blÄD@@@ J ñ àÄ´¼£ìѯKÿ!c̕կøh=Ý«R9úWÖ[ï¿–x,2<à‘ûî i#-?÷Ü̎ѱ'ÿ2èŠûv‹™yß#*w¯Ú®Œjuâô)B÷êìÞ_öé?*$CÛȰ™3î nÝÎzÖ×n?úú«³¦xë˜øu@@@¸ o tJf®¡¬¨O÷ž¢ú=[h˜ûæ{Ͼ8W|}ôß7%½.+OÿÔK/HE©÷Ü>#×àþì+/êós„Y¹QÒç=zÏo¹{Ý/6®]šSû•ZáÑûïžrÛ ¥›g»V~¯>óäí3úãtÖÿ½÷º¬¼ì*˜M†ˆ € € P«@ãݶ¤`0èÅ7…Åúm;w™K Ä÷a.wÜzÇ–ÝÇKrþzâ…§[vìéÒþ¹ç8zè7É·³$™F êÛ³w¿¶EÒÒUKÿ<~¬Ôó`mWéÛ£oÿ–ç‰ïŠœ.‚·ï Ü¼÷·¤ƒëÊŠò­ †ön{Ãw߉•×Üþ­õWƒ € € €À•%ÐxpX ŸÂÅsóÎ_z äºöÛ/%IùÐKoœÚ&I²ÔŒ´r½üÎ'_ú›×s6ÛË÷<¶\.)”ªr½>-#Õþ•¢Mq©éÿ}ñÛΟKŠ £Ö]2 ¢»ªpr¹L.o¼±_Y¿3Œ@@h–WFiÛÅvÛ²÷§Nß3|ì-2¥Ê ÌÐ"@­2=ÿàÌ€Öí-Ç}µÇRËk šýýê¼R¶ò§ÝÛ6~÷Ø]wDwêù¿åöo[z>Nå§M&³Édw€ŠÆ¨1 € € €4ž@ã=¬Rš¾óN÷o¾ì¶;îxpÖc÷>øàÑß¶*ÄÝX™4 GœFúùâ%~ÝuòtÒO[7Ë*K×ø˜ö¬ûJq¿W”¸yùÉ©™©É§-ï˜vQ«drU¶öï]¿íð°o\üùÛ7þ#á € € €@c 4jØ2Øãý×^4lŒÎ¤8zâxvVjŸ®í^zæ%¹»Wp ͫϾ(yøåâÿû^âñÃR-›ùÕy¥yäÀkc»^÷ßEß¿óîë¾®jså6KmÂüâ®é³uß±U+¾‘™Œ©L_ € € €M. [´hÑ!Cªò¨|V– € € €Í^@©<ÿÐkBBB£Þnöx @@@ Ù P7Û©#q@@@‹ ¾-®E@@h¶ÀÍvêH@@@àb(€/F‹k@@@š­Àù7b9zk×®utÄG@@pBøøxgȪñ `1Ú©S§:ØÉ@@@ Ñ,XÐh}Ùïˆ%Ðö}8‹ € € p…P_!É0@@@ì PÛ÷á, € € €À"@|…L$Ã@@@°/@l߇³ € € €Wˆð2‘ @@@À¾°}Î"€ € €\!ÀWÈD2 @@@ûÀö}8‹ € € p…4mlÖ%ÿôÖÌ[†\?°× ‘cï|áëy¦†Âš2×Ü?þÁiõ `Î^?sâ¬5ÙfÑ›)mÕ½ã^YGÃú7©3“ŠPõNµCÒ¢{&<´élýÓ«# §@@@+T@Ù”ã*9üñœ×·FÝûö¢-•yÇwn9¡T6~E.÷ôÜ{½Üü.¢ç4iLg'O¯1)è @@¨hÊØxöØïg[ÝôÏøX‘†G—á·vi’™Qz„x\\Ï hrq\ÚÕNžÞ¥ ŽÖ € € €@Ú²Vx†µtIÞüÓ¡¡·ÆùžO¤ìðÇ÷>~zÊÿæö7e©ßÍztטwç¶ß>ëñ-~áyÛwž*õíñÏûâ¥_.Û•TâÛëÞgOŒv«ÉŸŸþû¦w³ó%Ÿö#xòþ¡™Y—ºå½¹¬=žgp é=åÑÇ&tðV\`%–@ßßO#>œ?*@®ÏÞ»`Þ[‹÷§•jBûMáÙq­4¶\«šŒ0þðÈìíþù;wË6øõšþüó“bÜ«š˜K~;ç‰-žw{¯ ï0ëS7¼óÀçûŽd¼»Ü<çå]ã­?¹äÕy ÷ü•^`Ò¶ñØÜ™ƒ•¢£šñ=åæ²¤Mï¼üÁšcr­¯kaYô…IÚOO4×¥l~ï•O~Î0)U*EYië2o€ÖÖ@9† € €\9±î÷òÚ«Û½2-ù÷¨ñw½¸ä×´RËS¸.‘úùÝ´ÿlÅÆŒ½›2¢†Æy‹D˳“ =übåŠÆ,xu‰nÄÜÅ+>ßíÔÿ>úùܼêˆÑ³?úaݪ¯ŸìvôGßþµÐ\vìËgÞ>Òý‰…?¬ùáÝÉò%O¿¸.ÝPÛHÊÿZúü¼_"ïýxùš„oÞ˜9(D]Û•VÇuYgŒÝîzïÛÕ«çËùæ£ éÆ¿Oê’~xéñïýÿýâ´êÕ¯¸Â,÷ëyÇ;¢Õ›£KW~¶>Ù )|»N|ôÝ/¿ß¼ú¿÷ý2ÿ­9•5㛋þ÷é’®{vñš5?|ôØðP{iÖl.xÎ'ùcç/YòÍ’OžÙÂT•q=†Ë% € € €@shÒX’{w¿ó¿Ë¿ûäÞŽß>>~ü]ó·f‰bLÓªÿŸcˆ ؘ¾gKFÔàÊúWœêzml »Wd÷®aÞá];…¸»té×^“œ[^9J÷€@•kP÷‰ÓûK;ŽdZùcAÏÛ'võW+ÜZ¹ëæC«·¥ÖR—ü¹òûÜÞ÷Léá©ÖxúiÕ²úL«:¸{Ÿ¸­«oÛn=óÏœKÅñÓ³¾”¦Í{x`‹ ï8[bªƒºöêRÑ*²k'm~bN¹¤ô‰êæãªñëjÎJË·äY#~þþï7™ϸ±³¿Féâãïçfwk4/<´f‡fÄ?‹ºY®Öhõe}$¸@@pf»µS£$.SûÄÆ?ðÞ·KÞŸ ÿñÍOöJ’:b@Ÿ£æê3÷lÉŒÜÉçÂ4e •B2›+^á,É+¾7Õxƒ³K@„¶<+· /[çèb©ñ”Þ!.EYzÛÓ夹‡øÙ\ôl»Eµ£r¥ÂlªÌJ2'î?\رc`]ádÊŠHfÑäįOÿÇ?nš2ã±…ÇJÏϺ K|cqV¶Á'Ü¿®À5R¶47ee”ºx»7åâ÷©q@@p¼@ÓÀçÆ¨ðiß³ƒŸ±¨¤â¶§:¢_¿ã›~=²{SFä -÷/ C—œ'óòt×¶Ð$e–YªRC^Z¦Î#ÀKe;”Ò]«ÈKÊ(µ}öâŽÊµ=îž3ɰèÙ÷X:¯«}Ù±o^ø<ÿÆù_,YøåGt÷ªõ¾¬ÜUëiÎ9“¥«+¢íór7oo)ûTz™íÓE@@à*¸œ²^.®:·Sµî¨Û Ö¿ÉEer¹†ß8qš²6fþôúϾ¹ô烧Oíß¼ðÕ×Öêº íTù2&uXßA~G¾Y°*-rйõÏõñ0efä—K3~]öÉf©O|‡ Ø×»íú|ùÁq4iÓÇ‹R;骔d µÆ”&9#+÷Ü“Ç"¼G̰ë”[ÞùxÓéBƒ©¼¨ ô‚gcm6±“”̵ý­³ïØ0ïím¹5nPÛhg,-(5‹] Ìú‚SÛ¶ž(®µl–yÇ ë®KøxùÌ2ƒ.75¥ âoõOϳÃОå>Z~0W˜d¥¤ñ°éà € €À•,`ÙÕÿÖ·­Þ¸ü¿Ïß©iŠ Y/—på6¨O¼è]/®Éåʶiã4el2HSòæÿ=?ýÿzèõýžúøÉo~uh¿þ'·gEîì[ïUîæßÞ»kø‘“žßpÇ 3{jån±Ó_| rçÜÉ#‡¼‘yòKO ¬x$WÛqdÏâ/˜öð7Ç«îøÊ¼ºÞóÒý¾ÿ¯±Ã‡Nž9cšåÉâs3d«‰ÝÉ“©ÃFÌþw‡_ÿﵕg.ˆd³•{ÇÜÝ+åí©£â§ÍÛ©‰ ¬ýÍVrß~³^¼ÍkýӇŘùu²›GÅræz§'÷é=kÞŒ€MÏN5î–Ç?Ý™MlsB8ˆ € pÅ XmÈêáî&6dØá"7Fu*›ŠmPý=l½z¨Ö4ФÖXÍé„lÑ¢EC† ©JÙ`¨å Q—<¨µk×N:µþaÊŽ|:㩤Û?zn°o­«ë+m ”ŸþòþGŸòékýÙɶG@@®@‚=/O1iä‹/_°!«¨Y—”0ÿ…7&–¨CúÝýÌÃc"Å+gm´R1^ñÖ+_íN-5©¯{ð•ûÃWÏlÀÆ®æÌ53§¾•èåQR]Åzæß½~ø‡¯o!«çÆ®6›ØÞØ5{ÍÌ»×Ýðþÿ ÒߨգøÂaÎ\ß -X° >>¾I~‘”ÊóI&$$Ôûîjc'«Ïüý@iìà.>T¿¤7—¦ÏQ·ð¬å©höLh@@šNÀö†¬’Trø“g?ÍõúÊ5+>œPüżÅÇÅ›wl´Ê]wrù¼¯òǾ±dÚUK_ãîvEnìZc˜N[KÚû½rÖ¤ËS¶lÊj;¸3õ¯½Ùkà9cAjrV±Á¤KÛüÉw·>¶½[#Ñ @@f)`{CÖ¢#k–]?mX¤‡Ò¥Uÿáѹ»ö¦ém´´ÜÅËCŸüÛÞé%’{Pë/ù¹±kÍa6Ç™¯ï=ëF›.i릜¶·uöæþïå—7åÿ¾ìµ77œÌ*•·ˆ1ûÙÉm]/'DD@@ÀÉÎmÈ:dÊoŸ=1ëÍOúuy²m^fÖÑï»\Ü'”É$½Ô²]¹©ÜÖAë¡©ÂG¿ôšòçgx IDATý7ŸŸôE§q3Ÿº{@X寮«ÄÆ®×µ¯ØØuLC7vÝeÙØµóÅlìÚõ²nì:¦jcW[Ãl~åš“Àš¨Û>[ìäÿ^šmzrß¾¼Ó÷f›?‰#€ € p,²®Ê²ªÜµ¾1·½ôþ´všóžµqðÂþ•Þ1£ç|4âãkçÏyãåð¨wn «ØØuµØØµ@lì:®rc×úl c¶úÆ®‘jQmZ6v­sc×Ö—þŒcÅÆ®3¢çÏyöãvÿ¹¯kå.­6†é¤õdí¿κºöŒ9ƒ € €\Š@m²zÄ íUºêÝ%û2JM¦ò¬Œœ“Ø-ÕÆAëÞõ¹Ç:^hPû…·ò–ët±¥é•·±«Ía^Ê,4I[ à&a§S@@h2Ú6d•y]sÏÜ!?ϽeäAã¦Í|kCr¹dó uê†Ì?s÷˜¡7 ¼é© aÓQqÿõŠÛØÕö0›lØqSnƒ´pŪa=;û…´¹§e¯\ùõ?'Þäâå#~<|2-+q߀Á#8,š9^ 15wëÏóóÏúû¸Šîæåëø>é@@f#ÀÆ®USÅ6Ha¡­’S“,(©™½);+ÝòcRJbëð–éÙÅK–#ímMl0J'N4_x̓öÿ¡lÞuàÈÁÝö¯©ílZVÑŠ•KŒzcU&¢ž¯3óÚ¢Ù9žu¶léw‹ìƒˆdV®Z*™L–¬$£ÑfÀ:/«³¯°@ïÜ4þ®;¦G´íöËέ6{á  € €W«»:ãÌ7åCË¡aöþg2IryJÚénq=OŸI ‹Œåk^nº\tž¾n2½ÁüËž]mB‚eŠóc±y°îX ½"Øßc̨ :½¬f& yÚY²¶öcÕó²šAŠŠÈâÿBƒ‚¦ü!™ÍoÊム€ €€Ó Äõ¸¶±rÜ5hMcuÕèýس«Ñû¼Ô›²ðÕæ—ôeÅF¥gyI^Û.Ý7ü|L2è ŠÍ*©ÜÅÝKÊ+Ï+Ð-ý~Un~A /õØ‘c‹ ÊÕk(+*twU î×Û7¨Õê„õyÙg¿øviËPßÁbÉ´\.êç ¹ïè©ß÷ï6›Œ­BZôï½LyþhGN¥ìøe³B&•–é‚ztEÜþ?OÚ¼xÝÖ]Q~êÈØ®g Ê¿]¶à¶±£Ý}I*Ì8ÛoëÖ5’½*“q«e®p9·×nY¹1aËÏùÙ2É4bðÀ=Ç’#´RûÎ=ÅL~ŸðSïö-.7®6Múò²îãŽ$&æŸíÞ«Ï qMfNñ‚E‹ }LdxïÞÌrEµ„«~#Ä=Þ];ÖŒ9á“göìÞ&—Ì]bÚÄuëSíWÆrY7lÿe£Á(+(È òó=bŒxñ»åÊÓÉ9»v¬?rŒIéf•yŸÀ0q¸Á¼ÿƒ­CB©~/õß"í@@K *7݉/ïž}â¶ŸìË]¢Æš×zôÓ”°«FîîÕâlN¦A#ù¸«½}¼L ·â‚¼Œ¸ã–qcåÏÕ›¶9ô[Lܹ¿÷äèöìÞ|óèá®ZßM;öI’>=»Ö‹£[E?´52¦Krz¦J®NMKŽö ^4?r:Ã:sqVÄÛô˵>»cçѵæ  € €W»:ç”×±>Ö¡I‹³áa­“’Ϥ¤§……ÈR``xZzê™”¤ˆÐpK×*•ÂÅÕM¡||üJÊJIJÛ2ƒtøèñô”D½Á ™ëÞLëLZZëЕ›§Û6ödRbÕ R3r‚}ÝEõ+ŽÈ+– Ëì\äï“S¤3”–&§œîÛ£÷©ää²Rcia¶Ÿ°M¥j™W]#î{§åéÖÿX”—£P(ý¼ ÊeÅg“Ò2Â[øÈÕ.âJ¥R¡P¨<Ý\Ujµ››»‹F¡rqÓëËÅ)™P“ÉD‘ß¡]çãJ®9º «ÜÄ””¨°`Q¾žkk3×ʃ.jµZã¦TJžžÞºr8R¦3ÿ°zXŸ^nZ?ñcµÌÅ‘³…åéÉG¸A²Z^{œA@@šR ) `1îðऌìÔ”SÁ!âÇ–a'’’òrÒükT•¢ìˆ;´+W-s‘›ƒƒBd¢b®ÇG”’–¶–k+ ÝÚ>fQxÖv±›‹ÜÃ;0%%UW’ÛªU˼RcrJj€ÖµjmsmA­Šk|µ.·MšäÚöëï¾O<ö‡F-…‡·ML<}âÔ‘v‘mëÄr™±“°å£XK]?X÷[õ$¯F-‹ŠŒ=zâ˜x¥VÍÌÅq;¶]´ÊÕ£¶´9Ž € €8€j°1’ôõrÏ+5—äexh+v? ôóIÊ*T‹5µÔTÙ¹aþÚ6ÑmÕbÁså­N¹\˜òòÊ;–Uëƒ!§RÒõ%E¢ˆ;|ìpTËVU—øù$gå—äŠH–Áµ_,Zµi½ëÀþ@­»‹›ÚË;è×}»¢"ZÛìÔ:™jß—êÊMFÝ5£»t뛜–,ζ‹ŒúõϺ‚Lÿ ; -§D=k2ÄÍï?ŽŒ ­™°Y&3âgËõaÁÁGSÊ óªEvÖ—ÙìWT½ºvJ)4>þ‡¸ fæâIìÈ6myúצ@@@ÀÙšò`a!îŠ%Än†L™J#~O{yû…ú(Ä"`›RmƒN^ðõB?oo±~¸"‚J þüÛ%±Qý µ¼ôØúàuý‡ÅtêýÕ²¢RŽ ŒŽé[9À×5®k¿¯–¯RÊ$Ƶ¥wë µ],Z…lÙ’]÷ÎâûVm¶œØ2¤*šZ%¯Ê¤]Ç~6ó“Rs¶oÛh2<ÝT£†Å‹#þÞîF…KË@Oy%‚ýOY¹ôÕ’ïD¹Þ&Ü¿mL™R]-á2ƒ¼Äà²pñ¾½+r õׯtìµ`é wu\LdÇ.çžöñr³¾¬¶NųÍC ^õãRqO>%ßP-ó¿Rrþø5aâ·Hb}9@@@À¹d‹-2ä|WqoÑ1Ÿµk×N:Õ1±›wTqkú»uëu‰ñ ŽhÞ#!{@@@ †À‚ âã+nþ5þGiuo5!!¡‰—@7þø°Ç¼B±ô¬O‹º×?;aò¤„ € €4 ট©Ig"ZÈTê¦O… @@@+WÀö£¶Wîxqd=;EI’øâƒ € € à@î;—Ð € € €Î#@ìJ\ƒ € €Ô! kš§n«ge2™ªjÄŸ›ªö®ç›ô-ÐE{玿®ëµ½»^Û·çà£î|í‡Ä²¦ùK…EË´èž m:[O;q™9{ý̉³ÖdWdmJ[uïø‡Wg:ê·­¢¯ñ®H»´ø±þ™›2×ÜéýÖß”+@@hž¢þmò/!'JЦý8óì5i,`\¢ÿõѺ?oüié»÷GþñÆœÿý^â.SÆÊ'Ü·:ýÒjÇ:“ûzî½'úÕ›´Q²ª#éÊÓy}‚r  € €W™€Ì >‚¼i«_îÛÿ­—)ÕjÆÅÝ7rØŒi]KöïKo‚gµí§Xß³J€E}/w¢ëšoæN„H* € €W»@“ßþµ,Á¦¶ó‹èDÏËäJ•\ª\¯nÖ%%ÌáÉ%ê~w?óð˜H7)mÕC¯,÷,<~"½ÌµÍõ3ž|tL´‡Ü¬KÝòÞÜÖÏ3¸†ôžòèc:x+*V#?ôØ&mpîŽ=É^#Š?þÖ›wNèñ’KÌ|:½æ<‰¹,iÓ;/°æX\ëëZX]¹˜ùþû¶Œþèõá-dRÉÁ7ïyS6냙-6ÔLÀú!÷ÊV?øpþ¨¹>{ï‚yo-ÞŸVª í7ý…g‡W¾:oáž¿Ò LÚv#›;s°OÒ‚ûï|났ÚJ5F]ýn²>uÃ;|¾ïH¦Á»ËÍs^þ×5Þú“KªET^0üQ¯ñHWe1ZÿNTe>ÂøÃ#³·ûGäïÜu,Ûà×kúóÏOŠ9?FséÑoç<±¥Ã³ónïâQ|xÅ[¯|µ;µÔ¤¼îÁWf v¢ß%;¿ñœB@@ÀQÎñ °“߃u~ýâ:KÑb*Ëüí»%¿{]{[¨Z*9ôɳŸæ}}å¨ÐìŸhÞâ˜w§‰ºT_,u{ò?oŨ3w|:û•§Þ üïì®_>óö‘>O/|+Î=mý˳ž~Ñãƒy#‚DݨÏM—Oxò³Çƒ•&÷¿ß»î†÷ßUqÊúc.>øß§?Húìâ·c= |:kî‰Úáj&ð¤H«æ§ü¯¥ÏÏû¥ÃC?Ó=PÊ?kÒªÅ]'>Ú{f˜¿"uÝëϧkÜ‹ƒ¦~øµ·uV%‡Þ¯1jëJ½¢³Ü¯ç=ã‘ôí#s>[?´ó¤ßš‘}.¾kñÁ÷ê=F]Öã¾÷p;Ó zö£ ýç=÷;¢Kúá¥Ç¿÷ðÝi]¼äºãËç}•?ö%Z«KÒsܪ—ê5U8‚ € €À•-àõoÅè+ÛùRF×ÔuKÙ±OfÄ÷8°×  ³~Ž˜ùü”XW©èÈÚŸe×Oé¡tiÕxtiúŠA*=ƒ‚´•{xÿÛï`ÞµáHæ¡•?ô¼}bWµÂ­å»n9´z[ª¡DܽOÇ0?ÿ {ÅYþþï7™ϸ±³¿FéâãïgïZ Û²/ùså÷¹½ï™Ò'ÂS­ñôÒªeJŸ¨Ña>®иn¡æ¬´|K’VÍkµuê ®½ºDh]}#»vÒæ'æ”KµE¶~áEQ-Üâ*ºhÛ­£gþ™\ËŠtCÆOoÌúRš6ïá-*yË]¼<ôÉ¿í=œZ"¹µŽðjê_$[Á1@@S@¼ºž_r™$—ÿý%¾·|UßX©ü¾ž‘ÅxYmgÒ›ú°¦Í­oΟ™¹dÎó¿Ý0yP¸FüÕ¤Æ_ ó²u^],jQz‡ºeTËõû‹³² >]ü/^Ÿ¦ç°ùÒj]NJ‘{W?똦âk?xõ«}ù’BnÈ.Õö¬ù7Û£®-™R¥2f©îÈ £\©0›,‰šŠ÷. Ó1ðܨTá£_zMùþ›ÏOú¢Ó¸™OÝ= Lí$ðªŒã € €8V žÿA,.“Ëe–W$$þ“Ûò_ÝâˆBüŸ$+7Ò­ŠVyYfÿõ_¯w€í05u,Sºzxzú¶˜t×€ Ͻ½²Ç«#T*w­oÌm/½?Íz°)Íjf]Æ™|M ¯—¶…¦ )³ÌYQ}òÒ2u±^ªšã­Ø‘ËÖB¹«ÖÓœs&K'…¸Yµ¿’Ñ`´þ­»0æß ¸Êrkv¦t×*ò’2J¥ÖgRvì›>ÏŸüÖ#CTù[Ÿ¾íKK£ ²²9êšÁ«©%²õUµŒ±ÎÐÄÐö¸{Fôü9Ï~Üî?÷uõªø·¨ôŽ=ç£_;Î/‡G½scXSÿ2]Ô¸@@Ë, ^]gDKõ«TÈ4 ™ø_Q¤”M¥‡¬âˆJYÂ`2W#âÆ¯({%ñ}¹Ñl:woªÎXmÈIV®Ê<â¦><0ë³wÖœÑK1C{•®zwɾŒR“©¼0+#§Ä²‘¡(3#_gÔeþºø»ýnœÐ)0vÄõn»>_~0§ÜXš´éãE©Æô ­Y‡É]´^²¬ãg ôå¥e«?œÈ¼ã†u×%|¼ü@f™A—›šRP±4Yî¬LÞ±/µ¸$ëØ¯{çÏÖHÀS¡Ö˜òÏ$gdå–Ví±ä3ì:å–w>ÞtºÐ`*/*(5K JÍJ¹d֜ڶõD±%ƒ ³r¯mÔö¦O²ù‚&¶Ç(³•¹®d®ío}GÀ†yooË#Õç?pètz¡AíÞÊ[®ÓY«Ú Ã)@@®nÊõÌ¥L }â––¯^çæ¯–«•rQýz¶Ð>~K«wÆøvöP¸in.š¡Ã[þß@w¥LÔçï×åÇh;BNR‹éôìvûýýR>{ã‡dƒ×5÷ÌòóÜ[F4nÚÌ·6$[D-Oú~îôÃFßòêþ>=9R#¹ÅNñÈs'>òþEæÉ/=54ÐÖ>Dž]nê½é±á#¦Ìù!Ùz‰´Ü·ß¬oóZÿôÄañ#f~ìæQQ>{tžvÇ5§ßœrýèÍþö/7ßsk¬¥š h;ŽìYüÅÓþæxéßÌ2¯®÷¼tÇ£ïÿkìð¡“gÎߘ¦êø»{¥¼=uTü´y;5‘jË¥dUë¨íÌž$¹ÛŽ|AÛc´•¹Ý®dê°³ÿÝá×ÿ{må™rC掟¹{ÌÐÞôÔ†°éްqßÝn8N"€ € p… Ôç1]±ÈY¥¹ª-Ã4!J³6@ÓÞSiT2Y©xQíå>º‹¯‹Ü]c¬¼ù[¦PÊD«z>,H)€íü^É-Z4dȪ+ †og²ÓúbN­]»vêÔ©Óâ‚k­7jpKiØä \Jò´E@@‡ y¤ßø{ìw!–7‹RÖU-×zhF nÑ63K×Ê¿pÎç‰uÐ’—·rúõ-d™†€ùæ_Îî.2v¾&h`Iú+{L™eÆrƒY<l?¾8»mùþX4»ÎËzAÇ›_NKxú‹ ÄÇÇ;´ÓÚ‚+•çW'$$Ô\.\[CŽ#€ € €Ô*Pç#Àâ¥BR+e^~.±îº?SËŠ½åýÃUþ)†£YÜã5›MÙ¥$¹G^ã–t X¬|Ï[^—e¹½\kßV'x –%§Ym'GN!€ € €N/ nðÚù¥—BV±þY­PD„ºy—gÊ\Îf•iZ¸´÷©Ä ¯Äê劗BË·îN+ná>0DUñª_ËHv#[wêôHMœ w€›xè@@®Q‰ÚýˆWl8£tUÆ©]¼‚&²\mè¨Ü_¢Õ¯ø2š\ôEgWó›å¥ÑËdÅb `«ò×n|ËIîÛAj6°®Q.Å›~8´%×,“»\3¨ã !*ŸDCNåN¿zƒ¹Lîyòàéáí{xÉÎfŠ’,°Ù~üKÉüêiËè«g®) € €8PÀúNmmß›Íòˆ0WÕ™ä„l¿<¹ž¤ùe_v©Ö%ÊÅ\ñš+³Ùh0•èd:“yÅö̳&Iìÿ+JbËMÝÚbV»CÌ[ íÌq³¹lg œB@@š\ÀþK°D™*nðLe[—%¬2„úÉM⦮[é™cw¼Zîé!Ë™=ï 2¸ÖU.—»•$1wÑ£•o ñúgѼž[³ÚÎoBSÀ%eæO¿ú\e2ˆß¥BÕ³g?Iak_;#à € € à5j퟊XÜà5)þ±~¢Ö[652Ë5á¾-+šé$?ïV~bų¸å[ñÎgM¸6B&–E b{`³ýàµwË™ šx ´·§ú®i·ÝsçŒ[n™z:«d÷ÎÍõœŸ´¬¢•«–J&“øfÅÊ%’Ñh¿¡Á(8uRüîØ¿Ìd’6nßûÑÿ>[ðõÂõk¿OMϳôb¿U=ÏÖ–jZvñ’åßHV¹Ù̶æeõì·¶Ë.%àæ]ŽÜ]ç,d-[úÝ"ë¡Õ–Œå¸%lÕ56jF¨ ¶æ•A@@Àq–Šjû_qÿö\ ,Ê`±ßÑß+•Å÷Óù/Ë)ËA½É$N«~Eóz|‰Ñ±ÚÎ7å`ë´<ÜT×÷´rõ¢®] Tî^v2®v*Øßc̨ âqrûMÄQ~Ù³«MH°LaoÈ:½ùLÒÑi“ÆK³¹Y&Ùå¼]ÏTÅ@ê™­ý!7æÙúí¢²ª§ƒƒz¿¨T¹@@:ÄÒ׊Ϲÿ÷÷åÕ~´yM¡­.` ´-{Õ fŽ8åãé¢vóÉËÍ.+4ÿºkÝ8QÖ*k¶ìhèæâ¹>a•xþÛh0´mÜïºÁU ˆ»»v¬7rÂ'ÏìÙ½M.™»Ä´iÓ®ûʵ?”º»ª÷ëíÔjuÂú¼ì³_|»´e¨ïàA#wÿqôè¡}&³±w×mc»Z¢‰»È·m+Ì+Xºjm¹ÑèébêÓoÔ¹_?³´çàë&e寄-?çggÈ$ÓˆÁý}Ã,WŠ|6n\m4šôåeÝ;ÇIL.Ì?Û):¼WŸAi9%•©Ž?š˜±wÏ6µRY\VÖ»s´686¯@·ôûU¹ù-¼Ô#†]½yëùl¨*ï­/;rl‘A¹Új˜¡­ÖoÛæaŒíÒKÜ;]¼ò»1ý{»ûUËÜzîê (†³eËšr½Y-+›°Âv IDATÂ:e¥R¡P¨<Ýä*µÚÍÍÝ(~pqÓëE¡ë".KÏÎ òñÕ¯%UKC•Jáâê&)$¿’²[Ǫ]¦PÈ« 3ÐW[¬——åŸNÊŠŽ“”Êš™[ÀujÔâ/ nâ.tZfn°¯»¨~ÅA16“tQ«+.VHžžÞºrøSF™ÎüCÂê‘ý{»iÅ£þRÍ|R³ ë +ùûì,ÒJK“SN÷íÑûÔ™Ãámº”fûù÷Ê,ó[ñ©Ö{@p­sd3y"€ € p)öß})‘/ª-°.'*€‹Jõå%g½}[¤V<¶m'i±}tµÓF£QVQåžûˆ¶7®ì}M÷à ìÌSÕB‰Z´S»ˆ½Ï¯£¶ºÀöîÒ5›¸KÒm“&üóÄ×ß}?âºk[¶=¿¸fæ•»Ÿû˜ÄBîÚßÅe}eÍ8UG,—Õ¦F-·NLJL:“2¢Owq}ÍÌm†­- Í‹ës°ê¿F-k{ôÄ1±B[ÔÍ6òÉN­O@7¹‡w`JJª®$·U«kû=9%5@ëªpq“ ÅÝõ >–Þ}µ.õŸ£úäÀ5 € €Øp’;Àv2ä”íûxïRª3løyKÛ°@ñ,Z]T*–B—Šw éÊÊÎýU–ÄzƒtèȨÖQâƒÑh6[ý|41¥¬0Ï’yFvn˜¿¶Mt[µ¨Ž*Êå¢Ä“——ëÄ÷¡AA‡O%•äçŠïuz}µbÛº´7„-½ÔlRª+7u×tŒîÒ­orZrýÅý|Îdæ—äçˆ&†Z*aëlíD®9Lqq»ÈèßU›JÅúç:[-¸Í€U×øù$gå—ä Q‹dåÎÏ‚ÍTE-Ú«k§”BÓéãØÌÇfXK¨jmZFï:°?Pëîâ¦öòúuß®¨ˆÖ6;µlðÙ‰É)@@j¥K“ñèZ§§âDßÎ+Ô}ôÅW⮫xyU§ömz÷$ròÓºúE~òõ7>Z/…ÒÅ,U¬¹MÍ*üjñƒAÓ&¼u»R½TbpY¸xaßÞCÄÙPmLÇ^ –®pwQÇÅD¶‰îšpâ°ØÊÈÏÛ[QùÚgJ þüÛ%±Q×õÛ©÷ÂïV«2_o·Qñ£%•Ú¦’ÖÓÕÒËÄ1ã«5IJÍÙ¾m£É`ðtSo³¹Íƒ¾ZM÷­\ãªR–êaq<ÌlibmÿCk{Çu›ð jÃÍý´Ezs§¨±þYü¨­ç`ÅÅ6V"À×5®k¿¯–¯RÊ$Ƶ¥wko/7ëY°9^qP¥”† ¼êÇ¥þþÁaþÕò©¶*N5‡ðà€-[ò¯ëÞY\Ð*¢Í–ûƒC*f¿¶Oƒç¨¶€G@@ÀŽ€óܶ¿¢ÖÎ.ýTmO•^zäËA¶hÑ¢!CÎWñĬc>k×®:ujÃbÿýªçñ/ªº‚>â¥Í‘¾Jñfã+hL @@«Q xÈ#Ão½¿ÉG¾æë÷vÿïAQ…6U ,ÞÔ}Úÿ¥%¼aM±`Á‚øø‹¸kx••÷-Ÿ„„„&¾|ÖŒB‰Ç€Å¯EQ‰!=õôµmû5£ÌI@@l ˆÕ£eÅ…®îïåmÂJ£9t<±CtKñvÚÆOC¼›éωO2:뇸±gÆd’ÖmÙ‘–d2éû\§ iì è@@.·À„ÁÝ–nù±S¯AÞ~—;öEÄ mÕî¥/·Þ3¦¸M°ö"š]¦K Jô¯»32Ôÿ2Å»üašGìï1nÌM—ôMQì4|P_I_|@@@à xä¶¡b“Ñÿ­X¦7œ{So“ Ì,=òÁú¦êýÚŽ­<5¥©z¯³ßæQ×9 .@@@šPÀWëþÜ]cÄWæ@×u 8Ë6Hu&Ê € € €\Šð¥èÑ@@@ ÙP7›©"Q@@@K ¾=Ú"€ € €4F} –Øþ¸ÙÀ( € € €À•%Ðxp||ü•EÇh@@@š“K ›Ól‘+ € € €@ƒ(€LGC@@@æ$@Üœf‹\@@@,@Ü`:"€ € €4' àæ4[äŠ € € Ð` àÓÑ@@@ 9 P7§Ù"W@@@ P7˜Ž† € € €ÍI€¸9͹"€ € €4X€¸Át4D@@hNÀÍi¶È@@@ ÁÀ ¦£! € € €@s nN³E® € € €  n0 @@@š“psš-rE@@h°pƒéhˆ € € М(€›Ól‘+ € € €@ƒ(€LGC@@@æ$@Üœf‹\@@@,@Ü`:"€ € €4' àæ4[äŠ € € Ð` àÓÑ@@@ 9 P7§Ù"W@@@ P7˜Ž† € € €ÍI€¸9͹"€ € €4X€¸Át4D@@hNÀÍi¶È@@@ ÁÀ ¦£! € € €@s nN³E® € € €  n0 @@@š“psš-rE@@h°pƒéhˆ € € М(€›Ól‘+ € € €@ƒ(€LGC@@@æ$ lœdKÊä3}4û¯#Õºëéûó>4®“½ € € €\µT«”RçØö¹ZµR¡:t⤫¤kc0¢Â}d ¥ùªågà € € €%Ðh°éñ{nƒ*+—ßõø“òô—Ÿz¬҈#T¿5×ôƒ € €\ÕTÛ1þíHÆsÏÍŒjuâô)B÷êìÞ_öé?*$CÛȰ™3î jûô[úeÅ'óßðkÙöÄ™Âû¹ó_#{ÝüÏÿùWÖ[ï¿–x,2<à‘ûî iS-Úü§Ÿ_öËï»¶nÔ•„ú=õï{C¢;­Ñjíö£¯¿:kú¸·ÞñˆÉN®œB@@h¶Nñ¬²r£Vcxôþ»§Ü6CéæÙ®•ß«Ïࢸö=€ÏÎV–²ô¢€ VìØKTDÀzÕäª7‰&1&ñ¥÷ÓÍM1ñMÓXˆX±€¢(± –X¢FEQzïeûÎ;ËêºlcAaýíóÝ‹3gþç¾gs?ùsfæèFûóôM‹åîâ4bpïÙ3â(½yß)ë&D>ôжm,…å_‹¾5h@€ @  ØH|G®^¬úî—5ÿ³¡®F¡PŠì)…B!råôë?ìÜŸñÙ7sn^¿øØ„´À¾ ¸P&§Ÿ|ããÛ+Ê+Ëœ\›LBdŸ ÿ<úì† ¿nJJëìóæK¯»ŠM³hÚæ(:à× )C€ @°][«úX‰O9°íÕ§„öôËÖýglnÄS>4|Ä¡½ñ;“’(iÅÐ!£TãéîÉãª>x~‰gçî`W‘ÃÕ™.6yûô#SÆM8ò¯¿¯~½â»Õ?:p–áUJ£R)É 0›mk ¶ûÕAf€ @€:–€M<¬KFÖ{U*¦ªº&¯ ¤ ïëö¹ð.~n¾¡;Sötõuñ !o5°_ä÷Û¦„s§3®ßÈ9xøK!oªÏJ>~üøñÚËÉlkCá:@€ @€€ p8wžrMII±µ`’B*€ @€ p?  ¾Ÿfc @€ “(€MÒà @€ ÜO(€ï§ÙÄX @€ @À¤ `“48@€ @÷“À7bµõ¨’““Ûº ć @€ ˆŠŠ²…¬Ú¯&£?¾-Œ9@€ @€@» ¬]»¶Ýú2ßn6€ @€ pŸ ¾O&À @€ ó(€Íûà, @€ Ü'(€ï“‰Ä0 @€ @À¼ `ó>8 @€ @÷‰ àûd"1 @€ @0/€ؼÎB€ @€À}"€ø>™H € @€Ì  6€ @€ pŸXµ®;µtúˆˆÁ‘·ÿ<ôäæ]w¢@¬âyxþÓ—'úèLŠôzÂgŸo8y³¨F%êýêÒ%c½8„ÈXFGѤwñëj¿ðjªÈ§"ýdžSÌ—k^Šà Ÿ¬ñÊËN­ýü›Mg Å|¿á=²÷ƒïÏÕ3Çg üX¶`ÅÏ »Riß/]‘œY¥°óœûÊ«3z8³)Ò‹nð_ɽqŠÉt"7b8Ý8@€ @À2Ëo\µ,^K[I®­Y3rìC#Æ>4rÚ;ûË›<++-ÍUöêû?víZ6±|ãªýEJ¦þüï¬ÈñÞ¦¤¤Ý«^äÇ3Ò!C» Zð¹êëXqâ¯ûòÚ6F/7zj¸ôÓ{?WÅ|™˜´}åŒú5ŸoÊ”ªÃ¦t'Úcâû_,ìÙeê[R÷m^í­ÿÛc1¥×·~¾®zÊW û“vnþlv˜}Óa»FÌ|eùï;íúq±÷±eß.o|ºÙ0 ã£ÐÑi¶¼¢ˆúÒ¯›ã˜ß]h,UJvsóŸ ^¼zkRÊÆ¯–<4ø±•ëßôúö–“éÖ-ìÆ—\ýýÝo/x}Ãî¤ÝËgÓ ï|´·H£ß$¸6+c½4¢3"ü@€ @ EÖ.€ùA³¾Ø¸'qGÒÎí»×¼>ÂEý,ðÏgÀÐ>";×®ý{:VçVȪÏîHU}bZo>Gàâá&4–?Ï;bH_õUÁ½DÕÙå2m@£—=Xw9ùOÖ¸G';pA#'…Vdœ*”«ã¤Ô”ûÖ³ÌMÞú›Ñ˜´ÀÉAž÷שK ”½wç@§¦#⸄ôõw±ã;øõéïÇ”Vk Jƒ4ŒŽB7fP|¢ÝÓßÍÃÛCØ`lø ÿ$|zîÐ@GßÑÃ[Äk:[TÝÅÄ=5ƒ›áÁc ;jŽïÅ]G 4 ë׎°5 Feq€ @€€ú‹”\rO›°8vŽmPo¦9lFÅ(ëKË.}=ø–åÀâpÙ”\ýr-ÍÇèåFR²ª’Ò+{OÙJª5‹éÔM¦¢šô«IÉH&Œ‰W>Éíûñœ¾þ`Öÿؽ¦.y{Ñ(ݺRU-yÅgëÎTSlZQ& 2ˆm¡ŒñaɾñÑT¥åùuön¦ñåÕeR§Þ^M]ÌqöõÔ•Ö4þÞÀèÇh/Í€ „ƒ€ @€,0¶‚jÁeVjBÛ‰™òÜÒÆ»‘[þ1z¹Ñƒ×^ä6oÕÎäƒû’S÷&Þûã‚®¦+?TXwêmýMÄä8‡Å¾µjkÒ <|õÉîü;wlS”äêÆ«ž¶lM†ßW=7ÀIoÉõNÆG¡“A³ šdk4U޽ˆ]•S,ÖmI~9@i ~®“;¿&§D¢)ÒU…%RO'®¾ƒöïF{¡(s &cá @€€›†>·9_©m«*IzvZ“#„Ñ6a$7v½ûŸØQãcg¾±#ÇôʇE1›ÝËÓ Šz8·÷m×½6Œ]Euy ì;êŽU³œûL MY½õ\‰D!­(ȯѭ›£—=H9„M"Þ¹<áL±X¥’Õ–—7˜X›ÖëU]ê|Xl_U›W\Z!‹)¯Èo&ìÞñÇ“ýM¯|´CJ{m¾1ÚòíTÉŽžÏÏxfW‘eÿšo|-îT/L«r¸ÛNåA9jº:±IÚuøË•~öé;3W7p}Âz;:´hF/7zåÔïé¥O|ûéÒ‡©R œ}ûÌúà½Ù!Í›4YU7õœ<¨þ­ç=<狕ωP’¾úÝõ' h¡K—QO¼¨û¿ö=Y4ä/çÇ,sêe‹†.øðí¿¾Ó&8¿óê¤$ÈE_|6#|áGÏ}ûñÒÙë«UvþÃþóñÛ¼ØeêSŒöb¤ù@ @€ vPÔWÔs;÷ä‘u5k/­Ye¯Í§ÓvûRµqG¬øøøñãÇk{Q(Z´¦Ú‚ì’““çÏŸß‚ Ѐ @¸§ä¦Öÿ{rçÈåßÌô#ëê¹zÉS{FÿÍLŸƒí9ÙF6­Ôæ£*ÞýÖÓÿY¬à;Úsì#–,ÿ2ÆGaÁ¦˜k^êçpgPz{yÖ…¾¹î«°#Ï>“»êËIî,ªáü×OÍzyÅ÷ý/¼˜(s¬Í¼V$±ë2î‰7^‰ µ¯Ø÷‹öMZ©n©Ýà3Æ“n²yçÂß›¤LÔÛ[Ô%gí³O~CvôdÑ4ëöŽžÆöÕá7•ê­=\[¿«¨nÞÝ®¢ŒÔD†;­:Üá•^Z½øµsY:Öƒü¢CY°íåW2â–2ÆÕÂ_{¬]»6**êž~—- ÆáÜY3MIIiѪ¥}  @€ б´»QÎèÌk(Ê.'û­h6­œòebŒ_Ùž^ø|SØòG»i_ŒC{Mþð¿•ϼtöß¿,%RVråW²)æÐw6|ÓǾpß'/¿ó‘Êϣ½I¤ÞsÆ¿¾æÃQÙ u\nmÕ9á½M߆;Öœûùå¥×L«Éë©þoüï›0^IúÏo~úö7^?¾j¬µfóÎ/¬~w€U]©ñØõdoÑÈ%þ삽_¾¶ì»ˆ>™¿r½ó‹‹÷>ôÃòu†TÃÅÈ6¨¦K^|£ÙÕtªMÆØpé†ÑX»Šê$æ5m½»n’+?Y¨È¿5lc”sk›Õ;ó¨‹¤Ù¸ÔØ©wZöÊ÷/vs¸±á…÷Ví¹lêûOÁ£†»$§ž­=ÞVŸJ-™ÖÇÙÂêר$YíXGÌÙjXè€ @÷«€áöœF7­43ü–nŠIB5¿U§nGooŸk0ò±Å£˜Œý—ëecdóNS{‹ê\Þì`›Oµ#ì*jnŽ vZÕÕååruÿ¹J¥,:™V2¶cÖ¿V€ýCƒc€ @¸Xê=4r%yIË­[ …LA‘ÝCY\?ýí9…Fw5ÍÒÒM1É­´-ÛåôN×|¯åéš[Û4MÉÈæÍï-j|PÀ-KÕè~ŸFkšyKöb~WQ˺0¶á+/pÔH—ÎWŒè~2­$$®—KÇ\KElúŸ`œ @€À}& pó³«ÌÌo`E»—0 ù™¥\O/{RÍÐÛsF?—™¼ì­¯> ùØW½3èÇ?èÜölVC»)f0ÄÖlŠnfSLÒ£v—S_Ý£Éc¹”R¡$; ˜Ø”‘çVó½\íX†i7ïì|ûí²š½Eg³f²/·úð;ó~×\ÔtGÏÆmPMÖDª†Ý7Ñì÷©­¶òÖ®¢ÚÄÈî*j! Ñ^HïzóøÝ4mÕ×ò9ÒŽ8|¤Û®ÔÓ—kR‹ƒ§öî÷?“Át̲ÝÄ÷ ‡!@€ s±ƒ8©_»õ|~EMUá…]_s€<>Ü<¦«¿=§½±]<Íwhᦘ¤ü3ºU'mïåÃÉK?SPßPzõô©ÌêÛ»+êJŠ«¥JiÉéM¿œp›6£—£Îž£ÚG 7ï4¾·¨ÞŽžÍ Öxª¦4Œî÷i˜Xûï*Ú¢9ÒÝÒ•ðòü‡q»¼qíÎÂà1ôþg2_(€M}iq€ @÷Ÿ€}Äâÿ~+Mxû±¨¨¸Ù¯o,Ž|ãÛgû;±(…z{ÎEqý¯·÷û/|-6׸3¨ïŸKž<~ÌÔG—|³?OfD¨Þ3øøÒÙ“'M~6ž™}kSL3×4nÕ9Ïiß;3'FE/YŸ'lÜåÔ¡÷£ úÝøzî¸ØÇßüã¦ÐUpk!X–³céÂ艱v¶ÇóïÌækö]óÜ£/nÌßî†Õ¸ygÏ+dóÎIf/Yv «Þ[4ÿÛù1Q~~œ¯Ý[ÔQ½£gê«“¢ç¾µ;OÑÜ`§jblšý>õè “QMr·Ðh/†óØd{æuѸ¥ë^žßðÑ×–†ŽíméÛŸMøXñ°5·Aj0[7<2uÍ©ŒJرiÖ¤‰<‡Æ—Èá@€ @ Q@w—#XK@rùç'ÞÎylÕûc]MÜn"3ÛÙÉW€ Kë¶'&PÊÛ·:PÔ¡Œs—ÏŸÐÅ4'Û×¥eÕo«új«‹lñ%X>q13(úçR9“›såÑYÓ)¾CeE©ŠuëÅwmEkAÜVŒT®`ŽÌèâëÃb73w­nAÊúMî¦͵R9ËÂé÷ˆ2 IDAT¿C€ ´P ÏÀÁ-¼Â¶šù–meôf“1&éÖ¨ÏÌèpão¦ˆ²ÊxÈ¢bFzÒÔÉÓ/g¥;ÄfQb‰Ô{`O’Ìå¬|Ý# C<ùÊÅ3*FÑ£kxDnQuúÑ…’USSåíæÇæÛ‘ Érò#Gj«j6ïL–)•ŽÕÐá1šÑ‘È”)iV—³(UôØ‘.^þš–Õu²]É»%uµövܱÃ#=ý‚Œv§—¤®¡Þ)ÍHžvxŸLÎðX’YÓçœú'KwDäò W³Ož8BSLÐ.7Kk«Ê*×ü±¹“ŸëØ1“Ï\Éúûì F¥ òu9r\Q¥4--IjäÈÉ'N¥NžqââUÝ€¦FG:*)¯_¿I¡‡DFŽbh¶/is%«àÔÉ#<§^"‰ìêäF&kàÀ‡Ž;`ÈNÚï=œâÆ ¨¬‘ý±eí¼)±ö®^ç.çÔ_ ~øpŶ׎¨GŸÑU5ÒÍ;vVT׸;ñ¦LžÂÜz! !¾öäß™ ¥×ì=BêË®Õø.½[Ÿ”Ã'¼„Ê1Ç] í;`¸ö8~€ @¦@G¬X43…[ ­þ•^û}Ñ›×æ­lñýÏVÏ\7+À¤(ZõÛïäçšÍ’k“«¬‘žgJ,G`_\Þ 7¢J ç¹£ÿžÇ:2 Óƒ<)½½|´@HêçKçÓž:…æ;îJM»|ñ/ßÚPEeêÁ Ëkõšiìá*üWÜL‹›˜²?+ó‚[°ÞµõJþ™3‡gÅNæ ?Ë0w^ƒ`”Ä É¼x88¬o^Q —ææ…ºzÝȹ64,”Èr9TÔC6íÜtkDeõövœ˜ ã¸vNÛö¦äçdvUÿâƒ|Œà“Imüô Ý‘r£›ˆ{¼€W”{Ý;Pý5 Ÿ<ò’Àš|·QÙ§õ‰ŠÕÄB€ tDÚ'vÅVü5§Ž2ï×MÖLàžômåØÅ‰÷ÈÔ‡u_‚¥Uai…«=©~ɺñvè‚ârý#%¥ùå7o!«¸ …X&•·s x<_Hvövtt–ʤڀ,…A]»ƒ ž®¢ô*yʾ=ƒvru×6f³é)•y#³¸¤\®PPŒúùa½î* ’Ô^n˜¿öŸGÊj!§A2Òì‚âRý’ÆCÐþº€Ê-,ììçÉm<Þ5üÊùƒ|µ¡4ã-´xt·â³X6Õ£[ïÌ+G<•Nz¼E• Þ.¤ú½ŒvúÚÞ.Çë¤ ±8/ÿư‘Y¹—ºô×–¹y )©5ò6—ËØ©§ÏÅÅ­AÒ c ÿVL awŸòŠbo/ßÒ²m\\Vîî,*©¬r9±8MÞ~w'oü@€ <0V.€ïΙ%—Ëzu 9V§¢¨Zû³AÁË­ ƒØSÔ¼Y³Îÿsmý¶Ñ#wº½IÖŠHŒì7ÀÇÛ·¬$K/yƒîZ38Ãd”Ùåtc¥møa³ÙJÍÁ5¿&ÐkfÐÔèô‡CÑ2^¦²HÙÜ[²ô„ÚÁÙ+?¿@ÚP4øÜÕ¿óò ¸Ç/šº‡R®Îy¥Õâš ²º+k\Èõtsiz„ñ÷ö¾”•ÓP]AÎJårr‡°ùtO“bX¡T’§gý ‚ˆ¥2•RÚ¯ghßþÃò ó´1‹Ë*ü=D]B»òHñf¢//ý$ïdd¿‘d “!G®dçKj«4­iš†´Ä×Ó3+¿HÞPG^e}éê¥NAº¿jÚ45:Ò^©T©” ²¶}áòù@__Ãkɤä–T7T—“ÆŠæ*aíðºt Í8wÖKd/òœœ½OŸÉ ì¬=«;"#"·™ÃWI'Ž@±U“ÆM ¹|2«¥ee*…œÃ¡&{ˆÅçF§âðÍÇ)@€ @àA°Ý`aŸˆáë¶îä°(>ß®“sgW;½#~^¢ð^‘¶íâ²Y®Î˜–<ç)r´kP6lÚ03nº^œ‚ò£G¨ G!7fb”ö{Ð9À{ÿµKd%7gg¶‰—0&©½ÜÓ Ão˜¿ÁˆÈ‘°žCÖnÞn/àõ îÙw°¯_èo$„‡Ž91¬Wäº-ÛIQà6¬¨‚ÜÞäãïéláèÈeµ.a©®»xt ëËâðô®uw 8:>1ÉŽËË•þ}B ‡`x$ÀÇ3-­zÄ€ÞäTP`—´kg}|Çk›ñ¸´vDÝzš|O•|OM»{´XÊlݵcÞ”8¡‹‡ƒï ôSŸµW?° @€ ð °âããÇ¿S¨—ÿÚæ“œœ<þü¶‰¨VØwäd°+‡¼ÞÙ }£K@€ @ ã¬]»6*êÎÊb{&Î!÷…Þþ¤¤¤Øî-Ð퉂¾,P‘û­)ª®AQTpÃÝÝËò Ñ€ @€€ul÷h뺠w£¤øÝ›–^V˜£Rɇöë#òô5Ú !@€ Ø  `œÛM‰lG5iÌ0Š"ð @€ ÐÁp t›0¤ @€ @­@Ü:7\@€ @Lp›0¤ @€ @­@Ü:7\@€ @Lp›0¤ @€ @­@Ü:7\@€ @Lp›0¤ @€ @­°Â>À………­ËWA€ @€@ðññ±©l­PÛMÍ’ @€ 6À-Ðm‹°€ @€ `[(€mk>  @€ ´‘ à6‚EX@€ @°-À¶5È€ @€ÚHpÁ", @€ Ø– `Ûšd@€ @m$€¸`€ @€lK°mͲ @€ 6@ÜF° @€ @¶%€ضæÙ@€ @€@  n#X„… @€ Û°j\wjéôƒ##46:æÉ/vß”0–ù0eû–L~{¡ÊTsuƒ™/'•©ã© w.žþ⮓µA,oiØïÝ\k G @€ @àÞ Xµ&C„>¾jïñ?ܼüÙà _½õóùT'>?ã™]EÍW±h1ïÿÆh·æ{§¥%Ý5mcy/ â @€ ´¹@ó5a§Àâðx|¾ÀÞ5xâFˆÏ-’Ýû9ž¾l [ÞÒ0ØÝ\k G @€ @àž pîi´» Æ¢9\šR’^éõ„Ï>ßpòfQJÔ-úÕ¥Kƺä¬}öÉoÎÕ3Çg üX¶`ÅOS)J^°ÿ»ç~;s¹DáÜwÎ[Ÿ<ÞÏÙD9OnN~ö™ƒÑ+—E+w¿øZš[@ÕÑãYb×ÿy&Š:ðû–Œœ×!‹?zsf¨Ñ´\¾¸âƒEºÝý<“Ø\J«'_}©±—O–´ íû¥+’3«v¾‘s_yuFg¶úNì—Þ<êX}<ãj™ÂmÈÂ>˜æHÕ^ÚþͧëNˆU<¯ÏúòDš”»šQ\ @€ @À–L”Œíž¢JRrj[Ây‡ƒüxÛ5bæ+Ëßqh׋½-ûîp9§Ëü•ëßôúö–“éÖ-ìÆ'2´Û ßý±k××±âÄ_÷å),ÉZV–§øüšÄí+âjÖ~– ^º)qÃý³~Yõçg„¹ÝY˜’&ÉÕßßýöò€×7ìNÚ½|6ðÎG{‹4ÉIKs•ýŸúžä¼lbùÆUû‹”Òë[?_W=å«„ýI;76;ÌÞVfÄL´ @€ Ь]nI®þôDÔ°1c‡GÏ÷°ïâ÷çõ°£(ŽKHP;¾ƒ_Ÿþ~LiaµÑÚ–ç1¤o ÈÎ58¢—¨:»Ü²{§ùރýì‚Dø;DôòµxöÞ_–Wa&€…)5Î|ÝÅÄ=5ƒ›áÁc ;jŽïÅ]G 4Càù ÚGs×þ=«s+d´ÀÉAž÷שK ”½wç@'kÏHúò"U@€ @-°öݶü.ÿþzÙ“=DB!ïN姪¿–¼â³ugª)6­(‹5ójh‡Ë¦äT3­ôXXlrÃ4^D«V™{½VKR’W—Iz{ X=rœ}½u¥5r½þi›Q17 öã/8?|ýÁ¬ÿ±{M]òö¢Qþ<Í…-™F´… @€ 欽ÞÈâØ98:èV¿%¹ºñÃߪ§-[“°á÷UÏ pºU²ÈkêÕæuOÎ7é®E)qÜù59%·vtRT–H<¸¦²â8‡Å¾µjkÒ <|õÉî|£«Ý¦.Æq@€ @À¶êÿúlæ¨ÑÏm¾yçSñÙoÿóð·çLíx£—?¶tm» µvlldJq˜áÐ#¯É:røZ½fe—ˆœX¥™¹5r™X¢hvµ—ÅæñUÕ¹yÅ¥bsK»ÆPkÚ¢%)9„Gfü¶õ|¹L)ÎI]_Ð+n¸Ÿ‰µvyE湋7Šj<·€ gZ*m~h¦RÆq@€ @À&hŽìüïË)ï:Ë7[Å–®–`Ûblßó‘ECò¿õèçÇùÁ^<Í@ûN›àœúê¤è¹oíÎÓ¿¡Øp¬¢ž“Õ¯yîÑ7fŠ Ï6¤Iw¼¥$ _øÑsÁǗΞú† @€îkÚcÔ“ N¯;¯yÛ°%{¦v”-];âġ†œ!@€ "Àñ›ôÌÜž\å­ ‘,Ù3µƒléÚA& IšVÞI©¤ÒŽŸÌ¼|b”žnNcFŒrv÷ꈎÈ€ @€Œ `¤[,)G2Ä9 æÎyrÁÂÐC¶%í–ÖV’–Ö%îÜL©Ìí"MN8zjÕ/¿®]¿a_òŠÔÖ¦?‡2Î]>B{^¡¤®e]g”ÍìLÒØž˜`>²é>›œÑ„RÊ•Ú~ Ëê¶n¤šËÁÂøF›™f³£Ó΂%- ”îè óÑM¦Ù€†—ã @€ – ´ä]c-Ý\ûÊYAî?ÿž2•÷#m{v Ì-¿páLÿÈ1Í]jä¼TÎäæ\ytÖtŠïPYQJÑ-¸»[®`ŽÌèâëÃb›ññpˆ‹™Ñ¢ÈFm<¤ %•³,é×T–7?LËG×lKKF§›L³[:R´‡ @€€µú l­®Û¹ßs'3ڹǻïÎ\½w÷ÑÍG()¯rsðí´ÍB»„œ?½Ï»°òè± %«¦¦ÊÛÍ!6:îvzßá"ª{ïAäÈŽ”ƒ‘Ý;yt!?“åÞGŽÔVÕlÞ™,S*ªÁC£¥§êaóí.gå§;ÄfQb‰Ô{`OMX²¹+e_UYåš?6wòsSp]ƒ=Áá¤>ÿcËÚySbí]½Î]Ω-¾>üxzÒÀé¥'gñRÒþ¬.+fQªè±#]¼ü5‘÷Îqã™ uøpŶ¿Ý¯k>£«j¤›w쬨®qwâM™<…-jâT×Év%ï–ÔÕÚÛqÇôô ÒŠ‘.\Í>yâM1}úôé7ôÄùËW.žQ1ÊȈ]Ã#ÈâjZZ’LΰTž³¶»ƒÇ'îÝ£“´Ì06:â¦ÛùYÓrðà &)•*¹L2 wŸËÙyµÕ•½B† SXÞp¤éèôºsõÒ1w ë52#cïÔèg®Þøûì F¥ òu9r\^YCúѽIÔK… @€€M tIJЦÛ4kÀR™ÔNÀÓ]Pðyr%)”*•dfÌšç¸%)©8?›å¨))UÝCºž9¹¯{þuRJRWêî©Ña³©±Ã†o)Ë™35®¸Fyüènr\/ˆÀ½óɇæÄN²¹¦¦Ÿ¡¨[ÛQsØTÌø ÛËçN™J „Y¹å™‡õÍ+*áÒ¼‚¼PW¯9׆†…joªÖ‹\Ãrá**çΙ­b(†¹sëuhPˆ™P\õЄM;7iú%·@ÛÛqb&ŒãÚ9mÛ›’Ÿ“ØõV‰î`Ç™ÍåñÿÉ*Úèz‘=]E…Uò”}{êªÊÙ:7Q[J7c.—-°’ÚÖÅÅ­AÒ =ÅfÓuéJfQ~¶\¡ ˜;ÏBg䇸ûê—4&%¥ùå7oÙ¾}³B*–I%ä8ŸGjg¡ÞÍÄ4…ßTWý7‡Ífs…v\O(´ðÙ\P.—¶4Ó¶q^aag?O®Ð‘„w ¿ž“MfÔòd ;Å@€ @ºÖ,€=ÝœËë$ÒúmB×n\ôöbXw²Ò«jù<*  kvökY—»wm:—Œa ¬i`P›û´ƒ³W~~´¡"(¨S•X™—_à)²ÓÞ¬{±&²«H0oÖ,7¿®ë·íȾzAÛ E¡š„¥šóEeä`[4ããíË¢o­ýjÚ+J•N=LŠÏ^Ýž=ë‘9³þ3÷Q{SC5S{I‹ÜnQ7Í\Ê’îH1ÍÒ¹\¯boE2¦ÆŽã€ @€Àƒ)`ÍØÅ‰çãß=õÏT²VIô/\Í)̹ԫg?ÆØT(”ê{£É™nÁ!§ÿ¹&­)qñðÖkhôBm/7—¼ÒjqMÃP2UeÒ€¦IåEkvéšqÈ^ ä99{Ÿ>“ØÙXR·Ž‰¥2•RÚ¯ghßþÃò ót[š¥×¯©.ŠË*ü=D]B»òÈSÁ${Ÿ·÷•ì|ÉíWg“¿^ÊÊi¨® M¤r9¹)Z·±nwfbšJƒÄÒ΂©6–wg8vOϬü"yCy¡÷¥«—B:™ŸPKr@@€ @Zk>L’˜0bÙøçuñ*•ÂÛÝyÚ¤h¾£3U_­7CÎNÂ…`æ ÿš2ÍÃÙIÉtòr¤¹üM¤‡«]Ÿˆáë¶îä°(>ß®“óš–Ï¥|ýBû#!<$pä¨ >žiiÕ#ô&ñƒ»¤];ëã;ÞL_9åGP)ŽBnÌÄ(Ý–æCñ¸´¶ßn=‡›ê¢s€÷þk—ÈöNnÎκ·X“öþ^¢°žCÖnÞn/àõ îÙgpx¯È ÛvqÙ,WgaLT¬nLÝaö8fŸ‰˜¦Òp¹= Ã"Íih/×awºÉ„†%Wù¸9†õŠ\·e;ùuDp€Whذ¼ÒzSÉà8 @€ – °âããÇ¿SÏ(È#¦móINNž?þÝÇ&˃ÛöîÓ7ÌÕ'ðî£! @€ ´©ÀÚµk£¢š¬¶iwºÁ9äÍR·?)))Ö¼ºuc®ª•*Å•.îú÷?·.®‚ @€ D ãÀ×rr=ÝY\Þ2C& @€ Ü+?ÜŠ1 êEö¶%ð @€ ´@ ã­·`ph @€ @¸-€ß@€ @x P?ÓŒAB€ @€ `| @€ @à@ü@L3 @€ @(€ñ€ @€ Bð1Í$ @€ XaàÂÂB¸C€ @€À}/àããcSc´Blk65H€ @€ÚH·@·,ÂB€ @€€m  ¶­ù@6€ @€ ÐF(€Ûa!@€ @À¶PÛÖ| @€ @h#Àm‹°€ @€ `[(€mk>  @€ ´‘€¶Aj£‘ , @€ k Ô6HV&¤ý/á X*·V:ý2ŲJ=ºø®xcn× /«ôÞl§(€›%B@€ @Í|¹fo|ZfȈ‡¹»fš¶å鼋ǂëW¾5ßÓÕ±-û1ûâõ‚%_l|ú“uV½d¼…µ¢¶ö  @€ @ ã lJ94xºu«_¢Xžuϯ¯8;ðe2Yû£v ôXýîü}Þþ][Ø# ` ¡Ð € @€€IêÚ®ÀÞäéö:¡”I=œí†Üm…é×ßC¤²Rï– °%Jh@€ @ –užºÕÏJ¥RéjÇ¿[«ö¶pˆÖ/€••¶ý²vûÑ¿³JÅl{W¿^SÞzÿ?½¬ÿ« ïe3UáÎgŸ9½rYŒ'ÞÎ}/a € @í `õ/eã%h;L„™.¬[3’ë[ßxñ—âóžþüå^>Bª¾èÚ ™ßLÂ6JUœøââ½ý°<Æ»¥U,í1æýï‡ÝL\w‘m^ B€ @ Ã °lc °™o’U `y^â·¿ÞòæÏ¯ »Uô9„ °Ñ×e›1¼w§8ž¾÷."A€ @í'€àö³nmOÖ,€Å'\sZÜßpÉ“Ü ü«©"ŸŠô“yN1_®y)‚[öýÒÉ™U ;ßȹ¯¼:£‡3›¢Tµ—¶óéºbÏkÄóŸ¾<ÑK¬ÄçÎIØ_Ks ¨:z›Nx磽E Š’^ßúùºê)_%ìOÚ¹ù³Ùaö´á½à²²<ÅÀç×$n_W³ö³iôÒM‰>èŸõ˪?Kȳâ&:2š!9(-ÍUöêû?víZ6±|ãªýæ¯\ÿ~¤ïз·œL?°na7r7·¼žêÿìÿvïݽñµ¾Y?¾ýMF•Ê‚^šLŒÝT’8@€ ´ƒ©­þ‡ “ÀÖý´u«»°f¬NšQ*L½#›ï3`hO7oaÃÅÄ=5ƒ›áÁc ;jŽïÅ]G -prçýuêRAeïÝ9Љ6<¢OÃ÷Žîeï< Âß9 ¢—¯½À³ïðîü²¼ Ug¢#ý Ú¿óH’}Ev®]û÷t¬Î%! ?GooŸk0ò±Å£˜Œý—K,饹ÈÍÔ0 @€ÚL€<lášEÑôí?ägÍíòƒî‘ÆŸ-ŒLgÝê×Æ×Ÿ­Y <;{)sÎg74û ”W—I½š[ 8ξ^‚ºÒ9Å ˆýø‹Û§|0+fæ¢ïåÉÃ#¦‚³Ø\öí¤ÑêŸÕ/ 7Õ‘© :Çi›Q5³Ûß+ÀEYYS[e|8&z1Ùò‘š‹Ã€ @€À½°pù—Ô`lšÅ¥Y|¶ú—Í"Õphò‡œâ4'??ä©~ÉU–Ä'ãAlfR­Y³½F…Õî[Ÿ’mlÝT7i®“;¿&§D¢©/U…%RO'.iÂq‹}kÕÖ¤xùê“Ýù #GÌ _ÿ”ÉŽhò;¥BÙLÛNýê7ã«ÚŒ´8·šïåê$25ý|šþ]/²áØÍ_޳€ @€@ :µÙ)fÙlšË¡…<¶ƒ€cÏçð¹´ºÖ½u„í( ÇÙv\ZÀU·±ã±ùšMêË>dx(€Í̱5 `Šã7éù§ú\û~á³ÿÝþ×ÍÒêŠÜ˧S÷É2Xv'Ìømëùr™Rœ“º:¾ WÜp?%¯ÈJ²ÌÙ±táúòZʹ[ìóïÌæS,ãÃ!÷`›ý4‰ü^ý±·l¤f{ÂI@€ @ ¥–l¬¾Õ™Í²ã²;ùó}9 Ç“ßÝQrºV] XbòP%ÏÉ>¶›¤äŠTJ))rªLÂæ°ØJ­bš«nåkãOá¶TõÞ¶gÅÇÇ?^T¡ /Wn“OrròüùóÛ$´ mÜ?I½³QŒ§UÛm˜©A€ @à>ðÿÒðéO›yX’Àv¶>ÛsÎ'…)_éö²víÚ¨¨¨¶î×h|ç΢oJJŠ•W€¦ˆƒ€ @€:œ@³+À¤‡Mñ8,'7A¸½ôŸI½3=2€ë‘¯(W2äÖh†Q•ÝÌϱ&Ì9WOî|&OþjÞ­y ´%&X6£„eI388@€ @ÀRóoiV¿ü™¥¾ÿ™Çfú Åõ%,Ae©„ï.èî ~Û³úeº¥bèÃ' ëÝíGûryÕ{ Yö hÒ óX6€ @€,h®UïfD¶8²ã„{óNÞ³ÇhÂ*z{qÎ6ÈIõKþ(Uy]宫nóCœør«¾iùkA"X6ƒ„Ø Î=8EûÄ®Ø{! @€ `ÛêízMÈ9Rý’…^¡‹]ˆ >u÷Å´ †E úéù/×%[QΨ `¹‚‘ÐŽ×Ïß8Ð} «²„l±ªYfÌÇ7Ý3ÎÜÀ-Ðø6@€ @¸–ܨÌ0t ¿77/¥Ì­Šö¨¢øÇΔ‰E‚£~ÍÃ(ª)Kªb¶-©TQŒJEJbÍ¢®%ñÉ0° ’™¹Ä °œ‚ @€ `©€Ù`õ2.YàU¨$‡·¤ìTùxú¹‘Èz°8÷ê‚ÏdŽÁ¬ò7??Ïñé&²£iZØ}剥'•A®îäõÏêÅes Ìw’Ä-Ðf&ÌšðÆí{ªË Éo8TJ/ iÕŒI]}ͤ‹SVÈ.¨8üçêêJû˜¨IB'W«¤N!@€ `ËæëSuLxU¶G¸©„åšMšàÚI=,)åæäFîx&K¾êw>óD,r[´RA¶fÌ·e›ÊÍšðÃS£‰ÅõÜòkÓ&FM·)ÛIF¡¤nf_îԉž3Y¥•’´CÛgÆÍ¤tZ˜ó¡ŒsÞvÒî½YØž4ó÷r~ä_ÓÉï§N]¸zìøá‡&L±üZ´„ @€À"`~˜ ܪ5d9¸ñ£$ÿûç[‡4UÿgãOË¿¤¶°Æ ð-Fcÿ…g€©ØÒ1òëŸc'3¹ÌŠI±Ù4Ífs8´Ÿ·T.'¿¹²b2è€ @T€ük´úYÕm|ßU“¿jjOéýµ%Æ3Àf´¬¹l˜Vai]ZZ’LÎðX’¨ Óv§î—ÔÕÚÛqÇôô Úw䤿ƒ2¼ï²(º)q[ÜÈH{Wï“ç/_¹xFÅ(##zt Ð0%fæþôŒê²b¥Š;ÒÙÓ_¯±6òý;ûÏõ¿Ïž`TÊ _÷‘#ǧÿ«E}Íž1›Åå“€$v)•*¹L2 wŸËÙyµÕ•½B† C^ñÖ´—qye §3öN™A±ÙIiéݽ„ç ô£) %«¦¦ÊÛÍ!jBÜ®ƒV•U®ùcs'?×±c£É›ã4i—”ׯߤPÈÂ"#G14[/xQ¥T‹IÒ»’[–~ì›E‰%Rï=É-§sñò'*•ÔÙ ç;ûú‘ݸ çG @€ ð€ à-Ͷÿ°­˜x±(ùœ)±=©ÐfÅEsyü² ž84-. {H׿2’Ã{ ,¯–ò)™ƒÈ½°¬®²8sÞìY rÖ¶ ƒBHm„+7K¸ŠÊ¹sf“›ëÉÍöE¹BGÍ ‘S—Χ?Þ¾e%Yä8ŸGyútÎÎÉÎÉÍ:€‘Ëe½ºŒ«½ª¦´Nû³«H0oÖ¬óÿ\[¿mGôˆ!r9G¯±¶%)X•:¿¯!%"—Û²¾Ì“SšçÕ {!§Ì|;-ÿç‡Ü‘LŠnEÓ!˜M‰ÕºÁº’[¦•áÝB¹vfÃâ$ @€\<(hûso»/Á*.«ð÷u íÊ#·þÞ~ëR·àп.]á©Ääþg‚ëçí})+§¡º‚üL^ΤWLŠ¥2•RÚ¯ghßþÃò sýM7öõôÌÊ/’7Ô©TÔ¥«—B:‘€-êË‚™f {!k½ub™\*&oº’J$Fÿ¡iR>Ó2ƒ¥`ò˜±J© Kã.Ÿôõó1‚Níéæ’WZ-®© ¡3d,MéòÈò$vp—®xúׂ‰F@€ U€ü ½Õÿ4®±Y÷cËÓo»+À¼÷_»´vý7ggòb ¢—›¨NÎô ñ%÷?“#þ^¢ð^‘¶íâ²Y®Î˜¨&§æ”=r@¥P8 ¹1£„"ƒÆ\ž&¬·»CX¯Èu[¶“b38À+4l9Þ¢¾,™cÃ^TÇÍ;ø§õ]DNlŽ€¡Œì¯ËçR¾~¡¿ý‘8rÔíK°$2j]Â6RÍv ðèÖ—Åáé ¡¨‚Ü~ëãéj×'bøº­;9,ŠÏ·ëäÜÙ¯%t$ÊÍüò §SfN{˜¼¯Ë’Á¢  @€4£ ZVA0sŸi[çcãocÅÇÇ?^« ^Rl›OrròüùóÛ&6¢B€ @°¦€Ïø—&ýûYkfÐØwÒúïOüò<©B­U“çI<úß”¯t)Ö®]eNãÒ©æ“’’b»+ÀVÑA§€ @€Z! r´“Ô×ÚÙßÚh¦îÉ%\>ÿbfvÐNäqË{°EA”Jå?ײÕOqÚê°­Î ò‚ @€:ŽÀŒ±ý7§íé5dŒ³›§³ö êöñï‡ŸŽ«ïâ#jÿ4jä_þq<ØÏ£ý»¶°GÀB¡ @€ “/Í›Àå²Ù¾E®PšlÔ>'ê¥ûÚ§+Ã^÷ì¼öí¹†Çmä `™¤@€ t`W‘ýûOÅ‘?x @ê¶» Ò€!B€ @€@û  n?kô@€ @V@lE|t @€ @í'€¸ý¬Ñ @€ XQ°ñÑ5 @€ ´Ÿ àö³FO€ @€ `E+lƒTXXhÅ£k@€ @hŸöéÈÂ^¬PÛ…Rh@€ @Z·@wèéCò€ @€ `© `K¥Ð€ @€:´ à=}H€ @€,@l©ÚA€ @€@‡@Ü¡§ÉC€ @€€¥(€-•B;@€ @èÐ(€;ôô!y@€ @°TÀ û[šÚA€ @hc¹\~ñâÅK—.)Š6îêþOÓt·nÝz÷îÍçóms´(€ms^ @€ ÐçÎ+..Žˆˆ`³ÙíÑŸÙ>*++]\\Ì6¹Û“mÚ…D"¹qãÃ0ƒ ºÛDÛæzÀm㊨€ @€@G¸~ý:©~IÙÉb±¬ž/Y…vuumÓ4Ú´ œËåþý÷ß(€Ût€ @€@k¤R©››dz…˜¤!Z3 ‹¯iÓ.ÈÚ/YH'ëÀ§ÓÞ ­·\wjéü¶äëÝg/ýéÆ¯Ç¶í¢¿%ÆLÙ¾ÿ[´oÒÊ/'¹›þ="'þ¹2þõS«V÷òäž±?üwªÞFfÉ´   @€î½y`•¬[Þû¸-HªÇ¶Î¤M» °-üÁ ¼õ `‡~olJ}b1âV>÷iÕ¢¯p`1‹m½”Ì8Ý«SªâÄï}è‡å1Þ(yï*â@€ @àn8œûº¹š^Kª_Ç´âLÓlNc Èå°iò3‡‹¯] ¿^h@€ ܽywñݹ'HÙÖ+¨mÝE[ç—ÎV,€Mf®*Üù«©"ŸŠô“yN1_®yV”ôÙçNÞ,ªQ‰ºE¿ºtÉX/UæÚgž?;í§eÑäÞa¦&ýÃ'V¹½»âÙiNʲWÈnàù_ôî‹qÁBJ/Ú ¡9Û¿ùt݉±Šç5âùO_žèš ß #ÉIýî“IWkh‘«]­$T=Æx¿/&Êk3¯I캌{âW¢Ø[—<ù͹zæøŒ ¬øi*EÉ ö÷Üog.—(œûÎyë“Çû9ÛÊ?}&'' @€ tD-¶äEôЗ~ÝÿÃüîB¶kÄÌW–ÿ¾ãЮ{[öÝár¯ÓðÑž7ýU¦"è5—ý-ŒlG5\ú齟«b¾LLÚ¾rFýšÏ7eJÕ“¢}}ëç몧|•°?içæÏf‡ÙÓ”‘ø&§’©?ÿã;+rF¼·))i÷ªW'ùñÔMMõ[Oõö»÷îÞøZ߬ßþæŒëÜ•ëßôúö–“éÖ-ì¦Þ‹¡Ý-øî]»¾Ž'þº/›™ÄÇ @€ @w#`£0Å÷0´§¿›‡·‡æ¸„ôõw±ã;øõéïÇ”V+(žÿ°±ž7RÏ–«¨ÚK‡. ‡Ž Pu—“ÿd{tb°G4rRhEÆ©B¹ZG'Gàä ÏûëÔ¥‚ÊÞ»s M‹oÊ´úìŽTÕØ'¦õöàs.nB5 É~9ŽÞÞ">×>`äc‹G1û/ׯåyG é(²s Žè%ªÎ.—6Á@€ @ í4wÛÂ’1¶uíÓEÛMÖ]F6s¯ï]F¾w—«ê¯%¯ølÝ™jŠM+ÊÄ¢A ‰Íó#kÀ[ž+,:xA8üÝÎäeáU%¥Wö,ž²•T¥d/9Õ©›LE©—Yï|¸±ÁùáëfýÝkê’·òç4‰o<}e}i™Â¥¯GÓ˜²æûå{¸(O×HÔ©›ø°8\6ÉÙL â0 @€ X `«+À:©K®nüð·êiËÖ$lø}ÕsœnmKÄõ:Æ;+íh¹ÿyØè uIʵ¹†Í[µ3ùà¾äԽɇ÷þ¸ kÓRU–ãûÖª­I?.ð<òÕ'»óëŒÇ7ŠGÛ‰™òÜÒÆ;«µŸæûe¤Å¹Õ|/W»ÆG¹Fuq€ @6&P™ôX{²5ïíß´? Õÿ6Ï4äYýܸ`W¡ßÌ­%Ú¤Eiß,Û«³›‹gçÈÇWýU©´±µ,›ÙÙ7of“ÍZv™ ·î°R\#fÈ £yMÖ‘Ã×êoãs}õü{õê áðáÅu›0D¼sy™b±J%«--.oP?#Üä#¯È™Dí0:À-Ðö=Y4ä/çÇ,sêa½ˆ É~e9;–.\_^K9w‹}þÙÁ$M^ßiœßyuR’Gä¢/>Õ49ü € @hw3;÷¨ŸÈ¥y<ŸÇm’Çoê÷;¦2…ñéß\l|lWs–í1æ¥÷Æh~ö_ürÔÆç“ÿ©ñY:$ÍÀ–¶nU»uA“åß]Òª¤Úï"V||üøñãµ*mõâäääùóç·ßȬÝÙÌéÙgF¯\ãٖ٭­…þ!@€ `µk×>òÈ#¦ú&·@þfÐæ]O‡6-€5íI<}ü湩›gx`Š·ÍýEèºïõž5~$??ßÏÏÏø¹{t´E][ ÔI[â[’ņ ôJ?‚eɵ÷¼ ‡sgÑ7%%¥¬ßs„ @€ `¡@ýÉ&týLIñ\‚Ç>½ô£C<ÕÂÁþ^÷CFÀ#o÷´¸ú5aä@TÜT#GoJNÜn欅§nܼy§eãC›¤ ÖédaÛl†Ø6çYA€ @í$`fyÓå¡ågòxöB%)»¸õ½Ççþ[¼}狽ìneÖxësãÂMSU•ü`á÷òyçwèŸ37¨fo66è©I4óg5M[Ó…Îè,éÂÜ­}°µgýC€ @¶*Àâ9:i^BdçÑûßK?Jñ~Âŧz о$ÈXâ²ìM/<½Åï­¤×#ïñãûv%ëñÖ1•Êà%ÀfZ›8¥»Æ{ëèN-»ÚD`›8Œ¸­¦ö‰]±5¶­¢#. @€ ÐÎŒB&§8\¶Ù¢VY¼÷õ¯ü=~åžÇŒìÉz·ß“÷n“èÈ×£îȳ‡Ü!@€ 6PŸHL-péÞ«›“—¾þÃ׎„¾òV8¹šQʤr•R,U2JIƒX"¡É>ª\ZUsfùãOïéúá–G;+$Åâðù½¤Û0a„nFp3@8 @€ ÜߦŸk•—œN\½úØ?×rk¸îÁCùt×Û3» H=[–øHïÙ‰e.{»Šö{;õà{ýjS–~¾?¯œy*bóSç\£~=½c®¿Ù5cÜfнû‰hQjòŸ»ïÚ"ØV\נؽooEi·»(jÜx;'[0B–ÜÈ+•ÖäwïkIc´ @€@Gö^¼æàb#™zLßR(7<.œ¹µh¦áá{$¨S§›»ñÄ-ýU„ñ«ïéQ¥’Úµ_Ï ÷'{< ´_òdFaä;¥é³°´n{bE®ií‡DHܹ™2û˜¸BI]˺Î(Õ{#–Õ'lÝH5þlÝnVF39”qîòù­ j6²Ñî4Ë«j‹‹òM5 ÌŽžZõ˯k×oØ—¼£ ¨ªY|S¡p€ @€@ëlh¸¨¬–£¨îÑkÅfG„…d^ÿ§ª¬ÐÅ;ÐèÀ|<âbfPtÛðrsìdF_Û† ,̪DF6:#æJåLnΕGgM§ø•¥*Û|{œ… @€@» ØÔý½íL;tÑns×ÒŽ¬Y×ü;³¡ôš½GH}ÙµQ££*ªk<œ¨ÆR“ͦ\]½**ÊIœrø„—PY"æ¸ ¤} ׌,of¤'EO˜º÷ð‘ê²b¥Š;ÒÅË_s–a¨³ÿ\ÿûì F¥ òu9r\^YCúÑ…’USSåíæw[ŠÞwøD ˆêÞ{9²#å`d÷Nž]ÈÏd9tWʾª²Ê5lîäçÚ£Ïèªéæ;IžîN¼)“§Ð|áÉó—¯\<£b”‘=º†Gèê_¸š}òÄšbú†uqóëq*cïTR±³ÙIiéݽ„·à´´$™œá±$#GNþóXªæçYÓçœú'K7fnQµnæQâvüS›ÕرÑÚß\ÎÊO?vˆÍ¢Ä©÷Àž¢Áƒ'¤Þg*8IX›gÐ.7KkïD3ùÌ•,]âJéíœe.ž:¹óuÑô$h]$2eJÚŸz3BÖé9R[U³yg²L©t¨†ÑΔž¡Ñº°ø€ @€@ë¬Y÷ Ý‘r£›ˆ{¼€W”›%WÐ|_; @ “‹ó‹«É“¥n!£²O꥿«PV^)WQ9wÎlC1ÌÛ¡‹Êê.Ox*©Qw¥¦]¾ø—£Ww•J23fí.%“IDAT ÍsÜ’”TœŸÍrÔT˪î!]ÏœÜ×½Gÿ:)%©+u÷ŠÔäÀaS1ã'$l/Ÿ;e*-’[ íí81Æq휶íMÉÏÉâºUgΛ=«AÎÚ¶3¡sPW訹¶¤B|áÜÑOã †É+®1œ%Ÿ3%–#°/*«×þ\\Þ “\¨›yEq¶nVÚ°5Ò“'͉d'rMM?CQwî7¼RÂÑͳ‡Œº3ÞR}CßÚPù%50‚v3¿ÌpFȯ3ƾ¥,gÎÔ¸âåñ£»µi“™ÒïÍâÆz8@€ @ ¥Ö,€I]äáîS^Qìíå[ZV,tîR-k 7Ø9‘â°ÜÝYTRYå&rbq¸zÃóvwN?)OÙ·gðÀÁN®îÚ³¹ÿßÞ½ÿ4u†oé•›”K+æ@”A‡SˆÓ9Ú)Ûâ.þ6þ²%.Ä ÛtºlÉpl‘dºef,AŒs‚å"Œrµ¥7Ø‹ÅRÏiÐÖvœoãí9ç}Îó~Þì“÷ôíØØî2k¤uÖ8ܽy tŸQ¯×òTUa¡ÉðŸ]j1ÍÔO禇=ò’â}tS§ÓsW"[¼‹Þ§“#£S—¯\Ρ/à_ŒÀC£#Õ»¨~EˆD7ôº•|rrÄÑ磲˜*•^’¹4­g¯GŸLÙÍù¢úÏs^¼3<ðÇ@uå+q«ÏP8,¾$,Zí­ªî»?蟛(Þi‹ÍYÌΪÔ9€?^G–6ÛÀÃaï¬Gìõƒ±%n™Íö`hdq~&ÒР×/øA¿O¬2å_\\ç'´DÃD1£9ÄÍÊj)vOÎúæ<¢ÐN°J\’gld¹¡˜ËŽuˆ‹æK0"¢aìˆb8‚/OiñFm € € €ÀF29ì°[EšE«¹Š;¢]Çóæíóçm%;Μt©Dù+È3ä•­<É/—tkxlêÖϽK¡Paž®ý”+º×VRPÛÐráêuQÀV•—î©=âž|*ikÚ‘ç /}qéã÷ÏŠÅ·Âcei¡¨Ãc3èT»Êö|öù—Îꊽõ«ëoE(+-r6´\ºö­N£6›òÚÅW”uúÈ^GiQm}sç•ëùF}cm•³á°ÅVõéÅËÅE;4Zã²jåFå¸ÑPSv\lVÇÞ<YËjÎm<ðÆ…¯¾ÑªUCn¥i·¬J\’gýþÃÑþ=vJb8îYŒ¹Ó”/Gº}ëGùˆH’)*ÌàôÞ’þn0‚¼wlA@@` â‹’ [hK¹€×ëÍÍÍ•oÏ’-ê®®®¶¶¶h6¡Pº~ç¶»»»££#Kº-ICL_»qã­ýµf{ü_]Êδ3›h™õçì € €)¸sçÎÄÄDsssIÉÚ¢B)‰¼… n·ÛáXýi›-4ßH“´žÂçóõööšL¦––Õ¥…#)uvvº\k–É3UÇhŸÍªF===™œNU—’33ïû¦‹K^¸ÿ9ù°Û;hÛ{|é €  ÆÆÆ{÷î‰éº%1ÃÃ#9Qm:κººä¤±5ð îàðã k‰X|+ÒÛ.4hÛnHé €  DƒÁpðÙC‰W^Ÿ)€WÆüPƒX\Züã± Ð6Å¡ € € ]: úO  € € €  VÈ@ÓM@@@@éÀJÐ@@@@!À hº‰ € €(]€Xéïú € €(D€X!M7@@@¥ P+ý@ÿ@@@…dàw€ÇÆÆ‚K7@@@% Øíö¬ê~ àl#Ȫñ @@@4 H àþþþØ3555žìëëÛòÞGÅ6Oaäd²¢mªÆI$£\Ý[þ;ÉuÄuÄuàZàZàZàZ|¢ØNŸ(,Kú*Íõÿ׈eÏÕ]]]mmmÑ­¡PHrDª^vwwwtt¤*q@@@þ.—+#©jµk“¾===ÒàØÝ©Í¯½½Ýãñ¤6&Ñ@@@²\@ƒY’!«@gÉ@ € € €@z(€ÓëKt@@@, Î’ @@@ô ¬|X|8½'!: € € €™øOî?ˆ%3IEND®B`‚rmlint-2.6.1/docs/_static/logo.png000066400000000000000000000303061312046612000170460ustar00rootroot00000000000000‰PNG  IHDR¾¤è·K bKGDÿÿÿ ½§“ IDATxœíÝYp\ç}÷ùïYúôÞ  ±/p'!‘´ÈÈ’eíe)–ÅNò^Ä®Tò¾5™85s“šTM*©ÜÌâÌ$US•‹x–JâT%v^eä‰eË-É&µ˜"EФ(à‚}iô¾œu.€n;DûÿQAz9ý4xúüÎóœgQ<ÏóB!Ã7Ôõ.Bq/Ið !„h(|B!ŠŸBˆ†"Á'„¢¡Hð !„h(|B!ŠŸBˆ†"Á'„¢¡Hð !„h(|B!ŠŸBˆ†"Á'„¢¡Hð !„h(úJX(–HçrX–€¢(Õ¯Ï_üŽwíý‹ñ>ÿåºmpÍvTEA×5 Ÿ±ÆoWˆÕq]Ûv°Ïó¿X\ÑËóøü¶¥/”o_|¬·x;·¸ÝóPø ⑆!Ÿ!ÖÚŠ‚Ï´<ÞþÕÇüí?ü3W¦®€>]ÇçÓðé> ݇áÓñùt|>>MÃðù0 ßâãt÷ø³aøðiúç?ëúâsuÃgàói„ƒ~¶tu²ghš¦Õûo Äå %®NÎ26=I±T´,,ÛÆ´,L˾î÷Å/Ër0m Ó´°lkÙcí¥ÇšK[¼Í´m,ËBÓ\ûÂü7¿ó[lÛ2$á'Ä[QðŠW&gøðÜ9’™$®ã¢iªª ª*šª¢ª*ª²ô»¦¢*KßÕÅŸUUASoòœå·+*𦠍<~èm-qÚšÛ$üĺ»<1Í¿¾þïŸù|±€ëº8®ƒëz8ŽƒëyË~vqwé1×~w½ÅÇ8Ž‹ë-Ýç|~»ëz(ŠC{KŒËWèéÇ@‚Oˆµ´ÂŸC¾X"[ÈaY6®ça9NÝ eèñH¹…yZâ-|b]¹®Ëäìoÿê$ï>A¡T¬÷+’/–He3¸ž[ç×¢ñlÈÎ-Žã-^SÌfp]ùà‹õå8Ù\Ž™ùYlÛ^ïâ!îÒ† >X<ØØŽ]½ø/Äzq=Ûµ1m‹¥~YBˆMlCŸ¢*èK]*½=…X/ ‹×¡umÅ …؆ >U`ÀO,EU7dEÑ4 ?H<CUdb³ÛŸb¿¡ ‡HÄ[ÐTéØ"Ö—¦iÄ"QºÚ:Ðu©õ ±ÙmÈàkŠ…éhm!‰IOl‘PˆÞÎNtéa,ĦW×Ó×Êå9miÜÞâu M[¯÷ùÏK÷é:šª²w[7{††ørOlÍñ;· Èär2Ì@ˆM¬nÁ§(ôû8¸g½Ä"Qtm1Ø4M]ü¹zêRè-á@Oû¶ImOl-ñ‡‡wð»_yž…Lꦽ]×£X6)›&¶cã8.–írñêU¦ææ(›æ:”üF¹\Ž‘‘Μ9ƒm_ÛsZUU|>¡Pˆ––úûûimm% ®c‰…X[u¬ñ¹Ä"~¾õµçxîÑÇéíì©ßK Qg±H€CÃþooùÇq™™O‘Êf(”Š˜–M®`ñ÷ßÿ¯¼qìØ† ¾‰‰ ~ðƒðï|‡B¡P+«( š¦‡éêêb÷îÝ9r„G}”ÁÁAÀ:—\ˆµ!Wê…X#š¦Òžh¢µ9VެX.ñß7ãÓ}ë]¼ª™™&&&( 7Ô\Ç©ÖÇÆÆ8~ü8¯¼ò _ÿú×yì±ÇÖ©ÄB¬- >!ÖP¥ù*+.¸èš¶¡®U;ŽƒeY7ÌŠT ÁŹDS(øéOJ"‘`÷îÝ´´´È%±éÉ,„¸)Ïóp]—ÑÑQNž<ÉgŸ}†¹Ašk…¸|BˆÛ*—ËLLLpúôi >q_àBÜQ:ftt´ºµ›™Ÿâ¶<Ï£T*1??/Á'î Ò¹EqG–e‘ËåpÏóêÒYÇóŸ}öÓÓÓ¤R)òù<–eáóù‡Ã455ÑÑÑÁÐÐÏ<ó ?ü02—ªXÙK„wTéáY¯õ1s¹gΜáÏÿüÏ9þ<™L˲ªC+‡†,–Á4M2™ ãããœ>}šwÞy‡—^z‰oûÛôööJø‰;’=D±î&''9zô(gÏžezzÇqnú¸åc ŠÅ"Åb‘S§NñÞ{ïÑÚÚJ$¹g囓Ÿb]yžÇÌÌ 'Nœ “ÉÜ2ônŲ,¦¦¦øè£xúé§%ø6€å3ÍÎÎ’Éd(•J7´(ŠB__CCClٲ垕O‚O±®\×%N366†mÛ«ÚF6›åÊ•+”Ëåºu¾+ã8óóóœ={–û·ãƒ>àÒ¥K$“I,˪6[+Š‚¢(<ÿüó|ó›ß”àB4Çq(•Jd³Ù¦Q[)Ó4I§Ó˜¦‰ëºh²nâºI&“üð‡?äoþæo£P(T¯×^Ïó<._¾\#êóÝ›9m%ø„ëÊó¼êÜ «U ÏZ›IÅÚ;yò$GåÂ… ”Ëå[žÌTš<-ËÂ4ͺuœº >!ĺ«4{Ýí6Äú²m›S§NqòäIŠÅâzç–dæ!ĺª Jƒ«/]× …Bèº.¸N\×­vh¹råÊzç¶$ø„ëÊçóÑÔÔDWWתÇà…B!:::ƒ²lÒ:q‡ééi’É$åry½‹s[²‡!Ö]4½«Áç‘H„ÞÞÞ{Ö9BÜÈu]²Ù,ÅbqÃ_k•àB¬»––öíÛG4­¹G¦ßï§»»›ááa èS ÅxžG±X¼é"ÇtnB¬»ööv~øaöìÙƒ¢(Õ¡ ˧,ƒÏ;Áhš†¦i†Agg'àСCu~'ËóL{{»Œß[g=ð*$ø„ëNQB¡Û¶m#‰pàÀ’É$ù|žr¹ŒmÛxžWí‡Ã477ÓÓÓC"‘ÐÛ 6CøIð !6 Ã0زeË=¾J4éÜ"„¢¡Hð !„h(|B!ŠŸBˆ†"Á'„¢¡Hð !„h(|B!Ê}5ŽÏó<ʶͧs9¦³9J´†ôÄc4…ÂèêÚ¼Ýù‚Å\®DªX$[6)Z¦mc».x.šª k ~M%àÓ‰­á±ß—^1—ËÉ,O-P¶K¸Þâ¼w Šâá×T"~Ö°ŸÁD aM­}ð®çy˜ŽÍlÞd.W&S*“7MÊ–…å:8îâ{ñi A]%0h´GÂă¡5û{V¸®G΄¹|T±D¦T¦`š”mÇup<0t•O#lè4‡ütD#ăÁ5/¨Ÿr¹ÌÂÂ###äóyLÓ¬Tw×uq]·:ZUU à “H$èêꢫ««®ssVæž°|_¸ÙÏÝÝÝ<ðÀ477¯huŽûæHáyeÇe$™áŸNŒðî¥+hJŠƒ= `og­Ñ(a#€ªÔ^Ñ5—\Ù!_.sz2ËG“ó\˜™åRrùBL©DÑ4ñ\C‡°¡Ó4h‹„èŽÞÒÆó»¶ÒïBWnÿgÏ”Êü|d‚ÿùg§XÈÏḋ3+€®B< Ñ×`O_ÞÅÎŽnZÂñ‡_Ér)Ú‹ïe¾åÃñ4§'RŒÌ-0™ÍÊÈ›e,ÇAW="~•¶H€-Ív¶G8ÜßËÎöZBQÂ~?ú*B·Âõ\J¶GÑ´É–-.'NOLs~f†Ë )&Ó2Å"EÛÂt,tM!æ×h ô6EØÙãð–vv´ÓŠY*¬É¶±¥ÓiNœ8Á?þã?266F*•"“É\s _~°÷ù|Äb±êdÔ<ò_þò—ééé!¯zU‡Ûq‡ÙÙY¾ûÝïòƒü€………ê}ªªVCoçÎ<ñļôÒK ‡W<‹Œiš‹E …étš3gÎðñÇsñâE®^½ÊÔÔ©Tªzr ( ~¿ŸxM&“¹&øoVûµ,‹b±Èìì,çÏŸçÍ7ß$‰Ð××Ç‹/¾È¯ÿú¯³k×®5[—жmr¹sss”J%lÛ¦T*ŸO^ùÙ󼚗$*•JŒ3== pÍ¿ÿõûÂÍîƒÅðcß¾}+zÍû"ø<Ïãâ|‰ïŸžáWW¯0›Mc:6°ˆÙ²GÁ´H,.ΕxqÏ.†»ûù÷ݮåX\I]ågŸ¦8v)ÃÙ©9Æ’”ìò tmyÀñ<<,ÀrLʶÅJ³v±YÏYúÇ]¶ÝeÛ/Û.¦íQ0mþýãOðûT¾~ ~“ò<éœÃéÉÇ/]âÜô,—æSLd2äË\Ï[¶õ[¿Ó‚å.¹äËóy‹Ïæ2¼¼o7úú‰ã+ze{1´Þ¿šæÄÕ‹\œËp5•e&›£d•ï–åñp<®)O¦ä‘-—™+˜ŒÌy~W?‡èiê\QyĽ—Ëå¸rå ™L†b±¸¢çTVj(—Ëäóy²Ù,÷wÇÂÂÏ?ÿ<;wî\Ó2VšÓ*ásý}•ûmÛ¦\.S.—ù‡øâñ8---·\pbb‚S§NñË_þ’³gÏréÒ%&&&˜ŸŸ_Ñʕ׵, Xü[¦R)’É$étšóçÏóì³Ïòüóϯ¸éïN¯gš&…Bᦋ»U öÊûYB¡ÀìììŠC÷¾¾t©À™©)^?7Âtf˹öèz É¢Gz<Ïxj1˶šþ¡[^sË–adÞä'Fxýü,ç¦rÍ [ Uq1t• omW‡öP0]ƒSãizâWùµþ1úZúði‹8Ïó(Ú&ç§sœKñËÑÞ»r‰ù|Ó^ý Éž§’*zdJy®¦pÜÅk…_ܺ¾å{´©,œžå½Ë“¿4Ç™©«Ká»ú“ë)dËpa¶ÈÕd†ly±©öé m‘ºv_ìæ÷ Ïój>P]Ïq²Ù,ï¾ûnõzWgg'Ñht]V`w‡L&Ã;ï¼ÃÃ?̶mÛ®™oÔ¶m²Ù,gÏžåƒ>àØ±c?~œÉÉÉjsÝݾ~6›åôéÓŒ333ƒiš<÷Üs´µµÝÕ½–eQ.—1Mó®ÊXO¦i’N§WÊ÷ÅáJ*ÍG—¹0s×µoñ(Džɬït‘|¹@G4ÈÖÖ-úµµ$Ó1ùl®Ìÿ{6Ë?½?Å|>…ë­~EaMuøT"0Ê*®/ÞIÆôóÙ\ž®|L{¬ŸæÃv g:\LÎóO'®òÓO®0–œ…[Ö¦jåz É‚Ÿÿzæ2ÙRDØÇž®íÔk›=Š–ÍLÎæí‘2ÿzòNŒ]¤`æÖ¤ËË“· Þ¸0G¦T&è³xzçabÁȪ®ëŠúp]—R©D6›½«~¥Yíøñã477sàÀ†‡‡ñûýkXÚ•s]—¹¹9Nœ8Áððp5øLÓdvv–3gÎð÷ÿ÷;vŒÉÉɺ-ÖšL&9zô(cccÄb1yä:;WßúQéx´¼¹u£q‡R©´âòÝÁ÷ñ´Ÿ3SÆmBïZ©¢Á±Ksõ7ùïžþ Ú¢-×ÏMãÕ3#|ïWyR7¹ÎV+Csˆ:ñ`¼.`ÏÓIÊ|23Å3KgÐS98úY‘ÿç½_1šœ%S,,öŽ©ƒ¼å罫Iþ·ÎÿøB+=Mí¨Ë:¼äL“c—’üÓ¯®ðáÕ‹ÌåÓ”ú=Úž3Óy¾ûîYzâ­ìí$ˆÕíõDí*¡µÒr¹Ì… xýõ×Z·à«g||¼úû¹sçxõÕWùÞ÷¾Çää$…B¡îR.—å¯ÿú¯1 ƒçž{nÕ^®¿ž¶ÕZÆM|¶k3‘J1•Îp«ëT×s=…©œË±+YÞþìí£+ÞãºÌæs¼~!ÅŸ,ÌWšàîî=Ðh ûñë”:¤dJ—’y e‡ ³yŽ~6ÉÏ>ù”s3S”¬Ò]‡÷m_ßS˜Ë+œœ0ùѹxv×A=XŽÅåäeÞ¸æÍÏæ95>M2ŸÆYƒ¿éí)äË*ŸÎYüËÉzý½ákÂX¬ŸJÈH$²&Í’®ë255Å»ï¾Ëïþîï‹ÅÖem¾Êwzzšññqfggyë­·xýõ×9v죣£X–uOBÄu]ŠÅ"ü1?ùÉOhmmåá‡^Õ¶ü~?@UU7loi]×kJ²éƒ '®Ò׬seÁå˜+رJ–ÊÕ”ÇO>9K_sí‘9ËæíÑyÞº˜á³Ùò]5o.Zì4Ò Ð ¡©¾ºí8 ®,Øüb4É©‰"?¿8Ê'Ó—–š5ëÿA³]©¬Çÿwö}M}ÍLå<~|~„ŸŸãÜtŽ¢µ²N kÁñÒ%•7?dOÇeºãMtÆïÜÓNÔŸ¢(âñøš]Ëd2ŒŒŒ0>>N[[ÑhtM¶» œ>}š×^{W_}•>ø€ÉÉÉ{^kr]—t:Í;ï¼Coo/»wï^Õ5P]×1 ã®®Ö›aÄb±¿·M|ºªóôŽv V–‹ó3L¦RXÎk*Ëá£3<¾mžmm Ìþåä$ç§SXkÒ§6}M1úššêZã0«ø¿Þÿ”Kó³Ìd@¹w4(9ï]És°w’¢ÝÌGÓ¾÷ÁÌ]_#]Åkºciƒ÷¯\a°-FG¬}Þ±6šÊ8MÓªÝàï†mÛ¤R).^¼Èàààº_.—ãøñãœ?žÏ>û Ó\ÉÉøÚ«¼æ¹sç8vìO>ù䪮._õ^UU\×½æstýgªrír¥ï¹2ÀòкٖÛÝ ikk[qMÓ@K0Èá-A~óA‡ÿû]•Taeí½Ž«2›prl ¿/Í|±ÀÙ‰<éÂZÕL\|j‰¡Ä[õ­mXŽF² -b9NÝ®çÝŽç©”Ýß?=ÍkçÒÌç2¥\]›YoOÁÅLJ“sl¿:Ácƒ&šfHømÑh”þþþ5«ETºÜOOOß0æî^«”cnnnCô„4M“‘‘~ö³Ÿ±mÛ¶šƒOÓ4¢Ñ(mmm$“IEAUÕjXU¾«ªŠã8 …šÞ·aÄãq‰DuhCeèJåkù°’å³û8Žƒ¢(455ÑÛۻ≠î‹àÓT•¾¦vžÜvˆ_Œ\áÜÔ¹RöŽÏSPp<ƒ&sÌ=Òetéöcôj¡«Ðslm¥#Ö¾&Û¼o©†ã¸ëùAóð<•©l …2¦ãVo_ŸÒ(Le}šÙÙÙšz=Vƶe2™u›ÊÁÛ¶WÖÙ®Þ\×err’ãÇóo|ƒh4ZÓ5P]×9xð ñA*•Âó¼êÀõå_–eñé§ŸòꫯræÌ™×ø‰O<ñ¯¼òJµÖ·|œdåç[Ý‹ûÓŽ;VÜç¾>€˜?ÆŽV_(ÌÍ“+å¸ss'€ÊHÒb R.—ãüùó¼ñƼöÚk\¸p………šÂÏ4Mæçç9wîýýýëz t#¸o‚ÀÐ v¶o£3–%àËS03kº}]Ž|¡·•‡ú:ÙÛÕN_K'ÆR»²ç-®0py¡Èxz×ËòÄö!ZÃ+›Ê«^tÅa°ÅÇ3;ºøÊÞazšDýAü>¿¦Wƒ[UTšƒažÝd_g€/ ø_v–±Ôö6¡ªØôÅ JðîgKK;Ñ@CÓª'•òÄAß`wG/ÅøŸ~v†Kó3”jê!ª*š|2“¢h–ðBѺL$ ÖÆ¾}ûxðÁùñ¼nCê) ²{÷nž}öYŽ9Boo/±X Ã0ðûý7\§ ‡Ã 300ÀÓO?ÍßþíßòÿñÌÏÏ×ôº¥R‰S§NñÐCÑßß¿–oiÓ¹¯‚O¢þ ñVšÃsk|!ŸÃ޶0_ìf_÷z›šhi ‡ˆB7 Jo ‡ÙÞÁó,á>}=šÖ<4ÚÂÏîàKƒìéìdKK‚ÐmV¨P•ˆ_¥¿%†¦ösdO„×Ï}Èèü8w[ëSxÀâñ¡nìç@o/[­·]VIUTB>艇ñiíü§/tñ/83QÆc¥Mª Ëe&_¦l•q\]“àÛ¨ÚÚÚèîî&’L&×»8kBUUÂá0ä©§žâàÁƒ ÐßßO(ºm7üÊŠ †a ùÚ×¾F¡PàÕW_]q ·Òùgdd„T*…ëºë2µÛFqŸ¢àÓTÚ"M$ÂqÆ–VY]>Uæ ÇžOlëå‰m µmÁ¸CÅ:±Àú]ÓS€°}M:oëãÅ=»x { ‘ÀÊ›7 M§+ãù].Î]e<=‡i—VY"€îÑÕxtk//ìÞÎC[¶ÒM¬x >M£=â™=œÏ22W"oÞ¹S…é@ºè‘*åè´Ëèroà ƒ455‹ÅH¥R›æšÝ­ƒAz{{ù¾À3Ï<Ãã?ÎÖ­[kEQ‡Ã>|˜‘‘Ž=J:^ñßÇq&&&ªÏ‘໨ŠB[8F"t7mØÞRíöøÖá=|ihWMÁ±*ï×=[|Ù•à÷~’D¤iU;y@W8Ô§°­­‰“ãqf³µ_¥<> úš4jæ¿<ò(½ÍzíÚ|šÎÖ–^[‹´Å äæ²×¼Îí8®FÁÒ˜ÉÎÑßÒNÈ¿1:‰UZ ‡o=áùf ( †aÐßßÏ‘#Gøæ7¿ÉîÝ»ïºG{{;CCCôöö’Ïçk ¾ùùùês6ò€ôz»ï‚ ïj-!‡C½>þû§žc[['!ãî¶wÏx{;4~ã¾qàQšB«Ÿ­^Q  « ´tÓO1›^Ey<¶%^à÷}™æPô®VK04Øšè`Ks’ѹѕËqÉ–òØ+œÓU¬UUÑu}S¹4 ƒÝ»wó‡ø‡9r„žžž5éµhíííìÚµ‹ÑÑÑkV†¿J¯×å ü6ªÍ{:uac‚°1¹êçÇ&‡úšøæá/²­­“°ÿömðšËþ…WÜÍs»¬iUö[nWÎØ]ñÉ'?óÐ5—ím¿µ7/í=@k¤ Ÿ~÷Ó¶õÄÒtÇÒ(Šºò¹O=p=Ó¶6}ÓY#X¾ÀéfÔÜÜÌáÇù“?ùžþ96ˆfoIDATyz{{×´«~"‘`ïÞ½ÆÊ'd¨\çËf³äóù5+Ëft_Öøüz¿ž†êaq¥‡kU±îŒð쎾¸u7!ãæëõm4Šâ¸<»£Ç‡¶3ØÚ³fån ™$ÂæbOÈÛ,Z{-—ˆáñØ` oÛÆÎŽ¾5ëI™»$ª²ò!+àz`:öÒ$ÙBÔ‡¦ilݺ•—_~™^xD"±æÇp8LwwwÍaZ™Y¥²‚z£ÚØÕ˜URU¹q|Ýí-]×ó—y~çÏîÜM$°>‹Z®†ª˜ÄOnÛM_KÛš~Ðb6šhÊÊkªb1lžÜ¶¾¦–5>ñljšÑ”ZšÂáp]×k:FU–ƒjôVÍqT¯‘B M`Ë„ xj{”ƒ}½´Ç6çLþõø}a‚¾JÍ'õi² è!‚¾0Ê*šq=oå“ç ±Ë粬Wk‘Ïç#‰¬ê:¨ß}|‹jÛtÕ¢9`òôöÝ $:îªÆýÆÐüø4ÿ†ôí×”ÏgÍ©áßÙ[úo=&ð§ž—H*=_k ×ëç¼ldrt_¢b6\vuôÑÜØÃî5MÕÑ븖`­tMAWAL4ªÊRA›åRÌF#µ%Šâ¡«!_Pj{×QPPkéA)„¨«JsêF9Ýl$øÄmö®åBÜä3¹z|B!ŠŸBˆ†"Á'„¢¡Hð !„h(|B!ŠŸBˆ†"Á'„¢¡Hð !„h(|B!ŠŸBˆ†"Á'„¢¡Hð !„h(|B!ŠŸBˆ†"Á'„¢¡Hð !„h(|B!ŠŸBˆ†"Á'„¢¡Hð !„h(|B!ŠŸBˆ†"Á'„¢¡Hð !VÄó¼õ.‚kB‚OqGŽãP.—qGP¬)˲°, ÏóîÙ¾%Á'„¸#Ó4I§Ó ÇYïâˆûH¡P ›ÍR*•$ø„õ¡( ªZÛG¿T*1;;ËÄÄ…B¡N%÷B=ÃEQE©é9Ùl–ééi¦§§ïÙI•Ÿh(®ëÑè-uÁ``0XÓsÇ!™LrôèQÆÇÇëT2q¯Ô#üEAÓ4TU­)üÊå2###=z”b±¸æåºýž¼Š€çí:¸ ž|š¦UP+½®âyÙl–×^{ EQ8rä  Õ|†/Öçyض]—š•¢(øý~|>_Mû„çy\¼x‘þçÆ4Mžxâ †††j>9«…Ÿhž§P¶\×]+¿ßO @Ó4lÛ^Ñs<ÏÃ4MΞ= ÀÔÔ}ôÑMƒ¯»»›mÛ¶±uëÖ5/»¸;®ëbYÖŠÿÝk¡ª*±XlUûV2™äý÷ß§\.séÒ%¶mÛvÇàSU•@ À¾ðúûûÑ4mÅe•à BÁãh™Ø^c_4¥©© ŸÏWS/MÏóp‡Ó§Osúôi¾ûÝïÞôqO>ù$¿÷{¿ÇÀÀ€Ô7×u)•J”Ëå5ß¶ªª477Fñù|5½†çyäóyŽ;ƱcÇVô]×immå¯þê¯øú׿N$YyYWüH!65×SÈ”J”ëp¶»™´´´ÐÑÑA$©¹“ËJ\ºt‰‘‘LÓ”¡Œçyär9r¹Üšo»Rãkoo§©©iÍ·=×uI¥R\¾|™©©©šž+Á'6%E©í:€ëAÖ,a5xwü`0Hww7;wîÄçó­ùö˜šš"•J5|³r=UzP®ôsP¹ž»°°ÀÂÂB]ʤ¿¿Í·½JóûÔÔ3335=W‚Ol>(€¦®¼Mære ¦‰ÛÀÍš¦ÑÓÓïýÚ¯Õ¥sJ±Xdaad2)ÁW'š¦á÷ûWUcŸŸŸgnn®.µqUUÙµk»wïÆ0Œº6u{ž‡ëºÌÏÏ×ä|bÓQUð©:ÍO-+ÛõK›, XöÚ_ãØLºººxì±ÇhkkÃ0Œ5ݶmÛ R©” v¯]× …B†QsøÍÎÎ233S·›]»vqðàA:;;Ñu½î×ys¹Ùl¶¦çHð‰MGS<Â~ƒ¦` µ†ZŸãA²¨0—Ë“+ÕöA¹ß455ñÀð¥/}‰ŽŽŽ5ß¾ã8r¯ŽEA×uÂápÍÍÕsssLOO×m¦”––:ÄË/¿L4]óí_϶íš{©Jð‰MGWušƒQ¶´tâÓVÞ1ÙóŠf+É$ãéÙ:–pãÓuööv¾õ­oñÔSOÑÝݽ¦ÛWUMÓ¤WgèºN$appX,VÓsóù<ŒŽŽbYÖš—MÓ4yå•Wxî¹çèéé©K'ªåjÝÏ$øÄ¦£( mû{Â|:в²ÝXAÅqý|:7ÏŹ醾΋\>Ìoþæoòâ‹/²sçN‚Áà]¤TUÅçóÉàö:R…H$ÂÁƒioo¯éïlš&W¯^å½÷Þ«ÛL)ÍÍÍ8p€ßùßᥗ^bxx˜p8\—Ôu]¯mdžŒã›RgPøÑÙf ¦EÉ*·n¶Q–þgè:óÅ2ÓÙ<®k£jk{}k³Ñu^xÞÞ^ÚÚÚøÑ~Äää$…BÓ4±m×uoè¤RéM¨ªjõ«2#L(¢­­x<^÷3ýFxä‘Gxûí·ùä“Oª!v«æËJ8êºN&“áìÙ³”J%b±X]NP¢Ñ(_ýêWdëÖ­üà?`llìš}Ëq'”¸¾ÌË{¬Þl_[¾ÏµµµÕܤ*Á'6¥X ÀÞŽ^¾¾¿™=yŒ§Fð¼Û]¬÷ðk»Ú5þÓÁyv×ô½ MÓØ³güÇÌoÿöoóî»ïòþûïsþüyÆÆÆXXX P(`Ûvõ`c@€p8L,£©©‰ææfÚÚÚèííåСCtww×|&.VÎ0 öìÙÿøEFGG9yò䟣( [¶láÈ‘#üþïÿ>ÍÍÍu¯•ïØ±ƒžž^~ùe>øà>üðCÎ;ÇåË—™%—Ëaš&®ëV÷/]×1 £:ËP("‰F‰F£Äãqš››«×xàšÊt_î•[š;ù­ýìjb"]$o–)Z¶³4O£â¡* š~M#d¨´†u¶&"tÄ[QÕõý³tD›xi÷NúâíLd dK%J–½X~<<Ü¥îü >U!èSh‹øÙÚekk/†î_ÓòÄü>žÚÖC<ð%ÆÓYòå2e{±<¶ë.Õ³<4 ]%èSH„üô7Gîé l„×´<ª¢ÒôñÂî8±Àƒür´™ÆÇ˜Ê¤)Z%Õ# «D ®xˆ¡D”]ÍìhK°»³ŽhýØn&†aTkiMMMìß¿Ÿ……r¹år¹º^Zåì»R»óù|†Q Â`0H$¡¥¥…@ °ªƒª¦iìß¿Ÿ?û³?cdd¤zp,—ËØ¶]­TšTÍÍÍôôô0<<Ì–-[Öäoâóùèïïçþèxæ™g˜˜˜¨¤+5aø¼£‰ßï'ÓÛÛËðð0­­­5M£U+EQ…B|å+_¡¹¹™£GòñÇ399I:Æ4M|>‘H„ÖÖVfß¾} ³uëÖºŒã¼^eÿ¨„Ö¾}ûXXX “ÉP*•ª¡·|ÿZ^£«4eVö5ŸÏ‡ß﯆bKK ñx¼¦2Ý—Á׌ñP_Œá.›‰t‰œiR¶-L{iz&ÅCU@UüšJÈPi I„¢âšDÔäÁž »;:˜ÈÉ–K”-Ëqð–þ[ >ÐU•°¡Ð ҉ץüŸÆžÎf¶µÆ™Ìɕ˘¶ízXÎbo*EŸ®ò©´„u+O…OSØÖªöw³¥)ÄžŽS™4e»Š‹_׈ù5ºbA1v´·Ði©qü_c1 ƒ¾¾>úúúÖ­ Š¢Ð××GOOÉd’d2I6›­.„[ UU«ÛÔÔD{{ûªÃöfTU%‘HðÔSOñÐC155uÓàSUµZC ‡ÃtuuÕ­ùðzŠ¢°k×.š››éïï¿!ø*ejkk£¿¿Ÿ}ûö±eË–{ÒÛòzº®ÓÕÕEWW×=íʲÞ¨'¿¾X‹Û¬ ]e % ¬}i5 ]¥¿yã”§¢+ªÐmæÉíÍë]±†TU¥µµ•ÖÖÖu-‡¢(Äãñšk÷Š¢(tvvÒÙÙÉÓO?½ÞÅÙäʳBˆ†"Á'„¢¡Hð !„h(|B!ŠŸBˆ†r_÷êâ^ò<²i³É/°l›|Ñbn!ƒe¯ýœˆBˆÕ©cð)”Ê6ÇN%WpimN **ªº88±:H±:XQ©ÞŸhŠÒÓÑNWÛÚÏ/Äj”Ê6Ss |pæ4…Rñ¦ÓByžGÉ´He²ä‹lÛ¥d:œ½x‘R¹±—Ab#©[ðyžB:Wâÿü·×ÑÕ7ðé>tMç/ŽÄ÷é:>Ÿ¾x[åûÒíîÚÂW¾ü%^zâÙzOˆš$ÓyÞþàþ‡ÿýcbF&¸b3«{S§çe;ØŽ[É 2- |>E Þç·§ssô´·ñÜ#¯ù"™B¬F2æìÅ‹·¬í !6ºßòãƒçy×ÞpS³I&ffɲ4ëÍ2ûXwÙ\ž«“SX–w›U „߆L”BÉ$™Î²Iá8·›q_ˆús]—l>Ïøô$¶SÛJÏBˆgCŸãB¾X$™Jʵ±îÇ!›Ï2»0''bBÜ6d𹎋eÙË¥Àâ^s=Ûµ1mkiE[!Äf¶!ƒ;ºhª¶!– Maq_Ô5ö*Äý`CŸª*ø ƒP0(Á'Ö¦iýAâ‘(ª²!?2Bˆ¬èVU4UE×k`*\74aé;×W¨dVõw”eÏ[>¬kîø¡£µ…D“,*ÖŸ¦i$𛨱u+Ss“Õ! Þâ÷¥/P®ù½Òûs±CóòÇ-ýÎÍo¥:®U: ±öV|‘ŸŽD Ým]\q®à¹nu°¹aø0|¾k~¯þ\].~é6MÇ0ôk¿xÛ²møt"!ƒÝƒ[éHt i|bý övñ­¯áÑ;ÈŠXöâ5?Ó´0­Å/Ëvª·Y–µø³ecYÎÒýÖ²çØK÷-=ß^چ堩.m-Môw÷áóùÖû­ qßQ¼ŒÆu]›šåÔ'Èæ³€wÍôcš¦¡* š¦.MC¦.þ¼ü1ªºôØe·+Ÿ?·zŸªâÓ5¢á-ñ&iê‚iZä %r…<¶ãà8®ç]ûÝõpܥë¹K÷¹¸®{“ç,ÞîzîâÏKßUºÛ ïØFS¬IƱ ±¶¾±¢àB!îßSI!„ E‚O!DC‘àBÑP$ø„B4 >!„ E‚O!DC‘àBÑP$ø„B4 >!„ E‚O!DC‘àBÑP$ø„B4 >!„ E‚O!DC‘àBÑP$ø„B4 >!„ åÿóánÉwsHæIEND®B`‚rmlint-2.6.1/docs/_static/logo_boot.png000066400000000000000000000046071312046612000200760ustar00rootroot00000000000000‰PNG  IHDRA M_ºbKGDÿÿÿ ½§“ pHYs  šœtIMEß $F·î9iTXtCommentCreated with GIMPd.eëIDAThÞí˜kŒ]UÇ{Ÿ}ΜûèÛÛi;-´X(Ó2¤±„ÐX,B,b”—¾·S8£{ß°$q‹ðôš ’ ¤ô¥A†A! ³Î9ÈÖ­[£mÛ¶I[[›J§Óº¯¯O/^ì”RSŽˆ¨®®.:::vÛ«O À,s3ܪøÅÚ+hÿâÏ‚;þ¤xò¶‡Øp«b0ioHc€+çìOR©,ìëëëxÈ[kƒ<Ðfôõõ-1ÆÌíéé :;;§ íÛ·›ÞÞÞ¦|>ŸêîîöED½Ó cÈpþµÁ>ãÞ7ŽN¸Òãük}Ò:7ñZ&Z)Õ¤µîÓZ›Z­¶@k­Œ1A©T:/Š¢ÇËåòÝιfçÜû¶ñµ×^ó<Ï ûûûO¼¨Z­Î+•JÞžœàR»O/¡‡cýÚx\@&“A)¥Æ®©RJA sZD– €#EÄh­µˆ¨ÎÎN5Õb±¨:;;Ugg§*‹»"­µ䬵ëDäÛÖÚ¥åryœ fR#}ý“¹EÄi­U¡P¸eddd£ïûÛ<Ïjoo¯ yù|>èéé¡»»ÛŠˆ¶ÖcŒ …¤··7ŽãX´ÖÈi­ÓJ©ª1&ô6íxެ¹_§©Ôáõè¶¼¼Š-oV¹åÙ©”=ÇqÁZ{‹Öšz½þ¯T*µÊó¼>`?çÜm€~8I’Ó€@)E­V^ÉdþÇññÀÆ€ I’¯9ç‘'DdÓ¤¼·­ó,ãáë[©Ôáiï1œ;‘ý²÷šëÎö ´ŽØ>t8ûçÎåàüW¬_GÝÅtœÃ¼ôÏ8(¿ŽŠû<ÐÏë¥#à­­_=_šÛÞœJfwžç•2™Ì©ZkQJ-ÒQù€¯µ®(¥RÖÚ3µÖ›šš®RJ½®”*Ôëõ/;çL.—»·¥¥å"¥0 /( K›››×„aX›” I:-4è´ÎñéÒ ÚŽÛÀÝOB3ç jV^8—u•øÑï. Э¬œ{ K;~ÀM;Ș›`aÇŽ;Ï i3!)1ÆU*•È÷ýn ˜ xZke­Kæq—§Ó逌ŒŒDqß)"m€Ž¢( ‚`§ˆ ÖÚq÷FQT-—ËñäPÙÉ ¹ÀcAö-Ú¾°‰ç^ÌðÀóšÐ(´VÔÇì°—Ïž]å™ÓÝu´NÐoðëM™X„÷ß~DQ4vÐênß:£ÕC”R""Öó¼—$IÊ"²³±$­”JÆz!¥Täû~ÍZ[ëèè=—ë AH%lËˈ9ãh×µ9*8gßUÎ:ƽ»WWdõ½3Ήïû±µvüÀ€xž7ÙiooŸ´OØË7†¿çð¹}×Þ‡a8Ñð=¨”Ôj5<ÏÛ+ÍFÛ”µVuuuMÉ ÿâ©GÀó<+"Áh¥Ô{]»§3»I¤µ­u8kÖ,#"ʼ»ìzífL27¶~—…þøx¯”‰ãXÆÞ§”’J¥²&Š¢û1¯6º;;±Ãœ¨ï™¨Oyž§k”Ö:H’ä”$Ifcž¶ÖîÐï} 0€¿‡¹`|nô«†,Øe}•Q. Û%®ZŸ4)•H*•Ú!"oˆˆJ’ä¢(о¤DÄŠˆ×¨ïqÇNDçœvÎ ÑZ;眈H$"ˆÈBÀÅq,ι*ð¼s.k­]S¯××GQ´Zkí½“ £)oÝZ˲Ï1eœ»œ˜aÚ6mN¶Œ0BÂåøÔ1"3zÐZò]ÒA Úþ€óîS„ÁCŒ$‡”û`܈a4Qù/]MŽVayÖ¬Yg•J¥SE$cŒyÁ÷ý!km])õC Yk=èû~=I’­õ"zž÷F½^·Zëšïû/%IòS`@k] Ã0Š¢Èæóùs†‡‡?'"-Ƙ~cÌSÙlÖŽýTù:9s)½²»‹³õk_êÕOÝ÷Œªž»ê½ëߪ+ZɘOíxÜDJ?ÈâgÏæÌÛÎ¥ËÅlÙ677kk­ÒZ'år9N§ÓhjäŠZµZµ---ÞÐÐиlîܹIWWsæÌñ£( 1✋æÏŸŸlÛ¶MYk›²Ù¬ŽãجïûõþþþdŒ ªn5«±ü†šÏòOÛHøƒ‡ÄäR Þ¹ö]‡Ëžs©òó™ñ¹ê¹«${Æ%J§†î¹}·õÙÓ/V©Ãòöõ×s"p»ªWa¬èPJŠÅbE‘c=VÛÓÓcZ[[Çr‹›DF±XŒçÏŸo–,Y2žGŠÅbT(T†*Š"{÷(V^1‡ÙÁ`Ëy=Èúµ•}V-޾Ì03(à‘fÖeÿd+7îüH~¸Ž2áÙÛ{^V\¦˜h*ûXëÂÐa C÷Þìøˆ±+K?ðw…Q œ½üÉȺ¿* 0Ó‡S–}d¿Ýÿ ‚?.µ¤NCIEND®B`‚rmlint-2.6.1/docs/_static/mockup.png000066400000000000000000056462601312046612000174250ustar00rootroot00000000000000‰PNG  IHDR ¤Q!ˆRbKGDùC» pHYs  šœtIMEß&i¹âiTXtCommentCreated with GIMPd.e IDATxÚÔ½ÇbãÈ–®ûÃ{€¤¼ÉTú¬ª½û Î}¤~‘ût=½ƒ.“N^ôÞwH €F©Ú»›“LI$D,¿¾ˆ þë¿þ+EÍkp@åˆ|úÝTlaÏY ée·°.[8~§a—×äÒÆþ{ ÇäÖŸ½J$ð¡Å–~à,^¡×Mpz¶ùz Á‚Lƒµï™tÔc ™!ŽÂ£­î/¾±A½‘+(3Þê3_õoø¬}‚cÝB”/vˇ‰‹ó}a§Ï˜·”  ÒS8Ñ^éï"5…¿3¦Ô=—æï•vóuMŠ¢l}®|ýß‚é=ؽW…ÌÐö£ZÑÅ`á¸MW~¯G3¤ÄZ”¹›| Sì»{ßçôLˆ§ ¬VÀíô Õ‡gAäI|ól|â¥Bï¬öäí®£r3~çéçy4E›ÞCñ`h¯ò~x::u– ¼aqPe?óòûp'û[¿?"YÐI¦{³t†ÑÁK½ÏËóßG,4¤-½,¿ì J°ù^<.ïSÁjÁ•›m¤÷Õ„/Í ×ëõœ"&#¦[=Ÿ}?ôª<ÖÃß ýSÝ|ßS]éïù=ü¯á׎>·¶~?ñˆre»=g§…LucpgÔvº”Z ¹jW;H- çIö¼?f>tšeƒbDlñ£®Ã3 }2ÂI’ÙSq 9Sqa›l}I+üƒ‚{K”®Ýç(Ææëϯ³9‹M”’À¾±!½‘pc|Áõ—Æû¼¿‰q,öÁžoÖ‡ëìÛf¨ó}hÞI³-¤}¼g\ ©ÆTm~…ršé²0dá>•œ±H:U;J8<²Ë²û8¢8Ü M¼>RàQøØ-žÙ³ñjÉF.¿Ô­øhgy• –jÕþ-aùaá<²Dã5ˆ„J'ëíßCúœ®Ð…3¸„ !-ß[2{Ù)æ\æ]X^³ïw~Ü@ü𦘅áxÛËî`ý‰cù·ÌÄTaW†Gû"¨~¦ïA|óöÙváê^Ç»WÕq. hÛn³ìŠ,Ƴ(“»xÈÀ<Ð"«ãOMcÄ{þ®×îþAk È…m;]ˆgø»_¢/Ãá2ù¡æ ÄíÖ³®3™›Øo7ÇtCãGêfÙ˜ö#ì2ß3pL§ ÅW0ú$Ô“LgÄ3k„vð íöKLœ˜øŸø¢ÂbæebkC>Ø^þÙ€EÀÖç?Öý_ýÓŽ½ãLoÍùJ | ¬·Ø=N»ñÁ¾iŽ™“`’mŽ)ïâ 4¾³pðºˆt†‚nοîœK¼ßï~ÿ¦†½ƒ¦çümò±0/¡‘ÿ„doñæÐ:þ·ÊsïÁÑžàCëì°EÆ7r… Qæ̶ŠVKÇb±¾v0ÒCæq‡%š8·aHàw}„jÕ<)N P¤ºóýÿ°¿âƒôy)—‚åëã 2Œ0ôÆkŽD‡N}Ü"+,Ó]?­.Ðú­Ð»Ðü.b´/ò±UrFñ‰ìæ|.Ï@<Ïæôtàtyº4p­Ï9{‘;Œvþ>O3Àëêß.·ºãC×çï:k@ Ê÷¢ñ.tO€0÷à¶ù¾3¥:ßw3¯;™=rÀQ>4¢5†#<ûº “DK)bÿiÒÇYÍ­î­Šc¢u¸[ÞeiœÑO=;›¦°Íþ[“3:D7Sòþ}Œ“Wn¯L\¼kŽ“áž9„øá—¿'ö8líßÁF¸"W×éÞ͹±<£au"ȪË(ë-=™!Ú/ÛGËgq˜8p„ÌÞßÄ3¼¡v·¡C@ «9„1C=X/wæ]Êë"o¸1ûx£Te«ç÷pÊ>{¬ Ùj‰õµª)öÞvò78îìš1Δíë"Q¦·Ó=[ŠpypüÝtÜh¹Pëe›Ä 1O%íRHΚÇf(Da¼óÜxÞõ1L=Yœ¤OÆ`Õz áXÞ-7›Lmìï•c5Ï€«u b"!ÝÏêþiá·ß¶cƒ÷ zE\gOföw‹×†Aõÿ9/ í­ÏÕh‘^ÊÕ­xóÊ«WÏÒ × ðÕïÔ=´l@ŠX,9Èlñý¥‡WïùÕOÑÞŸÝØ>ÞHÛ÷Æ| Ÿ#ØG{ÿûcˆTdžçyàyº)@Sêçy¢HØ7m‘ƒµލ¯ý¹7×ò~‰~óÚ›¥¿ûÁwpìÇæ¸ÁÊò:“ t,ÿ^Óiˆ½½õ1Ñ瑞xÿãýOàÚ`é_ó]² ֪ϣÇ=§õ1Ãã\Ú·Ql qÕãã4EPPç>Œöz¼Ñ¼ÑªþF!h˜i„o Ÿö3œô$Œú «]y߯KmH§-x^žgw›È¼­T ]ÐqÄñH¿ïÃÏû8Ñàôñë²/žØö%4ýûb/Í¡ ‹Í¾4f*x™ïê2=œ…å\Þù²€øËnyì•ùÞ)¿nõ^…à 67Þnüo¸Í29„Ø;f@4‡fçÊv cÀB=®Žî8à!]ˆÉ! îè F)މŸŸ­‘€;«Ykßö—~_µÝ›é³ƒÎq¸]àà©í”@ ¸£ ìu2ƒnÀ Ë`´‚5…+gޏïßâ„++(c«¥¢x‘.t-íÙChÌæP;õÂ' ,¸Ç»'Ó³¯:ŸeÐÎ ‘¸>|ø¾Àþ~C’èq4x¿\£ ‘º>ñ¢ Q*þ´¨Å¡ŠÉ ºL¶`%Í ØÁ”Áñ^YnzÁ NÙ7[}×½cà•XÚ÷΋Ç”9(–ÿÓ÷øÅ½ÃÉ]ˆ×N S»ëŒþð;´ó®w°?tœ}Ø<úý_Ð^5;Pš ²$Vÿú´ÏÿÈì#ë" žWÄbB !ƒ 3HõΧðš+|›l– Lüìsç;]ÛSÚñJPoboOyö|Í­1Ú5ͳˆ1Ñ<ìë?ŸœRÄ qÚAzçƒx]µÎWâçú¹œ=$èœWe—ž«˜÷ üV¶C¦ÈAYj˜ºß]w›G‡M Û-lpîî!¾ÎtÈÖ"H:d4€eOÐæOŸìÕux§”çI„„ˆ0\€ašmÔ;Åká_“`o6ä"Àg‰´ÇÁ{Ûƒœö=Î¥jq%L°nY–¹ ÿ8ÙAG ´ëõêÚ›ã-ß~ñ¡Ð‰ÒÛ­×Û\Ô0–B9œÂbªó+(“Fj¶@(ͱ#2p©Ç!Ý÷aÇ6$êe’ä¡ÝÇ‘T4.ÊCç‹æC¨ílþÇÉäö@ÓwßÂGn}|X:Xùå}jï6Äé³…ž_ÿ½~BÀÛ¯ÿh€RŽA‹ÕÂ=í!ÚÛ¾qÕ7œ¨åÏÜûwxŽ^ÿ]n Y¨ÖRF<…C/Æÿ¶×mt‹ úâä½…>ïpe x™¸ö…bÞD•Å䊆¸ß ­ÏÓ´‰úÚJ˜0ÒÝô–ˆØj.ö-0'åxäúHü2Ôöàû8ç »hÓs¤ã!äv:—6Ä÷õzlvÇPζo`:ó[ˆ9\^NÀ¼Ïšþä¸ýO;ϋ۽„pö¢“ÀëóÁ™·@‡oá>¥ðŠø9½ º$Ò³—@ìKÒûbaÔÝ® AˆŽ²÷Ê ‹oîŽØ´)ÚnA…cö!ædLÞƒZ‚À”Y³SŽçXj€ Þ>Îâ§4¼½?Ë•!íº<Ëýö“ã¼R[ÿÛ¤ÿ‰ í·Ý}í"Š^´²¯Äb…¢(0Íf*L&`È}LØÞ¹0¨¬Þµà´<Ioò´ó·Œ™Lаҗ‹U*… ÌÒõ‡ñGÔö>ÄNqrÖemœe;7übâè—Ì&»—!„÷›óPÑ%áϳæX†rP7Žì+Jïþm>ЙŠ÷ĂʭÖ{ R*Æ“&Lj’;aë8¦ ¿:HpLžÃvdHby,Âk Ì[L2CHv0¸¶qüvû3dR0N0/› „ñ u1‰àσKU‹ÁWzˆ>ÓǤÇ<]Ÿ‡›” %nÎ3þ0'ø‡’Ù×®>Ç™¶}]²Är÷OÅg¾ /~Þ‚¼›ðæÐdº>ïà 6û˜Ñ‚Áa+|qùg‡‚£j 쾟àÕ ùÓ×_Ð-´¢Å¿LŸ-ã²úæƒÕËúÀ¹!|Éãò;\ЯÁ36¼°^×úÞ'üß·@2ø1Gûÿv`Ûç¡_ô;ü¢5çPsk §µ‡³¨è`Î5t½kœñ5\ÑÍx󲽪KÇÅ{±˜Ó–jba(ÐgJSog]]‚ ­¯S¥SyÕã‘hàÂÍþ<2{ ·`È乫]µ›nø“Aºßom|ÒŽÀÓ€+¯¯zÃ.ø£3èóäögxz’¶y^ýßÀ}Ø®–°ð}´¸úXPô§¦¥>ôRñ|G·ŸF ZNÐ# œ&/Ó‹JS!Á+8d}¸Z‘ã ©—ÈÆÜ!tˆ©V3¸EÜ Òó¹·FXj†‘'ŸÓ²;®/Z°Dy¯³éf!èÜ_d³·ègŸãÝ¢yõ8TÁjôñýÚ÷>:ð&³lµY)š C¶[M6í÷ :"-{ß#t'ÜÒƒ™[\û:œÝlü–*ºƒ!Ë‚ÙGèðÒ¯ÎóFèpZŸpw>gŸk‚»ñàéÿíÓW%èPlPLÞ Eå‚Å:èðNωé%èпé?[™¨¥¤´ :tÙïÏÎî*Û:V©ÎE d²XÞ^o—P­B‡ã43½\§È‡õ…Á´X² tq» a2nÖg%­@‡Þ4{ÿ*tßÝԛȀæHÄr’/Ç™^ŒœI€ËõrÙNk`&Zf·Ûãî§²}ö{5pNÊÂÁäéÿßÛõú¼ ¨…¯ƒÛb½Ødsãøá5´Ïï,6ƒHžUµ×«Ð¡‹j±:d4?~”exïh}@ùx‚ì2+»Ü…Lü(A‡@ÀßœLõ#½ö÷F‹¿²‹Ús Cq)ùm˸·ª‰Rú#“×GèëoYŠ««¿¾L\Äi¦/ËÐ!ì¿oöÙuÐ!8i:Äí] :á£ÝúVo+¢úUjuÐá/îÀ¸ù<»2p—éÛáo¿â.¸ÎôIÏìyx õí?k¡Cx§œ#ÄZTº!‘ù—uÐ!€ZèÐ6ƒ<‚Ê‚­)ÜÝp©Ì^›n¡g†˜ÙeBÎ’ovÍå¥t7ý\zxU¿» ( Ã90&ª¼`ÌË?·›ß·| f·â­±°¾—cŸD~µ:ôBìJó.\‚ûîÌ.> §¹b:ü¾°áä»…ï ^û?ò\©CQKñMÄá8”pÈe6v3Ûf³› ÑÝll uVüñsý0ó_a'{žGè‹ï¤§ësB2-r±Ä~@Ú'Á®˜Íç@‡Éèîe ,Já7—¡COÐá7ûËÖ×Óu}IN·k4.èl ‹æóµÈÎbðc:4¾ï?A‡_6ƒ¤ËÐá]R8 ëö²škÊ™_[…l„ÔB‡j¡CÓÉäÑZã4încMœõï#Åü”¿Þvx³%Ÿ–es¶´k×s¡C5Ù½É4¬nHü¨‚< – ÃÌG—çÍ1Dãæ¸Æ!4´‰7°¿Ôצv…íûoµÐ!¸ûUŸ’ø'X˜eý~„M?»')jCnÿ‚?…ýj‚c{‚ý·»AKÐ!€'èÀ³ Cβóê Cf’Ù€߂ߟn óLžÇßLºe.tèUõ™Y†Htxs¯ç±|6¾ûAë :€V¾ËÓ2t(ˆ›c?Wl.-õ39µÒ‚95Ìb?ýypô°äI :°t ( CÛËî÷:á=ý¶°!‚Î5èz³èZÃúøžÊj7MÐ!€ Cݯú˜YXöW–û:20ÎOà¸^Ògý¦*Wâ^¦—uСGÝ— Ck¡CNËôb’LJÐ!“çøvëW C`ò])C2“ÛGèÐYlYO €áÀ£*Ç^œÙQ*lµýçbÉŸ4ÇA u€Ä— C󻵓<røfº¹Ù¾­ƒàÊ>x?£GèÐu·óaÐá¥ó{o‘ :Ø Œ› “ë7¹j>B‡_nÖ×iºFµ–¹ .–v¡Ž—v-¯ƒþú^ÁØl®o…yO¶:P‚Usû^™¨”õhWèp®ÿ);*ç'š°:™,ß‹/0`óþþý:÷ŸÕ80f1ÖAœÙâ«hû…«³Ä ™ÐÝÆIY>Ømn¡[S:+apOUuY—ìµÐ!õTV¡CÐ!\¼ÉÞ?˜Të¯7¾‹Ëëõ:ûe^ÌqBÕûRwÑÛ­þâTsö—€ïlþçùµiL@auÌjì`t± H½loî¦)°tŽ‚Ïkijëx½níµê CÅÎbÑè<û÷:P‚SY‡é±ftx=÷€¤¹Çœ|ÄAu~ïˆ9Œ¼Î1ø«¬Ã£y6v¡ÿãÙÐaØo¶)«ÐáÂÎê„Сdþa:$ùBÆ—¡CµÐ!€ tO2{xåqXtا²ù\†” C×-û±eè0ócÙ=]Z›ó‹ÏŸ%ÌâB†ˆxûžµRCeÎ3=„9ÅjåС ¯ï»þ©w·¾‡eèF6îZçWhÌ1höT³*åšD__K¦ýöyl‹: ©zN#™óAo¹q]thÌg˜ s}—?©H[<#«ÝÝùÍãæJY½Okƒ‚^gröYm¥žÈ}ø7Ú.öz„¿}©Æ»Ðáô,·G<‘×+Ëßá÷¾ƒ–3[·:´¿ßÚaaAHyn`‚>/Û‚Gè@ :4ôpi<ÊqËKA‡@ xhz5 P#kèùVô-oý®<‘´¥d¼ì¯ÈBøq}|A_ÀkeB×:¡ b‡âÁy“­Ny÷”™ ÙÁ+`^VÌåÃS ©SHF·Õàà!ˆáÒ6¬[LÙÉ’iì¾ûŸQ(Qï¯ìž¾™7Û ØqˆŽPMþ;iæ°ÚÂRPÇmÞQIæœÜ•“ý÷Üæ-SÍ›ÅÙÛ¾¸;[JÜZwE² IeqÈæB‡¾²-º™”‹ÿ} Ò2ÃüÐ+‚îÍ 4¯*“]Ïz…ZÙ˜Æ5Ç™NÓëíçÜÝmûZ©@—êaÑô f¡ó܇(I³ñ™:å@„£ÊNŽœ,Oô-9rf…1=d?o|–oÝâ~ù½"ØñùBö¨×oš ÄtµŒQ{°Ò;ŠûøvåCØ ¶wz¹`±Ç&X¨ ®½û%;t.ؼ¨Tï(-zTü;e0Ïé=À'ËÛ‡¥ã¸¢„|} IëÊoÙ"¨äùC,‚¯kß,î^¦#š“^Î<ð­þßå±sŠÄIÀæ&ÖïC¡áà Èm8–Lïo×læú £¾ùïO6ƒ£ž] œÒ=Z*þŸ4¹sD„ð@`¸Zc”wÙû‹Â/,æ øKêŸýlN½œ½ª9¹(RmbòTñ „Û\*ó¡£…ýe¿¹8ÓË‹rt·®°ÌLî¬?2¿ËF51ÁEQ Иây4¹¾ñ¤ÐÍ÷Ä2å{95„»O£7¯3}³, ¯Ùò‚„Q³?cp¶— ÊK2Nvûö²l~T“Ú›Á†B€9ƒkr€´7/ˆ×oTñ9¼KÞ°°±j²¥VË|’ êÆ†~¹0¥?cç~ÇUmà ­ú¡Åa}SÀw ¹÷™ßœº&ZawZŒý7w}âf6Ã{ü‡ŸÛÑ!&3c *Bo}QèÍÊê)—2r]¨Æ¨=ë ¼ )¾fŠŒ¯eyâÌB[ßxßÑ«"öš-™R+ G\!k‡â§g“ÅkÐcâ ÙaDù1ZC¿(P‡ye²9ÎŽîdÐ+lŸC¸IøòÇ+„¬ ž ó‚£SpGåPa~äè+¡÷h^Ö¤œšÕ˜P`XœÊW«i…/½ºZi8çñdë˜Çeß]ñkÍ <4¢‹ QvF–Ó¬~+ª1¦Ë­#ý¼ªEHùcõ³Æ éæ<#!pËóΰ…ý}­d9ÑaM<ö±•=÷ýõî»3¼å>Tïe®">oŽoü¼0+…mf¨Ìiy.ÏÏ29MbüÏ?dŸw¦Í„&_©í– Djßí9¡>©ÄYEHJç Nüãû׃n½Y?™N9w'_çñ×ú¦‹Ißÿ´.¾N¶o.kÚn»¯.­hÎõ­Vsƒ\üœåN­ü(¤t~ ÝÎ|Õ[ÙüDÇ›Pé¸ÐeÃ\±çñËíX7檋‚Æi½<{|Õ.ðt¦G}g¸{M„©ÎA,×C¾SÍÎ:õöü={€¶P䆫ÇÙÈû…?ø,¶ì—IW„´Èž'9“ÐMÊñ7& åqûå\^ÉéÖC$¯—Žã•/Þc¦—ß¿g…`’2 @óõ¹ž’E t7K$Í»I±A‘Îã+(bV —— Òƒ³úÏûVæ‹0ûvÐÜZ¹hXHºt\¨Êd9ž7×Ùq׉Š%Œ†“Ãz›vï~G’–k|”Å&t"¡CVs¨yƒ1ChnLª¿6ƒîbî ¦êËìF*½Êb5R­6U¦¾yÔRêý>{PÔ´ÎÅQ IDAT v€ßZ›wq ¤}øÁö€´Û­¯ùºKÇTQ½õvs4-d‰Mšsª‡x€p¿˜'îd}½”%‹ç`óÓ >ŠØ?“Jb‚zö<ÍîIˆnõ¹¸ÖúÀ'®¼(”ÉíQ,ä°¨. ¾)çZÔÃP§A¹þáä©9Á8ˆE°ïšó'j)O'¸"ÞØ»¯>)rs9¨Ï±÷•úI;ó‡ôYtäÚ|³ì'¢#?ê0 ›Iù1¾^ÕÇ}LB û‡ç(ûœå•ý™ð¾ˆ-Z+Uë¢Qåè7Ü›…}=îñ0Ù".#¶H£²ŸU?5ïlÌÄ…Ý„keã¡þ˜ÇÉ$Ã7¯vßyÞu2ûíÞ[¸[ ÿ¯…ž ZfßæÍõê$“ÓÄJáJ™<ÄGy³ŽØ ®¡Pµ•‡ñ d«ˆFƒÌ®²ó® \­¸¾gL‚Ó"'±‡EK» 0þ3÷wZ¦{öÊI#ÑmsSñL®_èý†î€Êcz5‹1W)|ÿký˜¹÷:¼èó¥z¤ÆUû¤‘Ý—G0y9ò󉈙ÿx˺«½)Æe²ÃÇõò˜Ü—u±—›Q?oï“õµßO…ó£3@2I¡Ëå9î; Æð ¶Þa`^5Ø•"¶~Ì(=ÃîÇ+uÒì;L yŸþG¡×á~}”æ0É•}®ò±/ŽâjãÇ ÿŒÆ·íX¹\!WAyØåg/ÅÂ÷ˆìÝ6åx/f€ŒûÆ…@ÊÕ<~õqÈ/oÖ×iÎÔÍ „•Av/—æ»>ŽlqåºÉü!„+uñ¥\çwc“ìwŒ°ÈíÌFJ¡Ãƒxý‚-Ç,äÌ&wÏÛZ±KOFõ9í°\/ørYŽ{yy«&– :e(L«¶˜8ÊbZÊb™wt¦àD²y1"€Š¨¥Zp¦§šÐ™ÉÃ0K5¶bl÷¢lîõ0ÄÞ *+šÉ·Kã:&‘Z³‰½•ýjoãà–Äû· 0ú0{¶_ÚK5˜†¢…ÖéN÷BQ»Ç¦ƒ¼¦èÎÆOùîê땘ÍÛÏ„„È7\ê¬ØÁ…ÕÜ[£‰V¶{¯÷`Ågz~1nA~òã4¦šçKèG0¥â»‡Ý̞υíd™¼–EVðÃ*;³?ô‚yÛær}ä-S­?½NÛ ¥˜(Äñ¯eûxØÎÆŽá><[Ö(~û:fK*÷¹ªò«ÿÞ[²Mõ1 3)æƒÚÏìã)YŽ£™EÙ¿œÄ›KA(ûJƒ­ÚÎéœÀ›Ou“œ9:KgšŸ&EX›cÏxoªVŒMŒWj½ $©ê»\­ù” J°ð›Ö<›É°}¿mЏ’³zÿ©œ”ãKrÄA¿+l{|V¶áI|€{„¹rbÙ^ß—‰î«=>Ç­nf¥¶óÝ›s}?ñ3MO³¸ï5W·þ$³üp‚¶\–û‰Éc1)ðv¬ì³zM=Q wã·>ýR—héóç{Ûm:Å®ß ut“ËçÇ×èÿQÄ!_Эn}œÉz=˜f3DÛ_ZL£jõu”á,ó¡[þNÝjîó²ƒæšÌÓQË÷D¯ÒSpξX_‘ög<¸N9xÒbús³V‚@.ßsˆ[0ø{}ùn÷ðQ:ÅÀ½Ä±ð¾l稶übß #Pná4§…=·H¼B`Vj ×ßxû)s¤ÎL€Ø©ÒÔk!dÈ)‹©:g*kŠÄ!ˆš"±kN äÛÁ›ìJP $ﯼz÷r[[S„‚85_äZ a‚Lw/&ßé—x­½‡cØUéçš@ø#¶y¼Æ&p ¼¬\³šŒEwQÞM~¿]ÙøôîçÆa®1hë!¢1 ú ‚æÐÅÝvúŠÆ#Ї/2Ž…s±<~ÏwºýQQ€¦XüÝ/óæÊ›,œû„à x};XÉ~øé¼€VÆÁØraÝã$ð~³ã¼»¸ ÎÆ}˜Þ¯è䀭æ²Ð…íwœÉ—€T=˜AcŸÝÇ·xE~€&bDiæŸÔÄ„‘äÑÍô›õ«¹»=g§»‡œ8âú›Üˆ‡@¯‡Û´(€N³0C(Ç›wºJŽl÷Ee,¾5A]( &,Òýêœ*‚3_QÆ Ž3_Ð#bœ¦ÌÛ)ö?Â÷}ˆCÀYy ¯{ þ¬ÞoÇ@­ ¿?–À”eÒ¿ùîÍG0. óoè[NdúÅÆÁ¿tÁ½‰½>Î[åܸA}Ýlƒbš…dnÍ.¨úb­õ÷K•Ò ˆ(üÛ®¯¦SÄDb '­6 ÇÞ?qó½ ¼ÚÂÕ\šá½RmÉ‚ ˵ú$üD‡,¼œÆ!܃jœäÌ'Ûû?oõ»O~þHû¾éU¹Ö Rœ²ë ±sÇF;ßõC‘X˜vUÏï^/É|d@ˇ/6†ÆŸ_¡þöù´<ón'à/ö! XKGßQâó†˜Bk³Í´Õ’QG§ûâÙÇyþäzòíÏ}c̨íõÏsÓõñë/ûpkv_ñ\ ¼ÙW×!lYDëö³“†˜õÊÁ«ÿ àÙëcC" .Ï;ó%tò&ŒjÛ0¤zƒz}ž©!:F¡›†,ƒ˜_Aaa®!…¿›¡7GÛųƒ¡ˆã#îƒá|s¼:6»8PÊ:>ëèœVãDg,A<°¡ª ãeýùœ¯é¯Ø>‰Û¼cÞUWÇ»³,Ç¿µnp!¿Éî½ßƒ‰3Ô_ãúOoû¹ãÝg_,t~YŸ«L¹{~áÿcQmŽ¡ˆ´• z5*|•e„UôÀFtÜ,sv‚vÐlïÏÉÍbà¡u¼9¾´y’W-Ö©sFú' &€ª¼ÃåØÅûÄôé^ÑX–&ØûÙ}y¾ žË®¥9*ô@²‰GcŸ/Ù!@èþ|®ãK8;Åßõ®»½.͵Úz¹ð=øºÀñçrŒ¦³hA½Ý^¤>ZÄvy£*à˜ç×7ú}''ÚRÜ®ƒº¨êY¢Í@êÛåV1=ÕÇlªAÃPw?–óRð¾nGè>‰ðd»Uåvƒt꿘l˜_ |Þ¼ª\ÔU8Úf}Iƒ ˆ|q^jK ¤úÚž^AÚû÷ÅYÉAR¶mãTÎdöîÆÂë7™%IIR•'=¶ Q2¬»[ȯ7×_1éP°9$µ^¶¸ }ý ï^áDØmìT™ƒQ“{QÝ9â³6X'D Öí…™·³9"’›žÈH«NŸ[ ÚrUÿG}‡'»ç*]‹Â™¼ Ϩ@¸A¼R‡™<ß³3A'ËC=uÞhÎyƒHKo±ðœN€¨¾vÚup&4ë¶:åaìUë0-ÓÀBQAŽe$ëïAgpWÍ¿Xh¯‰Q’™ ²Sž× qÁ’Ï;æ™—ŒÚ…¸0šë8lgsf^…PÞ1ÿR»B#Äén¹¢85à앟G3HèK')}7¿ã£’å_C‹Ä‘ü¼ÝM H·iª»@|V–Y~ ®½ÝÉ]´#2¨—àÄÈ—;ŠØí}…púùo‘=’¡å:mÜ ^±SÒ`{&p! ìÝ‚9½À¿å¥Y€¾>¿HU„‘¼ØW¶·7<´£ícé”`A¤›ëìW3ï:Û÷ixÛ€'©º,Žò:¾[à(ù_2ü–iBVÌbŠƒñ×%Ô_‹~+kÐvŒ=ÿý;ÈÿÓ‚ºåîABœ¾·¦5Ó|ttßMqlk÷EgüŒ€×Iÿ-âMª4£¿oÆŸÔch’Ý.ÂÔ¿±´›{bÙ åfY2n|¨o [4 yGõ}ŽÔ˜‚P÷6äñöüçÉÝÝÀ?­¢³íeENæH¥SØ[æŠßô/ø¤Õï8™‹Øoリö{ßÁÇ“f0*JÐ$ ›žAв¸C‘U˜–‡Š!Æ…qÓ±CdÊ{Á‹ÊÛLòбyp ~^c%ÎR¼bº? àR4„8BºðA´¸‹~„¡†Éæ-fmPùÎÊ£ë‡oŸç»þ%Z\aî&Þñ_Ïdpªü\&a)Áî¶H“Môþà!]캡־v`gô+˜½”Óæº¶mÞCR^áÃëž²ð*–ÿåßKÈÒ:è°—®?.„>89Û}wÜUm͹(CœMáh…¾m‚íEyU'M±˜Ägχ9ËœØÃ¬Ô¥Î~¾ö:€6gãð¡øNcðŒš£ÝÌÎ,C‡Wæ¤rÕŽ¯B‡Ö#L>Êîï"_¥ÂP'OÐáƒ3ª…]5[‰bÍþăQÞ-æp¥ ¿ zW!F¼Œ±°Ýx.C‡ž COÐ!€Ð¡(§ˆòÓ|b·mð7A‡6B‡61Ngs¥áî~³mØ: †Û¦ì´ .±´¡ôFløŽükœæã®\ìÁ÷}8Þm:Pµ%º ÞâÄø¡:Ü›èz]„BÞÌîóD¦!Lª+êæv6Y™•lj{ŸéíèOÐar»:é!»žÕ¯·e› Cïöù1̘ñv†“Ñ`ë÷ø‘ê C?ÛA‡ð^ùD¯ºS‹• ÀpÉ‹B‡JÐáDåI¡»tÜv†=¥¾¶ h„/ï =j/5VÀë–aéÈZ>ÄUÍq®W¿³ãÂ\¿¨bèðî¡æ¹U ê,>ßMv:€ø\ÝËVu†ŽˆpùØúèКdÇ÷^ŠXè:\$Eò:äÔÝ‹=D¿ µ\)õz#Ïô­®g}Ëž¯:ìY>¢˜ï7g\-t˜Åé…}\†#c}þÙÀÁ;q#t x‚À$|·Ë>“Èw*©ƒç]l€tªeAÉWA?B‡Ý|õö#tH…ÕDÙ“Ëóu|”Mt8#«±¨_cÿ–¡Ã߸|7H1ë ÃÍl׈zxØÎ¯¯ƒ ʨ@‡7VýQîÐ!€'èÄ“ÓFèÀFèÐùêæãmÀX9úìz‘éÙ#tÈ/²±Iú×hÍ˲tË… GèpÑv¥­ì Êëå¹:œò&×Õ]îúÑ-ÚÁ>î¬òêñA~D €tà :ôy½•Óµ‹g¯ƒ{`´  sUÉœ÷ùK{åB®{^4Å¡CøÒÊ|•ÍVÁ ±f'ÚGèж »º,.lå´}[ì\p_íd_:´ÔìZ3%‚˜ï ² ÆÓõu¦¶¾€ÿP.r®B‡¡COÐáxnäcZÄ`é <æÛB‡º]ÿ¾“ Œ¿´Ý t˜Ì³ç­ƒÝ,VŸ0嘯:$Ò̶­ƒgb³¯¨ƒ/ïÃthÑõ6o~—YtÈ8S7ëOÅê. MÐábé8@Q”KÐáxÜ\ –Nh‚¼t8à3»1äy´ýâßccüx‚ÔB‡ Q2hÞÚ :Œ)H'“µeè°¿²ƒ€¿`ȯ–¡C.iÞc¼´3â#t¸Úß³¹L'ê C[oÁ¸Ô·‚” Ã…* õ³{[…͸-£O” C×)|AtH·ÖçsMС2.?!?‡[0è› Ãan÷ûFýü=B‡d+Y Ø:€ˆ„Ø0«Ð¡¹â»ë CÍ´±PT˜^ð^ûÍ;•?B‡ìÒŽ¶í #V¡C`I–?ÝÙLg <[…½ÈvàfWŽÖ}„l 2Öza˜HÛÍàè¯ÔäHjsý:bèjfVŒÛ#tGr]2 w 8£_oeßç4Ïú»ßl?ŒÛ¢¥ãW¡CàÚo1¸Þ ¡Ñ½: Äú]f¹V½¹ æOÐat»ÙF©¤ŠéÊI8•9{AèÐZ”ë¶Ú’N«ǘ¿òÏDÀEf7zÓçÁÍ34ËíoÎ¥|ßÇ‚ÉåCß nêíÝ2t :°:P ÎòÏtaS¢¨wþ¢©[A‡‹¥“ ,²ÑÝöpÙ#t¸ÜS™Nî· ¼æS1Ì›úžå:èh2‹é¡C0s½ Ø :JÐ!_s2¥dóû—Ý…Ý/Û²hRû¦÷ÙVúõ²éßÂXé[F §ƒ-C‡Ð½ZèÐ2šõÈ›–e®:<¸X\úrëu½Ã4¬@‡Ó…P (A‡‘XÖ¥wG .Ãy#tà :ÔÅæftè å¿íöòÓ—K:”Ò˜ã C%èPÎÇïÛ—Ÿ;IÄÜrfê?ÿó?ÿßÁ-¯ä2åà­|ð¬R¶ä_:ÂˬÂ% ä Äé>Û\T’òíç n.~ùcضy±0çG`(2‡ó™€@*Åù‚‚°t¼ìм‚̵á'W>øv½³çذßõ?±OdAIŒB‚¬˜‚B@E+BÈ–‹ˆl¿‡XÙÜD·(€Ý!ÎU£I€=)»ö²Zr)Í”eyóƒnH`•AM•âþ£¨pš·åju)^sö8aóŠI™.Ù$ÑV·+²¸Iô†Å¼‘ùÁû\–Ä|»1±·ã ©Uu~cÇĔàjtÄ‹Šï7¾àöë¿ï«;@ǵø»·t´Œr:<¿ìXnŒ!Z\æC¼+$6 b‹`ÛN°KCÕYIÄ'Ä"DÂvI-»—éáÝÃOÀE!|ÖsPX~n÷×G»•°]|]ÄØç¶÷E D¨úoýKüþú¸c„óøh¥a™!X.«VóB.A¥o‘Òò@\Ù± ­ÙuŸ^).<ÜëP5Þ€-—ç[H«º¤R…ÌÙf,§âj£-e²sÈñˆ—Ž<Ì9"N@’ÄèÒP“²®Þ —|©ús»Ø$ ‚¬Ê¶Îð¹R\þ'HøãËû—-ð1û ¨žƒx¢@|î؛²nG| Ŷex½R÷(l„¹èƒËk)í–*â<‡B •Éf,×ÛŽL@Å…Líj\¡™ƒÖز<·c Sbk È®u¯B´ÊŠ~2lu\Í«1¸¶„~8Á)/âá&€Ú*®­¥@bCÊŸu'h¾ª+Jœ}'W¿+¤šãm–-Ëb'ÏsØV\µÈí˜ß¿á^—Ði¯·O¼b# Ê÷)S.‚?Ëúˆ &ðgüöø,¾³ôÀæÀ)jmÛœËÐêz˜ÀãR|7 ¨ >BÔpŒ­”µ.±E¬øBJ˜–bcó>¦Â ×Å ‘&™M‘d éÊ€ýh …”ÐõyùÌ'!ÊÅœõÂ[(Tk)'Ìì×áœA°aE9Q‚$ša{!¬i>¹w S¶q%×ìhåqc“úk ‹þU¥]?Î #‚j‰H<D>=½a:©f1§6#pÙ3ö씚œ*%}) ž*ô4 Ëc+I›ÜÝ“è_!Å6æù»Ä¥v‚­>óÀŽqœÛìv#®Ù- Œ§£~7Æwün»­™ö+!‰Ö† :/|’<–ëÃc²ñ·•Ø@€R ÈÑv»ÔÜX÷P¸æl¥4y¯#Õ ÿ½ª¦´ض 6·¹³Æèb ¶°Ç;à:Í1Øõu„v»Þoð~b%¾öoЦ[à–|·1ùøÈXoƒ‚JSð“‹Ð|:vtÓ+8´&ϳEJF­—e‹QÁ&>&© ‘X_»•í>w ÍIkêm>îÖ^Ößc„[¶/¸ö憈Ÿ7-9šÂT™C ´·È'c¢òåb~ó±ôö –Ù‰ŒX æn–ßÃâòÌáv׸…hÕô}ôËÌñz[ †ÛÅ}aH@¦Êñqšî¾[­”ÇÉÉÊ¢fgv&?.œ9ð*ÀHELpå'سÏ0 ˜C©Y¿¹¡o@Ù0/Çg,‚0ÓUÎÉòi–T/=kâΕÅ'$° ‰8ÈÆˆ ³ïáLñ£ÝTDz½€·¨lžTRC¨¶bÝAÙHŲqñS"„qÄA"Ëzï>8`TÁeª¡&¸¸™ƒoÕˆ¡›àxÃÔ„œ/º`ùõu[«ïë´Ž¶Ë{kÜRì(€ƒ.à—ꊤl 8È v.fY0>Ù®¯a:8&»>MSˆáå²ÞË7Û5†‰!r-¤K±Ø}|lcâÌ 2Â?zšÓ såŬ‰ÔÜcÙf=ónÆ [™M³4¬O×äüÙ3*¦ ·‰sC€Àm¿ƒ$Aàêý@;ràS 9ž¿ÉkØ(`¢Ç8Úã BtÊ1Ãp–@Îû-ª6E*˜02Ä$Añˆƒ5öŽÖ@¯±!ÚÌÑ~™<9¢LP[K™Šž†áŸõ]-‘^ñM1,y ž!·Öûo25HÕBšûï».沕ٸ;kݽo§LDÄ iBJ9pI!+VëÖèã‘Ïèú¼ÆïºW|›ܳG˜y3´¸Í±{ºÔ¥–ê¢ÔL#Q ¾¥þÙØEî¶›*'¤ˆ#–K€ewq†/î;.@ˆ<a~ÃQÏ_­{ì³¢%_5k)¼!WØÐV«dÏÊ$‚)VmÞÀBÿþ~On¦@KÉ©WÈÇàý!EbÕ`ÜÝ‚ÓZ¼KPtµN~éÝ£Ck0æ8¡Þ&Ùs¬àê>@;Ï3™½Á,¾¶&m¶A3ÁÃ~’ùXÇ“ÁÐȼbÞƒ¡i\‡—hSÙ3ؤ‰™} AäA&ëí‚DóˆÌKtY¯kò8n‰KéþaàxŽ$Å"n¹ÓI¨ ðc Ã<y @¨9™Ëã]/Ž@“$fóÇŒ Ã5‘§Ù ýLoÚc‘ÄKj$Ð,¢•<þ€/ÇPV7«6Ëâ0 +±#h+yn\Ã#ˆqÕ×ȧZÇê«yPÈæÚ‡* 0A< IDAT†ð×$¡Ë€b’ù‹Á $¨0“s›?„ˆfÝîÐ-pâ3v=o¨Û°\ÕÆh©Ÿà@‹TMmÏF¼T$ù.”ýÂW¶˜¢®woyPÄÒ‚‘ß.6 ÊÂ#X:2ºCm÷Ü|X¿{²mÃ)¦tT|n:µ Š,ü»ï µÍ¼’Ç]r§¯˜òÒ¦M–î€å›kñ±M`q Cð3™ âL.öö·g‹è‡‰Jà2ôÐÉ{¡m¯ƒÞl¯¶Ÿ„~s^P£'HÇvS°L5 ˜s,„\í«ØvóÝtm´ÔçIÒ(i(¥‡p •’p¥_¡Í·k¡C–õÇÛ5Ð,ç;Xf³@±”Ž8-ÞGè°(Ö¬4–rèPÇC {³}ÄJö;~MÄaõùù¢áž"{îeèB–„55ÀŠÅïõ˜®òù½A+æpè0qL‚y7†º·Ò гÅ%¾¨ÏàVÍ n‹ã@V¡Ã^<‡òÌ#)ê^€ð–d  …Ëâ0UÐGxÕV_ä»$†i<A6ëõ#tè&!˜*\„x*Æ>#— C ïfH5!/ÂÅèÀtÊ™ŒÄ÷Vò§òý Bòãª3ۂϲ[C‡YÑ›Aâø ˜²N¬B‡ èp` %²Å³¤8pj ‚X"A†Í~ïþ€ÆÔÃ$ MwÜåa•=½â0´< e¶“—¿¾íÜ™‘R°ãfç=ÖcH|uˆéüÁóu¢k]·O 1 /³I¸UŠˆ1º¶Áï+OÐ!€Fè°b›Œ®Ùi”@$‰íåQMÀï±HîiËa6fÀ0ÌRS¢j¿Å¼x¶:ÌÍÅÉ:è0Ó¹ú‚vš$OÐ!´XŠI#XYab“=°+W¢¸’;ïn”àðUñLß?°Çw š ü¥"m÷Ò€ÚiŒÌ‡?1=à¡Äëƒ§ÇÆêÀc Ó hbp•Ža’Spiö™DóAøÛÃ3Z«¡ ”Îeèpq³ßªÊâ*t² ¨8©@‡ã€€DqÜȆ`XÞ¥[*Œf˜TYVÖA‡pô¡Qëkø´œï¾À•õ")d½N› ŽHà3¨;®Ó4Ë|Ø!·ÿ(A‡áí ¸wÙj(‘21rõ§•ÔËÐaôàTiD$Q‚4B‡„—BdbÌŽC¥Ì–‡x¡šÚÜìàõOaôÕ€”ûß; ¡aûâX%¸ƒ-!=ƒÍ5ì>²a»õ.Û…×û‘eèx¹ h„@zèð¹/1ζ… >N*ÐáSü´&i_…5“ƒ¿4ö> X€kð7š}I’l..l‚´wÑ.”ct¢7s n·ìï• L·÷q 5p9¤?Ÿ2xâE瓈U° .o Í;Èk ³^b ©iȆÆâÙæÅtb²¥pÛÅkw¡jŽ+Ü@CExd‚“ËV7µ¡ëåUÕxD‰V)â‘…‚ßâþX.ÓéGè°¶Á°v†ÝCˆ«»œÒ"ü‰Z\ߨ‹läRêÖ}À‰z„h%'òß› Åˆï¦ 5ìÍZêi ×B‡#ýßz–Œ¥ JôÿŸ»÷Ú‘\ËÚÄ>zOFd¤w•åŽëað’ÝèB ÒÓÍ…aêsN™ÌJïÂôV›Y$ƒd˜¬êFqÓ§+#Èm–_ßZëy Q­ò ×aúd­î@Àö-]~æ/ CP‡>€§gÐÇ!<©Ê×Oî0Q ¨U=¶]‡8î5loI¨Ú])Çàžµ ç@2èôîzôüyþŽöÏ0²°™?˜ao—/çÆH9\8ØÃ,¥ *û“e€›)Pü!’†„VÇšàÂÍ K«°·ã»ÇÛð÷BhIó÷§~«V@‡·iˆ(ÀR2ž?Í¡î4èѼÂ\ˆð<AÓ@/èÛСŒÖë ÷Ùþ‚í¼£›PØáD ¦‡ f´1[.7,ß„ÀŠ ±-IÄàÆ³Ðá»4a ál ºd-‚@£ë>DFÅ ò=I É2è°ê£´Û×Ãd%/B¢©Ÿf÷Ø×óqcf •9XrÔÃÔ¼†Ô lË/TφJûГ}4ñG^@‡ÑU¦ðeÞ^CÌíFMÔ¾ƒe"kfø*“Ÿ›#9- D¼ç{pj}¯ÉÍt°g*x1\°3ì=pœØÐÑPˆj*PV€3š@‡3MÀvVÈ®¤%V>z²§?!Íz×½ã6а%7ë͹ù±ˆÅ ¼‚‘/CfëëgY–a.¤J6Û è0´HÔ'ã÷Ô=$y¼dþmaKÀdHJ6St™êƒ ’ê9è™ñ;hE…FµÛ|®Üù­ C XH€u7¨ {:¡žI0hP”‚Æ‚4ƒeÏ`H«ã“…$/j*Ç%g7ë[[ü>%:« t¨Ø"³!VÍÌ d¨5|&F¤‘-Kîr"± !X¯èt¢ùº ÓX}J…ôR0Ÿ&ˆ©õä½¶ûåÓÏ.¤íåzÎù|~»Ó:Œ³k8·&„Ò´ij"΋çAÚ î¹‹·Ö“Éì,†Þ-Öž$Cй·–Ÿg>ÂÕˆI!(ŸwÀQ™aÎT©èÂ4:žˆ óáâBÇ+ëyaݧ8­®ß¬»oŒ­ï Ã⢠µËnfûpcé‚M]Þ$öÜ!’…“°Èzñ§“E€¥X—«ðtX¹ÛRü­­Ø¶ûYx—B5Ð!dæ-(ѨIÈšÐCtX.RpgÐöwqgþ †¸×`gç¹k‚„ @ÑË}\wƒSÖãC%ãåòX™Ðà!äØZl-ž?B^È«da{œå6¾C7S¡ ÖRéídЇ}(â!çÎo`g›¦ Qaä@mu*#[‚mf[|le& ¡dìf`ÞÐ!€ èPQD¥ÎÜ>žæeÉË4ïñÖÀذØwt 2˜äÇ ûh1ïV¦Ê)ˆ‚œçM˜(`»¿Eh[-5y`h CJÆNâ œ_ƒ:?´–6Ðáå(FW¦7zÖº C ¢:ÿÝZ0„ö8²5 ”ræÅÄRw^‘ZÔžåÀã¬T4í«8,ÙÀÙT¨.ç™gÚ†ºàSõƒ.d9Dl{'@­óFGмt?lŽ'ö :&€Nt¾Æ+ßA‡ƒø^@f ·Æ#9°KR)Ä ©Ñ2èHr\ÃÔü ’جÛ7†73XžŒWœç^L'²nŽRI9unÓ‹ z6@&ûðé Ø¬°s¶ùúyJþò¼oJ-·ƒÄ—Æ‚~Ê ÃÏó!º¬Œ¨$„<—:‰ÍÆf[¬˜Õ í]åq  š#py~{Ðá²ÏtÂAÊãFR©Y·PøÇsÄŸñ:> r½ï ÃlÖ%¶ó5-lÁ ÜÛ4ô˜ãÓl‚R±˜¾»<Ÿ@Åפ¶dcZ„\ê†y3ˆÑiÐÅ/Ý5%‰B@‡`yò›Ð!:\´mŠïãètÁo¼Î@Ÿ‹r »i>B,ÇêÊ CK6¼sVŒT qŸ±Ðs»at˜ê^\še C"SÙ…tþmêc+Ïo5€—è<ö#‰è¥ Cøb]b[ø±é`ßï`8­Ôý—€j§“2èƒ[pzû$ƒg+ Ãu>š­!äsÐ]Ø|Ÿ‚;Bµë™ó+½.‘gƒà+¶„JJF.MUR¸Ú’eÖpŠÉ> ƒZýx,[óþR§ª?¾ã±&¨q¿ÿžö½•n|Ÿs9…QHu ŠÅA-Ùë€ÇO~5ʧŘ ˲ ñ£•‘¤5c')”—"5+ñnPDåÝáÒçž­g<^ëm9=¹Ùé=B`{^û(ÈcŽÃÞÕñ#Rˆðö"'ÔÕ¨ÐàYÈÍÕç ¹v˜¼®Ù}¼ãîäÁRrsÞÞn=t‹ýk&5[0zfÓ¥ïTKã®o0JÁ`Z\Py÷d¹q*öôO Ã¦P<—–ˆáÏœÕײ½Mîq«CÚ_ÎÉ(pë1o Šû¦êmC¥4³¶¿ˆÍüüwåÿ2]¸Ÿª-ky—´|vãKXw×ÍBÕ,ÚÄR¥–ÜJ°@Wù´ý0„›Î°MWïé!) ß{]Òžbꎻù©;àç㯤Rwž×,P¯¤§›uNŠÍÙÊïìs…@¶Öè€åÏxÜÙå€ï´, ˜=¬½®ÎþêÀ™ÄçÏ8Ëø‰ôTTo7üHÓõ•&¯WG‹ØçO°ÅÙùî}á˜ø";ž¾-“½¤:†h'¯Ú‰ýªœÎzíÆôÜ]}wGê{ìt }u²V¿Y^^\ä£ð&ÐÎf]v\0èüvøê³¢õ‚fËKôØB8kLV(iIªÊ%±!)x>nvl.ŸëòËÿR—›“g²¶ˆž£öщß\©i]z˜çàµ42:»(Ö6z"§çÕ=ùóf£út·êh|ì|@jÏ`iÕ6øGïë>âgzÍ÷,l:Ø5‰ÞœŒ«6«Xp§…ÍñF:®ÜÏ?ËeÌ)ѽòÛßÖ[dT 4îo@ùu»ój¸¯EAc¿^<ÍŠ÷È»ö5¨ WÜwª6s§T„7ËÇ‘H¯hq €¶Gþy.d//y ë6œ"ŸaKÿ ¶ã¸Ð±ö:Ÿá•ÿ7¢ßT=™Â–Z'#™E2ø2º‚ kÁ†_W·…ON™›%ãg f¾L9¥f[i¦oáxEW©¡wl@ã´GÎê0lÿ~W܃¿ú>¥yls2úög|ü‡<÷äÑÕAªªæq™ùR¿äås^/]ûojûÂÎ#ë6 t¯·È¹Àårþ\dvª<0¹¯îCè4ë`*k¶ù%û¼^òPÊ»a]Œ|¤ €êÝ“B¯É³å¾›ä{ÈQÞ]ã¬9¾¥×Ï&£÷`5Œ\åÞ¶vÍqÂÀ)ìî¤ PRJ£mw‰ÍÀŒ ’ö›G13o T;ËåÚQ ˆõ8Ír¿ü;FÕ·t—Íí«B·tæœóåö×ýMÕ–:”è§¿×¾7 Èô½ï{äÆaa7øy¯fü¾R¶Ûb.O½*½%9஋¸%žÒ¼O*^/þ|9#£ƒ°¸;í=±«‚¼‹ÀœmæyÊn·o’NÕ–6§_¿'»«ãgYP·Ë]ÚŦ%/ØÝ­ï‡v÷Öô½ ¹’ä“>æv!7;{uìr"[2ÅÈQ}ìäɲ4éÀÎÁ8wérÉü~õØHÍ$´i»Uºà&õ8ËÖ¼0è–Šy}ºYvLív™òø¥àï,¿ûîoU9j%u üÖž¸c©3hoÈß;¡•Vø‡Ú?~ØvÌðÔìÏuJÓuR SöIê¾7#6£d‚3§$_”ÜG°sŸåŽªæ± sé˜ÈAãècݯدÛFòA38C?yŸÇ‚xÌý±ÎßÉbÛ…r²à™ò›á Pêwù|·ö;.Gí ô P[÷?݇p¾’;e¬ÍÀa‡Ü\cŽÁ8„Ü!£éNŒÿTûÞuRêìh€f‰®æôq³–wšm”Ï £y9ÏÝ>Ìàl¥°[&°‰/_§ëùa§ùHÈy°~«3BmVVÏsݽµža,L[Jw—¼‰}åt¤‚…xVÄúô—Íó1žìOÕØIFÖÂkg+bL˃\ÃÔ‡s[Ý—àÚ쾫Ò0l§Ùxú€?­Ëö˜Œßœãùjùo‘ê©Þž97ÿ†Þ!ôb߀›ñ¡¸ÿÐ*üF=ó7¾›í0€$¹%›ƒ—wì·Íöó~Zß×ö6¡;CéûEüéÓŸ›«zÕœiߟ"k™@³ËžB[(Ò{…?áÙ¬QõžÙ¾ð©Ð#aPÐd×h×íCu²ž®òúàßtÐ=¨ó‰óX”ÕÏ5íTyÕýs½@íÃM»cuø%6Ètå³ÓÚ‹¦9'ì?‚Ûýú<€–ƒŠÌí…N±ÉzŸöWâg˜r!Ÿ·£õ`ÌóbÉh´<>OuÚmøhX¾Õê=PÖó%nmrFZ·e=ªª?Õî¿BÔ1[Œ¶?䨑Rá¶a4˦϶ è›É›,ë}L‘ÿœºM1´d„v!sY£Ng“‡ÂVëºUý÷¾»Xí«Êõü¨ùwáøø¶°v…_$Å8ï®]Ä's9ŽNßéâ„>ØìŒ‹XP(¶…}ò›óÁã&ãEŒz’¬‡CÑÜBN;úrß:Hê:¡w ‚ú/ÿå¿T,Ícb{.æv¹srà¬}ˆÖØÞ+N:{ÝÙ¯}ï/ëÿÐÏ64éG4 :*šgü°ðúö`âýÑæIªàÛÂ{¢„îŸ"D½!Þò‡p)rfÁ½ö ŸI`ÐA‚Ùú{\Í\%Öá° ÎÉ¥…ý_Rðq`·Tšò<°¸óؼkovL„£d=gœ~ =X>Ò8 ,Ђ“—`„ÞÆ÷à1d³Âw·)NN颉™õ ý÷Ÿ¦ mg^¿þÌÆ^çǺ ;‰ÿ?}û‚ZW”nšBÎ+%–S*2gŽ¢îm ·…À U¼½™|H8Ldþuf+#Š—6ÍBMãW=ßµ}Èê ƒˆeqÇÿ¶=Ú·7POßlô›PŸ¡sÝ»õú÷NÁ¡‹Í+&/Ÿ<¼;x]·HçÓ7(¿W ´6¨ÿÝiËR;Ðm¢»|3…h42&¥à,ŽZA×Ãg¥@àØVÐSp¢‰È7`r#Q3`ΧPüͪt¼á9¤èã{ÈmŽû+àømëodY…ëçwþìCÛ_„uó„ìÍÁ¿åÜ'‚­ ¸ïà<‚ð‘èܱ ô–°ûxž¡§UýTÂMt+÷ì#Úh}ê8†ÝcêžG³a»S -#‚nnôw" ÷:«º ·\ðºªiÏój@dO` ÉÆÏâúˆöŽV/=² /éŽÛ·lìéj) äaàØ0>’@ ? î¬ ÑØß&N‰ `·lXVó½eâ7·Îv‹„ÐÕÜÃ[m3Yi8Leƒ1ñÑ=Nƒóy„¹¨cÿ¬mBàE\:CDw0»¿@çøÃêsgŸ!Çûk¯éÊŸãR%ÌãÕ|4ƒÖkwÚuU‡e¯$5?‚ñÛïèOBìýÀhÛ™G£Sêðæ1$…HyðóŠgË E?Ö!·„ºóÓå,=!¥–Ëp¿?¸×nDô'ö¶VÙ¸ç>¢ýåIý‹x€ìn‹f}o:x˜a÷h9¨ýÎü'Æ?—~‡íXˆg¯ë¼nž‡0>¶ÓŽ86à÷VÛÒWs„¼%úÄy´ÁïK xæøÓ_À˜éO§‰3Æ£º)|¼Þ§æSÚæUÇγ eylBí8°gÊ]›H)ò»Ñ]ˆí“å<j:øùzò#œ?ƒ×ˆœc ±ãa,ôÑ m‹q ?/àá­¡Þ~¯c)EÏ#ßDSìríg4ŸŽ u·ê]‡Þ7ðRU®2ÃÉÎú¶Í3 7é€SÛcœç!’Úõ•ç>¡+âiæ¡›a½¸8Þ•_½·À1 (&æîš¼ [” úæ_†Ð~ÝyÕ3y;A˜wwI%´WØþ©õZ?Zë9É0³S·†î˜ˆ…×Å5n³)N©fòØ!öi f(Â<¿ƒññ¤êc¨Ž×ýÄÁ5X¡ˆg>$}1{?O&}s 'Ø.ô~:øm§®wb-;6zþÃÀÇÑnÕ'>³Üî¥#éš#Ÿoæ1Þh„¯.So3#!{HAÑÀ€v7³ÝS³Ú˜ýðùþ}á€ÝÍð‹Þìcš?âwíã!J$Ð^ˆ4/¦Š;°³Í‚ Îí-”S’àŽbëÂúê@ÿEÁж 0dIû)´ÓuÌüªlÿÓ¼Ã?“º&x7a1«ïáÊsðVªÒßàÎÇîÉù–·Ñ%N¹w­gîf°Þ§PÂâÌM3·¿™\ˆpì䥸gÑþrY¬Y6æ ôC»Rùuö•<ïÃÕ~ž ù‘Ï_·þqZì# hðÂÙ^fÿÆÞ›Ÿ²>9bár1þ¼·ðÏãõÎ[L†xxäÐ;©ÚÑQ8Ç÷ ¹.æy÷)a¦#è<äËÄpulùèéâïã~šâ¸»™ÙÇ{¨Ê [´¦»Ø _ŸðÎ>V}‘ñµƒÞY•ç)*D–½Î‡œÉ:îfüáØ1uµ}6`4ìÄÏ ¨õž¯Aç?|‡³;ƒ©‡Ý®„sóo|4þh÷ÁÌ{Ä+rpv@Í'!Mïct›÷w=ÇÉÙæzãÖÔ€~ÚÐÆ|gu̹/Ͱçµû¢·îWôôÿ %vñi~Žßµk¯+²Æð©wдõ 3/ö!±ëó¢ÓÐÙå²,–°Þr`ëL+ëûx3qŠŽßE?‹°—ww££[¤\{á¥Ä0ðF~:Ó”n?ûãù$1ÀO؉À—+Ò\h:‰¾a‹[bÑ-Ö20ÅPv~nL‰Å1ºPú&œ½~{àà9à ®˜©Ú lµJ{gC~^>èaþ GÚ{„†Þ,äñc0¡P÷¹UžÁm?ÁÖÏi¤†”‘@'Íþó(”°½PÔ‹ô I ºAÿP_cà¹å~Ðݧ9N~×ðÅ;ǯÒÇŸNÓ·é §4áKYÃõzký.èèf&Ú[óõYJ\x S¯.­ ÞéUßdì< §ý[xx6›¡“wÛö5bÉ&?7ŸñÑØßø™sφ¶@ëÜÈD´½9fç9¡_ÍPv›} E á8„' ߆)ªP4ÀY0 æ ‹óØìdõäß&YfŽ8)ôúdža«”ã³,º¾Ü?Q†œÕö̓yƒ#c=»œ›ˆ¶Ö×¼™"4êöíãdŽÃ-í§ž™>Bâ ð´bïÍf6êÝ4ÅI‹-þ”p8`ÖÏ r#”òð½¸Ú›^@ê¶ç”$J„·.ÿÖN_‡50ŸDØÓ>´] úöæ6|ÀG “QÕmr¥JîEÐ!Û0.l]Ða0$TÀ£]7†Foæ ‡ š‰ùt :üšÿ·WÝÓx¼Èö:œ\U[©³Uÿ:Ô;8*ÃÛœÈå¼jI>#İèP†Eè@t˜Œ ôóé;|Lκ tà;èð"{S]¹îÄð#žÛÜ!htØ¿k¯^ö(ò.§o"ŒÈúé<˜ºÇV«ò¾WiïïóæÄHt`%è0\1ï^~ž¡£ÿƒIw“v>ɦltà;èPÀsão^*—}váúÚtp]ð%UM_¦äì'Ãöç¥q;/Ùôë$žR›Ð!0qˆWTðˆ£1ìÛï«J5¼rq¹€àÿ4ÿ«Ù1ÉóVÍR¬09ŸÍñ3?ÓI©%n:œØÃÖïïÍÚïî¹Ô…åܽªŸ}:|ú\ìalW«öâ<_wˆ#m=ÀVe­ÿ\¬÷ÞÊ ž¾ntâ­vÐáìëŸU'U¨W„ÙT°6è0a«H°ýN]]ÛUyrá÷U®üþƒQU†?Û›ŸžJ@PÇ,ôrŸ^ô$Ëãï C&M¾ƒÀ̃yM C6ï†t¶¼í©DFF¾ÏN¿ƒu·nw¼€Õh}0qJ/ CþRÐ!¸® ÚÉG¨å`<Öªß]ðXש뀓%cŸŸª4C[.‚¼{Mt3ÜwÐ!@@‡öSûöxît`%è°«ÆnaéÑó‰n:4³'y"TÏÇ"$fnÊ CkƒŸüB‡.N䪎Ruž¿s|xl:|¦èO‹Ê6.ïªr}ÕÔ­è IDAT`‡õRØ  :Y@™¬ú Ýän:­q:¸¨ù™Öçó è‚Cé;èÀJÐádLèÖ»0²åï CpÙà;èP+u¡fÄž¡ümœíjè ŠÛëuWÔýÒˆ­ C>0pÉ÷Cvˆ^ÞiYùm{ è13ð"9ß(½€CiyKV6K>¿5Üòë9ŒZï=†—í:üúKÝŽôïža=5W´¿ýjv³èpÕíŠËkrç…±²’@ä èµthËÍçzkUŽ‹ Csüc]ÿÎ;f¤ÔØ!Y3å¹ó«zº t8ôI—Ø3hFÕûzZÏíw¾:œMo1Ëý+¹4šSáªò?~ªû[Ú,f©œÿûõv©ñ‘‡ÂµË.sïÏv)-|‘·šTNÏ«ºQ9TÁ¥X‰Tœ¦û»kƒùÇþFûZø!Ð!€W¬@x]¬×¹O‘/ïU CKA‡¼X•-/ ÃäÞDìø:$|»ÜNxhÞ;D¯.†I}ý”ô¼ôÝ 5Ð!€ï ÃÙŸëuÕß…ï Ã)šeYtØgë݇$ùôØù:ðC Ã4Î ää´¼Ú[õÉ›@‡«»Z|¨€¬ :f‡C„Ģ Ý÷åÄ‚QXN÷‰Ô\_–Ë&Ž )Þйì:s[­”_J±cî2ò½ìºäû‡… uåÎqTéüt8ÿTµ ¥ÑòXà]©ÌlNözÞ¼W°-èp'DXŽA‡ZA‡_¦NÉ7.è1{j C˜É«íÒU Ã¹P<ãtïhT>±„:ÊeÀîæC´1ƒ6$ò­cd¢ö`=·¬òÇ¥t¿ç]¯ž(òüATêj>©óé`°<îü:ŽuMü/ûp/,ì¨úwС¢¿¿»œn<³]Ç-‚`gÖœXÚv…µ@‡j CØ=a)"îÒ–¼Yùô Yç2Ð!$' è@+èÐ*Œî{ëÙ 'Èøï CpOWïåt8tŠXÖ2Ðáôqyne]Ðáµ»Êå¶Ó½[ðAt˜ä èÀæ C¦°ß¶ Ñu@‡²P½ÃEÐ!ÑõúÚ ÃY èª :|YîÎû:Ï—A‡WæÍ‚]Síãøç¸v ² :“º_4Jë9¸e CÍ)b:»É|mÐ!€FСnÞ)Rìd·KöÓ:,a¼›ˆ““ÉXLÞùptè”b{ßA‡´Ax\ØK=hu²¿Ó†N;ÿ’Pu]0£XÅz÷¼<¶ýœNå_ˆÓ\®î¹½÷Áé½VÐaÐiŽn:út6… Lñ<[È‰Í ù¼ t`%è_ènÕÉcÜÆUX²§Nñ$Tu=3-î· tàß:$Ÿ+B§àO{Vü7íÖã / Cð£5ãU²aFì­y†»®B²ÄQV‰ Þ‚V®õnÎòñ‹F”Œ¸dïõêBû¾_}¿l¹õ¶ÊÜÞ¬‹»oD1]}"Öœ='Ëš)Hòj¤Q˜wOú\* ”öàî¼n|æÌöûµ¿;Ñ.Š G1üƒ.¬i½eìœ É§k={/?ó,©ÇÎøªCc«„F•=ü‚ñè»=pÂ^Þ¬ Å¿‘3:¾a~A”¼5ýÛ¬¥/ïV ™«qq§ÖùÜ}Bƒ"ªûO¼*-ÏúE°å¤”|üæ|÷Ou—ŒA@UßæQÌÁÛOÍ¿þ'«ÎŸGüúdèݳïÿ}˜e<¹¥@0©¸ÛÚ¡ðå±nè¹wŸ@³íþ½Ö.ÿUðÀÐ)Œaóެeàô¡;õ÷¤7ÕDîT…[¸z²§Uå¥î0x÷±³@nnG¾c¬Øšk¶„õAQ;íhþ1]ÈY>î§8øúY0κ[mèùxÊ-u×Ïu…éèí žÝ³‚V?Êo ÉÂÑ=ø­ØCOý¥0Î.ß·õ÷rs⨸³Ïí<¿wŒùªÓ.îûÞËÇÊÙüë;*>«z¡óKµÔï_ÍÖïÁ0DÎýeß‚›ÇÆÆ…ì=:IÕàú  À,ªîmw»ê(åcðnÂãÓZk:`K`FÃÁ³ÔÇUx‰½”8WÏÓæ¶y¡LèÚu ~Jhfí³ˆ»ÕêÝ[¿>ÊWR Z±d¿DËUksëƒ{'I! ÍûT¬€J•ªAu#Ôõ´pHî#xnDw×·íÉ…Ýß«†³ã ”Úiû2‘ylR7r»o7ÓyqNþ޵Ì·‡·°}SÕ7ôy³$X2Š”–1…˜Ÿ«A#jûD·0 àŽ¨¿^×/ëÃæªÜXèPuÂâ¹ÄJþËr¦[ É‚¬Êóó`‚E„´~°CãX.˜‹s"Îð¬ÖX‡5Z/i7ò]$S ÎÖò”s]M*.&årÇÃUÈzãsDyæc\ý­þ[5ð{yIä{äÜÃʈ=#ºíA •±ÕË»@Èl«D†h NÉœ)î8ëTÙY©£ÑAPì'ÈÌCÏ,±l;T ºŽ¯„B€Ý|´9+aµC¶´ÛS¼W•ÉñâX7³à‹›h9h…˃]w}vç]»ý%jd¯ìCqâÉ>ôƒ"À²ØX1ëÄŸVJÐYÑÓT>ÚŒqCt¹BOIù(æÃ÷žÃ5€ÁKÆMy 9OÕ-Îõö¶ðƒNõz0ÂûLt£wˆìf9¯MĪî`ÄB¶¾9,’ºñ™LhøD$v¿¦´Ë¤‘v“Ý%¼b€–|„T•Nü:NrpUúT½¤N÷à˜²[=ö ®ºÙ§4)b;ƶ á—zÒˆJUÊÎòÑNT•]ÎГë‡Þc^‘Þ¯êá»ä'ôæJ{’µûQ†d÷a^‘³äì{D¥xëÛa~×Ìì…ôñµ¡;(ë`þØ¬Ž¢´aC –ÐʃÛ,/ÒìéÂx·û¨*‹ïþ¬Ú¾eƒr×Óãh>ìükæIh7ªÛʾ´óÆ$>]èïCtë´Ä·ƒŽÆ Ù!æÃÍÞÙô9VVuùÒè¤@'ô›y…]ž×yn¶KÒùçæúnKÁ¬—… r7t«>‘»ó: ¡û­n¯ÒìffÖ˜ø1g(Üu—³¯ ÙÂáZwãém=Ö‹+jAPŸè»¡ÙntõÒˆ¥~¶Êé.8³}„7'ºù„"2ž:“óŸ‹/öñVÖð»ÞܱHû½J»‰¿\nè¥Qµ‘ñ¼TìCÎ ô9h]~n¶‡®ëòí×Òè«P'Äï܃Úo¦Y1(—ÓG˜Ç{åiU_xõâžAÿuÉùaUßæyæù¡Ÿ™IAà >ëÛUÿ6²‰Lœ{ϯ¦ßí¸‹{<`»4 E¥ë~æî®„ð¦Ù¿ær`ÚUö„ "²›ëpfs<¿-èÊ|áØÄÆÚ;-â ]JÆfñöÞàî©=‰žÍêûÛ¬&÷g & îø8¡9è ±«Ûði»ÐíþºžNw\²ó‘ØJt;hÇœ…Æü¼ áØj/*¢ú½qa`דÏ;kv½ê¶ûð‹¶õ8j÷Ù¸qTí*·Sœ¹¼·:†&ä±,‰jŸÌšdElù*^žË8æ–w-æ•:¨B.å‚ï=t–Œßψ¿2c×ëÄB…Ø©ûVÆvóýлkŒ›ãŠçÝE×õ¿' D´Aܬë&ÙsfU“‚nPÜaÔx´îª ³až˜§çu†íÄt ³§Bn§¾‚—)’3{ùÞß–:å8£¡ï©È7*âGœÉ…?9Í >ôB§_Jcd·éå¼äΪg;_Qü§tȳÏ/×ë §æy‘8¼\[¶ŠrÉ‹[È‚Øó|ú3÷pðVˬ–ÉŽ³abª’6ÄÒ“'}a/õ Õ Ú;-ž©{Èëvd'K V×+ÅË;6êv{,ýiNä…™çômâSž/ß ³jì„c6³+<ÎC°GÖ]œ”l÷Ûôï:Ëc¬c{ýâGÃÊ„ö¬«ª¾ß)à0*e¡ëŸ­I÷uÝŒÖýX^¡ÃÇå|±sT÷ÙÕÝâîc•ÂÔ+ä÷ô_›ålømò¬žPo‘7j¶·þçý×wœê*ÅÇ?õÞÚ¿aóx+Í=Håg9j§›à9m¿ÍÑÁ+ø¹«v ^Må"Þ-[§Ni‡–jLÄ/ÙÄ¡sЭÆÒÍR{[Э="{1ìåqmQ+t¢›ƒšgƒ«Îzß/✞PпŸOÕà;ý_«åð³ßîwû ZÞpuÞ´>äñ’ðÑÇÓ®ÔßÚAÙò 2!¡z\ÍÓKLòSdl¢‡íTyr±‹éRºåÈùrOußuöøíUkÚ•l˜ÝªÜÐç2ö|¼U•yɲ"–ÝÍ:2%0ú<¯M½žB 1J…?ñ’ß= @ûENüë´ÙÿøoÏ„æ9ÕÀVn7«=lžÓ}f§è¥«}¨€…(.å¸úYd Ê+(uMêH<ž˜ô:¶‚€¯¨¸HäûíÉáù£æ:çÁä ëD^&WÏ »Å=qâ‚ól\Žg ­¹E8eÀHi9ïD>†­ˆŒè Ë÷¦æ ˦À™(eE¥™Á`öôÿB”êý0ˆÁ° ç’„ÙÎÔRüíË|†mœ “êÅõ ´ÈÀðÍò²CóH´åω]ôBG$Áµ Q=tK.Uj¦]&ð3?Jø4·Zþùô '@|̯Ù)3xtÁæòŠO(HâTŸ—Er˜‚i|—¿*§#L—ë4-ЙGðcÈ]r¬V•Áœ8F·«[]ƒQˆ¬;Ÿ(è'WP[‚©œZev!Ù0§&@ø(Ýp¬ùK“ËÅN>¶¶ò?n±Ôy“ÊÚõ oÏ‘”¢'±‚fÈŒ6b â: ZÌFáߦ`Rûx‘‚°°MŽRÁ§í ªPJQ´‚í°èvÚíªÀŽÁòäB°¾ÿèB-éÃÎ’BSž„¬¯`Od BÊà"¶Äd®}|g½‘\DžÁÉ…}”uÐÅÓ–¬d/ws{‘áu±gb®]§%¹­«<¦”ÈN_/3¢ù5¼›Í“h™ÞL{c‰‚¼Ä!‰Ó’Œ)ý÷®Žéä¿BX¨â‘wã³dÔ"f} ÇÔ×!•YÁÓü±‰t+B 00MbîKt˜åIÔtÑõ#Ä,ƒÙu±³ùs.w@#Úóe0€Uá#XFC‰ à|v Ñ>I@Xê€+„„²dŠ‘‘qÕàHœ‘µÅC­]¦ËŠˆ].󹬾OÃ`–ÐPzAgÆö AÚ”—âîø3¸¼ãWV²Eùd9àóŠ „„'!a¹¼M9]†g™P ²˜ƒ*5áí$žÈ~Jk`ÿ={ÄŽøãã(DP`Ã)R¦ùì]G×züf`(^áÁç]C…AB§”âLüÇù^…ˆØáÙ,%Ö%æUˆ]ò~¥…Fi ™Z¯aö>RTôr» d.Êy’Ðk òPS•O,ë²HÍÁºmõ<¥ªÏà™‚’ƒ2Gs 'UZgàÖ³{dHè'TºN—wô-Œ¬jKìI¸»Ñ]vÄÂç‹9¾èɆgS¢-Y@ñ ¥Ywen×ÌL“[P+€NOî Z®3-ŃPŠ/±ѳù½S;0 5û–Uh—³é jëÈ–ó›0ᔺ¾Ò÷,2½ÊÃæãŸØîŠH2²Æ`:#*`rpB8–*ÁØËð~@k™"ðô§ mW„ÇéàұɂëÒøw|‡!4¥ Ó¨ÔwÙõÆQÁ`ðݪßåMCèù¿õ#*“kˆ8 „'³è|iüð£gAË;]ÄY»Må^EຠR±]¾ñ®ÿvfK‚Ã<ƒÏÔ<Æ'@2TÄA¡ßOC²ÂÇ1}ÜVÕ/Z4!{õýø¡]‰C}×19ùqA“‹û›,¤€Ðçõl‚S}=ÀZšµûL’â Ëï ’d8£|Þ¥Ei˜¦¢¨Ô«öš(J‰ž¦ÒßpØ•Çøñ3Y…sý|g“¡€r,t4Fò26•û±u:ÖÈ1-™Ò<^Ó¥4° ‰­.]¿¨ÆmЬËÞ3hNEš¹ ¨õcQ¢` NZ{ÄŒÀ=b–8Šv.-䶘‹º(¶ÀЊŠ½eã[2Šw„Ãd,Ajè–$òŸ‘˜ÛJ&­ÀÈšyÈ`õ–:K9!hiu†¾˜ãá ‰ ”º÷t ~T¦áå Õ8Ò@3ä.øAR =YçЄú9FIqWš¾œÎ§¤%,Þ]‚1ŠÌç¡›'·­‹1„­õlÞ¾%Bê4ê^ºàJq éÚ³U,ˆ5u¤b€8ØÒ—Çp­ä“J1Ù3%´ËK&h–‚Ñ]ð9r¿º #”ü¡ðb åMq[º\> ~!^9Ã÷ãyà¸-ðJžçÁií|!QuûaÛàlé%>¤ØÁ“I!3xI‚CCn‘·} 2Kd¯»Y‡JšYL|sg£cðˆ9Î} ^_ ,Ä ûs “ô]~½Žu”+]³‹/ñøÙŸt:%gÎú`ÄÓ§š@ä…˜Ç4U¾yÝ™ÑøKl”êY÷Ó¨T³ °’j©S§=HÁöX`â‡=iñŠ«ÌkðûX•B* ÀÜÏ‘iÅY\6¥ò¸g!… aZŠˆ`Ý_AлP…·ë%yŒx p]àˆmç>=!˜ó·›uÜ̾¸@§s%„•º ‡À8‹¡ç2ý%¶¼ø¹Šæè2Õ÷\¸çØâše…ŠB&P±š>÷Ïtµú7f«úž¿ïMœôöJ||/´­æí02¡÷ðjŠP‚kðyä%ËnàÂc§Ø*7®¤åº,º¡'èdÈ0§C”v H; ñØäýîÒÞwU¿#L3$Va 4L+ËPìIý\G!:Ìrý²#0©Œ˜OAççÂÉÕ3{x´¡k<.§w¨9f=›Ú 󸳄ˆ¢%±RÇZdIpû¬QКÈzQ¥Vë¶ÛüÜñCY§A1À·‡Ùw€Åw•þ;vgàùÂægxbï9a ž©ÓWÒëtÔ-®×-”BÌ2Ì;<ðAßÛz•,‘cYÝÏM|²V7¶¶¡,‰c> .¨ö¸Ë·ÿŸ»HB©H“YÀ–˜O7µ† t¥Ý·V2%Å|8Åv "S2dòrÞ à˜%~“Y]–ÐqA÷óáæ~ªUuí\ìj{¯Ö Ïtµ~W‰ .Ø?,ü V®÷¼?CO_õ~-øˆ‹Äu[‚GUÞ\e.º‡"C‰ˆmš±ós(B=©Y>¹} ºÁ ](ZJóœn‡ ¦ÍûPX Q*Àâmh’†O@OudRðê³7¦sØ¢‰Oçr²âÖVnÛ6ˆ)Î(\è€ü†Ð©úþ£˜Ç½;…ÎIÐuÈ}è TÁ2!ôRgV*ÇØEQõÙÆàJvŠbeE ôÙ‡.¼«HFP­*5x,ã$¼9’a|,„À-UÔý^¯NçÜåŽ\gL5{ªõA·Ø¸•Œ°ßþÙ®¨8ÏÃpCI—G0}ªÝ`Îú üŽ‹/ #¬æ[x'o¡~k¯wæŽFìǧÅ{Ïø—¿$) •@%ÃQè=z[Æ[¿T÷wò®*€ÿ[¿è¸@qõê„Q\ü=ÛªW¢†ùxþŒT~8WëÝ~³`dÈ«…ÒÙaaö͇W“/û~ée»òȤbi t8,ÓQ>&n{¯¹:7Û­Ó ÅºK£ ‚€ìçÐ8¿SE3ƒ &Y³rý’1næ£ ¦¾¬/õêg†n†ú?7oÇ~¤Ö÷ÊÀ79Èž^EÉÕ«z¿˜*ª»œçÇŠƒÔºŽœ~ùu%+>-¯<å@ÍÑÝk7ˆE†°Z5óµJ¯k®KîNüX•kö`iSÄ|´R‡‹_¤æN¥¦êàg|¨ù}£ü9>*uæíê¶Úž@?!Æ×yCG¾Û^m]ß– ùçܹQŒáºØ;Þ]n¬Ï|f‚Îýê0Õ2S~!a9ÎÂÛ*¿4üWíuã8µÙñw¹öS„/ßš+×ø'"¯Ùãù~´YpÈ Úۂdz©=]_&Ëõnhb¿`–óˆ± @L‰cí®Ÿ˜«<èùÛˆz,ä,”„G¦çeo0º¹>CO㾟Ã|nîtù«“ »Û<Ô€ìm)ªŽoF`…n{7-[ÏYœÄ#ÎzÝ>ˆh¢_:²»Áhu¨jÒCr8 F)Ûb$χŸªrNo¤‰§Õ¿é>‘ _½?ëó8ZÒ2Í4áÝŽ±wØn»¦7˜Ý2Þ­µ†Ìy€–%Þ):¶åϘø¯ƒªìJuñ;¸¬ÑžÐY°÷õ;róŠàìžÐ§IMÚ…x½sãú¡…ÐkOÄy‘ ­ór¬hã53iU–‰u#™ê0=30 šßÎG–1Âêi j\µÙûgHóªm¢' ºÐ‘Ð]X³â¾)Á‡2!︽ð_u;G…=º­¾å4.ÎÈUã£Çf_öyLƒŽëd/ÆIZ§y3&ülz_ΪúÎ[(¢‰¯‹óµ¿ö¢_*pêº%y[_ßÐA(TéÁ¼Î IDATÕ—¦ävŸ–fNKöÃׯï”tf¹CþCîx{ßÀ¬ÿµõ{yBÀ¿j¦iú$’ƒ‚öûC(ã*ÿ{î[Õß§Çudþa©’š3vpî:‰ïy¥€o‚wü!Xr_‰^süÓÈcbùØ–·,®æ«ÇÝ<Žª´Ä=Ôm|e¡û÷á‘·s¾$ßNÖ¦ýLÐ`/tfŒTR)³Ç5ß…Ñ.ËTí¶UÐÒaŽ81KòûÏ…®†Ã¿MÈo9ø#B÷žÓÌc¡,‚{ßÍýˆª?ë™Õ5Möž ÍvdŸ#6“Ñ$ÚÑÓWÉ’;ŸÐ¹±wVðg.¯ìæ”øÇ‡Û¸R«ã-3)ñ6Î:ÄŸ°¾.ï Ñ0c6 ¾u÷"×nòN¹ÊvÕ?~NÖ¹k íº ›r%zêâƒñOø±%¹åì7²ÏBû‚í¬ß½"w ¶Õ|<µ¤›Ÿ~H˜•ȾiªÙOqãkÐ*0¤ªƒÊE½ŒÜÛuPå}å4·7¸Ctxò9j–ÛV¾zö—ÞŸõd!ÙÇV¯™fü†×œ$)Ҵ࣠ÔMÝ ªþô<½ÊnÕ“øöuýÞzß~ÛžsÐ_~Ê}NÇćøU4ÐÑßoô[î¤Þj_@•:y¿­Ú¨Ì1ñ72ŠÈwå\úmÝV»Ÿê²ÀÙ,JMŠø~˜è Ù÷¾~$¾¡PpþéºGù”•–ñs,UýÝ»R¢RÿPçÜsß:_¯lBgŒä‚.åwä½³!9[þ}µsrl4ë‰ÃŸTŦ'Élöõ‡ª1!vÄYµ‹ùÍ1­Äž@h(F½ž–:‰>=C’>äq½õâ×ÏËcrM8B@èÅ}Ìp`dÐó"€í$ÍåwÕÇÌæN÷ þ>òe’Ç ï™ú:²Ü§ŠJ])馎: ÑoNŠ€rÜ,çgláãŸlÇx«ž•θ¨•Ç„ž'Ó³å¶K‡øËþ Ñ%‘Î}úÃôD/Œôå;E>Æ(øÙŸªW”¹Yn{nïX®/€§Ô]rWw»Dúþz>ž¸GbÕâUæIuÿBÞõl’m~.úñۊܿԯû¹£œö$ºÙðÜõñC}Pœ÷È-Þ¥ŽRtÔ7õ˜´ÃÃ%ˆý‚×ùv:æ|ú–«Ç€>Èí²ß ‰Œ:·=dA!×µÑBª4)køÔœGøc¡S?®WèË¿íÂm°¾ùu¿¥/¾¢,ø}Ôç-Piû{ߤE¬ßèþÛ©Naà¬gôÅzýØ1Ãú¸È}Å »^ž%‹Š|íGü5ίÞqð\œ;ŸÇ.?Wyh*긽%òôèÈÉõ<×Ü)š×å±Qš ˜ÞT'JÐYõ,œƒÂç†UÛM8]Ï^»¶«ïpæÍÓB'_öŽ ¹¢ÒËq/“± ¶%ö¯ð…îJ oF¥æPÆzòPbgà==;q eŸy•,6enÉÈ]ˬŽÃå€íƒàu“ Ôê¿Ó}(3™JáÚ1a9u´“@—ë9ïlFîÊÙ%4«ít‘îT}CÚlX£2‡Ì¯(ÞMX Sb.¾.÷¿šËc7¶¼¯›öÇ^– ÷n1HÖóGÅ–‰º÷:¹þ÷ Úõ¦¦Uý“Çy•˜®ìæÎÎBZåmîëî:ÕçuƒBÏNôºì8>%:J›mâ8j—¥N>uQU¨yž'í¶ä Ý1úiµkçóyÍ.Ñ]^H# ‰ù¤zgXV0Ö¾Ï#º€~,Wcþž7€PšÜ?M`}ú«]Ž zRÄŠœ¼¨†Ž‡—ø ý`S(|ô±à“€ŠêL´/ÁÊW¾rÖ#JŒ:È;E™UOXð¸õ…‘$áp!pÁ,šOæòö¤ÔÙ8m,ŸË>›R8U_wæ]¶Ô}"Læ¥òÎvU¨Ðÿ¹<¤ÐõÄæïÆÛ ±8fë†d8©ßï^‡ðJi¼£Ó02fä’ýXr©Ã·ymϨ: Þ6'mïΛ6ý®`¾Ø,ö# (¯Ø]²ÇéãªñóÄ6;ÍœßLëÞUAçžîAØ®‡<ÄE›ìna‹jÞ“UêVd0UÁ씫‡„gô_ëŠ0INÇ2El¶2¢^•#¥Ù±ùU­ xÁƒöû6”q>r{ÿ°ÑAâæ@6« ö‘.ÀÓlD%¥ågÜûßð4©;ÛôòÀÆÐ"Žy6©Ÿ[w§.'ü…1m–Eþ¿ºF^¶³bükZꌙ ׋Íãöà_à}…6%k ÙÓE¦/ì¿Ì›#0?~$ç/´‡ëlŒÙõßàÎNÁämph—ð{äÚ«uƒÕ²,¯=©°Ø MIˆ ›eY¯°ËðÇŸ˜9b¡pøõ}3]„íñSãóõ×# Åûq•ÞÙ Z­1¬µYKòñ»â®¶“Cô‚bm ­î=½ºnj¶:Óë½¾‹'‘ýîåcÚÒml%B‹1]è×¾sÑþÐ~ˆ8DÞÄl].ñ¥výv©[P2Xÿ|½8Ä—) NêvÉ ­‚´–¼ºQ³ú{ô »'3àò¤ÎÔg¿”«Æ†s¢¢ÜL­´%¸\wj†Ä‰ùEZ_Ÿ=Íþ†¶‚TK ”Ãí¨Dg—è AÞÁd>®Þ‡tº<`G½AçM³Ž´¾ÕƒÓ®<ÄÈÕA)GH­ÍÁ+/Å ›|Þè ¾jã L‘œÓ­ñqš;&ä}Cs ÙËmôcBŸ½ùæÁÔT5 ¤Ýõâ!‚;*îö1¨Î<ß‚”?= |D[²CÐS"ï©|l­Î=óW¿ÅI³³»NìÏÑëôÀ?¬W“åz,ÈÇ|wJžQFŸYŒH”ºl¸Ÿ×m‘‚Iɾ´ ØæóÌô%A=†C=­ºµ§!±Ott¼dÑuŽ|Ú˜ðÄïÜ6 ¼Q…sý€Ø‘ÙÕ5Y9Ö-cˆ<¸K«÷bì|u¼Ø9-uŠ”Lâ ÇûëfÞ•: ñ_]7uþÕm®,U®’Ïmó3íí‚\´pï®rßåãC' •¿vÝÈälBÓþ¶Ž/C²˜@ø±.þÀB§Ç­óŒöhb„§éj`T:7]­0<)¥îIIP÷ƒ&nPc³U™ïCÞ«ÒÅ$˜ýIxH/%Õ²@„³EÞqúa½„ð³Ëá)(âŸ.›ý.›Bl˜çÿ‚¹]ý}VÕÇÅEÀuGÜF3H("wÍìuãÂ(î¾ÿ‡YðGg$®§íWâÛ‚†˜¡ Kn–Q ÃéíáÜ<&˜¥ $ù×õý³Ûê” ¿—™ú ªqª‹-?=çVßævè4D§”€ëËê¾KS8ž®CDG Ö‡ã4Ç‹´BäþX±úÞX[ëù#â‡å²LÕëv®Q*–Ù۪Ɠvþ0 ÚˆÛäÜ¥Ýï_F¡]ÞµÛlŠ¥Â+u^òñÌ{Æ^´ÿCçv1/Œ£ö,bë¶5’ç$÷×Ð)tŒs‡IÞ}äËœìû¸!ÀÞÙ¾uù¼áTŒíº}´¿ÐY×_2–ÎÈÁR§DvD|ª[×}³ì`NÚ}ÿÞ÷bèÖ?kŽÃÑ[À _Ö óâ~Gk}+¾„]Âux<4ÝZù<]S™cŒi^ìÀEÄn•Ù3¤6°“ɘ&T·~†¥âê>Ä™PçýûYas>މméuzêqÛ0µÉÊ5š àÿXúë6(·=¾»¢°zVwýªíO— >çç%À»På=-+ÞÏ.t‹8,€V}f¯õ½X߬X£Û³_%#œofc× {gë3&ùøeÍ]ž8JÝº.ì±§øÑ³W]§ìÈH·ÖÛ÷Ð+âìÒ ã‘ ò›ßŠË´¹ðÀ³×÷½£b­Ê/Íô‘x2Ò€Ea:MgçÇâ낟–Æ‚ J <™øDÞíØ|†ü÷‰±ž/Ϩͅ¯O$cŸìÁ~)®!{Z :?Û¯Óm"ŒZ¿oχs€˜\*R¶©$¿«ò™Ò(¥Ž¹Ý£â»[»:bÁÄqR¬£GΆÚ&ÿVîr–6u»J ]qå/× ŒÐ^„85ßùñM±vÉ#2>í4Ç£M—ü;ñõàÞå üc³‡ªÏ2ü¬Ïî»1ô¼#’lWu¼ ,µóëfþ“ à64;åvÓÍròTö"éJ±‡°_—󿼫Ú§÷&NO ëRËcaœ¶¼ ¢7ù.—©Ù‚O6Ç\—qnß ÚY¯áDŸÁNŠçY l{GCÑ>"K«º‰¾½ÅÖ¯fi¼w°Ü¯ÜêµûµR>Ötü¯„’Éõ¦TÔ¥•òó™Ø.ǽx=|J”Öý‘ùs!— ×\ˆ=”¾ŸORqùd#{šA6 hÖz±²'g³ü¡õiˆ»\¾ôÒ=8”áL©Æ,7ŸŒPªX¢:ÕïØýzÁÎ0Çg¸ùTs¤¥ØH4hŽËøЕmdLA#~‘+Œ”ªú‹¡a¢—§Vã–ª»0©S§+õ^%ÛºÜv™f<ˆd|» |“ «zÏú³(H¾É»Ë»Òív[òyTµµª.âÿ?öÞkKr$ÛÛ0 p)+³²ZÞ¾|â7ð?¸x_ùƝëÇYätWUªÐµ€thðÈà™}gf-úKfD¸Ã3;zŸ}X£å¶œªG†D ʩkwŽaì^«û º§pÖÔOŸJŸÐ-›NiYG[GÍïÒÍg¤ÚOC ÂáÅ·×%ÕjDe|ÿ}“µÿ×ï²_>_ù”¾]Øe¹i?èËDáÀ¤®ÞËmöÿü¿þïÿò(L7>˜y8Yq³Ê`JíÈ÷U9mWŽñÐ_Ž su,jw,ó3³çNE¤¸º:¥~HME¹î¥ ‰€€-AÓ–¶*qóg@|£m*½![£¢ƒ$%d+¡²7)*Ù|Hï€ní¿ÚcsÀ9_BìU÷OsóI(§)¨ÖnÌâce¢èi¨¼|hˆÑí Z¾ÐªÖÐÈžØ,32ãÔ”fS®)¼f¿ýÌ©Êq™ %5§0I÷îÃ` Z§ôl[qÝhæï/Ât© ¡[c4t Yö|4z:l° ²Ú ^åÀgä\¡T~³ïq"€5jãƒÜó%XO†mºÃí³¥"Þƒ*žb2£PkTºqr°Æ„2ýûƒXš@çwŸë´¤Hg|QkWt™pRs¿.ÒK¼ŽuÃÕ]: #ÍcAÀ©¼­RIÙA›O2J™Äçä¦ü^~Ñ1·Ÿ…ÖFŒ®¤ &¿-{™MÁµ$؃ÚȾY¬<ŽP¹]Y0% \Zí1§>¿‹¼q¿BQ ÞáC ?ú%Ö?=88ô‘n€•ÂãË%›]¼Ö% ÕèÃ!ãÓ¥‡AKr'døKæÏïÁ"I9ò‡¶Ð©/Ü+ÈåXBBäcÅRWq¾Š=€–£»|ÂJè„ ‚Úˆ‘«6TfAÐU|u?£Çú­‰BJ)<)KxÐ’|”Ðý!k4Ì /AômÖ"UÚ2…ÕôŸ~J®!ç9XÑ-¤=rmŒ„®&Ð¥=£zc οÂ@ç28RŽe˜!_.1P› Nas>¯´?™ÿ5â”nÛí$rAøvûÉÉ&g6K¶íDnˆ°n¯!™Å™ :h5ì«Æö0–º|á¬ð†½B§è’J÷¹ʱ5Š0×(Q¢Ÿ,0¨ŽŽ!!‘¬ä5¤DÀ,Ê ðT®™œbÀÃDt~¾×Üß aPóy¾;€sáE Ú­é­ÚèrFÀ×À€÷óŒñÜÆ¸L¦S¨%Óè2‡¶Ñyî_BæC¬Õ¶ã>²Ñ%Åï‡Á-D® HfRéÁլΖ¨ì÷¢ Îc¸…’Î 2Lm°…Að$7n0 ± ¥k‰O—Ňñ¦ñônÅT©ä%sÆà6@IiÞîã å¸vUÚùâ-AâSÈl¿½â¢mÛóûÃ]½ù{ÏWÀ„7³Ö’h2HT)7½e *"€ÙT‚¢VïÍe—LÁ  ,ã£lîZCt[Ÿ&ew]R²ÐÖ¨¦PÇ,Äd ¾\K22÷ ÂiUˆÑå¢DFÄÐrɜî¦XRSn[¿A”N`ˆíúE®ùÁ]Ö‡€;˜bÁ–JǃUï9º‚¦J b{Ñ,®™óö3|s@ˆ Ü HµQ°›€§Çý¶(d9ÀR¸®‹®Èa]Æ–&×~ö¬{†.#âŠ3'øwÈÊ yåç  Wš¥!’"|²?b àê Øíж7€ëh G°ðYªæQ¤} y,C´¤b†T-tÕƒ³†.Ï‘ ¦q/éáb¤YŽ–Óí÷¬¸/zïà|¡«  33O‚¬õ;h·Ÿøb‚ ?ˆ Pñú¼ÐP±r®!‰ðT.‹RɆÓ¢Ïcê)Ð4\÷xý#Ãë}©ý\ÉÂó˜5¥Ó>þiÍq*)˜®¨ÏhžË–tƒB/ÙIÅOº€[?†)l?c’2ð' ø¼)¯òÆH©d½FÖ–°çÛãì,lêäD‰[`ík>UB¨å(£±ýZ©LÖôëh^‚Ò%òÌA^kX¯C0aaû2X¢KÛåœIÛ1åÖ¸ZP˜2‡(ôÁ×lDĶmLçÈ‘sn7‚T{í±Xi'$³¸F_ê#žˆ' ¤þñ²&–~Æýý Fɶ(I#—w3O :ûã5²æ!ÔOF\ÚŸ2†R)Cœ5c[½M¿íaàȬ{PýSއŠççtÜë+°Îv!d½¼‡°g>&wÃ;—Á°»p¡¶[#vØ"Ih9º­kî^aê"«9iYôó‚[È‹8ý°^Óu†,¹…$w×F™ž†@VÚãa6A7]#ã÷ûd¢d@ŠsÈh3g&är¬ò ·DwŒ&ön'` …5÷KG©>/óöI‚ÚóÛãX·}ó%5.ó° ‘‚¯±;æ³Äm·üïc‹ïnÁÕ÷æ½y©>• …©.ÆÇ¬–b•ò0…ãü3Ëà­? h¼¨´«…IŽp5Jq¦©Å‡Íx¥%7 !ÚÏaw#® C††TùœzÉ€—B_6A¯o?A0‹X[Úä.Ì%dJí•…¬!›ßy'Æ„, î¦üÝÁé+<ß<§{ÈÅ¡˜ÇéûŒì·ë27B‚ö/’Œp© ýþ\ºöÀsÍ=fŽŽTü¾Üžs¿†Xka½ê3ÆÖ@•š8€L·uv,ÁmØ]>û~V´c_«Ñ?!i§ˆÙap¦œƒÑT¡:סÜÔë I@„Ê–~˯èðÕÆ³A÷‡?Ë-‰ðªeüçèÓä$†cÁV’¬æ4ýöÚðwòÐÙ:‡RÊbJE,Å S8 *ˆ3³„!û:†TŽX$Ä@žoŸÝ/Îoè‹'G=óÔ¿‚ÃÇÐ8ds§Wkòå·ú'M}:hKžœ¤»‡‰*dG²ÁÂÌÈ~¦¥8Þ}ÎHÚ¼/Ílþ|“ÍarÇÕsºt·NjNÀ혨V>„Fšzg-D`¬°mܱϒ—zÚhÑ[͵&÷Ãd Š(Â’å/fÍëŠq€˜k·=:ˆ50án‘—ΞÍ'D÷þ¬…ý[KD$ÞÈQgŽïlï—¢á|¢BípÈMÞG¬ËÀ—öMØÈsgKpº !$P¢ýöÓª3xRc*šB€Š r)ÿßt0_#+¿W'ˆjù•@4Ðʼn¾ÛO‘Øvœ;B(þ¼˜ ˆ8‚‡è§=‚d£x}†Áu¹k@aMý`Ûö€´ßcÿ”qŸo @,óq©R\×”‹õÃl÷Í¥t<†P¬ô ñ 2ÏjnÔi>»sœõ|¹_¡§Jøý‹‡“>ÃtÉAݱµRª@ÉJpç; á‘O¯Á©‡uov3gjXäk¹w•ã 1Ba,%ô7š%±?nú z™·£¸¬á4å€Â¡2<.Ãþ<ômnàT9û§éŽ9[B$òãèo.Í2±räGè¥L ‘p ØçÃý–1ö¿Íe|œz”q›iš kêTXŠ÷ˆÖ"$þpqÛu>‚‰ƒg—ÊæˆÓÃ÷¬›6¢'2öȵ®u²Ã¨_E.:%˜dxáCï  ÃGå}µB¯spõ tèß !ÛÎŒ¡Uçƒ ²Œ KÛ5(úÙç]]BZ¢Êåq†ÉIr²?aE´vC^Ÿƒ–#r¾‹ § Ê6²¬;è‹]ˆšw½šJuÉ<ÈéöývIñ ÞÑëñ Ð!((Η»k£MСoÈ0¦C$¢ ;]àD`ójoýT@bt{ÛÎ ¿˜!—«5–Ïo Äôò«gFKéTèî þôÄSL-/;-Îsd·Ãdå:$®™ÀœÉ°ñ¾¨ƒµ ‰ÚHÊàw>â¡h…t/°î÷èâèâ<ß Ðáã5º»u®Ø-d4å÷lr-ØÈóÝzð<¼ÇI>[(™uÐ!P0<zñÝuС›ê`$¯+ÈlYê%cž:¼²“GǤdÆÝ2‰Mô.$ÕC7×*NŽß«¡?†.ì—õ¸<_û@‡­ú^:„}š‰xoðp¿\A7»Ð¸ƒqfrëA- ¼š"wŸÕ^½*J&àIq/‘ïŠíÙ#&¹æâåÓ\ͯù:<­p39Þ°2<°˜nzZ‹(ÑáB@œ«à¹vO*}'…çù)øDaï!Õ@ß|‹Ã©æ‡všAúÛŸMÏG = ч O•:vtX-–€,ií¹7A‡š2CNDHä'¢²AôGÐ!èöY©uª-ÝÂä!‡ùŽuŽËÂN†L(ÎQèð&º‚¤?Ï´)²H…šÏ×þÜÅàL~¶^¾02y tø#^?Bœ`‘(Ë$p<>Žý€d1Æ(Áܘv[ª±‚)\tXj‡•Ûýê0¤³èðñ,$9ØŽÑuС¢­a}´Í$í¾/°"ÈeRc}5ët¡¬çP% aiûÇÞSm0Ão‚¯¹P¬ç7”êÜŠÒÉŽ„3E’fˆ/ÏÁw«qV¢[»Ôv> À)Íóo ‡¦Vûñi=Æ@xúyÑ"8jB‚U××ÀÙë@ƒ@›ºS®cˆ±?!ÝÑ E C iIý/ Û±_$•£¸Ä”qNHZA‡òæ]B`û <‘—Ab y 6H7 hº(`üу6`à2™D ™1M÷1c ÌÑÕ¬/-ð¯ ÈæVš< Q+ù³DRÚþÝŽÏC¬%À/×1º%@! oAènÛ/”gŸo)€JbówI‹ÉŽÊI*໣ð IDAT‹‘Ìå8† Ù"‡"s[ C5K×tÌÜ%PØÓR§’‚ä*†~rdÂçfÔ@Cp,½r™@«ƒ×þB ”· :lÝwŽB‰Äm]Êl l¿SÃyf³‘ZóQ4±wðý,Et` t8§èÜÎcèf±if@áÐa!8;Ä.[à¤ô-΃ö¬}™¥#(dûuzÂà0X<ÛÁš¨ˆ'àtóO>”1Îòí¹É(J‘åú#è0¸´@»Ò#èŒY‚¬¥Ò½ø ¬[ø ÷öoPxü‡üÀ²Šùé3 fÌT1œèj¾/‘Õ´e¹³‘ÇåY×Äm>†Éíò:è@áßhÇŸÉ—‘ ps˜ftàt¸ÓD+hÜñ`÷cA‡Ÿ!¾/üDæãÁ‹0 $9*}¢öxض/ –`ÄÙzEh—Õ5 dS%€´ä05c¨ÉŽBCmòÊ7ÐáAùP ïèÐÁ¢!—qæný78ù1Ó[z( íÁØ_ƒXŽS¬ƒgJÙÔ±:!õhtøåã ýÁöÚn‚ ?±æ·ÒYVÝ‹ùÃúF4е†LØÎC¤énsmeÝct8?÷±ø0r Vr‰< —“ ¸ñ¢#ºÖ\ I«òn’Í#sDžž%îl$ñ T)ö€Ñ^mnÁ¯48Ù’²[Þøœb)ÏAã8÷0t x_°ô…ƒMÐaš„@ àÎù¯hżÛ:t ½†£:,òÕó“ÒžN¹THòÉ0ˆBR°¾‚t|¢µƒGcÜØ€¹Gæ–˜ƒÐ9hfB:Ðj¶ã×;§{tº h7IŠŠ 6¦ÝΆXJ9´$É>ýgg~-ß'¯9$Ϭß~:ñ bI4ˆ>Hzø‚‹Èƒ\Ö#(­žß²×Äæçe’o‹¸øøò?íN÷äy–Ù òx†å>Ò²¸=º´'¤{3#V¶"¹ƒÚF™Çµó;tIÇïŸ=œöwûŒ9Lür¨/Àë÷ÄLèЊ&H¿†`ƒêì»7c0ó¸¼óí è q¸÷RÀÆ5:ùèpk¿c®¥Þ¼ :,ò¥M]äGd¹=ŽJÖ3 ½W…z6’ h ÄLn‰û4$_Ýl±FnÅ«‹| ,Oùv»ïhŒtûä\j€é”Ç͡նš‹Šê C’-‘—dO>æ:}Z":аœ-=˜œˆ“t •lû‚!™€–±¯ˆµýsw íDîöc?= t¶tHElœ!Q~\ ,Ö_ }ŽŒd’Ýöë—"¸¿ÿýï;Ÿ"Ñ4P÷0g¥¸VÊÛ£i¼…Ú;Õ\¬A?È?lî9¯KÆÂ€Í!E}¸· ´·?úe-=˜ÝJÀ£‹)؇h,„»Áê8–W8[îzðÂ[HÎ+ðƒ§³Õp‹[ä½·ˆm‚±;!Ñ!VÙžQ0†Ï>ŽnøËGüËv2r®èûö³×6J.Áh5j!-Ñ » €î¦þ¼šÁ|œã¬ÐNûyàG ÒÍ¿ùáW(âvï™±†… Áþýun,è?™¥“F`¥•²tÓÏ#ßA:{ƒ«x†÷5͉ #Æ=^ÇÆÑkH}>8u¶ô1ØQPT’·=& ÐLH®…ÿ^¯<ÑÁÑÝã FÓ/Nž.[JâÂoYZüfº»Ð&FÂ’1!Êd0ÒNÝ»Lܽ Î|Í7Xæk¼ê§7L…M¼£ÞûëÂÂßJ`Q xüý…†Åèí`q¿t>ágýÏÿò=ûŸp¦üúJ„Ó©ôÞí¯Þþ­éôHp”I›³`ìa’½H\˜Ñ}¥ 4¾]:xÛ->{ç¹x£çðš`ý€)Þz U>¢ÃØYúö™¼ x¼•RüðòFP_|8ø¾Ñl…ƒm½úåw ükÙé:$0^fH×&x¹Ð=Ww!Þ¿±ZŽÐ龨ã8®àîèÀæs )wü›I┵qëd™nSO_8>èþg%® ªOúŒ.àR8ê<9T}¿ùôJò¦]‡(ÎüÃBêXôsËê:DçeáÀïºAçT8µ1]–·€©î~N¢M‘¹»åúöz·ï ]G Þltve@jjš®u$²ƒ,”@ÄïÁd]ÜÁüð£ÔÁ ~wÒÖÒD˜{F":ËkèÝw?ìÌ¥ÞwÉÞ™«fÿ„ñáß?“ç¬éoY–qe‡8޵ä!yd*~È€w<чýŸœ· ”cýá!t0ãY8í4õæJPщ½ç­aœƒoß­Ïõ?mýþ³ûÒþ×:‡fþRÉ?F hêÙ»+ oÞWÏx­ñ +ÎñíÈÂÛûŸÿ˃?þ¤ã~žãuŸƒãxÐõmä& ðyžuáA«u†/¿ºàþࣃӣ>/Š@Óø'Bs\²ïM¡¨'OÐa¨újï{xÇAZch!Á‹Ia›Ïa¤û“ ®žBsøgËà„{Àiþê¨÷f†b›‰¾ ¯k€}göúà/Ç'=–zÝÝ>ª7™A=mÆ…³G&~ô‹¬nu¾o¼àÝC ­7FGªìÔŒ#ä•^àeù£$Aˆÿá^âØAx¦ãf’â§Óýç+0¦ìˆáéŽf’…Œgxa~¿¯´ÐCô±´ÈƨzÓôaY‡ãfWä¡…íþôèŽÃ‹7…?=p`¯Šÿ¯ïVß´û›3g~\LG)A’dÆ>^Ö˜.\4õ_¾¿ÑEöüË¿'òà_Þ‚C¡c’ðݬ§l軼~Ñn³;‹V½ïó/?YŸðg³Ša§–‡SÅÃeŠW?oŸëø!‡PŽt\L,ôNM\$c| gð.s¨?·ëcr{‡ì훃÷›K‡³PÑ3ÄôÇ âŒAõjü›ŸåPÈIVGž¦¯{“HeOÆô>ÿºd`͇8ãªØËØA ˆ³¦ì‹|Žˆ ‘'ÌÚŸ¨nú¾j:‡Ç÷÷Þ‡NL,¿~ýðò_"j xå1¼Á ?¡Ð-ë• ¹s|#ˆÌM±ÎO~è½ÍX€Ás¹0Ê¿øN½‘®‹§ïiPÊ[7‡šoïI˜^@ä?<û+í€ÀØBñ4ÿ¾|Jt{ööüÿ¯Zl”ÌÀµL¡òbnÛ?‚$iwî] d¸R‘wÕ —&ÿݞͽΠ½{Úù7ˆ;s’b&AíHðVÇÇõÁå ÒÏ@˜ñq5’Tuþ×”?¿Ã}Nñšû1kFnydo¿Ofäµ Ž{_²1èÔEtã쇿ü¥»;_ÍV Q§og¬ôÕÎ]¿h–¢‹n¨ýëÎÎÝ Ú›r7§Uæ+'Â{Áþ|ãOÛºÄb ̨9"2’3°õö9t&9:ú©|ú]÷jÝd0*®¿ºè½<¼.‰ç€–§ÈjV£:/zÿRÙŒgCƒývÚ¹ûú›¿>þ|é[xMe0Ö<¸J¯ñžßŸó¢wî^¼ ÀÒZ k6Ÿ“Oe¤|³n´üì£û§öåê>Æû×Õù¸¹KñÓ›j-—‡n ŒË3 ·ë`¶»OÞüùéñòzÎAîß3¡kœ¶\?+Ϊ³ùëÒÁߺúwí£Îœèù,ÁNp ]z»[‡­CdòÓ›i…88b”ízÈíg“äëv€šèD¸Ñ<œqÏgé=¡úcFª'IJŸ‡»˜ŠNÂdžAÃLðiÆã½~ÜÞÙf†µío¤#ð^ýÝ7î'ü¤=¿ºɰ’)~~£á·[ÿöv»Îb¦2,~»¶œpsмÿýqÛö*­]w šÿ8Üη×|í¢/gCóôÿë! ×ÔöjötÍÑÚáňþøŸæçY0ÿ²ß^­b¡é›aŽXä`Ú nÜæ+ Áj©SìámxŽ·ß&Ñ%Äd¿¬‹üaÚ<«¶ó†ÞŽgÑì ®A`E>L¶ÀšD`”Ÿ&HO ùþj{øƒñ}òû÷ S ü»¦­q–Sxg/ñ♄a ûí÷zmA–Û2I¶¬Íšo2UO@ï(’7ÇûÂÑìl°;?N-‰Yê[XtÞˆìv}÷+í˜Ncœ”ÍñÃ…‡—½íý ÍÄRçY¿ÝÂü··?T.Œ‡[†õ€Ñ^ È¡ŒTˆËäÇq ÁÉäíDàt©@•ëoQƒt«Ïù_Çèÿô ·Ãê¨Ì|&@(HJ$÷ý%ðºf×iÉ®'ù!ò’uqdK œ¼;‰f ö$€¬íNšG:Ýʈñe$J·­–N˜?ä6¸ ‡Úyºã_G /KEG>ƒð•Òs.'øºŠqZ¢õ‚ æ+ç q@nÆàBq¸;PóGšŠùÒ„"‡èvtoÇaéCÅ6h²Ó‰¢f0ó!·£S–t1LGЉÍ Á×G°l,ïzuíE»#àås°²c‹#s WC¥…õ.f`5p]ÞÒ ,Ô:(yÉEb-A˜†ôÑ àì¯ÛàjLQamœ7ë¤à£r,Z Þèð Üó¬WvIeŒl¿ÃØ)h-¯É¤Ã ñ´ÑÊžQÚ4n×4Ú>;Ÿ¾ôžá€În¥i$Lqް”ëœEøjÏÐg5ö²_wiµ"çl‘Cõd@©äá kt ´ä:Sälû÷Òç+-»“ÑÍ# Þ–®1Ðâmcè‚@æ Æ9¸ šõo£lâô<é!»HÐa!>‡wèˆMg$¬1œÅN^Ü­Ó>œ%ˆÊ7fó:”B‡‰ͽïŠX©‰ìO4Yÿœ@:=Þiq×s°Z±M+ºÑ¨Î<Ý–É• ‰hþÝ%.XmTl—0(5v³l‰† ¹%íM¸•|sð#ÖÁ†Ð³ãdãкêÁd\F÷°Srœ¡˜¤*0I€d€uq޾©ïmá/® ÈÛÁ2OeäÙ¶fͧ”æ}2f#ÝèJfÚqÁ±¶Áx7GH….^UþXÎH͉ï´t +Ýà.30™ƒ¿˜C( —QÉêðϯNk#ˆèÚAºcÔ”jÄâvp®Ö:þÈ͆\M” ÀÚ¾ß:°T—"fBk*}_â婯U:…DvŸ­µ•B´lˆ“qç¬ñFê Dexp™ù"8!çÖHÆ, ]€eÝ9h-èYð<ä|{½eÎB c2E—)Xù ®ƒj/²¡rí…µYà49,ƒ9—C›×–ʆ¸¦¢r]¼‘¦eèÉ'ˆóÝv)ö˵٩1†gÛë°I€™ ’ÙxãyçHV$$µîÓÎë>’8ƒÖÒÝ9t“ÇÑRTèßp|ªmŒåËdˆ5½°b¤´øŽ[—÷‰g×þïèÅ>eëp‚ŽôÞ1¶÷4[O‘,N¡Ö|pIç¢ÀÊ*†ßÑgÚë”Têï‘“A9$IZ«$Ó9 ‹rd%;µã8[£fŸÍ·m±3äb¡×F_"hýJÿðzW ¶°þÒü¤¤yºþÍFç Ì/O‚&nÛgAlOVõK_VcÕ w`lÛv‚Ö:,{|µfÑž¹È[؆ú¦#Q!j…<}“=ÊÍ‘ÕØ(MŽâ~À(çiçyÞíbá ¢Ž".m“©èàt@:0¢¦Þ±ž¦€àj ŽCÌxµ+ц´‡™ãÞ»E_Û¿o$´‘)E|®æèu_@HªçJ“{Ä«´´mb^¬óp±¥á¬ìŸüîC­1öy¢–fPeï„SþqËxR#2n°ñÄwxµø>‘!…†ØI¡(•O.*Ocmk¦(dà2(Ùƒ˜ªÔdˆCYy&óqŠ ÿ Aìã!àM!î«:õ'P÷ø`¹t|qf}=ƒPŽ÷RŒì”aAb¼R$ZìqÊV ©ec\­°˜?îñ¾FÝdIAØøüÂÁ¸5H²;\”=ŸAês£§0˜êá";- éÆèïúˆAUñ²Ç#Š¿%G´f;·ãÕ0<Žê†¥»íE½£ŽÕŒÝy¥dãà”)VÿÈ Šõw?ßõ‹ fl.U•~€Î7ïÕI±5žÛN4ˆe\ìÑXÖ~+K„T‹¡â‡¼^ퟭs±ÌGf«8©AøÖ‚¤À+ò—@çéEËéÇÔ¢çàjì2„êˆjS m÷rá_ ™º-(~ðV×ÎÜFŽe°Á"£J…¾Ñw0þózu>£ÕHÆÙ#«6ké7xa."7‹ý5}ûŽ_Nåy:€#±%±©¯×·Ê ÌÖP˜²Á€$p?®Cžß`¼Ìè\¶;‡BøÚy„¾ô­mþ ´Ä {64&n1 †eãNÖÂ䕿\ëq6ØÖ…q†z<• µ0gGyÒÕ‘Ò;̸ Rú$ ~ÈzÖÉüÍZ>Cx_B.ì/’x LÎcù„(Çð.€Ö¾ëÞ”–ˆh4sˆ]AÏ:¤>IvŽÍ±Hñ­ì(KÕs>æÔÆ^¯g:ô·9‚Э%ûŸ·àÜ9úï Ÿ5YßL£únÙô@7¨<óT‚ží¶õÆàyÍ^‚øÒB¢B­]_pŒGfnª5Ïæi™Gý–k€Ûà3LÚžr5,ªb€p£.†L#MŸ©‰›0wlk.<­–91¨ZŠ,9r…=g½Öt®[¢Úd°Tä¡q‡åd®*PZr:Š®Ö!:žqéŠY!‚"k™¼EÚ¦¨™ ’°]ò»!¸2g­îÑ¥Š3†Xú¨-D³,²+ ”Gš x³^Á=“À‡nVaîa Ãvƒt·ÏÓÈùZ9 0M8ÔÝdÏŸ ^ÆãuI–sbnû-£[B ˆ—'#$eC}8v03Dè¹°¡"DµÀÁº^ –2ˆ”,eärÒ×6ãl‚ãb÷×O`§ÜZ¦´?¿þßᬜ¨Û*x1n±ýHÉÄÇ‘n9ô6̶¤œÕò0&¢0í~?øò)/ipX%~ûìf´°›¡H •ùlZ£¼6kXZÆÍ¦š"Œ ’[€˜fÈt‚?AD«µø}báD• î!ûˆÊúƒÄïÞ_¾œ¬˜×r{½Z]Ì +„ùÓm/ -ÓFÓáŒ;wûØŽó; ùçêU8î¾’DÂð>‚nð¥oRÄÇYÍÇ‘‡È[A«ØyÁ8Ôø¡>Å'kB<È5¶âlCe‚1}~3i@îA7Ð…²1ç.Š0(1=ú†FZÓyÒIåÿ±ùRå8b™™(-áÕl쌃Ï_ÛÕâ:W¸Û ZîÙ=$á*_ 2=¾]ȼ‡~Iû"»l&¦ÿßɶAùÃlׯi¢Ëº+>Ë b~ÅÌøzǹË^ÊøÇEâ씉 Òm:Õ«xV-²g@$zgû•뻟'ŒlÕÎ$iÛ6^qzÚYë߯¬OÛ‰Óë»JØ¥T÷KþÛšƒòó)ƒÇ×°BÑÚµ13f sÖac¢¼(Œk¿{«ÜÛ¾&Z« ÿ®õ³/ùLèªû“r§è¾ÞnýMå*ƒs1*öK¬Äê‡ãœ+.ÎOhàÕbøWǪ]Á@6V²1ök êvWû¥ˆÍ¦PÃ12©ú’5Ï’dð0ÉvðdS =ñ=¯Ð)ö(çŠ}·¯·2‡¶ŸŸ?ÿ¡62Juö~ÏURCz¶ÑÖVXí'1üQ=;|fãq¡€§Íî•AC>h>Ç{´ë²eYœÿ6&î:?iýÈûªÃ XÐjÏE»0 ¢×48j–ÁðK9žµË€áþ¶¬€| °TïôýÆWЛº|¬N›çÔ>>H›‰Þ—ƒv}’›ÇÿƒA­0#æ… ˜ÿþ´îJM~šÉÁ^âÛchÙágwÎÏ«³Xc¶’hó¬~Y4¨¸U¥s²·:x­è‚|™Tû:×xü¨×Ïì5Þ±e ¹Ä‹nš:¸Tæ‡_à‘Ýz_齯ìb:¯œÁd»»Šf#˜ý*1ÌB¨«¢ÈÉLñê¤Ï`6æÂÓYfÌÁzÄ ôšçÇJoðïhú‰\èÑÀd·©³<#C§¤wχ“v;ÿÓ¼(Ço­7 9}Øzÿ}g]&¢žW É.ŠóÅ=q|Ü:¼@‡?Áïw3\‹%]§K =õF—açûÖˆ³Uäê–>~>ÜÁÓsbܹŸ jÍýéíµ.ÙJϲœG: ÅŸwtË©¬òÕnÔ´%[šgï÷i¸gøÎýˆV×P_Bæ§.þ³_tP±{H“BÇ\®?w&ü¦M üݾÃËŸ½XšDñì=†Ý—ÜÓo'ª¾ãm <ðNù+†Y±?D.:Åø×TuðCÍW8ý¹éï\•¬â&©döÅŽÎp/èà…~X¤ÎÓu®? ô™²Z‚øÅ÷˱X±Ñ¼bY{÷oí1É|Õ´¿Ø`F_MÉ\5‹NËõr;HÓÌKG²Ê¥/4Ð@mIDh°©6kžÇ¤ÖÁ+*“¯_V÷ð th•À +«t•óë¯k}ºÈñÛC!Ÿ–¿í›2[÷0¥yâˆ2ø|=p/4שVûâm4bÙÿ´ñZ=ÜY˜‰Å5.V>ü^öº©Syúbo;žÑ_U,«¤& 5péé_›2¢†¥îò -- !Š8€Oн4@2©tÀÕU±Ö6³°2„2™U€eY j óÂ7é÷)Üß®SÒîÿ8áq¾v€W·9òȉïJ9nÆkÜÿÈêùЦÒþxþD9ýaúY~7¨ùžÈ EüqƒQ)Úóª Òž$jH‹s7£3Ðn´02õì5ø`¬ïJ«ïz¾_úÛvøò×ã®_•@ca린§·nÇÿ>R5SœßýçÛâ½÷ä>µ¶ªteó—ê kª˜ðHÔ”owZ¼/-ª~jI(´zf5Ù͸Ñ17ºï_QX÷•®KIñYFªsJ:Í=UÌ"¿Xœc~~¼?¾c:‹œ¶Xâä/‡™AΧá¦V©¶Uõ·ø´=‘«H¯`F‹JlL“0æµu^?½Ý|ý¿|½1ÚÓR6 <ön s²:‡û[— i‰ÉVŸšçnΛvN~{ ÚX~‘ÿpóEÓN®¿ì}^{Ž$dzåWV-ï±;÷Ö Š½:Sï’ÍIR¬ÝpRùZ™Ÿ nÉl?.Tv‹ÿÆ´žŸ‚O“<Šƒ IDATVX*?®¹läz1Š˜J•¯“*Å=Ñ2¯Ô–ÚQ{Û¾}Ì8œ½{:›‰¦öÛÎBˆ¥ ¯ËqÙr„”ëµ8é…Ž0Oš1eŠí5uѬÓʾóµ\èC©®õ·÷eL`> ¢ªYDYáCp?WvS9]lËÛýa_evYœÏÓ“ýE0ñí/èK56Œp £e£8„ÏËÈã¦\û7UÍ`õµ]ýÓ¾Ãü Uªú‡ë¸HVp&¿·ÇÁ½ö¦Ñnr< ÃÆÓÑÃÅl·o–6ÏNlë«ñ¢°eô}%{³¨Z³/vuÞÜU¥KW7ÅžNÆ…­36ò2kêÝK¯øîñú8*~ß-Y:QÊÈ(+®«3)ꬊçx¯¸/Ij)Ú–Í}F´?Jz뛯K ¶Q¬ç„8é7¯çF (rUÓˆMéí –Üw¦Âþ\‹âoÄHLÅ¥óÛãÏÞÂI…8øÓû¦\hzš¯þª–ÿVÕ9“l êö3™“¡ØËÑ•‹µéRó¹ýaådx‹1ôÙþ¦7›aø«sÔw'o¶÷\;ûĶý6á~·ÌÊÒîû>vø•øýð<½aBs*™õ¾ø»ßè4e®[__>ý{ו,®Ýf ;úÒÜËj÷7Ò=¬o¡UÈþ”.wæò †%yP|¯$6õ„ñïoÁ>|€p"ŠP¹ð9ÖµF¤µUìÓ"ÛãåäZŽt¹1a%I¶mÐíoVMV1lËa¬ïÖoÞØnäšà­Ôœ¼1± »4æhnsOÅZ½Ùõ>" Ïž%·?1 š«øryü$;¨µU!×.K‘x³£¯a)€•×<à”þŒŠýïW“æ÷÷½J~ØC¡>Ï\|ƒR¼/ÁŸAðyç5»Z-¾2×­¦Aá+VS›ããÇâìpoö×>.Âûúde€S³ùÜ7¥]â;ü¬ÂлB†¾J¯Á¬Âø©SLÖ` …¾1¡Ò™µ?»È·ç ~Šÿ×ê|ú_`=<<é¼ù;FF‡”9Ú¥Õž»xQc^ŸVL♎WiåÇ{eþËñš{Àë3è¥þκë£îw¼<Îiûsé¶èŒq3.%TyÁ(äÎܘFã¦yõ¶zÜ}Ó/©ùjö¤yÏv4Á"Z>Y7̃»I.(^N«3æI•ž¸nïwÄW×ZÖq쬃¹4Fz±{moÂãY•?AÕ·Ïe8 `ÓûÒVþõø¼ ×9ê}/_W¹4o­·øH*d£¹Æ½¨yZÔ‡3.ÇŸÍzìÿª—uù¤ì5îìû2æfX¤•ÿs÷y ¥þ—Dý7G¿P[*›ãq¸§70ÀÿoÿÇÿþ_̶9ÚïƒkàŽ£¥ãÎuÁëû“×L§ÊŽ£Kž¡SÛè½öšû%B×´“r¼ã€n0‡HGPzÞ\æ0kÆgÝÝ·žq µ‘´iÙ?JGÐÈ~0JlqàËK«©‚˜ìxqRûso²£¡ J«ßuZùw&œh²¨ÚáÌA¿W~~È£* GE„·ft‰>;¬ä¢•þÀhÎéõjGÀ$›AåŽPœ-_T¨„c:r îaþ ÙùŽ9æó€BÕwl;½\z\Â#ÌÐZ§”ÄWç§c.„íBäèF‡¸®»ˆ"®¤‘÷ÃÏPÍO~NQaå+L=C_†HzÛëæœeQ.iîƒ:5¦¢µ©B›g4õ/@„ý d´,zreWµØ2ªZ̪źCªzÑ´QăÄŽÄd >¯þîÏ5J„ñ%й3ÆIVm¬Ó¢P—©Û:@&*’ Pæ”÷¡nt‰H¤8WyÙ©Þ!Oë¢âjÔ$œF!o0Wã;H%‹Ðyèƒë:£ÚSªÏ/ôrT¬O"e“‘hO·ŸoÍÅи÷ŸÑ“Ž 7Îh¯ÊŽ1~_½RŸ©\µNÂe©TIkr¼àMÈ5Qœ!M›çû|BP–¹’¥'M ÖZ‹x_nïð—Z’ëÜËÖ è;ºÎÄZJ¢»mJ`dÐ%\üm&^±ÉŠÙÑù£DÛ¿O1ÇÍU‚Nk‡¶ ï÷9ØÃÕEì¡ËWzP‰epXC¢Os<èJAV®Ý•C—ª½L² 8ì%¤ëaÆ5e‚*qɆrw8(Ô¬y¾¬ë/ã[kUÊ¥ ²–.ûI6Êmø ‚]ßÒ¥6¦Ê©¨(’ æŸéŠ€çŠ³ÊÕXL¯øzºö¡ Û¶Êû °Þ†O“5e4Rdžœì꿺.zŒ¿Ï€wôñÄôâL¾-zÿd°Ûnræn]üpCïU÷(M]$jq-&ÆÝ1¨ªà•JÑà ã@wà”ãZùÈz;ºŽ#OϪ3ÊQiÉj£ð9¦÷ÑcgËÊZÚRÉRHoWÈÊñ€–lBAn¯Ûük¥¶^_ÖúGtІºZúw^‑ã’’í§+<¯órNR(eúƒ*¹¥Dš"-uå„¡æÛ2#…MË„˜i„C yÃ..2i×ì Ÿí–)!P 3Zì¯ì%HJͼdoI•j½ [DXchLòJ1Ç ”’õñÓØÃ@cj¬ ÷£ †ÆA<­\šÀ0eœì‰Ò–3Ì›»ãOZ²N5'ª‹ÈjÌ,iÚyñt¿,‹á )UÀ» äLFW —Õžþ Qm/²­g%ܰuÏk@"%#{ÂLÐ iɘGÔÊnwj¬#R˜ÁM —EƸ4‚cqø¦j7Ì?zIÍÛý"‘jøíÖÂI©gG¢-m?ó“kIoËœ¿t!È Z¨ *Ï^—D\åstÊ×M6ƒYþßù4Å‚%Ðð-:†Tkp‹§+ðêîÏåân}M¤ØI¯”ׄps¬‹yú8=Û¶Uf-ö0×ìfésIeüÌ6˜SB哨Þgˆ¬é£äÑ~ÝéÞŒÁL ™º7¯}ièJíŸ'n†œq°¿žCÙh¾°è– A%‚—Ltt¿V³9â\劌!åM¿S-ý½Æ–É <’2?œãƽ‚Ãgè¶°´q{åøiÌt±’€Û}ÛÉb®&€×S¨IS¿}Z­Áç$)Û˹X¦åçåÜ<ÿ©h!/›+DŽ"-‹çš–þ=u2„P¹H®ÑÁn}JZÀi¬”ãÕ¯.¤Óm¿MHÌ„|¸ý·°,Ž G"t­¸/fA¨MUp&fÃFODw2@TŽä¹âÙ„e™ü-§a¶èËÝ{nèa”C)Ú…}LL+Dðy—>²€ ­¶OÄÎ@Zì¹·@ßVÀ,©·- ¡ºtNb¸Ôe¼œËÑ%DõE€gø¯ÏÁýZe2 îaí»úè¢SËK|cy~´.eívOmÉg;Ü:m^C©Oû" ˜T¬©{ý;Œwï‹k‰Ú’y‘Ÿ +ö˜¢"šüå$ƒ”táäDîiº!/Yd©•#a9Òd RÖϾ±N…ü~¿?Œ’ÌmŠPØ{.¤=¤…e˜µSÿ°¯îޝôØAÄ‹˜~v ökÀ!Ç8á¡‘â»Ä4FW<ÁÝx CðJ~…hƒ±Ö°ìp|sÍÐãwû&™¤`=›BPT$â÷1ˆÆe®Ië0-:IЈ˩ÌÉ"eûþdøäΠ@ß/ž_èu÷Ûáè;&fgF†‘K •czH@£2þ°¯ç*6X,"®ñÞÜMCè/bpµÚ¥µºÀ,ñÖóJ|̑צ4±þÓ˜x‡ËºÌƒï>ݾµ:—Àš:…ïoäp¥ÃLESêAͪsàó ¹ =ï ¢/M#$jµ.€F™AÁ—zmææ0é¶¼j¡ˆ|£ë|õpvª È9$¨M˜#MŸ´L3k ú$•0úÝVÖ%®–:2ÈS Ù_»g{j¿coéPż¡í SÉ’ÓÀQó»d—Wb¼W8DeÞš*²¸Zï|uƒKb¡Ë› ‰Æjµ¨’¥Œ¥zi{ÝÛ`æîìý-Á‰’CªMŸŠoXÊÜ?è›íz4Æî¼ºˆë=µÊT/B_i^{"J0Kÿ†Ý‡»>”rDq<¹¯[å)¤2¼rFÄÿµ§ev™ë"O ŽdÔìn\›WHk6Ù%¸ó`åÔ 3jº«¸Çþ˜"5 9ãng€© %">Å sHP`ýãÖÙ/0kjfpP(°kÈAZØëb—>pr`‚ÉÃUåE$ !$€ýëÄÓêž­óê/•±¢wÐI¥ƒ>}^cPê«ÈC‡ß߬ÎÄö¸Õˆ\,z );,7Z˨q÷îlÇ”%¦lëFSÛo«&ç1èÆØïd:Qw7m1ìT‹ªˆ‡¤˜¢YäUÈüþšh3xþ5$±ºnš"á~ºT¿_&WËæÌ…ýOÈâÓšxy¿ïrà˜VºÉ‚A•ÛmI¶#_6•4¨I„AÍWcµÜœQʾÆ¢RøZS³¼®ï ò7»ïö¦"JŽsF¬Û[H-McT¥[ô™3'î>#!7IŽï«©%’Æä!Vá²µ†î& 0"·Ø!RÃ&s¼RØM%×°I@ÃmÅr¾žƒÌtH5¶Qêq5É+¢.%ç4±£<«y’B&ÏgO|ô{úO³£ËÄ|ü^9:åT‘<ÀýýïÏóñ ÜÙþàh.ô×Íà0¼ !þÜT<”›"É+4g|@øyÛ \Ú+ü¼1–k!:è…‡;@µÎ ;Ë~ó@»·¹ìã ©#ÙÁ¸Ðôœ ´6•[»’ÿÕ¯øvà‹fÌ 2ÿsoèæøé]•ÈdÆÞ™æ¾dA Lx.UKáÞ ½>¸—Î,ðƒíç ýW2\çiì’0G÷±t-tµÝëváÌðAàk¼ké¯W8«%&ä`-rö5¾À„Í `|ý¬b.¹öçx§<>xžrèóÏ/*Ñá=’—¯wþýöÜÆOoräbs}lއQ3Vã»goö;KžÔTT¶ÉÁ°žyï†ØÇ1^˜ºË©ë7üdþ[ó\Ê1”õ¶üçÉ üKDÇ?÷¡üÒ ò¥C0ˆ Ù€[³Ãþçs(*ÎÌêü_³OȲŒõÿÇÝ{69Žlëz/¼%Àb±¼kß3{öUÜ8¡PèWë_èFH!ÅÕÑ9=íÊzï>€U €¦ªzf_áS’2W.—O®åV먄ë‚ôóSI½äûä›r¢D›¢Ñ,êÏ@qÀùsu ÛjŒ™â0);Ä’¢À6Œý©ó‰‹SeÿUÆó‹®áµùêót÷Ÿ:NßµŠ1ô»;¨'«ÇÞs‡…–¯q-›OŠw|OA­ùÕ±}»Þ‘¹ßѲÓMÎð;äæ¿!aì?—ðp°aÙn–i"5„ Á Ú¹Mõ1u†#¶<ÿC÷;BµÑdYAPL¾Øî$ádã÷s%‚]}úûªoâí^æ¹ ‚ùëÛ(€á±è#ü¶»:Ì!ïnœd¶Üã&àýú“át_B´WS KAÔõlZJ f âÜÖ€±›ä§µÜP‚0'‹çÚ=>4_}nBå§Ð½õÚ°K`£Zž:v‡Rñ­>R¡¶uü+]“!ÖÎf»ñ€µ›À¹@|¿‹QÔA{§¿Ãž÷~ú ‚ºKÿ²÷T zšûƒ’!ÁžjÕÒ>$´ÁŪ6¼Bsçí«=ƒÂ'0<ò×è̇ÊÑó+;^‘/?›ßL~'!ïý}2ê‡à˜÷ðbp5ïØý©ãã?SXþË})ÊŽ/Vxèº •¦t|°‡Ë“ºì(@Ð^[²ˆÔr~ùøÅ Н_ãOÂ÷ŒÉ¶“ò.88Ü]ðùÇ>¼íê1àh~ô:µ´P‡¨†`êx&vD¨Ò½ yú[äÓþaAú$Ããlð¾ô¢ßèvÕ,Fu‚»Y…ÄÞ˜Åþvî§ &vgÕZºžƒƒ¹¶9:1š¶^Oκ#PÙ<)‚ Ã-ŽÅ÷/&>ÿQ-ö]ÒISùš®ùºq‘F\ã°ñޱ¾½›ZÊæv‰é‡÷6o;5l)$XIA`¯Î 8 í¿¾Lß™6NÅù É>˜¤lü8G±P¤)~êpof‡¥n£{œÒǯúlÎå5Äwo^ôåAŽù×YÿÓRT@=ˆÖ¯¨X½øù€ê³ua0$”01ap(aÇÝì ߀ŸbwÁ·5.~Byÿ±SM]Ü«h®ƒHëUr`ŽC e8iu5’T A8 ~õÅš"‚Ư·«¯}y¶^ÊÖüÔ1±5«JÒ˜…J±¤“ IÄM€š¥'ûæ ögËó1ºW}=ÂÓò/ÐѲX«s4ã;ZJ–Û‰o.A §ËóTQà€®(n0æ\Œ‡]|RÞ=û±oœÖ¬k­ã¢y8[—Ý;à`½œÌ$aÐZóP‰,߃lã ñ-íæͳ7¸t]¼›‹‡/¼ïù|=zÚ|³õ·É¿,‘°ìå©Mxjòq&:HâP)û—<_ÛèÓ:ÓC¸Íæ6|6ÛD¦‚ûÅœ0êÁm?/Wl=H;›Û(C ¡¸›Áº÷ …c²X2õTÑí!áhÅÁQ½”m½nGP%žÈ#t'h¤Ùº´a€#yÐ û¢y¡»÷ˆŽAÒ#$Ñfû|(xþa-mäâ(eaïüºØc’&h½ †#R° ;4¾,ao¦s‰t‚àcÇ«¯ôæM&àgÅ|çœø¡¬S;)¶‹{(·¡SæùŸIVEès6à­íD ˆtÑçèpý²cÜ%S]g bwvOfÕ÷®t|zû¼=iûúÒ›õ}ÓH€®H¸r¬õüªÿÎ×>Äß×KÚLÐE ¯*³coŒm~y.]ÿé@ý(Â^CÚy³`¿†p¥²·ÆSø”ƒíf¾ÿkz´múRÓ­­àlª¥Øjf²ÛÕ¯q ¾Áƒ¡ãHÙlþÝáÐǯ¼nŒΔ]¸„!}^ìÒí8Ø_]¼‰›NO«NÑ¡ˆËs¡N™å4Ò¡bg}æëñð÷׫f/$ºC÷™§MP„†É¥Ö»õÞ9°v˜x&Z|Æóù¶¤á²0…—ï±¹çcŠk"'G/÷ú¨½rüpë=à”?šùa]4)q¼<6ð<JÂÕ²L©ìÿÞ?wøO·®¡ÊE½áœû?TÏ'ŒÁ»/kyMØXgþÎêêÊ2ðVVÐùjâð÷bÞ‹³YøRý\{î9xáÃú>;@ä1&{hGÛˆ¼ÌÖ¬º™âãÁj_Ë nÐ`+âÈ>]¨tþœ+Ò@7WË¡®ëK;¸÷?!„qÕ…ò¶Úv9Žqî ¾ŠÙ‘“[¹Wí³&’™3ºbR‚ C`ÞòèÆYÏ»¹JFóÐáÅ,©» :œŠ}“–¶]€ÇéúeR}ãnõ`Ó³¶£ÆzŸÑ’ÖÄþ œüéåñ6¾ –/x~¼^0”OÂd㤨Ù*蟟@º™TòÌ?3‡,xÈædt¢7+)=;¥šÎZˆÄ£Lq\ß×;ˆUÐ!p°ŽÒl~¼¨þD¿fг :ÔÎsý®ÑF§x‚ø•[fÐáõ]y­£ /³yèÀt8œ;ÕT¨…³2Ý‘T\Óö`²^0sc— CÆYéùè¤ø<Ð!€µ C ƒEh¦zóŽô ε`ª‚ ÑÜÂD+Úˆyèpt°=s„« C%袨‰ RWB‡C}yB[y©ìeÐaxUq£r)õ8ÌÛŸüSE:«R¹Úª ËòË ;0\gÎt¿˜¼ë'Y™ùû  uÐ!ÄžêL‚ åAiš¸ÔÏ˶qÆ÷ ’˲k ŸaÒÙ½ÄÏèЛ«ã9›1ÐaƒÌåNšæ²™å6A¨žÖC‡@¨ÛH;F :F™Þªƒ ß-&¹<{Z€a²öûÕA‡ðû›|®¡C‰.¾/9|=X("2¥ðÁZÐ!€'è@ :Ô‚wæ~Ðx¿Ú&Ѽ æ ^ *TQ·sGÅ…ª;Tñ>cãaNÏÔA‡)_¶?î]þüŒås§öèCüÙË壘õc6½W±ÅgÐ!¼2« 'OÐ!°:õ>gtü[ D7—ÉeСîY3Y‚dmø-q7ó»ó@õ :¼ËÆwHåÁÜ2èpìæº’ó-|úÜœÝkmy­ƒàP:@ØÉ×V#µÖ†ûÞz>÷•UÝNÃJò¸D––'2Z;¬i1±ãÄYKŸ›YÛƒñBœAífr*¾Ïb¡6}®„M.{/¿ÂçWwi\V´ÓŒLßô®³gq½ÍZ*Þ‡™ÿ6€­Øà¨,öi{%èðjì Ãôa'¼Zz/UZ^1ÀðH„½›\>åå~‚¼pŠ“´}H5'F¡ÃÄ]±Á?-ÊX<×8°óyà´ :${«(«L7 žmR›Çdú‚[Vº4` ªã†¤Ÿë{Ë\˜3 Q·øÜ‹ÐáÏk ~ˆÃæìþáêäâ*è@:ìªeáÆ©^ãCzýêUÐá€ÊßÑ÷²õ\Àᮈ‹ïÅq{„ûïÅçâˆJè°a>/)ßdÔZè\íÿ†•rOС1íõGçÛ‹ý’^˜ÙX6Èch‹ÍmõÎ fþÇzÐa8WEŽC€ó»\¨¹Öw‹Ð¡q]l£Ùy(¯·­{L{ù:Ùk7Xú™Þu™å­;u/k«¢’'è WBŸ,ú3С§ -T뚇›ËÜðGù½x¦˜üád1ñpSü®•ÙN°¼E/pgU’¶æZa3íé1“¹GèPþ¹:°1tx×^_£áh®å°cgíoõÙ8XëbÐ!PgïVB‡*¡CØö…ZèÐ0ª×·qw[øûÑáC½¿r8§Gç C~V¥>Ž‹c6˜µÒ\º^Ñ×[NLN])€8kËÝœUL|·ÏC‡JÐá ñºð®H,——«7 ë ÃÍâˆmmÒá=;³ß—zwµMIÃÌà »Òt1KÁ)’ ˜«ƒoôÕ­0Ÿ€â&0f±ØÅm³­¦Q‚Gœ”ý4"mˆ IDAT»ú1Ó­vyop:$fvMÞÞ*@‡ç£Á·°=ëóªÍª†æòüKx«AÿÛ'èˆ~ql C?- ‘¯óùÚÙ<¦¹ŸTÛ*÷gÑçÒnM g³¢BÊ#¬É7yîWÕÊÏ´ t©×¨…” Ãpv‰Ëר#t êÃø%mÏ-Õ[:KIrè,("Ó¥;ÿ¶þaŠEèð»^ôÙiªìûµøÌW_êwÅ}KBpá|Íó¤3è—_/B‡ Ða¸¢ËÄ×oÕ1åUz[ x‚ ƒJèp¸0v<ÏCíòÀVÛƒÑõtè™Y„õÛ;ˆ8Lâj®løg.ûÚŸÙÚsQôquey'ICoÖB‡ßíbœðvV²ðð÷±˜gªƒc:‹2[ÛðTðýÕ ¡C{’Ù…¦Å?A‡°+3kA‡Ð`Ïú™¾ýòcί€ùpµÝ\„5³÷rÆÅŒr¹«ƒodc/gy‹:è@:‹q²Š‡…w}ˆåSã±jÛAϽÅþÂf|Ï ±/2è0Ãå 5âlÐ5‰aFvZåÅxç8‹Á’5Q!·Ê‰‡!F¹Ç1 ŠŠ6RøÄ¼±y2_k–¿gh”æËN ÕŽÓT½õ²€SpúøwOÁ§VM;à®þ`y¤ãy8äyª W^ÂÙžÈZ›W„Ð[›Ìº:RÕ#®º-µú žQJDt8" F&Zù2Ò=ÓÄÁgÿþÖê¤Ð嵃wo^ÖK´I8s­Î¦‚‚-×Àdâ¢57ÿq/µ¿YÆï§ÕÅGùåʼn<|'wv|ßǽ¬Š…~yõ]uRpìSØžµîëÑ ö£LyÀ¡ ¦5ACΧ¤OÜ‹ÑHsEÄ›¹Í»¦‹£°ì¯:NQdAOD[ÕÁyz§8Éu1!mµñ k8Z³"ò½¯á˜Û\OŠ Ά`qc"=«–C:æQåßKƒ;Úg`·_šTxsRï_BÝ{ç§ñãò5¯;T± Gô :ÙšO‚;ìÉ‹äˆ!"„鯫ֹxMݶ„j=ÿmäâ·v¾~)ÒCœdïêJ&»ñ¨X¤?DPÖþÈ‚V²5}í„x#®Ž•û°§¼aÀS6÷/'¶Œ–´Y,Ÿ˜ÈFü¢±Žd ´¿Ê¼‘²Ä’ðe¢ãÖêŠ žççëmSH±`â<¾ë»"Èž·ÈéÉÖóã˜Æd³Õ^È¡5@ûåM>è¡™îø½rz¶ö=FÓí-ÍHÄåh‚Öþó6Ú½ïSðŸ×?0?˜Ð) ­}ñ—®ÓË`Œwìf'ì5YBÓ²!Ð}¸Qf,§_ lýž­1á°Ïȇ¹÷ÅŸÑ–ëÁ ‚ã§•à¬g‚9~÷¢wú<ؽzߨM ´kä³T/õh|´y\Õ!F8LWçez,Žö—çQ¨¡x'óuyÚ†­ç÷&â­çWޱ ÚAñ½á ”³klé`Æ"”³¢sï>àX(æ;¡Ý¹CÓZ¢É>?vÑš!šÚó*„º ‚¹žßbŒy(ÛFœ¶?·9+’h:›UÎ ý+0\/ú4ö Ù*ëNÞÑà‰Õzfäshs>Gb1Æèk>öš™lØR+óaɰ‹„©Þ+H(šÝC‹Wgy‰)d.ó‚ ˾Þ^ÚÕÔÅŽŸ@Þ_?ï\X`ß—c㻎ÞQŒOsùÝ ¡*™ël«Å˜‰°b¤òæ¹ÏqýôÍ‹Þ=í öRüŠkJÄØJW¿—N(PÓçƒcëÛò{ õsì¨СcFO%õ‚,)%Ó%†>Å$%ñ¦¹:† &}Ä­åI”šC´7W&ÎÞ.Ï7}×\¼³ 0Çù}"òtRW'äîz¾#-®DC°Ë>¡¦¸ßâ-}6—gèã&òðF<û¥sÂé=øê>,ª 9®ß§L‰>ˆ´~ “ÍÆ˜ñ4„³*Â?Æ™µÅ³Ã{ ;Ç2ˆ¨K;\?¸xs$¼èý¢Füå=¢ß;6>æ:íÞŠq,¿Þº˜~×±õYÅmü‘WÑåWù]Šš&‰X\¿‚!oàÉy\Àî$ÉÕ9ØëÈÆ~4ÏŸ®GX×hÊ›ùv”æ n¾o®Qxî9Ð!œpOÐ!¯õAæW™Ì ,B‡¦[Ö!WVŸ„7¯Ë'Šd5:þ4`û¹ÜÞꀄP§ ¥þR])'Ù¼j¸[xöÌÁeyò‚èf§am&;ý"¯h#ç;¹ÌtÃét¦gС•=×·bõ\‘éov˜.IÞå6ï:ÍõÞ…SÊz‰œmîQ!vc wô¨„ib¹\<:€m:³ÙÐáÅBUÍÐ(žÌr`!~èâ5®æ\Å ¡• ÃÌf—¡CS7 é Åñ°ct‘Ù¡yèУËãw·ß*@‡SÕCôÀá; *ccð'4µ¨#&aö»C^¨.ˆ@EJå ”ŸKnÓ\¶¾s´Z½ B™wká#tÛ’ ªÁ—Šög:toŠs—Ð ¢YÅ‚GèÀtàÙÐ!€•ÐáÝ$[Ë©5§è˜Ùºåræs¶¡ ÅäÌ"t(±Õëñ§~YœC7¯"4šIñsQ\OÂl“£ü]´IöýoNE•ŠˆäS®³ôi1npÙ¢þêNLxÂúÉ—¦2Keò:P (A‡!Ó[ :´ìïåu!,3öN3Ý›rúa¾6¡C׳ÏNDßL*Nš÷sÛ³û‘eï`ržùû‹Ð¡Ñ¬®¤ãŠàÕì¾ëB‡ó›·7ëX‚§¹îd[L¦ËÚ~0‹Ë²ç|„à£|V€TB‡ ÎìZt1æt¨Ìü‚týTA‡M¡¼Ž(GÇ1ׄöP½Žƒ°¾ î"tÄ««qÔA‡*¡CŒJèpÜ`>¯¥µº÷ãQR z‰c’éou¶Ñù€m¶é˜8åØu:œåX3šäóußÀºÓÐ¥ªOÒO/ê}„Ƭ:ñ#îtçb²¹ªc›@‡ž CømN¯õënoö¹*è0œ¬öé7… C¿[´á£›õ6Hç¡Ã¤¿~µìi¿˜³°¯{H¬Ì>B‡]j¼2òô{Ó²|„õYÇŽ=ÁÁÎ[‚-” ÃóQ1®ýÚËÞeriT¬G¾f9´ê®™fyu CÎËå¾½Å`è¡ÑZû<&êtɺsôopU~†°bsò­>ö ŽOÐ!7;?ùþü¶fOþÎ0†õs‚ëÙ°M C{VM³93dÐ!€'è"òçóN8.@‡ºW®*ŸzÛø@ï@àþ§âØû×Å–‹Ð¡PÓ©`tà :°6t»­lœ¡Ã1‘Ég’øpüúª+Ó%j¬ÓÏý“{­~L))ùÙ­UÐ!0o²÷€Ú¢Ÿ Ã,¿2ÙHȺСª7ðSËõÀ¾Òõ©,;‹Ð!€tM–@z•³áWÛ·ùêû…ïkÏoK¾.tʶ7‹wоYtèKõþâ#t\äUB‡à‰M0TµisÙø/B‡ž COÐ!€ZèÈØ}‚3¿0Ÿ“*èP•ÂgûÛ-±³Ñw\®x?L(ŸÕtæ¬Òù52èpšýœô™0Ð*èPÿf.×ßìÄ^ bÍ*™ÖxynÒøZ´‡[)…ΨZ­9Ûö\è°gd•§¶å÷¸›$ØQ³<ëaDá~–Oÿaä¹ÉÍóáÆîWsηÊ×þä®”x„{BŠºU€§~uüÔó¯WB‡ С£©üùæ¡C{T­>7…t·×¹.yàŠù„EèÐDµlÝOˆ³|Ht©N C ؽ•Ð!?-ûV2†ñr°ùÕ1©¯fqOt(¸ù¸é¾õ¡COÐ!4½"t(’³nHÇÙ³-;ëøæ7`:ØlïrB×$mšˆv²{ÎC‡ž CÃÉý!b”†¬hs­õÕó·>g÷9¥ŽÐe<$núõëá{½|@o­ NûÙ›‡ÔB‡ŽX htHôø™¯#ábÖÝ®3Wqù¼—­IU}ÙVõ™&,Ê€.¸pýLÏÕA‡t/³ÇæeªåÍ'WÛ¤Gèp<ç y.àyd :€}Ž…>ו­Mà ¹~Þ:|<ËÇÌ*Þ1L5FÏ?ôuÖ~³Ñçw1$g&«С,õäõ\g£Gè°w•É’<Îü„Ævæ½6to”zÛò%s1Ùr€Mì<,×ÕAÎÕÔA‡c/·)ìTzt¨ºèŽÝgA‡É ã6_Çô¬«fs[@wœ¯¿Wܯ]ʳ²¹ohi#èšòÜ_û ©\Ô›ƒ`Ëq‰Í—7¬Î=Idõœp1÷X ²iµ½}„Czgu<4qŠ6fòÀ‚ãò˜¡Tñp“+¼ð¡%18îÊé畟׆š;ËoÇòC ïH¨;Åd¡Ñt hsm:ÍØj|Bò0y´ãÇŸP>ý„Ä#µËÁµ*ø‡.Uðž?€„å±;6l¿Îó7&ì Cz·HÖLâóFž²¿ñýL©†½<÷Aú$.‹-Ʀ²>°:c´Õ6!Œ`袬ޞ{8ýÀÃà(~:³Ïc4ÿ±úþãŽíÝÕú›%I½O7lÐ;4Z:‡_yM´ZÍåó7l;›Wy°;H‡Õqéur‹7äéÆ¿)MØ­õáQáXE›"r 83XÜqˆbþnq*ƒ"f•ÉÓv‰Ã;äa›~^a:ôp@šð¶3+±Hr&ß“fˆÖ €:ð83ƒcÅ—eìÏ{ÿ8~½î) NбÚð€CrÄ"i/÷S:wOX8ýtÆÁYn'ÔHÆÿÓ™@hOÅ5že×0„‡Üçí >ÂQ€éùºÔtpZö¼çmÈë,5(úá æ¬l¯toÕÌo¹±RœÉ/÷G¿‡[_'Ã1ÈåúÐl¹}ÄñXVGTëEmEKÍcÂëoΊ>`§ ¨\çOh­(Á­“âTÌÿ}LòØN<ð± oV-•vf«Çö¶¥ u;ª„Q#DÛd0âL´ýÕórZ8cæ6T¦¼ÿXw`åŒù¶½lMB×%Ùøwî žä~ÎWóÿ¥E#ª8Ý£»Ø`:cÜê4šû™N¹Dø@7ᵞ·7æÝàÏÖ÷·œï.ÄÏ¿–Ñÿ¼ƒú“%1º«ay%ea¾:~_à` %„bÔ¯¿6>eryã8«(°ò@u!Ýî£y´ÚÇñz<øšÔ7ƒgs{‹á°fgÿ—¯3<‡¸SΗÐÈÞ ×áÝüól:*à'.œ½çž|Y‡4­k ô†{Úß­>%<ˆ…Ìš^ip¶WÛ©†˜k†•¾.ƒSËëOR8n½lD ÚXí“Û¤÷Õù–¨ЇÀÐ2±#7@u˜”qos{ž†cLµßlô Øq‡Å‰äûH¼lODÿÏ1Ô¿ Ø4×£ž#¾^ßH `£h׉ÿößþ[ê eV1åþôñ;ÈKY?¨éØ.%“°‹VÍ©§(¸;?6Ð9¥Ñ²3)èYö嗷ѹ |D½oOó@€ô™§ÿ\b!}ÝMkx yçy {ÜãÑ>e‘³ÖL?ï¡~ܬݜ˜h°/s¾Ø´€0aÛ6ˆt¢¼ÞKƒöŒ¨¿ c´& ä½—ÍdÌÂÆòö`’Âáÿø?øçŠÁ' pI®¨oŸ8UÖ'®õŸ]¨ËòÏXB¹Ú!Nô&hªÕ ÂIàÚÕãd]ô!¿Ï”D÷&ÄÁ³v9ßËàïØ7›Þ>Ð\’Ÿô®¦ % ÜÖoH™çŸTCStF\€ ¦ðBü¬+?Š1"5W~ê˜Bp¦#ºRîÄø«.]Ö ZÕFð‡mà“¤TŒWüÛõ6¿ÓшöóàVF%qntp–î/q¦\ðû/sBÏ|PVŸlŽºw 2gôG×ŧƒúûúpï7RLÉAÃ^?‰í›)¸Æf‰5“¸E#}Y¦»0©åãîMð-ÿêW3  1ìòH Ô×wŠ'#­öz'yS“ÑØlÃXwE¨Õ?¾Üèø·Ý-øBñôN,³ ¬Íª™’CÉNæÐvÈ (í{JY·O¬{´äcD z®­ÔH±“.—Ïûi„ã­2çÞNòy¡1@„õ×THÞI–ƒ/„ •׃#…ˆaE`š¹ PZŒ¸YLzJŒ;Ìt*#™íÜqísÒ_ÓòÚ¸¼ò.×k—ÑïèÖß¾ÞFL„vø22qt³©&ß@Ã{^2¼Ûwq°' ^ƒÝÉ|‹@èƒu7ƒ»< Ó«^[¾p³}'*a<šâðãËÛ4é_Lì½Oàñ¿&‰ÌM\ø­Õ¶•`Y¤Áúzå¿Â{î-po2ÿÚsD\\öÀ0$x%Aû÷#8þm—F0Ñ1•Sì±›%•õ?¿AýÇoE~Ÿ"<®ÖGñÕ¨·™¾èú¸å2:'ØeZy°cœÜ»w«ãœI(¢Å”u6)'H¬l,º¡…¦Ú÷>vYÚ0Fs§~wF£ 4£¢­ò ¼±Ü·ü:ÕñûVYžRÍÑÌž©3´p¸#C (Ølü—ëŠ1K8µÀ,ÀƒIl¤Šÿ6ŽíM¼;8)#YDÛrj: h#åøˆE 5‚·ŸýÎó­«ŒÑO(í`µ‚fÖ·KÈ¿­†j{wöO6oEôðÓÃÑÇ"L ]Øh¾Ï’qýØ{ÆþÁú횤«…OGÏk›äØ$DiùÉe·;…p°js´ÄærãÊèâ­R?2ÌHZgh†³6>‡h;B#ÎÖŒ#²õô&oáIYngˆ[ì`3ÿÝô›h‰÷cçebŒò¼B0¢õ6œ…þ×)dá#’çÞ%>ðkÂäŠö«½¯Fðtú/TzÀd÷9ŽÏ¿ú-þ‘ÉNrg‚<©ÏZF YyÖ;%E˘ó!Ü ˜è6Ùòû+¾ ƒÓÑ‹}ìStû Gö.¬ÝõÆj€¡6h IDAT²h3™žì®ÄÀ¡ºç*æøÚ¨²ÓÍøÞÁé6[x½ æ.ÝÅÁÌþ6yšWݼîxBöŸ [½ ÈûïW/‹d†Ü¯ðæòi&O"¼&ÑÚYÅŽ`°»/³/ÚüÑüTüGJAßbOà@k2¢¦[ ¹îÚ¿ûŸ] ÿ<È׬ayÐ8§3]1 ºØ×k÷—×ðÃ}R½n‘vh-É÷A´ËyáŽ{ŽCa½¸×ïÅàö«×êƒ3Á‘˜ùÜ}ý+öÔß×úÍxr‰^ó乇ø8Á±˜É åpˆ+*…7˜…Ãz‘³}/U' ôõbé eÀ!þê‹ví¾è7œï7x8kã#_ÖU?D‹c 6¦ÐÍ­…ñ‚9ÛÁß}EzZÍtŸœ¨¸ôØ*|ùh/ É+9W0¦`ÝzýÖ3¾bEuÑ)ïaËÛÌŽ me³œªw¬ ~ÿuò7n€3¡~°tÓ„Úx90K\} ™vM0Ë3lÄ`Ìlެ„…L‹Ì:E-ÆÞÚõšo–Wç§¥)";“©~|…=jùçÿ¼Ññ³ê9õÏûà>ì½Ú;ÉÚV³ý·®eÛ¼„ÔXíï‡jFÏA! à’Õòª'7PÉ,GÊFøÓÞÂõïÙ³°{ "þ¿Cmþs£ï±ý1‚½zÈyâMÑâ3¹¢¤±Í¾ú³‹©‡(xÐMñ_«¸Pz?q¼ýìï“÷’ã—ç½ú·öNS°ž…x >,Ú%ׄ†yÆ ;½ÿ9Ï8] âA1ðj8bʱ_œtA‘™ÿø38¢^ÇyÐB5WÇ$ªíA¯ðG#ÅmðøW¼øHƒG7ñ¯|ÉnKx>Ô:6$l+ößþ"âÊaO¬a¸ôšñÔÏžûËsQžý^*ó ‘sZÌöh_@ÄUßSJ5ØD&öh©Ýª±· ÆÉ\kyމ¥eQ9³n'O³ßŽ.: ß—ã2 ‘ÙŒ‡× vÞ@¿¸‚ú>ó;~XS|’ë}\«K@>X¾îò¯('×ö5ÞHo–ëh•¡oV}Òõ ´‹¬H4‘@·òû‡†u7úÝ{ûGÖjYPHH3PÉkeÕ‹Ö{7¹±8”2cØb`GÕ­ïh6›o[y‚ -ݾxÁ¨d‚–+@‡ú•ù&jõF*Ö¿gth W“èd]ÉÊ èpèeA¨{Õƒg•Ëh*^æ oï{OÐ!€'èP×–W¼!+Ý8«¡C?½_|ÎÚýI’T€G Ô«_“˜}–qz  u´]´2Õ”±Ç6‘gí9~Öë1ÎÉ×Û"tÎU—w×Ì#t`)tx7¯EèöƒíZè0‹7ËkmOÐ!€t8lÐè_ç1Ô.›At¨š@wÖ.{:ŒÛ€¬Q1¦ :€™?ƒ(d¿·>ÀO'·oÐ!Í4 ´³/˜mÉ¿½ÍesÛcêÛUA‡æ¤¾:’9k{rð?—Ÿ½ù^‚©gki:påö¢Zîê CK¡C«OHÝø9tx=ówܠز˻p!lÁþºÜ[*$ ™ðñó2Óõ_²ß‹oîgºüÓtBÓ‚`ÏX¿Mï#t`cèœV :vþ|ɨèK{w7Ëýé0“Ïs'[”Q´‹’êáÖ,&ùØF¹Ü¯ vu _þß 9Èäî:ìÄy<œ:5j C­ÿçf±I?³ÁUÐax»¼6y7ÂCP\>Q[‘ eòû-ƒ“~nGBbîP¼ÚÇ{„¯õÑFcòFÌî¹:7Õys½ß§I¢6fíyÞ+oŸ CK¡C¯(B‡,î?²øˆ• l¤iÑï1¸L/ìÌrȪô¶:Lɲ®|„À•²ÿãS,—­A® Ø>KСÇÒH‰õ«â-i=˜³¿‹Ð!ð'+¡Ã¾“Ë€f•íà:Ðáƒ} †Ü™Å›E=Òð’C‡@^n'üY+@ƒÏä0iÔ¯yïG¾¦ç¡CÝ™ hlÀ›ÉwԴз»A‡ Ð!(2S†Æ7ý[æ/® ɾÁ´_ôé|ª¨Ó—A‡Y¾¯zCtxeäy ÓÉ¡Ã((¯ÙGèÀtØpW¥ZïpDÒ8ø$?A‡™VÎù:útà :Boar±ž|I\wµœÍµ|»2%¸~Þ!ø8° Jܳ C±W|'ñóY%tã0{ÎEè@ :”éõ@ {2]ÏŸñVësR2Ÿ Ã11…1Ò Ð¡ÓÌü©9Y x‚yΞå–ë·yèPª}’:èí-ØG:×?uС:©Ïqð§ôRèŸÓÅ·nî[G5í ¡Cz\”‹áÏÌǨƒ/Œó̆yÅÁ6®ªýÊv!ÓÙû>B‡Ô]=øÂ˜èAöùGèPçãõÓý‰¿âz„/ô¼Mî*èÀt`%t ƒ|OïÞÆÚÐ!aõV~fpg¼*tØÇs›LóÐác^çk9w0€K²pk:?B‡ÐG%è°Wãkózun¬?È× 9÷hâ8€·Âï•öCììþœIg£q¹÷Ëñ¹>éChdëì:P ö©”ºÚކ£¢?@O³ýI‡0 †¹>¸wgy¨Y^6õ3¿!¥Šó%1¼DK™¯¶†Þò¸ÍmWtxý­_uÆåÏý°²qQx{§Ùx¼\‚"txù°¾/k^äzGÙ%Ÿ Cg$B¦%è@:Ûyé:P Þr{-ñEÿ´ó%‹Žš l7Ûgcf{ècºlÛþ{ßÇ Í¾cŠ<:[C÷Õy»qoyN§^$Cj´z¦ :4¿üÄ8dçÂù\Gƒõ‹&PVÑŽ«^®×X¥È Xt}^µ :¤ï󱱜áÒçøUÐaد?ŒjÙØ‹sûÃ=Ý­…¬ (@‡·ÝòœtÌóJèÐ÷Bè|ækkÝq%tèh& ÐÛÊswÝFõš6(Àj+¡C" ú‚Ÿ6ñrè@%tà :{¶Wøx‚‡aÙf= µFžË²œ¬‚]ûvcè@ :P€;öÊéd½xÈuq,}ÂÓj±©lR|»~¸(&á÷Ϫƒ‰.nPß3ùæGÙ˜ˆ A›UðŠ{eçNOÊ _}›;ìdM‰e‡§Ñ¡ßíÚ®ðZÛÕ‹ï1qœ aæÜÞ¯nƒ»ÃÛHÑ€ðv³;—ý9KÊ,ÿ 9Yî·‘)V\žLìFçàˆ|“Ê u0ðlWÃí]€QC\>ø›Ø9= ¥«O3úòjƒ1êçùÛ¸(¯ÊïÙ»rj&›‰Q3ïR}àø§6Á[¡d´087Ð8ø}P^ ñM½óuxRí¬úfîXí̵e™Ñ¢›EG…M¦xéåúƒ¿3 —Ã/4ófãß”U”5Eƒ/ÎçûŠ6Èþ\ËrŠË7›¶Èbp™XÙ¼åÆ÷“TLà(í>¸¹òÌ­ôÛüê •eY“â³ dýÆÒÞgÑE®·¬-Q-›²Ç€šd²à§NEp—kº g‰ÅO{egà ³ddà…ͪ(L'«vý°8Z?¾æÏëCdÀéûŠ÷ßspå÷7z¾C¦:©.¼¡éM´©ò~6v†\p"ã²®=™S9[~µs`Õ~±ëÐ7T~Oùß¿•g5Éñ`¹î|+K>Êÿ«AiʰçÚáZ>—º"1ŠIC]¿‚K3­L©A¶ÙïºÙzàÅi½ 5WœN2ÿàî¢^÷IœF‚9Èe›hgNéå(ŸÓÅä{÷ÂÀd÷wjìhÜ™­óYÒÍKm(ný&ºùý¯qý& s‰™ÍG{¡ýð„¯‡VG·™LS'Å€Cµj¿sñPÔK’’;ã·Iõ³Æn5Øé¦e}Ä’¤÷¹]eßdöð¨÷…îí1L%¿÷A4ÄåŒ ±|ÃL”ýÉÆ§'ìf~²y탎1KT+-À®r&7Eß‘ ¬Y@·°·²äÀM”oDºfþgj¦Kö|V¨}ƒÃw,SNÒXN}€)6֓šΠ4îs™n)ŽÉq;ó#¶œL¿±aýnEÓ’À8Ëw3saçs1ö0ë7öšÇÅd‹oÔÈBò,0ç³Ô‡ÓqÐŽëõÙÿ:çC‡ÃLö.®× ØÝ‹ú5gKe¿+X—f¼‘±ŠÌt ±“ý[ÌÇ!‰sPÜ—ûäçZtW¬¶zÌN”rü7õsýBsÕóÞñª7>Ô´>€ß1#ì½YÎÑÀô¹ìßÖ,‰Xm†ÎÍÊß>šéKý!@sÎäÒÜ÷9Jžw’þ79³Mô¸hë¦lq\ì“S0qq,8IÀÇÃò<Ú{õ¶—Ýú0çƒoþÌ^cìÖ›¹äëbÆälͰ{e»Ü¨ØŒSÄ" ÊLt´ÅSXÃ,FøX‘P‹ÂjùŽü,ÖÚ7«r!I&´kÓŠ¶›Yr”ԫ㧆ZÞ”Ùõ³d•yŸ¯Ý´z“i4ÛˆôT'ÌaÙ/ñúpérRôanýîä¶ñÍìPA4§Sïü{·ÞÒïÕ~ÜePo³57[çÁ;I„Æ|œWe¿G­×ÕÁ¤me k’û/çÕ ‘(åóD¶‹¾4Rí/×ÙÆFsÖ)äÃl0VŠ~¿­ó8mètжD¸Ïíª¯—À>Peœþ–=ßå$FÏÊsW‡TKrF>øÒAÖæÞ?6óS÷êAeæty ²©âˆÝ*ø<‡Ÿxìr)œ¦ÁZ?IþÕª†YȽÜ×aÒ|œw¨²¬ÝN5( üï‡3˜Ë?Gß.oÔ$÷—•÷NGÙ\g>‰xFƒäùšÇôÏn½Mì(I‘.J4“5CD½%þÊÂÆgëÓþͳ֙L¾Áù Èj¶%íÔíÎ%(e5|CÌÚ ÛD6_ [I]õÁn%ü²åùW>ˆ@¤¹•¨%;- •ÉÔ¥6F¢ÇÈŽ²5«+\qJžûÚÛ¸›0oÊÕú²V¯‡ø2ó9‚´ o´ ‰bpЛîbyét¦cf±Ÿ2ÅH³~ÍóŸªeUÓYN—ÇY#_£ÊVöy…竎Z~PÂ{Èæò75?t3¢'k¿ktX„á¹8Óé’½<†Š®Š¹Ý˜-û¬ú—êxú­’ç‘bî‡ôéì]\)‹÷|Zžù@CÄaþN:›é°n·üŒæ¬=ÙyÀˆX>ï]ã;BÓ€¨fhç¢>V±§C¤sÝ‘ÌÍËù]QnÃ`µ¾ øü;Çôá,‡Ç¹zo=@¾ë]€be趇(‹Í<û¼Ó/©Ôëìgÿ^\—þï{W‡ýГŠÐþã+>ÊgkË•­d©µ…û°¨£Í/Åüj"ê0ùj]jŒU4¹YܹCŸÛéŒíL§~û3“qQcà6l­:_ù0*ûÚÖ‡wûÁxî®WýÕ2Ýì/ÈK”ù•½~Fom¾Qû¤3Äü~§s@ƒ°‹¶‹vc°¿<þ^Éâ.ÏÇP–e(oóû n®3µ ègˆˆŸ,?<íý{;ÿûG¡\”£KŒ–ÚYøÑ«¶1ÑíòƒCïÕ6¿¹2ž57TT½g^el‡ÍsU]!õi¾æAigólS«÷²·›ÏÛ·ÓzDayÝ›Î6¶}Ú×/ fûyž1§£ˆ)ÒÎr_É™v2þ¨—QºŸË£Àlv¡f¿¿ÏUÛ OÍõuÐÉ Iìíæò›Ì¥Ümü‚ßå¤g[‡0ƒr½ƒ¿»§å=µµ× 0°ªm®}ùq=d6f/¦!߬–Qf¡BW´•Å ôÔ‡3 Å<ÁeÏHÄ»àãLvƃ=ƒýþj•¶Ö÷Ûª¼"{DE¼ÉðËã6i‡B¸pˆú»ñ£ð÷7¿ã+oâp¡µÆíÄÄ'ùó,gTô-T'Ók¾©B6òyÿþ§—°ñîhU÷•|6ÞªöƒÛT¶˜×fÌɶ´‡Ñ ‹aètù}¾ü{cçW^¶>l¯¨#g‡Å …@»õc£‹p¶‡¾•cÑwïTpƒì¹È‡ø([CŸé¸<ÇÛ+ªúÒmÜ\ä÷™ÜÕo<ÐÜûåq´~î°ñÇGlÏ £Ü^+»ëWŽåbl÷eÎ Œœ°¼ 䨼çg8&FV_­\gý¼Ëüœè8[â^‡,æ¿ué-×òhõ8<èÿYØäÔtôajŠ{ÝÓÌÆÞ™ÛÞªéT×ë×Û«`¸òyO+ª+¿Ý+v#ƒÏ`ûq©ŽÛĦ‚þ‡†–ëØ\õž¬²a1U•+Ú‰ŸéèÛYŒ¤OÏWþ†bÖ32;LÙçMöc´ß­(4",0ÝYq/“Éôeçk>3Ë÷¶['/Ê{JýY‡™›¢Miì5ÑT5ŒE Qöùm§ì¿:B6¶Äÿöýïé~@àµ.›ìAJ^·—yxƒy[hyæ-øFã[¤ÛÏky©‘M4“zÇ÷ªïáí^¶F¤ˆv²yU›t:±U\l#*D;f L¸­Ü7š±<áõpç!9ìà“s ·±Ü ¬6ȱ»hP¯_²9Ó ·#üʫǑØ÷—†ßÆ.~ÛÞìý\®Á¯ßhbÍ!‚ÆlþtP3CÍ»/Ûôð,¼¼Ü`N˜­prʾ k` ÛXNQ“’€Äv_u~FíÝê±×ÝïP…Ï0.Ρ¼ß¬E¦ÃÛg§9~š—øØx‡n×ÁÁºßE´w€¿úºÐ]¼Wëå,M4d„É!m”ƒñçŽÄOp¢Dúùm<>vßsk}v|c{çèü¨>™§#Âð&ć³â{’]ÉÁzí&n­Nå¢eµ¡@Bf(}ÏÇK ÌÒÆjÙ ®Á?³bçk]×É=ÞÇ/ú Js77×ÚUŠæÛ×±ÛŽy ±¦åB‡Hp˜–ƒ‰‘O¢Í­NÎ9÷ŽáÜÞC<=F'pȲ°/,HïM›ºX¡@ÍZ`ÆÁ (¶œÐ½ØØ -ÈG«Ás¢¢ÑZn‹{qŒ}ŠBdˆ çEÏß'$ìÍJ5;JyžM·†°üÙ‡æì4>Õ')t\íØKÊÿGÝ›-7Žnébæà¤Y™Ê¡¦]g·}ãrD;lßùúéúÂá°;N×®ªÌÔ,Šgbž_J@Rʬ}ÎáMeQ ðãÿ×¼¾µV ÛØN_w“5.޶€\Ÿž,üü¾½£L@܃ÝèÊÎ#¬ƒKˆ§Õk¢ÂÁ1wƒ %2€ÝÚ‘\¶ÐÎkž?ëQ µb_ÓÅD¿Ù¡ ¥óh¿}’¹ZAéfÁ„øz êÃ!î®|\ì!«×FˆŽZè{ \¼n4Óã=‡#á!ã »]WÚ¦©äøpò¾µß8¥ç Çï/ÓžôÇ9(‘™J3Úô¾àŒÿÌ£ðŒË|6¤wÕÉú?oÐù—÷àÜ|a÷8ºë;.²{X#bgR¬ú,b`Áa«òÉüâã¨ÇÂ)ÞÈÔVœÑÇ,¹ÇY÷?h!Aäf2Ô¡1xa ÏÝ=>‚¢ˆãÝûîݬ0Pû°ú…L–mV^`ã…>x†ÛûL §‡ã˜y™ ûPÜþ`-Ú”)õ„¤ŸN¡; ¥cünÞâWe·®WcÅoðôxîÛoûËŸ~üååz(bAÑ/ëZxéøA|9xï&Öñžj·ÅÁá UÙIÌR¤/´!\òŠé›!”÷ç%[†BÜÙåYytNv¼£út»¬Ó®¡½i¶[¬ˆ~PèaòÀçºÎ È‘†Xl÷BýŒvoýÌ'yÜàÒ\b@èÈÇÆØ“ì{V Ø™œ'ˆÞå ÜÇ×Õ‹– {Í °©y‹Cå ë >ó\æ\Þºøá]Æë‚JÂ5üøqŧÿO}&ç±ðó䯗 Á—|‚õRE§·=eR”¼{â2¥Ñ#þšø 9~@r’ÉÂ¥ù€^^ÔwiðƒÜî{Kl¯Ù†»3op¡¼ÿ¦u1ìapŠ[ýï´ºœ¿O-¼%ê¾BJX\¼Ý‘<_Þî]䶆Žcm»Ïj9d±ôe"!ýò±Ç–¬B¶ŒWïÍÕbý—™ºŽ &o1`Ò¿†æí¾Ô®§üå¸^=ÌNi‡uúžì·‡Ù¹Ž`ŸïhœÁ#ði=ÆÅkK<ÚúQ»#è,\m·Ÿ“2ÞI$,³ù¬§þ#¹L&ñ-Xêe± Ý íèŠá ,w?{ãÞ"ñVn–ñ|ã_ÖÑ’ÏŸTuVs`¨ªÍ1[ë8è”øÏT€–xO¬1 ôï?Rw:Op8ÈìñáÐÅùyqþò,„uP^O$¤GM7ÿ1wF!X<‚íïß|a” ±´|ü]ÝÞÅ’ fðÙýìˆõÓïè qB$‘:}DsôÀÀýd·Gtu·rÝòõGpÚ$Û…- [ì.ŒÁÇà˜ª:‹–8 {&W`Šw—L¶b@7n ©U]¤ª> £Ùï!5‰¾[æèþ-4î屯Ëà?°Õse%AoiNTÒ«.ÿüÒ/ò…’ër /÷«&O)ŽŽ«>#Gð(”¾Ûw·®Ç?l]̇4çî@¹vaiSèI™"L ¸GêwÙDì—Ý–e–õ‚©2Érý¹CÐÂî˜ô}2ÂàÞ‡¸£s ¯­ÁéíÏOdŸóžú]éM{Œ#]ÌHô˜ã”“fû?" “âoäSŠä˜øËx%°ÁJgßï~·)ØwÖiŠN^Œ1žs8l™ÚðpÙíþ6'ºðï› ö$€ÿÎj3zº}üá›ï_ß‚úð-ür.#ö P|•n©Åq¿‡ÿž?KWAO01·ï1šqcÊÀIüí<,¶ÿþ]Á ªrýÏß-üòkáÏ ‡6ÎÏ·ûV³™‚ƒƒºøû8£¸¯KæcX¥.¿Öêr·ž^E,ºôë&cÉIõ½l:„ö¥ÝB¦«¶QÑ ¾b"ùÏ9Ü¿Ÿ¡g5û\Þ þ¢ú¬•ñˆ®zrÍ#éTeÀ$\âhcÂÌíŸN ðÙzjŠƒø§Ñz´à0¤¦ø5¢á ¤W߇‘l„vöûXš‚²¿Ëú̧(Çͺ41 \%C0wr‰–ÐÐC5¿¨ò,Œ©OW¶ŽÞ±Š®¹{ßyO…Ç×}QãËêõ5Ìý9-Œcò'É[˜bгþng24˜ðe±.Æœ`&¡Cã¿ùGP×pýl3ýÓažK´˜!äðåØ˺,WéLøíÍÿûŸá!…™,¡#½[öz" ީƨÿëýßþmóÂ'0ñºÀ3›¾LðèÜA-µ§ ¿€R3¡º[PÔœ!N‘ n(CœÊà‰³ Ç,Lç\.|ùt»qÖ• JÓýœC ð°¼F7¯ :‰)÷òOHŠ€°ÔÙÃ{®ZЀØ|ªFƒ1A”^ûfe +Ô‰Š«œÊ‘ÌÞg3uf˜ý„=±±Öˆô@¦ßGJL-‘ãaÀ°0ï}pZý¾ätˆ?}¿ôóJÚ _Hw…! iб´s¥=à‹³Š¥ê^F«¤@¾èÝhv7 Ia(u¢Ù¬€ü\”Mˆõ0¯Ö×”æ‚ñ˜BT¿Í°®}°]¢ÔN[<“)7®W7êéDª*"ÅýÊ IDAT›gÀæÕ L©"¢Ïuñ9Xà]ÄLrÐægg…þF²Üµ-„ì š ð93‡˜Ô ®ßŒ¹í†X¯¿«aˆ òî~àš*“ɆÌÖÿ‡aá€{yâYêíÏcb§Jq²ýyèuêï™*üvy;›ƒ“òqHlCW3ø08NB:ŽAi ‚ U´‰¤Šp£[ÞÓm€N¿0ž/=¨½×ɘû8†F6óªþÛ ü€ví^‚ÏuF'ïr8Oo!UÄÒÁò*&q‚Xÿx¡ÙÀMyч#‰ED¤Xé¿Aà³kuÎáŒ@7´ç»–Æ#n·SÉ' DDýŒ‡ñV@¢'µ§4Ë‘®ÊT‰(hþ:™¡Kdçͨ*œP‚˜U¨L†±=4"IÚÉò „Nò~ºÊÁ*H?Åã<…* ©fÃKfû•9¡JáÔ]‚å‹}“s"¹«'‚Ì!²ìËV¹.“òÑÞ¡9Eš¦ iœ© @duÿØé±$#Q"Ȩž+)ëHóâƒ0 Áí:'ôw낎\çÿ™3‚Ääz&Ä{ˆtÆzŽ/lÃ)GBŠSP(ŒCZ Ä" F©:AÞЄ),ª¼º–BðUÀaZüÿüwé`–Ð`¨!˜ˆñHȺÃCÓ ¤a~d#Â…*´;TH@‰›í¢ÈT@r8¡#µ•LÐ)ɪñ(„¢4óÏU¿`ñ» ñ 872Ñ‘|ƒƒÂƒ-µœ–9a^§Qͼ Dù»³\ñŒhN#¥y8êjt€Û›%ÔN¦£©5Ô´ú|f^Fï|q¦‰TоJg2~MàØìžl§®ù£ع$·Šo!äüné¬Bƒh¨ ©êsî×sž©pxÁ!z @j@PêÖ)ÍþG¼Ä$€ùyJ«;ÿã%eÃVýÏÕ1Ó…²aë%#„RœÝä@ª!éBMlv.úÕòFeõðÒߪ39ƃL5ŸãýôkÍ Æ”H !„¹ü£›ý¿©äBÊ‹flbbƒ’y$\³|¤ Rü<àösî}2{ŸÄ_ƒÈ+iiZƒD`¨l}$ø%ùÚa)xñvÿ€í²èOÃÀ€ãà¥*h¢Ð öòbÇGR¿J’…Íç¯RÐÂn™Úc¨œ'<Ñþ6M_±‘†ÍvœáÝãƒ! È}’Ñú ß$ôRF"쯣âÕ¤Ä""&:§˜[Äœ7S>ÛÇ©m@b9Ü=tTöøw°yÁ¯l4yŽšaMAù;ìR­=Q)æãb×k±?‚XJÀ3‡t‡ˆ¢J#m ›Çîð G$T¥z(ÓX>d Ç àsšvg$ØnFq®¿Ã'(¤ º—1µ”‘6œ{ï‚ÑÐSIƒú!…Â&dC1•ì‰ÄÔÉB*§)Û÷‘ÿr°RdOAæ6¾åÜ‚qÞ‚à«vÓxÄAQšý h®,i\&âåë[+htñþþ#‹¥¹‚¤î—œ5á“Õ8ÆÂ3!Ò “@I5¢ã9°Kú‹.u>Ÿ9:ú->µž8àóÑ,\šéš9ç£×}‘Ï# Âç²ýH  !!›÷g2³!7€ÂR¥ÐOWü»—w-T}Àß9òRDÜk~N¼–ÐÕöOxÜt\ÕѾÇÈ}“ß,ç5¢x‹ÑÀ& QÛcDdɆ“ùvŸ5І Iµ±tB¾®û,ì7Þs¡óùºlì‰íëýlûè³uáyCБ‚Ø@’‚=žý‘ošÁ=¸ P{Ìnß÷P¥Á$t N‘¦"îÂ%{6(R;À£º€qh@å¶_—÷KÉd-fùÄdÇsùý%b ØrÖR.“ž®}hý„DGT²Û&d:›Ox ¡•º(ò-£e‹CÀÆy|¬}­³ˆƒT²G´ÍîÇ~ –&!.eèKäj¢³?o§Š„ù˜‚XÒY_´Á!3E´LŸ(—³ò qPZ¦þEh’‚0¬ò€$2YÍ »ôåðBwâ”òô yw¬™\¹$® ‘ÛOoÑ*‰[ËBÇØÍùu±”Q‡\aϬ”†øZLí~¼|€;#F‡#¡ÏStLQ÷xÖËšÌï¼Æ6Ë:v„,“]ƒ+þ!ïœ%²HÒGšÒ˜.HH¥‚J%ývž 3°y>%˜1†ˆá~ƒ´ï ¥ð‚ºîTÏ,8ê@ŒB,ˆ*»8B§”“#tb¯%ZâGr©#øýÞ)"7ôP3ÈT(Ù°7á Ý›Š&DËK¹‚T©¾çòz -÷—EÇDÈp`ŸAåŒäÝÙ“œp`:]A»ÏE7ÄÅŸsƒiîW ÔQ®ÎT~XÐ Ïó;uäZ¶ÎÌRK~(^Tã8ú™ªçt)>AµË@RŒÑáy„EÙ¶#eªëóÄ è°9”¦*Í~‹! þðd׺*‰IêIDÐä~þ'o‰Ej*TšCg£°.˜=€’4áË °ôXB@@Œl„;âÝÓº`r<ÆÔIÑ;®®APLDqË´%Ítz¯’zÀƒ§ê>8•$0GWà”íï¥õ„<~›p2Já6Ü>:T³-› ÈÍq:®oÏî½#z %QJñ~ï=à2±W€ÿÂâ>`:¬ò ¹${4«ÈHìGsQ)dzÈ8=Úâ<†'H¢y/ÍàH@f‡ˆó© Ɇ-Äû6"ºJ—æUI©ÊÚ!¥£Ñâ:Æë­†/f6fq~ÿ².jgbµ»ÀáÉ¿ õî·þÖ¥ŒìzûË{³ÚY=Ϙkù”€Œ|(bp—˜o·”Æú ܸè²À‡,Þw $j¸¨¾G(Ì¡'„~Á%×ÒV}K÷Àããò‘|A6í}7S6Kƒ†;Ü¿ÒúƨE „Lc„Cq¿ªÉÌ*ÂuqtRgN1Oô~²Û;C­©Á—lý,“¡¬ùe­“í{ÛlP%‡çø¹'#ôF™ÑÙM`R³’¬›Ò~>Ç¡P¯v QÝ¿ð>k¿üdcdYqn÷ù÷t·`rŸnwjæÒëÑãkúe AE›ý½>æµÖ|?ncdØïö§â>V¡0S…üáuF®}•­-:¨+6É LšˆŸJp~«‚YÿãGºÜzªîû lfü]ݯÄ'™ŒªïƒàÕçú7U†ÛܺX$XÛÇéü¼Ù€^×e§•,såEë4?ýcç5êÁ««íF¨¢f²…y“‡ØRbZ³#8I±n?:¿Ë”çfçxöäÖþno) ã Þ<] ý½®ä; rb@¼«Ø´¬Òñˆ"¡uÿ¾u}ç§<Ü<ÀÒÕŠk5_·¥Òº§îWMé‘u:Ž×&ΩNù‚gãëæ³2÷è”e§Í 6ä}séc¼lá%-]½c8^Œ -Ì÷Hü ù˜ ëÏ Î ­.D¥Ø;»$Ómšaµ‰9!kk½¾{¬Â}Šðgr‹*Éiÿ䥭”ÚÈK@ØW@çÀ=w»¿òd5¶À‹ß‡Y·±åCÝsI¬"ØÅ0ÅßUQïÚ? Bܬ›Ïm‘ܶ®û@¬vÎpY…ªÚ9‚¸.tÌ¡Ÿ@–8¸³"­Úíή@N)ÂÆh?{{ò`ð«)/(\1wÊêz泟Ù.Ž™ÂϽ¾Ótÿ*àëI•FhÅ¡TõÀy©r›Hó“t®£eö޳än(Çèÿª`v]TÌ'dq¦¤–0YÎÞÑ ¿ìýÏÓ*Ö¹™ÓM"ðá¢Ñƒ[8Wè㳸“kéFNŒ¿K€M•¾­ŽÞ¡»ÑaæÉ¸Þ.K¬ª=þ6O2df_Óo¶È#žµÿ]ù©*‰|éICpíïpÒˆ!Oë:í6ÈtÿùÆøDµW¼ûd ;ÿÃÝŸÍf;{Þ*O jlÕN›cèuw†“XB×)С[½çÓLÚÅš¤ôÌŽÎ)TP}¿;¢ÝŸœÕÑwäPQ(3tTeÚ:(ö|Ec®ïÆÍþà/jvþç•€5öôO¬·$ä6 a5£8o,~weXx~³ýÓ©½Ø$TÝ?:ÈxT_gϧ­j̃‹›íÐÍÆPl<†Õ«Ò´YêìCuêgcLÚi2BÝžâ6À©º_ãIqUÎÊ¡þ2>¾j÷—“Eu­Ÿÿ­>}­9¨?œ·wÿÿIâ0jè°Çóç¸Oqx`e‹³®&Ð@}­è\3õ˜”¹LTÕµžçá1b%ViA›eL’drý‚éARwóv:Ïä­¹8Sö·§£æúÃõ÷íäê}n›xùG³^]ŸdÏwɪlè+ì…Ýr$We–¨7ë@KÞ/É}@o¿NGFgÿÁüö âÝÄ pÑ]C^ )ó'ûÏ´ròx;Cfôðè1ÛyûéF P7`”ì×¹UĽt®ø÷z8Ýk=Ý7?@÷œ/ïPÕËÍóÂê~ôE<>Âþóï俨æü÷l/Ì+ƒ4ì§1îÜ <£ÊŸ,#àT>Èi~ÀÔÌ¯Ë 5³µ·÷².­‘œÂñÖX¯UH Ú"½ˆ‘*`ßoöõNöýÓcá LÃ,fô†»Àežc²œì3»ïLŒýbìwÞÍÎkÜ-ä}c4û BÞ½¸{Öþc•@oéÂû†(~§þÔ,S)«NsOóúzÖDý\ŽðýÛǬÈ=@¯¬‰À­žÏ”òØ`!ëílŒáûƒýÁŽôaæóµJŽb¹j÷´7¼†#¡ùœî[üAé§B^8R±¾™9FD5wþÿ¡[œ£CoŸî#‰2È Sè.ÀÌëëœþ?™Ì ’j|a Ô×ÞqšãB,›Ÿž,ŸÏ¯Gmª¯+¾øìlÏY˜DFÆoËß›U‹xãÉQsÞ…d¼še {±ö­•‹éd4$RÍüGæm5Õö˜ð½þ[v)Á…šÙS+5Û[›ØÏ¦µ:Ù9zùDA~côçÂýÜø»ÀµAç?Šï¯‘•Òu¾à]Æ—ÐMßm]—ÿXÍqÜëÁn¿{ 5%d2•ô@`Ó:_¨nf‹QíêM]ï«–Û=…L _·odzs~|w™ÊÑóv_&Éöü°ÿý'°ýBž ‘ÌÞMøy{ã†X¯Ú°K2‚GêvG¿ëç1ƒ‹ QªíGO”'cd¼.§.NÌ\G>¶^óžiÆAD‰ ²»G,ß@ïC¡q#~þ5]µ«öK!/t;®ùqïFe¹1ã¶¾/Á¢ÐÑ6É<ªß,Ët·à'6@x….y¸{í8 6Ö¶èÇbßfŸ²wàLïF!°¶Ûc‡G?«Ð ,‡ùÿ­ñþœÆ{‚#‚GUyøwó÷×í»W·¥G{PøÝ!XhVF»oz h¹=ÞíÐÖöîÜTºš@Êc¨¡‰ÃRÁ•7œa5×àšõ<ƒ–â±õ½×´,&ôpSµ+¨Us>WÛÒqW9-bÑŽ!ƒÕe\O®ëU/'½w,‡¡>l–vÏ2®Çg×ÂvœÚ4Ï Îh §Q³¼[¤/Ïs”þçæx¹ÜŽóñ,£¸žË’N3 ¥3x§U» ¾õ¥Â¦¡ÈâßÉMõ,Ÿq‹WĨí«"G&S:¼Rc6ÆÉä€?¨c÷Îc-ΖÙ0²Ô 1ïÄ|Øþ˜=¼ý¶ÖÍk² Ös~÷øäS©yÛ2æ×®Šd£E¤2ðóêàÈÛíàĹS<}pïd‚åD;€Rªb‚k6˜1ÐŒ;€–ö ×ÞBÚXP=äBì©ØïnÈ!™f†Æ[±ÏCO œ«àùÝI†¥æƒÎ;$~A(¬{%7ì‡þÝÎû09˜éü=¯ª‰ïꎕfLöóFBÙ̾÷B) °?f†‹uq5ñ ¾Ý¿‚“áOÁç@Tö°$Ïщ²ç\³Ršßg ÚèǼ̀ǹƒq?_C<(œË·ŽÇüÚµ‚þ}a`Å‹l-“‘l`Nl²2Í];·;÷‚$-hç?—2åÎk?a=) gtò©”<öŪò«ôsá¨Ë[F¼Ì‚,¸Ù£ÒûÊBú˜ÑþÕmó=Ø#ëÕrDûÛŒÎ1òqçõrI®ËFòèÞð¡ÎWc®¤à&Û×)×rïš Üëp ùìnÚ$Æ$4o€Õ]]Ñ'uÛ× ðcÔãg>šÆœ}×ìÇE¢;JÛƒ'Ý/wB­›LiéÒF—V³ú^þF…ÑpXþšÁM’ý¿ªgë{¤D ]BNØcØDUÑÝv‡Ó¸Ù?.[æþ´5Ù?±òÇeý¾Rn߆Ñîn«þIFÇ«U±ÇT pX 7’ƒË+ õíϘÞγ«à©ú6W\7{ŒÁåG;ï(¾Sð_Îe ‚ýÖò/Gù¹gôBX˜I»îàKcgo­z‚æÇs ¯~6s¶9E„cW{¹R0ͮʷhU×ÍŠ•éPÉ,îÍØ€Xß¿çß{|"ãή( :)>ƒegw•’áèèoÂO*‡÷/¬§ß1ŸÐ'ßaTªtNvt‹^hÙ½N•÷,Û‡p° cûH]ÅçǼÓ\ºÀy/+B1È|8ªÛŒ3§=˜æúýâ°NCt/{ǃ ª{‹‚(‹8øÐœ¬:KD¤’û,2Í-ØW~q…Pð  \œ¦L:“uÓÞi@ñcܸõ€ŸÖµønw‚'jí~]ÒIW~ÆSæjŒc^·ÞOaê#SÕº½½àç¸e´ìÊ…]g?Öi. ·¬=áž…!܈DºÑ%$¼{yÔoÆïØÆ~¶wb´(é²B6uŠëÅ/Õ Ãã}š;«Ù»yU«ˆ˜6è&M¨Û)çÀà¿Vmh'ÝÑ)ÉÊì˜5A–º…]l€€½’¹5P_6g¹¨ëY£›–öæ$—‡Âþò&«‰ï>ó¥ÂcÕ™ëìûÕ3çãì¼Nâo7©( næ¨*[¢qݾ¾üÜ Hp§™Ÿ)Ý=›§{_+ïwoŽ9Àõ—–â…ëÝ~rV {t!6£ {°ãlÐi·ÁN*ôyd7î—‡ÆëB¶YÖöé½^Á·Ž•éɹ“}§ºoÈFó=Ì “‘ÓËì<ΙoùåçI¯Éçf}íC¼Ï“{¾bQ‡;‚µÔE¦W´8ûá¢jñŒôÍü0%3Ú1‡ Ø^xªÔAµn´Âô)“7APì/ûñzCw«õïRaæS‡\óK„tU׆7ΈCtf>-›÷Κ4ÛNX=bÐlw.ƒí ·ÃÓæ‚í7 ù;·ÿlý½.WoŒy,f!ôª\8ü¡™À~ø[3Oý"´ÇÅ‚Âÿfê¹;ZU>EÊËFTIfú2ªÓìi^¬ñ“ò¦tU›þu`.iµƒu™%ÿ¡9n,æ]–†™¬;ãCœœk­±ƒbußR+‚šÛ¯#ã¹ Í/þÍt·ç!ȧ¼ËŒM@ãÈË\M}ù„'ËÒ³3H¿¼ÅòÖÅÍ:“ÛºwUÐUÞ}Fù˜íI(àB8¯Vc^Aè‚d;9ͼ}¿ á8 ÒE¶>ë6&e„™­:¦_ç_Ó‘ï Ó1°øãªþwí²»;–hëŒÇE­°ý™cŒróͶµ(èû(ß/b<ÆÓ¬Ð]7OyžŠ þ=¸“™þ“œÏŠ&íò⽺?h=ŨYV–$¨fóýVu?;–ët{<¨ÿ¾“6ƒ2D÷e²„÷«¶ø£[µ¯£E€nR\Ñ-ú3¨ë¶çnÆT©àáLÊb]ѵ³÷WOõwæ îi;{gº/¼,lÅ·'Õý?wä*u¨íâl”vPŽUÒÙbTìLÕ}?Û©ËBFè#Tí°àË-þËÉþà7hEA¦ÏŽz6†·&€þW;B1šý¦‘ù°õY?m4•ùmT¥C%í`- Pÿ¾Ý_¯‡¸¹ÝyÄîØüÞ~}£ûŸÜ}Y{º1=éÖ¸Ãò³ƒ·Z½ù@×èç>ÿn?xÆJâL~>åçOÕóè ?D=¾Â–&íý>ÌèÉý\õo-Ó,ùþL)NI£,@ù‹vÿü¬š+ñ}ñ¨jŸ% ¿‚ëì»((èÁõºX–öÐXï×cxc‚eˆ³÷w–U»Ã5û}D´;?žÈÍ€~Ó¦0 nÿ6¸¨ÇuÃá ¦ÐÑdRœŸí5ç^³•øÑiÚž‡×Scïu]ɶ}lêå€ã+³ê%4ø8£•™Pè ›á¡Ì¿ xÇ0 ÂS ¼!ãö>~ñï#%בõ8ÉTj>‰/öZ'¨F»~’9¾Q¬K^ltÇ‘„Óoyn’»e 3/ž¯'&♎™UÕ5úS E8Ç,ZC}Wß¶_¼¯”„À–¼‰¶1A"å Úó–y¸þ¤·Ä!š¿ŸUYmçEš‘G3@GÚÞ4K;ûŒÜ^<ø1³µ”šuã¯Ê¯íû¹aвJqŽä¤z¦Fä y;tÖ`@— Û>²¶ÓAGjÏ›¥ò W!ˆî’“CǃÁ(X?˜«98óüÝAó¾¾Q˜\6.á9õkt=³SÞ¼¯î¿C›0ÍëZGÍqm>·Å¦ö‰ÿÁÁ`/çK¬v®ÕGßšÅÖSkèQ/­r™\8Ø2M OTm=-Üß'ŒµLp?Õ# ,’|ÚÈU}þŸ½/8¥>¼JN㺼š™]@¾?ÞSøXðÉztŒëyvö³pŠPÔpµ^` ýÐüìÿ÷Ouc…7#g–kÇÀ13Ž•Fhd mŽî¡œ¾Å÷ú¬ Ôún÷_¯qòáu "mmAï´Œ™Phõ‡Yv2FúÃ4ð·ÀâUdããFËpEZ´3£]p¸[P¼á]æ‚ÅÜc0à_žà¤R ~åD^3ÐÁO0çû2<³‚v¡9ôÒ•P^‚± Gånmâ¢Ó~>Ä’DÚ+”ßãÔÄÙa©mê<…=B:>ÿng™ äy »4>X`MŒÂÝ´J§ÔœB<È„Ë1Ûôà»ÒÐHÙè›îA®WH:Ý-Ž¡—ÿœ¬?Ç™Rº}²ðÜå'½ ÌèS¸¸n€>D—8 hð]‹^ÄW$‰0IðÅø‚Õ!I Øvÿ/ãã«/!>þXUÌúc íŒÂíÈ»ÓÝÊI'p™£íüá-áñÛöðêÌÇoK<ºJ ÅeEÍ4ÄÍTøÆËyÄ\ƒPše6-YˆìbŸÖ+îË*ɘ‹°ÿºê³Û; ï.dü3?ô˜BtƒeRm#PøàeÎúR1Ð3›;ºˆN G$ð?ÊG±5˜RfèÆ£Ôi挞 –™0%t¦ÚwY—i¸PÔvG@±D˜rfÄi ‹ßoÌ„‚BÆàb >µ»B–˜ ˜¬t°ý'tz/³ÙVÓÝ×ÑMŠ`‰º!«kèð’Ó¾f:4A±6 IDAT!"¶W–Ô ê:f"<¬ÝMk E®Ë+YC.uhy)Ny"·\¤½ösçmžT\éÜ4¿0Ü#Zí°”TvžtôÝ 8¡*ÿɹ…d ãž´ñ6ùPσxt‘ö ΪX”¯±eÄÛ‚ÕÏdãïëOøµ“épC² Ú»efd2 *ñAGè¶ó­G.ÁF>HòkÂC'mêó/Ðuàåý¥‹é…Ð{U¹yykâ‡wu’[sð;»;ËÜ—øñð-ýËe¥·JÁw D&ZI_/Wæk(ƒ:_ˆ’wx‚´û×Uâ÷ Ô·{&{.:;X¯}˜‚ Åݘ±2Y×ûw“GÕgJaŒ©³†´1² qâË÷v~µÆàãn?”ô¦HøÃí>ò#ÎYP#Uè‰Ü›ÀÛ:^‡>>léNl84T±j¿éSÚáëåÈPŸá¼ŠV|+Eò¦àa5Ta0™mèßÙà.v<ïa[ûIÝ®çnüï¹f=õpgàÍE{§»!tœCûKèÚ’ ȶ ~æÃ;(ΣÃZX…ltŒ)DõpçýFÞlø .Þœ ßuÝ7ï4q•Ú/‘Î |7ÅøÉÀɱúMÏÿä­ñs˸]o5ß-‚’ñŒuÐΛü,wÐ.["Aíº™l»Ÿx{¸{?–<ÞF²èÑõq&ìW°%-bØýÝ…ÂôÄFt”ñÝš•Ð ¶Ëõ{˜èÝzß}Ç8Dl»]É-–˜#‚ÅJ8Q$0ŠŒÐ´ š åÛtê*’Ñ¥ ´iFKàD†ëì8J¦<ÈÃæäÞd¬ãèDûËh ‚¸bC\¶Çò"νÑMs¤Ç8ÝSÍ“ ¼d;ð¨#EXÛßÞ!‹DlaœÂ=Éh‚ O žT…†»¶ÇÖ-Näwßm‹Í…¥_ç=+\@f2ûàÑ4p–Çeç>‡Wµ c_ŵû«,K#êq”¹Î` UÏñÞüŒ·ÊOE+œÒuÿ‡&ˆÏëô+& ²&žlo¼Âþþñ ‹r!ÇþYŸÏî~.ð†xÃ4ë£Hf@[¯ŸV¤ð,L¯=>ä~º‚ðs|"™¯Óð¾û'pÀ o^ö#-ô\žÆ"îbòuÉKèyí²ž3ðO^þRü:€×y½LVWsÝÁ«ï:1±*îOx«þü¢ûøCÜù·u§Z:ú©- ³ûûK7ÞïùÌû”·ð¼X¡ˆª ÇØûêÈ4ÖV!S1P6 "Ý­½¬Ü»ÕÁ¿Óöò­(ƒ@¬¦ðI \²;>5g8aþr²žß 3¨6 ™ÁÆ$Ä©ª¡û÷<1 šA$ºFBÓ“¿d­Ä8Dzò×w]þâßâÇ–I:…7 Ý´çÁÆèà‰ñ;ˆ$ÂaçÚˆÁùóî£2MÁÚHÚ󳼃Xq2µ_‡2Ÿ•ÁÖA6ûM‡ñ±¿ïxçùŸ¿ìÀMä?¼6 |Øß/"i¸]Ç_,°?z›aX„a•mïRCÞ=D7Ú/Ç9qY Ù}ý@ÇÖåÇpYï딌—|¢§ôñ’Ĺa§F¼ ¡€A³ýÊ3SxaÝמšS*‡/Z7mPˆÔv ãò'ß7¦pu éüÇá^ÿoµ_·_?&!Ÿ$àÖü×àûà¸í6Æùï•·ûüO$üãL>Ít¼Þçq'_`3ï0èUåžâ;09ÿ½~®îlÐÝ\¨¿¼ø·á˜s€'lx©Ó”ø×Ù8ÄÁ†n U‰‘ù¢—ú%~hùìuÁ^àÓÎÞŽ}¼;y¥ü#€¡ÿÒõq ~?‹³.¢ý|Œ¬3pÜ•1ë/Ámä:îõ[¼Õ^æêÍöÿé4l‘SÈI&û¦Â‡n!³VоüºÜ± ªpÝXýîÚEf› Ç&ÎO²½ö®>c}vŠc¾Ø[Ö"Èéž´ðñ•ùú hóìàå˜cõµ{öO93Ú!‰ßnN½O8ä†hipäv{ýÏ‘_NUX¦ùµ+2A“ˆÖ4(ùõ~éz!4µûtà+èÀWÐ!,©fÔîƒeuácÝðûzñ¯Ø :ðÝ@‡š·ÿI.þþ :ßßéMÝÈ}€+¸Ðî¨2y%Æ&èP]ïÇíBðt8Ï»ÝMèÓ§ÒH¨u5(Kϳ F’¤¡°˜s÷ùØW)©¾‹½¸­;¿al{Zó ‘[Ø :œ ®ÅjU^tô€ØtèÏ?ïçD¸!¦ã+è¥öýn T@‡úäÔót:PÅ77ÍÂÛ¸+ª`&Ã5\:D2Qup\¾¨RÚtH/[Æ.´×OÙÞv:.NøŸ¿‚àݱ Ëo¯Àx¨;J&ßÐ?ì:\Ð æs@ÐÜ'³R@ê„I¶G'DäøVÐáèz{ÒjtÚYæ@5i¥î€ïØ :Ð :ô·Ë""Êd„~c ýsØ :ð*Ð!€ èp”—™.Š6Œº—‚´‚épçoÿç_«üd?eÝ<³Ú½2¢ÉWÓ¿ÌøÍ·³ ±ø]öŒVÐ!ðtI;`ëšN!»ûw/–J]ŨÉvOèO«0VˆN!‘¿†°*uûÛ‹›Rƒ”gÐáÊÿòt,oÁ¿l Ç.С÷ÔÞ™%Ú1¥¨ô-¨žA‡™ž*ý.ý~‰m%=¸ t(qYà…MþÈî:$¥ªì)ƒûöQ½ã‚^Ø–@­¦³[A‡¾‚×~Õ±†…þz&“ª RóŽ’œ•­ùtÈä#Ä»Ì^Pä<¢^…)oŒ…ê–Ø¥ tÙºÆ £U]÷éïì :ðt :€dÉÄMÐá<µrO²Ø"—<iÞñ§ t t󤨷‹nQÑþ :ôÄíº¥ tædöãÒŸíX ² 3>é$³õ¶‚óf:M Cxûƒðt¸Ò ó :dÝL6¤é FÁŒ¸ý’Iê5ÐáÌ]|W‡Ô2^â»D¾»£DΰYÖ=dGÓ_o‡ïØj+èP[|Ÿ€Oèð~Ô<î ¸ËGarëÂuošM C5Ð!Ø U>÷#Ùtoñ3è0ºÞÞ "áÁ­ $> "jö—É|tŸ¤èhÀ`U·+'k€ÏGèõJ/íûl„Jèð‘®ÊÙYØLÇ4Q]‹ÛU+ C_A‡º!=È;¨¢Ð1‘ñü„ÊÎýFá* ÃEÜì?´4‚oóQ‘‰@Ô@‡Þ”„ ^D¿ºT¬‹/uJ–mÊZª€T@‡A‡äCÝ.}s*ÃÝàá6Ð!¼ÜFžå¾Ìû¼kï6ÐáÍQЂïf<² tH–|ÑõïÿÙxMè0“w$¥naÛ@‡A‡ë§â¹Ï Ã„hZQÔëc>M Ã÷Sí»^C‡Š3ƒ3ß¾ŸT,ƒ“RìE\drØ7ÿÀ§pï(¿…RÚìö½È=lœ PÌldÃ-ñ¶ßïAéâDÉdRhfÆÌ6Сùé~¯ó(ƒ`ÀÍájê^ CF+h<ô ŠÍëÙthzÍ{é²;’ðn³² t´ÏAÚ¨ÞÀg÷(©}A‡,YÄFVÝîŽò5»'£l-eÐ!€­ Ã Ÿ­£ tÈ­ãWñ­ÒçpU;’¥$÷tà+è0££z¬tè@#è@ t˜©úŸ2¶“ÉF7ïÖ4ÿl@1x(§Í¾uèð6ÉžkkŽ%ÿE Cß t(;&¾|ÚîÚs ? ™_Ñ:´èÌß| èp²Êî71þÀx¸hû :^:¼¶ª6ÓòyÚÆ]öýlQÈ&Ðaè\Âûü¸Å!à:Sü×õ œè0Ó/… O®Ç6’µ‹¯:=ƒ‰‡´DsÛc€±£`’Ç Œîþ¼YŽŽÜB'8ÂW³ºM³ :°t8 2Ù²dX•|þm Ãi˸ÌÛ È%¸Ó)úy¬ièp©WcXïóØ­ò6ӳϠCF-öñthò]êº=6ŠÎW’½ø :\.3š2'8¸Î~Ok&7»u4½.ùÚïZôYð.V3:à©“éäéûü„9€kJ¯^žÜ¾o ­÷‹¹>ƒ¥uÁ¼0 ÷“êómËÀlûèÍá5 Ããqëß÷®èâœÈÅKM ÃÉÃzl–•»@‡* C5Ð!€¯ Ã§ÑÅÛ@‡z¯¸³p]©9ç qƒ¹à‡~ t¨::âI˰æîÙÛjGã(óe‚†¬^ ¶4‚í„ü :…ýãtM Ã?Œâ<Ë CÃzùN¸7‹ûW.äï@ä#¬ûÓí Fïʇ|’û\,±»»iï•aç÷ÉYó”¶T-è­ :4Òí>ùò·:Í G?Ö@‡* C-Ð÷Þ7ãssWb“Õ0fvë ñi²óš¡ÒÞ CvQèí¥bB 3™á¥™Ÿ[>úW÷8hÐ Ï C C¯ÿƸm·Q"ùä+èð‰oÏÙûìëó?Hý„ã†K7Äj\3‹V™lÓæ»å»žO{@Ÿf‘æm ÷ >¨¼t`'è0^4ñ‡~½¿œ’m<êí÷–“C<æ]8ûÓÌv¾Ìý…gС¸ÜÏç JjÐnÛ¯+MkÔ.ÞcÅgvü3èø?U@‡à¶ÄV…-¿èpZš¨—¦1œ*VÊë §¿7èÐlpy.t^²óµe§t8AUÿZW>éÓRf…îÕ팮E9Â!ŸwthšõXÚ/§Ùž<ƒ ’oõþÿû¿5hú<²óu¶3tdRZ} “R`ˆª‰yÀ-!ltƒR QéÚçd:̃"EáË£ƒ¾Ê€HÃBH,g"æÃ´‡‘>‡ÂWÈÍLG7ž G0Ç`ºaõñ³ÀS—HüÝÌÉE b’€_©ø*Ú/SZ‡]yŒÛƒ÷|I û<¨'‚Ÿ`*=BØ L•Æ JÔaº[ØF½1Ò¼*IÒ13(yr[„QõÜÅ Ærà@b!É™P V‚n5˜ä Ö4Mp9tÑSh<k탪ôÁŠ»£¬(cDÌ¡ þN–‘€mpvEŽ€öÔ1Òᯗà{» ’" ó¶Ý*¦tN´¸?híuÀçÂî.ºCgèÀËR¹*LPðCÝn³cÅ•€²ÊƒI²wPU2L´ýÜ]b Eâ1(P £¡‡ÄÔR¢Ž˜(o?/7u bóٽ̇ȼÜXñ‚Œ>Fˆ  ù÷* øù’Å$(@#Š÷Ò¸<}qሺRû:Èxžò¸XO!òíY”naÔi¤?ͱBƒ öC¤Ç,2Îd`Ôƒ“Ô†L4çÂé”´_§š‡?h £7hµºÎúLžü›­,ˆR&×ø.Fý~²”ž9H¤b=îÚóPòà~ ¼&» f»’ã$¢ @Bi Ò*?D‰ ’ÈîÅH» ?¬Þ“•s¢çª™¼Î€•Ϲš•0þbCÖv¯Ëô=pù¨Ï lß™"0y«æhÌî­SKð©S Áù…‚/ „§é'¸›;èˆLC Š/G ª{¯÷‘”ºËJd{Èí‰8E ëò•)F„æ×¼O.Í€I0O1’4Iê ²}£åvÙè,xĽ1˜¨x&ßÒ=bl†P¸l÷ L/E”Ì î`^Ù4ó)ñ!ÏçL€Úæ ÏTi–sÑú$_ð²ãAot× CÌg:=\È!1RFÁhIàù(Ô†„0Í„H æÂ'Võ—åZ`™ö$2¿1žVÍ[£S¡”ÊîElœ©Ÿ'ÃâÛ&y•5בq7ŒÐQI,]Ó¾‰v@Bdo*€–ÚAÖT™„:"Y È<éCR&Ä0˜ÒWðö÷ú$!‚Šp?  IÅ»˜T™&QVÄàTä_ƒÌ»¨pª†#*ÑüjæC(»gÇ b%ãë„$@å²…EqMbˆ¡Š…lò¤ è§S°˜o×Át¬h‚Äiº\«/ÑáÐÑI¿ªK•DE@dºÀ0®ÀqÅý„ÒÈe¹†³0‘ö3~ ˆ.ª_³]& ï8VšáÊYá­pü]Ï?õy’„û%)‚›!ø‹æ5h@hdúeºÝßp~õß 6tî»whLÝ¿ŽoÐÝ2ÂWSší^>ÎΊ*â˜.ÿª}dƒ9âÑ 4\$`À­XP¥b!Çß^\K¶¨2÷?g‰Å 6$ÐcÃ0~€Ê¶œ±r05Bh2ŽKó`öî$ 'UÏå዇Ó3QÄHJj˜%û@KbPD(rR˘ ™Û„ʳ$h¦ƒ¥÷ ª;¸g5»‡œr0žªü&’–òBÐ|ÖÎÝLg;°ã1%;¢$Úï/=h=´”BÆËì8>”0hHQ‚ˆÍÞ!d%Pqˆ€áã^!Ð-*Zè¿AÜà›3Á>ëíûQëûïYh¶JSц‘`=`Õí´#u«÷`IÔü›lòX®ÿ˜ä¤9ö1ýâCêÓ¥`U±~þàèU6xÑÍdWÄçký<–•øÕç†áë@m_×LzÔR,4BÐô·¯ðÁ‚F¶ÖYw'éCØ‚žÒ¨l/—W>„^]®G&e¿dœ×)%ݦi|ßßðƒÛå®>€¥êö‰¼§â" 1YÜwκä”A*µÇcî, Ú!«´³Šùø?÷Ñ“ËÓpÅãš¡ßpnŒç!É}ô¹¬B ¶$—–6Äè}x ÊxÅžÛàs^eòDØçp<"Áêц î–QÜZ#„`} ^G]–,î@ˆo¢·l¨¯cáP™âŒ†C°C_7=-T ¢Ÿ}Ï&Å™=üaA;Ø_FËùØ7™;+æñw†„©Ÿ£o­@Žg :»mdÛ¶Á²Å:ºl¡óbo†è‘¯1@G„=± PåbµBÃÓÝßÔrÚ f:R©}_S^•Tyº´Av6l2›n„M'HŒ Nç“Veo°ˆJ#6I&€\ŠøÓ1ØŽZ²‘„Å÷Jé˜HDO¢ #ðy¼Ò\ºàj9ݯ8@΋)„D„zX)DlG©C¡CÅðÒª=Ú)%¹™ ½ÇÊâ Ù¿e=d®£Ù‰„¸Å‰L|®!$^öè¿ã½VÕ…9ñÜ_gòUÊǺ ¦SÜ;< #ðóŽba䀫ï3´î¡²UÚg…d‹Ï"&å<áBH¸ÃEÍ~IªÊA` zxò¡YS Ï'|.ªÇkºTþ Û2…|õ>Rž[ÔJfÎõgG' ¼„ã‡Hèâ7±Û½ ×n‡Òbˆ˜Ó@64ï`• ›‚Àq º×†Ÿî/Ãh>?ÔþöØÈÊæÈÜ^”h IžË#¢ý“*M|ͳ|•`ñóº ¢Oéê»ð¿ø&š‹ðÉt0àppƒÉ}Ìašíù¥}‹Û¬z6‹˜«ó˜-’"Ä@K¾¨Ë©0ïþשwÛ|€ ôFÜ9B’óóìÒ !i¦aá!i øUqî® 2™’g ©R<çj §R0L¥ èÀñ$€RëòÉö#°¹Ý¨ "üR|1°W XaÃN*þü™§–âÂVQ›ò2È=°WÎ-$ñžçaæ(¥ '`Íàc+ñ éÍŒª‚ãÛc±$™ç”7l~ïVÝááD:Ò±jC®L¬žœ/8:ø I‹ÍEëC$¼ 6Ç"tD¦Ûç+ˆé×*rž=PPòB%[ñ¡`?›j–Ј¤›ËîGú°Õ{°ýíxzÃvþRƒBïW@Íæt—JÍò!nÈåF—s} öhV©Ç*fO>ªºÅNoÀÝR^'Õ“"ÝQn£ß{÷Ðòxåw‡íM|k‚ìpàúÍ]”¹Ø‡²‘§c- 1[|w5Š œ4ÿä›éº¬fÉh¢ý\ŠE”ü—ògBÀ!ÉsÐ:V`&cr·$g{{Óœ(Ln‘á~C.ŸÛÒ¥Z¼’Ü(Îê&¼C—*Þ—Ž·ëÞOú~w\¶Ï¾¼€}Å0ò7ÙÀ%Ý]®q¢{I Z»Îäåê“aP=Û©ù‰“ÁsÍþ=‘ÇoÅh»ÿïß_‚ΟM<¬­™_YŸGL7ÛÉíDÞL‹z%]ZЊ½œ‚ª€éi_A‡Àø<ÁÃÜÒ!Ó¯oÿ,Þû :/G¡,|+Q„W…¸0ìEºCâÑÿ •î#šϱüû{ šÆâÉød®ÎeÐáV§ss$ÙŽ-ð.1Ó"Hù^•÷œà"Ž6”ÂZ…ùx¦§¶œw‰®È“úÜÁï—û Ž)Ñn4”ãKÛ@‡.xPùغgÐa¦ì\…sô(úÍ=‚A.ç)™™"(ño7`6A‡Æ jÞ]N?R U^¿7þnv:¯$áÉÌÖ †F•Û1¶(µ¡1ÙHB»j.8Ž9¹'W å…ë@d¶+¡gÐáÊú{3ÄtöÜÏ—:ú=¾¤n—ÓÁ•ªÇÕ@‡* ÃTž$Dðÿ³÷Ë‘£Y›æ ­”A†NYu÷˜Íb6sc6×3WW»¶ië?+3N× Z³HÀ#2«¬m°É Ò >qÔ÷œs°N§à‰æ¹‘””ÂÜ ÒÍcå.U0Âþe±ie†$(¾O ]y4ÜP*ýê˜_Ù1z ÙEôJ)m'_¤TBHdŸ1î\œt CƒO³5T†kÎ^ez„Ö7P·T¤Sä4“édùЀ/öëMð ªjð(1*ÐaùZcu™@q*®‡º  “;%СCvÀ¤™Áöît¼¿nsÐ'!4(Ó:ÚtøÑú€#öèÙÐa¶ÿ‹ç¥(ànAA{FëO’á`: XÚ«@‡À䕜eŽFçÕµT ^U®ŠRŠ0æ ì–$Éæd±ô‘x x©qMÐá|Î@ÌA&oÈVâÿ!€(étxí/Ñ¥DUÙiÒ"¸–CÕN~`Ñêô|.“-чS5èðÖ³Ñ)9dºù–‘¥>‰Ÿ CX ÈRõÏC C’¥‘ÆÍMoþ´˜;²T=Qp*oØ®’‹[¥Öm±ï#ŠÜûŸ åào:ðfÁLCÒ •ÏK:‘.ºAýt¸ Vˆ?Úàú… _¡rÙ³ÙÉ ±Û!êðÙs$dÝq|„3ç*ǵ‚Ïκ!\U©JƒU—»–7„Ás`V)„‰t*YÁK‡WVöE t¸eŸ·@‡úb^ܘn]~2®äÚT„+:cC ™<`Ýìkë+ÄùóPú inSµA‡3>÷ ÈÔóe&C!(‡kTÇm¬å¤3‡>¸ü É@ÊÐa&#÷ûîÂËNx{Žˆ!ê$Xj„Ÿ‚1tuŽ8¶Å‘w§s0fe“[ IDATÒv#üÖý„H`ÐÍå‘‹1˜rˆ"÷•¾Î t¥ :h–[Cÿ |÷%¨ÒïCwŠÙϰÓ1–kÇJ!Ø@^ñ‘“›e˜9=‚Ä7ۂС sˆ‚f›:Vª~ß'ÃBŸc¡õ¾­z§´Ü¥âÎÊ#0 û ÞÒ¼Ð(ò'èx ¼¼J½ ¥Ûe¯uùEЉéH4Ë`h~‚¿€… L]†ò„·M÷°Œe[N®ÌÄÎ Pþn]ÒNRW CP!Ô´¾¯)WAÊì‹™J´€A²áêwW]$[Ù$#MO~;:€ž9D,ÈOÐ!Ä€n1ŸÝÌFöò C¸,d€N¥PJóJ³)’¼ŠÝ?NJvGœÏï­½B‡­ÏM3OÐ! `§d+F5èpóúb†èqÄÙ´Ö'·ûà_½\ö1¥êö|IgÜ. tò$ÙàPõµ×Àè.¢åÙùcQÿ¸:œÅ!¤rÛ¶†ªd7“«ýîþóÎj4b¿ÆPþÆó?B‡Â‚ b¤-¾9 )²{§z b[ÒF0BR‚bhÄH;«[œÆ[¡ÃŠ-™ËÄ{݇ÆÓ ¿}ZáÝ›º-1t%_¦úò¼°ý Õ÷}ü®ÿŽc>Oî0 €¤`°n°Ðå H Ypé°LÕ†°%t)NiÉ$¤¬@‡,Í"Nªúa:œ«D?›ûµáƒçè'èÀt˜Ù ú´!PVbHÁ/Ígt¸b‡b<ï!"h˜PÁåÉÃZé -UØd âÖ “Çjö€Šù/C‡ž Cshƒ{F[s/@!ší:cÅBÎý@ëÃG¬(²PŒ#)`âñwž.dÞ#tX³ŸZ Ãp¡ƒ›’~”m“†fÄ6R­ê–;ÛF§£e-ßç‰e·øZR ïf`µ†$²¾N/EB·Çµ“Ò!h*ñyŸ¡4$nà 8¥xßû`Œn×!T÷´ä± ¨¼"Á@F³\;^²e 1MhÄDýs·=¾Év²1/C‡­6JVìcèÐÒ–`}æÃœºûÐ{: Ö)(¾>΋‡ìFçà6„Z‚5=Ùdë£ :T# aÞ`2]C8¥Àw4D^{,1xXãSzƒ#« B,î{Ìס)?a€ÛÑé L,·ØÉU=MÈ|’‚' C€"0V‚¤T9s:ô¢9hRD„$ê:+*Å´Ù¥R“fÈ4E´q®¤Éôtà :´],³=æš®W ø–$˜!°z°ÁÅ QÝw·:ð˜³Ô-Å_“ø/ýÏ}È–Ža4Ùm„à7wþ]Õ’ˆ%U×+—jˆ‰êw l¾Á$cîˆc0a}½Ä7¥³ª²y£Ê>¦$>"pÂièði.Ó>A ½ù "‡`ïí+ôd;ÇI=B‡<ÏÃÍc"ACaÚë&è§ @¬Ðyªš·y5A‡jÐ!€'è¤p{$Òˆå)ˆ†Š˜Ðav^T•‹½¼#§ÐH,-6B‡@»ˆÜw/C‡v¬Cà¶Û^MСùaîH„~ocÂŒÑaƒOE@û`ý1M ÇtÀ³eŽ\€b8ª-¯,.„2µ>·†ëƒË-sQ„ØÐ QO€ËL·1$_Cr*U ³zü)”Õ~‹>Nxî`òiòòʙυ+ãQªŽÎ4Ö´~‡Ýͤð¤Qn¼wJËSA•Æê–Oëïf²S—SެAØè”tw“BëlëªEt=9æéZÒOO½†ÈŸÔ C¢³<á©8ø.±Cˆ¨vcê3"¼RV(§-ûÂt˜Åʲõ©6–¶%/–Avv$W„Ý:W‰„“hŠÏ7!´‡Þ†žo‚l…T ÃíûQ¨@‡•i‰_– 7_Ú ÃqÀCÎ}è5€šÄ®±Ã^µœYàJ{vn® n¹Ï>Ða£\NEÄÄö½R†ƒhŠT STÕ~ïõ:HÑÃÚ„@âÚã+€Š÷;_¡KÀc:¼ÿh@+}ot˜í€mg:Ì^¬n{Œle—Ž'9ô¸ì)µ;þ)³ Ènb˜ˆKøü5†B‡ þ.š·A‡ZÌÃ'ó9MX\ûg¶—‡áK1 ˪ùMùÚu!öë6Œ~ã€ï0yœ¥gbƒ k‚·]A<EÖmS!ŸËGèÐ^y`KSAÀèÌ!Ôåñü#sr åô–Œ†^˜)©Ô“@ðUJ~a­Ð—»Ï,Vü™ºN3'ø³¯$–@RöA£“Ch í+Õ• £+@˜îŽG·e’Um=¸H®Ñ'ßô,>КoŒ&PÏ‹ ~ÖZ"{Жô^siâÛÆ›=2ÓÆ —êñ~N„“€ XhêºÑÇØ'pÆmã 5Ài| ’²”‚x9«|_½eû.$N€Á:Pw)WÄóKK6`K€Bø0ÓÝPî@ÿ„K-kçä pûŸ˜žkxõLÿ-×`ý—ñïrqÒ¾]èXÞà5òPƒâËíã¥ÿþío™ÜH:Üë¤Þþ¥½§q€“Rå¤!¿À ¯%âaÒͺlýé ŸÞãßíbg.‚ãí05õo¬:ÆÐpöoõ.³™‰ããÌ(Ö4ØN»3É®t U¸ã±êŒ#G­ý@™faEíöÐdîàôHl\ÊX þ´8ø]úôµ_¾Ë¸ùsÜQµMͺ“ “·P’B 6“AúíUõ]"ßͦwFÜ ‰ßǸëBKö'Q™0ò8ç.ÿ’µ4ŒC¼hhsjÎ&PJUÂæìGA=øEØRÉÆCbâ‚TH¶]ÆH¡›ÑŸ7ÆœzÔn'ݹà_íä ¯¿‚y—µÅZLmôO¤-öŠÓà5ÁHƒºÞÔ—´^Š/Ž‹6 LyªÃ:Ñþ¥òãaà¢Ë"åùÁºSP©ÔØG|VèpCï@ÕÖÝßXPKzfèÏñ‚«Î›"°0ݺ,±ÇÀ‘‰–Áò:O5›!>.|éMâDÚ^á[lnó|vl k©l} Y\´È¶Ûi„×'4M©×çι ¾¬ïk›J Å™l±…’»Bó׸NÄ Áü.¨Þþ™ì‚ÃêøRR´Fââ©=ñs/kôñÏïðrÕA9u}b1öT_cœôpÞMŠ4'zö÷~r†øIÌäâð>ÀÑÛ 3ĹÐ|`j÷Ø—­÷[ß\£ó&‹‰,¿úè½åJ>©…ŽvXÖÆxÉ⬷#F`Ž¥˜‡©‹“f™.9½l Lx§^„0`À4´¶uBD}m ƒ/Xâ/“'š"ºÿ„¸Sè¬ÉZÆig¿xÅ—aˆ^ï1[Ø8î×÷./øð\îO{ÊI‹$4Òƒžv ;€x÷3x³Èa€¸»†k¾Y`õ›žÁ 8›púßÏr&Cˆ§/ž7·Ž]ü6_›O xD !‘á’íkb•è’íãG)F«g§$*·ËÓ•4G×>:è9ÝÁÂeuœôÏ+h?–*¤,50½íöËԾʼnô±å€j¨r„*XÆØû¹<ÏÏ×ÇÅî8^“pa¥ÑèêÍrÖQàÏcÜ|¼:ß¾|F$†rʺl#l»’™ße½Î(Çñöñq>\Aüåù~&k³@o tXâÄDÊý.ïpGÝáUüªñwŒ*!œ¸€°_—’ˆKAoT@/œõ‹g¹)Ž…ºÌ÷é\”ý|ýà£sÑ>ÿú×+hoëcê„#ˆÌ9„¹÷Hý.ã»w „êø<„Δ'âϸFL„ó°êë^Ç&Þ•ÀéØšƒ’¾Ûw¦“ˆÓL/êÎhbÝ—eXa=KDÒýS|Ë'ï—„£+>4³yþå0€•'iZ_þ€üïÛãTk~gûZ  @:BÔMaª"ÃA’8 ʵû÷cp/Ï`ù>ä PntãüuváÝ߃ùr÷úš¬@~›•%–müwccŽzoaE&þ¬Ëd8(¡¿Cï†xZm²¡‹UìBâ{ßíYÖfŠŽò×Ù›Û®åÊ@¯«~×{FWÐï³XÈÊþ]éoÐÖôý]î¿r¾ +þ€QpƒsöM±†”XøZ©0áf±ÈøÖõ:ÛGÉ*™'­øÑ ݾîWâ]§:÷þ*WJzá#ÞFEå0¶ÀP2&:N/¶Ç/>/}üØk×3´½@t@r¬NáÍg 7ÆoÔóÃìaF€î§çWäÝdÿX7‹áSðîHð¯òD¿1 å!dsy¥—éØE:AŸ8ýë6Gdtæß.ÍzÊ~ïå_ÙàÞKï"0¯h¤A`»oçsˆI¦GMÛ‡"µ¯ƒ4¡&Ê7½šN8ÐZº,Nü)N¹o?C3Ã!¦Ùúcmà×’>ü`ZøE‘Î`Žö_?¡ MÍÒÞœ€ë>èW¿A{ÿ÷o÷!]¢ÀÛ‘+hÉ_Æ·—ãEt¼j\kÜâ˜} *œ#fZlÂ` °‡Wm·Hì7=óÍ2À›‹‡ädaKÏä5Ž­íÏÄ®UÝ>(ëÎYì5º~Ó,kÍ8’NˆXtýËærœÜáŒ|µŸÏo çR|¢#ˆz¸g\\Û燊(Äôa(U„i8ð¦c覂Ó÷‡uœp?~l~.*t3‡A¾¼ xð𻎋¿iXûst¸#(,3ð¾i† ðbGÞµ±Š¡v©oúž™ãX­ßÃü`Aù¥ˆç’£»L°*§Yø:Pƒ RD)@HeïÐáÝ0ïãêˈv»qýX•® :t­¢ïuÂo”Mš•™ÑÍ+Gì¡3ùyÖ—;U gdt¸Êû°ßø3ÌÝqa8mùŽ2taNë¼\µþÍ#txÝúü» CÃ)žñ:Pƒ,“ lKÍsj–}~t(:bI˜÷ 6JtÛüQ5Ž©êœ*ƒˆÍÞéµò¤û?ë] þeP$eèÀ^СΧÐÝl/•¡CÐúÙwÙQ:êÐ!D†³:Ðh…ì ø®Ð¡Wª,Õ*ñº‹ª¡u§gsШA‡¶B‡Älˆ`ËšüÏ/ë'èz¶Ø >L3gÊË·i:dWÅßI¶NH¹̼òï$½+@É-æââ :äée¶vòj?eè0½Ý~X}ªvÁ…Ù{ÿüŠ@¬:Îúµý¬µ°t8žûßw1ÍæS7²5¾ ®­Iu Üp_"^¸±Šgúýƒqth· üºº¾¤ÿ¼’»H•ÝóÁ- 9h…Óv'Ѭ:²|ÐÜ®i„Ø<ÿéÚÎ?³:ÜÿOÛ®ÊÐ!€FèVo¶Íò +ä¹¶!õTØW{?ç Åâwó÷Bž{Ùz~„y±¾Ç×§»åzè)°“%ÂQönƧïsØódkõñm‚'WUç¨ Þ;™½rt(Mœ½>w»¾?ø,Ê‚ºÊÞ+p39kÓ t8]Ô¿?èj¸‹³5ª‹ù¢Îx¨ƒÐ¢1ùÜ.ãìá¬x†hûÁbt‘`Õ CVoÞë u EÅßÍ¥ª-⺩ÛoaÕ™^“…ŒØ„¡ñÉT Ã½áâK–È@V%èD1^R ŒÙx‚€AÆSaù‡'ƒ¾_ÀwS¤wß´næîÐ ö :ÔÝBVšQ‚rb?¡upÞM`|ùˆã’ª[ç•’âd·/ë^gøÀ‹—,Fa3t(æ@“ÿ%‹ÍóªS¬W]¿éëÿ­ð¥Þr>éᥢwB‡@:€‹³({?ˬê07w-Ó…S/“õ΢.g&¡ÃP£A¯Ÿß>×¢ìä†j¤ ·Ð¥ºéT C{A‡ê"Ó•ÿûÕ÷k‚Às9DóMëØµ«rÜfºu=çžÊÐ!Ç—è,†­@‡À¤û'†þ±hñYGÖtx¿0@¬×Àþì÷Gq+tè~YÃT„“Aum•¾öéI}}ø_ ?Ã#Rè¤ÚF7…Ù€=¹ÅÙi^‘*&áíñØ6èeÛ8…Ë`æ™oCê™,(C‡vB‡™~z ûÐ!€ƒ Ã,žÙ<.Ò:“WØXÝZ¸ FÍ#1¸lhÝËÕýÄñÑt¸i#l»6¡ÃM¹»—ޱâ<^¶{|š ÃÑ*o13¬Æ°† ~‘à¿Oªs¹/t8‹²1ÿço‚¼ªèõÆ8µA‡v :Ô¶´’Û„×½h„,fh_~¯ÚBæ†¬ä•æ1?Sž Ã(²òØÉáòp«IîŽKoB‡0¼q66‘Y]¿œÑ¬?ØqŸhÿ¾?:\uöÜk½®ŠO^ïŠxÌ’¶îkX“ªŽQÍ~–ÌÛOÐ!t¥¿e÷þСµÊκbã:gßàá¡°‘†á8£ØgÐ!€'èÈ. )ï`ðFD[!)ÓAö¾5èÐöÁuY õBF?B‡Ä´XÿLîà^hÐ?o×ÏMÐá*^ᣑÅT"©J-V••Eƒªÿ4¸)ôØ!Ðá?×F#tA&Ãv™½.æ ›\¹ß?¡Â?ÎdUü2)Å4Šß_ªoŠ˜S :䯻mžÛ?²÷ž\GPfÛå¯?[Ö÷±RÈÄžr I[ì§cr8†yEà Z¡Ã‡¤ØÐ!(Õn¿&èк[aÕ²']½.§´TÄz£SÀ½“Á&t¨Z{ÚyÃâ~>3h…àÒª®ù_òó³GèP¤ªòõ[Ýiªjìü› C;¡Ã»`ÙøóU{ö9СuS=*C‡¹=ö»v·ï‡ÍêéÛRk×µ^Køu:€c6;—n…½ ÃÇõzWZwÏ ·ê§¿ée÷¸Ø€ìvA‡Žuµtà :P'¹üö’l@•R·¦2tH lv¯~6ß®¶Ÿ?oœ5"‹x™ÉÖeø°Ýÿöö+`¶ô’ t©!ac\,¬Ï°ngXš Ãûûê¾þèUã{fnó'g;¡ÃУA;Ùx9“l<Ú Ãl^Yt5ÏôàÙ/Ù|>VY|tx¯¨üûÅÍ^#¢ÙÇŒ‡Í~m:J¿ç5˜¸‡#üÈì¶îŒ;¼R·gLÑâ‘S豇3îÕ7­[â~Šôå †~‚׳Â˺1ü`~!â$o%§",bûˆ9»Â\cñ¶¡Tˆg¥ÙƆ^Ø"׳ðR5¸óàS¸ØhƒÅ³¼¼%œã[HÇ ¤×éŸ*‡ÿÐ?ãW­È“CÉ )§ÏPŽ·W?] iô_|ÿl¾OÖ?Éu„2|Œ4'i³}b‘ä¤ðÆV‚³¼å{ªø J‡Mÿ¼Õñ¯5¬ƒ[tØ×0ƒ¶¾æëŽ:ç§w`N^áϾ$ÏÇ$èAVëd²’@ví?õû烣8µœ îâΚãÕw¨zâò6=×Ëïzî^õ³5îHpçÉw{%µ@/÷3½õøNsE …7CŸ?Æ_y©¾ ƒkX‡0ÁàðŒ÷d6Y®Êi^áH©¾ó]”àMþ%ïH†H˜ÌŽÒÕ54£°“Ìò7Ðù¯ÍU_eMƒ¥ëßíY¢Áôe{œ‚Ôx$z5¸dÝXß4ÛšíCo©ZðuiàmOÅ¿åÅR@°ÝXCôØöXDb¦ Ÿy¸º‹7°ošçÃQˆæîê8¤®#)Å4–¢‹ž“ù`^€‹g´hÖ±€†ý’Gƒç—9´¬‘jíc&Nx8§õॹö t¶Û#°8Çn_’'mxI¦»•µ³SÝ?i@çtÂí¶®¾šAë¶ËCrq‡¤_Õƒc—™ð|?“_ÉðºÖ¿Í6¡Ý"¡ð‡æÞ=üÛ.~þ¶J$‘gæåoºÇ:À5œòųL" §ôþ÷Ò^´´ ã žšÙ«5Ç“Hé£ï:¾]€êN™–õ°†×í<ëÞ+E—¸sÂFeሀ™'—ÞêŸñ:·}g Çýæñ˜„:NhøÅ´ñƒ"ýKׯ›Rüè«ÀÁ{VüËžÃð\`uõüïÖÜÎ~zñ«5Ç[ù‹ä}²=C ,w»l¼›éxu|X‚Ë„wpºý-E çÓl Ì .•äÑQþ¼x_ý.„öŠÙˆÙuv×ÿ’½Ãu<øëo«fÆc0TóÙ@¬  ôݰëðíñb!"íWd8X‚¹Ìbrsý7iÕs«¥£°@wcýP×í¥¹êâÈ``Ç×kXè`öTHäÉ ¦*ƒŠyüj†ø¯/i˜ëí¶¢nSФýÖórâ wº]~™> …ûë+ ±S¬~ÑrþôïŠæ è£öxâjž¢{D4øˆ#Çç,ž:æîu÷$Ø—Û}sòžBòòùr‰ ï0¯°ÐS¼V-XDfßÌIG ÿ/‘^L‚§ž“˜L œžÔãw”=F,ÕeÃ\Jðf²„Õk±þ¸†üëþû´eˆÏ½'È|"Óe¡íº’$§H’z\í6Žð𢡦 ‚‡ÁDPsh]0p•Ý É2?AV~Úns!"õy‰T‘ï‚bDÒn8!éöˆíÞBv!iÞzÙÞA8 >xOÝãeüò›Ö'I±Hvt!œˆ+¨CB‡C:€È ׄ…Î\„Ý7ÿô}dýém=ÑÀðyq£”$@ãJ­e IDAT$ÛãÝÿü¢ã?~ØÏ–B .Ó¼ôû)ÜS gìávúø7gßmÇÒ¬Œ(8ܧu\¢°ßsqn_(ô6—DCôˆWÿy Ó”¿&ö.(„DïÏ­.<´?á…ôÓóäÒÐýâðñˆn=ЯyŒ¼ç<–X#H÷‡e‰Ðü>¬5´¿ÈöÓ8ñqFf6¿9¿eœbLPx÷¶Ùñ‰\š©¹1„ ³fÏ–„HFþ.Ï)³,¬`?öBÕbzõ¬ÿL¸E¸DŸéÁøcõ×óïòN7×&Þ¼kŽ=‰ìNPÕÛ¾:gv„q»Æq÷¾jô] ¢oìÝçšE©Ø€½Ö2œVT"z„õÉ5\nK‹Ò8SmÐ!t?l¬AC%76îÃjÈ~]ç¿:Å¡¡-ŠqšF!üÅöƒÿaKœz:ðο“i]ŒÂöƒ–·Ç,nõêó—¡Cóq»qô@ò¹´~„Ÿæ:fýz à¹Ð!€'è0Ê«Ê1yÅGè~úAÅØ*2Q^¿¢ ¹>»}Ý’b67‰X%‚ç~€YR¯ÈŸÁ^#à³{±>óÍóÏ 3þü»l÷… «^9ss®»¨ïç:…r|„Eº.‹–¥}{¿%KêñºÈ+*>B‡ÆÇ›'è0«2Ê÷SÐft»ó3~2kD.¾oE1èÀNèp„j•?yKÆK „OÐ!¤ÇZ:Ì% S©*?.»L :ôgUy}k9Åx:ëbðZ1?Ó$Ë‚Ö6ýÿy{@€Yo€b¥ŒXn£©Ü} ¥v^_²ùë1¬Àj„àØÎÖztHäÁ«™«¯òÃzm·.nƒ-â¾+@‘2tggl³®xŽ<÷û€óeè0º-UŽŠ÷{„S­E÷–ÚÒ½Læ—¡COÐáG»=ç:T7*ÈR6MÐ!€tÒ0ûþföNÇ©î†*ÊÐ!€Vèðú¶Á¶¡«?Û„§ëf¹³/t¸ÎÁ~ÂQ@F!ÄÒÒ ÆÙÚ/„½¡ÃlÌ«cÚy©À_K{A‡Z¡Ãi©šU:ðÍÐaС‘¾ÌôÐ Žûó›ì]Èêþyñ‹üfûn·A¦¿o„'¤Òc[¡Ãñš©@‡ëÿ¬ëT…­?oö ·ÈÖO: #&m?A‡f0ÈÉ5èð£—Éé8í5†£a¶/X¦}L~Õ~JA¸Gè0§Ý-×·A‡V)[= ³µb|žb&îÆü$ŸÀƒŠà¶š­9ôSð\»Î)C‡ž Cèþãu¦;:y&g:œ^ÏxÔ9Ðè0`D8ÏÌ+0”ª­ I…½¦ñ1lžƒ¬Ú Ö¹c¿,öú¡Ð¡{Ýî$ZsÀñ(ÎdUÜË ¡Ãež¡ï™ÍëOv˜q¡'DR@4˾ãza?A‡ð®—í±GèÄäßó © :tdq/è6ê~Ãz¼ÛO3lä|Ìl¾ ·n…3_@Ál]?È„Å^ Ù¢î‹õP†Ô CxE“¯÷‡™×·“­¿gí6Ê#t˜™RU;é2ÜÚÁ|Z]+_Öö?®^Á9²µÏojÐá—àsíóÐ!9ŒIu»¥ :´æ1fT»£K:Fi€Nбo.¡ÿvóôû¥Ê¸Ð!%moƒšlø¹Ð!\ð,âñìà9ÐÐÇ$ ðpg`4Ëü©•Qúèk!új±·› CK)æ© :ðR–Œ$¯P–æUŽìÛ?ðae7B‡¬\¿ß#t“×uYJPìVèÐ ²ñjƒ‡‹5î£.øÌ¶)C‡ƒ¯uÛÔ¹»Þ:îÛ CÛ®Îã"ÀÞ#"È·©“ëÕì¿Ö}ÝŽ+C‡pÄ¿<:|pê>}ì“0½çØc‚D‡¹¬@‡ž C—ÛÏ(iƒ‰B‹ý=¡Ã9³{?¨¼õ<‹Ÿ»Ì,8/&x›ÛœÐáâ¶Ð-7£béÛÝ1ÈGè0å«~ƒÙo|ð¯fúåùcuÖÒîTò€‹³ÌGqåö5¨”Zð”¡CÉ1ÙR±ˆ_fzb%·Ç»ì‹'èÐo‚…Þ À¥r Ÿ+|°A´½QM}:€4øã›×çªd³XìýwþšÇ‚YnýL´H,Ìjþ:”Ö6UutÈÕ{nƒ àêþsÙÍPpMGÚßñÉ­~sBÕ ÃÉ"ƒ½á—º/häÝ`ÙV§ƒñ•‰0½.u[9íV Cx«0;¡C˜ÏöŸ›&èÜ8x„_3==¬À,‡X•à0 !¸8h9…>ȳ ²^&_+³©7¡C"vs1[S‡@‡vB‡¶B‡Ã{â©BSÅÇ2g%1³+û‹Pðõ6›Ç6èpñùÛ0ycdž:4ºŸûÉØž×¨A‡ƒ+MàÈ&[¡Cè¿n?óüØÐ¢Mï1OÐ!€­Ð!€Fè^SÙ»iÿ!™bñlB‡Á}óÙ\t¸Žªkª :Œ×_ñyd`Zîîòµs4¬£'èp±ÁGÜQY CÍmÞMè0¸¯ïsIxt•Ù®Ù<ƒÄ|‚Y&pò §êçËv£a:‡Cj» C8uº:™Ž&JÝò€œÀ\T×Y:•Q3èÀÇIæëU¤Ái·P³Ñlà™vé§«`\j÷àëE c²ÓNß¡ÛІoUj¹wÓ  —ta„iÿå—Ò†Òðåsó¦wÔꢼgVe>¿ßµÞ/Æé„fÀõ·b/‚ÇÍò1C©=p=g³ ñÑqœ¥GnC]P\õýENÀy)Àå-upK5)å×öÊ{꯻×Ôðsuôß³X~±1Í[‚þt¤A1ß~Û. FÑþBqfdë•`Ì3Ãèê:û¾õª˜÷3¹jÜêRÚâtäí_H's–orTöh“Ù>à§™³ë±Ù˜ò—‡ƒGê¯y üfaæN¸WûUP ílM©òÛúºo¨²”·;Ž‚h€}ب¬ëf•¶Î¸€Š^’ÅaË7ÙÏXàýÒš«Ê {¹ü©ÐÕL¤i\wô9²ý0ùU¿ÙZ̾Ÿò[—ZÂM‰úáÿ9ªÁ½5Ÿ³l¬n<8™ãú ¬`w̉­A ¶]‹ê¸¼V.A‹¯ñ‡ž,ÄΫܑ[ÂÓ }rB¾ÌäÍMý@÷I„Ö(äZØQàÍ5˜9À§šÕ?vK‡šDÈÁ*µ~(eÓ²uB‰w«R;ƽGCðëóÊ4”Þ¿7ÖÐ%L*]Å€Þ"ssÙÍëŽið±0VÏœBy~]§HJÕy¤óÖïk¡êYÙŸJ:wyXÀêuatU/ˆü䟛(73„—;À>ÆYàgé†oá~ÝîÔF`Ì­¯ÍyñŽ|Ø,ë;¹øß.‹÷HŒf9·¶·TVóàVôЬ†x÷ºá ^iR‡¾O:ǹ ž=Kntò®«¼%ŠÒ0íl¬â³ª ˜ í{`‘n—¥\§yLM¦joÅ×ÙÚýèÖ߇šgöŠà8Xo´ - ùGI[ ê/…>Y…Å^û2x€˜ÆÕ#¸n&ûeäöÌë$²ü¨—§IÝNbÙâ=Î:U=ßù/¯àúU É D¬±Ìœïá÷e°ÃêaC§¸ÂIQØB70¥¶?ó™Þ£JÀ¨~ÛþçNoŠ˜²õñp£\ßÅž‘ùo·ežîuQì&oÏ þx‚cg¿ƒwØ×Uêô˜‡êm´‡ìdúÜιúa2q³}üâä½ “Póù ³ÕqfC⇨×ëúü¨fUGë¶^ Bû/Î[Í*½f™ëŽŠ=yßìO ïÎðY¿‡>Ìd±þ¥°ÓH]¾þ¸õù¿ÅZí©™mÊ+çp©zûK0¡”à#'qAgzð]C»Ð›õ§ªÌZ=ïÀ¦­U-¶\±t¥:…•/ËPWx*ÂR H­g/t÷óÍv!,MÄŸ³}}ºG…äã|î£ÛB>^–ZœœåÁµ»“l½Ü|Ü=vÖµ›Ë1¢$·QçõöCè =éósI–ß鈮«²DÊí¿O·Å³z’²…àuŽW0ÓÃ*—°R¡CΤýÀEûHÆQÈèľãUƒrÉîQÐ~ˆ9›íN±†c À΃ð{=Öñûª¼û¡Ó¬gþ-ñ}ƒËæ:zSûÝló€ûé3’h{¿¤:ùˆÂqÌ gzÚY2öYh¶†s¢*0µ¿ÏóK//«bÎbû0ðôã¬*W©³Â‡H’º]8“²97G¥D™ñ§$‹‹W*Î5X]µxnúm!q»¯%›ûWSˆe d7?ò³÷–^ÿŠ_Z:Öö 0¢®bôpXõ™­ûÌ^éÐ÷E¿ƒWís‡)A³—oëúJ|UTjY-ÛÁg‰¨Û`’T}®>y )ÜÏWz<êu¾×•^ö_ùeû‘ýÀ¬tŠJbý —ÓD(| ØøéQ[/dJ0i‡©¨tGÇg¤· ]7 ÒB‚¼ÈAŒéî˜ëµUV'£:ä#¸Z¤³?Ðq)¼‚Âî–'s2›ÛK>B øÍ¨ævæXSrù BT}ÇtÕ~˜›¤·¸ºkžÇÄÏü'{žý÷Ö(Ô;lÝFž­²ûè 0ÃZØD'/ª{çöîðOO{.|~•(Ûß¾¾¹˜ÀQ`s»²»ƒL–Mò¤Ø°%$påãë9uùÑ]¬›7ç¹?ìsNÚAÍ6Å„WKũʆ/W..pîþã¦/ [Š2¶ÇFX΀1ÈÖã­_è6jšÝC°vƒƒOU¿Ý(œÊ퇺^žÙµ Y4˜f÷>7Ä¢˜B'§Än«ö« @Ôà>ÞÜ÷Q–Ç ©º^|äòšéì®°í{ãF×ÑUIXù˜¦UŒâªß>´&ø½”àÑë¶~騎&ó–âVHö•"¿ð‚ÒÞЦªÕyu&«Â ôì´½À×ÛB_Ž‚Âï7’éÙ<Ÿƒ‚"a>%ñ“P]¥\¸QWñqÚÏt7ÿ⇽ÖüÙ{:!ãä\òs³w‘ós•‰—ÙTÞתiF™]=á‹ØÕû7…-]$·¹2Yÿmö^ôEa¿×Ý?Sõ(˜ìþ Z“ }^²So¿–Ò_Â…¡WÈ×!³£À ŸíR®Ûøôp€”6äF]‡Ž¾6ŸÝÉ“Ûãyß(žÅpë>ê¾Í‹—)¨^ݵ”ªm—úÅfyûz»/ÕÿñÛª ?˜»uë4ñ*j¦¥ˆ-ý¤jð¾l¿Gh”â3ÑC—ýÏ?r;ç=6Ú½Ö|±ÝÿY” 2f‹íëdD–ÎßȇÃŒÌÖ–ì4ëFÁ¾,ö¢kÜbF¶ŸwòÎ ¶ËÊ궩[ :oñ㹊»´vÞÒðèê³÷ú…`ëoð¯âlÜŒ¢‹E¶OÙ—ÙØÙZžsÙ¿u!{>¡¥ºÿ%Yìó Ì>Û«)ÕžˆIÚnOÌï {þEºBÒê:›{Ïd]9ª E(ÖÓB4‘ÊgX“…6vIÄGíþ†åY¸ ³s•Ïëb>ÞË".J¦ãÕ¸mO–§£f¿ä2ùýöývŸATI$y±‹µ]ÞZ¥î.›ÿ¿=yYœ»3ï¿­sÓõNlç ´R|çúÜt c] 'ûAðNƒÝò*Ol—ƒb.õõÚ“T«î»Dwu9î{ÅùÕx{‘N¿iü"m?ÈêöðrY×Ióuá»þ µÏ¹Ü¯&-‹nÉž]‹xßåp¶‘4òUÝDͲõ} ›mœgu`ægEN)‘ŒmIlžÑþ7±Ì5CŠ’Ô¬‡{ÿÈöK\ÝÛÝËb©%H×ÓŠ9ø‰¯Ú㯄û{zq{|ëUžtï)ÅgN PsU´CNÓfÒÕµqê˹ìµÁóßV‰Ù\UÇV=Ê¿‹®ÊÝp­™ÓŸ«ïàz™ŒTú;¸«RŸçŸû™_Lýßÿ×ÿùÿpüŒè 8²yò÷>DÆØºƒÌn§¾“¡B¡!ÍÐ^œTÅÑ’‚"ƒ.$6 ry¥øÜc#N„$¸7h\UÒ‰^ îóG h%Á,ì±U8<›“óî¾ý}Ýp †â!…Â-Œ¢ëÁл34#W‚p‘Mn¶¶b¼û€a²þ™ïA(eÙò>ƒˆ#ñiy‡>ß<×A2Å»XRÄ´:Æ“h ™¬>×Äü™kÀS½›Wúõ $ôXH1ùÀƒ¨fï{r²}£)$è BUQD’2¬®» N\¯À‰àÄä"@7^`¿ÀQ¯.DW¦a€¯DT×K§KaIëJAôHÁqC{]É䄜ÝÓ$lp`Ÿ/iÆ+ ¥6µý^ÃÏzã¼Å¦pM W_‡Œí"Ùðò|UñúŸ,ÐýêwÇjuΌϸLA˜‰ ²…R_pÄ8—-m~¾.BtÅbc2bªjõÙ…”IKdsÆí:MÁÙþIíÛl¼¥ôD"B”ªc½p±§ƒ¤yˆ¶ØjËõJ•sx:¯ˆº¤q,P AÇæÊ bPŒ%ù(k¤,8"t¨¥[:бB˜g² R5ØA'6ᵌIG€š~6«Ä€@p8ÞX{X† O§ (1W ZôÁùÍÏ„χʲT¦ÍDQDP²æ×Î Dtu^ý+D«Q ©"ºOÑ=ÀsLÚ÷X™/i×YA>îäFåN:˜~1ž©Í É?CÓÙ<Ã9(¥ú~èÃå0Ñv'C`ûÐ4 AÀ¹ƒÛ€"<íן{Jh“vKeAŸ¼LúB ò…¬%™0ð·H’<©Á׿⤷ۣîS¤ Ý,w]¦ÆxFí4¸òÊ\I$Û–"µ=óç~]à¨ËƒLr™$(˜wàŒ5H©þÝ”ƒ ÚKiò¼„t©€LY R\Эy |pZÊ$„|ñ®tÕÌ_ßÐŽ«c®µÁwYHQû!é¹ÊÂr; Èâ{U“ƒÏm?ŒæJY‡¼ì#ÉA#ôÐeªß'ær}àPà.lD6Ï&•òªÃé 2ÝéÝ®Ao´¤JN”@%ðS4㘕íœÈ(“-ä­4ˆ® Z^ƒŒ¶Û„qɹa4ÉÆ¾b躜䑭¡ÀæNf–>“úº!CgWÚùX·ï¡SUOl‡µSW\ Y—Aô<™,®„¥Œjš§ìLuïoÁ䩞à|óz®«lñ2ÙÄ’ÙßñÙœÞ58ºŠ$>Î:ìѦgYMœNäLJr9@:ÎÁˇWŠáæ¨Ï¬~ÆJSÄ¡!æ‘Í6/£H=ÍC+%%­U ¼Ï±(0lŠ>¯Ï«xFâ1X:*É©ºßðÉ[£ŸëÌ.—ûBˆ FÅžbÒöñÂBB¤Oûàé猎ßC’ûàr@;Gf $y;ÁbqgCÔšmicp ËG‰Œb ™ý›/_Š@Ñ>¨ ;?]߃(ù¢’˜Tô|ëÁ—{̼–º…Ά½¿X8Ålîþ¸²pÜËM‘ÅÁ\Û³Êb3p¿‚b²u­æI€£ÂÆZݺ:õýÎv™9X£{*…–Þº„îÑ ä’,×xÝê^s_¥ßi¶ë[0¥öš\*ƒ#ö;ˆ\y*„o¼™S\^`5$t^-…JAnŒG3“†Ä%P¢RN’2™:\È¥*ÑK›‡Ãˬ"ƒ K•0Ã+0T¯Å.”€@„ˆ@aé~Àôàû€Jtu-&Ž‚‰°b|É~Õ³½O Ð}L¿…} ‘í‚X‹ðS4âÎJ‡*6h˜¿¯`/2ÀyP£9REDBo·9A¢(ßc)ÄRÅáU"B(é7>‘Ízßg\¨TóÚ"ˆb¹é±Ä£HR\¹5\ó!E 0¦ò(ãÖ×aÀ’¹üá ìËDzë1ß®cmf6)UÚÔe°|»cs°q¶–B>†)¨à"ÿ)æ÷ôl„¡·@ªŽ‘¸qP{ÂUíeNó1èÀ }ˆ<™Ç°-(‹ ¥A¥½wñÑýÑãë(%0èJ<’ë{ħ!ȸ°i:Óó¬¨Áwt$a’œâaBêã! ÕñHƒ;”¶áëúH5:·5ƈ·t’¥)‚PB'ÿüÒšAh©ô8¾u 7èûª %wåh³% µÇxXzÇü’ÀrjCªöL‡ª®K&ñÉ; ÈÝÁp”@Ù8ä¿OЈfšlÑ+Tì %¤ô~IT„4‰^o#êó éšÌÁÏ+s”‰8-t _”«ëiò!Eªæ dÌËí¿N©xC"ïoo©ýýcÏébB¬Ûéj>gT»l"pø¡Ù ÚŽäÒxIÙ}¼rñúb0Êž!Ì; ÈyµßuBƒ¥ªóë~øæè¨4Ïí6M'—§,Ëb!p£ê½T2›¸HM@úV†ÔƳ’°ùú£QŸßnë HåÞ¾HS°Å9¿‰i7 ²‡¨d³ %_ŒÊm„1Áy¯ UJÙ°u’<‘bùÅ€Ðã æc­ª |¿nC0£.Íxè|Mʼ† :L:RND?ƒœ'5ÓÝ#Ä©’ÈýúQ*C.Å®h/@BS õ%ˆôF¢$ÐoÀ—Z³;·˜Õ ³÷t ó/Ä^ûr­kLøcHÔ~Iw4[à$‚.Þsl}…Ì6Ç »ÀLHJ…g(:ß  ²!èôyçNICëK¶¡â±ÒmÈ ÷cH6û½Ï•Z{2L[DzbX™BÄÃ%ȼËCrkƒè´¿Gȧ ZÚ­ÞèÿD‡?#xX.×¹llg€„9<ÎBÇ=PÂv!u9ã@Ìm1"?³Z–Ý£1 ع·÷Rƒp 5!‰ ;€T³ÿwݯ¸8¯ CTIoÖ~¿µq$‘ÅM|‹Ù—PRºôÿ*ˆ[èl÷ o¯mtº»×^†`V#$BæC1\R®+­qd@Ëåû`á@Íã,%ëöËÕ,‚&7ÛÀt¢Âô5pßàó‹âcÀg¤ 5“-bLägZ2kä«DËD»K]ÅÆþ=dºÎ:LBò†-'tsýFìW0 %¬>šŽ8,S©»SŠ ‹a6/]¾Ð2SìCOäA‡É×4 )<M'èóíûxŸê8Qx„þ½{ïŽyrÔ¼B?Áf÷Pï)$¥såµì‚o©PÎÄùû°ÕïOÄN€Åî˜I:.Ø€ïq1Ý>è@·Ñ…E‘ñ]/ž>´Mj$hOERÚ{ŸŽó½Í¦õqKÈv%-¬S¸= T‰ñw U ó˜ƒHÆ ý湸µèÆ<èHDÂÔåäò*„У E¼m¡Ðƒ"σ^l$†-=B üòé²5EÀ>Úª…® 6 58Ÿ0}~œÂ0x$G!®f:ú½Ìÿ${Õø’§jm ÙìoqÊž]xR°p–ˆ!ƒÅ„¨4ëׄª?óÃk¹íÊB`$¤s¾'ÖýÉÁ‡*s'*Â`G„°˜äRoÍå8Æ‘¨ Q·gûNGNÎ3AzóÑÅ›Ÿ‹M$«,£ºð—1AœBð÷7x½ñ üÙ1þ—È{p¼Ã k€w‰ó.Je/MBO€ÐP‘* îÁ¦õ¬Å¥œ¢g5;i÷Ѽ¤Û³î:~ÿjáÅÛf-¼Ðè\FßuÜf…c¶YP>°.ö8º±ÿÀéתQñžy±÷sP¢Šx#C×!Mˆ‰òÍï¸&è–ˆh׎!H†3/rèÅ\QPº» vcpnã$ܽ/¨Ù”Þ)Öý§­{/TÁ3ÕqÓï¿B{Yd¨:ãâYó3„®Fx^I‰§`{1„ †ËR°üå{ŸZxˆ7VG^@´² ñŒpì6<ÏÁó¾ýˆôvÇN¤X8qsæA9®Ë0““¡ø®g6ÞK¹>‰qòšÃ0ÃÿN—GNÁo´5XÍ-tdˆ^ ‡§` g NZÝãˆ8…ƒôÆñ†ûËž{a­Ñ—·ƒišÂøýýÿCEdŸeÖÂŽú/ókÃÄ;U~} íÝ»ç9kœÏ?¬*ªmM •à1MÊv$‰Ëd{B/:XO ðJs5\‘uàÙº›xuÜ®“Fç—Hm‰DÏ`L^‘à™»eÜš[œ¬ð²¡méðÆÀ‹7*þÿk¿+õLüvÝýá7¿ìÑÖaEz¸ˆ58Äóä1I’•ŠPR*À&Ü¿t<>Þ{øùe!Û?}tñÓχ·gàžÉ²EÄRaóKz [Û}À§²Œ p\£õt'«0Ù!-è©Òš÷œK§Rhÿuïµ7¶­kþðHCOÊ«¤ªZkGì>Ñmž§ï;ú úñúòt¬*•D‰>™ÞÁ{ /‰Ò‘TíuòNb&Ìœc7¿9F¼ú¹S‡­b¢¾ ú¨^n”y sacÆ~‡tU4s…‚Kƒ÷}x÷o½6Œ‹/>ÿ7ìEÕS®‘s ZÜN‡ªÆ(ÖO—™â¤®’IC7ß®4²AïK0þ¸‡úÏr,{ç¦x%Tç2¸‰ÀæÕ&íöz¹žÍ#4óÍóüʧO¸pø ®‡ÿœêøGkCtHEŒ”Ü& _g¾ÿUrƒwä›gÏßœìƒñH+HšÊYY‡zZÙ¾Ù )\­Ó¤†;o;,–qYÔ¿O¡ýRhïFðNòyuh/Ì{uƒÉÛWh%D*Ó¼“·ƒ ÂÙLs5\$M°ÛÛŸÌ¿³¦x%WßcÓhÕ*ÆH€º¿¢{Å@„x¸z½¸w? ¼Z_=çò‹‰÷¿—õX0Uà¹ÿêé¸ NHowßýfãÍáÓz&m $¶«âvÏuqêoŽá…p—)|a_KÁéÛÃ&NÇ‚xVŸó¸v=¼ÖË=Cô!Ú¼ ¿±í ˜Ãúïþøjàã¯KÕÒ…Ž»Ý˜úö²÷±îÎEB“ú€PÙ½º›ê‡0¸ú%Â#U÷ž$\7„²°1§ñpôížÏp/¡ »ÇªÉÃP¼×a²,?Vþz·ó|øüÓ|‡¯—&~}_^ï!'€ñË:æâ&ć7›+qvÍ!8º3CtÖ„dz°•êúˆ\´`äùâÑÓrnJCXØX¦ ±ºÒ úRëóŽ?€FGP¨jž â¨xÏó&>},Ïgßõp´¤‹z_ÿ*âg}†:‡gÌgtFÚöCØ.¸ïó.Þ5ÒäÅ—ó;F#ûûÂOOÑÀ›å\† ÀÓ»WûIfÈæÓ»Å$S dkûßë£9´ýÆN÷bì$nøHo5h¿”í?0áîžS·iRdìü»;g„Wâê=!RK‘èüÀ5·ð¾™?o~~¶;Ep’逻žƒWÇ↼ž ‚0ž%s=ÀÙÒá°™”¢™wôÐSá F`Ù}˜óK(Ýí(¥ ˆµÍù‹Á•ÃwÒ+Ý÷Nó¸>™Ù ›ëÁŒÔšƒOiœÀÞ#_d³Æz³{ ådû±¢$±-ê0 [ l؇OƒR¢± z/“½ éƒ%Wwï2ÆÔ½§ëÍÔ¡àÙ„%]i¥CÈD9·ÎBv³¿|¼½vÎ…ÄŠƒIzèÛ¿¢­¬°#ƒXþÑ7ðÏ£%-I@.Á-æÕÊ»Cü»|ô;Ú«äÙ×IB$“Åô¢«Ãr ýêøwŸ ¿z¦#j>´³/Þ‚&D[‚Ô ?h&õ­KÃî ˜“,o•ÒCÑÁ“ž }$Ìß“Mõ„ˆTÍlÿÄeÑÎa%÷ÇÂÇB'ë¾[¿ÖxA†çÖÇxœÃß26§MÑBA”q¢b40¤BÄE\f /!¼ºÄ¤öýƒ‹K°Šûyö-xéõ‹Ï‹=s 5«¾ÐUxwÌ„°À ‹Ù¾{·ø…ý·®wUå˜wðÒÕ>ã$4ÐÞÄ b¾lÜÔp˜ ó¥øÀÙ,ÛéžkâX(û©Ýhˆº~íþugà÷F©RèºQÇÆþ™„éÜFk¡ Ì_c¿í)/ú^éÀOê}dsCÉÙ3 a{{JØ‹¨Ç"U‰8é´·þm|?uº®‹œ.h±œ«$“û¬í›¤× Á‰z¼:œÜ-l$,m‹ÐáåUö=#)—ÆìRåV ‹ÐáŒL`µ=$9•®k$îòÖ ?µPÖØ˜õÖPîJèÀJè0È+²oú×Q :LÇ)ZGÔ#txT“z„’9¤Ð!4Ûä<¨8wŒ t-Ê{„‡îÌpµ“GçUá~tøu~ oR{:ïiÑ3®3§´:¼¸É’m*‘—R·ÊãÓಳuСÇÍÑR’Zè@:¤ï³ î:œ/UA›*âZèæ@ :t;EÙò4Î"qqÝ4ª>Û-²w¾f[í>ƒNê“}uÐa<«–/_†l„M¥ìÜ-C‡¡Ã>+ Ûß=!æ-}¡C¤\‰6³u>S­ Cö¨­ CHÛ¿? :ùØ…ª«ÆèGÙSÆè@ :P;ƒJ^Çä)Ðaêfãf{Ù˜¹l6ž« C=ÎÆÑy½ãhN6·6½j+Yóö ”y:ðØ:5€a÷|5@ÙY¨Zaª U°:º^y}l‚À‰D¦Z €âgãöfö$ó—„{y‹%*í׿÷BÛÂÉÐËÖ·2X„™q¦s›{™^sx >ÍD–´Y†I!Â!2}ý³¡C'¯`Ýdò÷&L¾­›ª¼³ÿã÷t`%t8$:Osч~Sp;wÕ6ÃïÕl ÃÞÅê8ÍÊæ™Ÿ”uÞ®ÐáðÎ/A‡@:P†g·0ÓÔ¼õ­•·+ô%Ø£ú6N É”;«@‡ÅAw²ñoF8>ËìÊt ŽkN¥y{ð†ß«Æ ¸r+ÛiØ] Ýì·ýÉn°Öðz÷ÒĨ¦U¶‹ÖB[ss^•ÃÞ¬ïG5Þ.‡»z› Cèò³ßÄyY uš­ËfÂo„Em5(òàœçímÂgÍr»ù9“û²<Ľ«íuÌ(Óé‹Ð!üãD^šÛÞvœ™éÄEèÀVÐ!€tà:€y"— CvTÈÊ]¿¬X¿ÜZ¢÷W½\­ƒ” CÐa8®ê>s©Ät‚Kç~ûól†ÃW“…L/»ï_óÂ×J“§''Õ¿— ÃÁ‚°-t (A‡ÖD…už­ŸeèÐ –N1….¢sc:€W.[õ¥Ø…–Q« Ãù忊øs¡ÁDÊü€èpyôù ^^vgtèy×¹c”ûôQ¶F CxG¾Á\ÛOÆe»‘­„T CüìN^åH_o3 C/ÎΫ1ÔÞÿ\¼Ç•S^sÐ!´ÅC„³…ŠïÞ ‰èGè¼Ööíf–¡Ãsc©Åât84û¯WfyŒ²¬›Í!OÌZè0Ð;øÞ·+Ðá—?tx󬂻Fa8ßb«xnfÀ¶L¨§Ù¡ Ÿ¨…Ãt»kMoþUûÿý«ªþ>õO0Íí’ÕÀ˜Ë4À/8~ËС5Xÿl)Qï÷ñ¦¼:ÌÞý°ÉÖÐ!4™®üÛ2t r!0‰VûÐ!ȯ>Anœ>B‡Ä`·9òj>æmõÝ6A‡òšœûtxïd­ÇÝC'Þ.àX¿¡­Î/yzaO:vÑšÖPìØ/Z2Sýç×õ>à"th›»A`ŒS ÒS¡Cè@:°t˜ùWëe9:ËòÀuÐ!€Gè0Ëÿ”eΞÖ?ƒZÓ"k:ärkè@:€O)Q@‡7™=ºL2}[NósL¤€›e×›]é˜/´Öû6,ÛçèÐâªãOY},™ë ꩆîÄqÁI ße:P³|EÙ߉î¯ð’ŸÍ/A‡wÃç† ;6"Ï…a”½T¢¡CøÀ¿ÅG‘‡ïídÍQ¿ŽúÙx¯<žj5òë—sˆÆ¤l¯d}Z °²çÆÅš»ºlêp&Ov¡Ã»¥ý„Á‚_wóGö½]¡Ãûû €Ê}€öËîïBŒ¢"'° évúrt¨±«ert˜åi2_a:ô°zc³:œŒªz#8iáÇ×ì™7A‡Y^o{ÿ®ÐkRÊg5é›67e5ÂáÞÍ«H>@‡Ã¸žÿ³-»1lÀá»L®é2NÓVz›Ës¼{èàñ8KÐáx­Û»Úo"ò®FÝV}îÜœs˜,u…ɪ¯¥.äd¾’ÙºVNÞƒâçKyæÕhb[‚®ë€ÑÂE×FâyH¹I:ì™ü ¾/ù>,‡èî¦lS6û Ã 5¨·¥{Ï‹×1®@‡¡CãG±².ô~5ÏœÊùþL¾>–¡CJl Kî–×ë ÓbÜ—¡C¡C ýÂäçÛí½=@‡\?ÝŽ8Z½ ?@‡*Сw±þ°–9+ë¬ÐuAbÛ¿AÚ_ý[yágÐ!1¯ÚÏ<®…Ó™ M7C fn£Ä?ê·ã…wÎóÈdME­èКj0Èj<ÀŠYŒïs+òz“ÝAŸp €úèPZQ CСi—¡C+¡C}¸zñZ7 çÕR¥÷Ùø-C‡öyÖò” ²˜F^€|H¯½:ðÀsžv8ç:¼½§`*Ïk ÌÎëí%Áôa9ß@ho¡CÐ!€t`#tà:œ{Õ¸h:œ‡ë÷ÛþBy-îå­Ò›órŽIz÷ßž4.©˜ÉÏ"t8¦êã-}DÚæ>¼‡¾ÐÚotÚÙ;FÂ꜌Byèä­æµ…ÂRRS„q[, #ï¤öŽù€Ap 2”Û:´´õ{øÆÈÃÝp¨ax%èP¯éÐÐÞ²úï&èPÕ«~átZ½ö {3ËÐaæO•í49H¡Ãî¨ÐÙ« Cøí•úyåÕý³ÌWY„T Ã¯¹ìÎfåç¸ôº[Ï_tx=MAXä#thε C èŒ  ’N0²{ÒtýÞuz#­¿ßD,¯×eè¨ÿóÿþ¿þ +3ýdE@cËC1¢¶ú‹"¯#Œò¶YME1÷@,´¬U–~ê Zs4BMÛ%M,î—‚„ èˆ"œ°z“2ÍûÉ÷w Ô%¨Š&@®°Ÿ”˜w6¸… ÅÕç`–zk;ñ%„V{É9-ž2I´ÄòBKpEôhJ²Ð@L11nÀÑ2Ú ‡P—A­iw#1’šCBºIDFD^Ú–ä'èÍ›kªèÙ]¬²;ˆµÇ7ðý&Åþ~ñIÞ²VáVé­|£ÒÇC)õUß:4¨¥6¼t¼[à¨DeÁy í~…`÷M&—£À0À䑹ÄxÈd5Ð{(…G‹ÚîT)y› nÔ¿kwb@¹¥DÛz¥ï¿« ñ.q źàÑ–’ Ч"X*/.Ǽ1©±›SK-´•¢Æ=¤byýJ¹ã-ä¨Dhµ­$WFÈì^É/}b…&Ÿ¤@§)$šÃB'LpK§¸¯&64.[wþÌ-p¸w\¨L½£uU& :–#o i©µf”@––Z±µRÐ >J‘›>—SiE®¦]Š2#XháÌÑ­%CcƒOðå5MQ Ò®‹ø°>™ÏÐU½ ÔÄÖí¬&A](Qî’2zaMBB¢2Pr€½ëXTuwÁÚRë!wt‹ë1ƒvƒÉù5 &¤_o8—ŬØg ‚Z¼¯”hsyTI~ZüVœ`Ó©šËm½±W›4¸hŒ˜1¤'PˆÍÕP±<¶±<ã•å@´#„ùf@š·»4n:àa¾™\[ÞùÇ_Zû&Œ1Yб7ÈJȮӯA6dCÄøÊ€˜·â òn슖½Ë1D•C@ÁzGLBö¬,#êuíñHÚƒ2Ì‚oÔ¯-F[½ôp ±Ï€ÏAÖù·ø½b]ûìC[RBÞÚo~u~©]ÀØ;‡H¯©J¤U×Íu‹c´Q)fоo£Ið‹Š#TøyËv¡’ÂĈÐl5`;ƒjîIðH™ªM›¸34…Ì¡§réyHVøbMËj‚––ìMvýr¾ÉC ª~ß8±Ós¿Mw;}+5vo+C,èdoˆŽÄ I6š 6ÈÚ¦ÈrJ‚c7ß·®{_SbpOÆPZ<_X7h±õ‹ÌžMÀ.è@.½Œ,´¡KóöŸd¿ùBÕ.„&Ôº™Ûò9CƒO„~Ùæýø¡Õ*ßW ³ÙKt€¯™ØÛ_½éìÓ)è›J*ëK3 íïØL†)BÇüŠÀoC\HÖ% mËîŠ\¥Fï;8¥Äæ@ÔøÑ[ vPÖìM_[çh°Õu4!áa®ÿ~¡=ŸFKð“²ç-Ë‚ Ú¯~Œ]´s,^Z3Êþöò̤D¥Ò~5."ÀÍeÄKqÉdêA\j6æ VT;7¦_À ûøãëK›=re©í!ÅÍ@âój4 9o/»Ÿƒ æýŸà¶Ø›DÂÖOÒÍ4B#o_('ÛżO Ú2|bEl»~Ã]j9Pëçn>ü^ÊdIÉ[I&3„°fà?d_Í?±Ç€oÖŸ¢o¨åu·|ÅHL ,´{øþÍE{¯X‹tŸB"§ —Úð dsÅúà1ÒÇ–g›>S¢ ‘)ÏÑŸ;@ Uø¯Œ0LŠ`ÿfÎhpB‚ÄN@lYÙaÔ÷ É«DhcmNpb‚Ä/d¡É¬¿%øÏSÉ5d¦ ÆÀäã2ê8Ø;ÙxfØÑ!-Œ[ÇÔ¡r<Úy{³?Œ!¸²n‘¸Â ÝR´ô釹öÖ|ƒoC ÊsOñ*Úru-ìð ùÍñ´²ðœdSÉÿæw¬î¡È ‚%Ñ¿ë€0l˜}ü ×ù†ÉbmŠØÏf&\ò ~c)¬‡Üd! ¢RH:• E î#~”´Ú¡ŽøÕ@+SЈ>ÂQT^7¬Z݈Û>æÖòÖ’š‫&xY³xq~‚žÖÚ/¦±F¿DL2¡rûH‚Ì[ê“;ˆyË0&ž#᷇ㆠÁm8XðÕ¼Ã^ÞVò|ê£-ÐR€WIDk ¶iGC£™ûãttº>¶MP­MÖD€Í3ÐÙkŒ]1nK¾+û `^0ÕqH Ý‚@îÞi`è…èõ¾ßC>ÜÒ%|ý^j¸«Hñí6BC+®+æ~±Ì¬Ñ‡T~ ™¨—Ž!Feý¦~M¾%›ÿ ;Ä^ûmñÒ忉ò¼"íÏÐÕçây~×Âþ‰ ‚¦AÄU¿ëáp†¼¼7Ç µÜûÛÇ}¸R^[€dˆ {ËÆ}œú´®(÷ú¨|ýá©ä¾BÍîcð]p‘‚PTÁÒÅœñ²Š?n 4е@$ÈÛ¶L¡­(ã²o”†”tõº×éø¥ŽcªÄ€ËýE „ëeÀ/å^â…â?¿{uÌV»¼æýdzißÂÌÀÔ´Çdüâÿô?þ°Î½ ê¨ vEüJ·xüe}Ã>»‡îwJ»ÏÁö ÈJ~ ¢FW“ùfˆ®Rà±Ùf±‚®¦b_œÃÅãs r]KwqwF›}–¨ãa{…ìžÝYŠ£tˆYíÄBvŽ­îSÓ)$/Œ€)¼‘‚¹vu©eò€‹ Ç$|FB{ÍÁ?â6óþö,€ÐÜG’$p¦w ÅìÙ;ݪ²ýÞ6½¦j¡®ë˜G,ä59#MMÁ<ÌAãi€t¼ÊHd°L1®½JƒYR­$È[7Ó³uÑ0D¨S W„<½^Vxj½þmsÅ…™ž‹DÉžâÊ:ž ¨/ñ ,š46”á‚Eà{>¢|¯I§ð¿fITã-m*{Xa6¬ñÓ¾[s´Yž¯‚ιˆ&^Á§|+’Á´LÀói¨©Ši)÷ï±cìÉí…}1˜èL~6 $»ëcÖ¯ÏiÜô=4dÞ‡ƒ4ÞùºJ‡E¢l§SFÒR~ØM‡~C+qŸ¯®YA(æ/º™ƒlð8Èefì nŠ_ô/hµ‹¸O‘ž°¾(´@!‰²÷&PÈ<ÉÏ‘.åÏŸÏÓ„òÁ‚c†G„ݘ+²`©{ ö/8Þ_ÈENà+,X‚„>IÁï¸ÿ™2Jv‚@’(è‘””A”H ‰ìÿ;Ö-ö9­#JÊï,†›È­–7}º°q‚l¿™ø¬d§ÆyE€gº /Þ>éËŽSL^c!5Ø{:&émâeËÏÜ¡áãà e¿û–…#Y~ò½Ç¶ƒ=©ª((}ŠXk=éš=ÿÇ\™6o†PÞl_ø¦cãô“z‡rœ[ ºíƒX PO…Ë—É}brt!ØÙæc»? ««ÎbMJƒ^AfÞ­<:8ÕÎp3Çé›—ÏzŽ={|!k‚:‡k4 ¥!l¢ìŒŒöÕ38ß,ˆŸe0‰Œ\}Âh4𱘭ƻнÌã›Û,R€ëèoé5c:¼^m^3÷)š§»—WW ær«Íî-pòòe„ûS G­…ª•Ó„Öñ¿MBzpcáð ‚ pm¥x³FýtÜ>΄úvfƒ‡2_}ₚÌ·³ŒJ{0¢õØ”u(ÖîU„X"D2?e¬&úÚÚ«g_gFhÆëâ™Î£©㩚 …†Ïùàr0vvë£ùºÞῼ5ñþõîå—ùjc³mÝÛØ?Ýl«8ŽƒïJlàh/{÷ù(Ec¿X¿´¤"²ŸÞÞä‡iᣲ›Íì7Öoü1|¡—­Ù™7F“ß®Y:ŽAì­vôþøí`sbJ+°öʧڂ)¶µ›¥ßÐ^•cŽ-({ŘM Zênö¶g]ãX.ô¹¯ÁiëÇèNãÕÒwÂp †Éü ×¶0å$œÒ»ëw{z©U^§‘0í¾œÏÖ½vpòöi-µô»/Ð^ý¾½½š[ЕTýÚ¸ízx}²}@ó#üÌÇg½?? àdIÃþ Uúuí÷5{=hW@$~ºã8Å—mOæ&8u©5š9‘R­¸ß9 …#¤{ÙøZç—?­®4Ç X„‡îÇÚï÷ÁÛŸ8®Yµkw¯*£ñ¦OÙ­ú07à®:!Nxäi¶æ/“.Þ“õÀøÌ7Ðäþþvâ½8¦îãPûyUnƒ¥lJV IDATvEek–e+ O%ùyO€>-ëSWšB°[ 4©^Ä™qëã)4+›ÓЂ‘wl‘Ò§£r2Á¤](Q‘QXnPc—ȼ Ë“^|,Çß=ìýòôªJÇ9çÐ"ÌmÎâÇ⽆þ\^¹hz ¹õ÷¶üï0§ÕÄ”§8à×TÕ ýnµÝDÀáB>ìÊÔÑ´#^”Ùá¹*¢alÑûn ¼ª×ÝséQ,l½ouÁÉ'O“Ë/:>þ/gHìªþë’N’Õ‰E"ìžxlÐ2æÑúê™BÍ ÃO r»%N% °í§I]alï£9œ&šÄM¬çssp~‘7 Ì{¤ÊéO¹é)Høíl`à&`…ê|¤©‚Èì?½[Æ…ÕŇ-äÚ“ðöö@oúÞÑ?uÞ:=gÇtkMÞì‡+ê×3mªÚ2Þ¹ò ¾[¯“õ]Bû÷uŒæ¼È;¨fCY qŠìNùþöüR£>¦Öè)ôhûü㵩ã­ò´ÊÃ=Æ,ðŠ(ÛÆ¹3@Cüù­æÆý{GY¬èi$z·Þi/+kCŒ‹xtàŠ8œü=4–|p³ëAYWxwà_e¹÷hÊ‚nÏ~FE!ašõùù{Ä8ÅîtzqªóÎá ûN³ô‡P~Þ„Ž<`ÿåZ3FìtPèó¹ê al3 õ1´§µ`¿¸ðáCy-÷:!ŽÏž˜ckpÀüùUU?€Á±˜FWhÑïVç¿þ õýˆTß>Ž`Ç‚½²oR׆òïø œÅ3x·ø×õùžÙ…‹æ‡*Uq©ñ)¥5Êûî÷K¿¼ÇxLÍBvÜ5yš ¼Ò>”cX‘‚ëlç»ÃéAU9ÃkˆoáÍðMS&B+̾' Øj¹’ÌyŽ3ñ(ŠÙe!ÿrÃÞ‡0âáî×çe’ƒ•”emŽ ¬—Ý=ÁYÔÆ,ÁöÇ8S~ƒõ£‚Na ‰ã·åuÝè8ik?eþ{SÇ­ÍñZJŠ ’íì÷`Îã#•ÀÌ»a¦ ÊùïË9mjAo•ó©—NŒ÷â˵+ôG2¸ýŸö× ó„CƒÜ^ôBÇ ðÇ>Ã+­ù·­ßåá8/ZÂ$xEƒio÷üî¡¢ðÙ­^ ùxu>4éÌAž•×úôÞBëTÆ_Æ ~Sßlw߯.Ô_…'¿óˆr°¿uR¢ˆØÉdÓÇP­ÝmÑ`bá°-#u%K]¹:ú9δr—º`DÝ/äÈqà÷·—›‘Ècßñ0`f8 ËòråÏðŽ{ž ‘aˆ$?¼L ·Ð)_ô1~¢½~–­™š8l9Ó› Áöï·y/ƒ!Œ¤^ÏÉš`À$ëc‹‰«¡-èèû$ޏwC¯’ŸþìÓ©‚VëiU YWÆôæ;ä_Ÿ–wPÂ&CÀköKü„GîîçSαøò2-Í}Ø—Ï{¢Þ)ÛùI Ñ»8V~NNçÜ›âS›ëô ýóxM~‡—¡¦:b›Ç±\?Ƶõí3b‘Î8[=wsë ùÓÊ¿3 ³U'¾^Bã˜Ü\I\0U¸Êú}âî 8:MA:›÷ý OÑö$ì-§p/Î!|(¿[÷«…_~“pÎtqdö9¼y³]ÎJ ûp˜£Õï×çáy[O/ôá¹G ¢b:ëÚ:£U4£Í{éã‚0¡ˆ0¯;¶îÁvU¨Ÿ2[pmwðV:+âpºÓ¨þùÇâ{NფQùò7_,¼ù}õþ|b$ Õš. ¤ wáÀC8£»“–ä°g£q¼Ô-C´ :Ù=ŸmÉ^åСÉNðYù€Þ8s06A‡j¡CÛº©ü_˜9×Á>¯bcïee2çv½Q˜£j²¤»¡j t :œÊΕÅfιBf“(ÊÅw©|ž­Èxwq:4/³v(35®x¸º\í|Š~̽†é”Ë­®ƒÏý>·l¾9“¡ÃˆY]ºu¾4í×DVBþÇš¤2Qs*n:°3t`-tM* RWA‡pªåmŸß4 .$M"bsËdz¨çVlº*—-Ê»Fsã¯Gèp–W] :öÕìYÄÏ™l­ƒ@‡¼'€Y’]:Zý\ÐáÌÊÊêÇ7åëÖA‡ò¬º†¡ÃÛ$Âmho„“½+qyËž%èðÖ»/A‡¡C–Íl¡œŸü"—Z„‡ ÐÀ"tà:TZìifÙÙd¡ÿã<9üNH‚$oÒC]¢,wËÐ!€Gè°–õ»d‡<ó²ö>ÌÂÉÓ“·"ˆÑê9¸ V·.Xá”…›÷d&/fC.A‡¾Ul]›&^ŸðH¤õ­Fú *³¿O…ýË…DÞAñ Ð!ŸWñ™0Æj‚ia»t˜Þeú;4S¼9¢1ŠXü¬OÏéƒÌá­m C0V-t`-txm~Ëî󙯳-t8dú`æ¬Þ˜^†­¼u¶6·šwÐ!€•Ð!€Gè0–ÖÇË ×‡ µÐ¡Å¯Ÿ/ÆÉrE‘=¯@‡ž þv:à:^Ov†Í‹óßY„Ù8ƒ…I¿gÕŽ Éê Fç²ÿÝ 0log¡Û]y®!cÜ#ͼ/zѪø:Ô»m¢Éúoû:P‚õ(kí´È³ÛÃÙósŽÓíõ…é¬Î‰>@‡Sv–ûÛÔÚ«¶~7Ë.UÌ«vu:€#ùààèиY½Ï`Ý^—¿›WD~€»F½®W~ýÇÖÐa?ßÈ]„{y|· Nåõל„3L“ûgÛ„C1˽ó¯S؃BçÞ-T¤«ƒྲྀW@ø%Óù{{ñzèð‹^” CÚ(Ch· (-®@‡™Åå­¶†)`ÐÌìët Àå¢^&ÉIÃÎ|âp€Û4mWsõ‹Ð¡,g6äµ³9®;‹Ú˜Xšì>þÑÈròÇ#Ho+Ð!€Gè0¦«¾°NîÖÙJd—ªÔ´$°ù>ZÿªÈ ÄAy’HœÓ×Wt‡ ï:U1JС™f2óÿ‰úK~ú{‘Â]àá¥>‹Ð!³ãëªÝQò’’Ð!Ùl—KXª8¥Í‹XËïß#°7Þ6ÆÅœ8RùyCrõ¾dt=~„³ïò0mn®»ø0“EN¯|E'2 äÕµ¡CÐaß­ÏQ.C‡ÐÊs=¯ìb»ÆzðVýUI’¸›¯Œº5q>Å%èÀ#tàIÐ!æ-—¡C8Ó>áú{Ù]„¬„¥F½Ÿµïds° xthÐeûôÚ´†ÄåÁ»…EðŸ…ü-B‡päœj>qÏiƒBVzŽ‘•ùüÐ!½P\ÈóŠ=œeè ³ë»KU–ë CèÀ#t¬©x8õnѪé#Þs¾âXüóï·hüòâœ„Óø9äyßópÄoŸØÐ¿ÌþOÆÃ¿®iyH'"²P€_îçøý´©¬ •;¤\v½ƒP+&Ü›àó^Þ>p; ŽXVÞE!Žã'“Fà™í•¬dH°ÕªÓèOÄ ‘aqñ͇ÏO«Üh\ÿà†=¢šÈôÆçpé ÙaÈá9h±šø¾ºôðî}ýX¨æ †ÒDló ¤ÝŒˆq©C}¿¤G¦3 ÕÄTBƒã}˜é âÍN×¾w¯p*dò¡óÕÆÄƒÚÎÆ$˜ø`ÛUÙšp}ðÿ¢!}*¯ ÕvaH›OÙ¥r ¢‚¦¹ì ’·’×Åœ Ìs*…1»qÐ|Sv¤fäšÉ+x¾ž+þ6ú88x™53š@4ëb?w^G˜c›«™ú¬¶ÝfÜl2G³ý÷ô…J]„°»££]^ûü¤¯}ôâÏ8æŒÉPy`þôq1­ ¹ *"Ó)Æ&‡=¥œø‚ìR›[÷›ás&{¡Ï©i·m¾CÚÿ%Óe²βÁ6µpºþ¸ÖñÏ·”ÄÆÁ{x¥. Jßé®n¼{“=¯Kð.cAÞÜ ySµõ)¥‚ˆ èsZcóF¤ç‚{µÞÆ:ç]ˆŸ6W‹ŠÇ¨½õ¾ºÙ˜Z#p{ Ø[{'Õd`·O"Æ8Ë+«S#qî“J ö<~‘1%ý ·]õTÇa Šá³îwãŽðF(¯ž?Å1׿ÃÇ·4p²)6aS»UFö¦Wà[ÛÇAÒp¦}ˆ9UÖÓœ5„¿ØRü^ï9`?lÖ¹‚5ÀüŒÃaØÆ|…ïŸ$HruŒ1¸±Ðn´Ak…unIˆ¯³Ü‚>¹ƒÖ.Ç“3ÍBS—Êœð“1¼öæ-ÍŒ…{0¾}úùw„ªfœ8yh,T^šÿ5Aã·jœvkÞâµ²Ô¡àë”_³÷卵Y>"ºš€~W½ÆWg€_W€:ZÆad½èx nb¾¡~Ê\Œ…{. ~DÃÛ/|\³›B9! yt~3Täs"8ûJrηÄÏ«a'•È I¦$ÈV}.ln]¡!ëÔcH žáyœ …¸eÛîN:űîºþàíÇçzª.ÁÐ6ûýDÇYøwžÖ¿Ä¡ö;þ?,™"Xh]°ìj{kk$=ÓO±Ðµt8—Ð#¤Kší! ™^ ˆ9f†…Cå¬ú,ˆEà®¶±ž¦ ºM!kë×n× q¢îž“=¿°ñéƒôo3?n'‚p–§ëÙxic‚lŸç(‡UŸ”Ä Šµœöæ Žkr…¿°0æe{LÎx$Í,ôÍsð™_ü½‡C O·köÌ…Ô–òAAmÿ¶9/E…8 ßP#8è -7 ¢ƒ4=5ñ·_¾ºIJ{ jÃFÜ´_èZV,V”ÕE¼ð £î>û_&ÃçÞw|â³AÏãx‹Mߩ‰0æ ÔÆÓr$¦@1ëß{|aïÍI¤‚¤·ï‚öf`Ž«q$Ÿ¨ðÈâ:aж›Ù³ÄÓ@òE,>ç4ü²ÿïÍGàû¸ššx×R^džt›€&Õç.$-€­¯–![!«}…ñíë'ŸVÇ{C¤8ÈÛ¶Yá2s€XŠAÙ?ǧê|÷p–WEŸòZ^5eš&f©„×êê“ðˆ@Gšlí+ÞfM;ÛsKÇ'ùi 9‰ƒ¿PÑŽ“Rø6ñSÆÓ¾°!-ØN;¸ÙüO8ÎÚ9|ŸÞ“ Ns3·oÐÞü´±žÊc´j€çN¨ãŒY½V¾š]üªœ`jQhÉeÙ¼:÷ñî·Ã3ÐhY»í•Zç#ÈŸv?„9$'8Hž×%”ŸDðÚ«mû$¢Íz`ä\a_ÌrM3ÂC3-Û,÷ž€°pPÿ>ãt©µyêLAˆ-Ìü9šÜf¿`0pqÂDˆ[ ’à$ûþ¿4w08\*&÷"PÇë}¤›ù=Þ4N—bç1Ô¥\ðC•÷MêžF|Z–µûx„SjY2U@Ù­û`$… í,ŽO¯ïž{£|^˜ˆ·çðòÂ%I¨dtÆ5Tõmqï|On­íz§žŽ_^øÑ„yðOЇŽÃ>(æ¦Ó…"fA¾İÙ"@ Nš9Lc†Â^XoÄ®.Þ Ï0{4„´Ÿ-:q&Ái>}cÝöo q™Ò½&Æx›>½-áÍòEÐmÛHÒ!þ>]ŸÀ ·Þ€vAádá„Õxaï€ÆÀ–p(m?Æc8ØC59'‘&ìd}Ò u°ÎzÇMç°œÝ&}nCkT ªÇ >Þ¼ÉÉi øzÕép }‘¤¶õŸ·¢™0æ`å€Å<ïAùTlz:ø›^£;€z²^.=r >?•bÜP_Ueçþ§ÿ\}¿tÂh?ýtn˜`Ùõò2¹4Ñ~¿”(ަHèõ‘j”º ‰z=t{îâÃk ]Š}íóO]—a4Cïî¤ôvûNˆ”k€ðç«> '×`–ª‘,4ˆàyWàù°Í@ï71ã4ýz,C£ª›(±}ªÆù½6¼U ÙëêN´…ªdÁ NÙ§9ÍlÃA0/ô”Þ#~ý ­h}`°ØšTHü©ß uïC}W®dömââ5Díìù57.<¯à0CxœÊ[r†×Ifsv7ØÝÞ„3LÓú[åçÆŠñF¦Ð5:ø@4àæÕi‚D”n`M©ZñvÓ!\²Ø¸‡€ª‚’<ƒm=­ƒÅ:ƒ§mNÅ®Bè€Äz=.L-¸-ÿ#<σ+¤h¦›ýAj&"n–—÷ xOO ÞD&ÞлmbÌ:.šgÛù¯.OBð¶“eNÀ7Ú?m¬#K-o¿ÆM^…╟ÛÇa°;œ|î ñ‰_Ÿ,ÓçÌ1<ãÿÅíŸÅúôBÜt|¬—u³ßƒrt zcª›c0ñnñ…å…ôçÉy7²YïÇlê6ŽžŸ(½Ô;x¯ín HL²¥œD)@°ÆÈ{UÙ5(j¼ÊOHxíl­9ÔÚ¹òtü§CÏ}YZbÕTÚŠˆ è´ o¦ƒo®Ö½ÉÌÙÌ’“@€ÿ 'ÂÓÛ¦[òÙú b¤K¦h‰hû»·æ$]‰ð¼&-¸ˆÜ5ª?\|~ÊZН' Þ¶¡˜Le5-D\ºjƒï¾xõËfpšé¦OüÌÏD¶Ð¶VÛpÍS·BXŽ‹§O0ÐÁ–×H<žƒÚË“Sänš€‡½õ¼¶Xî@K~µŸÅ"ŸÂñ¶œ›ÈèzY4/.¡|È+Î)"BsýzÒíïФ_` $w½7ì8XÈ¡C{KÀ~$ W´Òš'c³ ÔöçÇÜÂõe„·ïW'QÓh‚~šÞ Ó0ùA:™àa¥Õ{çŸrÀ«g„h x¦YãgW¯±„fAF›í‚ÑýítŸèðÈí6üœIÀéӶߌSì±™q)ÄÃídÐôî¡ðåÄvê± øà§¬O—ìAHêáñ8¦AQ›ßùÜêáS~ ðÂàÃÐ<‰hï¿L[èØFB‚#¸Ð|ÐÊëJdMØ4ÂaÐs‡8Vû‘cÎÅž_¿Ö# —†»?´p´ö£#]õÅßæ­åu&×Ñ4Ýúù­÷Ì?Pþ±>p?™ãtဥ=2 íׯyJbðÒxâçæÃE*„o߆XÐ9Ü«6„ DAòÖû-ºICS²õ“ö®@—€\w¼=«Ú†>câ(Ü2ÖÔ @S_|læV y}ž°ÜCÚ?‚ª? ~ »˜“ÕÀkHëó5£ý³çÇcvä@¢EÜ36NÃÌǶ­Hòæ|!á6 å±êLi|TYxôfÝ÷mªãs«lœT†XS1ÙL´jãÇð<“ù)ÁÔ»Ðú—b=ÄÁRKBÑÁ¡#âßéÓ1§8S¶£Ç&‰¶¸ÙîÇÔÙó M/‚§wyÒÔA¬áw¤e5áù]ðÜIÇRˆÜíV~Óø¬½¼í¢Æ]Ä{Ùó|sÏñYÈ@­m¡åÎÜ.áäo]¯¡8ã{áã/öV´iì\ú ÎÆ8eOw}{`a¿¹sK¢©xšYÜt;³ ™hú™j=³ S{Œ–Tݫ׸·Œ ÍzÞaKÕ Ûïç*ž“ß=°iûo™Ó$$·‡_Ü+BMÕv¢g =Þ]ÿõã!ލ§A“ÃPÄØ¹ÆïZöû4QÎãsêÒp7a !x(ðPìëI¾H RÊ:r`\âP}@å_Ü‚ûðúo[£ÃsŸ„6¦¦ÀNÇü3e»Ü$ËS¼z]x>7ð©±z¾¿™>+Ûù¾@‚swÏ?úqUÕ‰}Rzõ¢ãÊL„í¿'çf;"$Ñ>Ô¡þ¢Õó gkOP9¸†ÿì{M< mþßcÏžvµÖïO؉ ñãÎÅÇš‚ >;dúÀbUÈy—¤éGë Xꘀ±˲ ËzÙ=oýþÚi™Ñáì>|iE[dAÇž»>gÕ5Æ8Që™4RQ˜UVal °§bæ^¡)l.P`óHÞ!ú Gí²¸îx{¼`´Sóh†S¦ˆ«î‚)^±eÿ1sáÆÕ2ÕôAR‚À•3¥ò9¤ IDAT(A‡påF`:¼#Êå WA‡Ä†ÍÁ¬H&<@‡²;~„Ã'V|€õ¾ødèpFg‰ˆ©)g-Î’/*𹍦0ŒÝÚPñæÒÏ'KeÝ÷ò2ýoOªÁƒ}•2V§eç¬?§KÐa0/Ê(/B‡ W¿¹ZŽoe§p txuQUКO@kHЃ¬L±geh7A‡Æ4¯r©×'ýl9-B‡óÞêÍùÅns3/YÍêeÃnŒÿ(A‡¡ÃÉ$@d]W®5e3ù\†©ªXø…RØСcåúÖZè¬FÕxwˆªÜÞ-µ×¼q³±|€‡ór ²(o+Îæè@ :”='O8•õË2tH.8 ¯? ùýgA‡ÖÕˆ¤ÜzÁù^-«zY cóf€ÇO`陼%Qû¹Î}.t8L(³)¼‹õ%¡Ci‚»\®˜ö[L¾—õBdïð^Ùß@ïgÉ‹¦ŸbÌj¡C ¤7p‚ª¼,B‡JÐá_·V :œ{…l¥è÷Uû°€vÒØú†QAé™ÜÙn‚·ì« tŸÛÂ#tàÙÐ!€tà:ðºtt‹ •.V´žõï:O‚£›z=&†›¡™ïÞÞÈ™ÿp¢žáÙM¨zèМ¬N..C‡6EÃÑêôeèd:¨c\ûÕòãO…³`‚†½EÛ•Úu ˜ ¡aj¬n`oŸ N{ÞÂzÙ²…+“écÙ¼±ëÿ(t¹F®8¬ gÏàŒ¤Gèðž(ÖÆd•´*Ðaæû¸O ¿æÞÙ­=Wtè7Ö'²7A‡öyñ Ða½^5þºƒo´qu^?^%bØ[íüÿð»›½èt ¿?&+iÙ¸_…Å:?½ÜnMPD¹åñ2tHkÕM%UpHX%èH9X €r”ù@~{Mµw†-T•;V™GèðÞø£¼vµòæËMfñÞС¬×fkª<@‡óz´~­l töÑv Ñ,ó÷©ÛB‡*Ð!€gA‡VïÛêü×»:"ÙÎGþ´ÐÅàÃRÕuÐ!z5œÖû–tg¶ïGyJz:'P@8Ylt :œ1Y¦‡c0Vvý8oUz´¡Â`t<Úøáuàyw[åoZóIÐ!ŒÕbÍm‚£‰€KïÏýl„­¤x„» 9d!Îôt®NJÐaØ)Û_“¨Æ0×ßÜ\§n~'"9FÖç%Ø1‡ûšVô®æcô pö¶hËü¨@‡pö¾,3Þm6ïG¡‚ÉDBï²ÈM°L¦WÆäR¾BSa©Å~‡q~[“7\½, êí÷&èE¶³Ýr‹ËС¶Ðj˸ük%tøõKaöÏRŒgèÑf›lÛßWÛ5*³—Gç ÀA t$U}:€³V¨õ:- ²çï$Q¬8äjkÁuÐ!€Gè@ :P¬„)iûC–¬»^_™Qy?‰uD$iÒ°>÷¶-t`+èÀFè°Û5–ò(™ÌGÿ*Ƨ;ëGëîùÖ¿P+Ð!€ tè\Þãr°yo`:°:Ôç«Çì$Êd˜îŽ¡Cˆ¾r88‹‘ÅóÎÉzYz/}ÆÞ[‮…Ç\Y6瞎‰PËÚ|¦K;Üú˜F9È÷P~’zá>Ê®ñfql ÂØÎoÜ:.tRÍ0Ï/d>Fd‹s?é:€È+|®æ‚¿» :rûC¬^ãŽÙ«úkt¶UÕ!‹Ð!œþo¸zpöž+A‡ºZ\/—ÄÓŹ.ÛŠˆ¡CxÝ”¡C`ô“å–¡C;?|®ßý…ñ—Á#t¨ë×ð§ÂuС+­ö¿Lž—ï5º7?ª¾Œ[¯WA‡,íy›ýîtu[qö>“/}¦!ê÷Þn>ht :¤6·IôôªîÝthwêí6¯r?ð‹98`œGè@ :d{9‹PÓuF ³ï-B‡|4+Ð!°´Mòe".ÌúqSÍbÆÑÕFèÐ÷ï!Žû;ÍA@ÜTóBãìòjÊŒä¡3(¿‹aÞ¬……aùûÐa`—}í›>ÖB‡j¡ÃÿŸ¼÷XŽËú<ÿÐp§SF0dŠÊúª¿é^ô¢ß¢ÍÆl^b6³›u¿Ø<ÄÌ—™¡¨]k‡Ö@/€;à‚ŒÈª±öM•etàÞsº¿s½¬÷Aê CiÞ,ט™ï[¨…I2ÂK>uС¿f£ôYñ3q/„ÅÊH¹êÞÞ&&îöü”祡Ã%Áã.5°t þ:$g“½žÔç_2½ÝcÎwA‡ ±™œÿüF@·Fw=B‡ž CèÀt`'t˜´R˜I¡ïSf÷Û:t :€Wén¼ :P À±šù*û@‡ yg°ç2UµÉ» CµØ€¼ã¡éö Ù懜 Æ7@°Ò 3垆2îÓ ^׿a×ÄÅ¥Æv æÉnøBý«®…X¾@§ý×´Þ­<»8±ðqοÁ$¹Ç)ùýÛÐ T 7~~µVpw öýOøg|&ݧo˜5ew‹[:;‘œVƒ¡oáW(?VÒü€.å>¶ËPÒ½ùf{•Cä@sÛ»ýx·)ø¼ ¾•)J7ò!ä LiéÃnsèú_Á/>â䂆ýùÒoõ‹kê”ÝÑpDáâ|7xk\…PfžµŽžñ¼ò@T•øœ¡ê(sf§ùòU]80Žš+$ÆÌgáî ¯%h´½d/«ê®R¼ie œ¯Âç2cƧfís„wÚ­L^…p —yX¬šSÊÉ‘w—Bˆê/¾|uñ·_wƒWÆ-~V?Àγýމ¨4³TÈ!fš+0 (ÅÞX¸W8Ú£+ã…yZ¤â†ºE‡¨î§ ‰píæd¤/ÍÁÙÙïx>>OXГ ¢ÓÃ+­®]¼ýi?%ecÁv}n†:Fƒâë0¹ÝçZœ3p:ÍI—n—@ç õ?³¤úhÇ›‰5Á°Pá…#x`<×±(ü&VÚÛ‰ƒ§Å¿úæãç_ê/rz&ƒKåyæwúïµúso/DHG™¼DN Õ átê)ÏóÀó¼ÀüXšŠäþjë0PÓ¼Ó¡¼?l$…®jÐjBŒ¬zŽƒ­ìYýï|ÓoqæPP/ªv9]Y ZyWï%ãö~]DC€£º˜M7Œg!©"1– Õæµ¤ iãŸö¡º@\û!í)I› t.6×eéh‹Õ³'K ,{÷¹×»B{SÝH²+$A=  ¨RÀÿ° ñ¶½é÷ØÂ ’ÛØôl”íÅíW~Õ0½³qòþ°jjÍ’¡¯u› ILòŒ®©™¹œ?£þËÜÂ¥o@zõ K#E[}~g7Mq¡›™tFß žgpµx@|”Ó¿ƒÂ½ß|•Yâ˜Á\£ÓØŸ:NÄfy¿u"|³ FË× sõñÄü«‰Î¯Õ8õæÆÄÇû_ƹ„!-’pVoùò”ba1\@“·'#ÒHØS¼j¸€ !ƒAMGhwjË^“½Ié"ŽžNåzú—hÛ¯Š›Rô÷éô—Œ}g…Í ¬ªbÀ¥xåß®,)…a¤âääy~Àì«…ã_O¬9©‘à!I8­»ˆ´ïÛ tùÍFû—ï4.—\I«&¹ÈÀN÷?›‰3)Vuœß€{ýê_V¾¯œ?‹?nD«1øõÕîbÆÐBaK†Îbû/_{&À^Mpô´ß ߊ .·ÿBbÂ%Ÿ75¾íúpx±Ä̺Á±üýF<ÑÈY·µë¢Tϸi¶ (ûA\ËU„v«€Œ›ƒ(ù¸½‰ðaKÇSÚœ RöËsDËÐííë¶Š}´( ±´Dæ/“½I0Ài>}åwÑâž×ÕÄ4HnsŽ™žMzªwâòCó{:ôbtôãÎÜš \ÿ\OWøé$;‹ÂdŠ„cákEÝ`þ=@jïç ¥^ù¬gu{,^{xMÔû½¬¡#P¿ÿØÉÅ'Go¾ _,DgNïÙßÑO=¼&ë`E)R÷0ßpõð'Zo³ØÖ‘ˆ6ù’CœnÊÎ7ûo§¯À½Ïþmô ãüíæ¾xº ^kÖß*ÂØ³›hj¯@H-Œçn?pÁ±Í~OÂ.Am¾–ã±°¿âHÚLç>À{m»oaôi¨ù=f/á’®¿Ïq,¢Ü,_¼mÓ2˼ÿåݦMrK\ø›6[ïO ½ÎttÏvp)‰¸7Çx§ÔÇ¿cŽSµi¡Á>ÚÔcE!ÞÒt…oiðvŒàu—ß ´Ùžƒ¹íA[³Ï–eZ \þü¢ó¼ ïÑb¶ß±úŽßÏÿ —s0í—Ýõã1^SgÓ%¢È€vÛV}1‚vT/W];À›š&“á §™NoE$VtËäaÂdâ"}ׯ™[è9ӻ¬ɣÐ0“;|”/ñ£>ÆÕŸè¿FتêRp‘4+Ú–I®êYãÓÔ¿Ö9Ž&úˆÒ×ßå=ô®íÍv»õÙâ71Ë­ë#Úy±3UÀ±ñ}:¦-ñ ðÓ{ª²³º þ"á$ªž‹˜]€ e6öp|V¬ñõÊÄO-å»<ßXïâL«÷ÍÌ/.ÎOÎ`UðÕ·9’¿i8Jš}Ùh"€>­®aL« ¢ÍÂ’(Š@çE.»‚üØñññ| ªsøýír£}J­åï ¤ïA,'HÛ»õ‹4wð§ÃãÝ›ªŸÀÏ xªÍ¢Â1“Ùkq,Â9s~ÜÙOPÉ­Ø>à\°kÅhªÁé-~ÈdÐìß;”˜@šõ“ßÒ3Á›Ù£û1¢×õwÃÎôb]‡Þ °™®vÄ£ªŽ\ÈÀÑŽú‡¹Ï Ã…˜p&NýÍóNëK„¶ȩùÆ=8uÓzÀ«K@ æp×ai@|ë[øåõ݇«qùzH¶ß9D1­îó×0@çoyñ9%ƒ‰÷,"áhÀÏ}Gc‚Kµþ¬zÀoq·üAÜ«ýbÙá}Œ‹w›r“r.ˆš"ËoÆøEýGãßSH fò2ÞŠëÏá¿nö­þì­ðo5#ô¡QŒZÞçÃi˜ÆÌ/» U: @¼*þt†`w¾…÷\U Ù‰Ž ÔZô¦ï ­ÌÐV›4ç¨ðŪá1?ÿö¿ýWp+Wæ7ü¬üò¢…õ®oàÿûi¥RïÙÎ+1Æë´> ø¶pðËÑ?§þˆâqï”Oˆ>Ns§Î’ ÈVaàâÅ ¨£0’1T²þ]i>BäeJ ¸òÀþ¼g@o€rX"øaiãm; “åd»üÉ£‹³ãý"·ðA Á¢ r$‰$yþè2žÔá%BŒÁ X¿q œ=ã~Ë6òêB‚ßNÄAŠ Gá"}Ù˜5FÁ?’¡’û+°t>ÑÙoDããø÷T[€Ð³÷°l²´½SähjáüdóÌZK¤ì@dÖ:}Ã×.aÅ+hy à -°[ƫŠt*ü¡Ï  $47 w«).[okbZow› ÿf îcÕ  ޏ™ qæÄNæ0Ľ>¨Ëj è‘=ðÉ%Â%&‡z®Ì>~V^ÿ˜uPxhf¦i’F”ì®”™^é8ùùùÉÔ/×.þ¶'̸œho׃À§jèxûuüe<!ŸâŸõ¹ü&[ðÝÌqãÁÂCýeò‚0p”n&ÇSg'Í­Œê!4L³>Òàðnc–mC–$ЩèãW~_ñŸZg¸^Øøé¨ùݼÉøÓì¼Þ­€÷ÆØ·É xVÀE'Ó‹ˆ z& ¾êãQCñ…·%Óša[ÆbÊV²‚×Öv)qÂÍh|Ò|d~üè0QcÑs‡8 ¾ÏH‹`¡=ÚmÿFFŒW¾‹ääÇcc>Á™wøúÅñTÃÈ‹™càXl–cÚ% ÿ<ýQkƒæ3LÓsÄŠ‡wýâ¿§{è–É“A¤R¢ÞOÿü‡Žßþ¡6bD*…¨»‚|îÃ[+H˜}œ4Œ¡ º`ßèªg u¹¹þ“+§?—¡7réçn´§áíZ‡à…ßÃW$›¶#iS¿Ä²ÙœÂ·ÖQãà~%…›{žº}Bñ^Q̃¦2}Ñ¥m\<’/ÙðìÃÀ}´€v~Øo0 À–.ÞUG¸ÖÑ`Þ§)\ÍHiEÁnÖŸty$Âöø¬g8¸TEÌ—:m)ãù¿üìÖRy¿µœ$ œ’›{ÜÍÁ¾¹n6Šù|?ÞE¨N–œõW}p­× 1Û ãí¼Ù'ÀÙšj’.¶ÀÆ*¥"9ÑñAž)°Ì“xŠSj{²;µî@Èï³ÿßOA¼Þ@†÷S0ïO¢Si1Qè­XŸ‚ÒNð¯ü¡‡¢‹æõ÷§¸“ĻÀ¶ÐѾ_²^_L ~—¿Õ»qpùqÿüQ°0ÀíïŸÚôR”IÙYÂÚ|“T ¶ñ}ýš!ŠÏÇ(êå#H鋨u8À:óÇ8æ/6\ +´Ýª£žÜÞ‚ü°Ò×+¿®¯ÿÒ7ð·×*x΃ço×ý„l!µž¿/+BG+mŽ{—émâÇ‘Öh ù|·Ž±Í¯”_1Õÿ€ÐùÏ£=:`LBപѨz ¸‰zsЗÙÙàVæœy Jàù<¯ºç3NDZ¯ázã§Öî¢ó;}ŠÎP„òÛa¾Ó€³ðÊoÞkbÜEz–énÉ`+‡]’‰´4=Ñ Îë2rݵðÓ›úg´ý9$îp`šÒ8!šŸƒHM¤Ä~î#k‚sù0]M$®ŒÏø©µýÂ>€¿¨÷™ŒO3¨?þ.çebù8•¹|M:ž‚ÎO<ò®2Œ¨"t›ÌópmáíO›ûɳ:¼` DSHΪ>±ýùÒoY#…O¶¿Kêšýâ!R·ˆ´æBJÚ©Û/$=“¯¼¬x!MV È 7<ù€!‡iÎ êpß ÷+Füj¸øU­ÚA—àæâ†AV¿/iÉ WÅíâŽÀÑûz?ê›oá—Ò]ßt–àäøy9."àÓ»s «ë9Z?¦/F˜8ÿG¦ ôo_ ý’ÁƒšBB77ïHì¯=H¿îméKZÛÄÀspß|ž—ж)ÁœPN7ßÕIiˆD„àžûnóßÇ}g¯wßé¤!‚y^ÞæÞšà|ŠÄï‚|~«ßáƒö~¯ŸýlŽðwíi²¿=±`BÞÒéo28b¿SI¦È“çÅÔbJÃY³E±á&òÁPÞ <énÆù”, ¶ö³Éþõ-¸Ÿ6ýÈoÓ~9)tÔ|¥£“ý×çÛeááFÇÛU½²+/„ºÆégÄùÕ™,f°Ÿ ÕÄt'ËIÌf+o¿.eâMürhob8•ª{05dÈûyö‰òRÄ|óƒ)ÎØÌÖÛý.¤×û[}*A;Ù¿°Ýµy¥1¿Ë@гFφˆŽ ›Æ*j»oñåÎDGŽ_¶Îü|¯ó²x;Yi [Õ\¿ÿu î×ýsF²„J~ÿØH×Wд—GûÖ‡ôaóÞKYE0óâ'ßùN|>W}Pj‘Kû¬ÆoÚo‡ç÷<(o×<ã Gj=øÎM–ðO·¯»CO¡­„rÕwµÆ.ä³—ˆ’]É›Ãï  º”ÎáözDç ªWysšÕ×Z¿VáQЧ?®óEëëö‘¯áà^åEjwŸÑz¿)[_œþ&VíŽìùèú´×ÀiGä :‡Xï-œ½“¡ˆ̼[¥1C=^sª4 A°…ÿàh3ˆz³MólpoŸ_|L]D¹¼;Ž Qlн¡Ñ0átoš÷Xq ™Ý~0¼³¨|s1iU+:™œ¶^‡矌 t_‹XnÉ£ Hà‹VýìTî]¦ û¸Uæ¤ý¬üqUšíM쟘õ­ôîBð?}l„ÍÙæÈƒ¥Ïàþ÷zCÚx‚5ópÃÁ“ÛRlÖ;Ùc“À³¡ÃD«w²OK•$²¥"$‹Ë‘Po!¸¹ª…g¹õÀˆ/.C¢eõÝ?Ýèà—¥Q@‡¶9KÐáÌá6 CHÉ­éAëýA|th Ššd{Ð~›ìèxIvÊÐ!P2[;ð3”J# xÿt’íÅ[¡CÛ»Ù/pï„ïýê÷ì –ßã:°:P €Üö6¡Cx-á"ï–Ø>x/ƒ4kƒ¢èÐåóvñTˆ Ü_ÙÅØhVÿ;cwSh´¼Ýu—­· jÆÂ>B‡V·Úž_žgßÃM³5]‡3Ã%çTq¾‡Tüx‚Ó¸hÍ'Yb‡)u[‡ÇÔÕ}˜Õ~É _]康ЃëСBºã ùÛ®‚-cØ’´:œÛýzC|­þm"[WSˆñ`}¼b彡C[¡CÒÛ”MUÜ®+ykô¹5Šç‰ÇÕqT(ñ :”–2n†Í'uÐ!€ è°k$ðæ¥J; C“k½ç8•% ¾áíêtóh®6³UÛ CX–ªI¡C7(ü’~òPÌÜd²þüø@”W¡¼Ë®:“uÐ!1/Îð6èB9³=-ˬ@‡àGèpÁ-¦Û“ÌbstÑgËÈå9ûNG*ÐáWÿp8%2ŠçØ:€s•‚úöpý~µßy~„»Öu!ÛLsG÷&÷j CãS¦ë C1h!“»uèÐHÂ’þÞ^=&Lö¯¤¸s?ï—|¡upc\GOÐá8ïk¯LfxF÷ÏÚ¿3-uÒÒøR® Ó-1ÄoÿÈ×D¥ðÕ€~Óz‚—n‚Éïz~¶›Áù2ta©ÜpVÈA:4½û'èPH3ûù‘Uñ¾SõW,2¨@‡CãZè(KÝ€€ú€:,µ«ž ó¨8“÷À›HAf²_†oºÙ3­Þö„ðžÐ¡cÌÙµn¢»yN˜¸$Þ¢›Þ!]Tm±¤¸VÙïø½ª? 2õ1“K$`Ùæ˜ØnŸ¿Ù<ú"[;a¼Ù© ~ÔëªK5“ËN;“yb¶]§ò1ßcìö‘ˆ~±n¾žƒ/WõÝšRù-[º´ØRqR¨@‡Ã¨8³|Z¿ætT¯wA‡š¼Ý–ÄãE¾vtŠ`¾L'ͱFt8•çH’úK£}¡Cq&âÞð!ED7™Î°Ä6’‡L‡Ýš_ëã€\XÖ¡ÃÕ×ç%äòN>Q|žû-*̯Åû=޵ޮ«2£èÛÏùs C÷K¯zTý߸`×FO­C‡j¡CSà×r2ÅßY‡ào¯³=-C‡´Þ §­—Á ­TÃÕ$ÂW³pXgV²ƒ–É~gBPv‡HŠŒtX3&ŸŸ€d«ï7ªgßBHJÖ)ëDûÇt ª>qïC„Ù¨@‡ž ÃÛt¿Å# $\[KÜÏÓÜ>‘Ð!ûÙy^‡Wãú3"ó –||ð^mƒ\pÜ úŽdë«•–ùw#{¦uèÀtXöU*¶jUÕOÐ!“¬M0@RìN{ÙÚÝûÅ'Hj¡Ã©R}þd¡õSܸj)¿YoêßH^÷nö;_tøÑÍñ|s$mtxŸl®—–Oi{Å‹[¡Ch›Yl\€˜ÃkuÐ!€½ Cèpüûöü•Víî»\ ~gþs:4¾l÷~S΂3¹SއÍyäèÐím/*j‚#o7”P†û,‡Nñ4þ ÙÆûÜÏkÇõ9ç2t8½ËÇ÷ºõû_Š~\¦ ]0ÿö^Áñ±÷¡×ÅÃÁArðý,F¸®pknæ æýf=°Ø: ¹ìùU²Çi½E3Pl~-ùÉnl:L$~Uw†fÕ‰ÙBFcµÐ!€'èÀtè†>Z‹,æä—õ1\e¹¤T(|í2tà èPá9´ôLǬC‡6 Ã W¼tè]•rÆ·&t³f­;…þã¨)fÓª_óɺA¸Êö‹ÖêsÐáfU†D²X;†+öPËÇ«6 ÃY°Ÿì¯C‡’º]¿¾*MÄ[‡l@‡Îè®ø·énf$¸50òy(^uïo¼ûün™ 2´#L”ìe¹W¯Ó™ŸY¨@‡wv£X~~"ô? hÿ8 ò:ð!ÕÀ‘£h‚³ ˜—í¬ [^Éús ùßžG­æªò²ç{H-¼%dè“.´Óì̃.:ìü•Ÿ)X˜ØN¥ÝÁ³n 8âSÄtᘬV}´Z¯1†8½ØÝ²’8%^F[s«!üÖÅ_ºV‚#Â÷ë”LE°'ÕŸ•¶[XÑçÛ ÑÚŽi˘ÐYx-=Ãn&àÏGÊgç̽õ |¨º®WKüT«Ùë¸<«ÿN-hØ=^ÆœêPN¾ïH6ž# 6« ™@DÈnîMÝ¢Þ!%¾ßµLðûÿÕ‚Gë¨8+ÎÒy¤OsUÝ"U&Ÿí)~[Õ÷ÕíáWáemôþ5^q?n|»í¸ýÏ3Íëˆ<-OðxGfvCKè¹^Xu¿áäÃ{„Q½>‘8¶ÿ×tâž¹CŽ` ƒÃØ)Bép™›z2NøªáÞ§xóÁB¸’AÔŒÏ$+$GÕ`…XpH«îp "»5"Ð cÚz³—Çôwß =U¡Ü«„Ÿ_>)¢/¶ë5Uã`è›ë$S°äf ÊšeÿʸßõúMcEÏs?÷®ðîß¶'\ŒéêÉ~køiäàïç»mÕ(ÖqN®óG\Ú²pÌÁP¨ÆnÀ_•<öóu@"Ù ×:¶y_ÇàÝô ïom¼û [.ÀRïaªÕ vì88³õ1ï(ïªkµº¢õ!“]œCsö«äç¡ÁÃþ]ˆV>Þ¶ Yž œ¾úþ•mŽÃA}L§îa¾uI…fo&z‰Kr7(ìá;MðŒ%ø|6¡&p¯}ð'Y`œNi'¥ê´nñÍ~ki=(êav;.A^Ô'U´ ½46ÔM$Žæž6NÙLÞ‚Êl^âˆöŽT-(ÑÍš²hKú$\ž´X°òfò†›óð;ûufOÝ„@‚V=DÆóÏzHy`âã/XßtÈ¿®ó¦ƒËþY>NfÀ€§ Þdz»;Jðæü°®"ƒ¯>J˜ª"NŒª?ì„Df÷YmÉ4VV„æ‡ ž?ÿ*Lˆì~cö‡‰ãlÆO±5%_¬%én`‹ÿ'%àû>8.Ó]ºÆBí!oï|vµ2ñKâ!=*ü—õ ]‡ËiÌá„:|Ìr¼¸uô>;£]º`£uü}&=¨†#O¬Æ·¨ûù‘ÌTDxRŸO% úW?¿~Ùèbå¡å£ûA‚×ìË;;{³ü1 – øÕx'îM@]VcMɰa«l†¤5ŸS‘˜ÂI›/Sü„ƒØž#Ö·ûü,Ï#ð¶ëkyµ€Õ:ú¡²*,ºK íw?¾RßíÑé1ÔóÌO›ò.N¼Í„ùÄèá4·óáC æ)•ØØ'°<õ è…´J²4Á_ýIÝaÿê¹/¡Ãmú$*ÂðçÛ»qùÓa¿§±<ôŒbÝçscÏñQÊä‚[ðcé«lƒüt ŽØW^.ÐîÊëúŸµÝ.$aÿ\p<œƒºè`Õ¥Ðz“ùupVõ¿r€4y¾]MüHn·L,z4Ž.ëu“gù N[`@ ~»]oÞ¬¶f5(þ]÷ó“ñ€¿ç™"Ç-røWú}€Ýs8ˆÝÕ!½yYÎÕp¨b÷È!.“ÌŠ‚hvwשՕ ŽîB80§1µ¿áDÚ„<‡#ç»;ÕØÁnWÅñOÛ÷P ¸ÑË”êƒáíÚx¿y†`?Vÿ¶Ô2`¯²<§CiãB†ï£;¼£ß×ÇKÈobB‚^0Ëî×sg—"¯^íïó¤q‚bóçÒñŽÞ_–†)‹†Î¤Æ'êߟï{Ùä‹çé­Õ*B„8’„ïz.E•„c$þN Ç(r¸±jƒ2š×e8£pq\Ýc%YÀ,{¥w>ˆ÷VªŽV> €ó)øÜ¦lcêYqùÍE4|:Û³`jÍ=pÜ ¾_œs"Ô‘2UY ¦ ¤'G°',¤Óà_Jg£%.èýº‘é ¡Xrazä¢å_â]xs OÙôãõ”…Fl®;9!99þîÏ!†~¼ü þWþ8ì ⎑Ñütç-,j9~y\´™hŸo—ÇÛ{?±’‹çM( z Ä—»Ÿ•rð/êswaŒ÷ õÃÖ^°"¸%›ë-pgõñk¨z`ÈÞÎR|8n¾³ë#ÄÑgÂoÛ×Hš8°O7s!‘(€v¾Ï¨n‹' {›¸Ooá2Ï'- ìªé¡y™ÿ|çÝá=_ø+òÄ€uª"^¸ Žòîj½{ˆ—ïjÿ«iá×¥¼Ý¼›1ÎÖrÍ¡J€1êѦÁ‚Æ1%€Õª žF;У—å£RË!L“g_—~~ñÞEBÚÝ/‡aðToûϚݳS¸fþjBDHugêóÎ&kÎ(ǘ tÜíò¯ÿ®CûO›~ã­yƒÊG8é"q€‚ 2]•z*ˆ¼“ÞA$ªþ°ã%yqе'#EwSDoŠó¬/4h ÍEºÀ›šº±ÞCˆË·Õø”õ# # °6ï({v'ü„_[ÿ¾÷Úš£Ê9… Mã´TPéÎe z˶aŽ(çÕïô<<X®Þ¼ ¡üÌ|7L€ämWläÕ_•@eOèÐ&›À#t¸Ò ê8Ì»î,òê!E(„þ:œ{f¥ëœ>Ý :ä¹Éö`}Ç+ ^ùÙº.Ò‡FèpbgÊ¥6¿œ^ë€ñ–È;¯¼ý5@î6 Ãž?{‘@ÌWÕœ1‚b £\;[ã»tšìV Chå]$öl@‡17GjlßOŸ) ¦š¾:œÕ$&ÙQÕḺڼo‚y¦Ø§‡nf Ùš GèÐ`³ŸÙ:IÔ0™ÄrÍv3±6ýÔrž CèóªFê§V¡Y¬Áy»X£?WkF½:4’Í5}„mýë÷KÂQõÀFt$ýþEСªm&°ö…T CÛjOÐ!€ tH³Jôç@‡7öÃ’L>:w÷OÞx‚)l>_˜w®C‡‚ÞàW ªëxâ‡OÐa&×!ˆ7-,rßü:äèý‹_}ÌôÔ:txíØС:àj:#­C‡iÞmud~~ÖÚ‡Òö}[¨ k¾Dt8Šš;5A!Ó笲rLöƒ³QØ€@<ÿXUe°:4Ã{Tu=‚¸ú¾Ð!oÒ'èéUßq2(ô–&n·/‘œé4£Tͽ/t`:ôu]7‹=Oì?¿–0Ý#­¡Ù¦i¥ÜÁk–Ä亪Ë%@ؽÞú÷{vµ*œÏ}å˜Û\êò΢º¶šñ2tèŒ6/Àë ÃÔ*|:ŽôwB‡ýX¯@‡Wfýù+C‡Îøû‚AOß¡Ðág«ê§ߊ®>3²Þn}vê;i&D±Âeô¨…ì°!#¦Æöî~ZšµÐ!ƒY´6 YÔ3ZRœGè¥'è@:Ìb@ 6ÆK»Ò¼hY: 0õŽ&týwF»‹¦_ö÷#Ý^UF÷…3ß…VºKŽèFè06;ï&vï»êüÏV5†ªƒàh! •2¹XÒCÐA&›ÉÉ1± ê„æðÅÏå0b-t–ûéù¼+køp¿Û_eëÿ&?ÏÞw˜4è¾™{?|Öû5Éê†~É¡Ãr‡³Êy¤RÐ̧X‡GìóÀ³GèP¤›mÛ‡wÊÁÐa¯ÔYztèØÙþ5A‡vB‡=³jSc{7I)-ò!Ö]RÔB‡SRÊÿvs.…s6c°mÐ!¼Sgf½ïz­N0b6}•Gè¦6e`º‡ùˆJüAt—g4†“ìï¯C‡Ã»^Ý4Ëã½££Û/þ1Ïü2t Ï‚mOСùyðË,GÙŒê C+ï¬÷ê(#mþÎK¡ÃÛ™U4B‡“À›%=²ý®î:¼2²|j´l>Ó» CPÞ°[¡C8MiœK›þlDçÏ6On ”ÌØ’v:œv3ãƒòsÏH\€³VOÐ!€'èÀtb>‘· :r½@·ò‰oªçY;Òq}Žb: ò\mË2Jù§lŽF`… RÀGÕf\JôAÐ!(ç™Î<"ŒŒâù„N¶_ÚJÌnÓ®ñ|Šk–u§›ÝuX¤†ÈÞ‰ü8Æ÷üPÿÇÿõþ2ÙTž7‰vuœ²Í‰ãÏOàNš ×\¿Á0bÐa›Ï‹@Å™À •of¦@|ÃÃ*"Í¢(ÈÆÁÚH°™fAôY0&…„«*Ÿ(–Î%yežÌÎ-I¤Ü¦3°LUÄvG—åÄùój"?î¬Z9K¾ß¶^õ©Ü™àÀ)ÅÙ»d&DêwA¬U³¶h^’í£¬eÿÛO<¨Äös0ezJë<þl@>~~Õ8KzxZPåý«•¸Õ1_MTk<‘Û”=5׿š÷€’iPT5ˆ*_.?ô¹½c™â$ÿÿ\¦½­m&(oÌ{¬8mÔËÈ:aË0„ä˜ÁýÝ ­Ÿh÷ ÚUgäÞêⲕɩÕÿV-ìü”CŠå’ÝM »øNö¾Ìš¬Š²ÁZ —, Qõ šÅ,€ fë7 i(T‚[c6'`åªà²–ïožü’Ùêy&§s¤RÉVÊùeFiT‹Èó{1(•„fð¹jòS¢S"•"¡yÖTä2 Èùòv¿Ð:»eXHeDyÕiR3rñ*âhmˆµQ3aÞFß$hpHä¾Ñ”Bг=#k ¬ûIŒ–DÖ¨ ¸¾Ã©ÀÕŽK¾š‰tí;ˆ’¯“zèÂF*Ð?ÜÁÂBàˆdUGÓÊö¤~Lå—wî¬ &ïæËÇÕdÝs^^¥žî uª°5¯0)1µ»â‹¦„Ñö„}϶ 6øÁ-É‹m!ž¾ƒÈpm ÌÚï¤2"(ɳ9FXkd]-À  Z"&4îûU*møaDñ¬"#,ù9æ„5V}¼Zýþ@دâ_%²õœ±Kˆ±€¯ærÀDï÷w,g ö€±Vtg3ÞQåL|ká,“C6ªþÔÇ  Uá’ë±N&÷‚ÁYˆ" —‚RxÈG¥B™iˆ#!³¡Œ˜é¼Ø˜ƒÜ0FòžÃRªX=žƒ'E|îp riô ÉÉ[|ââYØ9…˜ß}aE­%çU}‰èì„%DܾŸrä Yã¬Á!æš/‡1û7T±0Ƹçu†óN W)Z쎑ò¥qÜiT–W R>Õ°œ¿yF%@Ø®_ÓÀÑ…ÝJ¾¹¬Rp])°F-pòaC ”TC@ø8b6uUH1ˆ’`#Œ²7¼8ºªs‰${n™{^*ŒK±c ªÆ?‚/ Êsœ ¦›÷E&›å’£²ê <¢Ûé4YØ”8!•|Ò¡œð0¾,Àg﫦6üRñË·^ˆŽúýª÷r»-3 £ÖÇ|Òµ9˜&ø›zcæ á$ˆ­ÍØR°ÈöPáOŽer°e[ Òµw{Bቺ>æ¼x?Ü”]BN€<Î$¶¤KbL#[‰ä\›`rkŒ¾€“7e“æyhLÕÿ—ȵ‘Q¬2®ž ›¶`±â Ô\ôKGÕØˆ (PÚöä¬ZãZIL>¾2-´Z ó‘ÄŒPìÅIæ¶„B’¯)#×çz¦µ¤' ¶óɬ… nŽWU’Ç}ˆPf„#º(Øu L^1ø!D²·„ß.CëŸc¶ª¸’½×r"öÒ+Ð8Îý‘&0ŒÇsàÀö®=Ê|†n2̶0%‡81SÜ[$âS|â΢UÄ \±7ÝpŽ·²úCÖb"RûAhÅ> õ): Ó%Ù•“}w¸ (õ¶‰ÏcpRÙ´‹Ã EMúCP´lWÜ`&¥‚¸~¯x±¦P‚Ái%âJ.›ï+ìïOôV)Tž@jX J…—L§>_µ0f8iJánBV()¿åÜUŸ ³ï .¼#,Ã5ÈL‡Ð…®b[ è Aðy¯­3DÂþ©9HýÝqU—êê >ÕàÇÆ¹SXA\Ÿ_¦,¢þ9—ÖŸ`¨#þ ½iïü.í5Øðy¸„‰¨”s&÷ˆR,΀’ÏÜzå!õh «PÏíç§Q†”òá;ß@3›¹*’«÷w4Ù0ké$ñ3ôæú¡PÕ³ußKÐR ÄÒþ]ÌŽUëÛB¸2AåyðV¥Êˆüá½víñbYr%òZ=èýßÁ«›w+¼ƒešïßÊgz{€3h¡€ŠŠó·rð ƒ)cA*SŽó<ý 'áê&‚üªj³[5yèáÔ"1`÷´ïÉÈG¢“Rõïùäa€4Ÿ-³;©–ÎQ)ùûüßœ:Œ ³÷ \éM<™¤ˆC àwßE©)ŸˆAçúJá«{­¬ H%yìÉ€‹}ä…ú8Œ“UÜx=´él}ÁÃ4¹ƒ)‘Û7ýs n­#W\ò‹?±p|¼é×±Á˜G¹µ¢HãSß…HJêƒdFÞ] WÏðüO6Aâ7ŸQ«25\¹PxÎ}fÊ í>ŒµÄl/A©˜Ê*¤À/Å'¥—C­ÆjŽpÌgj9¤!ä£'ôJRè¯TôA„ù½t¢ ¡Ç]ax$a5 ¸ýõžè²™íï“®\yžƒTêu€eÛ`KùÎÁ”‚ÈÅ òQ²Š› `ØÝ[°Zæ7-F49Ñ7D"!Y€oȰ"‡VCþ`HGP£™O1GKIœGYEÉÝçYd0¥Â½x2)I@Ú|¿+Ç î¾:hu¬F>ø-ç`µ°Á UY“æ}!¹Ò¸Øç›;íV½Éô"$* •Ý®¿Y–â"¼îÀ8!œõA‰ÅÙTך”¢Ž$ÍÖ]W–àa-WÄÞx î8ûYš$‘äñG¬ƒ/ù9»ÁSÇ@³Õµ§h¾v<³$‘)’Å-ˆÒ}´ÈÕ¯…L· 'Æ @®YÞ$÷Ãâ”™‹ £ÝB=›3ºòqÏ\ãœÜ~§xZP Hõ~žRÞµ›}ÂÃCSÙ &ž« EìœÂüjê­‚Ø+ì w\Çœf~¼ÇÚõ©ËÖÊ%-#q%L‚ŒšW ¸„W„ N¥&rXEC0¨>ÏÜ&!²…_ÑY»—Ï%Q,PÊIÉ~¹²£<ŸJ /·©àwØ9’5ž"•‹w'“B@9%Óy#ÿ2]ä°Ô¹¿†iH‚ ªºŽ)»é+J¥{n1ç¨b¶8¯³¥QÈάtÁåÓÜá0JsΙ xɽ?´N³¿ÞÞ€¶ð&òv3õyt*ÏÕ²'¥{¿Ðõ†5ð늜¨ ~³Î•÷hâd‡°¥uO㪾Kð€ƒF‹cÁhùýV"AþND¶GÆî„JHtW_ ±Åúºêÿþïÿûÿj×í=ÇÚ®C‡Œ:C: Òlñ‰“ \”Œª5¢Áæ†H ,D °D"R¯À¡#0y‡&±àñ%x‹\ÀOˆ>‹df!Í•£¿P@—“°¥qA,>A‡ú4¾Pât[åy 1½…‚czޏ”8ðu€ÌÁ‡Ç‚‰+`bò—–èƒ IDAT¸¦êów;ËTC![OÐ!´y¥”p©²Z¶ ¯4z: WFòÙ^>s=X-A/Tà€§Vr¶¡Ãá'ÊIU¦*Æ4]B#[pç8 Û’³¾çGÙâ­C‡K[€À6'-GÆçÊÅÙ(à!Syµ— ÎA-5¿H/C‡_­:5 •ÚOpNåYÀC!Lôó.êF©9(”µ1üÜŽÑÞ#g™ù~­á¡ÃÚä®5GÄÖËqÿÖÀ\ qÆn7¾Ý; Z«F_¬"€'Ñi´µlÍ'÷¤V±8¦s9»q ¶„b&8» Cré ]KÒõ.Z²ŸŽ¤Å¥%+,à×Tó°k€Ê:tx? Ð’(£(YKðÃ`-¯ ‰£Æ…ã³ :4zCpjý~¡_r&ªzDf²ucÛgH‚êyy„€ˆS€$vB‡1î 'Õr2t8K8ˆkÉc–¥—Þ56 ¹â°Ç)}t¨ÑìgŽ<»³ ´Ödµå“ðÇ) =³ uëüÀíÐøç=O›k5B‡ 82€gòÛ*˜lkS·JŽeè0 ªÉ!Ñ'0¦‰Æ»¨0áSÜt85gr˜F(%Ê”<ÖÎ÷Ø Gà™Ý Ë2t¸Õæªù˜+nSÿÏ£8RABgëS†{nµt¦å’J)C‡«ÞxµpÄí.Vza‘Ún§jÀLGfÀ›‹Ë!YÛ—íÁšÃFHŸµK¸&èÐ Fàh™˜æPâÎ ’c„©Œ…<‡ˆ h ™½ ÜÉ/)8Š &Ⱦ/4DP\}ÐGøhΓwÅ{=B‡õNúfz­ßâˆo¯%h„¥KB)äÿ¦o#8 ‡ûwKKæ2¸vX:H.~\Ù‡s˜ )˜¬ ¹t‰ûêÞx÷ ŽòNÐeètWHþ :œ}1 s9±çƒÌÿ›W¦^ˆ³Ø@”w-[tZ}þåÎÀqëùà·o r?_ˆD¨¹Xòêî¤@oCÍ;[ùv4«ÁÌÁ)Ùs‹yB±Ã=¯"ñèp§Þà-éö¿w’ûÁáuΈ,˜µËFÑpr 8©Ð1B a®_Ch¿øùû! e­‹Ÿ_âk\:ܹçÖtž„ŒÅôyr“ƒÿëÐápAª X†Ÿt·_ÌC§þVèÐt­§îv ¸KD%{Ó&HÔnûÓOP åI‹óò ¾x=Ó*Lû»{¾Ø’«bà'Í¿Oº2R&È CX»DæC¾3‡MÒàò‚}l£CëС©xàú u1¿^ƒë¼lT™$(£¬P|÷Ê`@1ñtØøý&.·K(BÎ ·¥T=»Gëô|â‹;ÄÏâö‹!+à$7«?7Àƒ¯^z-€¸Ý.êaž"+Сϥ å„¿©O^ªB‡MñE‚yÜ×Å ¼éSq5â¸TèW†WC¼ÒìCHX!Ì/ •ܹ¤èݹ+†z^~+U¥ x1ñúèúü ¥'HùB'‘†·QÌò*Út¦üˆš‹žˆ­)~¡äïŸÈH¨tÎúH™ây–Z ¡’Ik 2cº'ñˆdÞQ‘CDyÇO:X+Úßã¢+ñç r@fh9)_'&:R¶Ž3Á„ÕëÀE¸„pz*¨/æ™øc(¹_†ï¿huJyƒA‡w ô}ö¸9î ®BPGõþ–+1`ÂM{¹$æ8gß £°sè[äl¤©†…½‚ÀòÐòÂJ¦ÝÀ•â{®&.¥–*Òü¾„á}$Q^¤ÅpH’]*À6ë«9ÏC,(CoÚR ø‰š8¬–”ë{Šçà‘]Ð¥{¢t¹ÍŠ@ËsàÑÅù$z]¬C‡æ:8m ä…à:Ï‚6Ïèjò¼TȆµÁÖ9a¹.-C‡À3 \r-®™Ž„>$¨8j“Xõuðêvÿ¾ nh¾°Q0XèP„5 46Ð*]Ú‡«9¨¼˜{xBi5Ç4Ÿ@™.à …nå´ýó·] m­z>~¿ÓqÚâÑÉõS:|ZÇ¥‹H`ÀÜ®€-ë-<%ŸÃ_˃·Z-ô§ÿ/DîwÁ­šÜœf«ðùÍ®T¤M!e7õL{ͮɔV±}0òS´´f½°N¤|ê@ 7@QžÛFŽ{^>¼ëÈ{ ´XgÏv‹mpyLÄÖø8yέÒÞ -Àš+v0ŽR´I `X>é„5»&J1©JÊdáîÎDëù·¡Á’,i6ÌóèJ¡ƒíô2Ì æ z2®¦àÞq@~_È0ÛÏíò« ¡³=œûÏ`ÛÍ]#‰=¡à:{R*.]ËïLÞ˜D+¾GX»t0\mÄl‡~DuÞÍΗœç ä†\¸j´î¸~ZÍx(kÓHI—±ãpK«“­ ¿¾•Î,¤9¤­<`¥,X"ÆxBÎïXºÖ” „·1˜ã"_]Ò ‰"Q«ç1Œ P$6ЗìgG°Ã,EaÌÐÈúsüÍ™¢ÃlæÊËÐá†iö‘2YãÝà"©N¨X,¥ÂöGè’4‹1È t¸5oe²Hs461€šÌàçÆeè°Ìš$y§Bد‹ê¼çCTé'è0MS5S÷ÈÒj‚@>¢qZ㢮t¯Ñ*‚Ë®‡ ”˜ù}ˆ´ ká‚]‹!üˆMÖû¬£¡ YY‡E3ýg½r¡hûÅd3ç"S¿~Þ,˲0MIÍy¬žÿ5÷“¦ðånBì„§’OÐaê sY6—Üp‚”6 CÙ׳‰EAÌÿy`%PrѺñ¯Ð¦_>2ýI‡…}Ôö;þéÊÄ3èÚ&´ž‚_ˆxì†ã ¹þ>+îõAæð>Ÿ† KºÑoh¤DÍ–H÷(¢L’¢zF‰û%æ',ÜÄÂqénà:”WK¤'õÓ •òf-¾ÕÅÉ›¢%<µf³® hÊsœXš0äÌŸîÓäÅ ‚(åâ=Z¶þÎúŠÛ¥ |±¸OS†­Þ ¬zø=X:¤C$Jõ .£ãâW¸Œ5$wcPIŠThö[®V^ÉÕIÁÏøþã?RösÔëíÂ`M}È'›_À-ÜÌpwž} ¾ÖËFVÄŒ *ÌZU.½Úüá—-žW…iAuqoVØ(† S•ŽV ΟÁ+lk»cã…CùåGˆ½þ6q¦¯b Ç ‰•±O£#¾|?È`P´bŸÞ&h<¯[Ã$0ÏR´NªàBÀ˜’9p‹Öa§Íc1ÆÓv³†]×ÁO‡ÛE€5¦itÒ9 "Cã:¯zÿâq¶CœkA4Á„¾:ög@gzƒV»ð9¬Þ ‘A[/t’ÎÉ0¢åãŒÂñ|gc<§°îgÏ׃ÆÈ l’ïÁL…Nr{æ`¹]&:Ú 9K¯iëðÙÏÔë±ØÞ&ºe,·Ðq«mοš_ðAûHö/H`+ÞYËÇcT@cS˜ Æ'YŒŽµIˆXórßF€*x¸Š°s¼D»öop$>mè› ˜“D YsØóÀo¶†ˆ‚Å ¦€!ÌèmÞ§Š‹ïHÆØÐb Åàú×)Ž~icxíAܸ…"€•ÄP}FÂV²|ìG4RÀ­—[ôëV C}zÐÕOSlÑ4¾ÇKŒLøyò6°3Vü‘qÝ  ºàm |{6kÃÖÇPŒZ”‚߯º8<*t›éòÐäÅÉK/ ð_ýOÿ .î/!°,xžÏñ8<Ç’ÿ²,Ÿÿ?ÏqxR(€Õið<#Ÿã9›º†ÿàç!„Û«—¤‰~_¤ž¼wçW&Þ7ÇN/Dk» >$©~`!Ù®ÞGm0…¹YŽ¿î‚+ì dü†®‰0Lr¯Çݽâ¬ô©£ÝÜ^5)XZg"£µ¶\×êÌFòt{1MX´™øUïèÈÒ±®y nXÈÞÙíÝ„Q„1bˆ“)p£A"ˆ"QLþ†ÿ?B…ä}A„ ކ8.Åÿü_ÿKüòö'¢ëì/H¸ŸÐžþ]'D{ÍòÙÚ±…mŽÓ6M%»Ùfà¤=Ž1íÔÛ}š‘q3±°?×QP×uÆÓGµÞÝ;Øß-ÇùŠÖÌØ¾ÁW:g‚?9XéóË^gÑï8rÇy;E¨ÐÐ5†Y•×(ÁÍàcIDÇkÞ_Cf¡»õwO¼Ïàï6ÈøÃ °S¶Sc^A',ôwÿÔÇÖ{c!C'˜ëD±ðW¤àCh­?€NÝ&ÈüúÀ7!ˆ„p„€_£?1vô2ž}‹¶rðjú. ð¼ž"L«¾ÎøŽEg¿þžë `4¸‚T—F¶7Cœ6$ˆ©‰d®{ChOÀ+C‹Û;¢ûÜ.ûäµ$ü=˜š{(!›ò÷—_ Ÿ|ĄҰ–ŒÔ×uˆÆ÷S ýð[|É\ ”\Ħ¡Da#kÁôíýV”©à(2~JHtÌ ×5jëÎJouµ1d³jó#—…Ýw±vRœW`ó”å5³À;ȰÖ'9¿ m|ÜXŒf~ ”X¿†+ç Ç­ãf¿'da5VKi M¾7Ë:…_ÄHì 6™z=ã& ˜ø°SöÛÇ÷.:»9)ÒQÐi=]Ž]Õ€lÕÇ­ •>ý;ÿznàOo«ß9¾6Ð9zùØìv6Å_h‡YëikÕ&Mb#|§ ±µ:ÆüÝAȶ±F³Ï{h.-W´ DLÚ·X㈭äÆ<¢N³nºw=ìÊå;fŽï¡uvÿ090§#híÂ×ðÎGˆöihÂ깫áE„7Ï›ä xl©zæ£~‚õ-¢\ãwÈz1ö;h`7Íï¶'–Âaí¾Xý¾ù;_K šÍ:78µ!¼YÎÊ¡<´²Åz,¹¿³ûæyØ«©‚Õ,¨£ÖúÓîu›";xžÞºövà]ZNšs3qâ€ešuŠuB}¿ºÿwwêaÿý˺€›ãZ§y݆©B׬¥ßsíGOP—º?‚13½Ì((9É^2] } µ%ß\C\#Í(Fë›Öw“žçb[Z-¦ìzöæ–xÝÒÙËäfæp£ÔÇ:=C¾ Ç`šŠK°‹ïì÷8lmG/ZS¬¹`ÍÅkrh­t¦ë•3Õ"Ïx•º8®é"kpè)vºJº8fö1êã˜ØÁÃNC7.¾k Ü«ÚéÌ0`uih?-Ïo2­‰ÃƒîzH÷$h¬ 3vWÓu—OV‹•ï-»êó»Ê+V [%6=>?ûö-î3»”wdA^Ÿ[+M3]x{Ö=¶Õª ~¸³°³_|ÖzÛ«ë‚ßÎMl«;Xß${Æ yD«× =)⇑”aÝ£pîÙ8ÜtÁÙ r›Óh³ÏÞOÃÑ ·žooE9„ïòP‡:¬"ŽÔU†Õ|ÎIèá—ïojÜ€Ös\ÏÆ»šæSnŒvÔ™‰%»àäÂW±"øêóÝtÝ ±‘O§P<¶T¯gDG‡éü#ø­ãïòôÍéa3¦~Ÿa3:;StÑLkÈ“¥@ÊV'›Sð‡ïŸô¼Þõ9¤£Õ8EÚÀ„¹ù²‰ƒ>°Y#NžhBò_>íâⳇ7?HpoCÈeßcÂIèD!2$HÙÐñË\H£xK0Jêïÿþïµ§²ˆ¬Bјw¿BÛÿ¥p˜4 ª™á³÷?H›w K^Lâ3X@ŸÃD8šF4GÈ’ó²Jñ‰maMùãI<~ÿâV=IiÈÛØ eÕÖeÜü¿×Pß2@wª-ôÛGkAg¯”M!È"Óþ®k» /p¿A&=€òvðOõJ)tö¼@鯸„Cý'ÜäÊßd,hyëéÉÈÀÚz=Àaß~†rðÃÂïÿ: ð¡¡ËÁï¿Ùøñg¢Á¯©´"*§Õ8mw ôú;¥&cXÌj Ó¤ƒÙ+;7@?êáOÑ ¢*±É0þ ]ÿtÉálwì½b¼Ü·l)¯Óbúû'´ü †'ÂN§GÖž® "ûÜL‚%¼ÀïÖ'»­³Ôwõã/8æQò²DMÀÝBˆðOùJ¢˜#>žó¦"‚vsrÕ1¦hémhSðñ·òF‚õ`u§úÎí  ~Š±Ë­ÐÅHñ!Û‹å;µRŒÓ_±¡ÿ³…5ÍyòüÑ)Äõ§Ý=Iôàù/åí,Ân[ƒe,>ßq!6tÔ5- ZÞ±‰öy¤bÜÚ)6”ª­·}„¾€7‘/Y`øïÿ÷ÿÿ׿ù¿_ӣÿþ/þ3üçÿñ ÝÒ`¨Í:ß{H!íkùbßâãŒo¬¤4lúõ MúS[íà»È=í°HgÚ~™Ó.Ò]ígÆ´\0FTÓÍ#ezï ”2»Ð5Æàú&ñFJëöÿ.¿z ýÔ„øf±¿÷À3Ø™›Ôà¥WèBÉ£îúë’Dá6ùåÅE#æëÉÑÊß«ºXr9þbÝà£zX2¾p—ø(n-[/´ß€4/½f²…í^A‘›u*tîîš7’C khÆ ,ûª¦iãY_o¡~ rþyêá-?'W÷&q ܺ-o°8Øx·©Ì¬#DèñP|¶h/ÑH ¼”7&Dó¡¯ïb°§¢u˃֞¯O2%eÏu´ëÀm½¼¸Òí!ï•}‰ÌïƒÊïŒsÝGëh èqÀ “•&Í@K“?L'(ŠÛ®'*Á¶°ž Mxs„µ±ÑF<™b+±B"ÕÇÑmî`f„²¡ƒÕ ø Q%JúÞêbWÝûCöåÊrq¬Ê87¿â­Fˆïç+ÖfHð+áBô„”è€ñ´E×ÁS³.øw‹×âN‡Ûˆ»C\® § 6[ïá§]hÃM„[Eì‘Ý\€:$¤æÆEr(ãoåÅ9¢š„åäÔÆZN¨ñeݾ…·ÊËbjÍ÷`ŠÍ¾ç=a7¥à[]ˆù]r[8âGl2îwÛF•‘Xäûµ~Ç/ê峇ýBÇ\§Žèbº/ ¾æO5ˆíÅñ?çÕŒ*Kc4û·s7½Äćo9@{¹¿x³Qo‹ãáìFów<ÜòØ9ÿе]ÚSœ(…ÿÒ·°sâAs·À±„„ƒ­F ¯|¤Ç«a=bÀ§ãø–@õ_†õGæWpÚð­¡SNªžº¿ãÝXu@ü”±×CG*b÷М@9ÌÄÒ'€1—ËF#lp«Ùöiz‰6}ò¬uLlkÊ÷)" R½€ ÷åêÇôn(lÖÛÍû8Æ^F¶_ï‹›fš¶õjÏœ Çhïg0‚bïÍO&´ŸHœÜ ÆØ®‰µL……f¿N —¶ Ñ.'Ìò<#;¼G¼±œÄËù@T#Fi–€Î;Órƒ{D›Ë¿ëüÚE¶ã]NœúͺÂÏê1¢óÜÛ—ùÏ2L¸Ð0R|ì}eì6c”ç “žFâ¶®}0¼†xmMh½ø¼Øž„x›à8fÿ*P 9ø4ô@óÏ úG ¼™±Ò“`Š5¡Ð¯Q€›Ó{—¡~ñý¹¥ØŸ‰s­¶u ôCð"”¾Öß&ó‘Ì5/I¥´÷z¤&v`!ÞTkïx+‘á¼À§éM¿`»]å”\ŒC¼éðø§x™w€6su®“;1OóïûAs¬O°k6þ)_í©Ši»š÷3û ÚÏ??ßæp÷È¢ÅúKbØùTаƒßf°€éÂ|Ç{À¦ôú¼MÃÌ}Np…K‡1Ò™.ÛWĦ\Ÿ§6®î wé.a‰qÜáH¨¿ŠãÀný©˜YØ Áo?M/õ’ l3o^åþjý†_ÔfÙüjºø0×10¿@Ð>þazÅc-H1ÁC6sp>¡õÓ»òl‡ÈŠa0EÂàéДIਗ਼Ä!]D:P!Æ3#7á…ôà‚º“"¨'Àæó‹ß]=ÐÊnJ^K7A{åïîÞ,OúMûÍÎëК,¼÷a‚,‘=öÈÁL ÷‘t –t –tøõº0ltL7’ã‡fRÉÍ]‘œÎÚÕ Úžž•þ|¿ÉÍB¹óÜ]qιìÞv1­±k°¯Cj"º+ć:éîqÃâÎ'E¢¤‰tøÞ.%h$À?“çNé^í¿×‘­.ÓH:ðH:4ÇË“VòQuÿ×d?èG0·ª •s-èúŸ`·Ìéx"éP¯Ì´W6ZM¤Ã®9›<-PhÿHθgØo‰¤CÃ\N°rfHØßH‡w.ÑCM¤C%Ò¡>—8y)é@‰tèÏ ,«jÒâÖ»%2 ©è wAj"ÞEä;hoòägj$æ¾-ØSðaõ9´âªìߟ: Aƒî_¾O2÷)¤CÐ÷%¨‰ƒÄÌŒêûF:tÜåßçIæBÒá-=.tä´|×­ßì éÀ“H‡wôbû¹žë¯÷y²^"úÑu½Þ¾ê¿Ú¹5‰§5QÓµÀr.™ÑÝó¤CpÌ’¬D:Ìh²Ž0oÓÝD:å UK:œ~ÍGs­ïƒÒëA™[†Ø®Á¹÷—UºNÇÕ}˜^ël«@V $è`Ž71´ªþø°/Éoþ¼ÀšTÆOÖ}iÐ)£Å¾€;.>çœ_áÌ  µY¬a¸ºmkÃ;£)ù¼É¿ne™áÝ ©i燙Ñ3M¤Cè„UbF2¹y$€¿®=‰t(0hȸžkI‡J¤Cx¿O¾žth»ŸªÁ÷¤ìK+ä|#x$ö¬¯DÿbÈXJÛ IDAT»ÿlñ-øŒÿlÒáÕ©A(ëùö˜‡,—×j}ºZ¬·ÓÂFI{B#éPŸñwÄ£w%Ò!Ä¿œÀžÑgŒ—û/·0ÎÓéð{½Â0C×9ÅÕÝê~õ<éМÔ'çI‡võNÐ* ýÏD·Ì–uÇåisó©¤C3ÒI‡wÙÝ“÷läct(–áÁ÷Ë»2*@º¬S55•’uϓԒ 3±ãSµ¤Ãø¾a¤làúþö»Ý¥E¤Cvh° Ù»àú¬D:P!zÂðEÏóZ¤Ãt¤`ä•}ÀYÒ!hí=´½X ¦BðwÚ™'ê:Çås:´_Öû[IA ™'N_ëñ‰°l4áeö©}¹Òû¸_$u˶~;ÉJ¤CãS½|ΓqR"h$Η“›{ÑËÉCù@Û·3Dšä¾Ù}é`_Õ`ø£šwZT]œXÍÉ™àjP<ß›òó."žÙÉBÒ!P@;ä’@UJ¤C¤Cø¡-Õ’€‘uo°¸ôîK¤C²âÍ“¸ªó¤CÐ×<Çà+ T3{é@…tà‘t8{/ún[y(ìnßÄÀæI‡éXJ:ÔÝúXî«ÑŸ±#ÍøT@{$L‹{§;38c¶8–ßVm`éÀʤCÒ!(®‡­€gòÉ9 ¤ÃßÇÆ#é‘ÈY±º¡7x$ÓjÞ_ûËé\d:s~«a {»d=ßH‡°Öú%£ëz³/ÂC¡/E»¼ÇBzŒQž$é´·ÀçÉoþÝî¹âìÜ›ª}—ó©ìÞÞK?`³E|1‘Þ+‘`(c¿‘Ezn$âÐÀVKÌP­§‘D.â!¢a½òtè‰Ï!å]|ÖfºxÅýH:¼»-ËrjçîM§PèzÝkŠÒaówS⿉3VšöI‡rkô,á Kº‰ÍؘÎü‹ò3Þ#éï’=š%x$ ¤Ãd±­#¨ca9a­wU=×°›BJû¤ÝÛVžä¢™1ªú©_3nó†Žñãýk h“Qª R½z;QG:ÔswéÀ«“%±|‡ÿ XoPú»YÒ!|ÜR¡¹ÄŽD±„ËÉêäÐUI‡–’@õ˜¿¾@*=¨Êåzsžt•ŸI‡°5)?¯­=’G˜TH‡jI‡S»ÞŸ}.éÐé}i$ÞÐ×Oþ>S§çðÈŤ.õ#ñíšH‡°Ë²ÈöiÄ“›ê~\Ò¡7cVö=YÓ0nŽYØp³D:¤Âð‘tÛBÜ´z«{“²_Ê4øBRÞø¤4F²¬‹.z$Þ•!•YKäк`Q…œJÿ‘t¨)e?ƒ¦¸yŽlžthvÏêcÒ z$ŽÍKü¬’X`žt(I‹íÆõ°g¹Ðò˜T|$ž^¾å¯Á‘'¦ÙH:´ìæÜ½z$BÞ I‡Ýßêma×c#ßH‡ m¡}ÜÂÕëÜo¤Ã”aàî":_Œ™crfI‡°&´D…½ájôÞ2Ò!€éð!¾…:%ö‡yôï(Ä ˆIó¤C¤ÃQzý,oûZG¬u^XH1O:9D½éð˜>p¸_Ô´l¤PÚ¤;@0n&Âhc•Û'÷óÌ.7ú6(Ê@y‰©Å@Ëz@Èl|øò1ÊwI½\ñ^UqPÓÕ’«Zgye@7?»T3b7ÊGë(Îj]Y&½ guAƒ‘Ln@‡S´s%žF‹ÉûR 1C ýy²8Éfß—ƒãŸ÷ËD©á’Q™ ´Ôâ=ÎW’Ø——WÁëaá´(ô©É¸Ä×é(äù Y_­cÀÏeŸžýt ðÁ4-lof„f쮡 Ú>wH…~d²—¨ˆÜ²qˆ¨[¶¸Bï¾o5M öþ\/Wö¯ýR´ç}§©OÐ’—ësÉ#òc‰õIÓƒ´pÓ¹nvjNzÎò–ãüp50t8-öv?}Y—)‘;Â-[Öó¹7 ¯NÒáfïô:?¶öÈ~ð õ*g=Tƒ*%ëàð?Xú½í…s›õ6é !I„Í7älÞœˆÐ²²tDW“ÌÌÚ[8ñLðL5¾¹Óž&3c˜Ê ùM_Ñ¡®U×ٚΛõ ææÛò™9KÃ:#r/wŠÏµÞã]‹È‡Ïµ4û„ü¾Žõ6ùü¦Gî¹ =ÿ~bh4Ûøš€4æçß0¼-Û]:½Àõ©>­ðs<¥jëCî÷š³9„s·˜Ø{6ßÝ 'Ôµ7V¾Ã Sï[(òOå3M˜k4"”í-D¬º¸'Ûj}×1iöÿî'䜸¤^¿—-ˆLá§L;!\wæ~MC¨?dŒQM¡@×WLôgHù7¦Cr °Eœ4™+ì} W$7)@z9Þ@Kú2ŠˆÌ¤¯×Žè‡,<ÇûÏïfD˜!-¤ v·^_ºöAôý»¦|2ËàjtCUÈ]Žm²wz=ä …N•fÆÃnŸ×¡vÚ*mä•}+;èbz³¼`^·±.0É}ÛsûK•Ï‹áªöybý†@"w.‰Š÷&·0Ìz×0êåÈËÀU°SO`àmý—ê~„"Ú|Ùï0ƒæ˜Žv—“ W«Æ U>wZ.Ûz])sõŸˆ|¶úzAóYµ:«ãú~5¡Õš#ÅÓBÞ™k§l¯¸·…¾¦òìŸÍ«Õî¢Vþ Çù²ò3óyWËÊZÂqA¾ê ˺gzUè:;%zB›öN)ö,º'ï;»‰¾›^ÃÍ-'HÅGå¸WôŠû3˜Ä؉"`\>O›ª÷F7Õ½i­nW¾Ž^·{êEPø!›|µ˜"œ,'^ó¤çlQ“»¥¡3C xè/ÆÅFÑdF¿Ôc}ôÂ×ÞœéøÊç#äDŸ ]ìµÑ*ü±”ªÆÒÞ}!ÌÇçaxæ¤ZÔ`‘ó²zÍÉM¾CôM˜,ƾ~œéäxÅYq²LoÑÍD^åcµ@âÜäv¡=s~Ä¿œ~úKÕWàŠÂÎ.û¹Nž$³éö¤")´åÁ‘õ©8„¯G…Þ_G}@²¿±·»zŒÝ5 »vý‰Ü‘Íõªoã§ä¹´69w~CÇVóQ2g¹¯”ÚEbFÏtp‹qHyƒø^JîŒ2CžS¨b¿öbx\á·ÑÚŒßòn Ü[v^]Få#JÛíâŒï¦¤=N¸X§Ø¹Ég »\gµ.j¼Uܦ'BVï”Êdý5YV›!-†{õñ!=|½åÝÖcL·qñ\±{c¦ˆ€WŸ‘ –Emkö}˜_ [ÀïÑðèÅç½wÀ@eó$tƒIT‹‘“­¬üLª§`m¤àÏú{hoˆ|l³DözfŒÍíBfì‹Ï ßÈ·ÒœI>†k§ïF«ÙÆ^eýç}¾†ç¯çöƒè/AüˆXZNâ6ýBWo´ 9æñQØZLTût]ø“·n![j´fs ’=¢O8Šø5_õ9£69&X!'û½~.s‚I"Tõ·#בn¡‹¨ÐÆ›m⣹(ôˤg‹‰ªo¨ÙÌhñM‚Ѧ]Åå9ìÀ8Ï“=L½ÜÿPÈÜiÆå=o†$3!úUš²p”O9óîê‰iŠNäüý±ŠiN2üEƒ±¦Õëç±:‚ª93ÕðûÕâüª¨Ϲ÷s¡‡çn&¾Ì@¯#7< vT¾7a¯,ÿt’@üaÜÛÅØ™ÖiŽ¡¾þ®'ƒ2®Ê:ÍrKÍä}vØr1çÖ~>àAù6FLu¯½šœ9­Ë 'åÕ(ð±Nú„î½Þ$[£ž`j ŠÂIʪNjNÇåý[oïkï<­+û4#rží,ñÇÍqY€ó…Ÿeâm£ò}ù  žwòÁ$òÚV+ÀÙ—Ç¥‚˜à}ûŸ5ûŠû¢û_ùe»·W+úßòˆ3£ ;§JËúví°¸GŒßœOQÃuHë…ö#äì%ÖF401ËØÛö.ÙÇÑCñiÇÇXøé /6é𡪯ŠÂÁZ'~A-¾K½ÜïÙW‹_³õBßzJ½»£×ë•-±þï/ ´ƒú=4׊xl¾æ‰—еµ>TÇ:®á>Æ3@£^·çH”[oTX׃<-ÿp«]øßòðb¸Z£ŒtA1ân–âΪž+ø/ÿ^?,È”QœÝ¦Nžã )îκ_Æj¾>÷™òDßx {[Ëuкßl×ÔŸ’ó¢÷kùÞÅy½Ë“Tc`Qc°59wõ⳺bÕ®ŒÓû•u¦åÕçÚ°ˆ¿1HBl2DÿÐŒ4!þFÈYà£fûŒ/ tÞ@r x­*p¯DCP8‚Ž|<—Æq9 Óz·â!@Ml.` ßwLŸªZ°,²o]šÅ^º~ÿðü±‡ÆMúáóG@gWw Ž÷áLFàMÜqÙù£–96Áÿúßü+ü³÷¬Ï»š ÙÔ¾ëyö­Sl©ï_ý{¯GsÝT®ãG,‡¿…×`asýõž%üËÿñ×›³W|ÊbÔò*¯1;@'nNpöú6¶·¤á4¿<Žò¯. /÷iì;Êþ‚äŠ{ I>À •`Ó)'&n>›8ü¡zÇ)½UKìo±¾רkVçòÒÉû9ûÚ†å/îÖ¿ñðáD‘Ýi #¨ÁËG´NÚÖ¦jè3À1Õ|V#VÆzüz£C·^ÞíHH[DÇ©CVžØÂÍpØÜ¹ß. ä„ÁtÀƒÞ ‘RcÐYS˜°Öâz,ÁíÝBÞ®÷Ýìø ûvAœ‘‚í”}ÏS!IÕ˜m¬Lбëï¸8ü¹Çæt‘±T÷Öƒ|PÖK×ÉŽ˜â,Frˆu—Ä–>ÇBŒÊ±”úµ\È^çi~ÿƒyg¦£»+Á—Ç%‘p jT´=øŠ„Ë».á-ýÝÎ-¸¥!¤øtïà§Ýz¢\¦hŸþjà§?5ÛÜSçï[D†ZÃÎÊÉÍ èð²Q¸Wn€Ý5 |ðz¤ÒaOë´éà+ZþGp‡OÇ’¡ fcµ& œ©"Z09åî&B´¼I'È”ÅòÎ ¢àå¶Ã”ThÞÓ þcMk>ÏNdYV)Ì€áÀ@ ØØ×ž6®“ ŸIo& Ë>ø@¦±é6ËYœø`™2nßG`óÎ~²¦Á5M¸7_!– h­h •kÖë§QŒ÷ÜË1Þd*€ièøoø.tQ†-ÔËçƒñ;vtr^”:Bf‘³{1:ÒjÏr øèûb}«¾¼Ó)¤÷íïþ;Š.Ã6^·øN(üáûtãöp( ³ïˆÌ¢ü¹}Ëù¾ÏsobwWûCÖ™  XÕ˜Em‡°¦ÍùÀ¸ŸÝZ->>󼓪û& ¦ð6Û 8Ù‚bàØ¼…åmbmûuö^ìMào?Ÿ@{·°¦ ÔöÒœ’àÈOq& I‡¿¤Cß…t­ŽŽÛn„ñuqåµ -jöÝð‘tI|$^ÞÎty–(f*&Ž6p9\  ¨#Ê9Ø<К#ï>ö0vJ¤C;)ÿÂ,‘¬D:ðH:ä$IžB:€0 ò·1Óožt`!écüzjB^P•yqWÖø´øyÒ!ÕPõ³„µ¤Cø¤WGÝ}#úS’8´úïMo·™3 G³nóBÌ\…2­2Õj$ÚáÓ;`˜A}°ùthš‹;pþyfT9—·xž'ÊtÖys÷Êû¯ ,6ÅP¨êE…z^R+Ôw6¼0 =viÔwDIÆ«ë:¦%@ß$¶ê9¤Ã^o5GéÐüR¬å5I‡­~ù\çI‡‘_=3o¦ÀÉè™Ò!€GÒám@ §°òпœ¨¤Cµ¤CÏ"²L„dܬ3gI‡-ùeàÆ*¤ÃMöö{’<‰tà‘t8ªzDÏ*ä@ö_ض½Lª6vžtøÕì>‚£õÀÜ_P[Ä—åtB:Lº UкõH:ðH:°tB‡Èó,é°—£Ê./Áæ6^…tfÔY‰thøù3·ëïñ7Òá•ÏÙí¼«ägR1š6tøìrw)Ê.|©óO6<ûó#é@#éÐèW}sëïž’ºtÙ6¾„t±NÀÝÖÚú#éP§ßUöØîÔë‚L¯oÇϹ…Í«#Þ^½®¾XD:|JÇÚŠ»]3ÂíéÐë¯\ÚUùúêLV~Êlöê»ØÎ’§/ïD&·¾ë}ºðê’,­çI‡Á\uåöñQi~ cë½ ËãÞz=¶ é@-éе Q’ɾ̓Ô’ænÂNœÕ’<’i¨ˆ…4·¯DÆùšn—-÷lJ0’~Þ风tØø°æ:xb¹ò”™+×D:€cjbÔ |½„t˜ÞWm·¼AtÞ7Ò!€GÒá©5YH:ðH:z“Ø“ÉDuS=§o¤C--ËÞ•u žúÙ°^‡Í’cªŸãÙLœQÕGßH‡^da0“È®#2&‰?¿‘e“¬ÿÎüZ"^úÕŠâð†¬9Ù"w}­£aŒ0«5±‡D@ ªñËD@4ºÏ:×^ÞÙóé«éΤ©U;Ë çô­]<—ûu9?8«¯ìøF:4~k^ÏÀ"Ê;Ñ×ªŽ™T¸C¾|ÎêŽôH:ðH:ò•ÏÞs…Žéóï6šmf‰tØf@Ó÷ˆ¼™õz€·¼ Í'zJuLMÒ-Ä^?[F{’€[ªW£ßˆÝ ‡EüÝJùgý†5ë†}éašÇØó¤Ã좸G}›öšÂ¨¹;éñ[råƒK¤Céøý°ÖCý]ˆª~±M·Š;•LH‚ýá:Åõ•…ÔÑñM¤e{Ÿ¼ClU÷ã·|ÔÜHªñÏ,é:]bÓâi¡·ŸB:ÌIJŠ.»ø÷fðèlޤëDªt¼”t8šuuêÙ°YV÷²ø>÷y÷©‰t8íXÇx·²B²—¶+!åG¤Cb—Ë$‰`DžqhñÎ<éÀ#é00}b+,ÎJŒbôçÔ G‹¤CsTÅpx©>~š%(‘G~y_è Y¨DŠËø—¯H8ÿÝÆÉŽXK:¼ièLKˉ Ó¹î`ÂÑÓM¤Cò¸b–t8ýDz.µo¾>’ÀÙȧcµÊ˜Ó"Ò¡¨OñÀ/ïl{, àƒ#—ÜÛôŠì·™ Wº«²Muʾá§îÿWû^mfŒ­æoÔ’¿ZÅ^øR®¼±úd§E¤CØ?äp"sµ¤ÃtBö7Ëãño¤CgÆFòò>eºË} ͳðÕ9-âÚly>ï)¤Ã±cCJŠg¬#ÀƦþ$Ò¡;=C+ å]J¿‘Àj•õ9g/ÕçI‡*¤Cˆ­²ÜšâSIBõ5\ÌMéš^W± f¦Ãì7Ò!ôPíþ»±—•H‡­´§a<°2¤C ×0½ž·é¦¸˜óùüz–tØÍ;z}#¦œ 7ïbÿtè´ ºˆtüÓ'xÎ-î¦åI]=€i;DÑ"ƒâù…"krš€Ë±²p*€™! ÊlQ¨ôt‰E"’ψª÷h‹í<7˜ÍÜacR–¹¡¶9szßͧz.éP“žÖ{–t¨Õt‘6ìÕˆ$u¤CuU¯ ˜¹Ü»¹ «òÔ,wäýF:€l`aWÁ ÷~eÒ¡ûy[}#šÞòâºñ•ƒÐ[aC‚zü”Ú jI‡I‡×Y½X…tØ2ˆŒÌ’û|q7¼ÍvîÏ‡àØæâV;O?ûÞgVÙgY…t¨·ªþp÷\Gk÷ø‘tHüö*ÆÕ³Ù…¤C¤C‰*lQgå“ó½‰ónè9éðü+ù~û´þw¬Û"žx/®Á¹«’™û§îí“÷úAZ»ñÛ´8“»ü%´0m¼²û׸dWƒФÃ,&‰Ï’<™tqΡ¦DÖ÷TB×A&ÿožt8püép€Ëò35sù´7Ö)|WOa!Gƒ•סgõç'o Ò!ø´XK:ʼnS IDATðH:Œ­§ãö;yÁÝ_¶éq\µEþçr@§æ¿›èUß[X'wMÌ1›ÙÅ”+ìQ4b°·¡—š²Ì’oÏ\ü¥»<E½xo¨Y-é“ÐÆ èúVñ ”f •WY\3ÍDº›Nc¦­e8^œxîë•Àô¡ê¤}r‹‘X±,T-þyÉÕ«'—ÜXœw|ýkqaßÉ[`úÀÔL¡æ•ö=¶ìkNq˜êOHÛZÝz7OËN„eŠÿ6t¸‹ÕV§p"žyÔ‹g*W_Lšr¸ÑøtˆÉLûÚÑCu_Õ¬jà²ÍC¼}ËccnÜ䃓ıÇe ÏÛŸßéøž/uÂú-€TÉ/œàƒ=£*ÁSÙ'Jç&­ ãÉ0€— ›4³ýO6V[§ÄVª+ÙÛ4›M=gÑïtÈ=b"‡ C!5'ö‰o^^yé¾÷kTï^ß©w…_Þk˜þÛæ`âÍ~ÙÁéfÝ”å×ËúZÀ?æ?4ƒPm¢°ÝVýó1ëø,ó$½ábç(‘ÊzÁn×'g’<ø<Ÿïöù«…/;ç‰[¥0–'e‡ÆrÝç~*'9ã„Ó©~Îgˆ^˜Õä¸U½$³«WÊÁbÞžÁIË{ËöûÎøÔ´|_ìˆÑ7+=Wß^½kJ›«‚±Þz!©âò!Å–Yé7ëç{‹œíøL®ëÂÓ‹5™SêÔÃŽþ§znò՞ɪ^¶L”*Ù80êƒaݲž%gÛm²69\.·YZÈÔeî3™‚¾b!8ZðÜ’uë9ap’wÛõÄúõ«å»*ÓD¦µ±ƒöë?Ç)e’p¦¾ÔÛŸHÊ+=/E=Ž@{ ²¼rR£¯”eñtn ¥œr¸6ëGiÆåÂ߇U•kWu™ë—Ó,{]Rßþö:*ñÕ{s£ë(£¤ŠäžáÁñbð‚‹ 8î]#¤‚ÞEÊ+ïg•ã…þŒŸ2?+0ɽ7Òz?ZHªzOÓ«²&m•mêåY}Œu¢Tõð‡Ù7övnèéÜØö™æà«S¬÷Òª/6h¿!z‘æ °uà=-a c¼ÙÛ{uœuˆ¬Ção$ 7NÕ>R-¢_Üî9ÆiqþÝÜq©£a;'¢XV±Ï²XŸÐŒïŸÐÊÊê$ÌpºØoboˆ®WÚ«u@Ja¡}_Ö'¡^õû¹O1n~ŽíMC£ŒyH~Y§%­âßß//*ñgØã/e›25¦°“åv"~¨’[èݪíŽ@Þ«e]¤šù9Þn!;$1•ãâì*€IoÎùß'`·PËX6#{+QÍïegÆ[JœŠMi1øhÒ‰…œ‹[w0t ìkå¸ñD,εo‘;ÁV÷oCXÇ^«þ7™`žPÕå•-d[ÏëŒÎP3#£<Ñ:yΉQèXÓªÊH²1Ã(ä¹9€ü¡™ â ˆ_¹ùŽè„h\;ë?ïaÄ“ïÔ¦>̇ëÙT6Àeä™tîz¿ZˆgŠ{e F 6ÂÂî$¸FÖ>ÄØ¬þöFX-èÛIðîmäxƒ^Ü!fÜp0®½<>¾¦ Òtœ4sÖG䛢 Áw`}²ÀòĦhÄ÷•FO¯¾ßödÛÀˆà 74±=-–øôüF{ÛOóK¸»>úÔuµþAC;¨ÿêMq[J½-¿‘;07lÐ-dç ÿ1HªX…©×¯æÙ_WZ×xP–'Q’œ¾à`füm08…}]¯?cµ¾”⪲L­µÁ: >9](†fܟýGÇ*è¼@•Þ)ëÜm¬Z-ºû95·nàÖ]´9rGéI}‘{˜dÛÒ³tåk”ÏäNöÄE± e.Ö™¡yQúóÃÌZŸuÕ2Fx/)Pâ–X¬ÛCtݲ¯¯1…¾Ê¢Õ ãìßnMïÑÞ#ãO%¹ÎL§Tu&ñL‡OëVÌÄàmäIÛ‡Þb߯½k`ýCI\$$Û[{ÀȬ?'{­ª¿B¯¨­åd²u±,W-©[Y[]ÿÛ«ßÝçÈ;œ!?eÃ#H…å…¿meqÞ'î¯æG·ÿ®¼åðÃêØ%ö%tʘO÷…pcå¯Y—OÈý9ÎÇ 3«}ÖU2Œ„|„»KpœCùd^;4óâž³*Ýàc5ß‹@‚èÙO–yÃ)îša??G¯}O¥xN™¹w9ôzˆpƒèS#WÉ^³=´>9õC Zïæ÷ç€êÙ¡»ÿ³S‚‘[ðL¹¼¼èô*+âºq^T"'U¬y¿å}mŽkÚï»'VÙÞÐÛÏŸ€£ÏàG›@zC°U©4yo˜r,Ãor7ñlØ¢ƒ‡¸ê†Œ„ŸÔ£æó¢ˆM½÷ `·OÑÝÕHcí£ªü¿Y+ïŸØ©Çãö„½<'òHGîçðÅV>"œ¿çàLçlÚ™ Jt MV³¥ŠIAj`¿]&iš†Éå6p×G–ú€N|£Ïøa;ÇÀtD*YßÌÄh­fŒ‡ñÉg|K‚‘ãÜJäq jŸÚTʱՆY蓪êw­úÂ]&·›½sYÄHf ù7@9Apò®{ÞçOèH‹ ;¡E(ï‹?;—ðò®`ïf “D¹ÐéyU^Ò¨[³¨ðoâ^q7•à6½÷pë†øç?|Ǽî(é4ï–=É N[{púÅÙÜÞÏ#ï½E‡¶}™•ôš_þ<{Kd‚Ý}‹«øîÙë`æ:ÿÕ(öŸo+°Ü"n’ù²½Ž;»=Ø_€3óëjòÒyýÑE¿HËmŒ7‘Mìî6!¹]^¼ÌMc—z!¦Þïº 24‘Ev§ yhüŒ]&²ÖLÇÀ%£¹â)¹#§; I«ùó)EöûÒ#v:.ï:iWˆḬ̀ùŒ"»>9( Š{ Õ÷Lþ:…}Iž_¥ã`ÜkzMÅßµ ÝûØhéÐâúóÄ [jÕ§×™§øs#ƒ 8#ûª¹ÊùË´L¼ßpŒr¯vf ßXùéL¬Ü‚8G«G¾cv<Ÿ´Yö+¹ :!²©¦å½_Ï‹!̶m‡`=YXõ?¶Qa_¿±•”í°^¾c Žð»ÓGG{Úˆ¼¡V¿¯ÉÞ ö±A?Ê;éõøœÐ.ð‡@lAýI…"–‹ò¼õêýqóâ”ñÙ»¿Nð×ÔØoøü¢Ôó߉-ˆö·°³Uöç®ã§ó§6ÑõÑØÈqW’ÐáDæL—¡Í½z9UÆÕ˜ËNêããÉqyÍJÚGqúä·rм³™ß±Þô# ¾çBx_ø‚»zÑ1UØ|åHžÁWOnøJ Ö§ò™þÔÚƒ­“xkØJ±Í8‰h-Æ×Œ³ü ¹÷Óˆè‚t†å•åýΪÇlFÆÇuÙ…œëñžPõaì|ÂÈtX–³+ºŒƒí4ü´£¯ã!× {3Å›azŽ=¹|ͤðɨù®ñj=6¤ü|ª]`ž[~®¬ÕŒ-F·Å]kU”~[þ»uë·êúf:ɺqõO×ÈÚ×µz]¼—O ’ìæÂuËiè,{·úÝU©Õ‹_̘ù½.9jãéã{?NÊ> »õ´.cšHîJ/{B¼´GÎf4§—ÇÔó’ÀQ«êw¹îbìZÏc϶\Ø‘$-î(?+„ùÄš"ñX«Ÿ>ú…9r[/GËÙ>½™£Ô[… ë #Õ¹)ÞV'eyKrŸì˜®™ª6]E ŽŠ˜IßY®—ÔÈÞŠó¤so¯/Žƒròìl¯7&r ®]~ÄÏtˆtˆüdbñwa§ŠsÐ|uMb®ÛL„+wZŸ™ŒóÐŒ•(Lµ˜ÄhèÜ8Éó=0e|ëÆ^É`·ÞwðãõâÖ™ª 7¼§ç—˜ðIÞ)ó‹õû9Ñ(Uv~î2ø²Ki¿mü·™=×ðãx£|×(©ž)ª14 îé4mµxjJ¯îSf—zÅÝ™äÆÚÜd;¿aBÓÆNY·™~;‡¹X¡¨yã£/.ò`>ã¡NÅ­Ëõ~Qk&6Þ›ÁïGæÓº¥ÆÞÓ»HrñbÛyo¥Ðʺ.¸°r\ö~þÒ 73¹Ñq@Î?Ú\CÛ‹`çÍ£Öüm˜‚Mq îy±'CV†îWã³ã#ÀóqR*[Œ1Æ›Ë Ë m£còë<‘û4ÔÑ6WÇ­.­âGigeydœú8ö‚…ßK·æŠœ?¾ƒ|LÎ!Žªks®Ë÷¢EU¿ß5R0ÑjÍD®ºd?Þqõ¤é§1Ž·ËºÆŒH¸»+䄃§×Ä<¯Ùa×05«¹‡D'>¾ï7ë–óËÛ[E¬zõ„i+§¢.ñ‰F“~榌þýßÿýÊVŸCéJü6¡`âXk­–LŒ]¬\ oÜ{Ê»ø›y9.…â`Œë©úç5lÔŒïœ&´™ÍWûéñÐÙÞgYoˆxÎPš“ Ú…àÌ„ð®Ù8rþ="ñig…¨–½lpµ§%b¦÷Ú»äþh&P3õ Æh}}õ=~ð,ìHêw»7þ kZ'¦¦{ßcüÿ̽9³ëh·ö f ¹çy8c÷Ú–åÀUV•«TJ\¬à*»”©ÊÉ—ø¸Ê–ÿRæ[åÀåß àZ™¯n÷×gÚóÈÍ1O^œ~ ¹÷9-‰Q÷Ù$†õ®y=k-l'Æ4v޹8g&ŒãŸa}¼…ò~­¬ÐMÇÐé½ÇÅ“ó, TÝç–»Á~rð¢ßº<”ÕS?…U“°L8B&,6°7· ö‰¼t®p¬Áúty'¯½úfÚûã6¤M¤ÓÂγzÑ{b!oÖ;VÂ#p»ž¦™6c/—/'¸*¾ìL'‚nHdrlÿ†žö$3„o4;8žB¶ܳ)vSö»ÐH} àl>¿X¬M:°»‹ÏÍéˆP§U‡¥•FˆÙ*PàÜ¿Á©tðÝΟi…0?N¡¿ÚÄ*Ÿþ˜ÇV/Bßþ„-ííJ¿ñ)Ö¢òyÇc ­Þr§o =¬^T‹å>ZÞZ\ÎÝ%ÄíÕ:«¦ÿþ#:¹x2ÛÕU‚£#.×­:½ÕŸKï°¦fA8zõ:ùÎyžJÏ<œXºËïeICè~s ¦*Íà‚žYëíxÙ¥æx5ûðÅàµÒýÃøKÌxÌó‹#X[ÅûÍ2‚+|RA6'·Xq‚4 ïxgejK|ÿ#$©™wî<{rTÈ¿`M' åɇîžüQ `‹Ã“ߦC1x< ÇhóõþÖä6Fw¿êkHB~¸Â”…ÙÐþ¶Ø`:8CgƒÒ_r𕲽;·/qªÿáä_Zø«ù¿À ç,ãýŸþGü7ÿù ïI€¼¤°vsgâ`ÏÀ5ú8ĦÖ誖ÛÓšÁ?³àÿg0¦ ICèÛÿAÙÆÖEƒDq9`λAÞ_ûCžÃq/›ø)¸Ç[ñûODŒØð§)˜†Žïôqv»¬¿??"˜ˆ£î,Á¿ü?ÿÃé²Fœÿó_ÿ÷øþÛÿî›^ã×_ÅŸþô'ÌfT®9®…n·ƒ~øõW…øÿa½Ï?‘ tŸ¿ s$µ°æÇ¯(–W/Ë>I`u9´Úij²1¦®w,Þœmœ¨@×ùCå+R&àÝåvVscØßPÌûÖ”±ð !ŽnAµô?ä^Þä r·ì _| pòº*kvNÊÿ®Œ|¸kž‚ ›ùÔNCôa$‘–ö-°[ôÙM±# ¼xMpÊ¿ÌïùâYx-Óë~nñFüþëÕ¹~ F›!‹Höûa+ƒ3ßõþ>ß‚QÙUƒŽø}ÕÚÌ‚Ý^ÌW¾ @M$5HGìÖÒM|´ðN¯úwL„½¬ùY)EX3•{Øw°¾õüÜ çºH”Õ¦¶}¶ûx£­Þt{awïytoõÛHö,d1‹ëà ¯×6Θ?DŽ“äwúý|€§>ÔÍ­oºßÒÅßîCÉ©­çSçòêñöËhfùàò†1m2€Ý¥¶Jk³°gÍ8Åöájf ‡¶»úäƒTçп»ÀNÍ„× çEƒëÀL¦´‡¼F²üÍÑŒ|òj`ž#zÚïNñû3s|´ÕÕgNË‚|Õ»Gé´cˆ³Å6ùãÄÄ»îò²)*0÷y×tª€í,¿öÐêc]'ò¥Ïü¿ñ?v¾½FÂFRþ}Ò;,‹±‘¡×¼e|¤;«ŸùŒQÑÎp–$—É{'ÃvûlVO$mܬ>¦¾°°»³šÏ$ô-„[:.§!Ž;«M¿r&S¨Ýú˜ãòÞÄñ.áÃ#ïÖ”o¢·ÏÌ eíïrvæ¯×0~¢ºçοǞ´‹ÿ?×·k|.›CKz°ºø}b†‘cÍjÖ/¡Åâ‚Xs3··4àÎM­Ç zùŠÑ˜a#`þ0z1³UM؉êSåÕ{÷»@MÙ™Œ¡v{/dП…'¼‘iÎßsX¬%¸z™ö³»G´÷êíâ„‘Þø˜Š^m|¿DÍ‹a˫ņê˜Åx—…X{›}ÆÖólâ&pîÙÏlAU­Óµ¤âg£ª'#ƒ›ëöKçÇê6"Á®¦SÍÁ/06~†Ày“ÅöÈòYè5 VûïØû&Ëÿ¡z¦=`ÖÞ@ø(CØ^ D^ûX?”¾Û½™aŒl½™Ÿ”~ wëù¹ˆ˜SÑJ$ Nmöcm+‚¦?Ÿ¾c÷=ey¼éSðÑ=mk†™žoݺr`-ŽñÆ­6vBÿÞþ„wÆÖ7ÓÚºš@?¢ù†Ù8F»GikÝ™Ð÷šýÇñ“‹Þ&µåÞƒ y§¬ïggŸÐ~U_ËŸ.ÑÚbêëÜ…~Zöû­{lÅÔWs3 Ó,Û-ÆCœÕë^1õ°ËõX0ô!®/ÿÞl$ H¬m¬ÆGÖèúq1î2¥ êb´™ÍÁŸAé}ÖÄldA µMÏéÒöq¬Õ¿ßÝ{ï Ì>_ ý†ÈuóúÁjÛÆúª-g5Œ•{›AÙ§¾![Ÿ<‘"ÄÐ0õ¨óPºŽ€´Èt8,_]X:P :ôFß¶ŽL5Óoøq¡ƒu£‡Í7*¸‡z§ú+èPÌ»™ž³ :»©&uš@‡:–O’ˆkÐùz—VÓ»ÄÁÔ;“ `¡¯ Ã;v–M™ è/æ‘ì;¯7n%0ŽÉZIû5_ :€Nï=|3èö“dCÚЕåg4a ­²ÑžÊ À}¢øùÖÃ)U¨zÔÝ®¾Ó2Ðá$¸ýtÇ*qŽô·àµW¸wo0È×úeiǽlv¼jËÇC¿U(ïÏëH޾û¹µÌýÕM C+@]¾l\ñWÐ!ô42‰mtúå3”óõŒ»)[šÞZ\ïDÝù‹Þ—€ü:=ÉÈ¢z>ø :œ¨´sÇvúµ C–ŸÔ‚Ï®V_yÂ&e=–ÅÂ:ü|1Ńû¼¿éH[ä7{ùZangX³¾w-b1ž•§µA‡ù:´Ù]Ï43ÉùA‡ö’Ž?ÏóÐò¶ <ʈ“éRС6¦òÔùËwˆÅG÷äÌYóšÂᎡÁWÐáEðð,Ð!XScžþ¦ t˜¯K C+,(`7Ÿ\Ì«ˆZ}Ln]ÜÝ×ËÛ}>otxû´zriðh#Õ¾R‡t{̓¯Ît‘†l›è¯e Céët…9Ðaâ\-(”@‡‚”@‡~('v½;²¿¯ÿ Údju ä]Z›‘A׌A‡jA‡V@{÷ù$¯áÿ¢çïl‚MT@‡‚o.—7 ¨…£÷ù÷·Ü ßÞ£{ †y^l£°Ÿ!ñ‹yî O*‚$±:úk°Ü~nÚ0B²A IDATÄuÓ$·³Ë æÌ(Á0úöæåø$ÚÙÕJ C¿ƒïB?¾æq]ïeE_A‡²–ÀµoVþœ}èÐk>A‡jA‡î2±htozïðó«cüÔæñö¿~ Y\-‘< ›4zUV3®jc>þ\@’ćø·ÿößâOúþæoþðÛ”èa& S)¾‚­ß께…†IÀk~Œ/S29¨ŸŸyÐa<[œÏogä¹Gægd·¤Ø±«2`³]Œýú‚uè@t8º+çTÜ|42àÈÙþ:ä$ ´%k!sС‘O%Ì2zý¯ Ãûël)èÐÔÚ[‹¿ó- Ã;·,GÆO‡Â)2ø«€c¶Oi­>À–V˜B£4ËÓaC£‡–P[”o3™Žc\ÍMý‰¤çM÷\³Z°Î.›};=E–OâJïª~Z¶¿‹€Èó¹wƾƒlF¿ƒÔ‚Ãk²ùËåïóDŸåQ®ÏýÔü:L.›ëÀ¿]•u´–o’éGòQZf}S_ë©æ ±:YM+ C C–›¡›ùàïÅ Cë¾Ê»âãl¹…{l‰Hg¹ì_ÕûXN/­¨€§_žÌeË¿»3/* Cnü'‘ õr2¾@-è$!©€ó­ nA·«Û¸¾J Ã`X¯ÜÓØ µÔe CÐ¥áA-"4eå´÷?ÁdyøüâX—_*ô“å`§Y¾*{t¨fUyýž C˜>RÛÎpÕk¯:ÔÌòz÷!Z‰“Çß‹jWÊfõ;t¸xЉÆNÀ[ o,ÜÓï CС«Týµ^3ãù6°:P€£°øbVõ‡R3-–·ÿŒ½¸ÊÏP[ÐwD­Éð›ô@<~ÓOø—ez|Þç›ÝOS˜£ægŠ•årÿè?áÉ$²0²æÎnnÒh{-ÄÚF€¨[z·å-Pƒþ¦:P~ Ñ2›Ø<¥÷ œºú–ΑZá^+ï­´tè¼ÆÞ{òݯ C ÃP®Ù(âh˜Žªy釚fÛ"èM𕵰°®‰èÈDýynM‹¢¦=÷·D¶×¶ñ=>柉ò‘×ÈÃúrÀl¼:H'Ic8…•£ÖUs î‹Í»éÓ@·»¾X±]’€xÎ*hæ€:[w³Å…X«aŠÓØ“àNë‹5œÖœ l ì'‡_'Pê•ýã­ Ï«:ÄÓàÌV™Ü‘À«®ÃÊwQ‰¼‹•ƒRjrUÿ”_ƒ^ךïõ£<ÙB ¢cÆxõŽ cKסèé§íáÑ\MÙNÖm9¹³Ò$Yw»*´I¯™GìƤÏü(=¿ÃÓ±›ee«::×Á„åÅÄ{ø6Ž4XㇾÇVŽô¸Í×9¬uÓBB‹!ËÍ {&uä<_E*‰ØÈ+'Cן3ä“2MÇ–…4é#t›å»[˜"ñÜâÎræ‚×läký–ª4;W;U&ÞÙŠñç‡f^ÛÛxÞÙöZ‹G+¿ÒÊÎæÖFYÅ{£o,øã²“’eåäÊý—çOs ­6¦3y2ÇàjÖ/ŠâœÃYÖW­¼šÊ4Šùúç±Òëg=c+!ŽÛÚ¦†?†,7Ÿ]ס2¦©õEÕ&_¾o[”oÄV}€–rõ¼5HÊ€ŠÖŒÈ “U“¼wã¿Ú$)e-(¦½9é`gɤû’Òþ6Bâ-ìäk$â|}`8—@Ö÷öÚïïs’¯CkoR§i'ª>›V£;™¯pÞïgè‚r³°áò¢¬~ëέ ¶!î¾L]Øn‚½L‚;,ÛŽ1—™6-ÚŠYs‘÷â &z…âÅ…ÿÂSÕec׿Iž½~Uxu†ëš•Ü–Fƒ>ÞÂÑþ6öv œjòxWbÀšå¤•ss‹ýÍÕ'hllkÖꊬZß¡qtÚì#Ìš¶Z´ß°î’½l›Î,ö9â/«MOi;TvµúäÈšf@1›݇¬JS3‘ ÕàçÚúF|{éèÛxM’ˆýiKOÏúÝî>ñ×÷$˜R3ø0QÊ<ËGüWEIånÖ6Ûð§3DÛpë\âà˜&·½ÜxL‡sIJïÝuš6ÀAàhõMÄë»ÐÞ¼y6ݲõ#ø‘Š›ê Uÿ”}"<ôç§Â â|­ž¿-Ìù‹‹öÙ‡uþùÓ,”¹pÇëä¾X.7É8_sa?`W$ô‹¾æÀ :S‘©¼°íz[ÜqÊïœb=3 hÄöD÷ÍAÿØšÀRCèâó;| ßw!»õqSfÞê+Ff76”×Õa—ßÕx{ˆ¶½:P·-6Çï¢UÕïLRÖgY²Pž$ þÍ¿ù7¸¹¹Áù:ÃL$~нCøf÷§Î\\IøŸ‘'ÁÈ^Öµ(ýÁ¨”ž™@ÏLrÊ2 nÉ0ÔClKË‹€VsŽD¶$´_TóÑj ÜH©ê]ýpõFhIh'ï#`‰¥õï–8+4ݵTœ‹cÞlTõìm¼¼ñ| Õ^âkD÷ÔßúøàÃØL!7µC£#|yÎÙ,×im5_•8 àhÎì2@úí䜂5baZÈX%22Ñ ìµÖÑu¨Ì5…f'%ïºYhxn3“½—?áÞQYp?4$¬Èû»0§_ðgó<ϻјÂʶ¸ß «´@&ìÆbQ.dLy ¶fÕ¸ß%z¤Wˆõ8I‚š¯©ešæVÛÊÀ²˜VŸç&|9(ÖŒiÌ®¬WcË“v}@að‹›ÿÇ«åþºy¸ÜÙñ E$·-…«MQ4 ën9gi¼«Ò§£»âz«Áôlç'×U}Å‹m´Û">å‰P-J÷NêÁDÞÆúw±ÇÁýÿ#vPÊ×Ðê1¢ÛLµzº·Úe]’4¨ÂÎÁ_€Ù/ÇнÙä©áµ½rNEQIŒ &i9ÎËÎذ«¹G“ qo—åÊÌk^ö'Ÿ< Tw›ejèæ“Mí‚øy@`óÆÄ iÎS m÷æ¦ýLïø4k™›ÌÇÞÕ7KèÑ*ØÊn\æ;á>ŸæÇ•c³íCó«ñÈYTÎ=»î‚}5 ŒV“Ý5¢Ókáhn£ŸƒUï¼/õ~QJ0Èꯎá\Ôäo‰Nyâÿ³{õ~ÚV@h}*¿B¦íÁ3(χƒúz‘pHâ2%zÙ4(u“>‹œƒ¶nŸ\qUfÌq}!w\Ÿ#뛟ñÃQYGÛùTH=®Ú^çús¯–ý8ݨÏkÄ›«¿óÓÈïc*[m[D`ÕÇîiBôf界ô~y«6«Æ`Á† kPßH@°M|JÕ•óœ áæ¨ÞÇbôÕëñ¿(Û|mµg_ûiJh1,’Þ6TQ›ûìlV¢4Ú_7ëÏ̬*ý·÷Ëôšæ«]wËú;åêí*×ß“_ÒC}¢´yBÓ´PW—¢úØÌóüœ âŽÊA”í:k—Ͻ?¦t暟͛ç­mô—Ç3ÆÏ¯ ù¡å¹(Až[o{5mXˆU-?/ò.=WfÖÍsyä]f x©£Ù~ý»ù馻,˜Úµ­ôýfAÍdÚ”Ü{ý@G˜Ôë̈'g ¸> MÌæüKYÝÈ_]:`T±àó:¸Éýð ë¢òýëÂ~TÉ£¿ ³3*wŸkìkÕ?¿ŸÿœÝ¦þaû¾“:g) $‹›5[÷ zl¹áh7ॄ'²*K³hõ††‡<ì˜ÆÕóð…ŽCÏ-ð˹Z'oÀ÷Dĉ“!þÎÍ ,_m³Þˆƒª€;r³^ú,V;†®5ûÅuû§ôGôÿ{ò;ÎÐ̇fÍ×Ù¹¶{ü²i|±wÕ¬~ª÷ñvù²½žÕìùUÞv öªuc'¶"ñ›sÑVB®¿-mâà9“µùi*Õÿra8_ˆ-å9?¾k–mÆ”kÆÐˆ p>7”"qÊ~ÄÝ9ÕI^¹^¶æ,¯ËùÍùréÝêu<)Ö x C÷Öªò²#5ÛÁ&4bÀÎ1­i9@Ij¨~<"?ø:HŽá È>a Ÿ]¾ 3>_^`1~,+©Kˆ”¶ê%µÎÊN‘~D…3™3LRa„èùE9Áq°¥BVÒ݇fpÜ*+ ôp†-Ÿí œÍªEý6U”-¾¹8?Ë µ'ûP:§ˆ«IëÄnV`ñº W×Ð;©gÐwû ôV0…‡XªO„‰¹‚×w«Ž…º¶[$ü¥º¸7òÉ…‘W5Á2vLþ&ç?­‡láˆÑƒ<ÙB•©j”ß-¶,8‹ d¼HµmÐ$‡*4óvG•¡ïŸ|7¬m”“ÎÛ¾÷ìk$l™¿Øzê£÷‡â Â)å9Nþ¶õoCï èåëÊ>!üóÖYÜñäd-£ìͳ>•C6öÁmÇJDÞ4¾L§ž®ƒå¶ (UÃì=Ty~|ÓÁžþ²IÓ+î¬¨Ãø±ÐÚ·«×ŸDçÈF«%FY8]Bçe]Ýòšïýaꌆ³3ì¾^mUí]LyTÐg0F0l&ì€Ð­zC¦%eGäüy¹œÈlEõÏ£³ÏÑÄÜ>²ûÇB`èÁ™,r¦ç &„hÍç1Ó x5Ó~üîtˆžÚà¨S6î8ˆÛÒðSMòîõü”OûÒ Óã >²Õ»0ï Ú1 ZöÙj’Xšø§´†Æ¹®3òBmÄ-/ä¼ø£¯–èÉBò\n¡[1QÇÎPèuŽOÊòºÏ,Ø‚²¾ž'ÈyÄFÎÃ3ZÜ’ÜÖÆUþ”\¢ù¼uUQ¡™AÈÕÆõ´ùŽôZ›}fSZq5“J¯ÿ^kC5Êú×Ê'»¼1Td;®bª#´zÛ¶‰¿c»ÞœTö“Gs¦+”\°FÊó¯×6,™ÇTÕÐU ÿ°]ÒwçÓ÷¿¹«:ÊÉ„èÎé9ý[lý5ás¾Ð02ëís§FWdf5_çæ÷ˆö$"›=KÆL%¿×üÒ&å—›Ûk5Ójn Wf§,«‹Ò™³€*0e{µß_<©(1Çðôú¸ì€70›,ÏsòîËüÆ­æ*fp{†õ¼H:¸­ÿ^2½ŸOq²æ&B¥³š†Æjý=')‹ýVÙ6Ç3Oܳ­<ïWÎíÊ>€Ö!ø]‹¿+L "o&Ã@œµ-~~ËËðË\£§ß—ÔC³N;ûÊt×$b×E¨¶ŒWHOx)—¿Úe}Ùsˆ-<Ì‹»¿þJåϬ)4«l5wô½ñ'Pö¨þR·ßƒy ¾K1ïÜ );Û0:¯ñ£qšçÝæ¦ñ ©,lÅ-±ú¼jP/Ï^¡ ³ÖÇnÇYÙÿÑG!ßLJ>¡ÿÚÜJ§µ¬,Ÿ^°Ø>ÏßždåŸF«÷bYŽÔ*Ú;ÌœXŒ^`ý‚Þ6–ÇŠ3ø4b‡Á ¯ø'óeÚ™Âóù®—7(ñíÕ'lyªª,hyQ{1½Mfµ<ª¸»Zž×O©íà÷wÐY°I@î@³¹*üâ–ý×)lùyXlGº¾ËGŠ÷1´h¾˜9®§¯‘ è¦õ±þŽØùÍPÃyX/k³/”½®,?ÃG¡>^ð4lpÍyÑЮϿhìká¸Wý{º×oŠ5ù+ò¾Î\ÝÏΛVÂ]òŒIÙg0fõ6å¿Þ-¿»¸F¯íÄ5ÊC¬³æ¼¦'!I×K;b}n;c©-CòÞ#ˆPOjò¿û4.·s@÷çõÌõëõ·°Q­Å±9ªÑÌȱÞìË;s5?p¶°¿© lUýs£w°Ø¯šn´ôëvag@@ú²œw/¿@ É™|u<°pó \™CbæªþÓÇ՚܎ˆŸz”o&á=D½Ìc Sõ[ÙÝåú®8ùûëgƒ olba"¥±VŸ ÑYÞgʯ™µ<>5WÛ(¡(CˆÆ›B>Ë}‰ôZ>}2m·‘ú«ÙãM¦Må=~¬o€ëèõ@{¹ À©ôLg¹þ"¶}z— zAJØgª²4nS~‘åÅ1„”O@×<ò.+×SMǨàƒo­×ë ä÷ÆA9ï2ñ.êyuB¾¿±µØ~17ÔN¸ uHôàt|Ù  ×=öS>è%ÄžŒ™?C˱óó’ápUº¹Ýoosˆüê¹u* -¹ØˆN€L^ÜÕëå[Uëg>¢²÷~Ý@»àw°Cº[½îÇGbü˲?xt¬Îù¼*r?üD?™•ó@‡GT·ú2µë»úb¬‚YÒßm¯ãz’Aà‰Ã?>B²_>ÏkÀŒæ̇úüO¼»zn«ÍÏpÕ†9ì|mîiÕŸ3W˜)JTg¤w„ŸòA!-.„‘þ<ØXÍ 6jb)A×ûb"§ù¶/}ÖÂ&Û\¼9ynv€‰:ÃÖZ³-6òæ­ùÍ‚°¶¿ÍÙYYZòn?ÔûÌÓüÜE¨Qû¨ì#<=†ÈÄ Ü¨êÃ[Ñ h¹çmÂõ,7qˆÈ¿‚ã”ýµ¾×Gt’ÅšSeÁ–É{{§T'Ȥ^æ»5x© žO¢ÍoØø[´S­² qI´p’7$á;5ßÐâçÍ/¡6Ím-ÆÄr!Š «†ÊËŸ!Kš3l¶Â­Ó­<¹A.tá]àÆ¬O&µ´ò¡­³©>[¾Âæïݲæ8z.7L—¿Tâô¤ú^ÎzÕ(í½/Óæ©0Ô›ëÆñ Èõ8Âí¯Úëp®ËÉøÌ  (ŽÊ 6+LlX ˆAŠç”3¿½\;X÷åwQ¬zÅ2„VLü2Z~=݃%í™ÕD®ñ>‡ò3‰ùªÐL#LÛÊWWÇ…DM|ËàîÆ*Žâ ÞyˆÎëAA¿>? ªŽ~»3zÛgL8©U†LyJÕ/æ=¸ åŸ![VFiÁ'½Ë‰(ç«„äæîö1sýMÏåÓ'ý ⺿Y‹>;T¶¢I=b~[¥¼ž&•Õè*ïTƒ¸÷¯©ÞjËÍݶæ&½ðجäLHWœÐ!AƒZgù4­š˜ëò§`Öž—ÍÆ¾ç'°ë¤ûÙêcªyV€Ð.wFÈjY RˆÞ›W8hàDê((¯ºpþlçJËË3°/X¡7ýp‰_¡gÒÊI‰¡Xßy {ToÝ&„J)¦R½ cvç€TÝå@NötAâÚn.ŸüÅ©¤9Ö§&¦ÓªžêM‰e…ýgñ„ñ³–'`©óâÎ\gÚèQ'7k¸(åw¥‚Sš“À¥ èV>ÞÄ”\0"~É*»ÓƆGd*,œ»"<¯ø~ËÔå“Gúžbƒy9ç¿ÜåÅç6ÁLKq—yh™å Æó“voq1­³á ÷NÆ„­ò±Ä×óéÖ Ñ_ŸsðV<çœêAŒ©Â€cÉy ¤'ôÄS\ýýùøìOÍE„ÙmuІaªÐ&É¿8¾hüíÆ ä7›ø|]*ò• yÔì_`Û'2”õ¡·V]‡ƒrÒë“K}Ù£µ"-žì+¶Úh­†åÒÅùâÉ7·“zýü¦CA4;Ûôýk&8ù}ú÷I^tò¯=Ü”{›;-´\ž·œ6¶AdL8îà[?S—ÚgµOh²î€Ê9'Ñ|R3Càšåà{o';í*ÿ¬Uõ_"Rÿ/n±ø-£¼)Š"¦qsrx{»ú iTèôª¾Œ`R}ïnP½9üölú¶ ÝŒJwÝ˺¥‰ŤÊIk‘€×s(ê¯_á2¦IȧüoF{ÁôHƒÆn¡©cÿM³ÿ–u›ýî©|6¾´ÙøWŒ,úR¢í"Œ¿Í—I-¨Y5ÑüƒÞ(}ÃÚØíúÂÆIÞµüØI7!ª ¹ ¯,¯çÖŸazÄ&Ü 8L×êm@7S¿‰¢n½ø·ñm½ïÝjµ¿é™²,ÃÇÑr ²qNõ’ƒH]kµÄ¦“éèäMHgþóÏwœ>A< ±É¯¹½¢~Ðàj)vwª22eÊöà•FõÄׇ6¬Ï‹«ºPÊ':ü¥Üãß.Gê;ewTÏ«ïË .Õ¨«W­ùB‚*Ì]âãÞ_P[ö ¯V@ë=Üš„6RââU> hC-ƒ’v²ªž¶ j2µš´ ž–ûtrFxF+¬¬?S½çL©Ï¬ÏMv9jU»ºgöGzþÂŒäÊ´\æ£;âëqQÙ·^«1]醄aúÓ¡Ý‹Ðq¨_™ÄÙ“¨ 9Ø+'S§³¸|ujç4ŸØÍ­>Ñ«Ô'<“3;Oy*wÌ‚5P¶Ðl¶¨]ØöèYì×ËÂA^¸âe^5¦Í>Œ®7©½‚é $y²3+Û+K©>ù÷Ô'à J{ö–Ä`7.ý{;ßÔp}Q}Ϋ‹ãA÷+4lΫôbª_Ï£r>CÜ'<úË¥‰ýz=ÌuhQMbÜG…U¸mr.ñdqFîP~º›^å¼À¡çÔß³[SühµédŠÝ´ìéÂ_¡Uµu‚HÎÛÈ2íü+òüÜ= ¡Êó¬ú„Ÿó|¶=!1Š´µøL½êG¾ÊãÐßTZ:A`M`Li¾à*0ÑÈu§z„Ÿ´ŸÞã§Ÿ4xìó¦|Ko_?ëûöÉ'‹~•/³â»ü%KycRXgk_7Û‹`oGðó­¼9ðÌ&÷sDv¥ççV'>Ä}F9m­=8(¬‹|¦÷^N[õ£ë:ZƒåßcRÊY£ÛÈ¿ñâ^ãïÚAùœ±_•JDo‹Ró×åÕQá IDATy§¶Õ-èjò<’Lýí¯¸¼!è)a?˜0B³Ïeßov_͇^‡ƒ‘üe4[ÒT^BtÃ2m¼ð€Ð¶ŸuNw…Õ^Fö¼<ª'Uù¨5½ˆ_¼­7aÙß~­üÙ×tŠZØò³S_SÎfpkòÏÓVÙ뫃<×ue.?Q/ï²±œ~§ûáÓ¨Ø}pìÖ’XŠòÇÒ3µ“ê´5,Ïåk9 ûÍ»ú>?·B÷Ì©N*¼–Nl޳ )¬e57¨s5IT!Ä;0\wÁýDÅt:ÅÓh5™ïµÊõKvJçå¡n”·ì¬w:p„žc€a)PVñ‰žcÔ¼Vy”7zÖ.›Ó!ÕÕdô˜›ËÏÿÜ`„,ká[?׳æ|€õù¬ÛfßÛJ%ÈoÊ1Ò¹SÕÕŸ/ÝBn˼©­³Mj¿\{°#uŠÎvæõglçö«³Ç!6—O÷oËçnjDž¸2çÑY™G¯4Tøù [nÆCXÞ4‘‚üþA(ëÌ®\PSºÝ•Î4;àñtKò)J’ÂY':¶Ó;nPÒ|¤mr¹/°Ùí¹Zœš,Îq3aì×ÔôùµÕ\ÜÖÀpÜ-¨1Ñ«oz»³n‘®×ëÅwÛÄG“Žé{÷™åþžÁÔïyþŒ±×Ã%Ê9X&á°Ëà*ßrmoã±}ˆW/¦¸8ï¸67ýÒá©osà !",fñDEß^^¿8ÄËâ„3ïÑÕ.ïÈs&Z½¯ÆîÝôö}ù> 9 '*Óòâ)¾`¡wÏêm _ȧ´îæòšêtƒØ–Ix‰¯ÞÎl䡳dݹØýÓþ-±ß—D•ž‰T¨3UyUï§*m¤íª¿²ÿžÆæe}nr[¶þ³¹-À ¬ÑgÌšmwÃÕkÀêØU§:ðrJñY-¼tU¥öOuClÉô†Î^úùð8GÏÝzÝ )U¬•(.¶=Ž1פ÷8Xù¹únõÚ ÇÃu·pc’œØÕ¬Ú@ÄñD':ù†)ñÅ'ï8xôÁ>—@¿/ aIçÞl€Ø$‚z"ŸàÀ(+.ß…Û2†0c²X×yØ·p¥åãU»%IUIÿÜ<¢tfðΛ§-Y”س«[h£!>˜_žEKõ°œŒgÌr"‹¨cÌÔÎÖN½S1:kvvõ]âŒu¦…•cy>Q(C Ù‚sîaÌñ7hN\ébýtÛ"ôÏ⪑:U‹ðî %¿ñO$©¬X”¬ž/øÓêýïÌ3ˆ[0k&+Üf¦ù6t04/¿K"KlSqÛ—ëJÎ[^Ô{L]ÈqÒ¾näùÙØEÒ%üs5qp:7¼R™4sÞ ¼åEM¾ODsH:½!‘ÝŒ©ç‹mc‘¿ñ« §}B÷Os+™¬J#ÏÖÁw«`¦ÁÖ\w· ¸‹õO: …±ëø¼Yþ UŒÔ(;ä?Î?˜ˆž'ïÔ.é” §DÙï1Ä1aN¯ß_^ïð‹gë¥ËlP5 Ku—m,Ų£ÂôŒsrÝk”ƒuQ£ÿŸ]SCµ›¯ë‡õÝ~aÍr”Võ¥ç”ÅKÑ]ãñŽˆ$(ë õG ½¤š¬íqͺšy¥â§Ÿ› Rëqȧ7…U¬K&²&ª.Œ3O‚‡ð·Ytü˜ÖêÓ‚ÚV½,qæjÁȧ Zˆâ´çMv³:UÅK ÐaÕ¹gjFîKl\f¡zä^^.kÛͶ’+Hüæä¦ÔŸ³`…5y1h„² qCÊwAÒœp³g€ênSš¹HÚZ™/vævÁµ÷ˆ~T÷¹\TÈh½Aì®~¶Ã ºi5°ô£²®ÓçÌoÀ[Yâáñ|†û|eÒF>îè/:8Y“áøc¼ßl¶íýæ5Ø¢ýˆVkùà7‡54o‹ð¬d`¶ê§´YbMº^柷….üö¶g&@XkîJ2ï©?'®S4r89%|qíTmÈõ5‹ýî k þÞvͤ]i+oúèûð¸2ÏmoTu¾–Ýy…-ëÆ·¹9~xþÝŽr3/²9[ÒÂc>íÀª¶#Œ¯ÝM¥ï7™— ¨ÿ׊SüòÐh4 ³ /oâ1ÍòŽG§J“ßjhxþ/O‚´^6Ezتç%}ŸêT× þÛ'ß—ÕòïŽ[°™ÿÍœ5ß9sõI/n¾65+ì2-žòuªIÔvï'¨,µË¦ µQ߸€Éº H2íaByK2|ÜÏHÂaª¶û£} Ð -ðͶYW«ö,þrqX.´¸7€½#’ß|\Ðu\~:Õ¤IäE|^»ø#?­ýçMè´™Õ›TF£âÂçÎiU(z½ÏÀçM„ª¥"=@-¬°%Ï~ÏKõÃa>‘‰¯ôË…57¬Ppunb/i.Ϋ@÷ É%Þª´¿@}Ø_W0ï7ûS¬6çÈßtöiZ˜Æ¹#"ž+Ú}Êׂ=iÕøyߨƒwCu¤1¦º¼=%6M‘e´GeËþ¾|i>QânBøJܤrÂ<]Ïåwˆrøœ³”¯¬¶ìoˆÞ³Ÿ&P;«ïؼ€Øî&ÐÞ5ëH~ø*¿ÐsÝX,ë¼±IZ<é¢Ó¦ró”OZT’ ,SŸÔ ‰þ5ÔúÀyb:s¯ßv¢u¸æèÙ|"ī˿èS{eÖ€?06`¢fƒ€e¡Ô†‘]¸~†"¯“§Š6AüÕ Gïé+,Ò}â+(Uöð¤ŸÕðŠi}ý‰øBÊו×ðçã9}@ ž§|Y—D„Þ?0D R¸æ œ&`—/?§+™huËgu?‚ò Eù½±™™àãýrZ~øXÍ¿ØIsƒ›Çöa¼:&Ùüœ?ÌBŒÝN ½Tï Z÷ýjyX«¹x­ß]Àf»õ.̵ G"µ3O£Å²?¸‹02SÈéóV}/övy<‘þä}•^³ýqzîÚ{¢#‡AÚ¡Œ Xè²ë}‹¨°M&–Èw^ò,¿otE||ë¨ü›Ûáê 9­o¸è+„nÏÁد$ô?Ù¿.Ó'a‰½<Ëå!ˆû2²½ ¡¥Ñ˜ÿoÿŽC¢—sIAwn­=“G›;‚ó‰èš$¥>¿ÆþÎ7/ýL?œ-ýÎ^úÀ¨UêFùäļޠö›cíxX¯ËýûúÆ{Ku°'ö°Å9èt:Ø\c^ô~iÞ\=™p¦Íšy£°¬šõåùÚâÚe£³Ž]m5kr¾¸f¥ˆÍ:Ix’:)îÜÅùòÛÀÆaaú¡õ+ÍuMÜô7ï¡ï+y®c5|ªVåàÍ1¹Æ8X8’ˆ0š€ŸUyÀ¾¯ÖD¬q|íùõu‡éÍ/€O|æ°šO’cröÂvY'9…¡Am‡Æ¯eh?Ð:…qH|‘Aÿ¶Œåï*í—óbbaCÓ¬¦CñyëlïÃ2iy£‘=\ÜÄÊCì„ësù¶ò™<¹ ëŠ#«: ãelîߤƒøV½ÏÌ&n_Fe_+šÁ®{q}=´[Й×I9¿~²/`¤ÎpõÁ¡Üê´ˆŽÛ9Y½‘_ÌuýYØ\ƒv§T>·²²Ýã§·«çfe¢;FÖêïÇs€ÕiD|”úÆÅZR/F°8ð˾FG¦þñA²Žè&…ž5Û¯¾8€¤-¯­†Îju„–s‡Ç”Ĩý ðJÞGWßÅñ¥ûãu™'“æxõ}¾µAIL¨|™–'›äšmð¢òмû=[sµ$ñžÀ+Ûc+6Ðޱ#?ß|ûÚ€”72ÿl#p軦‚_È7Uãã.Oïw•OL¿˜|.Û4ÿ¾ÊÇõ¹ýîþó{Éí²^jýÅ^_=¯î¬“²S‚pÜ)㳆—é\,]¦ËºÚß?Y„¶œ]_{¿]>?>¥þ’çá~ç›>4lÄuܪžWMroæž\KÞ¦Ç÷XÛnåù‚¶U½ßArbGíz€ç0-ûo¯%òŽÛÉZÍ‚fÐ@êSâzÂ?œV W+¼ì`¹BLÛôÅm¡üp-¾¤° ÉÈ gFŠøÆÃNT6Žáav»U}‡dV(2µž‡Fmë&Ü÷eÅvYXS¡ospS‚ølíCîmâ½AÀ^"_Ÿeg®_˜fÁæÐJ>éн;G¯îPg!}ÖµW*˜‡Ëú ý†0ß´RQò©tœ[ß s3 Üêa~›S²Q_èpÏš‹cšNè!ˆ¸þ54k;e‡PE{¯¡ºäÆ-SÃÎnÓ˜þfþ²”Nã„\wÏ ×Ø.+ÂaâcŸ‘Ñ™‰¹V±n7;r‚ Z=À ?7?É)yVìËTzÛ…½É÷\ gAÙ¸u)_ òU5³|‡–$°øq½dáJÏ«¦aëÌ+¯Û¹lÖßz:ÃCä’´Õd»Eè~4·Z? ÷“5úΟ]*;…Ûj5€¸P);—a>qIÈ'°¤hxØ:]‰¬¹`Õ›2@z¾8™i¦tZÂ;r‹“ ú{z†í%…iÍd1¾oF½§k„ÖÁ¥ƒSÁ]‚C4ë–ë^•¦[B}±Ål¡?Lp9›­,ZZ¯‹§g/+¤|½ÞÒ¢²1ïVÎ +EGþv;O‚SÛ3ˆžÍ>Ô딉†™^ï„&s ziL§}Eùâ­X]û¼=Mâ#_vŽZ'K ÐBUwe{F«èesùDY|Ä·~,\6'®f>ÖÐL+‘k– ­µiÐcÞ^Â9£¼q;¨Ê‚f[ÛÔ({&‡&fÏó?FÖ~À Љ½Ð×’^s×zk†À~Ï»õGž>ï¡JlȤ°®rÍ«ˆgê\Òcnº€w_Ÿø·$ìò"Ü›ÅÓ‡!ª¿Ü´Ì»™ ˆ IÊdƒêµZ; ®ªÇnÃÅcOù<|ã=}/6 ˿É|€ïõ0e]>u«5½~!)y_mf±Ç„¾¶HiÔn“g—ó&àÉÅÉ(¶Z¶ÓvtŽÓõ{r†§›”¯‡vPpˆ<>L‚¿ûz\æíÈ<Ãe6C¿°rd¬ÓeºUþ>kS~4Ûå@3ðê’÷ÖÕ³žQQ‰hõ\øZYÆ7ò<­M¢'¿Ì{R¡€æzõ¾Nú8C«Ã?Îñ;]ê—„w[ØÍA9OÓšBï`°Éõ#Å@åIÙVUîž~%öfš¹å:¸õú=¡Üñ¯TÁ Ç…u*ý~ù}ÄC7¿-X\øËW ‡ôüg_HB"¾9ÿ&9™—«´L\ù»A k˜N“ž_b¦4yí0_¦;`Öv0ð¯ÿõ¿ÆŸþô'ü³öÏðOþÉ?Á?úGÿÿøÿcüÓúOñ/þÅ¿Àÿþüox|\î‡h‡ÕDñœ·ÖâBëÑ)åÇIZMz¶·«àãlkÃ> làjIñ^Ë'¨:YÕΛ֗—û€ó3¯ñ„g[³fümOCÈYØ´ëýù€ê~³G}ŒY'ÌåÜÃl­œ¸ë½Uð˜Ë¤èä%öºU¾Ê6˶}< …êýÂtŒÆÐµÜŽÒ<–-ûPó”»ÀU;— ˆûÓʤô\·æânÿlP›e}àûË“å—wä› Ï™fä,&çTçܴ׉L›sëJûçäß»:¡3—‹ÇôþÏPŒ5< $¥CÀ÷þÕ‘ŠV#ë=Æ\Œª~Ý|!ÖûW ë®ÙoÊ8fîãÏ.?¡›0À#‘Éý>«j ý5´·»ÈZFm®Ršø‹Ý#$5“`~›Ú*3ð°ƒɸ>yÜÍŽ  åBíÇ?ÛPjV‘íŠ \îaé»üW{Ëiòþ]|agÛAãš›.ÒduàÑTV¾ƒdjÁ(ÄØý°ãÈ›ßçì^#«ñç?ú”V›kÍ1v&FØØã±fÔûö¾¹Ú»§ó@³ âF°8äL'Hªn9Êý|1›þqˆqï&+ÓŠß ¬J>ÒúP¶Ï§°Œj&uî—ÓDÍ·¦Áóü•Ïk‹uYkö€§°°z4\ û…ɹÂðp`onZÐþ:‘g/¡±’=¤93±0¡×c‰ »/L5þå [îòf‚-•4´tµ<$çÈ¥Ä^¾ó-Blý;õ´ü¹GËîU‚£| ×v/Ãõ2ß‘ _NHžÜÆëÂtä,¾.ëÓ®ËÌŸm»ƒöþHF>QSÜEâ?o‚÷åyòM:EßÔÀyÔG ]­™ç7=²:‚ë[Ÿž‚ç¯94®àçW>zƒ½+à˜Ökò f·›‹6íˆ8iïM‡6;D6ÂCí)·ãæ1òé7ñV­^¬//À¦iÚ®Ú‰À\=éÍÄæï¹Ê¥¾7KõKØÉ× ‹kxõ'*)\p½ú"ŒnİÂr¡öÝUÿ\щ­TZ8p¢ú¼ŽÝ^­ %„ï¼QŒ™Fò#QA÷ê|•/…ŒÈÃýS3} tÙTp}N'9øÞF.ÓâκÅ;iñôê0Mqå<€ ÏêƒúU2ïMCžDøÃ¼£v5±d¨Œ†øv®Ð7D|º‹åHítÁæÓ¤Â'= g×°>œÁ(?){”n ÅéáƒþÜT½ÞS³’Üþ¡¼}ÈõYˆù–5?DÚ§¾8{óýÝòØÍ™ækÔk&9Qsþu‡YŸ>ª-ln”¿sj,´.vwÚߟ^­ u`ØÎ6(ìòfÞ©Rà››<'¹FøëÚ,ÿ~(P[ Qº˜£3¼Ö—?àÃrÀœ¯V|=AöÊ15ïc}K¨Ñ…5¶cZõ1®ÜåyàãÓ2?|m<·žÊþ°´`pD"“ó”b§´‚/|žTã-/wI¬…à“…Mq}eýeæ`ã¤\ÅåàéÃ#>»e¹–O\¥äßœ!šEØ|¼˔Ïas®éû 4ŸæÀR|ŸefØQB8½úü˜šo>çÌÎ`ZŸç0ʵ··¼!~O<„Òm¶ãYR¶¡oåw澟º9f},Ó1HÄZV—ùß¶‚œ ivd‘†Úpœ}Šw IDATÕb‰qHu?; ~ùû÷rÎ'ï‘,)Qíbìî•#ëK³?rŘ Ϫ6LÆ©÷,ÚÜßÕû¾'­ªÿa]äﮯ!äs(¿¦Åv! ß‘¢Â„mö͵ëÁì®!83Á·)~Kÿ©ÙNËÛÕoӿ×[.¡¡½øåšžõlZŸ³=_þþyùø½½ìYßÞTcà|Ëc‡kÎ¥XÓÕb”À;‡ÈÖ¬j>¡5ˆ#ù­×b½.}ö@éI‹¼øº ÷¬œc»0/žÇ‡!ñ-œ„êÂ~Nb»Æw_·ªv%ÉíãER®(œ‹™«"™Ð\VÖ¥<ÇÚIY'L'Ê2Õr@ÿÛ-„%ÁU­ ž¿/'!é{ 6s½¯i4ÊÆUwe ?¿1àæ[m{iÙàÖfw™|2‹*sˆÖê¸õäùÓ˜ööƒ¾ôý×§ô~WŸˆÁ³ÝrñZ|[Ÿ´NªÁå(hCµèK÷kº"[‚¶ß$¦ýjå46Sè3Œð¼·¸.‚˨¡ôÒ*8d§†~VÈNž·F©ó—ûè «ÿf-ÛC¸[έ\‰ëZ½sz1#ß)8´|FÏÁoõ¼":ͨwãÎöèÇC씕ëÖ+rÏè¡lhgw˧ 82å™­÷t‹&…„¨,xêZ½¢x ÎfD1]‚»½|Œò-ó`šP¾µP¥;“-_Ý·®¾²0y¤<ÒÝÆIYé¿ß)-fQC—ÐLÎW–—óª¶àïÐç|•'älÏÃ÷øH|+_éìˆ<¾Jc{Šþì²ÞAÕ˜´7$Ì 8+ËÿŒ§:h"'Pò –¢8Á‰Zî`áöq—#VÖe\™#HGÆ8Ì»-Nd*ŽGi))õ µÇÛ½ãzçàÿgïMbdÇÖô°Á2HÉ3"çáŽõê=CmÃÜÝ‚--,@ð‚ zc@^Úxco - ½×J Òª^É’a¨!¸_½ª;äÍyŠŒ‘3œ¼8¬:dŒ!ï}¯7ŽUÕÍLÆá9çÿÿïÿþ)¾×RÀñ *—OÛïµõ‘ù0L: Y”¤ FÄ™~ÅAœ5ݘ48Üê˪¤íÔ>ß>z8–Š»›õ“©£Ç¤ v@t’Ñ¢Æ÷·úß=uûêkéH@0§Ö]8¦ûZ­%•Õª„ººÞfCê¤ ù ‹žÑIBä´™=÷ÃVœŒî7s|¯øý+í׈Ýb'(H%»8á&¸@ã±ØVÎ=ªKYq5Q8ñ’;%âÝax¡Š¨ÔÙ ¯Qï‰ðwbìÍÊX¯ŠŠ(Aa6w¦ø½ÕIÉõ€:™W·Ôùœy½YQ ÀÜl¼])^g_8HÙ•r ’³tXj}‰Êë°ºº’êæ2¤¨8˜s›(B³<`òÝaj\ˆIƒí®ŠZ’pöªÚ†0ÎÛáÅýêŽÜ‹¡–8è«“. ÕÁy}6C÷$ïX´XB \}¤–þ!‹#¯'!n\ ×b£œ0›DÙ¤]yç{pGùDÆ.ñÎ?X$@ Få„÷Ž]/g‚[CsšÛÛ$$Qe¯¼ÒøB?G¼“ÿy#Ni˼-'Hu±»yJÈ·¥ µ‚¯ùÄõ¬œ×ä€ÕA'·ëüüË yJîWü”%Gk»ø}Â$ˆS9¡Dݬšê ®(~i†ð£ìþ™×årÑf¶¹l‹èYÌü˜ê˜þ%!c‡ 1å0Ä©7èzÒ¨=Càózñü­Ô,³f—ê‡ëGRåZ É3húø˜ºß¾]\-n–$:’V'Âð ¢ÿb-D55îS€ª7Øê¼JVO‡Mý˜&' Òü¡?mþÛTê×ìÕÁèOKOõzo*‚H¿ü—ÿóùfDà|>Ç_üÅ_äm°¸=‘X±ò¼ÈDÒÀ$ÝIkµÄTÇ€å\b´ìQùeƒlbQ°»€o7`TŠmT½›'…ã¹~6KùµIbÁ½ #Öà‹M(Îz_ÍôË;2ºMjo'K…rŸ­¬íø]yÏdTÎÒWÛd‹úÒ˜fo½Îý¾q ¥[^ت/U°s{ôüVv2êR˜åå>t6+šZ¤¸ØIíQR¸µó&ûîrêWÂVª›ñ9Åa¶“Sù,X4ö“¶Äs¦ #ÕÑWæ·õg<•ãåÁÙf<5 $kÃì»Omê õÕæA¯’n_wc ¯RÅHÝêÞ7ÑSgí<æ¸dî¶z§,=ã©Ü—¨™.TV—Òo» w²eåå<Š©ÿ¥kôlB¦[Úzþ ¥Z±NŒ þ]9¶¨¤¬Ÿ &)_%]à¬$‡-rÙ÷vÊ]ȃΔ?Zü³?d¹3M /G¾6pï+ë»p• ŽS]f>¨Cp\ùY7¹B’¬îS»Ê*¬Ø»ŸÅ$çKcðvö6÷IÃûnÁ€nãJÒåÊö©ßÀѤ3º¯ôúù±A%‹ã¬À޳këÙÀs¥O•\tH÷̰‰¬8K< “—ÊTÀ""œ@¤'q‹Z æ¦ÜN9z¾2ðÇ×Mð(*|âãnLßáѬeeèˆ%w]<¦ÿ®¾*O¨«%…ÓQ¾Àž·ò1‚ŸŒ „bN#++=™è@“)Çf_|j{GÚµ(%3‡Ù»}¤fmBwQ|ÏÔ¹7æšn€£zù‚8O737›|²/gŸõÄÁÉ#x|¹/Q­¥ö¥™O€8³¸Åüð„ºŸÅ*³¥¢g½SCà¡ìd÷Üõ³üƒæP\›Üeƒ¡úðŒ-÷·ÜHÿv»Ø›ªÕÁŸ¡­(* “‘¥ÍÝÞt>®È‰žÊû þbœÕÉ›•ùC>‹KšIÇã½.½OºZPÄçcÁ^³Øßј¬^ë„Ûu³Ìá]©u—&ÅHêj.lO¡x_D9'3Uésïï–tÁb5Ùy™š$¤²›uS­<göV'ò<>Û¼æÑ|_Ž)†SâïîKdÞWb0sñѽÃ,ŸÕa6KïX-i’3@ž¯òŠº¾µ²:‚×ëhõBô;äž)¾ß.—+OÞŒ§RÔ‡›O|²Käâ~NäîBû‚ºàcΙ¨Œˆ^ºe#„©Ä±QRìtÐ!ÏâäbŽO©¬© ²GÁuVÏïm¸¬ˆ «ønó5Ø%2peå9ç½jñ>½óö¢zOïç½G»˜ùly2öô&{¶ÚÒQ¿;0gtÿý;‚ëuku÷e-É9xØ€à}Âó }F#ëiʛŲ«;!,ËBeåÏ–ËqÃÐZÏÁܲä¬v®Ü£Â÷“´¼Ít¨UûúÂÃÜû=fe"róþV}7øªï¹Œ“~G¡øÓmäãÄ šâ´9ªû£^^H €M%ñ2Ü»bŸñ™{,à”ÊÏ÷”¯Ñïòr'($OÆdE\ëdÝÕÊjŽGg²Øxoóâbå´†09Ÿëñ’}t·ójÑ= ‰rµqŠo­î“ B+ ¡ú&&²ŽH¤<óí<Ë)ò¯²˜0bŠ› höšìê—ãïš[½‡*OáOɾœ ¨l_%…Œz•èÅ7•Îz¿R08Ý~¬ò\^ùjœlª?cV3ëzâ'Çg¿üNƒÒܬy/œa>_,¯÷ø=|’äw¼G1_Í]ßàE|•Ý‹Sõt«ï,˜×OT€œÂîb0Dp½:ž}ÊÇ„%?i’*b2Ù¤‘KìhK²aÙbÎO~xNš9¤T\ž¯vÒâ ¹ëã㥱Þ*•.™n%:䉊køcž'€Ê Q.ŠÌ©¡µRc¯´Tå\]/Zæ Ûæ ø[bðd±ØÉ¨n0ݳÛ`@Üóô ª*íCS¾j'ÄÈ1¾åçqšNlËòaÊÙiqÛµgœíº\Íœ16D CÌC¢´}1oÌnþ½Yp#œ6v Œ]è r Í/÷øpKîÒî»b%cy _©Qóa²Y¢B‰ ±?Óó¬íf mcŸ¾«ÐÌÿ…-ʼn{ºRì$•a5+'û¯D1µ*ùнnTž™® µõ=súýŽDdY7éYŒøì»±ƒ¬âj³©¤‰ 9Z_EW‰m8düvÞYMèsq +Ä«¤ˆyY(I—ºõ]WY¡lW°W9B¿q’wæGs ÆÄ|È:M»Ýì6R¤Tð¸€íûìyäü&×Y¼Ÿ´#^ðŽ“ñ^{â1¼éfzT_J6”“Ì~ù3{냎ϋ,˜“Þ#?›`Ù,@ö¾ÌQíõ'Ae»CôÆQƒûê`µÇš·ébýø¸ÃÝõ‰½]*[·þ—,€W¨Mh¸Ä¨ßÄ—øŸÀ§Ä°›ÁæÅ$RŸ¥NjÝÊ;"éghK£ÚórƒØÛ߬kIÀæïvù¬_¬›<ÆF}MÙ ®qT=Cÿ ÑÓFª½3½D“§º4´É}ÖJÜ~‰P[úêyPBÞÜgŸH¦ä”ÖÙG#qð¸þjR7²-èɘzC™}õýÐYÏWÄNžrð"òÌfÕÁí´˜Œqœ>Dg3ï9d¯½Ë!nó»BdøÙ,¾ïޤ@‹m`?È߉±NïõÑizì¯€æ¢Ø¡{²ï^¼JÃ($hÜz§Kp–’JÂÒzkº8õ7Ó»²&à˜¡´VÛå“w¤+ï³8ò¸ÃB•p©rJ¾Z—ÍÿÛ4©L+$Ùo­HÖRLIÎgÞ¦k®ù{¦§’ øzgJñHjàfõÎ0é6윗OÕÏÞ!µÉéGÕµ¯£v‹ïÁM°~öÉÂÉgüu}êÏ$°¿ˆ ´‚Íîî´‘·ã|2ˆîTëäýÎ]ŠÓž¼ÕúFûí‡ßdñÑÝ…†ÝT¢ð«&‹Ú(ÂÍCv­U½0ý8žSò³âD‰7êæ.‹gžk¨º,.ÃGÔ–:"Ë• |{³±Ø½¥Â)#¦IŸÌ1¼$Ñ€QY0*uøÌ£%£ESÆX\MÌÉQ–Pyª8°;víäí\W¿Ùóýd<„wºOFÛzÉØè·» |±ެŽé=©x|úôi«ïúøñã/E2¿è» ,¾¾#iÇ¢wÚ_ NOøÍ;I>oЩº¶T aéôŒœ%b¤6"{ç%¶ÊSÜØVÈ Ywägew4áÿ㌿÷÷þþÖßú[ø“?ùüÿÙ?þã?ÆŸþéŸâÏÿüϳ¶X \FGÊê‹7RÖöŸü'b á¡ÓËÛÄK;‹ÙÙZVFkÌfUÝs÷>åËÑ»ãœ;8Š8x“ì÷x·Ùû5ŸÏUò¤uå^—êú[½£VáæÆçÎ º¶§¶ñü‘îK=Õ%ZLö±Vc|þ‘èu‘‹1âE4ã²µ:ØiØ1>OÊŸ+Šƒ>ÌŠ¿ÁM1æQûÙç[›ìêZÍ*Å]*‡ãº¹• _þ”LIQ7Óo¿>èÀÅ SÓ*„‚IBÞBî+±‰ƒìÈ? 0â²ç7êÐÂíøÔJIÂç; T­Í‚Aó²3µƒrY‹„Œ“QØ;B"Mô•ä|kîmß•_‰É™~zʾÓÓe<;>Ä÷YŒ®Ô «ï«Å QOõ¾ÅgS±X”Ë„·¦3ÃȸŒ©~~}°YW¸ë •Ý_Ÿ !ÖhlÁ`„4ÉÛÈEНõ’D.?¢_*í“Z½ÀO\o·§Â7¦;9óOˆSµgû7à*½„;¤²íõ‹[­ JÞoªòKÁ¤ÈK|Üò„ö°Úøê{ÁÜeï»—ßcOÊÆD¨øN>ƒ>B0Ëý»xžõé…dÒÁ«Õ)=µ©ÄYTžX˜˜ë?àNÏóªl*)¨±Ô ð©>1ÄÓ‚¼''wU`™9±E|³8Ø=ŽÉz“úó_ ¼>FIÂÕ3ŸðqùgÇJ¹ÿÖx?€[ËêàV-«šªgŤ”i’$\Kq{|A÷AYMÞÏ׿êN=.ù µ ¯¿AÊêŸÉÓöÁßÊ#ƒ3û®œ·>©L+è|-Ù$%騗w³Öà<5ö¶zŸOs®”=_-Å“5 ð?£2À«ÔÍíÆ÷Ùè¬à=\Ý}Ù?XÒœ€ð®<¡úP^|g?«Ë$>o«>ωﵻ³úÞ˜œ„~;«óyo³s™ŠÅEh5c£§ÚU¹- é»\-qÿ¥ŸE¹4œ$aä§{èµâuÍŸ¶/ÊÛí‹xãi}4ÆxDu—XwqËæ÷j¿Iîâ™ú ®SCsÑ@Ô#wøóˆÛ¤iP¯±ýš zi¼ªI·ÛQœ]ÃYÉèu/¥wO¤|ró´9 öScÆÚ„(¬çß'`ˆ®jee)ÉýœL©.k´DœñŒK⊴«©)‹;Z;GT6.®_¦Ç+•òDºá<«GûRÞž¹³,¶: YÌn=üì^LRöÞÑ×wõS“¢¥{ó fª1CÝÏÆŸØ°…Ùtó{wà <& }'‹ËîY7«k*õlR±Q]¯y}é‰yýÕ­åõ]'Îßå÷ÝÍdæR+Ž•[žúAqáÒÎ"‹5<átWB´\–jròeDöK9 kÍòw®Ú8V’8tx‹ýi…ou¸ñù Gù»Ç&ç³s’MÄ·Jü(Í1PsŠcõje²Em³ä¯ ÑuZ­Ž¡ ¶éÏ›«l+KïY±ˆ~PÅÄ×y~YCê¼Ó{§mÔÚù3?iWP™Ò›ø`ûï4ÏóvµéæÏ¥i¬n@%¿&ØT¼†9+×?‡%SP^}¿OÑì—óNJ Ë÷â,ñ_=ö뺯fìëùï6þ]9*Öë~œ½óvµê1‘;ëns¾\tó:´SU§vTí%Çcoçåâ-MÕë:å6ƒ5òzô YnE·*$ñ0:b¡ËÌHšÅ‹US`\…\ЇûümpjJvaÕûÍ ðô±#U‰zykb1,$AÊ<=—;÷6Ù ¾Vì´DUMf»æßg7qÚÈû+'»þÍê„^ša'cp©¿[¿„ ŽÄõà=6«,Ò9¢ðZBA@•¤…>šIUDÍÎÞækª°Õ¤Š-hgßéRg£ñjï³wÉ›Êx¬òL›>஀(|J@õ÷bXêñv#½Ä7«#)ép1¹!¿ç›” :«¯&åÉZ6X /¨ÂìYå¹Ð¨Bi¾+6æ[Ž õèz¤ |þ¤ëª>ä$IFH*c”¹[ç¶ž—ÿ.Gò0åÁÜ~ÛQéÁñÉ^!<䯕Ð'¶2"ÎY™ãnÉ ëu¨qÌR—G=ÂÝåúó~w’]ãiõ$óÿGü&:÷´—MTnìíàY ÷¾>É&†=ü”Õs½¦$]âÆ Hï '?›ä{÷¼Yõ’$›=Ä«+öõ¥j¾—t'ßáŠÁ\«“'^ü$7¯°ª™”cMlH›£I-Õ- žB {=Ãaí¡8Ð|ë’qØGÌiyÆlGêy=.ŒÈ{ÕäÕÉ*ÖMWZÝÅE] €Øá+YûtËn¾ÞiA’·#êiy7%>ᆫ“ æRr‡C}¡MöÙ]*Pkû­û‰ËÞëfµDî÷óŽÏûÛnD0­õ:g¬dñƒ¬¯N:ã–¼óǼ½ã˜vNÔÔ’gò‘‡Ãvy0ʨþ››ùýŸÌÉ]˜Oɹò§}qå•Z; rõ û,Á¢:-𮝴ï[Å¥6j”2ñ`£³6“ª+Ë­B÷ò²ÅŽèæ&ô¼õÔØÙWî¬Ü,U˜ó.àù¿ÏOó°Ü9XhÛwâj'{t”è*[“7”£zAGʨªÀºÈÞC%•là¹kªM“NZ’´ÞOº ¯Ë‰äS™Ú ™q3 n¯Ç£¤2n^EËõ²Á®wõléÙõ·KswHBWÙÜ6¶K‚•oe¢;5—ÈÚúÅÍú‚*ó´¸Õ%¦Idë.™|àT¶#ýZ•ã 4•_ã@¡þ³?†©¤ &U8n4f¸ÈÍ] 8òžj`‘“-ì"—t%ï2d=ÕÁ!w†W܆ºr§ß™“{0?KÞl€iKÆ'Ë]zŸ+ì¹4£<ñؼ¼ÿö¬±ZÛ~šoQl¶»äpZñ{uë;¬]8ÙÂïh7ÆQcû€¦êPÅ(%Ó *%]xÕ×4AÓˆ²¸¤h"~]B¸3#÷æmSF}©«™Ê­îhäµÚГ€žÁm˜©îVß9.Æ­]¿.)ŠœÚD^e›&œ;å÷½ê%Åúr9—yq›*Ô=§ÿ-ÔLLìa±¼<æ{Ó,æé´¥ lÁ5ÆSy£Š‹¤cÞÕҘöÝ}Ñy¶Õ‚—lkgå•KãÄQqѸùáÑÍ#4|ñ´ jI‡piB|Y¨àzáàè?|UŽ™›Ç,­ÏÔÎ ºU8÷ùf J¯‹n/Ë;†]L†›.øO\xYgºæ{¢—ºàänö˜îWÉa#é"'“¨œÆ¬ÀÞeíðSò7Ži é‘}¶+C°nASœ¸XW16‘×N;ûóׯˆ|9KÉP¢ðÑÆMê“–“p޲ñò³ãÕzÜ UpÎ 5eM(×¼Hå«ßL5²(G^oå±UëGâ^ S¬d"Á$\ÏjI‚ø~ãV€+‹èd·–õƒëQ>6÷ö«ÀCG_à˂췴 ëz¸ÜŒ_’£dÜnXHß—÷¡,%ò6±{‹,/ÑÜ ¾xuGö¾_ÓNÕ^ŠZn¼'~ƒÞ»*ÈþV”¥½hR=𪧀1èÏ[­ÕwŽg±§Ðs»ð©®ùpµží/é£ C÷_0«àçźi>¢ï¨ 2|áe dŽšÅUìRB¿SÛ¼!@$ìå0WÜ3ôo‡1Ñ7õœçÍrƒ† ã—Q;Ÿcs_-ÆOn¯qC×y<0~¢q£Åtu1Âü·WY=7cpØYAUl®—YÆÉÚ1 rä'ïc8†À–ã»·Oè¶µÕSu”×߯S죛Ï7‰k@1¸26Á¤¦‰I›óåv½ @S›l`äS¹¶‡oñ.žÁD›w«všô¾Ù‰ù~é>)RDG-/üY¢$7OØÙÛ/vd}={ÙƒýÍ©ön¹#@Öl8Úïàú¾ôR;|kB;ÊÉÉø_ÓÜ,jiÈ 4fUT—FÅ´Í<ñx"=¸û’Tµ­&Ò¼Ô(ÒSe»öãñ8|Ñå ž¨ÐiO ¹²  ÏUòÊ/Ò×½5o;"ÃðMì„óFè(ʨoöÊɦ ÛÓs·º¢’EÉ”twòzSĹGÈÃðez&ãPžl^~žô©á6íü,Ð|­¯®:7M|NuKQ‰þÕbÃÜjæ“ýìDÞU§8q=¸*Š2“¯¶rzÄ6:þj'G:Ú°r,v¼ÈZ"&RðO«SÛÉ£VÕQYÝuöŠ¡@Òz, î6(‘hÎM‹Ù7úñÙyÄóm~¯ rC%K„h`°àÁ/92oèyÌfY;ö9ÕÒ[”ÛßÚ,ü,HîêØ]$ò7ç\ÎË ƒ…’uÌkL^¯-’äûêR÷Y¯²‚`ä³çÜläu\§I~§¿Á¾ÊßCC̹/ë IDATîå<_åVËõe¥½Zo[¡‹p—ê­úË~ÏÌ2 OÎut—¿c]qI7?©@) ¨ï§:évІaRÑj${>Sy´DêÚc Ö€$TESb‹µ¯/:Ñ~@„âà…1Ü,Aè¾R^õ?\ºWIP¥:¥ûáŒC,ʱœtVÁôÁÆ…AtÈ—½ÇÓ¤óÇg·©Üz‚rœ2\})OÌscæë³9÷)e»É»ëÕ]¶|?¼Çòn-ÚœÅ^}5žlÿ~;$º+ ”îrö÷F+HÒ0!¦èTjDÏU¥CXwŸ·^G«ßSITÝÛ)¾ûúåÚ¯©Mþ•šÝÛé|Šî¢«÷Æ7׫,ÃÂi¾¬Ó®Úø}|öK8šŽ YÚƒñ»KT´ì˜Uý%Û_X?ø¦ëú®+AÔ°%\‡]p-÷šÙäÙØ¥ÿï5ª¨;V«åAVW'öÛ ˆ³I‡Úƒêžˆ7bË; Ud Ó-»s¿•Uô»Åwô»’Q…rg3ÒøÙÏÞE}`|¿:Q®Çô6^ûã°\G «<¸ÿÛýœÅg‹/àSt†¤Óý`ºœÁÂ$—Ç5"7ÍæzÜýÒB<ØÇ•IÎwÍð‡þl2ñ¸¶¨Aš_JP.wŽ$b ]yp²>(j6Ö'¿Ô:å@LþNu…/p¸þ–…ßYä]ÔÅgt„—wqë´³ëaŽV㌛øªŸ«åÁÕZ(%]â¾9Œ |àò„U.5¢¶i”üž¬T±8ŸåL¸£ÊÆûò¼¢s ÌÉYD‹ïý¨–ßk{Fžë$ÅæÝïX§:I6[_-O·6b’Ïy gõ“ù!û;óóÕô/Þ _˜Sਠ]Y¨õÆyݬ}ùr2máy*!Jß ø©r´YœçDêÃT7Ãuñ(oð$ÂãfÜDÌnž´'`}‚p3Èc"^Ê&[|ùD÷ÍZâ¯ïÜìž^ZDo8· W¨~|¾çá&ÝW;vÖÎÝ—$פâ¯îlGe+^³¶´Õ #¦öh†‹ù„¬û4… ÆZv-{"ñ#ÚIœÀiÂy#…¯«‚‘ˆm£øÄ g‡TG‰¯³6¥#²`㆕*`±)–ºY½9­ã§Os¨lÂ1ÙäîšIœKd±Fx7Jq€,ü°‚“Ô˜Ca #Ïì,ÏâÆd]Göž‹ç)ÌGôf±¡ Ô¡ Ŭß[ b÷ZËK#Óï¯Ñx†Êå4~DôÜ4¦\Â1'`î¸øéM¶û–°Ÿ âÊåñóN?™ªP 3ï–psÕS€-ÖqK~˜:Ëâ1󙇖,Õåb¡¥:U Æzüunf9výg¹šÊxøthÝŸ…c`'©©»õ_´÷33*ñ‰U˜—tmÎs^e€(5ªö“n@*—ûËd*[ìrðîó˜„g5,„|½ Õ!Ïù =c>àª"êÉäÏ.ögêbö|lŸþžs±:-I:>Ï?ã Uüþñcv½·÷f"ÿ'âw׊ñèN{ó¢ê€§øåÕRC€½SŠ;.õÕ¾|/ Q… ¶$‘^÷³ ¼žåžqY^bÞXÏœÙ×t +ÔÆ.ø>Øx²ÑžÔÌ|ž>"6ì‘+þÎXÎb4ÞZóDœÕ¨®y¿³ÅK<S†£•ûÇœìRÈç5³û>M®T³WœhXO°U³þõÜ5ûÁ/߇ç¥ó¨'…ØOÖHõ[˜4dpSS^.fÙ5U·+ùlæmGmNž¿䱉4™aPÏ’&‹~1Ž š'ôLÚÅÜšés`š¿9ÉêV A7~‰™êHÙXÏÿÆB6¾nW+)¬f€kø~Ê'­Âü1‹Þ½Ëïµ»(Nî^&6DÝ.AþvþÛ‚ÅG©µ¦¦ªž{>³>¼OŸAï6›'ÿ…Å2îSžwmªù¸Ád™û[Ä)ÛòmbL}nq¸4]‡£ßÛXÑ5Y”tÄ÷ÜzyÎì—S?ZøC´Ã´Rl‚*QÚls»9çñˆI rùï]ßy0T®¸€²ä3hIûï!÷ýs6‘b°Ÿ}¨ÔÉvib«&ÍÚÈʳUNÐÄì€qÑNÿzÉF©±¯üüå]º–›9°âê ‚;ºÄ¨ ¢µ: B§–G¢æ;ˆœ»cT”üù*n>¨6™Û)BwÃ(7Ý~üÕ‚¦ÀÕ1áÏò­ùf½Sp;Í:ʆ£3âJžÈaSYÁñ°$éÁ 2ÐWÊ ]!Õf—CÏÚ’¸™p’êàÖ`‚“Z¹²5SŽ3w’`–P\Ù[ð´õJíGt©©èÄU8rÕ¬ŒiIñ®º>¸#¼-—e^ ÁÈÙ¤¼êîóXÃcÒ¥pQÐÊ¿~²$+5 ˜Fa³TÕbº‚uüSžd½×è½ ­òn'µÉÆ[- õ d÷åõd”;·ñš§d¯Ÿÿƒm&ŸñvÝ1žƒgT– ù‡‹gTÙÕDŽ=i`·â£õc^'=Ð5ü‘¿À›¥n)вH+ ?'^,æ—¨žøé&Ÿ¨ÝË; µ Áõlsù$èк/‘—#ü>>'1’Òîz+¾9Å4¤òÁ%$R³vŒ7Â.ɸ™§§ •Èäqr‡Y=kÙ$ñÙó³z¤qDõS«•µcoš Ì&K!oòòä·Ôkyc7Bœ%ò×\88mnÞ¡öx%î* \Ò¥&ðV?çv˜ê*ëm7RÅëЦœFÙÎîe35¾jþ°yuÎcªµ´$³î^,‹Ö0E2‘síŒ Û+éŠ3K%EK³ì}“yýç-AözŃœt‰dwÊ“|ÿjÒV½Òn%Û×%ewÔ_£‚b™–KðÑ(ÈîÏ~Tž Ø_º'É© I柸DÖIûé–¼#ŒY¿&‰Âí=g2Ñ!}‡Úej¢þoê"~îÿQ'¤]шµšJ’È9,$]˜ '¯Êñ…½SGwÃqbªZ!̤[û¢>HÙnrß•Š<æ "3E0ß›·àwI0ær˜½µºµâ÷õ±¬sT¦ëŸ_·Ë“ßöcr@ßó'KÏ&ξßAéàÍ7y‡ÏÅêÿ^%ÿí£œ”SNð"{qHÉu)•Ønn_-;2ŠIÙÅÑeŒ”•ÏJ‚ór\^>¢ªPÿÁ‘£Ÿ„Iù˜Ô‡PüÎ/YÀ¶—Q)©Ž>ÿ!©"Ýåkxî¦j(Ì»/p¿Ü!Œ©ß#Xöô>U ͈…PÐøzÅ(Ë_pKLýK¾Bx?ŠáÚÛL%"·N`°&À“À„öt'áR<Øùpu¼ÌÒ‡±¿ÀCp‰]ÍãJç©|vo­û;ÔÙ‡o^@þÍÙVû·°©/<—Ë9¾”*÷Ê9&™‰¨t -;©ÂÆŠ©³lQgs·\fæ5"kaõ³š £¤£yÏÏß±•}ncp²z_›áÏ`©Èuj5pvHä¿ÖÉ’„5µ€o{¿ƒEª³tóu삜³û¤p.ÙÏW|¬œÿ¤ã¬Aî…²fô$¯æñ¦úê׿Ä=vR^ÏÌóïãÇâD¸'¿Š…YGC+ÆLÖËôH¼Áx¤vÐI·ºˆ …nʧv˜ ×ë)&™Lîä[‹‹y‡yµ‚pN×ñ860e̯Þû¤î}„ƒzögïšä{Þ¿–ÀM©LîìÓÿ¾Ô²áýjµ?É·’bÆód$¥@ðWͧ÷ç³wµÑý‡›Ó?=[K¸áT¹Žf'oŸ»êfÉ:–•ÅRòIž#c"6È¿W—/ŽØ>ï:Ëø”•;95’»™î¶VÏró¶‹ïÞ6Q÷ˆˆäî6Œì=©>糩Dħ5–Ü­xNüW‡‘Rh‰Ù¤×:³HxSâg,˜&êIq–‘JfUÍ:rvR9àPöó£§GÍŒû×ñ©äîúfy!XÜYÝ ¹žtçëzåÜá^œõß´Ù7&¶¡±ãAåWÇ ÕTR³#'¼–/®Üý2¨œáÖša‘Äóû~‚¯ÛöÞËx`³‰Øœ £¢û˜$ãùÊöFd|\A«±äGŽˆlô,§D‡ÕÙa±ìðÛZö” §YË9M¦²1õn—îNSÌÚ/˾ÀŒ³ñ^ÝA³ç ®Ùp]êïÝå]ób›¬YLux«¾]7zÓ|Ã*ÖiÌî Рúãp¿ŠV'Fx=]¿<~õœJÖî.Êñ¦·YQð©"ãê~uñD€rÝ|•šâôÖà.8<¦ò[x· DïQd<µÌ²±±ŸÎ­Ä×Ìr8übsNFé‘wÛ]¬ÇQµ1O*ök©øY3Ibû —'¨öòZ’”מÔòN~r©ç%#ÛK01^êNëv‰.¿ÿL±ùƒþCæwnŸ)þ’šÚ -MYíüÇ«}g¦ƒ§ð~ÒÐtÊ'§ìùD·Ê!ý޳–ŒsíÓ‹ïÇ›F3“î½(à7Ëí‹ÕY ’¦ÈêM.WÀ3ü’oÔШ-rŹŽ–··fþßDaŽN#éú¼ycý|¸Ä;Óu„Kw«J€Æ¯Ö¿8bq÷þéËò¯›¿Á§y¹ÿí[É´ÔÐo=Ö’Þž^Ù¾àŠµR [åy;~Êìå…U^ø²©Z^´¾áœ´ ß[ Ó4a$ø nðAËò©Ì~‡üAÁ]ü™ˆà½âˆµ£bÅX ¸çÛczÔ²)2™f•äqÒu¦U#ÊöãƒÏ% EMÚ÷{PÞ'R\›ù*‹¹ê# 6wUZ6 ð» bh/&˜~8\IÇ·Ê|‹^–xr‚hN ®×4V5« ‰Z€ŸN yòžÆ5Ý×zï½Îæà8>ƒuŒôqSr0¯ëÅ_¯çA^§)¦Ý&dYƈÍ>ÏsÑç^qõ¸{Y°Ù%£Ö¬î¢ÖÊDq¼>!äp©³ž¾T5×ÄæI%l*ÃI2ÑõËŸ¶ü‹-Ç+Ž… ªòôç̀ЮbÎ(PÔbElÖ³ êç\eö²öëeŸ_)¿" N)¿í køÔæË*s'Oå'ôÊåþMWÅîw 4àÃ͈gA úªÇšh•t2è~§ÏYrg_•S GFÅÉC~üVã—•¨”Œò×wkÐíB—êR9,î”à8YÇ2ÛáI”²}nu>»îÒX1 R¼“~…ÈÍÞÝÎ]ƒÑj'Àˆè_W¡ëÛŠäïÞvfá’q6ߥ ûú#Ýÿ’øØÕ§ [ë» Y5`Žå»}ˆKc§³ÌCù÷M«®µò¶ôãöà%dÖ¯·ÍRYÓªYì mƒ‹ÉïÊÛûÕg¸¸È볺Clz«³ÔòˆØaãywHŸë¢€t7³°Ë½<8qâ /Bö AâÍ]­dD«nÖþ½¹·yçªVsâg1­Á–Ê+SÅd$òSp¿âûèþ[­¼}ž/iø‚å¹Ñfã™ê§¯Vþ¼’J"=gõž¨š°õkØGN_–lwàEBq…p¯Z,»¿Ó¶'H˜ïÅ=|r躾;$ò¸`(Aö»Ôc¢ß8žâÌZ“ÞS½Mìk0~´2D=ô¹w !í:Hór6Zà§l7 €sIÕ‘ËuNxa`'Z­_j©Z;•ðsû¹É¢¡¯±¥»Tbb'AîI#5âq?•(3P³IÍã‹ÍºULÍ—àHÒk|’iÂÀ"¦ï7³©Nc@åça^<&vÎÑ}Š ÔÂõ„½=¤:ñâwå6¥R2àJ±z㾟8°Íî.KÉu»šÝCsºùø¯ž\Ü„;‘ñyœ×çzÒr\ Ù¨ƒMèRVöØÓ]:õc5±hÈÉòTG0Þ£ÿÍ é6“®¸ž¾ã¬JïÁ^REZOªïy»§AÞc·ÒEôÂD;3Õ•yž4ýzG…Õ.?w™Ù¬ëJºIJ¼¢‹ÜwGt ÓqʖؘöºÛU²îííçyèW “n–±Ýè¸]þM¯®Âªw°Ø#8Õ (©è¹& ‰Ü×`‘Å%s‡Ø˜‹¥îÑ=‘çªLÖæÌï0ºÛ kÌ“b +nbªôÐïä÷·6Ê>k!Q½{ÓÜlìŽÜHŠ6$º.ýbܶ0IÒDuNíÅi*q„çËï°šœ£nßyþ%„]sõ˜£LG¬02ygVŠð&…ç»Ïô»÷’Îàƒ’Žß½Íæ´Ôh˜j¯ ÆË{F’‡X%¶¦ÏÚ8ˆSã*ç¿Ã,ñ©ô_NtêÓTö_|åá"I¬öR­ÏåF%Uõ=èF¨)!KUïºÂ|õ:e°õßÜÆD΃#”Ë÷ýH‡0 qaÍ`]ç‹p9îdíw vйƒéGæz^Eç¸có¾¥o1àÜl2Å•÷mFèÈ|xZÏ+ÈŠíÆàlÆA\ëÅh!­Nµhpúêy;¿ó£NÈî^ÒU¯ï4¡1Ú‘a%qÚm ;gKcP¯ýÚÔá°«“Ø+·T—\&#Þ;ێ®Þ¥ãpÄŽ7^¡þê,óu]”æwDÞì[ÿmà¨übÿìXÍÊÁ¨–$±¤¦Þ„LÞ¿ôýì¹·“ÔàGò÷ó° ©Kêà B2 e/áÁ.î¼î¯nr`„-ÜüD0I·FÏP ®ô"Š“Â—á‚›ÕkÒ~68ÒkœÁ¶7çÒ?œ¯æs‚úöçwžÓ“¤ï‰bÞ¾”]ÔP€Öi‚ÑG¨LWó#MŸì ì¡å×!{kø”çâžâ ûœ"9³ØVÚ“ìwV£ìw´¥dTìÃs|VCN„ok`4"XJ¬}]0©f(lÈ8Åç®—t‹îîÒ»¸XP¼?¨à.¬zñ{I)WaéË»Y]ÙLÆÁi\VªT=&~×ÔXí{Þ$c(c?Ï­øLþoÉv³MºŽÝ® ‰Û,Ù´^€£~±Häø·|qòìߨùM½$û9 )Î…Ü¡(I’×¼¿p,¶ÑXv™ ä‡þÞÎfÒÆ;z0ý&ë›ZÅñÎ:Sn*NVÿÛWWy[s”÷!æúo‡R \I</,NÄîð~ær7_ö’'×ÊßKÌs¾nÈ¢ÒÍ'“¼m@˜Ëˆ—šÔ¬ì;¿æ³],çvVî%ñ ­¥é –^ÎЃ¢ %~\wÕòož±fôn3;Ö{q“²föûîoL°Çëù–$aX›rPˆÎ ‡«íÎCeuÜû$i,¥ßæý$·à…ÞÙ“ª€º@ËKÎ~7ªÀOº¨{õµµ»9¯ç·’ñËyMïE8£|ÆUÅßø‹§Í|‚ù… ¿[õ•¼ü^Ùƒ6[=ÙBm/5ü‹¿V#gÜlnƧ¹Ãâ¤Téú {ʯ3?;Ü  qD·¿J%A[ºíGª{\k}|uÀî¡–ŠTׄƪÏÀG/k,^«Ù„8ãÓjßüÁ˾o«AyhÛê¥|«õ£¹+·ä»ªB%yÿìÏÇ?åñkÁõ5y³»'§r³yù}þKú¾âN–]Å*¯³>f¼,¡¿¶àð))ˆk6†‹ƒ^åy«Fläó óâø¢ngeüm3«­0jlßú£ßNaI‹š%…Mµßsñ_Ù¼¡àÈ~É >`ªGx¯~v²>¿"‡úçBœyX¡Ã˜9y™w¨å:Q辞ˆ±žW· }·'¯oÑU¨ABÐ $LS«ø­yÁ Ÿ˜ç{êAjÔê÷gž¥ÚL6“dÆÑR'Â>Pif“áîò‚2›„øY ÿŠTå°yOù˜®½W+&ޝÇ6˜>1°,è[´9R ÏRv¿OëÉNW§Æ¨f‰óÇØ©äÁA³ võÓ,¸Q’¹á÷ÃRµÜHï·'¹gãb ›œËYƒ¯[+œÉ<ðUNéx´q*i(eÁAuî$`u‚3u»N¢]'B`dÁy3ÖñÅ/6. wõ…žTÀ¸Ö@ÔÚ}™¢2*ßLéIcV\qÚXʱ(Pº6†By€DrVƒUÅ µ“ñ"Žáyƒ.+;TçŒ/ ¾¿—}Ï'?ë°YŸ)‘“N¬4½õ¤ü“—%kæcr7ùÝõã´ØtóU¢¿Zî/Â_1K×"”¢mm›Û Õãì~-*TWêäîþp_Nšˆ;D§Ô”üïŒõ£;o¯u¨ñfd’xüŽ‚ý个Kã‹NÞ®¯Ä¨pt4üòûfŽ=H>°SȰťN®­*´±Óv˜Hé v`áX¥ÿ.&àæø]ölìõÇ`R£§¥%jEUDÖUÕ€ìÃL ôˆ:-[C™ÿp¸¿Ú¡æÎòúÌX<—ƒzy§‰z?ÿÜóI¹3W/e8³·g´”×ÛØ:S[á4s—ª÷ÌË—]¢À%UìÀwá®i3Ï&Î>×^-ëvHÖ|]£çÆ1ôEêIn5ƒÊh¬ßßÊ.q Uv}ÐAìS;vö}ùyDÉh€É8ÿžªCô@ÿ”…^R9ý`eƒ%C+ûœY=ÖH‘cì¢ïñc=u~änܤ°Ö›n^Ÿ÷ê­D·¼ÆÜtá± (VVö~Ö6ž;›%«©îçOÿ;îç™°;ú­ _âè}Lñ«t›!ÍÐHº2ODÍvy öþ…¡›ÕÑæÃzL}ÄRŸšk‹4Zxûë_oõ½¯^¬œpè'Ý$yý½¹C0F5e÷‹qï3CÞ«¯fu¹l=S岸¤»c¡Z·p&g¿²ŸÅšBó½ƒíÏ´m»ZÉ›ê4‚ß[²©6•§+÷úEdàâ©8¹Â軜֊±× IA“<…ʘçÿZÀ@[êZÑüŽÂOZ'‡½þ|ñ²2³=§ ¾˜>œFï«dI] óÇ ÁH|£Ù¤œ¤­£•t‘gó˜öAËÿmœ¬>+N:ŸÍkðKÄ©yÇÌ ³fÞ—7wÊm™¾\óõ¼¯·§¼[¹7wµâb8ë§bnù8õüù2»˜N€*_ŽwC…Á~OÓgq&µ “s¹ºØ¼˜È¶Ê}¢ö»öżŠ‡'͆7æ¡x&¼oY“b,êÙõŸð<¾Õg,Ýov é|dØ«rŽ•ö‹Ö"îÑ‚Ž“-Ç`¾SHòð"ÕI\7ëtíQü'„«}£(;íÇ5ˆ)_è‘Ý,aòfJÿFXduK ¡Ï®a Ç/ÚÇæy¶ønõW…¿ù7ÿ&þøÿò'‚ÿó/þ/ÂeÜæå<0ó¼Û¥6ƒá_ëÂÈQ÷|‚áy~3;,–Ͼ+¿—±Ž‡$ ¤¾-æ îSï§}—=ïËTgz¾’Õ‘§ìzŽõ£»Ó<ùYñ~il©Ú ë6Ÿ»ïîm¢³g IDATuކBŸ¯ñdý“”?R±n>pV€Ñ{ˆÚ ¾åG®10µ›üw¡Ø_ç‹3¬ }ød"ØÉ®Ñ17/°ö9óßRŸ¸Ñ,O\¨‰*ø¥îiîôóóì?N©Íé;Pß@× Ùsÿ!™*¡t»ÐS.ÀXÏò»5cœéÖ]m¨ÀB䮵\ÍòÕ«$1q¾¦™E³¾:FrT0U« ªóï–° çã÷òa<ún)Ávþ\Á'Û‚¶´Mz*1¤Ý§z¸“ÄëÎÔbn%¼1À… ÌD%h‹¼Ü´œ&šKþÝL{@Cáò¶Š ÈÇ‹,¯|ef=¿}€Æfïm•¥zŸëRP›PEqEðUÂÈljxBtCL wº6Õ~ý{ÒêÛͧD½ÕI#‚𕩤;÷ÏÅýOìfXª>ÛÒ·Iº2ußÛùW}ì(«¥({žgê›ë« PãüyOïfµÜl„`ÖŸ`Œû”ٌͤ#dAq•$§¸²èB¸‡8Pߥ¼ŽR-Á\OY®ÛbWwsmK„?XÔñoèÿMˆàÄq ÝÄ““üQiùÂREˆPóØ?³÷ïâ“ û.ÿ{‹Ç+üÜ[†½›»yœíTƘ®(|ª)}A6H’¶/üÐÌR3_úúnÕfЍô¯zЕ<¾¬Ô³±¾êÒz^^c¸¥¢.î(ïg·D÷ìmÓðfD&Õ6ÅÓlŸAÿ}•g°m÷V’© |ªiM½à]›já:ùïžY´Ír¾vJ°-"ÆÔÅn5ï+k¾ƒz#oP¹ÅÎA½˜7V Z¹1VåúImu±…¥˜#™äQ}š#d³ù_fäžú~ñ^Þ87¸HM«yJš— ƒØ FÂ:ÏCÔÔþ©‹b\¦þêd«ópq].{7Yù v€=±œ³sÈoyÔØrºÇ¯î ^M¦žõüõcã£C²Sl^y %"ÕQ šÍ¢zLm?_ ÞîgYŸo²”¸ßøUÏ%qŒô^NËþÝÓtµ­¿8/çc [Iù ¼MÄõÆb'´sqœð’Ÿ¼÷1‡Ý&ÁUÑ]©ˆYŸ7²2*±yl4û²>ÁÕ¸:ßê^*û¯is²Ö–üòÉ¹Þ zŠq ‡EHð§ÇÌK&·…K~] O!ëÙËìtÓ« éåñsûÄB!`-ÇÀiÞ¡6\b «Êz¯äèýæ€sæP¾`ªˆ-«sQM:‹„3_¼l·™ž—Vì »–êÉúî fÕDÏ.OÉH‡ý=¦X¬NäGT){~ùZ~îÈQôéûÅk;îï»lùر²àKXj“_ñó$i]!ÆH/h}ÝÜ}Ÿ_³Y,°=äï>'Fo¿Ï ¨Ñ«jˆë¤j¸¿Ÿ„»W¯VÁ¸YÌ+óÅåŠTÜCm5áÚK´ÜSl¡oeƒlASHÀj WRDóã#‘§ûðÕddÃô¶xM¯j%•ÀÁå²{Üõɳ,ûÃ/ ¾ìsidæÉ›W‚Ì¥ÕÁXKö ·²wëƒI ¹¹,Œ*ì qæ{= TuÒDå®\>†ó|B>$çñA§F±ÕüÞÉÅÉ?¡˜":w²µóX<¶HN9ݳõFcP£tV¯àv‡ŽMQw©|7xªx»ønøì^4»»X\¬„»cZ½fhOðä µÜ=ÛcÁFk:Š8a˜ÉºŸŸŒïÈ3Eu5À2S£†K#P¸ÈÄSœµ¨¿Þß®sÍ/†¾OIpk”Mx¨‹DGoGä.礹Vyõ»ÎŒSÜ Ú™µò€H£Ëã6Õíª¬^Û5TCÞÁ– ì‰1f•¢Uè?H:“é>AOß‹uÜݧìÙÄ'<—웛ºÍAª¨äܿ̉¾nø©±“ vR¥|¶[ƒôr¼UÀf>‚ÛY}çâÄA]*¯;Å{ejå «-ÑÜji·F+ÝÚ«ƒ`Œ¤Â½,—vŸŒ˜·—ª÷§FæWކ[Âõ`õóÂØ¢±3yÑ×…Lè~ö½ÝGU‡Ú ù¬ nE›ô[v³¤/k”Ç(’!¸Éêóã~´ÊÏ"LFMiä¾4ëÌÄI6ÓYû•HÑhÍxî‘åì{œ$ÁÃ&“8ü*ý»Û¤Ûw•%µNDBlvMµ£¤@¥Bö­{üuÁﶨá[ê¯ÛØ)è¶S÷óDZªí½ì]h¡ÕË߀¡xÙ›æÏÚ ès^W®´ë3C曾¿Po!|œBûYV¢Oš‡Yœo8y{}…¼=ЬrYu>$ïkÅú®Ó¥ïù˜tÑׄ.„ôQjÅ{µ'QçûÊbЗ²ûõðS¹Î 9vP\$àu©w\r7ŽÞ˜/†=‹åï?*èJnÖÚxp)‰ýZ 2c\æ±tC'²6)©F÷‡äÌžmf‰¸ñÉZªPOÈ¾ë Š'¶ùT<Œë!‚ù=NVÄ v„}eû 7»”,¤ åÄh4Ëú2—ö9 óx°uüí¿ý·Ñjm6Úbggçïüìúµ1æÊz[Ý«÷Ë)"›+N2Ù‰É{™Ö£`Sj+Ö/ËŸ!¼Éû{žáãqÉT9×äþÖ'Ig#É—Œn Úy=¬Ð˜†)!~Ib4GýüxA}ZeuÀKûô€/C‚w!{Öš±:¦VW¯³)™¿`o÷SVϽâóxöÜsÑq(;ÑL%#u$ãe]ÆI' eŸøF­Ny@GÒÈϦq±|ï©äç ŽêC&á`š­<ïÂ×´š>jIô¼¤q17-Šm–0\×{÷S~üâb8©Ä†ÞÜ8ˆÂ,î©»Åw¤ÝžÍrÈêù»cU œœåß?.)~¥ìºO@ªAŠlæyÐÚþª¾›t.h¬vt†Öc&k¸¦0o ~í&¾YÖ%Õ%߉õ„ à¨yßĘÑõßÛYNM 긊ul<¾üj[õ³ú¬Ç«í€vKÖ¥UòœßxCGÓœSìgt}TRvü…¬GmnÒ¥¾Ä7U­>”Ö1¼&¹?5cþ2Ópä^fõ–4QmäñÒ©Ú‚\'w÷L&ɰ¤ ` ‘}¹ºÒÐÐòö¥êmÐï2 ö’€RÇ.Æqû©Î÷ _\sZ£?ÿl}ÌŸ‹¹š{WWÖðu«ãš™tKßÉêïËB2ýçC w{Í!ë)ã'r_÷RèH:JøÀíÇz17Ûß)¯¥£¡& <ʇÜÝQ{Í,æxž饪 ¥ÿæGò÷çfÖ>$©¼¸wjh¤&Ç4ÓÄùžÈeqₚ óºnmÖÅÃR§íÝö’H’«*у_RÙBº+Ášæ;öü:5UBÙ4dè*'Yyie ‹S8Ó/ÌÛÕ|J[ɰ™èç_Öãú5yVžšÇá3“ÊÏAçØ"néóÄÎÑ܉ tìQ–C¾$1,=é‚4¿ú“ËìßÍŸïÁ-% sÅ{?¯;ÿÅ$ÄnK݃©ô0M5Â-p†;Ìr*,oÒ<ÌÇNƒ°¸£˜Ú!<‘?¢þ¤Ó£‡Ùaè„+kLj&;ІŸ£mæë)‰O8³zÒ¹/ÆÌnku¢ÖS¼¾c¬ÒÈîÿý®Œ¦—Õ'þ9yÎ,ºÃNKÀžKî„Ä’ûzÙgØwôÎHÌØB4¡vþõ{òžüQöl­†Ë”O.‡Ôj>ì1‘ŸýÄým©ŽhIqÕLDE/÷ç™êú[äáº+w$Z %ü¨ÿ¸Þów±Ë¬ïøúxc :¨Ã8_€aÔfŸ·’瀡ØÿÁ$±ÇŠÅ¹goò>·Kôih‰ˆl>E× º7BÔE[/÷ƒÈ…\-Nú¸B&¢¥¤Ì¨¤ñOp¿:á„o>±FzWìcEn6Öˆ«|ºËîZ›ÿ‰¬¿u¸]\o0 &2L±xÛs ^•žÁB.ö{Bt}{ kØñwPUóßýèç±êóï¢D/ç°åv¦=7>šA­ p×_T]ú®NŠcÒdáŠsÒÍõœ}ÚÎýìݤx£1Á mÃVËãÏg¯ËÏZS<—`@Su4¦åüÃdíùN•þn%,‡ÈwÒdÔ¦bäûhÖ5±­WYüèŒ|7O÷_¬+zÍãD~`˜ßγ¾?¿AO±(5=­á̱ÐàX‚J6f³ymheqsKsIªJ†¢#¸£Žù7ÿæßd$~T¡ä/˜uaC:+v¶Uw mi<ïÈÑûYÿ+/µ¤¡m‘Kúè¨ð1ƃ7]ú¨œnQÍòp‹™\ÁL/ ó#Það×ýá+<¼(ïVFì/-ä£ Ì^Ô;¬!,væµ§¨)ÒFŠ$X© Á´"¢­>ÃÚ'¼Só3ØU;‚–Ê ¾ÔÏqª¼.}ÎD ÐQ PPì ŸA/hmêN,Ô;ÅïsTq$¸½¿éY÷—÷OWþΕ{“úÙÚgÕFüÞj€ÿä_bP;E½æÃõÉ}–êžÏ]H½Ã½c¿¶ù½¾0ïpÖ8øê½3¹1‹bÇšaCÄ!û{•#S^ xÔÐܰƒEtc¢RPåãUð# h­®r‹•½—Qí¿ÝÁLtÄíÃwÆtEuöðÛÊÎ'ò[aûw¨êˆƒâwð¸)øEóÚšþËïh>£Êw»šGâ *õͺs™ã*°7GcÑÀ㕆ݓb u>rñº÷õ­šG‹Þ‚‚ʉÁ¢#“ÿ7íÏhˆo¾é9Þù3ÔZð»¼`bpq¹ÞªN}í¦Î´…÷/ÛK‹CO*vΣ§*ƒõºÃ×PSŠI¿qÄ¢[ 7Ûç{ /H¦½ø¬áìMöïX¡‰Ð™ãq®a·©Â4Ôú;ÞÃüÞv}LýœôA;ŸC}ÝÜz­¬¤#´¶O\an\ÄGKÝíDþÂ…”Žº€ô1@4(·.j'¬Ù¢rˆñƒµ>B­}²ñúªw,‚ƒü9?i.êj™÷Õ jZç«dÅ—Ô¬bývÁ@©Ö¡V˜F ùëÆ»1ìâpµî×44ýü]¾Ñ¿àHyµö;f>‹VmµÜOW¨ŠÏˆyôïòøëü¸7OÞìc~cã¿ûŸÿ'Øîj¹Âø_ÿ‡¿?ýÿévr9šÁ’+è×é~?VM÷Uö7³7×ÃÇýÕØôfâ¨ým1›ñ;ò÷›g› CN?{®ž=/v`Wȳ'„ªêKD¤ã(„’ _E"ë«ßGx¨N'Ú7!½CCõatã·â9$¦ùMöÓvmüÙÿò¿áúi]Ùcˆÿñ¿ý/ñ_ýç—ž…8†lo7Êø_ü‹ôþÑÚßûÍo~ƒòOþI¦ëËÊ÷àEˆ ÁÆï†ö8ü«õ¯ð—ù—¸¾¾Æl6C¨ÕjPeû‡xµûÿ¿ÿoÐÝr43Œ*zQ>˜Îx.b¾XžlÖƒ’{i~¢ñª¿Õwªƒš6ƦáPÍwuä8n« Â6Ÿý¯ÿ5þá?ü‡kÇ ýêýüïÿÇŸgÎ gX°-üÿŸo÷_:Þð‚Í».„.4ÞÆ?ü€¿üþoÜ><áññÓé–eeÎV‚„v¯ƒÝ=¼~ý¯_¿ÆtüÒñê1z“ÇÝo3õ 2pÙø›<ëüÜÆë×ågî¡ÞÌꟇÅ:º ¾KpijÄ`'é¶Ûä"Ì•oz¶w¾†ƒ±ÓŸÏm¼)YstuƒÊÉÑïõžM‹Ñ#ÝF ¯ê¨åø<ЮPUOðiþÞ6‹»Ø=_°'¿zñºFìzážø'CÀm²@} ¸Ù¤OÎhb!Ï_ü=—Èñª‘Ç4‚ýŒ׆žêžªTçЃ¬¶FŸ õ:Ðì-u4œÞ£ÚNqÌñ b†žëó3‡Taëç¡…7}éEïóWõWøÿà C0 ƒúOÿ)þèþè›Þ™É…ÎÙ×W^ø·8«½Œo¶P̯ý̽Y¬ìjvö‘,§*Ö´çyï3ßî¾vâH€;R`Xb[ÚŠIGb?øÁI”HˆºD@Gypb ذÑnÙAä±”XÁŠIFÛ²ÅÝ÷Þ3íy¬]#Éâ<åáç9?Y$kØç4l>÷œª"ùÿë_ë[k}k­9>Á—¬6¸­<žÒ\ áaÏn^CÙ&2íœ\@ƒÚøÒÝ÷fc«É¤ì°U]WoPöb ©P¿úĸÅQ½8(F"Öù(ëà 6B—ÆXÍûÏ¡¬}òñÎ;k¢å÷òÞ—±ÆŸÁI`¡V‘aH•Ì4Š>`%]dhº€"Àé!®Îñ¥˜3Øç¤½Ç°›HcbÿÆ:š{*~ÐWEi 0ó¹.óìÊÁÓÖÞ„öjyŒAk°œÙEW;†=§™'y¨ÚÕ²¬ØG䬠"Ž83&€x¶«ËuItîÎ nü@öP‹L4ØrgXj†4±èõRÿÏÕ<®ªT+¼ùgi`õÑ‘WæØJ±]`ÍQªèÓvTxãüY7£k(l¹¼Šwbf*Ã"—{'@Øp¼/&߇âgßÿÚ:Ƕ¼ÿª ~‡`­ðη‘]ƒþÄ€tÃ@yúp²µÌV¸ü÷Öw¾©‘E!©{êlë ªFâZÿûh¬Ð¸Á½×ÃZõÃ:÷³µ¢I磜Î#”>NŒën¢c£6[OßCÇÆ€C”p¤Ð‡Í•óC½ :«5¨vºäá~b-ëôC |A´þø+ÍÅ|] ¦&ØÉu–1;Oln!'Ó ÍÀ‚R‘“÷©¢ûfõùlY½Ò}쨳y1÷U •‰€vu¹ØîÛ‰Ç3 èúV+2õm¤{öÚì³ÍXWˆålnÁ¯öÁ{ËÅñNm ã@()ö¾:¿³À®¡"M>H‡F„v½P±—42¸×¬5ŠóŒ{‰X(ö%µx Õ¶ÀÈ[xkyx,n©õ¼N¼ N°Y9Bpr‚ÊQ– t_‹±r/•¨ª]Ÿ­»jrï¼oµX7Ȭ +àŸFà?<>ežõ ¬~¸0°ÇÇsOYD:ðžtÈ0ùÆ4éÀƒI‡7sæ›»ùwFWß“`S¨`<Ô¤ï,Òade ž!ûP¶v3¤CK“Ã0« Œˆ8¿|£ü_êÅ£N »ÆE¤CïI‡ I‡Ä Q0Ì]e+ S•¢æTg‚4éиû,Y”l²ãYã)´ú99!ÇiSmKg‘¼'€.w I‡õ>SJ:!ÞÅ|!éÐìMÉ×h~å‚öýsL^o}ûºuWø95¡8M:tJîE¤CAÉ* þ¿'€é( “ï¬_d é2¤CÒḑ¯"¸Å´ïI‡VœT¯W˜“»»rCÀ䕸$ꊚQI:|=5NfštèZdo„ ‚îj”½žäÛ63:Ñ¥J:4˜â¤±àg×Á»É'"ç‘%7þ…Ê&DnýÏ»´ ¿þTBÜ[¾R¨ˆtØÔÉY«$m³H‡—·ˆwst·Yžð:h#G:šÅÀ¯ÊöP[ ¿$ö²ˆt¨'W„µÞbη3”­z!ì=ÓïH‡´$¤C¿‹u-B:|£½FTÍwŒS‹s_ÌÂ2Ò¡£“Q A›èȇ’qê•’ï†b†txuW‘`… ;tdÑÍU9¹§ŒtxeÍ–‡w¤ÃjjAh“„Üf“üo7 w/¼¡¿'ª† –·`Úó[ˆ×Ô#T¹dLëéÐjR™â329]ˆtxz–ÜŒ&lŽtØ3»-;G:ÔFgY}§Ug’ ²+"eÈ*q^Ô­vŽt8º™ O“µ”M/"ö¦Àyº0\H”ËH‡°[Ñ`m`&Þðåò N²…ÚY~¿‹H‡f’ëCº.ïH‡L·\gVf•—%†æÃelI¡¥¸·š›ÈÅG-3Wóƒ"ë é6ƒv×EL^Î6êg—jh”“ët;Ú|ÌkÄOÞ“eîs4,'KN“@ 6–#aƒœuïÁב(8M:¼Oªö.'ÞB¤Ã(,ïJà àhØ.œ€Ø/y y/édmÁkdžæ‘ï¯ó~¶òLïH‡JI‡·sB.ã“lWí€{X"~éðJÓá "\W.$NŸ C'²øŽtÖX‡£½ZÜ.&¤C;Ý÷Žt8ššx3gƒræØštÂy•ŒQV«ôœsA/G:Ùrñ65ý¥>ÕÅ~éppN|2÷¸¦I‡ÄN”àšg$Þ–&È‘/&ä õÍ‹…I‡Æ Ùƒ°w‚¾QŒëÒ¤C9Ò¡Ð(?æõŒQ&Ñ E¤CÒ¡˜L0¹û˜|®£öŽQ@:¼ 5Ü9Ë•O©ª•éÉ ‘õy¤ÃàÆâH{!õý÷¤CÒ¡óf~ ?,ˆséÌü©oE¤CïI‡÷Çå~Qà•ŠH‡’@ïe9 ë,Œ’æ"VsI‡ I‡ŽCd:8é-µ¯¼)@–噤CK“@Ü8@ÌShYâAÖÎË݇€ËH‡öK ìx”!žœ9?8úcÁW\ ý©}ÏþS¹*¶ ò|‚Né°–ŒO“{g¢Éñ{Ò¡ dã²zµXVÎWv™¥I‡ýþx)Òa£F~_›P¹Ÿ&"6°-ïÃ9y~ǃ§E2M:€Íq¥”tÈM»ñÝëœú¿VøÝc°ry<±WÏ¿£&7 I‡ÀîqÒ¡9!ù¤w¤CÒ!¬UW1èæï3ys¾xé¤Ã¡ž·×¦UH:5éAgïé0©sÃì~®A}O:#zŽ‹H¥{ÚY%Ö%× ·«S¸©1å =6æ È‰¾M“Ì%xO:däÆ{Ò!y/C:tûÙß®'VŸVœÝÏŽ­yr†tȲ‹uæ,#2‘ÏúÔ´Äï‹í>—"ƒM“,M:¼åª8”ê8Th/É»pµƒ×æ1ø‚¡ß‘ǽì~[ülßèô–œ-ÞbÞ“‡%£h§H‡¾OtG=áEH\QHä+¾fH‡2¤Ãà¦X?N“’”’{ɸºÊ]þ=Ü”¯rëQÝwzZlÛè¸Jùªc‰ÚŽy¤CxÔl`o…Á$ñQËH‡’8*%@ƒi‚‘I~vQÒ¡UP0 eØ÷ÃBÒ!l&t§I‡°6aÀ&1ãiÒ¡$äõåÄâr¤Ãp\$€ÆïI‡–²X®ÿôÎ(Á³I‡c.ÿûýÉ kʆFåy›Â¨¡ÉºîŠ@oâC¯1Šý‹ñgØš3ß\¨“Õr0þ…AŒ©l–°-ålp®nQ¥²H¥`dà]…Çeú¦B„Ë/1¨»*q,›"_rÁU6áÅ|ì+Ü™ÏbUGÅI¥úFâ¼3ùõilÉ)íwµ%ª IDATC¸/¯²ªLøŒEõÆÊ&ñ®_Ñßp&$8b¬ÌL›±ýÖÆFâðÅIËòw™”Õ)ùjÍï(µö©€Ú3ZùoLÖ0Nöì’M’3Š‘fý°@qÓà%5„Ý-¶±ñìDßø‚*¶’U&2‹½³Ùñ÷r9àë™Y™njy‡ÐMÈ­'o²Ïî“ç\L9¯ðÂÍùc«ÜdTÆõdF·ª8¯l—ç"¦ú©V÷Oë/ßç¿ï¸ðý¸% ¯YCð´F€ËpXýèç¶žÒ¹w`ýß8ôœ˜)3vÈyzÒx Ö£ŽÈ°Aœ ½CÏùdD×ß>%k$ÁiÞ™Òƒ“ò‘\¢ºƒ€¿ùðƒvX~~6ÚÙ ÉÎFV¢ëÅYºþˆ: [;¨GÕqÞÎÛ‘MÏ;òb "¯h„Ú=ÑÅöðê:q’¹ ýœ^Wù2©Ø‰ œì{+õbGCÓ½uGÙßßÝyT+ïÌ èWD×p0R£?ZÉèâ ešÄ²QK­ƒÙ6åf>z X8Ѻð4jwZ[‹“o‰MתjÊÁ ï³Ê:Ð}ê„‹z±½ît¨ny¥\= ì_'ú7ùM3ùæ(›¬¨ uÞ÷0ÒgwßÛòË“t¶”µïƒÙ˜jäQ}ùR+O„©3ׯ’õŽ×‹1¬ñ*[4À$£—b—ü¥`lB=5"ÖˆîaUTÜõ‰^ãzžÕ;8²½ð~¿›H yɸù¢1ƒ ŽZŽ•¬nŽw²²ÑòzG¶Á˜ÅeÖµç³ •»U¼ug ª»”Ã,Áûsì«,®‹£Tui˧ïf%ÕÙ°íïÂø›à¹dÝ 4ëݸ7º¯kÊ'¨4 ìÖòvÀRÉ3tc*GlAGh“ ÀÝÛp°WÄ ù½êœ×Xí? ®ý¶Î$£0›ù3âÈ¢ Ïìá >ÖÕiÓ½±XÕ>Ñé^Р䦂Ý&ÿpìÛˆ·°“\Äqß -•`o±¡šŒiÞA6ñÆÌ’0jR±®àk5Œä<^ÝÓ ZiWÑxVŽ-ÉȱZU€dÇšòSH)rÚîN‰“åí<@«‘ŒÝ2œDäõsÝc ¬ÒÀWÌQ}7 cØY¯v"^zL~cè~X¡T ùà»,gŸÏˆ‰ÏY|8õbÌÙúo—¯> mv”™Z.N'É¢nÂöS~‘Õ-¶QÖ$ûÉg°D"[•î÷m0Æi·£O®KŸ“s6à‰MÈòÑv®bÄqŒï}ï{øÙŸýYüù?ÿçñ¿÷÷qsqóQtÀh4ÂoüÆoàßøþÔŸúSøÅ_üEDgMÇØ—§ð¬Åõ{Ç,Ö1áÝû¢œ{ˆLš,¼†‰ÉM’/Âôé¹;ZùˆÝ}÷ŸÄÑ=&6jœŒíôSþÕ²X+x¾\ç5ÝOôØ£lKåïw)Ï&i±cò *óç_еZ4•ÅG“C2æms¥X66¥§ÅØ›àbÜà éíù¨»ðSØÅÆ_œ›5†ºXw"í‹,Vj¦ŠÂ†vV?øÞÇÆ("^%òúlK†¿áÍ›üÙ&ØAVg8Sãê¶›ËÅãe¦¼Ð+ZñúºB“úéÛ9¶`ù¢ )ò¡>kbE™'ZÝS·A΄5"¾–ø¨FRÔ$‰ë`²¶÷³yTáy¯³Cí|\…¹#1ïì Õ¬ WÂ1ºñæ›ã¦fÞa*Mä¦âuÄöûSÓêjþŒ²{‡Ï–¾wwªÀ½ef'ŠÔšÙ œÒ¡ësý»díõT’9¬ã¹Ap‹ÇòÃ;Ó­®Wñê\‡ð(étw¿xqôÕ ]/ëfvqo“x¸e±—ó¯({©xÍl»Zß"{À­a¥~ô wu5rY;_¢$òÞeG¸²q]Éë†À"þÞ…•%¯8‰°ÓäQûdö¾lr l4.ym•û èÂaçtîoÛ2kª€²²Eϸ½Bÿ¬LM_òªÙõ¸½¢~#o»ÌÅù¸‡/_Xc½Ê&vשx:Á˜Õùº-njày"Û¶›òßÿ¯:+îçeW^¸ÞE²?•£å:ç¸\–Eýf4;‰Î\/WhÁønj e0¬ì|ÜŽœÒsaÝ’±Ø8Ãѱ Ʊ‰NÏaXPÐo¶Éólz³ ŽãàaÓž† ͉1Ô™´óv{õ€…²B÷Óu³gd3(Ž-íן¡½ž÷}Î´Ù±Š••fW(Î÷éQVïh¼Ã£Q“0Ug:~âÑ¥U3«×î}j{ýò¼h8uîšôœËûD§ß'¸ƒ_„ÈÊâ»nGrïU#ÕÍÌY~ŠR£Òg'ç;éÖžP?$¾¾X꾓óùE%-ȈÑõÙSÈ~Z·•©0Ñ©î Å”æ[bcüñüua*'Š_îÿAþŒWE¬^¬K·@ 4žêòøLM°É:3[ß¿è°Xòœ¢ž]¿sóÇÚ5b{>÷#¶fca%+»Æ y7Köp°F㬞9?EkëYCÄõ-Žþ •¿¡cáÑÓbß ´?ÚT³nc3¤Ÿi<'ï2¸§Æm[ÉÆ5WÉwF‘#9!†£â<äaÒØÀOÅ+«‹5¸Il’!Ð'L[&ûËl¿†µŠõYe‹®éuøñ¦1ðÑ«Ió‚`#/#wú÷ÀÞ›´¦µ %±­ÇÏ‹÷4†ŠÄW /.дK©¥|ÔÐÎÆüñ9œ(ÿàýr=ÎÄúágcI²•Ç_•¶i­ àa±Ò0ÊÚ4&‰IØ.ñ'ªãìš_¾Í柾|Ô@_£²îWˆ­|i|Ù\ ¸nÔs—æhY¯V/›‡Z©mA”]Ôã<°âã©F=…’ªDì ûƒ…÷Ú(û ƒ¡™'ª¼hÒÊ´ÛêèA÷”U/êû8±F°”åV‹t0¥Î&´ÂäÕ•ŽÑyž½=±‰À_ñ³ã±D ¡ª ÀÛD‘¸£¼²×o–ëÚ"w“ª¯©*àj4„$F¸Eþ¹ôQ ÞU9ÑCi aæjŠw¼·;É;ÒâA®Ù<òæ€'2IâU'5ðl€ígTY¬Ôo…q nÒï2I×¢`Ž}µNËåݲéI ÍdÏv#j\”Õb'»£&óã} ì„”‘„#ó6÷Ö¡3D‘GACvñÖàì­ƒ5«øÝ+Ã&øþâkGOˆw^gPH:}töøÄ¡¦Šrg•{€ù†Hˆ<\÷}<{¼|Iת÷:`jS ³žu˜µüo¯‰x¾ƒãö|'¿Ý&úƒk—Ó•—Å eXËþýFÒÙ;bѨÁ[­b½1?¸+u‹‰QKÏq# ª­I`cñs·ù°q¾O7D¬G‹9ûÁdqÇ(¾NµEoŒJ âLÄIåÖú%œ ²6£® ÃitïOßêàÊüˤ ««5æwÜsØ6Nº'T´÷ÖÐNuô¨‡¼uŠ;üQs~çAfFÅ­g2xißÀ)Y¦^n Ÿˆj*xHƒ¯M±XÎÚÚ X'»µuæ¤C²†3o÷ü†Ôf·Å`k“*m£x]üJ×3Å(‚°Ûp±aqô¼ë ŸTaWKÎ ëÑgÝ]ÊÒýoIÏpSâë÷ ’>Öˆ.–ÚkðÏ©Q¼6 àU¦’8¦‘]ßè6¹êSc–š›t «Ùw*wD¨;;0FDžêqö߯ƒTRª¼¾-€W—/Ö¶ÊIr•[‚ñ6]<ÓÄÙèþA:î< $4<ªkm—¼Ï嘜 •'Á÷ãáßF@öâËÉh–' ò› "p7”Vq²BÓ–šuÎtPìvâæL¿<á(Tf[UzÆŸ7êèWçÏ"Yñ;X)¶“õgÙq4qa2º#Ýt?·éFÔuv r cc%oÿ;ÞDK¹™×¢á¡k' í* ˆìÃGµ0f€@)wœ×]å}aŸtÚªTXÄÊb޽#æßiC˜–¯Š l>QɾЕ­ùŽ÷-Y|Ö¦kcNUÌA7õxÄæ\rËwÜ38•F2òC¨ðÚ¥ø Hs•q6  ëd‘W{å÷æDJTA¸Y›t ˆv'ã‰{Ùäîýˆž»ÑKúg[Ð39°•,>»°ï µðƒº¼•ü9N*Øûa£k ñCœfví›®Œˆ'g…çPyòzM!¶ë‰’÷£˜°¸x¦e‘}¼K‘Pê˜MÖºöó{?ñfžü5²G¶FíkŸòg9 ѰX¯5¦:š *5è7SKÔàÀ@¬Ò3Ï3t «‰MaBjtëR˜]¯ªëáµþ mAþè²cY3:æY{!„MG(…Xy<ÕYb’)®Š‹ì]×<ƒס5–KH†* X®'ì`Þm‚±È:Èëóý«¸ÛW±V£1¬ ™®àŸãqKÅá:•Ÿ{‡…Y#:©Í§Wuư¬jÉ4猼ëÕgcLº7øæ7¿‰¿ô—þ¾ûÝïæcj/^à§~ê§ðWÿê_Åw¾óüê¯þ*~ó7ÿøü:~ë·~ ÿèý#üò/ÿ2þößþÛøÆ7¾¯}íkøò—¿ ŽËÛ×uñk¿ökøüóÏ?š\H»‡¨Ê”Dpî1I:u{TÎ…Z€së¬\÷&KîX¢w¯olìWÁ¦ ÛPq$ «ð*B—œÍ›‚ÎT±E}ŸêGì>'§äý×û¿ß*ö÷º"³ÖÌåÆù±nÖ'3SÅ5LâŽ'í©ã]7,FM¢§ÌSjö_P,Õ–kè]-ÞÙªÞÎNH‘£ÅãÁ{ÍUt˜ø[«ˆVyœw‰oØK ·´Vì XǽØWà$ņŠ9?‘Óx‘%†‰Þ­˜#´¥1.õ<¾’SØÌ?%ûõäI>`ߪ(ˆ:ÅxíÜ=L'…¹²AuZÄÞ¢ïæýÊx2[–*\êa~’ _PœŽx¹‰ ÇZVÇè£ ÏRÝ~`Þñ-N:¢ƒúµåæG&&ýÅ’HÕêSúüŸ÷åâ r†«$–¤g ¦Ö™”'𱯆“]µƒ'¸{M°Ë묷ơuhà`“ÚîÞÛ|¢|¨²ðäbŸÝjæÏÃËûâØR§BpŒ(–ûÎ/§¦ÙdbbˆgûTW5×Êý×j?ïØIË[y,ØTV}‰è!Yj‚¦üécTëåþË }~÷~¹nùÖH„^¥ëYÑY¼–ÂÖ£6ÜùÅÈz@ÞaO&ä•“=?Þ¨<öxå&ÆêDW ϲïôTn¦b¹Ôî_è>*Ž€ ×›ªäò[Å ˆnÔ^œÇÔÆÉ3 ('ÕË&G΋”L¨P÷³qÍ„”4ŽLøÊ .S„%ë‚Ú¹†±xkíñ-ñ«ågóÇ–Eí™ÕŵCåìÄΞÝY‡ïgõ;S!ÿÍ‘…”*(´/³ØéìÕr˜B ’µ·W ÇdY0ã}Ù¢kq¬¿Ìÿûv¯¬[t±Ü™è›Åy-ɯ!âjHdËÐ>vóÆ3¡G`¸M#’bRg¼þHAÛ$ç¬áuËmzUZžÊºå± æŠà´vL‹ëâm\õ‚2÷ai9ÜÝ8êó'‹(>¹¯¤e1„ÊîC™dq©ŸÄ³š-ŠC»µ,Ž“Y=­§º™96ù½Éëb»ÄŒå­Mé.ý÷yo9´À!ORS§&=õõÅüXQ$ò,Ër‚ÁòÅl—7aJžh~R`’Óö좥ú0»nµ}ªKoúű“!úOb pðfVÖìþôá+GqÛ%:DyLðßÌcÊäc–ƒ’†$q€J¥Ü¶é)BÓ/^ûjëüãlü[ëS[ÄÉåñ“ç^b•¬Ÿ«ˆÐľr„Gm0Rg†ð—>gõIy.ºªäõ¦¹ô¯n1aC@[¬ˆÑ¯áMÙÕäv²î6X¾W¥K>÷æjvÌð‹+V·Ü÷kL5ÛY¯ïÂt²zï´›×[ÍÔ¤'¾šý¼›Âö­‰eË5¢§¸Ö!¸p1^‘*½segÏâ‘å[ìËTæÔZ±‹äù±Õm.BŸ¯âó}-¾>—øììÂÝ}eÑfgÌÜêtlkH×[;¿CßÏĹ½ÙzfÓ=½ËÏ'eu?ßÜGì%]Öïé=}¾œÛãO Ö5ÕÙðò¹Ž~ªí±±>øâ–`3޵àȾóü-âVzêVAt·ß§¸k÷q>´ÒÈ7>x^Oò`ü‚¼}»J9`„¼½k†><6«»—Ä2 †bÏþ‘™aÑLõÜ%+gFV<ûti%7©1Ú®ƒ%-6ÑVfU6½.N©âpóƒ@}݃¥“ :’ÉbjþÃ+áÒ×k7h8HŸ}¶£âÅv¹³ºãçÉaª3ÅqÒÖZotÞ³‰ªù$·ZàØº~1P¬yuXëäóŽG‡# ÐÓ>‡Ç¶a;,6AŸ«;U½<+'ÃõÿÀ‡|T`ìkLL;õߟ؉O(V¤^m?ʃI\$€)Öÿ°d‰|XžÜõý¬âЦF2t§È=:znó)†/W¸W.£r#aÛIÛæ˜‚ÊvT® ÃTR¹†*¢ÍòÊÁ =Fsÿâ-‘7¯3¸â³b£%?£Š²ÍÌ&“ž¿4Qç×í•òŠ’ø¢¼s„Úð’`*]›¡«âÕg‹W·>Sþlåj>Pxkë¹ÛÞ-vÛú÷‘‘¼­`6ùlh“ïÛë n†ùg #rŽ 5x¬ÝG‡+?_†•×KŠ$}½ë˜ÔžTj{8I: LâÙÁf›œÕœ€/èÒÙ„IÐæ5˜Ñ쨓=·ƒ<Ð?|¬ÂOÆcð»y'a¸`ÅôQ…:ÝMŠœ?·Åb=ì¯,F¾¨TËu§¥ßâ¹”%‰8=‚~40iq øxVPQ¤¯6` Ø Rî.áà<¸Hx÷$RTììŸØÔFÊ^^~_wè0yûhƒT/Ö#|°Ší-¸Ç]h«jñºF\±^Û_±bº˜Œé¹¨4æwi£ìþwv©<ò¼ + M]ó ‹w]¼ÕÎÀï“5ãG!¶•æƒÏèIq"»)"0²k ×Ë¿W!û ”ê­âÀÔv%O°ñõÙÝOí×Ë9 Á&Åx»ª€§T96¡èÂN~bË»î6é™nÎñ¨]¼/Í ýíBÏ]u•‡PÝnɸ›Ûzî(û.µq„F—âí£ÔH26±þqéýÝTwÁ¨w=÷yW¼r’À™?¥“ ’±F“eA·8qVkm%íý¢ _± ÑîîJ|4úlüÙ©W±žŒì³I2"=pª{àõírÝe•Ð@%ÁÔ§øyßñ!.ÌÙÁ'<ÆÐÍî‡è÷èsÙ5Œù‰ÛÝÙX:,>ïnj”·™÷‰9«§„·ƒNÎLHdp Æ0òìqdB›äP»Õìµó7‚¦Œ«.!•(NJþ S&ovw ‚WÝËKD©]©ŽË mÖ.Ë}^Tn'.Ç6øA^=­¡a–Û®˜Û€Ü-—TÇûʵ)¯ ’\Û|yrK3¶CjÐg\‰òvŸmç÷s¨;z²=ç `uKy—×gŒNϬS¼Õɺ…©FÍ*ÆóOÕgÚΫ`~g—q­™µ¤àIU¡3&\ÎEÜÈž3®GlD³– !Ž’ñ)ëÊAá=zìbq w‰ˆå$á%P}~öR‡x—Ç”Ìú*B#»‡•dº¿Ÿ'’¬‰” Õ×£Å|ë;Ó„x°… ðO_þc|ýë_ÇïüÎïd>ó¥/} ¿ð ¿€_ÿõ_Ç/ýÒ/ág~ægðc?öcøä“O°ºº EQ í¨Eív»»»ø#äàk_û¾ñoàÛßþ6~ó7ßúÖ·ðçþÜŸC+ExÛÚÚÂüÈ,,Ëâ÷rKºíómÔ’NÝíÕTG³Iû2ÙÛjHvCñ‰\èI‚n#"zw{«Ø~ÝôKܨë4vÉ%1“­‚Ñ1Œœt“öjð’Šþã·‹°/>/ǤG‡Yì«¥º0R]aå×ÅgÏ|ÕaæÕ;þ5y§Z-«;•µ‘qjœÛ¨’]·Õu [ÉZÛ/i¢C9¬"º,ŽeÙ3b7æ›ÙØÅb[K뤡CüÃGGdݘf“˜¼GÔ)O¢ë ÊL:4j•/巰ج=x;žÀ’.J z„]u¶^äóz)/P„dm½eãÏ''³‰wV*ñÄF›Xò>63•Ð µ,I5‹ÉK~œ•ÿ›I`æ'XžÞïQ#;"VíPÂ?›¢ >!!ÍMvTÔ¸1_¬À²­f×´“œFÝEµ•øÈÖ=N}š¦¡Â‘„èŽt2ˆÜôl*絛LÅr)¦ÛSyœ^…xe8só‰­Š;Dïµ"ªKö™‚¸£žKÔ mà—+®ÍÈcüf2bw7µòõ'ï­Å»57wþ¬š*v ¯£eQÙW§ŠFNƒÅäK+é®+íf×áàYÞFÝ86âZq¼Ñ©„¸ïʨ>.îÂçu³~^P¢qsvlä‘Z\ÐÿLÞDûœì§©ÇȬnV¦W”UX¯Š !˜Ö!vÚ"”‰‡ºZN4»±f©Ýª*ˆøFa,ãý½6·’¸s‘@mz42?XÇGB¹¿OD* ‘ãUúœz”µAò¡Ê* ×Búý;f ]ŸCZ]"fm7²¢ë÷aÖæûMë“(‰«¬mw¦F—¦bŒ{ÉÂÚÓÎ*3‘kÀ7Þ"n-CæSSµ:»<Ü*‘ýzªC¢6#_´¢61©û®ö8U˜êYSŒ³Ý½õaœžbw‹>‹gÓ˜´5z£÷ßo“ú­•âøGm;ë3Y]ë _C/³V ¶Iüas}~áò©™Z­üÌÎìAuç7ÉÔ»Ú”þ2úô>ü£Çˆ?5‚A¢69œCЭN…uF‹<ÉQÓ?/°‹uÐURŒZ{þçjs뉯Çïl¢q@#›#ì…1NõüÙç'MTÝù ËŒ“ê>Y¯'‰š¼.޹¿Ø©C^oÁÎ&ÓU,ú}EÌê½ÃõÙ¸ÞŸÊ ¶×ï¨.³’©›qw‚+Ž'Nñ}v¤laéV]‚=žïkpý¬Žà ¯ø¶0Û׺$øÆòèßûÕ¢#£ƒ8{]k§ ü÷7 ]dõÆÕÛÖb&ôÏ ¬ Åv3¨ÍŽl}ød^¨Wó˜ìqŸîÿ£:‰á…÷å|?™Æç\ñb“œ³¨oAèL{uø>yVuèUÉïDí-<þrÇj¼`ó‰NÓ%êrl]¢…b{×ì80ϼĖøPÂ<Æ^ÙËËøÆŠíøn6ñ°*Í&Úœ‡$ÀÔuxð1îÎXNˆC"„7ú÷‰MͧÞL*C£±„NXž<ñ‡ÇªMt&,ÞvS@dì¡ÁŸ—¯ÊOññT§¾Þ`.¤ ?¾¤„¨Á`y›Á%)luˆG©¶Ö‚@¯Q£òú”ᱟu˜>0½; “j~D»ƒÕ* Ü¿±²ã"Ö…¬¡7¦:tó€BzT¬Ø*bVÁ*+:ܰœÇqøQƒ]Md„'Æ~ì^#9ø˜Ïgô••ì±YŸj§¯b•ÍÙ©ñœUñyP\xDæwÙ:œ»Ôhf‡UIZLþâÄà\jd'ðÇ—s¿ël’½zòŒÈ„Û¥Ûk±*v1ZŽØ²ÿ\AÐ\®}<³GåOÌï8Øt<ûRtŸ Ö¹¥¢SããÖ²áðXO”4}®Çò#TÔÞêó lRöÖž@C*ÿm‰î÷V;{–ƒ[zϺžfÉÔ}®úpÃlðôÂ$2Y—óF×´‹¨=g¬¯{I ëÀ“ *Y=v”t@©1‹%u%kU‡ )fÜá’ ÍÓ™ßßìÐsySà Z>¼oîÝ÷ཪ˜.sþG:=7ÃÏ‹÷Óo4`³Å†ßвúÛ¨õqmi8>õ0vé^€KÖ( tå‰ â*Z Äh¦:ó°Ñõâà˜Ô&6¡Ò qo %²uìWò€dh,7.0Š­GMÜ*vðY½˜ˆ!#ÄÛA^]¼JÖ²›ªøÇÐõ{Å]_êöl¢F­™"ækÅ`µ_)wÞ„‰vô½Ï!W(FsRÕ£—˜}Î6øÌ ݃nf'9.¯fcº)BOÊSq IDATv¥þ°±woî||Èųm™ô4°GÓNäd1bXÈgmÄåT°×Mu ˆÌr{29£ø´²•¿ç¤:ù ðš*.³Vxv†~•r²k¶Û”à—È÷…Å¡“=Öú|y»œêÖòT}„× ¿Ž^Ò%Ù¶îŒgãï?#gnª“M['zi d/ú>••0Õª©Û·€oB¬xàꓚîJ9Æp—÷Íw*Ŷ{”*œjNò¸À0{P&ä½u]‡:5ªc”ÈIo›œÝnªã}OpîLœÚ³±ÃjTЦ&Ô ÿ¼OñôÁsÎy†ïßÑß¼t¶[å䨛 ªó6"“É¿ø ÿþú_ÿë™ Ÿ~ú)þÎßù;øö·¿?ý§ÿ4Tuù¢[7$Š"~ø‡?÷s?‡_ù•_Á_ûk ?ôC?„ŸüÉŸD»]œÈà¥|0»½Wü^‚“?ËîVi»Aù™ñ8‚¥ 3!ÈëõÅ:Ën­fõÊýøã¨3¥:Áˆ!²ôèqõ}‹½O–ë†ì%s­TWØú^ñ~(O³‰ze‡úü6}¾{)»vZ/¯ËZ3ˆÅÒó¬MbwÛÐ^å>§†Yò`lR̬<)!CXåcm”Z·$r&Óǰ-®áæÄ‡¬ó«üK µ‚QhgSÕêƒÔ$ˆ€C§š-”;›£¬_ú¸™ÝË=•ÚÝ{~±œ¾‚mfõ¯0ÉŸÝÈúŸ)¢ÚÑQùý¼³$n¯ûŸì0åG93q=o©¯¡Oæw]´B[µÅâiŽM÷AwéwŽƒâˆâ¨ýâ‰ô]ª©&›yn¥AäÝLŠ,•ö|=©Ýpð¹ìÎÆ8bÛôTÑцEq°[)&ÎŽ“BÄ]!/¶ Ȳ/£‘]‹^˜öz¸¼½ªî¢Õ('¿iý|þ¥—Â#NA!ž°}qƪ©1·Á}­xfèBxB?k¶:`kt½;òün1©Hªäm¯Õ3Ñ™”ÇÆ¯F儘yöÄ’½G<vvŒJÖ ’3Û× kóc f䢶¾ŠË%ˆ¨ûuºŽ×c²o¯“f cßêÓ3¬D‰ª[4*í/8Z±–±ß¥0V=U|*Êk8ä«h4²r= 6¨Š!¿ž*°ªYÜx¸Ãá™Ô†™Ç©|ªÈJ; P3ŠãqÂæÞRöf' Ш/ŸÖ³xö65N[ûœêÙ›˜è¬P\ììJkÙ÷’ÛÔ®­Tɹ¬ÙÅqÓV§ØŸ•;‹OØ%0ònÎ[bŸ8ßo‘¿[[§øÄ¹ÌžÛêzöÙgu [ôâ÷I®HiÐÙ}jZŒ¼ž—iùõŒÓ|<÷<5:8N&LÛ¬:¶äl¼Nrò¹°f}Aâ)›õ5ÙTÁµ3*_ŸžÔC=)ÞVcéu»H—˜f6†8²^AegÒd+O⚤läFÜÌø ¾_Þ…©‘uåôüzi¢£^ZÙüÓ:¿²Ô»2.Åg]+)@ ÊÏÛ¾¸†qèõ溾þxæï«I“ ?Õ¥ËoÌ÷¥I¾èþ.LÅ,©«yŶJjRÌ,EYY¼|™òó¶#ℹoåò ÞyÖ7+Yùó&6… †IÓQ*‰¨ô9e–ê)æn€ÕdJƒq“͹£Ùöޝ2*hô0I5—“Ú¦‘Ââåñ Ñ•±µ¦bbx¼Íc×§¦á°Igþs§Q¡Ï!%Å·¶øA:­¡~‚êÍÃ¾ë —› 3}þË®8ޱÊ18TÉÙWy,»\¾§žø&A?Æë/È^ÕžnÀ( Øö’iAB{v!ËcöŠ÷Ad¥…Úgu#€vÕËÌz±¿þÅ÷5ÔE¢K…»ù±©YNN5úDöOÛÙéÌ‚ gDý²k.ß¼iµ“ø`yŒB»+gµkk‰üçõo­–%ÆÅ~Ê#²7æ=Ñ-;-e1}TpzY|*¢StlÝhÙbcR}й3ó íÇ|ÞÎrkù3p—Œ1ç}’wiœ†]‘ÑÀT h'{¬NMÐÖ§Š™›køèW¢.ù»¬¾ §ÆVËÞ=FIªÀ³ 5®J¸’•틱ƒ7-¬k<Ú{Ë-VŒd4Õ>Gr]ôáO¬ê82ª•<0ks 4áÈä%[©ùÔü.¶Yœüð9ò{|ûlo f«‚Çë)%Ó,¾çIW6»’w¨bâK®vjx$Ód³»ƒÛ˜(êNR9;¾µPa¯a |°Q9+U•uX©6¦’NÖ›‘Ù>¤A¤±•U°õ*ƒ³©1­§ˆÀh%Ï ÃÿdáæýJu&šËWáÜ~~ "îiŒÄÕ¶Á¶æü·1(×úl£éLu¿9. ˆ‡·Ëum>¡JH¿ƒæN>ðºWe“` qƒÅä5:Ha:18(LI‚aváv=›Dû¸b¹³۽ę¦牜7>W½C#{?‡Ô}ò³;&ªº¾öe©ß>h—ëJ\ˆÕE U_ Àù]T¥l’Ààɺ?Vóã¶îGÅï¨`v¤Ó^ ðV6é=ØèÁq˜ïÔiÛˆ›2.<}aήš°OòN4g¬²°K kT@‘ ù¡ûÖE¥:?È}y;_?µ+ó«»Fñú)üÎ Aæ‰>~²&‚wÖeÀ'AIûÜEÏpñ™¦¡¥ÒsÓþ¤‰HÈ' xM+íöWodõw}²‚m¹G‡U4…,8Ùê¨yj}j£óóÅl½QNæjrÅÅŠ@ìÛj”Ý3 „µë[øW}=îTàëåÎëNö¤1vãTbTü7óûJ0$»À©[.‘¿,Öeªö¼œ˜½‹ù§/Õ akE+¯ˆ;5bì&¶©QÑ0¾¿úÁíI-±ÅÁÞ¶œ=‡~c€¨R^1n~1ªÃ$;Ý6¿ Æ/ŽM´×¯q]a7ù=;"ÏÞÙ'zFˆXi—ÛªÚŠYŒAÄTÑŒ ¹ç[Y›ÃéY›|7raÚæ g+kOÎcqÞÔhAwjØ¥Ny0i"X±–Œ&ª9É3Mâæ&³GæmªùJ-õôw:ÕÉÖyv=ÍT»ûº2Dek{î¾ññ>¶"òŒO KÉi§$ ¤ÄåýAð9/íÄŽe’êW‹”Už¹™O⮵òx§Z?œò݊Ͻù†â¡°žO®¶j˜•u·xýnùùä–¡ö°²JßERxDq±>7“Q Êiow=ÿÞë9‰ $Å¿­A2NXHЧë‘uæ.{¾.^оOÖs»Idÿé#ò¼M^„ÎS9Ô+b*†¸Q—T_ŸÜ[è)ylubwI+m°*¼þ%ªâ|¹0ûŒ Å«ûô,nÔ§Š8=º~ÃTRó¸ ³Ôç¯S„ñƒ &%Ó6Ü’˜œÂ<Ã]—`9œMHæk%’îƒw8l35j·ñ Wm%EsœÃãC¯HwÑu5L¤rì­×²÷ñ îc¿8V®ÛY?]|LìSÈ‹ðå¼­wãò$ïZÉxêF”wP9½û w?ñéYX‹ïzT?Ìcü•&0«d-kI7â.KeïmÒÁÑçáÞ˜Åq”ÆAyìRl•ÇVÍM yNŸ“¼ÎŸ—½Tã’ŠFm^K~öA2˜BAð}ï-‘ÿ õÉWYZG¨FЙ¬ßÛDàTÇs¹Ö\œ‰5®eϸû–Þo]NF>VfŸ·¦A0š>&vWé pW)ÖozBüäù#©£aþ3kTïÁb„Õ·#ò;Æ9‘‘J“<Ûîó¬}ÚoÌ×É5¹®Aîìî@[ËÆó¸€Ê—/HØÙã¶9†h:pìb¿AÒ ¨ãRªùLÀa2IäìÌC}+‹·=“بð0ܼ.ð=ræZ!Á)“»â¸S³IîÙ¹NÎo4ÄšŸ_‹XÏÊ\­^Ece±®p‡b× Ïþèz‰óùuÞ~½‹-èçd½tßG ˆ°X~ß;£yÜÊ ƒ§/¨œÖ ¶«éé)`%U8âMý»ŸÊ[ X6œÈÆù$OåÍ/£« Äö7¶·z¯_¦¶Òݘk±§xWŽ™Êa¬ßÚc7Rú4ZxïÅýÞvHr„úÔf ’ÇÜ ³ûë4©iltJ|ʬ¾™Y=5™dsÏLФ§¬±KÉpå‘„ƒ‚ŽÃo=âïï]¨ R°µÕ8sUìï:Îâ1éÚå)b{q¾H£h«Y²®õ˼ß5N&‰ c«M¢_GYìñ…Nýù¶QŒáîÇÙwí7ÈÞÊbk\×òkåoLM×KÅný‘«º†VháþZ©‰ BHõi ¶Ð ²zå¹ÛÛÏþ6»æ•ë‰VÞíBsÞ¢.d ’K˜Üg«×\ÅHÈ.¼”³ÊG•rïß ® kR0Á ‹r¿–UŠîDCÏ>…=Ò %¾é“ÿwÅ>VtbÔvg0Œ7™¬±inÊ¢mÔ;<"v ¯;õÞD¹]˜Эâ÷ §laX+vŒœŒ¿GœOËq05¦õÙF qc63vdƒœÞ÷‹éªÀÉlC¬:#è%$æ¯Ñ»&Ϭ³"„CúÌæ«­ùްC"í X­ Ø’òÉ.vN—)žßb™M…nì,PT똬п÷÷;sõò€È8,9J5WY¹S¤ Ùœ©ù‰G·–]w“%à˸ÌÛŸH û/'c:L£[–89«©Î[=ŸèŸKÆ(D!cæùŒ¢,–,¬3°¤Ê7h ¹VNv¬9Ä^1ÃË=3ónDBÕÆSc ¬ú”ž=B!žêSÏqå{òϯ‹õËwΚcóô)¶ÙdM&$–<{[#8¨Ñq ÷³xZ¬deµ£¸9uÞ'O=n5­ËÂF+Õ‰7IŽ_ÐèêM€n*лÅR;?<¦Î¨05‚GšÑÍp"šp‹µ9#ó|²öÆçŸáÞ!úÊ[ÙBS¦¸¤Ñ.?놙M†Ø2y†¦JÎæËwã nèw˜xÖ»‚Q€ŸÍ%LÅ`–~ŽêÔDéÑÁ5ŒEÞyÅK`j¬¨ç–ãö!·aà ŠÏ½ò„⡦RѹbÛ6œÐ¿gµ&6ýìŽËGž…ݬζÍb¿Ã6²vÓ»È;Üwñ÷åÁ ¶5Æ$Õí¹okËw•YÇrTñ¨‘À7¢ÆAal8ëYŒÃ?.(o)ìÒÏ×Ü&²Ð˜CÜ•åµTPçµÃT ÷aUÞg‘‡1ÓÀêT·ßz“à Òð.ßpVÁP²!ãÌ_WQ Ik•[¼ËØ%—õ)î'¤ ¹=Îë¾ÉÍYÛ°M}®5Ÿ|õ¹vƒÎ^+ n®?"çûÖ+–M€R£ÊÑ{ì+›8©Þªo’nFW#¢·ØReóðÜÛ”_a(Òò3…µüñCέ³<_')Sãydk~ð6n&]\ºv#v>žaÑNY«¡*Ñ=q*™æߢ15âîþ4Æ7~î›øÃ?üÃ÷wtt„¿ûí¿‹ÿà/þGùÑô>Õòá|R÷ù8ï—Ûd½·7…8m6±Å·zçÀ!÷oF8z™Þצpÿrò%2Y½½Æ×P ‹õ‡Œ‡™?¾rÁŒ‘»¶hƒZ¢Ð´¤uß‹Ã<1iÓ­Ç]v>Žp]–6DM=ÀÎù|ÜÉ7ÅêAÖnzó}^ˆ1®‘$†7*שu=û^•:݃ÃÝ,Ž2+‹%X,-‹‡ÃzÙ—ËÙ[?IþÅ·¨ %¼¬ü¿2 K B¯ŠÃò¢Æ®V@†¯Î™\¡Ÿ@MuŽ’|˜ë>­ûòUwªÈÕ"çkU&{uw¾'ñs-ñt˺XkÕQMFÖ×S 싘Êó[^€V{›]»Ê&ÅŸ#y9üïçc:«²dT>IB³|× P„)9ÍÊ”(ÞáY­ ¬fã‚ý‡°9ÁÖ¦ tŠý”ÕT§1uÿËYû/'ØG/öÕ¸py[°å(ðwˆ\nÉÎÛ»&¯ASÝYMˆ¢ª”µ H‘’RñíJ2c·€¤,'ã©56qBµ8¶d§bZ2=•‰#ž<sw‡^|Ÿ‡ˆõòxéS…æ#@ü®+c>ÞøŠ7?O8®.a#Ùâ{FyýÜyšõônC‰lÖG‹?ëåy­Õ$fÁ?yŒhBå®açPãš6©ÂA¤¶ä…šõçëøs­Ù†Á¤»ë[ Þ*Þ±3Õ¡½AuÄÌùò-*¯OÔ/Áu¸7Ä·p§»æ¹Ùõ¶Ö]<š*ðfþÉ?ù'sÙ#w‚–P[þ jçè4òA‘Ø ÁTéB^Yè<“ñ±/í̃tÔD5¢ öÜ=ƾ)Ы†Xõ‡Ñƒ_-f%ö;¬ˆY²šÖ s“òN÷þküì@®þ… õ…‚»ø ÌÎG[Okp¹sð ïÖ=ûð{ÅFøBŸ`oŠÝAm1s§iØH®ßà½Õ!¬?Ÿ xpÝòoµcÔ7w°n•낱b£iŸ;ÓW¡ð@8 ±AóhðÙűãá‘XÅhò9ZµOps[ÅÖ¦÷ÁòÃîÖ¢öõKHÛÏ?³çž$Ù¬® 9•ä¸p<ì‰dÝî"5ã%¢ u{¾ó>²®Ð’?ÌîLŒ Ôê”\P¹¿A°– :Üž™¾$¡iÎ'Y˜÷>”µùç\ã{hø« =ãh •ÂÞÜêlý×39¬*‹UÆ€'íÄßxPŸäeX¿Ña?öQÛ‚¼U¾—Ñ9vÙý…×ÞUšL$864<ª9‘Å1,§ùà}u& Äš‰qU@Ósñ1®›—&¶ž/ï¥ß]lUHPƒ6;KÿF[à˜‡c×ÉÄ@­VŒQ&Q5öa:"2F`ë-ˆ.Gñ¯Åu} $„Uýžº]n@µ´òó—Áv+;¸;³±q Á:ñ =¬{skAÜ\l_­·AÞá•yg Õ[¬Ì!²èúÇ“*^†gøÏÿ›oÁrf X&ÀÿøŸü{øw~ôÏ~œõgY ŠÐ³müO Ã NñÇ7düÛ_þ vüå‰aã÷ncüËAoƶ…‰ï#Žˆ<Ð8ì*¶k~ü` «ÊÚŒ@—ÿúw¯0°iWÙ aUˆñGW9|ýé#´äâóÙl6ßTÑ„?DÜñÿ\Çx9Ôp1™`l;°ƒ<¡)‡õ*¾²RÅíì¢&ÔS@²ïàÖä°9CW_šh':çXðOïºx£¸ÒMèž;ôÁ³1Ú"Ð’€¯®«ø“;›P…ÆRk\“UL¬â€–Xp÷ù š;¨3Œ8}0¼‚m ð>i îøOÿûÿ—Ýy]oBüüOÿþìŸø3 ?[—Ѱ7лa±ºEïÆ²Î»¾ò•¯à›ÿóÿ€ƒ:Ö”+¸Æ¡Ö#uœÙàÖ’ pqª‹ë«W¯ð¿þo¿„AÏÀp8Äd2ëºð<a‚aÔj5ìïïã«_ý*¾öµ¯e’ÒªcàêÔ…ú‚þæD¼GÍYÃXåÐÔË÷ýææù/ÿet»4Èó}ŠþáÆþè.=š,j˜`5j}ßÇÏüÌÏàóÏ?GµZÏóàbµ‚JE„뺸¹¹AÏéVX¯ãŋþïÃ÷}AÏóAæï|Ÿ$1¾õ­oáÓO?->Sðñÿs÷îÁ’le½à/+«²²²ª²»öûÕï>}:zgt"Ú¯¡#hH8jŒ Âg€@ô(F8*p…«^âWÆpâÊ †ã0 x9:9x8çôsïÞ½ŸUµë]ùª|çü±²{eVfVÕÞÝx[õcï¬\k}ë{ü¾ß÷}¥!¶D¿7Uá¥ï¨Yj&Òƒò+ôÜÅl’Åläö!˜¥, ‘ì°ƒ”µ«FõùvKÆ……É…šŽèFF‹ñLnv¦Nú躎w¿ûÝøÒ—¾ôàßüqüÞïýjµLo-'£¬S;e”¤øwÐÙðìoí+øoΕ ØÔLù˜Â>sÛ†Rªå4˜Ž ¯6»mýôµOã÷žú½ÿÀ>€ïÿþï¸ØYLA’Üýεk×ðÔSO=øû?øA|ß÷}`{Œª“}ÛüÇÄÛßþö‡ZGJèÂÕ&ûšÎp½5Bþ"Õ^«‡}’‚Úƒ’§x`[Ûü0Ù×z‡(%à‚™î¬¹“ÅòL_W‰Ý[Žƒv2®:Ò÷ã£ï|sxßÿri¶Qu§‹ü¹„}=j«K§óÍx®ŠÖöšA@ó@ÅÒz|ÌÁ ëðJѹ™Ã4Á…ÛSPài"ÍäDpæt·ß“°Q¡IbTW=ÿüóxë[ßúÀ&~èCÂ÷~ï÷&>ïæ¶Œ+аF)drô^I0 "éy{¨2³Å–ÒaâÚôâPýžþ¬ŸÐ6Àsë³ás¶+A¾˜…*Gõ—$ jtŸšƒ–Êá*¯êÐó<>VwqŒôÔ‚-sÁ¢÷é žÂúŠ‹Gõ¦”ì°±‘äNÞµ – Hc„ît ²MÿMN7P´£gç5¤JcqR1‹~×B…›¼¦Ú—Oø7ú9,WFÐï ÁŸÝg¾³­áÒìh'GïÚÈk!)#cŸ<L)ÜÂì…¢]€”Œ{¶Q.MÆ”ê*r‹@…ËcGªãœ8™`£ÜCuyz:Ö²àd2øN~úÃ6*þ˜zÞJ4U*ð*ÉÄ—ì \œM>»Js㑯ò`ý‚ó]]ÆžøGF'ƒl-J´ñ2<+¼¦ý†ŠåxÝ?dË(9Ä^í™8³JåÍeL¤<ÿ>—ƒ’€-åJ ¶¾!aå±R^r¬ÑÚ5piÁÓAÁâ §~ƒW‘Õì©nÁã'Ëw—³QéàØÂw|ïŠêRYcQ?©ì0\#6ÐùªÎ »â!›µ`äý¹£#˜ºh]Êx¢T|dïª!a†ÎÝG{&V79t”Ô çùže –èút…½âÀ–†H‹“uû–¹‡‹ÜdÿB·öÀg&ÿŒª9à¼62ù% ]”ÖEYnZÊ'äiàVgÃýDÇ…Ä’ç0ZžPCÝm`%Eìä^ÇF%#A,%äë=`1wë˜=Ô¸é[Òvâ…¥‡>F?cÏ£­˜«Í.ƒîö\ 5˜ ]”KáxöÀa±Î:`½¿«jnTÀh¬ùÆÀM¡œšÍgRÊ ñ;~Ï»ž†9Ûçôñb$xÃ{=”ÎN>+[ÚAZ<ý½86ÊlX«\y3šsê°=Ôœ*F­;È-\BkßÃÂFXβFÍÛËé†Éa»CgJÉz¿çЍ¦H|Âzé¹Á¼ïígÏ$¯#=À.…cledC¾«aù%"îjÇ8/üìÞž„³›ñç|·káü\Ô&t–XV19—>°a¯Óõ±½œjøü ÈžªIÁ£úä y¨Êl¤=»Á ½<[S­áAXŽ×9ò±ŽââÃq¶ž øýóXÒ­ïȾär9ŒF# >V¶Con_ºï_;VØðº­Ò™aYÆ‘Mã¿ÄÀ³Ðô0žmdpSšÈéžž!1¿Û‘š§xD³1ÂÒ2­\7‡Tjöà¦vˆ•µ)ÃÓºK™÷I‡¥ Ο²íüG:ð€th[äåg!2ýé¬zøò•ÎpàZáß‹#H$6Ä·A†(¢8Òa§MŠqÒ!H¬K G7+@í¶jsÿd ¿i¤C¯þ>ép_&ióäÉÅf Ó–0wêÖr3t³ªáD—Ìñ±¤ÃáV‹„H‡°¤ƒäÍUàzs!ÒáÞè;“ûi-‹87÷I‡mœQ±Vòò€Þ…£^òz£tj¥Pl“tàé0w~WE+`>—}@:váöz“ÏiÒaC%Œw¹}kâÏÝ'jÍÙÖžjDYÖBB»æ éÐjE×Ô–ÒH‡°lyÐ T³[LQz‡2ݽ:II‡ÝÜä®÷I‡bI‡ÙÑäÅïhÀ†ô;¥*÷„å)¶}…Æ%ÖÞ©äjEÜ ‘@­‘û$f–ÎæÑ„åÉ8"º|­D<È”›‡Üòǰù#ëF ½ßq¤CN£ç{¬ÅƒQj ËVa³uÆq`KªšÌÐI$ªm´ÍøÊ;ÝïÂp¡t~"éã¸DÒ!Óì< _"ºå>éPݧÿwÞ'ñé.ÑI'%JÍxâ€[LA÷+´ï“õ|¼ó¸»v¤/n–PæÈÙ‹†g“ï¹’¢6n)å¢PºK:<Žéè2‰t¨u¶gZ¯gº$0RˆtèÄI\>“ŸJ:”Ž ‘%¿ä¨~•ÿ?+éÀÒ!€DÒa>Ð…y±7`•õ»+Þ'ˆ%€¸"bQ››H:K:4´d€nî0lwï“$’w'Ó5ÉÚù‘—GE:€õÒlÕŠ‚þÎû¤CÒáÐi@Ù™^ ô0¤ÃöŽ“H:!š­âîj6^²ýN+Њ=HÌèÔïw¤›/åOŒ2Á®ÂÀÕ‰Ï3N:]&ˆ''#®§‰ÞY:Côõ8é0wìVÂHvãKp RëÞÄçßsû°ÿñ–‹ŸùÛ›øwÏ~Oïîb{ÐEßÁrmØ 8P|õXÁÿ³ÓDCIî | ÝBK;Fl|­í¦Ð±xzx˯awß%ã>é0S—ñµ-¿ù7#¼îïnâÿ¸~_mÔq(KPl\èÐÔ€¯›øß¯+xÝ3ßÂG¿ýPí=Èû?É4N:Ô”°î`Î2øøm?÷Ì6ÞþÅÀŸÝ¾ƒo4¨kþwyt¨«ÀõðÇ×%¼îïžÇ¿½ö7¸aÒ˜täwòÔœxà(‰tºi |afJE³IÎZâ30«k`×ç‘“M’kg/žˆ·è»0Ê$ûj¶eô²Ž_‘í< z™!r‚ˆ/ùËøÂçþßþö·qpp€~¿MÓ`Û6<σëº$ /¼ð>úÑâ§~ê§ðÌ3ÏPŸ€/†H‡Pð [eÉ|—Æ OìšÆ¶Áö t:ôºc#k, zŸùÌgðú׿×®] ßáV´ãÎ7n} ïz×»ðò—¿¿ôK¿„}ìcøÊW¾‚½½=H’˲`š&úý>nÞ¼‰O}êSøßø üÄOüþôOÿtêøvaH}V¦Me×˶aš&šÍ&LÓ„¢(è÷ûh5[Øß¯cggGGGSI‡ Ë2¾ñoàÙgŸÅóÏ?›7obkk {{{8::B«ÕB¿ß‡,ËÐuº®cggš¯ ªÈ„H‡f"§0j$Ûêº49®+ \ˆt –tºP ‘À)Õ`ÕFÈ‹ôL’H‡Òím¤üî—AÒáíº†¥A÷ª0u ºBeÌó<|⟑/_¾Œ÷½ï}¨ÕˆsLîépP XVéÀÒ¡$‘ý}l£E Ž#w!U¿óÈ8é0¯R?CÙŽŽ–šsÆlžï —äÙý@³Ž5f!»fÀ¾NöQ¤Ã~¡õHt§©Ge}éØR9D:"æýÑ:AÒ!€éþ©á“B‚¤Ãí°Í½O:n‡}¤‘›|NI¤CSI‡B¤ÃžMbª¡^Ç•Òå¤ÃÛžúœû¤CÎÁ9îðê铳¼Ÿæ¿Kß%ï$²c÷lœtÈšägƒ¤ÃÆýqžZ én£¸O:TïDãUoúgUÑ÷•“‹ÚgÑã`5Ò¸r¬#H:H:K:L ãÏjœtÈuÂ-ÄŽn—y@:${¿>ó9YþØD5A§I‡"¤Ã vÂúÝÖ—øð4ܨ- ’Ä’y~ö*}è äJ!Ò¡çRÞ¼\s§Ã$#kt –t©’ÃÏç(ðqÙH$jµAÒa¡ŽS—+äïq¤ÃÞ¡ŽA×sšaÿàÒ¢ó‚¤CØÛÎÁ>HŽ—õä{rŸtx{ßEÍÜÞ Û¥é—Õ©¤C›íce= GôÄ9qZެ»hEßù8“ƒ°~zšøŠthø]&¥­(Öå¯A5Yx+U¨Ùè›D:"ÊC¿Ûï0>Ÿ•tÈk'›Âjê~aÑ}Ò!€XÒ!€é@"éÀÒ!€¤Ãô!ñ%¦‘ mjœãn;'ZÛ¡?¥çžEtBCºž|ç'´Ž†Ö.'’`áLG)Ç&’Ù'&'‘Ä’Í€:m* æÌt„t8¬“3íP gdtP·ÂwýVCè‡Eâž|)D:€“ ‘ »â¡Øë? @a›S4ÃëŽ#Zž-?ÙúÓ¢Ç|ÜJ;|?ÒˆßçÕM?í“w“ñ·ÝàhZ%9¾b:DOß'€íÇZAÒáŽFbu?;L#ŸÙ„z0Î ,2~—Ê éÀÒ!€ép˜OŽ?ï“ P!¾O:€ÍZKµx»R걉¤C¨qUtñú¢åRY'I: ÈûÝëm¹=ÓýóøU4Ë*æjEhìì1Yy.‡ˆ.'Àº?íDÛ¡qÐ}Ò¡Y¤1÷¬¤C'&Ú»“1Ü ïßΰ}=;B§8f#x?žŠ!:ƒðzNJ:ÆÅÆI‡B¤ÃmCFÏ"ú¯æ÷É-\‚c§#¤C0|¹'x@:tÛñ~Å}Ò!h­úÒ!@I‡j;8ù‚úb÷I‡FÀ§-äÒX~ 9Ó…"Í1&‘DH‡Žk"7°1WB¤CÃ/_ïÚÝ-ÚݤC¡Íø{P…6 2 ²P``Èm63'ó­nÀÕãïo!Ðñû:2ú _ÿÇd?cUée='àïf á:%‘$’ÝÖ¨ªä=‡»oËyäË䣞ØHÍL:”[aº8a*L¾Oda4òã„•h\À/]ç„uWwDòÍëYz—-ß\e†¾,>Ò¡e¦±«Õ1ä§ëÛQ&ŒUª2u’îḴõkÙ:µÉÇݰü7L*¿^ÀÐtÙÕJ»N)bßžì[Þ'@j^BºÍ¢Ï‘ï ’ •Á£{8r¨rêç3:%f rókr@™óQe:ôŠ¡V؈Vh½p<€³ïy3.Ò™ÉIÑ£À-ú>ƒ;ñd%æRÕ’~7à,7‡S##“󛇦l%0µùÉD’ŒFÿÎÐ÷㥠Ïwfu0a…²g…•‘šž-É=äè _Û\¼Ô6’ óã'ˆ;ä¶æ/žÃH&JÀV\42ñ¤œR~rÕt¦K.Véâ2,î ËONøàvóÒtg¤b{°á=ž÷ÇYûáó+–)˜´Zö(Í‚Í1¼;‰èÈ (kˆ8Êø©,NÈ¢ b4Öƒ¹ Ä›÷.–´ å}{ö4ËyÒ¾8?['5a ÐwPJýä€Î]^öú.ÂA^VŠÞ·ÌBx¯Ôc™˜Î•…‘‡ù$Þò–·à™gž¦i'Z‹$IøèG?Š7¾ñ8<Œ©Ò^’³-àë0Î Œ1ÇqNü½ês|| !•ÜÍgÇØ €†ñû|{KÇATk‹.rËÉ2´"Î=²÷ŸÏ‡åü~1*¨‰ï¸±CŽãÄËà QlíòŠ€r†Æ|þÌsÏ=‡}ìckªÕð®÷¾ÕjòQøØc”•Ù:ï¨E|»Ó3ÀH\Τ>·\'1sÈb$ÄãijžÚ^ç\ý½)U¢÷†Å,Ú]²†ƒë“e¿@}´Ì¿Ýq¨n4/лWÌÍÞ…½¢,<yáx*ëê^´xóØ'FöåøÄiމO«÷G÷2Gà´°?eíöP? t,ë7‘-DÏîÜ…xÿ¬tœOÇ'àæRYô#ß3>1«¾—œðõZõïW5mÃê¤P ì[Iç±àL/+H"¶î*0}?ÐDr¼uhnøÝD£‚êzÔŸvD²ìA¼¾rbÆÒ./ÒwãW£]v,ùKôl‚ë0›gg“;†Ü)&€Õ;GÉ:?³LüÖ™­»d¹œ¸ D«º–³ÆO¤ZssQ_*ïcÅ™Ìä¸4›Ð9½e~즧àÈË)jKl)ê/¦FPëþøYO qD½Mîþ–Æí5zîv*Œ}0Î¥+OÀu†ž`K¥ÆíÀz4lä/‚Ng ¶éÚ³&±7ìñÞQ wšÔV§Ùøâ!¥ŽÝì¬?"q'š¨®ñ(ßïʺD÷ç¶¶“ø¾],"7!éZæŽR1zÃ=Äå\¸¨LíÎÑ>¸ gè=#téÅé~qÚ‰­ #"Ë=ç‘•,Ñïôˆ2;½˜pÏ $þÝ%!ÙnfU¢ÖÄ‹¨wâ1ž!º.oœlZTÓ8@W»û WR¼_¤("׳¾Îââã°z̸b]ð44hÇ·gz—‘à.;£ÉEÐæÁɱAäò:ò¶ØkÄ—Ð÷p¬KÈ ú8#!šC(óg˸ÖqòI€9>ÞT”]b[ÎÓ&Aî¹+œLsyG½¨®m¤Âg7àN×å0}fr>×Jh‚ XáœEMžàÏ–‡“XÙÍêÌ?ÿ_‰s¨f¢:MÛ§~‡Ô||^ ™¡r”Z¡²¨0L7KFHýÚïF˦ÔQRoÑ Ëh7Kc~®þy«Hå^(-Óöus²þxù• œ¿ˆµ4¹#. mžÊWºOIRÅ5r7Ë2±Ç=¡ˆ%‹üÛmy¦½[¿\†¹Ï QÔÀ36xXü*ÎÂ~¢øÄãáæÐ‚"¿×ÞÞÏjÐ'4 @ŠäX$=lëF{'—ÂJÇÐ\³;èÔ³XÌGc'@¶\œ³`pÔ†,stÝÌÎe¸Tÿæ‰ÝÞH×pt‹ú{Úä=±çTÌä<-#ÙÐT7h—c©nHi$¦Í•3(ñÐ`-_áièé}ôóÞ âL¨¢”ލC½^h‚ÝŒïØ![T1ï™ñÁè²7–”S(ó(Ÿ££H÷ÛcïÖ‚íøwìåx0 ƒT`îõràð¯WÐVu°Ü*ÌùèûwT-Xè>” Uë^˜T³™ +£¼ŸtÛw&'üªÆl$1ÓÖùìt¢•T‹:PéB ËÖ©vظ1¥ö§Œ´æâ;D9SºÁh5­6Ý'}›|ÂÑÁìB=Ž'ƒ¬ÎÇ;zåäc‚s6¹ø¥óDæ-½O;+=…E«™ååÄ2‡ìä@–Ÿ-ãÞ©äKjXÈP+¬¡2aTWZ?~h¥Ì/_ÂÐ•é  ›ŠYÊ p9Çv'È/š(§f–÷|ò§TÑbœE¢‹ÙÉI¹tÖ`ÖóÅ0h&êô÷"q¼‹á}mO™|'½í½~¼ì¶cÓ˘þî2Ĭ%”M`´@ €å„A9f¬ ~H¼e7ì¸ÙégÛc£Æ,p,•Ä™°;Q§Â6€L.÷ÀZ¡çËúïÙ tecR*ÛCQ ÊP}œMÕ¢ÀÍp¢Gß«À*8¸X5>¶>ûxÙ[×gëÖ%6‘õ«-³çè~n,»W-N^J#*Yñ Za¹5˜øÒ󻤇Eä[ñ?sdl¡.½–ëµÂ6yõÌä`,= µnÅeÙ{t­ó½±ä°Ô!2Wv—á–¨­*ˆ“­®=¤P ¶ãÞX‘±&ÛÖâX’x…[n˜¸-ÌÏà̰ޜçl°Ksè2ñànIÁÕ&W–À€÷¢6cu±ß™=à–î'Šü€>èÖV˜ÐẺHìaœ³ÑH!»Džq0 ¾Á|z²Læé:Kµpç»Êçb|^‚øëbTŠÅä÷Nñ*UU‹žù ù.Òî2ŽoHÐõ]ðSýn‹ê¡Ã!àl¦£ïae'˜Õyz/«Êt@¥®ªcÀµæƒ¢$È‘õ°7í)݃ýÑ›Ç| Î`pYËæ½7µ•)58U÷‰Œ» íÞYÐý>ò+ɸ1 ¬|a2)!Ï’ x˜œp²¹™eßÅÉ“£ôNEÅ«bO¾‰Z&>+ÄAXކÎ*^ìíã›Ç/$…ŽØ–æñk_ý:ýʺªŽGžÞŸÃØbÐõNôÞé”"—G±øp#„ÕE|éðY L޶QW%¼ã«üùõÐÕ{§~vC›Ç¯}õ9Jûàb:ÃßÒvñÅ6‹ÿùÿÛŧwžƒáœ¾cëÐ*áwžmâ[õoà°-¤02T^;RÔßoÒX0£ñË®À¿3ãAXÊkwHc«ÜYÓäG§KXíya{áL…gÛ6Ž:''´Ø¶|øCØÞû½…Q=ÿúÎ> ~5÷‘Æ84fþ®££#<ýôÓD§’s:>>Æ;Þñ<õÔS¸qãÆÌ¨’>ÛÛÛxë[ߊÝÝÝ@¬Ø„Í ²“ –Eã8øÏñQ”xÅxD“ƒ> IDATwŸËn@C²GL7ìC^¾Èc={.öŒa6Båá½xGžh=qŨ¦BÖÂlƈ#,?žë“cMÓðGôG  à o|3άú«tbëÎìr7ü®múü8†ƒrk;€ Ñ÷,®l m5àù€|65¹³ÿRé,*›³ÛÂù9bë/ÓDy·ö'7‡šH“WÖ„ÄËÒ½*Ú³é¥r ‚ûpc†ÚS’åùÍ(.w®Fäµ’`GÞ”‰ÁËL! gÎTQ+R¿®X™NPÚ»õm„õ-+Ý‹÷;¼l&Ût&Ð¥>}8;Ñ9Ss‘×é½ÑÍ£Ùt‹(áâùÙF-®q”ìg ë(ùäÁÖ0Ù‡S“eÚY÷ö‹N›cd²Ñ1ÅrÇÔOÝJ @žËdqСºa¹O8Ì—â 1MO€l‡m »:KA-‰/¶õ#x䂺Á€G_%w´%Í–]V îÜBÝÝÓ—ì0»+~×sÕÇŠ­„N¬)· ýŽ C w…‘ÂþÁBfÌ ,y?N“¥dœú†Ô€áí"•@>H‹ËúDnþ’\—Äb;z.-ÇA§C÷ježC!%ã¢@î°]žZ÷HFüìßÖp4tÁçâý qùr`=~·ÀR؆HQ9(_ ~ßÈ¥{“[4Á¬Fý7v‰Új.ßÁòØOŽåübü´AüÍÄÑé÷mþ1=×ËB|W¡aÖ‹Á£Å+e¹€¾~¸T ™Ý#ØÍ&ŠÆ‡ù9€] “—Ýèú÷G‡¨KD@FÑ!vÀ_Vùd“቞Z1ˆ~/ÙŒQü=Ö{4nÙ t«í|UÚ· j³á3+µ<ú.ñ¤€=e3d¿àÅæãu¿ºÛžös–²ë˜Î?È•¤:Ñ}âý‚ÏŒ/"YI˜ðÐÌy–‹—£ös‚M>—#EÐ;^‡rëá½òzD7i“EpT^sc]³…µM,ò"Få ¿àÀo´Á­ŸnrVKuçONb½E0Å0^’JxìÕ¿‡£ä\Pß’$ô’¿»ÞÈ‚[Ü€‘ŽÏ †‹õìLOrÙ:Lñë%Œþ:2TšR+ÅóÀ!õ‹Öóa½&€ìýȤy‚sÙ”„>ê¨Ãð;Á©QY-Ù¸°^„P+C2§wMºòÝó÷®dû{<=.Ìô¢1Êòy ñϹٛló3‡dcŠ:./‘ËDIK…±ûÔcè9 M©±øãþ4¦¨N¤²—9’áÕéšœVN. }?LúÔö¨*js(–g¼E”¸³1ïé |CrÚ ŸIfµ‡û»a<¯©7Q¼riê³³3Ôy}Õc›Aûž»î¨»¨è9ínI*äüËJX]Z‰êkÏçl—ÐKÏ–ûÍÄÄð{1rëä] gÈŸSfRçÂw…±X­†ßÕ,XvÃgW6ò´-p4Ìâ;ñ9P÷ú„ú”Ú±[–7ߌ¬“wn ¢øõ­a<î4”Ã2¨æ‰×glO«ØF8&nÉ7PêR‚X&@RS[ŠcÅÄY½€Êµ›Û†Š•e†1yæ ·Þ-†cªŒL侯0dE?7™Æ qN‡àfÒÍ®QÇè)¿3gU£XÑ%¿+|º³ßcKQ•{§–½îVŽÞ™…µ 4ZÞÚÒldÒ{ òôLv4‡U’Ç·éw=; ÇQ»|êõTÃn2¬á yêoTJ¸ƒÉqUÙ£w|Ó#¹R)c~"Ѐlà7;¸ø¸ˆŒß zhéX^™žkî7£¸Q1 W…¹xß7Ÿ ã0í{,ßÖ™•™]%ÞÎ[éj+³aøYJœêL6Wý}Ò˜KË­/…õ<—'E†äc£*_˜epŸPšyÉôƒ–¸J7·œŸ·ÄÌæ”‹.9,Ö2ì2uà9MÜkÑìŽô©Àÿü„ñrµ¼à;®ò¾ñãypÜÜ{¨ÃÓvˆ±3ÆÆgŒ\JÎÙðƒJ~ÈŽïÍpGa§‘3ã ¶â̈å áçzÃ*6\¶3¹íhJwp”Ž‚-F#™Y{¤+X˜w tÉù ”’Ž‚Y†Ö%g–-ŸA~±òPçP–’•¬áfpkHCž Táó `|ðHõGÆT ôÇò€²ëìÅžÞ'~=·A‰ƒWŽ*ƒ…,q®sVøì^ô*§ “Ï1eG›ON\¤ Cüs}Š~ÕôG8Ï×èúR½éÝÍž‚4 ÐÝ?G’…Ê=²æ5o2Ñ@ÐêI‹kC$^m#ì8ërø,¤ù„c‰Å]K–*“5ñ%´o¤Gh -0 ØŠÄU7 Öi@Øò»é ñó¿*}71°Ñ%Ýã°±»5è‚_Knž2¦'tª±Q<ØUxœ¼éZ4ðMûª©º-­Q'À󉗲ϪÏÇØP§è·E߈&eןƒ>*ß|º™“%ò½®€Çž˜ "¢W.áÕÂrhïgO÷»ßæ2,úül#7–òtŸ¥¶ˆ¬7ùÝí’ uÁ@Îéb÷NXW¤«+X_’ø»¦L>d²@f>œ¬YxŒü=Ó¿[‘!Ž¿\žL{ÎÉ:ˆµ"²¾ýO “"¯Im½ŸÆ\údä³¹³'$×ÈzOÛ<ùó]3:b=5 Ï]–†ÈFÖ˜æäñ6&GeÂÙÂõ»ÊÎy˧Ò˦¬#£ÅïKº»†Z”Peš&ŠÅhBPJºéÙ %]*•Ù«ý²Ëô;×ËÉ@³æWÌé1˜¦£OäYÞCºdâÐAöGÈÙ½°¯"ÉÑ÷6šñöª”Uðx‘$Óùï1Àóg¦¾ƒÞ¥º`Í¥IœÞߌ±ŠGùY#ó¦ÇÆøU.„Á.µo½<`q¬:È̆íŠ|g:™,¿‘‚b&ûÝX-cœµì‡Ú‡ïƒ¿Ñø äеèG $¤RÌ쀨-’çæü‘«N›Å+G*‡õ+›“ñ™ý ¸îäî¢Ç£|øÖӰLjuŸ?ü<>òüç`¹'¸rì•\²üpÁ­‹žŒ%¼Ñý>¼í‹û¸Ý»7s×Á‰`ƒ¹€ßùæ× ø…,ºFà¡ÔÇŸ¾¸†ßÿê5Èæ£ñ ·„÷}» 7KÉ>}‡èý¬ETM<’h»÷° Øøçø” ñqÿ\‰ÆVV£óPß±ÉÝítÐN¥`)“eÄóôÄhQœWÛÕÓŠbü}—Õ—‘e¢1ÙB rÅ ‘›òXbÍ<µY ,‹y¡8fÈßíai¹tê;-fãÏ`ã²€Uâõê­é¶_ÓöÉÉ}\©4Æbç\jrñf*@ìM°u‹þ8°a3ÜýsÀga´’õJz1Ù7Pn+دkX7£¾Eù ªëE¥:͉°-Þ™U¤—N7¦½˜-À.•°‘[ʸž¨!'’tÏëÕ“5'ðÕø³ÕüzâÆÉüæŠ_41‡^\#˜eZ—zT÷z•MˆÜn )È-%¬KÝšO¼Ëð°Ÿ¥Qr,ómrónØ~í iÜ¥¤ã1£|/üïŒ?–R(™÷ìèïñz4fêdâ‹0G; Tbmð*¹¯Ýî”",^ÅB> fuõ鱃c“Ã÷Âð yŸL¶–KÎ-—}f5l[û^;»²<Ù^f]Úp¦ ×¨J3ÑÌÉÅÃA¹²¿+F¿¬e°%ÅwÂÔÐN«`+Xõ sVó³aÎ0 ×÷iåLTƒì‡í&ç&ÙÀøÝf/^·YUš3(Ñýý `»nEfr®ÌZ‹Ú ÙÏi×cF®+‹þ‘ÿž%¡¥Ò`£ÄEu*ÏÇc¹é>9/kµfÅ_Ó@‚²Nô?6-EØ$ûv¯I¾_™£zstõëÙü’þ`ºOWž ëmÕ×gÂøñµŘ £ äŒäîôxá\ÌŸMc} °š*.åÃþÉ™‹"ô#ò.ƒ‚5%çK˜ÀTŪMî»s׆,=g+¦ÃèB)jcY•î {6Ùö{™h Ä)an‚ÄDeë‚H~&WzøbÛæXLt[>Ä\™¾3WNá®ßˆCLh²º÷07T8¾ñŽ›Èeâc¥_Üx±ÝÃÇJË1xê1JÅ“óìQÅbRÄÙ $GÀhôŽ*Š‚þ6Br–Ãvs¡ø8r{%wgã»<Õe£¢† >9:ÓôªÐ`gK(¾yŸÝFX_r^ŽÜÝTAÀ͉™;œƒ‚OŒ¯ÚŒ/ˆ¹™0µÑž‹±ÍcKa—ÀöñjÍÇêmu+Þ¨Fäž›+ÃucrIÙÙ :ׯHpç³ytúy¤³‹è«É¾»Ú:€‘#qÔà¦?T >k;µM©ã±FiV2–›)E÷ûÊÙɹSe+Dè ¾Vä0¬Ìä}Sej'µÛ¨,‘µdÝîeÄÛÒëÃÛPsa}eôÉÏŸ·g Û ý.‰­;òl„åAYÀÖŽŠU±-7W–v£>]ôãÍF›ž/lÔgNAP ŠÝŠú˜6ö‹ñ2–˜mey Þ*`£Á…ܵ éb56²3; ]2T¤ý–­Ù̹S N›•]Šô"?ÀÙ…‡gÅok{¨›á÷FPÅðs/•“Gatäéã=„sÁÈJÔ¸³…r)Bκêå”P ±¹ÊNoè: LX©îy»èš$ŽÉÃÁX…¤r‡(ø4&5oŸ<‹U;êd—“äU°9 tCj»á÷KYx¬té¶Ý\Bú0ê0æcZ—©bóÈ5D¿›NV¤XyhÂ~6yMú|K€­ºèäÃçÒ¹uw Lºé*,göª W!g5 $$‡¾“ËrT.Gc$¦|+öy=m:è®ö£A´[wèò-r–»ê!®T °¡@$ãrbâ%ÚU!í€î±j¡L«'3æ<Š1£æöë œ{Ñ÷åjB`Ê¡ËxÏ£Av÷V2€¶lç0¯)]ˆVšé'ˆ§r½p.ú;C¿Ò¤’%ß;·˜Hè>VžÃ(`t_DÇÛ÷Ìb ÀŒ7|Í- µ£xhß§1ötdýÑîØèã|1,c=>|wX9¸d'€:y} Ù¢S1M:Zúq¼=aæ¦ß§l™èEY÷;¶mѽHog÷»ßŽ,b×Àq›êNELaË¿cÇyj?z²BxJƒx[ayèÛ]œ¹4>æ:žðÃûã¹"‡#EÆÈÚ‡ŠéÀÌq+ìÀ[Ëñû7x.L t‹a!±,6}2ow¬ÊË< ;ô|`´˜°ÿ©",³D|åä䎅Ç|2¯Kï…½“\Ò˜Âï?¯“;{ž‹’c]Ÿ„.®ƒHìrá™236Šz`µQâ³nVà*è휾ÛQ6ŸL³–FhûC«éš„üˆÇq8<ˆP+1`Õx÷¼gظûPþ›àWÜe2%È~#?"UAðIb±ÛM€ÖÀ›CÑï•®R=ôÈÞtÇ*è³KñöjhPû\2çÑëP28؃¦†“.…³Õ`¤JeÉTð/ýSõUcs:íX%ë)^š-)Sà΢­`hØÝ…—!÷®àø„æ Ù[³öI >ZNͶÞ>ù9KIîúdHmð« ˆ)Z8aGZ"º[ݧd†+¢Wš¬wÍ.õ­•Ám4¤YHb ^TVðÙ{_}ð/w¥!þà ËSI‹IŸõƒLŠ$2twè@7Sø£YüoßzºóhGÆîË›øøÍ/ø¶n϶¾…·~­ƒçÚ·gß<ëG¶jø÷ß~mÉÀތʔNugÅ2æSÉñ¥œ&ñ°¢›§~§"GeæH½3ü˜{4DL.¿ŒªÕ_ž§g2T«ÕSÏ?|õ˰^y ¼•fs™HÃÛÛÛ$ ï{ßûðîw¿û¡I·‰÷áî]üÉŸüI².*GÁ¼b±–eñŸã“sh6âuí^K“ ûflyzSªw ǘÝþI„Ç,ÀNU|›€ÑëˆO¸Î kà}|çhHâ¾5™$Ì[I.äPŰï=0£qý°·Å)ŸøÄ'v£€×¿þõHž…Wˆß¹©ÀÃtSƒ(‘²oùc_Ê'##ˆ¾o™ Ö²?šž,[x,çç×ç ÅŒÎb—¢#åÒk''äôÜ(é?' H/Æ]M‘óûö!Á¹ì\<`š“fØt©Œs»Ú!ælvP÷_ÿP»~Õ‰‹ùÇàô§ëíö.nß¾|ä#ø…_ø¼â¯ÀË^ö2\½z/{ÙËðªW½ ¿üË¿ŒüãØßß‚ ~j|ô½-˳Ï>‹÷¿ÿýxÓ›Þ„ÿþ‡ÿG\½zW¯^ÅþàâU¯zžzê)|⟈ ÿÀ§.’ó•ksHðÔB`„)˜ ÿg–©®z%ˆc¬UUÅ×¾ü%üö{ÿ-Þô¦7áÇüÇñ£ÿÝÏâêÕ«øø¼üå/ÇÞð¼ç=ïÁ3Ï<IŠžw^ßÛl›Ø×l±?ÝO¬S\òÇÀ3Eòo•½sFŸùÌgðG¿õ¿âç~îçð£?ú üäO_}ðž?ò#?‚×¾öµø_Þöf|ðƒÄןù[ýS Ú=’Þ(^­ª0TÞ×gDwq¹hr«Û›üÞú ¬® A9ù¹^*^V-Ÿ€´£vðúx{ôÔôwf,ªËŠyŠYé›t§ß‡yìáãÿ8žzê)¼æ5¯ÁýÐ=ûýƒÿ¯yÍkð–ÿé7ðgögh<÷ÜLDÿv*ž€Õ>0|¼ŒøÞuæÌ¡ìö  Ò~®D`mT¥0°sg6ß95 é»s²‚–}wò3-Š!mä“}ÅfÌT–Bi„Š·×#wšµ‡x¬?V|¿­£‡«%ôÛ1cÌ;§Ïá-Û¯åâ÷¢•ep»—ì_~Ý™ì{2éè¾0RÔת%Œ[Í[Æèvn*ì«è¾î™››Ç¥õ@ñ‰Gñï9>œO•‡Q½¿PÆò“mî@÷Æ Gîög§(¬>!à%¥Í™Î$W¡9¥ @<ä +6;àýÆ79N)ùñ׌þܰNtßE‘|O©DÖl§[Ô¾ø¸[²‘ò AEëôã-—Ü•¥jË÷‘ ñ¢œMÞ.€WìŸÀfßW—+"%õè³*›äª ãùöLÏn*Dç/åÁmÆ`Âe%£ ®ë¸í.Î.Eã†Üjԯ׶)>j2ñ믔§ë§Ö•™ª'ïáØŸ>Äê³í­œ‰ÿ.¹Lζ87™üa)Èb’ÌR|'Q~uÌŒuå}p¯wãcfv5jëJN8¨Ü­ãŸó#úB)±ùS?£W ïË(0‚til àåâXcw çÇqli2sh2a_‚YL.VÈnø:ÂÏÿô[ä»y0Ó:F'˜júÞ|²,ƒÙ$ñÖ¾Jî‡'H!Œ¡Rz{æîlxá\<ÉùçeåRz}99ªË¶î&áU,˜ µÿ=#|æ¬×Éï|f9ìCï0‡°Lù¼WÑp¥L¡ÕÌéØ×ð˜È÷•˜©7ìÜo‚9§vé9rV‚¬Ì3XÉÄû¬ÖkYŸT~,µÿFÎìÅí!´~ØïÄ–ÕÕ¨Uó'VòÉ åò ô¾—¯y5›Ô_·É^›iª§ÝÅ𾨿¸·ðh¦Ù.F}H+ËbpÄ@¾~ìóèx´Acä|‘Êäš@ýIMÎy¸äÿž(]F~>‹leQ|¼íIþ™.F£ôÛÄvòç«èËjwQï%ÇJ冋>·C¥ §¢9ë|–èrñÌåä}ÍζgF–ÈD¦3‚»Fl™Ý/éEÒQÜn>­c>¡ia*ÇáPŠ F,pê¨(ÎeP”O@Œštöüä`6Û:Yw b mô@vpœ‡¼*ÊúìUÅ×ï)Ø·ê¸ã;Hz€àrAØÄ G…_cÂÏmìMN‚ÕŠÄ‘\ŸÍ)mú$CGÉùrª¢Ìàé'¨þ.ÎF2¨ûÕ]£T”³ÉœÁG”ÏÍ¥R®šaÅ[¸ô®+Ñêâ¥Ëd·ÛÓ“îþô5Ê9j@l­=»M\-Œ“ƒ¬g^¤U"óÙ3±Ï±çýË·6[w¡A7€Ÿ02s>¤fÊTö9¿ejM ŸK%eA{Ä™Â"J.XV€6aÜS?à8È;Ä9È)T~K«.öeŽIþZŽ ª°mu­AÜ ìÜUä¨V#¡ê°2”ÌQé³týÊÂ3ù5hÚô„•ÍP ï'AÌ‚?âÁÒºMÞ{c¥ö,}¿›r|e]ÿöÐLMÌeè3Ï2”˜0÷ØäÊÏ6¾åvf³,èè‹dÝgzëÿƒNXö=†ž™”é#1ó’r´m|•£kÑõ„&5¾i¿Úué¢Ɖ&ŽÖÒtl–#I(ëd߇B88°Ôxó•& “¬7å>öüö̪6|U}2Iˆu²ñ^éùä§&Èà㫬:ÇDj[ñÙV_ 8…Ä^d/žŸ jæW±8Ÿƒçcÿº÷VÿŠ!ç\x®…|ÌØpYä†:ò–G`½h’0»Ê€ÏFÏv.õG«êÑ¥¾„ÕB¹L4¨í6¢ÐâÙOä.è‡päcÔÚ)zçÖÏ„õa*!Ëqæ²îÉü.\ܹÏ9Ÿ€­+ñછs¡wð¨?ƒÁÀ×»ô^¤ÏEuþ±?ng,bXŒN8J™jáý¶Æ:²–3óꪞ‹ôšê¹h।(BSMxÛ=ÔÂ@ª—Š'Såà|7æ¹óµ%œ¢Ã§À²4ÁìrÉ÷¶R9}7{i ãÆÐrјÇ.>Ún„¿ú«¿ŠO}êS´ËaD^=ý×­-ZÔØÍG]Ý#>IÊ–‘J¥bqŽOmqK€¸à¬RðF.niD×4gÌݹU Äçød æÐ¯¤­‡'+¯–HÜ'û]ÐÔÀ¸Ó Ën^ ce.›”ªc8–UÜà[ßúîÞ¥Å?üÃ?ŒÜƒ¹õdy*.‘½Íº6ºåh¢¢’‰Æ?).lîh·“±<‰ÈÏF.Š}dä(®wìEý.;=Ð;0±8²‘ñ“áM¿J¼áF…ÃÚÀð»¨TcüÔ‘=wµ~¯Ç+y(üQ¼Î‰1²ŽÃÄíμ¸ m;ŒIÍ kXæf#.v8?Ο€^Ž5oíá¥/})®^½Š_ù•_ éÏóðì³Ïâmï{~þçÿøÇñâ‹/†v¶m£Ùlâë_ÿ:>ò‘à§ú§ñö'ßÛ·oOŽ Ÿüä'ñêW¿o{ÛÛðÉO~7oÞ ‘«-ËB³Ùĵk×ð¡}¯}íkñÔSOaggr7¦æµðží1TA4Xi,¡Å’NÎåààï}ï{ñŠ{~ý×ûÙÿ„›7ob0</ïydYƾ;G IDAT;wðôÓOã]ïz~ìÇ~ ¿õ[¿5ñý\ˆ!O·?Ì ‡n¶mãï>ùxòÉ'ñêW¿¿û»¿‹gžy[[[PéÁ9zžMÓpxxˆçŸý6þâ/þ¿ü®ßÆkÞú?à-ÿæ·ðéO®ë"=ÖÜÜ–`ޢɭ"·€®´›øÎ|n6BÿŸþ¯í®^½Š§žz ªšï<ÿüóøÉøq\½z/}éKñÕçýŽz© Ê)¢ Ïå£ä23O¼ñT9ñ{î߇—¾ô¥xñEÒ¡†ÙdÀÇØà&C1Çn·‹W¾ú͸zõ*^ùÊW¢Óé@s~Â\ضÏ}îsøí·½ ¯{Ýëð‘|×®]ÃÑÑQˆ„gZ&ŽŽŽpíÚ5|øÃÆ«ßò¼á oÀ§?÷…ò;r¸ Ñr¤„µ Ž—ÛµÂP?‘í߆Û&~u=@t¹)Ipô>ïIjÓ‹…²NTWžaÉ}ø}ºaÝ™ÍFI U_n¥sCt#Hî1:Žô ¹äà'µdaõüt2¼°|²â5æ‘Ö`a2žã“ûà¢8”îÐxÙGð$gý<|áL›ê2ÍÇcÝ>ÙO%ÝùK3vôœÁWskÓsq Ƥ)V?9ÿ¶¼@1¤Þ1ñmäííÈÏ-M˜ð‘^ :ÈIO_çpÖ©üåå˜5>|g+;Cb¹\JÆ‚áár5¬;=­ Ó'z¾d>ŒEJÙÚâIôV½ŽÑBrÜ"IÒFXw ŸØDÊ]9ÕZÌ@g²Á.Ù¿ Žy ÷K³ÅK¬g!ÍEó- þ€¢Þ"C¿ÿH#ñG:0ý)•&ºÇ¬‡}ž¡4Ù±/-Õ §§~³=Y…èhs‰®»ž–àºFëáâÐá(´|ï‹öÉñ×õÂdòZVŒ¿¿Z1þ÷2îÞ匿WJÔwÝoM&¦®&Èlâc†®ÖÅuC¸Í¥®VÃ?—.÷µIŸŸi¯– T5)¬Ãõ{Ѷ+ñDËÔürƒäøM¾sEŸè’] òÊyÓcð\³cënJDGx~4»=?Ve°èwâN¢ïj4ñ(?bÑBÆïŽnJÉÝÃ7‡!œ1Ñ~²X8CQH ö÷]x¥°át]bgÊçW0´Ðï…1ã¶?]mo‚ªîOô* ÙÙ:¹¥n>ê=¬Ê)(*ǹTTŽz k6ÎÄEA€èOþZš2A/t¿íŸO5¦“™c²þ¢_dý˜_˜oÕ|>Ú@BºBqÏvq¶"fÁö™²/xñ‹ÓzaaÑö$H"!Uìùcfü‹›ƒ°ï暨mfùtãEêJ9Ž·QÉ9¸£P`¶'÷qäºÀÿ–J l¯_aùÕ 62+¸ä;HÂʆülËåMz õAr’ºüÄl à%¶€~ ífÖWx UZGJt=Œ„èÇ K“ùµ²_É>e”Ú•s³‘E϶’×xy> ê¦ôp²,µ‘Ãq‡¬³?º=õûÒ½¼Š>½3R^ˆ®S–´žWQhwÁ]L&¶årBXáÞ4§~gy.¬”îþ©1W¤¦'Q…£Þ!Ž`ËêÛ÷ Œáܵ„¡¾_ÂÈŽWßq°¤h~ÕcÝh¢®øk̆Ÿ·PžƒYN–Á…eâ]ú{Z.zïD¿s]ÚìG_!ZK{„(qÌ8ìßÑÀ]4¡Ì)Lüˆ—õ•tÙV”{¥x™‘ƒ~`Ävår¼~<îÍÞAg݉OL[9ª·mGE"ë¶Øä½6­.Ðm`½æ ?Ú KÞíãÈoµ Z {Ñ­bwldMÀ‰qkT¾íyº6̨gEª+J9s«±IN¡ Þ,ˆ3Ü è(ælñÄw‡õ»YdÇ0Æòì]îT/<©-’wÓâ÷‹ªûVò‰ޛa±ñDâJ2ïwi¹/5Ç<æóP}‡}2A:Ó§ëÏÂçlŒVV’õûÜr2é5rÊü”–Ïc%[ü{rÎÈ$ïs¶Èb=pŽy¾‘OÀvRa¹3ÓÔþçcÈ–'²í0á5g'{,úãv”9ÚcT¸žƒœH];†ûÚ—Â ÁÖX§Ô†Õ‡>ìx=ŒA@ !Ï)Њå’_]§ÔÃþ∠ÿÉ&ïR{2€Ì壺UT§Wåty²a¬¹ Ö^F%¦cCÛjàÀ ûcÄø½¥„Û™â*”{D'掛[ ökq“žZòÐ t§©T„ùð¥*»ÈäOW56,ˆàYjG½z8°¼7¢ÀѼ³>ósç+“mW¦JÁœÖÂZ÷´›øN|އ·Ñ—Hb`ÿº‡¥þ„¼?™XYìM&×uÆhC)9^0&Éfvz¿ŠM¾{‡õx›£î‡å<½_á|¦XÄ®ÜÃL'|ÖñÅÃçðùÃgp§·}êóÈ0C|ß✉¾¾VDzÁý&w1(³'Ô»<ÛÚ~äÝC{îÖð›_ïâÃÏ=sªÑÒ'ù¸Èá¯nï“'wüY t±àVð­°*Ë2R4æò'ëÖ?ð‰=‡:}ro³ Ýä´BX—Øù“w-&ŒSL™É…g.\˜©ë`,`ë88::‚ã¥àø]±å±-i9õÈÎUUU¼øâ‹ÿ,c5Mç?ýidJ}XmÌ©Q@gŠØVFpÓEp‡¥¥%°, ŽãËåP(P*•P­V! 3í¯ 8vçÎÃææ&ÖÖÖ°´´„ùùyT«U”J%äòxžG&“Çq¸°öAW¹§¦Aöÿ1øÈÁÆis„Î 6p¤ °µ@Wˆ™­2[ÇVyàWjEý¨’>ÐÊž~,pg[Ãb1%eOöoè:2¼ò•¯ÄRþ ŒAÖád›èÚhå=ôfA펑¿$\žM_ŽÅwVQè¢#™…íCÛcX]'zÎòmV逜Ér** âw-Ã,xÐý@#@–‘˜øB²ü\ô½ ¥2þ0˜}o:1^#Ò—J@¯ áB8{$zp‚Œ¢õ |"hÉ—½µZ(ÚS’`þWw:Ï×ëÛøýßÿ}¼ímoÃÍ›'ó³¾ùÍoâÉ'ŸÄŸþ_ÿŽã`4¶o;;;xó›ßŒ÷¿ÿýètN¦ï¯]»†7¾ñø“ÿûÿÄQ‹È¯g†ïXíñð¹¦ûÁ–ƒñ×Ùý˜ÀÈoCqñÇüÇø™Ÿù|ö³Ÿ…cŸ¬«»çyøüç?ŸýÙŸÅ>𨪠Í~¸®.e'‹»ò1œ@§ÆëׯãÉ'ŸÄ¿yÿqãÆS?ûÎ;ØÛÛC*•B>_Ø@× ÉzRÑ& OÖm3Þn}á _ÀüÁ<øû÷|Ï÷à]ïz:Ù;ш>ÙÐq- \Ɤ™6Ås¸Q|Å䣘ÏÀ<™Š–<6Ñv;û=,/`pGG£ÑÀ/þâ/âï|çTâlÜgkk ¿÷ÎßÄ;Þñ“Źâä;áX^ˆ!bF²Þ>°Öš/CßÒ±’Ñô;í_E°|k c¾ø1F¿+ø˜j/*e“ܱ¹õÉö#8ñ„aØ=vaJ˜[ÎA6xÔ¸³Ø ÄÝ»WUŠ)O55(ŠÃyøQ¼3ýr×ÂJ…Ê×@ÈAω8r¨í*+D¦—k:Ú™(fÁ³ë° šk`Äð(§Ãú_è±HUÈ~ì*zöÉ}ئqú©ËÂ2²\ïã¢N¡«¡Àžïè«·Bß=‚ëY¤­É$ÿ§Àñt{º±@ôW'†ø¨oùòYÂÁ-†¯7æüq‹{Ž ½wÿ?uo4KZÖ þ*×ʪ\jûª¾úö嬽ÝBÛj‹‚-2£ÇAB ½BL\EYœ½²ŠqÃä¢Áã„CÈ èQcÔQ´ƒ‹3vÓ}NŸíÛ÷Ú3+3«2+kþxó|ofef-çîÌTÁéï«/—÷}Þgù=¿çyD.!×ÔÇ’ÇÜ€8hZõèèôúJ,¡=øé°rÉk®\Ú„n$àd Þ7SO°;7×Gë€è k¾ñâ%”üi©•érK½|ôlˆó³u¥ë]ûûŽNu šp¼úMûfØ©^¥xʸÉ*Ã9*ÓæiôÐ/˯0HµÃú‰a¼NžCz}Ù_Èš¥ËD®Š£ïGåÏäز= ¸Ö€Ä.M&º·ƒ=êÉ—H¡kJ¯Ù„Ñ£r.ê'jµC¥Þ1>Þ/¼~³f?ì³u”°ªô¦«–Ìf©¾[‘–f>+lÙ9£†¹5û,Õû|‘¬1ã²ízn`ê’}݌Ӊ®““asñþ9Ÿ!×—F:M =úl¬ö}ú­¨Ù³Û€‚<‡ë&à0*Ö4rMÅePÄŠ¯7ô9z¶Û#„ý~ÚC#¶™z7žLÌÄŒ‹VYë~N½âO(í6¡ÌOƈZga9d”Éþ•ã7¼è¦K>^îcœ¦3*Uì†BÖ©$'Ë.ÈwuYä𱙘=Ôˆý×úÉþã±3~ïseš¯Í,’3¬éZ‚„ÞÂRBó¹ës$µ^µƒxâ)ú5‚-³D¾{jûwfŸ€GÖª…N I8['ò°;yOWÊ‚?êâ¨}†íÀâç “×LÞ[§çGü"k{¤pWÌ©à²4§'û²œl £’57¹"»Ý¾yÚEÚY#S¨boÛÆòš?ÎvUÅHP°êu(ÚÄä&„‘¤Ò’æ·ªUšêÃ)â ÅOØ›8E†'€á%™v\(˜äy˜%V ìõëXÈaº’¥BYÐKñ‡]£‹×¾uÚ…+ÐìÙ7+‹'y¤Î†Î…•®+4Àõ)ß9¼uÒ| íæp« ],@]ˆÏÅüð¶‹…M²½éJõ—ZÐFZ(3Æ<9þ9[V9)šj Rm/`LôÅð!θ°‘àé· /éP}2•Ýn ­E++%²ßy‰à×­-\‘’G½Øjãáœ9Ü…ƒsàrUtͨÑlq·°|ù2FEYpŽ!óÐ;"¶]”ŠCX¦ /ÛÓUÑl½ˆË¹‡ï)[}1L¹M«’ŽŽEâž}Ëéø®ýý#è«.ŠÂ@öùw™®ë…p®®ÁaàGº2H•û´–Ý&JfßÛÆ³nIÆ$·`Aœ↭Þ)ÖÅ2Ú5ÚHåâ!×Á‚ëW)és({ JFÀðJèÀwPïXP®ÄËX&ÐI™}C&=­pûuKEºó"qTOC” )äOšèWÉ:½|#‹Õ‡f&YMÃèØ8ÚÑQ]Upèv°P]öVéu*Tgìý;`ãÞÜEd­ç“ öY,.%'*t–ƒ2ýlj¼Á*$ŒÁ¼ýR›#É•¶ÄA³\t:{PÕeXZé›.Rå¨QÝo·°¤…õxý¥Š#×dŽxóÑg8|QÇÂÃñµ“'ûœ“<´¬—„µåÐa€Õ—0HŸAt;Ö0¯P»´w`cy‘ø)^ÄÐIFDº šõÂöKpÃNisÇE~uº`ÇjÝ”£B—ålœuë˜Ë’ƒ” ¬õqÏÀJkýŠóV™ "Òýl!¬×úΩahâº@íV¥@"éäŒGóyñŠ ‹ß‡ä,á¸s†ª:h@FP`ö“«º½=Dj7Du|ÀÑi›P ¬¼ Œ ©~4apRç`;m¬^¨ ]D÷±®dP [ÔjJ% šƒÞ‹˜\4ÇŸ£Uë!WšmtO¿kB^'«5鎹ƒÌ*²í²y¿³¸ËcÁmw„œo,´Ó4ÛÓ•à‚ý“Ú”¥ÒÌç¬uû¹M ¦Âû¼.MO6¬,ÇT¦2ÝCxÙ0ø~Ü9D®|i;,‹ë™«ñk¬d!è]¤ÕìNòûîÙ5<äT tô®h—á H½ò°Œ}¾%Gƒd:À yW÷ˆWê{½0>ÉU©Í5Ä´63°3D~OtE¹/=y·ŠMÙ|ú5ÁéÍⱉÞ|™ÊôAñëŸÆÚ5p³1¾ãë0•ƺc£“z%€{¯TÜÔtläÂÆ:“ÉÁ4[¸¤aÿßû0hôœÿbwÛïUp³yÍ=:õߨå¨rÔh,gvg…œ÷»©U—XD®šYù.ù¹)ž ÓóLJ#„×néÛ²>·Ž:¸P¥‡íG~äGðCϼ锂۷oãþèðWõW±Ý>bmY§ÅV=VÊþÿþù»¿û;¼ãàX–óÚ,ØŽS©²Oà¸à»¿ÿû¿Ÿx­ø‡ÀûÞ÷¾‰¤ÉÍÍM|⟀ Aç± £ÀótØÛÒkÉöcáRrñ†+H(u ¨_³Dðöhùxìbßò°–!±•ãN&¤ô úFù¤•E%ç'ä 8î§1/Øèõö ŠËh:*¶{·¡‰a¬¡18FŸ4`ÙDY-] >–…þï}áüç—/_Æææ¦ø9@nr$©]ÃQ…A®[@!3{—GUª£cMÖÏéAòùẳé÷:“EÑëbŽ‹OþHåä¢e˲PR;èñ/}²L×NCMwïé\­¤Ö'~g^]‡"òЃ6£MôK‘}N &‰Ïù£¯Û¹ÀÈ©ij™|ñn4èÕ,âC¿ýüã?þãùW.\¸€§Ÿ~ —ñÊ @UUp‡n·‹ÃÃCüõßÿøüvvH§óÁ`€ÏüÎDz(áÇüÇq·=ó?ýísøÐ¯ ÔÙðâú~à‡ÞˆW>r Ë‘kÿË¿ü þìÏþìüÚý~ø[ŸÆ¼TÀâ›Þ„”ÅýV‡> ~Ó"S aJ9‰ÄJi-ÿåOOOñ|Ï?î†R(ñ¯=žxâ ¬­­!ŸÏCôz=Ôj5lmmáŸþéŸð·û·¡wúÒ—¾„o}ë[øèï|™$—PJ¿iÝè!w)Sl*=¸®‹?ù“?Á'?ùÉHAü£>Чžz <òªÕ*4MÏóèõzh·ÛØßßÇ­[·ðO_ÿnÜ|éüY¿ëò÷ùöm¼¢÷p'ÝÀ_Å©¿¯ÎËH™@5Šmì›X\"?ŸÈ» †HUÉ¿Ÿ{î9|ä#9×]›››øð‡? MӠݣ ½eoa`§ðPi\y·ævù5zÑúaÅêñª¢SNH!©Œ›a˜ó5÷ô;`” häØÏ¶mìyTÌÝ;xöíÏ¢^§E¥B¯úµxÅ+^ƒÕÕUÌÍÍ!“ÉœwÒÜßßÇóÏ?¿þë¿ÆÔÏþçþg¼ãïÀÇ>ö1\¾|Ê¥0aöâmB[e u¢ÉàŠì 1´PðGÍsäï›ú‹È+#V`ÛQ ÀžW!°ØY©aS_„éÛ†z½ ­0žDbHûvŽn¨nÊþš…åm­Bÿ»l×IÃE‘žõµ€éVcŠÄ½ù È•“‹ÁìÆÒ1Ï{*J(÷’».»¥Ž{s¦ÀÂ"¯I‚8a™ÙZX7Ç`,Û(¦%™º¿ƒ=…å°ri7ûÐòã•þ¼¿®È"ÛïïÞ1n`CØöbHžý*kó)*gyWü<Àî‹:VËšZŒÉO}öµaøz¬=0 €éGÕzàPïÞÂ\v ùì()º_~1Ÿƒ må Ú=oú±e~|¬,,Ÿ¿â½E’‡,•bð0£ÍI£'kj˜Ñ‰¹ãp¨–î ‰}ä&¦ô†'S,Kó¨KŠVاÖtÚîPŠéʤTD?wZœ#(‚dð>.Rw¹ñÀ—µãB `ªÎi|9jãÕ2   u‰ÜG/ÏžØç”3¸zX‡žê:ÊŠeÑ÷íTU›*ÄŒ‹žÅ{µËäÝWÕÐÙc Žt¯hQ_´ê“B‹ùdùp³p]l€˜×~ù6´Ë›è1] ONËj9@ëÆä-,°R4~*Å*±uÃÄú%`ùJ@²žêšV3 ä;2êhå‹XÅ·÷Óñz`SydSt ƒÝƒã>€;uÅñº¨Ýg  á}Ìö¸ë2HÙ®% ·x%Œgïo4hÛаR©á…f+Ùc·—'¶ª¡Y ÷ÉVÃÏÀë}8J²-à™–°l»‹®6ÛbËI>o ~‘ØÎ¶…Õµé:æü.ÎÂ)àûVYèºwß/,ëi² Àè÷¡Þ„²@põ¼g¢Sú‡]ŽÚ¹¡Åç,û RzÎ?+“óWÇw,ÌoH0ì< “õ*a¿ÀUxp>¡æÊEuâŒ] ËN—ÙGÖ›X˜`'®Û¶=Ó´Š¥ATï+ÕS´ý)š"Gü«§¢PXBÖÔ>¼v^ºv7êàŸžl£(†ñþieqã2BîJ˜ÎØõ4ÒEJÊáÝøûõÔ‡Ð9]‡A–!Uš:4Ÿlì(uð:Á, ÃðÚ)Ùx}íõ¨þ:h¶°1t\Š…*éð© ÑÜ=ëæpÊ\‡Ã§1ïïYn.Þ¿s689>àâW³Øîõ°&Þ=ƒ>Æ™šn*§¦hwÆçAºÁ}2ȳÖ[§`²È›Éþº™î ²Î&†È ÏqÁðæy&²ÈÄäðºl ÙÁxϲHé>”1ù–´<„m PÀ¢‚#s€j†<Ï`˜›2áB†r•Ü2’±c#;ß0]®¸y»…ÚÈm®¢‹T°Z9H9ªÿ»Eò>ó™€É>3ËÏ¡*9럚ÊÄO[ó»)ÛC r@UŸð¨,†uä°\Ér˜Ø5$,ÉÇ8mßBY»€oÕZx¤Õ²Í£×ÖáTÈ}]oºªkÈPC÷5ì ¯ŽüÑ]Òa`¥Â]Òa›ϨìÅ'A&‘;[áN#ÄWO÷û":û/†Ÿ](޳Ãìõf—|Æý`B»påžKI>|£¤C!Ò!QLa²ÒÎu¢@SëùXÒáùûdèBÞ%Þý,.æÐ”Ãʃ^²3G:€TÛƒuD®s˜jEH‡`í;Hsñìp¥ïBÙ”!9ä=XÉCZ+ çð0Ûuì"y¬Ù(éð°G:±õ[àr&ÎG¿ÎÒ&\.XY–â+üûüH: ~Ê>i²_Íà¬Md«É0ÑŠðœïˆºZ|nø¬ýê*‘ýN…a÷ ’Åsƒ–6ˆ…M±ãe`èLŒÝ%ž0\´Ú° bÏFI‡IŸº“œÜÚ׉ŒŒ’@³ÈõU•œe©ÝŠ%ˆDH‡¸í#=BìRÝz"éð\tE ÙnÄ=öŸ± ùMç3]X b{OoŸ„H‡õ¶"8'’=!«¹Ó5ØÛ¦Š®°Üƒ!Ò¿uëÉ ”‹êaá ƒöÚEMÑE–ѯ]•¹@~6J:œöSé^qe“ìÿI“Èv½ÑäÀv^¥ç¶vÓÀQšœÝžCª åí8$Nó ’ƒŸs„–Nù¤ú2œ­¨_P)º¸x…èFó4¾[ {Ö¥1#„²¦L~¿8fl_g; b#zp§ίJFôÌu²¹‘‰êZô9ï6×  ší Ò¡Þº )uo­ é0ä¿ßhÏ|­â„q£¤C"“ Òáù¾äÂ{p³×Eq<—{3 pƨ_TŠ@:`Xª?–âZz¶ãH‡¡8QEwÜÝ‚¨f•ZØÈ!¦x IDATß%v²ö}“‡ç`¬o¯’ÿ?rÐX½ùÙlÿð° åðãöâB¿ÈçånGƽ“ÙTÿõú*86¼Ï¦Ù·ã#±ž^bñ×”ðÕ~_{æ |å©+øü¬< ypãeE¦‡§ª)<ûxÿë]Åמy_{æ |ñ ã'.=Ž ?}§ þîÖm¤ü gXv‚ àÕ¯~5ÞùÎwâóŸÿ<¾þõ¯ŸÿïÏÿüÏñö·¿¹Üô“!šÍ&žþyˆœvN:€²%ÀÊÐó¦3ʶ³áy:ÚwŒsÒ¡¨:ìø>OÆ$BÕ ø§JRU7Ù·_+¦°§O_-z—t•\øÜÍû±ð—®w‰?¥‰›h4ÑD:l‹‰òW« `xGHÙ{¸víÚÎxO=õT¤H¯KÖq«WYZ 9;Œ-1 |<¢3^?t¬"»·îŽ4©k)¨uhWôº°¾rZŸmLyÏ¢vž÷ÈúeÓ“eáÄ'íðæ½u(}þñ vzÑî67ì[¸eÞ[×àƒ.%.eÍ‘‚5‹úݺ®ã¤;À'>ñ‰sÒáÆÆ~ï÷~Ÿÿüçñ¶·½ O×ë077‡NS˲PUW®\ÁϽýßâ‹_ü"Þ÷¾÷A)VõéOÿú¯ÿ ìÖpýúu|ø7>xNz»zõ*>ó™ÏàúŸÿo{ÛÛðÊÇ¿sssE1tí·¾õ­øâ¿ˆ÷¼ç=à8j³>þñŸß>¢çûäØ9'ÆÊK“ø#­ Ù§““¼ûÝï‘Ëå2>üáã+ú§x×»Þ…ïùžïÁââ"2™ 8ŽC6›Åêê*¾ÿû¿ÿíÿð^|õ«_Å{ÞóžPÒ⥗^»~ö]8>¦“L´f Æ!ÞÖ£¤Ãs{ìºøÔ§>…üã!Òá›~àßàË_þ2>ó™Ïà§~ê§ðØca~~’$ã8°= xâ‰'ðÖ·¾Ÿøäoã/ÿò/ñ¹Ï}ï}ï{qù»6C£³uE‡OúÓ¸¼FqåÓÓSüÒ/ý¶··ñb@¿+d,+ŽtxnoRQ{›WmÛÉþLq€ê 3cžËv±Š¦/Ýï¦q—t• Q¬ž=b1|~óÛâCÝ%Z¦ïÛý%êjø¸˜Îþggã1>9¦¨f£Õö1÷xÜ(H:ìt7³{,nuÃS’âH‡Î `šÑ"±¦ßýÄ6’»²Ž’­èG÷Öõ$H:¼ÓóÀ¥£´Û/Ñ5žìúxK̳TöÈs÷N8˜¦ óάýd½¡©É„76-b.K×ZL£q LûÚA-Žt˜›KÄþû#Ø·,œ“(é0 ‡ê³‡%€˜¢1XÑ’pÚ¥ºc{—âÆÌtñ 72BY–âýÂI¤C!Ò!€sÒámç`zß±6žtÚ9&ë|—t(µhþh¯²oÃï’÷½©Í'ÚmŠkd¨®Ëê²æ´}_rÀp<ÒÇ.¸n Öy6]8he¡U<þVkÇç×/M'ÏÙŒ5‚Q¬Qîû};Ú™™ó(.Ôèr÷´N*#ž“YÇô^`¯’í{thxñÉ5arÜ`6¯[ì’&·ÑîòX*°ý1¯AÒ!Q ãIãH‡ç×ð‹KºZŒJϽj=Üg”tèÞÙŸø7…@AGwŒIõº}¢Oî’ϯ1Âï¸õÂtçQJÏÍô~󘞎A)ùAÙ-ó¾Ö0H:d•ér@AÒá‘>[“H‡¬19/¾ÏFŸ£àFunû&ñ«ìZ<5J:¼+‹Së6«qOk$Ö·)–b;-Øl2÷&ŽtñU}ÒaÛŒßrGä<˜Ö<äób>‡ž;ûD×ׂ¶SmÒw“šñréUÇë†õR²ÖÇçJû.yÿšGtqêÀBcw²¡fJÈóã'F >cÆÕ ßl~Fý¿Cÿ=‰tHÎ~` â^øyþL°ý³¡ªDþï’€MEÏ9ß3àùFø…éð|½%"¿™Cn„g!åZè5£ëȖ±CªÏ²Kôù!ª5)lƒ¤Ã]/~|¶uv"@Y»€[/Û±¤C0ÒÎ9épÒÇâ’s²Ì‚A #N7þ!ÝÞÆN=(hƒ2;pª&ì¶ãIÿ„\»–Õ¡®GÂ^¯æ÷ .‘ ›Ó£×í‹.Ä& ®6Tù¬ øŽêbÿÞƒI0ã΀+a'¥uÇïüØ‘œ™ì°çš,ò žS'D(SÅx@VéŒ7ôû>ر0ÌáFÌüñ}5 Û¥Á‘pôuRžY€Ø¢• -ÞAF+bÓwr[ ±K.^€Ûš¼_Ël!^Yl÷ f‰2:ËÌt‹©²¿K ší›Éš"…÷Û‘dôjaçPá';7Âæ*ú–‹Ô*Q žPC£ozþhÆa•Ç¡_•¿©*° ôxeÉó<²,¹‡Q¥§âÁlQEÛ _ëŠßBO®Óµïõ§:Sé<\ÖÁ‹øn?Bjº.7vm„Ð%‡+!¬Ž0Óþ·›ìì:¡Höù ›L ÚºöžfÃï¶s­ƒ–ø·ÁôÁäœF;õÈ…(A«Õ&ûõÃgÔá\¤Ÿ„“±¿eb˺G O¿Ã‡ÄŸˆ?[—‹ŠGÉ=lNCZžn:$r£ä6!(NºÉÑØoûFÚ¬.pë`;ÙþíÌt>Oˆ|u´¦¿çä¿ÕVXî.ŠYè9¢¼Ýʈ=˜DïûÝlsrð?Œ9\kí ­tØçžÏ®Cö«Y·FäEh…íýж¡v“ƒ³z{ºÀ-€ˆ¢ŽÃ@2w!å¢=0fÖ“-¿ԣūP„ûëò–±˜±ðS—|âµKøì«^sN¾ûê¿¿þÝá]¯ZÃw-÷ôcx×ãßï¬n€eü8£ ¢”–ñß]*à7¿wîþˆWlü›å>>÷àý¯y ^»´90>«Îâ'¯pø­§–Qà§B¼ÜëÁñýë9uˆÁ àÉ1éFž¥×È÷Û½mp‘©j£©ÞߨèŽNü°ïf^»NÏ¡Z uvÈUnsz2@†M¶óZž}^Löá®Ê$Ö¿}ÇÁ›ÿ›ï™©ü.¹i' ™þt²q?ã“5MÃÏüÌÏàOÿôOññoyË[pñâð^(à§ú§ñÙÏ~ Æ·ƒzƒž{î9ôÜè9“ºPñÈþÕŽ½vþÁêó–9ÓÑ]h¹uDýÒ¼B0‰ otzøðOýÂ…¹ñú}Y¹¿ä˾o{ON¢çgM¯‚ó TµeàεxÛԵə=;¥±L!&á}V÷°WwP*±™*†ée<÷Üs4aY¼êU¯"¶ã”®µ˜%¾Ôz!£µ ÑÄ$?òø^A„>Ú,•\«¯$'Wú§³ûãzc¼5¾ÏJ:Jjøì“u|ìÆõ‹%ú;Ö³¯¢ò”é Öᤕ@<ÜÇ—¿üe|õ«_¼îu¯Ãç~ëóxì±Çµì[TFçüîìgGÔ‡`Û=<óÌ3øýÐ9A°ßïã3ŸûŽùÈGÎ J?üÃ?Œßû½ßã>š8’½ß¢ÏÉqÞüæ7ãƒü †Ø]×ñùσÁkUz¾+óãå-›§I9Ã0ð¡}(4þöµ¯}-¾ð…/à⫾;DtLúl°<Ïþðüñÿ1õßðÙÏ~¿ò‘ùùøx‡okH¢¿c—/_ÆþèBQ¨ªš€QÅcló+äy×勱¿¿’¥økªAÖo{{Ï>ûìùþ—J%|ì7ÿŠùøN. Ù{Ò¹‚¨ 7 'èµ.õ­;Vþ÷ {6ÆwÈe ‰u SLø´ôß×®]Ão~æhú‰ 7¾ñøÝ_ù]¼îõ?‘+Þ%zôÄOR¹ñûR©^ùÊWâSø)üÈõ&cÔjøèG?Šÿ,º½@nîNi—­ôd_¥a“ÂÓéÀÒ“}–  åûLöœE#Žs˜a”À7(Gq.-;ùꈗcsŠÑ…R!ïû6iˆzôÌ+É~éÜÜtx':ôÇ&+üxܸ}­ƒö=Ë–>Dö‚„ ÙñXǎ뀯™Ì%léáäá’/ßA<ÉV£¸ª´º ¥Z¾§³ip-p§ämˆ \›Ê¯ÛyÑ'ªp½R•ƒ]‚Õ#çÔ \,ø¤±â"“É ³Q…p!9oÖö1uç8W¡ÛÃ@¼vÚÔgè-‡'Kq©ø³Ó²§#™Ô¸°nÝë‘^ÚÀÉÞ¬Ÿà4gcÂ2a\d:ˆëXÎÁ dí×Vè.z“u„ÑvàŠá3fXÔÇLuz³ËJ#šÚä&«ujÐZaÿÙôs/¾Ø‚q¬Î‡s VÎCÛŒ)õ,ù~º M¦ k¾þÊ ÃèŒt]öF:à{ÎlÝ=×AÏ=Aº×œKé&ô²9éÁxŸ¨”0]éÈ›>¯tÀG÷Q v¬¬Esp.Cý°BÖS›L,v¢ç‹iâIOJJÌxЇÔn¸©èþ²r2CýíÞ–OŽ3Ù°~w:2ùhc¡öþ͉ïa·Âkul0¼çíâvsa„åYV&ÇI OÎãáÈ~â/Ð¥¬#MŸ¨©Õ§‹‘¬­]pÔßsbó̾ ¾_H¬:á›ÒÈD®,›€;GõÍ…GéuXgrÑò7Þg:ôzž8^G6³wüXƒÊ…·<ñä6•7Ý 9—>^—ÆáWU)ª{øCv¶†ýk¬½—ÃöAžŒM¥¾AeŽ3è¿ït89"2u64 ]$~UF¾w¼‹èabó2BØd%ªwÛŒ†›-Ú4Œ;r°Ó›¼ÎÅ5*Gi>‡ô`6ÇÑ LüÏ;mº‡n•œ‡Œ´ F¦¾\·s†ÁÙìkÆ­§°&üÄ|Xg5ƒ®A§ö"3àЕÂÏ:Ô“eZY¨$àÚó°Lò~%†èâᢄÜÅÉ~/L128P”|È3¡=T†\‹P õ³uýÆLë8\VÐp¨ðÎ<¼€ú9mEí2£ÒgÐ|WÛé5äÖÉ~€’K>ãb~²?6Ô&óŸR)ò} –Ïù6ˆƒ”'®0EÀ°P? X›ëØKEsy.'c§š¬#ÕO¶Yw¡Ýí.$—øûÖ^Ô7`.UdJmðg.ì½=ˆÜÊdcµÝE¦p«Å,Rzø!ôtüC¹{äÕ_ ; ZXY;ä"x¥nüf1âxƒy,Dƒ'UC/OéÑY¼b鶱ݤ+éQp£ËLSä»». „ŒÝñIÛö.%8#•{~Â6çwüÊ4ˆ¤ñ×måiÐ7¬„Ù‘j$] ¯í‘½–æ³è:D૊ŒÌiø /†è×ÁK<ᯗŽÛ ÒZñëÊvð’ß}lï[÷žÀ´»a‡¬sÈš²&b°EÞ±ð­ÚÔ×S‰÷´Ãïäº.ì1JÇí¨Â-ÏÓµ²eàÔ¡ï{­Ub)¹#Á@âånø÷ÕSä]™~ ²oÄ…"öïw¨v‰±È4Ú`Žh°Új%Kú-b4ŒÀˆ*e˜ ~h\=¿J2• ï×Ùq2¶¬š]ºN¢:õz<ƒðxX½ö‡¼Fi ¼íõa›ap==¦[–ÞONZx‡ ˜Œo‰c-?˜I޵YdéYµ›ásÚtmdÓ\ì‡e-ý0‹Ô Ü kï„ÊjYc; f7¯ëpöãàë혣dù´o¶1ô;€µä€BXÏ`]º/O“‚®< 9ùÿ@÷ƒ¥Ó;Ó­w=;Ù‰½éô!”ÖagiEtï=õA|(÷£@§ÓœL–a*s#çŸÈf‘)AÎÑ5ùWy'ò·ûQ`FéÛ3JÒÜÛûûl–žÕ­µB¥|Ï÷”ãAcw^„çeÕ} ²â·1tr¤;{ÖGÆW»üñø*¿Ž?.7·¶©½ÀZ‹kä^‹’†Üb¼?£ôç¥ ùwfõqD^ÂÖ‹a N¿I|†KÊ\)ê|v¾u*1É!ÐIG8éÁ¬0X.Ì´6#ørhÀÒ ®¿HlJÊMÞ[Ëׇûý …éˆÂêCDγ~Ã, þd §†(:f>ð(X‘Áœ„}^gË™dR°­„“uŸˆs·H˜ÏPà+W¦@Öí;3­Ÿ;W@á4ÜU¡º@eTtT²2ÔR.Œ÷ÛošÑ€f o¡#FƒÊ«i1Ù·I/'¯×Ù€€Guµ,9•E"_j;ïï9ù︣nCšùüÛѵæ]z¦wêñ>cjµ¥©TËÙ\Ó)¨säp8ɳ­gÂk)V±Djª¨M  zd‘üdn] ¼Nþ”öƒT7œ¤Èû²#±V´¥{Ö·E±ÿj ÿñéïÃ[._ÅFnîˤðŠ×-¯ƒõ få]v°oø¶ð„¾ðlÖ•3|úû/áß>ò$<99á­ez¸¨•ðÖ+ßNJÏð™—êøWkøw=M,+ ~ñÕ˜)Ç3œÚ€ãõ0<ôG ra Çèн´ ñ¾’’êCóco‡¬m~Æ"˜ˆ®UüÎRr†®^!¶iÛˆ’†Fúãôèžjƒø÷ÞÜà‘×®"ŸŸ¾hmxLäuuÄ4yþˆ·†çwõ?1`zÂð3»üð<Ÿø‰ŸÀW¿úUüÜ;Þ:Õ³...âÙgŸŠ@7oÞ×/PUr}l\÷é²é ºÆK˜+WlsEËEj MÓÄÍ›4Ñ‘ÏçÏ ¨År¼m‘s+൜„ã¯LŸ 'm ÂxÙ;i‘!š*…•ª˜ ãŽotýäe^ÁåÌø8‚—Âþ“õ ¶%h¾ÜÕ9TØ…úü›k *õ%NOüiNøYU¿›;Ç“³$¬òèƒ>ï°qˆ’–LVùÚ×¾xÅ+^÷¿ÿýàËäüÕO^À’–ÑÛÀ\UÆ Ñ*’3úßý}xË[Þrþ½¾ùM|ðƒÄÖÑ÷¯}íkñ¾w|étg­ä„¸#Ï9t-œöˆÏýº×½Ï<óÌùw¾þõ¯cww7Á_ xž‡Ï~ö³¤#£ÿùÁüA|øÃ†ªªX›óuÎþÞÔûT.—ñ±} O>ù$}ÿ^ÀüÁ„ºæy¶?ÙÃ8Éxd5%àïÿþïñ‡ø‡T67ñ©O} Ë…«“5Ëíáhôº’_´±ãLù.gûH—ÆŸûÖd {Xpq||Œ÷¿ÿý¨Õˆ>TU¿ñ¿eQ@n‘ÆY¼Buœã  éìÌ|VÄTÔ‡¸sL”ÕŠ”†º‘CÓ/ìg³scÇúDpÉž\ˆUH_†‘åáU¤æ¦ï.ÓìÇÇ'….ÅØšÆ‹ã}‘};`É;5´øµ7ô[(ÆŒÖm¿pŒŒ_ìµß½3Õ³÷v7o×gP™£¸Ý ^“By•ʆ¤¤¶`·ÇÜ]ƒ×JF;¸(BKHT¦;ì=¿#7‚»Ki²›ƒ[ޝ=G÷µp /‰äœž0á=î*5ô¬íÙüèù!¸vsqk éL€œ¼MÎýªF}†Ì"œEòTîðÞ:›ïØdOK#x–äÐëU.%çøLZžøFs1ªbÛh¢¿3Þ¹e{ñ$·>[-‹øtõÃT.ùìË …Þ Oü…¡:û¤Ù'üd2BN-¡ û&Úêe˜{/ãá‡sÖ·gŒ'5bŠgæÄ,ÅÉ38x©éˆ¦LLQT'ãàåZrñg½¸ [$ëÐPÇw·fÇÛ$›½7¬¾ÊLŸWZtæýØj:²¤&…ý¯4y”gJÆ^äñ8—>ëÝâ%EåÇØ¡kÝð§â üN§<Á¿µ¼Öǵ2©UG– Þ/È<­hoSÛ¢-‘‚ SH&‰ÈR¢0NXWlšc“ú¤ÅpÞê Uš¸nžCô×3Àƒþ¬17QËL>§ÒúJϦ`À‰™Ì Ö¡°TFªÞ=ߦ{+-Æë›_&<½W·Kì`Kª£Ÿ&¶©wfcÎOÔ½'~43˜L–-øSå@¡ŽÀ²Ø>pÀqÜF<ÅШ¼)òäéR¼c¶ÇãÂÎ.É«8 .ÒÝ–®Ê–/O‡Øó*P]êú#{¹ý3l¨TªdKæ½a¤Vxÿ˜gˆììÑÕ– (—ÆË¶Å‡f2iu'…F6|n5ê/¶ê>ÔUîžß÷Vs2aš?ˆÆ‡­há«{À¦ËøDì¢Ã’Cç[ñÉ k+þ¼vïa  Wã-oÂÅt]Á8ŽCQo nùò¸ù°:ó³1+Top9òLû#@Ç!ë½ñIHû&t™!‡ kἉ#°Ê:Ô^ <³T¬J*RGÑ ëàN¹,ÝW&æÈͱó¨™uT‹ÅAçì IDAT†W \´žŸ.<3Û`tÝ’ìÛ }ái×f8À÷UÏð»¯ýATdâsiñ³ÄzV8¹M0½a¹†¼Tžù½_Y<Ão?õ$Ö^‰3?³xB6™¬õHþ–µéH8–«âÀ8Bjèö¼–!M“4˜}èC*‡Ì*+Sîì âÎ^øp.ŒÄk²oOë  ò´ KôãÖð(V7kÚôÎ2…x_—ñ;ï˜jÙ*22Ìýu\\\ÄïüÎïàçþçÁ󌕕édèøøÍ”€LîâvqqF›å8Øõ‰ŽóKÈ^ N€Ï a ÓÞ¢²’Þœ|¯y¯ Ó‰ê\»ô×Ã>zD¢*ìy†"LXÕK#ÇkI¥8U‡¡ûuI wÉxþl|¢.+?4ö÷{vÔït:89¡>OµZ °’é'ví¾Ï:f¢@%ŸÂÐTïéºÇñ–ñ잟ïR¶0ñ;M¿`Õ±ÂþŽ×eÐÑ,´ý®ßY…>Óáá½qÛRY§¬Ïî<ímáäØïŽ`ê(Wˆ>®u£¾ÍÖ^Ôov]ò³TaN@õñ1æ]EüÂ/üdYFןÈ!­E‰›¹Y³ –CO¢úm`6ñÌ3ÏœëRÏóð /›”Ïã¿ÿɦH¾?—sp:¡»HŠ“P‰ÏÍ0 Þüæ7#“!{`š&¾ùÍo’3°1“Åö 9Nþùçñ•¯|åü¿~øa¼÷½ïŒ#ljÿö-ºX§°^’@rYÆ/ÿò/cu•ŽJúÊW¾r>Êù°sâ¯YŸ[èùßö ¨ÏÎÎðÉO~ò¼Cny®„_ÿõ_G¹\†ZeÐÙ!Em®ÙÅí[ôÜ¥²N«–_´±ÊS|Þ•Æ‹üDxs +}ADÍ¥Eu —Cw¤Û`£ÑÀ¯üʯ`ggÇÇ2Óøµ_û5T.¼üâÌ@¾ˆùyn»¦‡<;[Ñ0Gl×N`¯R{&6æÉ»výnFyÅ@fDÝéÛ#v"P LïXÉÌöLxçϼ z€XÙØŸY'‚€w¾ó![þ'ò'!â­.ˆ0vÇ'óŒâlD ÙŸw˜¶‹ÐRt-)kÊ “‰{y¿Ût¢/±D®a½Lí[¡]{¦•¬\ˆ½†öè|ÀClqÃ{Ÿö‰sõ³x›¸³öY—®A?½6ÛºÊ2z§Ñ54›ǹ ‰Èd/E#l»›v*‡´6>×Å9&ÒY¿Pâ=k‹‰?bÝï{ìºõ©ÞåØ Ëœ;¢7,{6;(4hœ=Œ3¯xa?!«— ŽxÎÓ±ú¶E}ÛŸ S*d`›TWªkÑX§–}Á×™yÜëg ]¬¦‰~2jÔF_?1Q’§óÏ€Ÿdù-äÂa ¦ÊCTBI¢xOÏÚ¯u‘ó ,Š 9t\bë¥1j^îB—ŽeµŽaá¸GóHüu:Å´×j@v<+%¾ÝîÍéÇ–ÚWçFp:б#!§YÛBaLñŒ3F]b]ÜϧДp¹ÎݶMBdÚ1wPt*+ø‚3ýx_iÀÍ6}â´voˆVL÷X­¦;#mëþ&fÀ™HÞCkòš·n„Š<ÎýÕúÎ*žÍ;\veçªSÝ·Ƚ•‹2´µ ai ’éÇØŽ6ñƒ\ñþ0¥Iu›Æ>ØÓ–4¹uŠ[*’9]¾»}$¡í„‰0iƒè«“ãðšè#ã¿Û=£qgÄ~uïΞ×&7øXŒ‘‰»M,rV‚ßõVœ›ì»TDÞ<–øG©hî¥í&:¸Õ9¬-òpÝ>8¿ 7Ç:8<‹óìîšØqÆ“ËR‡OÖ_-¿1¿Bü$Ç÷kÒ'Mßç#zöØ¢g[KºO>%ô¹~÷Xì³]¤²“1*¦}u¤ãÛ"Ký¶9ƒ>C;cƒ0hõ,È•@—õ@a½u2]ƒ¯Ö‘6“$Ÿ/%“¬ÕÝBTDõæ2 ‰‡·õû»ÚäxbË"¹v$ÌÉ dNÃ{Ñ9|y²mìôÐñ}ËcCÄ2¯ ÏC6SÈÔyñrØ¿tè]Þ½ᛥ9y ¶3þšV` Èðú;‚™ˆó¸µ $mr’Oã£yä¢&#eŸO+~.¬K(t©/äd]¤„{ohfM¯_ÈçÐÚ­G0ëàçfYÆp«_4:sÇëiCˆæ·²ýR~¢n qËu!ûÄý£#åt9FDoÐǰ¾¾ÙÐðâ±=¥= žtžÌß°Y{& wv`ìE•䋼lESU5cº±kî.²×'ÛEõ”\™­Eê-?¨‹!¨Ül)5Í-\OO1×]cÑ”‰ygxe¶¸²¡ŽüdÍR]ÆVüáá÷€L؉¿Øýcâæ)Ød>*UxÛýÛ‰ßÛoóhtɆ{yº.Ë “G—D™ÀãwÒ“ì¬,¥‘N‹ ¬ÀµZÝÉ [Šg½Wüu÷Šájb…ŒäwÛi%+ľ?2Cqfæ­Î$k=„ƒ¯y%œœ¯\¤rTú(]¦Æú´MÇ «SŒÂ¬‹Y¤Su`•A5{é|T1™õ¨ÌÃwñ Ýœv†Uî%;ž‚Å ­nÀg¨^Økàð˜ÈXVbüž4zôÜfæ§+r’«l9ôGÃw["Ô< ÆÌ‘êÿˆî=jÇW²-j›ev<‘ã¢Os rölC‡~=«Z4leãýÇÜæì T'‹t!ü¬W:Ú#z€ ŒXµä<ü‰Óè Ø1ãW+yÆ'âUÅC|ô»žF^*!³8~Œ°[£zÕlR§.£aàïë<¦†¾¯ÐÄžx,KcŒö5 ö†è³4 ²©@¿þR8ï xEéâ ÷òð=•S|äÉ„ê'®$Žè}ÉQÐïª%ÚFÝ·€È ñxyc*‚§ë Ð{ñ€¢eÜ@»=>&)xKØu;¨tñlÔ= §Œ‡)j7W—§±Z¤ºZ°”ªwe3þ¹×SQÝ•J¥Î«ðïçã©T—º÷ßÁñU¯z>ýéO‡FxŽû ü¤¿Ì˜`ת迈©ÿÖ4M¤ÍøCl7âhñXñ×ü†¸ƒ ïW.PÀw²Û‡¶žFÝÎúzuò^©—+Èð1d©‰ÝŽîûëT¹.¼îŃÐ7ï´°‘!ÅvBO„äyݺ6¾àGõ¢Ä»žß5`¿?ßäÊÁÀú½Üy·êF£Ó¤¶m~~þœPÕ9¸NõÝÙ®_¼±0>°’Ž/.´|’þ™ONÈèÄ·¸Ó¾†Žpo£S½,3Yoæéºš½ñö$#„}m§%ÒwÛ#z“Úæü#³'J(#ˆÓë6ïf]¾€n›Ü¿,®£˜#zÙÌ:›g£„›jÌĘ @ÍTŸs=õÔS¸t‰{Þ%ÉMûÙ?LËP­VqéÊÕÈïßøÆ7bõê·µ;û(º‹Èüä´çòòòùóÀ7¾ñ xž‡4*ðêan%gËj°oÓ8Âq|á _8ïî*Š"~þmïKÎ]’üÄ’i£o‡uÁ‡ã YžÃ»ßýn°,{~¿Ïî3p jÅ?od?/¨ÑD}ižøþ_ù_¾ŒÃC*§ïü…_ÄÒíÈ£®Òo^?C·2¾S1g ÐP ±[ù‘Îe ¬ŸK½s‘MåP÷±dÃ0ð‘|×®];—Á_ýÕ_ÅO<¢@öÉ(''õV2 ÀÌVàq7^•2P}‚ðp9öŒÜ/èfdŽlµ²6b'†CÈ™=»/ýüö·¿ÊB¥*µ)|!¾«RÝŸ*rØ·'…B?û³?KÏO»¿ø‹¿ {:´!¯„ýr§Ic¾&@bý.áÙÉ'í!õg$‹ü;;˜€#×’ñõa-¯J—ׯ^KoL×}ncÌ”pñÉßâ\¼>X]9ï]…R¾:ñÎXs†±œƒ—>vú¾Ïï ã_‡0åø+(Š3:ã}»+£' (nP¼ò÷Ò…<2§Ä~ïºQ¼a…›.ΚgÂÏi´Æ-z¯ÞÙ¸³p^ÁÍ,âПfŠÓuŸ¼=£võ(¹gS߬’›2¯‡±(ŸÜ8pñzG™~rÙz "—èÙ»R¡ga×N&«´GŠˆ%ÖotÑOöË­ÞäçÓ;„ œ¢W7âuƒ5¦SÍeõ"R"U$²,g³ûÄu÷ÉÏÚLËÇ7“÷ôšqÒ/+%¾VêâTœÜe,¥ (~i¿ › û߃4ÐIÓ|C¦-¬8Ø¡z%3åõC¦žà+G}MW$zs»Ge_Ë’Íj&>'h ñ1w»‰¿³Ý gqJ&·•Kî}îô]§r~÷XK¡ïéVè2Ôo³š˜ùÃ’åá˜ê·-J¢päO…¦6¡^¸49®8! ´7ÝÔŽÁéä‚ãÔÂ<2©¹  öä\oël2!CÏO&.ê, øDý=vú­w³–{fraJKê"¿¹2–1oö©Þ9  hU ¿ù~6Õ@ežÊÀɉa“èê†%ô»s]djidÙsWÍZxy†‰Bµ;É÷qÛ‡¨£Û@G‰žWç8Ðôâø$7[Z sQee%ƒUþÂxdµ?Þˆå…çâýÛ'ðYb“æ%ò¬r7, e3™,7ßÒs§Îú…ì[züù Ž©nO¶UN`y43 õ°QeÑëÅ3uºÂ‰\µ‡½¿!ПéñzRõ¹*wsê<È÷”|X8àÁ•–pË Ç<ÇÍÉ2¼.‘˜y02ýÎ5 È-…}/uaº–ªï[ÎËäû¢›PYr†ñ1äé– Ãž1ŒÙ§æÌÏ%ÿM¶y)0$µ@×`Áyp…ìCy~bÁ.ðÝxÿàTœŽŒÈïMGÏ­„ýñÑ|â?D*«wÙ3Ìqãsr¿Œö^8ß1§f1ôªÈ Ó`•.p Ÿ¸¿q•œë—Î {9¤FÆeKÊ6 L¼žÕµñÕÙ&ñ5žž;f®3äW§cP…¼U’~‡CŠ&IKòlÀ«–Kƒ&ú£\œl' ²<*ú­uûÑêø¬Qýôæt¹ªÁcm“x«¼˜M¯µ¡u£€›‘¥ ‹¼¯è¥h__é@˜DF‰F6602b-ðݣ㰣§•‡(dY\ÓÈaVíÒ}ýý]n˜p`!—.ùi&$Ÿ|á c*_&Ìv2¹PYMNÂåºâäNOg'x侮 ÇôY˜°ZÖBºMœÐÞaòsZ>3g܆=¤ÊîÅ—ûà¹0q4SŒ7Èâ¯Ü!†ÖUDHu¢ßš|±:9¹Ù}¹‹š`Bè¾”œìO§¸í {cX­ ùñDÈtNEOëàWg(›ã¬³˜ì$¦mŠHäS鎴VñÐÆôƾe¸È‚ÙM¾wË|I¬•lL;*¹¯—¤øàp×3Všïij…Ëq‘©&á›´£{ØêµÁ­%ƒ§§#¶_Žê¶z¦E>|-=~Ubp‰ Â?,æ|rœ›VÀ2÷¥v†ÊT¹BƒÁƒRŸžŸr ÀØsˆ¾àùäJ”Ö6ùΖ 4³wCñd¹„ò|X‘1ðIÖ·{ñz¢œ[ÁÚ2YoÆ9c©à¦1)ð9ôÛ·}7zý¼– «Hm‹P û>~y¦÷¼ÛáaÒ‡dÏCœÆ®’ì·[ñ¿øÉìtvä¾»“ƒÆìȈfá„øc=»†ºDA‡t‹è8G&Ï öÓ8€1¥,•…ά¨ý‘ý®D­­É]¬ÆýU.-‡ê\w;áóä2 ²e ƒ“hðí´M´d`Í@ŽroäüŸ R¸´I£o5ÏÆvÓµO„Ô ¢Wm&ìcV¥%ý±‚v:Ð wk `×6p‚ø¤å¡›‚È‘ûÎQÝÃ31àW…ê…åÜ"æ‰ÎPbU623°B†8ZÚ6üÑðÙ\TV»nð©jÔ¯îÞ¦òÅ 4ko t¤Eæ,>iÎËYtüÑcÊâòÌòÕèÝ—|ŠEºO¿ ·[LCSò°õ­d?Ûi5%#SQ_¿6Ós,fñÞÇ_ žqË:XLië†Mmà¤ÕW¢z3“nÏÞQ*5àé¥ÞýÝo@§ŽVµ«Ø[ Ë©rå!ÿ¬Ymgû¸˜ûÒ”Ý=¼ºr„g_ýÆÁQî“wë˜'8Íd`¹4œ«yQ#²{5÷N5ÚÙ Ç#z’tÚëA’)ß˦q³œ§íC¬p*Š)vdߦ÷ ÃɶÚÓf¶/M< 0õ@'ìG5”ŒLòºyÖ4¶qÏçJNÇë"¦3ăú|çw~'~û·¥Òô13;2æpáJ?þøTãÇÁ™ß]dïÈ…¡Fuü®÷àŠH×™»=°ìèèêÄ> Ýožw«nµZ¡‘Ù‹‘¦êâØÇ"®µ¿…Õ¹¸ê½‘¸%Ÿ¤?'Çÿ½©ßb­Mm¦eÌ6ãš_V!e<Ô{ñ˜0˜>6ûa_›ÏEöó#c“$y5åÂíASØp&xèd‘CBÓ›ÞtN˜»(ÎFüZZðG@³,žxõw„×›çñôÓOƒ øššJ¿Ea½^¿ù›¿‰çž{îüçÏ>û,~èÊãá¸Û¯79n€ÁÎî=ƒN`$ú`ŽÚN¦çAÏŽOR’ cL&ÐRã9/^Äw|Çw@ßÞÿžþÚù_È&¯Ë“O>‰ hŽåoþæoΧ/œG÷šÏSÝï”èï Õõý¾½™×vÛh>ƒáfëy&;0J&ºwêÐ÷¢ëŸ*U§¾Öà@@v#Þ6X‡ Éè˜ÂnœÌÞÒêÖ!˜1³ídÝÍÿR‹ÚÆ®þe«èÇËÖô]†eu²ï!Za¹Xwÿ¯,y–ŽÚ>ž­ü½ødű—üžÌ˜¢À¦á £÷çVáÎ…íŒÞg° áˆÓOŽÚ ĨY!Þ¯ÔÇ'ù‹ ~¶¼@mÁž¹‡møz,Gd'ëcªOf0>Yý¢NüºT/L¸ZIo$þMí4^ÎwS ôxŸ\5“ŸCTH쬨„pœ¢W]}Ì(z.t'JSý‚¡a/Þnf—ˆ|î“ßgFF7ß0jܱÀ2G¸êOp D·æâË îz¹Š@Š‹ÙA²íòw-iHÇtˆWíä|CÎÕ°¸JÖÎVéßžºñ¬:W öeÁ+‚ß?‹ñ•ãɡǜ„5ßÇ꼇ړ »$=ìóg=b·š©î¥)èÀoAy=¦èmÞÉ¡³} ês­ûSµ âŠ29ò zs%EöÆÛ¥±_‰'î˜:vM€ñÂòɖɵ»ßø˜{“W¶ì\lE0‚ÑG°g&³Ï<ÝmªôÞ“2$’&$†4ÐĆ=1 A dÀ@yd~€ ‘ô¤‘† [‚<’-ùùI~–uëÞ{šì3™ÉžA2"{çÙ± É<§d(TU2š½×^ë[ßêìÞóGÑ}*ÍO».‹ãÜZ°ÄݾÂl=à¨ù\ÅœŸYqÈ™ðË_¼ÿŽàߣ}¸S~;ÑqŒ›d'èÌcºIK»~s{Ç@MËNè_4hì0p‰M%¸X~š¶Só¹û/ó}LJ•Ž€ÓlnâÜgt`$¦×QeÐm®¯hÛËãîÛ}G½ãApÞƒ—•b %*ëyµñ[¦#%G?œm%CúˆÆµ3…–‹/Î.½Kè^Î`®)ø¼®÷#aÙÎÖù‚˜)$Šeƒ‰0ÚlÄciXvþÐöˆž¼³7ã Í ªJËß ™Ö«;ÕlÙ*O§àñ›O°s*Ï‹c™:§*ƒ0μžï=h+ ¸H_¾+N\¿ –0ê'€*Ëü¿ÇÓ ¹;²wó*ÍåhNˆ÷ÏAÐMøÜŸÉbþ¬ßµ<¤cºv±Ÿ-Ë„¸ù‡yNw¬4 ³>:“)3Z® wC=ßåÂâ¤ø¨‹»dOXYd288VÛÙÕÁ_Ÿ1›÷a:`sÙûÁ¹4¶¼qItrXMÇvú‰±^„.®¾Ì^àû ̺ø,B`N7ËhMNå]æ+›âu²I”¾E®¯µèΊ™o¨E›Z·XòeºêÁ0 07õП§ÇòŽ)§R”}xm'MÜÌrÆl#vw#[‡FÃÎÄZ~e7H÷øš^«¹RìDš“÷Ë€-Y°Ü£5?ìÂ]“YÏ.aô‘;Ü2 ¨žFþU<¢`º|ÏÓʼfæïï\`AñÖW÷77̵½ºDÆ »¼ÞqVÁh'ÂmJ0¸£í &7„NþsJxôDÄïÀìQ„¯Î4ðäœÇKïYçwGG†³=pêÛ]Cy­ÀQ9}Ûûë»_ô#DOU&r8ŒèÝL3­âàZ%ŠÁZà\Ðë8Åʽ¼…Q´ $ EUFgqã5»8 ËJG`†µgßæ.áçù‘e ~ò“Ÿ@+á7—ã²Ãò¿Õ•cx³Ò¹\UÕÉD…ûEqíÁ.ªEt¼€;IJtÀÎä?-)ËÁÅ^oô}XÞ}Oë@M äŒèãlù18²—·Á g7>â IDATÚ‹Ÿe¿S|ÎÔcòî¥>zŽ÷óbJ1ןG§ML XôŸP]öèø‰äIA!:Õ²hLT«Õ0ZG{(îxð…ñõÆëÒ›eï±ß?_¯•]²ÔÖ³d¤.„ÏúonÄ›ÖÓvÚŠ9››ÙZeNÖéÁÝ®£ÇìÁˆÿt(sxÑA÷~]qV‚± ?‡¹‘ÍÅ5›M*©icŸ'€ÚY¿ÕñîðæÍDn”©‹ü<ó•–ÝUøµüþÅ$m<îN˧²Ì×ýeÖ…÷wÿÂ'éó<üÖoý°,ÑuõjñÞ•ãtÐò¸NûµÇÁoÿöo|×0 á¯þ§ØxMÿÝÿùw0™ßïüÎï@yM‘'ßK+ŒÅ»|žÏhÝäN¢ õA~@Ì÷}øã?þcøë¿þëûÉO~¿ù›¿ ËÝì`ïÅ<› ‚”ŽaF%noob–ðÂÁŒœ „ÞmÆCF7tBØù°ø¼þÚ¯ý(ŠZƨrê=÷ö6÷Û~ý×àöû{8ÿ{”DÛÚ)–AXéþÕ2€|Nf*§9õcµ€“1ìx;¾¢‰;{ÿ²ÚÑ7Nv‚ÿ˜Ï#X§ùÉ5R‡è1cF‚©œDÆ&ýÏöþö:O©C™KŸ­@ÌÇ•„Q¿¬h°¼,àÞ¤¸·Ù#ó|ÖÓîùFÏ;³į•´o쇤Ðåmƒœ¡¯wV|æÎ…‡+¤äÛWM$4ݹÙ¦VFzˆ÷XX\ß't*ÑOƒrþ=æK×?š÷”êD¬)moìyv¢ê|Ç-ƒs`aÉåû9–CcÂ;éeûâE¿®"_+Þpäê7æ5œåŒ%JâKKÐW F=²ó Zoñƒb¿sÈb]îè0åLÐp¢›h}Ùâ²y nIü?rÇlÑa'pzH‡é¯iÌÂ%÷Î~*Òî@„y—¡ß'hn†‘=σPa :Ï·õe-‚ÚSbƒœ}‡ñ=ôÆD†«±ßáD‘Y"yÙ÷6ãÒßÈÙø@?þöVÆ÷)­“>\: >uø¼"øÄŽØ)ö=‚ €Šæ€¦X±Ù¼€¡XØ×ôAk?Ï'yîg4ÝÌ7ˆp“ñ鋞€ähÈ‘³Þá©3nîòuD8^ÏÕ,5ä¿¿übel8G®Gl.O±îs°Ÿ–½àéé\DÍÅè|V‡2\y]0X TÌź3ü æˆiœ¢”óåz—ËOØ$:ëžéÈNÖÝô‹Íp½/¾Bë^”“[ÒÌï»À­OpçùÖ¶Þ«öZ„J}þYdÍÂÅêçÝl\¬û´dúùJ tNÒöʿ˶÷‰‚ãé»Ì{Ù±–Òâùþ1Wåêiyþà¦c•±ŽžGq€Ùº&Ê Ø×6ã i ³ÄdŽ~¢xà§åqz…óSHw-+paÖ`œÞãÜiJð•àÝh‹!Á(ËŒ5,,0º¨¹µ²Æe=ï=9O½;yUÏ=äÊpôŠœ§>óÇ.ùÛ¼LtûÜî6½³ƒ0H°OïÝ]âÈÙ:NN´Î âŸ7™%ž¦1®€“¸«r¾í=ä Yô\­Xn—µJ¸ Ó8£;V&z ¨(f®ò á‡Ó·ï`jаòmziYœ/ÐWò¹2ÆYßà!~¤Ï‘Šç)çÙ¶?ilyîšqÕ-pœ¯ê9DéÝÎiEÌõvÀøô/b(-·ïX1šg-{éG_Ü<ØÑÒóÙ¹Á€®M`¶$ z1B`ié!%a*‰6Ã÷ùVvF0fÅÁú–rªN; u@÷ Ytxg³+Jý0f ,Ç™×o$ºWÏÿ>õï9£^ÜÙÆ¼&‡9b`~í'HYD7yÕâñe‹ì«æ¤&¿Ñ6gü›,W@>C]?¾ÿ.í€?ù;:Ç©(tüìœen•Òè±Kþ6zLýy¦Dƒ˜h–¸ –VpÇ'H:8Yõi|ÒXDÏ9×…Í…½ÃŸ…òLõÕk°p«i51ú) páo^)ÚMŒ=³ÇÙgXéJ MLë‡ùìyc›Z,:—³Äè¦#Aû0MR—öv0XÍÖOS–ûÒ„J};Òmi¡ó'H4ÉÆ«ÙÁ)Ç™âgF2³?§CÃ\ á­…Î]8€ã*Ó‡Tƒ2€ür³ÑÞR" 84‹;UÜ~—v^fOÉÔ½9 =ú Ø×é÷}’-yènïf¬‹w´QëÅćÙÏ£5AÐé}q¢ÝÅ0}6™.º÷ÁM´%ƒq\ÞÆ@H%ë>ûpáy'¹Îä!#‚S"2WJTŸ´+ˆH-(FVh’&ª|ZçÂk;Η«w8»<¼5-(‰}à…l}+½øôѶ®›ßéàà Ñÿ¼–ÑõW!òŒÓg¸Y"ÿ~•–‰/õ¯Á Ø—ÓIÈ\¥ØÁ«®àL{ú3Ø %˜‹Œ¬“ï̻ٶ¢ËÌ >ׇáÁ¤¡1€j¤åáPÎ&êçx̛Ç uòƒ9¶¹^o6\l!ѹO±@âÓë^Ö³º»}˜‰%£È¢ÔØÌ¡1†®!´Ï¶¾¿åë§78pßxI°ãu„öçåqÚ®KŒ®§ Æè¬þÛAº"û±ÇÁì2Û¹ugÅ£ŽŠZ5ß)­Ù´®î>uHöo3ÇD9՜̬JÎX^#ïZêýøt0ƒtÀKÄd;!²¯¶I’èr–MÚ—£Zo˜ðÐuÞ½'òûZLwŠÚãÑ;ŠkpÝ>¯Ás°EŸW›aá=#Ãlš˜Âr™{ ±øiÝÎK»ÎgyW[7AÏéh«'{ö[ºcªõˆÉrJÌ&I-1•œ¹tPˆJÚNºñÚµ2¸ê^ãëÀ°›%±D‡H$«•1ÁÓ‹™½~«Sú^}³ ,¿Ùý-¶»òfAôG—VKšýíï€ÛÞLf9)§kKè=[†¬œß†‚¦ó· ݾmç&8Ž3 þ[˜èTV:Dÿ[ñ—0[1ч+£ït]ß(ñ0ŽãÔøs„t¨Wɶ†È3>˹䢼zSìßYµõ:@«˜péw™ –ÙÅ1Ž‘M$zWïÀê“€rW‚µäà¥rþ‡qg„ÎÎÝɪíÓÏ?ÑðR¬&Ö€èÈWêqþ;Ö_%ä˜öÏVŸÆÅ°ÃØ×é€z[½Nw9à[4ÆéN‹ù¼ùÃç+6ØäÃÅÁÁÐ¥eMzÌ/ŽÞ$)p®÷ÛÑ9ê2ÅøÉu.©ûi›´¸_LÞ g[-†{ïw2ô~A¥’Ÿ´çé³çÌË`:}L¿Í$8LQèµ=99wŸ ÃÂÙBƒø7ÎÝæxÆ0ˆ¾ñ<æs²Fã²ÙÌw¿¥±äpº¤:ñ½yóNOOA[ìÝŸ|žÞ«W¯¨±Ðûoÿ.u63uÜxÿË_þÕÇÿzz _M…m;ÃOððÛHÖfÑᇰٸ1=€XE6EWÓïÏ0ÌÇ®¹|¥ 7æ, Cø³?û3ø‹¿ø‹ûÝÿü¿„ÿøÇ;ÐÒg²Ù.Ö êÑ!…©(_Alûr­»™ˆN:¸^™¶ÑØ »éLbz™ÓÁz@¿/®ïn)"Xð®®,/7çwvpQ•œÈ|Ñ+ôþkÊv ÷å ßÏ¥‰N¢û¾¬æö qâŽÏ@X0b1ißâëĈV÷&Û~,êÄ7ЪD—ñ2ÑæÕ·Ÿ$ïõ2±ÿá.­/]=†óÊ8á¦ÑøùfU-õ¬•‚Ñf›¬rJtþÅx ~³ØohDxð¨{%Ñí~±ùÄ7“¥cnb-Íç,#¼ílý!Ü%ø| ½W`ë0<¸˜ßoÏ…ô$é¡`ZÄÒF÷Sí`‘¯'Ì´k4¾ýâ é5‘¼ÌoѹtÓÏÜ AíÙ~q"‹ß Ž †- 7ÓǶ š˜Ú0›V LtØ:²fð<î=ºßŽ0‚Ô!’ñz¥ åÞæÓje„9¤Ú‡ã!¹wiŸÈöá~:É®»ô•¾öT!ràÛäÜ•EÚƒ„ß-¡uÜe£Xeº¦+[ ‘ëÊ9qrîéé]\D0ÈÏàöKp,tÀŒÈ3'‹æ—;hÏÄ€àOGÍÏ 1FÙÏÚä xgwÎíÛ“.æuŒ=Xòô90ÞlSèõóï§­Œs–fÓÏvÆ^3Ÿ|‚cC‘·Y¸×Îî„l;ĸ»_å• Ž™š•˜¥´¿ j3ЄOÃoÑÝï…H'z9q†¹Ú€Ž‘ß%7Ä]íïó±x«ÂuŒpÁ®Oï[åበ‰t׭ňèš/vrÆç.çðf'íßIl¯ê È ‚QÊí´¬Uåõû6£õ0‡ëƒÝÑ^Y—ù¼ËÁB„ÙØ„šH°f ÁÄ#Õ+ýL%œìý8 ÏÎ~ pé­äQ$L¶ãÝði*Äñ„L%ýÌ^XÌEr „Ý옆7”AºÚËÀ´ŸÛÙFÁˆØy|Ep–Dø 8\žý"„˜{òyO,̹”w×`äl>ûób‰Þ“¡’æ´ô—´¾ ïÐ{²G0Áf<ýâñ >L`J¾y v`ðÇ?"=A"›t Ä Šäá:/D`$zÁk2a¹Xð}zSÚI®¯iK+œ"ƒ4¿ $»—_¡d_"Pi­åæô>€eW¡–˜•-×ñGëgpÑJ¿½— ò­ù´¥ ÞYÔéHÀóÖß͆àÞe“_³âªkEgy#PUâ@™0 ÙÆÜÉg|™NÜ]3êÕ8¢¡r„F WÒº+-‰5u=(Þ£5­ê§k¿ÛYæ'ßô‘ñ~óE¾B²|ô~ž–1=Dï0¶ã„,™®ïÐJÊ´ÆÐ4ŽÁXI&`Uz Çe¢PÍDw·G‘\{†£Œ‘j.zκ›üÅ„û=6óˆ¬säon°ï"l¨pHqÌf3ŽXÐðßOy’€âIå¥iNÁVupçDIvd.q÷E­FÖw1 ±¹[…‹qXmé‡s'môÌ^>±QNŒ'œí ¹8¹Öåÿþ&¾Ä`5[?õË ÐNÐ>^;Û‚ñšd+w7Õåô~›v ·¯qår2ø8®2m%mXúHŒœí¾h4Ôh‚÷à‹ü !Ç.A“§“]´£t {6›ïÐF³2BgM~UkHd©Í$¿q2î`²Þ¬ìÀ8m¤õ›úº.ÏÉØ!JÝUÛÆ1Å‹ò—5(fWÍH!‘¹ÉéëeLtHÈeƒwvºø,ÎF»–¯Ž_!Ç~¯çCè¶ÀOŒ.¶,˜¼{û¼g™—Ðï8‡Q<Üè7÷^>aÿà\WCëù€Ù;.–‰Ê¥Õñ…Át»äg­ò#:›eòÉGëá:€Ï@5øøûœjÎXmÁ×É %}›TŸ‡-rþž’p$ƒƒËO’ŽªÙk[VÓö“XXú> oÑ;/ûä·AýïW/‰Þèá„4 wMa``gÓuYPi²áö†\3fž—ÄÁ³õPÉÞ¬8«ÌÙÜä ®ÿéÉ/Âà”Ï۬îwNWçE´ï&9´Ÿè[ŒÌbÐl,=‘åX6‘gí5Ý1UßA2,°0Ìö#qÊÒú>‘AXî†Aû¤ð!°À=k¯§5¤‘ÕíºCZ :ƒ-£ц¢VYµ<šd߳Ǖ`G| íhÀ³?ö¼¸˜*pÚp¦eo§$<ûžzÆo=F†R•“…¼£.‚Ã|¾b¶‚_?.sz%¤‹hŒzà–`'ɧ×ñºBwð¯½ÏúnAìnõýø’øb'"ê25ü6Û×áÊ9øÛlÀ”MZ ǯ@o‘° TA/#›Ã¿ ×òr:mî—ÑÞk<­g«Á#ÿ®Vnr©øìî”èÄšÕ4žçAW‹eohØ7£ÉR{‰p}t´~†Z§RüœÊ.±_.Ct¼•Í›-\Ó«ˆpƒúx3Ð/'ºŸ GàGvù%;pÛÍÆYI›|:X†Kq¶®¥l{Ì`(,ï­÷5x ùjG¼]¹/?ÒXÑ×gggÀqù¶†Ï«*)K(«4+(1îâÜ}€ã¨.‚gg$AÆ+™PRkP2‰#%º›Ì]ãAîsH’ôQŸAžGôNMý¾ûÖæ;_ÒXòîþKÿÑ@ø‡Ä8íV5½æ•½;‹ ÌÜŽ´\It;º¿XñJðË¿üËDözpwwó zÙÈÞÎîa:[Àå%IœþÑ~ªªB†8í§DbzsE2 Þ7ØË?“JD|g‹k&|½ôû3 ,ËB)ìC-ð ÙÐ’™Œ!Žcøó?ÿsøÓ?ýÓÿñ ÿÕñŸA©T»aM;m‡‚¹˜ßûñúÄOw‰ž½,ü^nnVØr”˜¶q·D{¶¬¥õ㾚> 3¼#6Òþ]µZ…N݇ÿ€0e˜Q$§U¦,?Õ½GÝåE e7½/k»°»KIÿ÷?}·ÑާO“Oçsû’\ÌOV+Mxk!>uéÎ= 3,áZ%L¹>u°^[`2hm–JZ?Öƒ¼Ñé »›bÆ GFxòÉYb¬_•Ù®£õÔ¤“‹Ìî`ío^ʼnå0]ÓÒžCGÏçŒSd“Ù¤çöYzMF d£uœô5\Ü®øK:|X|·ö]^4h½ÂáàxÅä±ýNssE‡ÈuÁ×àDWš4 ¿¼ß ËÍ> `òüýÞÏÑúkb˜ÀaÇ™¿ë hËóüû,p…ŽÁ„Ð ¬Éç4^B?(†„Ãàe¢¿ÅyÚ†syÿ¾ÿ¢ÄXf‘á¡”3bѼëæû%⡎ýøÍ8"?ÑÁÈ8¦ÇèÍF´.Â|àl0álÉ'±ð)?1ªzb§“]'›éºÅ;ôÛÓÚó°ŸàJöäü$!Æ¥9F#r@‘ UÇëg‡OûóZÚNršg±§ ŽÇ8+ÜW¼.m‡Ø8oGŠg½0-§ß côLþ·ŸF÷Y]øœŸY‹~_w”. ĆߗG[]_­L¡ä*0 ޝÊ×1yw둬8Nï¡3@ýÁîÑ1H-æLŽƒYƒ|gÙÞÙ蹋¬‹¾À W*ÅÍ f‰xs똜—§.’•y ΊÅóZú¹eð¡¹Lëv4Ý›pºn×Á"'7rôá#N"´¾¹oÇ&xZöþÎâº9WÒÌ)À—<Ü% .×$ýjÅV÷ûôuÄ19g]Ü©Ò}>Ü^ÎÛ­Í›Š8jåyºN ¶û'»ÅØ¦š˜†µ#»m2ižM+á¤B?›cöÄ%0~ú¹© F˜Öƒ®­B8¥ïóàl×h‚­WàmFc0aî‘ò‚~—½yª†l´<¡¼’HwÄ&æºôÀE×4—ä^üHHpX „a¾Ntú—¼ïƒ‰x§WÌ Ü0t>ÐÛëôÚí5Ð^é'ù\£Çk Öh=¡ «`h_À•3i¥é‡„“ÿvšiLq"äë4›Aøl4Ï鞉§Bì)'›ó‘ú<‰½¬Lc|¡± ¦$l@ï—ÁÓòp1Ã\ëÄg‚7Àb½õ8NÛìGîÃû"ÌΉ’‘×ÄÏûÅ„Û+)&Ù—`xA+Ny¥Eü©Z tžbÃgÊÏhçðeb­gNZ.Å!}>õy2iøy÷­W³Iv‚;Ï&}í-“Í_¼& aKpVÒ>û=ú´/#ÄÄF–­xeÍû0 zðÿÅg¿þ<=çt1ÿq@x…ñJí¨M®ÍmŸÈy3ÌOVä˜íp×Ê[°:4¾Ü~{%Ê˵°Ið¡ÂÐ\‘ä#ì(hÛw`põ}ß…ã:í«ŸŠ,B Î'ùÄzhï¯ÀNÂ9¼‹u[ËÆ^Z™,ê÷ß¿ú«¿ ¿ôK¿ôÉÿù‡ÿà$=Q¼ðÚA¾¤€'E”ºù2õµCŠQ­ÚfI&2Küua_«('t”ÏræV}Cf³¤Üaís¼²Cs½Žât1e©·yF÷ÑÑö\kÐÞ[!ÜÏ\Pˆ|êr“°üÁ5¡WL¾<*Í,˜fáÚ>%5Æqœ*~ùâKbßÉÓíò=L”\\\€ï¾âëþâ\÷Š;$Üâ±U‘€ÎV\Eºi9•™ ½­tø–~øÃ’séûp~~J=ÁÏÖK¯Õ=¸¼¼„Y¢h竽¯ f§ÐRó £*¶· y/ûíψnÊ0µËë+˜³ùøTÖWF©2¨oXJëÆ¸Zƒ¿üË¿„?ù“?ùø·ßøß€ßû½ßû˜ÈH>OZÓg¡*œ`0{ðª¶þ :er@+N:ž)ï—‹ Úò¦7ßÏ¡iÐÉ;Öϲ#É­VëãøÀ€èjÝÅ–?\)¤ay¨²$>"î¡Ä’¥ÌÀR´`±2åIUUØßßOèŒûò2ºBÿ=¿£}á÷ïŸßÅó|8ƒ`B&)ù£4®{­§õL°KŸá婃e㈜ò<_?ŠÁ„û‡ üì.í‹ÖWвÝþ㛋’ÚlR0¯h¯/\äg&èC¤Ç¹h{l£˜2@“üMzé$¨Xÿ|a»¢”0QàP—iàÓÑB ûK¼¿Øêú£JJëãeÕfÙ1en‹›Œ°vBŸS¼nŸì¡ïœ?'¡¨/ÚÐE ¼lÂKÉíÒ¶´”á¶v°¹TÄÛ883.ÁÙ$_ÇÃ!Æxehá@ñu× 2æ/ˆ®w7_ÞZ<¿`ñøðnrŠ×ÌFŒÁ8%þõ#—ï/µOçˆÔ:Ñe#ݯ”ÏH»Å1¤Š·€)Žk íÝO·“mø©ÙÌ…¼ IDATjÈæ%;(Ww6K$”_½ÙøžWf·û5ÂÙ:¼ ’DËîœGûgLÔ›¹HßÎ…üÌ-±%Òh ‹8îÉomüœv2Ö"¡sáÛ8¾ÐëâÊH§öo²c¿1äÇAí!ÂmÜ ²þ_5pA&¿KcÉ »l"ñ~x5‡It•y·Vº ”?¶! 3f©ø=cZ®Äz±-ß[Ö!–6ã19›uÎ…á#’É#½û7}‡è¥R-½‡R½ L®?Øt>;˶yO f‚Œ){7xÊÞüš`šÞE‹ ‰£·ÛùçmèÐ:%ŽSݸí¥uóSIOƒ´OÇâ‡w °Btn¾g÷†¨Ž'AÓÏ.ˆ”*tVò̧°Kz=vp2Žþõ!|Y3@°É滑¿¬z´ox;[ß,f4ïÁ~¢àB>B:|>»ÊÀzR«„ ‘ûu*HVÕ§&Ÿ‡Ú˱hü0Žk1OŸyf@tÜÜ¡1³ï‘ëjÅXAÀEƒGp©\CI`FœæÙì­c²C)ÅÛxa†=)æ+’ ƒ¼Ï®´yŽ##¹Ym¶ð‘wÚ€¦[ȉΚ :¶7³>^4]X²K¿÷ØÉçÀÝâ‰1~=[g %Ÿ»pí7x‰»Ê’6š“¶o¯Ðµ¦Ò§O±p°=–Òy%NéÓ¦Ô•l=xØ>xPЈ#ZÐúï-n²e4 `EQ†á˜èµS•ذÁ]Sæ]ˆp’õN-ßf"žLz¶™’ÑT€³V¶-Ÿ="{¢MÓ˜Pë´Áþn  ¿ì(F:¯\C¾Ç|˜½¾—"ÁÍÓ‹ÜFÙż\Ì£R«`”²…ÒÁ„E/ .”l7²go'”;J>±æâr¼H!‡sYNƒ n€©-ÑBxuCž%2ÒÒ’5€[m&×iÒÊïáŽ8õ£• ?C @¶·Ëj÷¼ÜîFßÞc0›˜K>ß×É&>-+_qE£õûs´2¶Qgw¶z7_œå%ªtÔÄèÊhÀ©Üyù¼Ößšì,1 u 5š-ör:‰ÍÏh_^‘²; Ô=šäáÅì [$õ žHÏz¯Û÷Ùd@ïý½j е¯W̯Üߨ.°ÂŒc´·!G@Pã4­8ûW.\^Y·—èŒ%§á•>¡;ɺO|ñù‚¼Š‚dâð`ó@§í"%ÍвRŸðRM?[ˆ;‹øöÜͲj¤›\ÓR¢SGÍH;g½Í|¶˜MÖtpF»»2zû+RU6mÄbvƒD/›Ôqu Œ¯«Ø±¥õÆìý ð;éwÅ"Lò~{Î2Üîò«´Áz&ø´Ñmj9Av™¬ûë7H|Úy“ýX€GnßgËm⸹—WÏ’[qð€Ïº–´ÒAäÚBdùìµîðèS |¦ ÈÖ=í5Ëeú逡óý[(Oyø¢ÒC ÈÌÈ'-ùCh´öýÇl}Ñ´h‡ŒÛ!z÷+c}ð’_Ò¿¿y`VìaœFÃ!\C¶îœé^é»bGniÐ)¹ÀޱÅyþÞºÎÅ5‘ioœ~çÓ’æÐ‚‡ô}ß?úà©"Dù8l¿•vØlf}×%mEE²¼£K¾{—®üWœnç’è}i)uÈÇét ü´X¶dL¶k ÐRMtc5Ë1Ü'F¯šx´„Ÿ½žïÁ·&*D0¦•gËk2ÈðB ÃkÒö9Ù¥QÜ#:ő䗞9긖èVÜ@÷ˆ :]º=蕦 •ˆóéh ŒDÕ›mÚ Žên¸Õãh¸ØeÚ:Çv%†ÛæfdÙiJ¨Xƒ,‰ÞŒ²Éà÷f¶Móq·Rs°y·èö0içâÄ×rË)O|RU"ry ¿» Z{¬Ï¢/K½lù•l¼ 1Û'ù×â:Ƚ1 {9Ϭ}žÝ)>G{4’Ò{´Ô‘ŒÜ—‡xÍ[Ð)ÕàŸóû7—üçB–:ÁÜQhËdÄ©ðü±j‡ aþB>Çõ‡õ¶«SAöNº…‹6—áïpל¼ó-kÈÇÄšê"8î%8|zoûsš »tŒÊLÀ,ˆëÅú=ÒKpVå°~Hs6€»ýtÑwÊ%ÚNj±íyæ€àÊû%í£L-Ôfü‰ÝjžûÏ‘~|ã96D×c;˜C1Ão`¦ =w!ìLÖ',©¸ šóh<î%ºïy9ʼ°9ÉžL†Ó·Ÿ-Ç¡‰Îj£öp "ß½Ï#¾‡¿A²³X ½^âd*× ×f3º)Ô‘ží¯Œvd|€Ð~F­¶½~j"®÷ôì©"´rÆQ=%añMÄEÇÅÉÐÃeqÂðÓã˜êÒúí”&¬cìS”_BuÞ„·o Ó4ícB¤; ÷¶´¤m†Öª…«õÏí§É4è^ÃÚ|߇#­/÷öö¨…O÷W>”·¤äwïH—JY–áÅ𘨂åž|×Ì=Õ$8Hâµ×_ü–ajËGÇ…ë»XáuY–¥’iC\ôoþæoàÿð?îïüʯÀïÿþïëøñüàñ¤ams.O3²å¤ d­9»Xn•œ"ev±Þ¦”vÉšV™tÀz|”=ˆ¢7HŽØã&tä”?1­'…àDiìÙ{‡öÙ—A^™òIJ,ÕAÔ²,˜b¹¯£s¦ìÓþÊË—ÙºñƒÓƒù4[¯&’÷³† \•LRâëé³9-€ò=(“ϵ\“Öÿ_Ù²Ûã$ˆ‘ b 顇œ$ƒ¸Ž’Úv5²Ž,Átq §bbœkíoÀnßÍyn¤}Îj;áW çÄ:À{ixJ@¸Óz­„ –B>çÏÉ´^Y¬ æ-0ÇgÌE¨«()­…ỘNe²Ù¾R¤%ø]®‚×)É?Û-§¸j_z2´êÅ$4Ck2†)ï¬ðoùÙWÞ2›8?*?“$»ç$¦¿X–÷ OD¸se'1ÅËV5ˆ]8˜|,Ü HGŸ©d‚„ÇŠÚý.Ü÷‰^²Ð;;Ã4O®a»BØ ê[ÝÂr”Ó…ÍL!ß7› 2Tp7Û`Aëì½J±oÝwîÖŸ¥ùü³è’ø![×Å\ògà¬LZPüüŽKâ,ÍoÄdÏîÛM‚ݓ݊ôsDË«bNZKǵoç3h/_œìoI9 5¾ZY€ôú›3C3¸Ñ`šéLžÆ±U–ÖãÿZ'“qG|Mƒãýi*CË•=MÇÝWä|—*0N|u½,É;jìÐDùnPßZövµõ ¦¬5¯·„~Ȧ¹“Ãæx^{Ü>å@®’=¶œ‚)8RÂ)’ãAɆ%ÜÜ^¢SÙÙä2Œ#„yc5öeÐKùç¦sªÁcm#QLo>ÒVÕS¦¨à¼Kû^¶Š1Vy}Ü~bJôpª4Ýߨ‡9爬›ú"{¯ }g–ó,.nú£‡>ñÕY•Æ_½‚ÜG‡_o“æNâ^Zْ𺠆ý‘g5Õ=n’½â[ÄžÍ30ÍRº]î?8ðv‘m£½xƒàV°ÇEwMÕV6OtKö$÷l"ÙѤeÏUóñüÒíb_a1.0ß[fÛô  0 7Ïqå5ÓÌ"ú½kRöùüзÀyÈæÅî^ÿÐph|:o;nÈùïÒ>¯ðÓ§‚uÍD¤¯3|G¸·2¿}¾ÍLGº‹Ó˜õ"ráS?Ünqrž.¦ï±»›½þ.ó,¦·0‘Lþè º¾–ˆûÎß®LDÀÝáµìõYÖ3tá»|ÿŠs·‹ÅÚ3€òJÑ„æYÝAÝAöÄ®¤¹cëö´/Šñ’Òh¬¼+ÒM»K$—‚¼€ÊiX&œ¿¿@×ïåä‡P'—ÝÉvÂ}.}a¹ý: îfÛfûêäÞ‡l¥.ârÊ &²¼¥‡\¦•˜ øÌçÑâ˜ßŒà9Ÿh´¹âŸ1ˆìÛ2|¶NYÆÙz¨„;‹ðšRÈ92ï»ÀùtÀêíì:ŸìèäªÁ¬4·Xña1¡<‹ÒïÃDèù¿›æwNó„üdäHFò)©Dö»c¤—ÙÕoI *Í °upÒ>Ú¿ûùA»¹^wx<2ºó‹ìJ|÷}v¾ã§ š_pÅÐÞzû(žo&WôÙp›»øœ¡5pV‚PG:"ËÕ}DÔŠ ì¢@l×CÄÈàÛ9ÜNŒŒ´4`pîпI‰ÄyFNë,éÍkXfUª‰öM’ò»÷ŠZû&÷F£í ««•JÌÅb;™*}½Ã0ªëé3À6p”SùRΕXW‘ÃÞ wDèrt¹»ƒœ•é@©³½ó°—îð››•ãüN$£Rñh"SÁIÄÓ˜ôÕÏ[ÉDÍx­Ÿ˜b,Ã\÷a霧ó¨~¶>jLÖWQ³êÞÚï¼µÈ?LŒk»¢õr?XÍØ¡”©_†¾•¨tåc ³\Z‚5º‰)¶g¶•Nf˜‡ùkÜ>F¶úôˆÈ´#fï¥ÑÐa÷±íŠ­ÃËÏ3rôÞEÏýÁüì!²á3‚Ùî—ùÔODøâÕzÛ,½ï”Ð ©T*àWfÚùk²X“°a,ØKŒ^5ðh ~…wÌqw:àK% š•)Ò3Ç…‹r-ýœ÷Ö;hs(·¶¬^Ü0ÿnæ¤u"SÐÑèDlC;¬€¦ÛU²;¹gËÏòÛ΄õ]á,w òKu«š<â^×´Óq’ôKœ8²˜eëN£¹yRï²`>Ø àw=nƸ£¾_ƒ%ØÅ ,±Ï!_ÕfiûÒ~΂Ùû4’Ǫù3­põ-±Ýæ÷¤ƒÿ8ø¤û,Ú5h´×$«”i®7¿ýd¤Je¨;ù{´·ü´wçáúÙ¿eøO~?_Êö)YeŠ¢€yñ €÷<Ýâ„áåä2÷;2 [vôbó„ÔEÑiºÄVºe¤w¹ÞŽ—;°‹»æÄq \%Û^ g7àÖ¬X.Hâ L]r~,<¢±¥Ð´ª2Lf%ø(èÀ”$I\kB!c4•“æçÜŒNÏOïîlî7(o”Ÿ—øþe¥#3ÛO^Žúp{Kt~­VûxVÄ&½·aY¢;x€ŽGœžáQs¯Ô Üšß@Kk~Lñ¦4ÖVU•Jè¼¹¹!@Í»„2}^?| ÝåªÕ*F¢ƒc¢h]«§ýŒåõzÝíÇÏr>Y–¥Æp—t^þñÿþàþàcË/þð‡ðÓŸþ”JšÚä#ûÙ¾‰ÂtÎA ›aÓÛaôÑ ]Ϭîh»"í5êãxäÌ«ÙÉ' xá çÈ>2Bã´‚;ûvBñh{³–}¾³®]×Ó4·ÞSÆ\ © J…–}†Î¹iä'W”VƒÍD¾ óêæÅïv?Û¶ðñÝÖïre‡°ã)à»× ×Ñy™Ý^ÃnF’{;Æû‘–©ŠœNâ™Üù[?Ïù|½þ’@‡8ÈçL“üÈ^ö…‡({›sþò‚¾†Œãî†,cŽÏT\ðz$Im9^€¢Úðø=ÂîFNÕcT0w` Ò84ÛaÚÙ<‚‰„kcžiƒ^­¥Æ7ê::£fà<Ê áIÿ4MØh“œÃƒŽÝÛÀì\¼+>k’^M<NœÆÇåûl½@5U,Pq p°ÝÔZ0|’œ®ï~jä‚Ô ëŒŒ— t¼)¨þÙÎz:Î2ç`‚†Gã°¾˜­³99mã í_+Xÿ¶¤âÄ8kïãÏ­4Ö_DÙ:Óš Àì]gõ²e-â‘L‰‹|Û¹ì£gåtwÕfÏB-@2dÚØñ`\œÐ$¥ñ[>FÏu½¹^v¥ˆ{&Hýl»ç=uàäÉ™š ÓgÝţדE 5õ5DcZ§7Å'ká8ùúJˆÒ²çù„oáJU¯ðìjy­’Ž»ËÇä|‡ÍØøÙfñß§®Ú«Ÿ1wÎó¸ƒÇ›â$œH¯A¨Ð*7y‘]òïJi»x¥‹–š!ö‡h=›¬kU{ ÊXƒúb 5Ö‡ç~Ô>Àjó 0v¾Lë7Àçf­t£mV]Ù¬‘KÕp€ÃÝ.ÌD—xöp}ŒÃ·cx¼ÍÇ™ï.æ w>PIkª€t­%¹²J<Ø#yêÄGbXä¨í,ñ"ìÑ¥R²P´œÏ•3mò ¥£NŠg¸û&¿xÇà|Mµ©‚Éà5ûö: ö^HðZ~ÀŠ´.ÜÉhduÚ¡×øš-ŽW–sšƒL¾g7ô}Í(_šßåŸë²ˆÖ'Ð6›ŽÓHôxl1ïûÎ&˜"Æ›Äþ¾hé í6á¼›Öƒê BÿàHÙçâ(!6æ"-û½2Z×NƒØÊRÙ÷¥¾Y¢ n'º»è:%;µôº-M´ÞV"h7›éùÙ„ƒKïÜòú„™%OŒ±rš®›Ì¾‡G-!_œ°9f+Å£ã!ÀÇZi;ÛóÒIXêñö…$ÈZ¿K´Ž€ˆ‘ƒ…pPUàÑŸwžnµ,íãÑ/‰qtñbû.­Ž“ïTWÌe½®€ááò2ÑQu2„›ù„’²JË([ áx¥S~¡ÁûÒËyûYr:^3b&²È¿‡,²¥C¦Î;ðf·Ð ¶ïÊÊõÆ™ž“k_ã.@£$ƒÒxRbd¤ÓÏ<Ûè~õ°Ø©Ó4ð•e¤ ûòZ{^çÞ2uÔ‚²„Áq"XvÊŒ0Í:<ÅP¥ò#œòÙú¨}°’h:¢1OlNA[®ObzýÎÊØ1þ˜ÖË-®øÜWø%´træ5sM©öC–aôú8q~I4Ðtb£|ïl(á:º^±iˆT¯È/3s?"gë—a®mPöºýÜÛÃI¬/Œ/Ak ½»£Ýzªñ $ÓÌkûYòTÆxQÖYˆ¼ì`YWجhJž¦õâ«Sô2’y¥å$0>Qfœó¼®bþJ7Mߎà~AËðžþ äú^Ù\lqÐ>Ÿ_æ*›%?"½Î<ûžãÅvãtqÛŽP1Tq’-wB“ô–>¿OöFÎT8ÖÃv„²Wc—&¢kÄÎâÏiM¤£n#LuÀ« ³:y$kl´EƒÍg-Û@ës…WáÚcÙ®Âñ—ÄvoˆÎðwÐûK°.™”}¸v¦+ ؉ŽÖÞ=‘+æšy¢c\[9À¶ùùÝ4fÎ~ži÷(ãLolö•ç%x9S¼“m‹ ŒÛŒÓ¯Ó\N°Y"bID2X®¦ƒ Ö%²3Ý*:£o¯7·LÑ Ù€Ë{Ä%²A» žÆƒ5 ïLi=(Ž‘Ü.zÙ8¬"’¿ëú,›xÂÂè’ìÛ£Po“ÿIµ^بîÀƒh§à hå&Çž­v:˜&ºÀÅ¥4‘¿†3à±=Ò•!8óŒTZŸîrÿ"ü¯ÿãÿû·›ùŸÿùßüï™ÿëÿWðGôG©ç<ÿ~ÓoI`a`Ѻã©xiX|Æê˜Ž/½gŸ3> ÷X`9Ð,ŽÛ:xv¾ìqqÕˆì=¿R°ÜõáÒ|WxïFu=ÇÒ^,aç˜öë2êzòÞ}»×óUþ}žFéæò³q J^:™Ì“?gâ¢ÑKûÕa€À¾fÀ^FÁ¸áÓ2ë­q–ïçAN!”(–¬çtÉ e ìDñˆ®ë©®|”O¦­çŒ¯Aš}×k0NÎA mÛ†©Kl`§‰ÖåÜ}ÝûáX‰îf†a¤žÑÒàr2dÊG/hùÓ¶K>¿÷ €ú,=u<¼J4ͺü¿¾‡Ÿþô§›OOOá¿û×ÿ„R~gŸá(“¸·‘þÍÜR`"ñPQ`6¬r9`‘ÕUt=ÓC2/v7K N&8Îd'‡Yoßžö¼#·A¿A>Lì!»&&ÞŒÁŠ‚0F¿k¯é"¬ëä,Çq¼qG°Å áA.J4þ:¿¼JÎÞ@¢ÏÀ¬wSi¥I]€×wVv£pµ±-ö·ä>>C|87,Ö½­í±V¶Æ/¼¤¤±“õÖñ †÷c3™ªîÓ8Šf$­Œ°#Yk'ÂÄb ñ²¸H€="zQb Š«’Ièí 1mœ– ÷Þ0CöÓÍÔF:éL4òÑØZ‚7] ½Â%F”·äòoKäY^¥#x ]w<¦×Àë»%0ûÕ’È6Í¿¿'Òú-JLd±®wòítµ`v%ºˆÌêõ ßá§Ý9Ü®£¼,@„tŒOL4µ™‡„ßuçë q+¯‰LÜDwÐl ìÀ”hŸw^ÛŽ/=¿Lcµ’Å«%hþæ)ŽN¾kÍ·çn #~Âübóßî0ðþ>Û¶¾:ÍÎÅøû·h/tÆ`eQ)– ú`€»CðÀ‚míN-y HlZ³E%œOð^,×'}Z·Ù8Æ8ZÏÿð6Ã5¾L'§±QìGxüÚã#8Š â Ì5ÜV³»W¾ÕÃ?”íì©íƒÜK:Vå_o_Ð<]i<ÒöhFÅ1°WXóq8áKë»iŽYÁ…û{Ö@4i_× Óª4ïäÙ¾^Q_bh.–9"O67VÌÞ‹d÷yY‚y¢´ç›ËÎ rÚ{$0£6é¶gúY6J0¼Çûûn`A×a`ÔzF$*x%ú NÇk IDAT’dO"ñ®"0¨%œ9μ¶ÏiÐÜOŒ§Šû—[=ÛKyNåõ-®¸2ôÛ•ñžæšîbU9_L”(Ü‘RkÚ„÷È0Ô ‚ŒQ†»DËŽp’ öäø@Kt‰™¦s¶·ý,õ¹ö2Æ•:Â#QàS³8Àkân‡‚Ý“¡ï]kпeq"WF‡&%*‹W}(n×MðÖÉ——ZK„Ïù¹õ¦& Â+ÜÑV×8Õ;p"¢uŽÑ¬t;°™b‡Û8¨CÄ#™ÿò4‰?<§AΙ›­ä5µ3íÿŽg€W¡×Ê1=F<\Oàˆü¼>M êßÏ?¬xÙN0WEë]šÒït1#û²p$Ú½vÑÙ6ìõ2w&䓼åGZé=«7É>Ü•Ñû4÷eˆgéýà¼%˜W]p0‹wй˜¿¡˱ãd;{ct §\ú¹ìî€×§íAÙ EM¨¢µ1 l6í8º˜,Q«œ» .}xðÓÎU´ð¡Œ Ò²Ÿ1N:1⤪¾£ÚQ{ÙÎh¨Å20ólYðXEI@ûéô¹›Ü/ -äWº:jq²øcn÷þ8¬­NÚÙqq×Ö^…ù4Ÿœ7˜â{òê®ßÛŸML¾''"\ðØ£²‡J ¼P‚ÅŒ–Ñ›Á2ÇžÚ¨÷ÚnFẋj§+£&zÆ/ƒûéÝò éêÁÆ÷c—ƒ6Â8•3²G¸ÃÎþ1ú›S£É©•&ŸdñóŒ0f2:;uç~Ó5UcÁÀçf=Q›L¢ ìcFÐá)†ê,³ì~YÞÕ+“g³ê5ð‰+ŒQ»¼> mn!b[JŒ»ÎëäÈoÞQ*4pÐ|·µÑ÷]ƒ<ûí 掶9¬BttcÑ€#öº‰±tj°žAk<ŒÒXo/1F2håÓnfÙ{)tZ¿ûÀ¡ÉÏk€™¨?hg'ÄLZ¾å¶Ûs–¸+Ž+À U—Ò„rÇ˶eÃúï‹JvÐÄZ:?߈?!–³'ãŽåÁþ¶4²vÿ\ŸÛ¡â<›H¦ôZsîçÁ S=†šLï…uþ™ß,›œ Ø7Cà[ÅIžNŽ™Í*PµD°ÚÎÀV¼Ó‚»&ºåzb­ÑY­îпeøÍ…MÃ>y20~¤×ðÞ¥ ï<ÚçžyÛýÜp$¡óŒK°4c €Ë+´¶z;ŒØÝ%£c\mWÿ¿}âÙqnPÁÊbœ”ÃÚÅþ?^§‚§$q¹€åt±ÕoýÅîÓ“1õ“#¬4g茾>"òÔ‡üàÊe/}o'Ðô÷Éý¶ã,À6X«ÄfèM8Èþ¹x\üáÙöV2 ;P?!û•lúû­yÊÉe»­â"{o& ö¦] 4èg´¬&öûý¯Al]©¤Âw8áÝš7@RT¨Ïè÷'l„$ΡԢmè8Mªx¼¸·2FJÎ):{£BåËX\ <ÜÔ‘îðæ}xpCP-œ ÙXî˜ô}“¹È_/·q?„— 7‘-6§È ÚúÄÀîfæ¶ –d¯¸ýœ¯6’¯œÆîyÄôáßKñõ'Ÿ7–eÁâ7ã¥V g§Çùœ·¦«ºÉÓØWHqÞy—°ÜS€…ìÄÕ-ƒ“Ó‘âÆ''óñœê"&Ë28·g­×$Tš%FºŸˆ 4Ìår™ê@ºX,¨£‡;eœ‰¯ ³Ç‚¸PÁZ¤ª*”Ë´üëÖøÄxáå„p<ãJ¶~rLÎlôï—ÙIº{ü>\ ‡ð(Ó‡˜aÐdŽq>ÒÝÝü×ÿý “É„Ò3ƒÁÊ {Ì…õ4.‘€æÉ‡x*‘¢Ï¡ò¶û¬ý& –GCÜâÛ®Þ­é–Ÿ°»êB‚ñ¨˜ƒ•³m0—H¤•WÆR•d‚§j¸ øÝ¢Ê ÃúfÉÓ«%g³ÍŠåCrÆOT¤Ë Ù™“X†²LûpMÇÀ\Zµ} A<…™À‚ùÈqYA몯i'Í]¨pé5Ó¾Ìæ–ÅRþõlSvF’kŸ'~ÓdBc;ý5­Ë£ñ0ÿØ?CïÔM$y7#èá"¢H|÷HÊ/v(=u¹µ Ú$òßžÓ:ÑÓÓœ9[݃ŸÇg¦jà$Èø‡Dæ…ÁúdLyŒÀ ŸH"°bpßÒÜVew Få7çÕj\Æ8!cq“Æi&²Ÿ¡¤ƒ«‚·Ç@£Œ±KD'»,¹§Ðçí2DzOWé®\«]¯»D&&cZvù‚döGÉ…É>ãæN`‘7ã>¥ò ´ñVû.‡2”i;:ë9+Ö? ƒ ^-Û& ¢=ˆ=äÓØáv"”¼!:ùq¦tÕwW›7† Ü:ç·+#)wƒõü’ç¡ß‡£1ÉRKÛ! wOTèKDΔ½âN™#ù_¢L~SaáfÌ>k-ýD—:÷\v‰Œ‰q t ñ¬ž1îyúð=¸ñï†9jC…ÆœG‰õ6 aLr |ã•Dz»p†vÏÀÍJ‡?ã2CÁ]–«ôoy<9dqþýáñP3YOøÂ›XWû¸c‹ñM«M乞hªÑªÈ`¼øAÄ!è± _ëiþA—Ð{T›:ììçTµE>Xß~Ç^Ö€Uó9ê—ûÅ92’NóÏŒOã®sŸLš$¦ †k>ÍZUe;»Ò~~¡®Ô£9‰_à˜swHM´  ‘›í$;¸/Ù•.˜á¨S³ÜÀèéêô²ç||xÕÔ¡#ÅpXÊ'­zVöI‰ìaÆ¡I©j¢êC³‰#Ð)0È\#«à±ŒÚ š[~Î$øL+; oɧ“Ø ‰Ø h#îÇù¤õ—ûú³ f ¡XX?$ˆU²n¥½úúk™K؇õ`pÞ&ʼi š@‚{öEqKh'«(½—Þ]£8ðh„Dp8;È[Öè,ÓNWZ Ëi :O´›ð°¯€ñ}˜®tô(¥×¥Z€«ûpTA`ožïÉ—ó ‚„3öû]nx7Û2ýx£¼#YiŸ/9ŽÒïV|øÙÿËÜ{ôJ’eéÇ„›r73×âi"#+»‹3˜æf9D/¸&øø.Šb@ ÁF¯ÈkÃ?0nôlzO€@…ž"++2C<­\»›¹¹i1‹{#®]73/^æm*3ë=w³{üÎwÎI‘¦Î*è^"ºKƒf’¯¥‘ñIÊmú‰ú¼ýn¾=~ŸêÄSS“Ö>Mhyï‹„¢úɘ!}¶å× XâöÐ{v·Àתë0wG<ül÷‘ö¥sÄv=uä3ß/>Áõ… F².Ξ•rÀ,h©ËgÉ™¬R¿ -•Àऑò.wwä „•wöQA¬½ÅJOäàqÍ4˜Úþú3ÙBçô4[évÉC×Ç“^zÙà×6Hç]#¥žÃ:.Œdýä¨ÀªÃñkâcØ{¤³Æà|ËÏ÷x‚Åê*:Љ:šY¦·/ Ì4ðšK%¾xv¾¯o£Îì¤äCô%As÷¾W°vYä–•õ÷ö ˜“ 'óozß³;Ø2ÿý#”K47Ñ|KùˆöO“Ôê”+ã^ú§íÛH&„>–_Lt+W„ :ÛpeEŠ&xPÖ²ë&޵¡|Ñ÷ˆÉg莋üÙi:G4x/#Xà©C ¡n{+kédÅOMÅ[æø…ßýyžÜUjßü^-9[|–Z$a6¥?ŸXpëÒE»S›rÖ·Õ£í‹AÍ#[:O˜¦b€[˃»»î`¼’?_äxeÐtþ±Mô‰a¾]Ü+?ZHžR+¡Ô_œ¬õ&ß ŽSM]‡ÍâBW->kS~>!ºjfPÛÏ'è[OÖ‹ê_Õó@=¢s“òJ¬<÷Å”|î‚©~~!é€Û} û \Ó4Q,PuÖ?ûHr'îFð·ZäÜø:zgA€ÅSã=žÜÝý‘½ç׻ϥ¼ÝTJÏØÍ2+ãDåÃÌÙ/¡Šþ¿Xuà÷£+( l&}MRþ©¤4!±·׊íã rÉ%žL‘0(få5tŸÌ-w¶ØGs¥Ð}ÚÉ>¯Ì&aÖô·â«¨F u‹¶!!ä7 ¤o[9¼(Z/kΡӡsHÞi)¡ó|×IáL~è\¡sä¹µ]×)²ÒÓÓôç òÏ_8ü,ž ¨¨!8ü N»Y?Î1¹Z)AW§'˜3,€¢¼u4Á¿ü?~ OO´ï³, þêßü_Ô„ÕŸBÏ–T·o„n¾"Å~ÍŠÈ+žfÒL5,7š©óy“ͱœ»ü\Q1ÃõØlÃÏ÷ÁR-–ß>~£ ₊×Né¼ —Ÿ‹clžçãˆüBމ@4‹ ²ãQ6×YT¶o¼¿ö²¤v ¯†/eÓÏ«¤â¿†.ɵ—°°È¹ÕIÜ?ÄC*8ÚY?§¦tã5¹bj]yÛïBsOE–à2¼—ÉæÔPRÓÏGpws¨ö¾[±e8'`f`\ÓXJ8Ša–³z¾§ÒyKt›ÍqÔ6ú»»F ê=’è:k{—Y{gôï ÀµOÕ1©b›PÆCpÜpn–èé VS¾[ùfýk1˜ ùÌJÁÆ4ÛÜ<)û•†6¸¸b ¼AÖÎêxRcHç^Õo‡Æ·úÏK$ïV¤)”0a[)ø°ÑpëÏ4½l\¢‡è9<ðciïVcp:´.Œ, Äœp>ÜÀ`Šä!|rÁÕóïÆ}Êáú¬LÔ–RÃY€ÀC†—)ïFž{ůw?(aîhÅňϟ‹Y¬Fu}ÀœÓv9Ï^f£QüNZeBM´âºh3å¤ì×·7ØVL¯<9›«?f#¡IVm/[0ûúlF–@¸“÷¨®¿ïRŠ`—˜ôûºîòÅžß_¬ÿ,ãÇ÷ò ˜v<—–Ê"´zbêq’R ¼iÖø[|©má}A«B®WzoÍô°óÔ$7çäïÉó¹awç³QOŠ»ç«§ÀDkHC·Ž„ÜzÈÄœípŸÐ¡Á4sDœÑ’|Ž}‰Œ¢SöSïD;Â2^ï×øÅls3öÛ©)7ö”Ÿè'mBöu6?ÑýÅëìçqf¼„’ wºjŒŠ³>‘i†ÛñØ•î²Ùç|PôûT'ž.ÇÿæXS"Áz×+ÁçÏȆh|ölù‹ $h;;œîVX$ÙiÖŸ¥ãËñ5”'¾Gò™¿:øs89Ï;JA7g‚§åŠ8Ð`¶d|xnm‚%‘…]"»vxH‚ÐöÊz³Pè­¸uÚîkßl{5úL&ìõЬgÁaEGú!ž´À1î¡•zŽ7b÷ÅìuŒ9Õ# ÂÐÞìK%“ÖOG"Ïtg§’bƒøš¸MÎÁ•hß®L³ ÙÈ]Op ÆY¢sbÞaÝK v‚äéžœ1ƒ.ùöleƒ7Ã\ÿ^G€[°} ‹;º#§+÷@9­¡B;5­Î¾È”ÅŠ=Æk/ûWÎ×"J¡?Y,Á¼§Ï§ÚFwz»O˜làéVÖ£§:ð :RâøY²¨Z)_½øä7¼•j4¡éÿý™…dº»ÎÎõõ2oáBÌ‚­Â“]ܱÊí=hÖð”cU…¹EÛmo†’\ëZÛ­Á¯ÆžkÄ/™²}†ñZ³¸˜ûªZƒÿ?þI/?YâÑ%Mƒ«ä^ê©u½GJ¯T8„&,S:·xpq· ,.ÁÀë„Y…èÓ ð¡t€ÞùMÉCñm׷ר0° bs›Áz9xÄSD§xÝJÉͼ´• —ß4rÍO¥WKgú⟻ˆ‰}gKt"_=´±2‘—Q¶WK ‘Qì}†'S0 -ÉQnqÎ$²+ëÒr ÝÓ§ìÝ/fß6A»ãÛ+ãšþl»œ}•-=µ*4ÂÞJ¬²=¡`¡Óù¡®•¡V«QÍ5£Ñ*üê±7“ËÍñsù”é‚=¯ARŽ·ÏJÜæI9•Ô:Æ#fûU†µSâÓûÿ ãÔÙ”eLÖ“Å•u^6&ÔáìðîU~®þ¦røbö¤-jà°.xc –ÄpIàÁ“q½òr‰=‰)Œ£g·ÍÖ–<Ô#zÏÜFàvøSÿ(®q²ž¬‘$]ˆã˜"ý…œøbÏXŘbz…u$ D-㱈lÆê3~!'ávÓAÌ¥“y" \h€ŠÉ7r˜oËøj±_d8ŽÓ4á_ÿë —xg³Ù„øÿá×ßû|u ÿñ?þǯä­ïÞm§Ë£R>VõŠIiœØÚ-Þò²ñÅ<º…J+_¯m]¹S†[pÁÂMm>ù ó‘Ä6·F–؇ë u¦’O¨0Â0Â4R¬ºˆÏq…E}Ȇ§h—¢h-¤^á_iB纟Kÿ~6ï áÛpÄÐÄvƒ¾§ƒ#rÌh;Ýñ¹t°2 :|ôxˆSÓ9¾S¶›ûá³oÏȹ?åÄí]ÜøyáÑMÝÕïI(²A­Qa‰§rh)×ò÷¤¹Ð‰"ø4ñ°Bg>/çÛ7öF,¸ÕâbAþû,‚èúheœÿHÛ£q}~[±×g”’°=‰‡Ô0‡á2Ÿ€ëx4FanøŽÇÔŠ»r™¼¯+“V5š€³¬v¶~n¦t<û˜"7*tÞË&Ùº$ˆö=`\³ÊÝHµlìÆ4€-¥ì“[Œß´Wš2ôj~ξ°¦ ›ëfGgù5†xrìò\9µî.!úôT"˜ W0!MœÉ lÈc ã$w., KÌWjʪMd¤ÿÅkKà! 4+Scs†M,e¢Éa­ ÆÆñôö:ÿ\•ˆ~ŸÆÓ,9ÈØTú마•š'Ù뇃OtÓrÜZ¯#ÕÔ*]ËɃ­;’¿•VšË•2">œÈä­ûlmO]ÐÏÁ9t6«ÌX$ƒ­ôÑL6çéƒÛ¬Ì|žeÏè*Ì~'+fíÒõÐííö[V¾Ê0dee”3ýWÒŠñ5me•½PÊÏû‹ü:úOÉ÷ÝØ·0è#{r7Á«¿?£;9¯’¿÷âl¾îÁõr>&åñ‰™“Xè1u¨ãFç!†ðƆV[µûÝó°¹ v´OòHë}V¾éùØC܉ÒÙÿo$™–ðЂcL®\\Ѳ0ëó˜ßlOG0.¼â5˜Û<ȵÝÊwÅõ=ÿnu'À:ÆÀ`¹]ý× ‘:ëŠ`ó ˆ2òçÆ2;Ám¯`*[|W,›ìÇS˜€wÊÐØù^ÇÆú&ݺ­›ØT¬ÏA‡ úyU@¿ï¸´}®(<GçÐShÀÝw]ˆSÓ¬¹Éf2‘XË! ¸HÎ'ÿ Ùo†Þ£›OȹðŠÉOî5±÷^jM¸ÔÏ>_4ÀKý×ÏkÊÌ··‰{ãwÓ”®§Šj]Se Pp¼³Ðhý^D )»å{eØÜ×:ÎÊ›ý‚Ø9µr–t IDAT…^È`Ðó^9ŸÄÀqÛwCªúök?K{Õo>à . %xã—q®…íK Ø[X&ü1ÆüEþ£|vÄ¥VkŽèîh•ËH¯ŸŸ‘çsÐŽ¦þŽDå£ríåO?ÎáO8PÃðEÞ¯2XoÛÊ1}¼8uRù½‡§|`Ù½\@RÛ®æ'[{©ÕVcŽœ /f ïñ ík•åî†Òˆ¿k} žP®xÏoôßß2P©T Þ" úh4‚ù|÷bcgt,1äÉwÊFö»üÆRÉðáOñ³Úð•¤dU2ò}¹ßLáK: ÚÆÊ -»^™`–›ÍÉbC„Á”Éyr¼ Ãç…rΦr“/9qYÚžÐ9¿ûˆE¾õMç:¦6æp¸® õW¿ûÝïM>:‚ßüæ7ðþ›¿‚~øáëïþÍßü üíßþíNßÕ Šq&Ÿ)޹µÔªªå8›ñ©æ7UT ?òͪÜ(*Æ.‡ù9ÌHPÁMm{ú߻Ǵ=rOGúþŠü£òº 9€ã8Ð 9: ý[ª©ÏÜ—éØ9Š"Ê–ÖL†TÛ‘¯ä’5É9ƒï´Í¸£”š02$-ô GëaÉÉ’2ÇíGger{bÜÞz1Óóõáí« p ‚³÷Rq;Ó§q§sñõšœ‰|Ó1]Y$ÿ>š¡çVÞ¥ð-þ¢M×Cª#¹Ñzox]j×i¾nÈŘä¬'à¦ïVj}õâö „½Ý&sYÊn­)|BlC´BBˆš<ð)âz»LÇùó4àCóå²êæc{{)]_¢÷µ//Arès rrôcsq^dÐ]–ê>\¤Æ{¯ˆ_dWÖÉŽt:/½KmJ’J°‰´¹˜¬é)¼X"gs7÷`ºfðˆ1Ïÿ|µRãf}a_òò‰on™¶q q™Æ€L–ØÓ^Ð… ƒ'ªùwéÕð7ä±Qé5@…9¤ã–ÛÅú¤üKb£8¨ä¼nžRhŒ1 yˆÖàx^ç}t²þÞDQ…§Å˜r³0ˆ¿¸/¿ËUÖç%~á®ÖÏ?o”!nJò5VÈÆëaŒÎ£rH¡G),3ÊI*Y_°P×ÇJW<¥ZeRq­_œ™jX¶*s¢÷î -#t éöGü¿¯jÙg;å³ò{Ux1¯=i .B-ß^”'ù1‚",yÚnµr¦ÿº¦ÆÅûíãÊÇ,fÑUó}ß»7äûŽ•#èt‘=9làÕ߯^çÄÎtŒ¸";ÃD”ùyUìÔlÛ†øízœÚBxÅ­SœÓ&ýT³Ž%¬ ç'´[ ;H›â|þlBO”Õâšt?DŸ­®bj-Z†ú©­dɲùs÷Ì›ÁWâ7[oÁ¾@ÎÓ‘³u®§Ëõ¸»"ž-Ô$wÛW»o2aÛ/ò$ÞPB¢S•7äÎ#EÇq[ÌìÆV¼âÿè˜Á]f}Cg@8<»Ÿ>ôé;-1È&šzæOØV?Mî\+—‚8–¦¼>-W°}Æ<Ÿ<âúWŽW1KÏ×ã·Z‰KÅŒ´˜.P^{"¢ófkä—?{*¾¯¨LâùE„CµMîÀšl¨i¦¶jJxXg¼ ýõð4è[æáE?×Ñ¶Ç 6yOí€öw¶›Yû«¾Êâá~aß{'Å1óíògXr_|[Vöƒ&‰Ïš©í‹ŽKæxsHø”õÏ·#"wC;»Eììã’³ ‡|±cÒºy€7 €à&ëÿÌû>$áæšŸÐ§}‹ªàÆÇX‹¹KûGâ¢j©Š›*ZÁÆ€:m³YÉyp± P2m¯7aŽzrGZàÀªÔpADŒöÁ]jwt0Z±SºOÖ™tX"ä^pM+/·[ñÁ¼@ûØ|„¹ùéY `y(/Ô&{W Ð÷‰ÀŠx±»cª¨‚G¼ö$¤ã§,#tæãÏùƽqU°VÛÞÐ%îuöïSI'!d†X+ýš®'ãä˜é#£ñØa.áí[:p¸Ö'\“%RŽî¾Í~WÉÈ¿«2îzeTäWY‡ušôÅ=”¼ õ*LðÚ¡£*ý¼7n 2B:¡VY¢GL¼=¨øô#Ò%¦Wœ¼6½â଻2Ua,"ƒŒ²Æsz»ÞaÙÜf‚ª “d÷‹ñm©´ã::È&,¼"Ù–M@õŽ LJí½Çõ¤ƒ’j‚d Ðpæ4Ž6>¯ëÐä6Ë‚kXpãgå9½€ƒRñô ¾„äB:ØÀ‘xä0G©BE‰¡e“ëa„’ý=PÀœæwëH©•ˆsf=pÝ(€ä¦|L)€;î!e#I/³²Z«0þäÂñ—N}g»Nö›Pí­ÌEŽ-´úõj@`ÑÜZf¸;*bM»89u"ôÜn:ñ±ÔdˆªœÕ‘aHÛ/Ë.–¯örÓ“¶ù9¬wvþ›K¼^ùžgáÞϰ§*‘…±™Oˆ±O]²SøÉÚŽPuöVƒHŸ€P À£{(™¸clä€dÓ6#À‰Ãâ3‰Wôî;°ŒŸ¡^Á)Ó¾@–‰ï’d¢¿ïÍ œp­'!MN+<²¸ú™Üs½±™lÛw›ªÇÜ¢s5-D¾-³4´ˆMaË]œ”ûÌÛ7 ¨MÚ¾}KFÜ0½¬ÿ2¹Í ÃcjMÇîQœ0fHœ,H°@t>jl.„«¸`k~¸I=?òOç¸;W¬mžÜx.¢Xd䬳?!ç!¦Ö„»Ýìóq­õ:ö£‘µÎ ØLCô.úIöœíù”Sy¼Ÿµ!’º{ î¯6åì=¿ðṉ Øc'²ô÷.1غ¼ÝâiŸ(?sh[iôüu ÚwÛИ?˜Ý§v–ýlìm|\€Šwø µ¦ãœû¦gä’|âÇõu¾ý4dc¼æå­ŒbŠjƒ}Ö÷/\bD#?þ bØ»o›Øp<¸yriXÀÍû èýðöPÜß½ì4Ì9“µÉͰ¢¯AèeÏÞ^|x±ïZL>ÐNA p–HOz(upn)Ll_î€w¤hðy'x ö¥ç¤r£Lí'ØÇ¡Ûà‘¼(zŽê3 ,mðšt–©ƒ3Ÿ<ÛFÕ*ùvýÃȧºžD÷°f’ëÔËÞû’Г2x•+ÇqÔ rß÷ Æ“Ï{G ´âíI´Sqs£³ñþ ’$!kp!»"À1#J¦Òy°çyÁŒ’gÈ—ßêá›ï+º ß²‰Î¡^'v6øwÿîßÁù/ÿÙÉwïà?ü‡ÿ5ñ 4´2üú׿]'6ê7¿ù |ø€|Þ@É0•Â!¡q7eÍVRn†9±í‹»€ìûòÁAC»ÍVÚÛ?”]YO”—pqêd'ö6×~¹ „z˜,Ó=Š ÑŠsÝ(оÊ.@v¨ÂŸôä… A>‰f™w:HžäñvEBO«.Màuâ÷ìéᵇH"œ¶×,Ñ~´¶$Ï1ïoþþ“ûâ`?R{0¿ËÚ˜¤[œK°˜$ ÎÐý¸1”yëdñ—V-ßfÌ#«À®#¹HļBöf9wßÐs &äÝ:lÖ6¨G=°Rr?[÷XÀC€ § ’§(×.Æ+¸©uwÕãõÅ~vÑgÿy>ÙjôDl¯rFO‚5ú”ªYÜr_WÁNå$>»¾9ä\ sVæ1{Î>ó “¾ÿÃÔf‡„T\‹VE¨ã Vì6­]?^Ÿ{»+›i8 Ù i™K,æ•n,³’ (¤çÂ0#Úâæza]`j<8<·©Ù8%â‰ì«îz,-³1ÔÇù{`ø¸„Ô˜–+*õ¶Ã+‘ÎTAm£w>Ö`ÙÉ·5l*ÖàSgÌ ñºµR>ióçH~…Â+Žäb¿ÁtCˆ-$K¬²¹éø“ÄÂ$µðÕ«íέË÷¶û=Ÿè‘! 3ªJG w ‰ßsŸ&8÷ÎvÃGšj7>]KãûȧêZ\Á´ÛGc߀«‘“Ê‘LŒîHjGЬÐÏÐz.•ד¢Ù{¿ß¥ï4H?LpÜ]íé T²ø)#‡p(¡XyVž‚\Ó êÇ«~µºŸMÐï±9[—*C\“tÀL53%]ú|ëj1^Yþ® Qo;¢\âfõ³²²ÂÚÒŽÉ ÕTì¹/úz,ún€#åǽ#•¶eIjœéQBâ˜78S¤»7ƒb`Òe5(¾Oß\«î(ù÷þ£q/ñ³X\lõ{áB‚ Û•¿ƒr*d§ÅMóN¹8F«âÍ!|Ô„L5 µÉù·¢[±5€½súûd-_7ý@PÍÖ—´ƒ.0©æb(ç߃ßͯM1&}'žó  ïd%Õ)/LPĬ\˜9C¥Ìíõc\Ó-T¡o]£J¦¼ÌªØ¨3‡*”Æèw¦ËâÅæÂ[bÒ3N£ÌúÄEŽÉK3·ëŒdešC\¸¸&˜vŽö¦¶ñ²ý,A¯ˆÅ‰_#‘àö†¾¹Úkúß=µØ‰Æ‹õXÞ”„60Íž eÐæ«*Ø=mð†ÃÑÿ\`\Ìõ†n1»M?'φ“²„žÁ ž®g^S΀Nм$kXÏK ÜÅIOÕ£Á„¡âÀ´\=ðYv˜ÉY@Á­l.ž-£ ÔqÁ$>Û!¤ó˜·änñ†u2³ ˆ,z¾‘û€½²FƘ¬[FŠ"BÎ$Ä&^ƒYjeI„ d‰XhÆX€Â:ðþj3!†ÕŠß/mîX\àâˆç¬ŽõÉ»ÉàV|àŽIRyŸ*÷™í&Í Yù/× ‡)=¯H÷Ud¸»°Ä€&Y4S+[ŸrÖŸ†Wtbv1% =Ó!»¯‘„ü³IôÖðozwúÚ$Uì™ß ÕÏpWÖ?+îædã g½e›hÙù÷Pn“Q«÷À¸ºÌîÆ(8­&ùÞXGv¨ÅÒ¬és>ŒÈÿ¤_¶ ˆ)ñ©_.N2½ù¬ãTÀ~; å ‰‹g?ìeÏbqƒYCäW7ûžÑ!MÈÑ”Í]¾R*ñ™,ÖÛˆ6O´âx ÌŸñ‘ë˹¿Æ¢€IÄ]€ÁÒÙ²`˜àäƒ1¥ B„|p§¾@÷ ®¡Y0…€Å5"ñÞU¶&9Ùo¹‰î!Àd\¹%Ã]¹ñÌ~¥aB>¤ïàË3yÙ¶DôÏIà©5¢ßk穤¨¸‘£ž,`´`/îÀéw»/u7bWr„ÎU«Ðkzìù}¾Ý]Ä •QöyèÂâñÌq~õÝ"‡ 7L‘TLdl‰pØL@³: E´NrˬŸÜK­éØ?Cö¨™´¿Iþ¸`«½=~Öß¿_ÒgÒ“¦›:_ü.JµËTg^((ðè‘’eYÐS>WJt앤*|, îgÏ·[zuû ÈEî/Nóm„É¢A,çÿõƒ·û¤î õ§%ÿ±~¸§á³ÿv)dÁý ­Çaiƽ÷G}‡“‚®NMNÙ\ˆ·ÍÝ'Š%ÅÇk3̘Lãñ| âCé›ß©¤`<øUi0†OM@:8Ìžÿôêùg]Mh›| ¼÷3…YÎfE}ûG¹OÏ+ò*½:4ÏžW¸è¼"w&Ê`ŒDc¡B}M!À–¶_ËFÙ\„—è<ïó˜=rw±´9µn¹Œ'^Fx*¬£ÜçÞà¡çuIö‚œu"ISƒÍÇ4æQqÁm>wRv“|Ç¡,C ™Ž Z\3NÉlñêÔž‚$XKîîŠ}&]²§Ùûø‹¿ø êßÿîïþÙ!y{žš"yqݰNÖoTë¶¼>îŒ-Ú”6Ä©uî“J¥5 Îuw#, À€Ö@ÍUáÍvÓãü§ôWBÓÓëX–…WcÙ%ug=k×ósÏ Èæš‘ÒØúsfÎTôPØÂ–’s•«Åß2Ï[©Üd\˜ywkg?§©ÀTJPó ¿Rj:ÿ,eêf%CéäË¥MÝg&Öq³þÞQL[÷ÖûƉaþ}|ß+E²-—Ë_I´·¸IRÖÈ;ñ“÷›—5KÙÏ9ë)YÝÎ^{¾Õn6wzüÑóÒ¯S4TÌzoŽô§ŠI<ƒƒêán@ì”_X°¨¡û‘öYX†tÞ"0űԨ¼}nà» ~·„ Kpê ,ð¤¾ë©53§/tÇœM.Æ}‹Ô]VR8o½ªA)Ù® ¾Œˆmžã­e:Þbáû%ä“}c ï—àØÜß™^VVVãÖ騤r˜Í_¼ øåròº˜˜þçÕüæÔVjýúÕG:^Ô»>”µü§ŠÙ…x³<ö]âÄ:ñ§Ž „dÿåâx<}Ù›0Pãé2XÏÿŽ‹¬¯›¯LT‹\Û—,Y«’œ€ñSVÎm 鹟šÞôÄû0Qeï\èóO;=gePÜÀ…Ûéu¯œe ŒLþFïý/ä¹qCdjØ*×?Õs FT‹KtWAjäu~Mq¡![¡õhÒkó4ßi,ú+òà°Œžm¯ÒÁ1ÒÓÑ<+ŸÚw»7p Íâøæ¯`tËèÞ˜ ~. Åì ¿jÅg.´?S6<á! ã•kgñ=<8ëë=¶ƒá~n â.³@÷lc¿-i'PMbhÔ\×K=°Ãõ*¦DìÛ#„Ô@Í÷ïaé~»³ïÓ6÷É^‚Ôì@²²)1:¤É«ª¶e¶¹ÞY‘‹I‰«ï,+S…ÄÐæåvMG¡N”'©Øú–‹ü¼á—'ÛÅ«ž–ËV²ø5#Ðö/ {?,©Ð¨®¬ÿ^‰/ožg;­ 'Òýí›X«ÂÞv6O.¶ùÇÂ8ÜÒå°»™,¹§·Át8meeD­’XQªdñ7cy»Õ3Çíí°žpâ›ÐòG­hù±{ÅßÀsH¸ïN¬m5Ƚ ‘½žß¢wµÚ“—¤—óékmŽ”ÕOmʧòwÄönùËgmÆa¹²‹Þm¦¯l—\Ðq“X Jmxs,‚\G¾ç¸SìƒJ˜tySËŸTáñÓA × JÂ8{wò^è Ñ+aSF@@)‡dÑc²ælŸvÄçuìLCTÅ´£:®£;3ŸHpÄ©ô;,>¦dªîct•½IZOlaR+F«ÇDG¥~&[J½ÝEœuËϘà¬tR4‰^ê§t±pà €ä°)Â-ÀŒÁuÖwùvH“·/ì»+ë¼õÓ#¤ Pz(ž2*ù…š£‘ƒ‘}ŸEJô=*ŽXè{íDÁ’TLœÑœ`‰ÛÏŸüÓPhwvëæ-õà¥~Æ@ƒ ³A ‰9Ϊt ãDÑ+“ß±“;¨ý"{§¾ÜÆþ˜>·ÃÓb Û[!“–:'ù6O(™›W _½i¥•øÀÖd~f^,&”ò‰ βuq²¾;éÖ]Âaù5H•| O…É‹¼G"n¿YÆ{õa0-R=ŸË¾o¨’;Õ– ÒlƒÖ܃ñde,?¨p˜Ó4"·‘ŒÌ†eøñ:ëO#…öï1}¯Qy=(Uõ›`_"Ôϸ"äNÇ]Ë~qBkÞ£)|eaH'b³ÑnS†¾/çƒ.ŠpŸü,é4Ö!öŸ·~5ôIrµZÐŒ‡(‰¾ܽP»'ÛÇ1H‘W·JîVÁÅÚùÝ ¿G¾ËùHß§rð|=}?ß~blËò‹.ZBCÖÉþµ¥ŒAà_ÌÆ\õw'$~ôHlý£1…?ÅÏØøÉg¯ý¢Ÿû~†döÒ!9¨~ ~ÓgN]dïJ•oXù[’±LïNÖ¹.Œ$á Å {5…ÄìÚˆÜYE"±É.ò™Ñn ÍƒÀžÎB´²N˽ŸAØÌ×w¯<øáù“G+>ƒ” ;(¡xì¤ÄCKD÷9¼Œ¾YF"A…?õ7ËõæŸm—{—ú[Ïm&¾zKç{¬[†§œ‡§ò³’»ܬ´Äke…'úòæk±Tá[Î*W\¬¯Ve¸ÇMZBÇj\)ß¾JZ>Éln`D$öU}ôÏ~¥ ¥T¡^YùXåË„T\h_DÚWlàÝ»w Èäì~ûÛßRd˜M?qNÃDœÓtùPÚ<ÑÆõž êo?Mîñ)›³¨ªJùõá0ŸèÁ+ù:ç§høüq±Þ[@l±ÐëÀ‡rŸÞŠ1Hn%ŠÀa‚‹-  ‹ÓÁRélw[Ñ'y`G+°ÿýçù—ÙÊ[>¡Ïð÷÷ÛÙfjâóbÍÎ/¢KÂÜÔtþZ nÙ¯qÔ})yÃ0¨i„TìtçÁ¾”õ÷²GbZqP\ÔoèH‡=Ï£ô/î³vBEPS«áÜÅ¢6&…Å…x5µŠ³/¼ÌúsÇÏÊó_þå_¿ý·ÿ–šnøåçý£ÿôŸþS«}üÿé?ýßÀ„4Ñ  Ü$Ý dÛÏkN©ç þ¯ƒ±­î„‰¥s¿ 5„±A;]’‰÷à.ña‰§H]a²C‡-Ö÷ù|ž²çH6_ËÅ“(Û)2YI!9·öÉBó-ÌftCTeˆÈëX@´ÿ„'Ì rqͤ„}bke¢¬—93…Uþ8CúÞ¡9fˆð& H'.—4޶÷ƒÚY|‡è¹Ô``ÜàAsLâ±ôâ¸kiÓñ„8JRyýú3ühÿ–`f¹µr†Rp\>N&H"tßi`Ř›è\ŽjPñ¤¾“z6?Ÿüaå¤86ÖxPSÓ+c Ll+“ht—W§ ¶¹7ÁZi¨Œð¤@AoÂ÷åXŒÇ$®)[»MWL~8'¶dá‘æÏ2ÁÞàWNßdã㥙yZònùLW":éJDnt‰ãÇÖ·¯:òb#Ÿ4ô½ãéóÈýOÒˆú÷Q™UqA<'ïÃâ:Tµ`¢Z¹`ÚÕAc»©°l‰‡ÆÂ¦ÝƒîõLwø‘ÜSgwBz8¤ív¯ä2 ‰ƒÎñÁ5 ã?£ä4Dê'ßÁ©|e݆ó3Cµ¬”|ŸäÛNÕ¤íJÉ¡ußÍœQáŠc±V5gjþ=s=~²‘âƒí8 «åž‚ðeÑG9òÐ(–óßÛ›I—nî÷%ZöíÙîî$Õ½Ôjg(ÖÆÄ'öyl/ù ö׊Qܬä ÌÜHniÎE$ÓzhúÅþ;Á¹13™ÁnçÀvˆü9!}à‘Oû·£ý¬¿ón6c=çY=íG©ÿV}³°ÜñƒZ5ë륰q=xö÷ºVÖ†è壭ÿ¾nö|ƒÈù|`ÅQ­TcócÜßé¹Ï›:ðý'òýö2?‡˜Ýgÿ{{Où$„êzן¬Ý·™Æ"²©×áf;“7L¾Þÿ©KÈÞ–7Öͳ΅Åݸfô¼‰Ü­ÎÃ1åçj~Ž}ˆ‹|¬·0À¶/¢ßM8”jØôyEÈ¿8xE ýeÅTRÞù-!Ž@l«®e?£}Æ}³ŽpþÔŠ%e¾Ù© ô³çXíòëÿƘÝÂ‡Ï Ð‚î‹Çh®Gç½ýíT”º¿'CÕ%g2çãPjyÇ)Ýžpùö.Px…6…þf´µfB\U÷AçÖÛUçã5ØEfÚUÎ5lÂÕµ{{{ðæ-!ºÜÜÜÀO?ý´½ H5L<ùꌫ(ô]øzHÃCÏ–ÄpÝl>~çåOßëeÁYMÓ@.qyIþVäÂÇ„v±ÎŸÀ³ÖÇÕ´ÄØ„ׄ:Êõ÷°zßÞÞRñ} çö &Ä{Ñ5ü)~Ê|6äºùyàÀLa/]¬Ûí|8“r­µfq6a ø³r®ñö1ÂýJ#"ŸjüEÛÅ)³T³JY).1 oÏ¿'7›’q“ÃÍöÓë ß“¬•nR+B-Ë‚é”Ø‡££#à8ÞTU8:¢uG5cà8öSùüt:…Ï·ë'dûÄ)BegêÜ霃ùð=<½_OÄ‘WHïÿäŸüøWÿê_QE«¯ºukÇqðÏþÙ?ƒ_þò—_ÿûßüÍßÀÿ󷿇àŽÄXÝœÆ]Çiî$ÿc‡ØˆGÈ™ä% œ#œÝN‘d¥Æ«b]#»,ãzOY¡ŸÇk­'xxS6á$Em‰û`/òI[ŽŠd3ÂñfiAëÙØ rVÕ¶#5~±}C^òäB+Îâl—^ æØ»JÁ”b-µÎ¶Ò¤ñ.vÁ¼!5ŸJ"<[Þ–³ð5:ëî‘;ÿáJʯðãüÂztQŒÍ= l0¯v'¤ùèñš<ÍJí›tΞ0àÉôgcmÖ³z¸¸§ ²I…ä”,Æ–{n‹àˆ¼­e‹•àqlüÏ^¬ÇúDgD‰Üw¬ûÈÞ>Æ|Mβamš”=JvÛ.À·7µö¥íÇð©B{¥¶»Œ2J­Í d• ^˜oó ÊÒËÅâbÓƒ lÁO°`.8è;œ¥j$O "7‹}= ¨çä¹f>bBj(ñª ïk%øl9,é³iTòýPIÈÇôöÛ*„<}׋ÀGì!þ¼ÙŽÊöʦ¼ÁÜs$Ê>Œ¯Løþ˜œÅä2›k׌|2sÿQÝ&940ÙóqeRµ' ¹­c¦ç©7®{lßeÏQpiÙWj*tðÊô›€~f/µž|ö?È?/ ÖûMËwCõ|{w&#ܘ…õÓMkÒ10G+|\Á„‰¹>? Hî•4jð‹•¦™'ï3És8ã|²¤;x„C±xè ‡WgÇÁÇ$æìr„Žë­Œ &ðûfk–â Íùö‡~Òkeuot‹|V8_?½pt¿{ó­÷@tÃâ‘<0ö¼ÿ‚7®Iÿ¤“œ8*Á‹tbi“Ny–ø0ÁT ìöÀcˆ<*å|<¹v €¿ÈÚ“jƒØÄw•í1/ûÃŒU¢¿?á7ç©Õ$›£,0i»ËÀᆡ¼[³ÁÍÄùÔÝùý~ ld×›çY»R9€ZµØ3¥Íù±sY°1ÌͯíÅÔó|y¬ŒÑ;Öõ5òð8åë4Ž äSÚ'I<’±ƒ áÜÔ…blÕ¸w`bÒwì§âM¤ó<7ÅšÛcÂÆóOJ]ú™"‰~?ˆâ…¡O~/áòceg {•|Y°¸“¬ÝœïÎqHR<6ÓØƒ*¿ž#W(™!/‚°—=¸Ê Ž% RÞ©AW“œ•¶J >–ßA]²áëB‚œqõ$xãrbž·9…\ù6zKáó-}a^ƒbÍÖ@;EÊàø3pÖLŸòî}&Û‘˜•Õ4Êkt¢7¿¥PEBÒâw+ÞÕsæ ¸OH3°R]„冕ØVŸ"lœ¿&Á¶X*vœÝ·$abðR H¹2íÝ1hJf~°Î1Yçt’Kû’@ïóˆåæëâgJ|d®ÇùF<Ìa-$»l}‰×w…Ÿ5³ÆhVJ`´ÜNIC÷r=5ÿýÖ2`D´^>Íóƒ#uFúÏlWX,Ñ{ xµføŒÚop› ˆD}EÞÜõÀ^á¡ò]ŒÁò‘cAWزðv¼ûHò¯¶Ì¡ Ë“0}$²9…|P› _~ž1@kIßã[Ü%ðñK÷ݯÙ"©l’ ¬ÑF¶7²»`ד@ú˜èÄGi°#«CìÞñˆ¦í‚o£ó Ê"T¿',ø;—NÐ4 èF©U¨‚²€ø6s¼ÜŒÎEЖdاõ@û;íq›ÞÈ% ÚÞm‚oÈÔ^侇ä<ÍRö½œ‡?ÎbQ@:Ï´Ÿ{ÈaGذ=nëèïÃZÖF‹'Ïïfô/IY”W&¡18ïlg'õÍ…Û¦Ÿs±(Öçns§È|åL+æó|”!9;¯B)Fv 2%Anw$ìúèŠõa«8ÀÃëÀ^Ÿ€QAÁ!{x ÒœŽc¤Ô˜‘6žî[oåë<7²Àp0b:7D$³‚½è›wÏ–‹óS1ç¼_Žà:_öÁ»Ä~VÌÊNg禔šÀ¢Ò~a/51ÐtÖ?[i˜gcÎyöóWñ¤TmÉ’ÙÏ%¼¦»j烳æ‰[½k؉ Ã¡X]«Ð¾B;øôV:÷®nð›J1¢1³"h>ÍÀä¾ùîºÕíAO¿œ%ð~¸&zåÜ>ÁaŒì»Ü>‘ül¡ØK yX¨,5©˜e[/jÓý)ög~1ÀnᵡEt_ò'™­?'Ïg Tcе2ÔÞ>?~+õP¼Ã­'9+ž~5ç`vþ>õŒLE¹u?oÿ‡ÏãÿÁq…U¯ľô×tÆÄÔ¸gÛЇAq\+â˜R­/&W”íüqiåcÊÇd¢º›Z])6Éó·ðwx ö§10Ò1–Ù-Vr¤ì…fñg˜Sd¿¬~ ~°ûd§…e‚es`W7Ÿß@öv¯öüCŠº‰È¸(FësÄÎéµ#xû*e·“äÙßϕ肠dAðp½Ëo²+RjÕ^½šß0òh½h¤&~ú@Þ·d'àÆxUg—Žsí ’ÛÆ€âÏJR‚ŠPoõóíÉÞ0 ¿9éÊêçd˜%žè üãü©ÿþŸÿóað3m7bÿžž?¡N?ÝI¡mµÀ¹ 9Ø9`~Yl?ÅõSMf©¼OUUèu©õâââëºeLù=’[q㬟ÒÏ_ƒXÙ¬0VHH'€ïûðé!1t»]h”èMíÊ? w:Ùnâ©ehàÇ›Iâƒ>¹·eXƒ»ËìÙjB– ÓÒ騰rT°¼96Lr\+ÿ”ZK'`[ЈõT,q{ìöE³ƒ•FÄð IÙë|,Nd§”}qbòÏK{}èÝ;ÒHhY<¤ðÚUYþòscѹÚçGtôû .*õèLS+B¨<ðÍ›â©w <õ»ï¾£žÑßÐ@Ðîê°LMœc4@.Ö»z5‚£Æÿ ½ï«°¼ô`¹ ¶‡‰óýÃ0ð¿ÿå/ ×#븹¦R©À¯ýk¨Õˆ.þæ7¿K;Ÿ4Å_£aƒ¹Øn%g’$Д‰~ïA67©º:ÛÛ¹‹§Â)ªõœ¢¥ã‘sjrÈŽ19ÇétºÕ:ø›_³Ðâ8) Cøü™ÄµZ t]‡n¡:kÏmí¹²M¨ù6˜¥|=h–zPÖèÌ_YyW9 uÅÃíê@¦ä‚öÁÓªñv•,,ùOF´|¾;Cçá|©÷”LëÃæøRGŸYú²Ž.ÈÞ“¢|7pI\'/ˆlz1JÇ3ŒNb3e^@°²ž¿ñéIà¶³ú&²Ð*%7éßá1YÉܰÎV>ûv’«/8P®íƒ8Ì×yx"ἪwqšoC¸óbl®×Q@;¥IS/‡„Õ_€$M@ÖP=&½ØcÁ!,zÊl&ÔW[b•¬ºÀ€ÒÈÑÉrqþ«ÐYÆj§ðL[vú}ðRÓ˜¬¾Uçº)9^'t÷òõÅÍÌüCV†¯ï0n˜ˆà„7PUc°>Ó~L¯~g+g5Q´C\ñôÈÀŸò'ìH¥oÛV`1ˆ|~²¯2q*>VY*ðîhƒò[úk¸Fr1¿…£$X@ϧýS òccÉo&{U‘¡TöS±N Z9+ÿœ´žtɇù›$„ùöþûôX±´>·vúlƒ½àO®k®ljœeïRêec·0Br°\O-óh}¶>N`/d€íV§Ÿ ‰`çÄ+‡ëÏ2di¿qŒ·W?#Ÿ'JÄÕþ¼ —ãäpåêf¼àé&€Î’ÆÊ.]tGnˆó]º©dm—³K¾œ!ò`ôo‘Ù'5ôùÅŒ¨¸á¯Ã÷R~Ž4›XþX ¡ÔY¿9âcú°` ºfͧH¶-)?ï°}Ÿ ëqS5Õ¤2Y1<ÂødÓÄÌ`l9À0 TVHÕÜÑ1„3øêúáQ­ƒÝÉMâ~V7å¾ÿ‚7®˜éeÖ‰*9×Ų“ßó5æŸÞgsd mFÉÇ5%µ e"|FWhY’Ö4Ø(oé¦gÙ‡§x÷©“ËKò7QÙŸ¶S~dÀÜ)ÆŠ–Þ,ì(ªÕJ–º¹ów‡š ob×ÄõDÿY`€‹ŸQŸ8¬ÁzŸì9Žw«7=¢#ý•iÜVs÷a ž`«²[ X:W â.ý@†'ƒ¾ß¥Ö„—úÑÅ ü±8—ÖY¡Ýu@[ þšÇ¹ˆèn¿eç7nÍd§úî-DÕÝ8ãø"“Øk­†ž‰_ ÝäcÚo÷•DâÛìT©ÍO0ÍƆcZÁ™$Ww ®ÓÁÇicûËè6Ö+­ŸÒÄÝOᣗ rÊàÀ«#¬k<ÕeI”s1¤ÀðÎY¨Á¤VœÜ‹”»Mò¹5hCì‰m¨ªåg ¯”sª0TR]îÉʇ%›-|W˜lüÉ@9& ¬Æ,|(9’ŽêÒ*>±„ G e±81ßçIÒÑQ¶ÂLŒ;8Y1pV©б™]!¥:š‚R6‘óbsÊxM”pF’KÏ¡å‘M: †!Ü>ÁŸô§•A><]û;SQ‚*°`‰LY ªÕü½¸&€ (8XdÏ­úúÂg·SÜE¯â5R1ä©nõù ɇWº:[°oKŸÍj‡/z/UØžàÊZ÷ë︥xV à‡%(Ð0™cÙÏ?!ɉ¿JÄÏ휵mñ+wÞz VÑéw¯°|ÆñîCÈÖ-(x‚ŽÄ¢xÄMϵ*Ê’„ØPÆ@•M(¹•i§Ç þÝb;)N?¤¨Ð\"P`± cÎ0ÌŸl÷ÕLø\°¶&Ðן›°ìdþÛÛ¢WòQx¥³³,þ¼ˆL[q¾<}œ@P¨cöB+ú(@j2/·@Db¦V¬7Qi¢‹ÁK¼¶!J^nÍe4£É«¶øòçr$OÞyš?ó¬}¿W ')’}—?ßê3÷v˜öÐÞPx1ÆïAO‘ƒnïæ0xzùiÆÒJ×´¯"ÌÁÿŒÎGjŸò?1Ð7ž×œ;»=³VǤŒ. BIy‘w¼y`­Leøqn€çwpüC°ŠÀ^ìl^ !{ß+²ï”0›  ›ïS¢€V€®÷gà‹%Ä3°Ÿ¿^½:ÛÜä×Ïáþs–¼ñÞœÀë·è}½›õ ³rNr[HüiùùñÖЮÊ|SG 'õ•ÕÏL{} ö«_ý :â{þëý¯ðÛÁjæn뻓Ԥ‡Ë••¨®µÕf3‚OC ¾ û¸ØÇ†!°+“èùy?(íçÛ9CÉÚá7j...¶>cY$çä Ùx`<Së–smT¤;ߎ¬rçÛaš&Ü_“"øÑÑT*`àÉय़òÆ0ßHÆÉÁó„f~ãÏ¿ûýºóñÝfŒ) è\é‘86¹.Æ´¹ù§^¥^Õ+/žGìòh, .fß³×UÁuà˜ÙzŒŽ»œ”z&çCñ)K]†ƒ7ËÆ~ÌŸˆ£my%…oñÁóò¾Dlê#‡âàpŸ®Ý>Jc89DßåTeùc˜/X¨¼ÊÆÂ}ƒS\7âR“”žÄ)É’¶³¦¬@o/ÿlCóù˜ÿ¬ §u©N€ï¸ª&œÃñÞæ;<_C<šè…–ËÍŸcÍ6ŸÛþ> æ2+ÿ‘Kl'·Ò=åÇ5öçüjÖ[Ëüé¥fƒ·F¦à‰+g´¾ùƸÛüÎ<‹d_OgtìüéÒƒÊdÇ£Ön ‡µ6²u>Æpƒq6WNÙÆ{>ÎÏ õïh²ÔØ@6ùÿ#îMcd×îûÀ_±HYd««ºº«÷í®o‰í‘mÅ£A”ñh gF‰­“± DÞ%Oàñ3²ãŠå81¶"+˜˜/AÖbOFlò,?+%ï½»ô½½ï]K‹d±¸Ö|8|÷ðÉZú^yøåÞî®"Ïù¯¿ÿ¶=ÏÃæÙïœzl"S!ž—6¨þ° Rø°%•ÎÓc ùí—¢s»Ô_KÒAe§ -Ÿžö„ʉëË"Z&¥?U¬âð-Vï«v¶î\ˆ (ucëVïpqbÎ Þ=r ÓŽè²,ãùÕF¬CéÂ"¥­@õÑ6ÙI˜W1ÈË™%üœÏè¢Ùfñ@Sbéúù5ÅÁÌ3²6·9[S‡bŸÚ9úþ»ÔOï{P8ºn- ú^[OÆyÄÅ$.é5Ó›tTî¾McÈ"XZy–ŸP” >£÷«°rdÅÀ`n{ÊârNq°ÄMñÛ%7ò½Ò¿ã×5Tä¤]Ø–ƒH—!púFZÁÁJ~XRfo89wÊõJe*/Wœ<Õ©üz>h¢­F ‚æ RÔ•1X±Ñu³m绵WÕ¦…ÜÅË®® ;îxÿ´±&F~ÏHÓ¡.±iöLÖ¦Û5“ç,Dlp:»Q>JâæA´'o¬±t6—Kê¹ÞÓt]Öå(fé8ɵèΫ›"5Ëe̳þ€_!ºÌ‘¨¼¼Ó 2›:°u‡mHÔÞØÈ{cšã v óÜ*øjÒ?ôKoÙu6 \ûÒ·N’~ôóX›ôò]T·“ÄŧЀ¤ËßÐ öÍÖ´¨Ñ¬Vq¯À ¬÷Dz€ºÉa¯í ¢P»´À“ k„ÙW‹³ »ùô –T&÷[×6“ß1Ò&¶Ÿ`è¦T~vJ”>«d¸kúyû)š”pº ü]m'@ìßàBÜ/Σäµa©ä—1xû6¶ËÓu-q¼È™áXNºÕÖÚ(Å:•2Úï^¬ zzi¢–RÙ¯Ž€!Ý(í^!™LYº[„/'»ÎÝgëíb¡8Þ¨US*ù Œ?†ñŠéY×ÂB îQv¥IJ ýÀuwà"F÷ôÛïÞ£ûvÐ3#°Ž=ç¶ØŒ  ÙŸá”ˆ|-é¥eDØ¿€¦š‡Ù•çÑg±LxM÷XágËDž#€÷ªWG9¤4sé_ ±8>gÏš¾Ýò£GMtùd€¡62^ÈÇ"8$˜íJ’_/ Iãw1OÓÉÏìj"=Ø! É™#YتŠú‹Et Š\ºD.”…ñ—ü~pgH”\)¥’/p©ƒWÄø=ˆîÖ©èq¬,Ï«##¶¯,Ü m8±¤nIÔ¡úÙ†y IDAT†ÇåäÈ”Þcjô5®é½Ô-jðÝD L'c:’}p ¯òâòì{/ óF*Â<"[J]ÀêMÇ¿‹:d‚Gu]Û$²´àÒûXb a3DÞ§r¶ë±†¡ç 0xëKÀ ï¡}bŒáÓýºl±ò´[LwÞ#q¸AŽì±§¥µ;.n®mðý"<.,ÑZ1'ÿ­ØëEÉJcrG¹÷;#Úûéï~éœ÷“û®€µù|Ü¡4Ñt}ry f¨âNdï®Äº½åóÉ÷.­«èõ] BbH~’Ÿ…Úô@wëö14èÿsír6ð±þ~‡íc©ÄÚF<Ï-OÀ7‰ìÞz½Œ;Ët͹X§bA.'Wº±–ÐáÅtY΃¹Á+‘Å*—NO÷*/Ýé|¶ápú‰Ai Ý •Áyú`g”A çzùÜlÉ4v¯ÏKÊõŽYB~.½ ÍeáåÏ„7'óÁR sâ¯ZSß;'[ÍŒ¨Ì·“çt“BÒ®~…oÄõ^”Ü{Ö6¡Í¿Æüm}­‚ťȧ;­«qux*§˜ÅÎH„IléÂZÌ¿3kXÌÝ.IF‰ îD}ú –Q(¿Ò}ÝÙ¶ nÐ<ÐÑß'þû1»Ü)Ÿâ”<8¡#RÓLOJ±b@¹Ãé‘ âq!ë÷”¤\ìuÑ–ØõªTÆ—'Û¹(éÆéªßË®ÄV¾ö¡-+–¨øZ™â …ÙÉ=Û_Ðæ¡– £Ä|>–ç e˜5²¿Æ ÎÙMö<Œp­^¯ã{¾ç{(ø>¾øÅ/Âqf æbãÑ‹Ât4¿´Em“{¥‡ÙøWD)^Ÿ}·…jÒ'úЇ>Dí•~ï>É–Y\9Ý62b]É+Ñ—åétòþÏÿ=“®ó;¾ã; (IžhæEt{C»£ì ÏE|É%;l¨âȨj#‰¹Ì ”—í’ 5*‘ªó´{ô}]qö ú÷s’*ýìîGB7»›´~ó§ý‘Žœñ÷º§^˽‡%&áýYÔÙÜ E¬ª+ÙòdŽõZÿ%I—KKX[¦rÿÿøÑï§……®A ˆ ê¶é;º)²(ïUç‰iÛ6Þzë-æÙñ1ÊY×êê*––(þóÖ[oÁªMßåÚº³yþl‰fæ :öΞgê±F×U勨ïY XìùÃþ0¾ÿû¿ÿÅÏ»»»øÕð¹Ôä&E¢ÏÐßÝC!ªF”£$I’^tc‡°, a~«ª„pÚÓÙ¤Z?eB„m3]']—¾¸Ä¿“ܤíbNOÓñ¯C~/äû+ÓÉⵕûûû¸hRÙ÷|€IT€mñnt–ß».!:T—·ýªr†«[ÑØØµ—à r›µ—^£`wm½³> ëÙ±š5_Æî!ÅóÔXGœBT¸?·}gp†^'¹Çó•)Å›lßda)]O)&ù>^Bl¥ë§rN€,“ýåG­ÌV2Éðø]rÏã~kæ½ÓOs8;`uôšÈÚÙ’Ee@]¥¸å]aþU ß©üô£©kâtQω<æÖ'ë$ßM\ÉîNóN7í9lð_Š¡äû4¸j¸³ù„ Ý${Íé»[*½éGcªcÆûúcºÃµÆ4–ð=NÈÏå ݪèyã÷e­Ýˆ¤ôŽ…gÝ$þÊY'0IÛÁ: 6QNaÏ©l÷Ñk%erûÔ_n¤èìéü£÷aî;l!bÔ¾!2u`&÷p/*žòZ4ntÇÓÅÐJvM®i+¸´sP”lZð. -¨sdßÄ‹d¼ÚM‰%í7 tJI}ü^›ÅšóK›”¶šQRÊóç(ÞIÇT…èµö¾…faºsÓ¯»(-ï ¥¸Œ’P¬€•ïBh²>º¶6]3““§}x¶ {޵ÑîF]›û”Ÿt—µ¡OüñI'¢,à” qÎï&uââí ïOu?µ]oþ[&Ùíé(s8¹äY(‘š@}ä§õOؽ•flÞ{à p®?‡ÝNÚ Åpr¬hå 'šþ¶Ðèc^eåàúžƒ)SÝÙÞÃáÑø$Ñ+~z¬›–Öˆžtç8„7eli»³VN÷«öŸ³yýÕÊöøkë€æ5èϟñ*¨×Ø=ëõ]<¶tœ_ç1ñf,M]!kë”¶*ýÉØ\¿HyQÛ~ú‰ml…—–ƒýXÌéýB‹üó8©¿Õº–Í|z²hï}Úâ ý†aeHh¦`EzÓ0GtGšIÈÆt1+9šÎpf¡f“÷Zlh$V6U£1Ô—Îs”c™ Aza‹(pm–ÎïkuäÏȳîHuÔL²ažõQÌA‘ØÎç¹$=š•£f]Áp…Ø —F‹ Dîðm+ÂRé½Ý~ÆÉùˆßÃîU¯B¾·£²6Ý=u!’Kä ÅY×=}¿?ÏʉßD^#2]2Ú(I㻃 kéç:¸R1è(^}qBGkC¦³\F"âúf2>Ðp v’ï}fÈy˜m‚kvóÑÔßÕùÛy‚C•2 ûƒsxò<ñ †”^Ô@ ”äC®«ÂÍ»“›Ã7âºtÓR©I ¥úV -i~y ðïqÜ%çâ*ÙNî®1¾r#†ÛšCò¹baÝ]3rÈÚëæáȈâwß_Å»¼DÎÆíU##U:×Âûg¦÷:Ù÷jðK÷xG™>ùò»eTüW;®±1¦£V5VårùŒœ£sê¿–‹›ƒÜÀ~NdHµDeHCô*9ô<*39.]öêj?Š‚ÖÝ“ ô‘ÜÓ^,YVrC ¸$XrÒ"Š20Y…i/*˜ËÉŽ ­yÇ×·ÚëòÃÕ˜±“nÏE Lkc:-ojðÕô¤Ï |û±aÀ®ÉŒÔ±C§Qu¤R¦«éŽJ¹Iîéï'“öjj ¸Ñƒ«sxú·œÉêX÷`^“÷TåzRRÊ(©ú*Y“uÁÅn~i¦}‘C Ôiâtº*C"Cªj²S†ërZ–sÙF­¶ISµ-þBXÁð°ûøŽB9è·¢‰Ë]Â÷Vî …\ƒ“g³ÑTNœ–'ç5FÿäÊd[«Ä×DïÙ˜gAóJ?êÎqîK!7)[’’um–‡7«"æÈg„”êS}^Á¾Eõ5šˆsáº3‡é]™|î»Uþ#c7‹¼ÓZÈÚåŒ<‰õj9ÅÉ×1Œùzž]O¤Óm¹(ÂmÒ½pÛ͉çñdŠQh¹=§a-=Éï]´ÜéLÿмÏ|lœ˜Ô ˜—¡ ¦ãO¯1>¡hÐ !òž_Ûè„pKKøÿó*«|ƾL.2yÞ#taœ`›Mäfì²RéÎÖõXy£w(=¬DöÕ²V†‘oÎô¹<ŸèVEä¬1ÆÆyù_­òÝ_|¹‘AØô¹+ÊÓs9 $²‚MÔˆ0۷Gú¼mÒŠî×£äÞ•  äÕÙŠœò‘—½ˆü¨ WRP+ÿŠ Ñ‹Ã«÷Ú—ë>èj¬Ý‘Öï,êýÑÅ·¾ù¿û¿ÿàwñoÿí¿MʇkÊCÚ;pJD·ÙQ’ªªLáâåEz”B-»ðîÚKW¼%ƒÈ¿««+ÇÕ'˜A ^DÖ¿ãF ¾úÕ¯²:Ò&‰Buºæ\¬€ÄŠü®ápˆßÿýß§|%ŠøÀ>yÂÈ8±fqˆs•Gïê^ÚtðªÔŸªñtÝíéÏ囤ð¥¤ì6÷Óñ»œ=CáÑœ‚òÊxÛÏ8iâÞflÚD?™d¼(ÝCAZA¹Jt{¯—îŸî•\ì™ø œš×“¶Ä"[€k`°8{¡ƒ:ŸŒ‘4vÈYhÞìÉÚê+[·³í*¡ ~‘ÊÍvŒ—ýS"ùäyôxgã4·î”ah9„yÖ¬lMö—NÏÈ9ØFoVv`ÇFÍór7sZ.ta ãcš%1iƒZçÉó|tIlµ\½¾Ãêɦ®á¢÷×öÁˆ]˜”×VÙƒíìNµï–>™'Z­dLsÞoƒœ nr±ÄK÷kKÊBºmÞl–Î+µª‚»•$]vV°®Í½*ÑsŽáÞ×\21·œ2©©¶šN÷Îülä*o²…4'vv¼.7¦ƒt?7¾àER“{¸#‹±uÓ¸I¾’ä÷}3@;êlœSÒ“cò„ÂÚK nJ¢´˜KÚ®—P5’úøA‰ÅöÛ„Æ |œYa¤+ôÓgI¹YÛVPw¨ý+h6º¡÷|Žò_¡ÛGN >Ê4D#»©äY9‘÷EèsD)6–º,jí twý☂8ž£&ÛJÌy·Æ«ð/Æci+°Qy=Û÷6³s ZR†¬j<Ê•äØh­^…ëz¶£-½˜>ðìšÚ VaT”£{„7%^Áæá/Ýdid’—k¶²ùb.”P¾¹–ô›úÜäDo÷8ÄIT™Òe™§­À¹JbíÅ;el¦è¢ç:ÙG[?Æ¢OxÍ “>M$HSYÙÂÍQYÉ7‰n™“ÓctÛwXù­ ËèÉé2ýY4HÙ¢y Ú;ˆ‡Æ¼ÑßËÜ:*–är9Ø%ªÿÎOFüÑËst‹Óas­wéy)\¼8¾èÅÓ9Åþ ºô¦‰¢ÌÒzqDÿ}Àœ FlƤ*-G2Â'ôë„øF]b#«ïÙ&9¯yJáTG£ÀÊΜ7¾9Šb³².X!ÏÒ|B›Þ‘Mè`XJÇh–‡ãm +fÒ4J”¯òKQLuXÀ»QÑ»X¬B™M\[ã§–X!y× ëÚ’+3íyØ¢ô5ŒéµA©c0Þn–‹é£ÛuR5G×IyÖ–‰|u^‹^tJ°óI,¨m§ÓjÀ<=ƒ¤û+û—ì:sÕä{¯DS#ÔÛÀ"Ð’örKQ …I«(‘ý²ÜE”ä¤ý"”Éúݪ…œ{<âk¿¯àÊm¨› éÄPž.`ÓoîÞzóbºB2ê±q-Âd€óZM7B×d@  ³LcÄ(yÜ%w}JhóƇÛg©gçD(Öl9g6 ñtßCkýØlƒßŸ¾mçj)›)•(»×;!ûº–߀2O«Øe ù³¤ñÐ{v€À'ï¸ ³@¥”Ñ^U*%ÍÚ MP•Õå˜uЊäá6·.ÃnÑm¬F£eKVºq¸ïfr6ç£eó¯/¥ Y·“þ{;Géíy<Û«(Pσ¾ç5nªó»Sº‡²’þÙ+Ž<;·EÀ×r–ýæ ¢Ï‹¯&é0aÀÝŒ7½Œ1q^gü;¥‡X¯,£`±!áâ´G…Ô½ÒxÐú´{»¦ ž#ŸëGÉ•{jä(°üd$ù¶Ó»Ä¯ÏÄtc µ q¾WÔ^¯²÷Ê÷‰Áà)•Ù7Y¥4ñXŸ. _ò'WwT*N8vF‡¼-›Æ¤h,Cãn9r–’þRUpÖ ÑZž9!„|‡Gÿ,iLq»þ0¤Š|wÏa€ígq‘¼ÏvÔ¦²–ž RvY'[ Y™¢_¶°67àF‹ò† ½CœS![þÛÃé«”M‰›ú³¼IÞG) ;ò½¤ž;‰%èh- ý #oC'=Ð7h fUáÑ?| G¦ôôŽÝG¨’g{gäþ.ÎÑ«>ç·'ƒD¶§aN{ ”¦´9ÖÙ>î?…º@ž5ª7;3@YbõP>7Þ¡ì±ÆÔ\Ù„Bè.y^_L7þš=bü9V’§ò½ô$ƒâÝdwÌ+1É׫#AÍrR42!ßcéùÌay¤xC¼ºúô¶Fã^9ržWà +ÖHåjë"½ˆ@–žH–““])JÅ»°»”ßí1#®ò›ã“œKswgµëò:±î:ƒv2(VðXÞÝVÓ,Q~_ŠÆ¹ª¹ôÂ^ÏÖ5vŽÐP^!Îó™EŸ7<¤r¶\š=qJ Øõô.³í±Ní1Ö¡ÅÒÏã/Œ˜cþñ­lŠuT0/N§'›)í %˜lEüà\õq=å¨Ý°—”ÑR™Èâ; 2ªyágGúõMd§Ñ>x¥¶×»‡ž™"ÅC`ñÏQ_MòXÏÏÐij‡1»âàR4úE®'AÆa“èJ%ìÔUt›dÝ*J„¹¼«@ù`às(,³A°X£5˜¥¯NÆ¥ èóé]Wæççñ‰O|‚ùÝ?úGÿo¿ý6ùî:kè6Û™ÑEzÂp7¤~·UŸ¥#hÅ ñ…6݈S¹­â;¿ó;)n³¿ÿïÿ=‘ÿQÒÓœ<€U©ac®ŒÀ“P/&‘lWfinP¦¾Ê¥CÖÂ)„ŸZ&Ñßo½õ“üõÑþ7(—˰„ ŒüôÝLûÇlÇH­˜N{áù®ž¥Û ù(±¸r»€F®èdà¯pAîyxDm{©—\ã0Öå&Šy¡Ú­ÀÄíp£\½bÀb½X‡aŽÐ©kMŸ`T,åpµ,w;”w>üá¿m†!þÕ¿úWð}A £[ óËÓ‰ðj÷ö}¿õ[¿õâž<Ïã#ù–£ ã‚Ìòüʃ¬˜?ùmßù&“ù/þÅ¿Ht*Í ±±á‘AÒõ³±q©éÁ üWõŒé2tׄñün‰õùEÁ§~ñgP«QÙô…/|»»»ðŸÓµ üøŽQŠ¢`~žî×»ï—%!D\2: F>ÑÛo¿Ív¾¼…º G þøÿz,ÉO•IP°ƒéäEÃB•¨ÓüÅÅþèÿù Å7ïÝÃÆFvÇ•B¬£Ôû9,GãéžG]fßÐ^›Ý.Çt4Kµt›¶;2]¢7—Ä‹ø•ÝÖ%ÑKêv2H_R eªcB3]nž¹_Œï\â(­Qâ`¤[ëûc¿bŸ¢\N?×ÒÞ{ØQ ð3&óøZÒ–(«³ËvKŸÎ_Oøâ”$žw“yG§Ë±¼W‹!ó«Ù‰‚e¿„•ŒqšC«’~»µ­®sKµè_zßæ .PºS=º>»Mh´ÓoÄ+ËÉóüæb>kS-ßá±T¾ƒ™2Féöc#«n Ù…rJŠÝUé:1?Ÿôy?{Ê^Ô9on¸‚«¨q‰ZNžuû¨D6KíŽÙ:ÞéÞ “Ñ¥ya-Æk±DïŽu„ë72‡…ÕÓ²<[‹5^ŠTš# ¡±ºª/£_LO‚]“³ñöá˜Ò=}êPŒìlo9íÚ/ÍwÛjµ`¶IôìÄŽ0œ=9'K&F ’°]+ÂxÚ†ÓÍ^çý»Tnš阳§Ë¨DI–ÁòŸS)¢<7@îø}<îVäu˜'×Xײí£A…ÅC•-T¸ñÅMÕÍ$ݸåC~i¼ý“ ÇãïÛ²i—3£_>Ðê0c zö5" ï.h(r2‡.–”¤LøÔ§ZzX†Ï¥'ÕrQñ®:ŸÂíXc¨ÊOc´x6fbÀMÀÒ¥¸ÎáŽLè.Èg'ͳ›`é»ïÝ‘Ììc^,ÂÝ'òQá’üPLI*Z”fŸ6»‘/¿¿>>I><é”ggÓÁÝh:Ñþiv|]gzè’ý rTß-¯±þ[ %s3úGé8ýÒ)FÓ;¸.Œïî®ÜO†JËR¿ˆËé.›Ë+Ðê*†¨Cô¨¬Tsìû¦5gT·“y?]°|!í$¿¸»GÎͺaÏ¹Õ —¿é*¸ÍÕÚíÍôùp5i× $Çfl²Õ5+Û,™þ˜D·«®'´)lhн*r† ‘'º[’³íçËsÖ&S¶€°’­/s¼¡ÑÂnayì;.(¯®qÝ™˜Ä†òQ׾ݙ‰c¦÷¾¶@ÎÇÙ£yn5›Ä­ ÕŒçóÉqonÖd*/®%*Õ­-¨«+˜‹ux¼ŠŠGúG=l7X:ríéß_Í+p;= c…Ùó–Kâ¼MMLî÷Ó§©”C‘ÈŠRÔ•÷E9=Vy6%JìJo0bè¥;UÅ:M °÷Œ—&¬v“üÙŒÐ.›©†9ù\ÎyºÃS1J–£Ò÷…U"äÄžq¤2âî2%ÔáHGÅAʘ­#ŽÎê6 øV±Ž]-0Ì«¬òµ‡.òQUb%š7S¼bb+ÊîÖ²ƒÕÁ k<Ø{W(ßÝB=£By NÀÍåU tj„Ôæ)Ñæ{$‰uÐú¹Zô/«åzåVÁèJrÖòý'Éý–CþQ†¯Ó^±:žV[V[Q»c#°­ÆÆ7MbXƒW3c1œÍqNÙaS³}ßž<âçÎÜøä!˜-9ÂQFº«-‰X-¯C“2ælıÜëù؈ ¹Xkþk§…^Ô­Ó>ciJ)ÝήSqvp¨¢N÷~A4²ýéÅ¢ ©9>Û¿×ï\&5”j±ª8‡ý¾Ô¢ Ëà“ΖÉ€#›Èn·€µP…ûª J0¢ö×s:áo±™|ÇA0¹j×pXÙ«Ì  Çü.ª+®¬â ;ýˆ‹{;éeC)ÛáÛ5ö`tváµû#FäøÀŠÖ˜Ç¥:œs{EhUjœ¯Žù 稓Ò×ǯAÌ7ôL‡)6ÝÅZ,AGŸ ¨ÌáÙAÒ`òë@®n€ Ñ8V! ö7ï£`S‡hmAu÷¢äsIc´PȄ˂ŽÖ™‹ç{>æ½t¹vµça½xÿÖòUpÐOÜÔ®YÔ™IþmPgÄ¢›f¸ÀB½LŒ¿‚’¤%§’ &4oØû-ºÓu°rérIó7‰ìl#¶?G¼*š ÎgÚ·^uBæ—’{dŸ ¡Ý¥Ïé€îÙ"?¹úK®TðçyU{ôŒ¤Z²{Ž#ÌÃ?OžCÝ`ù]uYÝ)°r‹X0§/½”‡äÌý¨‚rE¡²"·I‹ž‘.3/dÖ~á¼lÛ¡ÜH9ûfÆøÅ>qÞä|úy¸#Õ›K<"Îüé’€.<"ërVºãætðܤʥÂÎ{Ùòó‰µ;N±à°<Û%ƒbÝž¸ò<¤’‚+? ÈmÊ_w7Æ,˜!‘«õoJw4 ·«ÎÜŠÆXùžC&ûu!¦'ƒ•î²Áôc»7" /Å3åÁË}C¦Á†Þ“›[Ý#ŒX§ý£ÔÏä54.ÚÔ¹"r¹W#;v$j•Í,]2ÛÃn¼.ü9¢#Z1`.á)gΛú^^ß›ùt%Iÿ÷‹V&TŸz®÷fºQƒòß$¶zaB@ÿØ5àð”wÃ¥¡vhB¦³çžÇz‰‡4 åt[Ãå^ŽXö"àggí Õ«(§L“Ù,¬¿ ¹ML²¯y>)‹;#ݯÂÏÒUôÙ)3ss‹ ެd1_¸Y=¥ ©ˆõ®\ƒs|6‚°ß{XS°ÉGãR¶Øjð¾Häl™Ÿ®¢_Þj`ýr2RP°Ð"AÔ‰ogúÄÁ€•1MG„ć¸:%òÜŠm+Å}ÈË.Ôe"+8qú^§9Ä›ÿý‹~ô£ôl]çïü|ýë_OÚ{òö­é”璘ëÒ|‚‹“¤íÑD‰d8' IDATì;,]_ xô$)C”û¾÷{¿s±‘Ù_üâqxxˆ¾˜´Có}æµG'ˆv:¨ÜçT4 lb˼âêê ÿðþÿk4ø®ïúTWÓŠëÓo³{ïN°ÎÆËJçp¶±>Åz X j>¤{ãea)’i…Š e0\Td*/™'ÓѨmP߯Ÿ§X…Õʱ¹!9KQ™ ^ˆZ–;=:­e}}þð‡_üüðø³?û³[Ñünÿ Þ<‘ ^$èÀ׿þuü‡ÿð^|îÛ¿ýÛqOeyËvF;š¨D¾þL×÷ß~ôGÄâÑ$—¢ÓE>JTÐzìþ‡É‰¹ ‘ÍïÜŒ?#9˜ž~JwÒéz}}ŸúÔ§^$k†_ýÕ_…9o¾,ÀkXcï]ö°½M÷îÑ£GÐu͘lèÔN1¼é /ý\]×ñÛ¿ýÛ©?=¿}ÈÉÉ þäOþC™•}UL'/z‚1¦z‡Ã!~û·7ÓøëßýW™n ²~ⱓŽGýWsÙI1úȘ?Ÿgã(£[xlM_[‘ª3í¥ÒHê¥öÀƒú0L–üõÃ<=¿åõ邉ÂHB÷ÖH·Ö›ÿr˜ÄzäU8ÏuHQÑo»GϤÿM«•¤=”ºÌ{,ryõVô¦hécKütS*$‹èUÏópÐ&Ì5P»1—’Èv+$öÛdߌB:жÓ®{…>4oä”lìöª™C÷iúDœnMö_ì¤ozn[·ÉþTË“ñ];?Ò)ny.†qNwž#ÅcÒ ±j ÅÀæb:ä(Â:÷ìNz=|"’~¢Àgÿwbó³—dpU¥$+ ެ̡ê&}'ÓÌNðPÄÌ)›˜Ké6hÛé´18xœŸ`ÏLÒáQ÷ êu–ï걺&o£8ÒõtpðrÉ+Uf.Š™€%ŠÕŠó%Ú¸8¼Ô³la:Ù÷š–ØÑ;uÐêOï{\ðyôz=ػɳmŸPÚ)ݯ!8HÆé—I=F)»3Óû××QÕ4tZŠ~c̹?’ÀnžF˜ÍdÁ[KLŸ^5< oLHÌu.Çû⮋ëÜ`²¼{a°~ëÑ‘Žw|k ΣDâ¨AO¯ÅaѤgðŽó_ mŠh˸îx9ʇK0“>YXȦãî«#ïÇhqEËöKçòÙö^_¸]±«~wp62L”ç!nOŽÒ÷Ø$É~,™î~Ð}U›ìg75×´å<‚¬Ýj³¶Ïöjz§©'ùeSœƒÐµáupòˆÝ§wÚ"_¡käR܈’€|–æ=žÕ›Õˆ>oZÓ%¦÷;gè[&.¯©\m”Ùî²mó \anTLÚÒôŽÓå°}’óׯ ÖH÷Õ>KÓµâ×)s#1«ÊéÓçÍUØûú6ñUšæøªù¨YÇèT‡©ì££Grj]¥û_\HÚ¡ç>¡©¼Jt»)f4ØŠb2[@×õ0t’:¥±LíÅ!OxëRmÜP™š+shÒy©£¥Û)m÷v×)“/Ó œ‡‹kÖÌÏ8ì5áj“m‚Âν©ï)GEÉ–6 8g=É%ºæ±0XŠü:Ö¾>ö &¹7’¼*Ê›¬éå¨X-ãyäòÍl=]Øœbq26fÔ«èˆM<´ß gòhaSÈñ‘ÑqDÞ×&åÉ•þ„àd­âéHQ÷Çß×ë±N…&‚Âr:ˆ¶Óƒiî^Ô2v#Û¨»¶a†ìáJ±1[¹á6Br8Ž‘tò-1ÄŠ´[;ÙŸÀd÷@Ή|"º]r^ýÅ—3lÉ™QB:·ž²NÔHµÉÑɘÏ Ê4?Lv$ ÊÙA×â0™Aß›ëãúŒÜ¯Õ!þ¿Ù`nñA²aÏànÔeë᫨*Q·*…£J¨”R-3¯ôàEfÍŒg};_§«ÐMõ¹²ZÂQ4Ò*fŸq®<ØaŽ$²\êç°JDAó²ykÚ&ýy˜.ìŠ&5Ë|º@¶¹¤làÅ!Âp§LùbkÍ¿:Çc.rîå•õÌ5¯º^ÕÕ‹µ¹è„Ôyx£L!%•ÈÐ%2ééHB÷v¹ ¾°ÉM‚+óTÖ IƒD‹:lȬüàcÉŒºd $S'¹ áÖɺœàâ¥÷E[JúhvËÂV%i`{'ÙÌÇ4©Î’]ÈEÍK#cªÂ Á/Ã>x‚"Ûj†ÃP´Ð¹J&žùIÞ̓ê ëÉ3¬ð”ÞºÇÙ4½%_•tGµPÝ•M&X.góõ…8…\ÀÚ×|lÌO1JüîŸçáŒt{ù$=œÍ_Î~…éAáäåºPð’MökÉŸ &G ×£ â§r£Ýw²ùtÞ;¬&uõIß+¼™¬S´J¹áå³è[z^œ@AæÕbzטk“¥ß¾<}À4+÷Ê;qð¼æz¦óC î5€9äae${#9„â-ƲYå[­[-ØÕé’À¤X2Ÿ_'ÅRµŠ«hÔÍ^4ŠøAH oϯŠy“êcØOÙ±ïD•ô\ò¼:†9UÚaœ^Å:×T²¯ŸÔýU“Õ•‹e@?»Æy=*œ›237õ©Oáÿð1œ"I´s9Ùnó‹éº¤¡>ÀÒÚô…‹Žƒ×òÌeuàêê*¾çúµ º]|æ3ŸÁu¬ØîÜ ~y¿/â¹ÓÁ‚0y\o14á]ŒŒi2M|ö³ŸÅå%Õß?öc?†šÀCT ¯µžZ¯T~‹Fʃôn{O jë«+#ã×õÇìÙo&ñÈ h¢ÛΞ,“S¸:†“´…›”Èn0]BûNW†þ¨ uCDצû ®MWü#—Òe§r rh±#c­§TP”6é¨:Žãðƒ?øƒ(•ˆÝ†!>÷¹Ï¡ÕÊNœê§Ë³µXw=!  »müÆoüÆ‹n‡¢XÀÿðCÜ,Â:¡Ak9êV5T(¾r#ÕÅ~è‡~¢Hyû7ÿÁçpt”´›ú… JsE<î¶1ƒÏ’úÔ0;r7xsŽ=#Ïg2°Ž‹\J’@)[†üÕþüàþà‹Ÿwwwñÿñ?†ïû€¤ApÇwüáÕ%|èC¢zûô_ÿú×QÅåãùx›Q,“¿‡GÔˇ¾ô¥/¥îkŽïauY~)^þçÿüŸ£›‘¼èŽ×?e¯7¦zß}÷]üÖoýõ»¶·ñ_äÃIûk“ÈóŒøTë…¤~8ß·Ñs²¨øë£ñ>{F—åK5ðPIúŸ9îÏÇÆí 9píÖû:Ц/ú¶îËkØQ×#æ\³nTØ.ý^^Áó&•rÓO¹ŸŒîðl2ÿ òpRâÈAFwb-Ö9·'èJ5,mNo?_ÛIýì³ûôô¨?yTÌÇl|n¤è«wÁbÖKQ|^¾§Âº9`ô@¹ü.ëSo%m©‚QéeC…¯À‘«hò!ä(ÉöYºXSuž•…Ü¥Õëëãl«ä³7áuµ¯Ðƒ¬&;¹Í»K:t©-‘[–’q¾IlðŠ #>klr‚se@E, µëÝ㥫Ë66xTBÛòM:_8)#/Û{öCùå ÚRlBÎ<»;‘©5»€°2YŽªëË3ÑXŽýg؇Ù!>ú®sÃȧóCöÏ,\^ÑsZÏ‘÷ ¯f^‹¶³ÙÓÔöØu.0è±Éð’DdB?£Ð`Q™Çþ µe]B^m@<£|§Ô’q¢3=Iouà–’ÈÒ¿W‘!i ¬½VÁMäËôüÞxý\‘KÊ ƒöÆ_¤67ŸN‹¶íBlS[Œš°4d„—…e~“_LS£bR•×P^§ûÜPž×²±D¿RFi‘½?7PPŠÔ"\ÅGŽÄòÂk+¯Ä`úDh^&va]Ý~ÍÚÑ×VÊXèR ²?›¼nTñP]™ê³Ë|cf¯ˆr…ñ¸GÎOê¬Òœ†«¨câ°—)Uõô÷­‰³Ù²Ç‘m.E“/ù2ÁIŸê7¸0§;3ïœØ)…üx[c³<ûÔ¥Ad4åñyiŠ>!o­ÄÚ¦…•2J’K´”£ò@»Ã+ëüÆØû^šäÝ)“7ËžO?’ºaóÙñ’›aº­)ú4!˜É÷®ºM™-£¼¡-C1Ò7Ñéß·ýlgö¢Ïc`CÚL²Ë+ìܨ»¯Öc@R ¥)G-\ŒTñ¬Eå€äƒ+Z'j{߯ x,<ïäõíWÂ/åX›‹*Ç4vs¤"V$2é~4úï³{7»hšO“‚þ ;™Éqnß•¥çÒ=2òô>…üÒ+—+…_*‚’|&¬m@é&nß7Q*#y;+Ó¿ayÙï,mšºÚ§4ø,£ÊË)„x½´3Þ,Lœª I=hõY ’0ÕFºp†]ª3lwÂNAôŽ9Ñ~Êè•^¬£‚py® a“K¶Oט÷†h©#Õƒ¹Ãú³À5¨“§X`r<Êã¹aº-Á]öQ¿y›Ý£ùƒù!+ÿÚqXæ–0ìH8HgàåpU‚:Gdö©5^¸QÒîÇîמOºòÐÃý À³3HÛ½–¡Bm?Otÿ“h¤•VŠ-ÂîÛ¨oÍžXÔàŠð…é’½ª‹ìùŠ—XáÙgšÒDÁ2Ñ„ò€ TÖWqê°`w[LÊÉVÔÁîÌJv;8?™m`˜'¶g'J>öÅ$0Z\ž¾ð :Ì–½|aÆñ„ ³ÙõN~|2W;gq“Ù(d÷Øó»/­Î¶Ö\:ïUûI°cN%Ιb”ÓyK ÚлÁ‹Œ3@2TGyTÆöŸ¦Á*ŠºÛš™O²r¯„µ¤,8t“•ê]ovÞdä|‹È.16¾BÉH*ÖÄô*Ì27Û¨¦~¬sú5OøQ¸_|æ†8Ž‚ÚPy©w^ŒFÝì¼AøM3ˆœºN™d°¾¦HÖOõ'¦ûÑ<Í$Á‰—Å/`ëêaªÀöBRßηȹVCúž»{äü«%uªgÆéU°‰|5#Yýܼšð] ÚÊÄÎ:.¼éARn«ŽÅÅäÙ¬‰äüjUVb9ÂD–³Á½ý~”¨ßË^«V&{"„'®AéíäBÇþÈègýšÈ<‡<·áMwxFÌÞ[)ø@$>Í$‹åÌd`£ëRLJv‰mPT°ØŠŠXQ—ðJ§CrCVV”m×*—Ëøå_þelÇp¸~¿ŸÿùŸÇç?ÿyXV†R!º¦Ú3Nn¨cФö½hixU×]1iÏþÍÿù'ñmßöm”Îwwñ³?û³¸º"ç¾\ÊÃ>!ë-]Ü)LŸ,.,åc¾NŸùÌgð'ò'/~÷ÝßýÝø®ïú.p•9¸&¡[Y<Çã³Þ­Þ/H_ç–²ùçA‰ÚúÜ9õźâ%íádP]A¥v7í>ì¸%Ÿ­tÛB,qðæÊ°ääÚ´×’¶M+Å?íŸMµ'Å^vQrî&Û_}âƒ;‘ºQîgvgî>þñ¿øùèèŸýìg3ù º>„ß²Rð8b·úŽ!À²,|ö³ŸÅá!õ¹>ö±ïÅk¯ÜAYKƒr±Ï”¡I¡¼óúë¯ãüžï§vÚM¿ø‹¿ø‚ÎG¯‡•y„[¸ü ˜LÞ(©U8|sÈÞ§P%ºóÙÞxZ^[XèÓ`ÉÈ¡XLîwxà 'õñÃ?üÃø¶oÿö¿ÿò—¿Œ÷ïþÕs‡ã‹–¿é›¾ TVþ³ÿëŸÁ0 „—äLøÅ< w%˜f6¹= a· nƒÚŒ_ùÊWðÅ/~1ÊQ줵ïÇ0cGë”z]Ö÷__#vòáá!~ã×þOx^’¦…UÜpº„‰ËËK|æ—?ƒAlLíüäÿúb”%7HÞG]YBÐ"ï:ì±zgy[Æð<×p'PÇËÌAs9¦È~+f ÏRºŠ c“‹|Ÿî¡Ú VuX·K¨Ë-×n‡³NÙÝæKW@i€¿¦ cZ¬¡¢‘„~í¦©@ßwUôð*.Q룰°éÖ¤>ÜÞë¼vÑXëõ×ЈF{µÛ'à–^'¾ÞyíCm«ó(ËX*­cãîlÝðk2Å^ïoa–Køó¼d:lw÷©}µŽ\JBN!¥xD»³®”M¯ÊVz¡Ê3ýÌEJ'V¦®äáŒt/×ê9x‹UHë»c Ø£BÎgV~~‘ŽÁÝ_¢ºAáˆÞ¨ž³¸@}©¢˜Ô#GÆ9ÊeëÂî-T^ÈSå˹ÎôÍ/TqC;ÝÇ q h×Ó1šJn%’ƒ?86ÙxMI Pà¦Oî8ˆX-{ãmé³”ü™ÈFo&À•ë¬]wc¶$/O¨¡¡Ž$H¯¯à±{ÆR’ïÄ‚(s[x¿Ùïûà@ôãy´þK=çÔ×ç£Î®uŸƒ]ZB©›ÃÝ"5 Îɽλô›„Ž=)]F†Kt¯ÊÔÇy÷’žájÚ ‚39ÖXm­ŽØˆÉ3*ª÷"Œ'C´) ë‹,Rˆå+ˆf5…,ñö\r§Ïm v“¶çÛÑtÆÚ`¼ìt’]HϦĩœÈ/·cS²®¥>nl'Èç’òÄ×§ë^]È¡V‰~O­£Õš GÚ^QÐXÌû`uTe9)ËÚtMšžÊÂ{…%He× ˆL(Ù2k{ê];z®»’Pf_aEcy½ÿ”ÚéaJR2ß‹:…—ùtÙÙbiµÄGç%ŽÇÁ÷ô#È¥$„¶ ·Fh'h³8nK #8‚0aŠ£¤;¨K¬¾<îgŸ•ÿ¬ ã†Úw›UÀè%õ°ùì …K‡ÚÈHí¯[“;Òùû¬ïüìÔ€¶Àæ¸,(ô¼½Xgs›O—×á%;âÛÍÙ›Œ^OíÉvyÞ"Ÿñ.÷bz3„f3/¦èÜë>Ií'éE‘íÊí0¥uíMö zdm÷µ9,©Ù>NΦò_X&²Ñ ÊlJ® ™ÏÆj|®ƒ¡Nß•·’þ‘Ùu;~z§,=æ+Tàwc¶¡`Ìé(ã1Ú®ÔçÚh¨éz™ã8ô¹k³NZÐ"=Òˆïœ÷’ôÈ7¹Á¾®NˆüÉ)äzût=Õˆd«èf˜ip 3ê†Ø:P"´.ƒ¯u<,'Ë–Éï‹5Gèš|6šS1„ T¨5¦Gõ—°‚E‰2®Um:ùÊËÄ08µ²8áç£6£}„ËÁ„Cf¢*GŒp. 8è7€"Μ,m¬o¿ÚJìY/MàÀóéI…bH Å;µtâ.Œt$Ûí>B¿F *IJ:±… ºƒþ›Zr”fQ$„lGí|ëÍŽì–ÕïwÿJV'QÅ@Êè¨4ýœWÕ°ai¯¯ax~Jh[.mAÓÒ…·íWp'ùô±s¥¥ES$Ϫfð|F+åB•ìS'û’?IáÁ¢IYŸøŒ=ãbž¥“nTÝ`LuÔj%éënl¾ý@¤EzÕ…Ø•C›ãA‡îìBíÁ6ÓŸ(ä“|^W)íßxĸªÏ'Ï_±Û/Íçe‘îQpÄ:6—=6 ?ÐÒdGO,Öez2€èåàg$ Z•®û¬áÍó*º,0[\Jª®Áe×±$ÊK{›Ë€µGöèîH•×MÔõÅÝgeÑq÷V¬Âóä*‡œ“í .Gh(™Ñ>Kwè|1,ŒT©q•é˜U°tÞʬç4a9™ÞÑÈ{Ÿ“3TG¾y“•+êÐÌ;Ý'È—n 821öôÓ´’VÍ(ÑHo°ûe´ÌH>Yè=MV×êÈ䪼eK#I­«ÊæÄ5´z7X ÙýÚá @×Ë 1 ŠuªR²Ú­›s&qeTç&ÛÝ‚ÁÒÐÁÞlv·ï¤Š“È»ÍUÆ¿C­üR±ˆ¨‘2ºï£ªRÙ~tür´½}Öî°{Ô'dtãÐ/È»—zéòÆÊ'yfªé®±Éåßâúý̯ô«.4‘?À«¾¼ö"ø 9pT„—Û÷N-XQ®ˆ\Ð9zýa:Ñ §ñÐËû(ÆäÜ‚O䥷B‹¤T‘<»{IyqEä°û¾8Õ³,ËBNî¦4È.„Ùื°úRûl>ϧêî¡â+˜)ó@>7H,¯$eý½˜Í9m­AÔõË‹°5êN[9O—ËVhElEž¥ÎûX¦ jÙ¶=Õ€Û£¶•§¤û,Õà¦`¡œ=5`”o+c…:kK¾y™•7Ú³•Kdy)êp}yDöO "ñ7™$Ûýý}üÔOý?~œy¯ƒËòáÇ݃t½>ôæ¡æØ÷iœçÝlOÖ/a#ñŠõzcŸ%„-p[ä‚ Ÿø¿…z~ç7ó7qöÎ"<´9Þ÷h¬-â¯ýµ¿öâçgžá _ø¼˜}. PßïÒ[L·#¸ !Ž0 ñoþÍ¿Á§?ýiø¾¥¤â§ú§~Øw(}ÏoÓçÔ-–¯ªF¶Èúþ?öã?ÍMâwÿþü~ý×IôµC aŽÅ9º»öFå IDATTÎºÏ ®ÑêãSŸú.Î)íß÷}þòw|닟Ci¤~Ô¡&?OlÊ\9E,ÞO¡C¢D’Ó9MÁe†=V‰&(1ž¾[b BÝrºl^í¢5UP¶’<5p^®øôátEaÅq¾Ñ{yx×T®žð…—2mh0ÈÃá²õžnFcp­ ;ûݤMãÆ[tkëÞ¾3{{XÁË–£÷¤mX®#™Gè´˜ÑùÜnfûBg»Ëùy\JßVŸÚ‰9C¿OÞÍ7Ó ,ÅØd†¶šô£ñþÒ±—ìÔ×·“8Åùð߈ëÞ}s±µY¿yFÖì ½øT-4g~Î]íîÄÏœ^×GâÈT·› 9Ÿ¥³»)…Wâ„©W¡QÎÞh£´Œ^lݨ öB¯U“z¤ØÃã[Ù«Ö§/üSŠT–®G zÆ ÛoëÙ^ãü„ÅI«ËIĸʷ¥W zE"ëžš{0£Î•öÂÎd{z»RéÚuYˆuŽ›O×KÄïvXùõ$êŠéÎQÌÔIq}– dÑO»ÎøQÁ¶JdDÁ¤¶Ò•Çž¡´Lîµ\©¢XÏEX0ÁonR¦¨5{É8Ó ŠI["ÕF¬ÀªkFFñÿgD¦–—©OéÂ1Ù¿L‘Cú{é£áFR,´}oWÍÃôÓ|Ðô.}«wdhˆní?£Õ‹Ã§‰’Ú¹l¸’ì¼2§2Zd_ ‘_.oEØ‚çbÑ‘ÁnPZÛB0dåÉk‚×Bt\AÈÒ—ídï[y© 1F†Ÿ‹TŽt0ÄŽ¶Û ²Ô’³Sª.ò‘éùÚ­K Áá©uöâ–ÄÀæõlùé.- 4—®¯Zõw‹sz¿p¦,” lŒùµrz#¨§}zîü6‹‹ÍßO÷yO‰0œÉÅî§!kOúµ6£ TùâíïËÙ¾®å: ò¡Ac3^žƒ®$eì…ÐÇTD!ÏÚç]rþ ÅhÂä¶þ¨Cä}­KÎñ¢›b0˜­IV§˜ÄHZy×D  †rÏ#{´Û$²‡ƒ§IókD~¶Ÿuòa9ÊF_Io˜Sr³m±ò*k]]…ðÒêÙìc§¹¨ûnuL×'W=TU„¢Œ^¬3Û3ƒžëû¸-_¢ºFY›‡¦t /'c~¹0¦ÖÞ/z%¾„tæ<êþéù¬Nš>ñ_‡uC¬æ h÷Ó5ò6cü}PF•íþ‹q§2Z#ÙØÝ‘ŒÌú%ìà°“&]¢ï¯Ú Ïxt|…€(¬ï±J÷Ð!„DmF{§Ä ¸Ég+•ÁxÇQ›,—Ýø|÷JÔÊ?¤;'~:ðÝ}r§”œË +ƒuÕcú“GSöøQRÉÞ«¼sô“‚³4~}—¼To<¬Ød¸üûÛ2ðS@<ÂÄ…5=UEY¹C…tŽu^ä;ÙÉ)(ß_~%ï‹•.ÈTnÌ—‰¸rÆÝ»ÃtçJIžµÎ6rF•j°z0Œü…ôu4 òåt]r§ÄÙÙàW¦~îÈÚs‘,ë«!ž»'˜Œ¯|R¢®ŽR „~J,ûV»]›1þ€àŠªdoˆ|4v·ê§;•|,(UQ³éb¼RÚŸ—T–-ÛDZñÃ+²q…  @½uÕÄ ÏÃåŒ[Ñ¢T5"0ŒòËån‰È¯ž¤Ÿ\LŒŸ:ÔÖÛsúP Öµ„‹Bò{C•èËE›èùüÖØµÝ)Þyå2GuE÷ŠéÑœÄ:9ëù Ä(±ë<£¢3ß'g—‹‚<ƒ°‡Çæ%Ì  ‘WZ†¦PšÚÚaù«Ó¢>ˆ($¯2ôá…‘@wró “çƒ~[«äl+o°¶ïÆ:YcoŸÐÛEïb¦{‡5Öf 5jÿH|ºó¬-‘wïìN/›s¯êC€[̶ÁGÁ“i¯+‘’Z±‘÷w— ðc€¦ÙŽÃÓ㙟ÓkðNÌ¥ëk1ê.ௌ†ÊYAܘ6]òìJƒÊÁ¦Ey È»Óù××èt:°ž¤ýêÄ:,_¾Þ5¿!¼£>LwlzQ°ß(RÜÁâ­éh0&¢‰ÕQ7ÁÑ- ¶)?7?R1)gæï¥Û wû$««+ØÏfò Vº=^Y)Ào;¹H÷ %žÚêAÍB%å{Ý&|Ð &óƒÂÒs@/Ç’ ‘G{xHí­ V¾/Ë““–—Öô.Ø@íž±‹»ÄöXü§þóñ ³@,..âóŸÿ<þ‡¿òVµZøûÿïãcýcø'ÿäŸ`ooI u4–¼Éûäû>Þyç|îsŸÃßû{/õ3fŽ>£.,>Zs-毲g¾¸¸ˆ_ûµ_ÃV,Öívð³?û³ø_þ·Oâí·ßf:l^û.µ9}×|¡sŸ>}ŠOúÓøä'?ÉŒ_ýà?ˆ¿ûwÿ.–ß$I`ÆÐ[8oA™£ë]Ž’+7+÷2¿SU"™ %ñ‡ ²•&m¯J•ÝŸÜÑŠÅD+ÞB3‡žŸLg‹Û>æµÅOÎÖ0 üâ¯Ýîxšéc€kÇÇ>ö1loÓâ«ßýÝßÅÏýÜÏáôô4Å–§v„Ë“¿ rÃáÿééÛøÛûoãW~åW^$Zêÿ?ð-ßò-t´õpˆ%n »­ìfnrpºT*á—~é—P©øË_þ2~â'~_ýêWd.=p^‰‚.ÝÃ=`}¿ó;¿ƒø?Žý}LþЇ>„ŸüÉŸ„Фv…$#l69ù¿˜žì¡É_£¤Q™ê¼‹öñôS]ÎD¢ïΟõ!ö¤½MlZuñžeÛyRl:È“.kßõìñzçýd-GhÌ©È2®äôýèrÙqimÂB×y²žÅ5²ÇH™ËÓ}‘¤ñëÒT[ƶ’\G»äÀx˜”»b¬É†ÎÞqýÒ©µ¨&“N¥ü%ÎÍ3 mBymªImëœå1®Gä†<&Žb$e¸#ƺ¯ûPo =ªx•ò¸>Œ%âÊt¸÷X™!I" ãÅÖ…äTš¢œÄ)–sÉijóÛw•äσÝ+Aš¨+tÍ{Ég˜N/{íuѱ;WÈ~›Géúþt$9jnIÆïEëÏ–×w깦tƒË˜(›¸ý®u9Æ·O)H4fÀâ—-PÙ¹whÀ9¡²ghe˶f)›çZùÛ¡“Ü‹«¨K|Ij ßIO¢-¯Ì:¿¹€åµJ /Ì|q¨ëŒ÷‰Ëý<Äó>î«;P7ðÍ!t™œƒýëÆ:rõÞKß§<[¨Øp²ÇÌ:E¢;†Q£Jµ½óåµF’n{bµb¡¤e7»¸Wß„D6‰¿“ulºÆd\ìÿãî̓$Ùï:±OfVfUfUÖÝGõ1Ý3=×éé0ì*ü8…Ä>¤ i±¤ÂÂB0»ZÉ€ðFà ‹ˆÅBF`±HV`°×zHœ¡wÌÕwWwuÝ•÷é?2»3³2ëèž™]‡3Bñ4=Ó™¿ã{?ßïwIöϰ26Eíž<ÀBñÊôdÀ¬Ø m$>R`Uf;ÈõýÿìšJ\ÕªIy¿œ"‡J¯J çu×Ã݈çd„=ÐÜ5/Œã¤/Ûú|ãáÛAÜeph!ÆóõôÜ›L3ð<¥•d ¾Í q5(«2,(2î¯h óÅZ}Žw€'ý¸vÈcb=γµü"Dmöd•k>}½*2ÑrOòi`a×ÿ»‡B ÿD:Ÿ#ú3èöÏdÃ|Ž’|n·ª“ÿ޳a´Ñ<ñÿÛÍ$cY¦ê3«vQM©x;ݚc8T7ïP6¨Ææt]š¢o§Èe™”F ”/O˜|x℘g´è²îFböu H4ƒØ¤hÍö‘½Žÿooq“eheBC¡,íÛk5öÖÔožƒ++“slN0UHÕgtÍ•B]ßË…úPÞ‰Û쩳ä/  ¨è* 'ô'¥ƒûX)O/4ߨ†qøÌ ƒF=”§R.¹¯S2 ]Jïz_ èRÒÂüE݉˞\$s=È”‚b5dA^)¡—Ÿ|ž\¾æ¾ÝÀtyHL<&¢w“85C, õåKYñy½[¹Xò¡$À5â6¹–S0ûº¢‚NàÏ0^Èk7øÖ:bøóѽ `ej²ž·–BýÃðéÑÎáN9H{Óƒžiª3WIw8Ä?t¤Xñü…Z 8±øðÏ9wy¸uÖ"MFC®?ÙHዪ™ð2Ï:¯%%ÜUÚ ŒÌ¾/D6³q RqÍ7(*Úé Ýt#þ 7]¸9å+P‚Vþ5Û9i”«°JN„pÒþOÜòvú:lýâhÛÒí;0zÓD½èŸñ•;ný|¨,„a² ߉ï"Ék`aoO…0ô…n¶˜t˜³cÉù ×DdÓ{ÁX"N&±šYšOFÛÓ+¤mÝcÿßÜ,'σZŠÓ€½V†“ÒUàþýÐ^9vý÷¹û:òÇ‚ú9ϧ™E1ôÏ`´ópú~ä$øæ  KAã—@Q¡c’_Z@ž\`I0ÅH0,´e–+óÄóNkÙÐÖÛÊrp,ùE c|<ö„¼4fÿq—Z÷vÇB~̾2›ÓeÐñCrJWt{4/góoaÅNwøÎ?;/RµÿTa…üâìûP&ËØjÐ…6_ aê ŒH‡óJÎçI½çM"œd½ê žô£lOg¯ùgØ(6.ôÎkâ«B>|E@ÞÍý»Åõ›3ÿ£ï^h=¤(ãŠ8Õ'wídÔÉ:ŸÞÈ^êl—ÌP¶jÃêc#ï©£¤®#Öæ¿s7 ë›sý{Ç‘Ùðy‘R#'£ûØéjoŠ\È[Ž|¥Tš¯ãº¢(øüç?e==`_tX^ÚðùúfaúYºäüu”¯¼4Û&äO|½¸X»D‘W@^JÕs…ڸЫFÚÞÜ=σ¤&ý/‘›\ÕqâüÉdRå×ø#Ë2þ×ÿøçsïãþ©oÓF§/¦Ë…³Q£tvNY wD!ÓœïþMÆ¡ÔGÉóm]q,©+k×+ï,Õ fèj>Óņ=îúôQn%Í·3L5B¡€ù¯>ˆóÁŸG½·÷†ƒ!~û·?øƒ?ˆ7½éMøéŸþi|êSŸÂ /¼€`0@UU¬‘~Õ³išÍfò·ÿ¾ð…/àãÿ8~ôGßö­ßŠþáÆg>óc¢àZÝçÑÈÛðãÁXá夞_[[ïüʯĺÖÀ‹÷2ÞûÞ÷â{¾ç{ðs?÷søã?þc¼òÊ+èõz0 žçaÈc4ááÇøó?ÿs|ìcÛÿé÷ã]ïzþìÏþ,ö¾·¾õ­øWïÿE,DªÄù” ÷ý®o7X+õË_vŠ]U)M0¤ûåÞÆ*ÐÞ‡™OÂÝöääÒõõô¸£Ä“=Ä™&È3F rqËç}u5{uæÑHÿè5—8Ëðá¿"}ûýÆB V32&µ\ÆG>ò|Ý×}]¸AÀÏÿüÏãÍo~3>úÑâ¯ïýšÍ&,†ëºÐ4 Íf/¼ð>úÑâ{¾÷ûð‘|$ {ýë_ÿþW>|΋þ»‡]¥w=¼ŠËÙÏA½^ÇÇ>ö±ØÇÁ§?ýi¼éMoÂOþäOâsŸûîÝ»A`Û6lÛ†(ŠhµZø³?ÿ*þèþüàñ}ß÷}xë[ߊßüÍßD§ÓA£àóYÁLO˜DåxÞ™Ñ%Ë“¡qÓ“!Ï<ó Þõ®wÿùÁƒøõ_ÿuÍ@r¨9&*• ~ä_•J¨Ÿþê¯þ oyË[ð?ñø“?ùììì@–e¸® Û¶!Ë2Z;^xáüÒ/þÞþö·ã=ïzïyWJ’$ñS?õSøöoÿv0ë àf=L|IûóÇÿ,Ë­[·ð‘|ä|½»»»xßûÞ‡·¼å-xþùçñ /àððŠ¢Àq˜¦‰n·‹¿ù›¿Á§þøóxî¹çð ¿ð PÔÐùÆoüFüìÏþ,òù<ÜåÐçj³ý ºƬcc ¹«[X°CZ•F{è>=ÛU?>³§%íå“ûqÿ}Õ´°;z+y£±öúV>ŒeiËá»”½É ªÛå-¨­0WQd)d?qøò^21–ÉŽ(8¼†%-ä«ýŠ â¼}{r¾Å9šHðq’ë\,ñ—cÓAN5)‹Õ˜÷4›ÜW)ãVv'ߎ·M¯ÒqßÝt)FÒ~Õe¬VšÇ‘ ¡^&Êþ;Rñ%Â-Î^Çíë³'(È•¤§5C]S"Ò C+‘#GûЃn»f3NsíÑ‹©¿ß=öõ¦ÔõÁlZË âãé± Õ•‹u•Ìó¾~ì•x¼ƒ,¤ëì§¹ùèIÒã± „ˆ *·ÊWëdud(€ä °‘®ïׯÀQRWà Áú'ƒL«‰)U°L‡{× c¢—ã¾½]¡Ÿõ²I)HäƒXe…{µµÙ¾ªÇ†~ßÖ&v}z^jÛô‹l¤Év\=ïÿÝf6yK‘84Wí ”¿‡!ÈÍdNí2÷B° á%e½¹ÂöC}ÙÿÿLd‚ éȽQôã1¦ê[-(þf]ÈÏwÓeV6ÈBh¯–ªáXKNNòKÑ$!ò„˜Hl»yH`@_,ß«!]m.Ì–3L:8âv0nsd…ïÐûq;§ØH—u:›AɈcÖ‚;M+ð «™=É¡=æGS.‘×™÷) Î?Ò½!¸ödùRÚòíï 1Â0è,麾ü]ÊÍ׸a)ˆ»T¯Ð0‚Âxe?ÉËM:¤a=%¸¤Îγ˜¯«a£–/„yà‘•>qÎQl4Õt\«@æeô_32G L]ud&Ió‡*kQd/7YcM5‘s((u;–‰¥”¢±,'ñŒ˜ôZqT÷šX[ ÀvR^õ4ߟ1¸é¸]‹ûÐwJP˜¤<ÍSy¯T°h`Ĥ½¦™É\i~1(S€ÅâFzQÛyÑQš½¡t°‰¤oîC[2ÚÑœXœü.ùÁ.:öåøÚfH˜A±©ÈÀ=ÝãrÞn¦Û«|¨ëë:‰s߉Ÿï2fƽŒmFâò!åUAÓ#õ^Ø]Ö»þÚ™û÷C[Ð,–gþûe×@Ž÷A¶ÅHaÕHÿ—˹ ëÊdì“Z›]XL¶d,Þô÷b.$é8·Ô¹Ù¢ و˗ñ"ʼn6ÙÐ_w…OƬˆ ™²àDâ:ÛÀb/Ï-¦Çs‹a޹tÑeǧ&9óMr3¥ôhNÉš|–(ÖÓwr¢`e%4óúMµ5dJ9ØA¬Ó¡ŽåŠ/؉V½:ޤÖ#í« r´-y†,…ÖÉ •ÉJK¯ÍVh§‚W“—êL wIµ¤x%)¹ûŒ¬b(Ûà—‹(-¤3ÓF}º!6:¾‡òêíA»Yæï´XœžL5ÙÈØ»£°ù•ÌXà5_Рȳ§lÝ?Ñë ©,#Ê$¼‘‹œx¹n"Ù{ Xô…e©âW¡‰w±^|* ³*¯û(l„hrºJƒ§3(JCœ]ÍO²kèµDÔpH›.°F‚è»ðj$ê46àdù´S‹Ud, *y—õ«,€Ùgl_Y@6;;øÍ¯Â;"@¬‡´Ë»«p¹‹uÚjå4t¶¥#C‡Ì 1=-W ¾ãž« >¡ËF¾“ƒ²¨#OpPƄතáz&yvG/ XuR /zþÚ •@–óЧ$Ô°™¢\X…-MNÄ, 2ÍãîPÄS•"„žR}r"ŒUŒ=”«ñ;£06zª¨Bç|ÐcãU® KàÞ*;2ad™s+ß •K!3ÝPr\ÿß–ç˜H,øi!<Ï6Ad|c­¨Î×uR¯MNRo\õåg~H•°ÚGÈå°ÚîÀ+Åù¶@O6&n-¦ó¸x W°]@[Àf6¼7Ž_FöZØ©€²­äѨ-µïw€[¾,ôLK›Y<ê³—“éå`ŸßQmä ×ÁŽzÐÊõGþŽv’Œ9à, Àäû¡6óbT&Œlí£©zjœ!¾{9 ®C-Yà™\¶žnØÈ–ˆ]„@k(YA'ÖHE:Ñwp¬ÛXÝÌᕞ€×¯-ÃÐ5”ä[Ó–|¡çÆ=èhQÚŒ=wm0œ€Òr¸~ŽÛ¸Ôw¼ã‘Q–‚¤£Ä§'‘2ëô˜üM÷"D#ƒbÖ7ÎYV‹Ëw‹TwLp[!ýµÜS4HÿNÅâ g¯#i¾¸#c«ìÆØÞ±tµˆ íó%áC[ïÖ­E÷×Cnæ È*VÉ:䞀B=ýò7ò¼ SAy+ºQ¬;I;J»öÖ FÒ6Ê|(k© g‚€tNMPËÌÜçZbR‚Ò+¸Âß™ë÷•û‚¢Ó‹•¬•pÕ ð 0]Cç.–ÆÕìÐVI:ø×i(cö³6½;biq2`(S¾X‘B•nL°8(‹j$àjbõƒÇù(²÷٠ùܷP¨Ñ0vWÄ¡¹ˆ+É]É)Qz¤ï‹¤ˆ¡ÒÇ;9ÉŸ¿îŸµEg@GÚwG"n›ëþ.ù•[w|c šÚc/>áé¾/ÔQt,Ž&˜¬ ÓH§O*w Pšs¯Ç-òPU˹«ÞËHÐ!7­Kà‰pŠ´FÙÎúò#¼•„Œ-Ñ 7Gã@Š*âÀêcƒ®¡o6aº¯ÅbAE!»€Çý\è@²ÏÀ­Åȯok¢@’ä̼žçáw~çw Ë2ÞñŽw R© “aëEd(v$ˆ/è:J¹Ù•¨¤;ÿxÖ;¯ží÷…$½Μk<ß%4ß.#n©p©³/³óÑù,æ²6%¬­ñ(Fâ!û£l–C›`1¢KŽGÇà8EO«˜v‡ÿþÓ¿‰¡t‚ïïã6[•-   ±à¡r5._Sõ`Èf—°ü4PÒM9„©À+ܲ1DɪA -ŒT 層î‘qŠué&܈Ùk¯ÅïŸíg Õ’AJ±èà &Õjë|íp=0j NP¤¡Ž àÊò…îqÜ )kÓ{.A€Œt,3  ç'kH’Ä¿ýð†¯ÿ|îsŸÃïþîï&º§ ‡C|éK_—¾ô¥Ç"X–Å7ó7ãÍo~3îÜ í”F-´K3 qelÄØ«*pw%×âq±jµŠ}èCÁņO IDATøÓ?ýSüÚ¯þÏè#•Ø£¾øÅ/â‹_üâåløW?…{Ëàk¾Õïr8˵½µp9þì·hÔhâ–t<ÓQÎEüÖ€`·Q\ŒÛJ囡\Ú**ÌÜŠtæ<¦Ë¹%ª<=ù>’†(ó˜R ¿3_Fý±ëŽ¢C@¤<È®ï;k¼”"ðã¡‚2k ŸRÀæ] å=ÖQ¿T*áÃþ0>û¿ÿ;|âW÷\ŽF#|ö³ŸÅg?ûÙùµ0Iâïx¾ç‡ÞŽ%"=V³§ìâjÞ$XÞ|6f¹\Ƈ?üaüú'þ=>û‡¿}ÞÑó<üÅ_üEl¼óeyÒ½EŽJŸCÿ°‘†íŒëÿŽÌ–CÀ÷¾íŸàå—_ÆW¾ò~7À§Ÿ~Ï>ûìÌ÷ýµ[xþùçñ| Ö‘ô+_ùÊùûæ}VVVð3?ó3øš¯ù_n7®¡X,Æ@Òr&‚L¶ØÜšûÝg4ôÚ×¾¿ñ¿þëÿ¯¼äƒœZ­>ýéOãÓŸþô…èêÝï~7Þö¶·!›2I… :» Ãv:XÄZ ßUo²ßÔ:²ÐX¿z~÷KÐèjб26.ΦM\+ßÊÀxf£Çe°¥² á =ÃC=K 5]qà B׈ûØv0¨z=8€®ëÈö&I8r ÜœB«›j +ÈypY tqÉ9Cè‘Âwã@Ac÷-ŠR܆ÐÈX7\›{й±w€È‘í£8CWw¶,^÷}#óÅ pÐ;9äã|I×fG,¾¡0*Ø(Ë¥¸Á´=Ø+d¼ðç^N16yË ŽSD¹,ViöÂò…,pG³c™¬fkIù}WUñ—§ D˜(‚ZߌÄâqê¥òÓ©ßYXÍ1rßçb¾ ÂU狃æ J6Ò­ida±LÃÙ?µ¹%èRU xµD(øë}·6Â=t„K!—¨¥À6Ô¶Á±×¡Þ»‡ÌÚ˜BœvFŽþ:4ël%B?£ fçÁ§ä¤òc“Ö³y Z(ÝŒÇDª‚*7Öa!h@‡ÉbÑ4ð$žŒ\D. °šCÐ7âÄ¢º 8Ñ›ôUGfefò]$ãI]ô±ØôWø,pÉ-ÊQÀÅìÀ’³€­¡®²ÀZ˜ÿ´dÎdÏÕWPlxù ToÙ`ó)McÙ -SKÛÁRW6¥8ß«½¸H¡C… H6訑þ|õZ:¯K{Á_½1÷O:$V#“Å"Ó|Ö®xÀ”.bÒö øëé1hj4„‰6¥.Öø$MT@%mF®¯C­ùô$Ë} 5äjÓãöÞ™«eä4?á©[D‰GŽôyšZûÕšp¶ù/Åd;ŒGªÆ!¸ìüE¨{¹u䜀»âÓ"»³;K& žqQ‘‹°¬‡ éy%a±4?@´¨©YùÍd\}ù>…32ËåâòJã%`¨‚ šôr:êz<~à :´’ÿ³’)¡{é´~Ù—mjÙ—»'^+ ¾;EIFÓæ3XC 2ã`ÆéQË•ÑP€Yð@!”›¼x)¸4\ TYÎÞ²•uà†Ç$*«óÅ›è%z9Ü¢ò²…Ù¶(SÌÂ//«3ù>ÊÊ Y™Jru2€òä+c)»ÛGfa>R>˜D0š(—üï(Nüî¶çâ&62þeˆ`PD2@*Œ,”Ê)ÎCæ•t»€Œä8¢EK]Nš¾ÈÂÍkh˜$Ìu‘y)ƒŒéˆu«ß&TòUšI‚ ºè‰’Š"4@Y›ítEðùXΗ“ÙÌÅig[ °Y;‹Ë'sšâæú9›-ßn×õÉ1ƒâ¦g™l>‘ƒb @¯ÓF‘K69á(Ñ4S92×agç0¤’>˜@4Ú·PÞ¤ñ”•˜ðx„4Ùç2]¨vz ýH‘°Þ¸xS5­ä8-Tc~L€!![YÇ‘}„õL|ßvû™¥Uœé åþ±€Új0i‚@H%0fU…FfÁº\#æÃ¦ìI:®NÈQ‘¸…âÊŒl€aÁ7Žd×sìócO¸0¢¶†ƒCòtàt«žÏèQÐa:GÎFº˜yÿ¢T1½ÃEIåáÈ!Y§@Ê_Œ£ Ã.ï+Wâ4»À_öÿìiáþõCyÌÉ›LÜí\œˆ´B2@>TÓ“#GÔô¬ÔI–Š ~ݾˆÛécÖÎ@‡öéX7©‘/²nP Tkgï|A¹;¡ ‰Õñ¿k“…TiñÎØ}•Ða<)žï/Rm±““J™QèlžÅŽ¿§ýíðþ†)I…5ÿ¼Hð`I a9@.Þqä8Ò¶·Æ×¡ï&ÛŒd¥Gtx™§Ó'ÑÐýwœÝH &=M{rÂXÑ3Cc٢ɉ CP‚ Í8è@*èÀ9èP˜ÞAƒe|%Qsüÿ¼ÊTÐ!È4C?Àj<š:Oë~uÐ$ÐáËR² —ÈÇù×qxê”Hå/©ò(9áyef\kr¿)#Gm&=±A:éÕFg Ãù‚äó~Q*cI]O€ÆNo>€Gñ,/¤¥Åèúußqº$¬ÝGŠ·"lFƒ½§à±Ê¢3Ð!xA‡/­\ÇHH¿p8=È騑ùÁ9èTz~pÆè@ te%p΂us‚o$M@öï÷ t8þ4–³X €wê%ºOO¥U¿Û£û‰ßQ·“vF.ÙÛq°"4é:2)^Å?àà ¿…k™è0í{Ó Ñž¿Fõ©¸q? tx~ÖÎlg÷ tHl æÀótº]tl1Ð!4Èe{AåYõâU_i CXºçéA¦z¡÷¦UrúúÒ@‡Àc½£ CA‡f‚;³;LO*ƒ#<ãcjÔ{ý¹ÏÆ^‹;vBó>ô %ÿÎvÿt(=å̮ʪ¯ÐVr&¸ŽO‡=}ß•…:alŸ¸;¹b­)Ow¢ ³4ÁvˆëôyA‡Š;®_Ìùi.\d½< ·ç Cñ8YÌ•]œ:»x”§èSA‡‡í$]FA‡;MO•‹8Žw…¹Ì£y, ‡öÌÓ‘$Ãb>gß§%^ñé4 tøP A\YáñD;^üi™!ý–K96í[¬Ê*oÿä1­š€êøw–3\J·\k`¡?Ö)nƒöõP¹|‹´¡àI?ã Ã˜V¯ƒ¦ç«Þ¶m¿ÿû¿gŸ}Ï<ó þññþßðFüò/ÿ²o+êÒ\ ÃÿTGÕç›zLx`X†tçMI¤ŸFFúžË¿#÷ò÷tó:—Û½¬­%mû(èpOxÞçjy ÈÐóñˆã8øüð/þ«7á™gžÁ¾æ5xÕמ}û7ã™gž9ÿß÷ÿ÷c`ù|©´îùz(çãtxÚ!WëE´/לpOí ±ž]êÓ»Vž;£ø^Š"5Ý—KéB©õsС/Ï“ñûýŸåœt{Š)è¡ìµ²ÓýJÒó°=×Âd#£“åÀžæ8¼öÙ×ãÿðñk?ÿKø¦oú¦sÇãx666ðÜsÏáùçŸÇ¾ð|àÀ«_ýjŒŠé~¼;Á¾ž»9™ ¾ó;¿Ÿùƒÿ ?ñ#?ƒ›7o^z½Eá¾áðñÿöÿË9è<+}ÍGG"(ÎWˆÓSWûåæNºï[køtz:€rnÇ‘2µÒ C )Ö—¥%.ŽÓä(nßp…e0†5±j™÷“¹ Ÿ êçÚ§ÿIe¦8–0vMDdár×—?«•|*è¶µp gÇÏ‚ìñ io}î‡ððxî¹ç.lãÐ4ïú–ïÆïýÞïá­où¡‰ Cç C¸UðmÖœ=6Ž,xϽŸùÌgð¶·½ <Ï_úLŸyæ<ýôÓà˜¤.>R¨¨YqéçúXQ™kø>L-·Š÷¿ÿýXj„‰ÛçŸ/n‡àÉ]yrœ÷úõëøä'?‰|óÛÁq·E———ñã?þãøÔ§>u:€l6{>ùÜF·§ÛCl.ƒÃQ2Õ£kkkøõ_û$>øÁÆFEÏû|Ë·| ~ñWÿì»þY*èð\>PA‡²àÇ ) æØ8Èý±I @‘ÏÇc8­=s­Ó¦ÐÕUB¤˜ºžN\*ÂsÝ$”‚q*Zo²·F»Œê«²R :Œ>Õ\Œ5&³GqŸ?»‘u’î+Ÿ¥¶ÏC䆟(?Výu Aä,СYA‡påf°¯ENdš—õЄx8¼Þ±'ðPÃ$@‡ ÃËkCëõæ^Ó–Ú¦jçxl½*õÙú•øò—¿|®Ñ)š‚cMhÎaXwv¨"…ŒÁA ÚNnËxÕÂ& Íu.Ï@WL½Zòòü‡2+üô.Ík“ éC«JÏ߈¿G7 È}E3v vfþѪ~ .7÷ ³%€i<¦VKcOÇp±˜õå´ç`¹Náÿ+"!_ ÂiY ‚ʳÆ.nfý æñ`‰¤‚t HÊ~´5ôN¯¯<Ò;Ä£û(®ßºðïå ™†8äP¬¨—ú¶4hƒ¯.=±;Ò59v¶3%É§à “i>›Õa¡0׆]°•ÐMV€ÄÏÀØ”G4…6ÖJÓ÷×1÷°È„ uë …ÁZK)¤î TÕPYZ;§ ·–Ñç9Ô¤‹ÝÙ?S[†n GÏ×±ltJ£¼*ÈÝ‚kÕ2í &cA>”P¸2=HOôGðj“ž#ì‚*…Aã|߃R#@÷YXµÙFŽJŠà\ß°Ú;pqu#RÈ9òË,o…çSà)È’eÿùH—©¦x‚µâÊcçsºkÂZ`@8„aÏ <¹øîÅS¼ëÎw Wôíi¡½ƒÒ’¤dòy˜ÊÅA…ª®âŸÿÏã´7+Øáà§~ð»ñŽïý'„É>f!+C6âþD!GCÖ-ôÛYdó}¼ýíoG·ûh㞯]»†O~ò“ÈårÐZ°A×™ÕPÐ’ºÍ4M¼ç=ïÁ‹/¾8óÝÏýó·â}?úß]j]_ý¿þ?ös?™è,˜ Ó<‡÷[¿µµµG–³Ífï|ç;¡ÎÑIüýï?^ýÆïÀÍÊt`û&´ƒ{ê1X˜Øà®â”±la~è_üvöv—ª@&“Á/ýÒ/Å€"iOOQQÏÇ×.•Fà…2ZªŒW@ÏvQªÄûÎ j”oO†,äJœ7Åý—QÜôG“y„ }X•#aY* §$¨Z\_™G§`æì`Ê2]hæå»ŒöÜ6êäÅm,·˜‡öàä—ã¾k»Ía4ú{üÃÝ»xøÒK8::B·Û… 1@o30(ð”ËeTùE¬n.áæÍ›ØÚÚÂõë×Á€“7ÁHé:}O?ÅИÜrQhð8Ö¶f¥<מ´“c0¬ÍãoÿöoñÿðØÛÛÃéé)A€å ‚Çq¨×먫xí?z=^óš×à5¯yÍDàe_ÚFm¬˜DÝß·¹…ÁŽêFœÚ‡ÊÕà’÷@®Íî6*&Jîü`ö,#$ (èB–Ò@oG@}«„Å£J_®S²v`!_Uᦌè±l¥ªU,_šnwìlefû²Çž€…]Ì–7¶sdôx(mÊEÚsâØX¡âFÕݦ‚§Öâ¾lËÚÁÎ_µðÂÿýe<Ü»V«I’à8H’D±XD£ÑÀ­[·ð†7¼_ûµ_‹|~:xpT”ÀV[Gþêåù½£’Xä\X–…—^z ù—‰_y §Ç- ƒ˜ná8•JF7nÜÀë_ÿz¼îu¯C¡×Á\΂ªÏø”-TG42Z6{±I }õjÜmô2'¨Û3º$\o:~×–Ðüòߟ‚?9iA–CzÏår¨ÕjX__Çk_ûZl<õ4¾ñk_õ>ñûê)\n>Þï÷ñ®w½ ½ óþ÷¿ß÷ß'Ã6Bºt]»»»øò—¿Œ¿ÿû¿ÇÁÁAìÎr¹–––°µµ…7¼á ¸së°u³ŒŽ£a‘JÚ-ö‰‰ÌJ\vpùTE¾m™ý<˜Zh'9X§6ÀY#¨tŒnÃÌÍöA-mš-£Ù°V›íc[§=ÐËóÑ’fï€ÍÌN¾ë ƒœi¢+w°PX|ìþ+åˆp(߯y¨ q#_‰øS}¬ò“î¦BƒÉ[—ú®hÚ(2sÜ{ šŒÓïÞ©‹«Ë“i_Ù=@þZÜhQ4œ )BSÅ•µÉ¶a> (Ð"u8îÅ òª…Kú˜}Q@­8›þÜ6Èùè¯Ûò°Ð Æü‡0ŒO“òè…r˜ã$n~þX[ô@N™üEd{è[*ˆÑ*Å,„N´é‚[K·GòÊ…-<‰çá±€Abš6G°‚Q™„ À+%Ï]) ;¯¤5?Ñ{XÉÕÑÔ¬±&Z.ÐH!YºCÀZ ϵ£óXY؃-M¿Gk¨ƒ®ä&øö:Ö 90ÇÌÕ‹/zJõÙ´¦µvÁ6¦ÐmÛF&2ej_:E­r ¼- Ÿé£fOó-¥†÷XîØìæÀ,„‘“¾‹•9:¯ÆÎ¼˜=£ûÚÑHÁz9?%GQ€µpq½ÖÞaéZÜN•r øEÂÛz×s!OíÊ*®8œè;XÉüdã'-³CFåbq.[l#SLç[rÔ…[N·­£‡ ×/ž›³Jhaþb¢‘˜µŸˆì`N0W|YÐ4ö±–ÝD‘S ªù¹ßñÊ©€;Ë‹áËÒ… °ÊÞ•`XMäo=uqÿ¹?9%ghƒô;¸^๧ôq;?»; ¼- p½r4€[®>ò]dÕ nº/—¡MØVÜÖ”ŠxñrcžE×A‘LÆ »Þ>ˆÍ· ,]ŠR"/ÃåF UÝBó¥µ 8¾,C.}äèn9Ìáä¤t^€ëÈ ©Âá‡á ‰ÊJH/£²n=ò{µìÆd{ÑkîƒXÛŒëõ¾‚µé|èCP^åÒëeX”'Jeõ"F† ¶¤c4°*\«enLVhú©ŒÜòãSƒ¬ì·ãž7Øõ1£"k`0Õ (q‡š >0¼²„Ï™¦{-Ýܶ‡¸ž©<^âåe‚7@¶»L¤)ƒT=VÇ‘tÌöNd\]ñϨKXpæslÊå2F£É•7®ZÉÍö6•&Öò鉸=á>®‰ê=­‹«ì|]Ý ËÎČòÕ°© ²–‡Ã¨ ÌÙ|üâOßL1”[,Ðxt”Ud Liˆõ2rƒ²4¿£Ñ;"Q_Ÿl,ë8E>߉ST¼éY·yrm6§¯6Qã-ÉÊ86ä^Ltè®x«èr'`ĸ1ßj{h,ùÁ¶@`©”¤ž­¡tÊ,d¤?µQ.ÇGó˜³:[vî÷ 4\Ù…ËUî2§*ÌeÍ¡ƒµ å7Å4ᘓÏqô’ˆò”1†=@öÝâÜC¬é ¨)zå^ùÛ‹h¿¢`éNÈ4{¾»–ôÀß ºš\gf¯ñ |êSŸz¬¶Æ{ßû^|Ï|'rÄPüá p%ÉÛ&9ãV¡3ÈU¦'RT½f–Ž IDAT™WPp敎ØN»nJ8± ¬d<0S˜‹IÞÙ=qmelláiÙåd"FÁ,MŽÓœj,³Éõ–ô„\ÜgÖzE°u] °€`DMÇ„½˜j3EL‘À“|”æä×|Ý&sð|=NOGmëKÉDæÞHÁÕrª» ޼öÈkÉwD(c󪥣{à×ocä”P¦(»ûÈ_Û„HP ºB T UކÙíã¸`ã*»„ÿ??Zïl}ã±¾s4èOuˆ><Áa÷Á 7.×eS<¡x¥üØÖÙÎSp;C4òq: (݈Ûò2!¡àñ[G(6æß´~•èôxåáñ¦¥ÃlÌ>›ÛG#謖u Tö‰ÒˆÝï SK·…å½û(\½x!¶²ßD­‘žËÔî0…J\wõ©jÎÅî]pD”¨"úƒŸnOöY5-ü»‡ò nÌa+Žß÷¾÷á¹çž ý5­²LbÙxò²CÌ QÔ/3>Íš`ÿ®Ò«×!öî¢XŸ/!O÷à®ÎneMóŸ¯õ}­‹[bÃîñ…ÛTirâÿž2ÂÖ z}¾ÀaD~ØCמÈ~îîÈX©;(¥€¼8» 5ÒÑëÀ«ÇyVóh°„±ÙAqm68Sn=D¡^ZކÅBßm!w-Œ £û(•o=¹‹ìÐÀâ|ñã}µ+UäÈ€¯³-ÀhÌ÷R’öW³¥a­Á‚çyHR蛵:‹“m*F¶˜ÙòH{°öæü€Õ¾XB­§A]÷Ëù{¥[ǰéM0l‹E†Ö°ßv°¹t±æ8½ 9wñBkÛšvû®Õ(tÅŠóO¡a92"L€+_<®DÉpÖ§ÓŒdrº¬­ÎÖƒ\U=ngô=5"ÉS÷¤û¸ÍÇåt®ÇC¯‡2í¤©be ؼ—UQ7.‡aPû=pµùß{úWs¾Í×íØÈ«à6·ðŸó9ò$¬—“±CŠD%˜@u|àb5ÒŒ„Ô ¸¹ùløc£nf¦¬ñëÄò…×WêsjcÝá­6\:iÚívÁ¥6I¥g¯ žˆÇÊÌ£>˜õ‹ÙI¶mcÐr±¸~±)4£¦ŽrÐðÈ%ynz|µÝ±T+"Ó4`¯ÍïSHrJ1!%÷àê—¢—Ò7ù)>Ï  TGöNÀ_}ôæ4wwFxjËÿÞˆ'Q–¦ƒh3:@-I0„ùøAr÷À“óåÒNa`Yt­,ÐɽÑD–W"<~"X)¥Óõ³QQ/× DÜ€âæü,‹€IOηœê‡XÎ]IÿÝÁ)Ìê˜_ÝÔ°°6ÙÖÑ*®€Qî@s€¥âaKÅãZùÎc;çSçËÔdºê(_Éáå ç’RIeˆ„ Ã¼Ÿ@s|£ä tàtèe!ã?.СÀf CéAІôƒ”¶w4ÝxæãAÆ4Ð!o`º‡0T_v¶Ïc7#ÝPÒ@‡ÍÖä@é$Ð¡éø¶‰¥§ËÐb&ä×c!|ÿ°çÂìûëštx06ÂáH›ž-·ÇA‡ÒÑ]X-ÍQÐ!dEÔ° ñ10Z&”‰›:€]Qd$˜9Ÿ¯®òÕsÐ!á†rZÜKˆµäÏr§]\qkA‡@Ö\HF(˜Åà=s€»ŸæÒ@‡'¸3ZºÍÅ@‡`¨ è áÈo…ŒÌ€éúAÀ3СEZ:ćwc Ã^>´7ÇA‡ƒQ\—Þ![˜¿Zv-Òi®^´°£¥­ðr¤bâòûØÚžû»ò¶?öÀÀ&© CXÎ,‚89˜øž(èÜ ú½°Êøú˜¯ag0tš­ ŒQâ‹U±Sât°QFôéÑÜ?EO÷÷6 t^IJ8:.²~Z>Œ@&ÚQСt×÷=^ÄhàÛÈûìÜã–'Ê>ÓD§“”i Ã‹>–•®Ç—ç(œéw½Ø˜ÐY¼ÅFÆFA‡™¬8÷zyžE̹͗ÿpÙ†¯ãl Ð!9qD8ØI·u¿é©×ƒço±C»Ýž:Ô_Ö×&Þ\_6ÏWðuÜY Ïõ=·ƒ‘;t¤6—Q¤sØÆåethö÷}Ûg9}ìá$ÐánÓ·ëÊ%Dæ_®°u¶x: :”‚8Ò8è°س'rø½Såâ÷#"¤‰3Ð!*:Ü ^õ°Òïú‰Q6IGWƒî'ã C™í\lAžã Ã½Süº /SB ó6}3/2в¸,AlƒY¨á*»„]»ûXè¹@÷ÀžÌ¤“GyØúJÙù‹Žõ¼CÇ·ëþÝF^½\­cH&í ÉSÏA‡#g‡JèçˆB(?ºî~ºÿ3'èpÔœÏ\RœsС'‡¼2žÏÏ—Eó€€ß¼’få0>3:Žèt9ÒˆŒs½,è°/‡12ûx£ 3són2þöâkšt¸«'mŽüæZt(¶ïb¡¢ 3²>nËIA2·1È˰vº(öBýå–ýXÂè0k&×8ÊÌôÄ&1M¬° ,K0¨ÈÔzôØx6j“œU¯yá÷, Oùþb±þH")k‰¤ë®Ö¡ÜÛ…¹3}„Ü4ÐáŽðh¤b0 íôm'{/¹Î[S ÒÉÕêTÐ!ÜΗç@EvÁÐ58»ÃGÚÛ÷;·5_>µU@©TÂ}1ä]‚ PÃè¼ú"NÝx<˜%|º‰‚59Œ“Vü»QÐ!4‚.œg C“ñiºT¾…Œpq@FfØ‚FGô«×µŠèt8†<äêéãÞV7 !èH€a;àûqT÷Óókk ßQÐ!€TСAºxIðy‘Éûöé8è°§øßf$VDœ‚ØÛ% öü³È-¹ Ð!€è0¯%yK/º “m©WzŠW°ÌûþõDÐ!ý:ëE:BNZ-_/¤t8#íÅè0éè;:ìîLöÒ@‡]O˜:‚Sq’õï¥4G^zèfÊsƒ™nX(ˆ­ uèÐÑZМx\ö t8`œÀ—™þÞZQ€SŒ¿ã t :d#`µ íÛ“@‡~rÌà t¨tÆ~Þê§Ç²ºQ$ÏA‡p­æ÷ tØ·ýÿò™É÷˜:Ôu&çf€gÔè:¿¯Ã„²ot t :”x!:€•5š;Ä%=¯tÐáÑ) -RÊâ±S ß{bHç CXXÌ ¹ÒJ^J§:ŒïCxèë5¹í˼’§µlQ¿°Ø–r#SÂuÑ8Ìè0kÉ1Ð!ÈÆü]ê§{YëÄ2ÚÒݸ­tÒ3ÍäbÝ–¯ó…š ¹c|àÿ7 t˜Ë²`–ç C~¾“|¸~7Nã Csƒ‡rh×f2™© Ãö„|ßèHWÂà¥t°TóåÎ$Ð!Cõ`('`ÄxÜUvpVJ¬IôßÓoÅï7«¨ <˜¸—qÐaædL§W}[htØ>™+dež™´ÛÏ@‡ÎA‡£)cáíÎA‡»BÒ_'ÇÔÞèP~˜Œ1š¼<&kýs‹‚)9”#ó€óÜÅmpýpûthØI,ÅeA‡.:XqÿnèPÍ#:0te‹CMp±E_÷A‡`©îáF£t:<è$1#ÇZR¶og+Jz“±qÐáC!Œ© å+>Ï./«!ð0?¡e¦sr<ûrå‹ÄðžÏH:yˆÒîì G;Ý¡U %-$ú“QȺ¿¤6;Y°ñ…ôn„5=¨ Õ“Êš Úu²fèD–XÿRk"¦>”¡yLºswJøŒ_Î'‹Åá2ó·Ì^b}!,‰#Úö÷xdŒP¼½zl—ؽxN™Htƒä®(…Diˆ°öOqÔŽÇ ŒŒäþ„lO×}& ’ByЉ3¤dLNDŠ.¤½ÉÁS(c;Ì•¨ùÏ:Çäpt´É¦t#ÝV~vÓe/0ªfÎoÎngí '[Påº/4m5ÝèÜz•¿æêìïü£jš°N +{'ÐÚ?œ@2û4”´iiqÞá«>¯‰:é4C‹cèXñó9x¨ ¨ûŠlÉ[Ãã~L¡ƒòæ"rBÍ“/á™Q¶‹#i2=î+£)ÆsúÙ¨ÒôJ±+¶oð›Õ,Æ?—2QľÑÃöa2aNŠY0'¾nX*Ôàr“ž:;±UÌ^ä{‚y„ZnLÆ—¥Lò¨ñ l2,èƒ8 ¿4òÙ¥”ĪKÄï;7òe‰.¦Ÿåêä$t‰;B£bÐùWð¿ÁZ¾–ÔøH»ÅÂå*°4SA\.iq: eE¹:ÅЕ²è »9T€1=š¡Mpvs£É2ÙÚN:WnøAˆ ±Æ´Áxì¥yLbª`È+þ½µÆÅÁ åó,qº•Ýd²¾\퇫]£ýS•: ¦6˜™¨ØƼ¶¨³ˆõ)cœ¹AU>4£„^^y èÆdÙüP®ÀE<¸ÆÚá»´¡ëóü‹{áÏÅ Ý‘°žt)^M:ìVògúò|Õ±¢;y»Âä¿[°'Ë¢•Ÿ¾¡I:<íº¨•.WXaØ“ïœvãô7ºêVQO:èÔ‹âxÇ‹º2Y¶TËqYöTyöBäo3K´m±énB“$»˜W+ÄÏk•¾Š @»{a‚±©ihŽâ4Q¸î;Àdu§F=erÐÇ[¹8pI›0:ÄPgw/£Oý3})ÓB1ÃàÀ¸X‡*§~»SH½xrÆ+ûf6—QÏù{£‹ýÄ(ØÑÁƒKÑ#‰¸Á*I{«—Ü-é`Â3 ¸mUQ®æP°/æcñ‘’º.K x97ÙŽ9}[.ðØø»d`Ñ|]e¥'‰iÊF5;Ÿ®êhYôÕ>¬ãVŠ®Àh§ûÙÅ¥%˜Ôåõá´ç¤/‚½H•¥ðôÓOão|ã#}×ó¼ÔqÆæî£ šФ¹Ú6ãÄÚÂÅèF›4¶9;Š.(ŠB.?xõøhFËׄü±g†ôY Æ„­{.6¶üØ=(~ý·=…w¼ãsçÒm†û÷Óµ¹8–µgß/Mô¦Ç£Úq^”ô¸bÙ`\ÈãË+wWhé¸V e¬ÔöÏy¸ç˦¶ê*G˜{¯×Ö|¹™«È;TBE+Pd¶v¡—B¹Rº>›.øz2©ŒrXâôÜ V a´yº^œ=fRÕßËˆßÒÉÇ÷s &s"ÙÁ“zƒÁîÎ|@ œ²ÈŸÖ×2þ]y ‹(¯'ž¿ÎŠ;=T¦¶p%ú9ÅR¨‡ÈMØÔôÄãƒTŽFI}S^‹È6Žâv²:LÒ…ôý›Äìx[Ç.‡ä#ÿ{F!¾Žá8ôãÀŸ²•”ãÍÌdàAtüsëAœ¦Äímxž‡Æ?·Z!” ™Õ«(«M°™ô¡1äÁêÕpM{Cu>ù–Kú7ÍŽb›øþÇ¢ç¹f¶¸^Húö÷;¯³¾¬màš[Åå한 Å$Í.“¾¼ÙïNü>™BæÑÐZ¡ïǶ§ƒ33¤i»4¡‹¨Àa|~îˆñØ¥]i€µ"ñ:«Éçâ:ÄÑCyIæüäóý½ðüÝ£É1î|®-[U žR-(Ä ŠÞ r*’1'Ú¾Üs}¹,Ÿ´ÆtPR†d]¯.ù¼(ñ¼þXíB=ŸnÿØ<: ™‘Æœiÿ/woɺ¥‡}1GdLÉ8“E²†[uß}zOO2Úè^jKF 2üöÝ o-lÞxåá­íu{á¥^X–Þ}5’Å9™Ì9c3¼øƒ‘YuŸÎÕ½E2#â3~ç;ç´ÔZë¯$µ+j˜¢AcÖ úíö.J?ÿ>·6˜É†ÌÅ!…€Ync€¾]íû `/Ï‹ìë1¸å׈Ó{`û.lk±-o?/ÆžÖéYõùÛº6¥ãj:ÁçŠuŽƒáÕ°ëý*Á0ÈbŨl$V¿ã ½·OâY]Ûùêk3Ò¤äÊFÀ¤¹Ìßc¬&Nš3âŸúþúx eV×ìIF6l'¶î4Ëþd˜ á‹"u´ôzMVÁÔñaFô˜ÄAÁõrÛ7Óªs]Q  #kN ÅšÇݧÅçгÊßékâmò}cšÈífP$ÞtOŸ6ÈD5‹qÖƒ+’è ¼ZÑ„JÇÙyO¨Ìî:9rÞÁö UÌ)ïÆäï”WÅü6ñ³˜|·¢1÷—\æ§lµ ‹/>smƒüã’¸WI~_Ù"r2M‰Ê7)Ç7Ĺøÿñg8õêÐ=`vMì);)Ú•|CÊ”&¾Ä¯ +×ôøŠ5°–þ8’wËOkÍjÇ.rèpx¾,ÓôNk()ÛŒ–lŸœãG˜ ò##Is¸fÛ†™k´¹öÖ·—×I·ÜPöÑ£+_·e\`‹Z¯)¬ñƒ†‰‘íçëõî/ˆ[ä]Z Ž[Ôk‡+ßc¼Kd²¹S”g_&¶üù[ÏÆ}"§âëÎíÕrŸ8ìbknûÆÐ ºIK÷Hzc¸JŠ'q»¹D¾ÎMu}½fâý¨l|µò²Œkñ¦‚»·ËqãXy\=Õvª§ÀO~óŸjl\<Ìpƒ¾s‰ßÕgà,—¿Î0Â3nq~÷ã]æ/köú×MôÕ8±ú&Ó)ڸóÍrŒ½'•ë2 »›bëág/õ,ö©mfõ‰¦¼…•L*f·X@rìbÒ#R»s`]™Ì¤Ö@ нñš(’8;Ä+uõèï“­ê R2ƒÕîq¸Q>t÷Ó)¶Ü†ü;“9¸|–DNÝ€>z\aH1Ó@äPÂY:¹GçÈùÑìbpÚÈÏìoW^ãÂ#÷TKÈ9†­â{ÔÚëzL9¨˜Ìª ÁÙd 3©c$f ‚ =w´ƒ­œÜ0\d”Ù¸ºo# CÜzêÜYx$1bíb¶£-6p‡ õ8›‚té¯Oð‹”É/Û âÚz]A·ƒCqñ;ü.¢´XɘeÃÝ¥2"i䜓¾¾ 7Ä2veå‚­9_-ïݤCËÆŠ}žÉT˜#Ã4W3ÍùfyÅ*HmZ´ ÷ç«Ç¬ Æúä¬M®x>Ï^Ê0Äå¨aîO¸Ùãˆ`¼N‚êš\î¾rÍâ™ìæ"ë¼Iμ5*'A¾ÿDîûlz‹éÝr°¼d‰Eóè°å÷;I  -¼8¬¡fí@SWì’`!ô«AÚ‘QN”þr€bH™˜µ³ Qç‰# ¢t’ [ôÔê÷ÅÄþ‡úâ`–NŠïÛ«“û«…ë­¬IaÎög hz@ç}&AÅ¿÷I ¤ÖHg¢ïÝ–ge Âz¸»c0¹‰qg—‰Òu–‡kO$OP¶ë™]‹¦Ä÷ˆj9oêPÚä÷9ۛ΃ü¤É®WÏl£ß+Ú4îE:YsÁ”SPÅk6ѳÉû5¦]]‘*vWwú9~X½›Ü£¾F=¯Ë/.*Ê'»pnÊA§ô¢‰ú®†æöコ‘=ÇNÜ€Îù¢åLG>2¹pEÙÈ­Ô‰SRòT*û…ä~Œ“ÎâäæÎ6 ·‰Îÿüxu€ºË´*‰ cïë‰4{Ò6Þ¦Ý9wWÉ\bµÜÿ„“²-¼IsšËOãFYÞ¶ÛŰڨ _ž! >IBnò¸ó~yÓOý»ÌGhâÁÜ5ïa§ÓUÎÏ—Û„[ÁGÜ[”mu˜ÓàfYLæõ?ÁòW@·ï³øì$Gæí«ÅD5vRÒîqVäÜ—$ì׫p/¼ƒÚã°aT'¨îÅùãcyw± µŠÉáfñ¬Ãm"wGÐ`Dž=øå' hb-¾h³âŠÕ­¢ÛÆ S”Ëú³W¹Xpý<™«'DÄ ½âõ+ Aæiëi¬n±#6%¹éŠÛ9_§çPNjÅb—£e¹ÈÁškÖ«^’â…ð>u2ˆ¯âˆ=ÓFÿHÅø®¹Þ5½¨ÿ·n¯ìÿ7Ô„-"×ì(€W+úF>®ö{j Šž=Ù†î65¸s q4£ÐcrY–Å¿øÿûoÿí'_—¢¨J¿ÀŸ<½CuÕ'tÊñF«bJs’¬¯¼Ÿ—¬³†kØM†,Ëø›ão®u½ñxŒ].ôóû¸°Šä³ŸÙÃpŽPì‡:þÑ?úGøã?þãoF>Œ¥ß}·:æ¢1çºx7­–±ùîèé}± ,n•c«VË„_/æbôIŽÔNsW·ˆÏÜ8.ûÿ&7í>7ع&¶î†[œ{Ö’vâ²fr×gÑêÀ’ÉM ä¦eËiüÞJg+,êŽ<7Ìi ¨5fx–#o‡FÚÀª4¸tJÛ¬Žã¨éj¹ðïHüì±ÙužÕŠS—¬‡ýP†ß-O0Ósç¬- ®É¢Oª1ˑڻþâIbÊ (#¼™›ÒA±Ÿüê󓞥y‹éqPÜb òL#¸õ>óÚ¬Xh†eÛöɼ_[¿†~QïOžgöÌ –ŸÉ!È1¥õk—"÷Ù—¿n›Goøj=Iâ·êÄ߈½¢¾Œr1»pÅe:G¡¶Q=¥ï½¸@=“û’MzñÏΦ=(Ùõ‡’ëlÌOšl®ntÙò2¶óŠØ«^JðÓ^¼EQØ –7b5/Cp}" tÚ/kÕ:}¼‘Ùg¾KÎßì~†{u–Z>o3;3ë|y¾¯í`XA›~\ß}¯ÿ,³á4 =$ºvüÝÓ&ôŽÓÉ—3jµ_ÿh–sˆXŽQ—Ö+ÆhûmªÕX’O)¸rÞѶàfñs¢Ôàžv~gK"ù&¤çiùø~û•á7­Ô&òí¢ ›zÕ6üPÛƒo%iŒ;×|Ô®nÚLjÕ¸EMÜÁU}¹MrX/WtžQô\S³œPÝZ2ÓàÌÇnŽ$@ 믮ós9ÕÛk€ò³çßO§lÕ„Å÷§ylÐ_ß|ûÍRnªØÇæÞÁ‚º—;Âs-“!ç<†.”±:¯OtPÚÉr?wëÁG妋)1>{gkŸÏ–&ƒ Èõ6µ¯[•ÙÚ!çä¶h|÷*{çôÁ aHta2*úÛ›BòÉ}üæ7“ÌpäJú<+Ã’tªsHì²²›Ù^ã^D”mÝ)Û¤f|.Çs]s±¬KAŠ­Ô2©-Çlì9¾‚©/n¤0wˆƒLï}ãŽpăù4ªn$µÚrÑ'Ò÷锹£ÕÍXòÁêÕñLÌã¾+ j¯ýbÊ »tuì,O‰¾êuœ¤ñ¿Íe~§†ÐÒZ¤¶¢‘õʘC‘¿ ŒjCòß´aà¿ÛðŠqW@1°Îim®ˆwuÂê<}¢Q¨õɽ‡ë³"}u£”¹`pǾîù IDAT­QÌ['9ŽJ“AÑV¯G5æpzRV ®Èõ,ðsÍ Ô}uÞܤH½¡A-'ý+нFÎlÊ;Èù½°x>´Q¾¦Qâ«Jëg\‹ÜÃÀ'ÿ¾ó²ŽA”Ûò8É|õ¦RþNÁÈÎmcV}þÛ/2Ø™ÿŽRß$®W癃TAa1n3c8XÉ¥ëÉ,—»šÐíÅqÙÎFu}=Ù$qšp[-×ÎÜ %¨Öû ä#gé¶”Ù¨§ísû zå8?±$ QÆGMÿ3­zê}—S¿sDthI±GŸ-ù¾ìK”éãžóŸÓ©Ó ¹ÇÝÈÜl¶Gê‘ßz«'h“fÑ›$¶q7ý1“¥\£ÍÁÜéÑœœË!‰ië±ýgŸ3aܬjìÚ[C»“Åù\=·âä`ýºû@ˆA{jRßêà ‹±‘4· µ½åP‚g/pç››ѧ™»j“œ-“ê§š“¯Þ\¾~¬.YË;æñ­?êáòÐz{óäïÇY¼Zÿù÷8ÑVÇûÚf5ÞØÏü€s“É—$9`keÓ]p¹Ø·RߣŒ0×€Ø/Ú¬Ýf5¾0`É™ý°Cì–»`sÅô¶Z¾Ü€¼ÿ›\ì䶘óEÆQÔ‡}`¶ éÁx[Œu¶5º7·ßD6 –ÿ½¹OŸÜ_=ê¹ÃêÒ‹T4k€ù6ÔH¯— ˜àö‡s¾ff‹’‹ ]AÓz¾‡m¶ìˆ_§ë†žë{ÐÈÈÑcIAº|…­2 P–;÷ËquP]À Å èÓ”$g ­¬KV{yÔLT0R™<X$Ø5Ü, ™ ×ïªðzEp×ÿœV³Æz ?Õª¾žšë|Oˆž¿RæÖ6Iåk„C2XnŠ˜èÔ÷ìȄȰÀ îL¢R:m"®öQcu±ºézMo÷qkÄD]‚ãdRMX>>ûîžø a³úlƒS hÊ5‡Ýñ2ѳúk"OÝiæ“N¢lS‡uŒtLŽ\G¥$DV!öÐO[kV­´w§¾…É1úv¹T§\°ó¨Åòdô«uñjÁº²ò¹‘w;³³xá¤!àý]<ˆÔ,ö8ur]æwÐs¤L=-`P)ñew·ÚöÙŸ&_ÖœU}j|Ù^ÛZu‚¸!.NZÆžˆ÷åúø0Iáû´;gçðq ?W'g5=ÿ±C|â~¸7/qp2&ë'¶š\Éž½ BÄ¿,ëH”Âj¯IÓOmXLÒǟ˱©ÝéÍ]s r:]åø˜Ü«ù¶šx·ç `6×›¸³µ‰ÎÒ±ýа¹Ø¯)eÀJÞ:ªüݶ©ÂŸTƒò÷Ÿr…)ÕE•”‰ÜôýL:±ÓÏ­‘®Ú$ë±$©,‡Ñ-ñ¡TöצP$’Zw tö øS0–àk‹ ^ç÷D'Ìp†Ý£Å¶›¢ÖŸúHÍ‘ïX¶œ0+l™ÕÐÙ[º0 ¨/Š$®K:ÁÌÈÇvëºb¹HB™NåZu¶Æµ’9Ö¥%r_-^ mNOáÕô¢s±ŽßNɤ‘¿wp –^3$”€ÿ«ÓGUlä-jðjß8›+þ¶ÉlýIíÓËb äy娛¥h}bÓ§:Žÿóÿôßáÿã AxüfŽã°±±ÿØs4­ÐŸõ•÷D\Œ(ÍÍõÎB§ð÷ÿþß_‹Ç1þò/ÿ£NÙÆ)„,rÄF©íŒûcw cpVÒõúOÿ)þÕ¿úWØÙùú©ÚÜÎé>tcü˜ÓÍ „’„7új²@ì÷¡o­ž€l82îºÙù]{EhF¼`ýâûAn"Dí@ƒß¹E«Ç,È_‹~‚fH|-ó<†If#i–ذû~ÙV˜!ñ£±•ÙßVT¡×&ùnenú”½t+&ÁãÌnÊŠo{ùÄÅ$׉諧ÕÊÊj²ˆÒ"qа]ž¢6­Sß\§_ˆ'VŒÏ"wÌo¿ê»Úª¢–+(~¦‹Êkâ?;MšM¯t{™?­š¾›Å6–LΨ),ÖQ‰¯&õYâkZàæ[_â3{õ„·Ó‰IÚ9ª¯¹,Æf!Ä{‹äKÞfÑo4榔O51ÅE‹¾œ²Cœ_OP›MñFN7¬\¸ñ.æ°×ïÞ¯O¦üœ’Zþ­Á¿Étº_›‚»[Ž3ÑàIòdåI™››,ü¤|†£QuŒ!½V1>"ùÁŒß®ö17e= ¶S’UK„t¸hɆ?-<êé)Ç«ãfŽ 6ÙÒ_)_­ß³XE7*ây´½ßÚ LLô\¼§ÒÄ^2^–“¼R‰Ïü[#ÅØ &.‰<½1‚‹†8¬‘ÚJó ‘éq×e9^l¯Žù\“·[-1¿·öýéJQÞ}ZãÊ0·‚mGYì+Fî9ÄEg“Yoû=7°õ<%œWOœò™þƒrŽg§ dú ‰P~~Ç'vóünñsñíÅñ]ÿÝZÐFd÷áz™ý’‡åÜ~27ÀÀ–ŠyTw×ÂÔ×ñyj¼Ëͳ¿éb\r?,'â¡IìxwŸï£ûÍ|2œtC½¹\€Ä$õFn‚÷\îç?'öƒgUXñL”ùw®Fò]+Z>dAÛª®3„³jùo”óšmuõ”R½YÌkÌ»Šú™“}wr_ƒkïAžã+l ‹s¼V\Œ jA±¨<ÛñqmÙ¨Ùupµõɳ­ßú³µ›Œ¯®=5ž0é_w1eù†bÌÐG0V`ÊfYâ´ ­«pÒ U3mq œö¡ð2j/vaÕ‹ùÂ.7×°|AlWÝHà´É¹l4çVžZeÙ±Ó qìtnúݤLôØ[ÀÝËMÿ#ÔçmÐì9<ÂÌìHäÇš•a“¹•ÍQn öt.Ù"öI…1,«˜·Øç&·º¾!³ |†…u÷ ÊËâï·„\.Ææ¶‘Õ·×:›©»8ß|Ÿ=cKÎä®ù°ÊÀúëÅr-ËÁbÇ[:©RÉ5íú]r­Ë+`*+`ý¢½cï–O4ó.ÒÉÔ{ëãOôÜ ¡âN%±ÛÏÒº Ý(ÆiËG²Y=i®‰ôœÌ–¨Â |£3Øžqø]~,v}lŒºá….àE½x}i… Ü$²Ù÷çLÃiyÛ(_oÎmÝÑXŽ¿0c0} 1×Xb§ fÊ^j{>âù ‰ådcôäó’êÕïyjßÝÉmõoÖ[aßòÌD ”%~³÷øsÄíî0—§•ý¦¤óžY:4B²,ìˆ/ªã’»SŒRyåâßOBeqÃ/£ëÁ7—mEYŽo*ß—c%··œ¬8Lú¹,^„Åïù~¶ÚFÎÚ™]wZY¬äº5DN3£ïˆÓ䟭Ö]«QC|xm ñxõ@™ÖÜ:hÉç‘\—1h}¯,C&Å¢æ’óÛ‘Û`¸W”kVka`BÞáaŒ‰Üsµï5ˆ½,¾ˆí•ö«óGVÈþ~$Uóôüé5Ô”rXð¯ÕåŽøXL™Ë²ƒà÷‹ÝËr›9jâV$¿M-sVc+í443¡¯sÅð)òûSïíåNáömù½Ÿ“»%£æ?e¹¿U¾V­.Á2§G‹enß\ÃXQU4s73);äYQè˜dyq½I-˜\aTŸ ñS}ò©}q¿˜ÔŒÓµwq“Ep6†ÇL`¾ËÀ´ŽmÌñ˲¢O?qÉÌø™…H%ÆdC^½þ—W¯à싈%tÖ.ôj#5ÉM/kÔ‹gñZÿº‘¥™·ö³ßÞdj½¡“Uâ$åUû›*öÒ"èbB±?#g”\þLÍd,>®€Ø‹<Y,<0.±1³´Óª{‘9~n­³ífz˶«‚ÍEÖ-&a¿8ÙñýÇÌ6ì׳Äp+OOm=nõj+M2ù»üN×sˆ,‘wõû媯h5ºs2ƒGLÈs |ÜC27ͲçUE®…¶¾z¤µº`µä˜'Äœö³jû,¼ÎìaT'²ùR_žœù✘KnFåd†Wˆ½Ô¤, 9«ÝbÒ}_¶åt,]̺ë[Åé»ÂÉLŒ˜&>Œ9"ñ]®¸oø™sñq”|ü$ÛÊ5³{zS#þ7è‘ó¤R"(¿EadIߤpÛ]î+7Ìj_?š+Î<öSK'1cÖŠéQ”ÉÓ¥Y,ø]ô—ƒZÉN‚)Ô°­«HÖ9iD¶»Fn­Ã\+IIˆ‘Eþ]˜kÌ7ü=o"6–ëi²[.Øi-i Jdfxka8É‚¸ÝñÑz¾/]ƒcËÅðõNñX3{Ƶ\ühgNÞõ4ˆ'6ÛúPÝ©$¿$Ï©VtàLNPýN?KD½³ì,»èàzZ&„oˆvNÂå`K»HZXëM‘äæˆcúñwðv³¸aK}†ûPDG_žÔÚ·«“Þச´ÃRÙ{á¹)œ&‹èv‚éŒØoksŒ`Pü[yw5‰Eýþ#êqE¤N\”mË+ËrPAÀc,;FËzãõÉÏάŠÉ­r5°°•ýhSÂÕØFxVNR§L›)bÒ9Û!:×JI#JPÖ[6¨^ 3ºÊrE$69fË1Ã^ZØ37Δ¢³Œ“À¥r:?{üÈC~#{^[ÿ,—Ç[e]»æO,è&Õ ¡gža’÷¾½Q|ïl…À9û¿¿üÛQÿlFÖò±Ý$“Ðç0vWŽìþ£‹^ãZóü2v…J«:ˆ6Yâ릿‚ëjxUo៼ù=P³ä~"ü²ià¿ÿåïÃrH¬nXÅçâÜ&>ye™ï$Äϲá5hÇÆS?’ÇAVŒËD±:öÓÉHµÚbÌ€“Žñ§ú§øË¿üKüÙŸýþÎ/~…‚Š¢È aQÄÆÆñ‹_üð€ÿúOþKüóþÏqxxˆßÅgDõæÇÓÌ.¨¹‘öúâ;å1LÝ]ÞèI]=Ä ~õ«_á÷ÿ÷—’išÆ¯~õ+ü³öÏÐØ¥¡únÌtÍž•»— øFç?lëÐZ˜w®I™„~ï÷~ÿæßüüëý¯ñGôGxóæ 666À²ì—÷(dUÅææ&ŽŽŽðÝÏ^àïþÝ¿‹øÿ!~ýë_ã/þâ/ðÇÿÕ?(Æ×{™Þ×À}•LÉ™pmLìç`š‘ ¡=¸.–ÿíì Ä¢üÜ !òëOï æVÚ4”}ˆÕ1Û.sgqº"8°Y+ËÈV›è¸2ÌÀb•[m¿esñïÈ’‚müüsnŠA=GÀ°­Õkž©´»g®×­þ€½ì½þÊjËÉ®Cù:¼XíÐËåø¨h·‚Μ-5ÊÆü9+€×¿K±½õ Ú†_”·–Q.Ü󤀓‘­ÖÙÞÌ쑜N86.fæ…Äç ¹i}Š=çkêÚçÛŽrîrægñøI¶ôE]C=m€l¦g“o¾PÓÉK×È{¼kôå}¯•j‚cxFâEqDr[ݨÆÄ™ÃñAÙníˆÇ¾XΟ޼®¾–D—óç–œ«­Šö³÷Ü€ñpù™ûlk­ós™9ô¯­ôýgE'ÞãÚ#¹•@‘ŸÏÆ—¤`ÅEe iôŽ!ÜO0er§ùÙÙ6ô"va}(B„´ð8eŸÃ¹[.TËö¡‚ø\ƒÎM8õ«s<Ó^¾6—fLŒ:E[6“—ã[:?g/|æŒØËqXŽq¾[°y†ÁF¹é"³v™åxpÌI'Jï[ÀÇ[’Øé57¶‰~þÖJŸ¹ûÓ­ 3>“€#Ûp>.Ž©åtŠ×ðfE}âår¼x8&2ÙŽçðub‡¦Á´ú)†wqq–Nßúm®6å}èÇÕÓ%õ Ó_¾‹‘Õå÷.ŽH.~¼Ã Ï>žß~Cž•‹ñËÆù®;;ËêÞòbì‰@deS€ Üè>¤¯áͲ¸¾sM£¾[Ñ*,ðy*yÏ̷ۢ±š`CÛë“Nj¢„øn=üñ8W‡‹su€$t¡0™­í犠 ›ù:™•á{Õ©mïÙÏl‰¤æçÅò.ÅsN½Õ¾³'¥¿ãYPçÖ6ºr±fBm9´åçÈÏîp/—C%»¾hŸÂ"é¨7¼3/0ÑËr½†øØOÔYþ·Mfï åk?ÉÜ´'½Aò zÒG$ÓÙL¶#…C”'& ä&FæCÙôû&&,¨~çKƒú¢ð¼±ö=Kêê˜ßTÔŠX¿Ú7©õ2ÑÃHWýÎPƽ&—D¯6Ò©ÿ¬¯~4[nDÄbÌl¼Ëâ úžè([ÏžS÷ŠçâEEìÓÍÕí®ðChß/¯¿(syuØÍjeâd jëo­Ÿ³¼_2ù~’ù0]ÊòMS.¾³×[ÊŠkL «É Œ6‚í8øè’¸® -Ô×z!mB{–Â0‘Pô-ÑŽŠ@­n¨vMÔwÇ\¼P<#7ö9Ó$°1‹¾AäÑw84lbϽ–ºSŽ w•¹Ϲfó~’ž{n}ñ´'fDŸçêCT¾æW¼ÇÁåbH‰Êþúâmu~œ,ÀÆýõó=Fæá|NÉ[úêm£ÔŠzç×1¶Wש•ýLÖo˜¯·#¥xN&ñûn®±JØ/b—ÞrÂc¢œÇèV‚íOä¾%¹,7“à êÛ™SPŽq\ÃB_uáúD®è°˜¨lÚ˜• Y¸hЙ¬ÅFfÃëœ)7)‘»ûŒä¦÷ÍÏ}Ð Š±¤ì>@0ü´ž½ìf¶WÚ\Ž»h¹–é_à:2ëû‹.·èjyú¹ºÎÓZc’¬Ó~AÕpÈ90«cV,ÇpÔ‰ï;Ñ祫&ë7l§X¶AdšwËù€·™=§”³ýæe¹nçF™N74½ úL=¡þí¿ý·É×^÷ÆÁ‰ªÁÑ‹ý®oâM›DžñÄÙCÌî¯1dÑn‘KG¶VÎH<ñð¶²[™ŸÑ¨Xˬ‡np•;Zûž;É»Ô";]^À¦4‰‘K®2ƒdÑßTyES€§®7-õÀ4ÊEæ[¸ØCµÒr5¡³Ú9uîmìn}›ÔñøÌÆ>¬iо Û¶!ç‚+º?Ŭ­c˜tѤ¶ñStÅTÌdtÖ£@ofòÞ€2¡`Õ«„sý µƒ—Ü3ðÒòBÅHœ¡áUËÊÛ{ßoUýjTƒÉ./p½3läºYu„ÈlŸ@>Îîó/ ÊY^úÿôeü§§ø8ÀÈ-1ÁÏš5üÁAì4w ÇzS›º…÷Ö9^+4¿º²pxX<çêµÃ²÷}ˆ­6ÏÁ¯ÿåÿ‚ëûUÓ#büÅ?ùø£ÿâ3€LìãýDƾXûIü”m}„¬¼*Â,> àš­G}çÕÕ®®®`Y‚ Àl6ûBpÔ4 oÞ¼–’`oX/o9¸[îãrÛ8Æ?þˆáp×uE’$AÈÆh«2êú6~þóŸcX›bÓ/úÓ©/B2D:xvqŒ`$*´”ˆEþê¯þ õW…ÓÓS˜¦ QÑn·ñ‹_üø‡ˆŸÿüçE™÷xPb𓼿÷ö¯åLDV€­Æ1DSLj¹C-ÄpàÌ€cŽœ•ãŽZôöîWßã•?ÃV#A+pa†Dwî®mìÈ1vuƒÅ™s‹çµ½G_+ìzà¶EÜÜPŸo@·b\DŸ±Óå!ìï?éþU‹‡©ÀÕ5p¸º9, F`ùz£64î»¶RòJÍäà¨E¼+dà¢Ö7“ 꺇ä€ÄØv÷äí—_õ}šcÀ¨ó0¶Ç Ú\\Ìž{h?~z¡»ÐÒm}®‡v¸‰›.´&­Uü¾áôM¼SÆ´«‹ñƒ,£•óÉV7²Mb³0dÀqË Ê´+c&}›¼7 Tà8Ü h4ôÕ~Å:›@y^ÄÔB:7[¾¢`â}Bl7ðë_ÿƒ)¤ÿùŸÿ9þäOþ„Èìasæã³7Ån²~3Û‰í–ódU1aZêWëGàŸ‚ª§¡LYz”å ÷][ÛE¹·‡w›«qÆUKÕÅâØ¿#”ýÒĹD=4£h»øÿÓ‡êYH6×Ì5N,lP«ÿf*õ »OéꔃIR¯S}IûiE!¼ƒÏ-—•ÉoîQÿyq¸Ãw…}q=ÀÏ™6›©CŽW“:Ö»)Y½Ó±±»+CÖ<ØÆz1Ou$¤î ù2ÆÉoÁTÔ3|¨§ª¤35㬥 Êmx¸¤-<›=NFnz6ö7exWЉþYÑv)Œ+ž‚ñ;ˆ…§é”7` ¶rkÈ£K$,ÑUZœ‚4„+V‚ ?‡ „;ˆ7!”t ûý­­½Õ~áþÆÂÖ~ñŒ"n6ÝîæMq’»®°#aV1‰Ò¿1!쫸¿7 íÎ Åõ ?qåyQN/£¯y î,7%ª;îöÎ_;ûÓiDì’w0ÐTÔÏ:døýͯÇwˆùÌ4ïÿdÏõùÔÂÉ‹¯ŸzlÝûP¶„orOîà®…]¼R—ûìk¢%©¸83qôœüîdÈ£Þ|ZþmGCÈló›žï`â£U/Ÿ‹;5áªh¬(Wœšxþ‚<u±‹m;ú©Q¬­YŒ%6ž|ÿ—îϤòÔ Zä0ós9T&€™›îäl™~ƒmqó¯žÛôäYÙþÜ2,öâÅD£äšuPÆóyiˆÀ]ï9ïŶ¼ÍŸüïG>¶ÕºzžâˆËbÜXäÁxDŸLO…*–k¢Ô€GÒZ®s3z :µõ×·öÖ·9†ìB³Ëy)«ÆˆLæIgÌtLL›ú ÒÛÌü³oñ”73 û´‚ F¨£‹«)މsœ,êþrâ™®)˜Åøox9EóYuÍ‹D‰ÞNÞãû:©_M?cKÜû²ÉæÞºÂ–rÚ±0Ë­&N¦hÖ—×Ólïò‚‰Ž ×hLè{³­êØ•b $ÑòXÃKF©"{åtqXÛþèñýØÁÖÆ·ÅÑûЮ€®gÑ=hv+¥ °W)–á IDATañlF”‹F²Eßq8·¹ ÏhÇëåû½÷66_Wc-Ôÿþ¿ýŸÉËï”ß™!MLŽm@Nƒ9ËšbÐWqt\ –®¦8Ô³àÿÚø„­ÄTgÌ\§d†à¸"æŒ}Ô6ÊÆmæ+ çØ÷#ÅD# ؆ Y›ëJŠš¤€pÃÞa?zZpÊ%BŠ$H£„EƒŠ0X4sFĸA[c\±áÑÐÒN~àψ|-@bOR›øëøé=l7ɹX²Å.ʨ}=|Pÿz3yÚ.:qiªÁÕsëˆn/@í=éûÏüs<Ž’{g¼ÃíÍŸ“+4©Õ€Á(ì¢Á=Íx[§Ø;~ŽiºzªskcSsÀªm„É8ê諟óÌ~çr5qjdÅh(ÌW}ÿ{iõ$M3’¡²öïL6'×êþº‚‹AÍ…’’’$†¨–S桦£Á‰ ­^A¨°gPåÌ6~îºxš˜¬¶kŒj"NWê Ýþöj@ßNzWØLû~yëÛ$ÿ\D#dןR6½B?"6ÉqlÔæV/ŽCìD…Ú^oM%÷Ø›¸5ÇàÆ¿_>í8„Ìü4£ühßÕ¡ó5LBv»ýì`ïäñÁn¹é›éûý5ø­êº8ááÕŸÒXýOPÚÙ;õù[A5y ŽãÂÚJk¤@iX0jíi+E\ó3$õäQã;2„ÚOçâ©FÏb[ÆB ÿ|®,ÀúwC´+Ö 9½)j©íæë<‚Iõûó¬Ä9ÒïôÊ…~HÍK`Ìu{錇i,„¨µÖÓ›šî™.Oª&¼ŠzP,\^ƒ47ñ'7ªýÂdlb«Ñ„Ÿ64ÞøâF³0T@{ÜT*à‘ð‹}’.pˆ',‰AßÚ2P i8ÜÓcÖe¢•dßõ…ƒÖ~)7 ÇôOqÐhab¯¯¿´QÃL+ûßÙç[Ð'{O{Ýô6jª ÑIøþA{½{½0/p¤>^6>M{x-ûˆÙü.> °ÖÜ)ãAEŒ¨:ÉdNV‡ØÐÖó··!6 5}u£UdX`çVf…!Ž[ÞÐÓå&Ø‹ï‰îK˜µÝŸì]·IZ¾¢~¨hN3 ‰½žs_ù …õìàõ$ÀAŠtÇ ¶7¾Íªu»AÞ¬~‡žæÁ>·+‰‡Ÿß™ØúOv ÏM²ºr.qX[ÞäÌIBwýwHÙ=$r1GòiÂìqöóÒvð,š¦0,¬8BÄlDÓS°ú‹o.O÷޶ø5‚SŽ{"`%Àè^CÛ&¶bÜŸb#·æ¬k_a[þ¶>P˜(øÄtq¨®«ò0ÀJ.w 5?ô0S«c~ÖG@·×óú ³ér\pt þÞC;xv{nº8V¥%˜Ã‚)å”Ç#I›T’¾ê1öLjm‰ô9@Ȉ!“Û¨ïeMGS6†e9cw:Âþ> éB‚Ùä`\ßC;ØújyèylŠE²ÌÙç;_GRJ˜¨ØÉÅï°«’úJ'p°ËuBŒ%xLù|gî-hiq\@õ†H6‰ïý^ºOÖǰ§„HqÇâ„æ`/i¨º´h”ˆ†Å>w î.!ñ/qÏõ°Ùâà‹ååž y=úúiNW °íŸÑ³F•ÅÃFø™ +Ü/TÈÕâ?\•‚d®7¸¢û9ÆöIQvøIA}w¿a;Èî‘U€Ü€=ãü\žØØl-o8 ûwàÚÿq› Fñ L¹)™’L$n5ÑÝáhÔÂõdîúÜÀÁ ˆ—Û¡®Ic[}º+CVsý­¬ôcH‡]ƒýꃦTòö.?PWQtÓ˜ŠÅÀ4O:°t @:Žã0ìĸ™e£U«H‡J¤CÒ!4„¿¸¦TÊrkBœ Ÿ3dºAÀ‚ YÀ> A§Óœc.k{4n#òŒ#i±“Ðr냖‘ pø•¤Ãó÷‹ÜÈÈÆ¸zwã'˃l–ÿ–—ÆØnŠPRÐætèŸeg¾épjf+9†ÂÓÙÆŒw_-;v9qÊ“”H‡Æg"oFmuºŒt^>}\qpw}®Õ½ýPøÿ*Ò¡QÑ©RI:¼XÏ)/޾`wO«‡£Ž`ŒÞ=úÙ"¦(OU¤C+IW||%é@%éБu û™¡O‚ÞZ¤CMX?H|¢ßÖùU5x’cƒØQý¤Ô‹ßo¾»^ä;â¿ÒOµˆü¨v€³tm´V·¡;£ôg²Ÿ'Àɶ‹Rvu€þ@:°t¨†.¼8+ÚËkµ—‘5q±n0ÝÐá#ƒÚÒ!€éÁYH:¼¯•mqb“çÝÓD°–°EÀí-±@:¼aÒ5õb°·ˆt[tvNÓs²Rí©¤Ã›~Ž r!ÂI¹…ï)¤C?.ûE¤C%Ò!€G‘ÇÈü|ÿ¿¯ß/ž“{Džùt's]½ZXŽò+K¿ÄyÃűƒ!2¼å;GûS%MF²ï¾ô®á|r¾».‘ë¸>ïóêh†ØIe¹¯sõœÿ+ŽûΓµÈ„ýq]­‡Ž8.¬ÎVĞ̓{’:—¸¥ "VK:P Æq¼þö3dà|,Ê©NômìõÀè„N&O!€dûx~Ø'”cÙZÎvçI‡gn¤a7Ë:§çÈt¤Ã±Ù¦é”ôÒáer±ô>¹)["öC6wƤ¨(¿«^W&U¬Y¾šc©™Ãìêê£I‡ð¯AmrÀ#æÌW‘àXÒK¤Ã®S|ÇU¤CvjpÜÉBÒápÍUš©EÙÍ“I,çÂ’¾ȯ)äÙH‡Ö"òñЏ>éPy$¦ëÕ~n¨‘•uõÙÁÒ!ð» ê}Îì\: I‡ç׺bÏH‡lÅ™3Á†÷t|ìg`VÇm.m~!øf¤Ãˆ½AX'÷ù@:”k!éÀJÒ¡­{žº=0#'_Ü{u1(çUyÒ!ÅŸ°Ë°ètø9ð!(>:¹ïÒaEÂç*Ò¡e½GO\ +|¶Öˆ¾ïVþÊ·$ö£Üz«„Éå´ëM~ ˯OLŠ"jœ­Î†ç|3\H:7Jú@:YS¿{tuÝb|ŒÇáQa7-ú3Âm‰txÇÒ`“¸L~ Ž´ S,¶™¢S}ß“'ïÌÅb€ùübµ}¦cò<µì?74!=ç9ÌB{ü*¾Òáhhåp²|VÇäÔÃÔaIDÛò[ŒM–ØÑ«·åsÒ)òýçÆgŒg$ö| ²±GµéTáÅÒ¡u¹|íMwH®¯ìõ­âú¦§’=½z›ø‘e¤CèmY&ÅgPÌz…,ù8RðÛIwíûøÑ¸LÏÿø éMsg5ÁÛNQo5uqáÎ0Vç}ž@¯½ìOEô¨D:$²º>áaoSa‚ 7Í“Ùx¼’t D:ð…t8²Ê~v|¿ú¬D{9Vÿ@:œRe\èâ†Üóéða ãÇÖ±ClZ°`bŸë–ývóœèÀµWÖ™NnµÕ…m|!XJ:´üåv…šÛx'~žpsëPÅ“Ñ(¯Ž“7j‰t`%éB×E0¸GÌÈUëÁépd÷ú@:|7·ÒTÒMr1Ÿÿñ†Èú³ÜªV+ŠÃ¦âºŒtx6­^1ç$™ zr5Fy”n§ª"Þ 6 H‡ ¤C n3Òa§ø\ã«å¹±ª-þ¹_· ¤ÃAÎÞZR“  ÁqI|ð10’#Ò!s³÷¦“^Q¦ëA:Ë#gÑxÁ£h°‡ȹxûjv²:ÄøSµ¿^F:$˜ƒžâbe’ä&cçI‡*]-¯“¼\Ï‘ƒK¢Fl e9Ò!€/¤CkBðkö‚؆ÀvÁOlë D¦³Éá¬ë­$šIØ,Eå•mf2Ðá†öÓipÓaÎ-©U‘gñ-óÉ“|!(\³ŠtH”¢l‹úìlH‡ÄfBü@:€­¨D:´Î‹~°¥Ü 7Ëô†32?5ɽ«yÒ!€v¦²Â=“NÚÌ“ r˜Ž²X`tcT’-wýŽÀQ7ó¤C_H‡î%…M›†6§’›ÏÕé@t`=Ò¡ZÌ­ÙÑáÀÎ2Òáy<íI°Í¾_Ä»<»Ÿ^;»ÿE¤C%Ò¡mwéÈÚzõ±dD÷«Ÿû©¤CƼ+‘T’Àc‰MÍ“”H‡ ¤C0¶ŸVË^E:¼˜eŠÏÙ„ÚËçx£™tÊñµ¸Þ{–H‡ våµI‡ŽAßþ@:ôüZÛlüb{ŸH:+b i‡ç6‹<i'%Áï%À¬øœÇu®’thHÅÚD{@jÈQ®L¯ÌéPE5Ö0O:LÒm ·^—5ç65=†t`)éÀBÒ¡2&[¹xít8ù ‰íÜi/]‡txGg:ái$Ï^F:PI:´ï²øÿüœÈš O&øB:TѶ„Óa1V—§Ûž› ž'øB:L˜¢ì?Ý~õ(ÐU¤Ãk¯‹œÞ[žì<ƒÓ  jõJÒ!s“ÉÝ‘\_›t¨¢ŽX+ÚäyÒ!ˆJ–º8W hÞyî½årüÒ!€/¤ÃAÌÀúËýßIYv‘‰¿$6ºËIÜ=—ŽñB£ø¬«H‡ ¤C{°\Göb¼Ç3–Œ‰MˆnªmJ`W’`Ò/ÞÏ-›ùîuI‡pp¬H‡¼ZŽ|óúɤÃ`tŽ‹ÖãH‡¦‰‚5žN—ïßÖŠ†Ñí_T+·ú&ž½*<Ý Ÿl|:A9IèI6öétu†™‰ÊJæ_—á*É †/0ð…ÅSÝ„´ rko(àÇÞÏO`üb¬ $`¤œüµ³oÕ^ᢗ% ”Ġ"ñ9þnºf±>ƒÝ)ƒƒÆ(;S£óãÂû×Gýõ€a&Vp`Ý!0†¨k¦Ž…‰—EG†€Ï6‘¯ARDM6üÅëLžQË“îP/7m.Ê1±}ÜóåëÄÃ[ÈO;s¹ŒÚ<‚ßçyå÷e˜WÎÃZ²G r1Œkÿîvíë›ÃˆFbªŸ}_ÿ“þ®˜ Ö®Î–“/m‘‡âJ0ºß&î¢æ€’ëÑrÀ.põG_Úô½:èã.Í«Á‡¦‘&ßÝ–Ÿ¿qB£Ç¯ÿŽxl·Šgå 5“šŽd| ž>ù\éÈEK=À‡Ž1O0K‰N·Áâ3gïA F¸½)ú›1[õÙ(^ìHv-5ºúsd°›É\“­AÍMßJ–ä+/¤MÄ “·íp˜8ïqÔÊbËÙ°h‹|Œ$&>a*v’¾CE]ØÄãFŠò›^ÙÎ 5ZÄpÜ4çE¼XmCkF1fto7#Íâ´Ù œª.î»Òbì¢æfòÎnÂËgc5Áže0“!Þ›)8[~VNÕálOÑSÉõÇ+ îW³j¹Ý¬X…wj“çÞ¨-‡£9BdÓ±ýòßîD3D…:CdBœ”õ¾aäÖA™îßVl¼š»S>{Î/çŸ>XØ¢|¼È­DÕæâÔã#r~ú¤xÆ€Âþ0^Æ“é÷ø¦Ï^ØG£™Ý —4 DSøòz©šNO:ü¾ø<׃iBÎøX;Á]Œe#vq~6»%>@òjPž-o4Ùn2©ï&Ï.(Ï¿‰ï§e?d~<ÅÄ(ƒýõÙ>ü¹-–:©%"‡?«—1N§ûéË_ØÎúƒFˆWõ\Ce”³Ù—Aßï™1Òm1ƒÅq³ÐZ](ýõÞ½’Šj;%Ã$×$†; ú>ï³pá¨oô<<_dŒî{<ð„-‡ØšˆYn?jLZ _×¹bVC±ÀŒ‹1èÆV¦Çθ:æôäÌ/ýb±QÑÆ8Oý¹ž4`ß~*Âwûs„é3"Ë'\Lä¼R´Ko‰¯÷q^ºù5‰Ä´ˆ— Qv="{¡FãH®žòv÷G.¹W%õ¿&SMxH¬ÅqÐI]ƒ$nÀÑ‚Åùz".WXä¦SÆß?8„PÅ·¶ÀDE9&KRÈ&OÞ]ҹ¬K€ÞÌ­yt§*4»_ý°_Ä¢»k‹­â9—äÏõjU£ˆ¬L™¢]´'µÑêœpʼn€S·,#hå|Ê®!:TªØ8,>‡ùîf£¬áÚ4²Ÿ+¡ žËÎ*‹÷ÛÒˆ.(kô‹MÞþûêâÜa¾æï/'Ö³ê›D^;×b0á‰ÕÅ)&AªÓ1äfvnRî!½…MlájŒϱñRB÷ÓÓó)®Ndàôóê:†9«nîªçäÚðŠuþ™Ï yv¢,öÿJà׬Fd„—%u ^‡à¹ÁÏ·EWŸ¿§‘Õ­AŒ (–‡D,ÇüTk ‰ „ȸÞlƒ{ñªh熙M£™bŒ9Õ8òhIî{Ÿ6Èó”–‹Í‹öaº àÌ!9>í• yíÝbŽúë‰i×¥øPŽë…-pÞäÜU¦¡¶`î2;¤;8½ðá7²3ÛÝò!¦ä{£×sùJc¿hŒ€ZЃòˆæÄÆöòœYzFô̈–âús$Õ»)É9&ãåÄöhÒÀõ­““òÜÍÀNl¯W/Á…;7Yv@Î^Ô–Ô¨Øýj¬¶ÝZŒáêÊ;ã"ìE}[ß8’Ù£Ót zϼXŒ£©jñ|u=#Èxýƒ¾vx÷¶´•ÚGÕ‡.OÀnâ$3î+×îòe ôÍFfäjÈÖ`ËJ&¤ÝÉI¬RË_Fpz&â(µl|TUÅ›¬Œ‹)ËÿË‘ˆ[oìvr@9+7¹h÷€B’›š8픃Ȝ€keAÍ$%5\ÜÚiò·žãŒÁn9x­iÄ ±<Èq{)X 0:q6"÷¡«‹en7B'N°!eç}9 ¢V/Änr¾ð÷_i Ä:‘Gó,»Î¡J# ‰±Ç”ͧ¯±uƒ²³}PS>.×›”8õÉ;Å{‡¼¯««ÕÓhâô= û/Ðwªß柳:uüI}q®?‰ÀÑnª+›tj˧‹í†™>nÎ2çñ¦NŒ9­Ø8믞hôW$¸ä§>¬e†zÒ A­ œôù.Úù*{$¤SO”Õk²ƒVµÃ¼ ³€B}©Cš‹¤5Wt2êwoß›PDFq‚ùiBÙ˜ü&K»S:·ÿÇbEDN(¦: Û×›ìÕðt_Ÿ£ì ªðá½Uq­ (t_^£ú´ IÜØ»É~ùuybÌà> àno §}¶ñRT ®®Ýò{ÙÄ.q9¹|ìà¬b!XxV¶1®I¾ßáÊ•W4Å´>|Ü…ÄnŒÇ‹ƒ´;O€ý¹Ú¾Üé¤ÐÁ≃Ü-+s“{Bu1ø¢ÏÙS+׉(ÕYLW©ˆÈÕu@ÎPhg6ö•ù[Õv›bH ’(ñEuW êÅ©à À1ËïsP+ž ¥úH”Åd+v˜N‚L €Ý®¸Ç4óÔ+Úø¹íxw$® >›Ø±ŠºéM‹2\3XîbÿöÑ\Ü ÞËŽé\ÀNõ˺:KI·géd˜ž,C^A«0æ&§ˆ¹Â²ú:+¬Œ/ ’ꢉZŸá ùúi¸e•%Wn‘£â9%JOÅî\7åuVx9Ú$ïÓì$莪cogBCÞ-ë½ÖÈbTm÷‡ì^çŸ2?ÈäH¹ »Ì |û¼ÖÄÄH ×´fٻܡxœ¤EÆUý]LJ èüTŸËÕEnAß=E=-Hž†k3ó[B;+–ýX¸ñËìþòN$›ÿª{ì;4í;¢ßÔã:Æ»~Îßgï²ïúèÛŸa1uÜPËcö¤Åí—5;4âAö7šrˆ“ÍÅÅG‘Â;OÐI"°êÆ7yoÉPrÐ(û½çOŸ®©Å|×蜣6­.žµ±ƒks=€å‡võ=mëoî§ÅÄÖº3…–„Ƈ!\öñ`è,KóÝ®3×:S6pÏ‘B`í»Åe#{&ßÀÞ~Qw7r…ʉ]|–~…²— IDATÿ»÷Vr¤ÛÖÄ>d"5¥uµîóß!Á; Ú ’Asœ‰à¼À-zthÐå»ÌШ8`SùU´Gkˆµþ^Ÿæ±7™š©°ËóïpHíQ7ò`óÛã_Ï™®¬NÍóqÅe@tr6Œ°µ@R­Ö>]l-Ϫ¬ŽWgMø,½[eJõB–¥”ÏØï’ƒ¬ï|,ÌÝò<¬×Ë×c¢ {o3ŽAÅ'ßûhNd#: +æÛA7 ~má0|¡M¯¹äó"q3²Ó+¡ŽÃjñ„㊷ÓêÍòòg/!+¿Pû¼¿"ŒtÍ~Äqõ?‘òð n{ù^õ©]qùlóŠ­#¨oC÷ò¸S'ÁC÷¹ü$Úg8kfeJ~Eôér¸ºÖoø”äÙûNõëUÁ ìÝœ%#«xÃÓ»h86œ#°ì =+H©fÉm+“8×7Ù3TBDœØŽ,Á¾¥ÄØŠmżrUÉÚòžc§ô6Oé%[æÕ,?äÝ>Õ©®™øƒÕMnAÏÁ˜8Ú%º¥Ú"ïp‡æñt9€½°½q6¥z×H6ê}z&:ý]ËÚÑÈË ï»:/ú«vûÛ03;µafP¹«ní!ò‰HÊ7 yÂFvq£Ã<¢2(„OìrŸu¼EäB Ökwâ*´gʺ·(TÿT‡ÎLU·óõåF=/O‡¯xüÎ×»dCÓÈÇé"Kc¨Ø®ãw¿¤%T”Êmù06Yã0䞀ᕠÁ¡6ñT"ÿ="w!uÉÙßißW>k=iªÿžäS< b,Òs”¶ujfbÄWfZÞn ¯ëЯ’a/)N»Ð8¹ŸÔÊ/L¢kfp¹‘Ïé’g¼óò5ºžDÏp?Å_{-’¿ß®ŸÂ¶ËÉæ¥Pܪ¢»ebXfÖ² OÝ™ g~þe!¾uC˜•l°¦¤Ûf/}ŒHÙ|] IèìÊ`·Š C£$PöÝòNªW85öó´cdϬ™¬q<= ÷Æ'Š·ò…)7ÅÔ]o/\˃i›‚1êþ[¼jç‰V··oÁLH|£a¿`:Ÿ0=+ÿÙ®UL؈ü™%kÅܤUª2¿,W÷Óh!¤d:F/Uœ:ð9µvzlI0.âÔñ5Þ'«S›û$QÇù¤„I¦þ„uv[rÞè_>xÓ¬a.˜:åà]pb«YE0—à=d›À}º/–ÕIÃÌŒdö½¬p9-*ô¼ã|Òá<^á“õÈjFâ›ý†€Ú»<á´2,jÌH»åïŽpŸÉÅEeÈ`¢–êút}KŤ÷pÀÑ ZóïáØ „Ú®Wn;?iCLÛL ¦µ){Ù÷çùâ¹¢Ù°’N>¿ª ùw”Œ}Ø%…!á(xU«yû#¥ÆøªFVæw.fWù»÷ÅAª|–•U>™ªpü÷ùDÛHÊŽ@tàZ"ˆ¨ÓOÈÙ„{%Ùà .Ç ÝRkpƒü¹¥Æ«_ÝS¹âÝ<¹¼)Sû×xµÕD«§)ò˜Ïû¡`T{;ÞÑï¡Q°—¬lµ¨=¿ŸgmûžèA9ÏÑlŸqï“„xPR ºeÐ-ˆg3*[¤¥û¼yæËÉ™Ju=tÄ·_d§ãp¹ñK¸êzª9¬S€*ÔnL#][*Ðûr’HØ!wÁ;K†Úò⋸GtƒClâûý¬ ’‰¼IôÅ®/?‹·õ|ÜÃŒ´$¹¤$Ï‚í;â­òŒáU2fÛ²~®=¹p½__íiÜÓKlª8›''ÆŒ<¸¨Ëµñû:·ˆŽA¶»ÕžÛ°’i;ÑÀrí(_تïW°ÛvlïfÂ?äLõ<œ½)ÖssaæƒöO¥ï7šP½­ö'èO Z ‡Ilo‚«Òsœåƒž¤³SÔ´ì÷bc¢¿¯¸,Á^XÒ„%N8èV¶Ž¹“ÕLbØšõržÁ0ÕÌ¥=fù ƒyù„wnOÂdNmº«è88NÕim²–=ûfË‚'¹hÊÔw¿IðÜ7¬/cî‹ yWÖrrùŸäî®ØÿjOt \Ï_¾éS6SØ—•»dÈ'X'ß4d\AW.nÆbXꃽ*ÑQj‚÷PοŸ“úloV./R%Dc—r£ŽRÁ¯úq¹¨òêáe¡’ý¢+¿òrwÖÄDd#Áã_ú<}°^C}|RÞ$k7ˆOùr¿ü»o‹ðˆ©÷‹· u£ãÆòƽÙ󌤩þØ$¶µ>/ðÔqi9˜æc¬wÍ?¡y´dRâ¤qBK¶Øš©ú³6þŽ“úµV[׸×`êù³8œ‡Õ "7¿qkÏññläõÏÒi~=åÊkñ…Ox2SŽ3+ðoåüˆÐÆãÝJAy䤂±ëu¬_$©-¬^5¤6öj`¸4±f4pâ½bÅàðî:Å}"Vá&?Èå |ziµ­på³=ö­Èx7Ð=à1’c Õ_gšÕ9tf„§ “u Š’=C?QÄ*³.õ£Ñ.Á|õгN=.fëúìQå7 xE“ùi`UwHIL]1Š!Y (ÁB‚.C,!†j¾‹Ë©…Z2bÔŸ©êIö vó5vG-¾B …LJ¿÷²ê÷!5¦£8Ø.˜0pGtÓº ЩäŸg®‘¿›ÿ•:™¾–_¡øjŸK rgÀWa'+¡‚ @/¿¯íE$©Û?*NdÛZVîxþ¹çÜCâhQAl¿ÁØÊ&·ûHç5 ´ôSc 6¹oà¾æ:ÛkÌê`¸iËßýùm=›¬JÓÔ©Öj°NàH׊ïÁr#ŒtzŸÁô;Œ§<³ Q(7îÅ´¢¼-1>gn¹ ÛjÈPäb›Ë»ÆLžþ»cP9×ë 걈æy6hÒ¥bÛ7ü^ HFöyn“‰ýjö{ž©[àX—‰NpçååS£žù,˜Ô(¦ºù. È·çGËåjfoÖy7`*ØO&ùVüŸ)ªxò² àXQß)Ÿ {Ä]˜Çù3×Eâÿ¢¬Òå ôi>t89¡IEʱ›©Ž’ƒ0Ÿ,%àÍ®¿ -ø^5 ÖÂïé·ô>j I¢)åôÙ}–5q—ßËMD«ó±}üàt—©;Ëï¬S»1ÒóIúã|5ÐugÙzø²~’ ,9÷7 &93?=I¥Ÿ•M.0à×YÜ-$”VRœwpY¢EÁvtRÓ2ÂTçéØ\XïišŒd|û¾Qx± šõÞ6‘™ $@´Ñ^ž¹¹\Å“*ÉÊ›x@þùÝjŸtp˜÷ٚȣS}b½ß7-Ë1²v]ÿëò"™/ùBb£!Y+úÕ½g?{Wï½òËn»åÇê¹6všM„m æÅÝr{X³òñwÃ[>ñÁÝcÉNc‰Ïê§)¨0Yòsõh·ô÷ߪ‡xîÍP]2£ÂjøÝ¯È]ÿ=Å9|‹’•úóå«aê~9a/æÐÓîÖÐ83Å9óèn}@Ø«.÷“[ !¾’t/_~_ÏNþ˜"]; ’^еo§&ñxþú…׃pâÛóTlŸ'ûîzŠð.$2¦Ë‹ƒO àfßäí3Á°}üõêÿðå;þýç8ž»Ö3Ou {ÜLÖ.vÅü=j—Ë‹bù}8RÐL¦ÃÔõ͉ݳ°\ç&9Óùm?6÷6þ ITaÈcØÉZi%Áfw`Ņܦ¶ƒ‰–íðää×/ÒïÙ=µuîÂ$ú¦[ËlþûUö+ØY(òai/"?£…åÇ 5•„È똼_\°ÒÙ©‰yTì{v^7±ßYƒ°ägìí¬½~ô!¦ºD¹Ú!¢Æ¹jeYe­WÙ³Y$Þh.¸ñÖëòBíŸ=ßwRù¤+OwÐéYR¸õb=Õ”+&Ó‰¥aV?­{z®†U@z È3î#?µ£eãe…§ØýŽÛ{2¢­r☧Y0¯/àu×#–©ÂìN…bŠZ²ún{{u1Fûö–”½“È£²u.-'¤×v¾™÷Ò|ýâP¼Õ„f…¨q,/à8ôÙ’;ž_¾­7ik÷h5‰Ày¾ÁÎÁ¯7î¬zñjjšÜ ™ÂþLJރ+˜ê\eµ=UÜ!‚ í¯üÙŽúvû6YÄ¿jsv;2>}#±×óÄ„ë–Lù1U°JÖn«ïÊ !¡ÕÀgý[!6›‘Á„|°sÓ8®YÇï®ü*—ƒâ|ÐjIÜ—µ©õ%xs¹íº·Hs¤˦°dʨ¦ÿõçÿ3¿!x¦Ÿ5Ñ<ÞN¦Å\…Ħï$É:{ÐÍîW§¼`å×ÖoVŒEq+{Þçbñ4$û¦`åëPF‹ј-ÏgRÓ +ª•ÄsÔ%¢cÊN¹<5õÕ¾ÅãòØxó(Oœ6Oéït~߀VWÂ()"Îÿ›÷¸Ñ†°„|­æé…k ­Z¹]¼Û‹³F¶¶U™ÒøúvLìqK°1ÜÃS98[ŒAdÚ‰]ô"ÿµÔÚ\iR\;èèY=k¼¢9CàÏaβxØ  8 •ÝÞB1³r¿À¢:pös¥p fŸ)ð6›îØO¶»Ü³¿·Vã =¿<~S$«ŽcB ‰_¬%¤Û«‡å2Á$rt; ÏÕhŸc˜äúbs}?8äòçñ˜Ú–kÕœ=Z|™.¶êÅ1¡ÍämÀ§)ߪ Íð…ÆÁ(×G¹Npí]/ëG›Òá‹ô‰­P×W¼V—ûü÷éõÒ§á“f‹£}^†hmz‡gïÉÿ/¶¬Ë#­ÔTìúÇÓD³çÑŠ²ç1Z:øšäév?ïS÷# j—¥Fk{U»ž/öÇÃÇ+pU"/Û"kCŸÃ~@f}aPˆ°û_.}Þ­Æo±Ùí㺻YÒöð&ÿ=„o°Ï£yV>á̲IÍç¿âò6¿™ªGn üBHBj3`Ù|·Ú%÷Ȥ0DÃÛ×íÔ¤å)v(¥ÀüãÓ<¦ñª¼ñSÛådý®Ab¸›ÕO>X¿éVžeÏ¥c²²Þݺ k|»Bj0:ÚûYÇîYÞW ©xÐL†'¸¾ô[äJÓ–ó?B7ÿ9â”ÜìŸ]{ukÁ¸,Æy‚Ú ½·ZÉ͆ã"€i&ò ²&t˜‘$ᥚ°.Ç¥úá·òq9³ÐhÀô˜Êj¼Ÿ)áØl 4–ndït›Y¾Î·ÍP›.Z*f Óû”r”àˆ¸¦þ×/‰CçG4_ž¥Ò¤s¥<ÖS¸,LecŸ6(ïñ«70ŒÜæ|q,xïY©Ž²5âúÙ{¨B6ÆP¹òx½›Lð°lÙkí[ÅCT„æþZ:Õ©Jžú[ô¬jåí1{žÕ-CÛ<Æ—ÄÚcýÓFX^©öWc´êv¹­¨ –±ý…Mï6·_Gõ¹YVs÷u*ïÀ×ò÷ùÄäk‘ÛI=‰Šã]Å£¾—}cæñZªÓè¼Áiú5ÎÉç‰&›}ŽªÞÆY£x(Àn=¯J JÏJ¿¾yTþüç?ÇKE ÔôñÔÎ>žŸìîo>%CñMXüËÀ/È¢rì!º¨B\1d0xfÁí®/⸷cÀžÁ{»àf!‚fõ—ÜwUð" zo¬kœÈ§…k< •O"t‰Ã¸ÏqÜ)7Ô‘Û@ô|þ4ï`´8„m~ǹú÷pâr£)x}xÉT=_¯îâoõò÷¶~Ûû1óö¯waVî#ÄG,œá ¿û{Dz2‹ÈÎ>§3»‚ln!>Ì~Ö'D1l¶Jä{ÄapÉ7Ñ»gÑ|EÞ«¦±è¿C9?ÇßòerCÔ‚­ÍäÂq HLŠ¿Þ:>.xBÀíÃQÂÖ‹ÎWô`=|Ù/iæàRT°/¾Œhæ²6Äh½;à sY½}|´qP2½²?Ò°Ó]èHnˆ5w£gŒ¥gTœò˜Âì}Amo½iWþ¸¾³ó7¿Sת`\½ÀPN¨ã]¾hýòg]EO8góÉèƒà°Î½ø}û_4ì¼o@çT¨Áf…ª/ LÇņgýú”’þ”ÃNª(q§ljˆ‰Jתþ³éíTë¡ÕÈÚÏÇ9ƒ†êbEÃÖ$HÜzß=”BTÕßá¡ïáþßÿ7ØîjŒ©\µ ¾Z%ÿåªà8\µŠ˜aQ8ð,‹ùá ÿúø‹ß#ˆ1çÖ‹#¯´œ7N7>Ϲ6ÓX¾J#ÖÁ•Lzâ+Ø÷‰?§!*­*¬PR]_Ǧa­*M|3—t…kЉ†•Ï?ÍïjoŠíwø,¡ºëÀtMÔÄüïרŸ‘„Ôþj@~÷ò¼!”†¨:ëÇÍÿðeˆÿåÿü?„áoÒˆÿë¿þïñ?ý·ÿ]qöxõ`ýÜ! 먮±îùúÚÁÙYz¼öppö{V¬ã µ£·Ã* pg.4ãe~÷Ó'?®q× ˆ×+ Ü{ å]Ë5v3Ú,¯º²L|öà%÷pëD8I&‚øª>Õñ€‡  æñL…æRïÃñ}U ˲ˆ¢õòöP¦4þ=Lmäð¦8Ò;¶æ¸p¼–8LŸ´ö‰?$ž£ãw¾}O¥Ïð¤]b¿ñjã÷¹7¥¦ÃOšÚ³¼†}lU׋ƒ&Ög´•rò—S‹ ™«cfîéÁ~6ÇÕÙÔˆäfMFÀl^œ_xŠ ¡$~`˜ÌSùù`¡"Ü`«¶úüno|œœæåñblâu'k¯zšªA‰TXÉ„&N›#hdóÀ鳉cqFÓ€h?Õ/f|î£þ!wq£R©@ûË?Š‹¥7#5ƒE÷¬<ßðz„=ë—ws áôäÅ¿_—u\><ŽÅá¼ó‘” « ÏT !†pSA+›—ÜN}œ´ˆl˜ŽGžb+.'Oû2Z;6þs¾ªv¡LbRSeQÓWÛHïºá¬˜ >Z^±½þ¤}ÅÇÅ0ª0¢]ûµ±:»óCpLŒ=ã hQ9xfgØòx€_WÀj¡³º~9ãc4ýâØÕPmÔõõbsÃüŒzÚÁɵvjêx<Æ¿ù7ÿ£iúø·ÿößâ_ý«U @·Bì¨ëÇ|³Ç4ò8áå£ývI’P ë0«Æ/ËÒÕLÇy3[àâgx•r{¦ÿå êç°ê2ãåºÐï±ØÙ£²ÛsìIy›d}ÁÖ‡cø"?ú—Ü¿—°m¬Æ²ªý1¼S¬“½û‰­£-¯_$ú&¶øþÿþz|ppHîßžÄÛ•ßãÞ¼ÃQmµ|˜Q56Û|!Ûu|—ý¿¡ô IDATþŠƒ ù}®YÛÀ K&zרgÐï¨êAÁ¶Ibµ§èû,É™~Ûüz9YEP{›Ç¢3ãšõ·ýNÅœ#®-ǼŠ—+Ö­¦PÇl °¤†pô,bMGPZù~hÝcKÉÖ'<óBíà·Éžâ3°ølžwçàM{·¶÷ŸU/&ýí屚ã8¤b‚D}<ƒ±°f‡±Ìåò÷të®–UOG,lN¶éyß±'¼yñsªµúB.qØ’!Ÿt|8,~NW!ªÅXààÁÄöáúvÿVûŠW¿D(jÿl²)T"xq>/”4NcaƒâXÀ¿¯}ÆkáoS[¶>÷¡|ØÁÿ—^͹€CåbùØb7ÃFú¶Õ|<(F|7q´}?y®ÀfÖÇCÝØƒXÉêõ| ƒY#>â%¾³\F¹¸ëºþü×sdV–Ù6æ,ƒG/@·%B2ʬª%ܬžÉñ³ZeÛPä_¯}0áêIŠ!/9W]¡z$öî Dìm“å›ná­Jž½?›c§¹~ýÚl8™ žfÌ¡–4Çö ¹<æ½xrñz_ÄwÛÄ™<·Ô0à,! ß³C­UÊl|vÝiÂÖk@¯L.‹™×jgÄ÷nþEÃÁëaºÞáX…4Òát×÷gÕ®Mêl #*£CFF5jã>ù÷yx—¯^Vgçjsf±ÌÅq V`ž ‡s­[ˆ ÅdYþÙ¼ÿS ”ŒkOu‡¨}¨²‘#*ÌzŠœ&2úfã6ù­œCI‡†ZN¤Û„tn‡Ó¼GŒç*Ò¡›¬Ÿ™‡åNÆ™ÐÉ?§Ê´o&ÌËâuQRü0‚d*ŒKö “e+ó¬²÷õI!é•*öê–’-qü“t`%éÐI„çûI–ÝD­žt4VRëE¬NÄÌÏÄ@ÍÛÑÏu§¾ï#ß]oa%ž<ÎÞqFœ¹´Õ^‹t8›•¯Ð T9å ÑÈŽÖ²^¤æ9êí:Fz¨Â L´«Ÿ¤C…¤C~´´; ˆ’8|í'é8ŸÊù9´Þê}ôsa¹£µ„ìdK3µ–eSÒ¡V@H«EÒ¡; ¶ÅÃ|N>7„„€#d4é@†t t8N€l®nAë‘NóEÒ!€éöRƒú3ø¼„th¸YjêíRÒ!p©ÎÖuH‡JI‡2¤Ã~j_ì"é5žpê*0íd”}épòDôI<è‚·wð—•õ–²A2èé0xHù›ÁòªˆtHÎo ¨}ü3ÊA«H‡™ˆæU©MûA:ð"Ò!€_"ª£lXF:œ• ÝÝ”t`%éþëýjIߊH‡`xmÆzňþöõƒt G:4mz³^ñGSbc¯½§Îf”L{)霦´”t¨õiÇú}g]Ò!€é@)é@ŽtŒyµòsžÎñé°ZÒ1¶.éÀZ¤C³‘L¥š¬îºFÅ“ÅD%^J:!Þ$ããëƒÕ2¬iY½("@7(·QÞÂJ¨êS~uÔÎ{rë}9«TiÒ!€¥¤Ã }ºöýí´Ü›tÂáqJÄÊH‡óh3»¥z«ÁuÌgVTüÔ‡éÐP%Lû…¤ÃYÉäëuH‡WƒÍ zóð‚†ãbb˜xžÌpßâ걇ëûüÓÅ5þÃ× ü_ÿðÿÀóèYõR“T×%ÞÆ³Ÿ¤Cãa3BÛmÒQýÍ&±y0{ÌÇ0 éP &øÔŸWZäÓ¤ÃZdÀ\QøH“ JM¿ÐT;uµ7 »¸Ó²ºëÀ•ÝBÒ!TÞÓâÏKI‡‘Ë'²“›gõò÷kèsüÃ×ï¿‘t¸†^¥H‡Á#ͱ/'ÅúY]³x¾¯æI6?H‡/\q?®PM“àd‹ƒÝµ’-i=êE ܨŠÑ„Çû¿_m“î=v)éнËúÉ#aVj’iœZ·:vǸ*˜:É?/ïø>Wj?I‡ð!jü ^.†ìsŽt C:PH:œ{5Läbý˜²à uK⇕¤CÚ‚ªÕ9p¾çóÖ[ë{†to…¤-òE_'d‡¤C?I‡–¸ÜoÝ÷“ig÷«ïúZÈ~ŸMH‡Ì”žišt t`%éðGJ¬]|B[ù€~µ¼¹H:¬Ö“É@#&Oô/6£éÀOÒ!|½›-`KÔ~ý Žçù{ŸÏ¡õiWüv‡]‹t'§<´Q>®\$€¦ݲRk!ÙZ˜níÖ`$ë-I‡¾Oò‰A5óŸ>­õÌõ’ÚÆä"Ò¡•`GGºˆî™}t¸’çdß{ûIˇɤKÙ/^-j_ÝçXÉô=[(ϱ£Úz ¼<Èχw l±Ý¥¤C0 ª§rºÏép’i¦‹¤C?I‡P“êKI‡ÐÚ±ñÕ½,Æ^äÕ¾}’ ×¥øe*~€ùLýƒõ|» ³Ôî—‘’ÙÑÅ4é.ŸˆLïü‹âg»ÏÆÇ|]ÎÎ’€7,¨àÉ›M®ÿA:œ]ç·¶Ôuœº|röűßiÒ!€ éôÉz1²“ ]7!($êî^ð?É%iÒ¡XÉŸÕíh½úÆ"飥¤Cv«˜…ý¥¤CçëêU½iÒ¡õ½Ÿ!N9*“uÏÇqI|¼Þ÷â—û¾×§©ë–Ø|ãó—| ýñýOÒ¡È:Pßï’~ö¦ž„p§“#>‡ãH‡p,'ü³òzx³Æïm¤X™³Ësl÷";ééÀRÒá$µþ]2³zýƒt¨«+tîáÿÍúUƒ-?I‡$7—’‰nìóéиÌ«?H‡~’¬E:œ&ë|I‡O0«íHB:4f÷µõî^Ÿ®n.:Ŷ۸w I‡òH†æg¿ï"ép"h…¤Cr¸y¢Òº¤Ãª¿^ƒù—tl>!qáѱô“tȇ«sÌ~¼<ðøÔäË1•[ÝY¾bé@)é@Žt`)é0îÛ "Ç­Ê)Ød“Ë"éÐ0*/¶ ž‘5 ‡È{íä#´ç¼ýèù9½¥¤Có–8àoÍ•ç"‰S÷„7ˆøÕñhÍËÊ,ß'ÁÛ"é0–ÅŸ¤Có!‹YùñÓOÒá<ÎÚ’Êä®”tà'éPM8‹ë¡s±lã]Žt8m¶]±Q)~E™Ã‹iŒŠD~¼˜Åø‚ú>il@Ó|ÜKÍß_ÇûI:5Óƒ “3 ¢åµÊ‡j½¸ŠQ*—Ôï{ˆ†T/éPŒÉùy77¸¹üõÆŽ4éÀƤC…¤C¸ ¼Ÿ¤Ã0 1³ˆùA:ŒìûÒ÷ Øy*~ÌËÕ2ÒaøHdD}‡ïÔ04—ÇÖA%Αm%µjÕÊÇ‘¦×Oýê ¢„[ÂDsUYHF€¿ÜmUe %*>ï†R»Î ¦³òÔ?èÈ?[75œ`v¹ü<*ÎCáß¿Ô!³[è@ìÔðÝ*ç`ü øI:€=‰ÜëÕÛˆt ·6¼V Œ‰­K“u7¼Þ'¹æ›Æ÷ƒt83Š}gšt.Y‡ýƒt‚Áûîj² É9ä¬}%µ•öŒƒ‘ç\$}z7\ÄLwfù„EýÆG/ždH‡3¡º6é„c¢k‹¤C©BÏRÐ3”eâ;Ã=àÚy\úÞËH‡~’@Ü'º²ŠtøíÚ@\BnO“ã…Í•Jå'é@†t¶mÃÙº·‰ïe€[“¡Ûõ䀉q Ã’`ÍSãÃlÐÜw‹ ä\ÍZ¿`5“5 ¡Mi)À¡èžTWƒÄš«' Ü0/Ð_èe#ê(;¢—È&d2¦ZîøûYQó]µWÅ$¶ž¬›âHpþù‘~O¯• Â#'k8_­?±á»ó„8È;·³Ü¹²A†”0¿ßìEâÔÌdÅ©¢‘ÀÁ1ÊÁÊÁ_Vwl¸(vŒu›ÞWí5X?Öò<­™•· G¾ïÞ‚ƒ·;Ù»«…åÎØÓót³™'ÐôBÞØ^=ú¿ÑXï°Åv¹W²’k™÷wàñ/_{ÁÛåòëF׸}¶Ñ›]Õ¿R2â¯ÕV,,ƒ³joS1ÑêxÙtB®P—÷b"zÇÇÛír;Xõ&¨ëZµ$¶MV6U’$Ztògm|ÍêÖÀ)öKçÛ‰mŸÿ¾uÚðØŸb’*Ò·‚r¿?.i,9©Ð¸º~X.§æU^Î’UBo ƒk’ÜEìåmµZYMÖ¾Õ²÷h²uÔ6,ôŠM¢'½{Âä…FNÎï{)£õîŠe»–¬:ˆíÕ+"âÀódS€‡‹åµiƒ£ŒýMep1|ÄŽ3òÁ°¸4ˆ>Ù ñ½dÅüب º@ŽœË 1Ü!A’¬ž½p¨›=]úÈRköe´ö3vâ¤ÓsXìæ©õóŠS TZµl+° ƒnÛ“Là3‚â4~6Ñ—™‘Fóiñ˜øR#¤²£ˆ È#¢w•ˆÚ˜ŽØÁ¶•ý]/ ÍãçåÅT[!>¥‚Ìðº.b+¢qFô4ÞLm;ï?§ZÛY;©œä Þ¸Ào5²øÏJh¼Ê7ûl=6P­Od™Ž<a=Á>–žŽvÈy7Žˆ¼²qy±b_ØÁ›·Ÿ.VãóÑëñ¶ôgîÍ+ôÝõ›ul $rÞ;)ö³±œp&kÂtå5ŸØ¬Jmu‘·Æß/`KÙór'3tò>³¤±¯Qo ±óqc;4 ’U¾ÝFÆôE¶Ìeé¹ôølÃ(¶ç|²²i» Œß”¯ÓzgåCùüÚBé’`Gì9ù|µ{Jð¿-"Ë?ˆ¼'ILÃÖHl±•4õÜâû“ÏOKð£Éyއp¦BcÛQÚÖ$ß!ô–Ùím:KßCì’ûÓ¾.ÿ=–!2Ø ,ØN–ˆ+±«‰>ýÁòx»:¡±È;±˜ðØÅºô«³ž/g8QÿîT(†2aVCj…~ù`:CÎFÙÍùNm¹/if…oy=ádŸVŸÀ2‰=º4tÔlÃVòçÈÅ›a :<þËp¬æÙxBÏIîw•4!zkzœeýîëãlþ —äŽj{¹}­§0$ÿ¦‡ßõRS8àÔ×Pói Åó9óI—êòå7»0<µñ8/OQe¹ ×Y\÷ͤvé]w£ï§¼É¾_+ ñîc½«¹¿:¦}Xø-è¦eÐ8Qýû·åy¤,¡þŠO0°_'­´J†÷Á¡l5 „lŽì‡yûdr¸õî¾~D_¿úŠg7{?îè4](ùÝb9µ»6|¹=׆·h{å>b+ ^|†aŠ02Rex%Í Gq%-`y¬®žpºSYŽA )ò%›š¢¯JÇ¿,+ŠJíÏœÍÇFå¦ôwgaVV+;Y¹cçÅxf½NeåaXŽÑ9ržx"Ôwà„åñøa#O~o¦ˆ€Òay#…í|E3!Ô¿ˆ. fÀ¸ôŽY_'/Ç"Í„è¨UHÛ3lØIt>J5ÀÚ4Ϊ- à+ OÇÆ·³÷~güµð9þú@bçôzh§«s½n—‡"äóËy#ÿwn-ÎÛuFä`Y „J WI³QÕ¥:Ùy"uê8Ù ÑåO—çT ì|žM΄c—c}‡áö*!º,ý,õhìV^/M5¯Î£ËÇÃu)‹—¸b‡âHÄé««£ÕC(*ÌBÃ^õ~mžùô»ö‘·I»âQê}«h*Tž8þ¬\>P†‹V“Ò4Q_`/«a’SŽÀVÊÂb,Íqo0| òkÎhlÜRä…3𢖆+ŸVÏ‹ã³?ŽŠ}‡nµ€¹Á3y¶;çÚÂ…¡1E´•åØSC‘ÃL'qgTÐ,ïTŸš¯–Çx±”å™Ü]‡p…Þ¼Ra¦6ž¾Q6›Ê*©1ê‘ÙcåeSz•:Ñkýá3Á$:QA.rºöû™÷,šõ5¦ƒ/¬Ã.TqÓ³ÐIŒÁ‹fórLoäXÝj<·: ˜€ $õšê…-šg{*üçÛ{Ôp“9sÔS{•v©Ÿ€‰¿¼¦©Ž‹ã¦ô08o›ž¡út&­?õ¹Ê¾|î•Oñ—·gu0új¼¢²à*Xòª0QÛ:…Â;8Jš©˜ÑˆÆZTk‰‚×<íú êJª+¿Æ#ªf{G\=án|KœÆÎ îzIB­´¶€„Ðf•Œöäf4Ðk§Èc†-našKCTP.?™­öþqè‚yÐaè[äÙ¢®Œ'›€õã¤@Ú¼aÛë%\ü¤¸0øá ^Dªp•9êxý•*o¤}ÔçV'a©$¼¹ý§Ì¿ ¹bEò¾Qc"Õ‹™¸LÝÄölá Oøê€8ÿý FÀ·Ð¨,WŠ6—5ÊÜ^ž(Q«mF€˜b½‰V{‡Uì³,º&}¯™È¤8w´·0G6:nu¾v2MΩ¥®t6›¦¥·ˆa<9¢Žmû-1ü3o}p^0²Á‹²ßBßãoýbVtR/ˆ>Ús¢çõIŒQªN6N‘/|!›®Q·ùî:pZ¸òÜbÿtéüÒwôä6tï×WúØÆz…س W§ŸòÄ>šµOû©©¶A7ûì¼ì¡ÿ-{&_¿¬FêÁ¥ÿÖ ²˜Ý|ìTó¤ùù€:bE—á:Y[«J641x©hð"ŽßÙúPK&=Ÿ Lß¼µIà*˜©iRâ„-|»·pûÆ@ð°•LÚ¬Avèñ«jjq²æMj“àJËÉ7†NÏæq^œ «‘ ×¼†k­¯ó|Šô_Ù&ÿ_6Qî)rB·<ˆfŽË×x¹îøÝ[_ŸjfÖgξdIý39ßl®ýžõY6ƘjycÓ·† qHà}$n¤«j2j^ù-èϾæ°QõÑûßx |[´–»Þ¼i&àОãàw¼f“Âð=‰-:Íü[WÔ¿]+ˆð “@Ô‹,ˆà&Ä Þ¥ztȽ¬ªÀIÙMWðøüÒw¼û¼9Íî{e+~Ò3“©ÑÒœÜYÏIu…-B™¤Ã©‚<ØòðlBdÏp²+ÿÄÕwT†ê©ibó£‡rÛ0⡬ “‰C‘µºqAª.'˜x*YŒOÅDܽJö®®n’næû¬ …¬O±¶U\™sÄI-ò¾™=Xõõä\ªUò3ÛRö=8gAf¿óå‡@2@ï’|G1é@v t±³$þàõÕ1gí<û3vœõŸS±‰»×}Ñ÷9ið¿ílöRvÕ«°Ÿ–µ÷BOɹuÞ5p|¸¼h[‘Ëý˜ž¬©}Ú—OÁEù‚ѳC‰l^µØÌ娡€›‡¿}<þSn©íŸwɽ¼ªŸ$q¢‡7ÇÅyh§ÃO€Æ¿jØfì„.%“ç¾rÃë„$514wxî[ø…üvFwý|¾!WÁ­9‰s2\hÀª,/V‹yðñõj¼ÃO¦@î½%þ"~¼.eŸñ¨vŽ1/Þ5Ù¢áÖIÞ;ù6C_¡¿k ›ìÖ[ëÅó º®//¾*ÛËWÿ‰m"kò°Šæ¿ ±oÝ ùˆë¬KõgøèJÔG½¡ÍF¿lãö$m•ÜA½NîRpIÞhMWËŒšR»ïIü-xDè0ä.Lu: ôgdú¥‡pÑFµâÀD9X! Ïx/ÇÁ¢…•8ª’×éŠ7Yë\ĦƒÃ*ƒyì"º#òÖ5òïWVÙÕÈÅíuö®ïÊÏ} ñ÷§@ ¨úꟹ€«îl/OnîŒìûÔC÷î×Ìßi%çÍí„Nÿ»¯š°ÛÅÓÚóÕij^|ßê<™òõùv#Y.‹ïXÎƒß z}õÍ€ùÈuµKð î+Í·^ÕU˜r6†5¾FEýý«aY©€¤¯LÅFŒÝ$÷ëöMè ÉYš•šËýŽÚ ¡iùتÓéàßý»‡?ÿùÏøóŸÿœ[³l¤šUøÓ=DKšßQbc0“[ÀOá*65-¾“ß^ûÜ^½¥EÖ¹Oíz¥Cäéz¼þ´x5¢2n}_c©É¼S~ÞÞúLÖ/˜0ϱˆBú^ O‹ms{çkîw>° ÓHE6‰#ýõ»õ”œ›µ>)ÖŽn~Mæ«ËãžZ"nZqœ?NÅCÕ‚;^ΊmP]È~¯v‡øÜYê;¼k;Õસu²µ‚¹¶œhëÁB0¿…ÊêhUœóHƳEó¬¯ãòâèwŸêúT­ü²= R±‹¢dq6!Õ«È‚Gê»ô)ŒÊ0¸KáAô®f­âEQ›¢Ô6›Dßó&¸[h,Ἤý‹Ÿ²øÊ@šc/!v0ýÙY”•—qÁPõüvEªn…ƒØ}‹û’¼Ï½l‚/ãïãw¼‚Iö; R1ü³£«Û¢’¼I+Žsæ ½¯¡’Ç©EquLù å1Ñæë¤Þ’*^yœõl$v¶YN@¶t‚{i“ŽÍ1âéêñiéï6«õŸ¹5 òx¸%àÑ*ÆÞ$»Y‚ÕesŒš¿Ÿ²¯Öz&Yz‡°Aï…}U¼Ú7°‰Ob=r¾ê¤X~1‰c;¯EÈI”éV0 Ÿóõyý–Ê¡vMl'W0%íVÏÚˆãúŸàÄF+‘‹ñ„Øî£mýŽ›ÛZnCóÕÁ¬©wœˆ{Çâ€ÄqÁ=ݺøpkCÒ©/=W‹ó7ËøLm‹]L˜ÿhºöV„¹õÜeѯ¼±¦¬~>Ñ1:˜èŸ¡_S`8Åþß?[½ºZ°…h¨eÉ£ñBí, ³õ¼ 'ë‹o>SÝä‰>}s¾bµDžÊsÌ~ŠøÙzî½·]NR7רí™>°<ò³\¿?ÚÌGmW üžfBO±uH±m®|ãaR»pÓï¡ÏoåŸó8ÖÅŒÈÎ(E¸=êÜ.y¶ýÍ{o]Ro‹%0Šc¹UƒÖûЦJâÎV“Ü;-Çæe9ë§•¸o;>«BôˆœËëÞ`9ÖjTÏE7}™…c/Ï­„+¤f9@ÕIzcóZDí(ÂT)Ç)&îjvÞüT‘~î)Ð&0§6™ò³+í$qª•à.è·DÞc“ ØVñ0g1ëP¿Ê3Y»Ãïr ú9A Í”Çä&Gõ¥rOΫÍÓ;}uÝdó-} ¶©(ëq{¸ç¬lè³ü™‡Ñf €vjÞ9ŸÅ_âdKfoºå]ö÷ÛÉ´®Ý "W»I§ãî@ÜZ=Y†U'à¶çÚDgÍV1°V­Ømr yyù÷9X˜äýínƒÂþŸöÁm5`;åí½j1–Q‰}(ÖšëôÚY?3Eô>kÐ~Ø@kýiñ¼Ed]9{ia5\Ðí?­_4fº«·l¸O_Ëe’9ÜXŽyý¸ ½EïÂæh,Äx« ÷VÞÇÝŠeÅK¶è±™•ƒS¨N1fõ=µ¦ìÊš@8#[4 ¨Ú~ÛÄŽE÷,ÕÄÚÿº~sÎü‘ ú‰TÕ{‘í,ÄDn³8.GUˆR9¾ÀD©R– E<„ÅîÀÐX02Í3üÑ=.FË ŒÌñ{ªmØ–¦'’¼Qi‘sœôVçî=‹7ïˆìx©©§õ¹«&ÓíÜÉ‘ºsâC•d5[/Ÿ\m{»Øï¬&ˆª‹6¯—±P®|ªhæÎ$Œ’tŠ=ÎnmÑî?m,'gëé`e6‡x˜Ý?§V ¿ÕŒ«‰Z Wm4 +#÷OXp:•ɧA„#‘NW3S4–œ÷{•üìS\®_—!ù7Q¡ç*qUÔøõtRýp²ž3¿Na…ù8. h¾xþ¶ŽÚ["×*K|2'—¾ýÍÄz6ž 4'UŸñ4m,‘“—‰nª梟='Í“ î½…:'9Ë,囃åö™3T4.,ÿÛúϧû˜=ÓïÇØfyüu€–\\LlŸ| Wi±$G˜›³ÎlX’ûO4ÚHyÖ)ÇÜ®¼X¥¼YcÕ“Æô;ã¢Çr’¢°Eu-*‘õë¨8^÷ŒGÒ»Õ¾ÊÍæ |BLióS'“¹›"<$¸ã«‚†fê#Kbwú4ŸAœºN¤,ÆhKË›Y(à˜¼ÚUhžõ®S.oÄ4^âRkèÜ^Þo5Õ¬oŸôĹKÖv{µ_–ÝÀüíN’o‘ï¾So¡ïã"*¶ù²Nýæ´Ÿ2Ñ¥6È2³¹þ§%Sdú‚…=¡¹¿<.޳Xìv wœ{JêN`L©mëT³¶uœL^êGÔç‰19Ó£’<¬—{Ì«Ù&îo᥯jjP×^øîa=•3W‰åØÊn2)r–š oÀÌé}m%ìÃÇÙÔ]§Ͳ1q¬ùp~=“𥴗³Dú§s7ù^³r‚‚ûHδÑf¡Øì¯ßÐ׈o©´Š›6äÚ ¿úR¶©î(äì¬ï/›,nò2ô~þ™Ì¤qj_&vâÑ\ØøÃÿÚ€ŽH ~Loçå×YÂûØöê¨È׌Ô*‡3b;‡n¾Öp¢rhŒ³˜£Àm±":mª»§jùƒ„¡‰ÏZ>&«ÖNnïÃa¨Mí$b·Ë1RîˆÆï‡'2,>o_GºVêW ÔW+’”$/ˆ-Õnþ…/–•ADxAm]¥²3à ’'¡ÊÐ3­[•£x„&ZzûPÏVc¬*Ceʾ¿^[–¶ÚHö^KMܤjn§ò÷ü6ß4Îê°Üb¹Ã—7gÉ]L¢¬ÞHIÝ´c¡&hFðbçäFjûÊ k{ÒMP¾uCäÆN¶Ž.Õjd1ñ‘å¾HO·?ÐmªOlª¿›Ïá_7‰¯ïLÑ ªcà=Ï‘ÔÛf

A÷öt}Žƒe­Wg v‰l|¦6‹í¥4[Ÿ|(w‹ùu쌼·kØkÑï¢=’ˆ,fqÉy2u”Iš£"ey]Å”SC ÀÌóq(Áœ‘diØ+ëg|£ 7ÈØ€Äf‰×˜bBÙÕjèÜk]Þ@u¶Ü'c9ŸÍîˆB•ê’¢›¶d|› ,¯eƒg1YEšÊ?ÐzÕÀC á•Ä›P89I&ºT}°ñ c‹<;?\®è]bˆ­¤ƒÍB±A‘Fþj…Vk0÷h(ëøÊr9æŠ÷Ù"Áú×§¤£î ønëTÒ-ƒ]èÂöš ˆg©D.E:°¦Q$þÚz:Û%g.L¤úx¼ PQVããl7ˆ,d¢ŸšF Õ²çÜ[ÒÍótOd·µM Úà&oŒ4' ŸƒÅ¯ëD¿ö˜:M“‰ ©O¿£d>Cô³ß©Oñ¾© (™¼Óì3y[#ÿÿ q²²)¾&rY«ëÐnH²6®æÇ«êê µ*üøf¾% ZФçâ§Ö*Õœ¬ U%ü°¸hóúµˆý¿k`Α³V5üŠÚ•Ð]ÍJŸooF(x'wªîò\=þõdÚÌAÉJ jA1aÊuF>h``È¿¤S’˜}ɪ#šçíÕ|ÚãùZêE½šÕe(Aÿk¾¨q~œ}ÖfÁW»fʉÚ}ϧê ±7ýdÅKÔ òýúO h’öžÊ{VÓÏ~ öiyUnlبìdý©8õm½Ü&7So|&åœ{7ÿ»a³èy«îâdÄ;«ï=˜Oôa£Ç¬$&°Ã&ÿù n/‰¼lÇ;ýÞóµ…]µXÇ>žPÛ°Ç’»<>úˆÆÖ˲min!§`j»¨¶Égez÷‹}Œ†¹xÞòÂý¾F΂o‘÷¼ðoò@Õµ樆ƒyû—ο£”“’ó «—’?"¹ +\oÒR3VqëÄЯ–“Žø9Ñ›M¦ÏL‰S…b;_åh }¯¶ó­(«çФþzðÑdšxªøàÄ,`¯³6yùg%bG+¶³g|ŸL;©Kyìëûc1(ù&µ¦ì\¡2îi1ÌqÞÎ_§råwÔ¦‰Ó¬ ó³˜:Yå´%¾ØvL®í…˜h^2=§ÃcŠºBÎ{ÎÒü¢qP+ðÝ#¼î.Ç׿‡DîtYF=5ÁÈÿ¶ÜÎ5W7ãùÁÍZg#vIŽÄ¶OpSP£cµÕE^} 1×ÝŽ1zÈ­1ObÝÉ’ ªþ‚LvK5Ž>âoõŠ› ¦l6Ï8[HÓÜ8kOf >VP€÷„‚æu•êR}? à3óõrÃý Ñ/ÍÌû²£˜ k5á& äNÂôeŸŠ1€ðk(eæ,…’{æVLÀu¦èñÉ\“àJOñ_ì¯k}&§‘ü¡ÚïÃ5ì3/kˆ}pÊcŠ× +"‚+™bä$jÆ”L¤9à|y,/êuþ½ …ÏOø™¦Öê^§&e±*æn7k{/–k{aš©"¼J0ƒÕMõƒ$ÆX.¶Ââgh7ʱ—ªF hR°zAº¿R€U×ß"Ük‚Ñ7;ƒ0¢ŸýZ8+ü™Ú¢î=¶W·u±9`•U’*­pÎ÷ú>Òé¸áŽßÀ]w<†ßÈߦ=ŽÏ^kUP–H1“Èp¨A€I¥Ú{¶ª$ øÃÌó›sv¶óHþr!Öù _+Ú"»þ®h5£­fu.¥Geãë¥<ÓZêþsHìž—ðbÐ(¹OŸÑCµmW?ð1é{û%—QñÙzù7X¸‰w*P©l "tM´Ô~7³ÉK2ûãEîë>ßiL!/ÖãËöä\/ʳ¾üð¢w:}ëâ©ûïé²îpº5B÷«†w‡«ùñFKõRc¿ìË;ÍF~SRYEËw{p“Þé¹r€àj5­ö&4ßÅDÛ –©5VwŸn%é™îS»ÇCq½-H†©ìI²É*=sk†©®ïü®ñšî×®™Ç”®\PîjÀ‚ÑJu[HïJvÆ“e;λ{}\øØ³õg¼)ò±aJÑ‹áz$Ø0µ[ì=>®—Ãüqz¦wŸÓõ‹?`_]÷µg÷°ÍkÐòVß—ô~³-ä}­Þ²Ÿ®é¡ŸËgê4_ç'c‚c™‡¿PÜ£ùâËËÖñÉNeJïkz†Ã Á"a}þ<|4à,‘É\¸Sç«cÇZ+§Û¿ÃÓ¬:GËÕgê6hZƯj¹aA`¤²Ûà~l²ašpæÅ3¨¿?ô gµ?/sOr?݉¨çÿk¡s2Í×ii_@¿Ës:I²>f`Å©\v8aœŸés6ÑÎ—ÒøŸð±xó˜MšòýòùÓg)èìñau<…Ⱥ<~~0 SÝ3«ÈÓûAŒD2}›löDã|‹Â‰4&ÆB“ Hüv#S-³¨óéõM-è“Õ²þ¨“Ç*¤`ÙÈó¬tžÒ›˜ò͸³¯W|÷s/× í Í)ôŠº&Æuᆠ“Sƒ—Ñ4¶@›e}ÌÖWŸ©yëþ°|i,ሮÆc·Ú÷˜éì‚–ñAú›Á‹A´—Xßmžy»þü’2ôãÓÁ¯.|0+ÆÅólßFÑG¯éÕù§±”Çoî¢îî²jZ­ã½ øÚæX Q/b_®¯ŠÏº¬ýgš§ÑÌék¾0 à ‹˜ãþÚ÷Mú©¬íSÌÎûÿØ.Çk¦qn#9kèÜ ·+ŒŠê©,Ö‰¢,U³©”¶[ôÑí(•ãqVk¹\ „¢\Ÿ?.MZ[~ùóÜB$g 9¯&¢½ÃêÄèÅâ‚ã.É7oÁ!»üED-Hð©Ò —Jà %{ ×q¶(D-µDý¨®7jztJD25ƒq[VŽ[<È“¬‚0hæàd£-~Q§~„KÙð÷R‚,B0—6rm½"rÚEC÷AÏ _Yh{ÉЬ&¬|%ù°µ&ù})ÙüõYð®þ!eËð†Îµév ö&KKÙØ&]- mf æ9?Gv¾Úaù¢–F‚§-”Oh®••Úã$ÿÙ3™2¥cßq(® ÊK÷YNn«B²ÕYùwwÐ³Šƒf“‡³OÀËÆ±9ò\¶¨ôb»€ê43¼ë­Ívœ¾Ç4¨çg`Ýçr‘÷nôí—^[ÃVª£–‚hîì¨(eš͆O#t<Ìëï“Ì:Åèjñ¬¿Ú™S"à5?=ÙùoÜÏ™!¨íôw!U¦}«ÏCrtjÛ*¼¯ÕaÇ-ª>Ú98†z˜ó…¦,*÷‹{UÛCÜ\¿×þ4Ó'eãmíªì<ávº Ëîž}¸Âhëç\gÕVB㮟Ÿ1Ý+—²,#:"‰¯Óœf<ÍÁ8q!ÒñŠ€‹þÃê±ó¨˜}tö²ŽNFVd÷mÜÿY¤Ÿ8«•< ~ÖúÜÕ6Ø+âf€G°KTŸÜ}ÿwSú%½G¥M.¾—K¶èæÉ¶wìyÙà¾È×k|Iy¿G _U¦ òHâçvÜ¢ì9$º °ÖÓên©òë@ÀLªäŠÒµO¦<#FY÷™£l”™·]õÑx\4þgŠ ÿ™†nºÐ˜ ’ûœ/Æ„y¶:€“£¤H[c‹€íR;=¤ß–;‰2ÏéÁW;ï…GKrî|X°Á”Úz]9 ®!¾k·±ž5Ìï‹ uU=^ï¬ñëƒÖü$—-Mm;ßCw‹Á¶ò/…ÿ7¹ôžk^ö¼¬+4Õu%ýüO¥Q‹B@ÓŸ0¹® ´åŸÂ/,K@<“Ð ‹¾ÙùÇõAèFmµÏt”ÍØ?=Ãg§˜˜œEºÂ\GÝ?ë8ôeô–º^Ùî>äZJGdü:rÄ‘R:˜gcnÚ\¾ïÛ¿r’²îÊE±‹Bo¾:½'çR:å–y,é¬ÖI˜îqßX#ÿžÛÜ=õÔ•™Ž\~{^ á8g‡'?UþöÃt Þ^Ù¦œÅëubë0§{wT —Þ¤ßé†1ÞÖßâù>=Óá—œÜ^z'kg/ÞǧÑ˺&œó0ºÄ [NSŽÔ½o¤Wûy¢—Û—¶cÂd´Û>±dõò˜sÜ„£ñxʦ Ôš.ˆˆØö`EÛÌz¤wôûo-˜ýjRµXn0ÈøEN4ωVøgß”çëmœó£\o‰pÀÍÆ†¶‰2/ÑdêƒÉL5¬^A“,w‚ˆ)ŸÅu·¼ÏÓZ º<%”¿ÿþx»1,Þ]N3Ĭ¼ÿ‹c•ÝF‘Ùãգ⟆éZh·hkÜcu‘GÒí‚Uc4+0%¾°>Ê÷sYͰS(Vþ^÷z³mcg ‰—%,ÙgKñ´¢n²Ät½Ÿ¥\žÂûR @kÈyëús.ß(3¥­ó¥kzb|Dê@ɘÞÄ豋åúéû“¥±•sŽV6Ö²YÑA5PªAp¬^öß¾l LÛôÅÔ6˜ ôĦ{jDGpºÕEN5†Ot ºÛÙÝUƒ: m3ˆ,–Ò3‹²±Gîäª,gÝT^¨rî³èw©ïÇ29ÝòaQ‘Ô~Ëýx+ÈuýJ±Ú ¹À˜8&®¼ô;÷ÙHñ#b¿ˆwzß|6qZŽý±]’éDØm2ÕHu³ªQnλ¿lŸìiµ|hø9o^¨›9Úh÷šˆrNeª•iüÌ2 Ù;­”W:K Þ±û sa<ø³º#T7w‹þºÐ¥g±?QVŸG¼¥mä<õ3Ú^o#®WÇýæW«‹šqYõþß à’…Ä±6/rêFªŸÅ%€È“ßÿ1MX*ÚxCÂ{¤p„²mGÜ r̹ F«³­¬˜XN¤ž)0/<‘rnÅ ã¶ç›Ïø·ÚËŠœ…ŽÏãm=5RæDªGiÇïsúLȆ[[\ª«G›«cIQ;?Ÿ Kî&ÇùϘw« *ŽZT–GK½9Õ^…<~7™KÛ¹/’:\1—eÕÃc–òîs¹X—h*»j®×‹÷JøZfß=—Ó8ßÈñîl³ßòìdçú¤ÁÚØo•ÿ†;/Ûób£hÀú¹.5—:Æ&‘‡¡cJpz_ÐãÊy—ä(›²Cw0é¥kúít;ñü£Œqm3€@l¼A¼4ñÌúúx­¼gïkÙ6¸NéÝîK\è²Î-ðÎô±\ vvòYäYˆ<^ûK-ÕMìà׋:Ôé b»:Ÿ5Jt‡¹LÕŒg$$QÁ§¶ÌÑûÔßëì¥2”rr?(é—côi ‚okzÛO-údä£yEö'K\³¯é¾ ¤gÔ]&ÒJÑF!…žÚŬ™ÊŸŽ³½. ãrü®&Ëêå}»-@i¬Ë™üî¬A.ªìÏÍp›úa«õjO)mJduŒ@¦·ã›ÓlÒË–éŸMÒ=žž­Ö[÷`ùãY L']Sã<׋4áo:X†aÉ ²ÉfÁIõùÃb§í‡û¼ïƒÖ¶ŸD!ÉEYå%^ãc1ëó‘‚i@==/üìðh{ðžRÁ>_¼fiªeò´¢ ƒŸÒÔCô¸ñ½\¿:>%_¼¬¨röÅÁ€LéÂÒ‹ºøPCí´:§Á4Ëtæ,b¶ÚG ÓŸÛj*ùÄ\Ùय़ƒ¬ñT⮾ûªd=“Oµ£­ÞÓÎâ8¡EãœÊÏgLm¶ARD­¹[ƒ'ûIÃ'k»Ž¦úSú½·ïÊïšyüiÞ•pe®Ž{Éíõ`ÇÖA*kVzÞvmTV0ß$ÓA2*Êð`)&R ËyÂ?{EÆ2DK—£Ç͘uÂøRÆ@0NÑÏ­Ÿm âoÿ÷ÿ•èÄvÝx'šT!Ç,âv® Çž…öR7™ë`Š·LîÄ7j—›Á>ñŒÙXd ‡O ;«2×ó ÞÖËηHİÒ°–øOägˆnHxk cZ‹{œd3ìE‹‚-U¯õÙ½×>ÀÑ܆Kwð—Þůٌy¿Kƒ=Þ"w×Î_$hv¯jŽ®L콓¡*œ  ¿ùs’¤`„wp˜·è$ù9™ŸFÙËÉð½r`Â×ÑrçE¦]fÒ)# 8`Ÿúˆˆ$À ï0½mâðýöÆô6ö±>xmr€¼BN0š@}½Ž$ÏxÆ!ò Êñ.k¿¿Î=Ì<³#|ØqŒõ“þ'N”È%&#ü?3¿4wO¼ $ 'Nå†ÿ8{ºÿ¢½ôcäjšµt’’üÖT†”!Ø5Ë;a!,ùžÞã3¸Óê¤Ìsââ(.äÌGœ%vX»_œãé/ïë€s¨àŸõCX!i³rŸñS4ÜT~k<…ƒûÎ>ùO¹§w p¾9 ÊÉ*äÍÐЩmŸ°T’¶¾ÝòÐí£Ã`:¨ß[è]ŠhÞô ¾}·óþÜ+ü»\wúN ~ø'äÚéßý¬õ?ž¡ü~èO€r²à€?â—-ÖÃò2|w)K$Hâ‡Ö5'dÔS]ÅAë ü`{Ù2Å-š(gOeG)舞ƠNŠ`·x’€l?õ¬ù¡·c£;Ÿá¸ÞxÕg?Lbœµ6óó, ±ÁQ½ ñŽÉïÞºz€ônGI<ÈÕIí?þõ_ÿ¥Â;'ëe’§õšóÕç*ƒ…TùßD!.©¢ÜtÔ9m{}úû8!Yügûø¦ VÞl#>ßû8|SÞßÌS xxe=¿Ð5¡Qt”l…‡¨çAAü€}r=m]ë×x«¼Ýi”!R©W9/ºÆ#4\8ÿåÿ?qݽK3`( Ï‚cp –eÀ28šÅ' X5‚CBÄPD,Àehp +Ôp ìC‘Xüö?ý7ìeîx®Z/Å< ud¨ý}èO›ºP›<Œþ_¨¤±»‰3óQÍ‚þäC9Y½–àÎsžÓ\Œ$h„ãGÐíTÖ¨ýZÛqa$ î./bé¬öK‡ó¿¡©) ß¬§Íù×êï· âü¥wÁê,nºðƒ^Àó}xAßàbÄE’ÙïÒŸÍ $¾çº.‚(Äø?þ×ÿ¿_®ïRî=»àS»÷Ó`Ž_öëÿPDH.«l‡[\ÉÛMOg,šOì²±;²ñ­©Ѱ©ð.¯‡>[^Çt>E³¾]”ëÛ9Þ^ÔÑ Ç8¢ÛHFˆ¥nµ´?GÈVŒbV§ ´Ý:­$Ú#ˆ¬¢¶V«aþi ê¸Ú&7C2ý²Šù«ŽwûÛùg‰O`·š§ÿ»¸ÿ‚=vÐŒk¯ú\oÌ€k¯’cq»º’MJКÖÖïb“~6Êîj0G3i¡Sgòëedhö@ËG/ÞãÓß4œü‹úÃgÕØ8ʺNb-r;Žã g~ÂÑRQQÕGqyèüæêÜí¡žM,aC>½}QCTçAÍwï°>3 ·ï~éMepY\Ó¸~Æþ[6ò»ÃöÒ$¨¯þW¼gßo/º#e»»èêñRôÏg·¹Nì†:Žé‹zw&¸óõ¾¨þ4rRÎÿüùlá·Ãí@vâ`{¿ÞdàÊé½06‡@ô`Œ"o&hÚ›‹BgÉVPYš¿]’qø¨oÙÝÜ\A؇ÿLû¡ñ,×W󼫿¬Ðȹ»ƒp~žÒƒ9—Ôü‡ìY1¦õlÐ %° t,Om˜Mö_3ìÿ~#ÞÍ–Ô{”£ÕñbŽtáÅe_Ũe]š»wsŸ¯ö©˜9 ^´·ÌÏä›é×åæà½íü5‹ìBÊ@ ÎðB§x'ÎÃz"Þ²E=ñyæâã »dϼ\úæÉGpÂâÚâ­\¦ÛÏÆW|¬¥¶ÒpBØk£¶Ô4B ]ØtúîÈN@eí»XÇ9¹ÚΙÛêb  ½Ÿ¯qpÂ~câ»ÅÚŠDM°ñï}òË&`ÅÝç„uŸg†ÇaÛ¸÷zˆ7 ;ö!nÊo˜> ¯þŽ>»‚ÒØlÛ0®„€·vÞg? p°Pìj öŒŸÎÝu~C·ú^ áèçåÞÇ£í½ôù‘j‚Ò6çzôO](¿lMâYn6EV‰HèÔv1xw€ßÛ­8oB8h%y\åyäàpo»FS¬/ÀgWËEëÓ3¤_VóÉpj Ó|ÝXB_¿ÂRÍ®.!’BHÔîÝùo}¬üS雸ÿãüœ¨áÀö_f€z׸·¹"7Ý d¾õәݽžƒ»^¸ÛŸn!þ’‚‚ç)˜ÃT æÿöêÿ‰=!¦A[ß#Á.ŒL´!BD9XA$.’ ÄôÙù„Â/KÆY\RÀ³'N[#ìe­T‰gÉáj!:#ÐÂÞ«[×ôq¼¬4´ þ¸ã@È3$fb0X/d g„ôòûÀïåçòèqÊèAMІÛ8öÑ~eàÀèŽÀÞy’9y_ ,{¾òL¼ã6 ‚ Y¶qnC«ÇÁPÄ~gEpmÆÝ„ù!>Ì32"¦òó»_ÐæÜUg&´FùlL{ YÜ<6âFâr¡Û"˜™×Ä#ÞǞˮxo—Y¨1C£”“„wxÂ9òDC„Õ{ØÏC4>T;E¡é‚–Ë2Ú4MèDGRê<†$:Þ.h:ö è®Ë5ÎM0ï©áïñ GSÐ{Mü#?3‰@ÃÚNÍí>¨©ŠÖÉjƒHQeèš¹4™#ë ’ý4AEx,‚ÈVŸ³J»ÐÂâݳ G°–öô'Ô“ßÀZ|eC¼aRúe¶¹½L4-²”~ú¢yFƒetøAꨑTq´¹}¶ªxÐtns’BˆVD(‰ÆÝ“‹ÓFµ|Œ“l—DxR¼WƘ!¨­æ'Ô¶HˆT}‡€³¡ ®ß½{¼À*²Pž†ëæ†óôOþßÇc¿   4~³ÀVŒv÷Ý X¾Ö‘à «F!RáP›«½YO†Ï“wÝçLJ»ȸð}¸…œqAï•e©ÎPü—™ØÄý’7ç»ýv¸¸P?nqN]ø\ʯdï ñÑÏí¢fE7¨j°ÅàÉ@Ó7À\VË+™–`†EÚ hQ¸}Μ{4„7PIZ¦Óúppîœ_ßlÓ|¾rðñg|¡ýòDÏð³‹ÎÇõ>ÒL K“¾â Ú÷h'yô鋇“ëeáÔw`@Àû½)ü Pu3ƒtùãàæ:Å`¾f| CÇÂÔ¾7nÔ.rýwmöð6K„óô n¸Ûz¢xŠÜÇ 1°OT;ÿžÖ§–õË£>Ç©²}Àï‡pŠ:Û|×ú€¡7ÀÄãW¥\4Dºb~½|r».øã2½|íY8MžÀÄ3ŸàÐÍÆRC„ :îˉ ÉÙÐ|-ïV¤@’÷ˆãíñìdãåE$Ç`̰hšœ¡¡³Þž0X 5?µu¬gÑõî5àÖÓð$ Ñ¢,ØÎ†p÷;¯.[N„ãUËÂ?Œ?ñ{-/3‡cÈ  Ü^þ¨ ÒìY&ޤŸ€Úø%À¶^åQ*iC‹Ëö‡9¸†¼ÿöÅϽÑ"\² ,uÈ{¤³ìñL³qgjEg<~Ï}y\-™˜ ›2v© ºy°! ud]G&î5Zü[<Ø>ζè.îÄ ’€3¹‚ÐÚN÷’ ¦êáfÞÙ1l·Ñ’þÜ[ßÀN±ØìôY«¿ãÏt°—ƒt8—üøT’5ûÕºTbBXÁvr’ªˆŒÒÜ„U_/k‹€#még—Ä!# h0QÊb4MmO×¢5€-m«|´"œJe==Ñ$´ÔÍrêqHà´³›?à?š`Ow“ÃÊ$€ÞÚ>1ó×̯ l(ã³s‹ÚæóH¤!«QdaÛ9ÍNT ¥‰ÇàŠöt¤LqÝ>Ôr[ÓéqŽÖÛÝ7>Ø:‹ý ¡zÌ!l{~1ÐùP1V[ ÁhÕ´ Pû?ƛžøãÅ w¾†söõÀ ¬<…onŽƒÍG"¦Ü³=ýLð€Rew ð†Údz—@  œ¬ŽÛŒ¬ ö¤º~„c6ç+ý¯”_×ç(zš†#õegDxc$ÜnrÞé»rû›c#xþ昂vÕ…úîShþ<ü÷´ûÏPß|üéïyšØ8i¥;÷˜q"Zd~×Óa ÍÎê¤ÿDZÙµ»Ï]ð‡åD÷}?À›ƒ2ýºÉ<±‡¯_æxÿ¡¾äo„ˆ=|Íkl'zOŽ*bµ¢-ÂíW=7z’àa?ÁQø2°AŸâÀß-Nô»HÊçKNÄÍ<ÕPÆjya=8Îv“­”4Gd•}ïÇà §Lu¬Êðæ¨q¯W gi]HKS9¨®ÏAŒwçEÙÃŒû˜ÚmÔÎVÛ>^Ïw” IœÂ²«ïdbK C\h/¹ ¬oH„þè[ø]}a“ÄÖj½û`ûøÅkÃnè/z<ƒ£ù5êõT¦Øµ1DãåcÛ‡á:ýûo 5¸u]\dÓ„ÚŽ‘Û~´e#”ÒóÖÌ)T¹ Šö…›sωÃlcð¨ƒ9­¶»-߆ľ\°0À~,WNF [Õúò“¥ãiµÏ î ìŸç¶c} }žÒ¤ ,R¨ŽÀ.Œõ¥Fú*‹Dꢜà™òqå>\/ qÄÄø{~¼ñ\{wcT–Æ'k¤ #6_fWô4$Y“*“±!?®ðÉ®øøeϹӯpÖ¾éÿÜæ0Úðjç¢÷s˜BæxûnJƒáX½0ÝÑ"5Hñz;îëg ï?ª˜$CÄz1 µkl„?ÑRûñ}Ýþ õb»ç$¢ ÂNóS¦ñ'äÚæ¿cŸiø‡yÜÈüóòo›ã«Òdk‰ßu…‚¢ÿ`;¼y}™ÇlýÁì~ïÏàÎÃþ9·Õwoý!.2œŽ<#`6ÜêáBùõU×ä‡c°tù,ü{ ì›júíƒÂ»ÑæÞn6I¤ K? ô¦ ¹T6÷F.Žöx0”‡ï¹øm{_ˆe¸tQÆ‘¦Xþ9Jp—€9Ï…߇ 逈ˆ¡—LÁéFï»ÞçA“φµòB9уg¯&šÉ£Öé®/öíg‡m¸ÄÜjeê<=@8ù±h3«0ðõš8j—hŠ«âŠ Ð¡Ráí €{C9&–üjM£ÍÁ„©{‡&þãƒ&±Ÿµù3Úôj÷áZ6xi “hc@Í…„èy°³®/¾©‚•wkWÏL}Íœf?›c|”wÈ3NFÃ3 2Úº´&Ǿ;Ë·ÿ!¼3„ÎBÉx8ÙÙ‡ã·ýsÄ‘{/¥¡xôç¢ÉÜÜ츀~~=Eýmé‹N“ÿ§”9£g{‡ÅdëzðæˆˆE€,7ôkœmÑÕ)Š`@¥³Ð÷àC¼Lå ÏÔàyð§s8 7ƒ2ê"‰¹½»³1”kè¼`ôóÜGpx°Õw‰¡ƒ¤#`¨8ÑGp„œŸï´Ï8W?¢>³1ß±;Ä£åáTª&ä¾íâ@äA»>BþÇuž;ðÁïçÏè4ö•ÕÝtˆ¤†„Øý\)^Gä¾N‡Îh0µÿsªW‡T€N¦ÓôÑ-”½‹Õúhîc¿¾ý8=Â÷jkýK»Æ¯ê[¡‡˜æ^ý,ü«k°ïʼÙ÷ Äjgæ¦k£q¡£á`<1ÐnÕpãÞá’?‡,O`š«x$  šGÝ}?÷7!Þ\–ƒtæØ„¼4’Ö|p!Ÿñpoæà/ëp¯ ð¥Ç® õ½ ÅN/-Q¡®Â9ÞÑŸÎ\t\CH˜Üøh]²YðÖFr°Z¦P()ó°áG¨±Ûƒ%5#Ñ0¡„WßOpã¢íH2>â Ýcâé ¸ÝäE<€lå‚Erâ\ÏX¬öFs’šŸH'q™Önû.~̾œ,æüÅÅÖ“L<­|=ýko‹t9¹'Ñz“ëÄh¨ƒê”ÏŠ™Ñ˜áB £™‚óÜüd –(Ûo¦à@vR¿M$(ŒõÓhû‹¡áCm÷D_h± ¥êd¬@˜Z€ ®÷Kç„p™ö74Ôr‡Ó:%a¥{ÿrïãÃB‡ÍðÙ}(à?ÓGaYè~ùÌ4×Êÿc÷â?LÁž“%º©cŸ¦Z&¼÷!û§Æ¸õíª¨çƒêûÅÛ_Æü}D\ÿ±šI¿û˜ÀùzþðÝ’ì½Ãq(CßP¨ä™!8¹:ÑÔÐ8níÐé°GôëÜ‘þVy9|üÙB{E•¯îÍçZ"ØY¿QÔQчÎ^YF3v¸¹Ú_ßè~²?ã$j:ä¤HwÞÔ×ä¡+1DÏ}€ÚP!9»Ë¯„Ö@„*7.ö/s_Ñ »ƒL>;_ñQØÜaÊ ®!1e{΀„RY'º:l~;½;µ¿ )¾¬°˜O‘Ô_^Àõ0ŽqÖþñä‡îGPXêÕdo©p¥×]X—-ÌÍímé­‰æÅë{M—ƒÌýtý¯+(¿¦ü4ö4´¹”Fš=u7_÷oúWü‹òþÅë›Í54êéû=Ï—ÅäÈ¾Žø §c.zÆØ#QSû0Œ@ïïág~Œá¨u~ÏBE„¬s†{«A;ŸcŸØ¾Ó7 Àu˜Ÿ¶Ö»¯.Îßo·¢yÜ»=¼¡Ëüû8Òpº—ÉĹÔ˲dlûh‹ÛûÍ!¯€v׃ôè •Û‰Í½W=#w|¾}þw³‹ø¨—:À]¨á’&c½\¾·nÐJÈòGü³}¤ÁÖ~îû/òêâçù«…Ã÷e™§é}¨J1.'‘3XqãŸjŸŒ¦"P5L6äŽVÜ-—Z]8Õ8j¿^G[Ð!:ÕôS›0›eKbtñǰ†y»Â&§¦¨E‹ÓÇ>¡v¹[A,ÇðÜÜ’::K³·å™³±Ù/•1†‰Í9Š™£¢!h¯vÖONÎvKعÚ^1®ªM0mP8øà)Ø{âúÚœ‚Qßm}Ÿuœ~T0ŠfØ£™ß¤á×þ;éÎó¯Ë›#< þ‚9½„)©jÍ ÛŇéÑáÞËbyÝçLJÕ|\À¼­¶/$…‚µÐ1 MìѯgÃ}¶ñQ*ëÁ S"ÈÓæÂJªæ 2v‹ ¸= kâ fÌ"hoïϘ_ûßìô>vlÀ_“³¯&ï·8¿¹‹®¤á¸bÊNŸcpàUËf‡b!DÅ=MIœŸÌ`E^pC<½Y®Œym7ø¡{&¼ Wöcxm‚§C ÉÜ=”Ð8)ê\iÈÁêTÛI’Ì ¤HxZqo‚0„ãlWð¨Q3¨Ñn²`djØ“~×Gâ™Cr˜î¿FÔ`,žÇÔÉͲ„€‚:Z…æwžÌoAÔ/ðÏòÑo(›+ûäq sKÿš“CxæëÄ™¸á~‚ys»Ø€ªª¸ýÛÍÓâûg3ÆîùQ+žA"sZUdºùËç»Î ¼®‡OFä&"k}¼Â»¶Á½Ýì‡?=騇!äóü¬ç¢‹ºÍcä'è0 $Dõ(æ›HÃñ[0…qƒ$_‹yž’8lþ8˜˜H$ÎêçØÔ34'BgO¥½Ž]íØÚîyJ›íCôËzîꋎ“¥Á{ùÝMî<´“WÃ>¿Z.Ã:ôØ`–¦¬ºž©–õÁDÓª¶©µÞêÑ˱>w“ï/úngeÐsƒ°P›«›U}§¾*Ð!€ï CÐ!€JÐ!€µ ÃÄ¢  C]»IÈc„gc– rû M¢8PŠŠý…Æ ¡µ>¨ñ‡ÞOdE›ÖÑ>o­ø:d{}¸w»\˜|=€gt¡Ú-<eЈÎkßA‡À:HA‡@t˜í ÀwÐáµ½~öyè§EDëpôâsœð¹ðÿý…Ù⯠:Ô½Ûõ CBrƒóè0|Œ¿ƒIêy!вú^çœ]ÀG¹'+O*9q7æâúdØ2èp6M×uï~ÉÏvPtrXaý¬õHLù&PÛg©Bè¦ôàÛéo :Œž-ü5Hin$½ÎÈÐÎ’@µè·ð4q'Ð!€ï CèÕÛ¨“åŠBGZ£ä…Ü !þ{T[:Œˆ»¢³1_µrœ,µ‡è‡EÆù]¼¢³îó\ :J C[Ca\@ƒ®¡ñßrcгlØW.4}ßA‡³oíéåjG|è­8>ÁÃ1Ós{ è@%èPŒ'©¾û³¨':ìÏ_pHp2=üþ»ó¬CØ:Ð!íUÿnèDÓôï CUØ.ÑÃY¹¼³#¿èÐ!€µ C+A‡ÚŸ_Êw‡ô³ŽÛ€g·ÛuÁ¬:ÏÅ`ÀÈN×cÌs;„‹6:ƒîçTg¯>÷Òwí×YÈì‚ã?ƒ›¤r²Fçrcz›ø. ÃdÒ[û{CšãW5åÍo CF.žß羑°¹Jú櫎Iꦛë÷ï Ã¨H«@‡ÌÜÆå±ˆFfT·[)/^òç`Ci-èõ«ô.—A‡dÊWjm=OW@‡ô(½[ù,•Óüet\Àé±üt*‘ÒO£Wt²·,£†Q*3¾/+ ÐÆ)YFJß@‡Ö‚íñD¶žÑ‚ýûàÅ• Ã?µ¯«ú%l@¥§Kï(ê¸?Ì;Hìvާ2Ï’¯qÙÿ:äú;èp¬mŸX(€G] ’¯€«åë¯(‚géwl²¸–Qòy…3eS4ö¤@‡¾ƒgµ”o—A‡`œåz†§èJÐ!rã#$þ¨:Lõgµýö t`#èy&—‚À¹ýû˜Ì7îut8³?¥²e^NLÔâÚ¿c!@7Niz,¤2ÖI˜ Cè’©,Z2ƒô\Gp¾ƒ@‡Ê C_€íýwžóÌÓŠø«ol¶í² çÊdŸÝŽ?ª@‡*A‡V?·sèiñ÷v¨÷¹¼›?¤ò)YØŠ;›‚3¶÷·—A‡iÀOY :€Ú™Œ¶WÇ>wSzã\oŽ{ùòtJ«õ °É¯µßA‡£¾ŽÚtû@ãW÷‚Ÿê%ö˜BbÒ%Сk QcÏ7‚Ó îêîN C8¢1u¯^ìg]k:&Y·KV9íÌ·þÛ±7+ü¿½ftÛ{~­‹T§-ƒ ³ÇáéSY÷â1b¹Z¿Nñ˜ßý]d¿|ÎïÿHuñôÁe~¢§ttÄŸ!b_Ø%ÂTîí_òˆæyP‰‡Ûý²Ó³®ºn%èÐJ*΋*¯— QƒCL÷· tHEÅçÙ5nkÐácÀ¢ tH„ùEQnwMéç²­ÀjP廤_ìÚkÝÕÁYc’Ë™%›h¬¥ö¯PÑ1!Áæù*С{U<߬hOp‚èÐÖVïÇðRYÛ¼áL×Û•K]žõÁú8Z#óëQÎûß@‡¾ƒÀÅtg^X†¤Œà©šŸÇvõy5ê*Ì$}ï"ituˆš¸G2¥+z_§eyöt·Z÷ÜÔpýTÖ©vœûOß@‡ÀÊù»¢š´è@t(e¶Žß¯ŽM±NNßQó~"ŸÅy=§Û«§ >cèV‚ä CL6:XTóg÷èÑN CA‡ P‡ G$’¬«!z¨'Ûëqu‹QŒ‹ ÃÁé î^¿øÛ¥R?úœVׂ•,^ôFº,ÇFœŒ¬À„ôŸ_ü·‹ Ãe^€ÉsöÿNõ¿kóüNA‡Îønýý’áíÝÓo*.ÍŠñù £uê¸t˜Þmªœaµ/¿ t8~^ígÿe<ÀvªeÂ7СþG9W³ èˆÚñJÐ!€è@tÛÛñü7Ðá—ù¤ä°:ŒCj+Ð!€ï CgÆTع½°:eû;ï–Tßt :µy† âüÁÅN Ci´>Žº tÈÎ$è·Õ>ééÇô¾‡Fw%èÀÖ C'¸Îùy1)>/ßñÎÀœ^bjŠ+A‡¶X :Ôî󸘰”Ã%†)=­X :ðtÈKEù pÓèðêz;K›Ý¬ü]è@ t :PöÜj»`$¦üa}ñ¿ƒ@‡’îkpŸòšXaÏ}ޏjÖÓžÒ÷ùïý%9)­':r-˜fª§?Û¨@ô“•ÏX@ë4.ÓXIºÇ Xçù:|ðªc± GC VË "á($cm!æò’«¶Ð¶yì±ÍèÀJÐ!Xf€ž—@‡Ö‚uZÀÄÌùzWÐ!€ Ãø&óLïªsÉ`ÍÈÎpßO÷ý t :€:¹>H×±«u_‚ô}‹ C• Cðsl5㩚–@‡Ôj=aîPÔ· tH/`F6>ËH¶€¦i%Ð!€ CW/ÞO§k\Ø:|1J«eÎXÛζ VÈÖo Cðuq#踷"Èéæ¼ßɉù¼‰/öCNïv–3D$Ä̸zý—” 3›È± :¬Õб˜;»Ì‹º”Æ›1æÌz{)Xê&ëÜWÄ“*@‡ó…igbtˆCöc;åwuM^ÎyØŽ^A‡“I™ÞzÎ}ÎwÈù® tï>(Ð!´šYLÅMÏôèÐÊgê_]£C§ xt<ãA^Qð° tàE C­—Ú.L—Ây‹ü:Œ’¢\·œ!ný”VŸíqQntÒ;ª×âèðóMYnQÿöoÿö¿½¦}œyP…Õ‚`cDsAïtC—¼¬JÂr(ÈÙ¸)6kq<·ðÌÐÇÀ«»µ$ÓÚ ‚_4Ò:ÙØÚ$dn DéïÍá5X©‰:“¼9‚¸Ð¶–Iê8}¨ºX”‚U2#©.°#ðÖï%Œ%|5¯Ð©¥A•ÛüÐõ»P¨TÑM›1VÅ8Þ&³Ù°à'Â…„`LÏ«s`¸âs²†#BŽWn?Š $êË*×9º¼~_€âó½ªü¼‚N=KÜ}W/qQ#ÊvðWý Z\~nŒ(#¦SÚ“8F÷œ¢B¥«í‘=>ý[Ùáá3ÕzÎ[*"bÄâ÷:lA´¦@bú·Óí'ð¶èÒ-$øE~÷jC—™€®))Y7E~Çöï™MÅ,$2¿Îÿ©ð>—;r“‘ÎaAŠ‹Kò >ƒþ•¹Y–Ñu"_˜å}’Ð ˆâÏâ@¼`ZÛpР5DUãDQ]Kí†{íOØ„qa„³J”ïí&ŠÐ I@f¿è L;»›²!%zùâã!"H„"ý·rHAF†}byÁî TÈ!˜9 JE‡ØX–à?™P”Õö±1à¨G$‹‰`*³®q÷$°ÙHtea«]2†’‹DÜvþ S1¢.Êjü¨¨xÎ5 XžÄîj#Ðüê=õâµÛ‡•÷ÐÓ€ÄBˆám©Af>™Ôóïî«mxˆ äô¼}ÇYç³Ä|íu;*†3ªš¡ÏD>µÑn1 ô¦XËeM 9 üÍUÙ’ÌÁ¶OR·è&BªÚŽ †:(‰½`óš:–KÐIÈDò*çñÙí¢M—}°it&{ùâçî‘cð\zžÞðB}_Ç6Z"¢™_iô\p5ŠÀËâ-"ßyØ÷@Ê/«ˆî‡ ë”võOÍgˆTÙ–Š]°rj¯ƒkHÔfÝëS¨$÷Cøzš\á÷«ýÇÑtåÛH,‚P¦9Òà/غ¦A4øuTÌ‚\°™ô»+Èí"ˆðÁþ •Y]°ÑTªÏ•%òóš[ð¬¾ÊÏv\P\ûå£þ ”g H¸¢Æ,Èïùø‡îS€ƒAP¼+5)Ë9Ý£ÀÑKôOæAÉÅ`¶g란>«Î ðcnrQFrP kBÁþÿÎã\zg–ee‹öˆ˜Å|B¢ì‡z=’2À‘åÄØçù'´ù6"Éמʠƒšñxn“¾Ç2>ƒ]ÑIAÁ$™A^°S˜€Ð©ó„úBœŠ‘C Ymßðdq¿œ\Ô[‘v’Ïù)Ρò’ïôɺE›Mc ÁJI ò?ÖÑžL|PJq}ƒ ˆÌêKl¯_Ôþn |E<‘„³Ðf_Á «ùŽgy4•”Ÿæ”Œ¢¼Î/˜Økçkd³D}˜É¶þ|¦%€Þ²éÍ·D %WëˆÉ‹wÂ1¢˜íÜ‚Éâ¶$’¼ S^§³bÌÊ'ˆ²Ž1Ó ÐY°CôyŽ'p£[hp,æT>»ŸÉü"¿[Ç›XJ _}ßHïÍ%RÞ×¢ð q1"$ød*ÊìºÝÀEòéÈÙ䋌À&Åg…&’ÝM×Û‘† 0Ç3xTÇ®ƒš”/È:ò?ZàÕ"ÿŒ˜êßldqµ]ÈSPþz>J¶(†fk¢Œákéjüú|†ÏWï×ÇS¼¥;ÛcˆÌö~ ½›¨ øR˜ù[@¸ä;óëLÈ'PR‘¶ït54n±×ªÃís — µ§R g„†YOg\'݇†<\=ú d <ùsºž÷fj‚ÙŒ7¦xˆIˆ¿{Š÷Fë÷70%ÈlñL!®°ªeœ”5q Œ`b\AnTä·ïµ¾d‹†²Ìn2…g>@ZÒí¬¬#ò9|jX5J@7Œ $BwÝ‚ç¶êÄú-ˆŠïÒ mm!—þôî Ô¶'9<‚—8Æ­®AcÄú¢¥޹‘¯¶ÙÉ8BBhSÔÅcNŒ„!ÀÆ4ˆÀ( àY²ŠÄ/Ûa7‹ôÙneςwaÄ= ÀQÉ‚íŸëþŸÐY(°€´¾%%KñÎçP[2 Â%›;\J pñ3X±x¿S}a)›Œ80êz=¶?CÌb,Ñ}²N‚âÍ4?½å‡5ú …²N–²  ÛªŽgÞ3ü¬+ˆœÅ<½ªÍ@N?.ž§´"–XËìK–*þ^³Ág9J]MûÍ~·÷¹Æ\\çà$ÊiYKføÓø#¿«ÚêŽ9̼(N£jã€Õ0aµœV¤âùÚæ*¾›ë\¦hj*ÃǼ›B‡«N¶øÝÆB6£tÍ\[œÅÕQÔ+w¥óôÕÝDÝFõ³as€Ý÷r9Ø\‰Äg€Ü?Êô9ÐËÕ{bû=ÿ?¬^sDn6šMçóÚßÿ*ʈˆCPÄz=qúÛ‚,$Ë÷È395 ;•YµNµÃ = _‡fñîcz5Ò‡{»]·‹/Þ°ˆZü\ \uHèecr±zw×±Ð¹Ê išVq¶ùÍã,æŸô¿×_éí¢žt2'mföá>¯>gêr5_‘ÔjåÜ6Ò÷©\ÞÙ%¸­®‚ÒÍ{– ?Îõ˜–ƒ5:íi-ŒRì†Bªܥʺ­âÿä:“r¾Ð¯Š¼.„3Ԏ϶:oSpw¾#'ÞäÝ<oDø{|ŒOwàƒÖÎ7g&Ì)\v»j·÷õ_ËúgOÕÞì´™÷3¨nÑž’*@hïrº7­ÔFˆî†ð¼¢}e~Î×äy®3'Mš2j?„í§üÆž¬—k JªmÆ‘”'fe£ZwÇ«“²Æ€o]ÔòÊ?Ö,_Œ:A'÷ùy.³ÙƒéW«»/L² ÁQ…m¤3s›³Ñ¹ —SùK´,¤b-t!›y²M=Z yäÏeX.ó+ŸV~?&S~ OS;™‹ˆ½ÔVøø>÷&ç%6ìfzl5€™´7'êúÃj`¾ÐÉ*œ?£¿¸»[ê†CÙ$ä …z@Ư&ó>òǰ{e;¯I¥vƼ»{"²—Dˆ²Àh$‚ëb{xßNÏy ,i‚ôÎô,ùEÜçºä)4AìVàâZ¹½B½Imœžv_mó³oà})Û½Òþox R[¥Ã¼]AOœš´<Ü.Aôó+  œH z&I÷̈EÛÕe A*³UE´'€ RÞs{¹lSÎËÏÄê1´ú(¥kº»ÙŸªK«õá”!Œ‹> þÙÆùb†´"–ë¿§rïø„moש_cu0k:.DÓ [s·¢¦ëvž«eþŒ¯–ÅQpf”œÖ.P£«mªÿz–v·`€IæïòVºµV´¤ZÚ¡Œ>u½Xày=+÷ÓdÑEÂzh iŒÆá3 jTÙËJ]훨’ƒÛ…óˆ_¤¼“s²mÇR»³”‚ÝAL¬=ùBP÷~ cªõ 6Þƒ0ªýõîRgÇ“º“-Ê †ÎùàÃïÕ6ɶƒzœõ: ôM/ÐG…ôþXžù©ï£[9¯4—Ä’0\f…õˆÆÔLmÉ3šËõöS/Db®·ª—©¼ŒÂüïT*ß±Ò; É»ô®ÙÕ‰¥?³Ž îc‘þŒ™„û¨è÷J®7¤¸¬CAb¤:F5]² ÅlQ‡Åت‘Ë–· ÿ=wõ´L¯oÈucs"–1S;mZQœAN«isævçh–ž‰oPˆ)ý‡hæù±úŒã¢\›Ôry8£vë"$ø/_ß¿OŠqGt ° Æ\q}·óOÕ8 ÀLÙœk9ÈZ”¿;eAg`;Xêè?þñ‘tGÝí(· ÄÆj{Ìrrÿ³·"Ú—·‹òܻ3ò¿ôôß»¢ÛËé9ÙMúSê7À,ÇD{µb÷ѹaÂÏä×ÇŽŠC¦ 8Âq6…æ;¨×.à]=ãÆØlבÊð”*еç:YÃÑ›"Ï[ñ¡ÚEj×ïùe{£]¯a¢§~ÁS_[²»Óý̉3à”M0,-¥ùج¶¾u$€ýþèTß}ƒ;ßl+®Æþ®œnw ý”&Iº¼ŽÃýo>F˜…@r{Áý<Ác ¤á,%h©ßo’%å­,Žî“¹ š77óX;ëènt0öÓçÇÃj]›Õ M®±þ†Iõ}ÅÜa™v[6´OŒðe#†½‡E»´¸.#Q`Iƒµ_ Ëù]®¹zÌósvîšµ]J‹¡0Jªõæ3¹9xukb.äq »¬š´1J‹{#!õÍm{'E=Ÿœå'ý_¹Pèjµ"ìg>¨§x˲8?¡,t}¼.Ûµ”¹Y÷Ïü€º`E û&·¹áBlPô@t,t¾úüi÷ g<-ÆzgSÍùvSùÔLÖ“'ilí~!ßs–M©iÚÅóo‘»éSãf„dZð;/ÐÇqz‡wDŽI1ùj>=Ûa$ôÑRƒ˜u…T”_+¿ŸÔËtqFž”~&.aˆ,^OÖû5Vmö ¾Ëc”ûˆ'ßÁsÔ%–y®õkõyö³ÉkLÂá!#qVIÒÌpá‘·Û]wo `=X¨û9¨R+}™ÞOp·Úvr^PƒãµÏÑ›¹~sìâ¾\BCÔá1^ð9&O«ã÷&1¿³Ð¹.¯ÛîVðßú‚jsE¼§šÇg~úîûù=|¦Ì#®¹úüèÚv±ŠúCXèìŠE]x¾Ðœ†Ìvì9ÕòÚûº^îÖ‰Ü?jù"â ZÇÓjšÍå/KßíÜï±¹çl‚ŸTÖ¡oùj[¤Éî>¡6b˶o§]ÔßÅ`ÂwéЖ¨j®à~i¤>å ¢§Ì| ìÁ‹NØ¿¼Ù\=ëêeBhÓ«gÑÂH¦V툑Ç+EzÑÈžÿǧõB+ Åö’¡*û&F Uà|\ÐÀ¡—^pÄ;P¬T$ö0}®PÑqMij?V¬Ü"aÑŽ%ëÊ3Ë”DçM;~Ùlvù"5€„fE§3=¯Ú´Ú˜ïÆ)!KKƒŒ,QˆGþáf#&ØÎà'[VdV2 W”ÛÏ­7ƒù¶·õyοe'ëDT[l$‘'SþU-+ûúþš[Yr,a¹Lâˆ$àG÷?äĆ÷¹'@h àŠØ„3%aa³¢Ö…턽åØGò®îÄÇùÅqÜæ¨Ó¥|-Ê”b ÛE`àLÚΘØçʘm¸€œÞ­•ƒÉd;yXC‰sž8øÿ¹{“%ɱ$[ì`ž| )3²ºº¤¿¨w\pÅx_×"!EøØ™•1úln³æyà`ÌÌÝ#û•<ÛT”§†{õªU=ªºÑÅQ#úøåï»u륅¨—¯™ìåÏŽªÁ9¬ï¯+/ÚœZo÷ÚWÆy„£\WЯxögœÀœäÁñçz 2Øè¦)Ë"Œ‹:Ü¡MxŸ­ŠCÝÜ7åïÍDá·Àõµ›—v`w£’&‰¶²zÓBÂ;Vs=²VêÕ'•à°{”¿9•ƒ Û¢³"µ‡m…íÑÖ;ÉÚeG4šA¦å ™+£tn4¿[χ_KÙ[Ís`§½>Âzž`í§×2y†OV»ÌöÉv¥ŒJ=ñõ÷ð¶T’Êâ~Á‹_¹:±0 OáÚÁ£Å^;Ïe’êÑ Âýì í´¯ÛÿK à°¥m¼ýÖ]ÚßûMEðýi%Ö®ït½¹f}ùü)‹% ÑîÄÝ]X¾Sšœ=êy˜·yPJÌdL+ò®vXRÞë:r¹0–$Î2 CsZ|¿# º*œô¢Êôªž þí½®¡¥~(º]ŒÂeÙîÒ/Fi/š:„n÷4³vŸ}aw¶ƒ+f»£w¿~Þø«VÇî·7pzБ[o'vÇS½hG€Oíã ã»ç“…|ã îñF¥òžÐ1árÝC…u'/+F–:|®¯©7G9~©t8“?–Ói¢#Xî ²¨ösãÞÕÉÊñ!Âé D™ŽâU,‚21ù3Z·ÝØKUË øY‰ý¥÷öz—å¢îOؽî :ß­ËdxÒÒ¾¿ýÝÎ÷ºÿ¡Ó´Qìd»m¤ãr¯”ã¬ôþ¨<{¡Ü”9Ó3q –ß!Λ¶Fÿ’c¶×[*¿‡¡Tï¶S}ùëOM{ÁDå3¯Ô§“\^—çÿ¢ðqå·/;¿O¶¥›¸‰‘½¨ü[HŸaMl¯¤L7:¨¦­99jÇ=»‡ž–Àøv ºwŠ“¸ô×~ùX×;I¥zxº‘øT‚Rþ¸I~F‚E†Ì½l×s™·WßtÛá³[Á{t Í|„~i[^徿2|450›å¶æH+í:w^?ŸÙye”=½Ÿ]œVÄHìçºb6)ÿ¨ôr¿ak°v]¿q¿¶l½d¶\#S‚Õ¨¾×±K\$Xÿ­÷ñ0'F‹n}#WÚÐ+ùs»ÇízoÐoYå‰Bå9š˜O=ÌñK|ÖÛï°…í6ø(µáÔåTý(p…ïF]§IUf³ùtûýŠUºµòÀÔ ”WežïÑšè#¼ôiøbsX~á´<+þE‰^£§ÃÜðU¶eï ›½ïñFðdwÜ%¤òµ”+ÝšøC¼brÙõªÒÌ{E–WJËeÓÒo8• Äî Œ‹z>Ø5›ö˜;zÕ$—óLm·9¤¬?êµÉb¼üQeÜð'½ioüz\NyM€ØQHÀ.ë¶Öøœã?nK=µB˜œnßÏ]=¾3÷iö¸ßø—.‰v=tšîn0òá­ŒžWæ—Þ˜UÙ‰ ÝqZAÜ]ðMº}…“8Äħ`ËŽ¸BS~l´n/í5°¦p§§X_°¸½/qc·¯“>*ÏrpÔ\æ]‰Ù?þV?{ }£KÚ¼¥ {ƒhʽ/å—áöϳ,ü 4»à:Çð‹o”¬”[ïj7fMâ&QVyWîíùqÄΩ¯é›¬Ýg#À÷*×wš¹ïêWˆ…NÁ㘓Ï/DhèÙQ®£dµðñ;Fg“Ãn|¬1*ÈóÄWuîO¿ÂKVÀ)u†ÄÝ¿©ÏÉÛ\®""ÀAÒžãgŒvŸÞZæzÏßÈ{1§/þ•^KÐÙR‡½°#Ùîw-‚‹½îŽzÂÉ“öOÛ±ÈAÅç¾ìö÷Ï_ËÅRö3®ŒÿÞÆ¹ âî\Öý"¹£€òÂéöQûlΩ9ïCJlØ«úzó[b¬³›ôyÔôÝ2®Œ%°Nsƒùv¹IŠŽéÜ/uýøÇïuî†Û÷q–Ÿÿ«{q¥cý•ž>àÜ÷´©‹ÇWݘöŸD{=.u%6×TæM|q›~FmÔrÐ|] Þœ ÑãHŒ¬/P«#â¢zrÀ›q`¤Òx0Š4üÚô†SŽhP˜JïuJSiücaãðGP¢h[»’æ¢R±kÕÂ|0ܶh@äêÁ¦+}Ž/òdtŠ,ò@PLØd!UÚ§YÓé âÇu ™øA; gµÒ^„QB⤟dF'@Š18Ð`ˆ £ËjŸ®8u+Dqw°4Ð4ÈÔAqå{“Y‚PT‰…(¢oi¤Zi8Ôb [ÔÁWT߆B*&0rt¨ìvr—@í^·u‚’ÚÚ?Ì?pX!xE·"Blÿ>»aÿX=FÒR9ß§ðqÝP‡×1¨^ûuùá~ „»Q€lIAT· %¾ ¼oÈ;h™ ¦ÒZ—/*i¨"ˆØ Ù>4VGðp  º“‹Ö꜠‚ìµË¢ë/ÐWe°hW vv¶â°Ì¿x†¯ÂN’;dS!’qŒAo#É—>¯Ê›¼ç¡G ôèÝ`B¿ôÀ÷L%dVDpÀcpt)Hó‹äa”]¹W.ùQÏ5¾öasX–¢(Ãýšc!`ë爮tš £êêŸÁÉM9ÑKˆt3aw²÷³q¾]ÞÆG˜–ëJ©õó/,|Äâ~ Ždyd•î–Þ rÁ¼wú^c|Ô-C+¸óaï—r9 –’}0¾]›ô8Pâvƒj…wà(šÖèA».#:TS'}Ä{U \~³Ñ°Xû+•î;BX×ÔFrM ÐD¾ÏÚ–1¶1«ƒLxÜ9+¨Åøf9¶a¸x¡Ü—Eâ( üíI¦¨R!Áò’ŠìUÆît·ž×Y‡8DD*d`A"[Çð=È8% -:É¡„NÄ·e€A‹|Ùæì˜®t: âý+»Ã¨]‚o1èÁv—«§à%êIz+óSdD£ÏÆŸ8àË (˶¯ÛP ÀVÆRi;ž—PP Úß9qï@2u½mßù`+#W¾ˆ¾ÜýÎbÐÅYaâÒ–Ñ W1·,.ˆºŠ lŒtq³;0DÓžDDyÏ6ökj¡XÑëi€óÅHn=¦ ÐÝkøc̱̱“LÅΚvß™‚.ºI‡É©<Œ Ìäd¤¶ IDAT¸‚GŠQÚBÚ¸†€Ò–qO÷s:°°t¨Ý•lC(Y¯. @“Ò,ƒ²b '÷M£2UížV·›‰°=ˆDVÈ]òÔB¤ÂV`ƒRŽ ®Q ž½4ßÃæ$$<â± V‘QÅJ²D¡Ãer#p’¶?Ë«€·Û}ƒTÀgùw¸ls¬ˆ2 À¨íÁ60‘º˜£ ÌF‚Æuä¡G1 ¥)®¬ÍÕü‡ó…R_ÁÏédª=±C•Vtk¤Ý)Ó.º}%š‚Éêë¨#Õ#1µGÇ-? ÁêöòÎv¡²Ýr-ãºÖÂB, ¬øIaëh‘Á´LC‚Ù`år$0 Ä-£Ñù¢»·»\Bä[:`4(ºéÃQF†Œ'F @;„$uã¹û,«ìÞŠE܈¢‹QPîV<«$'ðîC0 ®ÀzHØný&dSÄ„ü,Y¼ô-˜É ¯7|Z²Ãá d*!æsÙ"2 šr6ç-H±OKEl)bÚq-S©ü×Ìz‚TxÜ{XjRÈI¡v¿GWt`b>’Sa ãò&…Š‘ËLx´2zs^C Ú¯;²¿Be‡ 5Y|Ÿ›lŒŒŠ“î¤FXt_ mø)¨"8-Ò)訩«’ \îÇ×`¥zÁXÈsˆˆkPè!xE¼2¹ºÙËÏßg@ex°*€f#È-~’NñÉk&@¦bÈ•øçgÝÀ_êc•-ß{¼Îxð܉‘¢—ʘ\¦DB›”q¢’±Rñ¼¢ˆex¥£’ß?!²is4§n$ú¾:‡õ8FH‰æ)Ùã‹Çî #€UÛe,^ëRèá* Ñ«ÜÛ4ÿÇáËØÄYKB–KG†ŒH1ÛHÂìŽKdA3–§„k teÄŸÀ̧MüD)í±¸D¿¹1& È#~ÉHDOØ? 6ž™PöïÆF2‚Žb;NÔúÙý661P¸˜6…,ý9~]‹GhK ÍïÅx R†lÿµôxˆ#s3§‰YKŸŒ¬’Œ5 ,ÇBÿ¾?±¤Mˆ)!â÷uaÅ Êò"Æ«´æ{ÉšƒûÔƒ˜nƒ³R;Î\ÄŒƒwééçg¸Oj^ÏzÉS< èb¾ù¬T(¸þ¾÷øb¶2ªR¬Œƒ6M cbŽUÞïà 0X"H¤iøc|Õ螀¡DݾXŒïqGÛÏ«L¨ÏyÎg0›]ó¬ÌERÆ@E8Ѿñ@©¥ŽdÈ©RÇUÖ|®eÏc®Ä «8@¿ˆ‰+¹ˆ¨:Ò•\S9¾r±XAÅQ2¬¥€cÜÅsðº½ǯéÖÊ­ÝØSò²-ØZˆõò+X¯ˆ?ô‡ vËø÷p²% Ÿý¹Ô1Py> ž®ëŽ’=L嘠ÄûÅÙ²,½Ñé”Pš7aÉí9žl¨€Ï¶Û¡L%!Vbc_'!†±±‹h¦Ï`6W!˜Ù‰°Å¤9Š‹‘í1bÞGþ.=­Ê5ÙˆeñùúÓ±‡”|\ÏWcÐ f# H„0_À‹CÜ,hâÓ *ÔÎèc>Éø¤¢bœÐPö(FÃÙ¾ŸqÔ›±o.Áj9V -̦¼HçèÌ•ˆ¡‚¥K;syí _L’”©æ1ìÞ¥¦_— ‘àˆ6xýMÙ­wxU}úúoääÓ Ç4ÈbmÍ”ßI“ÝûGMGÈdbQ\I÷r'X„ÐÀôvc'rÏÆ_ÿaaxX¿žñu~c¢äWÑ×<ÐAyNBæTZ]×P€0càF8=<-|·R¦Ø‚Ç!eå;%3äÆšŽ½;°×KЃ\¶nîã‡}¶­ ØbD||=ÙËÿÍ…Ëaá ;Öj)HãX&Ž8®È‘lËÛž–yÚyf”¢C­ƒ »e6šAI ¸"¿B(º žÏ׌ζ۸O¶‰öq : 4|¶ýÝDúùÓK€øùƒëç(’1æVPAWb»ö&½±5#Š ·ÛÊ>Û-7ßhƒü¿G$ ¶È×9[cÈkð¡Ð?Ø­«æÈöZ[ŒªŽ+–¶¥[¾´ýºd”ÿF´DDìtT׿ބ·‘g1<Ü¡Ј‹ÆK½ï(YºsM@éuû§I¼¿Oß«Äfó’”ë!ÊÎ¥ÍÑà9²©|¾p¹ÑÎöM1þLùu;HØpG•QIvØÞþœ=‹+ ¶½"ì_š ~à4ñƒÊx¿¥9ªçMïæïØE``Š.rûÓäò¢Ø.ÄíÄ3%ðç4SVÔÒÃ:p?{[WxŽ×X&sp…Âg6‚€ÂÉ„4W°ä]Yæ¿*ßC%wWì²E+ToÝ®ˆ5!Á„ÞìmŸêÞ“Qÿ¾÷u–1a¯T”œ±½ª“=/*ÇàB2¼'ÉÄË3Â0gN߯íÝ0ÆÝŠîŠÑ¯Ó’M>ct¤a‹µTK~ªV.7F؃kO f²Ê©•^vST/·>ï‰Pv]r­z5šs“A&ê¥K‡¿ õnïU¢t…`BQÛŸƒäse•ù»å†Õ·;4é Z‘h¼™¸oëïµ*FåÝXzos½0ç2ͽà põ³{ø®)Wç|©ã¨ ¢|ø½½:þôœÇ©2˪tæ+Zv'-•È—¦Cª¥D­½ªZ9yÓøÛ5f8à›Á;ïK¥µ÷†±ÿ¸eœ“ÕBÊúü=×åéèÞÁ~]&ÍKiX×sàì–pBiе:KÿU–ŸO?lv;+HòÔ2ŇsÜÔÑÛîœ(l)“܇ýˆÅD|­°uô¼”ï7\y/¡âH\GuðöCnßúüã¼&½8 Ãü=^JåõI¥Þ†£y@ uæÒè{ŽJYý 9\ˆ»Ÿ'f0T8Ü~\y†´h‹'MüaØnsdµ‹»íÝu­¯ßŸ¼ ‚0÷¡V³í¶ÝŸÌ =_LçÍóýQû[·ãF$]×ò¼_t¿»™i0…ö½¤Ä¦Þ–_ÖeiÀ»{¿[D·cÃwoòµ=¨èÚæÀh XMÙ‰—ûÝoàܯtUŒûù¾}w¾Ã·ËŽ6®®C¾_”26‰ï ÕçvPw\e~ Uf õKûÊR§ˆ+ƒqKçœ.Êöù= Jû–$îÖû.ÿ°>ãÞaÀÑ¥0°eô¸\Ÿ«A¾îqZجA„0Þ¿ÚZ,ð!§m×Ã\V—½™ÝÞ}Ö /a+°, ²Y—#-Ðñ3?Á¢îPJƒz¡H–XϺ¾Ã.1í=¤2%IõàûÍÔ¸×s™^iM¬r%†b ÃÝMÉqýÙ›) ‚«¦£ù6÷ F¶ŽpwYôénEw^7éC~½ŸìŶ]?Çd£¤9¶á0èÆÆh ù¸îÿ-íä°¹?š˜àùúÅT=@!{â³ö”“J<ó¡—W¨N‹¤¬è”ø"äs;êë ({7î É\NÎ 6vŽñšßô%—íˆÆÇ~bñiû*…s“wLe3å,uÝ—r÷^µJ{Ö÷úð¼é–s\?ƒ“¥hKw_/j·þMÑ¡oø¸1ôIAò%™úu]§›x±ƒtϧøÃÎÏ6!–×s½Qço„íxÇ ÚqÚU×£¶“ww²Wßö~gYpÎmWl #`JyɈvŒrè7 u¿ U̯JݼøÒÔ%³Y}-£þ ¢øq óPÀh£Êú=ó¦;æÆ´Çf¤HÀ ꌓµguÛÒ'Ï[|î>YàLλ´¤F†[*ÅûÃnÝâè-Dg"Ã'³ÙIƒñ»Ï|’¶ï‡|Xv¡r"Æ$÷?˜ì+{š+u,õ¦iôR(ºH øŽqŽŽè¡Wy”þÅ—@‡su‹½nÒÏiáRe#”FÂw¼4(•‘‰dÌ!q?Òø¥Úw£ÓcFI õ¬y6ÎÿÞ’¨ß‘ŽƒýȒ߃¸~=¬¯ë’…¿¬;q¾ÿ…«gQ¦ìö‘|Tî£F©SØi=f°0r»<­QD»*KÇà7:xÑáã|ÈÞóÆn><ËF7ÜÓ£í8 ºÌu·´¥Ø…¯†‹XÓ‡–® iô¸"†/Ö×½¾w[™^“n‰›‹i7TXâbõU· 'týhEàÞûüé|Æ0V ~ þPèJüÃÅ‘š@Y—ksåôpíOä7ìPZt´Þ [;Ôÿ¾4ž,3f¥›·E¿içö¾&ÇíÆ—ªêà Ûƒ&\ÂAt€èÇ´þ¿ôð£1°f18äÛýÞû»\ߊ•ÄaçX‹ ,ãv?á`ÛåA˜ÇA×F)?‚TŽÛµþÌåu4Pp˜äX›l!2gíD²”(ó ÊáXw²u}{EÃl‚Œ*q †¹M{IÂL¦ð/}¬¹¿LEú}Ýf]w…>,ÆéÒõ÷]p@¦–¿±àB¾†YEäçÒÚu{Ru~x™o¶VLÈ.K¿s~‘w˜¼¸4®ºñé¿[þ’‚pÂo™n›×‹¿¼~£3å~^zkc–Ôs6üY½³œq]î¿1¯?›B5qÞ©ð܇R¶^¿(í‹9/Ÿƒ>/»ë1¤„À*sÅœæ"›5eÚ6óû ‹˜öß•ýH©^š@Þ˜¤8žï§÷ɨÄ%²]·•)Ëéü6ßæ°ék=×Ö|±iÓ ð›¼?ÉÖ ò{ÆÄ~DÅ yz§Jãß¶ûdæ]þ,=¢¾>:5zÔ}Xg¿|ÛÒºA¶wï¼›¸ÏÒ ¯?´ë'I©LÞ³ëñƒ/—uäøM/úM|3À}h:ŽuIyñä÷y΄º¿úbâͯ嚹*Ñ|\G°¹ v˜>=óÑ#¶“LÍ?ï1=çð‹8ü©gÜÊX(DˆOºßzݶ9¯ÁMxàõ1¼8ƒ°H¤%ýÔg[kKôö÷ý|máãy»“¡,,­’ ÓÃôEˆ#[{Ò³ðK þðiN~w…ÞË7˜MïÄz®ÿäqtºSL'ÞöÂŒ¥9ÆP=´`ìGÒYna}™¡ÿL\#&\MÅ_ùYZ†Jû™¼%xuTäY&áˆpžtûû'ÈïÂ0q°e$ÉÔÖq¼Ñ1÷æÚÀëó\þ.ÝÞ~Bb3 äç³ Š•Û!ÏïAàs\¢GzLéˆ}¹7ðë ¬o",WŸ ¿Uû«? þ¦Áž0O÷L'@ ºå;Mi•уv¸~Ãsi˜x[‘ûÎ…üòéäµ4ò@28*B”ÁSã÷[hÿº}|¢¿ø'ªYÕ²`*ûë‰ ˆÀq ˜Œ@ôÈNx:E£—t–xQ€ïæûA†$Rvwp“»ðOEÌo=¾jïFhH4§= MG=ÄŒbž";$Ÿ%Ó¶¡BÖòDÍĺÁ‰’îdW&ˆ7ígÏÈn ¯ÿKð±·úaðá¿ä^ÉìÔÑ»€\¡G€Î>.™Ä&$B*E– ¸4¯ñN;Úï,ͯAÖ1ŸuiAy[ʹ?!ÁŸ”ò•ê>ÈJeè„Zá$€ 9dqSOë´þÁãt¾LchÇ;ì¨Ooêú`ƒ´ãNSq¡Z»uóÉôÛnÌ£òK˜~©P>‡¾ÝVY²Ŷ`ލIyïnáåþY>½H‚ÎÞƒë øgüXŠ¥3½ .0àÞucNã}­R´¸HqtðH=Ì€îRÖR„RQ*±‹n·£1³Óºðf:Ž…0‹€«¿V·}þ áãÇŸzM™“ayÌÒòo ðÛõtr}êüñº\_E¯ÿË_¶6ãë§çÝ>+cˆ”ºŸ1÷VˆV,^œ•>Ö*V0 ïYÎa3xn|  ý’ÇÚ ×ƒVéôºXq{òØœÞC=~ñOs^§¦€cÕƒNKHÄ1†ævßaé3òÑO»ÿ{6>Vr®4C=tzK9dð8üí[ßpE*øM:†KËãf>YIæ°¨îÂcšA;nÚÅ(´ëž1â4}|Qù2ñ1¬t|„W8aß<ÞÐ¥¢ÖŒÉÚIiã|Ý¿…Tî¹ÿk{ )»ÑA¼ÎϵÅÐúÙru91ñöD…NÁ³ÇO¾Ž!3Ð:l¬žÐèQM»<ö9uðüؾ¤ŠpL$¤x^·çyÄái÷¡ ÉGæðÓ £ÒY]&íè;d¦ÝŽéÉþ>˜5ÿ¥R¶5f‘8ð( +×Ç@l¾G )àœçå‰m=‚Üc0(V:‘™Œ5ªŸ[ŠÉDûå<>ƒàÿ|ÄØý‚Sq{/w>…xX?þõ-ðá-ø(†íºÅ§aóÛïP?ükݾ»cÄbs"õüñðæãnûÄy4¡=~5áHœ)FþgE0ÚU3ˆfûÚ* Ëú9>Ÿià‰vÜ÷Õ^ãùym©Žòçû.‰«‚ÍŸzÍëd„s*ÇúI!I»¹Ùå%ìWÿ ¥À†w!ƒ—Ecï^=ÒÞ™†êŽ—7kȯ·ŒM!’›ï* X«hÄà¨H&¦ögœEÿâþó×5ð\ð'²ˆÜýc×flA¥»ýi±‚sç5YÅDh•gOÔY¸½¿6Vl( d½¿ìúkó}54ˆ‡Ê7A êŽiŒ4ž—ˆY}±0øUÁõ'Rh0VŒ$Ž@ÑOè÷/Nb|ùÝÀ¯ÿª=ëy¼ »öuXXs(‡¾æÅ­w¯äÿòµç2ÜÃ:àWUõ¡2ªëscÇx-wƒZj!9Ê÷j&²x“zpýíl¸…œàÀÞ͘ëY .…+ôé÷zWM a´²) â8£-ÿ#FvvÒm¬u䋞û8òØêü[¯ýºWlj¸Û.i øý¾T lv¬¶U²Y'6&r Ê&ñ‡iãïjSÞô˽·M=a_'Ï÷g3ÚÓòñöï'Ó ¨ã暤bÒÝovkƒ(ÎoEð+mj'fŠõiºÍIhv1Ší«þ/¥n˜®<ös¦“ Ô»ý¾;Òœõv¯¥ð üŒpï6,†Ä@sö€¬´@èÀGûuã]éÇ1þ©ºiqáàà„9Iá0}þ˜A¼E/}Søhw ¿:wøEz‰¦¡­ƒŸv½¥bÈ—Nn6s1E¼xÆk»®QlÊ'MÓˆãø§<·a0€“ˆOëëç•dÜê†Ààu¶ålQð¨í2Å÷døºý—í«Äèmtዾ{`Þ?>~çÎðRÜü0YÀú’áì ûû òû£g¿똠ÌÞi7[ê«â~#°b]#Y¿Ö²O‚0‡çuã(YLa»ûéüQx…³'{Kú0ÄgóÕ’,>˜ŒÿKÏüufáœPp=q^!F_$ÞQ´À€Áià&$‚“a2[8¨‹kçÚÿ0}Õ3 ŒcàŸé£º@ï·vÒÇ]6‡¢ YûaÎIH$Âø ,Ý”­kÒÄyªb4qqvÒlâi~ÇØøX A»Oï¸& ¤±ûƒ®ÀÝœ¼D`7Ïhr3õºó.E ÃÎN¬B!´rýé„cHl³ õ^ñ¢ÇbdGx›27baÓ ã“òì׸Bno-¯é/“…o·>v.³[¼%^ý×Éaš¡G¯EaÚ݈Â˳Ò9SÒq¹`Ë?L ÿ®þåÏÆÍ&ŽrYXÅ<´¿ŸOÜR à÷à³ ‰WßËxa‚>Øþ>†sMz³ÜkÒ<Ø“OŸá¼¡pÌ?ŒÉ΄GOž^ø_ðŽ/ƒÓâ:†Ûߎ‰I#Bª=.¦a{$î’?ñ›ü´ Ÿ‘°•f"àã ×Þ<é]ï”Ð$¦,UC3' MM¯ÏNXÖ7ú¯nÀ?f3Øæ5zü›g]gFñ8JüŸö\,©#LKý‹¹Æ¯j|“·8M›ºä2¸Å¡ÿ7È-mÓ›lZ@Oƒ—Ì <'ÅþÜ$ª›É¿&Va\ÐÞjPüÖÆ8ÐyêÇ1Hêvÿ?[R †OÃh÷Æ/´ÃŸö~sû‡ò ¥2¦u"áþÛÿ˜ŸíIv‰¢N&¶¿/ ¿ß]de’!Ô‚^Û`蟛¯äîg^äñÈÉ}Š“ûÉ©&20Üvyç~ÔIáSõ}ˆ‚ ÷´<|´ˆÀ<þ·äœ@z¸'&y mîmA2uŸƒZI‡Yõ–+ÃØÙáÑó+¬#}¦y6F‹³ì¯'¡h©£¢Sc}…Áë·0Íýâ±J¶†EôaþiBý[îÇ(² Ë®sœùRÞa‘Wß›ïþ5Þóçè­-èýýy$Fz|÷<¬—°p¨Ÿ»ö«™‡ÁÑã}M^á{íy¥p °u´ƒ‚$;õ&8NðÏô±Ö4”þþù=:5o±÷np ‘+ã'®ÇBº÷-½1A¾núÚ_Í üRÉÙ¨0abwüt>uqx,þÔ5ºH—xGæçä“3ÆoR©›æTŒÃ‚¸ñÙüŠj=Îq“Þà5Ù^ü˜ù#üó IQ@Z4pU¢¹)sÊ’8Û› Ü%ßñ’zÿtê]¢/4‹ 2a Âë&¿s¡‡€ÍÏäí<À«Cîȹ¸ ¼bë˜áÚup.¶ãˆÀ¿Ç×ㆣÁ‰~^-ºôÀ¼}œ¾Jo/@¾ªè^Íy93z¹_:Wåâʃj#0hȲzkZÞ(X m_[ ~UàxuìâSwÉv[Z—ß•3®ö òGÿ=¿ç>¤Ã^P>!•#›^œäÊñ×Õàsí È¿*{uO¶Ä©ÛH‡îç¼ årˆ¸ÒH]î÷Žï^ɸ7‚' Ôgózû!Nó}&WE;üQùýK±9 Ͼ²À„ù:^DþS/×Qâ*»•tàtGnØI:42½°÷ nè …>ýd1š*Z7³“ö Fæ×m#€ý>?/‘q°•tq³éHB\§å».Ò!€¤ÃLÌÛÚw‘’tHZå~Ê÷Íõüálo’ ØF:ÐJ:Œ×9 ònšÿíépm5ϬR·«¤Ã„1¿Ê¯·I:ú×’ óƒtHÞåíÐ7I‡Æèõx?n—†s}Xÿ;¤C¤ÃèÛíÎïþ Þ¬·;Ö^¥õî6ÒᷔƩJ:”Ö»VèäßæZ¨îEôƈÚÉAy¶Ö²…ïáE žŒÑ“ôZvÈ e¦ÉCeåÞ-äßg´ÒôÒWXy«NÒa€/ c=ï ÑÓ‘·ËÕ÷ Ô•÷?idèúÿÞ/’¼Y°©ÞÞ„uÝM5I‡ŸFÝ„»Pj—+¶ËçsH‡_×¹=dtÙR©‘ãõÒÓd1rðé\ͦÎVÒáÂÑv’ÔH‡©çcÜc­ÊøÝ¸zÖ~Úë|MOhu·épn4׿J:LÄnð¢†ÀÙ›|Íö%~þäbê5?}fò ÖH‡¶Ó\ûMÒ!ÈÊy+éÀVÒaŽ-ÛuçÒ¹hêÛ=H‡K"¿»«ò=õaþï¤Ãx™¯+“ñ¸ùZêÖ…ýz@†(mðæXH™h?'ÊÆHÁs"Ç4çÝXß]œÇ×¹ž Š._?H‡pp®aʵŒ¿oÇëú÷)îíÞ2ì¯J l uÛ¡«Y'épQ´Òÿr]—aK¬c•»ø¾©KVõûHôã(½ßÞÁãÚƒ/‰Ã½I‡Ë•„@Êï]#Þ—²s<ËßÏãK]q×Ço’—×åšíK:dâvŸˆ¥(ؽÞét·ý»cj{âgØ2Nòé@ƒtxGä¸ìE/‡3¹I:P#x è$ÆË¦M¾êg>°»å8¹Ï±ô‡ÊX¿]¤Ã,ë¶%‰ûKîûY{vê‘‚ÐÏI‡Å¸›¤Ã€ÈÏu•t F:´QÊÔTÜmÇÅH.EÚ-ßÁÑ ¬o—¹ì&Ÿ¡î9‚GÖVÍs2Ë#ý›¤C¤C›éÙ¥IoÀqu E‰çPì9ŒÅ¼ù ¿}| ª•±Îßôïûá§GäϽärŒb³ttàtx9‹±’J]åšå¿7I‡ÓEwÁߢ¨º•…¿Éy7¸ØsZI‡j¤C÷º;¶êÍ8MéÀéŽUæÿóßDƒtèù9õ.·K­ÿhÇ™ÙM :$j¤Ã»Ê8¢‹À¸Xµ^«‹tHκÏ+±…4OÖ“-?H‡ZI‡ð–{ÕJ:òõÔƒG“)”Øz°Ñù’.:SUI‡bÜ=Jpx¢å¤Càtè®s}¡ûå˜Û*éðÊÈõ<©å²â8ÅùßJ]ÕF:#hÊã¯D˜}I‡v’¹™¹YŽýd϶û‘ý‹÷¬’ \µ“²¾:3èÓ?/aeI¯çßg£¦<焆ºH‡pDÐX]•rßE:¤QÊ侤C7AƒtøUwpDH5Òá—i]—¹ÅèÝ4+Ï1Õgñ»ñ¥î£ì‘,¸Nr5uël¿Ò­}!6c»H‡ùšÐð¿íüO/}¬³üºUÒ!ÈržHÙ$®Â|וx—ºŒ‰öÅš1‡âLßækÑ«tHi#昦ÔoW®!+RH(iØnK"µ;f°Ø€ê~®»Â€ƒéf¤Ã¤ˆßx¹®j#Ø›th}¯Û„džËÁ'ëŽì‚Ðs,µ‹t`+é0UùNÒ!¸[Æ4þ Žgô^¤C I:€+|ÙÏgÀùÞ¤C Ò!/ÕÏͪ2a&Šº¯ËO뺶t˜Ÿ“º®ª’5W‡Î6åŒgrEùöen³¨Ëí±·§ÔH‡~Ю{´ÉãÚÖ _#¯q8àZI‡:I‡žÐßV|}ÚH‡ßü\‡l#N;bï! Œ¼Ò¡¾‘‡»ŸF¾·¡*¤Cà¿”t8 JÉ˹.~Éó·ûÔI‡âËûG?Çú.—•MÒ!€G‘™ÛÂ¥ G‹'‘ =Ìpw³±OT{Þ{“tt“@ ÿ¿i¿—¨ç{öî˜céÀO!&u,z¦½øA:Œ¢\^èÞàt8'×»1чõýûéÐö¾4H‡ùüë¶ûO‘çƒLÊ{Y3ïù¼`ô1¤C;I‡þ²=>çWü°§’¿~oÇþÁ…Á‘)a6ðåîüMépÍçgœí,Uòr*9ŸJ:”£§ë/WÙ^`ôƒtèc¦/ÖÛó}ñ{_%ØJ:Ìc'í\ž_Ôw‹®ñSóþt8mGý &tî7pâîÆ#³Ý?{³,s3UÒ!€Ò!¼>mÊyé@'étëïkÛã¾LPê8o±ÚO0ÆK‡)¦÷í~Ó&épÑ–RûýÚH‡¤CnQ×7•F.û••‰)ÕÌé_­ž7z~“tQдwÑ”)5H‡¤Ã»ÛÇáìhYǪm¤ÃYú_ZbÄ5Ò!2¨ÿóÿøßÿÅä $²e„ЍBy±TQWøqe<m_èØ¡ ‹,ØJëf ˜¼î¶yÐbݰm¸Bxâ7º~¢:j:„Lÿ£O A à=1S7:iwâè^©ðåGS2à ð¡*ï´_2s}íàè¸.&páI,˜J ý‹=Â-î·¸63<ôxY1“¨ŒŠÙ&Ì ¥òuìSŽùr]¢8E´;_Æü°¼žÇLÀ¤å~ëK€ß “ó•ŸšÒA° Õd¡gi¾^Ÿ§DnµAÖ­€R_ŸÖ¯-¬SÄÅZ¥k Pº»c L¯”3ÍãTÆݳ)T¢ýž:;ŸÈøØ²HY²âéát‹Úb »Âô·û6ÂQ;€ÐòõX»…ï¡öòkýn.ñ±eÿù~Ëê2>¬ã“¸ì 4Ë!“òw¾3§88" +º-­¿Ô˜à ÅLbÚQ,±N±XfPÔüÌÜC¨›ÜÏAnéâ*E$"*¿ö7ï3LéFj U1åûd-L²IBnDdyÖÒ%bãÈ*= ¬ä½!;ãÀhí¸ Ç7ÿî}¿3ØÝY@(ö2#o@dûá 4åÉàÆà“ý0d"ѸWTÄtp‡”®?ûÿ QZžçìž¡ddQ˜tøNígiÈJà ÿ‘#È ^/ž­8÷·Ïå@®œË;ƒÊ·û.ÄRÄxc7 Ìæ Õ±KŠÇpúX#$êgmȳpèØJÖ_Ë}a¢ü,˜ÿ˜ƒ?*ÿ~² SK™õW>hƽy …kư¢ŒÃ À‡JG‡ªåˆ¨–k%få¾ :g8mélAé@ÑÕœìߌèÓˆýpé½o@¡y0òd,àú&ÂA¡³ ©tœÄ©Rî#/Å´Ûý„«?«½’Á !ø8HèjÈauól7ª†¦’(ƒu¿€0Tƒ»Oj¸»u j,¼± ¶ÝFë ÒJ±ãFjý¢hˆ¢hÈ+ÐÔZ¡óÃé=®…údù¬w«ªÐ|Ïûd)E’å²Ïm“’ZÄ̵IˆÆunü ´ŽDYt PÅO¾Ç÷rÇ,.ílûÙWÓ¦Þ \4Sþ]ìdR_¨™4ƒ´gâ¸êûš n#Noß`µÇuÓ£ã&:I(ÏçµiC­[Ø­Œ¯ànôÀ“ ‚"‡ÊGÖö'l~v®F6Þ½Í$õµìI }žoê¤t!A«àÞL)×ùVšáÕ@E\øÅJ%nȈkr’û‘ŒmÆF${…ˆí&䌢[¤œ+li¯3$ŸED'Jí²•ÆsPê~ê¸ ?±ËEüδA Û C¦”‹ž×å7ø²á®!ÅâÍ‘«ª,$ºÒµ<Ü=xž&ˆí{Cj彘Ù©´»£— vëþ>A¬ì'iô|B¸‘ÃÝ$ˆãðbžõ ×ÜK† >¶º9 m·Ñšå#àºøDâä}530,bÛb%†)Ï-Ðýýñò 24¾Y :bŠ&cC¿` ÷ö“-²_·ß ~¿Ð|ˆ™¸„TàZŠjbci£0k©¬!†MÙÅÓ\M…;3A üïWE -ƒ•c$L)¯Sy9,ÿÃrÒ~¸Cad„Eœ#Ò P|ýw³Ï>¤ƒroÉD%…¸3×P¹ú{xKpGÛeý"ðѧ»eeØýiƒNáR›ø²™gq•˜bçÔRá‹Ü}ó ùO¡’ßN²ýÆ¢ë’Ä…½0æ#ðRÓ÷©üz¾Ç€fG¨b*!'Û Á2íþÍǸóÖ8W$D–Šãà ˜˜†$¬Åï 9²ôZ±~é€ï³5a°;¸q¹È/r†C¾Ô!|µp4l×sdÁ-ù‘ûxq áÆ71$·ç ˆŽ.ä!V  TüãçM¤ÿË ÔI‰cÖ¢ ÉÞnë“Êô.‘Úsl²"‚ HÊ~yÅÍØ¥»ZˆQÇÄk ©ržÍ/¸! ‰°U&3&bŒ‰5Ñ~„„$!1í63Š"Pš!MË3 䬉5{É"b~^WçÐôUJFÆíwÞUmÛD·`åݱm5+uß°/úúÍÇp@#bPI]gPÿþïÿþßð|ÄÄEDÖIYpó ‰TÈ‹9 MJóLƒt¸í£Cæah#nû°ÉIÇ¡'‹À]¼CÑʪ†0ž¼Véó×\è±p/îÁTª8„…BJ6˜íÝ,•AaK€˜D§ ÉýsJŽAd«LØ$È0Àó1ÎAe½cy2ÜáSOo};¢Y¨cZyFFB6•}\ ²÷@: ¿M­Ðy;é€w‚ÙpN}Ú2¤Ã$áÑ'ì©xª¤CÅônT…YþLßÃkœœÔ™ò¬k#aXh2× €)[`îÐjýšäõ²*y†ØïŒŠ|™x4žF¸%ØVöáG<8ÕV ‚nÀÒF:¬ó·=àÁ Ï'Qý ÖÀF…döƒtèE*ª®k‚=GÇo’cN™tƒ/m•á­'è€a¹éôy~£#]"£€‹ö;ƒšPÚ–õlTé Ýcðú k’ÒáV½¯ì´äáÓÌÄTîÏïæ5þöbøàÔëŸþiÄ#) ºð;×>ØŠ!¦f·¥îÏ[êʹ .,PƒAÕ€ÖuAƃ-ºà=©£€(¹áìöõž“KtÇ•TM«`Ó–™ã|½´0,:¤Rþ¬]¤Ã‡õ;:DæsÔç…y QÜìÙ=ä“r}9ÒA’ý 8wëœ*éðáo™€Ô1@°T„S“„w@‚ˆðÿs÷^Í‘[K·à‚÷(Cïšd·Ô-éèÆÌy™ÿÿp&b&bî•ÔŽž,oá=0  €rdK练—£Ó¬B{çÎ\™¹2îÝ huy5ä3éðÑ p¢MáK´‡[ÐÇø»®ƒ¹ —/tKa«ê3éP±hølüB:äÆ6"1Óß¿€ÝË ^Hgɉ·ƒîb^ŽÆ¨Ó éPpA<ò0ù޼jF'à°\ÖIÿI¡»`‘tXëÊþŸÑû=ýL: 缈‡k 6PÌÉÿÍöry/’¶i€%Etí9Nz/À¼¡C.$ ëH‡šƒg@ ñ×÷9övx œ[ÈLMAÚnŒ|(& k’틤Ãݸ0ö®H:†÷‡T‰t %= Kò:#€k/¤Ã™jÀìRVˆF-!öE ’áš}¨»ËýçW“Sp–ÊÜX-ø;.…æ1 lÈY"„›ŒÀÕ85EÒ!€¥¤CIf+dX¶P äÑAæ?DkI‡Í¦×å!r!‚(ý½þ­…ÆÙ.H"†Å=ôŒï8Ù;„6r¡TVÌ¿—ÐTù¹(YA‹lƒK¦ˆ2¹+’§á„Œ”Èð>žy!.5\MÀ¶E8 LMWŒç ¨ò>Ì:x{!x!•KI‡Kß•a0ø¾‘.Ü"é0=²©Žºó54©T&ýxŠXmT¹šæÏ¤C®;DT À[W·`ÛU}á¹ì^‰t˜âϲ<>“`¢Ó¹|MŸI‡²JÁ÷Ò÷[$N¹ „hõyTkdþÖï ÙÈ;È<“_`¶B‚Éâ| „I‡ÆìŒ¼:ÑJÏÃY 4 ÒÅ =[DVØC¶„éP%xIøB:|±åL %^Ÿ‹‰ dV¸ŒtXÒ¯Ž€˜ A÷CÄrúÌÁ»ÒµÙµÁ*õ8?éÎA(<:Q*™§Ïik €˜ŒdÌÊ,bâšÐž(ðjYŽM¾‰æ‚hëSܲnF„ò&½ºH:[˜€ _—G  ¨®"îñ„&T|³]ì0t‰t¼Â!,èbm8/ñ/¤Ã|Ëæg§©²/¤Ã±Bd‹Äm SS-¸™›heìɘ,Ö·Ë4ðàÙP6ÈÙŒYâáÑ´@­HvKŽ‚[² •,4l1Uøl3­"’%‹=°Yì5d$¸ã¯HÔ¬ˆ›‘68 \”Ú0¿¡d} Q IDAT‚òµ¼}LÐjÔŸ©BX(Òy&¦±ŸüùF^]•¿e¤ÃïC;R½Þw;}Ð…F;íö.‚†º¿…re[þÿÝd…XOŽ{¸¬+™x³xx¤i eäh‚¤@rÜ„tø"›}a ¡xSÒáºKjà³ioϤCƒ!P0/¤Ã’xu¥ªph 'ð² ˆÄæa“O`W°Íi¸ ¾Jëðb·á-RBožíF÷hîž‚noFÊ Ïyn  ̺C,T½’dˆÛä ½zâþ„\u>ÇÀÐ5Q»pîMGËøˆ2§õöÑ@«Q5¸:8´jFÉBÇ.ÿQUó}ŠÒ‘,T„ ÀGƒ_î»;Íz=µŠtX:?·J 5)+Éu¤Ã—3…1n-ïÌÂæAæ»/4f„æ ŽeDÒb¯B:Üäâe áB7¬‘1‡²B‡RÎNbž£6úcø¸@ÄTŽ!€ÛüÞß,ï·gAsÒa"£»7$0Œ™b¼}•!?î#Ósº»à,îsMŒù¼G‚žF`ÏÁ(<ˆaˆë€á:¦K¤CH¤ª,Iºˆ szcv„VìÁ…‰Ã éPÿ:·[•cš(¢@ŽÛeEô2±dÔ‘¹xŽ(Kp±YÂŒãL¤§ÒëÚ–6+Ö;³¦ƒe6ÛŸEÒ¡÷¨.TßûSl#?GϤCxØè ì¶7‚ÍHt5ÝU ÎG K%Ò!HK€?ɦz¥9H˜Ô.>…78¢y`?KTñ· û=,à«Ïhp ã™t8y !FÆ›Ó+°ÂvݹL§‘9ÕU°S‹¤CƒÐÀ-àˆÇT¶ ø,USSŒqÿÍDs‡-د1’D„9ž#™Ú U¯½ƒY"³#Š+:ÿFÑr‚+ßó*«ƒ Ü~XÑ]+e;(ÛŒ(Ȭ›¸ªn‡gO»¼E!dów’h _ÌíììÑÍròĸý\«ŠàKéñòwbʱ&aÇxâš@i¹`Ùò¿I‡ºÙÇÊÎÿ‚ÄW;ÆúlÙn?“9ƒyR%j|êØ]R0@›Äìj<åù/ŽY,¨ BÉ’¤D‘tdC¨%(‘G ‰bpÿÇÍŒìÄ =„ÊúàI4‘À…çG%ÒazL#ȉ‹ˆk€¢T¨ùâ™tøškKšd’)0…Œ²8¦ˆ PÓ=éÞ‰Ð\qnY@ì‡À$–œ_GSÁð¯+ —Œžô“š$,<±~E,î™t˜ÊIFxÍ1¡ë€¬)aý l³0ˆ`ϯ c žjãÊŸ€&%ì“E"ƒ˜ŒK¤Ã?‡ö—Øø» OZW•¥›ÙU³Ôa=žcauÞF,®¾G8ôÀŠuDrÔżKÈ cƒ¶Ã€n“íVm@‘tHÚ†Ï2p¯®ÁéT† I‡µ>0Qok˜ d@‘eóŸf 2;©Pt˜¤ÆòÏÙDL6FFĵ¤CˆiÍí’GϤÊß8ø‚Öé;n½ßäOàVøG×¹@>‹oAë«®' 'GÅ@e»s¦ûýŸ?2Á5—ÇyžfškºYt­ö £‹¤ÃâÕѧP9¡D:P"J„€ª®™AÇàj|žFfï,Ò‹tI‡µxG¨ú-ÇÀ³l<ôB´ˆ·­B¹oc ;âêuÙãÛc4“íÁC’ÀËH‡œj!*|Š&jõï#üI×I‡OѸ” çöÔé@…t %= +†QX~Ö9š”æH‚ô=(g ºÐ© D: 3øˆm‚ac4k°ä3é—›=¯ÂdXA¡J¤ÃF çH>{æ|÷vxÀW óõX†ˆƒª~0¾ÍÁzˆ…±Zä†~œD³@^öt 4Ç"v"Ûš8LåªHŽxù¼x :#kr²n<’@CnäEâM…„»ÐˆÌüešÝ,F§ßõÁ5W– IÒ†]HL6mž@²ñ‘l½Èi->ë8Õª ™3ÂN€$Û§e8àöÎD« ¯:ê´|¯4*M¿@n± ‰ÔíììÀ |(™N㥷'®´YKÈ®YÕûÎ÷ ˜òð§sPÙ¶uã] zÝ.hEÁ÷¯ v SD’[΄† ®÷ ùÞ¡Rþ¼Ð½Ðié™tXÚo÷2]¶Ïø­ïÐh°¯÷³ÆøÝòˆ¶:Ò!ÐôvˆÆµæQVe¥¦R¾·Ü'_G:\c×gv@âv²8†_ fpÂêøðõ™ka2à Êdió©ï UŸC‘ïû°ŽwÁKÔC ¤”¼+ö/â ³„þgGc™oÒ%EÈYgäF&7ñ툖ZK:ìh=ìú:¬Í pšuå¥Âš6Á³>Edd ^M <Ž…hE‚RãÎqkF(r†‚(ë*ßûbsö÷+0ÙˆT·á‚öVëŸYÀ@"¨5X[<F„ÀC鄈¢D:|9æÞaê7\Ðż´]H\˜ÈS$’Þ ]cÝ“ÝÑ®>“ífÆ]®ïI‡@5XPs ŸŸ]r!ÉòŠã—pVËÙÎwO2–ÙüËÿ¿{P°»©^|&@býšNÿZˆO.#¨KëÃ3ðæN€åPK:,ùž‘fÏ,[!}Ì©‚Ä K¤CðˆC„ÑúœÌ"éÐ-@„wCÜËZ$ùB:ðB:’çèð”"¯Cë¬YéÐîY`Öä”$‡¬b¾*󦬂õ—ˈDˆˆ3¬EÍ;Hj|Gª0}‰­iÚ¢yxººç+»;t‰t(15>3)ˆøj\c§f ŒÝ€%s›éÝø [©n¹™OÐâE8–ÛõÀ:¶õ'ˆ\ù}˜ÐÇ€¯)¼ë>XØÛçÖ’‰†[™œ±4ô´€õØA£`¨ €¸1ús*“?—áõA Ø‚CˆzûeqÛa`HÚï÷ž4Œ˜{´È‹t]$ͽ7aÈ"鈇@ጹ$èÂä>çöÌšø… &ª¡úÛ½C×c¬/öÍšÆRæ_ ¦„¤P,NSâ„F’P˜†*²þ,Ô´Ýxƒ[Ð …±1Áå{³Œt¸ìÚÉšË0¢ÐFS ’À‚×L­x&–Á@ú9í‘ßH FÀs^Z’ˆXJ:€6_ÖÑaH‚,tæn¼°^RB~®¾ÞjØmÕÛq³1Á^| 2›Úg;§+¤ÃÔ/ÎT„a¸éPr'èåX™¤ · ÈÀ 養¯Úv,D+°Œ ÏMŸ}ÞñÀ/pAȉ‹D¤a" lŒ é@‰tà…tøÐ%qv¸]·±?£yî…tA .c×üDȇ L(4Â`ÚYó“5:T|„ ]d¹€‚œ ŸI‡¬'ã PHù…t D:Ê6$ŸÙj=V‘ÍŽvI—b&ˆS?®AAíøýÃ, uñª›^Ê6þ,³fÄoìô«¦—9(Ôpåw¯t¾uc éá,Þ©íV÷"´ú¹ëÔ¡ŠåŸûôié=d#Ufîh´Ñz|¼ÈÅiv&w¬õ‡¥,wðß}È…i@Ï pûÈ\ɺRnx‚„ƒÞg³`ÂÛØÓóš¤Ú=.<»‰⯹£>!3å6OŸÍÂÑËÁ½°0zî‚„·w³ÑóІ­@P#DUßåǦÚ'\ Wèaªh/é2€¹rnëªÀw¿Ž©ó²‹ïWƒÁy*£ÿ –»¨óå а¤7üôŒ‡õ[Î^­eoì²`–Ï÷™Í«~ïxÅÜÏ;+ÿÿ¾þ]¢(]ÛÐ.´ÚNÌõûzQÕSÓL~6¹ú‰kÇÀi6ZM“¶¿(`¥vÍ9É… ¿öòß¿(8oœfŽsþÌq/—iÒä€@ÏÿF.×%ßæ•{$žƒäågHY­w£”ô«—õŠc^rªçZÖ×Ûfy¨ßOË2¢'•ƒ¨‚9(k5“1iëƒYq˜¬Ïk¿÷=<ÂP^n¤›z 0‚ŽäwyÑ ølŒ°• ×ëmÕF訰zCþæI3?ëF2–!ùŽ~OÏŽ:-Ÿ¯ÀÍo³IÇ*ƒ†CÂÝ,ÀÙψî.Ìå¢scåàß*Ÿw%ÉeÒë »É +|Zú÷áÝŠDH+ߟÉMùìDù^O½ô3ïDüòA…£ðxè8øÑW#ëªt_£wŒa?ÒL·8·pJ¿G(5ÏWÍç©ý{w”N8Jq‘Ìæ{¼sZ½rû§ÜÎ& zÖzfÝÙŸr»Ø¨©¶T2'Mbø…3ž~_ÐõÚûŸ,ß+ŽÓó.ï6aÿ¼Þ5hã' ƒÎæ­FwãÏZV½žÕWTÓºð½Í!}{½,jVoígb)Ǫí] –µ@⫱i—{Ëñrù¯tå|‡†ƒhTÅ9‰Ê­Ç©WÖQV¦Þe‰Ç$´–|äT÷›¿¥ÏÕ[‚~*ëޒζŸjF9Î2[Ê'k߃cÓŽt¶ñÒI×hnu«øïáÁƒ¾\÷Ž–¯Ù“ÊÐùï¹Nvª8®9«êœ8™gX0·öãujw] ƒ«y†¹txãëÏD'¹‡ æ6¹ñ<–iž¿Çˆ(Ëžã8 ¬ü<ػٞìU÷û\¨—É» [fv^vªøÓ褘Ihè?T·‡ý岿eÑ~¬O†EĤŠ[y½hùÚÏþ\ØW}º·ðØÉß•–ߣɦ¾÷O씣z‚ê<àj KÿÚWàÍs]Ú-ÀŸ‹U#Ô ÉÑÆtu"V.뤩‡w +ØE¸»šè;#îqt°ï1å=Ÿy¹ß ´ª>þ÷éjÿ€Ÿçz£¹„ ‹ù»rAXeì¢Õãš±¾y±CW÷‰=ͺx±é;rÝTÍY§öÉÙêd·˜œ`è”u—y³Úæ´Î«ç”ЬW/õàØóüÙó¯èSùþ¨ÍS4âåûuö¡lYòT¡“É4ªãì¥~Àänu¢³£ñ‹òÊù/+?wñ>=oöô®Š%_RYÊmË$ª‰[ôSÌq¢¶bõ¾YLºÞÃ;Êõ«ÖÇ´4{€oCRr¸Ñ¾pýåxq>º'‰x^=—'ù÷&îW|Üݬ‹…ý­°ïªú q +Õž.a¦ç˜®û`àÑž`ò´ç öÊ~¥s냸ËuÓ)µœ`:°Üéý“ŸKÌå¨ÉÏzlåv¼O­N¾˜vúYÊŸ#r6Ó’»üŒhßÊú±E¯ðÿY\·þüöx.ßÏØKýåcÄ1±$&a¬Ÿeý/ô½”P€äÉÂÄqç´&–U¶z\…˜š†;+=Ws£JÆ UCgù>u êEýYr&·¹>ÜË:HË|yQ¨&*ä ’ wQ.¿»ÔûµŸ?8Y|¯>ü+È-QM °Û©êÌË‹²ïv²¿:qº€õ£’”nØöºr圀3_[÷,îhs²ðs•ƶWÇ̘dîø£›¿üVÆAÄ¥‚öi½OxõTöÝ£êoDjë“ö1Dg}\逿D'ª?ÇBˆØªâ ’^nóûŒŒô>â÷ü¹Æ·oÂÖ·Vy/•?A®úÆ2‚ž§8¸Ùäá9Z_>³T·^Nï28mËãÌ^¹óøÿýçz¿žòç>ÒïÏ¡¯kbcJ!¦R¶“§¿#UdªG‚(—?GxÙò2è[Å]ÔþêX Cyh…4¨Qz¯ôÏð SøQ5ïF^¦:W¸°nË{sÒ8‚¯îâH½Àén*û‘HCô¦P[»˜YöjÛSP•ܾî¥6/‚LMðêvøÒSrýr¸›ïñø!µÝâÏy|Œ×x„£éÊûí HW†c=,ýLr–¾»¦PhÆ>‚%6Ñy¨ê,‹ÛìýÆÉxµ¯ôe9xú’îCÌ•ñ¸ŸÊÖÃ÷åXCœ¿nLpÔLílWOm^ܪ÷ñ'£·Ï›¿ü·åïM¤¾ÏZ7rr½È Êö‰×Òç–’÷FV0%«ë'ö}½q°“á'²U‹™Cñ¼ªû®¦é¿]u­ÖÅͦÙð»6Œyjé‹}\fÀçqå÷ÉÏÒqÙŸ’×퓸—ˆ…ª®²„A³ ±†l»3H±ìÃ]=Æ þ^Ô<·Eá6é¦÷npõ2úécõ^V“]‚-…tj\¿_>WºŸcO Ár¢ï›©ý¤jŽ#XŠÃ®šãÞ[?ÿ­¦™Ûrë‡ßÞ¥2ìÎË2Ãje,”hKÈPƒÏ…XWÙÖ†£,·BÉ04F6Ÿ»…ó²‹S¡Œ™¦NaÒ‡3ôâÁ™rþÌÎkú\$‚[W[o::mà½ð AÖíÛr:5Jõüw¿%d‹Q)çÏÊþ„pyŽÁ°º®³i¾QF:üã6_[÷¾Pp®«È_ÖÇ©˜!. ""©jgãV£S8éz ‰6½Þ3B£º4>¯þ=]oÍÀë óŸ.syíôË]]œ‘U=yò‹Ç)ÛŠ±ºÜ>XüŠB›>ÕA’ŸWÿ)Å'w¶ŽO  >¸_(HlžT lñNzd¼G¼;^.#Éd9ÞØù¾XW#üˆ+‘˺ˆ5ëqSƒYè Îl–«ô9Gôê8ݾYöE¤BÔ]¿ŠºßRÿm0®ÇYô‡å…ÿA6}äzjn²ùzýÑOú+Ÿø÷¿ÿ]¦BB΂2$<ÄØ¬›7´ðÈ{øI]}€Ó…A?¡Íÿ„;LqüóR4„EU“kºO@e“…@dˆ$ëÒq{g¾Fì¾ ñ°¬ðùà¼^Ð|N(üÈ«‡x][ø© m,RÑî!_]Ë›G ïÏVƒï»>ΡD3'xwÌCÓ·k‡lälnúÃÐÀ»}³‡ùèÕë7 ™ú€›¢(0Œp™ßgš6ˆ½4ào{"DÎþ!{çESpTûÕßw\ ÿúv¦V§édy’¼Gj8ŠWß?y ÷80¢„ÀÞ>q4âºØóV:sÈU€Ðàhkº&½‚lÜ΂¹„ª·C #$û鹜r3Oy¸YW¦û›çï³ Zï4w¿óbe¾¹ÐÅgá¼@PóIlìBð8Ù¬%[‘ ë×øh1쫞M48L¬;…Ï·ßôžaú°µ™œÇS쵚¾ýnáòçítÈ0¾Á>Y=ï´¤#´ÊN‹êŠ˜:v»@F@tA[ q{}ìdÿÁÎëFzÚwpŸáö†àÖwáíß8|¿ú99Ž+¤Ý·Fí±ŽjF­&v,ß¾@ùø ¾ úPüÛÎL0…0C Öþò3Dªb½ Pg1Zï²êÛx†Ü$MÊò 3´ ìK…ó;A‹)ƒÿù£†Ã_B¸V½S0Ñeì¨e6—øðÖŒ?¡É'„qêØ®1}ÀÆü¬³×“;Æ)¿Y·æ~߯aÍ~~ÓÿÀGõ÷úg°žJé3Ìâ¤v‡Fë}°¹‚Äü„⢧$ÂöfcÌ/&ä_d0ã‚ÝõeN°·b¬õHÿŠ=õµSÕCýpY˜ S´œö›ïc”8Ý6 áSË×)zzuZ%„¨ ²íc®åßõ>؃zûu7ï࢙ÊËÍÜÆûf½®“#æ+Ç ¿èfšÄ^a<µkÈþÉ‹Å>V“îg!Î[48…×ø13Èõ?®¡þþáÍ÷1¯ÆJ1„FªhÄK‚QF‡Êf²þe>Å/Íö_kÍì£!¯è=i!NoK‚êý õ·•õÚ€¤o¦£ÆZ°ÓvCéíg¹§c§uwö äÑ)%†3Á‹yu>$ÐܯúØO3§­*&øCë‚£ø¹Ð$Pæ`Œ&ŒñÊîr_æaîã]ÖA͆±f$º'Jà^—ÐC û¡ —ßöå+¿TÎö܂ج_Wk<€Õˆ°Ï¬÷—äp†¿tïÚ"¼»!¸‹Â;S :€'°Èuã“u…S)ž¡™€~®¼¿O€óõ¸hìˆØVDZ‡ÇÃÜН9îiØ=ªê8ÍÕÑØdtÈ+¯˜ñ@ëõµû`‚—ÆrI^Bì–÷ßçú`½C¨Ìz°ó¦gº±»øßƒKèú¤‘ñ¹å×\_̼G´¸”L$ó L·JžsB]ÿžß ~VÒgDŒ½~½CÒ/Çû´ßEȾݯgA C†8ÉâêÜD…#º Z £ÁÔÁ SÝ‹7Ä·òjú!æYìÇJR¨¶þQ=[ú=•“¡{ë u]„ªÚ?ô™¿ßùøù‚…ÀÎS¹µ+ŸRÒz qTï‡S(©gŠô}‡lª{‰Ç1’³]Äz¤zø·ìOߎp¸¢;Kg ãä`õ¹`,TNþÙÚbcïÍϧëT•Á?}D {övØÓ´¯ ‹ÛÇPÜÀÏpGØ¥Þmü½{ÏÅ9·šÈóW_Ço‡éþ=Úw8/^\ÿÉK–˜æfþ›ïú`ù2 è1˜pz÷3Ôã_k¿÷uââÓN¡@bزÿ6ÿ¿ïÝâK qéÉh¨4}}¡®uóéýþÓß”ð0»Á>±]ìˆ {ˆé£.›@Ú]nó­™ ©õÏÈ™.*Pmÿ¸ºÚÇ|»×°·£ %¯.*x²LœJ2fó>ZÍCn1 q(ÂÞ›mœi4Ž øvzV¯ô~R~ػƳÈVùL>˜1’8¯éâ?7Дs9çhz©7K†hû¸ëê¸8Nu^7î½5€ôxÄ\•47{ °ó³ŒØ-cO.îÁ#7 =÷x§œ¯üÌÔKÐæ¶‹·Þ>Þ+,#A¢Ðô.jŠ3Ý!~?KLÁ'ËýtÕ& ‹¯c¨ªcz¡ õ‘0q–¤~ÁµqÊ9ì›ïßÿ\û}‡ „ fÖ7´¤›a`+DPè¼m|»…ò±Lú³Ü&$~þz½q}õÃj›]ä0¼Ä‰ˆ9ü¤>N$ƒ…z¦k}Á±ô §6ÎÚ"´k’‘¯Ä ”¹95G÷÷–ËžèŽa¯È/Yó)¤Mâ<æ oŽSºcj³&~#«‘iûÖ`ûýüúhâÓYNºs%¼ÿ-zÚ³ÁIõö¼’Øê y´›ËA„H’×Å¿·..WãCû6€x™âë±`Wʱ¶—ÌÁ;n³'­Óõ›~þ IDAT)(CxÓo‘á1½YìrôÕÁÞ§ü÷l‹‡¸à×x¡Ž.û¡ƒ–HXñ¤¬£+ø·>ØKÿ©ëœã]¼zÿh–. û3ñ×ÿ%€’Có¬êxæ€hå›§?&PÏ ûÆö‰‰›¸÷dÕé~ðwÿðž:3B+:õú6ŽEܸßñžO î]OÃÅÑj‡5¸‰À¼Ï}–eáûë3ƒCKYÏä6;ä“͵ž>€S j!ð–(2ÃÄÔ&ÐÞ¬ˆ6»0Vp‡h’ô?ºGÓ±öîöd¥Mà` P&ªfSÝÁŠà¬h‹,è1µ ª{<‹#·*æWò§í C<§ÀõÊ`ÉìR£ ÀASλFÄ“&ÈÍœ©ÚõížiDØ •¿mßïu çYERÿ.ÆáÅ gm>Ýb!ÆÛ! ‘®®¿«°ÉåÎsp æüL·Xfd"Ø“_õ®º‹w+*ÇÜþ øÃå•÷Q‚Z)A ˆö@Φˆ[©¡éì°õªgtŸFàO_xœ #´œåßG 4©jÒÐdðÔò`uw¨c¯%ƒY3öÕ#šà’×93É}âüŸÕyÉ`â`û`€^A¤·”:MÂ<×ó¦l"þ.À9p•ÏNÁÒoOZ?|ÓñîãÛqЬÃ0\Boì ±+ì£ãNqÂ·Ñ Ñëõœ4 3© ÷¾k8ú9Õ]ÆSÊi9q¥=<¡ñ.O”Îû.š‡€Ý¢mú„vB`0^á§)ƒ)WE͆&$´Áî§kõE»ÂŽ{ˆ½ƒÜf(æ †ÜBèvAóË“7×6Þ¨'ã!†ò®^ Ž–ã‡/Clj õ`{ÎciÂS£Gh„›ßcL‘Ø-T` ÒŽUÖuÓ¹ŠvóïpO,ì¼ËYšJ£¡/¯h¤º!¢ãå¶ÀˆY—Ínã@­¼¡ÂUþ¹DQÿ»†ÃŸ«>Œã% @çbÞbîô‡þ®8ô¤z·šš6,´µš ß¡‰½ý×á(¶;„é9`/ÏßüìzLBÍÆðF:öTÄŽ RØ'GQŠªêÚIèhï ­›¯~F&zB@m¾gŒ3G üøÀSâM@d#¿ •´ñö1‹ƒgÿ<¡ûMW Ìv±{çºáC™8È¥ÞW¼ë¹¸8JeÞkØà4·É‡¶ ~|Œ/Iˆ_/ªzÁéPöªÏöíÎÂÇ é‡.Cd1mØ‹p± Ü<ÆD 5Íj¦n££38Q—‚¢©„‰<À9¯À‰ë×ÏŠ§ÈÔgL–¼™žüîx¯ì‚ ÖÛ¡ù_:š¿¥kóJؘ 9}_ÇBàë‹rf‹æ„‘©,] ê«AÞO FÑ”‚$Úží¸ßÎ.„›Çżi\{3›ö<ÐG«÷ó57Fƒÿ1£]ýû°ç9iñËxŽ_vßcÔÃ'è8Æi6Žýflâýîæ1aIÑç(\9§l¯@á¸Ýú7j–ì8W8þž&Îí„Ë|}âûä+óÉ ï p$ℽ‡™ç`pá—OéÚ܆=\ÒÛÚÏiÍ0×9ÔøÑîjÌÖŸš8lËø;¯žy£~ƒ>æ°Þÿ»Ÿ8oUí!? à¶ÿëØÉ/aÏ]^ü;~б{Z>«Ü ‚w@aàŽpÀW} âßÿþwâN¯0åHKUÔµ»8·¯¦ìÜE8¹ pe»øIäßüòæ= ×äj"ŸÅæNÝÔ´p(rð×ÏælŒ¦ÿãfVœ'ì ¹S¦ßßB=¿íɸfnq(Àë>@ÝÙ>qæ'>X‚… ‘p“º;¶p¼ûcÀJ×àq¬¸¯ú®kvÀË?®CL'êà„zýýL%€l¼^ Ìÿš¡ù[Ù€»ÊÛdµüOèøï­CØYõ%N!Ù›mÉáƒ@ÄÞ‰Å%`ðeP7ðc´M°ÊÀÖuHðBUgƒ—Èë›Þ§ë&:Ì$¿7{Q~N}ÞƒÚ,$ò¡‡ø]úoÁ]ÌÅvzèöÞÄ幌h| j·\µÒ·¿âPüóÆ…ü¾¬ŸzÖ G҆ΧeâHÚ̸9æð€\›úçp¿)à’ô7ɧGħ«ªÈ°½ª\Fý;P‡ÿK$JmW57Žyì’îùýÞ4ÀÑ+ ?) ˆ³Q–ãA¶#½Çó¨H6|wÓ¿A‹=C€üYo“ÄaJÒÁ`§c#8©¾OØ‚>ÎÏ¡¡ ÔTŒÏ¿ Ðü¥œ|ÒuªºCnJ>Ä™’õ~È>ÉÌæ+:^ŒM»²ŸCtœl÷Æ}%5¨ÛPÅòYå óc’ ¤þ€X}÷œ;í¯{4~;9·6'DST{=ùÎM¡ì½ñ(—Øð™ÕÁ˜¶1ˆ›8ŠëI‡#j޽¨ù·¬¥O%`£åÉùXã@6<¨þžÇÃSx\ë÷ø žÃïê` Q•"h0W’? 7ZKeÝ Ä¢N®UDÉ„m­·—Í€Ê:äN íd}×£ï ?ï¼Ã2„Œ YM°2;ß Ÿ¬¯œMÆ]»Çéè0ÅfZpSv`tû+zó3|:Á>Ü$?C±®TË:dàŒp TõóŸÚÿj¼®« 5ŠíåXÔ£5paÌXE°»9ñ°É†˜ûË}.¢K#9Γ´7Öw¼—~þarxcZx/—÷~n%hJå3ø§ñÿR>m|ß¾â°ñÏ’ú'úΩw0%€`m$þí<¨hïä{k2$ÆÄòºžyøÐÚ/ÑSa»œô˜œ`5Á8ŠC äáÓ‡Sq„¶½‡'ú §áæþ½#xœôçZ‚fƒÀÜQÐ  &¨'5ôû<ËX—#çðVèÑ„aËø¯py×>¸,ŒB¯®BžF6ÚÔjù÷;ßÁžüü·ÝY8]‘T’bùÊ ] ênš%‡KÙðÙíâa!¹‰À^æøe”hØ«‰54râAÇÔB—XÎèÀ+$²ÿÒ¾á·ÆÇ²·÷£ç{©_4ÿ:DóS½ õf×´û.çõ1ˆÄïÃ×p{; ç}„Í·u c¢®œ1Îå¿'}Ûñpy²¹¾íÒ ŽÃÍÚA(2ÃÌãITÄ"¢r ®O-¨íÕg‚ì[ˆן~àÂ=àñ}¢Az8s²ò, õŠöG ñ’ÿ˜~dç üæv­7qÃ~[··‰Ì`Ç `ã"ª1$•ᡩݱy¢[–Ÿ?´~o,O*™f„!3Ç{îÇæ5hÔ,EÑ–áòÀ¾#ÖÇϾê|R˱äÁ€ÅÁÿÃe ¾»y±yÏ}˜—Ú¦àîÌÅ%´ñÝõòÏ%<"õ¯úþ ‡l½‹Ø)œkâO@zådÚƒ;»,Á$-<Ú{›ç}´H@ƒrþÑsF1¢ ýÍÞ_Ž ã±¹nÞñ†¤½ðlt€=nµ>Sض'¸¹‰ žX½–¾É‚•7—C’ ö–ËÆÄÄ{9‰aä_{‡A_§¯"˜`§4¢vyMnúÞ–±Oß—Ô0°¾ Ÿ]‰'þ-vØË­ŸÑˆM(¼ø¯Ï=]Í]ü÷F„™$‚¶_WèaNo!·/_ý ÝG Ç‹ÓÑLMôià°à¢<Þ„8{O#–cæv2C“Hòþ ÿ)è<9Iÿ.S˜Ìf±Dm¬¢‘Å2hJC50™ÉØiU}^OÁ-éfû}jâçHdCìîÿs±AšÂ±ªkº$h~ÅKÞGÇ&pJæX4a(Áúbûd†s¢lOæwšÿuÉö–0„䬎§ Ü!“Sð'o·ý¼ÆÂmøÿÑwöÆ:¸]µ‹Žá7ób,ÇK pÄßö½xŠÔ9ì¤L˜‹ÆP ÅÁ1„’¤û]ßú°/y&8mÕ¤¡Ë᫟ϰ¿A?þ—S^ÂÕëuàôVGûRe è´8 Ò½5ù>d÷Çw²þcþ?ñ{³~ÔýÜê¡)mN6ãû.ÜÃí9CƒH@ãÞÿ~;ÛC B$¹&Iq¼ä(sý4‹[»‹KñÔ“ƒè´ L¨¡‡h9†âFeÜ9ü¡ÿß—L{Á³¡/+65 mµ©òSèn*[Q“5Ouý0À|·Ðú-5êO·PO«ø›C¹hâ¿ÊEˆ.{s¹\oB$&°“zŸuúD¢}/ø¹&d¹'èDêšCül·µ]œQú õôÓߺ~æôr»œÃº¹µ±÷ |Ønr |û§ZÒ!€íH‡ƒ—ÿ<¹HóEÒ!C¯fl¦9tH EÒ!ÏfÎâÔ*‘»Æg®S"ŽüÇÚߪ#rÊúùß’—¾ãtôóL:ì¸ zõüBÎÄ9¹΋7"ÚƒªP²ÙHÅgÒ!ççëD4&UG5ÈÿNó¿‡å‰Äu¤Ã‰¹yEq‘t¨sëµ_˜U¾Œt8úbcªäkáú<“¢Ï"épÊ›Kr=ðÞ„t8 —º½Ã*˜{&Þ[ß_­|1À'Qx!ؘtèönï`ï$uÒͪg~À’Ò!€ éвҀU‘t8“T§YÍâr0`‘tÓ^UQ?“€¹8F|¿Ý]ž§÷¤v/qÍ` Æ/;S%]$Ã^úNO›wÚ"ìÕ ö.ÊåTßò>næeT}‡ž1Ï~û®–tÍ{e=± ¦AêÈ-#ÆÓ¿'¨7Ô—TýÂëu7}¼Y¾ÞAýïý(Ò!€I‡Ó…QϤCÒ¡E¯wv龄 épL ×~^fß¿o¬§Tæ ú…t3óK-é@‰t –t B:UUas©~øl ³ÀŒ•8&õÏk±‘ƒFÕú5]—¶%JbïÛ —…ñ²u¤Ã‰¾ºÛÊ3éÀ éДr=²H:ŒO+ï7OfKÿö#I‡º?À“¿¼®ñ[ ²¶!XI:Ô{æë¶×†ääû3ØþÌR.…Ç©»–td(âW¹>8§“UjZµù£Õ‰ÉU¤C ³Ñn:Û„—UxÈ:†¬"ªÆòµîÏ :†M×6J ép8Þ.w.?³‹¤C`ö…ZÒá³_!Fl¿~Ÿ IîãÁÕFϹH:´ j—"ÊöÊҵ&ÎÌ)f½z»µŒtH’åóMì¦>Ó3é@•t衊Ÿðé8•ãgҡͧ{õL: ]ÚL®Ÿ‡q.u¤Ã‰´<°k ¿ç3éл±³EÒ$D°«ã&^OF#µÔª#δ\Ï&Ç!®ô\÷¼—~F@§ßñ7ƒz “L])Çs‹¤Cz,TH‡ðþ¸Ûb”È:Òam _ªë¤?”þÿŽš’¬$’ƒ×‘‹¤C é°Ëlב¤H:ôœ&B¡jƒGR~ϰâq” 5HÿwépŒtA)’XI:¼w»0Û½´3ÂÇix Ž)Û…Ñ·òÚ>y¹î ÿß\~›TV›BzF˜ Ä|–þ}l§ø`–høl +¤C+I‡Q‚­I‡–šÿƟߪòÁë+éu»^v¹©îz&~¾_—x&^9© ¶u´ÁA/Ķ!;ÜÕÆ9„ò{1gšrjã¶%؈tØ÷;©\q?ó®S]vžëÑ:Ò¡9MõKI“§A5ÖÕ>ŽÀXôsÔ>KbNëqiƒz¬ÚI&‘¦˜uF¥z½Žt B:P":FP"@û ÷o£~ºn]b¹®¹^ˆ±L?çûûL:°”t¤¤Cµ¤CòÉ…m… ØCp{©?òVÒ!”öÃI‡+?‹¤CQI÷9xÊ÷{ö˜ã—:Ò¡ã×û5†™`ÎäÏ^$šfðB:\$®±FêWyœR!~›×cP÷€Ï°_ã…tøÍºË°Éx3|O—õÔ"épªNÖÇã„å1@…©÷ï|5Â0+Z^kð:©nZF:œÂA\èòô5=ƒëH‡]"Õ±Æl9žÙÉp‘ˆ ÄÈ픕Ø0®ÜÒa#0ášUbéd™ÚŠtHvz}®±Î-’¯ûËm–L°6»œ($ùU=öVÒ!·$Ô°H:4f7+ïóL:‰ÌEšl쀣ÊÏ÷ˆê¾=“›ö|)é(¿ ùì¢B:€½ûtmçÜŸa+Ò!€¥¤CsþeÁ/ÌÏêDëmõºTÖ)Qà@—SÛQ$€w|ˆy³Š®ïuô£ò^œÐï*¤CÉŽ1X Ïž&æ[\O´Ÿ›'x³Õ>»HøÞ_[¥FªožI‡Ý,·Ä÷Í k¦Ï¼Ã¦q­„ZMÒ¾~]û›ßŒj,óµ¤C  #<‹0Ÿ—c!‹¤C`9é|VFd®>¿Ï¤Ã¨S•Ï{=]ôœ²nQHs,'Ì?ß­}ÏŸš< B*‘°/Põx6Ìðò*ÒáÈîæ¶Å¬·åÒ!È©¬<“­à ´Bãì}j[Š¤Ã¯×›ù–aœ¬$x!؈tܧgŒ rûF©î’)·óN5ö·éÐzœƒÎb NÆZF:ðB:¤È^ÁÏMqÇtñ´À»xºYObYG:TÔ,j(0ÂTÿ-’µ‚8Úã\—Ý]˜KDhaª?8«š“³\I³Jl|)nM:2âáË¡Z¸~Ì §ÍǸžlÑèÝA@ªWÚA¸š¼¶Wv‚ž>‡ÖÕTB$áh¡jöXiâJ²pkæ§=¶Jâ‘F ²‘ÍžQu†îGùzôz:,.}Ç6WhÎGI¸:{·YÕlw”+]qÍÜ© 4wXn£²Sz¸·ú¼^ÔŒ°{ß”AÍðaþ;rj¼¥Ó Øß«ÁªÐ Ò}JR¦™Ë{›)ŸÝÁC4‘ma«%3¯6 ¨î«õÉ‘ƒDýnµ3y£ýQKÐaŽñõ¾žü›ù=xPvÜÇ©Þë„9Øœ«÷qžÙºyÝHɶº9A5m×ýp7Ù®ƒÕ{)Êr¬ÏåíAj’z4¬þ›è¥ëö«²Ÿf¤,À±}Gƒ˜ÈׇýVuŽXµúûJƒA/ÊAÒ×ÉòdhRøÓ&Á}lÁXûÚQtî·#ßÉVÕIu<PéÞx××¹ýíç2×$ª@ÓÑß>¾wñRÙœ²õz6 —ôVŒØ06i¥ý«|Ö2B®ÕïáýÁë̳ö#g®êñG3Ú<ð¯GeßLæ âÑ«ž]«ý.ãA—6Óº²\/6Ó{ÏIþò5ÚßM÷”‹94ØÙzÝB—Ÿ-œ-— ZxúE®žkÊOÿ-|ìÀ—5Ð~u¿ÜýjàÂé¯'­Šš€…˜¢Âø¼'»‰*߇y´Ž¶ ‚Æñé+ÎbŽEb!·cÁײ\9¢&Sx—}2—ƒ9Y•‰k¹|+ýnü™&¸÷9Ʊ²ñXüM®(Éû~aÏÒ5|šêˆË»f´eö“ZÖ=Læè²gg Ö)œ©çÐ?ðl*ì¯ËÏL¸›ëo£P`X&Ž<ÐÁë*îí,à¡eÁ|ŠÚŽ<} üR]§%äò~/™­’(âƒåd2J[íO0á o½¯—ËØ¯`³çÎ÷<†K_Oá„9hÇA¢–õÌžÕ,ò¾ãl/Ý×è€Ã­Ÿ®•ñ¹>¶‹ÕòÅ!•ïsþÊAF†Ðo×ÜùƒYA/•}©½å=:åòwR>®î†Òl¥:b7#¼µˆ~Uöát¿nµOÔ+Hzn?Z¿Vq®›¬'¸©âz¿òÚ|¯çë»ûþ$´áp!DÕF¨xèt«Åp0àä{a« o"\}.vÄÉÉXcëM2þ~XõËÓÕ$ÜÃŒìÂ2eÛ×âRì.)«±g;Õ~´y¡W‘Ä~S A$­²¼·è2öÑžÒ߈ƒ¢3iéù€VMw'•Êuñüju¢PPt´1‚G¥zöÐÍm u˜®ÛqVXÁZUlõa¡«n»gûÛçÕõrà˜mˆÒjrº.–€m–ÏCpßøŒÇo¹Nž—õkÜÏI2Òòóhé>3§ù~·ÎVÛHÍqÏ(,ß»Y(ôg¹\Ë2¥Í—Ï™¯Dð|p^U.>6s¹¡9ÝBqQÀO×Ú>Jéyi´þµ:î8“2ù_­Oã§õ£X'ÅJä ÅbC+AA+Ö¹å<¬NaßJ“ûàNrÝÔlTý¿6Å çóÓz¬jÞ™ ˜ôü(­¡JeO‚„›6$B„òSn4FF›.Ç“B¶ú¼:éƒX÷ PÕÇ~Fl‰OŽð#¯b’Ÿ‘¦‘ùt D#@ƒNå³é¤ÀçϺûã;Ýt]“áíÊÏ)­ÍFrÚInìUm/*ïË‘›ûg“ÿ÷䳎¹XŽeÎ¬Í Ô„Oéó5½&ÎÎ\‡<¹YÆË뙢kð˜Ê“¦TqfgôgÕ™åw–¨¬n8Ds^•Íç*©…øyA×Ù³T§ÝiÐ SŸZAþwê_ø°“êV‡«æ,„Ñ æ$̳ͣ&Ikùšrú¡üÌ½×–ÛØÖ.ö!g0U’J©Ó¿ík?Îy¿‹Ãw¾±‡/<ì³»ÕJ•«XÌ$r|± ‚ ’%©ޱGkIp…™ç7çÄ»£æ"%‰!rÃ1l,Vìö“,„=I᩹­Y–'Nja`5§t3þ IDATþµ~)'#­•Üߨ_ïµæXælÍŽtkr@u¯Û?E´Û?Þ%ŒQy¤‹í± æ”È;C*lÊ—zÏ8–Š},rPO;¬æZ¹£öoe›Žqv³Ý46ÿÍ\§&¢ñy¿°X© ¥á‘_†d¿û+MeºêöF:Oæe;UáÎ[1’q‚ä’Ð|4%ôôË›BfãU?T(Þï;Ûï¡ïÞTÿÔçý¸—„Çôƒ…°Ùaœ?|t[¯vº‹½á)}&áÉ,xäte }G@Ç|UV}µËÄz„Ç™ÞÏpЕžßñònZÈ.å°Ê¿J—c¨¹¹k¯ø¶‘¿9n熛ié—_ªñõë Ð]Êñ ì¼ÐÅÖë…Î Ññ/¤z@°N‘3¿6†•÷Nøj±¥”ýГ°L‹¾¹S£Úóqo÷6œ³ÐŪ ¤XÒJ|à ×7åÏ=Ÿ—?{yü<›ñ«—ûl7#í‚gô¨‚CC“ÊÅ‚ü[-u³ž9Ô -)|õŽÑÃS–#ŒBöÊ+ÍñŒŽ¸Ã˜ä~²¦ë¯Ì}pQ J¬¨¼íXÉ.ÖIEB‡ä9œàÚ'4ÅÔ4ÖŠN‰lvbòùì¨|†oöÚåÍž¢feªk Wä<×Û\X)8õyù© ´ÉsDÚ‡Oõs}:Â×!ùÎE{{§i:¼Ç—»² ©œ··ë}Ö»›ªß|ùÊ-ìfUÈ (£œå¸ uLü‘ß/r»ÿ¡Q|ö¼‚•ŽeÍ‚ÆÖç‰[+¡y¯e/¹¨|Œìöê¬,ã‚4ÇÁ)Gh­+"­¡¹½¨êhqm èãg¢S¬“Ç|ÉA*ü‚7ç:8†Ïƒ“m‰ÏoKj'›çÞCˆx‡‚ÞÖI=úÓc ŽUrùÌ`†cé%.ÔÂà¿1?®9uS8!Œ9¸å- O•èËýBx×3± ÞX+„×'ç: ›; p²OCÑvsòïüf£´Õ"N mHx´,²ràðæ2ÄÇ? c¼$ûlœoÄ„Ùb„n†£}ÂlÜ9·Ü,¢)W÷ýøÔÌdÙI9ÇHÇåû? ÉYw:ßÌ%}í̶Tô=^¡« H©²‘'´X¼}³9¨¦7w µÆ¿1›!:ÞœjQmP‘ªO/áb· œh0ˆâŸ[9?K·Ójï—*È Ý{¾,Îu˜ÞJ×À  lŽªü0—×þÆ¿‚¢õ@ÅfQÕÁYðÑŠ²ÿ\c„º¸±Éß/â”ÍkÎâr1mW–I‡ÂШˆÖÝ\Í÷°—'t²5§B+~çðE!ÓnÓ²b õ´F E°N}»™¿‚l³Cx›·%ºKš“n¯[ÿ©¶qt‹_^*[Uƒê²V[£ÄîÙrÊ|×É;¹Nìâ^ŵ.þsGÿÔŽ“úþÍUÕˆ[¯ÜYþVCõÍhQ_5ßZëÖ ±Uƒoÿ`÷®Hjb˜w!¢ïw«æ¢³bÙ!¹Ç™ÙLcSzˈpÌræ—^9ˆÜŸº†U¼ÂîøÓ—eyÿ—ña³=ãVû'^€$¿LO‚ðæ †¹ozpÔ ¸NÆôöx¿ÍÝr·ô3€p£ªæb â´ú÷Tåáõ‰9-/Tð׌ßh^C—~!«n?ÛPŽ6ë¯AV ˜ÜFSÏ;jŸ9¨2?o¤‰Jµ‘ì}h²ÅWu  ÐBÿ<ÓÜé”w«¢l¯¨g‰ò°ðë‹d:€®Ù×fõ|“ÉeYÎvšõ+i–¥ª×\gÏOÁÛ-Ä|ùžÌy½ ˆ0†qUœå“ýüîÑgr•º¼Æýñ$çm¾7Ú;„ÄÙÔz¹›­ö×UágLü»ï^›öG}ÂÁÊ4¼)äeúòMtX’ÛKgÝŸ3< )–^t«j3ñ& ý·BçwÏvë$Ó'Äœ¨!¨Žš!rðhm æ·ón÷ðýrF*‚Úª=íúÍ:9imÖuûüîm!U>—ó7õöÇcìÀÈ€öJ‡]}öçÏÍëRWºù›é†@^9ðzÁ}­ýV¥gɧ^“AЯ·¹ƒ¨ZÍ)zÐ/Ê ’…W­XåÉY{нïÜ0“6¤²ÖAtäÂ6ˉ§²ýðàn/²ñó¤ÂÂȾ“DÂcRµçFýý ÞnŪÔÐÆ¯ \Ûy!@ßk¦JA¡~Óª5ìažTе|púþygOI²<ðȧFîg =ãKagEá5-Îôˆ%:…wrØmãk·êî¹To/?…»wP êíÆô¡úœ×½âò¤ÜÔÇÂϬPèι!†÷ãv@l`1“öÛíòû´µ‡á“ †q·( ¦“²-*»Å•Åb<{Tðö㽋ۨð-ݧú{Ðó®Ô˪öÓívàà« Åå.Ö:®¼¥Œ ž^lëʼn“•âÌ+l‚7­Ý‹@ÂÑå{­2@–^í­tƉÆUd™…]›’õ(E âú†ØÆ×¸ÉmÁ@¨?×éߪqœ2«¯T†x çUõ‹gTãbFdiØ0-c`[Õ©`É@xæúŽÈ=å‘í°W:]O“òÚ²Ÿœ·wø¥ôfÿøÖ«šó9¨ÑPëeÐB"w&ïøY¯Ñ JÛ­<éDö$/ˆ5ºvŒÁŽ<Àn³0[e_ìÃ'l>Ù_ƒ“Èûfê¡÷›ŽD(ëóŽÒìûèÙnqãò èÖn>Mb‘öëíÖ§Aý=Ø‹BOÍî=pç¹eUA_¿5ŒÐ¶†0" Î휄èé6[Û8—ÅùóÆ mÂ]éî*ç»÷_¤hɽ¥îæ'ÅY+–ªžc Ô±oÛ\™ÚFlèÛ»¿yI¡ëN÷ÊzRÍ Ÿb›ƒ&怋¬óHÛœ4§…‚Ç4­à§wR3àpÊÛ©»Ö9[^ÉùFù=a^œÕ«Ü.Å)(¥ÌW³gº¥t{÷"´VÞ Í¦›åB{¨ÇЊ»sPv@{˜Õ˜ð-–ÄÎ'N.è¶0×=ƒ;ü A,KœWäìøy™ý\dÓ<¡s¦ÃblÕ4GØgp_?׫ú¦­ýß«þ^@>'ÒN”í÷pRÇÃÂö¢Ýv°[ÜPi•e¯Å6'z¾5-1»Žõ· PæÍ+û é‹..ï,´ö«~×Ûµ) Þ=äYsüOòÈ3$ýù¶Aü´û¸°§ ð¢÷¼øf0ø‚ö;Wy'Ã)áÀ+û<-³ÌÏ ³Q¤Y¶Ù [ù·}BxÆŸÕë+¯y?{kS€B¹ +*Ÿ±Û©ïÐz!oð];›ý¢,«·QNèSdÉJ»÷Ï‹-ðlmÿü‡íQc!‚Ð^b žn=²j½ìO*,rÌ0bÁæ¾ô>³ûˆú±h¢³2ý`MJ?X/"Ë;LÂL}\eü‚z¤ÁéO ÖŒC0wP^½ÃШگ·"ÍÌÄÄgp±¡¸{縆À¡-¯HÜØð•ª]v¾2=ç°ÃôwË™Å^ùsÇû„>|« íìv·/óáv|Á^_ÇØþ¼:€âoþü•W† &4“Orä‚ß’†i†/”².I²×ÐÑ~ŒÎ¤Îš®#¾l÷TDÄíÞ(ã›â÷ÔbW¾Ÿ ñ06ß­zpŽ£¾‘D+È}g±¡ãòàqRèeW©|\=_‡-ÇAÞ¡q¾–Û»e}/ä5Þªx{¸Y§L'…ÜJùs¼[‹7̯Êç¬f&‰œÁ‹WDô/ >z“Ãx)¿kçá®0êì}â„9 HgïsÚ#¤êü=ò7´YxéÊô»h­ÿš†Ý-ë½^Ÿ{ÇX)8™Í¶@Ú΋i¢"ÿ>°<„ýbm§ïÉ{í˜Ð& ï^”%a.4L(Š‚Gºž¸ø!c¥2îfnáÑø§{›#ú7lM,vÐoî"æ]Ô¤µ`k“ËOŽªþÈ mHS¬ÕÛï!ɃŸ¿¾¬*ò0Û.h¿|X`´Ò&¸ë×ˤO—>öøfƒZ>Ì;Y4Tq;òUr·°Úg"œj ÚT™‰Žûøõ?ƒ(ùXi£Uvnãrr8¤ C˜ÕÎÀLú Ú8‹¶;»º[Ý÷é1¡µOSÙM5Í…C&» òé<„ël??×{^w³ÖéëoÚ¡½2NÓ¨WJ¶Øìà|tо¶ÿ¡Ë+§]â>Œ=àÖŸÏ8 â‹"@å­9£‡j€Ðo%àØçµ´½6þÜ¢ØØÁWÿ+|Ð#]4;xºTÈOèadÅ@ÞµçÕiU¡uÜú„²¨LÐåŠû¡…vÈ­(û5çý’¬ë•Zþûáßb/ÖÙõ âVCe[ÒkCaª ÞŠù¨²éYõ¿ó’–á_电3¤+ÕTIŸÜUìí|_µÙ‘I ð‡¼`ª!gY˻ޞÇǦ\£»óz´¦ÊJêžZ_íc mt÷Êüñèl®Ö0ÏUºËëÁÚìܼz] ®¨Q3_?ÆÕHÖA›È2'eíÜ3ð9†·¶Ÿ•Ññž`×ÍÀIÍè^ÁÖq˜ëµô¼|‡æø+üÇ9úqY~Zy~¥b©«—iLJ }&28 70ÓáÌ>"qu¿ßôª„ÿã•N»/Ó}xáZ·“`åÞú+ ‘Æßåï(ð{"¬'"ïÄÜîR>äVÊpÝ˪\ÍÛ}/r`שq’Ä"òò}³1Œ íQÕ€ÉK®‡€¯Òbd5'6Žbrîvÿ>5ò±TÚCsàÅXã—xÖÌÛ¡]Ö{aRØÄTag†þɳ×ëeÚâî…S¥ ‹¾Mî“Ù{~×Ô{§Ê ¶´[àÌ_éÜ”½*Ë=ß$ö¡~tŽV>ÚÇT«õã6ew³í­Œ´W½r¢Í²,$òfYß7·w5¤ú{û¼Òy wëŽç0gþx]è¶·üÛgßïmÖ7eÍ+ȃ<±“¥›;üJÙö]8¬Ê=Ä5Ê–q§ù(R}7¶®?oÞ[^-Ì5€%èƒcÜ„Å:'÷Ïo·àˆ|hEõ@ˆ ¿Ъ¶…o“3?õCij[Ä,×DwÈbYŽúãÃéÏë6SñͲfûÑ(ŠmNÙ‚Ïïéj`D}_o‹Í4\:˜Ìï^çí,ŵY؃ž˜¾è`1ma¼ç¼¾&w ìµ¥j¢ÁÉ“gm|?XdÁÑ®× (}` yv”fÚzs`úã²ýp&ÿßY)Bˆe]&æI]ø gL²Ž§+]~ü<9ÐiÈòÎWý[à/‹Øœ‰·#ï¦ô´+‘ªˆòQjÞ)ãDÚÑ1ûÈR@mmîš—>3ï’­ÐEH“5MÅ"áÝzWøfEøavUõ’ýò¼=iÖÁ±Yè ŽWïóœE"ƾ.ü&èÆHR'‡ú˜}FtÑ5£húÀYž´Ñ„W€¡1Bk¥pAxYu|•dä_ ;Ѻ¬³Òó»Ë³¿Þ|Ñ.ë¹ÞÑÿ½#àpLø3±c´÷ËvÖ鹌—\Çs‹gΜª­gÛyrÈ“tP±Ï÷ÇÍö.«Sà2íßuÐBjTý¼x\ØîšS¬gî#„lGA W®&­íiè5xf'wÑ"gbM3üèëäXÂ,ª_¯öðŸé•®Xõb£K4n¿ª_µµ XFePVFxþOLþ¯ÖlAeV~^7m>gf¸#xB9ù©çÁ7LË8ÒóÑÌ] L@d×Å‹²LRW:õ˜bmq;Mù[º“ÐiYÎ |9üR¢À*dý‹¼õ¯õÔÜMǪ)Lpó8«¼VÐ-žWü~p´R4KmÈs>®s`äcÃ;­}µvçuQÈ/cFŠ.~ÿ¥8+q¿ˆQê´”ß_õ¬•šÉN“Á¤6Çæx—Ø­7ïÛãÏ}sFÝ}’ÞMåýã£B.ÚwΊüªÐÇg:nŒæ",½UŽI³*‘…ÚáZ\åeaß²tU*oŠóßrVZ–Çó•ŽÖsëcþá^½ÉùU›º³Ï#šÔN‹–{º{ðUÞ¡x¨˜H¼;Øàä€Ô;«à•ÇÀÄ1›bO`ùDwíi›å›Ë£4(ËËÅcaË>ÞÕ¯µû6¼â¬'Ü"ÈÞÅ–†ÙãÊèÄN•æ|¿‡l˜76Ñ5ñ¿Ôt· Ü 9âï“X†Jh½®ÆFŒ˜ÄÎ÷”írF>|kc¡„1_pkqÔm€|‚¸¢N¾æñÞ}í˜fµæÛö—«çÇ#ÒÍv¼ïD0×F¼N“+ð¹ß&±e~µ†åøw*”ÏàÚÜ\¬9MðR@‹‰½›Ü’Øoº¢®×›–ŒúåÜìk•øLo^ì–Ç<“Îáv‰]ªPÕ;÷ò¦)ߦá|2w/Rawïpw¼¦f´áGÓnÎÑ G$¦ò:ïdØKªþÎ EqÃdÒ‚“lgÔExÙ̃¿ÿVù[ë?ê»\SÞæ|$¿Ò)üKß‚¶â pùd²ÙCÙf_ÞC7 Ïêk¥-ç .”_ò)!5v4E•åçx%wíÝ```Js¸¹áǧ÷Od=”ZïyŸ $µ²” NVaåœr·Å|î ?ñ¾[fFÌá ×)xG:!rð‹‘éUù¥¯ð}š7½ÌŠÏíûß_í|üˆùTÏ¿„Zix`ýMhÂu÷·?‡®æšR›Ck¿Þï?JHñ°¦ñÑé›BÈp‘‹Ãlû¹‹£fþŒ ºñnn ¿R!:e»,‹ª6Ç€ê£ûŸÑcËÃd42*Ö RU+~gªÚC†u Qè‚É«Œãp÷?Û";ŸŒ=(1&h>É”ŠP%~Ùuq(úȪÀ™Þ¾¥»›@ÒºÅóû0­f%ÆÅg=Ž­,¥-íIešE”‘=ß`ˆöÊX5–/ö²`lðqõùmš_»¯µ š\6¢3k JhvPeЍ&Á·'‹ ÚUã:Y0é2J´Q6Dáo0xR‚B3àøÍÆ¥ñ`AÔ«ckš"·'~‡±Ñq¡Ì£€ÃZ[ÜЄ9âƒ}„ÿ6À÷È:¨‹07Èu…ô ¡fàÚdÐá<ŽHY†¯Þ;§÷)jñù]4ÕB–Ϥ#ÖW«ÌÜ$NÅž>F”;] ŸÀIõŽ•w?×’<.Àê…aöÉúˆ=("˺† t@‰»—¥( äI¾8­ç?IÁ®¦ã¤ CC † ær)b6]ËëºÏL´VÆÂ¦O tmKðÔAWH„ß×yÒmð1á•”¸o$Ö.óæeßBW«ˆ°yÍÙÑ1œ±P¥ôšvP|[¿VŠžB±%D<Ë¿Çc8F‡+Bš¦!Ìå³}ÚT+é%†¬¥ÇשV8‰¼;PhÀ§h­ ¿>ZØÛÁGÕB-þ6!î Ðs^ ús°Zõ!êpºuy¡û¼QŽº àú:@B]CË:sÖjÁ÷¦Ö‚´ÔÐÕéf~â[ùè§V¶¦{©ùhB¦FÈ„¸„:eZÐÆ B%à â€ß *22â,‚ tÁê´µÑõ‚FôbÂ4ï)^© á·ˆ މð3^Ý•Ñp4Wènÿë-ØnY¶R!U:w¦wxÌDtX"!Œ®@¡ ù ØKJM 䣮¨ÜÆab sÁ‚”ÔNEÂStJèPÑRD!ŽYãñUÖÊ2JÌ»;‹ð¢ŽÔâ9‚†1b¤(½Ls×|ß"[¦¥9ÇáÐRðÍöš˜ˆ)îЧrˆÅKÈ‹IR»™hoCL97 ¤ÝùÍ^S·wü²ïà×:¯‰ùQº]茛äí•D…ØáÀLudrÞõsàŽÙBÈ4üÓ¯…¤.Á£òŠý§ñÍ »ÅåG/høaýúNéBºú}–‰f›÷Ä®¬A Êr‚­±×…°90q ¢À³¦Ï¤©„XŽÁ@Çà!WöqA'fHc ~6D¨€ ËrEêu0› ‘6'nzߌf ‚ÄCV€(¼¯spÝçYn÷êi~Ì"·wì¹.~­saB#£‹seÔªü˜ôm­2?Œ8¤mbʧO!°»û|B§·¢«e„T½.x²lh¹Ox¹è0—1Ô.6S¬sµ<5É™Â"~‚H…«œûÓ ûbyï_ì9zy?–'Ÿ£ ´Ô­§;„nQ÷Â*4T¹>™¯Ê3„Q™Nž´P²K³à²‚êâ†n³{b§!¶U|gèjÍϱ>‡¡8ž¿Ò­N*xZõe„Ч¼‘neÜi[¢Ðª~¶(Ðó. !W–MOö-´5{túBÖh–ŽPÏRÐR•ßÇR=åÁŠÛm¡+E»Ff(Ìfýuå„èð ô-²“×y$A=¯>Dcè áO~å¾Ôµ"?¸˶!šàöª²•]ñ¨”|WkùØ´T 1 Ðøšr×SiŽáÀ$+‰ú/¤:m(„H‘@Q@Tmƒñ“¥Áš<2õç¨ä8ç›( œ® =Z73´/tHÓ¡ê€Ê„gËZ¨—Å£l¥¦šïtšŒB4ÕµøjBhíqCW‹³VPå»;íƒòú[N žNžq=MÑ©‰“0iU yUzðx –qð8Ï «"DLƒÅCÀB_±v(-ïWJ`ÙªÎ_ÐCˆ™št‹}Mi "]Êð¹o¡·F†€ŸfÉßeŠÜÉmãXZ³k’ÈlÑAå狊‹8ªk$ÁÄ œC?އЪÊQZÑÀÄ"2:FÈ…¹îHß&çumÛ8 ªßåWãuw¨ùøA…Ò!„º`±@ŽÝœìäÝÀ÷òbŽHl¶G$FC¸ÐÀ¬L‰Q–q×·;ȑǩwyͳ$êû’¦l’ûDki¾|0ÐÛ13fVöLBÄ3ðÌ ‚nÀË}ñ¶èÃ_‰ñʦ ·½[L(Ž& ôâ³}æ Zöc6`|kBiï.³¼XGG¸§´ÀC˜8xJŸ 4ÄrJw0² }óåú.è”ÀI½Ÿ1hÞóbšIRý|åIœ¬k¨ÁO¹}ÅFOHmgÖ =ñû§X„ØL·\'¸®i%®kŽo (Õ³þ0r°_PêÃÀ¾T|þ鉆–çX”É‘¬ eµÁ*øûh¯ñH”Tå\]s×wÀ­L>˜è¤X€=þ ^)ÛE#šÂ‰ÞZŽ‹ó®ûpº'håÓOXÆFJéâWÅï𞎄Ëýl¾×Ü))Êt–®ÄcÓÛ ¶Aå…iVßÑnKW€îÞ\'Y6c,t£¼(tÊBiëà£!ÜÙ5ísK€$l§™@ ÀsÍû÷¤.Dj7¨£ó¸s¯qŠ#Ð\ üÊÕµr_úÁtq¶6-ž@miüÀ©õ6¹¸R,«¯Œ÷Åظ8[ïÁ…Ú+îENå¥}’^Ïÿ5¶°"üœ.ü±]oÛÍo^ÎËû71µ^׎@ÁvyG-îx*صI5{¡†9s ~­›½$VåëdDAÞX‰ÁßS ´ –â¡£i -­¼zÂ;o=û\7Ï5ÛT,Ï`Ÿé–ŠLdºës®Ë!NËü*äqTÞ´¨5ÓZð£X¦þdZG׳‰Ð]ˆ‡ëð¦S£Û@{L £ž§Ç"l—{Be‰-ðã[,Aâ¶ëtv¨"U·Ë‘P’qÿÅÇÁqYïL(YÆ€§v³Ù$´"ç±Ñdx z%&ÄÌd+y ¾}zhrq~ZL!\c!“± 4ø^_MJ{óQFQ T|ƒ4ïn:lä…q|·… å½vßU:XtNP`¥s´X~Kš¸ÇqKàp‹á`Æ÷è¬Á52[«rhë›õdVå¸ç'2•Å>Wö§Ã- èíØÁ7©ùXœÈPìC0â÷ç”Åø ¤Iƒ¾Ï ¬Æj‚ïkn´'qèvY\ôX|¾ÉÐÖžŸ?Ìòæ?ÜcqËóÂÈ, S¦™p`‚Q«º7ÕxÄl;h̨]¹¶¢Ž£±Èêïá‹KPÈ´Už[Fð·F³½zC*tŠ<üZTO]}‰pù°¢œ[§Ò~% ÕzÕLa½.Îg}©i}‚.ò6È'z.o™kåÁî·Ê¾õ}é–­åA(²VMjîZÓ• M:Áúùºå D$7Óñ4˜?ßÎÏMPém}à&a›gŒ~ÊGhñ±€É¢j#MÕâìÍø i›Ü“1Ù\¡®+ÕÊà”I‘æ ÖëÇzgZ;Ï»°¯˜4gÚ‘ëÛírMNê?cSÍâç+]&_s„FŽÞl|d{ù(·)Ž/æå„ØÃs)C8ØÎ£î'"ÿ~oé@^±=JH×Àwênc¿àjåð ºêƒÚn¡cînɾÛeÎf:’)Y—œ–m¯ƒ¯å€Žw³=0¢­/ý)¾MçaË|‹öãæ -–ï0X|Jy`òqAŒÉ{¿×|¹jå(»b&«U}Þ;Ë»}i„îÙ.E«Ê/§QÕ6[Xõ^ißבòµÂc|µ=ðš…\üÓ,Ë•3nÑ—íö·(¼B È@Lg„ÍÁ+f¥«Z"™¢–G¼Fkã:{^\P<7¼»DçÑ‹æ ©üæµÿDð`¬Œã¼\ë–¿\oû …½ÓÝmcš)ûæ’Eö­ŒVÕ^us}€N¿d}Xä’.2}ÅEüf󖜃ïûèÓå5)+¦Çõ°¸{[U—~œmO|¾üCÇd-ùë¿,hè¢!NB1Í1/áôPÎpzHîÖGÁçY¦ 'ïðã?¼ÖW¨·Ózߣ·¡cÜi—Üýû“ $ÁŠÕ¿¿¬)tè´V‹Õvóg}§lƒx¹Íyû`‚1”_ËÝ[ìµÎ [Tgy'bù  ÃãlÿÅÙ;ù¼ÝŽ!¯€(½µ1¼3³þ¹êZ®o×?Ó•w—7‹;´k&ú·n­:ä•NOµmtÙ~š»µÉš …MûîwBÓÝVCœX§+ÅÞ~ùÌ\½8kú±ùþì™Ù×rÌᘮïÂÂPõ¶‡µ6î¶ñÀþËÍ@o±&YBsçyAz°§à ×Öp³Mübw"#yp…NûêÛkþï÷9^ÜVuïÔØ­KœvQøf1Gb{sµY®ÛTóC¹ó—1"~d{¶žùÃÓ 87q¥ëzÔòÐÍÅ ÿëû¯jŸóûA^P0 <-ȹž¬u¾=>.x†~It´¡-àÄ=¼¢› 'Æý‚_’µ8É,kAÉï)¢‹;93u¿¤bi†ñ+rÒÅ ÎùB/ÇôæV½}¹àH‡&&O0~ÿÏÂÏ‹¾/gBÎ⨽¢;ùݬls~¿÷ز\–:ß…îÑókµèÇdêVGÛNÏ‘¢¸»Í`¥õ±°e?ko/䢻å_‹Wã•ùd‘Y«Ø»Ù¾Wjº.zÞæn2 ÚèÄCÝÒ™ !øŽähÂáG^tÙ?޾î¦Ç5©œË 74xõK•Ÿô vØ>v€gísê™%z U|½¿iÎSíZÀ•»{. ÿ$`>.¯{$޶Ӧo€ê¡³ÒļkŽć›åÈg£?çïʶ‹ã:ØËd0_Ïæ½OlŠ&`ËÓT’îÍfÐ[»²,¶J»úô[½lãLrwÕbYIá»Ð\3OØS½úx8'o·½»Q Ö³qþ­8©·Ó>8M‰î¾^T;  Ÿ }jäÓ_ö?ãnñ2ï üqE¾›y÷åEèAyÉâÏÜßžZÕ±Öïõ_ªòj¥yÑ'ÏA7%N+í¦h· ûRÁæ¸ø‰üR؆Ú"¼<‘³üË ‰tk§þN+Ó©¹>O|ú[!ó>š&°6Æõ°Kö•¨®ÿ4ñ`—eûô³‡Û¤¸gYá ÉC8ßp yÌa܆5ŠÀ5¢¯ýùÿåã¨÷òÆ_{¯–ø›^½öoÍ>ÖîÏñ3€Ð)l£nWÌÕˉ5`ç1ŠÃ¬>g¹—ÛL¡_î :²ªq„?þ£L“ðºò™ÃèÙ/ŸXI z™78Ø+ôÅžúkYï‹>7;ñÇéEqÿÝ‚‘™W/ô½æbŸ!1š.lT±¦;Ÿ`—õ¬öú7¼ÿ9ƒ°ßgq™r\k4 2Ó¸ÚÞ7’ªë8ý£êÞæ¸%óSUÞƽú¸‡¿âϬné,É1kG$Pêf)»«?ß4[ 9*ÛNÆÓÎÓ*ë…À ðç—z__Q™Z¯Ï¸ÖvÌO–6ëBŸ=F¸&£œ òÎMáÛå J»(MKÀËÖFG?Çêký"c!»Åõý†|Mqë¡=«ÒE–ýˆC•äO¨ÿõûß³7 Û`Ü»ôÏ|Qm Ù¢Þ`PN!‚hÓ@ªoO؆Þ=®/udj†__µwZÇcô°ÿÞ¯`úBïý³¾3öìK„ b g¬Ë¥ ÉÛIÊ{Œ!²ÿ]ö–Ù-PÆd\G·¸àšÁÎpå°œŒâ%¡'ýœª`¯ÑžB+‰zf8Br¸Ù9Mô‚œf-8[ª³ j/D<”ÀzˆÅ9Ñ;@–·„˜ \²¹ºÇp‡hÉ»†Æt€ýš±òØÀå¡…ã”$º%ÂÔŠàøÈ½Åüò»ö#z|©,¤ŸŒ+tÛÇjZN?\Ú8{CŒ ë΂ÖÐÚþ:3pA•eˆsõå5©’µ¯P_2£¥Ïa˜eAë_E_s?L~Æ@ÀáÛ¾]VÆ—C o›ih"spž|µEY}"rÊ8ÈG’~öîð^zñSXæjâu{·ñ2Š¢Àq emÑ ´ÔÙàŒ>à(<Ûy-þˆ‡xbšXè1Õóz0Æ8Ë”>•á${Þ¸D{ÈB=Ü |}öqð~7CÀò>B“~ýÇå®ÅÙТíÝCÿ½Àéÿ¬æ?£Œ¯_ÑzûÿÙ^é§ônº~¦%x‘x°]õY¿ú·àÅí²¯Å»0VºH…_¾‚·Û™‰ƒü#"óÇ–Aˇ9‡³Îó*s†ÃVбõûÚ¾;ûöúâ†x'óÿèoø“'ˆ{e0ù7ÂqT¶üÍÏ’£!Ü à\eÊÀé%?mí±s Vi¦;Ë7¡‰U‡Ræ¼²žó¦¤õÃkbæˆÏ:ÏþÞ˜ž¡e^€ÏmH×Ð çmÞMyÝm¶ËŒ™†V—|VúÅÿôë8>¥º?ø QxGÛÄ©ªãúÚÀÅJ´oÞáD/tø£yƒSýÕÖߣ£G¤yÛ+/_Ÿ/Ž]ðûõßµŸq&œ`Ñ!2òö/ /ÿ(ëc^` è¸eÛMá8ánÉe6b˜}ìµv%èLŸ ô ~ƒ)|¡÷]çp"˜¨Ìôð8ÊKÃ-ª -[|ß³S ½=¸q ðZø¾+í= •Î0_°L ò‹z_ÊñE("Ùçã„Ãé^ôÓyAµ#Ø*÷ñZ<£Áv‹ GÚŸ‚>éAjÅð bóØFQ £sPŽ8}ÊÉöÎ)—¾ ú.ÆÅûæ8C¢š`lýùï;2$ðà"lÉà bÏÛ£ô˜Ez²[g—OC¿îÎ÷ž@Zë"¨É4¾Þù8ÜãqeNñZ/øç~jà¼×—±&h{ez½2‡¸UPl5‘Ó2z!d{WÝÃ羇÷'ZZ †e|MôoBœ¼úg퇒_£µ2Òòg¿R{Ý“aï—÷¤h«Ù‡´F,´ƒfß&¾OÀž“€ú¬í£»Ø®?M §zöì󫇷b¡ÿüô"]>ב¼Ë§è.Hâvšá_¢SiÖ/CAÊ«±3Vûèc†gØ“[¨{/ó¸Š .!<ÇÊb·°>ðþ}=hàË8Ä»}õ-«ú·ƒä GÌëÝ|–Æi\„D—·wNpÒåàgO©ãg¯îÎaÊ¿( ˆõ¾•/ ±keÃÏèñ,4v_ÀÙ놘¶­‚R«IºÅ Fûèû|aÎ}@$ï»È8TT$z¸ØGÄVù‹âæ ] ·yV¼eñдÍE8~0ƒ(tax¨G»ìHÊÞÚˆ,w4…|Ðl?…ðŠq|lÄ›Á4OöÇêÓ«0ˆÿôkª,Ðsªú>y²ÁÔŒTŸ st‚Î?²~!€I x]‰o‚É}»¤•‚1vñš7ôWÛAOöýG¨çåÍÐH“fšýñ꯯v^KÀ3èZ&Aù9g4"Üß½@v6ÕÑ홸'x±_ˆ£îì|G};ý’ð‹ÀÍú/Íôpí¤¸PÊw7ž;Øï”ÏcpmâèâyÝý,kM+ÿ¶Ýò¡âÝNãte¦ÍÌ¡&åç„­ ¼A!¶F¤œµ~¯yÈWùy< Íz»M]ùËúŠ?~r|+µÐêÏ™Jñr8嫾Ö{Ž.bôÔ²n}‡8Û¾=>xa H6š@9Øûiç¢E¬µîÅ“ì{TYHã)¼ýÞÿže|€Ö@sþœ‚Ø@âM~ûtÚýá5$ñöÝÅžYö¹ø‰‹p¯ÞI:ÑWpq}·ÖoàH$>–û0…|ÖÃÝÐÆ‹ÃÝâÒÜÈAtPå9ÑUàËÎíyMq0‘7û˜^üˆ{sï»õ:†šßÃe2HúÏÉSI* Ï.ë¤/ÎïÖ c#e ΩÒÞ0ôqÈ×ËDÓBW¾¯iÏtà£wTÿÜÀ{‚ m±ÛX+`2“~â€âlìS/`ÌU´:6þ³½†£‡ÿüôžû‘óƒï+ì§§)ÒÞv»)yù§$àÀä/Çâû~½,s" À9(þω§… ø3Wö¼Vßm^ó—>ŒÊÁŠÿkCJT8 EYénkNq®W÷AQ²µ<ªìJpeRp0¿ŽÑ¹øgò‰÷iŠsúùE»wƒ/޾Mq¨ƒåëj÷ôÎÓãï~¶ ! D–\.Þ´ Þ YÆ?|nÖÌ„ÖÕ7Ä0¿âØlycÒ¾»» njØ×-Ä 6‰àLU(½fy4•<$þ 5åÝ “vóF¡‹3xùíö„3éCÙ+çÜá5äÃúxÝÀ»‡ªœBMË4˜R Ð5Eî\€Ü©Æž&|€½ðySQ8nŽ(êüc2Ó~ ±`8;ÚìOd3_™ÿïZÿªÒ™óšòý À‰Ð¼?ÙuàÊ è7 ‹·õ—¾:\ÜÈmq@ßšlNÜSÈ‚–W̪ᷠ:¼1ûeÂHˆpæ@>³ è8"çøå?Z;ƒ4‚Õisð6£T £‚¡lj{E‹ý4G&™XDµ½ tø·Y®ˆ)’Hý:œIÎX²¾o Ã‰B;Ö[ô檮©u½›Q'!¯Œ€t/oª´£nN\p/Á.šç˯ƒ,A‡÷ÉtEnOŽ[·ÕŽ2¬ßAâ¯ÝÙ èðanaâm§¡ƒ^/esš­§—x”w¤tP{äßl^É¿ tèÞ~&wê“D õ™ì}ÄÎàçíÊ¿l@:•¡RD©Í监u Cp÷[8Nϰ0òQÒÖÇò¹|'èî½juW2?¯X‚@{¡!½ÔÓ\: Œ‚¨—EWVí°8Gç3Ž‚²¡/¾æ`Œ gßÁÎŒÝ\ñ91 k_UrèðSÞñÌ^¶˜FÐ!€%èNÝ?ëµ+è@ t t¸XéxužAÔš`A0¸+ÞȾÖA‡†M*Y_ä]6¿zÃZÐáõµ Oi6HåÎö Øm Ã4+hã{@‡áçz™ÌÏË\ûn%à³[0âô_íèÐûR¥Ý8ój{×»¯9%³+èPø‰ÉßÝn#lºL¡ºS :Tg“Í6ˆ¸›ì3Bl¿uü»·Äùõ¨ ûÕJéÏwj[$H³¯½ZÄø4¯f»;ìó;æ>ç­¤!¸ó©\I™D„FÖA‡7ŸŸ`aÉ窴:Pt˜Ó 6G²t`+è0÷ëéæC}7-V¯žŽÃx” MÔ!rfMЫêÔ¤çþîέÜÌw›@‡wÙ`ƒÝÑ]‚,A‡ » Ì²Ý4í{ eBûß@‡A‡7O»;õº²L¦LʲSÈ».Ùwå® ß@‡TÞ¡t|GèQˆpªÞû:Œ½o]¯ËÙ]@‡– Cx¹2ÞUŸ¬É˜¤XçbT¥­¨Ãl,A‡* C Ãã èõ²%èнÚØpAÎî9 CPzǰ‚x‹¼«eèК˰Ùg¹ÿP­èû:¼µÃè0j ¯peTUê²Ð!ìÝ=”ëeŸðr*pD§C~!aŒòƒ²EôѦ‰Ý» txeÈôÉÖ5hA™æþLÊÝ\ÆNáCÚ×õrqü°¤úõKq?« C OzÀ4]‚@mT@‡6‚­…Œì†ÈÐñÁFÐ!€¨pZ3䔨¸°o=¹FÑéX=èî:\$ÄÇù: /«²vòXåk©ft±å¦8ÌG.¿^ H×ã¼ãúhÀ•@‡FlæÏ8Å*|-ó›ÿx[ÀtNžÿþ„Èo Ã,«Æ“f×U•ºÅÿ{‚ütÐáÃCù¾hµÿ[Êí´aq¿_‚²,£,·6,A‡v´tE»w/ ÖF‘¯‚TA‡‚Š·î¢‹`NÖÛ ¾4‚Ó+rVß@‡Öb *&´s‚.ø˜Èåo CW)xnt txŒð.Ô,A‡wÛuà*èpÎ6÷æ%NòÎ<ÏF3¾×ìs51§¤Á›}«uÐ!€ “š3ßOЕFÐ!ãúÐáÂ%2¶ýÉ©]A‡J CˆXáb-i¯RÈ¢N#èÍ»É9Æd+èpâfóŽú»‚M«ª–@‡jÞmjè‚`EÖ4€Çy—!ÛmºÙnqÿo ÃOææÜeXøTóxs"Ó›U»†+w¸A•Vê@‡~tÐeÙ}µb „í^Þ%‡Y)(û:”盋à£<Ö±:äFŠ}rraË7gˆžV}=îÎ×aRêóÍqˆˆ.¯5Êʶ讠Ãð‰œóYDþ[:œðDo6‡Y•ö¾@‚FÐáÐ g´:€ýŽ‚ˆ*ïó¹ C%Ð!5#|µ:ŒQõC²5=ª&X“2oðщ¬vÐ:€Ñu•¶âq3Ï2Áæ¼Ú® CøM:O.ØŸÌYöMòlG*ç0ìÁçzY>-ø§tøë C8ÛçqLaϤòŽ9Òt8Xé†÷3A‡¾/A‡áJsz…Oó²þû:¼–uÓmü¼iAZëw¤‘ƒû¼cì4)üÉo CgBþ–Ý: Ôm´â†‰jváŸ\7Û¯Æì –Ø^Îc5^îÉýz9xàyÐá­]ðב؂«¹$Ÿ‘óÚt t¾ìÀ4Ç ‡ÂZ"Bð›c{\o#èØ~§ CÈ:çõÂlÍšùÓ¹þTÿB¡'ÖA‡ðNÙÇ­Yø‡üô±:t²‚þš@‡V С©’ó3¯Öb}¹½d,î¼ t`;言@gð]ìSÄGZ:Áf9ÇÒ"¤¬~ÚÊ<ïxhP?GV®ƒŸj #Œd÷¦BŒ5kUuU(û¡çùûi{·É3aZÐà7Ð!tošã‡J>þ7û{s\=‘Ï ,ù/=hîrÇŸ‘3U™íU»“èÄ;"£WA‡jA‡°¸^ ž—åÎ7Ð!€g§“í]B½ð³ë@‡Ã;ÀCaã2jÕVüС¼2I†åMd k­€²½mÝožÞö t :PšÙ÷û¦-fs¼øèp:­÷…$Í-JùFÐ!€ è0ª‘i2Møö€—wX‚SA‚$¹³:ŒVbZGÒ9¸Ëª¼YŽÍBÖGÞ_õúr tx=Û^¬» :œÝ¹0>ý™lºÄWRÏÒ­ C ºöt8§Êô¢)ø¼:Lò ˜JŽÝreb‹Ði–á(T]E†Ë5ɇ-ÀUA}v1p0 j¹¦4M!´Pƒ÷ð€?’_ðÁþ°üîÔe±°,˜¦‰4KÑv}ò[i†àáÞõ5ºvAÐAóÊòüÒ4˳°íïõx¹4ÍÐò}dY›µÑQ^Á¼ºZþîïó³J1ˆ¢ˆ0 áØ"¢Þ!Iò<*ÅÇÅÇåyz4K1âæ„vÜ>~´‘f)TUÇq˜2S„­6EAšfPt=¿“ îÐE–fà<%€$Iey¹¶Sª³¼Ã$Iq›Ü"Í2\-®f)]‡®ëË3HZ{H3B”ç!MS„\Šß‡eÅÈÒ ­Ö<Å#ÍRL'-­—ù4Ãbñ‘œGš!½½…?ó±X&-ïýÛo~û^šeh¿¶@' ŒÔ@<á^ºð}nê.ÏLw]è¶««påîRPçh ©ÈÃ4'ßë iqR¤"ËRDiTðLšBg¤)¬1¡ýÑ(@ø0‡¢znŸªø¿fä½£#eyϬËB’<¤Y Ód0‘óp´ç-y.M3È2ùí–N¡µXG/–ô&"²o<“ŸÏóä»ù÷³|½ª:&ÿ¾"´<™°h¥¾Ø6°`AÓ4þÛb¥eƒ¦–÷(©ê’Ç À¶m\]ˆ¢Yìb”GE IDATÀe)è{TH!ÍR0 ÀM8ðzišâú:@ì³";²œïb8aˆùµm:%ÏäÿKi=²Lxk4—r4ËRŒ=YšY0øäyPUi–a2á‘ø>X,iœe98¦ŠJðÕ4‘¦LsÁu—k¢&Ð °¬å=q.·ÜûØÃÓ˜d“åÞ‡SnùÞÝÝr݆ç{8:Rȳîï ‡qé¼Eу&Ÿ~°‘¦)Liù›iš‚R~€NdžhGX,.ŒRIÓ Èãúl)›³,Å£ý E!gaĸή—:eUo9•Õ?<,;Žc<<°…®MS\g‚L_þ†jª°}ãh îÝ+¢ã( Ó)»ü Û{4¥‘¦<ÏCÊôàºîRŸ:Î ²4ÃßÞ߈¢B6-y2Í ( ‚ {zuN-yÕ¶8Ÿ\0Ñb|Š(Šà?9˜Ó4Ò,ƒ®ë¸î MºÖòœT§àíoû\,…Lüvÿc¢¿XoŽ–ªú8Ë$ ÁGŸ¦!ÂòY&gæ25-dÈ _òâ|iƒ¤éÝrY–.ÿíºOãxI÷ßlž¿Í¿‘¦¤8[êÕtÅNƒåÝZ²,ÅÇlÛ&ÏÈõJ$Šù>RÜÚ_–çe)>|0WÖ›AWuL3"»]—|Ÿß[±9RXQ´”ÏOÂÓrß/CÅÜnx$ôˆˆ DŽÕj-ϳß7 ›)MqŸ¯5Íùî>¸Ç\™C×uPæÃ㣃ƒ_–{÷}VŸè ߟ,Ÿ† Ò,…we+v EQ˜Çó\?£QY†aõÈ>h—AÃù¼\ÏÀ@{÷;®Gì·–Eº*¬ÜU–ŸÍïÿ£³ü^â8Èúý¥e)nrºsY–!a*ý•$ 4SC?–t´¸[ UÃ%¤Y† ÞAì0èGýBî<-–úÈÊõ¥SÐT ÿÃ/=p‡0$öV6.åê¨ÈrðàçÏ!V ,Û‡¦ÅX,˜åùY÷ä™vO(é¡Ù%ñ™$éd¹–/áx¡é¹ýˆ/þÞ¹¼”1QÃ|x€$©KçÑ6|…Œév=wù»<ÏCµ8<$ú}¾DÆ¥é4]ñEòÿžˆÈ² ²,cÑe—ü˜e)‚ø¤i?ñ¡ï]¬ÈKr¿½áÎå办Ka¨*Ò4CwÌ`±È`NFˆã¦¦!ÍRè3ŽCü‡v ·ZH³ Ó)Ù[$’çØöÉ^MÑrùâ—dz–ePÕ9’`ÛÛ $Ç4K[ñëÈš!Áµq v:]~ÿìàTj"ËRÌ¢Ò4Ã3D–[Ø4…Òv0¦;Ð%©ä+.ˆƒóù/Þ0x|4–vÚÕá ¿dvyžiš‚9 `_ÛH¤„Ðišã¦ ü[\çûƒ¼¿\ãRެø¥“‰¹|0˜š<<-ë´]Ü.ÿí^}Dšf¸½¥±À9¨ëxb‰áã½”FE¸6¯‰œg=(ʲª"Nh¤)9ŸH%4y™¦å9&þ„¼'ŠèZ6LÿIBx r#¤YŠ~øûojþÝ[盼"úñ¥þ~ÉωªBºóàˆÍ¾÷’Zò —Ë·4Ëðöb_Ë2ÅŸ"MS$¹}e¶L¼~£" ù%^F—xÜs÷ä\ºXòI¶Œ¤Ð¿ùžiYΎŲ 㱺¤v>‡epý>ŒÅÕÇïâšýŸ‚a‚å}ž²„W9ȲŒA0Èuÿ-±×naOòo:„—²ã‚s;*ÌB‰‹wr»ŒãdOtki‡dY öõ!Ò,Í¿CèO9ÏÐj¾Z–fp]yÉ÷ÿeïµ$9–­é}Ðp‘¢TwWwŸ3c‡Fšñæ%Èûy‰y·1Þqh§»²Rgháá€;´Ø¼ØxxŠ"'Óª2Øb‰ý{­…L•2p–$¬ÎVÛøWô…?®ÛzýÛ(wBôT±%÷ñHúÉþVbù@Ý®¥ÕuìI]˯rªª¢~‘²i˜£Ü[Ï5‚3¸Ö¯Çµ~ŒïE/ø”e2ñ?ðqó«(h[…HDd]<Æm;§6kÇaÆ^RÇ!Ϻ'?®qšJ{±ie"}Xçt|ø }q:O9ÄÃnÒtÀ·î“H½¸1oÆøW<±½OcçÑöùµiš4†1êúéiC}{KguhZN[µœ¬]4¡a9÷(}Ïþúì®#Ë4§ÁL:ÉkÕ×ã^ßê:šÖÉø¡æÛ‹'X­'t/¨;kš¨jEþî‹a½Ê²äßWÿκëPíÁfüþÑ –Ks¼_QTèš>àÃu½ågz!èVÝ(?³^Ç/—_q ’k¬G;xX¦œŸ§Ø¶I?éü™^ôÜÝmãÖ$óö~+ yÿ>}§Æ8¶GŸc.UPp{?»±oxeò~³qM/z‚çÑcøþh^<³IÎ-Ïsò·3ª‡‡Ñ<Ú«<Ïif3¢Ê×Ï4WXEe2îašÄ9÷»K©Õe5p¬Vêú mºf¦ãøÒr=–%í‚“j¼ÏßË+ ~ögX–5ÆWWŒv!Mí‹Ô;—ìõë'ß±ð'Éóv]°Å)Oø¡YÛŽ~Ñl¼èÆ­äн‚¢(°íktKÊ{­½õŽ?î{Á¥¿$±mz!Xõ+bß'´#ú¾çÝ]…Y4ëRÆ1’ØåŽûØVÞ׺¶(âb”ÑÇŸ ÑsçÜÑ__Óº-?vhƒK»‚õ|ŽiVhAÇ…¸àóçÁ–äUU¡ÖÞúmýEqCm¥,ú¦aYw\UÕ¸>›,#Ô$Fuã˜}‡q]£º¦KÕ.’'ön;æOŸ?Æù“äÈ Ã ‚V¸«ÁÖVŽƒaEãºxÆäOÖ:ÕÇ\]ÕC¢xÏJYI¿ >Cˆ×?x‘ûÑæžÔß3õŒj>Ç!~ó f³­ë¸‰¥lßÖ5¦iRkIbñgߢ(~—ØMËÉ^ꦹá%ÖÜ¢S;^Da’çåhÃ{ѳÈs„è9úáïäùïO0™`vø@}\ó]i½”eI6ŸqÇí(/ÞÊ÷æb½øUùÙë:§‚ãaÇ÷HûŸc³u<Ê’‚ÿøüx” Î ƺq.{-nå\~wˆã°QUn² Ñ ®te!ñžÖþº’ò’j)ëõêBp-’3îA ¡ë&ÙûŒäz;¿Å ÷î=UuM/®k³ÿo“Q'ßkRæâ,~‘É¥ìô£-‰cɇœeµäv£É?ÙÓ4g…ª.èE;KF=U<Mì‘$oˆã˜ÛÛš$ÙŒk× ¼áã³ßÅï0ˇ:‘ÜÀÃuáax<驳½`¯Rwb É}É{~j?q(,<ÏãB½`©/ŸðO‚.èvæù”êûžØ\ŽßÛ¶ül&"‰ ¦^Œz¯r]\ãÜ+Æ%BTµâʺ¢íÚ3,ðÿœïðíñc7%·×§[L Þ²Îëΰ‚SE£®/%Ç0è¶ÈŸðc‚Ûwå¸O–Åfsê;Ük/z¦žŒEnž8Æ9•|\ž«Ûؽ“úÝšG¤×)Í]ƒã8|L>Jlÿ±Ù™oòùóˆlÛ¦M[9®âv\×D]Iž«vY¹îŽÝ»¾–ëq£ÝŒcÍó÷Ox~'ÎöÎòâBúͶ ‰?}âÄ—¸¯Ÿ9¬Vÿ Î$ŸâýyØ/…Ë͆õú†^ôÔ{ v×muxvߌã¶no%ÎVÖ£=QãÑ ^{¸i«ÙÈó¶óF%{óFÆ×Z3ŽûæÆæþ¾íYt(eüì,×a>÷Gyq]kÄxñÀÇg™1êÐÝ]ÉCÓ zA:à‡ÅB`9Ú€}mÄžä÷ÁNýeâàÞ»lîï ƒ<È)ã˜_€4­¶g KÉWl†±Ÿw2¶]…+ì$a¹Ô¸unÑbmôù÷ó†ç¶ä¼öÔ¸ŸçÛs•^ý,ÏBÄËV+›æ®AéE  v\Ájå"zÁŸ¼¡ªœŸ·ü|dŽ:_–Y’² ¦*Áô÷–%ÖÞ¿IŽ£iÆùÄ~Œ˜ž’Æ)WÙrÍo,‹O‰´ Nçàû!¿ý¶â¥÷|°íRFíØ£;—8^UUœ<§ëºQþÅ“3ê¾(ÜÛ²*ÑnµqìÎý=Žã}Êð<ïHÙÅ4Mô•û¼±?RX%U"ù·›VÅw]JÕ$ÎôÊÁ†f>Œ¾–‰?~×éþ^böëþzëo{A˜t"G¸®‹y7êÂÖ^Xÿ_þ, >'Ÿ¹ª¯˜;’‹¸ºSù|?båR- Áý½´¯Ñ ʸ¤Ü;×d½^ã¸^ˆ×óˆÏbò¼¥Yex yît;{ÇÛâØ×:بA@ðÓ ©oöœß_³®M4MÃýuJ½o»niª†Ú«wæu-cZÁÙÙÏ‹y½z=ÚÔ›9öõ§5>HÎÚqFß&úíù΢”ºê˜Þ(†qÇZ•vö}ü^žÓ*:‹-wy­\s'r,Å¢3ñõ5Açòæ<ûm²†ËK©çÿøG*×øíÛÑŽv]‡±\Ž2X><°^KÞ*f;ç)'V¾Û䎃ê λ»ÑǨªJ]×8aÈ»êÝp/íÞk±¢µdŽÊ#w&DÏÏÞ£ì,ú{|¿Ù‰6憢ßb°§Ø²·Ž)çÆx/{>§zä‡ëlÛFíž ±èÖxžÇ§õÁp>"¯¼€Û[‹¾˜óvÜážýc®DAzŸ²XwòÜtb2Ÿ§µÌ=xï_å <åvUõ’ËDQ^g¯Q”t”ÿ»»OH²,KrT}ËÙYk»ˆgîvþœO&íÚMšÈ\“^`š ³ àÙ/h“-^ÈóräIú¾G¿ÛìàŒÑ÷ oøƒ_sIïï™îyxŠôeŸ>Å”JÉæfƒoÃs{”¸g5_}ÅŒ}_üâa‰-þ«Ëˆ(Šð5ÄÑa¨ŽöméHŒ…ëxM/zÔs‰94Ï£éšAFäÚ?æîˆ=éë?TNôLêò—$„ ªt:k%ãñ™ÄÌþ‹ŸYF/ªºìáÓ<¤žßb‰‰½jI/d¼u—µ,36å™ðâÓÜp{[a*çûxf½^Êy-ËíÚN’wšÜ}–1Û¬®Éïï±íê‹|/8=•ç¿I–±â—4Lé÷¥ŸyŠY».C|Û¨}OÓu̬žîɳ,Ï”¾¼>Äw{!÷nbJÙ:.¶˜úWÉs‡ñÌüqíå’9Ib£(Öˆ÷ÞõŠÒŽ|¾ø"Ç+Ž}ª¦âî®øÂOöä‹RôÅöú^òÁ½èIK¬¥´]Ôaþè#†¢çªúÄêæ†4]r¯ÞÓ Á¾?ÅšÍp]—àä—íùذί?nÆ1…§á”ô¢g™ô}ø„›öç¢G„[ûóêïGìýðw|_Ç Æ0ß2,Ÿœ Êqau/}¬¢Ð¶õ8GMk˜øãønºtü]–Ýﬓëº8µ3ðJÒ‡G]K³Ù`wò3–E–9(ëóa~…ä#}¶mX[ÙV‡‹å¿ý·ÿ&@¾ûY€2~'«Û*ƒÆl@®ëÐ4òäZh}#€·Å§K~‘AùäúOS~þ%üêçM×ah*™¦s[äAþÅ- ÊÎ=ý gv n 3†ËeÇþK›,kH\—(ÌR•Ÿ;«ühîmú­ŠÌ)¿»ÏD(PWB«w¾SFpí6“Y¯´C— ­ÖPQåzVR¥_w y:O! St!+šã¾g2dË¢ÿE™†iš}wÍÉÏïäïÌ¥ŽkÌot7ëg=Ê‘Ê$ªÈó”×.žx\e/<™„'/ä³ÒtF²}Š9ÛPy,}Ñí<ßÎlJ¯Ü–ee˜â„ÏŽÊA’쌺, Çyr A½¨XžœTÍxåjU ªK¼NEß;/_{ûç7ùßÝ­üÚ\lð_m³üûu¨;;¿Z &{[i)Š[çªÚ³¦ÉtggkßÇÚ¬Qïg¬^„ÕÞøÙ²Ü`Ûþ·¶E®gÓú—š°óçNN;Aî*6ͲDß³A@–lˆœˆÖê¾ÒýkEṨºJsÑÐîƲþ$ß/.ÊKT ®+‚`IU=cýfÍóÿmÂo×w¼ôålm¡ñy–ðêoþxÿûÄâ8*Çqm6 ší¡6–c²#0;‹!(o*ìS¨×ýóPxcY<l½^PR×—ÁqмØY×ÏÉ?E¯¾| ½¶™½Ò©Ïo8Œ¶…ÉEBôJ~_×%æP%u–àD}mo«›„Ó¨iZÛ6e‡^§)CœÉ„YU²zÄì"j-þjóMó×iÆŸìÇ}Ã5]› ë¦©°^—X–Å­eñ¬*ŸÜGÐ45YÕ0ñŸÈtß¡ªizFþ°•,KÛ"™Íøi˜{f¤©GD@º^³Ê2ö¼mUÝ<½ä ”U q{ÎDÿï ´€;Ã⤭8ÏsöÔ€ç77 §{Ê OŸpœŸv>k{%efÄÉ/²,Ãó¼í/ôbMQܹ§UZL³¤®íñ’:«á”¿yMC÷±CûEãËšPW.ý4öE£®»qÊ:E¼x Iò]+€ìãïŸYÆÏÓ)j]q¥ÀÞ8”~ɺʈg.ÑÁšÐA3 ©ÿ‘½Éð~õvôeývÃóŸsVLª MÓhÛvÛ%V@¡8O:‰>/§S𢡣ÛÙ®yUq0T4À±kŠÒ”¶ƒ]]ZÒ¹àûˆõeP羡é‡Ã·>îqHg› ÿñ´$Iv$¥Œ5ì¨ûÚå>ÑWýúŠöÅ ¾M ÿ*í@Ø…¤ZúÇÕG®Mž—¬–§Á„ùzN÷¼æ(›Rª[3Z\8/¤¿©›Ï˜ÆO €ÞÍhµÃ=~W–üe°Õû ëO(°y»Áÿu·r¬öjÌÌü®š<þüAà°=ÿ!ÏQÚ–_žà­;]§m[ž?¹M۶躎Š"÷{†LÓ„ùe{Üáš&Á²íØ×µÝAËkœýSò~«|[ïäó÷Ð%IþIÐüï¨kª(Š“'þj÷siÊ3½g©ý@hIûXU9í½ ükÆ~~ÄïIÂߢhgÑšûãÈåëÑœ§•6âbSÐqïÿ:T¬Îñÿº¿õ!_ˆÞ½ms”_°n7DÆÏ_ìÛöêõýéÉvnÃ?ïËsþº[Ðuží±j+̶}r…®Øø”lÆ{Ð MN¼\”ܺ&?9[L>"Œÿë‚ð_ïc'>!~wv’q£ñÃbAù/ÿÂ^qMßo«ï’›„èô ^ùþ¢( žçekdÙ9Þ¯çN}þÏûÓÖÖ*eÓ3ISâ0¤ëJ4Íþj„®À|xÀ>þ™uÿ¤û¤¾Áj·ØvqVSýìr* }ò -’ nl›Ór[®C^;ÿä…þ ûþžòø˜¦áwíŽ0=ÅÅ®[ðîcÏ‹gß®øWÕKúþå÷ãËaœºqCÛžî¿E¨søÐãÂzÝ£…!]šR®1úc;.–×({²ÃÁÃïkÿtÙs4OûÆ8 ±×cBÆXYì9ÎÎ#ËÕÖôÅ×îrüì“Á=ÁNý•@y¡~=ìÕ ¦ °­š¶€ 躚¶ÿ•,„ZHÚ¥„MHj¤;Ï\§)ö±‹Qè¥Ac7,tý¦‡µòWL7»b.5—]÷uhó¹hbönõØí›ü;öZÓ4Ò®Ã>Uÿ2éÈ MíèzMâ<å!NŸTÛ›˜O»‡ ·s ýHgùÛã•A·R)Œßó¹ ¯4 !üqß֡Ћ—›‘³µSÖdBÇ(qGt´ÏÿS,8{è>œ¦éWÌí]ʳ'•­¶mP UUM¦”eÎfóßÿº[u¯]£v»]9,7¤ÊS6iÊ¡WPhR6ÖªFÐ÷Ûùw%ÅŽ­˜=‘#Áf³&µNõïuh24;[õþ2åÏ/Ãoà8,owvÛÚäù%´6á4ÜÙó(*ˆ{D£»ë&XF¦ŽW€ª °¬­MK&.Ñ*ÞU¿Ú%BDxž7v}ƒt’}Îð~’1Éd’ÇÒ>_Ä–Á3çß àÆ/×ë[‚àÙN\©<Á܇5j«ÒëK´›œîôôÛ`R(àØðÄÎ>U 'pHçK Ë:å<°YG¼+ßñ¯Á¿‚"‚’õÚÓD]kôVñÍ{éŽC;Ä·b×ýSÖ œ/*ÕŸ^3ëL~Žj®¯ßàüó£I÷jÛ©%»ÏðŽ½¯ñ„iRS ³žÔWw.~|…÷¸¦ßˆižâ¶ß~KøO??#wò­œÅÀ%åVŽS:ßy#‡ ö|&OÞ  ö*½ºí.PUŸ°¬Ÿw+ qŒ¡òÌ08jŠÏÖ TõÅw:›¨´½¼·z¥¢ÿœ‘;'èI2ÊQ~™q9iù5Œvôl³¹Á(:oën;O&³K¢£­ï CAš*(J‰èíoû½'òzUU¼°, àiv;=­ß¯þüug°°/¾¦†ŠâÇ‘œëõeÇó—·· ÏžE;Îl›Ã²Üᮿü“Û6nY"€YŸq¬n±Ã¶Ù/K¢¨!Ižtܾš!^‘Äo˜LþŠEôIBÛ~Fפ\éØÓÝÎBï>Æüå—-^ëÄýÍ1ö«{ºîÆÂÀMr=ã{Λ†»æ¤rèU‡<¿ÆuŸ?±«WøþK6›;|ÿÉëîí‚wŸjþr}36{Ô&-jÚÓ÷&× “çûR—òü#®û‹´Ì3æ0Ûž´QdeæÎ­U³£¯5rÅcj¶TÕ.ŽóÔÝÑõ•Žk·¤Î®]pc‡b²õ…ëâä2^¹¸kxub ¼V‰ª]Æ•5B;8úNÙà¯ïqœ¿ iýŽxù·!ª[šf»WiUQúGb»¸ýS\ß'_o@Ñ•ÁqE…4ºÞ6;Ø.ÉKŽÖ —/^p4èÁêMÆô¯ÞRõºTopœ_¿0VOg º–е(pVžñ£ýãWÐgÉ%{¼DÓ4º®#?Kq ¿iûÏ£ßâ8áøÛMº&wý·çÙ,ncìÐ&ÎbœÆÆšØÜÌNúoÊôºª¾óª®y»ÂWBlMûÆ,¿vÝæí©Ü”oq¤ü]•,±¢=lÛ¥,ómüiYò õ²G})ýl’Lˆ¢˜|µÂN¿yGU)†"AÓ´P”ïÇåe‰ýÒþ.Üà§þx¿ìCŽ÷§müÑ_ë(Ï[ôV£3ºñçëÍkÊ“ÿÄA–…>i²®’ͱy¾f‰" IDATfî®oĬ×w,­%{ÕHÞ&D¿FÌT…?‡É7ºv7Óé”ÔIA@äGÄY²s†õ½?³s8úawоÇùFþ@™¶Ø¡Že­Y.<Ï?WÜ•8'Î<ÂŒõ²%úÆ›KLêúûöpRM¸¹¼Áý“ûÝ­R;…ørCô£÷ÅŽÿA7ÀÚ"#C75æ–ÍAõíî¦+!˜*P\—8Ï·óRZúÃÝ®tmÚ¢‡:–eõÍ Öqxß1™œ<±»ãÝœ½áø—ÿ•¬Ëþ¯úô)ççŸ]fýŒ#õh÷Œñlƒÿã–»µnyVýAwM¦uÍæ÷CŒ¿*(±4Ð|Ò”XáMQpR}$þ Mk$fê{¬A>Ú»ýDû¦Q·¬ÊòˆÜŒ˜ås~2 þÿƒÿ0‘Ôú¸gVöœ Û0¤þǧI þ%GUž„*ÿãnÍ/ž÷êô–VU4½/Bú+¶š®ýOØ5AU-±­ý¯„ëê¾àO?ÊRÊé»eÉ_öìïø§œ¬µ8 5þˆ4n¯[´ç:ùçÏt“c©ûÍ3å"Àuùgó/“ÉøÛkcÎi}€+TeºÃ-MºˆDK¾ºß§$áçèÿGåahB‘$…ãH¿nÓÐu÷hÚñw¸«Atþ ÿ àÝ{¬ŒÙé‚iùlÀ5 g¸#ŠöøÄ!û—¡ëmã±É<ßmÝzfròSLöeר§ù©@‰†ó·”ØBÀ­mñì25Ïg%Õñöwe¡„V]‘¦ ÂPžÞ'C|w¯×µ&iš²Ü€çq4)DZü¾Ùð7ß§_{¬÷jîW+þâû_‘‚®§“ç-«.G½Y0é{Ä?ì\÷úmÂß wö5¹¹!:=%=Ÿþp„âûˆgÆMs‚ÕYTZõ•ßÐEþ‰(zEš~Æ÷ÿ‚:tž_ç%¾cóíÑJrá®®Ðþóþ?þ«ãÌYF'ØeIñ~I~û ëàô6¥7–¨†;X¨²²\‚Ú­É/(ÛK3A¦Y˃¢˜&BÀ»ì{úÿÜü“#óHf,‡Š¢ÈŒÊ¬G1ÒËKìAÈõNðÞ|Ï„ ݽNÜ®°L ßKØl´¡ƒ JCU[è†.Ž8Ér©#ö2œu'Ž‚{w‡~xˆÛÿøGÂáð”M¿ÁÀ’À˜ æN…S«ã½ïç\KÅiŠišCv*tŸ?CqUÄ<+TÌ 'NkT+ mC¥$Þ‹Ñ]‚“Õ ×÷)«šÉd2vCYÔ5U:caÆø(€V5ôª\{KºNPU‹õ»·\FSeŠãxE1=YVSŠœ‹æ‚—ÑKʲ$Š"ʲb³Ùp}-(¢Ï£ç”e9α(–˜¾Çù݆Ð7…Ö7 zݧë\ö,ƒ¬Í˜º! Õ7x@BèÑq~Þ°·gr3™L¨m UQ1»EQ0MŸ¦‘ݳÝf,+rCšV§êjœ¢ ‰cÛÂqæ4µƒnèÄqŒmÛ²JXÕP ¯í¶îH€c˜V€âÈìuǶa6£ì Žöøø1eoêãÏ}âUŒîë2Ëz² }(iÄ]q"ÕJåÇ%?þ¸GUUhÉ=ªçaÛ6MÓpk†™&–Ÿ8îeòÃÅJ¢Ïf(º!;­L§x·k„çñ:yÍI{ˆâH™šÏŽ#hš†,Ë0 ™…ÿpk½ÔÁ'ÿu}Âr³Á&ø];ÊeÓµœ—çL Y=©Ú24B•ÛþOó‡WW šÅŶq..X[`(Н iSt]'®bLõ`|¾ªi4ÂãfsCïº4ÂÇ9jÑK‹ü‚PÑ6fw‹:‘Tòæ ûχ¯¯®0ÀòaAûÜÎçT«jIšbšºî²šÝâCÅEˆ6-@H[ò1ZrŒ‰¢Z 1l./;‚@2uB¦©Çû'‰ ^Z6µ¢0Ÿ ìP'SUŒá"ë.åaýSïd\S¯óp-\E¡’ö°xXc…&¾æa¦@PÝ•$AÂ᮹B[tÇ-ÇÈn†MQb¶Ûqµê €z§Ò{=³ú‹#~L^Q:%ÅUè³Z7!8îX,lTõ1ÁHà·òP>­RLÍB PU Ë0p—Kï¯ó•<¿áääWªJŽãjY:{yÁ³ãg”¥LR)KƒÐÉ㘺Q¹M¯9Ô÷pC——S•Íí>ûû&ïÞOeà4OæôM?Êñ£¼ ^ßÊ!]ç`êóßÿÇ=?½4‰¢ˆ¢zÀÐwdÝó<²LôÓu—®k$1ö4¥‚iz2ÑMl3’„~½Â‹~¦Wz‚͆Lu†k {ÿëøuª¢vâN ¼PÐ#¾ì°—KG&»Î ƒêТyx µSÔÂDQ`EÌÛ9«ª@3# ®kÊ2'+s®¯ &e°…P€)T¦º‰6VI‚ÓLSjÝà÷ó%Ó= oãàuXºÅ¬(p5 ×41,UÑ _”U9T)<€âbî™”Zɱï®ÖWXž…ÚièBöAþçê:yþ;¨Òâ-B‰ÐÓÌ1…Q‚¤iÅþþ>iš¢j*¶ÑÏnèmzƒ7ÉN­Ú¶÷ZQ]™0/ÎësB5Ÿ]üä†$kjT¡¡ª!ª™c˜¿ç¿ãÖS4Mî¯øòCTU¥|)‚¾˜¡ ¨”ŠOŸ2\¯GI*e¦X··4ž‡Z–|8o#ÇÑ©•Ó11‹f[ßɤG=Ðù°ùÀÔ˜¢ª–Õ[sèLÉð aŠûǾ?úÕ®[¢º.0ö¡"Íd:Ui»µR·zñ•ëµ6×­Aš¾Æ4p…‹aš²ÁÔЙ„Åãç-¿bRªÜÝen\e!¾¯ ë¬#¸€VÉ6'PÑ5ùü4I™ É’öNb-©¯IâbšÍ`ÿÁq âäËö)7%V(»ë¸(ŠBù®$~•`W6eùM›"è®ÄAžÿÁÑš²èƒü.ÈùAeTÃóáò2áä  Ó-L­B øð!åàÀà ÜZúƒceÛœzµ¢l‡jC7XÝ}¤¢©Ú8ÞÇyùv¸¾6ðý–Ò|À4掃nåÃb×E\\`zEÐ<ñEËâß}O’‚i@]ÖE#í…íP·-ö~¨Ø20L¥V)­­Ýµ/q–³VEÚÞØ‰ÑKŸ»ê Ç”xÓ4÷žt´î( ø¤1–Ö»•ÕðvbË"ž˜„”Ÿ·o7øå­¦aZ&Wù_“ÝÇC+D¯õmUt½Å¾²BÎÇÓ TUE[j\‹<ÍE 0¿ŠVQ0‹×¿áL'[ÿ¤‰Áýýï•Êçó†ÈU¸ºTˆ&òÛ¶ºà)ïÚ÷=^Uaš((Ü´7øŠ¢TôB…¡ãÒÝêŽàpŠeïñóá!c)4ì4cd­ÞbûöŽŸ5§mY¢h:u]“$Ÿ0Í †øþr}ƒ£,p:Ÿ² [&_ ø”EÉêâm:%2Mîf ›ƒåà z8aEEBй.µrTä9ª¦¡õí2D±KPÀŽT|ѱÙH|«XÎÏ;Âü¦áöœ°ƒ^aUÜsrô‚åƒÊ²×™Ï|…<·Ñ–Çc‡õ Çt‡ŠUÀ—¶¶»½OâÜ&MQ,“^„O°`Žeêc—¿1¶–t¸z@ßv£,;uG¯ ÿøÅdŠû¡E„=αCÌ) ‰·2iòÚ»Æi„€¬†¼¿{`÷ QLi£Õº¡ìñºï1iÏóÃ0wôImè(ÊÑKZ±Â³Q†â™Ç"šÇ¯—ÍÞ_`ÿ|LWô¦AÛ¶¨ª†ðÅhgfëGqFí¹´ºªƒM“×4È\†!)ó¼Eו­òMZ»b±ú¿1ŒCµÍØuåcú«²P•ëÍ5¯¼=š®áÍ›‚½½Ó|UK]רªFž/9Z¸t^7Ê•®£íìÛ~8”Dš…Ãgߊ -KÞ—ïÙ7¥¾„aÈúí[ÔI„ò}Êøó±C|Ù »óyÈ^£ðV{ˉó¯ä¬Q;•ßþ3y– 5ÎÐaÀ ô«+ª=‡<ÏQC~¹D™Ø§Ñå=0%ë>¬û|=Ç2-ÆW–%–Qân\jCêT[rÞ¶BÑDª‚¦(£Løõͤ ßE/iÖk¼È× i[„MSq,“²®0Œé(_é2%šF4Mƒ"‚¡»á; c$IÐA\Ä^DƒÄuë+&ºO]G<gtóŽ *ŠïÓ4 M_ ‘çaxËǰ1xáJnÈôLÚZƯþbAe;Ѳ**lM¥-ŠPØ MÜÞ¥¦ÞÊ6‚ºîÈ6 à<+1¬ …®;ÅÚ×™÷g¸|þ\ã¸Mmr¹¾$4"üܧ‰:’:ÆVlò7o <îºEñt]²«¾v¥ñ^MxÖInY „ÅjUPUïÉÞÝ¢yê®ÆÐR´ÐgÝ­10) ›nH  í}wŸ¶mùü©…Ãzm`YÖh¥Îø£­6f»åJÎÎZ<¥C³§QÒ«=¹âàòpVÐáyKs‰Q¡H~eè,gÝ64ž‚‚ì*aÙmÙ¢ \[ó±A÷ªàeèãè>ešQw2&mKÑnxû¶`o_ÙeEQˆã˜|S‚:¿ØèR½$eÞq/î UiUß ¯¤lÆ}Ï¡]§qÖ,ØWöéCÙ]㑹™çD Ó’¸8 b¬ÒâCúȈx„z6 4$Vò5ª—áU}I·^aYÒGÌk\Gâ$I@ÛþŽnLFÝÞÛ3¨ðñɽµ]:Q鋽Õɲ†a>ؘÍh=P°ªj¬žBÐÓ‚¹6Çé¦hº?rB@žõèd7 ê^Úl‘䆆>ѹT BáŽò±ýº¡ ÂlÖá<´­ŽRUœ%D‘ ŠÀ ên‰oø;¸ß0|4צ,MTUA×5Ê²Ä ¦ã3êyX†ó„ÙÛ·4®Kݸ´ù Ý4¹×È{ÇÊ;ì?”ÜfU¥£(7,§u°ö¥ }[¼ÅÈtÂp¦©ÐŒŠ"-蜽ÓX:KìÆF×|,GÆpïY¼~pphÊnŽ}S÷(Š jŠG[ùä/Mct4õ†WªEùĦ:·K„k²hLŒ®£µ[”FA.aÃ䅔߶åÝê‚}û%B€îôOøA±L8zneR¸óÑžit½ô±{Z¿9 ¹Îk ݾ½¥ñ|Ìlƒ£Mè‘ü“¦‚Rñ&yþ¹6õq[òaóʲDÇ¢ßqÚ]70ïMÚv‰0MîÕ{ôâM¯¸ú¾/õ?pZB- £AÕ¢->wk6Þ£–~XÓªª'_Üa¸>]Õ!.Ï1÷iÛ]T,—eFeY¨ª‹ž*TaBß+8ŽC]×tIBéT† Mß`‰ÉB@cÕ4¢Ax?'Ïéy4âZ¼ÛܱoC×uÚV#ûøcà …O˜ÆŽÛQé4-ë4Ä4KË h„‡RËX5?;“ÅFÛnñ®ôn醷ÌM›&-±uÓ*ql)ÏJ× ÐI°)7šmè´ž‡×µƒ¾ ì}cË5>¾™bs|cyzÓYÖÁer‡®ïÓ÷Ä8m·sVÓ÷f`ÒÕ‘.íád¹¤"Ú®•ÜÙ¢A86MÝçî¡BÝHÜU™j+ײS¯ÑJ]7yý:åôÔçÝÛ%''á“8 |?å!®±l‰ƒŸÆP˜›NUPÞ$¦k¬Sêú5“‘7}\ßëkȃ{”}ª½»)‰³S3ñæsVB`ÛÙø¦×éï˜äW3Ú®!QT<Ã:¨,P—À4)[¹õ-‘æöxïèT(ò|Cæm˜ÖëC>ϦS»»Üӵ‚¬/pL‡{ÓÂm[4mC×É}lßâbšeßœ¶9Ú€¤ö0”èÑ6öÕ5Ù¬coÏFÜÜȘª(p»# wè^8`´—-J0`ou8³2îY䪊çkL&Ìý9NbW ÕY…iôG¢h®‰¹'ý^˜ÚN¡l2T]G÷J´ZÊAgX–>ð my”â4Y–‘ïåÌ>´ìpص(ù!†) 1Š¢àÖ¼Å뤟ó"…õú#‰ÚjûÔ—¨QHš®ÀŠ¿… ó; Trc®êôqƺ(0 ¨ -Ž:$ôÜÚ œÒ¡/5îô;ê¹™Ìaè®65 òý½Ñ¥?©í™ÑfC3t?jÊ’g‹åÄfR"²%4èTÒ+ø¦?gÛXV…5Äu¶-cè…Ùa?&b ò ²P$¹K0]“nЋ’ÅÂÁ±fhþÁ¯Óécˆ¡@A×gt+1úà«qe>78v žð]Ã×']Ǫ¨iÛš}]çÚß ¥Òæ}Hß³gM <Ÿ¶®G]|ÿð†©5å¬=#R"^o6š–%Ð4 DG®ªè]·Ã©Ø“ˆ4ùÀtPÕÛùèíšN1àæ‚€;×Å) >|(˜îéD4Ã>%±O{÷޽éÕ*øœÞuêPþîjEm[£{uM¥jèz‹hšƒ¢v,G‘IÕUO8QW ú´MCr~Žb>ÁQð¬è{ù†Ã00u ­³ñ6ò)A XÅ+ÂС[hºJ]›¨MC›¶LŽ÷¨Ë’¶1°m\ÓOí'|ÃÄ;:dâë之¦Õ¤—ª«aÖ¸wSsÊeqI c·9moŸOý'&LÆ7a ê+ª¢B×u®ók,+ecXœîíSݶSÞ¬hF&B‘ß«VÇúd-ß^†àξ#ø’·o ' ½Âû4MÃùtVFWJ”MVô®ë²K#ÏRv8 ¡€5ŸÓ8Îè·6õ†:©1Ý!^4ÍyM¤··ˆ{cßDt=( ›n-¹ >?Ç:ó#ÁrÅj>'>ý‘‰2Ÿ·ÌÂÐdÑ÷œLzŠz«Çõ]Vó†aמŒ%8óŠ~à‡ê:`ªÎil‡ü÷ß)íàÔ¡mzµçü<% M’Ôá™ë£·’;oÓ5½®2¯*ôbŠ€3ÄmÛR^•´–Ïízo˜Øä Ú®e拉îL]‹·71}1#^²^›´Ó£·Áí) ɇ®Ë‚¾ï@ò¦Á¹º"VLSÊVúþ¹Þ⛾ï£Ûiª`šò\äX½!pÚv'>xÄkI"°ê’¸JöC*¯‚›8½+¯Í..ÐÈ÷ïöŸÙˆ$ ÕK©~€7›Q»mU¡¨*–½=ww=qBµG؆w@–d¨¦ä÷ö‚òásq¦—øúœ® ð}PT…“ðˆ²”sÊÞ¼á.?æàr±@0躴ñUe‡.¯Jô@gýù3Æ$¢mÞÜæîÛrÿ Óè^¿Ny9Þs¥çª¹"Pªü]—óQ<… ‰{д–‹‹gy…M¸è<F[2U56›{ž?ñϦZ`çËñÙ¦IŸåt¸Q‚ eåÓ¶%SÃÀ°u–WK‚dAøèºA?`å²t°Âž®îvøÒG߆!eU‚·ocœ'×@òú5j4AQŸÆ‰ ›&ÝÐd ½~@›„øªJÕ þ=þwŽ­cüÕšÅý+’6yÏÖvðìc¦iº®ãZŠ|ÓSa y@]×4 Õ×Ôźç¡G¦­c×6öÔ¦*«'gM‚û{ Ð8´,ɶmc— p¼)M}K]ë´V‹ÖilÂ+&Ûó(šf¼ßÔ¶vÆ<&’?òɶ@$IŠ*™}Ù…/Šôΰ‰·ÓU0Š46€Æj„€›ëzØ{†õѹÊržý0AËÛ!§HPÝm6Ã>­×LMe2A¡`Ä6fϼmñuyÀo•Öø 7l›»õšç¡¬×;Õq¶å(Á˜º‡!GÉ’R—ɪj!è±ö÷™ªS:Ó¤ÜlhšAÎu3õ]Ô}•ýfŸª®ãF§vd²Hc±Ï)q¬¡i5 ÇæˆŽ‹û8æÅéqŒk˜c©Îz±&8Šhš[TUV|ŠCBKú!%µ]×@GqqÁÁ«}”ÇN(>¨FQ|NÐ Õ¦¬K’$Á´äú;Ñ’Ùo—ØÓýÁÜo…jJ"·¨ém›M¡fº®s~^±XtL÷drý6ýëÞq0ëG×)ªŠÎ¶±4“¹¢àSû¥hCÒ¡Dïs­Üqh¿;Æíí=†Mƒ%êÐÝ౺=‚Ï]Ç~³F7| !éCŠq(vüÚ§3;ܺFYGüðãämIz—`ù‡…ϵºÆ7 LúÓ\³¿ïcÛ%¶Qs܇ …uO­[F ˜úže0½7蜆‰>¡ôÄ4[\·'Oz®»Ž= ø¹zÓ%7’%Kó³ÍÍw É̼y³nuõt‹ôßy‚ù=ó"ýý~ÓÒ5Õu+w’A2+ØðÝm~˜"x)B‘É îf¦¦zôœ£è8Æ &÷H‘gXmbÅþð—}‡hŒ ¨£Õ)†¯g–‡¦ã/&'¶í:t­ý6^16Ä9›MÄ×{vvJ6gG†n Ëα¥ï=yt»Ý2ÏglÊ’4ŠQª¦ïGÆÇGt^ ã©7¸ÁͳzF_}ÁÚ·p8€Ò\]5üø£áöpÀ²FÊÆçžÈÖ”ìéäZFà†ž`O$­53íUš³|FÝT´¢¥ªãÀÝ!M|1¥ßžÓnB­`)ˆ÷÷´q‚Jv´$õ€•):R¨Z’è„vð•øØŽ'7$)®q.§þTþÒ=‰La„&ö£Û¶g1vÙ1.z;P׊Àô§˜ö¼óGç°*xI¢§}ÐÚŽxˆO H×zËýç³ÞW9aØÒ A=9b$YÎúéCˆ\3¾¹àéÞñÏg?1¸,ó6Ô³¹Ñi!Of|Á‘9GÕ¨©Ñ?©'MEÜÏ{ëTp‘gT›#²êiÓÉUµ9#ëš ˆÆˆg!Ø T¥ˆM„ê4]ײÛíˆâ«-³7Oñµ¿AÇÝ4ž­ü¥*p™Aâ˜Ã0àY,a°$GG¢ÆH–ã’aïX=<‚„®ìçÕ0õ±f»3TC‰‘þYÓ´!`N[>¡uÄøôÄvh ´pª/_°s¯ˆ·úljfÃÐO1ÕÕÌf{Öë’(Êxü·%Ñe„xt¦"}3¶µsœgôC õ0“ŠÇ¶'Q£zOœ93X©Å@þôÄVJ®•"Lðâ4¥óü$$pÎ!£‘80¤ñ»jƒ1 ý2å®®‰ KžÉ©AéÈŽ{Y¡^©DìÞ²¬—Âß7ï`Ú;‹lF×zb¥q†HF>iŽ,Ûè Û…“ÊE3–°vÁ}YEiÜÑO ŽcÆ®c»ýŒ]ä(µåð0Ò%ÁÐcƒ pÐ47@t"µÅtq|Ê+ÒUJ/;F`GK8ŸQžY’¾ã$„wÐ:çï„g"ÉôÖZöû¹®øSíY(_|<¦ˆ_ï'gG2&´¢Å;ƒ¾zD™·(åIÀ7»-i а‰èºœÓ‰é&e\âêuÃÔô¿CX×ÔAǶe®$Z[œ{Â>^é"§Ù_s~>å¢Ë%.Žyέ»')nºüÛUËoÔ]GõDÑ@×½8m~QÌ͂غa IÌ)gøóx`n41Ê£wVÆ‘$frQgä[ IDAT‰‰´ãæ«$MGŠã‘2úгo”qÛ3ôÌ&‚úºÈ±uÍA)WÓt ›Ã‘p"I)Ù 5³ËKb­i§}øuÉžøa@˜'V}ÇetÉú뇮% }·C K±.¨Ãš8n|³Ûúû8êºSœ·6@W6y±‘ßm?cmÁÇýG3R¥‹ëMÕœr{€¶ó@ÚÓÓ;.v–6>NN'Ro))1îE]]Ô)Æêj®ç CCªSÜkY¸ƒº^SÖ5YlñOîû—½ß› tªmXî;â@r~p7Žœ…ƒ¡ŸƒII;´Tȯ]ò^}ñèÿ{zÛ“jŸÛ=;†*ud JI_zªÿöW¢¶el±ƒ7òuØðã<ÃÕŽ"™œ¼Ã÷^iô=½¹‘â¦C¬ö ƒ;hUKºˆÀâ\‡Š-Çë#c²"’s6Í×9öû¯¼/{t3`ŒQ<+¬#ãø!f§\KjÍòðù‰|õ¾Î’9RøÆl`OOOš†ÈZö»=J*ÔbÁá—_çg´g1ÅÁ¡ O^¬&†ãÑNÜ¡µW¡iÁjý„ í`èc‡^„AUÔ§çüÛý=ÿí§*Šéšš0ì)·K¬MPA@ô5BÌ+âH2wXÛðçሩj‚À™˜$)OŠþFJöë'Âó³8#ËuS‘KŸç«µÂê$€ ¬'˜9÷ˆ1v´¸jÄ)Ä&$4ÎßkÁÙ9 Šáä,{÷°Á)AÐëž*¨™©ˆ(JiÛ†õºà]Ѹ†›C’x +Ü táFýð€N>V…R˜  ýÐ ç ¥nÇ•ýî;Õj–ÃÇ+Z¥1Ế&S/$x‘ù¬Ì‰irìJRGÍ´_rÀ(ˆiã˜ýþ3iºàøþÁYÌ0Jå=î8`Ó„:´¨¾Ck¶–qæV»O]‚1ç§Xq}8’?˜aØ"UŒ¸Y#“„íï[¾ûÏ ‚ˆr¹&°ÁD”sh2F>? ‚#BD¬Ü‰_[áNúù.ïMÀ§Ís[Ðu!*y×FT]‡0š[gH’ˆnÜ"°tU@­\=•œÇ–Ù\3Žžè’˜(jhƒŽ¹˜Óu5r˜ò€Åˆ|Έ€¶o©ª#MŸàg3ú¾ã³„õµ8g×4§Q8ûë=‡, Ušýõ¸qªrB¾²_ÂåÄ[b¶žQ…5D=®q,f¡<”8¥'—Oyj⾸MÛœrˆ°Iè¾´ÈN2žK\7Ð4’vßs³>cÑIôÌ×xV[êÇûÏwi€4JÔ$]B`-T¨piÊÃgC’ö(ÝÒµ1ßE#qy1ôùžqïÝtú¡ç7»ám|I_vˆ|A¬ ôd<ÁD:äÄÎz¾v鎨P…ÄiÍ—æ3‹0@ö1ž !÷,þzÎðÇä—¾¶otƒ¡ð}v8Dæó•a€&IÐ}ÏѸŒÆéK»®?åa¨1z=?ç}}`”‡˜]ÿè‰p@s_£S}ÊClpOüP½‹ ‡„ u³UŒÖ/îæfC˜Ú©¦ö{ªØÜÈ=‰©ˆòˆÄhn;b¥QÎÑvûwqÓж-í¡EKCž+–+LàIÍ}*YÆK†§ ²L ¾(Æ||E$Ø-;”Zql"ЊPIºqä}YòW;gv)O΂UµE©XvŸ²sKï9€#ó (½"ߢµæ¸?ò é4È×õ†È)Â.<9䙽a×eœ'›±+þíØ±Ðš°±ÞUÒÌØý¼Ãž|üxà;£é dYFÓ4¬Ë’Åù9Ç_tùÛ‹“°MiØh…}XbgÒr§ýåI¿#DNÜDìº_Æ‘\àI‡[ͽ ùažzìm:j›¸¡¶3‚É¥PÏô«Jݧ¢\#NãiqðÐEŒUM ls~~ÎûòÀ¢Ñz‹1=b÷••mI]ÊlÂQÓ»~Â|Ö ƒ%ŠÁè5ý`‘lÉ‹üT'—åŠÄOtúqÉàúWÁÅš2 1m÷M£ÏÇ”ñEPÛŠÆâËA›c´µÔåšypŽÃqøí7¾ûëÅí¡µãXq°K.vßËí8ÒC4 œ©3{î·O$ABµÕıF>¶­¥ë¾"eF{Å}pg铞u’ð—Â×®»Ýˆ©­¥$Ë64MÈ]½æÝ,¤©}&8ô=Z;Œ6Þéþù“8@·EO×ÈÃ’nªïš »0+C^Dl· kGÆ1÷MΩþRað*ïœþ+Әк>&jÛÓÎ8‡cCßßàŠï}Ãÿ,gÛm0N3â4F0Ó †¡Avš«aÀÜ?ñ`$©Rh¥Gˆ†þe/ë’Ù›·ô·=a!øƒ´ø‘±_s<žÑª%•M =òy¿' |neROLÙok΋ M›à\Rû›v6£¼]aÿrIßObiÀZÅ}UXK»?à‡°†ý‡=.òÏ,싘.Î}Fë@îÎŽÈɦb¹×µŒsTÓP9>߸Ú÷|—ÇÔuC´Á9_†ªø† Û6÷ˆÞ"[w¨;Øú½/tщuy‰ž„³Å~ÏÝû#áyHºN ǵYs¤c~ °Ó¸ë´¯h„ÄÚ¾ë1aPZ™ Ó=ppnr‹yɽžwGÓ´Œã5FÎÑæˆcºÝò‰èW ƒANn©Îáû%ÎqX­0“vßtì÷&&v»HQ¿¯ùô½Q£o`kÓr, ‚ÆãË¿oþ7ö‚‡!åÙKèâ<`èLy)¼ÛáÏ› ç6 m-ZLtR7 õÁ²ð.¹d¼Þñ”§<Õ5ïê‚ûóôñ‚[­I‡á§Êâ†ÅGËÓ0©ŒC4g&¿2 )BÎYE’p¸¯˜‰ç_3›¡Âˆ³lKÓú;Aˆˆ?w¯3\ M–2ï^ˆž1l?/ SO«ª{”J0­æ¾A7 =ã–ØÆh­ˆmÄÕxÅ÷}êMtÊþîŽ M±¥¥7=ù×O.rëI‡€ÎÔåšÈ G«5ÇãŠuN2¶D3KWW ‘Çô¤P4®ö/(ò‰DweO–øÛõëáŠ`’[K.ýwµÍHÛ¶4ÿ³!¼ }/©ð?_„÷wK¬bÓèh,º#a¡=§ÑZÃönK3WŽï&aíCbþ¿ ?B*Rêú#J½E)O©«ÉeñѰÈÔƒw/ÝïâlúýUžatÖñ)§—rÍè¼(9ì-¢—ˆ ÀZK´ Y÷$:÷÷æôg>Î野Ñ6’Y#¦I8;{íLï×Óv!פz2a0Þ¤¤² z0g—þý™†.˜~§ Ë݈ÚíØÊGî®›B²GN²èÞ° ¢¾ç1°DmGøõI]ŠV1MôD(Ïâ CÎà<989TlLKj5ã(¹QЍ OØÆ‹›™ ‚06\µ-ýýž0ó$’qr"ï¤Dˆ%;5pφËváIÏáqÈ‚€®mØmvXk9~8rñÖ! é bÎŒáú·ŠüLÓ÷_ؾ")Ò¶³ï:… A2¿D‹'ê&ÄMŠQ>ÊeÉ!!1K"=£²o’Rû붬Øtþö/ 6?`Õk~XüÀ8j¢Èc‹G-ùÔ~F”[¬-h'ï)»R#coˆã#Mß°º2ãüüwU0¤Ÿ¥$ëz‚Âçè××yæ×íÙý§i–Avê§TòH úa8i¥2N½¿ãLlh›†kyÍLø½w»ß3ÖÖ¾!‚Sî ¦izÙtïžl·Û —]òÏïþêºæs;’ýøO›5ï‚ nV†.쉀a5¢#žj¾w3è«sì hšÚVÜÞ’Ú)FM.u§ž‰ƒ@frF×ùüu8(.Ïog†Aä6çzì)](‰]@Ó´h×1 ê…œ’‡¦6žjÕ]³c¨-‹(£=Iáf?'IzºîYõ­ A44}ƒ1HîFˆŸEÑ®'Orf?¶Ü>6DQ£C*y´ƒÜßõÞ\( ‰Btžóv醎8–¬Ã[ U0†Éɰƒ®nÑÆßÓq䨥)¦©Ã~O`„¬!¯ú}~NU# ȆˆZtä±ÁI‡µ?ÃŒS)I zòs?L†“àCÜwÈQ"ÁŸMÃLHÚÑLSü¾’%sB›Ñ÷5F×èF3=Úïâ&ZÉ“ˆÍHÁ˜'a-˜P­C_EQ„¾ÝpUÜPŒq Up"DÑ‘®3< IävÔ«†`ÖÒÆçŒ€nZ´Š Ž­;aU©VôuJ¡”âËjÏ?ÿô=MUãÉÉQRñŸþ’SÖ•wk,,ƒ”¨ZPW7tKÍíº!Ï Zkê¾d¬KÒ(#¾ëÊc5%š€6l96Gª§fCæ&bÌä,¹½æ¸H1S¯ëñ÷Áyp:ZO~Ú"Ó;ZFëFÄÆÎ¢§½¶XXÜ8pß“}]3¦)»,¦ê:6›ž8³ž¬Û÷² v•)m:L‘Ð4-ôÓ$;#eG×1}Âb¡È$CÚU°ÞìH)Åz½%Šjúu…ùî{¾oïiâ˜q>Gö>®Øý@Ð väæpCb2TêIZÁì¥oqqœðÒpʵ7ÿñ3ßÿ—ïøÜÕDN¢…¤¨ÞP»a8;Ũ.÷óE®ù]ï9rRçˆÚNö¤YÉèfÜn6ü퇜ۃµü¼-û¾çi³F ’8‰PÊq¼B‡Ú9úvÀ¦–ÿGά¥ÔÕwp jÞ1¶ãt7Ãn·ÄÚœãþ>!žp£äÑ.™¥9FÞ´†¥ˆh—6 có‚åŠDGXWüñ¥å‡T°Û•k˜ðØÄJW :×§çžð #§´ª‘{ƒïÍ 1 $ˆcú®›ðß‘ÕöH’F'^Ç8NŸc†A¼Âdªª¢‰4ÛAŠÖ5—ö’  Ȱ|¬K‚(äÉ.coX—IͪÞcµ¦(0R·þ™³É•Sõ-ÛÀ†æT§vŽõk·~äõzÃ|6CEmãû%R*º.Bý÷ÿç¿ÿ&lØízÑäØotƒh[ŽWWè¢ ‘Õ×5Á¬8©æG‡sÉ‹#Óä-¾qF òÀÏ¡w­Vå-‰I¸°g~6|¡§ÏHéû%JŸz·wZ°s¤ê_9_iMž´­x¹LqtJ_^â\|jBœ%1›í†"ÿ+UU!Ô5n̼2»‹i—ïÑÉìtȪ͆ð<¡ï{ìÙ °v+¤öÏ=3Áéù…óIgz¥A6©ìª¡B ŸHŒ÷÷$ÃÀc]q9ßqß=9«íŠ›kÁl¦^)pþÙò6é©õKq\%ñSÅ0=o¨èû)k>5·¼m$2 •`¿Œ¿tšhbê6 ãÕ 5+Pª¥LòCEÓfiÊØ÷ÞÆÁnS–;ÄÃgÎ~ú‰®øy¿Ãm$q,éö{öë5ÙsÂöeýtîG»9qÑn[Ú‰h”ƒ˜å¸cÇÇýGÞdoN̓®¹ße…'ƒ¬†Œhbð>°ÑzBDP7hãõÑ@|aOhá‹[#Ä]‡Ä¿Ãf½&”–N8‚ÀòðÑ1+APã„C®VÜ[I2)fgzæÇÚNÏÕ4žüh_±Á_œÜ&EÙÃW\p¼Óti‰v›XL4RîBx^ kùßí’ô™Xi%Bš¨!–/ï×OŽŸþö=¿üï'Ò<¤iZ„è⎧ñ€t¡Š±ËˆÖ6ÄÛŽ6ñj‹ÓYtÂ+k>3!ÈÊ„±Ðàïß×ÌŸÙßÏŽq.¢© íîèsìíž°±ˆL=³WÊýÍ6bJ´VߨÞv[‰ãøk]Ó6Ä2Æþ}®¿&:÷Äbk-}×#MU;òlÎ/_Z‹€¡m©-Ì·n´Ñ†B|O';œÖlË=é_jvzÎÑ«La'ÿJã“cZ½ZñŠíºªOÀz` ÖªO "…ª®N£HÜDN&ÒáMCûiÃ1x ÐÄŽ&qÃËé”óð¼OÚÁ3ýpèÛ¯´ñ9ƒ®‰ô[Ö›è|j²M¼ Ã§_ѹ·[Ÿ?Ôôsé?o-ØÖ Ö6§bûss$—úä–ñ­CæÔ€v/qZkó dw„a{Ú{ÍôÜMíQžÿýC°º)¹È-¢€ZÕ¬›[±%&¢þø‘qQ"Ç籕þó‚§”è­cÜU§8×1£y|¬_9É:š´BÈKÊÍ{ÞÎl.7DUäw©©ï?£b¯À/&w˜H;~YV¼£¦›H—ûeKIÎîv„yD98”zy'A1èáô>BçhjÇ¥5ÞEv'ѱ:`ËjI¤"Ú6ä÷êß™;¿wåã†1òJîgU³)÷”W~Š6Xà&§‘>©°\‚KO ¨®® LÌзìÞ!˜ç<>:OŒöï0ŒèÎPýþÉ÷ßùýôñÔbáGª”ެV=a(˜þ̶Ëjç9εŸûý†8yí¦7ÈÀ;¦S“ê—Ê‘t«ƒÈX2¶#f¼b×9Ú0¡\þDå˜Ñ;I*¡X„!ݫ؜ó²Ÿqô}E.ôDà°V åŒLe n kò<™,ìýy©ÃšOûŽ™U/…•1ô·=×ëU$Õ‚÷‡³éûš:€}‰Nºí÷è±ô€^]óûþ–¹I¾½O¦}øÙ} Éí‹zÚz¢l¹)Éw{úØïÓ>èØ><LMŠ®ë¾yï¯RJ…<Èr•ŸrÃ矻 ïHû„°&§XGȘ¶W¤¤ßíOy©ßÜ…8LJ%ž$ôüÿæ³-ÿë¶æŸ”„I‰=Žš8ŠhÛâžš†Zlÿ’[ÌôKM`CßôHùâä¬ã¸˜Ê`Œezú¨Gwqàsa-å—5&÷nJ6µÔÁ,˜Qo?¦ghpf-Æ$Œ77¤okš&z¥€œ4Ï5MDÔOk‚çý|¼ª0³ 嬡w=Áàð«ß½–× qá £æüŒ,ÏNöüY–QOy½ø´E½K=épZ«¶k™ŸÍi›eZŠ(œ\\&5â`ë†Ë)çëkŸë !â-RúÂ÷É}Á˜Ø;ÚÚ±¼ÃÌg̤œ'Bjg¨n+®‡‘…TUChíD^3 ãHöLž(KžÜX{αi0Z± ·Ì hó’‡8ù²ÿ®«‰R§ØõLtÛþò ÁÙÖz÷óÚÕ¤@ã}ïNÏǵ›jÄt¤è½Âº åú‘Z_Ȇ!ŽÙ}ýÊå+GM9ówâèÒoÔ›ñs:Ý)¦(¼+–sd*›Æp h-P]Ä›8fè{ÕÐDõ«³'^)Ÿ]¯r†aDãè¿¿ª.Hfã8P}ú„I}|úÉ¡P)¬L^j±gÇ)¦: @ Ôä\øýb~lf‘(Þ÷„ÈSýÎ÷½f¸Ðo""“1Üéoš¦Ð׳ GmCˆ*’8¡rŽ4ÏéÚqØQù‚½ñ¤ðí9T|?Ï¿Qõ¶qBýå Õ¹@–B)–Õ#±zžáŸK‡Ú«:l×­Q··Ü”3’d8Å;±ë‰"{rÜÝܤ)A*žk‘ÁˆÖ„#í:6ôxȶ© ´:í‹¢©©´â=dÖRwJkÚÖçaû«=¦0ÿàZÀ7î¼›rÑá Ç!;Ð4,暙ȸkn‰tD½é ””ÆH*S¡ÍÓ/[³u¶w}u—ªœÝvK`_š-g¦áv¯.óxîô3Rš&C&K\g°MCSµœ-æô}ÏípË»üí46Ôÿ›"Š©Úö¤_LqIëP…<|hˆg’ÙÛ¬×ôZóß2›Ï¨í‹KíÇ%¹¬pÙ‹JÛ¦–`tô¯Ü¨ÿxhy3cª™ ®X‹ÓaˆÛæT³´ó LUQ×Až0:ç jcŒipN0fÃ7Î"­”<†wdjNßOÎu‡ Rùv=_îY6ÅÜ$qì·{fï¢É¥T¡§:ëi½&´­h­)KEœHÒWç®þ\3›ÇÞm|Ê)¥”Œv$ ;ïþg¾ð›kù‹{¢ïR‡=A`élÉKâ°$ËRZ¿ýV’e~2Ç,ž±ßíhlCrùâ¤ÒL¶÷ÏÑêç zçk‚øP²ªkôxe úž«OEÁiJËÃ"ŽG\î0fƒ åýÇ{ò|rôÍO’hnIe ù‚²ŒQªšÎ…&1ÝSâå=±h¯®H߆!GlJâí†Ê¬ç[â&a{ó›e$Ã_è¤ÿ¬æ?¸ý§’dH §3ˆsØé >¯Ý¯¿nISîU÷†al|=.«ÍG"[œî¿¶½#09a_Ó"Ô0íACÛF¼¨™ÅŠ.íÍäþõt×_!™³\JÌpƒ²–ëîšTxSfŒAûJúL`öÍ1“†›9\ R9‚À uA?ëÙý¿¿¢ŠÁèßsõÇ{ô|ÎvØ3o¡•ÿ¼"ýËÒ©–Ë%.оuYîièTzA“˜ÑÖZk¬­¹-o¹Tÿñó†Åéùø¯-–íÏ?cæsèVqBÿᆲO…ùFdyü=º»c#2få’Ö†XkÙ²%ÒS^Ý<-Iòm ïœà}ýž™òñlœ\xœƒ ª 2… ²iXÆK‚*;åðE h;_ûµ­@ª‘BÌ Ãîþ eíTøg úà‡•ä´mÇÃø@­j æäÀ¹ÿøâ+ÿÁýÉ9pçž13_ãõ½Çžä„åyvr^w6›k{¢tKÛXLôrŸ¬onÈo¦zÜç'Õ›ÓK´îØnwè2€æ3I¿©NwÃ0 \~Ã]M’¨—|Q8LîF_î6üílæÅDU…~Z“½5ÜÿÇGlQ LO:ŽŒcƒ=?ÇöG2¥hLƒ­=nŸÃ7î0óY€:† F’æ½Þ Á;ƒ½ì©V5a¨X_åßÔ¥ <9ø¥¬gÌ©ÇÚ¨¦~ ‡ìt¤§uöýªçâY‰=c'NŸ­„¢nÕ¼ÇÔ‚ýQ‘Þ(ÀØ{”õ.Î?×?³xÆ~¾;C·>_ØýþÀq”„áËÄyÈ6föà]ߣVOŒ‘ÜÅIH³é±Ü¯î±é9M%<>àâ˜TÏP‰Ä95Õ)Ñ4m‹ø›@ÔŸ€Ù‰ëZ×z·…(Â"¸ßn‰‚`Â…ƒ¿y¯ÛtMn ‚É]¾i qâI3Ù8pL%çÚ»Šÿy¸ç,ðfÇ‘õÕ¥Ûh…FÓ÷–¶=¦Ý7çþØ¯ÖØ‰GPÙŠî¦ IÆÄdÙŒ¦®Nq!ÏJêÚcFýßÿΟꞳàœÍ¦Ç^j†«[\|qzßñOŽjÑ©ŠÇý5Ñr YÁx?BÌ?ÜóþNÚÛq•ƒ=?÷ñLav2W™zéyžó›—QîϹs”㈙z¶]Ûñ¬V§ïyž´ùü ›û~Yz(iŒA"(mOäÂ)t ’Ö ðN=K;zò¹st¯_ª÷%á,E…)BÓ³ùýêÜÇþ»=6•“¹HAÓÔÞ`eŠEIx2¬s$qâ'„í¶tRò~ÿžY0;¾| ȹ|/|^IÛ<äøíL¢ÅÈþ©# ýó<=Ä©Dk§ zrPÛŒ—d‘ÏÇ›¯ØŸÎ¦Û@õá–¹'™œàe’ð¸yœ&RÀj\1ïftNði½&–#Rj@Œ!æÌO2Ø¿oÈÏ ×î?Ô–¯ Õ›‹S{öwmÀçê¹™Üÿ¥¿ã´,+Ôs8lùxÕqþƒï㨠òŽ¢&¬ó·ͬȮ£½.‘Y@ùñwôwsêªâL*Fõí•?ö;âþ޼hh[¿)¼€1ºôcœç:ðý/£iQRroiÎý9[qE^'l]JÁ™ÉØÿú+O³9^?±Hßж>¯N­ÇÎãû‚}ßÓµ)’¸Eê5á¯iÒ|ü‚)ò¹ølêSêç^yæÕ¡B1‘*ƒù$Ñ‹ MÓ «±^Á°\"¢c ÷û†$P˜I íœcÇŽÀy¢Q  ˆ8&ŒFoªTUÌÌŠ§§‚p槯Î A5 ÃÀ­º&œcŽéºÞs~^ ŽÇ£ý÷ ƒdµj £ó~ÖÓÉ!>³ÙÜ Ê»3f3ß ÑÀHÇõÏŠs¿O—qÉ—_;³àUÎà&,׋¼ÌÔÓ¼®wDé|žã\ÍñÏ?ÑóÉô-Xc¿‰éåsfãHܱ’GÏí8ãˆRš;wG4Fü&~ãÌœî†ñãˆ~ç{ …äyÁßÿÞ³X(¾|ßú;î¡~@õž°üÜ/TJAÑþŒ&Ž[V‡{²b† 4Ñ´7†ÁŸ 7ôH‘ÑÅžÐw7¿SÞ ã~š2ãcpÐ~ÚÙvKY……¯¡Ñû”0ÿóãÚ g¥ I¼ Ì‹»£à°QÍ=}ü–¶Y£„¦¯ªišˆÏ¿Ã…£i†Ó`ãÕ~…AÖèñ)Bd3.› õt·OOÔaÈ0òÊŒÏúÖÞ"†ÅÉ »i¾äj»bGPXk^a‡Ó¤=£ ¬Ï—ʬĵÿĨ*¾tŸIÆä´_~ÿ}ƒú?ÿ¯ÿûÌæš ðŠ™Çä‘Ýþ‘tRµ¨É¾QDÛ7Gâ&&Nbú¾£ï*´ÑtÝ=Ѱ “=~)̺nÏè$徤¿»gñƒb·)œëãÛÚ±Hú¡çóÇ$óAöÃnÇOú’ëê:Qš~èÑz85•*©ë„²Ü3Ž#ŸªŠ\©«TÊš_ï9Î)af×ù‚¹¸`»ýŒ”1n§¥Fj«y¸Ér $ùŒÕêߙ׆ßy PEs  çŒãÉÇF–KÚó3Æ)1tøæG]7íùëæ–³îɤ·E_¶šFCô \x.*>ñ‰³Õc4…4á[›õ-UU³2+I%t]ÃcÓ/.Y. ýÓšüom+ˆ£˜N5¶åé÷’èÌ;äåÒàOl¹>ÈŒñnXÏ#ÈÜÞíHRsrw¬ë#Üò Kd%±ÃšzSa²”²¼Å˜„íý=6IPJQ­nyû¶ ï»—$äýGò³<è1›!Çœ<õV½P;øl~%¹ï¹Û8lP¡TÀ°]ƒL’HØ÷êÖiŠ>̰v$ª_¯–˘ïÿù-üq ;änÇ` Ý蘇šöF!üõÅY—ÒÚ–! ¨oï0EüÊJÝÿ¹+ïü¨)àà$QNßu “6S̹½Å%)—‡ ï<"Zö.§˜ˆÂv±£ë¶·\'×Ìäœ!0¨YH­4v;ÂýˆŠ²5l7%Âhîq¤8’ÄùQ¦Àþ/-QÑÞnX]®ÈÇœqôëuÕ¶”ù‘™.ç,#šìFÊèdŒ¹/KäÅõò3ª8GÁpÇ<=Ýp^ÖT‘O<óÌ'xÑá€{w­Æž]vÚ«+x›ášç»BL£aWˆjÄ5KlkÙU‚í8â¾>,f<<$Ä»†ÕûöÂ’$ìú”ÏŸ[°§ý³E-K¥ˆ†ôuµ9}_Ÿ@Œ§§œÜhý•®‹Yív„Öb»ŽŠÉU¯K`.د8?KÛ¶žü¿ºãz“òðÐ0o–JAH3öû=‹ô;ê®b»}$°ñi}’Ña’¶í¦1¯î´^oÞ8ôX5AïÀ¿+ ’¸Ç¹çzÎÞô<¶{Ba9ÞEȆÇ}0 †ÉÅ °Óh» ÄKßý¼C Õ‹˜ xxèˆc¯ßíB"7ɈûòžÐ„´í¿ógýȹ9Ç éfÃúá“ç$È/× iÊ}Ó(yŠU‡àˆ¸¸ n[Ìíw¤ŸÎuš¢š†´LùõaGv,0³0íËSËöF¡–ïq‰E*óÚ–'kù1_R=aßíîÿgî=›$Ir4ÍÇ8u<3’éêî™Ù½ûù+²¿awow¦«*9 êîáÄ8W½ja^™Åº«çÎER"ÒÃL  ¼€*œ££á"GÓ6ÜÜè8'*›õ¶ëp4hM¯ýRTA®mƒi³ž/ C‡ÍfÄ¡ë³}»Å>TÎ9-Öú,x’E¾ÀïFïÇöòå–ƒC··?GÜnnX—ª„¦Ò×ôeÛ<´ùøDY†cY„vHÝUT¶Þ´ÃþŽúK[ IUÞ´‹¯0=%­QHçØŽRÆš¶ËÞ³W’£×)eyÓÜê!Q´FÛZèŽm_ѵ!µ¨¡•LuŸuµæ „»Äìi¬˜Z£üxƒîÁ„ÍûÛõ. —q?‰ÎnX¯}t=ë/x4øu°-ŠÛ[ì£#•m?0û¹ö%»l›ºU¥©ÌÑ»³Ñ e'ù†OU}$)%E:Fˆ›!A%ú)yŸ|ÀOÎ=¾bX–F¸vhÃ3tȶ þlÖ_âõ)««Ï`¢éºÊt®ë˜æ-ÝÖDs5lÃ$)Sì>AÑgyØ,3\פêΫêëõ1Ž[cŽæ|Š6qî{}¤ñ¦ë!Ä­’×3gàa[³±·u‡²-ä¦Lhê[L™‘—-îT«Èà¢N˜X]èP×7,&gbLij~rCîX¸ÁÑ€‘Þl#޼c|!°íkF£)ùzåyˆÌƲul»ãmÝ ¿zExz¬|6â·U( M“tžbù6âf>dµ¹gÇqh¶[>X34jÇÆ±•þ©ÊŠ4]QºÂ>82Æ^\4>t™Á(жWàýÀ'“³©2\¯ÏÞbé*ª\‚iVäùÓtÕA¸cãOuô4e™Ä~€v¡qü­ÝGÎÇ„žM镌Æžç%Ò™ÒV‹¢ õR¼ÎE†’d•pt¬°f¿å}kóMUŒÎ/¥¤Sƒ´( Ú–B/0¤âá|<ƬÔ|î¶fEAã¸dÙ'îòŽ’e:–- k/[&LÚ>3ƒã:œw#Þ‡A_R´ ZãŽÀ;%þ”b-²líØ¼~½å»ÃsüCÑitm‡¦7躆`Û1]çð‰ WÆX¦Eš¾Â´ŽØnßâ8Ó!¨FÀL¹•3k¬Jˆzká„cšB§mox_êü_ßh˜¦ Î4ªºæÕ«Œ"L†C†ù_ÇÔ‹+œï¾£ŒsŒø9ȉ±°Ñ¦]!ÐÂ1—þ–À;¡¼¹a츪/ »rxû6b4jq‡õ:éùER£á¸fàSm+tWG4}b¡Ã½`Û¦iˆíŽ™£Qר, ÖÓþRËýøÍ»;ì¦aìºThÌuø:!´ÕaMü:Æ9°)Š+Œ·=,£tßNm)Y¨.qž³r—œÔü«O¨,›Q¨©ËÀ0â¤àðp—¥ªÈKÐ4òÑ “µWPÕwÇ”¶â;m¤!ª>}«ß—V´æœòº(8L0ÒC˜n¸ø?.‡‡Îh¤Ê½{’µãà6-úì€PŒúRá*8ëêjK*ÝÙ¼m(’Ó³ºÝÓ,† 8><áþÏ5Óéqëp£¹<6&¤zKÛÎÑûŒEô¶Ë‰eƒm•nÿýFJ¼Ñ˜¶}ix#h¡otZ>á8ÇX#u°IÛ’d¶ÕEk‚`aªÜ@z}P–Wã­bW] ¢€úÉ9NÛ¡e„F4Nþc†vâs}¥Ž$ÎtŒ¼0V˜äí¶å`äò¾Ø’Ühœh{_^'ÝMG®åÊŸš$|ì>òuð5ynó豉ßÀééš®aLi£ˆUòµ£q—N±¬lK]j(òB¨Èšêô1–(ùÊŠ¯…@†!×w í–©®.«~¯#«ÇeYpì}Tæ­lð‡8MЄÆÇ»‚ª„vH^+¬)¤dû˜U‰ô Ìùc2A»½A„რ«ž>¥KÓÔAHÓÔøA˵a ÅK¶[w«.Í´«–ãé„R³èÊ’ÓÀÒ+‚Ð#Ѓ£&F‡Ö§ÆU…­ë¼Šjìé1NÓ`/-Z¯Åû”MÇÜ—ôE²©6Œõ1ž«ðPy}MÁ-w”øÒÃ0®‰« Ð~¡·Mƒoš”EI$øºEšäØ–¦ù¼Í3ŽÚÃ0pœ† P4Èó%cq„;4vNíù$m@ˆFÔ%8šÍ40¸¹q°Ì¼Ïlº¡®¯Wø¾\.ûKàð¾{v`ŽD_‰Hô—r¦ÖL% Y šCí¾,žôhhÿÈ‘C8Ÿ“Rb˜.Óª"’5–ç?`ÛÅôàå¯EƨÏúdv:^<ÈôŤÀ¸P:i—0]¢DƒdÜŽ±c›Ê©hnÌ…‰ÿØ%½¸ä«ç¥,Jt]â Ÿ2/9Ô54MÝxTaŽÝšH¾gáiù¢£X&èºÐg´…[«õ%ë2ÄõIš"¤äÿTÿΑ{D¶Ñ™žc"¤¤¬KšºÁO¨Ì’·í[fÆ|üˆõí7ê¼ÄS‰’y¢ÊŠêB§î/>,-„I.‰ur‚Û¶eƒPø>]šc®WOFL¶[œÓ1eÙÐùêBhUÎÛ5š6 XGG<{6áæ•œÐR©¿MnYfÁdÿ‚ª”\j c©‘m6˜®K–$Xý9VYú }4­d4jI’]×ñ¤ËÌžQ_šd:®&`<Î( ‹À4 À¶iðî¦ ™Và‡÷òI u:žÕ¡Ëk4bdk4ßGŸê8}%©ë¸ww´¾)MâºF¿ìðÏvUÓ…ÃïM㓞gé'ƒáæÆàäÈ%J#<f¡$oTÐé(°iëCÌ´&i6ض«ÊÆ›9Þ‘ÍtbÒ¶:wEÇñÈÄô=ÂËHHØ6¦³)ãn¬²‚Æ×8öˆÛ4ÅŠ5F³š¦2«X;Ü(T&ÛÅFçèÀ¥¶mdUÔ+4¿¯ö3¶Yå9Æé)«7ác T€…¦ï*‡Ú— ž~L™÷%áïýPÀûì=SsÊË4ÅmÛ>é“äÑÌG+u Qq`»¼Û\2±&˜#“õbƒeÙ¬9Ó$/wt›ŽZ»„4€ ¤+‡JÉ WÎ:Ùâé³Ávs—Ölqlaš4Í5ApBS7LÅ”Ûè·¿3ѲՆj©® ®? „º‡Óõûòùœ*Ѱf>ïÒwœT†ë r_J(²ײ¸Š¯È6>A ¡ùó¦aj;|ø˜ãû!|\·ã.¹Ãµ]¤¨(¢íæm:%èvÉ6WwlŽÆx¥²‘'“‰ÊTW]ð¡6kP׆:í»}¦‘Ñ"%ÛÖÁ1×Ýœçî3b¿cÒW3‘R¢éÁtЦÕ\g×Ëc¦êbg×u~K~#(e©ÖP‚Q­Ø4lÖðìP§®5„(û*"’¹æò\Jþ–¿ejÎ"*Þ¥)3k¡Oèn€§©sú¦nÚ¶¥Ý®YÚ#žW34[ÄŠœ(ÞÛˆ .–Y"9ñC¹®™L64 ‹ÃæÂÆóHo:|¯?ÜXßQ Nð© ··­ ÆA’¦ q½VAÌ·%F`ôYÀ+to:\:\,üáüWe ^Ò|\qüíñ SÍÆâN+9(«¡˜Åx+-Ô‰£Û6ú*WmkàtCЛ’²*iÚ†É6¢ BF£”ª²Ø¾û„5Ó%šiÒÕÝ.’I£qx¨ñÖq(ç-éta>Àäðqû‘‰«°Bp·¤²Â>…õ\hjØ4 `äÎvÉúܾbf#©Óoäpî×Tõ®ì¼UªDJa¸¢ª=^¿Éxz>¥nj’¶ ë%"^ê|HñPù5ËjÎÏ}´ÿþßÿûÃlš{C›sµ}ÊÙ¤Þû~sÙ2{Ò§'÷|ª"ç÷|¼xE1>üìûI"‰F»ò†šÑ!;ã³çÒ«Ṻ}=^{ÄÅïêÿÖn8«­_}.*7LÜYo¤äL-ÿWßÉn!8ûüûÒŒqÛñðÿÚO±óæ'›¿%8ýæjcU¬8ô>_«üzÅflqîæ4¶¶ÄÍôÛ»¾)xüÈãÕm¿N4ïçi`û êüäwùºÒxìÈßô¬>Ý ¶³ßôlR^sš†äGcªU¥²`>ÜMÂÌRŽÙ©áñ·òšsëó¶¯Û[›g?ÛOº¸#<9ú‡×¿ž:ØÛêïz÷í&ç›™Ï%’'JŽþÜGht©æº –fÇŸ=S|¼Ã{¾?¯± Æi¤ÜÒ·9Î÷åM}Q`?Ý¥ÚÝ\™ÌÎÛ/ŽÃ™T§Ýgß/VºsÍQø Aj…ê™*‹ãïöˆÓøTÖNžµÆ f÷è‹}ý½â¯“ï~yÿˆkêZç‘ûåõ–)ÚÓŽX ÇÝçrîn•pt8"×çøâ€Ë‹š'OÓÍ¢Ýßó­VbJ÷gûºÊלû¿k|¯’-ßvò¢iš>Êäç?å­†{&Ù\Ifç;¾œÛNéêcCw|ïý‹m½k¾¶Fm?Õ-Ïl;ŸPûÿì¾vHìˆ Tk°I>2=ÿì¹› Áø…FЗ¼i"Y“½gÂÀ ͺßÔ¯v3G>:Ýûn›¹LƒòŸ:ßÔ<ïKŽ}¦{ŠwøÞ׿»ÍrážNþî15Ý–pvNgû{¼Ì9t6hœ«úN¸úçÏþ0ú¤ë„ðà˼[ÍopNõ:4c[àw;=Ð8 Ve‘—×øîc*¯Â)œ¿k¶Ôúçúa½Ž98Øaƒ<{ƒ|û›Ûõƒ1yÿæç7vÆ©nP—û2*]^ãû'ô(ûí{{QòìÄým<]áNÎÿ.ÚÝvgÆn]Z'ĬÒ˜7â;ê+Æ×{IP2ÊÜê¾®6·83¥ W—‡OäïzÿuyÅŸÜ¿ÞÆ-¬&SOþÃ󘎶ÉþþÓ]QþÞ’:*ÿpKQRy¿‘ö·-œ™¿y¬ÑÅk&Oÿ¤0Aºå8T:÷ÁЧƒ IDAT.Ì8Jƒ}›Á©ªÏe¹¶hš¿›^?þ¸å/™þ®w®.jΟڿOOjKÒRç8J6ûívi›9˜ÁïÃÊ‹|Ή¿¯kRlBt{‚¨$Õ#gŸŸ?D’“_ÇÜo“ïùfô/j}6SÚÙv_wK¤wü‡ïa{¢SG‚×ï+þôÕŽWÊÕ÷ðìµ@‡lŸÿ_ÝÆ|wÖ—€æEOÃKèŠ/ë·æRÃzòïáld$Í?ÜÎåªäÉáþÞ]:wWû¶Ž3ʨ’à—ùayËèøì×õcg“ÊNJ~Œýås\“çWøþ9‹lÃI°o‡¾/3¾rƒ?œ7¶·9Ó³}ü³Ñ"fòóñÙÝ†ÚØ×Ý댣?íÆe-mö˲î.²8šücëhÝ,hüat˜´›¤DŸíæ—Ìo>ú}ã² VÞ1ãx‡ 6õ'?ÄŸÄW¯ŸïlÐä]ÂùÑâñ¯Ëž¥s\ÿx¨#¦ö„Ö'N¦ŒGÛ?¬½¿m¶üëlJ>Šð“ f5¢u’/÷]]1îåõ»ä_^üîþœ;‡êè·ëQ4èžõ‡Ò°»¨0ž~ó¯Ã„ƒTÉÞVZ˜Úç{+ "&Ù?¶Æ·?$œýUõã­¶ÜÍZ]ÉÌò]Šûõï÷‹hãÿºŸöÓEÉÙlÎAj_öµ-ÉÉHû >* ª_Æi«Ôå0,‰š÷L¬¯øÏú« ÝáŒ@fdZÀEòž§£¬ÿäjÅè|ç J~ø‘Ñ_ÿ‚¿†ü÷¹{¨šÇúûø8Òî˜ÈýuZÊ-/¼gdeüO§­n.íߥ~ˆ.ùëäÉïz§0¼nßníæ·§gd‹9ÁÉ)ñÇŒñóÏõøeúž'¡Zûz’aüïãÅ#î’G£Ãß=þ›UM} ó\SºØßäÓŽÿ?~F$¿Ú|zWóìë_·5ªÀ¢®MŽüUä“aWp+/8Óžîc¬¸â«±Cm˜ØÝ¾¿z]¯8°ß:¬-ƒƒ¦C»1~íï´’#ùûlû›MÅ£Ù—u„×dVðÿùZ§Í5¡õx{Å.Ñøgü“vu@ýþû«G¤å53ãœÆ’ÈxÄÊ@?Ü_›`ê“mb‹’>Jü˺1Ë8 >§ïÇä5ÏGú2V¼]p«žîÞkînñ¾šÑ&b>G?=ý‡æW)ž÷ûõr9Éq£ÏõòÍö-¦¿|F©ouÄTü§ðSÔ4š`ÜYCéä?ò³ùT1{öå=¥y²÷ÃúÍŠÜ:üÃûE|5ùí¸MFÑ&Ïñ™±Ý׿M¯[Î Mõè'~¹5ÝÙY®øâ?MvXAA“yMÃ'³äPÛ÷7do^|ûçÏm€É–Ù:wŠg9ÍËgw[‚£Ïý\¶VPKï—qcXá^ÜÌömŠfU0›†D‹žþê¼.ò„§þ羓äMÂè[•%Ùu]âèŠñßµ“…TÁ;SèÌôß¿£T' ÿ˜uÔjh P,VÜÈ ÁhÄ©ÿËw>>¤%/Âߦïj±ÅÖwk–¾Ÿ~¥äd›˜¾÷‡ÌåznðøôÁLb~~úe^xðÕãÑ?Ô¾½XRŸü6¼»Ð]Nľ¾m¯SÌÇ_Ö¯ÓøSø×/û$ÚœcÓÿ§ïýõuÌÁã1¤B}Ÿë1‰ý¹Mq—»ù»y&IÂh´£sr³bôè÷Ëì*^ãŒÞ˜ZØ[NV‡øçy¼£©ã¤TÕç4Î\— üùóÙÄŒýçuTm1³þ3?UŽ£ƒ+ÈÝ ¿ü2¶¹IéüSÆÔ)#{GÏeöã`'‹·Ó†éöñÃä·þÙN®øÝ„܈0·´'?ïÿ_NŸªµkò ÌÎFý6Lg‹ µþûî*,tɉøyœj]öûïé÷)+Û°EHÁFˆ¾T ÇŒ­-k]GˆB„”<–8B¥û.²LE¹=,qøý÷Cù³]ÚI1üž…3uC»Zpu•#¥@HÁÒ¹£(„\Õ7t†ªŸÛ[{µB ÉÑ7êµÒÉŽk•NXH>u£lûrB¨~ ƒÍF}wRš!¹I¤\–*Ób|y‰Ñÿ“·kVéŠóiÃåe‰”ËÚ†!swŽ’y7ßEªlgBJp]„à88ͨLB0ô©»Û>­¿kj¦)Øn}„ðiÛv(cuO 5>õÓqJÓ$¸O™-TT@FéÿÆÅ…Þ·­æ4/ç)Ùl&8º£ÖDHÞ½‹)./y™¾TµóšÑhÄ{ÀjµÁuݾ!ÞÙv«øa>/Bp}§TJçy¬V m»f¹LHÓ!$íÁ)$ßžT®‚WQ4¤Ní4U:ïuYReGH)HSE“RÓ:)þ}*éŸyžÇ™%pW.Ÿ¶[¤”å[LSWôè¨ÆÓ­§äyN†HÙßÝ©µ—;777) ìG¬‚c®®ŽÜ–Ë¢ UúL+äM‚‚u“QgR ŠÍf ÿd"9ÓO†ý‘¾{‡®ß±œ®C Iy4æ(„ ’›þö³‚6Òq1´qÏçFQ „`2!$æ¦Pt‚íßßäî/WeçÛ-FY{ûúºe³^3;(‘Bò§ÎÖfmY{t¿h„ïß“lŸ t›¥‡\\è4ÍãqDÛuèk&° E8Œ×÷}¶]J¼É±m›0óí7Ì»ë:•]âô k½Fl60飆·o·¬¶+„”Äñ+„XšFóhÁDŸ¨}wÇÐ×ÑÃÿ©ž’ø ?nTïx_q¡]¨½y}ÍÝí!ahr}£·g=å K¤hÚ’?¿e4*hÛfà•ÍæõЧçyu…w‘ìö­4sµ…yî²QHAѯáýóRJÜõZɆ4¥ª>’¦†öm¨²ÕŽãY¦Ëa o··T,Å0§VkY.uf³›MÀf¢iÊÓÿ)T6}Ú róʸb<3T©™0úÕ^.( {¯l³stBs¡²äI!©ªÑI$¤ÀX¼¹×B`G>/Ú5RªR3o·o …Þ–e/sd" ×!™wÌfóªüÉf3ðøe|NBìÄ~€Ïÿè A•T$EÇèEL~yIe8sËqR°ZéI¢0žFC! ¶[%;"#ÆŸ¬×ç„Tª{yô&_c“×’¥±$Ë2ê͆B\qw'Ó~ŒKE»6?(¾Lë¡ý]ôÕ'ñ !+±BHÁ‚EŸeBɤpó®~‡X­ˆã5]×јÁ ÛÎÃï[c/H)Øn—½~¿e<+™m?RåcG"IˆŠˆ,SÏ•ãQÜÛ°Qßæ‡¦`ìvýœŽm[½Ô¹Q,¼-ßîôý½nÆcÞmßq±Ý²‰Ã¶²Uº±j” ÕuýnØ»B FÁˆÐè³áÉf°Yîewá*ý]UUÏï;9–ÛÊFZ­bµ7O J) g˜ÛöêJÙþÏóø[ü·aÍÆO¾¡ëîh¯[ì…ƒG£%gå„&Ë9*¤$«Ý½ýM"¢èo4³Š»;µFu}EÇh½îz|¼Z‰¡„æ½,O_¿fÓmøî;•©÷j»¥)’ÄCÉeÁ0‡2¶‡½^[ÎMZ¯ÅmÝa¿¾Ÿp}½³-•X«õ¯JÚîך‘L²Ag§eŠÑIJIÙ¯Kòò%«Véeaýð€Wäž®B2Z«>VåjXŸQ_XHA³Ýò2ޱD@W´å†èoßÓ4Å@ßOo·Ãš¸†¡öˆýˆ®«(Š÷ÃßžÔ¼Æk%‡J½$õ}®‹ëWÖuÃWá_¸êuï÷¼GI½dé/1… s#ÁfkP¯Ke¿êwwaˆ½ÝìtÑv»‡sÝ8&™+ÜZ•u1Oçj6-ídÂ7/F*k%?íÙ±ÚSËåЮatbIÛ¶,Ke/7Í–4Uï~{öº:f‘)~zù2a3×[-cò¹M–© ãæ¹¢S^æ)y]UDó9›Íf«õ¶©’%ÊÆOÓ”››^_uëaÿ=ÔRH¤ãP|,ØêÛrDñëº;9//y<³¹½|‰çy„ÿ°ZÃsŽSRƪ GÓ({a<^+;­,©//¹ºŠ¸ò•ÍêôYZWÞŠòÓ§øSïÙ6?áŒeÏ~R6dT×\3ÃömFºÊ€y_É Ünyn{à !°Û–|<ÆÏs¸S#ûÑÐçWÁsÞ¼©X¯Û=¿\ò*Ù³ákÿ³8,xõ*Þ³q…üø£Ú [ßÇ0 ÜÕJÙ¿Ž*-T¾~M±ZE— ója²‹ ïyd/ûXÁbár.Ncô'¹™>ÛÚóûv$ww)IþcA𦖽óAyÜû/]¼ñ˜¢(ØéEÊÛíNw8LÂÇ$IBž/ÈÚŒƒo”ß³H ²ÙO;@Ž{Ûí«€ìeöª~éãyž§øÀ÷SÄX=×mÝž6JWÎçbðÞïo)$ö¬Å ž’ÈC¢ñ{µÚ×ÿBpôXñ±tw˜È+í¾xè Y$Ã=ý5åuÉÈ|ÞÇ€ïéxï¯\,bVÙŠxñ‚2)yÛó_Q\%fðöm¹çg7o”Oä¶½E‰5Sû-AùÐ΃çl6*¿"ªZ¤T>€‹ ²ÝÙ<«•ÿÀ¯'Ðc%Ëâ8&x|@EA¥~þù;%ûŸ?З½½ºÝú;ŸeåpSmüü±ûˆe˜H!1 å×ﺎªi¸Œ.šÚv@=©‡ñ¤“ žçÁ¿[èzÍ¢ÔÐu !g›–ÿ±¼êßU2¶¤d‘,öðµñ@oV½[JA×ëa!eSòêU6à«ûµÕbªº£m)„ >äx^ˆìeßý>êË€¥iÊ•”l¾ßàÏ},«èõúu9`#)$Y¡0ø=N‚ ¶8m:ØãiïËþNÃïøÙ4œüùpà×M·úxì¿Æen}ºÇ®ër̈=%{l[ýŒ?}R™Üå[[O&$É[„”ÜÖ*òéÌäúÀ÷N ’$À¶7hš6`‚ïßlÉ\—²4†s!îdBžç +{oßV!øÛvKüæ Û×[:Ù‘$Æž¯M<à÷W¯"%ӷЧ‚^/\m¯p¤ÄJæÉœ×I=ðò=?Þ—åÝùÔv²lU®øë s'}íöö3l(„$׬^ßñŸ®YA«J½ž.l¢h9`œ‹‹˜ç¡’SÇÞ³'uQ(Ûm´²¹vëÜDþÒ'M$v]Öþz°[¦uNt¦ìLå3ñ<¼Î{_«³eXE1è1?ú/Êånôs‹{}q¯ï&|Ès*·¢ª’a=ªq»·„”DQŒrÀpnïk+îî9noú2®EÃ(©9ê:‡GO-— ôe“›Å‚Î4Éómµ¢·Üu]ã¶,‹öâ‚úSMÚ¤Œ¶#Ë"ŽWy±ç‹¿Çе§ÎŠ×¥¹g'~(K–ËŒäö–‘á\ÞaZ¦âÉ¢`»Ýâűò‹¯šÝ´w®á“eö~BâiÚð¼”’Éël’ÃOÓ,ozYÕ¡Mõ^^ çıa Y WÉÕn{_ÿ0ÏÞ‡s_zYÙš ÷¾èýh‘QU“Éxo,RHd yÿ¾À²–,«3|?eµ‚4]í¿˜~žîxJJÌ®£^­h£h3ŽcàEUqÊõu<Ð`›Ü°~ñ=Ó‘ñl$¨ªk¼·‡%ïu²‚È÷œ“©¿=ô¬µ×âqŒ¹6{ä²_÷WÿaÓšKÃd&Cê»;ôFç]ùŽ Xqð¯ÿõ/Aõïæ9£Í„ÆVt[nÞ ûs½–xãë½ó¾NwvoÙûaº®ÛÛ‰?}><7îu¾yàP¯ ô³óÏËŸè±,—¼iÃYØ=íÞ§—Ø¡âMsX×g¹TØd›n{¿Öçè€'Ï#þíû÷,ºYšb.{v^UU<ówçza·å^——±:çÈ^«û$&~ˆ~@ É\Ήíd\«W\”—ýý‡Ì¬*…¹ãU¼Gç{™(¤À1Uæ´_«³c%ßãÛ§ŽÃba“ç>ñÕºçíaI¿ñû³f>¿Ü^²µŽÔ™ØFSöž¦ <úÝóGÊ®*Ô=”Áwð“3ìíVù^k¯hW×5QQîôƒ´ïßÓôgÁ÷ïGaÈr©óXo?³»Ã¢»¨ïS]溧Ï7þ_öøÔQ!_Ϫg;¹%…äãæ#ñ2~ sÕz®âRöþ’\ùy<ßCÓÖ{²!~û–K.˜ž…DÑ5w–z&^Ä\_+™™J_§YƇµÒ÷Bâtÿ‹Éd‡÷ƒ `ûئ’‹Áé²ÿ³D™JIYnöäe_ão}ªª¢m[~ü1ÂÍzÙõi'_`3ëÕ4D«É)1åÁž®Wº¸ÀËs<Ï#Š¢ wÌ7TUÈÅEÃh´ó•¥IŠ·X´o)š#Ï•}’Ý`šf?F+MSçÉ}Û÷g–÷>ÿl2Q>Î~ïîZ6„¡ºÌ/¤då®pœš»»œ¶ÁZZÓæ’K–·wÀî|÷~m¥”D…Åx\°ýþ5Ù|®*¿ AåT”ïÞQô~Ó}¡úë¯÷÷Û$zŸ¨éq×a˜û×(K¬fº··§/׬»µª^p}ÝŸÕ¨öðë3²6{ØB#º\\h{çÓŒoõ§,"Õ6ÔZMs|ªì$!Ð4u&tÁÅà ;>W¸Ô L ï 2%·xàÏ•Ôcu6á,”-,Š‚’íÀ_Žmã8ðzózo!ˆ–å>du»;4ä >Ô¢(€Œ6-Ñ]½/ ¯S½~MQdýmÒcà<¯Y,”~X»k´ÿößþ›ˆã;Æ£#¤Ežsz¨úÔ©º¹.5ÐDIʤ¿åk¯*êCø¦k?xn÷ñ}Ÿ<ÏùqûžÀ›ñÔQeîL£VP^T,Ñxú…èÛwïR¾þ:€¾¨ñ}»»ß%чL^¼ L£Ýmκ¾À¶Ÿ|öîõÖäñ´%(R/CC•F8ÒÈ]Øu-†ñ“({ ·‚³g»›ÂR‚ö“Ë Ú¼@žzT×Îc‡ÖŒ?yϼŸŒ½§aða½æO“ ‹[›“³z˜[×%´­Ã§Xðí±‡&Á1¶Í'<ýT•ÎK¬ÑîîUYòØuI–6iñØó˜·9§÷·È%”q‰;v÷"¡ÆSl»¢®áÉÇ”ÑóŸÞ ïg"!ú>bò/ÐÔwq¼a<ž“„c)÷é¹2²ßŒÉÛ1šÖ!¥k¸tZGÓþÊë¡{‰·¼£øú-Ñ>{FK4äøËÑlÉ:aô¥¬Q?]¤/¬÷ë(Ã26¼UkÖ8©ŠJÞ%Œ¾É?øÏ|ÆaHœ¤\T%Oû0MÓbYÙ ?“A›kè‡:Ùñcú# ÿ¢ÒœF!éTE¦¬„ ¨kÆËŠñÓÉÞ>n·¼˜N|'Ñú5ÛÍïþ[‰¼„è `Ú—Z¼ÆìLZ£åí¼æ_žÁrù‘ñXEÝM ë›0Fùq™ò—ãð‹ôk‹v(9ð%Ë~§ªŸN%©õD–¥ø~ˆ¦Á¼(å1¾ŸRä×øþ#$q1zú=އuº6MÂõŒÇßrÙ^òÄ|‚i6´­Eý¦ÆþvÑ–5 ¾e¡É Ó´û’êÿ…SPÍ'L¦5ëòŠC÷œ÷EÁ¿uäiˆ¸èÇ_Ž$hº Ë0Ðè¸n‚ž’»HÈËâ’G³?¡—ÅÚÜ÷¾£Ødñ¿?nx1y1ì­¾I×22¿œ!¤,¯pï³EI†ý:=âTE¥é¼øãñk½¦>8Ø[§ªºÅqÎveI´¡ŠbÃV†<ò­áïEQà=ˆ’H2? Ì÷#@_¿Š8:ž0›I¢w1þSŸ,ʘþ4zl CŸJ~û–Ét—I-©*F¶CXøÜéŸp]%?ûÄQ´y‚釀†kš”m_Ög½E¸ߟ ]Åo"&ߪôÅi¡q¸âËÑVó(ât2!×uà Öªt ,.ð¼§¿,¤€RðTJtÝÀò<šâóñÞ%wŽŽ>ã3+ki•>ý2ºåyú„î¼£q\ìò‘DˆÏs¨ªŽë뎎G}¨²ï4ž‡UܼJyô]8HçVPi´:Ì&wΑ!¨6ÎÏDUß— Õ4¸ºj8?7wD<¯¡(”"Ž&û<¹"ŠP'4B²;´/ð‚$m;Â= /ÉÛ[|ó7¦É£¶ý"EŽƒ±ºfrþ5]ï ù)׬M“ƒ¶Eˆ”4UŽÝÏ2¼­±¿ÙÉ?+µhBe—N„[©5°¬†¦±†¡Üû"¤T}FoÞ1ùÓ癩=/&/ÆLÓ Qa¸.]Yp{Qsöô×£™Çã¸Ï(%dý!æC{6³,ì÷OHI‰ã¶=ÁuÍ*‹UÅÉ} óô·²œ:~²;÷ŸÚÓ݆gÆ ËʰjŸ¼çﱌˆµÉor/l_myü/ÉÛ/giµ‹¸}‹ç=ûÌŽ_¼Ž8þ“êgdD¤Ýx_n~ÙyFš^†OyÇ|7V£¾}‡ýè+Þ¾mù拪ÊqŸ,ÛâSÜõšêàq!0F951Œ+ºn—9#×4œ¢ÀpÝ}êýŒ,ÿ)E ͤ“;†9iêÏi®‹,K¶›-“Ùôg¤¨zÖMÊQÈbQsrâ-_39þÓgÏJ4Ò?Øß¡?ÚñÒ§(&<9aVVäù-ÁPÎD2²Ç´Æ'ŠböE?Ñe]óä'8Bׯâ1¶}ÃÅfÌi|ÆY?弊ñý}¿{ÅÝ#›“Ù_hÿã–é·ÊNž'5§#{hÇ^W¤çN¡JzyÎv»`2=éËÌJêZû²6’P55³)ä¹Å¶L ã4—ìý§†Ñ¢55á$ÉŽWòŠsí«ªh‡®ë0Œ]U¿ñÉ­œ¦Ë™M Mý_ƒ(\¾yòb<<wváúŠÿªÎ %WB=äÇO%Ož´Üê)gâç³7•ë÷@ù댵IwÐÑusòÄg4í­”XÖèÇ_Δ’â­<²ø’óÿúç^Ÿy­?]Iž=¨ä0ñ&DEôEäe1'<{걉¶_Üî!Ôû<ç_ûCƒÏý)ÉËóßðšæ³†ï¯ £(è¼Ï3ʱ©.˜ g­Òq|Ãx¬œŸîhÅ»ü„ÇÝç¶ùv»`:9Ajûû¤®klÛæCñbÃN?'¢ôN'.. Cuæ1m§,FÙÍ ³éçþªweÁY`–3úpÆþýû¾{PUŽã|ßi?N]WX¶óÙØžN]ˆþÜå²gÜewøá®ÔjÓ\qc=áé}“wÀƒD’·‘ÎÙX Á¨ó©Ÿmh’ŸÏøEc2ùWŠñX]ÎY/ÑŽ{n kÝÞØCoB’Gè–‰lÛŸm÷oÑüëä¯_Ü$_⿟ãÉ«(ã|⓬£C£÷'gøŸé÷ŸoI´9ºéqÁ%Oùyÿ›¸è§úOݵŠNõ{&öW_ìÍY/¨NÎKrüÑ>Ö|™eÿ–hÛ‚"òÐ'ù®cÝ~Ææ&kÀ›béÙþ9OÙaxÆO¦¼3à;½Ãy]sœÏȦÙg((Ë2ÉGÄ὿ýszÈF¢YÚo¢qô>bòÕ„xñŽñÉת'oE¼÷dש3ªäâ’ìôŒ3{‡“/¢ˆ§“1#-#‘á^wÓYFÌ9éÿ¸Fê’à«àg‡•e7þ#D|>~ ”åG\w—ù­Žkì±ýeŸe/§²ô– <ûlÎÕu…|£§%¶ýôå©euT« ½ÇéAPòéNòâäˆ8ÉöPƒèrt#`LئѠ'†ó4’Oʧ0œÞü¿Œ½Ù’I’žû™Ûæ{l™‰­ª«{d†äð8OÃ×;Gä³t7P@‰Ü3vßÝÎ…9"©æ ¯ "<ÌÍÔtùUõ׊ðmø»cùµ(øûÌë*­î¹»û™Ë«öwðéTÿŽÌ!DðÃÀ“$í †‘–µ¹¡šþÉßÀ§°Ü.¿MÛs rK>öŠWÒëŽëºæßéÍýþ#yþ#ƒâþã‘ìï’rµJÝS¿ÐíÿTü­\ï¿?¸âI2_ÜÓÊ+º®C*…=?²°@ ܼK“t H! [ªÊÛÈç~Ëe0EÛ–¶Ñ7¤é sn´‰xn˜LÿW¸B]?a¬ÇÂyNºß£uIÛF¿{ÏR-âÿüäªúLþ‘8R»ˆÕ.a1=þ ]ð·=3‡àÑZÞ>Ý0LüY†›jV~:)Øíü‹žTIÜ…€ øÂö­d1x§\N'öOÙeÆ´Þ± 'ˆƒÀ¥?žiÿÜ\ÊóŠ¢hEYz=¹Ú¯Xä v»OL&úݺ­Ølâx¬×¸éÐ?½Œ·6›žf¦þãpp}Xñ‡Lƒóñéãî=iŽ”¯1I[>_œx«ÔïöÏ”%Í߈¥þ#ïÖb^1Çþˆ½¯ir‹Àq½ìøÃÅ f÷eÿ…¿ÿégÚâÿÌ€X}©°¿X”\Ñ÷Ô75öâa‡{=áápàuú£>¸~ ä¤ë™>ÿ¼ýÂ?NÔÁvÿð]=’IJšCô·àîÙ1£ˆËò%·»{¿cò_&dYK±×ÿqú/,¡ É‹ ûìÇû(;I¯úÿ‹¢# %©–sŠŸ¦\”¥ÿÞãWnº)³™@ñwS`àêš^3 ÞŒzö‘ôÍá°ûJ>ËǸTÒ÷~ßL±æÆ$üÝ¢`½0æŠ'­¹jZºeÇÅÏ n–ÿiúß~·ÆNö‹†Í“`±èÎ,ÕSEøÝd·Ãá‰4½ú¿µÑßZ‘g‹ß©ÿîÃðL¼èqùOÿôOÿÓwTDtŸk>êŠËð‘5ÜÞ=aŒeZì)¡ï5¡•ì®w˜Ür˜„l¯÷<çG¶ÅÀ±[“ª”<ÏÙl6h¥išÆ;ÅfÂë&Ä)‡R1aUâÌy.Ï5¢m‰Ò”¦m™N5¸»«¸>q¸SüünÁNkTÓÐwáÌ'œ·Dwš¶mB°\,Ò²iÁ}{O"R;pWÞÁÃr2Á9PJÒªÆÏ$¿¿ç$YšÒuar÷ù@œ)’|L œJBëòœs,—5q,ɲ _7y>$5ÎYܶ&}•øÙóEÍ2_ÙïíוÂ"ôÝ@´K’ËŒ®êÒPþú{qÁ0Þ#ô³À!WŠg­9µ+ÞÄ1‡½¾EL¦¨8¦o¤•8Û~‹Å²9ˆžŸ!{ÇÄ5êëxMÒ%˜ÜüÐ…öí·ì~Íý^!ßµ˜ÀàÜì+þôöµvÏOèt‡²$‚ àúºæuèÙØ†}Ëã®&Š| í[ú~ì°ˆ-§]AßÇ8Ðk‚±¢9«+–eˆÑ=mï_qy·[æ³Ðï€qm©Ì†XÆô½&Çãjžº'ôÍ »¸@ Ñ„:"(•2ާ'º¼ )W%Æzyš†<C×uœô‰aûÌàR‚ À\ú¾'‰ü;Ša@Š€ûG Ž(¥P› ŤgfgÔuÍçíg‚É”dp¼®÷áñ¬0:áhÕ8ñ\>«˜ýõgò«W´]K€ÿ½o²Ô¶†ÿïý3F/‰-. ÉdNîhkEo{Ê›Gt:2™"|¥½ ¨JË4œPE§ÿõžãDRw+¬ÌPû=ÉÕœ¦jØýÛ¿a./½óç Ü´ŸŸ<3ëÏALÕ´£ ‚Ö3Zc ÇF8|ör½Dk” 5I0™FTe þºßsqLØY¦ý÷v[ºqý¿ívÌFÆÅn÷oÌå” x*žˆuŒ‘-apŠxOÕŢ³³¬²ß³¾¸ ¬«³l9ÀÚÇã”Îiš)<³K­ÊrŠÖÕæ‰ƒ$==B{’$ ÇÌéD§2´(žŸs\ýñŠJJhZª‡k´I¯ŸVjE8Dç5&£n"lZq^§ œƒÉdBÕW0ÀޝKÃâm†‘Û¢Âj¯îª-©¹u˜CŒj±ø™ª®Îºß]_ãrÏäYs0à!ô€,Ëx~|¤üø‘Ýl@•‚@)œƒØÄã{Žz rw¢Ë^tTfR\îØï5©néão ”­x†>âÕ«„R•„ëœ6ªFYºZLhO`|ùÒ‘¼ x~ŽIÆn²(ð¿^¦tU÷má»óu£ì:²,`m1Ÿa,zhÛ¿!¶¡·ß­/„›îv”ÆÒÊ–í¶ÀZÃáp@Î%§SÏ|>¡®|wÔÒ¢~Àmî±»=É[_0Ù÷=¿þzäíë„¶ëpò¶åvÝ¡lOßjB¡ØötU„2¾{fûév:=¯í[UÂ÷¶³ikœ[QБ٘ß'þNIš®ã‰'¦vŠmjN“ÇÛb§¿þºç—_,úQÓÅÝ7éàúºåd™ÒgáÆÐÚ)'ô}ɸQçD/{ë·Ç#a_B¿@ïè­%ÇPÖdzn¸ì ÿëSC’ôL€Z6›#u½2ŠºÆŒvñ¹R%¬‹5¡öw)2#ˆ¢±~ÄmfÙŒVu„}ˆV18–§Fp°ß÷´í‰(2Á§Ó[އ)}‘ãh¤;a¼€Ã¶ßË‘øAŽN§u]3æ4mË~¿çkÛõbñÓ0Ð¥°o÷a蛆@®!‰ê$é©G ´^­0iÊÝ]Ä^Þ2 }1@Ò÷?œó()¬°¸š®a¿?bŒò`žsÌfŠÈ9çh-NúÊ u¥x|T@Á¡,y|¨PäP>ÚˆÛýžHÌè{…ñÙĤîÈötBMr ISvïßc§Sšæ ¥j"3?Ǻ,éääl—¾Åß|Jœ~ý•c°"L·Uâh­y>Þa¬¥ª"v”DB¦[ªûЧjOžä(p³vD«ä\\dTuspžAt2aÿy`òÎ|u¶ãøµâïþë%mÓ"²€ØÄ4yŠj<¨]ß=0D!§Ó ­g¸A³Œ–DmDÇ4mË]²äb¸ÀÜkTýDF$Ç„ZÕ!_Cæùòý{’7?uÝçxüò…ýI2ÍþŒ#ÿB°+w¤Ù”ûû‚$Ñœ:ŲùÈOoÿ²×t寴¨Tñú^ÓVÏ<„!ïòœíd@ cjd*3…‚^†®=ÿ¦s°ÙDüéO¯}aÿ|§âì·:ç°¡N|—lÚn)*0ÑÕù½ê(ò€»ë sìQ™â®¸ó:ÿ›ÆQËæüLxñŽU¼"lBN'Ç¡Q)1‰á¢O¨]3Ú¥ò£O> d Ϫ’T+þZß3U>¶©¤·q}\ È)kôEDUýF^Ðöà i[ÁõõŽŸÞü¼èÑ]±ÃhÃc÷D$lï¯y½¸DÒ3Zn Ž®dP=FM8[Ò4¢i:šå’âaÏ4Y Ž]wG.s–rIÔ{[t¯IÒïî¦)ÿ²ü†½&Š êþ–.M0>ÁTÜÞ’_f4#œ¾aKLÝð:M12úNä‚” zõòNó?¨‘íÌqzÿ5Ÿ£å‘0šÒÔNÌg!³©Ä9¨ŸN\tØž¯Ö’t¹1T]O­„MÍö¸'o3~­e1?"Ä”j½FŽqnÛ4¨8B´ÂÇñ‹¼*¥éûžR‘½AŸ“ Ž'ýDÜ'Û÷z@Ü ¬õ Xw×#R8¦h]² n˜W Uù²Ç=NYVɰÑDƒÿnFB§)]ݼÜÛAE?ÖL§¢ôÆßIÙ>>V7q¢Ùo6X²\E¬šŠ°Ø!So÷ó7Ž® ÃÔZ¤Õ¬×k E8(_gàÍ#—R€ñÝÓ»Ýc"Öw5aœeþ0.£íªók¼o]–åÙ/Ð}Ïþ®@,|êÅØð`èm?úŽ8òç Ž(Ëh*[ôúåþ•Q„ln©&YJîöwº ÙyS·6q‰¨-Ý×·rØ?\ù.sÀ><Ð&éy}ß¾k횤XðøfI¹~˜Œ¢è†©$J)ÏŒ <‡'’>ásÿ™¹œS–)â…eŸî˜Èœc-yx$Épfê]¶åßìü§O%WWs޹±»i¦ù‚úÑqùs€¼ˆ‰¤ëÆXÀñ¿›OØW«-Õ©A†’aÈØíögÌL9Çþñ‘ÉÅ;Ú¶bÝ–D>Ÿáju" ××[ÞÎb–»éøÝöó—=ªkMZ–ÔÒÛÅ|S™Šç¥c’«üìo2ñ|X \tÁu_ N1qâ˜å¯húž$Ùð×ç–‰5€£Ìæ—?qr'Ï :ÚºÜXÂÑ0&E6 »ªBejŒR–, ‡ð»Œ u–5 UU¡Š ÎÖ Cz¶‹Ïí-5!%¥—ý؉Õá@žç|(~e"§(ùRHèœãa·&_(ö'.W+Ükßøf)ó,™ ¼Îq©A6¾0~¬ÈÖúö™Oøüy :®é‡ Å4µ ôážÇ}ÀUäcú^Ê1z Øí~؉/ð‹=ãOåc\ÇÄmKùÝ•ÒЫýŠ x‹öçfqCKÓ¦DÑ5}Ÿ!§Á9–®‡š«RÐÆ=ë/ ùD£•¤¹¹,ý.î4Ü>õ˜z‰Œg QCw8pxØ3û傾=‡uà \Ô¨Vý œÔtA"ŽO¦¢è7ĤTbERKÚ‘‰výáÈ«_ Çã‘p˜lØß¾çØ Bqr'´Ð$EAm4ÅsÍb!)«’>êüX:ç¾ó]AMßùXqª‡CB]PJœ‹ ŽÙ5Ó7)7[ò½ƒ‰øáNeº¢³öül)þ¼ù•y3gØùg Rq8¤L&BGWõˆPÓ~Ã’>8?טäe®+¢ÈŒ‰È)Žêü6ôñݱ•háuÃWñ•Y0óki[´Ñ ½öŒÂ=3–•FáÄÈ2&qº1–wlÛÒQ<<`F¬* KÚVÿpŽÅ¡E둵"Ð:ÅÛv‹“ŽTß"åçÀã‡}Ø’N´X­gDQ3ê誊wWsþ¼úW.ãK¾Š¯d.£]¯Q„R!·ÅŽdd)¢Ýß|=þÛS÷Ïš‹ ‚²¦^.‰g3–˧ʨï|cÁýiÊÏÚó$vf¹ùüŒ #’p [º@²lÖÔ•C+M>²Ü¾Â·}ÝíÈŒÁÚK/guíãì»5jš±ßÀ†3œƒ»¿Xî[&EÝú&×÷Ç£õذ¬}èu º è–—h]ã„#sŽê;e[UXù‚ÿ,‹HÃãcƒ+NjGªç¼½8Ò› |Ù~aæ£í÷¤,AJÇÓSAk´6t}‡ˆ"†¦¡Ì0ðø¸ãOóŸÙ><0.©uÃ~1éÙVˆTð>z¦"Ü1¤eõt:¡•?»<Ѝš‰Ù>µdW9q*è:qfF麎 c¨:Eßú-MYVGBù¢c\ïÉš¦93[›bË$©Ææ¢¡×@|Òå©È©¨ÙL6ØrlÂpþû*¸+*¢ˆ1þ™€Ý04 ­ •©)T4²W|þzäÝEDÝu¬›†‹íš:Šˆ'Á7DGц¦±¼_ñóÏk ]Ú+ÿ)é ®Îwån¸ÃÜîPù;¿–WW¨äˆã8ç¹µ|¬R³Zí Ã0Ü—²ÕIJbHzª™œNÓ9åg‘€ƒû‡Š†¯è½âù8°1 rë×,å„8ŽiÚ&‚¡AîƒyñU>?-"d%1¦#röû=‘µ´]‡FýqxÆ„W'˜Ôq'I³žãñˆRš»ÝŽ^äàÐYÈ€äkU‘IIÓJÄàpýWnoYªØþë¿R›KÚå#:˨‹г9Ây˜¦i°3Êá¥*T&…`s:†/:of-Ÿ>L§š¡Ïˆãžèxâ&ÐØ@Ð^_daÒ랇K’øZîv #î°Ù µ=W¹8׫5‘$JýÎ^Þ÷¤$öÍ-ºzËãºD¬îH?ùóÛ}E™Œ6j±6â´[£Ì8H×u|þÜ1ì÷{Œ5˜å—ø|„®|.¡ïôùÝ·Ó ¯–¦sĈåoB"]O~:q£·¤ÁžÕÊ"E]ÒõUå÷Å䆮êxxèHÚ’¯7È«× }ÇmKJ† ~Ûméò]é×u C@fCSñàä±H³NÖ´ËŽ×ã$À§í±Ç‰‚.¬?»oˆÕéTâ²à ´Æ G—íÐÙ3v™éyŠí–›à–¹zËîþf:ów/<ëÙ¬áÓ?Wt&Ž_äçPaŽ”{ç˜Æ{ºnʳµ„MD"j´Ñˆã‘*|ìq0c±]E’ì‘rO¸kéÃpÌstgã¾’¶m‘"`pÊûSƒóòxÅN%ìƒqï÷(P’Cù£æÈÈß¹ƒ9p80ZS'5AP ƒŽãñ3JM1™%ˆ$±9Q7ŠH)Ú¡'Ë}>ý±ë¸Ê2?QÈ9‚ cªóüç› oß&?ØB vÉŽæ/ zn8•'ÂM€Í|®ý·ßz² ú~Žáù~­»5aRõ"~¸?m½:;Ðn`¡ hMÜÅèÕmSUk’Àòéô‰©öþIsÏ}4aˆ¢Ë3;rÖ¶tŽ}ÎÅïf%uís]÷¢ÃŠ"f«nIDLžçTU…H¥)ÉÌYìpnÃrEþ;¿•¿1‘“ó3ʲdò‡ ëå’h–xlèÓgÌ»9nXµ+ŽÔB`•/P2#ccââ³ÐAÀ®ÛõQ ÐP~ù‚H¯@´8770S´h†c1PŸ—p8NyÎD…ômÍí×'ÂW=T _zH¿öˆ\œq•ow(LCŸoX¼ ÅQ‚¸ é@Ž>ø0 h³ðÓ ÕÇ„·ìƒ-zú3‘˹ÛÝ!(›¿ õûXAN欠•\ŽöÙá8(møåBP×¾!¬m[ºÆÇlöù™à0ÅĆ.èØnÊç=h‘ÆuX¡Ëô IDATTß°p;7TCE×øZ ³3lÛ-AyA`+¾|91É5òQÒ›œ 2~½òù1Ϻž~Œ1Žb¿G[C³ßsjÔ4cX­Áø¼DCƒRZÑ’@ÌÔhÊ0!Ë ÚhtªÎÏœŸ $/.kMñ—½0˜,aj¢Ä¾LIO<“9*‘ðº,Ù»)2ðqjÜû³?½>ÑzâxÊÐD»¯Yø–'í¬V¼~ˆ€²,±ÆPRsM޿чî€#Šcr:Q*…‚`wG?扌ñ±N×õÀ ‡%sÎW%É%MSŸKþÿñOÿ󛲦’¹V@MYמŽq³á0Ɉ†ˆÕ 3±ÞÀö=Q¦p›7\f‚Lf?¢¥ôwÎÄ8Pߺ–Z!pÃÇ ¨¦;C§š¦=¿0..R—2ZʺAÞÞBUÿ#õãm‰Z+>Û†™Rô}Åñâ‚°m,I„¯ä|½ó ŠÅœõéD¤}àòüTpUÎi/ŽX“ÓŒ{RJLä^œfZ)ú¾åøþ=z1'ŠäHñ[ÇŠa Κñ<¡ozÚ¦£“ †4c·åômNsh„ÃN§< ATy'C•’;xÒ ÚðØ4(!8>¡µ¯JzR¼yÓq&,AÛ¸ïÉŒF‚A;‚é„0´<>‘7¾Í1žÂ~ý%zfPûœu[!U‘†¤K87ŒÖ@dNô¦èû½árjyj)ÉŒÁ〻ý-‹Å[VíŠw:#¾ªz“Ü0aB†¨ìÌðe·c2v.}8¾g®gÐø®¡¹‹ùkù/,²×žîX~˜À“ _»-¦ÑäW3Z!ЦŠj¥¸Ê$b'¨2MAÌ嘼’G‰K§³Øw=Æb­å×?oI9 Pµb¿P˜ªçra±6eˆBv»G®®ÞòeùD$#öŸ÷¼Jþ@c>LµFÊà[fÃÿf+ÑX,V¬Xù”ú®ÂY‡½¸ðÅ9Ý5ˆŒ!©ÕÏ(uü.ùõ˜Œ;æ“‹[>ãÊŸEˆ![„Pç3M9t5B8ö×o.SDçš}±'˜/h¾kœZ{¾»õo·ð÷'6#IE‹ ±Œ‰uÌ“ƒ2\‘m3úTú8ÌÆœÊOõ'zùŽ šr™EôÏ=.v#Ü‘í2ú‰¢ŠRîNŸÉƒäL¥×Ô¾ãªSš¾?ÀXôtÞ` ,+ÜX<Ÿ.´´4Ÿ„ÄAìíàR±‰vtƒV¼0B:X‘ó¥ëý¾ßT–w©¥­¢}„̼ÎÙœV\M.é‡~¤!;•ö-­kFt||žŸe]Áa¿ÃX3v64zà2ïpÙ""žY‘éù¾%NºòEÁÉl·ņ &ù„ªò‰Ü(jèzÇv³õô ÐûŽ**©·[\*(ööhÂvhGGËQÛšDIt AØÓ.[V‡MsƒÙY®úhÂc󙄘û{Küê#4MÓrÜõé/(5f}œ—×Óo'o2¬Ÿ;”wù‰aw‹;º·WئA`½’‚ºªÏc|æQÂÇÕ³w¸Ìwí(90ôðj¾ êç5VA@lUÍDù½6Ú l.̹‘’¹ížÓÖ£Z$ Yÿ󵿛Dg躞\JêÖ?#v ÚúÞ±°GT60 Ó™ÿ½>é^„Ë9ò< ‘ ºÒ r`§*Š(Â6²¬ôÃY¦G¦ÐÝŽ‹4E ÅôøL9v–®…ŠC1†Z+æsƒ’Š&c‡Ÿ" ;îO޹µ?0xÞT7ä2'4á¹szñlÒ²üé[&?Õí€Ã;øo£4ÌxjjÔ—_I_¿¡Üí95†(ì1Ö‘ŠØ>mщ¦l*ôý#nìâ©íÙyÿôñôž£½ JI.²œí¾@ˆm â0%IO”å5ÌÀ9L`؆!a×1ô!ÍMű8±g?è Ü]w¼~-Iß²~lˆ‰@EHå·"œgëÇb?ó­ãl ë ‚H;óÒ)Þ– “ú ™O ­%Ë´î‰Æ‚ð$×ð9Iš ÆP5 iY²}tȰç¹ÈÉ2xn?Ó|È?LMƒ£W¾©¥ªJ6æ‰Èeìœ#-½éÁ9ŽËgò·ÿÀi/p³ O$ca®µv¼s-á¨ïË*ÄYKšNø²ÝòóE†="˰Æù¢Ã8Á5 Îå|~#¿Lßz»òMïMfm=vêG67yrú°e©ŽIL&%OÖÒ.Yp¼ˆÂ€¦ñ/±óƒ2wÔ6ä~·Å¤>nh“”ýñ™lrIו¨Ù‚Û¶aëÖÌúŒ^tTiÊZvü<2Ü8`“ç<þ¥`2•lŸ·Ø8Ä™—ñ¨Wå”&jQ*à§üuáí‡8. ¬˲"šÍ»Ž²ª0ÝKt”= ÔÅ-Öf mËn¹C\Î êÆŸu2xÛä ë|ï2jë ]>ö•ob‰¡î-R{[wS7d$˜Ï±fÓ§J’E‚tL¦þ@7ëÎÝ*þíhlCЄuDqwÇä2f®ê×64ÔÜ©Öl6%Iâ[Å–¦i8<>2É.èºgaH‡ˆÕáž7ÉO|mïIEÌéæÄ³„h¸f8)ú­1DÁËÚ¾[—Vš›ÝÝ5ÄiÆññH|Øï9U¯òÃE •‰éŽwˆ ¡çHÓC½ÙÒ|¸zSÙ\E_S¯BTP·¬:Iªô9˜Ž¢'z›0ôãÛþ憟~ÊùúU’¦Ð75BÊ3«Ó¾$ 3ÙjEÅ4O„ª'å™èc?²Y~& 'Ì9R™-&¡F¿¿¯HS_˜¤ÿ¸€ªB')Ý6$O²±ÉZ Ç»§ ºêm””Üü–“匀Y‰±’Ÿ_]òÿÞ]Óí*’Ä’è„§›=ÉÄ’ˆ1)ŸæÄIJ]•ÑÑ»#i8%šää¡¥ë[Ú®ãqÓ ÂøbÎd˜`UG.s¢H£+o3’$Ƙ%+ŸTuàhê†Äý‘d詆 ¦,Ë¥$5>¹/VŽÞÖ˜¦F†!íØì°ý\2è–i0¥Ô%ß\©ãñ7œ›e\Í¿1EXBR·5úY¤7:Z6³ÔÑ@¤3tãˆþº¢>TLBîXmètÇTOƒkAž“Õ;»Ãà*?¬<45‘DQ„!qqD×rº91‰'08Âh@U¾»ßö(«p©Ç¯™N5ö©fÐAàmÕ$›P ŽúsE‡>ÁPÛ[†ÁÇ\ýÈžkô}ïÙêwD+Í0Ô„‘f°Þpå*§ìþÊëÁ@Ü¢”ņ!ƒs¼ŠB¤C&!å©Jé:Ÿëšù`8°d,ñ*Æ¥š~h†ž‡*`G¸‚v‡ g¤ë5Ýá™ôñ… 8t¯aèé‡m a]׳ZýoŒY°}òú ýcƒ© û;ìÌò ˆ„·‡¦ÁHyÖ!mU~ôÙõçXK¢¡f^‘îzºÎ@óÀÂúñp‡Ç&1DQ@×µØÊ'WE ¦ÞÇônª£Mcìã#]’¼46mRɆ·ú-Né‘=V0ÙhB{îxv ¤C::ì w§/,¢Üãv›- ]Ó˜)ÖÈÀß±aèÙ Ž‰} kÚ¦AÈ€ÙT½„9Î!eÀÑZ‚ÃgšÀ¢âܱ.2û‚©\ÚKLém•Š*òü‚ªª0Ö°Z­ÈtIu'‰ßNPꎮ°Â}k~Y¬Uä¹Åm6¨,§ï{º4%¨ÀÇ'Çû#:Õ¾ƒ½÷Í›} ë±É'Á!øüÛ–GÕ²áu`×:MÉ…AÏ-AÛÒv11e§¹L·Üïž¹jßÑ÷5]Ó!¥äv·óïì}¯¢§]µ‘ u`ô%ÙꉥRhç¨oTt‹gëFÖë¸i°Ç#. ¡]ù¢Zàá¡Eˆ’‹è³ Ò TKß „©ƒ“”EOb½]ynžp½F·Äö³ô-USQþ·êºfÿaO0‘„Ç7s ã´|&Ì2(aN^ºõû˜° —#k_å0VÓcѤ¬ ƒüeÔÎx1Œ1„ãÝ‘rE˜L“ þxiÙ’‹‹ø\lÒ‡=½Èˆ"…ŠcÊ(&(K~­kæRbì”´L©UCÛzÐý°^¡F<°iªÁ+L»±t¶c:ÜMËì'Èó Ž”ŽÐ9ŽË#Q}ïG:Oý‚e¶ÉÀµü”{»{úTRÏ~Aë—QÆaØÄ•Äì3­[îúï åA‘®Sš°a1Õ*~û­ƒ«pl@úv0B2Ë™g´mO×uX™ÑR®1‰ ]8ÚN¡µB(E~ã^¿& |,©ðI‚Æxœ"K-S7¥¤"h¿Ù·G´öì+ëÓÔw5A •"'ЂvYDÒÇÐÍŠy)èÃ]Ú3Š3Æð—ío\„Szky,%©‹g¤™0730ø¢Ãï€â0ìørøÌ¥ \ÂêùkVqDÔ6¿`½î%Õe¹ ˆ#‡så7ù-Üì7̦3Dߌ>€âuè›nDà T¡ØmÖ˜ÔÛ¹`Ížhš˜ÍñD¨õ™•ÿ¥4x  é' A@2ø3øËîš ›½°ÜOSDÓ¢wš~´‡8çå€v‹wèû³ ÝÅ–ãúˆQPÀ÷LÆÎ7 Îí|dÈ͹á‘TA@Ä*{æ¢ÏΫ5­çHµþqC% 6IèË’xZS–’ãñWÂð‚8I©š'{·XS×!iQÐZ‹+ "!FvZ{uÇÓý™]M›`u}ö»—ÀLJ†as.xІY:b~ŽÒ…æò2ò„ß8p’„îôž®;R‰+  –_GX…Ss(ÜÔ5‘Þ3Ä \ÝrW–,¹c ŸŽGþ뻃Ó\MŽGÅFL_ÀÒèŒxä€Úl4aØ!¥£Ûw¤³pÌMõl·;‚4¥¿„¶¤Z­È3nœ#¨ òç4Æx{¼Þ­‰LÈúø™_Ò?ðÏ«±êɲ޶R/Lʺ#( Nûø¡jZ@Ñ61 ¸½íPÚq<öLlÌî´GÊ:]ð[U1W>>^>=1M BÜá\v>Û†ôÊ7·“ãbÃQkGX’Ð8jU{=?8*ç‹ûÂê¥p~ûqC›)LÇPU¿¢Ôœ®/áÎð›i™ÞQ2·ËƒÈrÅnùN± ±þsÑ¡ƒÁA¿Ù°ÛU¤íœwÿr8Tq@½¬1ÆËøÉTÓs×÷¤B0SÛÞ1É#¾'ÂfMQøB˜3ÖŠc&%¿îvÌCƒ’Û.f¡ÛÑŽ8:á›\+-Ù¯þÂ"zGž7TuÀåe‚ *MIbC®!ìCê¸A4‚ºõòïÊŠ©Rœtë1Äñ.ë;åòi{Ä5†çþŽXx|þ/‡‰]L~&´>–ÏÒ´ëqã»'ÖrµŸ24O´BSl˜]ès(žæmmÇ hìå%ÎÝÏ=ëô0~ÐÌç¤yÆmµDwcÑ’ƒ]v-EqÂZŸ7ѹäp¸?Tã“©ahz£9„%™Ôìÿºa£C†IˆÑ>_™Ž˜dGÔß}£0û¶.÷mâ‹E†!¢UQ†JûeƒÈ~Zà>~DdZ˜MÛ Ñ„.ät<²ï÷D2âóþÝ-QrzÖÙyîýñ4N9U'´FìŠûýÖdìÛc¦†ª(PÆP)ÅðõUç¸ÔlNÔ ¸1¦Ú¨ ›Gš¨ó;žŒAµýYà $8 ¦çd-:uƒ$mëYzÏ,•£ìâçüèàÀhú¯=&ÓÌ•CkEKt–³vÐô‚bÚ5^.´µ„aE×¾¥4ÍŽÅEB×÷Ø0ä˜QÊ“í¿m¹ßÕ\rº´;b‡UE¥-ÆÝ±þóWìb›Ç*¥°}HÛX’D ƒ'ö8îÑÚR5-§Ý··=ïÞ…X×°»/é/S†¡e³½å2zÃ]{G»ñ&ÖÄCŒ^·âxOÓhŸ˜©·uõ!ñùñá‘øò’bè1B›˜cÛ¢ƒ€ù¼fµ*Ð::û«™ÊhiŒß«'!–%™Ê°6¥ëêÜËÁáð${‹)ÿH Dv¢Ì®ÐMC]ÏDv´¶â"ØÿÛ¿Qw|;WÃûL¯ þ— ÄA‡s- Á ^â¯0tØÎð¹9’Š)3úÑ4uíñ£Áq(ötÝZ×ÅÖ&³¦ëC‹¬š6&ݤXiÄtJpíÎDKg{ÔiÌ“ÈFr:=rá4U ÔKœðáyÃëá µ¨iûžëû‚<ñ…lö¦çSÿ‰Éøù~ðxB_ô¤uÊd!F½ã0û=½µ¤+œ`æþl¥R`&´íŽ›¾çç™×éJõ?N/,¯ܽ÷7pHùHZê àãvË̆çï”Âö=Oƒ£IqšÒtE\v!S59ÛÍ M¸Œ&´]‡ V´å9yƶ _ö;^3*Yy~þcx`ÖΨû†<ßP×!Ãp YÝf¯ÔeÅi»E ‹$¢©£- nÞcæsÏÆ+§ìoÖØ<:çW¢(¢ªO|¾ZM'Î!›XÚ°G tߊ~üº—ðl q×á[¼ähž·B|AOb³Ù…†öá7ô"&ý¡íÎ7 GãwŒØW4M‰všÙ<¤?îÈó¤Aß_#Dξ0q^Úº%Hb¶7=*QœÖ'V A"eùWÒ4õ•;3;爞ָä-Äm{G\\„ .%‰_Ÿs—]ÚÒ:v³)¯›ðœSñ4*TÂ, ·¹ zÔ ÖÛï&ª†ž?ï Þe‡á„$ðF)?J9ŒŸ‘rFÛ8×ÒãÒk¦sºÓ=ÉÔÓ…ßÝ)..:ªÊüí¿ìIº`;Ÿcƒ%¡Ù3 o‰£#âIèšAœº…à˜9â÷’7O…ÏGšØûÕ*üv7"yr—tïï±j?}¤LhFB5§“ïfW9d]ÓCM©c‚J„K\žíw Dïm¼œÍ¼Lç÷D‡ßá¦Û-eè?·\­‰mÌû'æsÏ¡ªJºÞë=hD[Ò‚»¶ {–ï$--]÷…0œa3K` jÛÑÁ¦Üªð|îÒINõ‘µX{LÕ„­xÇ”½:!Rï“ZëÄÖ]‡ISšòˆ^/WÅe*OÜTUF#­åx½ÆÎ³ó}ªÊ %‡Ã†dõš!ë¹k—H"Æ&ïïÉ<ê®CwÞæÊDž"ö€Ò–k1ࢌ²ñ° YßQ´ê}Øóß.4U%é{_èÙZKñµÀN^¦Ö¶“ ‡¦aóÿS÷fY’Iºæ§P¨*f˜ùgfݪê‡ÞÃ]EŸS»¹KªµtÝ[L2&ŸÝfƒa´7sÏ ™d&³N5žÂ-Ì0(TEE~ùågÉMÖ1UŠ~Ò#ëþ{_/ˆ–lÐ2U>ußí÷¨rTäô×>elžä‘ç¤á+*¬Ø„]¤ØVט1÷†µÔMÅÚó0#6&ÿíßþíýe•¤µ–xWro‘#‰c‰ØõlÉÙÙd¯Ú7¼Àš¸É¨¤BM«?°œF„+‹ÕâÙyÕÉ0,ý%^=8 XÐ×Ë‘1Ôy£nn–&Žª²DívtA€¶ì¹¹­8zá#ÁÔ Y¸y>tŠ–ÙÆÃ÷{ŽÍÌ›ö!žë’e;ê¢ ÆT~ÅjÛ`Ù¬µOßç6{°EÕya>7$_&û *Vš{9ç~~ObÖ«ƸYã cølwW—I¬‡¬3Œ}[”{v6ZÙR¿^’¬$žg¡ºÏl-·w Aª ‚ŽÿüÏŠÉT>×Ãx·wˆ±×wÓ4dKï=‚í¿mp¥;TbYõÆ=3OTŒ6Û Z›q£U¥&ó¹"Š,ãðf÷†©;e³\¢!ÒËŸVLO'•.,)é>4 áIBYV8rÅ2Û¢;͉rPY±–R”LôäPAe-úHÓ÷Z;û¤ÈS•“Ǫ-k-?æ;^Ô¢&‰֫툎•‡`qÂFpuÏØÙÀÔàÍ;ì¨Æ Ž÷Û{ä©Äfrd „¸Æk<èÆ¹ü±æø8"<ʲÂÚ ¹ZQŠà‰ªÐpMíi¬Õ4M1ä¬Å3—ÒWxö zsSÝÊpL ÆjµXá)„EÐŽAù¡Š{Xv•W‘x¶((eI–uÑrâ IOß÷¹¹¬ÙªŠx$ëÄ2Þƒu­p3²æ+‚MÀ†Aá”C¸90὎¢˜Õ®ë’]-P±7¸öÉ;{¬@}…«j^¾œ"›÷ØEê‰ÊŒÅzP‹ ¬ek}D£èn;’¦¡òœƒ’.n}`þ_­s"ãÒ6*:\³iÛ}µÕ׃ëJºêÀÎmKã6éP=¼}øD Lž€½Ö®V‡ªA)%?ÎùꛘÂ-eÙ¡F…·Iiû‘$R–å^‘ÇĆZ×\g×|væ‹¡Õ”µlüqp^ 5Ú °ÞôìÎÏqÓt”O¸¸*H"ÅýýšxTµ»\_›/ƒã|¤øéŽú»ïˆ+ƒëVQâû>y^ágáé)EQ0ß¼!0Çûv„ƒ"*ÜV·„Nˆè{úU1hž¬É¦i‡$‘ßr´gÚ3T(3Vêªf,Õ¦BùŠbé MO7먢Šé4á?7k¾Ó'DŽƒë–”mIï÷,¶[<£È?¼£{p³zCê„Ä#I¨[F”w+dêb­ÀCÑ5DÞ„¦ÈÕ<©\îºÁ‘pR îa>v~‡±–ÙÌ«˜ÊÕÇ„û¶„£Âd¹äD‡\9‘r¡[á¥Ãžê¹>»æ}ó%ŽsH„ „¤!iÕ‡"8•Cž÷ ËÜ¢µF2(œ,ayLÑóÒ}Lcž8A»#´¥ªGƘ#¬é)³rtucÎÉxæÙZÅZD)ö*‘Zk¬w ƒl6’$A[K’¤Ôì»üòÇé1fúLéP4ëk8vÐJ`L(ú^Äg(!èûl_Ñý¸Ÿ¸©‹iš1ð†¾ï1aùÉ!~¡ëšxR©ŠeœàßTDg‚ªêñ³„ÂnHUJ¬kªË{lòÓî–©ÒR=S~°X6ës¦útï—W q,Ùn nªê.õ¾ÈÒ¥-Ý6BŸœ}ªIRçPÅŸe$Fa¹)Þ3yR­m­åü¼%~‘f÷3’WÚ®åêÊG@sôooKÂH‚µ­éŒ¡÷ŽksIìÄDn„w¬pF"µµ–m±åª½âØôƒ/a¬¥ÓÝAqähH"%Û ï˪Z oÖR×-»íf Jy Çw‰Öܬ]<Ù<ñ­,Ôõþï””Yî1™Hº±µÅ0vþ„ môHÚp§†Hk¢ÑGŠlçµt}‡7îÿi:áîÇ uG'=>.?QyŠSî×rÖÍhUˆî+îÝŒ Óø¶'²±}'8éc.Š‚Dº¬ï?!êž³“Qp~xlSY×t=tQ3T2ú>ÛÛÇ7OPXzüÄâë…¬îum†õ€ã›ý{{J žg´»{ðÔŒÿ¼(9:Ò¤£”»Ò)}]1÷<Ξª_?ªÉcÛò, Võ3y.ëm‡tÇÏ„ÅiÆE–Á݆&Ö8N7*Åö$Æ€„Á°ŸË·H3¥˜Ïyy2¥´‚<‡$ y¸ûD˜ÉËÂÎÃýªgÚ¤œâh %ÈÄœL¦Ìþã?PÓÁ/Š£˜¼(ˆ´Bº !B09ýÈBéÒõ!>l #ÝoyHÎnŽl}Â0dµÛa·W¨£# Ïï”À—ÜngL¢”ÍŠ³`B5*`mv‚‰T¬Ú{<ë³^]à~EÓ ¤Ck-Âq(ËrïÏ*8TiR"ÃøTô©Oâ·Ôµ‹. B2«$&pÁ†{{òþ}Æ—_”ýJ¨Ö¥«*ºQýÍp‚ƒˆ­kÄHtQ¬õný¥jŒÖlÙ”L¡®Œi©»š0õˆ¢ˆªª¸Ì+bס®ªÑOÈQa°¯ eú& IDATÖz®ÒCU)Å~Í5M·O>_ÊK^/:vnÀͦ&ÔΨv»Á÷-³êž¥£qÏN¿ÛÒ¶1—ë?óåÙ÷´­dÝ,0FÓÔÍP"¾¿üt«™§.÷ï2âØÁ¯*¢FSéaíÎÛk<1(­ 1$­µ8Ñ¡ÐcŒòç,#rzü‡Ó†ŽŽééô3µŽÇuã8}ÓP‰ÙIÀ ¼Ûô#SãH9Äõ ñyÛ4”eI}µC†7v÷$µ> aŒI„œ_d¤é«{ù2Šp|ŸÍ´Ú+×”£‚ŸLÃøÏ> §_pžŸS/5Á8GÖ?\s?-pßÞ⟽|FßÝïUq³Î×@J«5ù6ÇùÚ# »½2`«Ï)ª +±…Õ„«J°yû= ÁÓ,a†ÔuM:1˜¸F5x…ÄQâ¶¥Õ-–ÚÖô}O×½&p ×…ÃŽãìI‡u¥qÝšÄz$ÅÎ%m Æ"²°ÙâO]׃ZÆ£~XñÓfFäF` ××9Qä†J©'¨ì@€i÷%÷‹œ$gû±œ`œ³[¼¬µšÙ¬åªÇ‘öB™ ¶<ë3œ~$üû>Ù:C…êùœÂÒ:íÞÏ`»õðýƒêr6ÃxÛí–*­Øl%rõé§°èdPšq”ƒ”%Ú*Dð Eº÷UD#öñfWפ77ÔžÇô‰Rúüâÿ &Ó½ÿ+õçêÒžçQÈbo“¯ŽØf~Põ<—òÕ¾hâþ¾f2‰ŸálÖZ “ àÿÌþÌÉÙÉžtøØw¬ià¾þDàÄèjˆ¥âÄÁz>mÙîí€ö4mÓ2™LÛâ.:¯~®ÂlÁÎw4 Qn,øÁZúÞ£©$Mã’Ú€’T‹5Ù¶Ïî{˜W!5ÚX.ç°^—„¡`Æ ¹™¢¼ÁçòFŒEFC´ﺽ¬ô%Û‡´à8á`/¬Åœß '1¬–KBû czÚ͆Èï±(¤e9tU¨ër¯Þ>ØxKè„T•¤é®¯ sçu9#U)*ÑìvW ÉQ ÷¾†¾èu¦‘„c­ƒ§‡=^G:öxöæê=œuº#IšÑ¿íuO]j ãðæMÆÑ‘Âó<𦡮.qœ˜¶mp‘ÑuÌçÿ—QªœXpêÁW¿Œ. 1×Ñ~´Ï×`*ضTÖrõ~ÇÑ«¦op\Å&Ø ëan/¯îñâàÙ»u ­ÒÁç/ž¨†æÆÐ„Íseïqž÷c‹/•óog´ýKD°E4a %õIŒØI¶‹™ì™ø¹MX,\ªÿ›û¯¿$¢?ÄlÖ2›íð}—‰”¼)ßpä¾>ÌËQIr>ßáyØ/f[D(¸¿_#QºnpÝ#¤LPB°ŠËꞈè™jŽ2š¯ÊÒE4 ‹·ÙâŒóÕZKTuÍDé¡Ã–µ”¥f³X°iwDî è+«Š¦Ÿ±˜M9>®ÙÞ–dÁzPËÂrw·!4ÇÇÇ´YÆäÕ ›×-r)‰‹1)Öêgk{×îð]§÷Ñó”$îqqi*ùll»NŒ¤C‹µý¨8jée?’ívx­2=u_£N|D¥¹ÌÏùZMÆN3rÄnÀÚ­Ô^Á³‘ÍÁîuפ:¥Ùû&[[2^E)™ÙÒ¯+„ë’eJ)Äìn³¦J\bߢ.;}”ÒËønRPUŠ>í¡<¨m¯®N¿ÄZÆ\ÅæbN4Ê]óqÛ"V+ÌtŠë…´º£ª*f³×ö<ØžØu¹_¤еâȳ\‚PôxZÓ¶=±rqßuÙnBVå'=±÷Ü󅞎–³5ÜfÄÄ>×ù¨ŽeéìmŠÖ†vŒï|ßÃõ]ê¬>ØÛ[ú0¤»rµ]ƒ#·Î-I” é`kñ”"ð}š¦†2¤›/‘DZR(u„wyI 4Ø»ÂÁU]–´Rò~ý~Žªà¸9k×ã´(EµWäzºŸw7ꋘ÷«÷LUÊÇnM‚GU–øB ]#F_Ì´ B4ã°Ým‘¡1“ÓAQd,¬Åø>®»¤›„sƒ>Ž‘ Ž5Þ‚Þ;ÎñC^زzó 3MXéGn@Ý cÖß*[Vëí—(©Ø$ &˨̰¯®f¡½ÆÆGlT|¦&Üu§D¸ìHO\5àgçŸÖT2c^?˜ MU"‡¨ë8/ÎIeJx2åò<çè Ÿ»Í–tT;–]‡JØÜ"¾ˆ°¥%ЦÔuM¾ÝŠ˜( ÷Ýî¬ÕuÏ»ÛØ!„·m©ª[”“"„%– ͳ\fYô‰0Іa’ÓjŒ{¼ç>Ð8¿®w·¼ÇOüج¯pu²÷·¥òyï]•êЃ‚äEJ7{ÿ­ì4g¡ë|ÌÑàS^äIÝ”{sOÐx‚Áû–ö4é8¤ù„àÌ¥izÇEEz¿_^Ô$YOžÒuåõt}7ä©«rŸ_Ü®¯ˆ^ Ïת·?øS2MGEñí~/}ŒçªJ¡MÀ‡Ý¨ú%³Ù’-÷JÄwå{¾©414MEQô¸òÐEkö±(U'–¦ PuM]w(`÷q(&J¼„¶íÈœ/IOœC—Š®‚Ù%¶x…wb±Ú²Xv'3t€íÙªÕ•¸77taH+ZŽ ºã\ëºõÆ¢õÃ>¢´òõÖbÌ€e>øm6º.Š˜Ì¡£™- ú }–óT¨\§, ÚÅ5^úŠf·¦Ed×Ñ!˜C%*Öþ]k^œ¦æb-"$*ÙÛGk-——=»º@Ùgë¢sµïqßõk)+\×%•’8<<¬ÐÆ0›ø~M–xA»/LD–"J!¸,/ù:<}ÂY=Æ{«™NSü…OíÕcްܯl2ÄqšÆÎJ ØT[–)Â¥;ôÿ¹B¨=N|ë8#·‚¶Û×ø~3*Œ[œh‚r̽ P5¶ïöx¥µ–Öö˜ÞàZ÷ð¾\Ÿ¦æÉÎÍÐvÀ|R›²©7¬òÕ~O–d·Û± ^Œ÷yé†Þ>Oò´‹ÌFwà=âh;¡P:EHì^UTcçŠ'1·1»Ò1Ië·œd/—œnvlzg\Op¢B>>}ßs{[cFì}±(')²ª(Š‚úüÖ£jÂׯ©Š¡kGuC‡Á1·§ÓÇNH[\™Ð´!}7( Ί¹ckïW yòYý‘H•Ìú‚z1›õıýlßÛþø#êèˆÚÖ$IÂêÃä8Ó÷1˵ÀKíV5î¾ß¯›zÛÐuŽëòáAãˆ-ž”$~GYÃrÞcôa¯¨ûѶ<<”ø¾ò\c~}r§2‚6@(Í'/‹"í(0d-GGCþq·ó¨ŽVøíolC;ªôEB£'z• ‘<ë×é‘äÿØ¡ðI~v•¯85C~Öi[z!(&KÖ›ŒÈqè‡óíŠøA=f,“Í1¥ö © Þ,ï˜"ǘ>eçœN‡óÞÜ* £ô ƒ-v¦‚®ëñðøô~ÍÉ4f¹ZptR•!¯kô8—…ëÐÞ¾'i,m’ÄÉ^ðç1×ùhOzßû{Ò¡µ–ãPS–rÌ…vt½ ,K̉áÃúÞ7õñ‡NcIÐkŽ•¦È2Œ}®8ÖóÆ}·ÿ¿TÊQ…±Öõ3åWÏóhº†¾T}EC‹¨+ãr1¿ õJ’¤Øl·ï$(ÿçÿó?ÿ׫Í+*]ñömÁVæ¤ÚPº±[ñSõS-Gªàõ«p¯h÷—eA±sqŒCÅL_‰Ì[¬{P+¼}kùú䄲;*'ÛÃ¥A€+ͪáR]2q&c †ëë9¾¯Ù9S¤Ûb«±5Ói„3_#C©ì ÕZËré¡#‡Ûuͬû€ÓNä1}߆ƒúUEl…Àí:éön½&šNqš†0,9ßvDŽÃjuÇë×m 󱳸nK×94ŽCÕ‡q·P8Æq(—ä¸i‡*¢pÜñâŽï‰à}| CCM²Y‹ç;û¤Ì…̈¢ˆõÿYÓ§f°]@Ð!e½Å_­¨GæfèNaÌ„ÜÏqk—t•"¾–8uÃeù‘¶xÇí­æeèSS³^/0ƃb”òÛ[T4T­©‹±EIà ó¡hƒÖ+ÚÖà͇¢$á2Ï DѰ΋€³³5eaIÓ„ÍòŽõ¦GûCBl¹ ñN†*š®®òÚx>?×DS—®[‘û-n3œS:»åWû€ååË”jlÃ>™Òè”ÚVT77„gÇô#˜<¾ÞÒw ®ØR' ,&Tø^ðõ”",åÐ.¡|½ªªU_,[ÏC5 *Ëh•‹E˜E¶Ì³9¾P\×Än‚N‡=wa·è.ÇUƒ)—»;ƒï[TÛ±ÝvxþðÝwë5ß¿t±Ö¡tzêq)QÛqüZ㫚º†ëëŒ0v‰—¦IØÝÍÐÑpŽ÷ï3—¡9Âi†äÄЖ$<Øß-GLJ¼Õ :Ðõ=WYF—Çä¿miý¥bno ¼¸Ç·>YîÐ_„¯"ìc"ùIl`­å,õùÿcÎÑñHÞŒ@Èv²E•š¬iHc¸Y¯ ǽ`w}ŠãÏÚ®wB°IV¬7k9øºFÚ¶áº,‰Çb‹¢(ÑiJ/}<Ï#6+ÎÂ)oŠÄ$Ð̈å1³²$tÂ^ï;þþÁq0÷-Ú×$c…r”z4—=™µ´W0ß~‹1k‚Ê¥–.‰Ž¨ºz~KfXN‚€››ï"„"›¡Å-·t›Ž×¯šº¥÷Âjà‹±š® Ž"~Øþ™©œ>!d²¯Šó4Ø£c|ÝК_І4]qL%$ùè_ælç%‹uG:ø¾OÓ4#.ɲs”J÷mf Ÿ ¬÷ïôÝæS3ÝÇ,&ŒpËg}ÉîŠܦFŒ­Ž X‰Ð)ëùœ¥”ÔÛŽÎÏ t@Ó´(oXÃí¼å$ŒN-*‹¤;$´nš†eJ>ÔyJÚQú}ñÃ{ô4Þ+7lÊ5F&“A)H¥)³/Ò€› >cN™GŠP:û(vØ•t@™–Lä e]‘‡!nU¡E¥Þ¶h­ðÌpÍm¾%ßåxžG·\G4­e·ûˆRéHnz¢$o¡Y(<ߣªüû’›BàûÈž•ãp…Ìf?¢Õ„t2Ä"3oÆTNAs…ˆcîlO`¡‹Æli[õÄÓ²{¶³H¢Ô-qîRŒë¶®2ÜtzÇÕNŒþZ]U¡ˆäP]}# ¼¸£­Ä³¤µí¡OS( ¢MDm†¸g±°(eÉ& ùzEWU˜rBªÑ:¸77xŽC†l«’ØO™¸.êHR–>¾ïQ_‚‰5m_aµFZK-W('¤\¸þ*Š|ðí®\bò–àHÑHI¥†¤mUUDj Ç\ÉkÄFp]U¤J±Œ—ôËõDMåx,RkÓ”ã²)«¡M8Ïßç£jëƒèºA8lKß v,vZñˆöXû k“=+Cõb‰«…óü=7¹ØÛ k9õ5RŽŠg0Ÿ—„ZcJÏ÷hë–ùn‡¯ïÖkŽ„ —’\ÎðŠcâ(&÷šõOo0ß~ÃDN0§°(nñäd$-Jº¢1Ÿázë¦a%æ¤*¥¹jØöž7júMÏraqw-ÉYrHDq<*Ä1¥”Ô]G áИ9ØÁ™pҔͧOt®K^僊½” ÛO 2•ôiŠëOæ6”××xSM/¨*ŸZkDÒ– Ž8'Sú²|&˜zsãî»&X,«U„š|Z•|Mð¢xÇíV2 GU«&$è®®Î*Öw–“—.}oèÆÝÍ„4øF’% Q¾Æ‘ßgu¹CDA)ÙÌ6dAGd"‚& vjZÛ²™o8ªÎh¼Š¦ñ‘²Eë[ÜþxŸ”*ôÙEd÷÷Üvg/_Š¿XœÉ•Æ”ÅóÖ}ƒP‚Ð y¸øLÉïsTè¢TMÕÖ{þ3Ûtë~MèN‘2¢ï‡˜ûjsÍ—á d°î=®o·}!™ŒÕ÷ùn‡V½Ó´î´åVÏÔ^,–ÉdÂÍj‰q]%`B ¶•D=’Òö‰Šñ¨ëÃÞ¤—@k‚m„ÞÝRèS„¨¨F¥³RÅ# Mžs/®E¸ÇÕÞ.ÆqLYU\l/0qBÊC?²Û:ï[v»|ZÕ²þaMúuJÓ´ìv;”R#ábTÁó}ìvËÖ‘c ÝŠíVrÑ«nàÉUIÛFQíIäYvƒÒNQÀU‹žH ÛósŽÀk‰HÈósìÃŽ¬¯‰ã”uvN»TH#‘kÉûæ=êBà$î^á°ó«ÿ„ºÝP7>Žç€ м­ÞòÍä~¼ÿ‘ÔLöûLAÍJDøMûì=ÕÌ£±ö£=, vwÃä4üFë“o6TiÅ‘"VŠfs…õõIysÃå&&ŠG1!\—Å¢ÃM[ÂÝ{r2*¿Þ³ÓSW\×5G]Ê:4èQÍo»ÛøŠ›ÝåÐùáQ½°Õô¶Üw#ËKUEgƒ*Ž…²ë8*5µnØe¥†ýXÔÎ8×4MÓàÕÝTçKúا-:bß§¬¶Zqzr‚¨¡³Ã=]Ó¢ •’bQP_ָӃ _µÈÈÅY :ÝÑ–ÇU,·[|mhŠOT$"9e3_!ƒ[Z'E2êeïîq.gL¾:¢iÄód»sÉŸü”¶í±=TvÀ ¼—17«kŽãœ7+Ë 1øˆ½ãàEUßãZkÒ<¥Ò5›ÍrÀ 8±›°áü¼!M{¶^cL‚19?m¾=9á‡ê?ùþô”—Ý án©£Ç¥C„”uïÇ8Þ¨¬ÑC†È2<¯çøÛ/óŠmÐÒa³–ØëwÜŨ›ï8d*ÒѪíq<8_½:¥,e±EH{6$³N˜²­·H%©]Ù÷ÌV3|ã£ËŽXÄh£qÛå54 ˜Ü_ÌP“Áÿ Ö]*Q£zXÊjÀΚ¦Úw®ÙYKäûh\!°ô¸RÒWšíäŠØÆèPâá³Zùxºa29ÂY[úuO[/)ûž¿£Û^S Å‹¶¦ÔOÛÞƒ”ñÐòpÉÊ.Q®d6Ëü!Þ•“ ]YRÏj¶õc ŽpèûžõºÂ˜Á¶ŽË6{Gf=ŠÆ£åªÈy©&£B¸|–ñ+U©²$IZªÒa³¹¥î¾ Oé« ?©)ËƼ^öø_Hú7¯¯ÐéW¹TÕ%w„ÄGÓ¡‹W@<&ï¸Ø­Ñ힊©«á¹œúŠËÕ¯÷R`â½ZÑy’$ÑüyõžGgcla™í?\`$ø¹ÀéØÉË÷%Ašòa{Kª4ª-ž!ʲd6ó £­ëà0ŽJØ#qªCAi:ä‰í×í°×w]»ÇÞ«eE’%ÔAMÛ6û=¾iêºfµúˆç ±BŒ¤¼ñ·ÅuŠªÖôeÇJ®H· ­ÖÔuÃÃÃŽ<H^hÚfˆmÛ«+º/¸io`~9Gz!yWàHÅÔ£=vÄnß7 /”K§-Zµ4ó+V~Šg{J×Ev=2éÊŽ‰;¡ïÁ_¤ï XNÛâ8óÝ×opºƒMìÚ)L+ÿé'Ä$%ßýÇ™p±» tBæÊÄTÆÙû•^š"²:¥ÿS¶ûZ»k´Žñ:‡Ù[ôtô{¡ØxÖ~àEªh—°ª°æóÏw9[ é JŠÕ!eÌŽ¦î¿“Ë~†ûbž®ê˜N=åá6ÊyŽ ƒ=â…=£qZúªÃq<êzË4Œž€˜sÀgwt„%ëݧַÒzÜ¿&b­Ûq{ž‘Ž{¿Hl9tœØ°Tî)£¾öƒJ`c NÛáº.¥ip­bå¬ð¬OÓ(ò|‹«Z/èºÁso]â×1CUÅ8Îû¡‹–ù”ºÂq†E˜çÔJQ^•ìúÚ ~}Öu3tK¨óó7™/È¢ŒÄMÆ.`ãüð;&L°ô¨JáÉmQ¹î¾x,ëU‰Ön{U¾!w;B'ó;dBPm[ŽMІÜß»L&ݨ ŒÝ !o'p4äÆó¶EõC—€ys¢\´n©k‹®ô³X®(6ô=HG’ªc”Ûrš¯ð'ñزe]×¼ÔÇll<(êYØl2Úã ¡¶îˆòœÚU¬òôâ"=Uõ )Z½Ã•×Bv¾ßî»1x®KÓõHoŠÖ÷÷5AààO îúéäl6ˆ²`Þ÷èªbòêUU²NRT7ð|»ÆÚ¤HXÝ®±¤(.qÝ„¾,®ËêϦZ¯0Ó ³YAš(·E„!~Uñ¾›“à?Köde‰v]6þ‘ ººÆÕ$4MCÙÃ.‹1ÇôBà Ö¶tJ=T⎾óÙlZŒq>+dÚn/89™FƒÈŠèÄ3L¤÷{hÄ@:šÒ=t‚¸¿ï 7 DQ¤¸²~ÛòæÍš££Árê%¿ÉQG.Ê1¼>}Åb±Bˆ!gwÛ6¼V>yžÓ1'bmÏeqÉ—Ç_²[­Xä+b?!–.W÷ ¦š¦{@Yýâ1~wGÿˆËäç¸*%uR~ØÎI•"I&¬ëœbU?ÁÎüldéÊá¯Ç!°=ž·BŸº¾%R(Jè‡VÀª’HÙÓu5UY“È„ªâ2srB©JÜNîí½«5Y”p?Ÿ“œž²¾»c:õùĽ¥ªb¤0ÒT¤ÐD☺ߠd>AÜ‚“84‹á9è㣽Îåî’$}Ašвa¬I8"ÑC=Ÿ!GLç¾®‰}…#]ÂÙÞ¿¼ÂÑ5Ý¢£*ÏI“:qƒµÁAAt­˜N·ë[޶G\U3\J9ì‰^å¡·š‡ì-F§DQE]Kü¢dþ°ÃD·1šz»fœÒÔ5³l†¯|Ú« T¯hEÇzý€1Ã=›€yõ­ÌÌPL¤Ó³ÝhWòø#è€%p*ìl9tV- Z¶qÁzaønÓ.–C¼ÇýÃÿK‹•–êVM——I"ïúØP—xž¤>«HKƒ¯|ê¶[$[´^ccp{‰6šlû\;è~°Ky–s{«H'cî;M¨ýÛYn·x®Gž÷(%P÷ }2£n Apõ°#\Â0Ü«„3`«Ræ8ŽAX‡—G/iª†Ök9Š]K,Ðq¿='’!Ö4c\¯Û†Ú.øo r7c[—hmžäŸÆn¦õ O¸K—ÎÌ"Â÷=>­?‘:9©ù’~уÕÛnâÒ& N]!þýßÿý3ÂÓãv¡yyT?ûLG-uæþÚÏðÖP¦‡¿?s¾ñ÷¿[?ð§ôô³ßõ;',1Ë„jºÔìÊ‚ç„ÅR¿&‹þÞCßí¨_ Ò²°L}Áqx5”ú¯¯Øã‡ß~öù*ÔLvõgŸ'}ËÆqÿîûëwN˜}öù§›Ž¯^Iþ«Å‚†£¿û<Ú›qÚ<†O›÷|œbÝøWÿa}Îwé·?û7UÍ+£qC»©þ!ãð0[sz’þîßmÏ/ˆ¿ýú³ÏÏ·K¾§ÊÃoÊßt®nu‡œ¼øÕïÌnrN^Çzñ}ôÍo¾ßûêœ3óí_ýÞÕÅŠ/¾žüîñ°Ý'„üê·Ÿ¹#®^ü®k|Z´|utX‹i%X›ƒ9 .ùQ»o÷ê•÷WÏùÓõš~²Ëæ„Ñ1çù Æ$¼’!Jw4õ0¯3u»ÑØ8P¤™m¯óÿòõ»ô2¦å!€¿±¯„ùícÙ”Õ5ÿ}ÿóvºƒúw˜¥­»!nâõÍ»ŒWŠ~÷3}|—1}Îgÿ'MNWæ¿èŨ^ûÛú¡@Ÿú踦Þ›Eª4÷ÒÅ”‡wh…ƒ°ýç{ÇÍÿÕÏÛŠûõg鿾ZÎNݑЗó±ôøjTÝ<¼%9ý§a ¾[óÅŸ×Ymß1‰ÿôwÏ™Fö¨ÎùÃçâ›Ý‚ÿý—Íý«¦á uhu¹+ù2|¾Öû8'¿ï¼›Å9ÉÑs©ï]ê³–UsÎD}‹[ÌiŸøU¿å¨>\c¾{=$Šü·øíï ÞÍ9k¿c•n>â¼âåñóµþvsÃ?=i ú—GëW¸Åçö!ï*yø|™ ¦eY^0õ¾æ¦8/I†öü ÷ÛaŽ—Mˆ§v¿zïm5#2’’éßýΣ"$ówd}Bäl~ߺïR´\þ^®JÌŸï[%ˆ›ÏmË»â#ò?ßs·ó7/ÿ‰ì¾$ú¿îoœçœ~{°cÛYN|üægqv%}øËûš¸Ýa_þõùU÷_¨_Ÿóúޤþù}xkKbñËךÉNºWèÚÞÌ’ãþ¿Äޏ¡O»+þseù5Q0¬ñÛVòòiÛ’_8ÖÍ5©zýëqð)mñyþ‹rÅ×Þs_¯ŽVèì×ý¿B,ñí”ÿG’ 6Á°VWÍ Âò{Ž4ðXç%Ë$fºÙþm13N9á¿û‘gçÑ·lú¤mAÿ¾˜ªô<¼ò·Ä4%àá*wßõgç¶çP–¿}­ß¹%q•ÈCœþ>ûÈ÷Ñ7Ü57¼P¯  ‡ùPÞ ¼?ï#Ö•‹6Ïï­º(8 Cv¿Óþ\ßnyý2¦ÞYtø×ñŒ2Oñ‚5&\R힯#9—tÇÝoº®çy£Jø“8ìj‹øâ—cîîaƒ`nÅf†Ÿü²?ºs–„ýïóß»ecÛÌtDÕ?&g±ùaIümŽð¿øÍ¿™ô9+çùú¾ÙZ^żOÒ¶í žú[žåýŸI¾ÿןËrèxôKÕ£rÚoõ%¼èþþç»oÎ\õ×1­¼ÂÏ÷ã \‘{¿;VYŒ‰†8KŠý빆ÝÛ{Â:ûÝÏR¤ý÷ Š­hÇxxÖjNÜÏ}”Iºaµþe»šé-QÿækÆuJ_\°KSÚDân:þ;·7/ÿ"gyw±ãÅ׃»¿h9ûúç×Há;øÅóøª¸'¿ÝA@þö{žýÈqô/¿é÷ëL‘þÎ\v\ùlÍoÃaÞçs¾>÷ÙÜnB+ÿº_ Åµ=ì¥bv…=ùñ`°§Ÿï ‰ã³éÿ6ŒhýãŸIÿå_õ;Ë5Óï¸JõdÙó8©n2´zžóùT­ùʤèÜÛÝg„gÑßüû x ÷Ÿó f7+¾ÿúˆMóËqyw‡÷âÉ;¹k±/~}¨?è¯~ž÷7;¿C­5úHÿ·°—b×6!+DÞçùŸ‹zË×ú×í^ë­qGâJÖCô¦§7XckúœÊ þ!c±˜;ýn´ `ò·ùœU\`¶þß|o&T™¥¹[¡^LHü€Mq¸—N9È_˜ûºÔò€¡­7íHüþã~ÕáLþ±\×_Ò¿îûæWK‚/þ>|{µý‰IüÏõ{ùû5Á÷?o# ,–-“oþúxÿ¸ù3ÿ’üë?tì.ò_“Øù߯—ŸMH+ÁæýÉ÷§?û½ïr¾ùÓóu<‘°ú+nRY\àùþ¶|›3ý§?ÆœßV(ÑðÅ‹_ß—n~ÚðêŸ{ü]¼{‡ÿ§CÞ?LZv›¿mí9}ßLÍA)ðò²ÁÚžÿ´÷\²#Iöü~©uæ)Õºgºï^[3ÒŒÆWá>_è> /¹Æ™i  PºŽJ­3‚"+OzvÖø ¨ªÌÈwpBR&%«"G ©nö‡!R ºÜ@Ife”W’§1îîTYw!M$Œw»”â¡àû}7?')˘Ÿâ3„ÜÞŽ!É«ßÐü†òÚ$Åt]ÒtKj»ˆy~BªÕÛ ${û–iºDÈyR,s™öÛlKQH)h[wž›dÛ4 Æ€Ñ4Œo"š¦a2&Äü ×t—’æ~áÏcÿñ;ëaMö>#‚…ŽB]–ªÍš/ÕÚÑ4©ªŠ4ÍHÓ q'p½0Lu›+°D*Øïu’¢[Zc>íM~™ó°Ý#¤¤Ûu!¹nHïï—9eséW!ç¹HAUUH)ˆã£ª¨…@ó]Êr»´Çˆã˜o^j ƶ%˲å$¯êÖBöð€a˜\Ž£º1à8 ÝÿHŸ§Ÿ‡t@AßoÕ>Îs{šg'Vó7Óäª=•ó- !YëkõíL_¾³¿»[xbC’8欭9ï5`£èvOQX|ýĤ‡!x›çªœõuFìût›ŽT¤mËñ´­ah _Ù6q\t-7ãȪÖÁåí-µ_/{þTmSýÿî¨5J¿ïq ãð¬”ýðÎÓ{g§±ªì2ï¡’»4eÒ&ú͆[©ßÕÜÜfH)l[ýû÷ ½‡  ùÐPÇ5ß+¤ òqÙ—‡‡šišÔóó¾>ÉצiÐâ‹eÿÆqäSÓ°^·)(>L­ÍéK¢Xãº-oßX'ßa-BH&ÇÁ¯ëå{mÑ_^r#n¹°~`»í0öû=ÄoÒTC–%ßþp‚¸¹ašn°¬5ïòœÀ0¸l/—÷lÛ^hµ^CµÝ‚þíÂÿO<ضBêâ!éï)RJÖëŽs¾W´ÎïBÉÊA7*:Y¡E±+z]¤ŸÉ²láÛñÔgŒ"%;ÖHy¢tiß÷¼|©* q…à·-BJ>¤)a.ëþ뫈òÓ'üàíæ† ïg“Ò]«/ë †Ré„<'4<,ßÇ45v—·ËúBWã§åR nÓ[„˜k“õºáýû3Š–w>~lù8˾˜+Üq;·Ô° ºÎ_è+…¤þÝ!Ij EÁ+iϲ-‰Û–êöÃ,ïò™>˜æˆ‚_ÏNøkðã\FPÇ1®ë.{ÐjBµ¯‚ÍF½£iÕ²¾ÇÇŒô!EJõ·°–ï½ú9˜uŽd·³È2y›úž‡Fñƒv§öþ.MI’„_MèëpnÃuµ¼£i6¶óŠ,Iò® nRUþ‰öOôIuû¶Ur¾ßNª¥œy¦Ö—_–Œ£Ažç¤} uyL«i"ÏC„ìQú?Ïsœ—ñ"÷öýò¼'%?¾þ…,3Žd˲,¤ Jø-®s›¦Œ£ËÏšoÝÕ„gQ·j>M¼þ)^ôtQÄÁOŠ^‹wç½IS%SWû+¬™Ó»;¢¨GHÁnW3ZÿHéeËþ=éÅOmKø3ÏÆÂ_xàrnãdÓ0ðùó¸ðQ;W~Bðï!%Q‘__³6Mêºf,Ös;w}.­x·mSòùFõïÙÃß !#E{ßÏÙš[²¿ýí [¤àõl¿ÇBðÆsè:!÷Å=Ùzv*¹Üï‘[9¿;ÛõY·<ѡ۫êÒ©•r¿9e]*»g=<¦5íy½ù_øø±a?ÚêçqD I³U7pŒY†³l˜ùRyú"·FÍÁÖJ‰¦)ø½ø]ñŒ°¨ª^a¨©ÅôO¸Òoèúná«—'¶ÂL®‰-T;‹¿D/â ³wwR ÷{ªê#zmÍ{Üñ€«Ûs)~%lj§~Ÿ8ß1 Á½…;(ù8]Š_ëÛ(œ´wöËÞ©– ‚µ”ôŸF*™Ýn‹î•ýÄ8ª9Ý—÷€ÇnW.tò„7·‹Þ²í{r§$Ï]¬aR÷—6c‚»»§(ìö¤ï>”Jg[ZzØ{!ˆçyX¯EÿšæŒ=v;‚N,X¨ûÔñ.}Ç0Lüä|§*œî R-Åq„”'%{h1¬+ÒB­Sk4„.(l{ÑOqsö½{„Õ ÿ%ƒïSg5Å£ú¦mÙ ”eM<ã')%z²ZtÌÓïnô„äù⥿Ððû7ÝMw¤Kõ”®ˆº‹Å|˜ot=Í/ŠÏZ½åSùîȶK) Jx›¿¥,× #wÓÜnñi¢(b_UlÒ åÛÇ#ì#½á ÌpòâŽO‹íTóhg™£|Ž¡„ ÉšÇæ6ëlûG )¨fŒq Hßg(jîREÛ¢Xó™ÏЇmðý5£ðEb“¦)iŸ~·}÷ÛY߇ƒÒ±žr¯Ï¾B×Ñuªýò“ŒŒW‡u– =}KΠղŽû¦ù ֨䶪6|)%™ãÐwíÝBãqü¤è±Üw÷|kÇ3ß4së§«ðBb<ØžG¾^«} "œ¹5ÚÙ2ÇJThQt˜Ó³}BbY{v³¯vð)Õsš¦l¨lÕÖCÚ¢ ƒÚ«b¯ð_øÌFlÓtYSæ "q{[¦²»ÝAÏÏß­ëb‘ÿíÖc¼¾FJÁ¾¬B°Úç¼}›ÓÍ6O¡*ŠƒÏdoìùýð³žKu#öÉÏjƆa¨®¯ ý﩯ëg|®ðÄ‘ï&Ûl{ôs˜…‹¯âyÞ²þ¸R<±— вñ6Ô´LµÇl†Vñhgv”¥Â0®ÿƒÚK­ × |ß'MÔs÷Ã=upw7‘ç9Ó"´ƒÂQ7ú NÓðqð…¹Æ|\x³ëÆ~ÓÍDßõ* $îVù½ÜÌÚ…äv·AðR°^Œãý§(Rð¨?ªq·w×á?|¶-<×'Žc~ô•N¾0^)Ÿc©*Å3ƒÀ;ûûÇvdÙÃ\½Í$«*>~h“\ožÉµ¢ýû<'™õxQø4MC¾^sÛ÷êf»¯xú¤ÝQ–î‚ù½ÁS˜äÞZx# cvü‡‡ mzÍcÿ¸ð[×u '#é￳{WxÒ]¦t¹Çhšš‡”‚}¾GξcŠ#>óý ÷õ„éš!ÑÎ#„¬´ÓgúµYæð$ƒŸëšæªAÁ/½{U·Š÷ÞU4M6ûXÕ"·ÿȶ ÿ柔n­ÒŠÛñ–1MúgAÆ»«ÝAÁíóõ>[·”‚¦lÈó5Þ®Zä"M@µ@ |å»Ùµq [÷|̃¯àÏÏ !h‡|b¡Û¶iØÛe]iÓ,s}úw#ÿîv%¥%¹™[sÇgÛíÄóX_]טƷü–=þAJ>ö=C0,¾Ù>˜"úCÌb¦Qñÿ|@Ì-Ûêéú²Ù¶j&Ì—Ï|i5fi•Gñ)%{!è§þ`³åÁ†ä¹j·3í÷ôBá[?]ÓhŠ/Êü’«¿÷Œ÷÷ضÍ~ÿB œÍÏ(Æ%C?bOBÈç?«ï Ÿ6Õåb¼Í†[M;²éç?ZÈÇGl{`ӱТ꫹JTLöx¹Ðîúºe3Ëïóø×kÓ'_çÊŽæ’ºª—yX£…‚ë·åBgÃ1x¨Öë˳žÑO[9WýBJê§›Ïuõ³uæ )5°|Ÿ]Ópssðu½Å¶U¼ŽPaªP?Á,M>Í~Þ_´÷÷ mêZ?Š)gÙ'þö·lá÷û²ü‚[-I’,zXJA)|]U—œ[?*;_}æêJééa3`I g§ðï®;a†Ù÷³?1!DG’´ o½ýOÅ7÷éý3_`®|ø{WH>÷=Óì¯wc‡ßžÚ6yN8¾T±Ë¶e³ßE{LMÅ Ÿhž>¤ Y–²=U˜¡Ó¥”d^@ %‘eÑ^]Q–9ëÙ^5MŽ‚éóg«E^²¹%ªãÞXhX–%CÛòv¿ÇÉöqS©9mÛíf{ÒiO?§FÊ}­øP‚1T±sW¨8|ùûò+n§[ª±á}]SßÞ*~2MÒ¢`¿Wã]_ç°fÁ-^®æ1–!Ó”t 8øPOՀþÇqÜÙ§Uøãþ^U¿Ë7 ³´ë~¡A>ÇX¬ìÈÆÙOtuM³^“ç.µapwWTÁBÃ(ŠØïcŸçTs È©רË>Ms<_J1Ç6T·”Ëý%A°EHÉuvM^©yY]GQ¨µ®WG¾Šã˜‹ìžÌ~a¬Ç°Ÿ«Æòü»wÅ_„$ýô !q¬bõCšbšeÝ`:ÎÂóB ÛUXÌið}ó"bïîÉ2—²ñ6Μé'?·u«¨%åüªTº%ýüyös ÊÝŽ"((­r‰/)qªa©ùV¯•~¬yò(úd¥òK¼iE4·+&ÓPÃÓì/õØÌ8WAy[2š&Zâðþ}¯ùøÎzÝ|P!Ñ#ýXßÍûvc¨´è:®Ú+v;q„•8Æ—ÓŒ‘Ò"ú/ Ò}½ðnœÄG¾ƒ’OŸÆ/}¦^¯ù\ŽàgÉË@’]^.{SͱÖ$OžéæCUw)f–-ñÅ¥š¦|€ÙþùíSw¼'½À3|p{y1W²Ÿ×?ÿ>Ë2ê3¾N6Û|䢹šs|Çß•3èqŒ9(Ÿ- ~¡¾¾Vöamï÷ÔE=cÉÇå]÷Çx¡IÐ >‘BÒºÉ÷úâ³îonp‡ÀWñôa¸§ïULâ—ðWG„(Ét)˜¨‡MhKlýIÏLš¢­j3.Èêl±å}ßÓʯÝn1êòþžÑÜÑ;²££xÈÓÜ}ß_t?(šêºjÿý´î¶tô®”ü'DÍœ3ýél®ôçÍy¶ƒßüÝOžÂÙ­êraÛ»Q’½}K’ÔØs®EJI1ïÙ§®ãS/|üì²^û Æ)Š1ŸÛRg¸><‹Ìg"Z}¦Íõõ@1Ç;~xaóæ…Š%N]w¤ß†¡U1ÚÝž—¿„Ïäóà+­/Ó£œOž¿W>ä7ýN‹®«(R®íhÛ–}‘¦)ýBkEm:Äó$_öEûÿø£+øûqää7¨Ž.ßop-—vh) A8©ò¥š¦Úùþ¡jUQ–„AÈÓe©G^ÐÚ<ìŸßNÿ½,ùùì­û“Û ó«Y‘dÅW/ºÕ€XËßT«©]÷û>íã=nßw>õXÁ–¬Ž°.¬?%ÇvØrf)¦ì®ïp¿{sôTcÛK Ðã·Ù8¡Ëó/þ>ìò—>§Ã°|˼5ߌ¤yÊ*Z‘ =‰m£{Dt|"ºˆc¢<$!Ÿ>5üäøÈ×éK3 ÏÿüÔûaψHí°‚î¦ÅýÆ]öàa ƒ„ ;¾.,Dƒëvtý ÈV+’4¥þðïçŸIª ùjEQ¨h«UÌúÿÚbýdñá®æçWþBø$qI³öÙm‚y?ªŠ3?Xæø|³Äà [*™]?HŒïzœÞYV˜ý#åõ7¯ÆñäÏoÅç†A¤ÏäVûS‘š¤ :ÜÊeš Ý:šËx7ÒÆA  ¥’â}yކ¼OSÞþ\xŒ"¬¼XÞñvž2æ/g-*aׯ·_LSÉ>&Ÿ«Èê:|JsN;ð" ©¬tý+kT?—J.~¼àªÛÑ߯ñÑ#}Ý“O-ߟ¾¢•^¹ì{~°í?7'‚UBù{ç ÞÎ¥=Ur]{¢E¯©·ÞU—üüðÅxîèЙÝ?­uE-Óþ”ýô ÇyñÕg%`L:ÂP‰¹á|œÛ¹õ~Œ$íwô'J¯?ÙÂ?0¿ÌùÑ 0þíf]|¤@¿J”ãYíÊ’Ó Ä²U«©¦¬¥&ÑдˆR£OmÖˈ†Ñ0MÞbwM×[ÚSò¯Mü–¿åö’(R·M n‰x}d#ž¿ó!MùyµZ†2 “q©ÞV¿GÔmÑ«¶OCøqÌÃçü³Æ4Í­Kb¦ÿ‰ö3M›ãº1u½EK=üoŽoèzŒùŸqâWׯiJ3k"¶ulÄÀíÇžè§€'Ü­'tK²Z™€Fñ[Aôo¸eW–†ü=}Ë¿¯~ýSÙ{~¢cÛ }ï=aÜô¿x¥ªZÜ=vd“¦;^¯è,Å›÷ÃÀKËZèµÏRNV+ê^úêÆ¤Úô+õ|>Ü”¯éÝ ž÷‚À²4mi>f#æÊ\&g ÕiƇí'~XýÀ0¶É¥6JóHP<á¢US„!í¶ar&†rž Zh|µXCžCcï×ô'ÿ¤ÚÏÞÚ5m§!OU‚ú{ÛþŠyNÙß¿D†QQ ¾>W°(1Mµns4i×-æë¹µÐ´Á0¾^9¤®ßáû¿,ŸRÉíþžïþ׈í)§}ÿ/×ó¼óñ;Š(gû8ðstAæeGûtW×¼öý…6®›Ò¶ÊÜÿ^òê©Âð<Ÿi«cœ ¤&)òÏÄñ÷_imÛâº.k׿¢íiš÷¬Voè:¤†ºQü©¾Î¢ˆ¤(ˆã€é±BœX4Í€Ó;tvÇ8Ž$EByRášÝØŸÃ<µ—°÷|Nšæ«VCμþU~›Ç\ë:çÏðïÝXð}tÊÐ<³ïI‚º!Ó0±OBΛæOmV{×âε})©ç \×ßΕ@ŠzC4óY›·¸‘»˜ì§ £gšlÆaÀ|VÅ7NòLUi-® ¢o6ívøÌ*y‰_9 Az™²úápuÕÃ@ôƒÄNÌÿûø–ï’Wÿ‚)>Hã8´]Gµõ Ïjò<# ]4Ýa­i¼xfCPøQÓ0Òaâ|ñÛfÏkï èô=c1`æà¼>®f2…F©Æîœ§+¿*7q¼ãæçDoT;73³åGfYJœ(¿·ÝJÜ3íOôË1¿LbÄ0¾¼UÔ•_!%ä—Éɲ>ckð°ê97Œ%u^ÄÁW˜ôcÿÓq°»Ž/…E½ãâÒÒ~Áî¦a1M_âV]×ÉÇŒPŽöÅ«=¿ù‰óËu˜mašV¬’€?8R¸…Kæâ8#]k~áiY ‰ûì—’VÓqg^Ê6.Éùa¬U¸"-Sʦ!|²·óTÛ4Â]ä×WÄß~÷u?>èi‹cÅ€F›¶¸+—iš¨›†( ñKŸ:¬Þl¥ÄÕ´/ö*…Þ,¿1QŠ?ý;+µ’aùóŸÜw‚(´ñ—¡,qF-lÙln Ão¾Tkó}ÿ Ûú‘: ñËâh%’ÀßS×ÿ¼y’$Ë…¾§*Ku]ST\tçÈTácOEÁѬ‹°õŽÞvþ§ ^:ñ@—[äBë:†gRîÖxÞ ©m³êz CW-™çu­Cä*y0×ãÅ1—ÙAòr™Æ0ÜBfÐýåWÂYÊL¢%_Nt½Î¹¸ˆiv÷Œ–M²¹n9ÿö¸"UÞ\{ß}±yE×9Þb£ðàeEðCðO⻇_m‹Íu1kÆÄà,¿xîÉ^?Åý^J –…aäLÓÁ_²ëša:s¼m'ÑNµ£x¨ëzK¥S ¬5Ü ¯^òê|üÊTåìK¹€‡,åe²:ÄöÒ€ÕJÔáó€õ½5'7LÓ Ë²þi4 ~ïk^ö/{$Äú\&µm’®Íšm•K×ýy@×ÝÒ¶gÄ~LþÏbpÏ–¶íï9{V5TSù 3ü‘iJ1ôh°7MNÆõ$<Ž?WÛŠàìxïmÛ¦ïze7††Éò{dë-ýä~]–ä1NòV+š4Ų úa©áz.ݼŸ}ÿˆm+Œmt=vµb«ïðWÿ•S$¼kÞñrtx1ü…öl L%ÁJ›µŒÂ Ý3ž¬~oþrøFfš$ãÀF¹zj V‚`°~Õ‘h7 ÃKð9Ïø>I¾Œ†' Z–ý3ÈòÕ?ü±BsfÛõ[LóGw tþq÷‰_ãï1Ú’Ñ U¼¤³᫟°í}Jž”ÄÙ±¿T~ Oïù÷Õ+ªOoyùÝÿFi_Lò(Þ£’l$œ1cŠK~úé_¨ôt|¥€RJ®«ŒÕ³ s™eq’OO$YV,s‰ÆˆÂÊ92X³iy¨*^qß‘[ÝF!µ¬•=üšÏô{ÿ³Ï¦©9÷Tná¶¹å÷m«ñÙ«øÎ÷Žb÷ã¯Ìïþ¥=ÿU_×kÌ‹ „i35o ‚oè{‹PJŠ0D«ª£vú†Óé|ùE¹QX ì›þeO*{Všçµ4»¼ïº’¶Ñf;ýˆeãÜ~ÛaŸ)ÝK=šUCÛfs›áÃJ¦a½À0VËÅ@ý9¦¹§ë\V«äK>Ûçh'1ꚟ}äÙ@wæc'GqŒƒ¢1L‚Œó9~ñùsÅ÷ß«Ø[…ŒŸÇ%vüUŸîIM“r×q~:!G›Ë,ãÅd៪–õÃcýËdynÇÊö˜¶ÍØ÷¶d“åxžÂpOú2}Ÿ²ú늭Ôp. ÂÃ?MF,ùÒ‡¦œ8?Ò?«^˜e—$É÷*x9`ýð¥} ‡ªj16&ãùôE”á¹m^ÞÑ*Yñ¡(ø)Šp&›Þè’ë:-ÿÿ%Žñuì7l¬óãyfYFœÄ¬‚ÃçÔg*u%%ßi¦™2Ž«CÞó¾Çzeÿ .lè?œ"Üš.8ÄÑÃ1äÿnïùKþ!¼ó@¿4ì>› /=—Ð )‡ÐX… Y‘q³Ëxs¦Úikÿ?ª¥ç·œÿøíM‡v¡!/Ú÷ú!^‰jwºYš“¬b•‹Óà±(xEämŽqò-A#5(æXãQ~·(ˆžpïSüþéÖ$«Ÿ0‚q”“ôûì“o¿ }ðVCÇs~í¹yŸÆ Ó æ¸ßa¨âÆí4áÜèÿ% ªÊ¥uùŸ©¼?JÂÃÃHÔ÷t¾Åw'‚Rw=£©“ÖŒ“ÅpC—ü‚÷?¨ lL“1>Ãl!Ú^ã:y$©½¯êf-±ŠAºyEû‹Ï‘e·$É›?#û¦]tUšîY­NLUîKìÀþSÀôÔÞSÓ@”=Ô©ª+¾9ý+û¶£;Yá¦)¶­æ~Ýž¨ÿ›¦É0 Gi-ÍbÃs‚Ї‡Œ0øæ µ´ÄÐæ¼¼¼¹ D¹7O%¼læŸúã\Ɇ|-ÿÔ>鼦hð"où}*TÞq%RýxŸnÚ¾q¿ÁuhÛ—83ò¯u6Øw5~gàÄÎ×yòá íåwH$"N0òìi”¥$br+Gˆt]Ñî.ÏyÇÈZ¢ùÚW“f6Ãçñb tŸZ¬ñë˜*«èJ'¬¿ØrÓëìhü“a`oîд—€¤Ýt¸ç.eù0üé«3xÎÜ'-Ó±ÊÝFÅ8 ¶æÙC#¤%r/ÑNýVäü[¤r#ýœó0Œ–iRXd›çœÇØô=«•MšöxG㩸êΜ8?ðÒÍ®WÐ4OgŠþÇûK››Û-á›hY¯¸èßè_ðþº(¸˜õêp;pÜñ}ò=_s9wûœÓÓøOíaÓ|Àó¾ìà×¶w¸îëgº@¢ImÉc-1²(b* ð$Zs¼Îæcƒ÷£÷Õå—«ašÎghLÒt<Ö½žÜåJÞóö q¿A¥bÅÞÞ㊆óÕœó‹3ò<¡Ù4xçÞ3ú}©›þHœqÚbšg\sÍ-þ,*ŽbØÞ¯Èâëg¹Òô«ÕÏ”¿¿%ü˯_|ó?WÕApì|4A€W*»ø¸íyõ&Dô=~lPçÓÑw«wÁ/Áë ¶í ‰ç9¥Åª(Ô_ÀÙô§ÓBïvl髚$9$EÛâÆ Vß/óµ,‹a¿<ñ´cª:G›¼X_ðÉpw‡ùúõ¢ ë("(¾žÙ»;NÛÓ£•Ô}gÛ‡ëA³ŸãÓ?Èüs_¡Ï°íäp6$…pv嬶ep\¤ÓxÃ8þ×i)Ó†ðD?0þÛû?þÏ•a`ªºŽšLÝ„«» bàÑÕyå…óé]UAd˜¤K@×ÝAà¢:¦¹¢¿½Å#$ªZÊÓBTõ¿‘âóV’€”X±M¶Í°,‹´Oqts¬ðãdyÅþqÅîp¢§ê‡ê2R“ôCO‚ÆÍv‹kšhšŽfÛˆqä·ß .^Ï•j,“IL蚆Ä@"¹m["ËÄØîíˆÞw¸+?at:­½Âˆ¤–Jz´-eYQ×:RÞqÚ~C+b|ÿ†iò1“;qG ‹aÜÝ¥ˆûkå²ÝÚ¸îȤë I²âáæs·#|éòvÿg|ÁvÛøB@Q`Ádta‡.uÛ¥ù؜Ϸ¹÷ˆ.‰› Ê”úý{¢Wo¨¦ Ï ðOmÜ@0ÁevÉ…÷»ï1<ß÷išöPa ûLl«ÓÏÙv‡íºH$eÒfj¿½ŒæJ ªÊÄï¿×œz¾¦1&#Z£-UÀbÈ=0ż'%Z«aœP‡!“ìéÛž®((’™+ ¬Ã4ð<õzÄ ®ê®Æ±í¥)ƒ=2µiŸs’0xãä`퇘''<¦ZÁ…QÑj«²G¾öÉúŒGý·ͶHšFày6·Ü|(Îñ*q9ízšFG×%vbC7!%LÍÄ b' ›&;Zæ8U¶©˜¦Iõøˆ9W;@# ibd“í¨`§dHH‰mŒÝ<—ѵèMûX.T7wBûŒnh±t‹±1L“÷×q¬q}‘Ûò ²opœ£2˜ÌiNÖCQÄxÞH\×4¦ òMOšu´d8^Hâù4}é[Ë÷ Ý ôšù”wdYôôH ƒ0¥€yžEQ`Ù†áR›ê¶‡ï+Y½­W§ãqĪkºÛ[r΀«ìŠÈ‰hiñ'ÁÖßâ\e Pá‰.šbÂ0 ¦i“ßx»ŸÑ¿{IïôÜ ­(°,‹»ìŽÀ ÉúM¯0¤yDc·6Ì ÇqG¥ %CÑ[u{WÓ 6ãOSÊ6 #«Ç²,Öæ#þäóî]Î÷îDzy¿"“#ަ‚§»u66H°ÅH÷øˆæyL»ã‰tm‹a(9Ñôh™Ës}Ù6 åXb¸O· oלœ†!ïß·\¼Ö`ËûÌcl·®Ûc­lzdÎi¨n =äŸÄDXºA?õt]‡nèU…~¦s߯‰úæás®Bõ4~PU4Á„†¤ÔJ ÃÄ45NN.b"Ûî°‡$Iè´MZãÚþ\½îšqS“ËÛ¶ÉËŒ¶i±ç›®OtH«”“䔼k™&Í…IJægÒža¨1“,{Ë8ºÄú¬ïﱟ4í‰ãSFw\xa˜Fvå×ò•Lz'‰ÏL´HGη^†qä´ii¬ƒ¬MeX„Yˆ¯™DÀÍ0`$-fkáÙ6M3QÈ{–{yÿ‰¿£8¢k;¦i"õM¬¾gÐ,Ëâ·¤èß Ù=å:Fˆ¿c'LsE_æŠmnY2ØÖhº®¯¹[†ÁŸùÀÃu~:ÿ )!Š"Ê4Å5O¨¯j¬Ø$ËÖXUÃ`ø† £ãÌñç¹ÎѺáàœ‡˜ÇÔ©TRJĨ@òÝmOéêFTÛØÙ ò¨ÄîÔú‡¶Á'LïdÖ¥Ž ’“â–5VéC!Úc a€œ$Žã,‡:ˇN^¾`°{d'I’¸Ó„­Û4Í=Æ} ±™ÔÞ!/×ÓpÈ‹iûûÌbÓnO_á´Ý|“VíÿgßcYeW¢g:ØàÇ>}«*8ä—9§ç»fÀÐgs è;äìA6}ƒ8s 4‡Qçd­N05è–Éý}ƒÖ¦Ä' ¿™L&Ëb”‚¦ÙÐìF¬Ð¢ì^óúq4ØÌQªO’„¶mÑ\mÁ^RJZ§Å÷ÌÎÄ |¤pèÆG0ðhšKt}¾u ¤'P7†žøÎòìÊÆò-ÆaÄ4CuëIòêÃÐb}Q`YöìýÉÅ^Î×IÐLmžhš‡±n©²†‹7*øºÛ™œÛ=šf“e¶mÍ• m!ÑÇ¡k0A}wK÷­‡ËÁ¹jEC]×DuFßy†»$É÷û3,{À÷<ÄÍ "˜¼‰Ëé’_þB×µØxX¡…°„âÌ™Ï7õ\¡O­}S Ò"Âî‹+„†= œlÍt–>î¸énø·²i‚¶Åœ±PY–X–ʼn&ÉÅ Ï•TwæÊ£Ì?cÙ 7MÇÏA0'fKÊÒbš 4¡ñ¶xË©} !ŒBÉF1 Ü_¼ˆ}‡8Vâûîé¦9ô=z`Ðj÷øþ ܺÆ?;£mg=2S²[w¼>õéºnž«š·)F׳õa¢­5„/°,“¾´0iæ?x_UD¶:ü7Ø›¿§Ø†²•~‚JGøÐðí· »Ý˲д=B8HÛ¦ë dxBHH';v»]Œè¦>ß1ŒvÑqܱÝvèÀnYW­;š>r{›F6qcnMz«§̦Ó¢,KlÛ×Ã!lê‡nbà8ša!FAšeÜM·¬NU%pÛ´i;m®àùdßvÞ²N‰’ˆTO1ƒÞÑ8ÕF bFß'ßïñL¯m©®¯Ñ“„ìî{¾¼!ŸU¬F‡Îêè7[„³EøÎò,±¯ Ì3pÔn~øÐ†ÁbK‚•uÀ]@>ä8½ðºm'=ÆÓ-Ý{t=Ä0Lú¸',Õ³nü‚¡‹ìm’äÕÛ²¸š®ˆPze¼¾VU¥D^_cúmÛÑÌ#`4‚  ÙnU½ÊÍöt–µìí(F4M£”%6Ïñ|®?£Ýì¹¶m.†]S—’$Y*´!5öÑ·s–õ Ó„iöw*Ád¡üºÅvC¨YLôè÷¢þ€5ºÜßÛÁÈHÂz¤ï{4Oc}7œ9Ôe­pŸ”df†gx*Á a¼ÑBÈ<Ø Çòéý½×1lc mÈyÿ;:´É¢ŸzLäm3V«]7P亮H ‘ÍÍÍ@Yæƒ=¹8“MYÕX–‰衎٠¦9˜&í‘«ú’Ä^ÑŽ-±,ø/MS\ÇýÒ¿—’hÓ5UÕ£iŠn–§Á?È¢óŸÐÚ_òü3¶SU:¦¥|ç¼ïj… %’ìãGœUÂ8Žp:Э-lLáaZ>Fä}ßuuÆJùtMù G÷¨®¯Lsnqwx¶m]t·gªk\á‘Ýþóä„ÀÐ m±Y†wˆ‡äùŽáþ‘³ —vT²ý{vËÊŽè· ?àSñ‰ÄJްZoõsµOIÔ샀žž$LÈó;.¤d°Ö†M×hû]kGÐ5Óræ°§dšííFáÖ ÃóŠŸHôaÂuKFï SNl7 Aà ÷)½gÍ•œ†q$wsVÅŠÞhùô©ä{³§e­ò*ŒÎÀ3}dØWÜßKâØ`´ŒÀ ûœclM²»ß°NNl…Ý ¿ºÂG’×/金Hd} Í¶ÙP7gg1}Ù38qi«*‰v-aè€cªõÅ1}בîL¹嵔ǺL‚e›´]‡ešèe‰¨‘®Â™'+‡]Þœ)|¸É |Û™ý”FU±J%ÖFô½d·«‰jòÌa縓◫¦!2LêâÛzSJŠ"@ÚÕ2VǤëtÑ $+dÓ(½×4 Y†q¡ôtÑíqü”0|Å»w{’ÄäúpsÃÁ1 J 9WÌ·ÜO±ûâH>¤”dB°¹éˆ#]O¸»/XY’,{‹ãœó¶, 3‰áô½{ˆ”5“m’þã8ççj¬ÌAR± CÜ®cº»ƒ À4-„;¡×š­üãØ¶çKž’Î414Áh¨¸ÊezËxòcªZ…ŸÓ %’‘º$:û/mÛr¹®ˆl<Ïñ¶Z¬xõî}F²²˜îï!ð©Þ¿Ç<9aç\L!·õ-~âñtæùc×±2t‚Ó¦nÄq:vï*zÓÂ[bµý#¾áƒ û}Œã´GzÄ÷g,äØŽÇ0 œ¿z··pÎÚÙXůè‡~y— àKœ›¿Õüô&æo»¿qjŸaS×aDÊ› +ŠØn[4mÄ4åòó,ÊðŽóMK§ë$gÆ|XXJÉãcÁôxÃé7ßpsS&ýnGäH}î˜"TÜ·›«ÝüãSËË i²°, a+›¸o>â+ƃŽCòj·çýÔaõ1ZGlhÜ\D±u°šäþCÏý¶ãôDÅë¬ØÂ•&íÕ F‚”8N¿` =ÖI’š¶5AóÙ·ºÜ9¯?,C>õŸ­­D–I­Yí&ÇÅ÷¼9æx¹mÑufYçYüä‰Ï'`: âëlòÇG¤egÚ­†±ÒýzžìŠŠïxºŠ›Œ±Nþr;‡Ë¤M*1'qÓàGE»&{ ñý Ë·X¯]<@Ól„Ùn?ັ:ä®TŽƒ¬+t]gƳ8’Zaì†È‰Çvñ­óÝÓ´Ð" Ñ~/rV–5W«ÖS(7㈦£æÓ£ic!Ð,•: ‡NÓiŒ†®îð\««‚N^bÛ1ƒ?±ÛÕ$+kÑÕWmGl*Î6(½eb-ÝzïªX¹ww‹}öšÁT²WŸ68=Œc€Ìs¤mÓX¦-¼¦iUUáÜÞ"|±ç*¡ÐuÝrNJIYFXÖ!¦n [ßÇz²Lš¦ìº&Aôw̱̘ɴ™œ\UQp[Øœ¶;*GG—:ãXà8éõ†oÏ~¢»¹aמã8J?X½E÷é½ñzÎÇÔ·XžÎÞ²±%ä³ |jmÁîOø×C­ÿÑyÄ|V' Oýýïgçö±O"%¾¯d¤ŽkLa’g¶m/ôiî,û×U5±ýX½ (ÝÝÉ€ÝÙØÀÈ£ö€/|ª›ü•Â;¯^½¢i2/ÃmBKÅ ²]G¢jŒ¨ØîyƒÓ*»µÙ˜È7Áཔυqäâõk\]‚ºN'UuIšú„s,i£ixBâ¨úRâÐ •ËÒºK4Í¢™»@XÖÁ?64 ¾èº CùSSc6%ÂvgL¯tÿMY"/ì›>½!>‹1#××ÙÜ=R¸Ád”ä»{Óa»­ðÃ3¢ûŽÞ…¶¾Â0£Å>í÷ ÎSNK“Ø‘ËØ@E× :½Ã¹»;펕ñÿ‘õ&K’$Y–ÝáYfQU3s÷ðˆÌì®jtáðX` a ð#õ‹UTU‘>˜6©é<È,Œ‹©¹WG™«‰ 3?~ï¾{ï³´ûa¼kY­4q2’½½¡ª+ܪá(Ç£`ïuŽ1â²ç÷ýž2)i¿žÑ¹æþ~ÇÕõì’?÷CÏépÂÆöõ¬Ü?à³ôò'sÄáÞÄL8¸)ØÏ(%QUp«áÕíÖÚhzòägÙZò幺ôJİc%N˜1ä=÷uÍpÂæyÿ@í“qÞïÐÎþÔC²¥á¸Iɺ›fûÅ[‡§ên‡u–âhilO? T_¾ &Bl]UPvß¿ã&,î%ÿ}ä‰ÏÙýþWbqÃÃÑçãå}¦:eZî·c"–ç{ºÕ|>'!awÜ!åb"Ë…˜@ÓÐûŽ(ŠÐ‹ê »6F©)Žæ)²nimDâAYH–KÁb±§ëìeërÁ÷õÑçØñp¹»O§Æ1!MOœCÖD ƒI3†ÖS–3žö_Ù¶æÙoxŸ>Õ”¥ÂZ;ᡞ¦ 5År)H’Ÿ±äo¾"ŸðŸ!Òt'CUiŒèÚ©$u]3È‘¾ïqÈ3Îç3F®\èÑœÏg\žó¥ùB&$IJ;‘|?LüŠ@ºju˘t‡ŽƒZR,GÆØRÕ;y<פFÑu–¢(¨ëˆjûˆz™|<µ-§• IÞîîïi³ˆÁŒh­èû)d\œû¡g쫆,‰/±Ef‚´›éBŽÅͪaìGŽRòÔ~!#ôý='¥PòDÎíaÉUò+Þ{~ÿ}O´þ‚žÏ'7s8Ÿû0Ž×ZOÏÏ=I"PJñõô‘ãÃ@bÞ5UåQ*Ô`mèdŠqõQÂ1:’ú”Ý·‘÷˜«˜ã¶¦o„”—;¼Û¬ƒ P†q IV¯¸Ì®Ç9Ç·ÈRHÉãþ‘ç£#o¿¡óœ¶øTir!Ødª¾"žÈ)£ò0ÀætÂCýézââ ÏÃíú("÷9kÂ=T¦)¢ŠÆ øFþ´'“$AÊP§˜ÙÕOwÔº]©©»xm-¥1Dù‚ºªáRÃynŸ™GƒIEd-mÛN=¬0IVFao³Š›bÁ~ÿ ¥2¾ßóN/X½«9}Ú‚ µ[=õãÐG¯éKŒ–#ÎÆÔ®Fu «4²ïɵ¦@°Z) Ißsɯ¢hF×Õô½Dˆ‘áë7¢·W¬[bãØÛŽ(*(òœºnX¯ §áÊ…iG—œsŠqqÖ÷É=…‰‹/N¿YöRåšð†ÏŸQeyùâE¨þmO6Oè†)Ùû\ß’‹½ÖƒÒ—zRˆ‚\¶´BvŒQÄ~gPÿïÿýÿýó¶«ø¼üÀ»«Œ¶ñE0¦#§æ„’Š»Ã‰hßRuÆh>?2_ÍÙÉVfõ/tâ•ÄÌçtCÃEÑ45Ibèû©ñTÓ¸‚'Ús„Ѳr+бÄO ûäý¡x®ž™¹ýØóÒ†¯º €7ó9ŽäùŸ;o+L£8‰žk;§i[j?Òu-îøúéÌ›näk³ä—òýkRr=G·=ÇãÌì7œ#&¼I]Š~¼§"”,šæØ‘æ ®>ÑQòå •T¸T]ˆ¨²xßa«1žP²aÒZ\Û!ýŠÑ{ëÜE¬Îg|ßá\0Œ–8kðÓX<y‹s µ㲓žÇÇ3y&ÐFÐE!S‚(ç𠏮´¤,%õƒ§\$ãx|8’¦¥aÒ1Åçž¶qX!0uÞ” ëÙ×=ÃyàÜÜÓôDñ/4}On vŸÐ˜ Æ{ôžÔß#DFrH© …‚oÝ7 ™£Ð<Ëg„˦;²È]7üLaŽ#R±¦pÂòuGŽ}v1U} úéL' CÏÛ7 ]ßSS“˜Ø!¥b4Ã%¡ÏJ}BÜ úED÷±C'ë6wdÚ‘»®»¦Æýéw–zN¯¶˜>€ût‹k£ŸÈÜòyÅ,zO«ZÒ}ÁI&g•@zÖŒ&|<â9ûnrÌmÄÏ1ëf iÄ÷Gò«ˆÛÃÒêºF«p>Çaäå^h¤C•%÷õ=%%Ù0`¬%:ED™ãôÜðñ ½XívŒªÇH3Óx¥dIJ¡ïƒ£Êèšfƒ-RÆv$&&* ”÷>ìÙäü0ÅŒÅÂÐhƒž—<>n1=©L\y†õ!ö-Û†ŒâÉ}/"MST ûÝ‘7ݾ¸[â!žT/ 9b­EŽôt„³Ë'ÅŠ¾³%ÐÁ§Ã‘ÙD^ý6x™D_.Ÿ ÆÔÁm® Í÷ækƒ*]bP{h)%]Û!•Äôr<°@Õ¶D.Ùýý=î·‘í—ÚËúožv1? çC]ŸˆÆ ã2„÷´Ÿ>á®ÿ„N³0v°Æá¬»ì±¶‘ÌfEš°ÛÖìú†ÄhŠ´ ©¬õ|¬>2WsÒí ñ§·lÎ,W4M1tãÒ„¤Np©çôT]^ÏŠïs´'ªåÛ=³Y(¢ûþ;BæH!©Ì«c×ãðÈÜÌɲž½hIÎoiTC.%º Mm)©Ùá¦wo‰wí¦Ñ¯ŠŒ¾t”h#žú¶Æ.Þô1c7pss>Ëé=¯ÀÇüuûw®¢1ì³<8Ûx¨Ö7!ÖNÏÇ-Ëó™r•и–ÌœBÜ,Œjq.8Æšà"½âïÇ# k/o+•[¥PÍî5·ßOÌrÅRï‰ßdˆ¶Ã–%CUóè·D*Å5޾¥žIŠxÇHC߇gÍdŠÎ ¾ìvSqxWUØá„RágÎB0œîQ:½càTÄ0´HâÛ¹†VwЀv)> ÄÞ²ì©+šŠ™ 6ôô› 2Šhº†ì”â“'¦®8¬éø~8ÐiêÚ@&ñ‚ƒ2M8‚'osüO;‡Èàšò)g´IŒìÚ‹lm¡ÙnHôk4éF)mÊC»ã]9ãÕÈÙúã$]7 ¢“äºçªq,Ûg”’$cr!6¾XÆ{ ŸÍX ‰›bÛ¶H-ú­×lž¬±¬þí‰!>b]ùƒA’'IN´­¹€§¸Gµ°Ú­x¨˜EsÎì…Àˆ‘ñËHÿ[Ï¡ÓÄBð0žÈ„&%¥%¸Î<Ù%80¹$Òc¢)û’Ö¶¸Á¡ãšÇôˆmî¸k\¥W—äú|>£&cš¾çØÖøÈ§×Ð÷œú#‚šÕ9‡Ÿ W);´#Uÿ¨*ÞÆ#ŒÐ=Ïš´ ùÎzç‰^¤I£gh_‰FâÀ‹!Ä«qØ~Þðf\Yí½%-í¦Å¦†Æ9ÖÏdW)37ããøÌ›ä 3íuç*ä“e¿: ®2”l†•hö÷ŒµÃ•–”~j–‚uz&ÙÒÂ.Ò”ÝÓ¿bí5F\ÌÄ[îw=ofÓ‚ŽþÕÈ• ´÷kç¡ÉØBÛ·ÄyNׄÇù[…{ë¨þøQœÊ‚Ù~ÏUŵ.èEO¦ç»úmx>ù]²Í+†Õ“vÛ ×®ån4tÍ†Üæ¨YxÁ£‘0Ä!gšÏ5mÛâ\÷ÞGœë3²—(çÀ{¶÷[®~BùŒÇáD¬J…œíù9!IZ¾mZÊ$FL ’—dVÈ)î0³w|Û|$òi±æ™ã§w“N÷“fôLÀoØ©ÅÍ ]'X.%‘ëédÇsµäOÙŸ8®(Ó0ŒòBp>W¹£ï@)Ï:ÚícüÒƒ‚u´çš¡,iÛÄ}L¢Ãßm¥"ö7 Ñ€Ë2”ZQ×¥$‡ò€ÿ¡âðÍTaí‹S­˜ˆE’ä]J'ÅDh¹º2—³eù”¼þk¥ãÇMò¡þÀ\Í_’w-M#°‘Å•ò82Ü |…ï[D Y; ŠËï<øg#‡/$³_Á¬»¥k‡æHd"ŽI Ç#Ò†<¡¯4SógÅ>õX`Ùu¤J1KM;Žým" S`Ë’¹ÖH95ÜýÈzýo,õœwiCÛ*š¬Ú–Üèɲ.€kûý_9•o±ã%PsùŒ»»Ž<QߎX=C/5ñMPE~_( 5lI"º®k/wC{Úá\Š1†ÁA>Oë÷›3é4‚OváÿïþºÃ]»iŒZØ‹;i‘²ÂŽ–Ó©%ŠâÐÜÂãÒ”¡ïhü‹ÛFE–g¤&eØc¬ÁL¹”ßzŽQDý´%/ƒ‚¸ÈDŸüäúÇß\qE×|i[J¥°6¦:8¯Ï 7ˆC<ß'ðSÎZ?bÄUÿ+"Ä…£¯›©Ô—‘ÜZŸ1ù ÷‡†<2¸Æâœ ª¾R¿ÐÈ¥]÷ˆ1û¬H.ä mcò¥4Ãó0®ðµm)” „ HåŸ#’dÇßÃî}õšçHUbË’ºW$IO×ÁÜåNGÞ½ý3Ãnàí¡ë4q|¦ëdÿ?öÁEDwôYJEØ>4`‡ùœÁûé^ÐêAII’,è—’ªè^†»ëÍ"ˆ:­ñË‘Óx¢ÙÞ_Ý0¶#]¯y<ˆÆ½ðԇϊ_±SŽÇ#Õ9Ük®7ì»?H£7d¹ b›i›ÎàLjÑ7·+ª¸âýõ7êæ;3¶cp‹(Í0`“B “Ò¶Å1öXÑÅ1C?ðb´¸- Šõš¯ÏŠwo#Ú¶e»ÙàbG]uœ#&ÑÌçÙ÷ˆ1UÕ¢†á=q4PGÎWŒ£¼Äè y¥m/ØÌw¹$ß_6òîù+ºÌxâžÌ§ÄÆRWK”NP:4¿P[„ˆÈ'WÒ,ªÚq}-ù,W£'åDŒ“$£eô#3õ†V´—†ìr·c– އ ž`„ª®ÑÓqè:ì§{céÆŽMHŒš<¬pŒcJÝÔ”…ƘÿË3oíÛð½ÇÚ`X•y"K$c"ïé''ë;ü_ÜvwOí$yzM4‘ñ» cçŒE% ?BîMÄEƒÑ|¹yó׆ãY.Oà×”>œéýû÷ØÉ9Î4†(Z3L1¤êA´;ôåùú­&ÏÕ„¦ô[—1®«µ¡”oišÓ%?RŒ}Ô“çMó³«åø8 rEÛUüQý;ò Òhv‡RÁ7 »?Žty‡q_{ÊR3 WÓŒ“Â^Ê=&{?W…O<¢ DŽÓÃâx cÈRf…&kç<ÿ箉Ÿcìµ`\,¸ó·¼? DâŠ!Ó|îZþ’çTmƒ”Gò,䤿ýÖ eŽ­%«»Oè<¸Eºœ„2÷lâ]úŽlÜ3>iª™!U«Õš…}Ƙ’¾<ÏqL<ÕY©˜/Øý×ÿ±çjfñãˆ*rŒ2Ž ¢¬Q]Ò!ž¯_ZÞ^ÙK-å=´¶!3¡I xÚþŽVÿvÙvíev»87ç|®Â9œýÌ®}­©ëP£ô]; àBNð]HÊ»;fyGe:îïjòNãc.¤€@öÓÜ÷y‡+¢q‘£‹ûp·‘ÃîÄ—{|™Ð÷=ߪ;~-sÀÛc'‡qßOµB‰R[†qº¥ä”ÛÂú –ôy»%·'ÃP‡ºO*¶»OÄñ!©©©‰A ¿~E%Ïû¥Éˆã”(é€2?7ŸY˜ Ì•š&ä´_Ç{R™Sˈ±˜¡«Š,7œN§àÄ<‚±‘±Ý®r޲ëápôÅŽ¶5ì÷[âøÈè¿D|©¿“’#+H”§®&7N¼0º9g=³ÓcëÆ GçF0,ÈÉaHkF™ojSÓ ÆK|±º¡ëN|9Õ̬Ay…m¡;$á~Ù>o±±¥ë¾áÜo¡ñTGT¹åékO÷TÆ0ÞØ±1$YFßA×½šFÇynã˜M5 ª,0z"MŒàn®XÅ1å°^›f—dìâ€5†ŸgôsOÓDH)9žN”¢|Å=\_;üw]K.åe¬ž:Ÿé¥@MõãÈÛ¬§ëq½î§þ‚(Þ!åÀÝ00é ø¸Z1+rF‘t‡=ÂZAˆ‘4T•gêú‘{úsMö.¾ÜÙNÊpÞð8pßíý3³kMƒ&òÄ€²–4öŒûM3¢'âbD%,ûžØ £YD ½‚éE#_ˆÒ†ŸðÀׂXð—«ýYðÐ~…¢€ÃÓlTÐ4 ïRG7M,\·-YÔ#å‚¶í‰\X¿hôì÷ûÐ'’$æéI \÷ å9~:’,vŸwØÂ¢µæðáÀ͹áÓá@:ÅÖ€›(•½:%iMÒõ46äÎëu¬:³·p[Z"Œ±|÷ßÉÉyHÖ¼•o9KIw:‘%3ˆ£@ ëbè¤ÄÈ×I ·ŸÞ¾5Óèõ#Æj†¦GŽv{…q:ã˜oÛg2cÖÆ&t8ãgû™BxkÙþÇ3ræ‘N‘¦–”œÓÕW‡žR÷­C¿™1Ö5Ýûªmyû¶Æûža0—óW5w8H7¹Êi’p6;!£§~>a£×XR}­H®ŽÇ5WÉ/솚Y”½æš†~ ·ýåîñ<=œxó'÷êàXÞÐ.g[S–%ñn‡¾ÊøûßÏÌÿ<¿ÜóÆ9œÓv'¾|m˜Ï ë§ ir§" f³Ùc­ÅXËibÌäåÞÖeÎmsK¡Ê€C} ñͯfSYž£G©Rü"çv9ð¿”:ki¿¶Tc…¶ðÔu°×$Ù@bb±GÊà†;/¡mÕO=f¯br£ãˆíቾw,dM+%² µ²ì;†aÉÞGXF’ÄÓu†öcËž˜“iy[*´'¢X¾´M1&¥ýÖâ«„*Û¢¤%5ü±ßß,ÂF˜&â‹êqm‹1Š,õøµ§Î4ms‡’!ÿ¶¶€Ñ³Z¯H\ ©¯”â}YR7/BfAU$‰¡ëƾ'o¢ˆÈ{¶BMä$¼g6“¤iÂY[DÕRÕ5EvC¬ÇãÖæÌfŠÙ8ãócE’Âç÷Ó™Ò9’øbËÁ8^G¦ôô-(9ÐGlg.`IeSÒèp·u]Gç\Ó|é;oÙèŒØC1Ùƒª`ÖÓ¿ŠÝŽž"-¨‡†ñéŒJ,ÍA•Á͸Šîhyé×,ÿe‰}#ÐÖò ©}—DJndÊ&Ú¡GE#Úhl×á•æ^+²ÑS– £.i§‰Kÿ¶ý;WéõO–ÄÂ÷ŒHÒÙ€÷dÙ{އ# „ÄF0³%U’róæ=ƒï¢ài·ã}H†ŸÛ–|c š2•v7<’ô h/9k½Lx8’<¤”ï„ýöåx&S†qÑ:ˆW‚ÛIÀC¶ë§Qä‘vËóÒÙ‘Ç~I&3ýž÷&£sáÞz¸ïxßÏ8Á6Šˆúž›ªâ°”Ìg*ôç¿>pýç9*Ï&ü@°¯*~Yd˜Ê‰è5ßh8užS>(x—áÃŽ.°R’iÍóÇ=WyI#ZÆòSNcš©Ï¾h§'(SñÇ¢Çóùó?ýé†ãÏÞÑ÷=mßbGËã÷5ªÿ<ltC‹Ñ†Í¦ Üàô·#×ï¯éLËsóLîr20D­SöûÏ\_¿¡NÎämAu=¢Zž®qZ³Û}ÅÙï%õòLd£ wÌê°"—9÷Ã@*ܷܵ˜ï~¡K[œ5¬õÛ…¸¹|RX{fpr _ZÏçÔëOüöçÿÎý0Ðß;â¸b7n¹° îÅÙ˜ñåt¤˜¦8t]GY”˜GƒÖšA6ˆQ0f*“ÈC }…—á÷?-iòÑXÄt¾CÉíæ¥¯03Uòµï)¥d}®xüVs=ÆŒñx!•¾ %c±]­(g=êÿ?þ·2æÍì-Çc ~Ùä…GŠÀ¢7uKÝtX ñ ÝaI²˜q¼ýL,´qPg9íè†ÀútÛ> Ê›¾/lμmi¤äß×_¸rW”³W×ï=¢ñÔupÙh’ë«@_ÓØæ²!ûnE¯ýÄèÔhêo5ª˜ÔUR¢•¦<—T¦fûážèÝMÓEƒ€Õðƒ‚ñå9Ö˜,C\˜£Õ›è4lÅ7ºŸTnxOÓ÷?©Â›æg®A9ÔÄ2õQ„‚¿ö5Ê«Ëß]=ü2C@÷õ+¹BÉó½#Íðž/§/º@íöŒ ÷øØòÿðD]Ǜٜº¯ÑB{Ïöt ¬kc3²XDÔR@ÖÕ}Cœ)TöÅõÍ¡Ýí~RÝWME…w¿ÿë_±WW˜Ø2ô–nŒ0ǃ±è²`Ó®9õ'doГ£ H#yâhJ‰Ã>$;#qxŸš®CKqùݹÚ ¦Þ™ŠhÔ\5)XMdº@|¿¸â)néVGœëi}K¿î‘ Ž_škP×#ëxMìSŠ¢ MíÅõǵt@ä_†/dcvY×?ŽG±Å˜ kSM?И±ÑŒn€ÇGlö.€œ¦EM |®Â÷߬+.ç|Þ0KÚvøÉ äcõ‘™žÑŽÁºx«^÷`#-Rjü0pw$Ë–h}uqdZËï$ÅoŒU…” ƒiðQhH†³W3*59±¤è"Ýíî+ª,)¦5b4x¶Ï¸8ù©9cÌ‚h±}|æ$ÑÞ^ •—?cœð/ñ'Ït§ï=qëi¢Žbþ ²i°×;Ì/çÌ*Eï·§[Jó)=½ï¡ªP)ìÇœwγޯɒì'ç³60B~+ÞPMãh)>qýÀP†"0vŽew$“ûÞ«ù‚ºmë‘® ïþÛ÷ÐøP*ByÃ0"^W×DqÄ}ÿ±._kJïÙûÉ]'ŒNpW–qµÁîBú9O¼-Kžž,QÔR?<¾½â|<ÓÑcbCe+Æ…œN ›ñÍ€ÖæB¬úùØ+‹”ÙEu1žFf‰cµŠˆ£½L’|:‘a\¯!Ž~P"z¶bø;a’°¤ ɨç…äá}ÌLkNq<=Õn‡¹ºâ_ÿµáí_2šF#§XˆÄõ‰=WÄmE3©pÄôäl³ãÈn÷È—ê wÅ0æ QÊô5u?P7-mÑ2n7pë C®ƒcÞZDÛE‚qc:¢õš.Šøã=Ù ŽRÎË-ÑäÀû<,‰IÐzàp8`aWd¾¥=Rk„ȹý¼§,p&ÅóÆÎh‡ÓiàA<°¬öÜ}칺²'¥¿mÿYœî IDATÆÜÎkÁTUŠOOÓ³g¤~r8º¬1$JÓÁ¹TæA11Î)ßZlÜ#‘xâë‹JÂ{mÔý=Cšâæ5bTUEt:28Gb4kR]œaÃHÓ?ŽgnæÜ;~[tÔµda,äîh?·È2Œ²“2üý´L±v`â—  Ä’®³ØáBÔô¢C ÷ ~½†8¦îÃ}óârê=ˆçgòÙ Ùm(;XÞ×”×Áþ]ëÙ7(•^ÔF[µÅ J…¦ï؆¤ñïß7aݦ{úEý¡¾­h'usðßWÄŸWØ<ç±}ÄD:€WSî`Lh<™q 3!—ªL…4¬c¼ î5ÕzÍŠ\/^Hn³p¾¦wó0>’’ð¼¿e6ÿårë¤fwHYÛ[†SC.5 kI³hÂXpï麑Óñ„µ¡¡£rK·Ü6·<}T\]½:k>oÿ knpv¤©*ìô ?*–¼÷üí÷šb¡µÂ]GX[²ÛoqÖq¨*dÓÐùäò“»C!5Yb¼NSâ—f}² çÖĤ„œ¥õíEžô)ºÕ—{èåÎnmxÎŽŽÃáHA亸<ÿ6ß^îñz:GFiÒ4a¨vûÙä”QUJu,Ç% aÌã:ZãZ‡JGlÿz‡¥¥æÔ¶h)™9‡5“âP«p?Àãp"±¯Ïý¢ŒwSü£ˆ:ª!Š1?¸ ÛØRê2\]ê¦F)Mß+|*hU‡±æâé;³ØrÊ ¿Ýa‹"¨Õ­ã¸ÏQ¶¦,$²+é›=Î]ý¼Æí’]|f8U14ë5*Š~jàzï©î¿²-KL]S–u-PYøù¯¿²Œ 8‡­ÒZzñzWééçŠmÍé "!0“³ÖM]ÓÅ3û](zq:åÓ0$§óiªY¦gonIò·¡˜T©3¼ç|þnÎnjNvÔnÜk®’n0£!1SyúIåzôGÌ´Ç1ã¼ÛñßFÇJ)¢ª¢¶´´m”êU¤ñÃý¹^­èößÈç9ã8rØFÜLÎk&2iÊA‰è:8躷¸ÖQïV¥¢¢.º*¥œýä$ž>êjxÄþšÙaÏz¹$µ×¨øU%÷â|ò‚öxŒ×yyþB¾ºUÙÍ3c³°¥³¢dðäÜp:_áhHÓŒóYüâ§õTK[c¨»šÁüûò#£1CA]7(¥q׎V=á} G¨É½ÚsqØ{%o·‹±¶ÃÕ5½1D‘ ÍRº®ÃÅnª³v¼¿¹¡n;ŽŸ?óëõœJ¦@7a¯®.êáÁ¥“kÒŠØÄœ>F»”"ŽSN·(‹_ÚïÊ%Èq$õ髾Ž/ë»ÿ¸ÃÍKTZ±[n(„fßJÀÒ¶š2ÓøîuÀ‡[úþ‘³&‘?âS¸p÷gv¨Ç㬥9uèy‚Paý£¡C+…XvÄÆ°)K–ØÎÒ?XÆè„© ÷÷qüгÜvôå’ØÇœÏ ‡ƒ"O£yxØ‘¦6àb?ªŠâu—ŸÈ–Ö&Òúáù3‰É.gøþ>4e~tmFpÌs®l¨y7 ›9grPf"RÕ—=t8<1/®" .>œŸVJº¨ÃÙ`žo|#÷9Ëó3‹¬`i[â^Nb§p^Ï»§78´[žÑ+¢ÍŠôz~Éå]Y†Ð{ÜÌ]LšæU™¿ýð7›AÂÅÕwvýÒ2§:CÝ•HsuœR¸+‡qá{~®>Sªò§Ø÷êv÷‡{R“"zqy.j„ðôrƒ£éÁìÿƒhc8Õ Zý€Ž"Ô˜‘öš1Ž!6 CK)%¿ÿ}OYjÆÑ$á.Y>t³«ÕŠ^õ¸2,zÛBÛVh­0&C+Mzî±6ãÌ©$+ó6Uòõm³¥ÞÜp¥ÏÁ]ðîetÝŒÏÇÿ࿽Ä¥/ÓEư3åyHcÙnwhm)Špß>¶ôz#åtûDéàžé=±óü¼¹ì»—˜ýéð‰·ùe%W?Ô Þ·$³„aoˆ\ÄîõNšð–8ÐÉ‚®ÑJ¢~í&a«ç|­ÎÁzsùzÂ:K½Ù ¢ð™©Oi|š;ßW¤oˉ(™é×}°—{Îù[Yn?)ffº_ó\’¾išcöÙMBýòÚá›×$¥ä¼ûDVüeÂyr¯8¥Žx 1pÜ_ÜXÄ^à'áÆÞí‰ÇïË§Žø‡ü'“’‡ESâ±gw>£åt”tÍ‘«$Ƙ0ésûœâ²¶[M»_2_-ñyN]ÖŒËk⸻´ ÅšLdÜÝwd™¤mC¼TjD©”™ÊQåH·Þ ¦:ô‚OðÚ—qi‚>ÕtR±ÞŸqN±]o°Ö5(«8|üŠ™å—|×߯)~»agv Õp¹tÛÒ~ÿŠÌòKî5Lë¯Î¥žºSŒ…#ëBc²É¹x/÷l©5_ª/jz/Öÿ4 <«UBu8³XDD±a˜ÍjDTGš(`RlQDÿÉ=æÇ5þO»>Ãô¯°ÿv¢|÷š‹ã=Ñÿùá{ÈHbÊ‹ëÔôùJ¥—:ÛÚàLõüÜO$Ž»oÓ}Ç â\…±¸c{’,®3|äê¼üù>~g-~êÍÙmKk-»Õ[¢irÅÃÃ@Q§iºéiê=^„\lù´#9lqL×ÅćÖ¬6DÅ»à`“yʶ…4äWYMïw÷¼™¿¹(ŽÇ#ëøÄl˜Ñ4nr•é‰ 1Âü4í%¶–gÿ|éרùœñ¥¹Ù""ËýæžHGlKL¸¦0g!,·'®~ .¦/nLÞ{îO°J(m q…ÐöÒox©ÇvEq[òXqjOüò.»ì‰ósM›n.“ƒú> ¤•©žØë3õ‰°0èaʵRìÇ'¢1B6’'žPfÁܱáìlè„à¸ÿ¥ŠËº¶­¦z|BMã·[×";ÉLϨnoY\ÿwÚ1tªcLž|0¢å­[pÒ5£ÙnkÊÄR­ŽèØüäXî=˜ã%N¨(æ4;’TšÄƈû½yCߟ~Š™ Y¾º×âIœæðá*IX~¯IŠ"oûZ{ ㈿»CÍ®v1Ý“Z;Ò«3Cåì|æ8 ÿÓÞOçvà* 8Î2gò!¶Í¿ w;:mhŠW|ÁA?9¨:')ꌿó…(Î!§ßñétËÍ4qmuüDiKÌ,6Ììs<›3ŒžTqñjr÷¼ˆ„Àä;꣤Üå]e™A'šÓ~ÏñÜ‘çyp¿ÅSˆ;_„¤íñˆZ­P/,xƒÂø¾åmÎÑ—SÃuÓ>î‰#i%³›‚ñ$9¬9MçÀM½«¦i/±¦˜\‡»ºßw"nzïIf r+IO+<2WÈ>ˆ1UÓ0]1 æâêÞ÷ìòÞîÚ†x:ÃÒ{š¶!N'|φþœ.nkLJ34( éƧ'·@Êî2ihó¼%ík‰gúB&ôÞÓDQ{ÁƒmÐÚñç?Ϩëêµg÷}DÅ#ÚhfóЧ½îÂT‚rE×yVÍŠÌfl‡ yÖ¤m‚ëÝííž?/Þ\r·ûÓ‘Åûì?ñ|šS×a|jQ:g.ÎãîMÎXw$Rrý&¥p ?–QÄ»vñÿ™›ñ¸ÿFbsv;IÛ~ÄÊ”¹Qx3ÐHñ?!!’`ÛáAœÏŒZ#g©ÏdJSUÃeº>¸7†éŠ3†¨eŒÆÐ«ž¾K&¬1ÅÚˆ|¿çKrïÑJ1¾œáÈswþJ¶‚ì]Àœ_Ö/v!o¾'/ êº&Ž‚z]{Le¨§Iû¨aÔi zóž/à ÄvËèmÛòáß7Ìç:¸®õ¡/b¦ºYˆŒ³ßE¡°0”?L„V;ˆÃ÷¸ä¨«Õ %G¤Rh¥ðE‹o§<_7—ÜLJ‰šœ9Áó,2ù Ѹí§Oì ¢éþé' à‚I¨‡Ð“.tí™ÄXâ£B¨Žqy|¬IÓPS®»˜, Xœ©”T4çãÃ=ý"¢½[aÒ=Mýx¹c³qä±{dÖ ¶{¬ØÕÜÍ/ûøåì×Íwì|F{çn8žŽ?í«ãfƒ‰"L?P5Õ«Û·s,—5I¢('7Ñö5&´q‡l%6išp¯ +Çcñ•_×=Cÿqóêþ»Ñ® ë¹½¿Bði¯}ú|`6³T•"v/ÇvIlbR°¬ðËÉ13IÄÅÀÍõ=Ïý3å»?ÓÛÃn6žôæ\묣é{ší'æÙ Û/ÕsžƒkÇW‡tïq]Oÿ¼ÆÏݲasò·’Ft€Æû3„¸—3’$9õùü§êôñz>»L§‹ÎgÒë$L+ôLÓ­¶¹²WìÝžD$ÿÉ5ÙÓ¥Ù£bH¢èÕÑß,Þê=Ä*þ¡¦2 Ã0MiòÐ :ß¡[=œŸpW\* •*1PUÕ9¥Ì _¿Ž¼/õìí‘ùì]Ú±}Zâ’Û[ú/G›;æ¿äÄqL_½r†ÛývÆmËUOîÞ‡Óóâ{Äóëâú凜4MC3M ¿æ‹c32H‰ˆl£%ÏÝ3É(±»Rͪ¯±Æ1FšÇÃĘ 9w}{âí"ô*#­ˆ¢‘½:æÿ8VÉ{KüÝõþ_ÿÏ?;Wp®Ž—È‹àæå½'µ€²4÷ å;KۆтªHîÊú…óx&Ž ‚‚ìÂ0í£°Áǯ#"UòÖBñ´ßóçâý… ½ÛmpÎazÃúá+ÉÕŒq‘j ªr´®i[‰’žÝî–•+ƒãÚڅŵadÓÃCÍÕŸR¾Üñþ†ÈÕ$IÂ¦Û …ÀÎCѧ”bEl¿ ô»˜yë¨Ç:,)Oßž0‰¡­«@p<÷tc‹’A5RñåDv“á§ñ¤/ÿ8çØmw(Ý!„Æ-½éÙ}ßáòp­vâØ](Äe‘ ›e “J9ÏôM~˜ýö–¦í¿~¥ø­@ ÆPšIðbŒ'«·¬ë3ßÏwÁõ…}ª–s°»çCßóñãŽùÜ1ŽÌÞP¾/yþðŒÍ-sø:\&EYÒLÿmí–aˆX¥)¥sS@„~»eçwØcó+È$âømC\Æ¡Ñuß§1çIÍ:KZÝq<ÙÁ]Uq“G¬—_p.g·ÚAdb:ôƒžTR#JÝQŸ4OzÉѧ¼­Öì׌(mx|HxŽžI|ʧO{jYsǘè‘ÒjÚÆ%`×ã‡,\ܺڔ§CÂ0<3“AÑâ¤äX}æÝü]c¨C—#"¤iKÓ(ÒkMÓ ˜ôuäàñÛ7ªiDÞ“f)ª9‘ÍLðàþã½\¶Ä±â·òWî‘û†1 .NÐ'͹>°è;*¥8‚ÊyŽ'‹cÒèÄíÿÏÞ{¬G’%Yš¿rj¦Æ@Ý'Á3³²ªº§çëM/j9«™Õ¬fÓo2/ÓïÒ‹ùºª"+3ˆ3pjœ('³Ps‡Œ»r`jªWï•+räÈ‘à’ZZ!õD±É~$°mèDý„eád2¡b‡ûmìB®Rñ¾÷žõõ×hšÌ ˆEiÒé$œ2¥Á€ QDMÚ ê×ÏönðŽ0µ°ƒ.‰~£BE¢(1h°T MÕHÓßï#Ë7¥£R,ÐùõW ;;Dhhë4Dñ€0±Oej›…[ÒüŠ"š"Ó>¼Ä.êÔª5šºŽ¼çÁ°ò/r#DE¤û®‹ìÈQŒeY4ã&Íö9¦jâúè/sµ-Šu#Ë«×ÖÖhw:‚M–…øŸª ZÆu«±‚m +ÝsG!]±ã2¾ï#žˆ|Ô>¢hTv6ñº]¤¡rÍÇðµê&$B^Y˜¥2J³‰RÌ[mg¤±€«ixÍhªƒçµ‘e,Û6ÉÔ˜¢d‘ ™é7ú¹dúMK˜[d-%ÿKÇi¡Úkâ;N…Ûi:º¤£›ÚP ¾TÉ<'Íð‡×Õüœ¬£´b=¦¤h\Öctý¤Ðãûïßây>žØAÉTZ庋½¥!œ´76p…4•8;mÅD’ú|ð3J¢€¦™T] w}9ÈÉÑÅb‘Þ…`ä÷ß¿L‘¤”Pή 2¶m„ÁµmÍé„4hk*B‹þ1xeòDr¡‡Š=EUèe)*P ˆ4ãAƒBm7O¬gÎqT”ósB]¿éý3,ÉB<9¡R5±¤ ¥’„ hš†,»Ä4µñ‹>ªYB [ä E2R0úpª“éõ¾ ‡ö·Ûý„ª•…›óCì]ÐSB”¬Ž(1M“n·ƒT’ „ŽÓA‘ªD¦‰ìÅæuÞ6¼ŽG& øÿZ¼‘뇔 P‘ӔСàûyEŽá¡Ø ž(¢‚£RQá§ÎOTµakŒÁU¹i›T ÐD‘wÝ12P—Óà”‚Xä<:Ç5BQžÇykÙc7'-„¶8LYV ´"² VÇâÝ©GÁŽ®w„ïº bÃ1°=oÃFFppËMã¡©*·šäU[A@ ëœ %… ›y±À†ƒ÷±‹S*Ñÿø‘fP¤wHôtî;}6ÍM KšIH±Ìþ~¯¾× ;)©”!ë:ýóGÙ!…r!¼ñà ݸΫR%'[‹&²(r¦”DÿÝŪɺ£Kky«ªõ ¢Í”.>–nÑ)¶1cEFÖbSÞdM I•%3‘ÜJ..,ó˜gá5±­RÑQ®*÷³. %±„i™Ô• 6ŠÉ°*<ÃuÛÄq‰€º¢°ìT«(aˆ?¼çÁ‘Uó‰cµº1ô?¸È«?%‘(Msõ—/Eê{¨–JËì …*ª¢XÖ¸9¬ük·©á\WDõE¢šŽìù×ÏWjªB‚'H†„åJÌ¢èë§Mz—¶¢ëq,’Ù)J,]Ûšœ| ª©B$¤)›X„$Äg1ý´A­XæÇ¿Ö©+ÏÃ0¼àóD½Ûp‘ ™Rß$”ŠÅ"—g—VÐôz=|ßŶí뜭ûq^e,—ƒ˜r9÷ 53W¿Ž™(óð<ß©i*^’äm tÝI %Ki6#â­0Ä–n*û¯öÊ Š©èy çù–©pÞ­cÙ%š—Ø©€ÒO‰pÝY1Ó”HUõ8ëHz‘ã$Áà£û«öÍÊÛ6$ÚáÐBN‡É†t¨«Ü*6€T,…á-rd­?ï…¬[ùwdzÆE§…#Û¨j݃L4ðNO‘l›D&OFŠÔô˜öqÙÔ¯ü¾¦ÑpÏ1Ì2Ÿ>õ(È•VoŒ)­aµœ”„]¼Æ‚eQè„ÆÐwhDªB†ÒéP_sˆß¡£ihqŒ¨…‰‘†ùów œr™8Ž9?Ï“Fív ]×)eÅkv_S‘‡-S®ÖZ·TBìjˆ¢O¯×EU5—Š”“·ífÕ°p.e׿½ðžþ‘ŒiÝ$Ž ªJïø˜À‚Šì´_"Ié ¸CÞJt]×Ùó}DÕ£âC8²Cà×ïOT57DóVª¡ãÆ.\J²L< tkõî#œÊd…aE{û#Žâ`Û6a xMÃ@öŽÑ»üK¡ —JXVˆC*¥@&ÆìïGèz“´Õ§êl¿-õºŠ5Tb ‚QÊI }y›bQÂë¥H€ëž¢Èb ’IÙM{fÀ0ó}.G2Áñ1b±8Œ½óµ¨k2r¦rì°ÙÍè¸.Š‘ï×B¡@šhñ­¶õGg•]âØc}½O§s†Ûk]Wß#+| |êƒ:kZAÈcÞv¡@M9#5lÕ&LB …,Éh"Û¹†] †Å¥ ðõVY5ͨ÷z˜C@³×ëE€ å5âÞË7Ñ2^|J?[·(=B›5µBÇ4;"†$Ò°…a›H©æ¾¥êÐ*¹xw‰³¹‰ ä 5¢m“¦!‚ ¢h IœpÖèa*?u~â…ø‚xÜ‚€µªF¯¬!Ä–®^¡ç`™MÅ4ué ¶wc9ò…}˲›M.â6bœrxèÑ*ë¤r}`CUY—(r‘%™0¯«F5Í'ŠdDÛ¦«B™^±ˆêôûïÙ,|MýHös¦^oU-’e¡šM³ â+KÑ|ŸD–±Â`¨^¨*ÁP½[Ð4ºŽC!k#ôBœjÌÀ®Sÿ¸dˆdZW­×¶Khþ Ø|Ñë‘§8öæu\' I‡Y–Ñê€^ÎUuC»®†Î“Ó*žï£i:‚¬ÐíÚX–O¡ áb9†Ô,‘ûFb •‚o*—/WWòBͽD4sµçàt@ÛÐŒEщã†Û ¤îà…9Æ¥8¾(Rèêö”Ù-”ìcSRóŒ.ëȲŒX(€$â3ÈR¢%Pï´[Úm G&Š…[ñÄÐÏ4$âäM+y1¢V£Óm¢tt°@ˆÈªÌÉÉ€ÔÊÏ9M(8U¤¶DCH±d™$IÑ4ßéÄ18ÁÚèô”ý$Á¶eäa¥w–e0TTN“”ÄÓ#Ièžd†È»¨AEÓISӌ𠯹½^åç}R)5,ÕÄ.Xxd¹È (zL¡(ò¶¦#dÆ0±*bM"uHŽ2UJ¥˜¿^xU¬áGy;e%#V„8Ó„0â£{ÎV1'Hº†p)šÙPõ=#*Fèj®¬íavý­ù»mè‹Ø…JM"M…;ÝR„Ä"K3$9¤Ð)àk>¢ªÓéD™<ÄB¡ ‘s¿O5¬r†‡)Ü<¶$0ÍrXb ƒ’¦Ä‚@ÿ× Š»UܰŒîèh–Å¥ç‘ze«LȲŒW@O®Ýf[¶ÉdË2Q®Ÿ˜–€V¯“Ú6®éR=¯ª!ûÑ>ëÆ:ÝRÍËý,÷ΧX–A¯×G’¤\q&©V%‹<Ï¿V¾HSÓ+Kù4` }ÇFö=b!OX_ôz”B‹NÔ…Jùª¥Òiž êù¹&5EüÍeU%³-tà oHvê°U]¯Ø#ó3Ü“¦ ºÞÁò×I¤äKo ½êš†~pHfÛÔ놑 ó!q, Õ¨}²4ÿw[×iÔa}]ÂHÉ*Í" IDATCº½.ª¢¡ª*fàI a£Aâ8TÌ"ý~Hvq‚½éÅ5)Žéu¨l*”•\ 2N\dYãÀϺµ~Ëö£ˆjbr©70†Êµmù5§H/U¨Ö üzò›šV@W3¢,!Ç삈e à YßÖ‘/%R3E’D’$Í…–”óIîà¥7±F|ÕN2ƒwÞ1Žê0tenפäÈÐ 7óªV£M¹'ãèï;ïÑ1ðuR-» ŠsÙXOÓ:1µ0寡KbvYòî%Bš¡Û:qcÙ C8¨šU´R— 5è˜&ês•AÈß¡{vFѲh7›è† äÊký¿¥H%ÂÀ%¸î 2,.T5t=Ï)6=CRreË[ESâå%ÒvÎ  †¤ …W†9ªBEQÜ€Aªad-ŒØÀMEE$D„F_—‘ é:fìì zËàŠ¦`Ô$S"hç­6sûÖ¥?9ì÷1T²¼UÅÝ÷(\û슪àq–†>Š®ÐlQ6 ·rKÚ¢;Õ€~ܧ%·0SóŽÒ9@Sm¢kDbüàâZ(¡™6°ìZ®²4ÎÑs?%“e —p­Œmgôê2ÝnÛ Ë…¼(V@bDˆšF:TVÏ õ †¾Ÿ“ƒ!×bp> —ä¹"M;Ç?ÖpJ¥¼õ|·ƒ 4Nzh•Á`@Ëu±jÕ\ø(Šˆ†\ 8@ÐíkŸ|РІʡ¶hsÞÌØ0rÕR_Ót/‘Õ[b‘Šrm‡;¡†”í‘à§%ä’+ìŸt(UzF ã¸M¤{(RŸ³ŽD¨i(qŒmØqˆïøt%‡¨.S,Š ööpœMε}¶ëÛxšGhéØäç—Z*û7EÌ­8FsæðÒC*ȱŒQo"oÉYþ¹ö»6ZE¸ÎÚvzÝÅà ˆ…–(b;y'ÅÊqƒŽßA®‰$9¦(TT‡ SÐdfÚ ã hå2b°çz‡„zI.’)’ë^wzQ ãÓ »‹¥;9¨›œz†aHœD¶ à8ÿö®Ÿ+O ­Ö)šTÄuÏÈ2‰ ËØ÷?R.ØØ‰MOTÌè:¯)Ë Ú°ÄÐ D]ep6@-h´Å6›Nq(Ž$^ŸóšÖd½â"šrYï¢éùZ-$!?»¢ˆ¢ pǼ¶ªüØhRvÍ„ŠR¥îûH‚€³ñŠósÅv1M -Hî<|Dí¾Û§›uÙ ¶rrcšQvtÉË ºi2Ù Ï¿û ¢ØÃus5~ùzÄÄ>ö™4Ñi·ÏP¹Ð$Ž-Tե׋Pd…B¡OûФZ-±Ö ñU…®$¡¥Éõú÷{-DgØ*{—­™O÷ ÕÜ̹ģ" ÍÁIÚa3*"jÂBŸ÷ê*F-¿¦Z1YY&,¨=m®k×[mjåÒR×xý¨‹%èoÊw~ÞéPóÖ‰Öõ™¯Õß?Ç~5~ º™)Ì~½D¶é4¤R|ûä¶ÀÊÎ?žbµyý³Ëî9k S—í-s)÷ÖQÀ‰àhpŽS(¼z9òïÚ¿v(}›;ðjJ³­¿¬#"8éôµtœP{1;;hß0\qþ5i´©y%žË(D%zJ{¡Ï¶J–3÷犙HW¸™óöaƒÒNõþ\õ»Ôì"Ý“=ŠÛ¯gºvè&¨æý³I:H6nânǦèô‡mÛ\¤þýõj§}ñ®­ýåc—ïÞ‰ecÚd¥õ¿=ëâ Å?Â’ðɃ®yÞ”xù*åè?|6^ßñeˆ¾%á¶/Pí»ç]û¸IéÅôó®@Uƒæ…Ï‹Zˆ'GþÝEOa½0ù >q÷Ø6'¿ï£î{^¿Îƒ÷¶DPJVºOÎD—ÍÔ¤?`_õRšÛÐz0È×SïlŸÂæ«©9n7yQªpÑLY¯Ìgo>õê¼)ÔHìÁ‡”âÆôó©ÓNpJ£};E‰âé¶ÒoYèåŠÖ& J´R(Ïo*éÚ%ŠýÛÔ E´ CZ4©4ûxåÜöœM¶´ÑktSá-ÌôGÁ/µÑk¯[”(vžÛ¸”Ö‰f7 2$”G~E¯ŽpÞÅ<yåÓy†1ú™šîóåJï=>ò_Nñgå†ÊÓ‚ê“…³ûYË&ÎÚìþºá7ñôÑ/:EÒN÷ÁÏœ™E÷æ:±ã w:3}V¬§øë]ÔtqâÝQŸo^Þ•»Š»?ÀÒGŸ¦iâºîýŸw]Ü¢Ih¸¨Þx¿/h¢Uw–¾†ŽÃÚñÚ›—|éC MRÕ}Ð5¼úFíÆ—¥“ÇmŠnùƒÑŸë×1ìÚ“êÖ«¹>ÓÉbœa»Ê;÷êèæèýfµLåÜvÍ3´J¾„s™l#&©×‘j£íÛàøëÅý8.ifH•éëç}³Íו›}43´Š°´9T³¡p/ö)…êìεfxžÁé ÎÖ°-WrvŒ´ùâÞßîõ]^ÛËÁqg1Õͻﳔdoå¦!‘¤äî^n êtQx5¿ð>]b¼Y{Øy¦Šæ è;î÷ê¼*,v>릅ïHÓO-bŹMÈ’&jg¨²`\3hƒu÷¼ªï¨½º#fŠö^¶ójK^x> ÇÁúÍ^c€QµxÊ¡X Ñà.¶õöQ “m_`Åhƒûó0È Òæ/ª»w÷°(ã¦.ê/i³æE(Õûk5rA1á°òÝ–‹ë¯{TŠVSª.7Fôbdc¾uRŠuˆÚÆ}ûbŠ:n:{ŽNõ Bc¼Ï¤›7koÿ<ưCÖ­»¶Sí„Îd_±É9îâîÙÉ•¯ß–Ò§åqa”:(bçQ÷ dÉøùñûmTAD´Š‹Çн/ ³¯ÏF_¦jÇ£ï'õÐoáÃîasç;HÜé3,ºÕÔ)WæË»™Ž)ŒþL©W¤]èòÔ#Úï!®‰H¦…1Pð¬ño_n`Njۈà4FÛ’š Yez>·­˜”¢Åcj¯ÓÂpÊÿFjø$ÕɸTÚqåøSýÆvuq¼£!SM¦ç÷ÂóÔ]®…eŽÆ üO]ô7ùžì¼;ÆùæÅâ먗¡ÆûÍñ»òŸîµuŒ’?ÂÆ‡¸©º´õ}îbC³XhÚÚ§X¾ë ÜXæW+ß—¥G/º‰Þ}èóÍW£y2™ZGŽÿ$¨H„ }VÓ5rì|ð©Ïî›é\Ÿ¦Þ âߨ™~šb‹Óc¥¬“â¾Ô±z³?CÁééêˆøì#…êâ9~¥Q'ªN~'Çg^l: ]ßí`¶—¾î‚ž‡V0è9} ÉïÊv%úæýø#윣:ôÜ”Ê tt^*.³û±»Ô»$)Üò‰[uÛ2Öóïa÷ uÖ´Šá©*I”agÑÒ®é~ÄÜyzÞÉ=ÛPÔ§‹á.ûì® ÆÃ.uègº*˜÷mðOÿå?ee;ßxaš¢ŠâÂ_.jiñ%4LÕ|SFQ„¢(wŸ¦ˆÃ9ùù§Ÿùþ‡ïøôéoÞÌ~˜FAEDﮯqpqÉïãV`PªÐn7g{"ˆéì×Þ}½ÍÁÞÉŸ­mԈ݌V¯ñûä?Ò¨T*4›³½ãh(¿Š!"“O¾WC¥é…_Ìܶš Ê•åY‘( ¤óÛwÇÐèx£bEÕ‰‘lžd"’0ÚP$©€$®îüê»¶©ÌF% ¢$=üû»}ì¢ý¬Ö¨, ÄÉræ¼X,ÐíöýLAÇÍ|¾äñ§¯¾ã?>üòû4ëº5eb7^ʵ6·69;=ûÍÏY’dH’ð›|¶óËK6ÖÖVrm[3éî³z^¯îaÔŒalã¢hæñžƒËR–v=QPI³ðÖy¦'þobMçmZf߯óÏmäêw¿…±örƒË£ó{?¯mmS?=ùâŸïðð °aêoÓÞ?ÇÑí{íûIööe›ÒÚü€qÑ.ÒíwŸØQ³IƒþBŸõ#]1~ŸÄ/h4›]*•»’U¥=xþ¸ã×oÿÀ¯ïÞ#JOƒƒ B®t;Ï(”kôZõ¹¿«VØ Þ»–ooosròð³\’¤küç>¶k[œÔO—~]ÓPqˆ©þùÿÈý÷ÉkÀ(Òóîžeýé¯üñ‡?>ùÜÆȬ6o¶±µ…ÛjÓó=ö÷öxõú5õf›Ze¹dJM²ÅžÅrJ :‹½”×k´.æßç¢,‘ƫهº®ãû÷ãÁÖ Kù$ÀEGßïaëÏ¿ Æ4m\·ÏßãP€hÅßñrg—£ÃƒÇÇÜÁÔVríÛÃ2 ¿éµǹ²ö¼£sv‰³¹8>ùÓÏ?ñÃ÷?LÞ³–‰;¸‹S†¾‹ªß`ƒg§çlnå¤Í;o8>üô¬æ·ÕhQ®–—³Öe aÆs¥U¿ \[_Ús覈ï¦KÓ(âÞò¡:Žs—´×j¹”ËËÁ‚e] öæ}¿³Ãχ‡ ¬E/üôé×Z¹F}WôB—‚úôø,sö¿½ýŽÿïãóÌõÌ=·÷$ßýzk‹½ÓSÚÍ6¥úÅë/·¸8:å÷1Æç¾"""F ÚHM{XéŠtÜ#פCàšt\“ …Ùœ¨Q¤C!ίýéÃþ\¤ÃV{2@õí×ߎpXvýÓÿqº3»¹µÔÅ9tX®Ü8RŸ“Mcò{¹"þû¿ß—çõ¹H‡—#À,û ‚ÉU AOvZ±¦ÿ¬¤C`"é°\ttÓH‡ÀDÒau}íÙ½¿ÏI‡¦õ°*¦EH‡…ÚúXÒ!ðh¤ÃÁP©jéX)éÀ6ÍóÏÖô gÔ¤Ãõû¶xéÐsŸŽÔò9éðòòâîüÌd?é¸C:ŒâùÉhQ<ÿºSUu©Ïð”¤C·Ýã9õÒt?féðòôx¡ï[„tXÔŸx–±*Òa¦?üºÇÇûŸóÅB«"cI‡µ @J·¹ØžÒ”ÙžûŠt˜Ç6ãmÉvjd<Ԙ݇|éð²q? }›t˜ŸgÓý™€û>È·»ó©–ÍåÅb,Œñÿ'ï«ð³ø`ÒaÃ&nkÃóq‰1,/ç:ÃÖ…Iv,_œ×G’kÒ¡3'¨­O«Dôù˜…tØë nžé0LgKÌKIŸäy>·"£H‡ƒÁ`!Ò!ðlI‡ø‡–KV©ò~ê{ O°¯‚t8èÍ“ÏR„½³]áKåõ[­É ÝærT¬®H‡j a’ûv+#ªâÒ.øï?þm,é0ž!ÉúñãLJùúÙü8ö"¤C`$éX ép‘sfÚ88èÒõ‡uŒ"ÊÊ|¸Teó~b}Òa§×ùó+Ò¡˜†Øöè¸øsÒ!ð,H‡ÀDÒá7ß|3÷õìä›óÓSz~î—½zý:+ËWp¼"ê tstÚ ,n¯>'&ÑlûkU¤C`$é lYÛÚyôµ6ŠtØn=®ŸWròóo§<>‡´JÒá‹í-žóXéЬL&1#¾ÙÉ•îj VE:Æ’ãpŽÁ¨VæÇZ s6Û*Ï"WkëȲL¶&ðÒ!0•tÜ#wH‡À5éXépcmyqÅmÒ¡ë.¶ÿô¹_!Ìq®ÌC:|ÿîÝä3¸ÛÁwSAZêþr?ó¡>'cI‡Ûßm“ýÒÏ t›/æï"øóáanf *Úh¬Z3õ[qÅ4Ò¡*&|½{?FnŒèÖ%ÁϘý"îíßµõ·I‡I¼<Œ.J~fÌK:ܨ•—vÿ{Ãø©´¿ø9‘“Á`ygli9BV¿üË¿¬„m¡ëkøþh2]ÑÞÅÚ„½ç]MÝjw(—~7œµt.ŸÅ½Ø–EM{՚㱆n(øÞôCªZphô¦ƒ§’®’øó"#•ëRÄÕUØN‘þ[°xAˆ¡©¿©=äº.¦9ÿ¼ïðjw÷71ßÿá~þÛO³ƒ!e‡v«ÃßëˆLŸ8 ǯ ï šv×ã×e ?1²&?Ù\i€&. ”ÊÚ­æ³xç•ÊÍæü*Ë»;¯98Üãää˜ííOú ^§áؤ¢‚˜.Ù½Üùž£ÃŸ—rO%­B;¸ûŽ×Ö׸|ŠÖ®×Á4ói½VaµÅãZÒ®r4»-*Å2_Ò¨·.¨•×IÓ Qüí«Š5Úª·b±$é I¢&’÷“ÑÛ/^qò9™ôÈwQôÙ}´b©D·ÝÆ0L<ïqöÇÉñ)Û/fKÒ„ƒÕZ®Ýïu± OSÈ%( Y´|݉(QÄÕû.n³ù9€¦H-ždÔªõ9ÍÍMÎÎΰ­ýA/q\Ö¬Õƃ|µ ÎëçþžÍ ÎÏΗrÏegƒVgökõ:] ΗU¨¸Ú{`«Rä´9£¨·ëÔJµ/bjå5ê­Ù}Ù$Š‘ùÙÜÿúæ6g£Éc•jQÕ¨O(êuúœ‡þȲB'¤+{Ξ; `ÞM¸ÅdÈL÷í’E¿=xÔ÷â¹ƒΗ ðдÕ)ZºÁ`Hä’“Nã«R¹OnptxΗ4Ú¥ m1÷?îóêí«¥ïËb‘£îó͹]³ø»ªìsŠª…“ÛLFýÅžýò¼Æ¬äÅÛ¯8þøáÑžÑ0$<ïy+¤ ‚@–­¶€_)êDÝÙŠ#¶·v89=üâÖs¡¶F¯¾\¼ðòò’µÈFIŒ"ß_Vm%ui7É<ÏÃ0 LGÃíK¹oIÓI‚|=™šŽ¬^ #È2´%woû´·Ï›×¯e}ÖJêCa A¿‡eÏ oooqrò8)QI¤çÛ­®×ìQ¨,[ws‚ÿ»þj‹‹ý/K‘- <Ôá3UJší&¿Øë4E™ 6×ñ|vÖ_ÓíÝÄÂq"K³á¼º)ãÏÐLÈ û¥04I"XBa™’JDâr|¾êšCãòé8Bš’ ×›ôæÍ›ÿàý§TÊËK¾ÅñøäHvHÂå8 †¢§ñJ&ÊÐõßÔfHÒQŸíýµu„lü&S-‹dÁdÐEó ˘,|µûšæ$‘8ŠuÞfU³ô¯ÓGÑoŽÃ½=œÒÝU¶@`šÜìAÓ2‰¢e¥Ï·!мœª³Ã3lǦZ]{´ÄðØgR›÷úþÚýՀ͢(N$4M[jxýr¾*wß¿–$IZ9˜rí FéÓ´#ª*+ñ퟾¥q1]…!]Ñq"Ë÷/‰e¢ü´g˜,,žDó‡ÉŠ¥í+n‹@( ¤3æ²>·SƒAˆªÞµ‡;Û/èöîEnÞ§0‚"(*¤Ž^eœJ­vãñ§ÛÃ^ÄA>ñãÞqrÿª}ø–ÕȲùæZQ÷iUmµ¤“v¯ƒ$J: v_ïÒiÏ\U ƒhNó~Ùê… Y"¡ÜR•1 ʼn Í2ƒþÃMsXõ|[•nk{‹~¯OБU‰/yÞ©¨5?‹ÅD1ÿ–Œ~q½)6ýNuÉñÝOï~b­:°/ɹ&ÆÙ ÇY0TΈãI±E 3 Öª®7Ýw.gB¥¬·ÛöF!ÍqÞ:De!#0¯eÃÄg‹ù¤âù,ÖJî|6CV“o¾Ü¤ßª‡$V[ “lé{ ï͆Q˜úü…‚õVÓÈ?×íµ—Þ®þÓû”+÷1aןϗ¥Ùâ5QÈV êÔl‚[ >ƒ~oBLäãösû¡6Iâ%Š(ÝZ·#ØW«Eªµ"ÝÎjí¡¦Ü¿O‘Ù°…ÐFx [Â*$§f‰„0ìZ!Ë«Åow6H‰(–ÊÄ·0Ðnw58Ú«·tº­•\[× I…[1¥¢¤Ãg-•WÑK6'G#•gºsâ¸i¬ ˆ)«n]3PÐU«T*U½›Ù·UÒ1qþWø–ÖåÃÕRý(F–žonhꚘ/æP}ýç× š“ß[¯5}ª¨$̆e„º4¡Š;vF)•œ‰xõ2G£ÕÆ4žW4 fÏ÷öV¨Ú½ûf“N{5gxø€âÛf«…aÜ'ݶ½¢,“¥Ëµ¡Ò”މ‘;`­ºN÷$ó«ÜV$Ĉ ß«ÀUJ'»unGIü(kXúýªº¡]WŠÄé]°^®’ÎàŸÕë瘦M»ÝC_0soå1Tuú5â,EüŒhÙ["pÙn`Mˆ¡4[$ŽRžëÐŒåÆÂÊÿwð€Ø#Ë„¤(/š—XÔ<¥[Ïä-9vÏ ä1$j»V{}~ʱ³µNwˆùHS^¢®ÈáÝu"ÞŠƒÇ!˜à»Ï¼ß–´–¢,™ _Ø©¬Ñý,ÿiÕ*DîrÖU2<\‚ØC'ïÅLVÆäLSa´=×mf¿òzϸÁÓ.¾[ëíú-}ýæíLŸýå—™Wa‚“‹»Öì”Ýv‡Rò÷žûUÝ>ÅnÝZ£|>{92›?ýú7Ê¥û¤…RurÅwøÉÐõÊümuÞ}x·ÐwUÖŸgåzbÈ÷R#;cöÊCƬ$‹(x˜#X(=M2ǺÀmîäë«Ñ¸|6ï»4§,îÞéÅBߣÎО1äno¾¼u^Ôë«­OaÁÏÝ=à·*«QÁÅE™?”><œ\ÑÙïwØÚ}9ÓµºÍÜÆþú¿>/‡ygymI^nWéKâÕ§—­å%>¯¹xçÝ¡Xux2Ÿúpå-€Kê]¿ÀšB~1 ‹íéò’áÛ»¯ø/~ òx@7¼O’ù‰Ûè…ñïhÿ UâJçú,XtìÝÀu¹ IDATo!³ûò«Éþʘ-ßÕaø¯•JŽ…aÝ%\¹STÜÏϦïýÍÙÚndÉݵv:¬ÖìùãkS|c)[Þšžµ¨ewgµm¨lgùgøßäíh¾ùç?Ïô÷ƒ^D*OŠÿòã3ÞH4ðrÙxüªÇ ÎãôÞ`±¤Cü˜±4l%ËqÃ1*ð-Ï¥5íLŸƒô§rwÿvëí±»¹>YáàìèìAsà7fS§8?Ÿü=CÛdé«UŠ¥éó‡Ë'…ÄYîxÍÓÖ²î.V±oZ³‘Ôô!q7𒍕4¼Œra~ß-žÌ,›Ëk±ÕžGRjžbÊZùg*¦“‚ e>rãÿõþ“ý”ÏÔ*òìgª7B !ÍVCDíÔK²…^þ9CZ‰MD¦Ñèr°?ëð‡'AÒ) ·¥RiŽ{O&wÒŸVK– 0Q\¬€Â_²J’;¦åØþáÇ•ÎaöY»´Fw9¾¢ßî³¾¾>÷ç.Ïïã©¢ü8…ýN±2æç³«ô¶Ûí‡ûéø"ƒÓYæìç¹¾¢ÜØ‹ÝéïÜ ÇïÅUª®Z¢—j³½/íV瀽÷æ÷!Z÷ÏÉšÝ&©þd߱뷇kêfOJéj «åÏy¤Òãåt_}G:øt?æÙ¨äØò`HØè?ë5Ôù RfJãÕì¦å"Ž–ö]ãZÔûýéùÇdD<žIÊ£¬£ïßæøm—9=z#|£z²¯7=¶­Õ6†¾ßdl]ËÆÛ–‚9cÔ¬[…£K<²»ëw­TE×ǯ{ß]®Ï°ûö-=ÊvO{³KÍV{e÷!“1i(b"d³ÙæÍ—9Ö»^™^´½·×¾ì¾YM‡>}™¶_¿©øãŒXïSŽƒ[6÷pÁÿȸº³Xl¬(LTæh-~x«Ó[¦æëtP¿±ÅR²¿J“s¼s³6~m ñü>nÝlj^¿×Ö Ï“D“qcáÿù¿ÿ{v|¹·²(]oqprsãgçÇØ’DÌŠøÖÌý~¯]˜Ý±¾-MÚéôqØncžñþ×_øúÛïæÜ/ꬭ-\fЊ"aw¹@q¿ÕÇ./ÿ}VKEíÙ’mº ãgþ£Íc¹\žž0»íP„‰ªá‡!ººÜ¶jçõµÅ‰­µÒ&õöÙ¿¶Ÿ²½ÜÌ6å²ÁÚZõYÝSœfÈl9é%ÑR“ S¥1íAœZN½¾”ïøå—¿ñÝwxô÷‘e,µ*J%‚9”ô*µ5šÃVq K§®"*±7»3yÑl°^É÷SÇïâèÏ{ÿ—ìí~ûÉï£`šô©òl{{““Ëgõ$R¾,•ǰéxwúBÙ¡÷ˆmîÛ=Ra1Œï¥&—6Û-*¥Çií ëzýú{{Ç_Üœž°ñÃ7Hƒç~onnsvv²ðç¥,%™“¤¥(Q´º.IvA£ß ØßûÈ«×Ë'\©ªJ>nÜÓ³3¶6¿Œ³]ÊaöÂÅ’³M»sw ¢‰—~™*m#1«Bw°ÜV»É C²–¿¶^lrz|ÆïcE1 ږ/sTœ-šç×ÖÚÖeúþzœ<ûœŸóbëqc‡µµ5dYæôt9s›¥â£(©¯jìñúÅË/â^Åi¤CIx˜Ìö¼¤Cí³6¡gç¹£<Žth‰ÒHÒáfuz5ô<¤CàN?ôÇ$3‘5ÃBoªªa~Ѥò=Ì\é°Õº!÷,B:ô¼éÉv—nã&©ddzýÌç²IŠ€eÍ¿ïÞ½{7çóÏW• «–M:4tåštèg‹½Û+Ò¡ìܬÿ7ºúçüx¾à»~9ÝÁýù盹¹±x@óÜI‡ùÿø¤Ãõ½ ý%+#^µ®lÜ=“Ƶä\éÐus›óÝw@Ñ*cwç땾¯Eâ€Ó³ñûrVÒáÁ‡ÜŸ¹"I‡ÿûûoËߟ‘kµÉgðé0MÓ…H‡©ö¸­P&‘ÃÞ}©¶µÅ‹Ío–~W¤CYY=Yx¤Ã�ç„m×<¤CmÕ:³4Ÿ?ìXóùLß~ó‡{¤CàQI‡¥‚hÜõazŸ){ˆcˆ8ËP´œ…thšËÙÓó…H‡gõ“G}ãH‡'GãÏÛ¤ÃóVƒ/eL"½ÞÌ×ùþí„âƒ1mã¯I‡ðÅ’;¤CàštÌD:\ß\_Ú½D‘;#yZÿCH‡ê øPÀìÊ]ÿù?;÷=ˆ·p™ÏI‡¹-Ÿ¯ Ù|jÓH‡R8 ûÃ?þàA¤CãV•þéX:éx0éP˜qÍeq‚å,¦º³ Â’eŒ^K‹à5^˜¯»8zó'Õè{#Ó÷‡ª›ß?{”?~÷_nÎÒzóIH‡•9•˜n“nü•rivÕÌ~»÷¨Ï¸lÒ!07é Ã'!®jOô-¯:sHÚÒáe£þèÏ~t¸¸_ý~„ÞéðOúÓÍ>’¥’»Ý.É’ÕØf!–̧#ãÍJ:üꫯæ¾öæÛ»˜ò³ º£“ÖA:l7–×5ä›·¯níÿ‡áÈ« ækkFÒЀ¶UÝàíÎÍý<„txxpðdËl{ww,éPVŸùö!¤C`*éðÿô‡1åjH7ª–çÒúCßt¤Càšt¨.Ç5¬ñÅÅ[››HKø¾rmyŠ ãZO#®}ÖësÒ!03é°·B¥¼Nû>Îë‹ãŸ-žÛ,J:¬TÆcÖ« Z¦ýlH‡µµÇイCŒ¤`ŽWÁ’å¨P®štØo?ŒàzE:,¯Ý5›Íåg9÷µ‹¥éïxÐÏãØÛ¤ÃHøÌ—“ç›Óe’ûÁ­ºhÜß;ß|—«L^^^.t¬„tX´ S;ŸÆùÝgX[Ÿ “8;¿Û5áK!ÿò/ÿrÇòŸžœ³µ½±ðË2ù}<Ý04/ŸÅ½Ö ô.z·»ôN¢àóqyÙammôauQo±^Ë“¶o6ÞðéüÓØëˆŠ@e ß·ª:„a!“Ʉɲä?üð?ýôÓýÃ7Ê•Çaâë ¿|y‹UL`@u~rÎÆ-;Ôj·)—J¿oîY÷mÓë?rQœ ÈBöû‹1¾ùê;Þ}øå&°ŒR¤[,—Ì"mwöv…ŽãÐétȲAxò€¦i3·`+EN÷)®PL‘u¢Øÿ}á=Òøñ/áÏÿð+¹vàzhæh@©XrèÁ ˜ÉöǰM¼þ—YZ)8>8Ã2D2$ ‚‰—=çzl5ÃëuhŠöÅ肋“¶··'þÍëê:{û åjÍ¡QÏç¾ÑnPÑ^ÜTUÜU›+ŠB4ìýžÆ¢üp_¸º¶Iãò.‘$"’”Þr)%RiùÊ#•5‡æeg ðRåøt>B£iš¸KRl]Û¨ryÞ`½ZàbJ{ÜžÛ£`–ò½ovvø4¦½’’fD#HÕåb•Vw~òçÖf•Ó³Ù?§þˆÂǭʧÍó™®aYƒÁ`åûüõÎ[/I‚0ö¿þ§ÿÄÿü_ÿëÑlÍ›×où´÷‘ßÇÍèø>²(c=x[ÚÞ¦}ròEÏ…¦Kþ] в糇c$‰$éÏâ^m^e â埧/_ír´ÿt„†žëS˜³À##Ätu…NNiƒNûüÙ]¡Ýo>›û‘m…¸=ûyM‰ÔMøF«×¦<ƒ8ƒ­9ôƒÇñ¢˜¿»Qq6iv–Od0A—ôž3>:8àå …@—ík¥ñ¤lÓÊp‹Çš=×¥0¦¥üÁÁ>»»¯–ã[v]œâb¹RI”IÒÇÛáÀE½•׳Œô«L]‹“cÖ·_Ðnw)•îàhšBL>3¢[ðÈ»øæíW$n‚dJü½C2ðoyvHq§ˆü×·ÿ•ÿùñ>è{NÏŽØÚ|IÁ°éy‹Ù¼~§ƒíä¹êþüG~úñ¯Oö‚0D› 3.Gý¥ýO{¼zóz1Ÿ1•ˆÅÅ|1UV §´H½ŽÏ¢07$«ŽÏ%eid¾ßÒ¨7:Ԫί˜Âo~Þ’ ¤%=¦ÆdÃ÷íímN&`aÿñáOš-»ò”b£³³ 6X°µY™®@(ËcTtNo’ª»ðl§ñÕÛ»Šb½~ŸÊZ‰ƒƒ£'¹ŸI¤ÃµÊÖßM?=¹ŸD¸M:&’3õ.aîŠt(g³LNnÇAæÍîüÚî‹ùÛÎJ:h{Ý…I‡¥!Ù´&ƒã%n¼œ^I¢¨â»FÓá×l/G ìÏÿðh3L‡!Mö«;÷ WãH‡Í[ÁÌ4Ò!ðlH‡_ÿÓü$Íf»wM:®I‡À̤Â>{0þÝP¥AN¦û4¢xs_ƒîä½gÆ+@¿|ys¦ª|›Â<é°Óí}æ¿®M˜˜ù}Òi¤C`$é¸&#I‡nÞSÜÌ’åø’W¤Ãb­¶ép”pÆmÒ¡2ôÙn“s—r5‰Ýq¤C`nÒ!0tÎþ—çá>™®Ê4 éP˜T2o) Œ##I‡ÀXÒáë¯'«nÍÛrz½6˸M:üô~oâ5F{¶¶Ö–¾¶ö?Þ!+#êúh²Í²H‡Íöt‚fΈñ„‹W!_?¼ÚÑõ“Ú''¤Âr|Ä,^<á¬<@åã6馓ýAvoìÏæoì|Ås‹·>‹¡ •Ú”s!é[Œ²Më¯!–žƒt ¦cWÉŒQ¤Ã~°\«1Fá¯Õjbé ýö|„©YH‡›/rõ‡O>ÌtMK¿9¯H‡»kÛ·¬. yE:üþÛå*Ùwº‹)tX]¿yAø°ïy,Òaúìùßþõ_‘uîÅ ÊéM:Ì1Õ‡(<Ž]&é˜J:¦’×_N'omæ˜þ¢¤CàštðÓE}®Ú”.tŸç¨[KTŒ]Öøjwþ.\‹’b1!æ)ƒ9ãŽTœn¯ãÞ%_l½‹Û\Û³%Óäqìz6,v÷Coåßµ\Ò!,‹tøñÓ§¥?ëÆ-¬ÁqöÜ’Ÿ>í/ç}ßêªsE:´«£qYI‡À5é°=ïÿn.¡cÍ¢¤CÓœÏÇ[[«³Çˆ'LJsßÓÁªW_ÇVó~ ¼¶ÚV ß|û-ƒx²3'³¿˜îª~Í;.‡-]Ï;«­$}9†\z>¥"ÿøøâAß[x`{ê—»aþö—¿Œ6¸s8š±˜Sáù“Z†ÀR6¦Ü›2ûön÷zÏzo$îh§*ö§*gÍ餅xL2g{kçúßÍþä9úÃ7¯—úÌ[¯g¯¬Üÿx¿Ívó²Íîî iJÎÚí§'Û\6Oyî#Žf.ÏÇ·a}‘ÿ²ÞBGñ”Veeû~Õħƒ½ñŽ!£×ÿÁñÁ³}Gívž¤p«mUx~4¼…)Þ`¹ªŠ·ÛîesÄ:º>ÁIÌòó®RZ^k¯`¾@i}2a´1g«)Ù´æ Œ§omÿþßþ²ðg7×O<÷üÙF¿ “¨±4}m¥éà1Ðé÷ò¿µG¼‡££›3m½zÄ·ŒÅ¾+RÜÈ s:§XøÌ‡ŸÐ’{L§òZ™ÚÎ Üh<®/–¥wß©0CK³g$ºõ»‰¨¯ÿñ¦j£Ó%ô‚1`Å”w//ûøæõ3$º¨ù_(-n£ÔÏÚ`ö¢Ù€¾,Ën7Ÿ%)§÷cÁŸß¿¿þ·mÏf‹¿zõÝõ¿÷Þ"œ,‡òæìE ‡Ó}—7_Ïî³÷ÂÜVž^>øÕjÎÇXXmÕºïûÃuµšÏJi:ำá2–m,t²,²þbúÙXÜz8ûúõì­¡Ål9­\y¹çÞ7ߌzkÅ Dí.ÆQ,ÎÖy@ѺjVµ _?ðÔã/ù1÷‡í»ÿðퟺÎég1T¯9™˜ašêHßbÔ¸Ø[<–.,AeÞqîÞ£f©Ã}1Þ®&\H{É­u«£“årQ”°KÎÒ×ÍÙqÞÒòÍW_q9C‚wàß÷÷.®Ž*°ɸݛ=.øù×wK;ç3Û’-¹iÆ,­›7_Þ]»‹›wqrü™ßO·é—»þ¿þøã\÷|x4ÿPxÿOÿüÏ|^«™¦WØnÊ7ë6ž®kJºàyyޣ߫eÎ#vÖ0×´órùíÙæméh¨+9¯Ï¯ù9énÖ¡Ëãíǧïïü¿>2ïpƒ ¼ „ÌPxy›|™á¡kÏ›Lxx¸<,z»â<Û甥Ùlžï=Líú¸±XûáÓÞxŸc…KȲgS‚º8ZŒ,Sª< ÿÃ/G‚W*}Ë ºÛQ¶|àÃÁûù÷ÊØ“ ý„þˆüfuíÆ§ÔM…Jåf ÃÄŠ6g܇ˉå¿ùîn<üíëÑ…<ǧû׸ ÀéååJÖ…8Åö¼©Í~¶Oª³†DY]ÿ²º£*Êòº¼}óf¹±ls~ k¸¹=^¾ç~óæÕÊæ²ßƒ83<‰ÆÝä@É*>Ëõ²HG#E»Éí{ýÉ>âö‹¹¯¿;,ðÙÚ\{²y¹×jyâ$v»˜Åù_°ëy˜ :ú_êP„„({¾U1ÅJnóð²‹6ýnŸßÇÓÃ2ð7áþÞ>¯®hIFy­B«9µÊ ÛÃ*>žbßÚF…Ëóæ³žëW¯¿fïýÊ®¿]Úá¤=‘¾±»ÉùÁÙ“ÌÁåé9k[K½æ¿ÿÛ¿aY6_óõ£eï…©‰q46å.›åº2‘ˆÃ`Xºdµ€T†æ*—¼¡ŒA‚œ¨|ßI¥tuº1:Vš`>cM°‚ð¸šóz6MI´¬2Ñ•ËfW¥õ,OAoÔV¥ šZ›11:_ö&;‚êxêé\W’q_ †‡ÇÐÞ>/ŒðaXôVË“††ô:„urˆ/u: ™\6Ï4>9†fOºŽŽ¢µ¹µfy‰'S0ê´5/³ÁŒh¢þçz½<¯þD4ƒ9ÿfS(€Íܰ,Ú¸wj ®Fõ7::\*Þë³Öh@*ž¨‹² …“°Yuu[w<Ÿ€^_xã3‰À`)îPÕbD8R}{R$…EáÁh( ó/ÿBŠF+c%ÁiYˆ)©&÷¶YEòï-LûÆ3<ùI(Á{É F£1¯çÁ•Ê–c·`_°¬²0ElúA8ì˲<‘¬–ú‹r·¦§Gû‘ŠóЋ&I¢–[ž^GG'кÈa£ääò{–µÎµ8â;‚”(@Ëå¶°:=¤d~1]*™„V§ÎüÀç‹Àé¬]›_»a-ŽšpÐØÙŒ)…{ +þÊ޶ô'–G?‹ÆŒˆ°|m±E­mDW¸F$êÂì2—߆mV„E,pµ4Á;6‘ý]ÓÒƒ£cê¶ N`ÏáØ£û£õNJ”¡åD<,ý²|I’ FŒ-ú=äõÁé*oÿ4 fx×líêÁè@º-ÛN„üKu@E WCƒèêP>Ò¢o@„/ߣ’(Ë00¤Pü 5åa0ëWEýR V A+@“*íd¿ÉbF(Ì>·$IÀ‹ 'Ä+Es³ããåy¤léZ‡±ù)—Õ oØB¥A~Ú §»¸SU½ >E…—§Þ_¹‰p<•„Q›t‹Þ€ŸX•u`³; VŒ0ëu€D…ÜÖŽåÀ0ÅyHŽF£0›Ó ‹ËŒˆ7šgqáBxQØÈ–î5ë?Zµr°Xíˆ,òP¡eŒHÉ•1èšMzDc•5 ô¬ïFßáþŠ¥o·: ûA䘃É)h˜ù…éÔä=Mu—O£Q‡¸J^Öõt¢·/÷‰úIÿ4<wEžCpšô2¬©Éƒ‰‰ÉŠ–£ä,‡³’„x…D«a¯V×üüÙi±Ã Ö¤ÝØ &ÔÑU¢ÝáÆ°º.óæêvÁÛï­y>›Ö`j¢ð¼€e´äÒæûV«ážëYÆ©ˆyÀS»váÔÓN+Î6ÁÇaЫs¨t|dÍmKß3/Õç—ZÚÚ ðLMSø¤½Ž­ë>å†à°×þ÷¾}{±eËV¬V†FÑÑšÝ^h4é-ÝXV!U¹y{kk FG‹÷Ìf2[‹¿‰i02<€œÓ¦’Ðh+'*«öfNˆÃV`ÜBGGa!±2·Â|V}îÄ@$Œ‹2¼Æb„P„8‘EÈE¨‡â!FÛê°ó=N˜Lм‡´ôt`¬o¨®ŸeËÖÍØ·wÝå+‰ ¡€L#ê!pÊß#c£#him£¼ hmïÀèpºï±" ‰›Ð6µ¶bßÞWàvºk–¿±±1¸]M`u8Tï}×ÕÞá¡e]· 'ƒKé °™kÓ;_‡gžy¢ät%QË¿ÓY¤âRMËDcÔBˆ¿Vx õC+‰°)ð 'A;Þµ¥µc£c«vŒ±›´ÆJ³˜LÍˆÅÆëû5 ˆu•% 8Èð…ýpZ 2‰Ä#°-u›¿Ðt6wáü1œY,M3ÓØìÁT úIŠÙr9 œ˜ù…žîvôõu_½Ñ>ž=¡Ó™Lç±ÐjÑ!QÏ&dsYö‡!KÕ÷F­µ‘ ϯw½S“p5zTI»n­¯Æ ]•ŠY¤:jˆ€c˜¢D‡š§e f=t*´èé(ßË ªÜi ›6Þ)røòE¢Ðh4°æq‹+rp¨•èP¯Sfˆ*Wt Ct@±èð•WÒ¡"Y…ž+‘bE‡Ht˜‡RD‡šƒCD_ø»F…JD‡¬YÝWmGcGYß NX€jŠ9Íüxå“yE‡Ž&DI\":Ôæß«ö,FÖYÑ!€9Ña‚Ï~ŸÅ¢CKD‡ÍÍ•5º.6Ìx´Í%:äUð,¡†èP§Ïÿž ÷MW[îrÝXÀ…},X;!J”ˆ”,:!:L§¥¬íf3ÅŠ%:ÔêòÏ9³‰€Õ³à¸üs†±‘‘¥¢C&ךºð8w¨·¸Ó籨z¢®®öΪ‰ ‰ÑV³èBþPîùGlù¸€©¤è@I¢Ãt¿)Ζèv§½8#:ä…DEE‡2D‡míù×|myBm³ÛZPt  èPœY?«%:l´{à dŸ[Å„ìc¿ÞX\½$³Œ³£#¹Û^>Ñ!Å¢CE‡:Sæ;ÊÙœ¶µ³Löw—$È‹Övõ#:Ä¥ó‚p¾¼¨|þÒÓ£<"ŠÒe…D‡ãÃE—/¥Lªg‡­¦è0UD¾³‰6Ýo™™nZHt8½hzÒq;U}­¶^ý<žÊ„§ëïë«h¾Ç§+0lt¸n¡è&FGKª´éÞÒÒ­Ž-It˜Êb>rôˆ¢ï ÁãªL»‘Å îÉ"“!: Óãq9¢CŠD‡ÃÒ9ÂbÑáôdiûŸ’Xºx1›è°±¥kÁ¼3ûœG£\NG†èP'ç>´Â.XÈ–":Œ‡•yäD½Sªè0=‡G’Ï_ßœ^ÝuB Rä¥BÑ¡wª²û '9„ IDATnÜoû³ãåjšu˜5K׎Ñ#‹f \ Ù"åB‰è0=Æk Ñ–ö®-Et˜’´(vËa±è@Ñ¢CE‡ŠÈZ›ÒöL£Å„£%ÚCÞˆ"ÑaƒU}{a*‡uÁš¯TÑáÀÑ,ï´$¡švòÀTÚ Ù¬C<¨4õôtñ‡²µËÎõKç+»w¿¨JG†ó¯ù„Tz Œ*´é2‹B6F§óËMÍD ÛÏ9º›¬“pæXÇ›rJæ‹ôX®Ë2ζ¶¥×ž¶fÕžESôÚ,Ë|Gy'¦Òý3ËIŸÎîN°eó†d¼xÑpw÷1e=¿†[:/bKÛÔâ} =§|>Ý×—yÐ]à —‡ÛÓïÔü&§Í™ÿ0wßÁƒ™}£¹B¢¸ E=«…®„°÷‹ÛC%` ¼¿µºòÖ7²”ìŽçú¸­óöÀöön¼´ç…²îo³env&CåoÜët¥ ­§¦G*RÝ==Нu_ŠY"¼4»kçi°MžÚ¬zÞ ¥xi}R›Å¼vÍZÅߟôNׯYe¶IVZ Òß×Íli‡ ¬vSÕÚGB½ÙíQ.Šˆ§DàÔs!qL ,˜w*·/'™ôÜ\¤]ÈåP`+µ*³ÁuvfßÃo*QÔÂHÊl°á˜B;Â龈Ð磓£ócÈ "Ÿ¿­ ÓO?]ñ½*BÞÕ˜=<ªÙVZ]Y™ï1Ë…6«\ŽþÒÞT™ˆHg#jI4™@4K(m‰Î·†¤-oL¬Œ>IHUϰ–]¾N•ÂÑÂëëðD:¬v<ÚîîŠæ'.œŸ ×ÿœYÖ|cfŸ”ù×m]kº–ågu–|äèQ¬Í³ÑôGѹ¾Á镞NÏiÀç0hóñôFõ6¥Ju9ßÖÕŒ‘¥FŽ„Àà©ß° ²,ƒa–ï†Lggg]œ ‡£°æ˜86:]˜òe÷Þ¤Õj‘J)Øs]ÛÒâÀؘò>oíêBx`« ×ëìpbpÈ731µ"%…±Ï>lÞ¶%ûÂÎåFÀ[06› ¡Pz"–ŒÅ 3™ê² =-m0jSœ¬ê}e‰Ã.5z¦DZ®¸q‘Ó²SÒ¢¹ÐZŒ Ac‹Sc•™‹šMDcên‹¢nnóPÀÕe»Ñ³ðR«³Å†h¤¼ÃWb*®Â!÷t¬I‰¯NŸVy¿q˼ºïPݶd*½Ñ¹Î^”“B,>3ž9=ÀõíCÏšUïíhrÁ?¡Ž—X›Õ„PxéÆoëÚµ=rdYŒ.—^¯ú^ÿ[[×at´zƒ|¢zõz=x~~< °Ûsétµ`Ð[™pO›ººq` é¸K€3-oa[I}Ïj‚¦¿´µµcdd¸j÷C[[æ gED ×eYéµ@½`“$Ýò\'Ç! Õñ¸éóùàt:s~Þݵý¹éŒ2ŽÛ|<ž}a·jy24X(àu]J` Êê×`Õ!žßÐ4™,ˆÅD\0WÙcòÔä$=ÕëqC÷ê?›ÛƒÐtéëNÎ!9¿þ²;ìúƒ •´ î`çr¹æ¼°M ¥e~3Ùíð ÷ÈA48êÇëNÏ!É×&,aƒË…€·2‘Д±äÒi­H¦*÷ŽnkiÃȘ:<ÙhSæg÷4#8YŸ!4S©<­-ðOg£ŒD#°˜‹­h­f¤òx7kíhÄèÐTÍË$žL ÑÕ†HØ[7õÔÒÖƒ±‘ü‡w›Ýî²|:èƒÛž}áõùárÖvÞb¶8øê¦¼â©XáÃûDÑtv¯Ã`æ›ÑŠP¼þl& N¾P]ä%‹•|®Ù͈£ªçÍãpcÒ?ñ‰q475W½l¢|f}ålŸ›‘Pz>44T0RB)8¬:øØ@XyE‡éÅ¿Ái?¬ ¥«uó5*³9wºîï9&ˆ`´ÀW©è@†èÀ¼è°€÷bµE‡Š±Æ9ÔŸž×ÍŠÞÒ†-ê´Æ‚¢Co¸ö¥::37£”Do(‡‘á!ÕE‡éyÍü«Kò¥GoX":ÔryÞkéüh5…íË“þô{¿¢C˜POt¸(Š–‘ „9묳dŠ ÆÂ°›– Œ’’Ë­ê²ñOMÁј´©± S™ù1›phß~Å¡'ê™P8 Û"± ÕbG8Rž¡Â¢7!ÂÇêþù“‚]qš?ì‡ÃªÎ0ñ£Á’NK¯ÕO%ë¯ 4 ”·Àyœ~é‚rMK'ŽŽUN›âc8áä°çåW—M¿ÓÈ2„D þ•åÉw%rÚ‰¯Á®žT|ý䤲ñÆî²#è­®W…IïÎ{ç¥xæ‘Gr¥¢]ÃO"‡Ál\Qõ› ÐZ«¿YÛµn=zç Ë<Ÿ‚^¯žxÌ •ý¾$kÁ΄ØÇâ°šr×é”7ˆFWötÖõ4£·¯¸ÿÓÞÜ®Ò6È z+üÒÍ £Ux8SÄÒälÀ„oyz“žš‚»±xAŸ¾Á>౺ ÄÃh0Z© jˆ,1`ÊÕ•L$¡3èjþÍBƒÍ…@¨¼±¥÷HÖ­-] ºmýVì9¼wY· wk+¦GGKþ¾Ój‡/\™9£ÍeCȢλNf cXÄ!Ö_Þ¸âÅÍ&«±EbY XŸÏfµ#®·8¿ßGyG«I‡®Ž£Î¸VLûÔ÷´‘ŒE¡3™ëò™ƒ““°W¦ h éÍœ£ýýe‡Á |°5,ÝøŽEÂ0Yêkþg0qHÄò1Nw |Óê.hhnE`|Dm8~ÓñxéÀK5»Šç¡ÕÏ‘Á`v»mY—iGk†Fs o8F†(g‹†¦ár7CHæü„¢!p:ÌÚÒ6£M&b±üûH'm=Ïï}eÙÕ‹­¡ ¡À„âë-K† %™ 3Ôï‘fO Æ'Ǫr/{ƒ ÁÀÒ5ÈèèZ[s‹ÝLMƒ¨Ãþam@(\Ø»vÍZ9Zûè,ËB’ŠwÆ ! …m6z–/e· éì$ƒé±8ŽÃj-n¿Ån·#TgíÕÙÖŠÁ‘Qè Æ%‡ÝõøD(Ï%fåGŠ"ƒzú›O=/<õbÁë4,A’¡çXð¢´jÆ’@ Ž`µºJNÃj5c*‚¡Bº©h,³©rû¤±x&ãÒup<…ÑXþúX«1#%Dë¶ 4{Ú0>Yü!$­ÝÅR\–Ó€@VÑ!€Š‰MÖå³qåP°I»Xt½dJ‹¼-šì&Èle Ï^Ðu¶, Š=M %æ¯|Ñaœ/oó)8ŬËáï˜ÙOÊ[œÅ—Ǭè@UD‡c%„ŽY :”¤¥e22VØ{E6Ñ!€œ¢CžWçô·Vo*(:«/c¢P¢g¦B¢Ãé(‰Õ¤gý1%}o× OBgR.S*:ßÈdÕËÁãjÄ3<»%m„íì^êeT—cÎU Ñ¡\¡ýÜxŽ‘®®ùë“ãS5ÈPUt §èÀœè@^Ñ!€%¢ÃÈ‚ åÞ¾q8M™†–‰‰¥BDí/JE‡r–ÙD‡–ˆšôµÛÀ4å8ím˜12•":Stèv–⎙]c¨èMI§¯~˜ŸWýñ¶µµUµ´Æ† ÷§×ó‰Ynù²J¨è•Òç«ìIðrD‡ 3èÐ]¦0¡àúb|~MlÒf‡ÆÓåŠ`m‰ÑfQ*:ä#Å{VÑi‹yNûŠ+!–„˜L¿«‹Å‹±Š‰T]t¨ÑÖÿY‘‘sŠ›ZݵÍ[ Ãa,‹‡NµD‡‚œD“§¥hѡӕYŽ’\üFʦMǃaQÑáºî¥6¤‰‰òç}GJóRêjjÅÚ®ùMx­¦´¹”¶B¡Ší êÙ‘+-:ìë+}ÓÛ®À£ã¬è€"Ñ¡ßïGs{î1ÆÖàDsóRojе²:m¤è@VÑa2)8wÉÆJêµåmê÷õ*{báâ½VStÊ"TZ(:StŒªìA²½µÀoÞþŽ7OÍ':P´èì6wAÑ!ØÌ6˜µ´´¶”T.…D‡2D‡I©<ïˆFcq¶Ê‰qåhnÏ¢ö—9™ lþ/ö‚UiÑa8Vü!€phþ;ÕÀððP;K~H¥ˆ;³x|lë*~šL”·h3/ˆ–äê »-·(à¨Aa9¢Ã5ks{Dg™âÞ•JD‡f£)Ë:jÞ†À ¹ÓÈ%:0':P´èÆÆúU«ÓÁ‘ôŠ™±.4樉èÐÑ`©hú©,ï05E‡ ŠE)]ÂL*GtXÉן¨Œp­¡Á^–èÂáhÅD‡Š²(./¹æ¥ˆ Ö¥vO5E‡-®Ìwk(\›Z*:Lˆ™ïàFÏÒyj*\=ådŒ®:ž N<í4¼°k—òÅç¡#èÙ°¶8ãÞ€$ŸXuãÐYàO.5l¸ÝNLO/ݘjiîÀظ² Á !¡` å ˆ‰E´)V$fAKÑ6míÙ†½}{ªòL|R@,ê…ÃÑTÄwÐ늘S‚Z@¨Dt¬>kÉR‰&Â0¬ð8:0éZõå›”Eè˜ÊMòŒvâÁô"¨©Çƒ‰¾ò7„|~/œe“Ûhij¥´Í®D< CŽÉ"ÃHgB¤»LNxcå %|Ó“pºË!¹Z;à1€ò|z½&£±xpU´g³™C4ZþF­Ã〲|q±Þ¨Ï¿š;ì*½>ŒqA½Stv›Á²g5[ˆF”—K"…A[;¡Ñh@<ž9wÑH6ûÙ*›ÉŒP,Šñ±q4·dnÆÂ˜¬êOÌz#¢|ÄòA«µ!•"¯cj“’$hY¶nó×?<ŠîöÖŠ¤mµ;fSÙ²÷½\ø}esÂòÕEYiX@¨“CÞ‘x£™:Xµl <çT —Åo$¶êë@h*t œ'ÑÒê„ÏŸ¶Ë9,NøgÂ…OÂîh€I¯[•åÞ{´ëÖ¬+ùûÍ--«Œˆ€cYˆ’´ªûE$Åb©}ÿLD¡1Ô×;I«×#¥Â!û‘‘a´µµ/»¶ÑÙÑ…Á¡UÒò´X19VºGÑžŽô õÕMÙh8 ±v6ìhسµö^r+]*ŒÂdÏ?.h4,AÂÈØÚZ:*’¯×—+í©ÕåtÁë+íP“ÑeB܃(ÉàØê¨Óë à“…÷¬,"‰Ú¯çõ:-ødõÅjC#£èhk…ŽÓ!)æè­ßÔˆç_„ÝP9OQ‚ÀCSÇž¢geC—Êz§èÍxÚÏ…Ì `ôåµ11.3ÎÛÔ¢ñ0ÌuiEÒ±`“ËM "ô3¡y£ñ$ÌÆìëß¶Î.Œ Ô$¢N—¬ýAÒÖ'FÇ|ˆ&R0´5ËÇâŒÂ-MAgÎïä\åÎ&¤T삃ҌÈCæ*û^3›ìˆÆ‚àyz}ö{éÍ&ðÑùù«IoGŒŸß‡œžž‚ÛݨJ~6 ü¡ì‡ÒÜ7¦ýÙ"%<ÔY$ãÒ¢‰>Y¹ð'z ¾Ä¥:£Éxé‹lo8—Õ^VþÛÚÚ022RñÖ7؇žÎžŠß'!ó00õ?iTmq Á5sJO£3@HÖØ3žä‰…±†»Éh@,^¹2Ñi8$óôÿH,‹É¤ú}SÉ´:åér D¡²F›P8 ›µtc?›b iËÓ™GR<,ÚÌþßèiÄÔäTÁï6Z0.-ìf$e‘DDZHŠ™…†©ÌÄÖÈè—“XnÔrcP-»«w;˜öù–_]˜MˆE«[bBg¨O6N‡>ÿÊ ¿±0dCÛº6ŒôæŸï¥„´SÕòçimâQLú•m’Ä“ŒºyC†FËAH‰Ë®^≌†t9÷´v ¯€§‚¶ŽNŒ Î,ð̈ÆÒ3†²8~AoÍï·,ˆ$”{J×éHQ¶süÑù9¿V«E*•oãM îæe<ƒQ[÷mc³SãËk®#K)0lñ6„»`uÞuížF +Xc–5gŽ‹àŒåÏ™;Ú;04\¹ÃnF³ñèÒ¹œoÊgcæûBD0+·Ûéé¥}-a±Ôþ™ Z3©ô2‹Àh²€¨-N'¦êȆÐäpaÂï­Xú7nÄ«¯¾šå½ŸâðÑ8ôf㊩ߵÝkp¤ÿhum-¬N*<Þðqzã겈) œ¶þ×!®f¼ãå÷ÃHЋ½ÒâI ˜ Vg3šŠW×¶˜m½©ÇA˳3¥ @‹•ÛÇ6ö¬Á«}KÇ7^ŒBÏ­ŒƒWªOg&›±Pq‘ÅDQÇ©?µØíˆ«gSkõ´btr©c&!A6°à4D¡²c}.»–ÁdA"–Y/©T ‘‡½üywTa.²ø¦È¼I&’Ð*wð.ìÀêÈ•jM{'ŽVõyK}7óñ$ôÆüåd÷XœŒÔ]<܇cÖ/ÕT…ƒ~XKœã9ÍNø¢ÙןA„PÀVc`5HHËËÁ£ §Òs²D( ƒÍª,Ô²§5]È)~édsVtØ`.\-k»ÁÊ&¬þHútJ©¢CE‡N{~Q¡RÑa<¶Ôo·¥'³¢ÃPpéâ@M7ÍÕ(Jt¸®«DmcÇÒðy.KéžßgE‡f{fÜz˜vuwWMtÊ3åÊ®ùì Kíå©H}˜ª³ƒ‹åˆSbæ{Ý‘eŽšMt‡ç¼UKt816®ZZÎŽ.˜µÙó])ÑaJÌ=N*¦âÒª®Ý°¶â¢Ccpæv¶¿ÁÁAUD‡ŠÚl™öƒö5] ¿9_¦•n]¿-sîupßÜïccªŠSbz= ±bÙ¢CËFt(–8›è@]ˆm*mƒö f†úe˜â¢ÅÊûD"ZœÇÚbE‡‰»ÖtæY eoÓåˆrD‡ššÈ½þœ˜šÈúÙ*-:rÛµ±øDæZM«Õfˆ[›;K¾¯¹áèBÑ!—#ä±ÉhÇJ°‚WùÂóýMTyÝ<7èLÛPr‰T]t蟚(êÝ,,˜,ö,Í{=ŠdÈ):ä£ùÛDK‹#§è@VÑ!·èª¦èPªÒð¬è 6ë¢ìâÉøÑyãÙähz•¥ÜÎ@´ð†ÛØ‘~Èšì“Ý"•‹­òÉ¢·,|¬øN`ÌK<Ê4®®éXj”eóx¡ò½Èµ¸Ó¡UtŸÏo,ô”wB}tzi]ð9¼-¬Û}2<\š‹ÛÔÃûØxqFœ½…ƒ¥ ­t3ÏH´p{tµ¸«R·Íž¶Ü î™Ð&ëzÊ¿Ñ0»¡_;GŽ*—›«.óÕÚ¥^»™šòÂÓèQ-½OöÐóÃÃó}sx4w?-ÖˆOdï«Ù”ó;ƒƒKÓSi–ÑPyƒîÄxöpM‘ÄÌYቅß_;#>òhmJ‡ IÈ™ïÚvwfèT>9?†ŠB~#Fª@ì@SÜ 'йvCvCMÙÇ ©»‘& 1€[¾^Pœ…Äæ æ’mꇩ ú2ç)Œ£ýå¡ãé9t±†¶¬íXÊ/•T²;íÅ‹:tÐ ¡À`Îi3­:mé—B×òÁ`q…iDµÌŒ€¾µ{ ¬ÖÜ)f«yÑ÷Òóúi¯:!„ôú¥F#ƒ~~œàcÅ[4ÆåŽQ§/®M³YÖW|ry„—‘KGc¹Ç½©8ãsB¥3½>÷|Ë”ÃÚÕ­ÎÁ‘ ÝëÊú>—%ᦥ IDATì”ݦŽAzÿÁyáifNjÒ™09>QvÚ“SåÍÿ"‘Ü9ýóý'*¿8œ Ë¢?ÚœÙ×P2[xC5ž·a˜…7|ß‚¶1¿1—x Öç_Œ{s·/«9÷&)›#TÙV› ™Ï^îb|éâêðÑÃUÉ“ÃÕˆ ›6ª3nêÔ‹^¦LeŽ =N -=”sxd_Ù÷ëÛÃè@ÿÒµApf;žR'Zˆ4s(Ú–gþÈ1•]óéu‘aÁØ£µ¬oz IiS™P=Z.sèÇ‘” ¯­V+D… D¦ô½ƒpp~]²aûzÕžÛ74€hªº‚Ví¢÷+'Ò.…¸p${_æë¾ý;š 28rèˆâô¶nÜ<¿æÌžœ™ÙÔfgñH¦pH¿è`¼µ)ûá˧"ª”‰,ç_%)Ó¶ e®Û‡ i¬~t&WSÆß{ïÉøû˜c¶ÌýÞÒÔ¢r¿ÒÎô§êÙ#7ttÕ¼ÿp9¼eÍzHBq¶ƒ¡ìB”®vuœÑ( ¿b ­s•Ù5ÛØ‹º”Ûo æúI;p4˜HVÿ>É®×hlʽ‡—íàJªNwZZ•1k»æm8zCþ5òèxi‚-“%÷©ÝÙ¦l%dŸçÇâåȃQŸ{©q6Àh*<ÆØ ¤|¸gli‰X}ŠÈÔÀ¹`Î`´UfÜ«Ùó ŽŽfŸë56•Ž&ÏþUwWg͞ϕgl³å°I E8”Ò›óÛRÆJpJ!ª åŽ$²=ìÌpÀÌØÎÛš÷¹Ïáì³ÏF*•"##AAAAAÁ¬Ñq×®]¸ôÒK±eË–ºÌgoo/Ö­[G¶@‚ ‚ ‚ ‚ ‚(‘l¶@ GC:¢H(R5ºˆAË!‘ ^—AÚ¬×U¥0¬V+Þð†7 ™L’¡‘ ‚ ‚ ‚ ‚ ŠD–eˆ¢ˆÍ›7ãK_úRÖk“7 Ÿwºâù´Z­d $‚ ‚ ‚ ‚ ˆ2Èf œ@Ë746“j÷›öîÍ{]†ð0Ê'+^ƒ#øâ¿Q©UAAAADX­VlÛ¶-ëgr,¿ÈÏérW<MMMd $‚ ‚ ‚ ‚ Èe Œz“B1EittudüÝÔhÌyíºõëò¦Å–ýDRq§”;ÛºÐÚÚJ§› ‚ ‚ ‚ ‚ Bìv»âkÛ»=UÏÙ ‚ ‚ ‚ ‚ Bìv;Ìv¸ìKóMÁï eü=1Ï{½ÎÔó3MÙOÃ2E¥¡¡!«±1•JáðáÃ8pàÀª2F²,‹µk×bóæÍÐétÔC‚ ‚ ‚ ˆUK*•ÂÁƒqøðaò¶‚Pbû˜µ „'ëáÖËÈéÉDzBZ¹Ù æÏvx£ÐçAAkcªßú¶ -çü1zMjîoV– 1i#d<-é~-K}z·7z—AD- [ A±úè²*×çd ,/Ùp; 2°ví:$ùÊ…ŠÎ66»15>=÷÷BÑ!Dñº+0‚ ‚ ˆO¼Þûú-8ýÌXïѰbëÞƒ­³—P)A+² PÝSþÔaVt˜«Ë…°×«8MŽãÀʤ¤t¨N«Éê@Ø7hî\‹x8€X,ˆ/R£¦± ‚ ˆb![ A± !ááê„l•C¨RÖ3„‡ E‡åb0è‘Hð«ªÒ‚ ‚ *Àe º_¿êãxéüóqþÙ§c{»Ü¢K'Ÿþ>zéŽN¤`ïÜó>ü)|ð5‡îÀG?ù;Ä×­3Ô‹¿ˆ®soÆ>sô#Oâöïÿ }fц¼öÀU—œŒ@F|ôiüþ§?Çž8‚€ ¤oÚ8;{+üyžôã9óu"¨æ ‚ V-d º§üUbD‡ Š"DÌ Å”0':€ñÁ#s¿û¦pºiVGí ‚ ˆ¢ [ AAk`‚êòW%|¾ 8MНO$ã0茳ٌ’c¥ˆI!ÿJAAY0táÌsÒÆ79pÝ~ >ö®‹qégoÅcÉŒP*æÎ3ñ¡›~…{ .4½‚;¾ýS<9-¥?bó9pÊ¥Wà“ï?'µ›À^Äÿ]÷Üå; _¸óOøÕ•ëqèö/ãKîE€8ý¾ûÙëñ³W»ðÝ…ïþ5þ÷‚®¹Ó+…>— ¤Ÿ+_,Õ:AAEò髯Ág®¹vÕ—ƒ^gªéý“IÝÜï$:,y6t"ýýCA˲A«I¦Ÿ•øSIÛLJ?v>òñOTÔ~°ìÙD‡‡#÷TuFtÑh4Óãa1p: ŒÎÄ}Õ jAAÄBôè>ïZüÀz~ø‹»ñÔp@£Ïý7\Ç-ßýŽ›¹ÒܺÛ{ÿ‰^wúkªVЃCC`íí4bAQYX=<_‡Ë7‹õÜÇðßÿô\©ÁHt°6Úa€ ']ÿcÜò†æEaMD 7Z Ç0üS¤àDæt] KÏó§ħ¨J ‚ umç^x1àþ#ä ¯{¯Ï‡/ýÏMht»pù¥—`MwàÈÑ~üã¾ûñÀCãK×_—ÓY“üͶÅBÔº­ú‚~8펼×(˜V‹ÁA‚€žµk«vÏ£ý`Y]u;A±B [ A±JPk œŒ0ùâ_`ÕʆÎS”ØgxÄöÞþÞì§¼ mÍ–üy ¿€þ§^…ýÔËà´rE^RùD^ÆÀÓûaÛy‰ji–œŸ¯˜zŸözñ¹k¯Gkk >~啨¼i#`ßþ¸ów¿Ã?î»ÿ{ãWáv¹jÒ.Ï8ûÍŠ®{ü¡–eµéì%ƒstF$’qœ™.ºÝE7+Ut8[i¥þÜ~ÇøÊM7ã–o}»ª±±}ü <òØãxéå—ém@A„ú„öàÖ®Ã7ÿô$Œ MààÓáï/LÃrÜyxÇf[‰ shÙy!ÞÐÅK¿ÿ ë ‘Œ#8¼<¶Ó‡–àÌ–8vÿævܽaÿ0úCHÍ~¿ÐçyÓ§ª%‚ Ô· ”ŸF{oû$Þ~áøæs>H®OÞƒÏ^q=îLÿ¹ÿyÜò‘«ðÝÝÁ²ž¹ÜŸÔÐý¸úŠkñç~¾â÷R«îyžÇ¿z#NÛy2®üð‡‰Fðð#âáGE(Æ•þ vîØ/ßx’©TÕóWŒIí4ùTq“¬B¢ÃzæÙçŸÇý>„‡y´ª÷}ðá‡qÿƒá¹ç_¨«±ðŒ³ßŒý÷§à÷æþñ‰Ï|gœýæ¢Òã£ØõÛoà“ï=¯{ã›Ò?oÿ ¾x×A„j2NÝ‹O¼ûÓøË@ª¢v^‚ ‚ [ Ù ‚ ˆÚ ÉÊ~DI‚Jfý,ñCì{ûÞ§ñè7ãWÿ§²t“>¬9ç“8ððõ¸ÁíCªÀõœ{nûÙûp¡›)éóR~XÇÜúã÷àW¹iÊH þý7¢©ÒÒ(æùÔ³&ñ¹k¯Ç[Þt6¾xí5˜˜œÀ¯ó[üú7¿ÅøÄ®ÿüÕxãëÏÂ篿ÉdrUÙóÁ5ªõÑᩉŒ¿É8 ÖâB-OOûó~îóúàt•wŠ¼Ô‚ûÕ¿ÁÿòW° ƒË/»´ª¦­[6cï¾ýxeÏ^èt:lÙ´‰Þ AA¨F2ê/úñÜ7âÏ?à°°µ¬Çö3?‡þÇXgb/uÂéÜÝüE4üä6|ûƒÄ } Nû×ãd À¹OÅÇoº¶Ÿü¿¸êR|KÒÀÓÕ ÓÌ,²Ðç…Ò'‚ 5mª¤éÇ®—ÃpºEø×aøNØ'“ç>¢I!ˆÙAy?—ˆ’Q”ªhÇ0þظîpõW/Å#Àµœ…/|ýµÐµ5ì(½ÿ}>„F· o~ÓÙxä±Ç±aý:lß¶ @ÚÞÿ~ç¼åÍ8ÔÛ‹|o{ë[ªÞ6÷«ÛªÖÞ¢×Öv’ÕÝÖ‰þ‘ÁŠßçÙçŸÇK»_Ã08éĪúŒÇ{,v¿ò ^ܽz½Çδ½Z…k׬Áž½û𩫯Æ7¿ö50 ð™k®Co_º»:§—{ ß¾áûxÆy®¼úgøÚ1-°° LÚ…g}VhkQfX°, –!a!A±ò![ A±Qjyø™?AŽLÀÜ} œ='Í¿?#>°àW7]‰&w ®q@’' ¦)&ýxÍ6+¦},Ž;.ó2xS0¯rq]¡ÏK‘Y¥4›O¼¿üH7ÞôK¥×•yQºÆ¿ûž{ÐÖÖŠóÏ}þø—¿`Û–-8õ”S‡÷â¯ÿ;Þñö·cï¾ýøÇ½÷á‚·ŸWuÛÌsOþKÑu‘HDÕ¾c¶Û ³×U¼¸“Þa/\íÙ=FÚìKÃ.ûa=ÅӴ੬Ÿ)ªmZ(:¼èÂwà]XÕðÄãÃ0سwžáED"ìܱ£â– ‚ ˆÕ¶ùµøè¯ÅGóÌ ë/ÇÏî¿|n¦/ÈÍïû){ßìU‹?Ÿ[ªÀÐv>ðÕÓð¥ CS×™¸òæ3qeÖ{£àçùÒÇú\ù"‚ ˆÚx/ [qÑ,î¾ûß8è? §æS.C$Q‚,‰g_¼¬F³¶j÷WÃöñøÿÂå—]Š={÷bÝÚ5ˆFcøÄg>†að‘}ëÖ¦XçóVüöw%‹-·ï|ã\ù‰OâÈÑ~|úóŸ}G¢¥¹ßùÆ×•¥'Nâ_¿ø9ž´_Žï}íRôh^dáX&ÎaD¤©úÂCy¾L”– ÙY ‚ ˆå Ù ‚ ˆÕˆÒ%ÜO>w1v»7ÿôøûçá\{øð4´Cá¶›>‚&WZtøçüøÅ“Ó ÒM@Ë5âd}w< \|BºvEpP¶Î_"ø>üOLöEJ Ît¾gò]èóŒåÁ<‰‰Ww#M#ì[ߎ¦NXrb¾WÂô¸2ç„uã›Ñ´¦ì±ßÜ9ǵ“ãxÓCäôáö“v@>ôDâï†|â0Æø$ÛÐôÚËРΙVQÏW!ÛÇ?}»â <ùÔS8vë6„Â!üç»ÿ Ãà3ÿýI»uv=ý .»äbüø§·âüóέºm&W¨oäÏC.Ña)dÊR ›ÛvœSx„`¶¤]uëŒ ,"©‘—ˆeYÃ0U+°ÅÜ}Ͻøã_þ ¸äâ‹ð—¼³&F¥Ž;f“Ï<÷^=x½ÛÝ‚ ‚ ‚ ‚ *g8ÿ—fýÿÛ/¾$ãï¿Ýõ{©Ep䩽ºß‰'²8ø÷ÛñøA/vžâ¬åCNŒáé?߆Ûþ±ã)Ààt@æÝxÍlŒŸg>(f6Ú² i„ÀÜwÇøó¿{áµhÞþV¼û½á´6bäùÍíøÝ£¯bZ,[/ÄõŸº› xâ¶â—ÿ<Ÿ0¶¼ñ]ÁûÏt¢ï¶ëqý½£±W¿û¯€á¼ÿ§âé_ìÂÉW߀ ºtyï+ ݇¯~çE´m6`ßãÏb ÎÀÒùüç•ïÃ9=f0®û«¯»¯:–cq̆õøÇ½÷áøíÛqÕ§>¯ÏøÑÿÝŠïóøû½÷á¼sÞŠ¾¾£xûÅ—`ÓÆcðµ¯~¥æms1ÊÚæò¤ÑæÂTÈ«jš{öíÃK»_œpüq8é„jòl'Ÿt,f þ½köî߃Á€O8¾fc!X-üè»ß™@SS~ô½ïÀn³A’ »1¦÷ãŸ{$wÕèdx$…ùK”’ 9ŠGþï›øñýàƾo}ÿãʳ» ü®½ùY´kÄž‡váHœµû ¼÷SWâí,`ˆá^ÜÿËŸâ×îäX·_†¯ûØjcò¾„»~ðcüú©aðºvœñž«ðñó·Á:¯<$A!AAAÄ DR¸ÖÛ´¾ ÃàÚ+Þ éÇÀ_w?3Ûo¾N;àŽ§½¸ói…öˆ”m›6@?Ë#À¦;q¶ùì•,àr±ÃcÛ/ǵ?èB›H£Y/—eHR8ÿ狞KŽ„¥qnºæƒ8ÙÉÉ0îùË^üdD† O!rä0.ùôõøè VèS!<ô«ßà4@j›_ŸK² ˆ¹¯e])D?³.ÿ>~¦÷ÁõÈÐôËøßãt`° úû¹@*ŽŸÜ¹w>•#-7Šz>µmÿôg°oÿp‹žµkñòž=8yÇü×>„ioºŽ¿ùïâ—·þ»_y§ì<Äëßr¶mÝ‚ï|ý–ªÙfÞðÖ·)ºîŸ÷ݳ|ú%t`Ùü×äΊ ƒÓdW/+:ܼq«j•·ßq'`úu¸ì×Ôðt̆õè;rSÓÓxeï^AAAD Tbm¯(ÍÈQ<¹OÀÚwöÀé`pÊ?ÿ÷ALŸ|*Ü )€ç~y3¾ÿê\~Í×qRÿþûðý;û!C†,úóžEx8“¹¥Ÿ%‡pß÷¾?ÊgáCÿó1ôh§ðÌŸoÅ¿‘‚ùËïÆvÃùá7ñ{ñ,|à+Æ:K‡{#hв(AÛù:\ñå+°¦AÄГwâû¿ú)Zº¯ÃùÿùU|«õ›øŸ{ðñk.À:#vêQì’%ˆ’ ™Ì{ßÍ’ˆ„“¦Kñ__¸ í¦ ž¹óøÃ¯ÿc¯}Úµ•­§9Ÿ(rÚ&•ïz†aÒ!hfåRù‚¥šµÍ:'Œ¢Án^òµE‡ðô3Ï<OÍD‡³lÞ´Æää$^ܽ»æÂCQ! zýÜÿô:„”Q¥÷aRrâu#¤\ñ’DæMçã+—ÝŒMn½÷| ×Üú=´÷܈ µRaxWàêŸ_õ¶i<ü­kð“_<Žã¿r:1оù?¸“½×ÿêfkâå—ÆÑ¤äÄQüík߯ƒmïí=îÉûpÓ¾ÿk¹ŸìÊ3^AAAË¥K½o?<ëßÖ Çàº+Þ ÷ïÀÅo¾nGZãôÇç}¸ã)åö‘àuÛô8øl¾ˆŒ'‡Y\yb æɈ 1…cßñ>Üt<ƒŸÝuOúWc Ÿ}ƒ1}¨¸Ð狞KãYëßÙ†±<‰‹§=и,ØÙÜûD “Á œsÕ»p±Ågo„×jÀ•ç_„+ïØ‹ŸÁ6WN² H±Ü×þ8äÃï>æLâ»wôá@œÃæ6üb “Åÿ; Ã-§ñÕ»M8*Rd,gZ?'‹z>µmÍŒ¬M!}:R’¤ ­Ã0éÿRóÎô8–#[`™°H‚1é!ÇøÜu¤$!ŽU/ÜÎþW÷ªú—\t!~óû?àp_xèa¼ùì7Ö¬Àw¿ò ¦¦§Á0 NRÙÐHAAAÄR~{û/3þþ÷¼7ëÿ•>ú ö Ýøõ°,°~Çz0·ïÂïN¼ÖÍBöîÃ/‰8á=ãìÍhÀÞÕ³¦ ~^ ±£ã7ÎùÜyعÆ–ñà-—\„=_þ=îÛwÖ»ŸÀ½G=¸àê·aG§,#ÃÑ(ƒå ;^ß°Xpž~&6>ü[ ’àº-0j0`¡7ša6«ü¾›ZèظcŽ]cË4ãäS;ñ·»†áçQ¶ð°_¹ázH’„¾ò?8ÜÛǃþ|ð}ÿ…[qÀzï{Ñ?0ˆ&½}}èY³_ùÂõà8®¦ms9Á "$òòÊ&:¬'wžñELMMaÿؼiSÍÊéù_Äää$†Á);O®y½ùü~|öšë008ˆî®N@ÿÀ >ýùÏã_»N‡£` À‘%¤„<Þ-8íÍí€(@”õØðºsqt´b$ IDAT∑¸è=8þô“qŒ‹ƒ$·á¤37@ÿó@lôQÜ}´ïÿÖ…Øî’ Ên·ÓIÙÿòmƇ¯:"¤î3pñIÅ7wE¸‹ÞwAAA+Iáu»ú"¸éÞ1\{N34‹+.{ËÜgáÖMC¹¬+¾;ØCøú~W½€wú½øð'ºÑóX¯À ÙhÂ…'ið¯'pÿxúkl:‚PÊ€XàóÅÏ%rnÄ3šlƒˆþù.1Ÿ„¡M'ÂlÒBçjÃùŽ^ÜòéãžI€œíj|åDL{0sÀ6f¾kݯðkC¸ý/ <•ˆx¶7¹¤¬•¤e~ASÔó©ÍO¾ÿ=p‡÷}ø :|-ÍÍèë;‚k>÷YÜ|Ë×Á0 >ÿÙÏ ¯ïZ[[qððalÙ´?ÿÉ Š"¢ÑhÕÚð³ÿ~BÑu¡P¨¢ù0ZôˆGxÕÒ[,:ìjoÁÀðØÜßšR&â0Œ™ÿó`v4”Ÿá"•ï¼ðƒ¸çþðã[†)¯—_zIÕÁwïÆž½ûÀ0 ¶mÝ‚M7Ò› ‚ ‚ ‚ *l0 Šþ_8Íúž~Ãc¸å#O-ø¿ ÿ:àÅi§»‘ O" [±ÞcƒfæPíÜéZY_àó¥s‡M„¦ÓºÐá2e€ÖÞŒv‹„¾(ÂÜœžýÜç,ˤÓB ÁÃã®»îÁ#{Ç‘6 ¹p†(¥ÃA/¸¿,/̆\𾩖ôÿ˜Q#À@£Õ€ÁŒÇÄ ŸrÖét€×œz þú÷à£W|>þŽY¿߸ùFȲŒÑ±1¼zèÞøú³ðÝü¯}Íisí¡š§œsµÍrÒ¬ň«Í‰'D"½û÷ã_OîB4ÃŽ“N¬z>ž}þy¼´ûe0 ƒã·oǶ-[j:Àµ_øâœèðßù6àcŸüoô âš¾ˆŸ|ÿ»ÓÐ;ºÑÌýûÿ?{÷_U}ÿqüuîÌÞ‹½7ŠAd‰¢"îQëhë¬óçªmµ­Ûºµ¶ND- à·( ¢¸²W!{Ü}Ïùý ÉÍ" ÞÏÇ#’3¾óÜKî'Ÿs¾ë öëRðØò±mÙǼòÊ>ü1wÇ{L&“M³úýÅ …… ÀÄÄŽ­ê¹¯øJs(w¤“ìÜñFÓ¬úÆWžGqö—Ü~ví@}Ò‘~‚;Ÿ_ª'Šˆˆˆˆˆì—šóQoÁš îy/ÛOꄽ*@Å›+ypþ6Ìæ|d Óåà¡ôï–ÆsoYcG9“ñ} žè„dÒ(ãÓ|¦]»­¸bÞ¿{¿B¥<<N;ê fÏ9‡œ%rߋ߱º÷‘$¤¥‘Ö¥O¾ö OÖ8§t}˜¨Ÿsk•ùØ„’B…d—º°ì‘ÒÂvÅ,kUQ³ú×Ú±ŠŠ &ŽϬÿý[n¼÷çÏgðÀAÌ|ù%V¬XÉŠ•+™râdþqïýL?ŽÒÒÒvÍ´V{ª5“ëS3éZ˜x¸{Ò!P+éÐã ãhÑÄ´$ptéE¿%55•¯þ—YsþG8â7çÛn“öãÏ?óó/Ë8hè6¬].Z‘ýQk|6nvåëY¸ÂàèkæòC1¬R–=/|½’íGŽ&ÕO´YNN‘³·£f=–…½‘ý‘ëK¤qD§\MN™+¹*Ùά, ·ÒFbbnw<ßfrJX µ3ÌþŒG{—Ø/âîK»’^Çô_«nƒeQë{«Æ’ÏÕk¯§?UÿXÕ‰Œ{27M·IãÇñÅ‚|ôɧLš0žŸ~þ…«~ +3“ãÇÇó?¢°¨˜ñãŽoÖõÐZq«içœ×¤ãæ¼ößv}ì<Фc“S’).*Þk¯éšŽuqqq,^²„ïøÓ49âˆv{únÙ2–ýð#‡¶G‰­']»n=ýûõãáî«^nùÉGᆛoeõš5M+/e'ŽŒáŽ7ç°ø°Ë9:­nŒ7¸e>÷Ý?—äónåÕô%=´œ¯}œ0V­Dæõ™5úãˆMÆåYÃÆ"?Ãâ\µß÷bRHì6ž[žü+cÒv-™d+)^ûÁŽå雞x¨8«ˆˆˆˆˆÈ¾£¹Ÿá¾\]ŽÍ€[&wbÍ6—ÓðÓûë–0v¨ÞXÇÃ[B;n¦s0|L×á#á“0Þ„X¼Ž8º–ͧ,x(±±vÌp%éXX„hxÿîý2+~%{K/ä¦ój´Á¸‘GòÏ›ÖsÓ<‹Ge¹ßqçÝ¿òcÆ ÜQvÂe›ð›HìjLBž¼E!¢3ûE<6kh'‚1é¹_°$n11A|E¸Òºá°vXx 𤠌XVB¯Ôfõ¯­b'L˜ÀÛï¾ÇÜ·ßá¬Ó§±è›%¼:ó5ºvé©'Oáµ7gQ\RÌ '`šf«\{͹.'N9¥IÇÍç­6}m´?AÜ8±µEáÉÉqíÞ¡©'Oáô©§ð¿·Þn׺øñ'>hè%ŠˆˆˆˆˆˆÈÞQ¶a1¿„z0²_1ÑÑDGG“Aÿ#úb[¿ˆ…aìéƒ;ÈâÛ×Þä³õEx|åämɦ,XUFcû›#¶×ь鼷_}—òÊ©(ZËǯ½ÁÏ1G0qp2ñ½ŽftZ6³§Ïfá†"<•yüôýJ ¬(¤ÔŒ¥S×®dÆ™ä¯ù™Me;-† w|ÀË ~%·ÌG PIÁ†oyçƒeäT”Rn%Ò­K ._?-øœ•Eá&•ßg“:mâ•§gòåÚB<9,[ò Û×÷xŽ[Ê#Íàóå›ÈÍËfÕâ÷x{q.!» G¨ŒœÜ-¬üy5E½~EDDDDDö'V ¾>ûµœsŸYϵ¯m¦2`6ó|QQYŒp{øº(„Y½=Äúõ˜ýz3 \F°ÂâÃì&]r(ÇÌdÛ/ápēꪊ’…Ù¿{½Ñ©iœÔí;Ì…ÿf˧¯±6;„‘Ѓx7”„øÊ<ˆ?ŸHϵ3Èûì9BåŽé鯿HÄrÅQô v/¶âÈÇú C|VѫכáÛf²máÛôN ‘b«jCÀˆ†”:¯›A¨"—ŒR3r½Íìßî_­y…ýY¿nu×ÊdjžwöYôïןÏ×®Ÿc;Ã0èÖµ«þ7ÙC{ò™þ¿Ó_hAe¬]´’`÷Óé›lÔ8× ¹÷pú2OÎgôñ™uáåT¼þÿýËÕ<6Hp0i±Îª§{Ù3Þ_片@hŸÝwŸÕØ=øøÓXN¸ì˜¯¿Éc7¾IiØEÖ°‰üá'sP¼ôáä+~‡õÚž¹ý-ÊLˆ?è n0”žc9ç˜u<÷à5Ì ÇÒìz§G4«–ZNè?‘‰½žæ¥[.ç™è\zõp¬êuZz4X¯YBõ±µŸxÈ®§)¶ÓÜgfdð÷¿þ…O?ûœÿ¾öëÖoÀ2,úöêÍèQGqüØ1D¹Ý­#jNY;¯Å¶¼Þ[ÂKÈS¹_¼WŒ>œÌŒ B¡P»Ö;qüxl6ƒÝ»w¨÷ÂââºÉ¡áp˜²²²f”ÆŠ;„«ž˜ÎÑó¦óê¬û˜y_A€ènŒ>ã2F;™+OZͽ·ÿ†é¡8Ÿ8…Á£ñ™VýOy­ñTUÓÕ“3þz;ü랸~%&$~!÷BZloμã6lOÿ‡»¯xŽ’0;„³ÿ|+G§唑³¸ëŽk˜;ð¿§Éz ¡ˆˆˆˆˆÈ~£¥á‘¢Ê–Æâ9xÒbJ XSY»þÂ"XíÄ9#7óýϾülqÇææ'ÿÉ6(Ê® Ï´ãÅòÙ¿[ÇâúpÜ)Gqç U‰{%ÛË™ùi>¿xÁÄÇëïåc7ž§¦ŸD’ ð{yã­–m…³“¸ùž;øMÎv®~£(ò±›|¼ñÞ6swý{ I”m,à–· )ñCqž—· úò×çáG^Ù¹¬²fö¯ cÑQQ<ÿï§™÷ö;<÷âK¬Zý+0 ÿ&OœÀ)SN"`wlæ›_4鸒’’V{Ý¸Ñ î÷ì–¿—[¶¬ô¬zí; ;kÝÜì6cÇŽ­w”<111mò†1wîÜz·Ï›7 &ìµ7²>úˆiÓ¦íµúç̙é§žªÿQDDDDDD䀵wbf0@.§½öSý¬0Á@ËáÆe7À2 ‡B„ÂUwQ6†6— ‡Aãûk•m ï™±9q»ì–I($¶v”åÀát`7v  ›Uû±9p9Ø 3$ªjƒÍîÀ0Ãàtá´Õç…L °átÙ õú±^+D `Öêe Áérbk䑈}ôQÄØGKç>cš&çþöbf¾ô"v»›­ù }´EûZSCí›:uj‡}]GŠÎ;—ÓO?}¯µköìÙ{½þHó6wî\&Nœ¸÷&ͰátGáv9qÚw¾–L‚>o{t,1QlX„ü~L‡¼TšNâã\+*ðíxs³9ãˆ1©,ó²À°9qÇDµãýÖ y©¨ðÕ»+„¯²o\1qĺíöRVî«ûÞYÃüùó;ôkBDDDDDDvrÑÓô=JŸáöGkÍeùô+êÝג؇eYDGGãt:9zì8¾þì‚Á ^¯ÃhÞz- Åözl¦‘öu”¸G½O²óËùfÑœ:ùd쮨6éK}õî‰mEžV™«Ö*GDDd_ÖV±;oÿS³ïjnÏöµçøuë’ΖìíM.ÓîtkmKLN¡´¸¨CϹ^¢±‘¶·oÅ÷:Šý)Î(""íõNc ÏçÍó¯ÇŲ,ÊËË÷ëøÁÞn_CI‡!ñ°­äo+$#SwþˆˆˆÈžñxýD;¡gÏ>Ø].2Ó\d¦Vµ3›²s蛕ڪ‰‡]2é’1š…Ë–chÚ/b~V®øžÇKF×ÞÕÛû÷îUµ¿ÈsÌ–Qg>ºdÄ3íÔ3Û½^Ù¿9N ÂMM:,÷—“t´(éÐã+#&*AÐJ”8'""²÷)¾×‘ì­8£ˆˆ´Ïg`Á9ï-ŸøÒÒÒݾ½¡ÏÞ¬Þ¸¾]ël×Äæ$* &"""IMŠ'd‹aá7_3üð‘DÇUýq36xã÷(Ù–ÍÌìl\‹s§N%.5‹åk6³xñ|žr†ôíÎ1ÇŒ%§ÈÏ×_ͧÒÂç)£g×LÆ}L³—H©ô†y}4j8™=úVo/,)'Æ&-£sÄs=Þoô[²7“ïæÄ IJïüº!›E‹¾¢²¼˜NéÉŒ;ö8Ó2Üç „Y°ø[~]õ †ä¸‡rСGbaÔ;‘ïn¨~X¿%Ÿ_IEii‰n&OšÆ¬çã--Äå0qÈP<’7Þý°Î|”†cj܉±ž-y¥|³è# {y¹›IMŒæÄ “pŧFè#^ õ©¦ÝûwìqSœ«Hc[_9;—ùy냷=´7}¦¶ˆˆb‚î0noñîø&ô™8£lµ¶™Á6§«Ö¶ú’c\qº°u½‰ˆˆì³öµø^¥7ÌëóæÖŠÑ|È »½ú˜H1·„ÔÌzÊÇ—ËVb¯àᣠ… Þ|ïú¤:9jÁœÞãØ¡}ÉêÙ/ÂuÜ8cBj†.r‘óXc Ø‡Ú·§"%¦Æ¦QXYÐ&u6;ñ°¸¤”ä¤D]ý"""²×D» N9a2K—ýÀŒ7f1 gW?l8ñI)œ5e2s?x—q‡DJ§îl+ªdÕŠ%œ6éx\±É|´`Ö® &­!¦0w\2 ¾ýÏ|Ê”O{ÓMжsɹçÔÙ„pØ ›=â¹6 ?¨“'ÏÂe+Yºì&MœJnQ% ~ʸ#‡“Ùµßý²š¿ü”Ó¦œFA…q_ö6Eùë¹øìÓ1Ñäæn ‡ÙVê¯w úFHxËo þ"|õõ§?â02ºô"/?ËncÂèátÊìLIE€>y—^Ý{Ô;¥ùåMªÇf³;|©'ŒçË%?ðãÏKéÚçÈzûÈŽªÃnÕ[oƒuÕДøêôÏp8#ÎUN„ë+¹óàzË(­ðþŸ1æÐAôè7D/ji5á°Ý¾çAÑŠr/qñUËîžtÔI:ŒÄ¨Ð¤ˆˆˆÈ>k_‹ï™V¸Þ]Bzçí­?æ6èà1õ”ÿ ýzöå»%ó98 Äcá-/f³?ÌáÅ•*HËìq|:rœñ¸1'bê2é,”y(Ò\Y]»‘·uK½ûâã£)/÷´YÒal{íÄC_eˆ¨Ø†ÿÈÞI‡ e„èwòêNf‘¦‰‹v2fÔŒ<üP÷³ßžË'Œ+> ˲ª¿¶–›WÈÌÿ½U}~ç8‹˜Ô¾¸“°9]~ð0>œ¿¿§W\bÄÿ«-v”ßH].þ I8À!‘1Êí +³6—“®»²ª` áp˜œü²’£èÑ«?¦apð lظ’Š’brŠ‚ö‘‘šŽ3:•~ú‘¡C†Ò¯O¬Æ ŸeU×jŽ[ƒõ‡ÉLrÓ£W?Â@÷®Ý0MØâÝù3 }Fˆ@ @T2wÎGÍßw"×S„eÅåv’‘Ù ›ÓN×ÎÝX¿j#™©ñõö±æíp–Ezª+>}Wp4g[Aþå{#ÎUýc >{ýå””ûymÎëŒy=úÖï""úl¬ùí`s¿/· Ê€`=Ûmv0ÃÍø}{GÒ¡^Óöõ¦ÿKDDä@·¯Å÷bÜNÖ•×ÑYµâfV½1·Håë}ÞŠÒb¶øéß-‹œ’ J‹¶“]l’™‹3*s·:ö…8#–Ò\DD:Îg8bj_sÚ`Y¡ê¤C¯¯’è¨Ø]¿Ÿ&$P^VÖæm«Ì×N­Î1¡P½3™8þjþ­5»Æ±5~Ãh•¶¥%Çã ;ÉÞº‘î}7é#BÝ;·[ì‹vpÚ‰“ÈÝ^ħ‹—’•`çÈ#‹8M½£·f¦iÖiÉæÜb–ÿ´ˆ³¦L &!·>ú°EcÖX? à .B±Û[¥®úú×Ðù‘ÆöÇU[ê-'1.Šnƒ†±rý úöŠÝ­²ˆˆb²Ìý¾pmmõ·±9I‡ÑQÑx}^]”ºÞDDDhûZ|¯%1º1·HåƒäÔÎlÙº…Íe5¨/þ-…dçæ±~[ £ökÖS;RœQDD:Òg`Á9”aìÊñ«™tàkFÒá¦MéÑ£g‹Ûak«ì5P¯iÛ‹+Yòí7lÇãõ±rÍzL_)ñ‰)Ø ;Å%ÅänËÇï­ 3-•y¥¬þõ‚Á yÛ‹Èß–‚a*+Êñxý,Yö=™Iq¸vû嬥âcœrÈ>\°˜_—ÿˆßëÁë °ü×ÕT–5xnçŒ4¶•øÙ²i-@ŸVþJ´$.)¹})lÊÎ#'{©‰± t²s |Ç ö/¨ IQqn[8bý™i)lÝ^Éš_—ãóؼu ‡(§Ø¸r Ѝ,/©úe³žùhZ?S"ŽÍÆ}¬õKn=õ6µ®úúg†‚Ûil³"”c‡ îCLJO¾üê‡õ¢‘GI‡""""û^|ÏÖ£kŠÈå›ôïÝŸe¿®!\YLrj}{ôâ§µë1+‹IÍȪSÖ¾g‘ŽÃÒ×~ù%ßž$»žx¸Ý»ôèôVkت «š}ŽÓéÄçóáv»¸‰ôz½DEEéŠiʇ6fogÙO+‡ƒtÎHá¤qãˆM®zÚáÀ¾ùð«ÏpÙœ{Ú42S39âX¾X²ß‹ˆrÁ´É'*‹ç^~•ž3ˆ‹Ç4ÃØíu碚ÔOÔ;6F„>ÖT_½éÉ ÔµKVZ|þs씈s•™WïØ&5PŽÝÇyó>ø_~ü†ƒ¥`""Š ì÷ü~ƒ±½=÷ûzûö¶0&öfÞãìt:©¬¬$66ö€{=4 t:ŠÙ×ì[ñ½]ÒXµºnŒ®)"Ÿ²Òñ[Nú¥%âpG“‘MÀrÑ=Õ+:®Î÷•8£ˆˆt ±nB¾Jìî Æ~$ô‘šÓacM‰väöµ¦´äT Š [t®1åÄ©V¥·´Iû<¢b¡ý†‹XWýK7Ï™3§Þí«V­"77—þýûßî“öÅ_0mÚ´v¯×çó±xñb:t¨Þ}DDDÚIv~9KÈ©“O®“|&"""{ÇÞŽ HÛ,_¾œÔÔÔˆ±½9÷ûCûö4¦µì‡9ôa6œ®ÆÌóÂD¹ì)¸råJ¶oßΡ‡JJJû?‰föìÙœ~úéí^¯ÏçcÑ¢E$%%EœÏ•+W’››K¿~ýHHHЛH3_+iiiŠ³Šˆˆˆˆˆì#xý^[°ÄîãŒIÒ€ìÌŸâõßrÚˆ.üù‚£ë=foÆ>š?èèí;ï‚sðyªn®ð‡-Üv£Éå¯[·Ž>}ú´J[•ÞRÒâR(¨Øõ8ð˜˜<Oƒ›’tàtÇàl`¤5°ŒÍfãûï¿ßk¤@h[²Ùlôë×ÖR{"""íÆ²¬Z_"""²÷ <Ã0øá‡0MS²ŸhJìcg\ho̽ÍfcÀ€ôïߟm_sí~œá]7Þ,]úÇ^ý³Óe’˜Ei‰¯Árš’t¸ó÷îú :”+VðÙgŸíµksöìÙí^§Ýn§ÿþ 4ˆ`0ql–-[¦7V[éX®9ýHì¼úñB‚!åÌì¢\v.|8e8–Uÿœ:›ÍÆ?þØî±6»Ý΀8p`ƒ±™ŽÜ¾I‡@³’=J:¬¨QT’G÷®]0ÆŽÛ6e·€ýŠÐ3 ·Û}À-§dY@¿ß¯¤‘v¤'Šˆˆt<;c.— Ã04 û‰¦Ä>öæÜ[–…ßï'ì³íÛOegKðj(uÀ-‹»s>}>_ƒ×[tt´–oƒ±‘ŽEŸÌÏç{3.´?´ooÅwçhÎÁë6¯£O÷&f=ú½ÜÑ®&œÏçÃçóéU("""m®KF<§r†BDD¤Ql@sßQç~_¾6×®]Cß¾ýêlKͤ¢pÛ•ÝPÒ¡/"ÊîhpL½^/^¯W/€zÆÆãñÔ»*ˆˆˆˆˆˆˆ>Ëþ0ï9.t Ä­ ZzïfZr&¶®}»7ù„&'ÖÐÔ¤Ci}õ%Tn#'/»UëJJJ®þ¾¡¤Ci™Ù:Ë’ïÉ‚ÅÛ°m]»Y³!""""""""²ëÒ­W³ÏéœÕ¥UÛPRR\UnK<¥> IDAT—ž¤Æ¦kRDDDDDDDDDZ™Ãf¯õ³aìÊ ¬ ìÁÓCÍlGSÜ^VFzBB‹ÛUY¬€¬.Ý#®?-"""""""""-“½eC³Ïñ•Wתíð›!r²7Vÿ¬X ˆˆˆˆˆˆˆˆHëÒ¯Ë׬À²Œêí±®¼e~¢ÜÍ+4ؼÛœx¸3é0.ÊE…/ÐèñÑ1±x=•»:Cl|ղΚ}‘VRZZJbbb³Ïkí¤C·Í¿¢w\UÙŠŠˆˆˆˆˆˆˆˆ´®I‡‘ÔL:¬ôz‰ŽÞ£ú6nÜLÏžÝkms4·¦$µ’w·xñb;ˆˆˆˆˆˆˆˆH+iIÒa…'D\LUx0>>žòòr|^“¨h[‹Ú‘œšDqaIuÒ!((""""""""ÒÜ.7þ€¿Îö=M:ê$B=‰‡[¶n%::†´Ô”6ëä…^¨™i%Ó§Ooö9;“srsé\c{l”p ÛQ\XRg۹瞫 ’V3sæLzôèa†¡‘†eYX–q}I‡=zdÓúU–ß5£[ó7Q^Z@|bZ­}§‹P°ö ë$vëÚµÞ‚W¬ZÅà–ùq&¸‰ŠÁWé©÷øø$7å%~͸ˆˆˆˆˆˆˆˆH´qãFzöìIçNjm7ËU\XBrj!oG´€^]»°ak¶TÚÛíÆf³)ñPDDDDDDD(–eašf³ÏkJÒatt,[ó7ÔI:ê$B„¥–óòsÉʨpÜ™tàܱt¤¤C@I‡"""""""""PÐfÇi†éÙ³gU–¡Ýjò¹É©IÕI‡€’¥Ý¹\.ìv»EDDDDDDä€bYáp¸MÊöz+›}N½‰‡»'ŠˆˆˆˆˆˆˆˆÈ¾eûöm¤§gÖÙî4k'›‘tØT¦Ý %1‰’¢bM‚´ »ÝŽÃáÐ@ˆˆˆˆˆˆˆˆìEŠÎˆˆˆˆˆˆˆˆˆì‡vO: ¸\®V­c͆-ôëÕ¸¸**ʰ…-R’Ó•x(mfç“m6›CDDDDDDD¦i6kˆâÒR’Û¬=í™1ƒZvYDDDDDDDDdoˆ¨N:LKé\ïq%¥åõn·Â‘ŸŠØ¯W7€ê¤ÃÖ¯[­Ù‹Ú2éšøÄâm%¤d&5«àøØ8Ê++°9ÝÕÛƒ¡°fUDDDDDDDD¤”—WÖú¹ (§Þã’ã«¿wØ]„ »Ñ¢zÝ®(üŸ&@ÚM8&//¼¼ {T½û¹³¶Üqh3 Ö??²ÃôÁîJÀu(éGß„=&]W°ˆˆˆˆˆˆˆˆ´_Y9 ?õÐá4€Æ“†ìtŒ$º9sç‘–šÊ.½„ïø¡Ö¾þýúñØCrÑï/ãÍ9ÿãôÓ¦Ò»W¯f”n£ó¤‡øtRÍmå?½ÀÕù†Q¢“­5{c’ýÞ \öúPî{úw iíã¥#&¾8ãåê¤C€W_{€Ë~w)›6on×vïkã,"""""""­§¹I‡@ĤCØÃÄÃ-›·Ò­{WòóòÉÈÊhõζd¥ƒŽ¶:B8P†gól²&< +XDDDDDDDDÚLTBãK-‡‚[²³éÖ¥K­íÑDáÅG·žÝزqKõöŠŠrâââÛµK~Õäcû÷ëÇi§œÌë³f3ïíwªŸŽØRfÉ÷¼ðÏ·±Ÿv‡cÝ·´4!nÞÛï0þø±ÄÆÆ¶j=/Îx™é/¿RgûÎäÃ=m÷îüëgsýŸpÜ]÷svowýÁÍosãŸ>áè¿ßÏ4Ûû\ûçóúmQÿ‹¾áïWý•Oj¬Ò1„qç_É“ûgÔnÃé®Où¿Û?aÌ?îcj÷úÿ\Ü8—ëÿü%cﺟÓ[ñ©¢‘—Z6)_÷¯½ù1ß,ßBIœéqÒù¿åÌ#²pWŸ¢hù‡¼4ó¾Y_Œ•2€ñgþ†óŽéI쎄eÓ›ÇO_¼ÏÜ÷¾à—¢ ¦üù.Xû eÌßÿ2¾Ú­ˆvÞ|éz‘jî×íÖ½+@­¤CŸß»×;eï0_±n;QN¼eºÚDDDDDDDD¤CØ=éÀKUÖKͤC³ ÷.û<­<ï·3|Ôh–¯XÑäsN˜8€ÅK¾Ý³ÊÍb¾yñ1>ˆ;‹[ÎL¬ oréi—óÊZõa…_ý…SÏ{˜¥eõ(XÊ‹·œÇÑ£F3|ìùÜ2óŠBå|ÿÈL½k)yk¦sÑøÑ wÓߌ3Gfø¨_®föæâzmC°fM¬{ý*N¸ði~ªØ¹­œï?ŸÉW¿Íæp¤¶@pã®<ï2n¹î FŒ͈óãí¯àä+Þd]`GQ?óøã8ñÎlß‘gÜô?.?íw<·ÊÛ@_÷ÞµmYV³¿^ù?þD“oj=‘’wª™|Ø’v×ûeذ6lFýû=Nã™Ùÿæü>.,ÆÑÀ±-ê?6l®®œúè;,]ø% ß{'×›å/>Ê›¿zêmƒÍÖH †­ùíl¬‘Ùp¸¤úxu.Ÿ¼?‹ÿü&ož{’Yk<;Ž S°äEîxô ¢§ü…™s^çù«!÷õyèƒÍìÌ! ä/ããïü~ÖŒÈtãvÖý“ŒápãLÆM/Äâ/?¯þšÿà8²”t(""""""Ø´i>EÄý•¥•mR¯ÍíÀÖÚ…F¹£5£5ƒ8ì«Bƒ!""""""""íÊëÝõ­òâ`‹ÊHˆk<ÞÓz1Áܼ<€—L^ðõ×µ~îÝ»êØ¼ç¶L˜‚…ÏòÐi\ôÓÐÒ.ù×1뎻y'þ<ž÷>ï?9•à¬xb‘ŸC®…¹NV¿‹˜þñW,ýäi.š|-o~õK~Å·óŸáò¡é 8íRÆwMæ°zŽ?§WÍ'¾¹è~Ô$z—-âÓu;â¥køø›Ÿ6‚®¡Hm)ÀBe…8Æüwß}'¯ÍÁ##=ÿ –fW]+•òm>”¬XÀêb ’³ìsrRatèúZUþÞÐ’¤Ãg^x±Yç6娯’÷´Ý‘¿v¡ÌpO¥‡@¸ Ƕ°ÿ¦¿’òòJüŽdúËðdyåþˆmhJŸZoŒºdlï¹äÌádÙ<”–I;êt¦u/ã—UùUI…ÞM|úÖ$ž};×ï†3h’rØ9üéªaä͇‹ªêˆîw÷=z;çêA’«,BËÄSÃÖ­[«¿r <„õߘˆˆˆˆˆˆ4¢GD¹ã"ÆMŒm“zM¨õ¥~v›nM‘öUý}|rýK”†=ž:Û¶çlßkm6ÃU©6»çY–ÅÀý¸þ¦[øã 7²-?¿Õê çÅSO,¡ÛÅ×rZ益S¹æcÞÝ>ˆË"ƒÓãI2³†[üøÙZJìx)ßÏø'sŒS¹íÂCHlbäÖÙe8SúyXøéÊ€’ÕŸ²4<”“IÇÛ@[JÜi Ú‡ô䮌}8=úÁ¸ôm|ò}6yâÎ8i2c'Mæø³®åÁ7Riîh_`_Ïø;OÌØI'2õʇx{}%¦eØô6×^x¯¯÷cxÖ1óOgWÕqò%ÜüÂ6yÌ=xâaõhb™* Öóå›3XÀaLèµ{veîCÏV¾|áÏœrUÿN¹í5ÖTZUeZ‚ïyõÎßs¤Ɍ=ù÷Ü9ë'Š‚Uåþßï¯çÎÛ~˸I“÷ûgø©ôù_DDDDDDDDö¦W,ž@Ý¥Uì11u¶%vI«eõØívÂ;’íNmöùlظ‘ 70dðàêí†a0ýÙgxýÍY<ûât-þ†×ßœÅ5W]ÉúõÈÊÊjY£ƒy|òôÓ|×çbž<±®=g_I6E[¿ä¶ÓŽå¶Û“Fy‰¼±IÑÒé<8?Žó<›¡qÍ&Ú³8|ò žyþSV•ô ôÉpè5”b÷²™mqwcä˜4Þøì{rÆbá2‹a—ãh÷ç<òõzŠ:çðIN*ÇÙ( °E}m[MyšÀÌ×ßà¹é/Õ9·©çG:îþ‡æ£O>mv»ßyÿ**=üå¶[ª.ÉÍŸðØ³‹èôûñþønضýÄç?SìŠ;l#vЩüýœ{”bí»sÛ³ÓµÏÝLµ–AüÀ)\ùÇ¿Ò'&—w⦅ÿŠCî˜@¦aÇnذïX¶W&cÿx'—™‰¹åsþ}×ãÜ^âà‘kF’jkÁ8[Vp+oßroïz÷að™SÈpîxza­6Ô8ϲÀ,bñîàÁøö©ÙßÝÎö%¯ð§ÇVUãÛÀ¼ûa~—KxvîÒòßçž¿>Á3îåºnvŸÎüïü=¿d“ê´°¬=½ªülYô üqÕ¡8°¨ôãq¤î6Ø•ni¶Åf£'X•gØÔ*Ê~æ©ë/ä){}œÄ¹çœÀ°4úÓ‚ˆˆˆˆˆˆì©¾ýz³vÍúêŸRb(+ªº¹´¬yK1Ûöêïk'6°ÌÓiÐÔÌ‹ˆˆˆˆˆˆˆˆ4Cee%±±uïTö*‰NŒÂ[êk´ —ålQÝ¥¥¥$&&Vÿ¼ü£»+›UÆ‘#Ž`ÃÆ¼÷áüZ‰‡‡ƒóÏ=‡É“&ñÁG1þø±|0~õ¹ÍdëÇOñÔ/¹ò±‰t¯Óu6+L Ü@¬²Fb“3&…„nã¹å©;“¶{ÊI6FU ¶Æ9á‚EüûѯètуœÙo÷5žë¿{û2†À°Ð¿øpá@B?;8òÿ‘l@Ym nœSßÌÓ}ÄXÒgÁW‹ YjáŠ>]èÿú’…7““zGujB_;6»£mîÉÿÛ_þÌ=ÿG}L³Îûöë„B!<;ž@j‹N&Õ¢`ë&rŠ3è•~0“O€p0„éìĨI]!"l¹éìŸõÙe~HÜ ;j8ý’í˜VFß‹—_ÝB±2w¯ØGV碣Ç8.»êg.p>?Œ`lF çÔÙ•S}š?‘@È[Fîê¯xå±Ç¹1»‚Þ:¡nj¾B ~æ½¥&Çþß%LèƒiZ¤tÊ$ιªê}lý—|T4˜Ëþ<ŽîÑaÌžÇqÆð¹<´pegƒáNcàÀ,¢.†ž‚aîQâ¡IÙÏsxüõl¹ê*O€PìÎ(Vh÷G³†Y.‡½É ƒVü.|õOÄðUP¸y)sþõ?ìá¶ÛÏfP¬REDDDDD$ÂgJ»nüƒoͤC :épOÙ¼¾A3Ë$55Q³"""""""""²),¬Zv¸¾¤Ãj&víÜcê³u‡–˜˜ˆËµ+¡kàСÍ.wê)'c³Ùøß¼·X½fM½Ç¤¤$sÞÙg‘‘žÎê5k˜3ï-l6SO9¹Ùõ6½ÇƒÿYÃaW]ÉøÎu.]‰]èìÈ᫯–³­¢ŒÜU‹ùdáf*v„Tm7ÎP)[³7ñó²ø{Md|üw<úø›|»¹·‚œå_ðñ²|؈NJÂV¼†Õ¹ÅäüüË·eóùžâÛ>—rãI=q×åºÇë´ÑH‰Ãm,xöy¾‰Å„þñÄh¨-õsu=‚qé[˜ñâø¦O$ö=–!¡Oy~ÆzRŽA÷lIùm­©Ë%_pî9Üpí5µ–ªm¥–=¥¥¥Ínwii)•••ÕåØ2ŽáÖ®ãÐìWøã9gqé]ÿeÁærB–…eúضlÝ|)“O˜Ì˜3ÿÄüܦ¹+9Ö ……ML3ŒiØ1¬KSãù|;þ5MLÓ$ bOèN2¥l¯ð·l©åûþrJKË© ÚHê;Ž+o<“”5ómN`·6ìZBÙ²,…”LD;¡P¸ª]fÕ ¾ò<г¿äö³'1fÒ‰?ñ ®{g å~‚VÕíæŽ~ƒAÂfä66áj·õ3þýï/pM½•?OxÇsœñ$YÅl.©ÈmzŠÈöG“•ènòÜ;ã»Ò5ÑCþÖl¶–c&ÌÙW_ÂÀÒe,ÙâÑn""""""QS’Û’ :jW°°pWP$ÎGE°"âÉö AØÙpV®\É AƒšÜ ³| ¡ìy˜I8h¿šlßÒ«±ÅöÀÑu*¶ø~ºúEDDDDDDD¤Õ¤¤¦6鸭¹¹tíÔ‰­9›p8„BÍ[7#-ƒü‚|Ì+§»Êó‡â›Ý>½{sÆiSycö®½ñ&{èAú÷«?–¶zÍ®½ñ&‚Á çœu&½zölfmåü2÷ åoÅüÓ´KÃV‰v/=~¿¿|}ìNzÞÄ•yc†w"Ù l‚-}Sü/»é"f¹’ž<—ßüýOØŸú·Ÿÿ8Ea î`~s÷]$|g ¾ƒ‡/<_ì!ÜpÛA¼óáf¶„îbê'wí¨9‹)?ËG&×9þ¶çeH©NbЄ‘$Í›CÔ©cè»#÷Ôˆ±-ŸÇçêÂȱxú±>¶ Iý;ØÍœÒ8sd·êäȆÊ?>´™9×ýžÇ¸’žJk#o\ó{þ帎—=‰n¡µÌ¸úr¦ÇßÊ«§S+=Ô­©Ie>ŸS§œÀ#?Ñì¤4«™ë÷~ûõ‚Z?ïþDÄ:å…CØÒ‡s᣹¨r5o?v÷ßãçîûΧOÁ|î».ÉçÝÊ«ÿèKzh9^û8á |P'IpÇÆ] Ö®%ˆwkQ¹}#ÅáXRb ö1òRËÕì¨×"lú Áf·ãrìZt©º VÕ‰–eáˆI"Î,fC~%fw'FUQÕe:bRHì6ž[žük­§lZÁJŠW¿»[V3é´>þÜüçÁרrÄõ<|FðùÁ00{J?ŽÎœÉ»ßg3¹W_ª¬‘¿b!\C˜Ö9Ã0kVuëµBC;ŽÁ ùðxÂ8œn⢶SDDDDDD$5)™Â’âv¯·Áõ$J:M:š•t.ù‘Àê'À ï—“l…* —® \¾ Wß«°§Öô“=+yö†[˜¹±F Ø‘LŸCGqÒYçrÒA)8÷±ñð­™Éõ7¾LåÄ{yòêaUAÌùYûæ­üñùBFÿýqnL~Ÿëo|™’ãþÁÓ7N’ÞGDDDDDDDä¶½¤˜Œ¤4 ÄÊ•+#×µS§êï››t_ßàþĘdJ=UNg§ã[Ô—ë¯ù#7mfÉÒ¥üöw`Ú©§pÂĉôéÝ€µë×ñáü˜3ï-‚Á #8‚뮾ª5Åsص¯²äÚF/Œ¿.ÂÎ,ÆÝòãn©±©óQ\r÷Q\Rßáqƒ¸àþ7¸ Æ¦óŽ¿,bÕF=Ç×'á«yã««w?›¨ˆm™Æ3³§ÕS’‹Þg>Å—gÖÜ–ÄQ·¾ÁÒ[iFù)L{òCvÕГ³žþˆ³vþhïË…Ï~Ì…{ñ5j%¶¥’’’fïÙúŸ­Nå°#z‘ŒAbZƯ‚aúJ)·9¸K ._?-úœ•Eaú·¤aÁR6oÈ¥4=Pö"^~ák‡]Ï¡é¶Vé·òQ¼å{ÞzvÛ{]Ì!éضk¿ÝîÂ*#'w +‹‚döÆÉ‡½Âý/¼ÂA‰ç2º«“í6Q²ãšq}çø¸¿ðÈC3à‚1 HuPºñGVûsDJëÍW0!Ï>0ƒµ‡\ËÃWAŒ×C­wK[£.Ë;ÿø7ÿ‰¹˜³Ìijb>Óÿ»‘¸Œþ1&¦Ù”šB­XÌÁî ë›E¢Û¤k6¯Ïš]ç8›ÍÆ9gÉuW_…ÃáÐE Í~¡ßïçÔ)'Õ~:`ÔÓØñ»ï7ÌJ~zã}(ØHês¿ý¿ß04ÎÂè{2Wž´š{oÿ ÓCq >q ƒ;Gã3­ZO¬]æÎ§!Zµö»âã)zï/œù@–#•!“.ãžßI aL«%ý± ¸•wn;Ÿwvnrwå¨3®áÑsG’E6:”SFÎâ®;®aîÀKxüžiŒúã\ýÌã<÷ñ`È eè:Ç»ªÚìêÍ™w܆íéÿp÷ÏQb‡pöŸoeän}k¹rVÎ{“Os={/çÌßµ'娛øçµ‡’d…qõ=Ÿ‡þ‘Æ¿žþ׿TLlØ|ÍüæðXüÞdË÷pËô_©^ùÏ—2 ;=Nù wŸ×ŸlØÂ¹,œþOäî8*ºÇŸwŸ2˜Ÿ—òEDDDDD¤ƒjr4®fÒ!€Í²cØlXM»m¯ILoV°lCa¹< IDAT?n Ì–ÀôìYI†#†´þã¹àœ,¸ÿ'.ËáÌþ}ª—9©/é0%9–¢âJ2:w!?'{ë¨(.".¹þGqøà—ët:¹é†ë9ý´©Ì{û/ù–ܼ\:euâÈ‘#˜zò”,¯,û³–$œí\v9t˜ÄèSøû«gqߎZá>_ÈÄ"Ža>À[p`Ã"ä÷c:.oótž™uÁŠ |áª2ÓŽ½—y“L*Ë<„â§ð¯7¦UíçTù,,Ó†Óa&á€Çßh²[Äþ$àÎÙ_rO­&š}^¼¾! ì]k´!œÌ¨kŸç‹›íöRVî#DwN¸ñ_L½ÍŽ °BAL›¿¢8„çÝù<—8íV_e%^³f¹{²Ôr#nžÉ7wÖ}ðBØ[Äöb&`¼ØºŸÀ­OÁß\v¬ OEåÞÐŽ%™Ýô>ãI>¿ÔÅî5+ (, `â mÄïxdüµ¸;޲‚xËË)¯ôÂ@+-‹ˆˆˆˆˆHGÕ¢Û€;uéJnöÖF“11=»2ì²ÒRÉ+(Œ¬U¶kçË=U‹#ÄÇ´ÿÝЭÓW“p „… »Ë…/g¯<ýo/Ý‚'±7£Nù-Wœ>œ,·Qµ´ñͳñöé±u›KLºOþ\Õ‹Ío=ÇÓ³¿ä×Âà Ç„?qÿõG’a³ðçÏœçg0çë5š t6†s.=Ÿ }ã ®™Éõ7¿Ni·>Ä­e}Aˆø.‡0éâ?ò»ÑY¸*×0ó¾»xñÛí„0ˆÉèÏÑS/æ§Ll㣄/w ³^˜Áì¯6Pjv€ª$ØK5—÷9e5«¯o×BTc;û÷ ó¾]M¾Çžܛãμ€¡KâñªæéÕëÎàU ãø¿ñôÍÉitLvkËÄ˽éY^]×¥ÖÓK¾{œ«nÿû”»yâêCHÔ{’ˆˆˆˆˆˆÈ~-''‡_ý•ììlÌbk6›Î;3hÐ :ÕX¹5WÅ;êK:LÎÊ 8¯á¥”ƒÁÿgï¾Ã¬¨>Žo/Û{c ¸ôÞ¥ˆ€bW°·hl±ä¯‰¯‰-ö$F1Q[Œ]T,ˆ¤wiÂî²½·»·¿,»ì²}Ù¥ùû<ϳwfÎÌ™3s¯ÏsN‹e¦­Ð!À†uº¾ýúöåÿç—ºy¤Sº;Ò]]]]'>.ŽÂ¢¢NmŸßb}ÐWGuy[uòã©­ÄÓêËí.*Ë]Í·vWQîÞ÷!PGeã~›þÝCíì÷P]^Ú~a_óãºk*p7ë.÷RW]A[5 ú=¸ª<¸Zi—îžOsÜåäv8;v¿§†òâÊÛXï«)&¯¦ƒ}ÔURRW©/¯ˆˆˆˆˆˆv¿«©ó3 w+q—·7§SÛ5 í†÷õ²†*,ó_RßÛ’m#!Úzh¯ÔÁœk0ˆ¯®’¼Í_ðü«ë©ŽǬqIX*Öò÷{þÈ|ëî~áO$nùw<ú4=ÌÃgÖ¿Ué¯%¿,’s.¸Žsâ›\;Ãnº”ÓÅ`ÁMB¬mÏSÝüÜä}~o;mÒ—˜ïöß5?å¼ÑIØ€ð1§’@ko™È_Ù¹69°ƒåg25i®ø’-—g|p;_­-À–y5'öuêWQDDDDDDä÷ý÷ß3~üxBBBðù|nÂøñãÙ´iS ”×Ô> ¸óæsuñåé=}œ‘ÇñþÛob4ÖÏ9\RÒü¥üß, PSSƒÇãQ;bÍa,""""""G©†ÐaTl8eÅ?оÑdìp›ò²2"£¢š-3] ÇTè°AѾ¹& –Tx;QJ*¼‡?x˜p ?q3ãZ ç¢2¿ 5¬zôZf=ÚdUl Õíô[E¸K&o㙥ù¬[øÖ-|'ßÀ·ÎÄ—_Ž '1)ÔŸ¹è$Â>*r+q·v3ê|~‚®l>ñ^úb9•û;Ô^?íwMy¨,(Ç…ƒè„p,Ýj,wmâÁRP~±}ί3ûìz›"‡pÆI™|úÊ*l.¦Ÿi1k Bráñ¤Ûô£(""""""r¬ËÎÎæøãÇëõvºLHH¹¹¹j<‘N:R‚‡n··ÛÝæúââbµ³ˆˆˆˆˆˆˆtKu‹ÐGcè°ÎçÁÞ‹y¾¸¸¸Æ¿+«k ­`­Ã©–íu^÷1Ñèm…´>lÚrdw¦X ‹ ÇN8cnû+ÍHàÀ÷5ÛziÝ’Éùw=ÍÔßðÉ‚…|¶x=¹ßÎcþ¶©\Êò«ðƒ• µå…TÌD&wÖó’ýùSüõ½ô½òž3’°¬WøÕo^§i2ØÆù„Ɔac/åÅÕøˆêƼ൉Ÿ¼øìdQ”UFÝäìÍ[ƒÑ€Øé­„u»MdÎ8ƒQóž`Í‚¯Yl[Oaäp®—ÜÍ`¥ˆˆˆˆˆˆÈá¨Ý˪ÏÞåµ·?cmq"üéQæmsûÚm¯që­/³5ö,}|.£ÂÚÙy°Ž¼Õ xû£E,[¹…Â>—ò×G®`°£"®\–ø:¯}ð ½€™¸˜qæù\|Ò`¢ªVðÀ/îá‹&ƒ9â‡0óÒ›¸á´ãíŰ‚Á`§F:lÖ{á÷ºT¦ªªŠ°°°n×3ÂAEmEãç5kÖ0zôè.íÃmÃUêÖDDDDDDDDD¤‡…†4ï =0tGqeɃú‘»u×A¯¨¨¨ñï†Ð!@³qK›lÔ ½Ð¡ÝpôŒ|ØQè°±¡ÊÝä{ŽÂ[ÊDâøÙLO©aÝÛï³xOn‹Š½›Xôõ&JÚìÓö’·äU^øpµÉ“¸ø†ÿáÆSR±8ãH‹r’8þ\f¥yÙüÞë,Ø^FÅÞå¼óúJJ¢&pþ¬~´?A°£ÑÐX?c Š¼=¹Tï«‹ÉêÄj‚ÊÜ]lÛ°‘ïË<ÍÏgÜÙLKªcý¯ðáÖªÊöòCNÞk‰Îã”´ß¿û/ÞZ•G•«’œµŸ1elD&Gâð•°}{UÙ¬Z± Ëèî·‰9ysާ|ùK¼ðu1qcf1:Á¤_D9j¹s¿åýoª>ç"ÆÆwðŒëÉfዟGDGoÊYýïÛ¹ñOŸQ5ðUа¥Œç¢_ßÀi©VŒ†Ñ\wï]D¾ð2ÿþßËy,Nê¨Søí¯.ç¤d ÞííÕÈDʉ?ㆭOðâÇ%/AXZ&Nk}ÞÕ’4ÙÓ?ãñOþÉÿmÌäêGþÄÀ&S›b&2÷žÛ{î?¼tË<0—–„ÓÜsmbˆÅu÷ÿžè^fÞ×ò‚ Œœxq_¦K uæÕütóßùïs¿döß!râ\þrû™ÝoC4#ΘNß/ß`—/™“NBŒú†DDDDDDä(æÈ¼€ûÿ ”¯äŸ,mgKK_åõ½ƒ¸ü"+¾ßÞ^ƒ”¯ýýØÇì;äªáÍßžmUë^}‚7ʦqç¯gbô¾dh#f^Έ™û6«mö Ž5<™¡“NdôÛÈ­tŽ^m¯®ŽxØàaSNËáíxpçÍæê‹"‡Ì‘2Õ²ÚYDDDDDDD»¥ó}š£ cͶnWQYEDxËYUÊKJˆŒ‰Áî0cnvGCè %)”¤„#®a»:lÐ>ºýR>j\àdàœÓI¶÷þë½=âá¡ÃÚªœaÍ; º:ô}äçÑ'¹óAB…åP3›Í¸\.ìv{¯K#jÄÃ#ÇãÁjµª!DDDDDD¤×Œ>šo—‹ÃÙ²¿¥±—¶«¡Cà˜Šô ×n¾úd#ÕÎAœ2% »ZDDDDDDD~Ü»?㟻8á–3è„ŠŽ øÜTºØ‡sÉ¿`xj$”läý§ÿƃ[xäŽÓI= ga01øÃ0Õ¬{ún™—CýÃoú L¬ÉœñУüfL8¾ºJ v,çÍgÿέvóèïf‘bé½¶èΈ‡ð90tPYYMxx(TTTtj?fƒ¹K¡C‘Ã!--7Ò¿ÂÃ{wSþó7Žî¹h<›7o&!!A_~é5k7¬i5tM‚‡=!-#•¬ÝÙ‡ý„:”#SŠ­ X¸ÃKÄø“™˜¬7QEDDDDDäGÀ—ÏâWߣpä5üvT$Šy˜,8l1 9õtNY¿Ì9ó2“E}ÍÆâSHMn>®¡=:ƒdËlÞQ‚w ¡Œ¼éY>¿ ä³àÎ;™ßâ@ÌöR†Â ¿(aë} X‘7sÓ,½Û$]õÐd2õøñÃÃC::p„ØqÕÔ1bÄÖ¯_ßér¶¤ÙúÈ!Ó¿Ö®]ÛëÁ¸E‹ý¨ÛúX8ÿ£ýŒF# 8ââbýˆˆˆˆˆˆ›¶neè A-–‚ÆöûJ, ^¯—êêjBCC›­û!ëú¦õmQ¦Gƒ‡ Š´Ç@ÄèŸóÒÇ?WSˆˆˆˆˆˆÈ†/5¯* ·ö\òÅš­»åÂI˜u?Oÿz,‘MW8bägÅú½TOˆ¤¡›+ð4Z±™-Ÿºc†rƤP~ÿæ[,ðKNŒïZ·—ÑdÂh4b2öÞXƒ@ €ÉdÂíî¸ÿÊf³0‡üºE'…PšWÓøÙUSÀºuëšæp†ãª­ls?k·îÕ—@™ŠŠ † ”)SŽúÑìD:(++SèPDDDDDDµ:: x½^€¡C ÕÐ!€Ùçñc¶Ö¿9]PRHBL|çkë7iÿô0fc_àðtèƒW⦸ÜÓ«ÇÉ)¬#%ÎŽú­DDDDDDDD:fîs½sF³eå«ÿÊÿ>káWžË¨°V byúX^üÓSü#ýW\1)Kñ*^ÿç"˜x3£b[é˜1D2öòŸ3gÇCüñÿªØ}í%œ6**ÉZ»€Ïöøˆ8ÙÚbÄÅ ÏEiöjæ=;âŒËoîµ¶HII¡°°¤¤$¢££Û FƒA\.………$''÷X<.VGûç8xà¶|_?ªaTLe%ûGF<°Îí…E5¿ßOAAj ‘^fn Ú¬fÜž}ÓÁ4 ‡-tÉÊ«£²Ö×ëÇ*­ôâñIOr`2ê‘3/{æÝÎܧ7ájXtëE¼…‰¾=Ì× &¤3»ñåðÁí7ó®áé‡Î Õl rÌUü~îxöÍøÉ£%øl}˜|á/¸ÿ‚±D·Ñ'cŒÍÏzŒ!ïý‡WŸù /–Ô÷…öŸÉå·ü‰9c0—g'—n¿” Úúpüœøã…SHµö^k 4ˆeË–áõz;5Ša  ??ŸI“&uëx‘!ad2xÄP¾ùòK2ÒÓ; ¡C YèPDDDDDDDDDŽ@.?Á„ •u½vˆò²J"£Â›-3̘1#Ø“IˆM¦ 8·Ým¾øâ‹V—×.žÝåãy}A~ÈsQçöÒëe³ÉHv`³t?}èœ6O7¾ˆˆˆˆˆˆˆÈHnn.›7o&//`°ín9ƒÁ@rr2C† !))©ÃýΜ9³ÝõÁ`°SSÏæç—‘˜Õc绥bYËÔ…—óÚk¯1jÔ(Lû¦Gù±øý~n¾ùæë*kª ©Ÿ&¹.èÅn°à­õcqšz­>]š;¦²º’ðÐðv·i/t˜KVYqž@n‘7€à!ºŒ¼þ ¹Enú&;tW‹ˆˆˆˆˆˆˆH§$''÷èÔÉÕ™Ð!Ðc¡Ãªª*ÂÂÂtÁEDDDDDDDD†Ð!@YA%I‰1†Ë*K‰ îò±ŒÆ€±kÁæ¡Ã„¸x Š [lc·Û¨«s·Z¾§C‡éIöfŸ×ï¨êÕ‹4"S¦""""""""rì°:íxj{v–°°0ú¦õc˵¯ô¼µkתDDDDDDDDÚn£ªº’°ŒIÄïõtyÿ@ý,æîV°µÐ!ÐfèPDDDDDDDDDŽ<••åØÍößïY»€h5°ô¸+¯¼R """""r(--%:ZÏþj9{öìér™ÿûß­.ÏÍÎ#95‰gh§öÓÐaSÆžnŒ´´>º#DDDDDDDDDŽMC‡ÕîšÎòzK]_{ãM^{ãM]4‘$§&Òãu{ÄC—;ˆÃfh±|ãºÍ„Gµ¦Ñl2âót…EDDDDDDDDŽP¡¶Îmh±t¸IjT*[*z®nÏ>ÿÏ>ÿ%%%ü⦸àÒËxëµWuEDDDDDDDD‘n[ ­†#&t8"3¬ÝõëwT鮑cš·Î‡ÅÞù®ÁâòRb#»6UPvY6Ð#õm:ø÷˯ð‹›ndw7¦£9••—S\RB]‡ÃNDx8q±±Í¶ñxª°Z÷gàê ~ìAÓ!¯k³©–ÃÃÃ{tçéI©MNØ£;CDDDDDDDDäЕÐ!Ðfè0;ë‡^¯ë¡Ãÿ~ùž|ú™ƒ?@ÉRnŸ=•q“÷ÿ;þìŸqÏ››(÷÷ }ÅÍgœÃ­‹‹¡f#O^qWþ{®Nõe½Ïý‚7w×OuíÝýן#¯ìp·[νã¿\3§ãí–§h o<üKÎ9q_[N¿›y5%^}éDDDDDDDD:PRZJÎÞ\êêêûp\®:ò ),*n¶]ÓÐaIEåa Â#nݱ•äøäN®«r‘WR@ߌ ¢£â(-,K}Üž¼ì&'lÕÝ!""""""""rÕVVà èµý§¦õmwý¨A)µÿ¶B‡ F>Ì~üîŽÏ]IÖ²ÿpÿÃ÷ðhÜSÜ;=¾ùÛÛ+n:4}߇X~ñò‡Ý¯vÆy<ûöyGĽæÙû)÷ÿêV¥_Êoþyãû8¨ÉZÉ;Oÿ…ÿ¹q#wþõ6NM¶èK)"""""""Ò†â’ÒV—WTVÛ꺘ˆðÃVßf}f] ØÃ¡C€Ò²¢ÆÐa~~î‘è;¡C[ˆ£ñoŸ»¾¯oÇÎÝ:¾;o^·ëÞQè°WŒ˜í‘ô›~ ×L4°añ.Êuu,PÀ¢gþÁב—òÇ{¯fæ€xœa$šÁM÷ßÇEŽÅ<ñìR j*‘£S9KÞã¥Wßgi^5¥›>å?/¿É§Û*Ðã~Ïñz[Ÿ5¢aÄ#±·vœ˜˜€3&Bw„ˆˆˆˆˆˆˆˆÈQÄ]³Ò_³­~š–Ø”X,&gãò¢¢¢^;~ à‘ÇÿÚåÐáCzŸÏ×cõ0  <Å+ù×m—1eòTÆÍ¸œÛ^[K©¯~ªã¹—ÝÀm7_À„ÉS™pù“¬©ªaׂ¿qÓ3ë§>é§ÜûážÆ©”½%kyíþë9}ÚTÆMžÉœ›ŸfáÀóÛ̽âùÓcwpÉÉS7ùf^q/ol­jµÿÀ©–ý•ßóÞÃs9sßTÇ3ñOÖUë7öäóõó·sÑIS7y'_õïì¨aßÚ®cõ׬p¯õ1ú‚ÓjhÞŽáØsÑp<«°¾Hÿ+BDDDDDDäèÀ_WCMM u¾ ~‹jW .O ±oA^0عÖt6é§;¹4 ‘ž›’9àt/xh2µœ6yùŠïZ,«-©Ð!""""""""ÒËüÞÞ tEÚ#ðúkHˆŠ$..®×ŽuÏòß7Þìr¹wæ½Ï]÷ÞßÍ£ñy<ø~<Õùl˜ÿO~kdüIý‰tïä­ß?ȇa—ñÏyóñ“sð¾õ0û¶˜à«,Á<ý>æÏÿ/OÞ4‰˜ÜOøãßwåÓ|²p ž›Ë(C1U^À½‹·ï»›—Lâ®W>ä‹wŸà'Q_ñàíϲ²¼þºKöP1ƒÛžŸ/ç?Ï/3ÖóüS Éòvp Þæ?xÏOæÎ—>`ÑG¯ðÀ…£‰·í „<‹;ÿõ>_~ð4×Å.çO}EŽèâ9&š›º®,‹,ƒÒ"Zé¾61€XYån}YEDDDDDDŽJNÒOºœ›®¿”™©aÄžÃõ×_ÅœaQ=e“ΪÝ×O×_;Ý„üíî7ÄaétŒ&#æƇEPXU ħÄQœSÒl¿ßÓbg'Œ×U9 L–žŸØ$`0a îïŒ ±Ú©ñÔQPV?ùp ÖEVA}ûµ(KII1¶¤Ù]>î}wßÅ}wߟÉS»TnåÒoº²Þ½Ìÿ¿ó˜€¤Á9å–?pÍñѸ6¿Éü¢ÁÜx÷ ‰3BÜ,.÷¹ƒŠ+[,ƒ‡G\”¸©}ðç—eõRœ—O…·ÇõÈì¾õ‡©^ÿ ïîHâòÇ/crš ˆä¼¯gÅõOñÖÚK™Øâsâ ŒN·ÑL9iÿzv¥.èÓÎ)Ônÿ”7¶¥pí—0)Õ D1ùÄ ÜÔïwôÔÉŒØwÜi'÷㥗 ¸¢w/ìÒ9±<,{ÿCÖ”4‹9S3iøj¸sùú½ùl2 ãœÙ“H¶éwCDDDDDäPz+ÈÚ¼Žu[w³·¢þ…4‹3‚èØŒËÐx;†6ÊÖíý†wæoÁ“>‹ó&ÖòÅ»K(Œ˹g!Îà£*kß~·‘]%u˜CâH:ŽIÃûz¤¥ážY½ý9ëÜi¤ÚÎëéÎ[Æ»n ,l gΞFšã`öæ£xÝ|Þ]^CßÓÎåäƒÛ™ô€WÛo¾†9#¨ªm>a³àa­ÇÝ:0¡ÃÒÒr¢£#›®5Ôâ :;÷Cb6cèÁ©NDDDDDDDDD¤{222ؽ{w»Û4 Ôxê°‡[©«¬)Ùèt´†9œT¹jÉ/ÊÅb´âΛÌ=òÄÒ‡Ù?Ã]"[¬*)ßKiÎb~wî4~×dyäd­õvšgr×#VþûÂó\sæ$͸’_Ü¾î… IDATtS’¸+ó©¶&Ò7zêÍšDFD€5ŵøÒ[ÙŸÙŒié*Í¢Òœ@B˜¹'lÄd1aø ¡®‹çx {d* Æ"¶d•ãâ<`¤%?|O±)žÔÈC—ö«ü~9+Óã™–îló`‰ˆˆˆˆˆü¹ÝÞf;øg¸@mË,dmI™ãgpÑqñ„RCQö6Ön,Ám0µûÌf0Ùp†:°8Lœ!BVŒû y ×óÙçëðô?‘‹N‹¦rÓW,\±ÃÙœ92Ë1uåêØûÍû¼¿ÕĘsÎfb¼µ—Ê´¿¿Â{( •9l+¨!5#DÏÝ?UµFý½TÍz¡œÖÖ4|uµ-B‡ñÑÉT—”7[vÜÄñì\ÞrÚåC:4 žïº«ŒÆÃÿUñç}Î÷~ÅÌ{îcV¢áG_i)9!žÜ‚Â6×w:lKCè°AU•‹°°ýo£W¹ê§y±­=~NŽhØÕ»ËâŒ&<õdn{ê÷LmÞæÝýN+%Œ„öÆu÷Oã§e[øà‰ßs÷nžxê:ÒÃñ¬gw™›bêûbÕì©4Bg"ƒ´Ñõi ‰ÂR»Ý¥&EZ{ù8ãøáœ6ÒÌCo~¦©W3"tÿ>‚•yÿ­XFÿŽ‘qÆCô 0b V²eÙúÆO&Í¡þK‘[·mcé·ËÚÝfÚÔ) 2äà¬aÏŠoX[ädØ©g2%ÍIýS¡>ƒÆ_J­³ýa m‰ã™sÙþXO¹¨“µJØE‘?‚ÑR‰1`wb¦ˆ’ì"j†ÇiÔõîIÁÚ¶eWb OÀ^[@ζ<ªÓ2 S;õ¢SúPº7§Ã횆á€àaEu)¡Ñ- ™í­jx`èh5tŸÑ‡ÂÝ9‡¤!œf*k¼½²ïp§ù0_æ…[–Pš|2ƒ]ïsë-{¹üÞ¹Œ ;|õßµN;ïžyÜþ×Öë]ûý+Üþ¬ŸÝŠÚÞNDDDDDDDDÚ×^è°'5 «ÂžÂÉa·ñøorÝ) 3S¾k›=ƒ™ÕrûÚ=_òÉ–X&NÎ$ÚJl\(†-•Ôù làiÌîû /=ù_2=‡¡¶½,|æ|6“‡GÇb(m¿.F³ ‹¯‚œ½{ØPæ!.tÿºð§pzò§¼ðØ Äýò|&%»Ù´¾˜ôq£ˆìáslÁ”Èô¯ç«_=Êo·Þx6ãû8¨Í^ÉÛŒ×kNàö§¨þGDh:ã2jX³q+Kפ7©-îTOk¾XÈŠ¬j€54žŒa˜4, Kéæ}°WX8Áò2j` ‰%)ÎŽ«(¢?–xŽ;•)ƒb°ÞÊݬ^ú›²ËñÚcÈ:žÉ#R 3ë÷HDDDDDŽ,#‡h3|Ø#¡C P•æ=UX'3,¥!tØø ‰#:à-^üÖá‰ÆPQB™+@Ô Ó˜=-Ku–¯dýEÔmD&g2zâXÄÚ0Àëò080á"wõ×|²27Òû&Òä€GË3[›õ4V²õ£wù2·þ…ÐÕï½Èj 4ó4f(fÁ¼•5›¸ÂBÊ ³ÈܹE­”9f*–.·Iš¼mäTÛIœ6ŠÔ_°$o;ÙUýQߨõ×r-u‘1Xk‹)©ñc‹Haà„©ß7à­ÜÃú+YÿC)uA¨¿1B:u­ÚºWNïŸÍÇnÂ8ò,æLHÀØ×^% Ì:ÿ4Òë:ªWOéNV._ÍÖì ܘ Å]î#ãÔ9ÌL=zú¿¶ïÜAÿã2»\®3¡Ã³… ¯>›×ìvi-tØ]V‡ϾyŸ wç60“¬ïwôz&ÆX©vùzvÔC“Ñ@R¬íðÞ"6SL ƒˆ3.;BêÑs»uü ?ºï‡Dÿ­钀˃Ña=¬uÚÀà>¶ÚÕ2˜+î»ÓSÿàŽËŸ Ô„ŽàŠà„Ö øËYùâ‹°Â|üÕBÏæ¬Q±ÇØÔ^"""""r,h+|ØS¡COU!n‰Ž¦ƒ !à¥Êå`舉 õ—Qn²`¨ÛËò?e½'©çÌ"ÓZÀÊ…_ñåÇÕpÎI Šhr¬Â |³:·%–á'Îdb߈Æg±`Ýޣ♭£z:ëbÂZ69• ®½¯VóÁ‡«(ƾÉô|1­” ÖíeiWÛ$PEÎö<¦¦œ6“D[>[Àª¯¿%.v™¦l–|ô[}9aöéôð±wÕlôtª Ú¼W:ÕqÖN½ »YüÉ—ìà8N8÷,ú‡ï«WéÑ÷ÝîNè°Ë÷ªoª«×²» ¡Ã‡"t`·Éìã$¿ÄCµËßbˆÇ®2„;M$ÅÚ°˜ï”Áâ­,*Œá„ÁqÝà¯ØÌ›ÝÈík²ð%Lâú;náü!‚nr—¾Ê_žÇª‚1ƒfqÕ/¯åôãB¨Ýø›G(ëXºÝÌ3¯àœØuü÷¿_“åÁe·ý–«FEb ºØóå¿øós³¹ÔLúÌë¸ãçgbhVCín>~ðé÷”øÃwõÜsq&ŽòU<~ËÝ|{*S.º‘›/M8m×ÛÕtÄCÀ›ÿ%÷_þ!e ‰cÎã翺”) VDDDDDDDD¤¥î„C!T×ÖôXŽÊÐaÌdzkr{g…=y×<8‰kZ¬;gß>¯Ùg¿syèµsy¨½YãÆrÅ}/pEkëú^Èóï^ؼzSïg^ã¬Ò‰œtÛ‹œtÛþõMoOžÌuMæºwœy /¼wI³E '=Âü“ºwŽm±Æá’ߎá’ß¶³‘9óžü”ý{Ìࢧ?㢆¦L®üçB®<Ø{Ñ–Àð‰Cøá£õlüv³ú4ÿ¾„¦°ÿÿ¥Å’žs×nŠò+ñî›ÅOBT_2}"Ìä¸BHHˆ&Ôî#%%sN%Uu¤m`[™™„éƒH w`t a@ôVïØIÉXÕ¥)"""""G Ç=:l*P?tX5Û?~‡…Ùû;ìi'qî¸}ÏÓ ƒ3²aÄú •Û?e[™‘„‰c‚™¾Œ³“] ³X¿­„~ãÛ<î5Ë`ÀW]FYmq!f ©Ê>žÙz ž¾R¶¬Ø@¡/œ!Fb7ôè±ü•9lËwcOìGR¨…ä¾ÄZò(Ú¾‡ÒAQÄ5I YÃHŒ Å•´”pÖ¬«¢¸ÆCbå~¨4“8y ƒâ˜ðbÁˆ§SõŠ¡µ{Üy»:×oÑV½*¾'«ÚBâ”Ñ ŠkZ/ ›Öìðy1™›ÇRÛ nÝ´•ACuë@Åe¥ÄFµ>zbXH{ÃO€ƒ©Ðn5’‘dïVÙ™‡j^_C—dж~CĂÅ!0†1ðœ¸åöv½yO¾¾ŽwM&4ëûÇjÒ®}‚;ÆØÙùþcüù/oþÇ«ég±ásùñó'¸%v;ÏÝý ïN¾‘ÛŸ»ŽêOäÑ7Wqúˆ“ˆÉþŒgç{8óîçy ¶„/Ÿ|Šçä3R(mRеïòÖæþüòŸ0ζ—•\ÔúÀaÊ/þÎUC’°~Íãx•Æ â[Ûõ>ðÎ0Eáúæ25º‚•¯?Â3OÄÐç÷g‘®Ž:‘nóY˜½õòm…‡ ÂæÍ›[,÷»*09ê‡09¬ø]ž^«g|\…EEÚ6!>^VZ°'dòÐlæoØÄÒuf"ƒìï–õ–³ý»¥¬Ü‘GyÝþ—×-þ`«=Ô€`€ú‰v `4` €/àÃ]勇œ¯^ç_5)R‹Û¯ë """""G®‘Çã÷Õ?¸ôtèÐO„m+¹ÅETùR°›Céú•ôå›yÿÝ%”µÝ{±ïYË‚3±/ÜdÀê ÇnPWY‡ýÁCkÜ0¦_Çâ•;زì3¶¬!mÌtfŒŠ;JžÙöÙÒOùŽïX“ë!4óƤ:ÛI%uçX>Ê÷ì ÐÞ¬E¼úÜ¢ý«Jv²«tqñ­‡y }øü>ÜÕû®i˜ S+çp(¯U³zÕÔáÂ3´µz €ÍhÃÝJʰÍàá ƒº}°¶B‡U5®6×É\{ÄèLéZ` [¾. fÊâMLa©Œ–AL˜†§ãÜYM?€ûû”¦_À­ÓÒ‰4Àس.aü·¯²&ÏE?ÀžÁÐID;ŒŒN‰Å5l8™±QT@ø†2j½AŒ?¬dÓ¦•|{󂆯© e¸‚öfõ ßt¦Ä¾È‡ï~ãœL™Zÿ%ŒH&¼àEî|èc¶T†>Ì©ó­­zÓ"xh´EAHXÓÎ=ŸOïþŒ­%gždÔ7ZDDDDDDD¤›B‡íi-t4†^ Ü~ÛÿñПî0|˜Ïí·Ýª +-줌:ž¡ÙŸ²aëJúy§ý”o_ÂâÅD;•Ÿ KÆV¾Š÷Þ_‹¯Ë1a ±cÆFÊÌs9#3 ƒZ^DDDDDŽ"cFê•ýÃú04=”ìm›Y·û8fd†u!ÔeÂjÇL9®ª:ü81Ä㪦.hÄnox2:H6ƒ Ž§à‡ |ûíF²Ö­fW¿ÓH;*žÙ:óliÀаð€7æU»ùnU.GÓǦfl¯L7žc½eìÚYL nœ=ºqtCwþrÞû`»v”0*> cçh ±a¦W‡Î¶ï¸^Þ6&í0˜L A‚`7†»Û_¯ÚVëõ#êF1 úš·z­ÛƒÓfÅh}š“fmâ ÙÿÁ|èOÀÒÿ0ü²£#–~×v©H°ô{åE2uh|ë?Äãþ‹úߎf  -¾’L†¦»hØ"€× þ„;yããøâ“øâ“ù¼xÓpB¨‡)j4×Üÿ0·Í cí³¿åŸ^N±ª6¾Âcïº9ã¡—yÿÇùÙˆ°6ÛÂЩ_õ†7ˆƒˆˆˆˆˆˆˆˆH÷”•”¶XætڎȺN<‰æ½Ëʥ߰ré7-Ö7,ŸÿÞ;L™4IWZep¤0æøD‚ì×ÐФÿÔˆ!覲´w [G ,u™^òÖobWY>¿—ºŠ|vîʧ& k """""?Ö²Ò'LeD¬›í_~À'ßí"¿Â…×[GyI)®vG°3–:œ‘ 6¬åûâZê*²Ø°6›Zg#ÆÐt|=_õ^vî.¤*`#¦Oéf0[±™ŒGÉ3[gêiÆáÀ¨¥¨¸ w]99YÔújÉZ³’5VúŒOÿˆ¦©¢ÖÊaJéZ›¸Kv±«¢3R‰l’'³Ege ÙZµo™‘ˆãŽgRá×|·f>/¯[T,VS÷ƽ08û0é´“°/_Å7oo`A0‡‘>ú$úhòù3:S™|Ö¹¤l^ÇúmKxM}ÈÌèˆ 6yƒÇb§õlÁч‰§Í±b%ß½÷*‹‚6"S2sÚú‡›ï¾-«Ù³dëëÜì›5[DFO=ž¾aF aÏlUßóáKß7[äHŸÅ…§¦wPO‘™Ÿ¿„5ËÞá…%àH›ÂYŽBÖì¨ géÛüsiý>#‡Åy““Z-3ûäÁ]h“:Švì¦ÔÍ„ÔH,MWY£ÈH‹dÝÚݬÏMbTG÷C“O= Û²Õ¬œ÷¾ ‰ ÇjôÔóµ!4IS†ãY¾‰^]¦P¢Ã-­õzÙlÄyÌ|û$¥’“—Ýãû5=­·ôÁ†á!ÔVÖtíG'¬?¶awé×·©`[ï%|òe$vb$J[úiÜr]==—s‹|83Oã—¿¹€ÁNpuòöãÎâ××–ð—náÂG}2‚+˜‹±Y=ÌX Y|ôðcü¡,¶tN½éÿŽ‘—pÖçò›K_!tÔ©œçÀïëüh…>w5Aƒ›ož¸ž'v»‰x ×Ý|&™vÝ""""""""mi+tàòwí5~…å¨cMàø ®åø—Cè;ínšÖta CNœÃ[ÛQ2\;zÿGs £æ\ÍþÉÇLÄ ?‡ë†ïßÄ‘Á„S2˜ « """""ÒŒÁIƨÉhsFçÑÍŸÁš°„§1öä4ƶºÖNêôK¹iz‡582žÙÚzfmªƒzí Œ<ùü–Öã{s󺼿¨ÈPÊÊ«?w:xèv»1ZLXŒõEü&£UwŸˆˆˆˆˆˆˆˆÈaVíöj«ï«+«¬"*<¬ËûHM'»¸~j—œ5ªˆˆˆˆˆˆˆˆó Î&žz>Áskú~b(/,>¨ý5 ÂS-T–T´ZÐf³5†6B‡fÝ"""""""""‡XCèh:Œë|±!tPîr©QEDDDDDDDDŽBq)‰Í>›¦ƒ¶¦Eð0<&¢ùA_vçÓ•9BTTU©DDDDDDDDDŽq~ íÍ?$Çl öíß¿Õ b(""""""""r´ÉÏË¡¤¸\ !""""""""rŒ3l±lÏž=Í>z0˜Ù?³»¶›3„¶o'£o»ÈêôöìÙCzz:¥%ùøâãbt%EDDDDDDDD¡ÒÊr¢Ã#! /7'&õQÃȱy¿—–ªDDDDDDôŒ¦öiEIU1aõ37äú[™ùØëõb±XZÝW~Þ^“Rš-sû|ØÌfvlÏÆls†4®èJè £o2Á@ýßÑ1‰ºr"""""""""‡AtxdýûB‡~O-&«³Sem!a¸kZNÉ\ZXLt|l‡åÝn6›£ÅòªÒR¢£uq¤çïwÝW"""""""rŒ¨ªª:è}ÄņRT\ Ð:ì,—¿íàá¡C›yÿ¨‰Æƒ©t0`Á…·KeÒâStLjˆˆˆˆˆˆˆˆô¢Î†VC‡@§B‡@«¡C@¡C‘ÞâÝ?zaCè°;ÂíÎn—5ì98°tiû¬Â½ºð"""""""""G ò —ADDDDDDDDäHg©y°¤¨ëÓ{›­=S£§®®ÓÇDîË92Fo,‹ˆˆˆˆˆˆˆˆ B#"{d?ñ±ÝÛOIE‰.‚ˆˆˆˆˆˆˆˆÈ!·?Ãg0˜ÿž0~•e­–ñyZ.+-«èò±V»½Í•Q‰1Í>—”7þ]^Rª+'""""""""r¨®( ÔbêÔöy¹9­.÷xÝÝ:~LDŒ.‚ˆˆˆˆˆˆˆˆÈa úÿ^ñÝJ"£?‡†D´[6:ª£õ-ûÿÌí(Ëï7•óòòt¥EDDDDDDDDzXµ×ÏÀl1¶»]RrŸ^­‡ÕjÅãñè‚Èaõ÷¯PWYÐø9eÔÙ”þ°WEg}'^ŠÉêPC‰ˆˆˆˆˆˆÈQ%0c0úºT¦º¦â ŽYZÖ2GhîÉ“Jí›Bö{;Ü.))Iw€ˆˆˆˆˆˆˆˆH/ðzj0[Âk:”#Aöš÷°…Æž0Ou å{7RY° {x¥²ÁÛµQ#œϨҭ©–CìVjê4]ŠˆˆˆˆˆˆˆˆÈÑÂi³´XžBeV}à*.>¢Â‚;^Œ3ú Ê°riË—¦ÇMžÊÚõë¹æúyáÙgtq¥]á è3êl¶4ñÐ몠ª$Ÿ¿~›²â¿3öœ[yÝ|Å«yóý 8ç\ÆÆ¶ì®÷—®çíyßsÜÙ­¯9ùK×óöë_‘s@´Èž~?™3€ðú­¨Î^Ç¢%kØQPC04™á“Ndêà8lm¾ûØÅ2ÞB–½õ&KK¢˜pÞùLM¶øPÆÊ÷ÞbqA '^|.cÙÌí¾¯Þ¿‰%,‰A¦3mh{õjOWþF–.[ÏŽìj` OcÌ Ó9>3K§·éN{tg¿-ÓñµzÊÙ³y ß­ÞLvucοé)¶nÜ+r°röæÐ'¥O›ë­æ0<¾¶G8tyü8¬¦Ë»ÜS夦@ÁC‘£YCèèvè°¢¢Šˆˆ°ÃRÿõ7*|(Ýâ÷º©ÊßÌÞ¢\îú7þGð°#¦è\tõˆÞkŠ-ïñÆš$κàx’¬ºDDDDD¤8R8éâ9ŒŒ6µ²2@ÕŽ/yka.‰“OãʳÃñì]Ï¢EóøÀ=‡Ù£c[ Åu§ €üÅløn;CÏF”iÿþ*w~Ç꽚4E2ìÜ 9%ÍŽÏUAá«ùlÉ笎=I‰Ýy€2`4±%çœ©ÄØý”n[ÂüÏ?ÆàÊàSMx€ÆåFƒ”¸6$("""""rHyŠØ°b7Ö1§ròˆ¢BÂH0‰SOH¦líwì®öLìÄHXþjVe×Ò¸U].«¿Ë%dÐ âì­•3`vD’Üo©/u¾nŸ®-~S' )ÂÕJâౌŒ¬ewvÞ.lÓöèò~;S¦“ǶÄaö§3y`!fƒîû£T[¡Ch2âaXXh·`êæ9ÒðTùަeiÊ»ª¢WΣéôËã&Oeýƺ¸Òö½Cx€fS-7hî-ªéüýål]ü‹7æQƒ#¡SOfúL¥ëywþVì¡5lϪ‚èÑ\tÑ $ Ù´t1Ë6çRå{ŸñÌ9sñ¾Jv-›ÏƬ=”x 8â1å”km2Õò9¤gÀÛ›“8û‚)ÔJá&gñ›|T4š ÏJ¸+›U_|Ų]eøÌQ ˜4“™£Rp›VÞM΢7xcmÍkO¯K3.>Ñ5ìZ½˜Eßí¢Ìg!*)c­‘gÏfpÝRþûöJ›þܸö IDAT/>³å󛯿i9Õ²Û_‡ÍdïòÎ’ââÈ+*jùõ5 úºÂ"""""""""‡™§ªö Êw6tபÀ–4[.‡]xŸúk¶|ú(EÕß6[o4H‰ éüõÿÓê´ËÎ !4@ñæ¯øðë/ˆŠ;—1&ÔÕ`u?;ÕFi~a”³ù³ù,gÖågl¯#7·†ÐÆÞyÖø!L™2‹[%›ÎçÛovvÎö'j"*c1«×±½xÉ)6¨+b[–Ÿä‰iDJXóñgl ŸÈÅ×fR½……ÁבçqJ¿ö`£Ï‰?áÚø§Zv‘µøCd'1íÂkè ì‡ïødI)ö”¸êNØ÷åÎgټؑ<‘‘ ŠˆˆˆˆH\{ùüå§øÀBbÿ‘Lž2ŠŒ03>w5c‘Žæ±%ƒÕI¤ÕOI+£ v§Ìþ?'©c&’úö–ïÀé)¬X_CÚÔQ¤Ø›¿ †¿œïþ“ý¯8ZI5ŒÈ,ßGɶUl÷%3-=S7·é^{tæØ—q̵èâ½"¼«º:t:Ôº\Ý*;õ„©-ƒ‡ ¡ÃðˆP*+ê§_µ;¨®kÿ ­…¡ÃÜÜ\]m‘ÃÀfÃ]åÆi6SëëZ'pÐàÿÙ»ï0«ª{ÿãïÓÏœ9Óû 3 0ÀÐFzGŠ ±jÔ˜˜½¹×$¿M¼ÉMÏML3½yͱÄTDQ&Ò{˜Óûégÿþ¦fõózgï½ÖÚ{¯½ÎѵÎw¯e²õ,ÈÈW¶¸ÿ¼¯{î5×ÒÐÐ@LL ï¼¹LSú”Ù܃U}lq ׺™5|4¶­¡º91€ÕMZFn—÷àxü'6°­"ž)‹Ç“o\äI `aÀàAd&X(Mbó–*šNwš%.›‘)›Ù|¨‚)Y0ÊRÎ`f¦›@Å{ìiJcÆ5#Is›À=œqÙ;Xy°Ïàh\ÝÝSc);Ž„È›7•‘§fñHIMÀi©>ç‹ÀKÑæUì`47L@”C‘Ž83˜uëHMŽÂôÑTSÄÎu«Yúª…7Ï ÅlÁdi?™AØ0aé fêEž6ý¾ØÁL·›·ldsQe ãYœëÆ\sNBK<£ÝÊÕ9NÂ/õåGyÿÝU¼°<ȭ׎$Þr>cà9¾eë«Éº|y±æ^¦éM}DVn$yÎ÷Yô¤­d9ôqêO‘úüööÁ††ZͶ֠Ãr9¸ÿv»½óq»ƒ€ßÑ…dffꩉˆˆˆˆˆˆˆˆ\¾†–1¼žm‚Øð¸`×­@C9õ'°÷Í_´þ}þB4•îaÆ­ì.ªk $†‘¦4×à5»‰qDò£Ž ³Õ„É0Ú—fŽ%{D:6¤Ü“Hø` d]Nf´‰ÀÉ:škóÚã¿m“%jP0¢ÖƒÞ:ÂQdEÛ»HeÐ||#ïì·3áÆqdèÇé„Å•BÆé7 ¬bRò˜:ÛKÉ‹p°r"Ñq¸8FUsbÎ3¾Fjƒ6â£:prö<Ï9%4b*£÷¾Ä{S™yËp,§^ë¬f‹">k$—ÏmäÄk{8Z7œq‰½< Tíâ­·ö`.XÀ¼ñmE’¦7õi¹‘ä9ÿgy[ÉRäaD’’’¨ªªê·òKKK”;°ƒOUGƒ á3ƒ†ÇŽvtDt("""""""""ý#Úí¤©ÑËÐù,Þ×eZ{”¿§ýÐúàÁy9r¨Ûs]È Ch;ãáišùPºÓÐì?õï2*ËËú¬ÜPõn–-û€¨ Wðék’‰Ÿ`åKk:Moq¸°*¨n‘u>Sc˜ˆÉÌ'3¼Ž}……„KÍ œ—FൻpÆcÞ-óɋެ,Œ3¡f[Žp >Hêx~ÄpS!ë×%vò\–bS‘žõhÌ,f V³ sL:Cb6²ëH%Ò2h‰J QW|€ KãÛ›õ&O;Ž ¦,þ,cB6\.[®ÝŒÉdÂ|³¾köòö+ë¨ÌžËâ)Ï IšÞÔGOÊ$OŸ<‹ÛŠD¦?ƒ£ãb;fu åíŽõëbØr’)>^©§+""""""""ÒÏš½ÝFÂævhì»—•`(½QVÕ @lR&Ã'. ¢xf‹Wl2' w‘=lGv®¦®¢¨Gå†üMx '‰ñ¸,~ª PÞ&µ“ôΔ|FÄîc㪸gäDi ÙYDõô¦¢Ó‘mbÙ{0¹FpcJË9ÎÔá s¼Êš5Û°ON†ÛŒ§ª˜¡4†d¹iîhÂæŒÂä© ¢¾™è@Í1Yä¼±zéö) M0QW^÷ôt‰á­_Ëñ¤),™Ø¿?,ˆˆˆˆˆÈ‡\ˆÆ’ƒ &30=—ÕÀSSÄŽµ¨JžÈœ;X>e(;—½ÅÛQs™64ñvV­«$mú,tÔYêMžŽŠqDé­„4UgÛšm4&O%'¶w/“ë°â•Õ”eÎaѼá.×IšÞÔGË$O=‹ˆÚŠ\tMuõ@}‡Ç¬VÌ ÷ˉt(""""""""òÑ•’šBEyE»ý}tšñPÎO}U)6‡“Â=ë˜qãppërjO2lüÕÔW÷¸<{Êf:É[KgcØAÆè1¤ÇÙv6ÌnOcâµ×À»ëYñÏ-x pæLcqf/‰"mxQ»v`=„äÓ¿ÁØÓ™¸à*Lk×óú“khöL&^·€¡áv¼ü,k˜É‹F“`WæXÆ¥½Áª§#hÏâŠÛQ0çæ­_ÍÆWÿÎÛ^ qɱx–ÀFù.6î«¡6ü|ëô§‘ ocþ@—™ˆˆˆˆˆœÅ„á¯bÿšwx³6pº#Eþ¤9ÜRK‚µ%MTö4_çæÝuoóÄê&É9Œœ}S‡Æ·¼<nàȺµN˜ÌœÑIØ"ÉÓBµìzù¯ì:½mM`ð¸ËY¹ÖÔ”Ê+*Zg4ìJZjª®´3åúûU  ÑXrã¡TrÓ\øË÷°fm¶AóÉŠV툈ˆˆˆÈ…f'cÚܫЉXJz'Jzž/9£Ãýf¬””#+c`ë>·ÓqNš³„<¾ˆOj>+ks}C¿Tˆ5ÜqÐ!€É¶p³Z’ˆˆˆˆˆˆˆˆÈyš2e2sÞ[vE;/Øù~èARSRºM—–šÊÃ}]L优 PÉî·žáOú ÿ÷Æ>Lcæ³øò\¢Mª‘K]o‚;“èj“;;è =¯íªÈmF-QŽˆO&Üïb6™z•çÈÿN¹dªÅ‹#})3¾ŽÅ•¢V.""""""""ýª¶©–øèøó*#:&†¦†lç,©ÒÜtfÖÃ@ЋÍÚu ¢#ã¦^_ÃÌéÓx}ÉËz "„wîLn½g¦ªBDDDDDDäc®º¹¢Ãý'l³mî® sØèöd hý»°ðxŸÝD/â{•§?…üõ4_MźŸ©UŠˆˆˆˆˆˆˆH¿;ß C€¦†îW8é.èÀW¶DDDDDDDDDDä#ÈÚ]‚°¹ûH¾â£Å­çææ´;ÞÔ&Úm¾`7åvZ.™ 6 … ü'>Pk‘KBJl4õMíöû½~ìN»*HDDDDDDDDDºÔgÑ€9ƒÎ—”PUUݺ}!ƒ/5&X-&¬F£Z›ˆˆˆˆˆˆˆˆ\Î :4Ì-«žØv¬.ÑŽhU’ˆˆˆˆˆˆˆˆÈÇ\\Br§ÇÚELÁ^äøÑ3K,ÈÊ"))Q5‹Ù¤J‘K’)|fì*Ø É×ÔiZÃê¶¼}{÷ªREDDDDDDDD>äêj*;=fŽ‹KkÝHHLÀft¶ú²Y5yLŠ;‘¹ŠŠ L>K·éòGŒPe‰ˆˆˆˆˆˆˆˆ\‚“{œ§¹¾®Ý>k]ÝÉÖšêš.²‡/øMúa=i‘0›Í„ëE9x|>¢Ü1xzTvJJJÒÇÄiU‘KIuueó¸bãÚíërðÅèÕŹ¢¢ô„DDDDDDDDD.‚®‚<>N³Ñ¯×ŸMC]µˆˆˆˆˆˆˆˆˆÈ%®±±±ÍvÀÖýª'V€ŠÊ:R’;ˆJ u¿>ð€ìLŠ‹JÛìköxÚ¥ úX¶nË 7$X²„pc!Éù­%Y¼[¾Œ9z Ö 1Ç U‹‘‹¦¦¾±_˯­iR%‹ˆˆˆˆˆˆˆˆ\`'*N’ž’Öºmµ˜†º~ Ùív·Ù¶B$Ç&PYßù Êf ]ÐaÐãøBÏ :ìÌé Ã3†j·ãÛûSBµ»1‚½I#ØD¨n¾½?!T½µw…kÙýúŸøÖW¿ÈÍ×/`Þü\sç}<ðÈ ìmèý[êÞƒÏpß ¸ãïS{ÉÕœCÏ•kçßÅ6Õvzíwýn;õúîi§¢¢¼ßÏá3›TÑ"""""""""QÖÀ¬Ö Ã8w@kÐa|bB›´vgÛI SÛñ½®‚áÔŒ‡‰ñiTמlÙeï·›³Ðyp\°ðiù0Bã#öhM`¶a²8 =‡%q|r‡ª?àñÿ„ˆcîg?ÏO¿9Šì˜'÷odÍþâÜ‘öRRRû¤ŸÏÃÑñØ¡#l¨¢EDDDDDDDD.¢’c%­×5¶ ¬­n»í÷Úl›Œžïµž:<ÛÉòrÒR;”<~¼˜œœdffRZÚñ¬‡†a`2E ö”b>ÊsÖöc„ý„›{˜5TÁºÇå™Ýn®ÿÎÿðÀÔ$N¯¤3ö>5V‘;—=–fÿ¯utØiúŒ›ôPä‚“—EUM#V›…èèh†ÌæÁý’a£ò ø‚aƒÄ„x6¾¿… ¯?ICÕš½!ÆLMnÎæÎ_¬J‘ŒÉ‚Åõy¹Ö®vt“3 Ó C GA‡@¯–WnhRTî# ·Ù_ÀŽC ý²ßj11 ÕIl´µWßÓ{ žØÊ«+p ¿‡…ãζÓtg~òCþ¶¹‚ &\©Ã˜±ðnî½±€$«¯|+/ýï“,Ù|€òfKÂ`fßöUîÕ’½bÓ_øê]'9V 6{<×Ýó|vj 6 ¼¥ïñäÿΫ[ŠhŽÌô?Ã}7O$½£™»¸Žè£ÏðÕŸ¥.{®êC© “5–kîþw>?3;Þ²M¼ðø¼¸ö(u´Üpr¤µ{ê>Ÿà¥u© Ç’sÙn¿çN®Ê‹ÁB˜¦Â5üã±§xýý '™ƒRh(ò1ý»òÐXØñÊcüñÅ5ì¯ V^õ0?ýêTRÍú2‘Þ+--eÿþý”””‡;Mg6›ÉÌÌdĈdddD\~³¿³)Hذöú“““©¬¬<ï{µØ¬øÊ–÷ëÁË5tPµM>fMG0æÀÑ^øë_ñ'¤“–š‚QWß@J¬‰ ;ŽQ\TJc“‡†ä9”z«™;_u("""""""ýtgÆF'QßTÕzÀÛЄ3&úÂÞe/n²è¤·uê )2(:éeÔ`÷¹×¦Š”5AÒà!$9º¸®æFÜSîçO_Cº¹”•¿ÿ>¿üË/0RÁƒcŠxìÛßãÅúq|áÛqÝ0µû7°=äæôŠÝÑÙ—sÏýW3Ú]ÌË?üÿøíÿ’?ô!fZ·ñ¿ßý Kí ùïÇJúÞ¿ñ_¿ø~dy„GnË#ª×ñ•4 ä§É>žû¿ÿ³Îõg†æ}‹y¶Íüî¿~À²à,øÕ÷¹"ËǶ'¿Ï÷–D6M¤Q·Ç¾ý=^jœÌ¿ÿü¿™ãÚÃ?þ|»ãçßä*Û{<úíGXišÍ¿þ Wdœ*ÿhKþú]Oóó¿®#êöïðÔâ|¢ê³yw#Øõe$"""""""½SVVÆöíÛ™1csçÎí6}}}=ëÖ­Ãd2‘žžñyN<’GöDœ/%+•Š’ò.ƒSsr(?~¼ýþÌ$ÊK«Úì ‚zèrQÄ9ƒ4{|¬zw‰ÑNêBVmÚDÈâÀ—B´ÛMCU9&«…¦ºJš”Ovh£c"l>ÊÒg^eãYû,1däI—18ÁÆéWµÃÍeì|o-÷”Ñ‹;•Üác™99Ÿ¤S§2uݾ™÷÷¤¨æÔGö$†M¹Š+ǧâ$DcÑvV¯û€C'›0Ü™Œ™6›™#R8ýN¸á¯åØžؼuEqŒ¿ùVæd3öQ±#«6줨>„56“aS˜96·¥iðS}`#ï¼·‡cµ>LQI )˜ÁÜI¹ÄXºª8ƒú}¯ðìû)\wët2ƒíëÑFþÄÙÌ.H'êôKàZŽìØÂæíû)iÜi¹äÏÄü \µy‘KM¨z/>»ŠbÛýÎóùÔÂaÄv'PsÍë7³õP%~ÀΈ‰³¸¼ ãLÿ M†r6¼ð<뫘¼øfffžÓ V²å_/°æd³o[ÄWQ»>ˆ-&ƒüÉs¸|Ô™þUè¶Ï¬`Ó Ï±öd±DŽl®¹ã&FÅuT Ýõ <'v±~ÃUÑKlãgÍaj^|k¬Ð¹}·ÈòôM_µ7mEú©Ã06[ç/4ïÙ¿‘Ãó[·[Sžtô}СÅ¡¾ž¼A‡­?|áÎm:õqêß±¦Œã†ëOoå1mÞpß]ÏÝ%ñ¾Ì[ÇÌäî3,—ˆ 9€÷`KWF>£§O4“Ç¥óôó…ì>Ñ@Þ‰ñÖq£þßµLʈÇWç¾Ã“ï¬æðõyŒŽŽô:NДÖÙ¹Ê8TÙÄ诳¶ÔÉèûîàÚü$løHKŽÂB$‡aNl9uŸ÷|’kó“p0“Ûï\Íšm⥷—±œMQŒ¾ÿ®vvùÞ–ÿ6yêð>Š_ú=TÌãšk®fÎU©8Mú’‘ÞÛ¿?“&M"::š`°û ¼èèh&MšÄîÝ»{xxZO‚*JÊÛl{=M8£Úútt´ :¹˜’ÝBaŸÉÀk˜pº¢ð‡C¤%0&š›1,6Œp›ÝŽÕj¡)èàW{pè5êîþÏîOb‰gô¢[¹:' B~kKÙ·i Ëž/aÚ¢k™b‡P »Þ^ƆÀæÝ±€œX3žŠBv pz¾ÓPÝV¼²’£®Q̼âv®K‰Ån ÐXQH±×•0 ‡Þá…·KIŸ>Ÿ»nˆÅ_²ƒÕ«—ðªo!7KÆk°ý—¬q1o;ÔÁ‡¨Ý÷6¯l SpÅ\ŸfÇ{rkW¼Éë,dÑ„dl¥_éf–®:Fúô¹gHXóTvŸ§¯úª½l+Ò¾{m6uÇô‡°Ú#«W“ÕŒ­›^ýÙA‡ÐÍR˽Ñàk ÆÓÁ¸FHOù<¸R†‘½ŒÝÇŽRåKl'ßw†§ˆÿO¬ÜIqý™lWÀCÝÉZ<¸H‡#‚sšÍfLa?ž€—ú5xhâý_ÜÃU¿8+Qr~ :Òëatq.oÐKýÉZ̪Õxò¬Tm\É–æa,X<‹AѧJv$2  òÕÖEDDDD>Jl‰ùLI<³˜=˜œèœôº˜¤ËIêÈ,8²•÷‹sE®«%·”­›K‰ÎÏ'ª¤®Ã>ˆ5*žÌÁÃÈÞZB·—Àì¶ÏÖ`Õ!¶•XrÍ ³*Ï⯈¨¿èH-`fê™lé#&pÙž%ì+ªcJfj‡q3Ýæ‰ðܽ¹oéÎ&ϳÚ-D'$ÒTSݺ¯¼²‚Ôä”>9o¯- ¡³ “¥å: :¼€ òbºÜ>ßý;5\”û²¦çú))¼¿j¯nŸÃ—'%t0€ hÅïùõ¿3è®ïòÈÂˈ9þ$üç³ø±“‡“ãT¯Á;= gÄg·“‹“XÆ?ôk~<7®ÃﺺŽîÏåNŽÁA µ•Iˆ¸‘§¯55'ÅÔœhÀOv škËi[‰ÏL!ùTù5—oŠÎãæoÿ‘™»ÖòÆò·ykÍJß[ÂÒ³ùËbôm%""""""ÒS¡F­zŠ?þcœðãHÅœëï䞛ƒÜé[‡Aª¶ý‹?>¾„5ª i >ó%>åÜ]DµžR6¾ö,ϼºŠåÀJʰÉ̽îfn»b ›øá—¿Ëʳ&è‹Jɼ;îã‹ó‡àîÏeu #¢™ÛT](D8ܳ@¨¾:ù0;VÜH‚»ŠX·$— #9Q“ ˆgå²¥¤¦¥ò‡×n"Çéãp´‰â ™@ðþ^üÁCÔ|êsÜ>kÙñPsxË7‡˜}û•ØÍ§¿n-˜Ã ”+¥1v,¤O^ÌÕ9Ûyñå¿ñÂÐ/sÓÈhêöod{°€Yq]ÜLú¤›˜“õ}ÞzñÖ þS3ìx+ް팞6Š$kÛ/vs§×Ñ3éoàòŒm,{îI^Ë»—+Òê8ZÜ@gsXì.ì¨/=¢ó®†Ù[ IDAT㪜m¼ü¯gY>æ^f¹öóÒ³[¨J˜Ì=W e°ã¬ò‡ÞËÕ|”–5ž*?@Ùº§XVÏÜéÓ¸í‹#âü?X™DN‚CíPDDDDDD¤Ç”¬x”ï<âúþÀ·‡¹h8°’Ç~ó3~ÈøÉ-ƒ;x92HùÚßòŸ¿ÚCþgäñï¤Ñ¼k)øÓ·ùnãùÁâÁt4ti4îå©|ŸgkÆòÉûÅ·FgàôVptÇ»,ßwœú9#H°g²àÇ¿à?ÇÇâ¯/ãà†ùùã¿æÅÁ?å3ÃûwP4ÔÃUAzt1_}ÈcÃF€€š¼\tõu‰¶0¬Á$ú6²¯1Š7—.ãhÍ«Ä9ÌdÅ»ÈÎH¤ñļ 5ƒD›±…Ío8¿Ïœ3.S9Õž $¦3ùŠÉT/[ÍÓÿû>Yùc™4a$¹ Ì@ ¹šÃE^œ£ÓÑ‚¾Füæhâ£Ú¾>m²»ˆ·‡¨òFÌlO`P®‹íïodGÒ F¤86VR¸s?•Þ0þP8²4˜1Çáò™Çxþõå<¹ÀNÖô…ŒIîMØ¡A8"l„ û›¨8¼™µ…&r®NÁÒ°ƒÊ ‹! Q(ìPDDDDäCÈSŠüžæhÒ‡^ÆôcÉéjú)%ëžç¹­ÕÄ0üŠ+ÓÍ2±fÙã§ýâ:6ƵY'Ù´£‰œ™cÉržªe×Ëe×™ÎécGo½´ª.\Wȇƒ ˜9¬Ó—v{×_ Ruà}3¹|`‘-ÀÛ>¯¯úªçÕV>Þ222(++ë2ÅE(àéôøùÂY‡‘våbv6CáGå|mVÒdî{ä׌_úKÖ>Æ7þ¯”º0ØS3"2#aÊì/ðÅ}¿áïÿü&·?19y¸ì-Ã2渱|þß!ññ°ä‡÷ð¸Ìq¹Ì¾mSÇtó=0‘û¾ÿ0q=Éoÿíe¾ìéLýäCL°¶oVY]\Gw,IS¸ÿ»óØÓ<ñµOó›°•”œ \|ŸØ2&sÓœ·xô¿òà®<îþùOùü÷¾Müãÿàÿ¾z'¿ Ç’=öj¾ñÀ\‘iÃBûòcÜ&°áŠ qø‰_ñÏßWY“øÄÿû"ó³íúæé)_k–$ù–rËøLl@üøE|ùóøO¯àÀüÁ¸ÏÉã9ÌÒg6}ówùê ÃZ‚ gš‡B¥|õïϱeöCÌJ:7L§íOý†çj.ç[?¹—)‰§†NÝ9Ì»“‚y§’5ŸÇ„=6“QÓf3îÅ”Öû€þ <ì錇½<4[ ÜE££ïÃxú*èpíºõüè§PQYÙ£|©))<üЃ̜>MŸ»¹8'X¥…U HJ&ÍbåÐá"¼åÍÔ‡Âøâ¢ˆ62±[ šBf¼MA¢£ì¤[¬$Äžß´§&“ “ 0ZsfŒgágò)?²›÷·¾Ï+Ol aØ4®™{‰´¤ u1É¢ÉlÁd µû*0&,æH¯×AæäÌ·®aõËce°Æ‘™n%lvá´Yki š­ã•U'H¿|1·ŽL&X²Õ«^c 7²pRjÏ' Õ±çÕÇÙ€•Ø´ Ÿs=Sr]˜ÊM˜08së>ŠW?ÇsÛjNmÛÈš}·ŒMŒðÇ2¹`œ̺õ ¤&Ga úhª)bçºÕ,}ÕÇ›gåè¼ï’5óî_ˉC°fíË, -â†Ë’º\-Ó;˜iãvóâ–l.ª ,a<‹sݘkÎIh‰gô¢[¹:ÇI8ॾü(ï¿»Š–¹õÚ‘Ä_‹åû¶SêÈã†ÜØN_ÄêyÑÀs|ËÖW“uù"òb#ê8OßõUϧ­|¼tXYUErRRû.wA‡}Å ÐØØˆÛíÖSù0»²™vëL»µ³ƒ¹þkrý×:9œ6;¾9;ÚÈ㯜½×ňÏüŽåŸ9볞5Ï}gŸ‹à:MÑ]]ÇeÝžË5ðr¾øƒËùb$•bÏ`Þ¿cÞgïœÌ§þk2ŸêøêÎ)ßÃþ§â?þÑ€Ål&nô]üèÏw©±‰ˆˆˆˆˆˆô…pOÐÀbi»tgBnÉÞ5Õ)p·:”ïテ æNË=+ ÐJú˜Ù 3þMǘ•Û&Q½›××50ê®ELLŒp”ØÐ\Sʶןá= øJ^l¿WÇ›ñ0º 75+…ò’Š>-óÇü¬ÇA‡åüÏ#?cé¿^Òçîc®¸1ÌÁ*3ÃL•ð5UQÝ$Ým!%-GJæh3iñŽLçØÁå‡bsZñšÏï cM†‹×YSRX\¤ĵCÇ1ãèF–¾±ž·>H磓ˆ5ïäDe¡t{‡ÁsVg.ŽQÕ€˜3e¾Fjƒ6â£z0Ë 5–Á“¯gðäÖo$ª·/á…]i$D™"K¬bï¦ÃX'ÜÀ5ã’[~`<™«ŒZž}w%£®f«Öú£_û o#:‰xËvÊÊO׃³?Í×fF{þµ„jî"""""—$‹+…ŒÓ}«ƒ˜”<¦ÎöRò⬜HVWÑd& Žè$^6—kÃ/ñÒÞ#TL"µËS½÷%Þ;˜ÊÌ[†“`Î_ÿ4a¶EŸ5’Ëç6râµ=­θċyh4—°coÉ—"ÃÙÅ÷°¿¨ÚÅ[oíÁ\°€y#â‰d.ÁÎòôe_õ¼ÚŠ’™Ñ¶]V‚¦à9÷À¬´–6ña:Üq¨¡ÍvÏHx¡Ï'â[ÛCuIg ƒª‘¾5€)“âyåù§xmàÝ\9$åQ6/]Íц Mþöu¾Æ š,‰dŵ7Ë•@fTcõ>Zæ;ÃS~B_Ó³#X&Æ_ÊëßÁë­;\ _x-™NS¿WGÏxö†1;/Ü¢¤õ•õ}^fyEK ã–õk{”oâô™œ,/×gN¨÷x‰6TM…EÔ…­8c܄ꩯ«'Åmp¸ ÃIò[Èâcî¼é¼øÔû„šÎc6€p=Çvß<ì¸Ã‰8Š1i{Ùä vg2j ×·låhî\òÜí?»æ˜t†ÄldבJ&¤eœšM0D]ñ*,ŒKìý0¡úÃlÚZElÁ,Rì¦ñyiðØœ¶³fÝ0auFa¥¡ƒÙ.ÚTA_,V,|ݚܙŒìäÕ÷·pxÐ<†Åh^C‘3“Ù‚ÅlÁÚƒÙðÌ3§vd0eñg²árÙzp]fL&fÓ¥PK!jlçh8›¹y‰]Ïò؃þb°f/o¿²ŽÊì¹,ž2€¨<ýÙWím[ù¸ª(m»Üò… :8Vr³|ìxŽóÖ?_bÝÑš«8°ò)[[IòäL å”EDDDDDDúV4£îx˜‡®òñÒ7?Ë oå–ûåµ# „,Nbí‡PÍ;#@ Ý¤}!ÄÍÚ~ÐÙd6c2„ŒÓk–6²ý÷rÅüÌ›¿€yóoæ%Ç[¶g²àÇϰò¥,ÿ×3üãç÷2|ÏøúÏÞ¦$пµ …züa—ß.èÐèßá?¯Ï×åqGÆM—~­ZÏÃ7Ídâô3ÿ\¾è>~ôÊNQ _âÞ›¿Ä“‡|¿Â—>ñež/ì¼±ø>Ï=7ßÇ?ôpD™ š|ašÍ!Ê6R2 ×Õc2‘’l"#¶ SÈÇsϮ淽͚U[×gÔ(ÕMþžŸ0 ¹¦ˆm+^eEqgæ“dPÝ!Ö¿»…}%Õ4úüxêË9üÁ6Wº:,…(“›ÁÓç0Æqe/,㽃'¨ó}4VeÇ®ã4Àð)C1v¾ÅÛÛŠ¨ijàäþ÷xs]%iÆ3 ‡«Ã¡žÆjŠ÷¾Ç«/®äxòd®“‚-Ò4Žd†vqrÃZ¶¯ÅðÓTy€ï <`éÑí¾õh:YBY}5Żٸ­ GVqýèbà”¹Œuæ–ñÞÁ“Ô{¼ œ<´‡½Õ!¢œVô3”ˆˆˆˆÈ¥&DcÉ>v«¤Ñ$ ÐTy„ ïl *y #;|óÉOÅ®÷xoo1U>‚f*obŦzÒFç‘a¡ÅMŒËND¯-…4Ufãšm4&''öxÙÉ_Îîí'q ¿Œ1Ýôv,‘õƒuXñÊjÊ2ç°hÞðˆ–“î6¥¯úª½i+Ò'ŸÒ@ïÆ¬|Á¶oZ#ÍC}Cƒj^>ôž*Žï[Á›O=Fel)yLYô0÷Þ1 «êGDDDDDD¤Ï9Ò™öÉÿfÚ'OïpìÕÿæÁ†¡dǵŒsĦgláXRÎŒT†›+)õ9ÉŠk¿b31—LÛ«ì9TE ß… 7—Ý÷VÜ„O°ü[ßbi»\&¬Î8²F_Í¿\žï/gSÙåØúµ:z2ë¡ÅržƒÞF3˜.Þ ¾²%Àý—~µ à¦GÿÄ·'Çâ¯-eߺ§ùá~Ê3y¿åÞ‘.l¹‹ùË‹‹[žßq}¤/uU ^Ü6%ƒ‡§“’ꄆ²‡&RSSGM½Á°Á‰””5áóØwÄÏCìÃb1ã´Gø™ Õ²ë忲ëô¶9šô¡ÌÿÄXÇ·|‡&3FýaÖ¾ºžz`q“’=ˆ± n  «åsivbî­ŸdÐöÍ|°ùu6½ÞHÀ–Èñ³l2•=Å×¹ywÝÛ<±º Gr#gßÄÔ¡ñ§~L Qµíež^]JëÏ/ü™­˜Ižx3·ÍÈ e®‰f ß~–—÷y‰ÏHÞ䛸*?ƒè6·Ü]YS¯ã:çF6½ó kj`gÐø+¸yò Ü& \ÃŽ—Ÿe 3¹sÑ0¼GVóì¦JÂö8²GÎáº)™Dú­dre3sÑmdlÛȦÕÏó^SËŽÔ|¦\y3cÆjv‘KŽ Ã_Åþ5ïðfí©^Š=…üIs¸¥ —+nàȺµN˜ÌœÑIØ0?'>x“MË›–˜L¿Žiù ôY(ǹ}9kƒÇ]Îâ y$ô[Üa¤}6ƒºÃÙÑÊÌ‘©´›3°M_k4 æHú‹J6¯gw­j—ó·}Ë[‹s»;¯Dt»r#ÈC_õU#h+Ò­Æúܱ ³˜ BáöA¬[äãŸîøxkk[úãÖ¶½ðˆÑé ÃÒâ2du|±@HÏS.qæÄqÜóÝßsªBDDDDDD䢞|g^,$õº/0ÄÕþ¸%%Ÿ©O±lC!·AK’ eÛVsØ>’Å9í¦Ô”4ŠÓÜ|çùX?ùߙڳ‘I³Å‚ÙlÆÒK¸˜L&Âá0‹_738Âá0fóy„Õ˜»ïñCØ­}3²^_SGlBV«µÇËJwæþšÆÆF¾ó­ÿº­ÓŒ=~³®dâÓÛ(®ó.}h?dv—õó ô®A\wÏp]7ɬ±ƒ™qÝ`fÐmBr'\Aî„ÎXˆÎËüOŒe~'Ç“ÆÞ¿íöÂtÍÝ|íšóLc‰aà„+8áÊN>F Üü% NoOû$_™ÖI=~vP÷ßöò&Ï'o²Ú¶ˆˆˆˆÈ‡ƒ™˜A3X<¨óÞP°æ0›÷×¹ æÔ ìRFÏfÑèÙ‘ŸÆ–ÊÔ;îfjWÝ­äñÜñ¹ñ§¶"ëËõ½Hûl&âF,äþDÖ׊¨¿ÅÀ+?Ë×®ìêq[nyú¬¯Ú}[‘î:´˜„Œ–1Ç%'HÏJï0è°§Nvø‹´`ЊÕì4è.NÐaA^ÌGú|""""""""FÐCCmG·¯â¹'–p`ÐgøÉõƒ:žõÊ–ÍÜ;g±ôÇ¿ä—q_æ³33hÚù*øÛ†}ö ÄvÇÏ„;ÿ…‡~ÌOl ðžÛ™?6‡8ê9¾m9o w¥½Ý’œFÐCuÑV–üe •¹w2.µÿ^¥ÎÊÊ¢¼¼œŒŒ 1™:ø3 ÇCyy9™™™ývM}t´}tøËßü–gž{€¼!C¸óŽÛ[mß±ƒË ú¶BšjŠxÿ_ç]Æóa-÷(|‰û˹ü§¿æöVù {ŠXõ÷GùÍ?7R쇨”dðepÕ©ãþÊ-<õ³_òØ»Çñ9rŽ_ç¡[ÇSü<ü&1©U¼³é º?ÿùËŒsë;CDDDDDD>ªüTØK]Ü®HÕRº"}åtÐ!@zVzòVTÔ’’Ðãsv9’ê7‡±‡[Þ¨¶ZƒzB""""""""Ò µlþå|ce™#'2ó“?äkóFtzE`1¯>üþÌçøãm57ö³üä[Éüõo¿äž?VãÎÀU_ú!w]žIg ˜Æñ…ÿ’‘ÿzš§þôŸü½ªe<Ë=tw~í§,Ÿ†µö8øKyýá;xýtFǦ.ü"?¹uÙý8ÞŸŸÏ† Íb‡9qâÓ¦Më³kÈÌL£´ô䇢Õüê7¿ãé>Ûºýèï~Onn.3¦Må·ø#ò)þýßîã3wÞyþ' ³ä+׳¤uG4#?q#¢"È®bí¯¿Îvð•?¼ÄÜ ›Ÿä›¿Ú×rÜw˜¾ó#^˸‡¿.™MJùüÏ?Âoü†odC°¾ ë'¾ÏÒïÄrt÷IÒµŒˆˆˆˆˆˆ|¤Ùɘv÷ª"DúLCc1î0ÙÀt›ÞëõàtFmwÒä÷ö*èº <<tèr'ÐÜXsIVÜŽCm—Íèï /ôùDDDDDDDD>üâ™üàßYù`'‡­¸á‘¸¡íN’ ò_-ä=8“É•ÍÌO>ÄÌOv’ a2ßzêu¾uj!33“©S§²gÏÊÊÊ0 £óû0™ÈÌÌdÚ´idddt[¶ÏçÃápt›îÜ Ãèäš*ÏoYÚÔäTÊ+Ëû¼¾žúç?Ûl†Á~ã›Ì}9Ëß^Àï~ÿG†ÊÔÉ繫m7=ú'¾=9– §ž²ëxê׿äþxùÓ÷¯£«wÄÃåð¯÷BÌúú¹adfÀ™›IŒ­%ð°éàÛ,­Á—þ{#SÌrŸ˜ø¼sˆº»G2#F!%ÁAÊÌúº‘‰qŸŠ_ë"èÐápïŠãdM9NgËÛ¶M~oDå;£Ìx=ávû#z¶» ÃÂÂBrssÛíFÕ£‡+""""""""-Á‡ý±tr$A‡)É©Tœ IÐaye ©É ]/¿`õZƒ à«_ˆgŸ|¢Î`ÆOöe×ñV°ûKY_|5‹;_ÃIªŒ R£éhKom ÕÅkøæ¢ËùæYûã§{Ð3""""""""r!ø|>Núz7Ž×QÐa]uõ™ÀÃ&Ÿ‡hGT¯ ?7è0%!•ŠšrŠˆˆˆˆˆˆˆˆ\¾`#«»Í¾³ƒCf –p(¢²R“ÈHK£ì䥹Ds às÷~±ÏË5›­˜Íf¬àܱճ&«´¹âq‡k(¬hÆæäÜE›+‘Øì+yè÷ßaNrۣ—ÔXEDDDDDDDäC!>!ŽÚš:âϼ„{nÐaeeeëß&‹³G'©¨)WM‹ˆˆˆˆˆˆˆˆ\$Áæ®GtxÚ¥txZm]}Ÿ•e=TZÍã¿yŽŠÁW11ÝÖæ¸ÙêÀ¬£¸ä;?ØCMÂnšfÕþÊkû*hòÔQ|¸Kú˜áWseÌû<ú›çÙ|¼–fO#¥»WóöåøÕTEDDDDDDDä°9»ž0.)©õï쌬Óœ:<­Ó¥–“““‰K@]U1F¨ãõœ-6¡€ï¢VJA^ÌGú|"""""""""=ëî³²NžÆ!ó˜ñ°# :¹øš<¾‹r^‡) €òêj=‘ $.:¶Í¶×ÓØú·ÉÑ»2-ލvûNB3ž¬=IZ|ZÄ'ª­-'>>õ‚WZA^ÌGú|"""""""""=å8ï2FÄžcG[·=ƒ(›©Ë<>Ã@ÐçÑC¹@š›êÛl;£Ü­ݼ£l·9ñ¼íö‡ºã3=|¤Ã= :: :ŒMJÔS¹˜,Á^e;;èè6è°#i9™ª‘~8õïÚúšçí(èð´øhWëßÍÍmƒ­ƒ† î»;0™À0N]…úªþ_ReÇ¡†6Ûý=#á…>ŸˆˆˆˆˆˆˆˆH¤Ž•pÙ¨1ÔÔŸ5.²ö¨ {0ˆßjí“ë9y¼TE.¸ ã 0nÙ0 ¢\.L&³“ÉŒËåÂáŒÂf·ãñxðûØ2²rxêOÐØØ¨J‘¥øØ„>-¯¶©¹õo—«írÎmF}¾ Çy *ž :°ÛBz’"""""""""PNvVÛ Ã0 “ÉÔ« Ãƒû1txž€\~þ§Ç°Y­ØlV,f³‹År*ðЄÉdÂ85–m¡p˜`(„§ÙËâÛïPŠˆˆˆˆˆˆÈ‡B’;šªÆ¦ ~^‡ÓŒÏnxx^A‡ÈÍÌ¥°´ð‚ÝØé OÏDØÙ …ç»ÿb •­à[ß[żï~Ÿ«ÒMú‰ˆˆˆˆˆˆˆHŸ0™ZÆš,6ºNë p˜m­Û :”KM(„Í s˜p(DØbÆl6ŸZ¸ÇÀC(&cV«·ÛÝ}áÍGYúÌ«ì?{bDK ™ÃÆ0iÒe N°qzä6Ü\ÆÎ÷Ö²qOa°¸SÉ>–™“óI²·¤1uݾ™÷÷¤¨æÔ‡ÏžÄ°)WqåøTœ„h,ÚÎêupèd†;“1Óf3sD €çÄ.ÖoØÁ¡¢*šÂ`‰Íaü¬9LÍ‹çÌ'µ»rú2MG ê÷½Â³ï§pÝ­ÓÉ ¶¯Gstùg3» (ó©ZŽìØÂæíû)iÜi¹äÏÄü \µw‘K™ÿä&^|aeîn½mÙÎNSR}`#ï¼·‡cµ>LQI )˜ÁÜI¹Ätôÿýr6¼ð<뫘¼øfff:ÚV²å_/°æd³o[ÄWQ»>ˆ-&ƒüÉs¸|Twý™ócøk9¶ç6oÝCQcão¾•9YŽó»ÿˆúg‘öÛöÝúªÉ}‡ªwðⳫ(ö·½ çÀù|já0bõêRo‚ó†çS[SOeyÇ+•Ä»ÝÔv°DIYYø¼-+MXûû/dÐáG_˜ò½ë¨Î¼’‚TŠˆˆˆˆˆˆˆHßë.èhtØ‘¤¤tªªN¨2墇ôDþ™0Âa³ 3&Ìf0›L´DBËœ‡gÆYSAˆ±Ä3zÑ­\!?µ¥ìÛ´†eÏ—0mѵLH±C¨†]o/cC`óîX@N¬OE!»N/M¨î+^YÉQ×(f^q;×¥Äb7h¬(¤ØëÀJ˜†CïðÂÛ¥¤OŸÏ]7Äâ/ÙÁêÕKxÕ·›Æ%cÄÙlàȘÄs³Ir†¨>°Ž¥+–ar->õã[$åôUšh­G'á —šÂ÷Y¾ò V¹oa~ž|elzí5¶4g3iÎ'X‡-ÐHeñAöœ¨Æ3<—š¼ˆˆˆˆÈ%<ÈPÍÞ÷vSëŽ!ª›—†|¥›YºêéÓoäž!ñ»X¹|%+boæÆ‘q˜;Ìe‚P%;7dÔõ£Ih=G˜úÛÙZâ§M'å¬>HÐSGùÑ­¼µn[“3-ÝÞoÕ¬=ÂöC^²ÆMļíPÝ_õÛ×ißô1#»o¢²¸â¶…\–¨7Ë.„Cû÷uy¼£ C 5è ÚDScUÇŸK¯ïLi}àv`ÿÞ~© ‹ùâà]ðs‡+س¶’´Yù¤˜õA‘î9œÎ ~NÊÅd„Cƒü~?~¿Ÿ€ß?àÃçóáñxð47ãõyñù¼ø}^¼^/‡¦fMMÍ=ª‚ IDAT?¡ÅŽ;)—‰W]Ϭ”r6­ÝGuðTr¤ÜLîı MŽÆa">k3fŽ!Å„8´n‡œYxÃ,Fe%à²[°ÚœÄgæ3zpV;7b Wd‘CÚ°i\3+“šm›)ll Ÿt¤0sÊ02⢰;ܤ˜ÀeñÍÕˆ¤œ¾JÓ+&ÌÖ(’òÆ3e ‰²Ã•xðR¼q%[š‡±`ñÕLœBŒÃŽÓÈ€ü)\=gIVµw‘KW˜úÃÙR“Δ ºyiÈÀ×P‰×•˨¡ÄEEŸ=œü$3 ^Bæs’:r81'¶ò~Q3­=o)[7—þöî;>«Î÷øgæéµG]²\ä&÷Þí¸„t;Å––-ÀÂÞ{—°Ë²Ø{ï’%„Î¥lBŠ i¤;±c'q«\e[–Õ{úÜ?ä®öH~äØÉ÷ýzùõ’fΜ3sÎŒ^>g~sIÅÅd¹{ïƒØ=iäM Ð¦%ÖšpdÏfõ]7±xbIv#1ן¨þbocI‰ècÆuÝr) Gìs_g80¬e;»ÇþL€¼¹>–®sQ¼]ô(‡¢ƒ.pÂÄI„±ÄWbŽ»íòßœv›AaÎ崵겡6ƒe“|úí׸ïG»iíþ‹É‘Gÿ/ÿt/­Í;ø¿÷ÞªofÕš/pÿ#ïÒö}¿ào¿ümþç_ÝɪÛþ–ß è ù4$,õ Ô74ÑÐØL}c#5uõT×ÖQQUCyU5åUÕœªª¦ªº†ªšªkk©©o ¾±‰Æææ¡l÷3vÆHìµG(o‰‚Çßàäþ#Twõ·Ú+9PcÄŒ‰d÷1±F´­Š“TŠ‹2Λ¤Ã$¥`9V'ûx¾#Ú‚àò:0ãÌ'QiÂ0 £’}GäÏɨ$}‰/""""rµ±:ËÙöNi³0>y ÿÓøò&‘>ÈÆ·RÛ ñÐv¶7¥R\äïgfugöTO48²¥„º0@„ú[8lLdñ”ÌÞ—‚µ¢„:(ݵ•cŒ`b¶ç=®­Á_¢ú‹qBS†_ù‰“}îó:†7¦-ëny;@Õ©Á}ìpö=µeÐâ².œŠ³³#ˆ7É…3<ðÜ‘)Iv&ñõ¹ú¸äaÝ~)4ù'™ºƒ›¨ÉXÂÔ¬$ÒÏÃñ×s°yó]å¼ýnŒŸ.Â+gÉ—̧'çá¨}“ÿü·ÿæÏs‹¹Óá&4˜ó×òEªiM×@ˆˆˆˆˆˆˆˆôtððaŠ'Lès”9¾,êÛzì‹"ØÝš‚LÞ[õ55X˜ø3ütttN‡Ææb1 °ˆY±Ä¢Qr²³p»½8\ÎK[ZËšC²QKcWü¹Ì¿v>/là‘_î  x&óæLftº w6Òfy—êês´8l'd&‘æ¹ð¹2œ^ÒœQz•#BÃá‰äsͨTl@0Ž|"öĤ‹X$JÌŠ uPWºM' F^Ÿ…­mõ/cÓ=h4[DDDDäj¢zÏ;”:§rÛ$?ö8Â’Ì”±\³´Œ'þü2¿ß à¤`ñ¦e:8ÐKáì®ÛÌ–Ò ÜTPÃÖ=Œ\:“÷á‹5šÙ÷ÔÏÙwvƒ“Ü™SI»†2{ý‰ê/lh}ÌAéªàµß=Äkf¹ãg°xÉLF'kŒièìÀðÍäÙÖÚNrŠ„·ÐÅA‡Þ$W|‘'ŸXWÅ¢yMoÁà°8ðf K&“m[á|–zÿ“7Ž435u+»˜ÉçÇ$ápæ“Ró¾ù½8Ð#Xˆ€ ì)#™4®€Qƒ-[DDDDDDDD®¦å!ft ùøþ‚l˜½=‚[;ÚÔ rÙ5ÖÕ‘—ŸÇ©ã¥¸NêëëIKO£dÿ~rss©­­£¥¥…X,ƱÒR–¯XA^~>MÍ­œ:uŠ57^?ä² ÃÀ0Ë Üy³Yó©bjígÇÎ<óÛwHŸ°ˆVÎÀOwºh?ß⦠Êí1a¢EÌ2°™Fí]'ßá…·)¸ævÆ¥˜q瓨4ƒm¡äÙ_QÒý„”œQL\ñaŒöbÔXœ+*È© óø®¦Ó¿;(X~7wÍôÇù²LDDDDD.—HC ›ö…wÝTrœ0ðüwe›yæjr¯¹ƒµ“3‰TìfÃÏñ4·±f^6ý}&f¦±hÖ~Ömß¶ò:ªÒgsÇhfÓŃiL½}-×t h­=ÎŽ7ßàÉ—#¬½i2iïYçbðן¨þâ@ç5Ô>fÜÜy,[û9²3=‘ MåìÝ¼çŸ ²æÎ%¸ô< F{[¾ädz :ÌHóÒÐÜ9`>_ íí­ý¦INñîÉ_#jbÙÎÝEN‹PWðÜ 'gÐÐÖw~Žñ_ ¸÷Û`Eßß­l˜8Š>;¸?1‡ØP•ÆÒ)Ù݃(®Bæ/Mæõï²Í·æ|‰ÑhÛý{þÏSAVïw<ÛÀ³ÿúSêô\‰ˆˆˆˆˆˆˆ|`\JÐa<š[[HKI+mJR²D.»Ÿýø!ì6–±XÃ40 00L“H$‚at¯I‡yäw¿ëŽÄ fÅ.©ìP{–—tïy3RؼdŸÇMãg±äøžñ-^y7—LÍ ÅÜKu}Ñ\g¯Ásvw*^Êhè Cò¹<­`;Íiž g¾7ìã•WJ0§ß̪Iig_Ä“O¢Ò ÊÙ—~=—5³’2H³í¦ªöLý¸±ü“|u9`µPò§§Ù«Û]DDDDäÊmáÈ–]´.áÆBo|ëF9°µûœ[¹aÖéå‘‹æsÕÌcoî¢bÊõŒñö—ŒI ™zà¼}$›¥wM$ÝÖß|o¦ÃCZÁd®YÙNõs%o™È,ÿ{y8„ëOT±?—ÒÇŒ»[èÍ"ï̵Ù]$gcáòëÞåHý\ yðaYÑÓA‡½‹'è0èð|ý†¯66÷ LÉÈ8wÃØ.„9?èTÐa÷à Ü3À柋áH}ÿ5²#›î™ßÇæŸ=ˆ#-m¢2uÓsÎ<ÆFÌYBjÉoùåV7 çâ‚턽ùf9h-ÝÅž­›.""""""""‰“–’JzjŠ*B®X¦a°xÙbfΞŽašŒ(,d⤉ŒŸ8Ž1E£ÉÊÊ`ܸ1¸\N\.'ÎÓÿNÇ%,µk¥l_¡Ìñ¦öFHʨ)LËq„‰ùò™2ÊAåöoï=àÑLÎelr¥Çê Ý¥åÔaêlyŒñŸ{i:À«Ïl¦¾p97/Ç\>‰JÓO †ÁfÇÇ›G×ÏÔ"7Õ;¶SÚÕ-""""r•ˆµ–³¯¬•æƒ/ðóÿzÿóÃyø©ý44ì቟>È/^)£Ç'“Ñm ‡Ûq^ “ÝíÁN¸—™õzáÊcÁŸæsŸ^Íœìøß ÓÄ0 ;{B áúÕ_ìË¥ö1/…aÚ°™6ìïi£\2F`Å9É_F’?¡å÷ÀêOËè±­µ¡aX+ÄLkêýº3Îg5qpc)‹ÿ‚ÜóZÌž;‹ù¿åÇÁ…,Ñ= –1ã£|øµåï?ö{|3o`Y–‡hÄ‹ˆˆˆˆˆˆˆH¢‘(1+†ÃßÀ|SK«*M®Xþôd|Ibá·®þ0ù#F``†a²÷ÝdegaD„C¢V 0…#„ÂCp‹…él©æðöl>•΂5ÅdØ Úr”-{šñ1"Ó‡-ØLå‘l«÷1~AÃMÑâL{ö%^x2ÀÜ%s˜<"ƒ$GŒ@s%ǪmŒ™TÈÄãÙûÂ+¼êYÉ¢ñi„NíæÍõä,^ƈÓFZóÚ3¨Ê_Áí«&ö\Ì–G>‰JsÁ_:jªiõ¤àn=Ζ] ¸Š‘êÂU¬—Q V2³öy^|2HÃÒyL)ôã!@cy £x&ÙÑk(‘+‹™>•µ÷M½`[×É×x|£Uw­ ÐÝËA®LÆy)yg;}K˜’ç%Ör‚ío&6b¹Iñ•ms%÷Ú ±0'Ùµqí™ ™b{ï*m(×oKOL±‰écÆ#J{ÅÊ"™ŒÊMÃk·èj*gϦwhȜˊ,§¨4”\úŽÆ!•Szì8c‹Æ\xX6Œ•+WZ—û¢×¯_¯–IU«V ú˜åeŒ.Õë¾ÎÖf¼)iädgSS[;äs{饗Ô@’0>ú(÷ÜsO¿i>r×Í$§¤’[X„a˜Ä¢¬X¬{yeÓ¤öÔ bêO F±0°»œ¯n¤®®™£Ç+ú?‰Îã<ÿè³j?o›™Dîøé,X8“¢4i=Æ–7·q ¼†Ö `ó‘U8†©sæ3}DÒ¹¥•#­œØ½w•q²®(€ÃÏØÙ˸vþ(|f”ŽŠ½¼¹ù]UuàÊÉäyKY8ÞÓè¢ìÕÇX·¿g@°o­|ü¦1t¿£(Ÿ¥‰5±ç©ÇØÈR>~û[žä±­õÄœ©N^ȪEÈpÝõøø›8Võ¾ÔòV¨‰Ò][غç(ÕÝÓ|¸²‹Y°x!3G¥Äµ<˜ˆˆˆˆˆ¼·zÆÚ8¶y¥éóY15@´²][غïåÍa°§1fö2®?†^cõ¼óä󜜺†;§¥Ó[’HýNžx¦” ·ÝÎoyϾœ=¢Y X:g™.s˜®>Jî§xdCåEß_™dν“»—äuÏ%6Ðõ_ÐךJºO.Žþb|ÕÇŒçºc´›W6îáDóéTÎ,Šç-dÑôѤ;?Ÿš•••ýyïþ’>ÓM›2ùìÏŸùÌgâÊ»3Ð…×í¡µ£”¤ä„Ÿ{Â'LŸÎá={0£b¶þ»ú <Iœó[›[IIž¥33Ò¨ohÔ1 <”DŠ'ðPDDDDDD®l‘†]¬{ª„ü›ïbY¾fµ“¶á <—tØÜÙÙ羋ƒ£‘–¥ÍY­‘ó„¨;|€–ÔILÊVСÈPä¤eÆ•îLСárÇ•þLÐ!0`Ð!€ÙÕUsI’œšªÖ¹ åçõ\j9Íëûx›ÝÖïþÒ7þM•,"""""""çq’·èc|~í,25·™ÈÔ4ט& œýÙ LŸŸW8èóèuòÖ¶ø—KikiQkŠˆˆˆˆˆˆˆˆ\…*«Ê†tœaYq¥;irÂÎuÓæ·¸é¶5ܼúv6¿ý¶ODDDDDDDDä´æÖ ƒíN÷ Ž¯¬*ï±­¥½ÿÂ^ëjÕ"""""""""Ò+Ë0úÝ_U]@²Ó—°2¿÷ýPW_Om]ß{àj‘ÓÒR2/éø±ÛR}i´·´÷zL¯‡cÇ©5DDDDDDDDD®R±h¸Ï}-}tÜÑÒ–òór e\›°kª­«;ûsMmmâ*«á-þ×ê¥Ì]|Þ¿åwòÙïüŽ'»zr½<"'Ÿá‹ù2OœKþ¡ãOðÙ;ïãÇÃz`DDDDDDDD>àœ½‡àKíýãb3Q…[öø†àFf«¥DDDDDDDDD†‘isô¹ÏŸêï±Í²ºƒÏº¢‘„žG°êé«£Â#XýŸÏ±ý­MlÛð/üúë,ÿ™o~ñ›ÅÞCl8Ú ‘jv¾^‰ù"FŸYáÆ•Íìå˘5ÊOrú–\;WC½L58Pù–§€kn½‰ùc2HNÎaÖu«™íkæDS€Xí»üéí(˾ônœMŠ/ƒÂÑù$w¯°Í“Jº3L}U5-aþ1 X}˲ºçEDDDDDDD®TÍ ƒ>¦¦º®Ï}…ùý[ZZzög»«ÀÃ-ïnÔ ùýijI‘+HW¨{ººÊ²S½î·ÛíƒÎ³¦öXmáÎ΄ž÷g¿pyß—¸óö5|ù¾/ö™ö󟽗;o_Óã¸Dé¨+¥Îò3Êï!ØZM»3—1~×Ùý¦/Ñ©1šê; » Y°"“š×wRÙRÆ[ïZ̸éZnžacÿæc4VïáµÊ V-‰»òlv;±^—Z°|ÂÔïþüõGYºx)soý/WFˆÅ,Bm54Xée'õ: lË]ÅýÿñUfŸú÷Þr3½ÿwlªìÂÒc$"""""""ò¾×ÑÚNFžŸd_ü1€‘ ØöìÙÃôéÓ‡TpW[O²kPÇTUU©ÅDDDDDDDDD¤¾±‘L¿ÿ‚mg÷tuù£FôzL$IHÙ¯—à NL˜Úî½{/øýÓŸü?zø'lÿügïå󟽷Ïã.Y¤Š-ϾCçØO07ß³%‡¤ÐN4Y–Ñ=k¯¡¬ÕÄŸ™„'#ç¯$kÝ6½ÓÀöØî[@Qx üx#o埤2c9‹Fºã?‡óªÔ™ÜùÖ‰gùÖ·þ@Ú'þ'üóX2#ûøþߪûL›íK£¶½{E䬼<êNÇþÙ!=ƒ£ØúdÌËËS뉈ˆˆˆˆˆˆˆ$ÈÅA‡}IÊN££¶ù‚mn'B—V~_A‡®¼Õ ¹¾‹ƒ/:L$+ÒESe ¯þî?ùñŽQ|öÿÞÀ'odõ˜ùíþÀ¸¯­aŠ«‚WòS¶%¯âû³21çˆy\›õ~ýëSä-ºŸ±>Hw S"ßå—¿5ÉøÄ—ç7ܦ݅#Ò©Š2ö6…ÈÛù‘Sõ4ÇR™6ª¿£ƒÒ·7s°)J1`Ë™Ãê9¿â{?þ9s2îeÕ('5¥'h:Ýîe¯óâL,‡ßô‘™åÃ8ÐJ ¢gKDDDDDDDäJwìøIŠÆŒÔ1g‚û2²¨˜“Çp²± ·Óp6èN&”Í¢«« Ç£V¹‚\tv¶váMé}\/Ó•D}°cP嫞³üñ§?ù \®î¨½}dmb+&|ЧÿîÃ<}æw{&SVÝοüô#,-ôtÏèËÚúgbÿõÿô?§1êb䢻ùÖ¿}’9©§çt°`eÿ°™é׌% m<+'»øã+™¬]PH¼kǘY3X³ð¾ýõO³nÊ—øÕþ¢ßò ïí|ùÃù׿¿ƒ_F’™~Ûj&çy Å,°çríW¿CÛÈß¿oG 2f,"?ÙÙ]X´™í¿ù.ßû— `’>n%Ÿù‡O33EÏŒˆˆˆˆˆˆˆÈ•n°A‡ñ8tœ :<_]c#ÆÊ•+­Q¦Pvxÿ%–äóÓÑÞWÚõë׫ÅEDDDDDDDDdÕªU—œ‡Ãá&ô›Æåö t*ß—^ziPéç.^ Àö·6]–ãäêòè£rÏ=÷ô›æ÷ëžÂãrb·Ùp8츜N;‡Ó00 °,°,‹XìÌ¿‘h”@(ÌÍ×®RE‹ˆˆˆˆˆˆÈeQVVvöç½ûKúL7mÊä³?æ3ŸT&OçpÉž„žwFzz÷Œ‡e‡÷c3¢D-Û3‹7èPDDDDDDDDD®<½ÖVW‘›wö÷Á^Š3„"ƒfYD£Q , ,,+F$b#²á°Û1ÍîÈC ël¢eD£Q¬hTõ'"""""""W´ˆi`Yg÷'ùhlë3ÖkúD445[jùR‚EDDDDDDDDäê3j\.eG«ûÜ~ÐáY#ò©;U9`ÞIIIttt úœ†z€/Ù§FbÑ!+JÔ4‰Úl˜aÓÃ00m&X€ÁéÙ»ÿaA4f G. ó8Ï?ú,‡ÚÏÛfK&Â4æÍ›AQºã̹tV±÷íMl)©¢=6_6£'Îdéüb2N¯tm…[8¾{;JŽPÞîÞèÌ`‚ëøÐìlÜDi/ß͆Íïr´¦Ë—Ï´EËY:) —`ÑU½·ÞÙÃÑò:b`KÉìe+X8. ÇÙ“(ŸøÒX¡fÊJÞeÛÎÊÛS™}çZVijˆ¸EëÁgxlG·¬]L~¤g=šI9Ï]Îòé¹xÌÓÃÍÛ³m»QÑlørFSWöt–fŸ;¥ÜIs˜Qò4Ë[XŸ#T7p>κ¸ÊrdÏfõ]@ç ^ÜWš V30í2ÆÍfAi)o”ÖÓ5ÎNÖõlïœÀÍw,cLÒé×l.?#Š0¢X÷ºˆˆˆˆÈûÉ€ýš^r“=¹ŽídGy׎övÏ@¨dç¶J’Š‹ñT´ôÚ±{ÒÈ/š@áÎ Z`øîGYÛê xG3e|©. p"ÅûÙÙ J/‡¡ºÄô‡Ò¡÷²ÿ(—âøñrÆŒ)Œ+íˆ ?5­mgïhoeö´Å:¾ïì¶³÷¥i8r‚ :yoÔ5Ô$,¯‹ƒíç¾|ÎNÉVeËËaƒ`g+­Í8í6º:Úéìh'ÐÒÜLuM eå.=Æ¡#¥8t˜ªêšÛÚiïìzÁv?cgŒÄ^{„ò–(÷Þêà IDAT8|øÝNî?BuWÏ™­öJTÄ1c"Ù}¼ßжUq2JqQÆy/ƒLR &cÕq¢1Ðû‘mApy˜qæ3䲆ƒa@G%ûŽÈŸ;“QI¦nl‘š‹ú5}tpfOeñDƒ#[J¨ D¨?°…ÃÆDOÉì}F6+J¨£Ò][9Æ&f{Þã‹5ðåM"/|o¤¶3@ã¡íloJ¥¸Èßkp`¢ú‹Ci‹+ªÿ(ƒoÐ!pAÐ!@’/å‚ C8oÆÃX3ŠˆˆˆˆˆˆˆˆÈ‰ §…uûÎ-hZÛZ«ª‘+Öøqcq:¸Ý.ì6§Ó0°™‘h„–æ*++9YVFScõõõ¤äéO¦¹¹õ’Êv§ælÔÒØ.ó¯Oã xä—;((žÉ¼9“î´Y^Æ¥ººgäèE$ØNÈL"Ísá«2Ãé%Í¥!éí(ïàH$ŸkF¥b‚qä±¥¬Ke‹D‰Y1b¡êJ·±é„ÁÈë³°µí¡>âelº…Šˆˆˆˆ\…º*xíwñ€™Dîø,^2“ÑÉö8îÙ¯é{èÂKáì®ÛÌ–Ò ÜTPÃÖ=Œ\:“÷á ÓF›Ù÷ÔÏ9:å$wæTÒìï}u™)c¹fiOüùe~¿»ûÜ ¯aZ¦cXû‹Ci‹`0ÁýÇKºWä½t¶…›ñûÓº»ú1 Ã4T;"""""""""W‰£§pêÄþ绤£[¼7¨aä²3 “––l6?­--D£|>±X ·Û@FFéé~ì6íííÛ½ƒÖò6º‚‘K,ÛÀ0Ë Üy³Yó©bjígÇÎ<óÛwHŸ°ˆVÎÀOwºh?«;¦ Êíñ(ZĬî`Ê‹·w|‡Þj¤àšÛ—bÆÏàËJ€h %ÏþŠì¤äŒb⊳`´£ÖÀÀ:ï¯PSçñ]M§wP°ünîšéóe™ˆˆˆˆˆ\6î<–­ýÙ™ŒHަrönÞÀóÏYsç \ýÜ{¿¦?fJ‹fígÝö-l+¯£*}6wŒöa6]”ЖÆÔÛ×rýH7±p€ÖÚãìxó ž|9ÂÚ›&“öžu.,:Ë6óÌÕä^sk'g©ØÍ†7žãincͼì A'ª¿8Ðy µyyîè uàu&½'eŸ <<tØ}ƒ\x4¶tàOMRK‰ˆˆˆˆˆˆˆˆ\¡txéZö>|U#—Õþû÷øý~ÒÓÓY°h¯›Í†Ã0ˆFcØì\†I8Æf³“šægÎÊ›°€˜e]RÙ¡ö:,/éÞóf¤°yÉ?›ÆÏbÉñ-<ÿâ[¼òn.™šAй—êú¢¹Î^ƒçìîT¼”ÑІäsyZÁvš#Ò<Î|nØÇ+¯”`N¿™U“Òξˆ'ŸÁ–•g_úõ\ÖÌJÊ Í¶›ªÚ3õãbÄòOòÕå€ÕBÉŸžf¯nw‘+’Í›EÞ™…ì.’³Æ±py€Šuïr¤~.ýD“õկ韌I ™zà¼}$›¥wM$Ý}Zf`:<¤Læš•íT?WÂñ–‰Ìò¿G‘‡‘Fl-Å>çVn˜uzyè¢ù\g5óØ›»¨˜r=c¼ÃÓ_ìÏ¥ô1/ǽ"Ýt˜êñÐÒÕ5¨câZ¡ · Ã$¯ÿìϱX §Ó©–¹JŒÍ-HxžvëÂ!ý‘cÇ©¢å²{óõ×yîä?ÊžÝ;)=zˆæ¦Fhnn"b&±˜EWgјE}C§NÒØØ0ô‚c­”í+#”9žÂÔ^ÃI5…i9NÂ01_>SF9¨Ü¾“ãí½Ï.j&ç26¹‹Òcõ„ÎnÒrê0u¶<ÆøÏ½€‰4àÕg6S_¸œ›ŒÀc .ŸÁ”5Ä " ƒÍŽ-ŽÉ/ _>S‹ÜTïØNi[T7¶ˆˆˆˆÈUÎ0mØLö~fÃë¯_3 W îø4Ÿûôjæd;q^&†aðž.  аp¸çrØÝì„{™Y0qýÅ¡´Åp÷ã¹W¤§ñÓ§]Òñq±óF:ÎÓØÚŠ?%%®<::ÏÝP¦I(Šë8¯âEDDDDDDDDÞs¥Õ—t¼+ê"h ^°-bØU±òž‹Å¢ØvÒ2\üùÏO`³™ØL“¤¤ì6;Ec' ‡È/Maáb–EFV6ÍÍÍ475¡À0-ÕÞ¾‘ͧÒY°¦˜ D[޲eO3þ¢"Fdú°›©<²“mõ>Æ/ÈÂc¸)Z¼‚iÏ¾Ä O˜»d“Gdäˆh®äXµ1“ ™¸`<{_x…W=+Y4>Щݼ±¹žœÅËqz¢ÀHËa^{fUù+¸}ÕĞ˃ÙÒãÈ'=®²'JGM5­žÜ­ÇÙ²«WÑ"R@x c½ŒZ°’™µÏóâ“A–ÎcJ¡ËK8ÐÅ3ÉŽ^C‰ˆˆˆˆ\i¢´W¡,’ɨÜ4¼v‹®¦rölz‡†Ì¹¬Èê=phÀ~Ml®$’Ñ—ëh<É®»hÏ\ÈÈÛ{We®LÆy)yg;}K˜’ç%Ör‚ío&6b¹½MhgKOLq(maKTÿqh÷ŠôîȞĬ ÐÕÑ'©ŸY­óÂcW®\yÁÚ[]ÑŽÁlÁãJ+íúõëãJ¨ÛGÍ+ß ÚßW¦6O&9×=€;kªî&ùÀXµjÕ{RnNZ.5ÍÕý¦y饗Ô@’0>ú(÷ÜsO¿iRS’q{¤g%a3L lv›Í$faØläñáö$át¹9jž¤Tþã{ôÇyþÑg9Ô~Þ63‰ÜñÓY°p&Ei ÒzŒ-onã@y ­AÀæ#«p SçÌgúˆ¤sK+GZ9±{ï*ãd];Q‡Ÿ±³—qíüQøÌ({ysó»ªêÀ•9’Éó–²p¼§ÐEÙ«±nkSõM¸•ß4†î×åOš( »žâ‘ •Å šdν“»—äáŠ5±ç©ÇØÈR>~û[žä±­õÄœ©N^ȪEÈpÝõøø›8Võ¾ÔòV¨‰Ò][غç(Õݳ*¸²‹Y°x!3G¥ pg‘+MŒ¶ãoóÊÆ=œh>ÝspfQŸS3pÄݯ9O¸–wž|ž“S×pç´tz‹§‹Ôïä‰gJ™pÛíÌñ–÷ìËÙÓ)šµ€¥sÆ‘é2‡©>âèGDÛ(Ûµ…­ûŽPÞ{cf/ãÚùcH±ôµ¦’nÆÓ‡‹£^{䛨>f<×ǽòPVVvöç½ûKúL7mÊä³?æ3Ÿ9ûs]m YÙ9–“–›KsuuBϽGàáp«®­§dßž¸ÒV>÷5»•¿;wù·üDÇEDDDDDDDä#žÀCÓ4‰Åb—å|L§“ØéRx(‰Oࡈˆˆˆˆˆ\Ù" »X÷T ù7ßŲ|Íj'l—xPrà“'Mºìç~Ù?ÌÍÎŒ;m´å(I.Fœ¬–Áæ#º#EDDDDDDDDÎ3µxû8û{,fbšƒB C8\¿8t("""""""r¡u‡Ð’:‰k³t(’½Æ¢1L›9¬åšWr¥Øcq8bº›DDDDDDDDDÎs~Ð!@(Æ—”÷ñSÇ\t <wâÈaU¾ˆˆˆˆˆˆˆœÇIÞ¢ñùµ³È´«6D†Ë¥¶G;L3à#ì àò¸Up[G˜ä$Gí6›h4ƒ_«Û4 ŽýrÁÓˆ6g ®ÜYd-ù:6o–îjyϹ=6Ú;âN_±¯´Ç6{dà³çü*[DDDDDDDDd„:ÚIògž·Ï–4`š¡)))ü>Ø C × C€h4‚×›w>Cˆ;Ò1Ã)j¥óäê6ÿ@w»ˆˆˆˆˆˆˆˆ\µõ ËkTá¨^·Û}>ÒSSzÝ×ÔÞÔèmý³CDDDDDDDDd8“|Ãt¯3¶¶¶ÒÔ\OzZfÄfÒ„ —T`gg˰_”Ïm»bز ³U¿«»]DDDDDDDD.‹l&FŽáðÉãƒ>Öíôuý½¬¼¬Ï´M-­½nO÷e¨DDDDDDDDD.£Îöv¼>ß°äíó¤ÒÞuaÜ_¯‹9÷t\rÐá‘a€Ýf`·ÚU""""""""rÙ %è¸ èPDDDDDDDDD®Ãt8¾¨°GÐ!ôxx±††Á/ÍèT Ýùl¦¡J‘WÞjU‚ˆˆˆˆˆˆˆˆÈ0HMËësŸ'5mHy¶Úzl;r¬¼×´qfddú$Ü^ŸZ÷<†âEDDDDDDDäÀ2!ˆ¬zZ"""""""""2 Zš«úÜ×ÕÒ<àñ9ù=¶¥¸“ã.ß>P‚ÌìêkkÞ“Ê †cºCDDDDDDDDDÉewŒ„.)–¦fRÓãû2:Û›Jmg÷r+F œn3aײió[üëß§®¾ÿUY²³²øÇÿñ –,Z¤@DDDDDDDDd5•—tü#€é¾ô Þ« CšK :â:·ï}ÿÔÖÕñ½~ Æ‘¼Êªêa/ã‚›Ú›zM”“›EMuÝe¹èXÛ"Ok?Afñ¤÷Uƒ¶3iök0“Çë‘Ë*))‰ŽŽŽKΧµ½•_ ¦ÛÀ0 =»¯¬¬ŒQ£F%ìœkëâ—¬©­U#‹ˆˆˆˆˆˆˆÈ^~^nÜióòs¨ªì99¡é¶ œ÷KIvÑÚ$·L›u.±Ï™Òkæ5Õuø½=¿p®ªë{6DvÞ /8Ú¼›àˆ6ïÇŠt¼ïÔŠtm)!xà߉6î¼bÏ3päQî»íf>ö¿wЬçPDDDDDDDä}£¯ Ã¶Öö^·;½É½nOñu#ÆÖA‡@Bƒ/‹®ƒüüÞ•Ì]þiÚÓK=Žò»û®gîª/òû£ÁK**|â|þÎî|BÇŸà³·_zž"""""""""íC_‘¤· Cà‚ C€Ö¶îq,·»ûw{Ô8·³=ÔÚgçBÐÞݱƒYsæ—•ÓwúÚªA_DäÄ# bE» ¬÷Y`:0ln"åcóϾ"ÏÒ=þc<üÌÇôDŠˆˆˆˆˆˆˆ|@$§ø(**âØ±clu¶}@jÀ„ðQþô›õ|øßoc”ãÌö•ã{:Á}é¥8FßÁÏÖÝÑ]·Çu߉ˆˆˆˆˆˆˆHbx}©=¶åäRSS>leÚ‡rЬ9sâJ7yêJöÅ?‚ëªÄ ·¾›Ø‚X+"Ö©^DDDDDDDD®g‚Oœ8ÁèÑ£ã?ÐiAÈöóÛþÖ¦~÷Ï]¼ôrOeâ-3`Ó#ü÷¶¥üÅ~LÀjÙÃ~»‡Ìn ug…n¹jÔÔ” q¹\Ã’¿‡]Á ž8 ΕMmYmíg‚;¼î? ®å•c1‹¶Î(Í­a:CQ" Ë:3›¢Í4p9MÜNŸ×FŠÏŽi ï`é`¯5päQ¾òÇhÊÍ#V^F}ÄÀ9–éRi>¼‡ÃõaÜ™Yññ¿æË7Ý÷sþæÏ`®ý>Þ;‰¤h%/üãßòƒÒI|ó¡o³Êßžg~ÁÃë6r¨!ØuÝÿâ¯,$¥ôQ¾òµßѼü;<üµÙxjwòÇ_þž§·¦¶Ó–^Äò»¿ÂWÖŒ%IϨˆˆˆˆˆˆˆHÜ*++9tèÄb±>Ó™¦I~~>“&M"//oØÎ'd.•'«/ØÖ[ÐaKS+©é)½gr‚/‡¤âÕ|Â}ˆïüúyî˜õIŠ=AJ_ü¯š×óÍ[ÒùÅéÀÃÐñ'¸ï«¯±ò?äãºÇN6ÝϽ?NçþŸ|•¹¾޽ú+~ð³§ØVÏXnýÊ¿ðÂ~âüÕ×^æš~ÈGlç—¡ö­‡ùÊ7_ å+?ãG·ŽÀ¦ÇeÈü©>,ËÂf³ŰÙ˜¦ ƒ®ÎNlv;¦±H„d·Œ7Á(ÑH‡ÝÆ¡SõªDy_® C ððü ÃÎö.¼>O¯éz :<{\['Þdo|gcEzq–µM!êšBý äZDchlÃ4H÷9Èò;q9Ìá©ù¡\k4D—oÿã¡ï2¡k#ÿvÿÏÙz`÷þíùÎø ÿ÷?ñÐ/~FñÔï²r€¬Z÷=Âü|3žþÿ}G1žÖR¶ícE.:Í–]üâþo³®uŸ»ÿÜ2ÁKó¡wØõáг)"""""""·ªª*vïÞÍ’%KX¹rå€é[[[Ù¼y3†a››;ärMbVïû.:ìKoA‡ö¨ˆ-òþi 3yq/s¿ü~µñC|gæ~½®yµ–™©ëãÎ&Tö"ÿþ_ÉýÜüø¡BÌš½¼YRO[x齡þíŸó÷¼Ëœïþ–¿Yœ© ÃKô™{?OÅ©r*+NQYqж¶6IÍ!‚áî`ļÌîÙÁ(­Q¢±­![Ãd¥;Éñ;1Í+ãËmoîD&Ê -89ùNv¶d2iòh²RBÌœkg5jÚY9@°j¸«….+È©?>Ä÷ëVqà ׳âºlÜΦŠQ»íi^)3)¾÷SÜ1+2ûFêY‘+@8fÿþý”””‰DT!2d¦iR\\Ì´iÓ†í+àC‡1oÞ<’’’âº_“’’˜7oû÷ï+ðpæŒiìÚ½·Çö¾‚ÏWzäcÇO¼`[ks;)i¾>é3èÐaB8vUÞö¼e|î£ÏòåßþŠßl?ÌÞ‘ãG‹³±•ÅŸ‡Í“Jº3L}U5-á"ÆŽYÀê1§ÿfõ¬E¶þœ¯=¶‹©ÿ}þzqfü¶Ò§¯ß?› ‡ÝŽÝn£³£úšŽ:Ä¿}뛫¨ÂŸ–Ìœ…‹øÏý,8pôÓfÍ¢ žeÆ;óü£Ïr¨ýü†O&Â4æÍ›AQºƒ3£É±Î*ö¾½‰-%U´ÇÀæËfôÄ™,_LÆéq|+ÜÂñÝÛØQr„ò¦Ów‰3ƒ ®ãC³³q¥½|76¿ËÑš,_>Ó-gé¤,\€EWõ>ÞzgGËèˆ-e$³—­`Ḵó> (ŸøÒ„›Ž°í­mìÁ[ éÌ¿ãN–æ_4ž©gûŸždcMËï¾9Þò}GrÅóWpÍ”óûE‰g…š)+y—m;K(oOeökYQpñøSˆÆÃ[xýíÊšƒž ÆN_ÂÊy£Iî³ß“¨þâ…}·Dõ1ã¹îhãÖ=ö§Bž…{Ô|bÍRô%TMc#9~Ÿû{ :lomÅ—Ò{K¼/DZZÛ#œ¨îêžòðü›ÒecT®ÀŽÎ.§Éˆ76ÓäÌÊÊ–'ª:iëˆuMA:»¢ŒÌóà°_IËÆÝËAÇÂDOã¦A„@Ä‚ÆÇýÓ×òÑŇùÉ[Õì~õv¿ú¿Yü¾ûõ[(8÷W˜öšfºð’9"—ž?¹ÂìÞ½›ššfÏžišª²@ ÀñãljÅbÌŸ?XÊ(//gáÂ…„Ãá¸IJJ¢²²2®´½Ækìø‰Ìœ:]ûöœÝv~Ða’?ŽÆ¦ø2»Jƒ»¹sÓç¸í…¿ágë'òW]ÇH‘ƒ-w÷ÿ‡“?üê—Ü{ËwÉ[y_¾ï.–ä÷òa·ÕEå¾=T¹‹ùÔ¿VIcå•8ì6\Nn—·ËIzN. rrWCZz2­íŒ;»ÃeA{{9y¹Øq™ÛÒ˜zûZ®éhˆöæJnÝÈ OT°èö›˜“å„hû^}w“Xõ±›™bÒUw‚ýÇÜyJ¢-‡yí™õ÷Naéµå–¬œF˜öºœ ¸°£íèë<ùj%¹‹oäž[SUìaƧy6¸†Õ³2q``š®¼yܶ² w”ÆÃ›yþµ0¼wœ~ùO>ñ¤¬(¶œyܵ¬ EÛɼøÚ˼™¶–ëGr"‚³õè& Ðtb/¯‘7|wqã8«ØúÜslï,dÞŠpsA*Žp;õ§ŽPRÝH×Ä<¼ºåEDDDD®\ÑF¼½Ÿf_2žþ>²g1ÿ£Å#2±V¾ð$"È÷õ5îg@´ž½ÛŽ0åÃSI?[FŒÖÒmì¬qAgû¼>H¤«…Úã;yeókì̼ƒE¹Îa«†Hó1v P0k.殣½¦ Vnãù7ÊÈ]|Ÿ›†U·õ/¯çµ”;¹mr*=k QýÅžuš˜>f|× €§€kï^à ¿¾,nýö¥¯ C¦ÀÃ`0ŒËuîÉU”OÙ±ÊËRAMmaÊ«@ÏO¹ ²]g Ý.Ù~gwðÞyBáíFPw")ï ¨À‹Ûyu¼Ä°9œØl±XŒÞ>j7’Æqçý³tß&^|ùU^Ù¸‡Ê·ŸæùÃËù¼÷ÜíáËNÅÍIêN6Xœ[Ï ˆˆˆˆˆˆ\AJKK™={6~¿Ã0T!2d‘H—ËÅîÝ»‡-ðв¬AÏÌF‰Å.O ßùA‡‹7è0b:º­Óý^š;}áp˜Ÿüü<ÿâK€uÉéËðMáÞŸàŽ ‹to«À˜˜V”P´¯v1ñ¹†¿üÎ5|ªéÏ>øO|ëƒ<øÐ_2±GaÉLûø×Yúè?ðÀwŸ¤à»™èÕß²KUYUM$+Êäâ‰x].즑ššLg,LW§I4! ÓÑÙE «“ŽŽ¶mÛÊÈÕ· ®@›_Æhæ^—‚ãÙu¼µé cn›Ž¿«žcµ&£¯›ÉøÌî{ÉU0‰%g¾ü޵qtófŽºçrç­sÉ9ûŽËFZ~1i¡ön=sö­|hzN÷û² ‹¸!ÖÂãooãÄøï3peOgiö¹SÊ4‡%Os°¼…ùÙ8Buç㬋«,‡¿˜ç½§ð12é05]a,`hw°i÷1n6 JKy£´ž®qv¶¬g{çn¾cc’NÍ»üŒ(^ÀˆbÝë"""""W¶­¥[ØÞ”Ë‚yvöîäXMÃQvUØ{Øó /æ&{rÛÉŽò"®ííî“*Ù¹­’¤âb<-½öAìž4ò‹&P¸³‚–@¾ÀCGölVßtžàÅ}¥½l«'àÍ”ñy¤º€Â‰gìgg[€(½†êÓ_ìålÒÇôq\·\qOm4Ši‹?4®ÀÃÑ#Gsâ䉸3=?è¸lA‡]QNÕôt˜ä±ãu»ÜŒÔžA‡œ>Ò²,“pÄ:;kb$ãxe'ãF$]a3öñ§Õ?†‚ä[wïàPýÆOp¢ù̼¤aª6?Á Ŭ\¼ˆ»¿0™±îoóõŒLw÷ ·Iöü;¸~änÖ=õkžÿeVON¢åÐvG¦sÝÜœaü³+""""""2°`0Hff&N§“Uß/¡= å–ßk>·‡×\]‹l¸ÝnF‰Íf# kYÑhtPé/WÐa¢œ :†tðÓ_ü’ßüþ¿–n𠜾 ²ûXeÚ™Z@¾½’M›ösKÁb§Jxó­“´ÇÒè,{d²`ñ8ü¦Ì,ÆVúüóäÁ-_ûJÿîÛÜÿãBúʲôÿ%)ôûèê2 t´ÓUUFm]Má(-õ5¸Ýn.6[V,FCC=ÍÍ-œ*/'33ƒÔÔô¡l÷3vÆH¶¾r„ò–)ø“|øÝí?BuöTr/Z‡Øj¯ä@EŒË'’ÝÇ@k´­Š“TŠ‹2Î{d’R0ë-N4ïë%@6 -.¯3Î|Š’YV,LW{Çw¾ÉþH+ |$läÜ0 £’}Gä/šÉ¨$Íj,""""rµ±:ËÙöNi³×0>ù]·NCûöј:…UùÞþûðÿŸ½û޳£ªÿ?þš¹ýnï=eÓ{)¤’„’¢ˆTÅŸËW¾ JQAEEEEA¾t½’@*„’¾É&Û{»{ÛüþØd“Ͷ»›Ýx?»3gÎ9sfî„sîgÎIÉxG1o®ÚÄè¬ñ¤:‚”n^ÅVcgŽð²²­ÀC+„¿¾’½Ÿ®f'ÙÌIõçÖ2ˆÎFF`Ë>LföÄ~Ø÷¬emEçµ½BBOõ#Ò>f›eË ¯+A‡ÐNàa?öÃBÊ: :ôzb©o¨>î' …É+jÀ²Ú~»¹®!ÈŽüz²ÓÜ„CÞvæpu;M⢸Ý6œvƒ½E Íû0{ èŸåÁ4OìàC3õ4¾sÃ|êþõĝРIDAT2?¾üI,g ý2<4UÛ7.ÄŽGïçÉ¿”\Y¸ä–osvŽ›ÝÔˆ˵wÞNâÃÿåÅ»®áá0ãúqú¥ý™©ÀC9¸Ýnµ¾ ý2“Ô ÇÙîýeŒuÊIUçÍ[¶àt:ÉrÝ]ñð¸vLW˜P­Ã~hÈn9^+ö•×ßèÑt=.ñ®ûΙÜöÇ›™û¯0δQÌŸA‚ÓO( „*YûÈ]üêŽFÀ$aà,®úÉ•Œ«¼í,Í„ |û×°ç†;ùaÚùÛ7† áùîv$ñ'À;´fìfLËã™×Þâ±Ošê–5e£Úi€žê/v®{}Ì.iØÇ»ÿý ï˜Q¤Ô©céc×Wéj5à±u>"UX\DzjÐNࡽ ád] :ô×pF;zåä KýÄÖû‚lÍ«e@vTÛõ Xd¦º©­RPÖØ*M/HQ¹ŸŒd×1½¸îA—ñ×—.;´Á•Ë¥XÄ¥‡= süž×J’1õ:~7õº¶3L½‚»ÿ~EÛûŽ,+íT.ûé©\¦ï˜ˆˆˆˆˆˆœ€œN§–Y>Á‹¾žd6›í˜Ôû¤šñÐ öÑ"èèՠ÷ÚâpØ"]'¿zb>¿jk_¿<ôÜÁ¼…ükÑÂCÕè?Ÿû^¯HX½j••|ºa[·l¦¶®–ÁCŸOΰ¡T‚¸><:ÞíŠ+*ñÕ×0gÆt2³²x{ñÒ£zžVÒ1pgŒcÞ7‡R¼ó3Ö}´Ž—]IÂàÉ|eÖiJê`¥pôaXAZ¯ìm¶ l­^·hس’×?('kÆ|ÆšçÓµ²\dM»ŒïŽ«¤pûÇ,[¾ˆWCó9L]ú†ªØôòÃlÀNlZ_†Ì·Üt¥¥eC!¢½nRÓRèÎl““ƒôÏíÞ¼]|ºr-YYÙx¢£ƒ¸íŠ÷çUÙþÚ2ê,/ ÞÃÆÂm^RMàœA§0u×*^}ãÞþ8KF&k~Jai¡tg›Ásvw^ò(«@Ì¡<­ÆZ*ƒâ=-ÇÜeyûíM˜£Ïeö°øæ"ɧ«eaØpE%ÑwÌ,Î ?Ïó›wR><‰Ô®ü Ðü£_ë7¬¨$âmŸPP|°}\dŸþ n>°ªØô‹]\ªMDDDDDމPÛV­§&g*gçxéêh‹U¿ ›kH3‚ w¤GÙIv#7?χÛR™vñlÐþ(ŒéðŸ5œ³j)|e»ª†pJâqŠ< –³yõì§žÏWNInêËåNäL«’§Þ_ϾgÑßÛ;ýÅŽM3ân¡7…Œƒçfw“2ÓN÷±ï¹ÙV:ž,Eö¸¶‚»ËÞ~!‘jFtØ›ŠËý´õ†ó‘“ÌäöŸJIqNví«§¢ Æ„X'Ù©n¶ï­£¡1DI¹Ÿì4·îF‘ãÈétRWWGtt4¯}¿?@@rœ9’““Oʺ×××ãñôî·Ý™ñв¬.SSSALLB§A‡@‡A‡@—ƒ**÷câ!LC·ÚèÛ×^À+¯¿4~ûš«»N¾|vç呚”@ai-€¿ßÏ[¯¾Nfv&a⦶ŽêªzN?çl¢cã).)%gØpjjÙ±åóî®&ocþäSɉk3ŒØ¾#•¶™Õ¾áèLFôuðÚÚØÕo£[¿ènƤ3 fw–rjZÆ.BTåo¥Ä–Á)‰‡~€ Vlæ—VPš3‹“²ñ]ËÇtF^V«zÚÌ~L l €ÍŽ-‚_èLFæºyyÝZvôŸÍàÍk(""""r2Wïec^5•þ×ùÇ–×[ì{æïˆ~!_?³/mÀ„¨Üù »Â9̘صÕ]LZp%£B¼ÞÈß ÓÄ0 Ìã¹ JÈGÏÂáv6ãÝíÁNM3 ö\±=GÛÇ<†iÃfÚ°›Z妻ʊKHJMisß ‘£Ø¶±g^å;éö•µÿ¨ï$=É…ÙÎMYï RSÆá0Ip˜TÖ°, Ó4q;M²SÝÆ¡ðÆŠÚ™©.L-å$""""""rÜäææ²dÉN;í´“6ØMN ,]º”ììì^/«+³Úl]´‰‰I8ß½ìܹ½ÝýÝ :„¦àÕ®ÿ7\ÿI'_>^·‹Úº:‚Á áp˜(¯‡}»÷·g/6§‹ÊòrÎ8kþP˜šÚêëëˆOH >1‰’²ò®P_UÈÖµËX‘ŸÀ¤yCI²A¨j;«6T’˜›Kvr4¶ÆJöoûˆ5¥Ñ š”‚Çp“;e&£^~“ןõ1~ê© ÏN"ÊÆW¹Ÿ…6úËaȤA|úúÛ¼ã™ÅäAñøó?aÉŠRÒ¦L'ûÀ/uÁª­¼ûÒR 2g2öÖ˃Ù"È'’4~J6®c»-‡Á9)ĹBTîù„÷VW“vÚ@[ý¶¢®¨jO,îê]¬Z_†+w2q Óa}/}'Íblñ«¼ñl#eÓ&0"'>Ê÷nbsyÏ0;¡9±˜ #YxýÈ–ã.{Þåée6f_<“œŽæøòóÙ'Ex‡œOߘ®ÿß¾ÍELúruå{X¿l=µÉ§Ñ'ö8¾ìäJfP®—M+—óQôTFdx Wífíû[ gÏ&=ª­“Mè™þbz¦‰µû¶‘L¦oz<^»ECÅ^6,_IYòxf¦8õ…ê¦ö‚6ƒCÁlöC.>&šÊšÚNËévàaC}=¯·Ýý¿‡³÷g¬ia…;~ë;5ÑEzRûÑ´ ÅŽü,Ë¢_†—訦%•§Ã )ÎÉî‚z Ãàà æVØ¢º6H|ŒCw«ˆˆˆˆˆˆÈq2fÌ6nÜÈk¯½¦Æ£b·Û>|8#FŒèµ2 à c³Ùhllì4½Ëå"7/'~4êêƒDy[2–Ï?_ßåüÚ :t»Ýø|¾CÇi99ö²Ó’É/*Á0Ë¢¼²ŠŠª*Ü.¢ÜvV¾¿’}{÷át{è—;_C#Õ•U¬Y¹:²BB•l\ô6üÛŒ"}Ðhξd,¹ñMcÆ–abUï`ùËPÝØ¢IÉéÏØsÏgtVÓØ¹ÝŸY ¿FÿOÖðñš×XýZ-!G"ÆM'×0ðäLfÁÜhÞ_ñ.­Ã•܇á§_Èiƒâ,ÏÜÀ¾5ðY¥*ßâß[Þj®fôàóùú9ý‰"’|"Ic~ ?~“ÕoÕl1ÙŒž2—ÉCš~pW°aÑS,c_Ÿ?ßÎ¥<µº”°3Žœá3™;)“H90¼9L›)ëW±zé3|X×4͇+u(“θˆ±}c1uË‹ˆˆˆˆœ|Â5ì\±œ ™92‰½(ªv¬bCM*Ó†§Ò+# Göåì äž2ƒ§$¡×âC”­_ÄãK÷zÿêÙ¿ó&Éã/âÒ©¸p‘uÚ\æºW±ú½'XV{<ýÇÍᢉý‰6Žìk$Áì¡þb«|{ªÉyXþ2>_öoVHåLaè„™\<º v}UÚÓ'-=EEÝ>ÞçóávêqrøW ’ CcÖ¬Y–Ífëò2/‡ îzôââÅ‹ÛÜ^¿ìÂ.—Ÿ_주ÊßîþŒd7) GÀ‚;öÖá°› ÈñÒSY$-ÑI(la3 A‹âòFÊ++1®iùåîòÎxQß‘/‰Å‹CFF£ƒ•4,Ë¢¡¡ÂÂBjkk™9sf‡yÏž=»Çë¶Ù0»9fx¸7ß|S_zÌO<ÁW\¡†9‰ËÖóÜ¢Mdž{1Ó35«|¹ååå5þô³Mí¦5bxóç«®ºªùsAa1é©íW\PDjFZdßÍF?vWÇßI ÆÕNì@·ƒ㼉TÕ7-=á7â4ýÌ ¾ŽëÝyX¤Í„(¯êÚ [vÕât˜x=6ªë‚x\6Âa ‡ÝÀéhù1¬»_DDDDDDDD"2tèPV®\I ˆhÃp8Laa!“'O>.õ퉠C‘–ü”lÝLUÜ0æ¤*èPäh :ôº¼Ô7Ö·ÚiÐ!Ð"èpàÀ!lßþy«4ƒáˆÉ ³S“É/.Å'Á¹£¢ðÕÕµØv0èht艋¦¡ª¶×Ïèh™e»­ã5ß|!v64†Âà†©mhyþ^·舲5ø*""""""""‘ÉÌÌä´ÓNcÓ¦M`Yík†Aff&“'O&##£WëU^[Nbt¢.ˆˆˆˆˆˆˆN2&_Æ·Ô"=ª­ Ã£ÑVÐá‘ZV•øŠ7ÝùœŽ¦•Ô :ì̱:w0@í±a3;<ÜWÒØtØáÅñD4 â¼vªê„4ᡈˆˆˆˆˆˆˆtAff&™™™Ç´ÌØ(/Õuí<öFÐaŸÁ¹ìÙºS\DDDDDDDDä ªÅš.Á#–>t©ººÚæÄ à #¥ó¥ŸœÅ°#v»Éà>Q¤&iªW99ttx¤¸äÔoܸ±ùsŒ-ò±BŠˆˆˆˆˆˆˆˆœœˆÒ™=YhTTô1?QÓh{Fä8—­Óã ŒˆË ÃìØ[Oi…›©MDDDDDDDDN.6[Ûcfq/U¥Å-¶6qróçšPËǘø5¦ˆˆˆˆˆˆˆˆÈHumסVûKw)tÎíp””Ôæ¾@Ès\NÖéh8h·Fd…]œ½0SQ8P¶Mw›ˆˆˆˆˆˆˆˆœTB¡¶W©jh=3bm}M»ùÔTÖ¨1EDDDDDDDDN0ååÅÝ>66:€ø„Fûá…&@ßÌþeì (++ksŸÃÖÐæö‚^m(»eðŸaôÏôb·Ex˜ï¤OºÓìúô…n§¦<‘ãÏ"xâT&Ôé%Ù™}HމoÞíŒjþœ˜˜q^@ËUNêëʨ¬(éôX;@Þþ]½v¢éé-þÎJIëÑüc£ì”Wù›ÿŽ‹²ãvÙp¹" Œqå±S^ Æc£¦!DQ™¯Óãb¢ìº“EDDDDDDDä¸3è|œªÁW‹ÇqžÑÑ.jk»^Scf"""""""""½%ÿJk*›·Õú뺕—Ãáhñ·7*±ùs¨>ˆÍÛþX_¯NÙô·žup_IQ–ã±a˜‡Ê©¬ °%¯–_ˆ¢r? þpdh7HKtâõØHKt’–äê0½išÄzµÔ²ˆˆˆˆˆˆˆˆœºt°3oo«mqޏN‹ŠÖ˜™ˆˆˆˆˆˆˆˆHoñûýǤœŽ‚¡—íN«×OÐ0 â£[F^ºì&»öû(*ó±so=åU~¬.V%-Ñ…ÓÞ~ó$ÄÚ[<Šˆˆˆˆˆˆˆˆ|‘¤&µ^’¥*PÕfÚ~ý2›?×Õ†Ôx"""""""""½Äétöxž·§ËǘÇê„W­ZÝky§&8CA€µ AÂᦙCá0ùÅ>J+»éY]Äl{¶DÃ0HMpé.‘N|RRóçÒ’ÒvÓ·±¯¡¡{K²ìÞ½€@°A@DDDDDDDDä$Óàë|\/lµ|á¸Û‡&m奧¤Õjû¤IÈÈÐã'îrš$Æ9:LSPÚÈö½õ”6v:ûa(l‘_ìkwFЇ]³ŠˆˆˆˆˆˆˆÈ‰§²¬¬ùsrJ2i}3ÛL—š’Üj›ÇÕiþÕu·\tØ=º"""""""""_@¦akñwóBÌÅ%e¤¦$EœQ¸˜ÅÂ’â+ÈßÑ+'–‘좦>H n'…E½¯iôD'†Ñ~à`(Ávf;ŒvëÐ$""""""rÌù)Xþ8ü÷ ¬ÞçÇLÊÜ«oä;gôÁc4õý}…ëxñÑGøïâ½ä|ówÜÙ@ÜÇ¢j–ŸÂµ‹øÇ#/²t{%aÜô™tß¼æföñb”}ÀÏ¿w+*¤÷æpúå7sÓ¼!ĶóZh¨à]~öË%ÌþÅœ™Þz£aÛÓüèGÿ¡lúüõ–S‰ÀǶ'~Â÷ÙÆ¡µb™xëŸøÍŒ”¦|«6³èÁøï²—ë !º >䟷^ÍWÎ>—Ù~›ÛŸý”Š`Û¥Ež6HѲøÑïÞÇ;÷ùï3ÏñÒÿýžoqS°hFHšÀÏ}•w_~’GoEõëÿáÝü@»çZ¼yå™g0:µˆÀ>?öu2‰iµÓËðËîç•7^cñ¯±ø'›ƒ¡ŽMOÿ•WBçr÷#OòÔo.Àx÷_<÷y]7Ú»·Û 3õûVòؽ·ðµ ÎåÂÿ]B‘Ùõóå½ÊmW\À9×?ÈʲøvòÊVÒ÷º™öÅøq[½_†ÝÙ½z0è0)>]-‘c¤¾¦±ÛÇt8xÈÀN±w´35¹iPº°¦”otD•ˆO‹§²¨ò¸4žÇm#;ÍÍÞBÐr4Õ4M²ÓÜ”Vú -BaëÀv00p:MÒ“\Ô7„hô·\“:Úc§o¦SQ‡"""""""lj›>3ÒçÀ_qÃÆ1"n#•õAqÄ [ÈÿæcÛËYräá¾,úÿÙ<æþóÓ!¸ŠWóè}äw±wð˳2[’t%mõFžzj£p7NI¢)ôª?“ôoó, G,Ù£OcrÊ:Šjü@++„KØ´¼”´éCIi5`˜’ÕOðBÝt®œ½•g¶t¥ Cøël¤ŒËÐÔXìq£‘²œ*«{íÝ«mС0ekâ®gœ~ѵÜõõTR’ˆ1"¹~Iä¯Ý€÷²_ñó‚—ùxO9ù²4ñb~11‘/ÊÈOLJ5%E‡néHO,›­GêPVY¨Ç–KV|ˆÍ40 ›Í†ÝfÃfš^Z·0  °,‹pØÂ²šÆ‹Ãá0ÁP˜é“'¨EDDDDDDä¤ãquùGŒ“@¿Õö­ŸoïôX» aÙ;LŒ4èh3è0%-•’¢âcÒ€ 1l¦A^aVøÐ¨¹ÛiRQí§ºîÈ·ò b£í¸e>êêC44†ZìOIp6%o-³ôe¯ˆˆˆˆˆˆ| X!|•ûøè¥ÇXiË­Y‘­Ô®ØÅÇ59ÌûÊ82b€˜™|í«+¸}ñvÊÏÌäð‰»’¶&oŸ™cøîèƒwô¥}ìúàÞ®ÊâªLoÛ§Xº…¥ÅIL–‘q‡Víf^xzƒ.»ŠÁõÛÚ8ÚÇæ'nâ¼'G*ã.¸†¿1l·Ä2üüéØ~ùK~Vx6Ã+–³<é~18ê¨Ú»7Ú Cþ½,y~-åu6ÿÍ<HdÔù×ò£ožN¶»óë—uÊ0ªv+w'_ÀÏ'¬á_ïxXpë¤6‚üú¢þ¸:¹~©¹óøÕãó XÀ[÷Ü‹yÞ8=Íþ¥ÿnU——›˜Ò~‚lMK® :p46BþêÞßv9è ¸¤„_ßû[^}áy=(¿äêêë1,0LÓ00 0Œ¦@D›i;,ððÀº94½unŽ$ð°~¯>ñ2Ÿ×¶ÍCæàQL˜0†ÜGóS-\_À§.gÕ¦jÃ`‹N¥ß±L›8”¤+Y*v}²†u›¶±·âÀ8µ3‰Á“ÎäŒq©¸ Q»÷–®ø˜íEuXÑ™Œš|:Ó†¥à2šN ¡p#¬ÜÀö½eÔ…ÁÛ‡qÓgrÚÀøÃþÉê,ŸHÓöü/ZÍsÏ®¤ z4 /IN‡ïXToy‰§Ö¥0wá2ƒ­ÛÑŒJcèøÓ9}t:žƒÿ,*Ù¹a-k>ùœ}5!ÀFtZ?†ŽÇø¡xmºçEDDDDN4¡ò <÷Ôòˆgr÷=›Ëç &¶­ƒ¿’¼M³æ£Mì­cÜE ™™ÕÁxC ˜•Ï>Ãe L\pÓ2H,eí ϲ¬(‰Ó/ϩ޽­ú Ž˜ †NœÉŒm÷yzJdçæ§|ë*Þûpy•ž$ŒžÊ¬ ýˆi·ßÓSýÅ–}·žêcFrÞݹW¢ãc)(«>æåtí,µÜwh_ò¶äPVZBRrûŽÇOcõÚå'\{Ü6÷‰¢¤ÂOI…ŸÐaƒ¡G~ag±^;IñN¢O´‹—Yê9Þ!—ó‡ßŸ„õ‘/WÿùüáÉYìÛøÿ|ðçüÖø5?–L§]Óè\þƒüù¾Û¸ä> –¾¹6IѸíÝOëð&aÖp¹¸ð~^_¼ùùƒ‡&Màgü‚Y u”ìÛ·Ïþ;ÿàសÎ"ãð!«ŒÍï‘4u8©G M‹>à‘7Bœõ£édÚ¡õB¶N’†ŸJÒÁ"ÎæŠo®ãžû”‚‹’üœÇï{ãŠ{ùÓ¤DÌ` ˼“¿.Á=ߊ·›íÝÓmP¼ì6¾õ«µT8qõïïáòA‡¢YBþ:±C9cÆhrâ€ø‰Ì»è-V½¾²ùýÉŒèú…(Zñ/Îà†ÌåüäâÇØ3ú[üöÇçÑÏ}òOŠŠŠHKKëÒ1BsÐᑱ=;\\RÀÚšÆÇO™ÖaúÃÓë!)äíÉÇéhú)Ä0À4Ml¦Ýfô5š¦‰i˜‚M ÃÈ|ÂC[<#ç/ä¬>ù©­ÜÏ–ÕËxý™}Lž§¦8!TÁÆw^ge`³/;—>±& %»ùlW€ƒ£Õ¡ª­¼ûÒbvyG0mÎW™›‹ÓP[²›|Ÿ ;aj¶¿Ç³ïì'}ÊÙ\q~,þ}XºôE^nœÇ…§$ãÀÀ4-\¸`VIîå[Wð껯cxøñ-’|"Is˜P9›?üŒÊèºýî~s;º }Tì^Ç[‹ß`IôÅœ=0 XýÊ+¬­ÏaÂÌK87+G –aÀÆ) IDATÒüml*,§aHzW]DDDDäåÉbÎ¥ó“Y‡!X¹“O¶ûÈ:e<æúíb@¨”O×lcÄy#Ih.*LõŽ5|´ÏßââÃû Á†*Šw}ÄÛ+Þå£äLNwöZSDrnû×ðê’<Ò§\À5â±J6²ø­Å¼{ kcì³§ú‹­Û´gú˜]¸¦]¼Wj+[öéÓ‡={ötx\Vv:ûò {¬mŽÉ—Tz£¸£ C KA‡£§Ž>¦lšèdXÿ(úfx‰‹ràp˜Þ^5M—Ã$Æk'%ÁE¿ /#r£é›é9ñ‚i¹ÌRýÆqãÿ»‹Ÿý¿…Ì>ç2nøók¼õ䯹zÞ¹œqÙÿððúÊKƒ4·øAnøÚùÌ>{>WÝû*Ûë,ÀOÑÊGøñ•2ûìs¹ä×ïQp`RÈúÏãÆ[þÃgõ`U®ãþ«ç2ûìs™=ïÛüüñ) v¿>‡ç PöÁ]|ûö÷)¬úݼþÀM,œ{.³Ïþ*?~j;õ­Ž P¼öqn½z³Ï>—9×þ«õ@ùr1°{è;a.—ÍŒ¥`sõ3ø<~ú·çYüÆk,~å>.M‹!ã”~ÄÝOÓw"ÃBóÊšB‚‘ÔÂMj¿±œ}Ѥ”NqÃýÿòÏYZÏ´©G,[lQ²ñmÖíú„¿}w>³ÏžË×î]Ŧ·΂…·±¸Øjóœ L»» ¡Š<>f1ypbÓ =™ÁciÜUBÝQ´wO·AêŒ;xáךÚþ¥?¶:°{âp7ìgWÅ¡W¡­PÃîÀfDvýÂe«xäùjæ\9†v3ú§÷ñÝä,ß]ÿ…ø–t5è°åïú¦ƒ>9*”Ï‹ß?›™ß‘¼#D©þ˜ß^v×=³‹ºÝÏó­‹¾ÃcÛÛÌÆ¿ë®¹èzžÜÐ#úðÞ{ï±#/Ÿ-Ûw5ý·m'ŸïØÅÎ=ùìÞ›ÏÞ}ûÙWPÄþ¢"òöä³cWùû÷SPXLYye× ´9‰NêÇø3ÏczJ1«—o¡<4”²³Ø¤ßø± JŽÂåôŸ5Œ©ÓF‘âÂ5l_±‚íîñÌ;:#²ð:mØnâ3‡227»¿„OWïÆ9î+œ1:‹„¨ÒOæ+Ó3©X¿†ÝµMÏ~Wêh¦MLFœ§+šôa§2&¾žÝ{«D’O„exŠR½ck+Ò™tjvÿ˜vIÇ1©¯AÁŽRð‘¿j1kës˜˜›BŒË‰;:‘ì¡“8kæ’4Y­ˆˆˆˆÈ†#u^|S†¤etúA7©Ã‡SøëöÖšzÌ·ŸÖì'jèPRÜm÷Aìžx2s“ã På çs³h¬)ÅçíLjAÄy<Äç ah’ImP›ƒ=Ô_lCô1»}M¥»: :Ø»kO–Ùæ(b}Qi9=~‚Vl 1!®ÃÁ…Þ`šqÑvúfzÖ/šQc=(†‘¢Ò/šþY^2’]ÄFÛ1Ícu£wµœ–Ë,™Á† £¯~€gÿq=}>zŒEµS¹õŸð»¹>Þ{fEaðïy›‡^õ3÷¶ñüc¿â‚ú×ùçÒ}Ôï}›ûZGßkþÄóÏ=Á_®G[ÃÁpSoxç^x—¸×ûÿÇk;º]ŸŽTm^ij›ñý<Ã+ÿwç¥5Pij=°ï]þð·5ä\ýÏ?ý0÷gÙ.=¸Ž"­‘0†¯]:˜-ÞÎ=/|L~Uõy¬^ºŠ+ ב£/–ŸÊ}yç¥÷(KLª§e™åŸ/gÜdF·Zú× cÎݼt0 ïWyüÇ“~æ<ÿÌÌN5 PÆúÅKØPPKcÐGùöwyäÑí¤Í<… ;Øâû0ˆM<þâJò«¨Ù·’žßKÌØ>­—-éB{÷lD ®?SÒ‹yî‘WÙP\Cåž÷yò™²g #ÙˆàúY¬zìЧ~“sû¹°B!‚á0–aÇe7¿ð_¥ÚºªN¾%a {×Þòß¶mC×sü”iÎvØ•tm²e2áüSpn Z·WïXÆêÚ¾œ5!›¨~ x蹿qù@ D Š÷çc·جUeÅämßÂÆu«ùô“©,-fë¦O)Ø»›Í>¢²¤€°¿_M¡Æ:j*ŽbÖL{"ÆôÁ^¼½U!pD“èö±ç³m6´µj÷³y_˜ì1CHmç+ª)`/Ž¡¹I‡MÒa›5˜4«„Ýå¾¶ ú¨i—×a>])˪ßËš•ěĠ˜^xnÔígãv™ãÇÒ7ÊÔ-"""""mup¦Ždʃm«6QRºy[!L‘ÜöR°V];Ö¯f'Ù éòàTÏŸGtÆ02[XöáŠë}”¾–µq ÍMlsIäžê/F¤}L9~;¤5=;³g»ïíív¦‡ƒ@ í¸ØòŠö6MO&á†}_Š‹lz³ºvÀË,5öØ~ŒœA¢Ç䔬dFŽb`rÕ#ûiõ s×Z>ûl-ÞøVóÃ*'­Œ|çJJ²pÓ´>Ä`K‹ks½zG\&±Eð³_½ÎæZÀÈfž/ØÍú@Ga§1¹3™šü¯,ZŒç‚YL ›E!Lé–(ís17OëC<?>]O ‘/‘@ñ:}â!vU„À;€¯\u3ß›–r`fÀZ>ùëÍÜübþ·›?æÜG<ŒùþøíÜì€U²œÛ¿÷k> ôeúEßäþœF_ï!¶Êµüú¦¿¾þ~þwb|Çi[öžÉœs÷Å<ÏCÜÃ7ÿV…—³.ç–ŸžÇ@7P”­á®+ær€=‰a³.æ¦f±Ìr[–í#vÊ×HïÎ,N†EÃηùó怒ˆÊßú?œ“Ù45Œ+ný6þùŸ\wÉ~™Lþê Üz^ߦ€¼ÃÛ`LgíÝKm {&gÜt •}ˆ_^õ*ì}™}õÜ8#­¹ní_?‹¢%÷óà® ÜzÝ<À9ü÷ç?äí‰7sÿaåNDG¡ „pØZ®[A—óMLK£¼¨è$k “ô1g0Öq?ï®/âü>ÙLkؾl u¹—01Ë¡‡ïI¦`ÿ^iª[Ö”yŒJvôj±sÝëcž÷Ê—„Ë}tí–šœLqiiDi{å µtØÇ oÓøé/Á }±¯°aâȽ¦K‡´¿Ì€q`¡ƒÙªÂäNÿÿ¼uÊaoü‡Èó),ÃètÞÅšqߢF.üÕ¹'½Œ—ïþ{Ó²ÈݪÏs! m¬þdK8…«ïAÙ¶xþ¡ÿá¿™ßà¶ë&¶L‡E("¶è­ 2EDDDDDäDåÊàôkÁé×¶— š1×?Ä»×wÐ%O™ÎÝOOo{güx~úïG–¶UÆ.2&]Æí“.k{Òî|òµòIdêÿ<ÀÔÈ %}öíüyöa›ìÉL¾ön&_ÛQ3Nẻ§p]§mßI{÷RDÈž0š¯Þúg¾Úåkm6ëþ;ëЖ˜á—óÇç.ÿR~­Ú :ÙÙÙmî:€Å;N Ã&fÊ(Îãä7‹×³ÿÜlúØÚ,]SÏ€KÇ‘å€ÀîçùÞ-o1ãž?rù@ᆽ,yä<ðä*òýàII†Æ Î<§¿t-ÿ÷Ûûøçû{htõeη~ÄOŽ%Ѳõ<ûàƒ<úö&J‚N²'.䆛®dv_f¸Žï<ÌoZÄšý~ð àü›îàÇçõŃDê§·þŒ` ‘ÙgžM Àíra·ÛC–V˜pØ"¶ƒ„Ãa,«éq4 £i‰û¦Ì Üã˜÷Í¡ïüŒu­ã¥GW’0x2_™5†DšÒ…¬ò3mVP« -–­Õ > {Vòúåd͘ÏÀX3â|"-+X¶‰å  ‘ü¥OóôúŠƒO0²N¿”‹Ç&bÓm/""""rbqg0}áu¤&{0‚ÔUìåÓKyõåFæ]4•¬^PÀŒÍeò)ŸñÜÚU¬Ù[BAÂ8ô‹Æ¬8"¡-ž‘órV7á€êâ]¬{ Ͼdá9É?n ‹ú¼¼´¤ô X8<™à¾OXºä^äæMHÅÙKýÅÎêÕÝ>æ‰z¯HÇ*KË›zÜv`çñöúºz¼QÞ£*´¢¨„„´”¦ï¨-šP¨¶[ùØâÇà{¼' ×là T}¡.ŽáˆÃŒŒ£ï¥˜1ƒºô€i™¥[”ä£q=ò(ÿy'•«¦faåÂæÀ ÆKÔcÏñü‡¸l´‡ü¼êírh¬-'àÍ%'ÅAõŽõl(ò‘Ñíú€Ó­b o-"3«ŽŸ—à³”|ò>ëÃ7èTÎ9g+ÿó>;k'1òðó8†¨Gç¿ïdpå¤ ¶—‘>b8ÉzЈˆˆˆˆˆˆˆ´Ë´™„[G¤½ C 9è°7¬ý`9@§Ë(Gš®ýÆIfÔ™cpþö=ÖžMŸl;5;–³ª~—ËÀ´f —±ü?âÎ £¹ñÁç™ÕÇFÉšÇøéý[šö7îàÙÛïæ•ŒkøÇ‹§“Rü¿¾í^þ”ý?ŸXÍswÜÆŒùÜþؽŒtåóÖßîäî[ýÄþåûŒ­xƒßüié×ý•7ÎÈÁ,ú”÷7•Rè‹G/FlС˜˜¦ÑÈ¡€@Ë˲hz3ºi8Ü´=ÝKñþÚ2ê,/ ÞÃ.˜ÍKê  œ3è¦îZÅ«o|ÀÛ§sÉÈ$bÍO),­#”îl3xÎîŽÃKeõˆ9”§ÕXKeÐAü7F l#o¿½ sô¹Ìß<ó@$ùDTV¨Šm«ÖS“3•³s¼Gÿnxó~m̼•D¼í ж‹ìÓ¿ÁͧV›^x‘Ou»‹ˆˆˆˆœlÞ2†"Ù]Ĥ ä´Ó}ì{îc¶•Ž'«Ç£Éì$ ;‘›ŸçÃm©L»x 6hÞ=Óá!>k83fÕRøÊ&vU á”Äãy,góêØO=Ÿ¯œr`yè܉œiUòÔûëÙ7â,ú{{§¿Ø‘£écž¸÷Št$>9±éÚؽn‚õ¿nhïjÐaAQ!i-—·=t¸{÷.úõëßî±;vì`À€æoÆ Â5ò纒-FXº¿Ì’{ÀyÜrM÷?|3 „¨Ñ|ãîŸ1=÷bÑö ¾þ‡¯1¥ ˆgÁw¾Åêoý…g×_Ƹ¡q$8”RÈe@ÿI\Ø_W¨«jkk‡‚ýx¼^'^¯§i†ÃP˜êêJ\nv»›ÍNÓ,‡a,,¬£ø¢U“·1ò©äĵFHlߌJÛÌj_€pt&#ú:xmíGìê7‹Ñ­g›0cÒ³Š;K95-ãÀ !ªò·RbËà”ÄC£ÁŠÍ¼óÒ Jsf±`R6£kù˜ÎÎÓ„«·±1¯šJÿëücËë-êúÌß7;üB¾~f{3t† 6Àfo±bN{ŒèLFæºyyÝZvôŸÍàÍk(""""r23L6Ó†Ýì¥å-]LZp%£B¼^Gêebæñ\u3䣯gáp;8Ô34°»=Ø©¡­ažê/¶çhû˜'ô½ò%G]m÷&þë,è°i¤£‹Ž :<¨ºººÃ C€óœÇæO6ëªvùÕz™%ïËùÃïþ•Êì;ààÊJ1£¯çÏ£›SÒoÎõüqNëu¦rÏú>žõýÖåµÈ{ Ýöo.:2ͩݭO§]û;žok™¦ÑWrÿWvRýæ|—æ|W÷…ˆˆˆˆˆˆˆÈ ¬²¼ŠøÄ¸né †Ýžéð0Fâ0¾2ÎÍÝ‹?¥pjËVûüÑ´wˆ¿¦ˆ2+Ñ©Q´µ(‘¯råùËøéüüô°íñS¨¯.¤Ö™NÿÃàÍè úÅ…ù¸´žpúl~þ;'O>ü/®ž{³®à†ë/fj¦ µGîù§þÔi³ùhÍrNUEÕÕ•ÄÅÅc³Ùp¹<Ä&$a…ÂddõÃÀçk PP°ŸÙ3ºxO…ÔW²uí2Vä'0iÞP’lªÚΪ •$ææ’­±’ýÛ>bMi4ƒ&¥à1ÜäN™É¨—ßäõg}ŒŸz*ó“ˆr„ñUîgg¡þÃr2iŸ¾þ6ïxf1yP<þüOX²¢”´)ÓÉ>á¬ÚÊ»/-¥ s&ógi½<˜-!‚|:OczF²ðú‘-²nØó.O/³1ûâ™ä¸lœuE…T{bqWïbÕú2\¹“‰spÄT¢mñÒwÒ,Æ¿ÊÏ6R6m#rñà£|ï&6—‡ð ³ë»!""""r Q»oyÁdú¦Çãµ[4TìeÃò•”%gfг×J¶¹¢ˆéB_®®|ë—­§6ù4úÄÇ—\É Êõ²iår>ŠžÊˆ /áªÝ¬}+áìÙ¤Gµu² =Ó_lCÏô1Oì{åË¢³ Ã ÂntÿÞ·÷TEcccÛÜ^¸¯€ô¬¦%|t(""""""""Ò»> ‡ûø‡âMÐá1g$2üŒSqÿz1+Vöc•oWŽJm3°Ðá':\Áî’z¬ÁîVAOo"±9gð“¿ÜÎÌä–{k>ÙD”»+™žÔ|®-"¯Ú$19 &Îþ3¸öÎ|³b3/?p;·ýo#üåZFzuoGjýºUìÙµ˜˜h6¬ûŒÌ>ÔÕT±;ìô0”ÜÁ#pº\”¶ ¢¬›Ã…ÛY!¡J6.úþmF‘>h4g_2–Üø¦™5,ÃĪÞÁò—? º°E“’ÓŸ±çžÏ謦=3º?³~þŸ¬áã5¯±úµZBŽDŒ›N®aàə̂¹Ñ¼¿â]Z‡+¹ÃO¿ÓÅXž¹}k>à³J?T¾Å¿·¼Õ\ÍèÁçóõsúE$ùD’&á 6,zŠeLãëóãÛ¹”§V—vÆ‘3|&s'eâŽô«éÍaÚüKÉX¿ŠÕKŸáú¦i>\©C™tÆEŒíÛæ÷TDDDDDŽk'Ë_ÆçËÞãÍÊo9S:a&îG‚×°sÅrv$LdæÈ$„([¿ˆÇ—î?ôŽÒ³ç#L’Ç_Ä¥S3è‘…0ìËÙÈ=e NHB¯ÅFrn.²N›Ë\÷*V¿÷Ë*`§ÿ¸9\4±?ÑÆ‘}­‘$˜=Ô_l•oOõ1#9ïîéUGt`Ìš5Ë:Ö•^¼x±®œˆˆˆˆˆˆˆˆH™={v‹¿ëj«‰ŠŽ=îõª,¨dÕ†U]:æhg0\ûÁònVv-¿ùÎm¼gÙ‰òCþú‹¤ˆh ì~žïÝò3îù#—÷«à­;¿Ç¯¶Oä–Ÿ_Íì¾NŠV<Äÿ¸“Kx€KS·ñÏü„W3¿Áÿ^{#RìTî\Ç&ÿ0f «á™ÞÈ£ö‹ùÅ-óáÚÇ;½ƒ?oŸÆ½þÃ+—ðÆæd&MH¢UÊšÿ»_.É=ÝÌøXÝçO<ñW\q…BDDDDDä$,[Ïs‹6‘yîÅLÏÔ¬vòå–——×üùÓÏ6µ›nÔˆáÍŸ¯ºêªvÓ¹\. ›&f8Üãuoý2 áÐ9 Õ4IÐaØì™Wù«ªÚ_²%>#¾Ûù®ý`yDA„‘¦ëTü`ΘOÅ^;#ÎAJ{Ó¨ÙÓ™só|äNþú­ùœ>ç<®®„¸˜¦JŒ¨a|ãŽ[¹ ôÿûõó˜1çl.¸é)> Ú±»°ðö_pyìRnÿÚ\fÏû>UÏæ¶__éq„*YûÈ\xö™L?çëܹ2‡«~r%ct(""""""_~J¶n¦*nÃRt(ÒÓ:ÜúùÌp_cϬ’’“ @BVV÷fþÍ7ßìRúƒ3 &ìlÄ#ÓõH¢œ°4㡈ˆˆˆˆˆˆ|‘ôôŒ‡Ç’iBÃã ¼¦¼UÐáÎÝ;[¥o/èPDDDDDDDDD޽¢òâ6·ÛlÏ|ØqСÕãõLMIš #Yvùðti©©ºÐ"""""""""@Eq96·«Ót^·½[ùGxh54 0&Æ$¶Ú—Û/7¢<¢c¢uEEDDDDDDDDŽƒ´Ä¶ƒòB¡QÞ¸Žv´·KËíååGÿ2ò­?ùqsða—Î/5•[ò#]h !5‘¯±Ótõ¾`·ò·Ë“©­©Õ9ÁÔÕWuœ Ù̆‰‰IÍŸ““ã(-­êr]¦M™Ìk/.ÒEé&c-NWËI}õu¸½QíSWß@”×qfW+ôueDDDDDDDDD¾ÀŒv&8LÍŽ|&ÂˆˆˆˆˆˆˆÈÑ;2èè0èht8nü)¦o<ŒqGET)»Ó®+#""""""""r2Žxϸ®¾®Ý´999ÍŸûõØbŸÕ·Åù%jd‘/[¨õ6oÒ¡€ÅÖ~ÜjT‚·ùsóHd¯íAÈ’ýû›?÷ËQ¥<Ž(]‘cÌ"Üâï¨Þb9ÍŸwïÙÞ#å÷ÏÎÖE9Aí;,0dk½¿¾¬¶Ããë*ê›?·xÚîj=›aJffóçÝ{wDTÁ†@Ë Æ””$]5‘^dêRúý; [ü”œÜ¥ãý[mÛ•Ÿ¯ !""""""""r „‚þ.“uX,àÑjxl öÊI–””éJ‹ˆˆˆˆˆˆˆˆô¢0¶£:¾¬´´KéØÕè"""""""""ljÍîlw_ eX`»œÎî—\F tåEDDDDDDDDzIce®ø¦e–“c¼”ÖÔGt\bF:å…]*+àp8Ôè"""""""""ÇÀþ¢r2Ó;Lã Q^~÷ëÑx6Øáö#S2Ò)é`ÐÑ 1l‘Å1®/õêé!—‹†ÆÆæ¿­‚½ñQÔWÖµ™OWƒŠˆˆˆˆˆˆˆˆC+&«éC¸ãéK:tŒ4èPDDDDDDDDDzÖáA‡i/è°§ìÝ«ÕNDDDDDDDDDNtII±X¶Pó¶Ì>Yoâ0ÔŠ"""""""""_2ûK {%ßœœ 5®ˆˆˆˆˆˆˆˆÈ ÈfØš?—•U`„mÛ¿g_Äyµš¦ÐåqÒØàÇëöPïkPk‹ˆˆˆˆˆˆˆˆ|T5Ôç‰&39½ËÇ&ÄÆQQ]¥F”ڕ̆ewe 1óüy 3 Ã0Á²0m6LÓIJ¬ÿÏÞ}‡ÇqÜÿî^¯8ôF… övP$EõJR¢dÙ–lÙqÏ;öëÈŽãÄÉk;±Ä-vâ8±Ƕ,«÷J‰¤Ø{)’ ‚èwÀõÝ÷€ A€C#Aé÷y>nonfvvö¤™ûí š¦a4šiE‹¥…B!„Bñ¾Õ£ÃJoRl„õØ1„ýöWúCt(„B!„B!Äu(==}Ð÷lÎaç9©p€Šë‚b´ÐÖî§±¥H´ûIþ€nEUtMCU@GÓ¢hÑ(ƒ-AÓti@!„B!„B\—:½>Æbÿc·Ë0`Ð!ÄXñ0–ºª däLB5ÐÂQ¹JB!„B!„BLP­-­cžç…³§°X,ƒÁ¸>ãtØðuÊÃÍâêk÷ðúü kè F“§Y¡Ë׉·£ ]×Ñuîix“Ñ„®ë¨µçøºÊyùñyÏwÙ1ƒ‹¬isX¼x‰¦Þ ~­«–c»¶³§´ŸgyÓçS²¤ˆdsw=ÜNù‘}(=CUk¸û 9™iKo榅iX‰â«:ÂÖ‡8[߉cÜ2Þ IDATîÌbÎòÕ”ÌHÅ¢èøë޳s÷QÎV5Ó©Á=™…«Ö°¬Ðƒ©·’Cå_šhËQž~b B}›Åš{]? ÷€ §Óqêž8Ê›Véߎª#¢âÕ¬ž›íâ² á6ÎÝϾ#ïQíœéyÍYHqQ&vƒôy!„B!&š‘â³\&ÜÀî§ždgs"K6ÞGI–¥ïû‘&ö?÷Ûê“YýàÙ«úAL®LŠ–¬á†Y”1FôP•¥‡Øw°”*_ ïÛÄšì+êKˆ–Ó{xgW)•mA[2Sæ®díâ<\Ž{Æj¼Øwì6VcÌxÎ{äcLqQVN5UU8\Ξ«823ófRZQ @‡·sÈôqfäLêž$‘ C!„B!„B!&´P8Ôï˜ÓiÅç Œ:ï˃½]m¸ìžÓú:ý„U™OWŸÃjÂ’èÂëõa@CÑ4ˆh„ƒaBŠ ô>þ ‡QЇ3+oð0{Ã&n™lƒh_[ §önãÕ'«Y¾áv¥š!ÚÊñ·^ewx7>t“Ý*þÆ N”‡Ñz²‰¶Ÿfó oSnŸEɺqgª³Æ×XÁ…€#Þ³ïðÔ[5d¬¸Gîvª>ÊÖ­Ïóbp=÷.HÁ„‚ªêX2sÏÚ’­QZNïàåͯ¢Ø7öüøO>ñ¤éaËf݃뙗4ʨ¿Þv´¢E´Và·_c‹ó~n+tB°–½/½Äþ®¯y€;²0…}4]8Ci] þ陨¥Ë !„B11 kÜ0ŒñH D›8¶ï ³îšM¢áR~eû8X¢Ï/ƒDüí4”äÍ›9˜²‘åæqkŠHÛ9Žœ ½ õðÙØs.5ûxyK%+îá“S<èÇyû·Ùì¾{f&ôßÒvÌÆ‹ýÛtlƘñ÷˜Ž1? .Ž…‹A‡ñRÇòD\£\M!„B!„B!®Ojì@À±:¼Ò`A‡™4™0WߤŒTÒÓR0):ŠE×"èºF8¦±ªŒ ¯ UQP•î rUEUUz‚‡É`Æ™œGñÍw±*µ½ÛOÑüMœkPÉ+žÏÔ³ Oö V–Ì!Õ h^ÎîØÁYk1ëï^ŬìDìfF“OV³ 0†9¶·óÂ[¹in6‰éÓ–sëª,Zï£Â×-iI›KÉÒid&Ø0[œdÌXÄA®²B!„B!„WÕh¥¹­‡sxO2ëf òׯ´$.Ÿb%js šM„­:;}¤ØM´… àó¡…Û±Û-DCAlf•pTÇ …Xsûú‘ßs 鸔ZüHÊ`ɺ%´¼º•?ü÷²‹æ³xÑLò-¨@¸«¯n§0ÁÂ@ë>D‚>Bª­ïT¾b¶ã1Gi޹*G„æÓ8Éâ†Ü @0Ž|"Æa”å¯fóÿþŒÍªƒŒ©óX±r>y®á.A¨£E¢hº†ꤱlÛ+&ß’ŠÁ{”¦ˆ)‰6äI!„BˆëÐ0Æ #ûôPíä,\JÎÓ;ØS6Û³ëÙ{´“É%óɶžî›6ÚÆñgÉñÞf2æÏÆ3VSWÝS¸¡¤’'_yƒßé®[öŠõÌI1ëxqh#cŽW_=ýÅ¢¢»r ûØlÝý$%±{‡›Ù4¦å¹lΘÇû\¡¼œ\*ª*Æ<èpÿþý“ìñÈÕB!„B!„b( è—í>ˆâ:´ÛítuuI#ŠëÞ{• ØÐÞ&U0Z,(ª—ËͤÜj|„B!Ðu:ƒQE¡©#ŒŽN å=س]³® ÖÌ…¬ÿX çNpàà^øín§-çÖµóH¢;]tŒÕ€¢Gˆö[0QGÓ ªÒï¸ÿün^ÝÙBö (t«qçwYÖLVmúi)6”HÎÖ*ŽíØÊË/YßJ²-Ãh°h;¥/þŠRŒ¸Ós™¾æ.–æÙQt.U'È…­âO‡[{^›È^ý ÷ÏOB6uB!„b‚æ¸aøcŸ¾TwËœàéý{ØWÕHmâB6æ9Q[¯Hhð0{Ã&n™lE èh(çÀ»[xê›nŸ‰çš .tº*wð–:2nØÈ¦™)Dª°uËK<Ï=¬_œ†yœÆ‹CÕk¤cÌñê+¢ÛÅ C 7èp¸’’\´´xGU>‡ƒ³³³©®®î=Þ‰`7 tvauØͰ(w§*Oô;^\\,W]!„B!„Bˆq¤ëñ¥kio')¡o@âXš¬&Âð¨óÙ¹{7ßþÇïÑÐØóýô´4þæk±|ÙR¹ø¢W{H¡ÕÛª ®£E£´·wàL˜LcG ápMÓÑ¢:ƒ¡{ލ÷=4¯™NÝN¢ý²Iƒ´©‹¹}êV–ïáå×vòæ¡ ˜Œ[=F]S'Ñ sÌà9£5;•4w…Áu)O=è£-bÂsÅ áæã¼ùf)êÜ;¸q†§÷€xò‰·,ƒ=•Ì‹?-¸R Y¶:@õÓ‡8ÓTLöp~êýѯÿ¶fº#áµ ÛǤÕóåÕ€ÞNésÏsLº»B!„ÒpÇ ÃûÄ=‘î3i”Ü?D ¼îž‚j²áÉžÉ k}Ô½TJyût$]£ÈÃH '÷–a\t7·.èÙº` 7ëm<ñîaªgÝB¾}|Æ‹ƒÍs¼úŠ˜)¬6Å¿gÀhƒØ;\t`7vw¡‚˜A‡B!„B!„Bˆ‰ãÊ Ã ç õËŒEÐ!ÀwþéûÔ74ðï}_.¨èÃhw™›Kê¤I̘¿€isf3wÉbæ/]JÁìùÌ^²œ•·ÞÎÍ÷ÞͲ›Ö’C £BRfÒÈ Ö:¨<^I(e*9 1ÃqçÎbNº™p ŒæÌbV®‰šý)÷i±oAWS\~ÊÎ5qi-Æ(íNÓhÈ$?éÒ0‘Ö“¼õšrVsÇÒIØ”áå3œ²®¤¨ ªã ß‘` F q|µ(Î,fX©;°Ÿ2oT:¶B!„×¹ÁÆ £ô²d²tãÇùÔÇïeQšiõRQe¤S c#ÀÐ1YM—r)­6Œ„c¬,8vãÅŒvŒ9^}E ,ޠè?WºÌÉéC¦Q¥Ù…B!„B!„xÿQ#c‰6øòo!ÿ¸žC}Cûwnù ®¾^.¶è#1ÑÉf#7?—Ë…ÝfÃb6 øiom%‡é „qº)š7—isæ’‚ÃéÁ}¦«µŠÃ›_dó…DŠKŠH6@´ý,;ßÝÏ©ê|ÁþŽÊíf_““©ÓR±)N V¬aŽå ¯>õ*»ÎÔÑî‰ñ5•sôøy¼$2}éTôcoòÖá*Z;½Ô¿·‹×w4‘¾h!“z Œ´Ÿfó [©ÍZƧ÷ßÌG>ñ¤!Нú'*›ð#hÑ0MçØýÎnšSæ03õÊÍ¿¢tÖWSÛá¥õ önÆ’MB\¿ÚÉ]º–ùö2^{êUv©§#&ðR¶”“-QlV#ò3”B!„ÍpÇ ñŽG†f°8pÙc¯(k,×ÙTÆžm‡ñ¥Lg²ÛpíšÌ’ÂÔ;õ»·sð|þpˆÎ¦Óìy÷4Ú¤d8q› 9^ŒaLƘãÕWĨlñ†Öžïžsó¤üæ€+gvø¸mVim!„B!„B!®CšqüËp˜mï›öÒýØñôoùŸ§ßäP}0‘V´‚[7~ˆ‡oCÒ R¡ò'ùÜ—7³ö?棅ã¿P¤åÏþçÏùõ+Çhˆ€)u+ny/ó︛¹ÙÝsïª3Ÿµ›>Lþ‘}Ú÷ {_ñ0%1eá* [Îr6ÞéäÝoñÛ­XR&3sõ½,›êéù1ÍOõ¾œh AÛüúÔ½ÕtN»›Üžƒxò‰/jæ½mïðz[ÏʦæTНáþ¹y$­•£Ï>Á6JøÈ†iÎm剽Mhærf®áÎ¥YÄû˃bÏ¡dÃdÞÃÞ­O²«³{™KZKoºù¹nY]A!„Bˆ 'žqƒ—s;¶S–¸„5³“1Å5WŽåŒ‰,¸‹ I·¸Ã(͇Ÿå[kèÝâ©_p•”âûxpe&,d/»“;­{ØûÎãlk ƒÑCþÂuÜ·$§råXk6‰êûå;VcÌxÎ;޾"Æ'ÉI[‹oÀ÷Ûê[¾Û×®]ÛûØrT7`PF¿eAg8ˆÃ{RËUøË{F®šB!„B!„cä_Ü0®ùû|>œNçˆ>ûú미Üâ%q¥»¸úáHiÞãüæë_ã·-Å|üsáŽÙX»8{èm^>‘ÆG>ƒDJ]ÕÀÃÐyžùÆù…ÿvûÒF–di=³‹—vY÷±õLsŒaQ0ððñÇç‘G‘›^!„B!®c‘æÃ<ýl)YwÜϪ,YÕN|°UVVöþ}ìDé€éæÌšÙû÷£> €¢(èº>îuÌÍÍíSÏ‹Œõ M¤§¥Ä :ŒèFexÏ t1èÒc„B!„B!„¸N¸®Þ¿ Ñè.k ¨c;8P`a¼‰ƒëàЯ¾Çÿ¶¬ã;?ý V&÷,qàÌcá­Ÿ`á­ì‚´•ñî{FV~ãn,ôtWuÞí|nžôU!„B!„׃§OÒž0ƒuit(Äh躎õ£ߕĤCX^Þ‘H£ÑÂ…êó¦1^ :02ú âšy  vòwW+¨QÁbu`¶:º÷èB!„B!„bðùý8m£ßþØhp‰vÐáóöjŽ/¢1ªc¿âߨƦ7å¹­ÌýÔƒ,K|_¥PÓ~~ÿƒå¿Þ=OВ˺O•Ç6ÍÇ Ðu–ß}ùN~Ôs6Ëü,_ùØjòìêàŸ­z’/ýíNrØ9ôÊVÎv)¸§ÜÄg¿ñeî/rõßFÖžB¾»×_x›Òé÷0ÓÓwß¡pEß­–*7)ÆvEš¿Š-ÿó#~òÇ=\-5‚™Ü<Ôù÷„B!„B|€™É\þŸ–†bL tÃ:0»çø&eOŽù~ â'®Ý°=6+mþeååLÉÏvEÊÊÊÉË›<æ  ©-;B—¯õš\8›+‘¬‚yLéÅB!„B!„âšQUMÓúºœN¼>_ïë¶æ&<É}B…B˜ÍýW¸t8\F}|æÉÆsÅCÝ)ÊɬÎõ0hØa°Œ§þî;¼”ùI~ùüjR^ãÿöûütÒOxl`Ngí_ü=ŸXšŽv~+¿øî÷ùË6ÿùX ©áÁ?l®¤>áó<öß_¡ÐÝÄ[ÿúuþãgo±ä_7wåÇÎY|ükçÜßüˆGîý n{€}ø.–ç:û×:sUJ߀@­™í?þ*ÿïè\¾ôógX;Ù@ã¾ßñõžŠëü‡uB!„B!„âªÓPPÇha?«ÑßæmþÀˆ‚q :¨¯û©;˜™ê"uÖÍëN¾ð…Uh{^äPƒFçPŸµ¤±põ*ä&áJœÆÊuÓ°4WÒâYaܳ?ÌŸ|Žß}k=™çþÀWÚÀCû$':´>)+·íÊ>ÔpˆçvEYõùÏp÷Ì4ÜÎdrò²p™†Îkøç „B!„B!ÆKscSÌãêï&l¼^H‹Fðµw7’Åî"1#å*m{¬ë:­u廼t¶7¢E£¨ƒôZ!„B!„BqM9mîAß÷·ÇŸ—-Æ.­í-,˜5—Š ®êy犇Öä&™ŸæØ{M„f90ãbá_þ} h5¼üå/ó,h«¦åÂ6¾¾á¾~Ùç=+üDúåªàLË'‰w¨õ††ùY0(hhƒÔ[1%Q´öþa̓|nç¯øëoý‚ï<>“Ÿßz)ÍpÊ yëiÖ™›æˆù´úxœƒB!„B!„=ÅnAïºôqrjÊU)÷º < ‡Ðó²Ó“Ž;)óê–è"Øå]'öc18¥ !„B!„Bˆ -êó‰ IW5è0=-ú††A 3ÒÓGU†š:{K\üÕï϶•_å¦ôØû›ìI¸snⱟýkRú>*òŠÔ:´D$ÙMÃüì0)2—Ý͆¯òëŽÑ8ëÜÿü<8µV*»Ð§YQFuþB!„B!„âj¹<èðjt«å`$2âŒÝîD¹ªB!„B!„Bˆû›¯=FzZÚ€ïg¤§ó7_{lt…(‰,ýäÿeSÒV¾õ…oòŸoŸ¤¶Ã¿£Ž“[_â•ò·…„é·p“ë?úÉ“ì;ßF—ßG͉­¼u¨0@¸Š²jZý4žzÿøùV´…w²8Àk¨ÏC¨f ¿øéïxýp Þ.ÚkN±í‰ÿâ7gS¸ñ–©¸.K;X¹W† Òqï"-?ÿ%/j¤ÓßÎ…² ZCCç–®*„B!„BqÕù½]17Õ7 G¢ãZþ +ZŒC/ˆØÚæ#ÑÓµ¿ŽŽÖ רÝÛ37ÒÕÞD(è'ö£ `4Y1Yl8fõ¯ÀCqýxüñÇyä‘G¤!„B!„Bñ¾PYYÙû÷±¥¦›3kfïß>úhÌ4®dÞfïˆë¢´è¥PB³ÑJ(Ò=Gø^é)¦Ï,꓾7²Î­šèÐúoŠÑáë¤ÃWNC{+ùcxx5uùZ©;{˜H$WzM‹ÒRWŽ·¥–¬ÂXìnéáB!„B!„âe´A‡í-u#þì'?ó9Ž;6àû/7Þ\þëß.O!„B!„B¼ïuuua·÷]ñp4A‡@Ÿ C 7èèt=‡9™“©ª=3ÃŽ¦VÜ)‰äçäÆ|?à aíÙnc¢ñ¶ÔRW~|ÈUc ‡œ?¹‡ÌÂù8R¯ýÉΰíçÏžÚËöÞVxòæ2}ÙÝ,ž—íºÚ!:BË®ïò¿Ïœ%ñ–¿ãÞÜÍ<ñËwˆÌù {¤ÇU©C˜Æmßæ÷/žæÊ[ó”?ãáO­#éb›j4}wßÞBymš1…I‹î¦äæµä$˜.»ãLƒ¬£|×óìÛ»Ÿó>LîLR³ç0sÝýÌO¯ãÝ+ú€êÈ${öm”ܺ–I.“|« !„B!„b@IiNZ|×E]uø{í*ŠìÏ+„B!„B!>® :¼ŒÀ€A‡î”Ä>¯½íí¸z__tô‡°Ø®} ¢ß×J]ÅÈ‚/ÒuÚ³‡É)Z‚Õ‘01zMâ6}ñ3äY»ð6£ìÝÇÙúø79õÞ§Ùtÿ ${æãü3ß䉽f–}î[¬ÊµQņ›¯‚jIÀåLÆa5¡šœ¸< WŠ8‰Ÿø.wÍàkmœ{ñ»<¿£ì›>ÃÇ?= SÓNÞýÓïxâ'ǹù3_`^š%þt±ŠðåÝßü½5IÝöy>>*.Z¨o+{·WP—Ú%q ›¾øi&›½´¾÷¯þñ×<×nàÃ[G’Q¾X…B!„B‰éšj›1¨—žT7èðàþ},,^|Më/+ !„B!„B1:V‹‰@0<¬Ï­" ^_—sð@u¸º<è0–‰tF¨);‚®i£ÎK×5jÏA×¢«gì¸Òg3ÿ¾ÇX_’AÇÁß³åH=ÚuÓµ x~‘OüݹoÕd\ùæ¡oü;Ü7û«i蛼»» Û‚OrûM Iv:qçÝÂͺ‡´®}ì|ãZüéúÑZ({å¿Ø{!‘|“;W/ 5Á‰5a2¹K>Ä=DaÒ•¥ ªÉMòô•LM3ã¯=I›_¾0…B!„BD¢´Ö·õ :Ž+ƒµ8æØÚ¼mýŽ9¹B!„B!„BŒwâÐûÉ7è  t=+ŽVTócPm¦a[ëÎ Ç,¿pÐOkCIy¯)n2.'m÷S\8t’Ž…éxBçØóû²ãTQ̉S(,yˆ5Ë“8÷«oðÚÙ.vÿÛ'Ø ¸þ?4sÓ~v=ÿG޼WCÈ‘KáÊY³z> &…ð…gùã<‡?-sGí¬)³˜}ǧX5Kãä/cçû¡U¼ø/ÊÊAi¬ Ù§‘¼ô¯øÐ]ŽÅªãÊ™8 ÁÚ]ìzùiŽž®%¨[ðd¦hRøèw¸}º‹ðuQæý# j Òzæ0-‘$¦Î›†ë²P]súB¦f¼Àöò=4øàŠ+Ý2Üî¾%h-G9|¢sÞÇY0ÕsE4° {æ”îzú~N{i9µÓ Ü3’l—/U!„B!„b¢ u4n©Àß^?èC³Šªbu§aN)ÀìJ^!ÆØ‡N7u¾Ža×YU‡~vÙãêdèóµÉB!„B!„bt´v™¦«Ó‡Ýá·:Œ(ð0Ñå Õ{©ò)èP‹Fi­¯ó|[ëΑ˜>EQ'\G2»'á´@£·Ž®¸Xg>ÊÛf ÖqòÙæ‰ÿÀŸù1 1¶DÖ;ñÎo~ÂQãíÜóØßâ®|œgŸø1/þŽû׿woó 4Îeí'þ‚l{-û/ìzúHÏþ2sÈ7|¡¢~:¼næ¯þ(ó#h5ÚЩãm“ÞãÍ_ý§”Üô¾ÉŒä Uoþ3Ï×ÒS×ã¼;d]û—9ð•káä¯>ËI@ud’5}5Ko¹üd Aºš½D .ZμɖgþÈÓu¬ÿüŸ15¡{B]CÓô+]×µwâ2žt\Dô¨† 7qò¿¿ÎKïùzßµ}‘}¤§ï%®aÓ?MŽÑ‹·þ8G_þ [ñ]:?ù׬)t£È÷¦B!„âDFèj8‹¿á,º•#§¨ØRóqdLC1˜Ç¥ˆpK+—-Ááp‰D†Lïp8X¶t [v“ÀC!>(æÍ˜„ÑFUTTUEQµgPM6mïÕÁíÄÖyC46o§4 B!„B!®+Æp˜ˆÉtÕÊkmm%11qt[-7·4‘œ4±&=}Mq§5YlèèD‚¸Òw¶7NÈÀÃP{Þ ØÓsqš`5¥¯ý†OÑÚuiÛé lëŸþ–vBtQñÄ—ø—'.{+¡…¶ûVT´0‘ˆ>üJXÇ6/a¬8ô_Ä/<¢ºÐp,ÆÕûÚBúÜõ¬®?ÊÞØÏ‘².ô`OKÀ¤5ÐÒá‡ËÃí4û`KÁmsÆ™®ÿ-gI,ÄcÛÌ…ê³t„fc3§0ãÏ~É Úð&úɯhîßú,n<“W°b} U?ý=¥;J)ž² —D !„B!>@ºêNa‹¶1»xQ\ÛÁ 1@ @yy9µ:ÎIsƧ¿¶Öât–Ç?áp8v4à"¢‚>ŠgqÛÚx<ÖÞ×'um¾!?§ë:JŒ-uS%l‘Ž%®‰î@CPÃÅ`ËÁ‡ŠDA5Rç3’¤(èŠNm8gM O?³ƒ[ïúè7s9/?þ"ï]~‹\dM›ÃâÅó(H4õ>¬uÕrl×vö”ÖâÓÀàL#oú|J–‘Ü㬇Û)?²¥g¨jíù~0'3méÍÜ´0 +Q|UGغãgë;ÑYÌY¾š’©XÝqvî>ÊÙªf:50¸'³pÕ–z¸ô³ÃPùÄ›ÐôŸ/åàñÓ”WÔâM\Â÷/#sиmŽS/ðÄTîÜ´‚¬HÿvTé¯fõÜ lÿ³nãÜÑýì;òÕÞ(`À™žGÑœ…eb—`„B!„˜p¢-Gyú‰-\õ=nͽ®ŸF¿} "ì}êOl¯ñ`±%‡[º—Y WÌý…ØýÔ“ìlNdÉÆû(ɺb"ÒÄþçžb[}2«ÜÀ"{U¿1ˆÉ•IÑ’5Ü0ëŠ1ÏÓCmT–bßÁRª| ,¼ok²¯œ7 Ñrzïì*¥²-ˆbKfÊÜ•¬]œ7Șc5^ì;v«1f<ç=ì¾"bºšA‡‰‰‰À0V<ŒèÆ+¶¾<èP×eè´ü)SÆ·!ƒþ¸Ò¥M.“– @sí9š«Ï ù™Pœy_ÝoëfÊwï¤QϦ¸x*´ü5om/'åÖ¯²©dÖú§xüߟãbxŸ¢*=_½_¥X=.L8ÉýðwÙ¸ µßªyáö¡«Ò?ß VG##µt¶uÅsEðáØÔuðo|½OyžÂbÒÌSsè$í³JH0tŸe°v?eõQÜó—æ4a‰+]ÿâÔ¤¹ÌŸ™BÅ·Øb·-Hc8seªÑ†ÁÑ`€ˆ²ä¡B!„âƒ$ÐRżŋHJJŠü$D¼"‘‹…}[à!º×J‡—‹F£qíî¡r˃¢F0tàá@÷Škú߆ÎîÍ/6¼ØWu]µ‹®ŽVì]µhÖJTÃÑuŠzo]ñbð0{Ã&n™lƒh_[ §önãÕ'«Y¾áv¥š!ÚÊñ·^ewx7>t“Ý*þÆ N”‡¹xËFÛO³ù…·)·Ï¢d݇¸3ÕY ãk¬àBÀ‚ ïÙwxê­2VÜÆ#w» UeëÖçy1¸ž{¤`BAUu,™‹¹gmÉÖ(-§wðòæWQì{~|‹'ŸxÒzçw¾ÄKÇ£,ZÌí+î ÑeÃ:’ezÛÑŠ ÐZq€7Þ~-Îû¹­Ð ÁZö¾ôû»rX¼æîÈNÀöÑtá ¥u-ø§gb—./„B!ÄÄdËf݃뙗G„1•%úK.?¦upêÕ§Ø™F–s Žˆ6qlßfÝ5›ÄÞ¢4:Êöq°:DŸèºËÆ ; åysÇf¦ldy†yÜš"ÒvŽ#gd/(F=|6fš`Í>^ÞRIÆŠ{øäzãqÞ~ãm6»ïãž™ ôo±/öoÓ±cÆwÞÃî+¢{>!à#«p õêǵ €ÍjøÖ7£+ƒûu;%¾UïÊËÊÆõ„#¡àiLfkoÐ!@rF>­uhÑÁŸ6†ƒ¤ûèDƒ^|-ç©ØùG¶è$ûÆÏ²4ß D¹4ßk@Õ;i¯¯#½x±-Ø’0G«i¸PO ÅDÝù.R o£(å_8±õ5NgÝKA²™H[%çk {Öt†ž*ޝ'æ¬:HU\ÓoeZò ޽óG³fVZˆ¶æN¢=ŸM(m]/ê¢a÷«”ÛçS4% »ê§µl3ÛvV §ßNñ´À”¹†’•{yfËoxåU37¯™‰¹i[ÿô2M®åÜvÓ<œ oº~͑Ĕ;>IqýØÿøßã¯ÿ(Ë‹g‘ꂎšót…c÷= «ù4'^{Ž ÁTf-›M‚,î!„B!„ø€Ñ"!RRR0›ÍÜøýR|ˆ4ÊsZüûzãûú­V+¹“'c0Ð"ã;ÿoKpMÓÆ¯.F†Hÿú *Mµ·—ÙJ ›CLXçNœ -3UUQ &£E5 ¨ UA×Âü:›PU…PXÁ­âTΔ´Ôáh0ãLΣøf7¦ŸfçöSäß3—$çTònžÏÔ–ì¬Ì¾xƒ{9»cg­ÅÜww1齿qðdáÕsloæ…wsÓÜôîß˦-çV­?íÚGÅÔÛ˜êT°¤Í¥$íR•2f,b^éóœªjgiV¦PãÐù˜ã*Ë_µ—Í'4æÝµÙÖ1zZA5ÚH.\ÈÒ²2¶”5á/4Ò¼çmöwM㎫ÈwôL~Z’˜T´”IEÒ×…B!„x?‹4Ÿåpµ)·æ_PØo–‚´™Ùpî ª X—gï£j8¸¯GQ¶êö˜c£ÍCVÁ4rVÓˆãxhJ[Ƚ÷]¼vÁ‡¾‰5Ÿü¶—ždó_á…(`J£`Ý_W@qì|ï¿1f÷´Žª{7>ú°½ô4;þÞÒŒXm::ÝËt*®ù£¬ëÅÿJyi©9Éñϱ­£û‡)£'Ÿ¼EŸå#7–áè¹ÞЛɷ}ƒG&¿Â»oþšÿÙÚ†fHfÒâGxè–5d»LÃK«Ûºç³æ3ß%g× ØÿkžØì% ¨ÎLÒ§®fö²¬´÷ïÆ$Ò¦,bÝgïeN~2w(„B!„ø ²Z­˜L&|yYÉÒ c¬¢¦™¹s¼¯Ïñä©S˜Í櫲]÷pW<ià¡ÓéÄçë^±0íÂlèÿth¬ C€htð2/¦{’¨ok!3)Ú– ¹YÄ„QÓÐDeMƒJ$!¤š1;œ8ìv= (€WÍ#bF4!¨„Øuzµu äeÙF^°1‰)ó&³÷Í3TµÏ"Éá$Éà½g¨K›M†­ïwŒî«ádµÆ¤ÕÓIà÷­¨·–óŠ ’/û1HÅ=t}'-¦:cÔ9À‹Ý„g>ŽxÊÒ¨)­DË-an–uüfÌ:k8~6@Öòùä:dæS!„Bˆ?ÕÇÓ’0‹³[ç\Áœ6›bS¯ï)env1i¦M'÷pZ™ÎͳììŽx¨G uµQul/ç˜Äº4Û5>_gæ 2ÃÛØ¶+…—äa<¿Ÿý­ Ì,IŠ8V㟌`Œ³l1!äçN¦¼òü˜äÕx8’ C fÐaÕ…*r&å\“Æ1Í  iª>KJv!:ÐXu-ާÍMæk¸EŒu*7|ùwÜÏב5—y|›y À1âþÅWO)¦äãÅ”Äṳ́ <ü.;`#ó¶â+·]:¢oßÏÅYÇôå¬þärV îÍàotöl‰¢`V]ê,émüŠ6ÆÑ¨ª¤Ù÷qïìûÆ&]Ìë–EáÚÏR¸v iq÷!„B!„ø 1›Í²Íò8»y×’¢( †«ržWkÅËA‡@Ÿ C‹j$¨ÍÊ õm-t(&œ´i30´4¶ÒÚÒHZj F“]1ÔTEÅèð ‡ÂDu£ÙLIÉ L&ÑQ®2jMHÇ¥4Ðâ@RKÖ-¡åÕ­üá¿]4ŸÅ‹f’—hAÂ]-xu;… –ø"A!ÕÇÖwåYÅlÇcŽÒs¥ßͧp&’Å ¹ €`ùDŒq”ꢾ%@Äx”—~ýµÞ(¨2‹Š¹aål²íÃÝKG‹DÑt -ÔIcÙ>¶W(L¾%ƒ÷(M;SmòÀµB!„×#5›ÿ÷glPdLÇŠ•óÉs ½³†Ö^Á¡²“J¦‘2ÔZhªœ…KÉyz{ʦq{v={v2¹d>ÙÖÓ}ÓFÛ8þì/9~iÖ„Œù³ñL€Í>T÷n(©äÉWÞàwGºë–½b=sh€±/mdcÌ«ÕW8\.Úš[â^8p´A‡Ó òyï\9pÅVËî´:šF}B9“rGLFP(„Ùl¾ji²9ÀÛ2dº–ºs´7žGG+èÀd±Ko½ôMDÍ)¤º­ÒB!„B!ú¸,æ°©¨i–cN«‘“§N½¯ÏÑf³¡(ÊU `½Z+d° Ãh(Œa˜;›‚­X-‰q¥­­­•JŒJfff\éÚÚý8 V“‡#„5MÓP `P X¬"Q ¡P˜@(B$2º{®û»„îwP°f.dýÇŠh8w‚ðÂow“8m9·®GÝé¢ú ù©=Bÿ…Hu4½{ëè+ûÏïæÕ-dß°B·w>q•¥… DtŒ Ùß°–ì$;tÖptËÛ¼ü–MwÎd ´X_<픾ø+J0âNÏeúš»XšgGiPº¯Ù¥o0.lý:ÜÚóÚDöê¹~¹=„B!„˜X¬™¬Úô)ÒRl(‘ ­UÛ±•—_ ²þ¾•dºîW˜†SG¨±rwž;®‘TwËœàéý{ØWÕHmâB6æ9Q[¯Hhð0{Ã&n™lE èh(çÀ»[xê›nŸ‰çš .tº*wð–:2nØÈ¦™)Dª°uËK<Ï=¬_œÖo#è±/U¯‘Ž1¯N_ù`ëìòâ°»ð¶ø®ênŃ»Gò—‹ C лÇó•A‡!=<®'çt§ÐÞPßœFtx½OªôÚ«!xÛ`™¹’F[é3¼{¬çÌ™’j’öB!„BÑK5šèììÄétòÊÿÉ'K£Œ1“ÉDJJÊâ\»ºº0šÇ÷¡Ç‘¬x¨ëúU9Ã&(ã :„øƒÆ„-#-m>tMë NW Ì&#ª¢ê"­;¸WQPU#~¿ȭƇò5Ó©ÛI´_v?ì¤M]ÌíS°²|/¿¶“7eðÀìdÜê1êš:‰f˜cÏ­ Ø©¤¹+ ®KyêAm[ßû6Ü|œ7ß,E{7ÎðôþO>q•¥0dΜÍÔŒžõÍy,X6Ó¯œ¡Ú;“DÏ0Ö'ìýѯÿ\º#áµ ÛǤÕóåÕ€ÞNésÏsLº»B!„’ÁžJæÅµ½Œ\©…,[ úéCœi*&{h2½«š£'½¤Ì›EfÜÓ4F’g,cöÉgØu&’û§“h€£‚T“ OöLnXë£î¥RÊÛ§³ éEFZ8¹· 㢻¹uAJ÷X®` 7ëm<ñîaªgÝB¾}|Æ‹ƒÍójô•:‡ÝÕ=çaÒ¯YÆeMÊ‹A‡[Aÿ¥ÍÊøŽÙRP &´èØþÐ`4Y°9=Òk¯=ØJËùmëwø"`ðäS°êKÜ»nñ5Œ.B!„B1eçä³eË–-[ö ŽãÃï÷³uëV’Ò²喙á¬zh0\ÛÉ)S§RvæŒtq]Q³Ù‚®ë½ÿEAÓ@Ó5"‘hÏ10 hšŽ¢*8ÎÑÝÿZ•Ç+ ¥,"'!f!îÜYÌI?ÉÞ@͙Ŭ\¯ì?HyÞZ ýöTWS\{8~®‰Eé™=+\Di¿pšFC& ’.ýi=É[/ì )g-—N¦ /ÕGY&'i QÊ«ÛæÛ¹Xº®ièŠã «ZhD‚a01ıø…âÌbv•ì§,ÿF¦¹drX!„Bˆëz¬¦0¨†!Æ QÚΡ\ËamaÒð‚š,™,ÝøqæDMØí¦aÔKEQTå6N4€7 c²š.[áQÁhµaÄK¬gäÆj¼8ÑŽ1Ç¿¯ˆ>#îHÕ8öAšIi ´4´øþˆµh5މO‡C!迊_TŠJrf>Ni¾ÉÙ…€tè«r ÝsXõè÷X%M!„B!„b“ gQqö$¯¼òŠ4†E5•7ü©3x¯!2N…(hš†Á`  ™Üb± iŠª^³vMС#ÉCóùjé\âªëôPUUzVCe$…Ü v£Ž¿µŠ£ÛwÓœRÌšTóÀ 5pâH=öéw“ëþÿí,\ÃËu¶œçð¶ÃøR–1Ù} v²¤0µÀNéîít®dV¦­½‚ýïžF›t#ŽX'›86ãÅÆfŒ9Î}Eô1A‡À A‡0ŠÀC5Χ­[šš¯zczÒsik¼@8Ø56÷·Ý…;9[z©B!„B1ÁT´éäÍcݪ%ÒbT¢šNySˆ²Æà¸•aKH§¡¡ÌÌL’’’P”'Ðu]Çï÷ÓÐЀÅ6¡Û.5%Ʀ†~Ç;[Ú°:Ò¹ÄUg²Ø0™L¨=«V(Ðï~Ó/®m¨=itø·6¶qüÙ_rüâkÕAÆÔ¹ÜöÀ| <Ý+k芊ÞQÆöwÒ NRsò™ÇÝÌÍîÞ5Huæ³vÓ‡É?²Cû^aï+>¢¦$¦,\E¢`ËYÎÆ;¼»ã-~»µKÊdf®¾—eS==Û3û©Þ·“m!h{ƒ_Ÿz£·šÎiwó‘ÛóqO>ñ¥±ç®àî5{ضÿ%~õf'Qc"S­åÞE¹8@kåè³O°>²as[yboš9œ™k¸siñî–¦Øs(Ù𠙇÷°wë“ìêì^æÃ’VÄÒ›îc~®Uº¼B!„Œ‚jæ½mïðz[ÏGæTНáþ¹y$Í˹Û)K\šÙÉôŒ¢h/ÛÃQo%3Ó—0ª+ÇrÆD ÜÀÆE…$Ž[Üa”æÃÏò‡­5—ž¿zêD%¥ø>\™‰ ÙËîäNëö¾ó8ÛÚÂ`ô¿p÷-ÉÇÙo¬5›DuŒÆ‹ýò«1f<çG_£ÖLêèöwioj'!%!öݾvíÚ1Û=¦­½O‚»÷µÍéÆïëè—î«?~vÔe>*ï 9«ä¬)}Þù}TÚC4:º'Ô F9EË0[ûn–Þ\SFsÍYrg¯ÄbuJoB!„B!„ u4ª=JvVfÏ*lƒÓ4êšZÌYó0»RMûƒ/nóúÖ65™2ú Ç×_].¾3?þ8<òˆ4„B!„B\Ç"͇yúÙR²î¸ŸUY²ªø`«¬¬ìýû؉ÒÓÍ™5³÷ïG}tÌÊ·;tù:GôÙ¸bC½]^\ö¡#½<èˆtxµ˜mN2 æQsî0Z4:¢< FY… ú !„B!„B1\fw0—ªÆ2‚ º¯«¢`u§a‰#èp0ÕÕ5dgg š¦3Æa4õ;>A‡B!„B!„}…h<}’ö„¬K“ C!F#''‡ªªªQåqeÐaS{) ƒÇÊ)ŠŠ®kñÆt˜‘œL]só„j\{B 93–QsæÐ°·]¶Ø\dÎÇd‘ C!„B!„B16Ìīc¨ C fÐa,)©©456ÊEB!„B!Ä(˜É\þŸ–†bÔFt˜3c>U'†°Zút ë*@›¯}Ô'reÐa[gwžgΔõ9ÞÕÞzUØbu’7{%©9EŒCGJMÒrg2yær :B!„B!„×µNo[ïßAÿÀæ:’’b·˜.%Ætèóù¤á…B!„B!„˜€.ý‚/Š ¶SËeŒg˜WÒãèÎsêÔ)}ŽÛ¯zƒ)ŠJbz.ž´Éø}-t¶5v ‡ƒÉŒÅêÀ‘ŠÍåéeB!„B!„âºçpyzÿ¶Ø~ȶ³¥%æñ`8<ì2N§4¼B!„B!„×)£_ìœq8™¶·ùHð\¿‡Š¢`w%cw%KB!„B!„ïkªÁˆŒ:¿/ˆÍi¹jõÞ¾c'ßùÞ÷iljÖçÒRSùëÇþŠ’Ëåâ !„B!„B‡Éœ?wnÀ÷ &|í±NVã)@¡{ùÄxƒm6×uÛ˜]¾VtM“^%„B!„B!®k£ :ìhnqÐa(:²9¶ï~ÿÃ:hhlä¿ÿ¹ðB!„B!„BŽ”¡cý :´̨µOÐaZzjŸ4q­x¨ÇØzX%Œ†)fz¿ßÛïX Âj4Oø7™­TžÜ…;9‹Äô\E•^(„B!„B!>PÌnnF·kˆÙ0²yµÿÏÞ}ÇGq ÿÍl_­¤UïB¢w ˆn°)¦ã·$N¿¹‰“Û±Sü&¹Î“{§øæ¦ØNlǃ1ÍØ¦‰Þ;*¨wmŸ÷ÐJ»¢æù~ÌÇÚ)gfÎ9³pFÏœ§¤´€[6uj¿ácr¸PR"w“)+/ç;ßÿ¿á¿‰Ž’l4B!„B!„×C}Y]ÀmÜî k›å¯‹:w6ýåàÅ’ ¥­¶érT]{A‡I‰É­>ŸB!„B!„¸ñ2{&Ü&¦Å¤F¥5s IDAT„WÒ{ “NÓÛµGV¥E…Ä$4¨Ùn¹e*WQTz æÜámx=.émB!„B!Ä ÕHiî[¬ýt=ç+ݨáÙ ýuÆ Œk~Àá«?Îî¥cëþ|º82¦|•»&÷#DÐpWìcÏšwغ»€È»ÆýSz`èŽSÓ\T[ÅÆVs¬  ‘Ùw3væúÄYPjv°ô·/p²îâöæDúLý&SszaiçµP_ùF–þc Ù_|о‘J›õ®óËxïOoS7ð‡<|ß šÞ3uráÓŸóæG§[ÙèñЯX8(*ˆ:juª,aíªÕ䕹PB{3hÆ×˜0,£r}êà*¤Ómí:ÿ‹ß<Ư³„ 5åèïý9+Ÿ #ïТnÅ€Aë8 HЇ] :šƒU·TCŒ2O’+„B!„BÜ} }üsÒÂqž\ʇ+^áPÂcê)üìïìóMaþ3c«ÚÄÚwßdW¯1>Ý (xkÏQ~'“ÆoæhÀ£i¸Jw³{í2ö8³ç·yô±±„µ‰åñP³ÿo¼»ô©Ó¿ÏW¤aö”p~ï.ê<>š7Ì=ß}’,[=•§>áãßæHŸ§ç/ÎGíÙíÔG'Ùî'xÈSÄÑ7áLЧm S~Áü»{al³.Pµ¾~ŸÇJÙ¿dfO;®¼•,_ö:GÒž`PŒþ:ÔÁÕ´OÇmí¾ð +ÿög,“˜ý•Géi>ϾջˆœõdÝ®A‡ ôM×ÖèlÀb²vK±q)I\È/hþìõªèt¾ÛèKG‡ª€¦i`Ibü=IÍ«†LÃÐÅ¿çL¥üÝm'Ö²²4›oüt}cTˆ™Ê½Ã—ðëÏNRý0`Šeè„q I3‘Œ’É«9KE#¤·wK˜¢ÉîŸAL„‰˜œdRS.­ güœiüsËV k<e¸!Uväè±k²­B!„B!„hÒ™ CÀoÐa ‚Sƒ<쬲’r¢c£š?[õz<iy!„B!„Bt‘…èa÷}ñ“53‡Ìпr¡Ê1À‡Ç¡#¬Wâí¡èBú’žK£¦5—`N›Í”4'>Í¥ãpõG_cùz™bÞÔhBÃí˜ýŤÕeûºÍÔþ‘4MÞ—JÆøTÿEëmDd #þŸšø›‡ÏWNá Âö&Tm{nµG–°Çqc‡œfç¹ÎÔaà:ºÌDäÙD^ªý´$…¥Áé¥Í»¬×¢®²}Úok'•Gc¼óf•ÌÙ U„—¾Ã±Ð{˜“eçv;ì•Ùƒ“ǯ˜qNùʺ+èhtÜ^A‡@}é)JµH¦FZ7eûVòòßÞfù®ó4=Þg–O󻯣ª€ŠóyzÞxžn±Ü>¦Ño*d^‚NÕ ¯ŽÓßåÿ^~›u§.6ð¦ßÀ:Û¹e“üu%„B!„Bq›Ë/*¼v‡-ƒæ Ã ÅÅÝR¾Á`EM£®êFs×íɰuUš~V †ë—>:P𥛥Ì[ý|.ŸÃ÷H,XÚAZ©À)¬‚á?=V×÷Óg9¸âe6í<#,›þSeüð4LJS¾f©Åºùú‚+'Pªµ@ë¯}tÜ>Á¸ÚôrÛ&Ðþ®!øÔm­¿\¯w[!„Bˆ[›¯6Ÿ"göKãòPÇÜò÷ÿfiÅdks9~sRB:_¸§€£÷Qߨ#÷ŸëøÔAò˜¹ûî1D\1±™ãÂn •þLʸpà¼]U”ü„ÃuñäDû!i5'8VAï´¨¶;O°ç³sÄÞùqŽÓ~övPüéOøÝ§€>š´±2uÚ("ŒJ×êHóâ®+âìæÅœÒõcV´©í¯AtWû´eÂÞ;“Æ—ŸcEØÝÌÎÚÃç;- {h˜Ÿ Ï[ÓÉãyTVW!_WÃSDîòm4d<ÄðD®3KøéO߯þÐÓ¼ùÿ2ˆöä×ßù}‹Ð|p1Ñ`$,åNžzéY&F·¾“]yïq­Ëó§jןxòN3þ{dÅÐD¬VðøÓþå›îw?ÿ”TTs¾ÊÑJÿ´XÂ-:TU¡ÁňÇãAÁË…“G9{ú<>¯>ß)ý_!„B!„7­¢âBâ»´¯êSð©Z·œG‡‡á¶XªëJºõÂãâ㻥U§ÇM]U)ΆZŠNï»! i ‹FÕé®ÓѤYºiÊlâ8õw–|Ç´/O'¬h1ï/÷0áË÷“h¾6çã½ðK1êK_"õŠßY¸ò/?®ºýíÚžxÎJ+ÕQ «öë$úÒî¦Çê@{ûy‹9ôöÿ°MÎ=O|Ÿò¬[ü;Ö™Ì]"Q;Z¬km~Õ×ìõ(ÕZ õÝXZ¶¾Ìª¶RÖh!íÞçX8"¾õ/ݶO0åþ„‰W•^.PØ?à5t&u[«–¼ê¶ðÛ…B!ÄíÉs#«> ¶ç—èÝü? ôá„Z¡´º˜²ÒJ\öj\>ìúNF”Õås¶B%aü—¸c`,Ž£ìxë¬ÙšÌ‚ ©­^ñ4”â1daÖ8)YÿŸüsåI<€š0‡¾u?‰5{YþÜ.î¥Ã>ôK„è5Ú¾I©Qw6—š°Q$Ù¯þ§³à'ÓÁ{CoþeÌ·ÉŒÔÝV·Èõ :쑚BÞ¹|Bíj«¯ºÌؘJJK>&§ÓûÆÅÆ^õñ5O#•…‡Yûú‹üï®4ûí]ô0BC}U¾p¤%i¨çÔÖÍ­ô’uñÞ³Øí¨•'8^TIdãi*b&sgèxñ÷ïò•iô‹ÑSuz‡]ÙŒ¶:‹¶å•z}mža5V•Òhˆ%=-›·„Ý›wRÐxcûÞÓgRU]Ô¶öðpÖ®^Ùíçàõxñy½Ô54RVVŽ^-Ǧ)hšŠªèðx½ 4/¨ øEQ¸½æìB!„B!Äí¨«A‡ÀUœ#1ér–›Ã2:tX[_Ehˆ´„Î]óJŒMí‡Ç³G]å iD‹-‚¸ô~×Yº‰Êôز¾uãΧåñ½Õ9J°i¥ºÖ]LÕþ~ž’](K#ç±»HŽP!j“§biî>ªûN"B×™Ôb7êú:SN TkÖwc}8Ïslçyâçÿ7÷¥7RÙ`m3)A0í¸ÜH¢ï!¶Ýk &uZGuÚñþ¯¡3©ÛZ»~}S!„BÜÒ´FŠ7ý•-µã˜¹°?ÖK1kޓ侻 å®gy0ÛŽâ-çÄÿÃú}Xxwï€/‹µäu7àµö¦ï ~D†¶! ™ð§só¨—JËx@9ÕQDSÆ`±Á÷&6½ ·tiÕå ÃsÏwŸ¤­Ú²ÛÅO¶¤qŒ¹{?‹7¡zbb<¯#} îv,UyÙøÁ¯øHù13D¶ ìî:¨Ý÷<ÿxc/úžäüÛOlêRûtÐÊÔ\ÌÏ&Gå²ø§ïQžñ(÷>0•hãíyëX­VºµÌKA‡@·<óÔ“üòù_SRZÚ©ýâbcyæ©'ºvP÷y–=>‹eÍ?š~“çñó?ßKNŠɜǷgå¹ÌçeO(gÏ¡o‚×ÅTËïåÞ¾ÏòÂ#÷àÌÓ/ÿ–‡þ º—þÌü=^À6‡ŸûO‚ ©¼²¼'>ñŠ-TâÇ|¯lŽß=2“ŸÄûî$#òâˆÚsŽ%•ßñ-^{qiÚÞýÎWù_ýã¼þâLR<'yíÛßàï¡?äŸÿs' ÝõN²¢\›m;Áãõáñz1ëÁàs0b@?ôª‚ϧ¡áC5P} :¼Š‚¢]<Ô`¡òXùÖrŽÕµü" %1s#F ¢g„¡¹_C¶n"÷pu>ÐÙbIï3˜œ‘YD]ü®ÑÜÕäíÛÁ®Ã'ȯt_| E権Ü943^êò÷±aóN^¨G³%2`ôr²cš3œ4d˶ýœÌ/§Þº°T†Ž›È½ì-‚±•Ä6žR¶/~—M¼mëÅ”Â]Ì¡_x{_Â5G?ä]1Ì\4†DOÛzTCâÈ> ã±\*Æ]Åéý;Ù±ïµ^@‡-.¬Cž•€U‡B!„â&ã­ØÏûï¬ç¼«õrsÚÝ<47“0#WgïaÇîÃä×…3tÁ"&&™:Ë—°mñ{l)`äüä$^±­§Œ,fã…(&Ü7aÖü6cChY#'2¾_L'2v^p׿¢âx.Ÿm=ÌÙ*'Š%ŠŒc™4"P]ûÏ·ºg¼ØzìÖ]cÌ`®»+}E\?góòIë‘Òü¹eÐ!9UXXHbbàHÉЦWu¯GÐ!€Þh"µÏœµ¸œ ×µb&+&Kè5{8æ÷Ön‘fÉ•÷K–aÔsº$‘‘³³)Ü£ožQ°îà ,Ù>†y_¾cÞ?Yº²›îGN× ‹¾ƒI|! –+Êü'K–_ÀÌ!Nž×“8ú^‡dûºm”›ú1ê'§w8Šæ |Ï›|´r…5z¢†>ȬywköPsh k>\É™ 7z[¦ØM_-fLðìcíKϳ·Lc½&=Ê´IÑ]‘JÊqŽ+ÿÊçÛORﳑ>ãæLê¡ÎÿþfÀWwŒoü€%' ðF gÂ#ß`xrHëOÅ&VüçÇÔ» „gÎdò‚ùôŠ4´©çæÖí0­TG)¬ÜíÖ Ðaz,­®ýzêh?gÅ \áÈo~À§'4u!ÛOSãœDD2Xµ.]¿>pS{ìC>þ`§ËÜ(1wsï·õ? eÀ4b—µMµÖ¹õ]®‰qœyýyróàŸÿÁAsî~ü„{¿Õ5ΘTÙ¹öñ•p¨M¹O“Ôá5‘:­Ã:íxÿÀ}¬ãý;ìÛò×g¾€=¯½>؉>&„B!n!n*÷¼ÊÊÜîøò,-—Ç徺ó{šloÏé"‰ï{w9N:x¨3†apSVã&=äâxÑçCÑéQ¯x`‰J¼ïUö-!yX,þi«èC‹ïÏ€ 8¾ä5ÎÂ[QjNr¬<œÌ1WÌŠ®Q›·3E‡8öÛ/²¾yùn^:<˜{¾÷$Ym²(Mÿé è”®Ö‘‚Îd'*k*£ïâ³³¥¸Dbº†u:è)¾=¨{ڧݱ]õn6o¨%{Ñ\»Þ&ù¡_0èðrNçj¹-ïžî:¼VrÆŒfÕ²¥­–ýååWøË˯´ZöŇâÛßüÆÕ0j ¿\¶‰_ÚÎد¿Àʯ·\xùøŠ-›‡ž—‡Zí4š/?7š/·)l//]Ôú4r~Á²‰þÊ»÷ý…­ï¥ æýèæýÈß §2ÿk˜ßü9{ÿô ÷6ßH½xä¯ky¤›Ûoíª7¼)ІA¯#"<œQƒB ³¡¡àÓ4TŸ†¦A§àñùÐÐÐhšíPCC§òecþó1-Õ^uU…ݾ‘Õï0zÞt†ÅÁ[ÉÁµ«ÙæÎfò3H Si,=á£ã¯Ý›¨Á\›³p+ן%~Ìl˰£•dÝÇëø4l³û†ûÉžØ]ãŶuÚ=cÌN´i'ûŠ,<ÜFuuS”m¤ÝFEU]—ÊitèOPOQ‚ :¼O‘0YÃ0Yo÷×Öi–”z3>·BÚ‚_2Q+¡ºá…íU‘Þ„·ÑAÜìg™ôE=Ek^`ÓçÇésï@¼­Ê4ászIžûK¦ÙO³ñ•°»ß£Ì|ò!¹¿e͆} È­t¶¹øè‹Ì ¯àè’Wظ·³{âãûˆšùKff†Qðï¬ÚÕö||>+óžgLzúÊm|òÏ÷ÙŸÕ›ÑɦVרpb;ÏöàÎ'~Hº¡˜3§¸¼ kgÿ‘@µ?ö¦=BéúÿfݺÃd=2¢Í/NTÛ@Æ?ö%z‡ÕpfÝÿòÙ’H"¾8•(½ÿtVí§•ê8…•Z²¾ƒ:é8=Vûõ¤v¼ŸÇ Æ -þÖQ 6t¾3x½]ë}íËãç]¾>oéç|¼l‘3~Éô #ù„û §”F¬åßÖþR­ubýUÕÇýð)õ ÷<ÁèdÞÒu|pÅ5ªµË;×>j,ý®(7ð5J¨N;Þ?p °»}»ãdÜþúLHeû÷Xð}L!„BÜ:¼Ôzƒ×T1ðáï1 ÆpÅX/‰8Þ'wÓ."'ôÃRÝ 0N¢Óad¶T2"ËØ²æcâçL Òu€íë/1!Û•m¡ý¸crï,{žÕ _dìÐÞ„øÊ8·wÕ  McÍMCù)NnÞD]è,ÂLWŒÿós©² '¹Í”è áÞá;Ã.o[½û¿YqbóîÔxá© ÿ”´ÁÄÛõ8‹sÙ¼æ4ac®ëd¹/prû^|ɃI‰Ã[¼™=j ›Õömèn­ƒnn¿Yª8ýÉ2j<Æ”#…^/>Ÿ=zËÞ!e¥DE&£àì¶2=^/z]S_t6ú0Y®ýø :øûëotO𡸭ètzt:&‹EUQUEQip88´÷†Ƈ‚N§ÏÄ ÐyÁÐ…ÍuFlQé Ÿ†aùûlÙt”³ÙXÆé•ô©ƒéÝô-kJÊfì¥7J}µœÜ¼™“æá,¸g8qÍ1uس°¸.p`ûŒCïáÎqMß¿™£¹ËWÍ»[wp¦÷Ýô¶)˜b’Ó"Óx|ö0^ÆÑüjF%Æbp•.ÇXÔ±Ú|O”ŸdoŽŒ»zøÏæUo!ª×PF:ÅúSe4öÒSž»Ž ™Ì˜?Ž!¿L‘$g"9KúºB!„·CìPæ,ÎðÑÁSAîe&¶oœÞÍ®üžLI·6½lë(d÷ŽBB²²°Tûƒè-v{f’²»€j‡0ÞÀkÓpÖ–á°¦Ó¯wá& ¥YQ‡Ø]ëÀ‹ŸÀCWi÷ŒýœM·Œ1mJÛTt‡KA‡@—ƒ±ÛíÝ’+V\W¤YòjH2‰‰ D™Í?A.žvwWC’IJK$Ä ñ1(;ñú-3…¤”8BL*iÑ‘¸{fn§±gO,§«qy5 ÷R˜·—SXßü…YI¥a'u1³˜6 «jD˜ßçt:[<–ÊwXúƧ5JCÐZ§’JK¯°wØ÷ù& csè5$¤é‹´½ý  Z“Hî‘ŠÍ jÏdŒ…õ¸}mÿzPa„Ù›V3ÇÍâà«(ªžBTd•ßtVí§•ê(…U†üöë$Pz¬öêÉW±¯ãýÌ¡èܵ¸›²ŽàuVãÑ…a âŽ÷›Î*Ñß¹¸¨»ÐÕëóQwnuq³¹k@2VÀÚ'–Ú}ÏóÇ+Ž=ʺ3@±K÷H;©Ö‚]ÕõqåýçÿŽ­ï°}ü/º“× ½œ>Pj¶ûìcÒÛÙ‚©?‚¨Ïhªv-m§ú¯!„Bq‹sžáÀ'ŸQRá¦äw_¾8ãŸýŠ…ƒ¢ÀœÉ˜‡eËÒ7øÇ³Å¸õñdLyŒ™cR.>©'ÙOx{Ó¥L xñ#3)óŸcÑèDtu{YõÇWñÍù9³²ãé·è[4.{õõºd²f|©ƒbü¼]lÀ>ôëÜg]ÅÆþÀËÖ¢a!vÈ"îzp±FÀÔìeùs_`9€.‚„!÷0mÞW¤Y®¦x_–~ ëJð†®Âõ¬[üGªÜ€¥7ƒïù6w ‹oúç{ :jY½À[µ­k_§´Î ætúOÿ&“D_Û:†.PûtÔÖ Ôïý3늆0kV:F ~P[_~–CÙßäxÓ-{‹DGÆÀÅ C§Ã‹É|uo‰»j1†^I½A‡ï/ýÀoÐá%ý âãY0o®|GŠf^ Ì&ªÚÔg½Þ¦ù}^•õªÜuõÕ¨:hnÔ>­£Ñ„)ä*æÏÓG’1(•ퟜ ¿º‘!6"ÍŽ:Aql⯸‡´ºBŽøHžÐ§é{ÒßµÔqÎNVÏ–Aß*aI™Äi[8Sá ·ÍOx½ÇA­LVjåô éʱ)8xŠð~LNìÆ¹ê 9xÒAâèÁ¤…¨Ò±…B!„þcû3ÜPšÜà LN¬ÁCÙ‘\Ž+}˜ÚÏÊ6‡šWCù¶sšd¦ÄZnøuزIpodãÖh&LGn';+Ãé›é78°»Æ‹AéÂÓï±Åuçªsa´]› Úªªª«<¬ª­À)-u­µ›f©å£-¨ï+¥)»Ã2•VY¤E½˜v؇×í#tà÷ùâC#ZÌ"à¥rûAß‘·˜?w1ä«/±(ª’½¯ýƒ:ç:€qeQ~;»–ÿ‚­Ñ÷2{ÖPôgÚÙ¿Í%¨(AU‡‚¢ùðiZu8­Ô¥í.§°ÒмíµIàôXéåþ®3ð~™ÑYXjwQT=ˆHà¦öÜA¡“ 3®é¬§Þô[ç]¿¾çõàóùд¦jólê]Á¤k?ÕZ“@ë»§>®¬ŸŸk4h¿éÄþά«éåzѨy:N½à|åïïË òXŸßcþê_!„BÜâLŒyü5Æt°‰>jã¿2‚ñ~׆2瞘ÓÎζÁÌøáï.?* íËȇ~Õ:d»ƒKöìyÌΞç}Øæ=ûVåØéõà/éT…(„}‚‡¶X¤‹$cÖȘÕÅ:jUáô™ù$}fÙ>ÝUAê¸}:në°!OñÕ!—?›ÓòÀ/Þ^·‹ùêSÓ´ :¼QÌ›+A…¢Ó*œ„ib5£SUðùp:x\b"Â陡q¦è^‡—‹£Á@DXªêÅS[{UÇ6‡Çª”PÑèÈxFNIÅê ¼ùò.’²3bX_Ò#L¨€»¡‚ZÍJ¯pS».<Î:\jvKëGùŠÑŠÝè¥ÜáïeNåÇwqÂ“Èø´pt€3ˆr<úÎËW}†=§<$çdÝ¥L>ŸæÃ窧ôÔ6QHƒ®v?e+$ìP!„Bˆ[PcŸ¾þŸ¨!Ä÷ʱƒIíæ9ÒT+)CG‘òþfrOe2=éÛ÷דš3˜$óñÖÛz«8¸ô¯¼üôƒøÁý±ßÓ¶©aŒÏ9Ë{«>æ}Mç–4f.Úlu×x1°®1oʾò/èZ^t i­Ñ.é(èPïÓð¨—wÒt¯[ZµÓ:J³ÔDg G©Û̹üRì1 ä—¨¦•éŸ[R_ kÞaó®hrúÇ£•¢Ð“AjRLŸ¬`÷¡tFe˜©¼P†Ë×ö+©¡ ¯)•H»Æ‚ƒœ¯tbos>njOå’ïK'-yFçôGÛ(iJl;ûw†ÏQFYI±1ò7-§Ä<бa*uǯ¨“@i¥:La¥Ã×nNU—ïï:ƒH«åÌÔ•¬]²’¹ã+ÿŒµŸÕ²°¡] ¾òßf*¶«¸>wRL/aË®8r²mTTÞ£¶Vgq½R­^ß]õáï^ñsiÝÑ>W“^NA¨N§^S#:¾%@ê6G—îaÿõií©È_l§þÛô1!„B!„øW}Ú¤GÁ#!nK))©M½\§C§Óár»Ñ 4‡Œ T‡Ãè¦oÿAÔ×UC]Mé™WulE¹øB÷Å7!Í C™ûh%§±k÷.>|m™£¹kÒ "iÚÎÛÁÛÜŠªCÑ<\œ´±Õ]ìÓtj›´4žÛÆê-$ŸG¯‹i]‚)§óÇrSrt…¦^ܓֵà@o5‡—¿Âaô„Å¥Ñgâ,F¥[QJ4.ŸŽ“óÞåݽ•?Hšp G¢“n/„B!~Tû IDATÄÍÅœÀ¸E_%6Ú‚âqR_™ÏÍX¹ÜÉÜcIêæ„jXOF9Äû;sÙ‘_JQÄPæ§ÛP+¯ØPg§ÿ¼ELK5ãs;¨)Éc×çëYü±‡EÓûb¿aƒ †³›ùp}1ñã糨o4ž‚}lX¿‚eÌfîˆØ6™>»k¼輺:ƼYûŠè^z§ÓÉ8 CéBÀ’犎$A‡]ý~ œfI5Œ‘ý6³ú¯ßa“>´L;Æ›µªË©› ‰Ó˜6£’OVÿ„ÿ}Ç –~Œ~ì{d&Ncê´RÖ,y‚µF¢{÷B¡¾)k ¶^s´ûEÞùùb̽&ÑÛnÁë­¸â|ôè”óìóO¬¬ó!…þs¾Mrýî¯}þ^W=šââä’ÿàÓ"!)·h*±†jNù©“ÓJHa¥ë¨N„ýÚºzª³¾KÎêWøèÞ¢>´/ƒg|—œÞaßœZ¬çb¸Šë3$NcÚô >¾ØÔ¸YÜ÷o] ”j-Ðún¬à®ñÁíÓ ×0½\ ¿Øì¨Ø¿ýúë¸-üÖç·æ·Û»­ !„B!ÄmH‚ÅíÌív£** N—UsH(¦!!¡ 9–„Äd|>_S:f |š†^¯ãBQáUÛUWN½f%ÂÚâ„ÎJlïLï=„±y¹¬üh Ÿì‰çÞþQ„©(.«ÇoôûJoÇÊYÊÜz¹LÍYG•Ç€ÝÒúA‡»ü Ÿ|ruà &gÛ›ŸSNg¥5°ÿH-уú‘`îb…5ÿÒ¯í «ZHvÝ>ŠJ.Õ‰ä óý €VÍá–q@º»B!„7%5†ë¥‰‰Ð˜^Ü1ÁAÁû{8Q6œ¤n&Ó•}ý,aë‰Xrö!BGO?Tƒ{R_ÆOª£xÅaòªû0$òEz*8²ýúa÷p×覱\Ï‘LÕªxçó½ô›Fëµ/v8¾¾Š1æÍÛWn/ÑáT–Uß°ã+“&M *bËhVq9Ú„ªRç¨ÁfëÔAŸøÝRiy!„B!„B!ºÉo¾;/à6uÕUØÂ[Ï9¯jz|ʵ B\³f4è6o½õ<òH‡Û¼ûökèõzô:f‹£É„Á`@Uu( èT=Ç‹Ûí¡¾¾žú†jkkùÚ×¾ÑñI4ä±òÝÏ1L¾"`ÎWÃÑÞg½c‹æ $Êßï«|Uü`1Û#îâ‰|ò« S™±p½l~f›ðV°wé2&Ýͽ£.Îpá¥êð*ÞÛ´E“I»x žÊ#|òÁŠ’&1JŸÖ3uSŽ1øc—ʃ+xw»‰I‹î"3¨T^*ö-åý#©Ì^0’8w;õx¹¢9óÙb–ŸIà®…“É mqA—{Ì’…B!„¸EhÕGXúþb§/$'¡ƒô¯ gøèý-˜'/`bGAgî¶-^ɹþsY0 àuÖÓà5`µ6½Üå)ÛÍ{ž"sö<†YóýŽA<¥;ywùYú͛ˠˆk<ºhïÚœ¬w åÃ0¯oxóŒòŽ‚¼óI-cΤ—íÛqÕcLKÚ´³}å6qöìÙæŸ:ìwEQèß7»ùó—¾ô¥€åÖ6š µ8®®Ë6:±ZÚo³ S-û :Ô|j§ƒ…B!„B!„×ß•A‡À5:âFp6ÔRV[‡ª7€z£ EQq¹Ý8œN¼/.·4PTMÓPÔ¦Y;Í禡º˜ã;7²ù|£æf¥oõIr÷WÙ³'ÉÑ6tÎ* OìfG™Þ£b°(fzŽ™È€åkX½ØÁð±Ãè›EˆÁ‡£ªÓÅ:zd§ÐgTo¬þ„µ–IŒîmÇu~ë7—7fÉ—~‰T}œO?Ü@QâDæMöóK$]DåDu,\%ÚwkŸ{Hë0èÐKý…bj,a˜kòÈÝ[Ž©çh @ÀIVÒFMbpÉJ>Zì¤ÃÎÏãKžL|ˆ¿‹èžñ¢Ý3Ƽ¹ûÊÍÊl6ãp´ 4™:?óãÕB'ýQT_PÛ<~’^™½ä»U!„B!„BˆëÈnÁYÝôöeEeD'DÜ®²¶šˆÐp©`qSÚw$UQPu:Ðhú?µ(jSX¡ª6ýÆDUuh¨:µ)5³¢ ¨jpñVqpé_9xé³B|ïÜ}ï`zÚ›RJiŠŠVsŠMË·Pãt6bRz0xÆ= LjÊM¬Úz0iÑè±o{v¬bûª:¼†H2†Ž£§¢`IÍü™6>ß¼–×6ÔcŠN¥ï„9ÜÑÛ~q¦¿F vláP• ª>æÕ£7Ÿ¦-óœÞƒ‚)'˜m4ªO岿6–œ¾±´ù„¯’ýKßa#9<8/Çé ¼³½ Ÿ1œ”¾™9*‘`33+ÖræÝGÂÞ\¶ox­õM¿“0Åf1êÎ N C•./„B!ÄMFAs•slãg¬©ºøÆ‘1†¬Y80=à«åôæMœŠÉÄþQðR¾w)on(¼üŽÒâ?³•èá ¸olÝ’p÷ʱœ>‚žCÆ3X/®Ýd‡Á\›‰¤;f2ÓœËöÏÞbc•ôvz ‚‘=°)W޵ú¡vÓx±M¹Ý5Æ æºƒè+ÿb"#ìû]H]]56[÷=¯++« ::²ÍòšÊjÂ"šŽ£Lš4I3ëô8¼×ïífIµ,„B!„B!D÷ &Õò%¥…ˆIŒkµÌ§xQµkó„]R-‹îLªe!„B!„77Où^Þ_z˜Ä —h” ÿÒZ¦Z(-+£º¦†ÆFf³‰è¨("ì­ƒIµÈädöœ?ßá6!¡!Ô×Ö·»^ :t581Z/ÇGGGSVV&-/„B!„B!ÄM$5)‚s•nseÐ!Ðå C—ӃѤ—ŠB!„B!D\”?Bux6Sb%èPˆ+ÅDGÝ¥}kk°„†µm  C )èPg¯»Í:¯ÒØ6 -ÔÚfÖA‡eeeäåîðÀ—[z‚B!„B!„×Q  Ãí;¶w©\£ê¹¿ CŸ" !„B!„BˆvIý_[4„hy—Qˆ«ÖèÖš6è°S¼þcuš¥màa]mCóÏññ=Û-³GžSo4HË !„B!„Bq“¨¨¬f䈑]Ú×¥Ô¿±zùa§ÛᔊB!„B!„â±.¿lTGójÞÎM&Øèv´-ãbò”6‡!–ËÓ˜7Íjh6‡vË… >im!„B!„B!n€Èˆðë~LƒÙ$/„B!„B!ÄuàÒ<·Qt­'ôx~·óøšÊ²ÌmËð6ý¿Màa}£«ÍÆG-!‘Q]º h{dóÏn·*-,„B!„B!ÄuV\\tMË·YÚ5F_‹Ô.B!„B!„Bˆn£×›ý/WÏžt$`}Ey—N®¬ªBZH!„B!„Bˆ(>>¡ù稨à_0®©¯¥ è\›åu®úÖŸ«ÛlSV[#/„B!„B!ÄMÆårµ»N1+í®«w;[}nxèt:¤f…B!„B!„¸•—7½`\TTÙávñ„…„’”ÚfÍ")„B!„B!Ä-Èh4¶»Nshí® 1˜Z}nxh2™¥f…B!„B!„øÑáúâÊÊ€e9rD*R!„B!„BˆÛXLdx«Ï±Qq¨Ç•ÚB!„B!„â6RQZåw¹«±Öïòä´DÜõ¢ì1A';;[*[!„B!„BˆìlAþ5+;¿øB«Ï%åMŸõ™ÙY¨:>¯° / »Ê“©(-–ÖB!„B!„≌±û]n´„ú]~þl!†3åU¥:V¸5„ê†ú6Ë£b“)/9/!„B!„B!Ä5––”Òáú˜˜JKK»T¶Ùè?‹²þÒW&gdpþÔ©6;´ :Œ §¼¶ºÕúˆè0*Ëj:<™1.im!„B!„B!®«Á@ƒÛ}ÍÊ÷tHСB!„B!„׈×ëE§ ~úÀΞ&‡ %%Ò B!„B!„â_™óy¤'÷j[E§ y;ÿ²KçÆè5 é5OÓ³D›ÕÚ¹ÛseÐaKNG´²B!„B!„7Ptb¢TB{Ê·ðÌœ†¹üçŽÙ_åg‹Q彺¢'ßæËs¿Á'RÏבÇçë5ýñ¡ùýsi½Wóáñùðx5<^ —Û+(„B!„Bˆ[B0A‡[Sc‹1²yÙ™³yAãRÐ!@VFïVëÔk}&³MZY!„B!„Bˆ¨¬°°Í²ºÒtÊ¿V’™óâ vnÞȶu+xóûC8óêÏxas)>é>·¯×‹×ëÃçõáõzñ5ÿñáóz›–ù|·»¸Ü×´LëBêq!„B!„Bˆ›-Ä @c]Ó¤ åÍëÒÓz]NxdHóÏÇŽlµN-NÜhVq9.?’+.,&>1^ZT!„B!„BˆkÈëö 3÷ÈÏÝî:·Ÿ´+=³S9}äÜí]ŠŠÞl§çÄûùò†õ¼°á4Uãcˆ”®uKq»<(*(Š‚¢€\Ù£[…Ö* hMÛh>€ÍòXùÖr޵Lö£ %1s#F ¢g„¡¹|_C¶n"÷pu>ÐÙbIï3˜œ‘YD›¶ÑÜÕäíÛÁ®Ã'ȯt7-4F‘9j*wÅŒ—ºü}lؼ‡“êÑl‰ =œìL €FcñA¶lÛÏÉürê}  Ke踉ÜÑËÎåy •ì6.*ŽçòÙÖÜ­r¢X¢È8–I#Ò ÕuTq5G?ä]1Ì\4†DOÛzTCâÈ> ã±\š6Á]Åéý;Ù±ïµ^@‡-.¬Cž•€U'}^!„Bˆ›™ëÂvÞ_¼"Û@Ý7‘s;úœ”Ëeý¶ä×xч%’9p9ƒS°ùûw¿»„m‹ßcKy#ç/ 'ÑÔz½§Œ,fã…(&Ü7aÖü6cChY#'2¾_Ë1O÷Ó\Uœ=¼‡»“_ÎЋ˜˜dº²¦º0Öê®ñbë±[w1ƒ¹noÅ~Þg=ç]­Ïœv7ÍÍ$Ln¡.««oè–rª+ê1˜-¸mÖ]“ÀÃKA‡öðxªª%èP!„B!„Bˆë!Ø ÃŽDDب¬¬k³üRСÛáÁ`Ößöu©(j«è4WÙNþù›øÛççpšÒ˜òµ'xjÑ`"õà­9Æòÿû]¹Ÿ nú(¿}î+d¸Šùüågøp{.§Uì™wó­—y½Bpç½Çã?ÝBÚ+{VmàdƒBXÆ|ãGßgaV(jÇ =¿„ï>³†ÐØr>Û^ =îçÏþ6C$ n·”¦xBEi ;¼4“aÓç‹M«\úMÈåÿiš†Õbâf³ÓÞ"¦¥ZÀ뢮ª£Û7²ú½Fϛΰ#x+9¸v5ÛÜÙL~`©a*¥g8”çnžIÓ[}œO?\Gžµ9SîgfLFÅM]éÎ;LèñQ{ò3¯-$~ÌÝ^ǧa ˜Ý7¼si–šëÑŒÏã òÌ.>^÷ëm ¹»— œEl_±‚ )Œ˜x/3’Â1¸ë(;‚ÃÅ4öIÀ*]^!„Bˆ›—·‚#[Qe ÅÒáKC^ªŽ®åÃ\§<Ȭ8#Ž GÙôéV1—yÃ¢Û ’SÀ[Æ'è7«?ÍÇðQsj» \´Ú±ÅÄÓXMIÞn>Ùü)»£ç3:ÞxͪÁSuš}'$ Žº÷¤ßm:?Öê®ñbÛ:íž1fp× €%‰)÷ÍeP¤¼Yv£x<è­í?ïót×8ÕrUu±´ŒB!„B!„7 ê#>-µÃmü¶t{jx\.<>/®ºb¬üܪgôÔLìÎS,~ö9V„~¿.[Íê?ÎŽø×üak>÷yV>÷#^.Ã_[ΆUo🋆Ûüz¿Š­Ï,~üê‡|¶üO|%:—?¿´žóž¦ÕÎò³\ŸÄS/Èg+_æßÓ÷óòKk9çp\ÀSSŽ~âÏY¹òmþøÍÑÄ륔”•q¡¤”¢ äŸ/àØ‰S<|”}qðð>ÂácÇ9zì8GŽãÐÅ?‡ãÈÑã]¸±ŒØ¢Ò>uãbJؾé(^ ±ŒÓ%*éÃÓ;:“Ñ‚=)›±9ˆ1¾ZNnÞÌIópæÞ3Ž~IX:ô3öÄ,ú÷ Gï*åÀö3‡ÞÅ“ˆ %.s4wK¤rïÎÔ5EMšb’3*“„p F“øìa ²7p&¿7@0åu, gmk:ýz'n±`OéCV”J]­o—[MAÕ[ˆê5”Qi E§ÊhÄÁùÜuìlÈdÆüiŒìC¨ÉˆÙIrÖ(¦MìG”ôy!„B!nb>jNå²³2žQÃ’;~iÈSÁñý%؆Žehª‹ÉJDê&ŽK¢þèJœííh&¶oB‹w³+¿áòl÷ŽBvï($$+‹³ÿ1ˆÞb'±g&)7ÕÏ5­ CìPæ,œÎ˜>q„è¿Ï%:=Öê®ñ¢Ý2Æ êºEW54:ºµ<A‡† Ú¬[‡åŠ¢¢i¾·‰ŒWn…B!„B!„¸Öô&gëGÈ^ŸJñÙÎ¥Köùœ¨ªÉïºêÆ*Â-ö6ËOœ>Eïž·Ne¹ Xùä|V^ühLÃÃÏ<Ï—FF õ'Ö²²4›oüt}cTˆ™Ê½Ã—ðëÏNRuˆw'ñØïïgtŠˆ`Ì„tœ¦X†äŒa`ª °3þΞ¼özeˆ»¸~è„q I3‘Œ’É«9KE#Äœkÿ¸Õ¦h²ûga"&'Y:ýE®Z…ª*h> U¡U*eUišÕÐíráõù@Ó@Qð¸=¨ªŠ×çcôÈá]¼é"É”ÊöON_ÝÈ‘fÇ 8¶?ñ–Öóhu…)ð‘<¡±íL¬á­-âœ#œ¬žQ-&éP KÊ$NÛ™ ½m–¶;zÔ:Ád5 YNÏàŽeKÈ&Á½‘[£™<2ý¹ì¬ §oNd;3t¢@}!O:H=˜´U:¶B!„·­!ŸÛаKïÐ=èðჷOCU•ÉB¢R°yŽSÑà#Éäo\ `ŒíÏpC kr30i8±eGr9®ôaj?+Û ªýœœWCù¶sšd¦ÄZnpm)ku×x1(]cú=¶è6Aek¸JnOs(/g Ï‘–Øöeæn < tPài!„B!„B!ÄÕ»2è°«Ú :ü·VÐ!€!™9/þ?®°ëÿçé½=8óÅßv8ª ¨8¿‘§ççé»ÙÇ4RWqŽ}q¡Á/šæ ^‚_€ãz¤‹·ëà®mÔ680™ „X̸=4͇¦iètzUÅëñ i>ŸUÕ5^JÅÜUæð8B•*=ÏÈ)#©X½7_ÞERÖ`F ëKz„ p7TP«YénBi÷>®Ã¥†`·´î_ŠÑŠÝè¥Üï¬Êïâ„'‘ñiáègåxôÁK Ë`|ÎYÞ[õ1oì0’4f.¢»v¨áóxñi>|®zJOí`Ó…Ôi1èj÷Sæ±’aAÂ…B!„¸Õ¸(Þ¿SÆþÌÎŽD(aª1‚éVöíÊeÔX²cLxêÊ8sàe.¯v“ºªVR†Ž"åýÍäžÊdzÒ¶ï¯'5g0Iæ+fµ÷Vqpé_9xùÀÄîý&˜M½³c­î/Öµ1f§4ðéë/ñ)€B|ïAŒ;˜ôP™æþfq)è°¾¾žæåÒBB!„B!„Bˆn“DqiÁ­{j8Czœ9;~Âo^Éÿ~c0á*¬‘„¥ÜÉS/=ËÄèÖ!b5{öah8Ι £íÆn=ŽŽë>³D:\;Ìz‡âŪ3`ÕkWWQ[_ÉdTTEÁãÕP§MÓ0èõ¨ªhWulEQPšfRDÁœ0”¹fQrú»vïâÃ×¶‘9š»& "’¦í¼RQu(šo›wþ5|š‚NUÚ,o<·Õ[*H?^ajÐåw,†³›ùp}1ñã糨o4ž‚}lX¿‚eÌfîˆX:ux«9¼ü ',.>g1*ÝŠR¢  qùtœœßð.ïî­¼t‡4á>Ž ò—eB!„BˆëÅS~˜MÝôšÚŸ8#N k"qä îÖodÃÒWYçôá$Æëñ©V̆ŽÿÕ¯†õdôC¼¿3—ù¥E e~º µòŠ uvúÏ[Ä´T3>·ƒš’¾6‡ŸÅ¶§_àå¿çñvBûLãÎЧxñ÷ïò•iô‹ÑSuz‡]ٌϜÆôÄ5¼òÂ+ÄüûF':9´¿Œ´áƒ±_å¹ttÜÑÒ'ÛSZQŽªSðxUÜnzU¡®¾úz½UQQÔ¦_„x½.—Lz\nïÅàîsÕ•S¯Y‰°¶˜‘Bg%¶÷¦÷ÂØ¼\V~´…OöÄsoÿ(ÂÔ—Õã7ú žÓ›Ã±r–ò7„^.SsÖQå1`·´žùÂ]~O>9Œ:p“³íÍ¿¦œ Žå©àÈöSè‡ÝÃ]C¢›Êï9’©Zï|¾—‚~ÓèaíD…5ÿÒ¯m .-$ »nE%—êÇDò„‡ùþ@«æðË:NÕ&„B!þ?{÷Çu˜ûÿ;³»X,z¯ H°÷ÞÄ"‰jTa-WÙ²-Û²c˱;qâ{o;÷&N|ÙÑÏE×r\YÍ*Eu‰”Ø‹Ø)‘I ú.Ú¶™ùýH” °¾Ÿçáó`gÏœ™²Ò9ûÎ9"W†åçà¦4ÍᎢbne¹S(ž~7ÅÓÛ*¢vçK<·'—t_Oµ¸É5“±ûÿ̆ƒ9̽é.º™-ÀÀôøH+ͼ…œzeGü#˜”q…’‡ÑÖê«öbw.¥s³0!›ü³ŸÍí%9{3ç©xþCVO¥PÉÃ>w1¡C«¥—Ï×ÉwF„K Ûûc[ž!;%¶¯¡Ê€Ã^ß'8æf]%""""""""rC:t¥¥G.zýxo<ÁP×cô:ì+?øþ÷øçùW*«ªzµ^nN?øþ_÷Á¤Œÿ4½l _ÿáÿbø“?åî‚Q|î€ëñ_ñwŸùµ4žÏýøGÜœ8ŠÏþÃá?~Å¿|éÔÙ:ýa~>áÒƒ‡Fb×Û½I—|—jjëðùâ±-‡–ƒ°Õ:­r4Úú““ã¸\&ŽÛ…ã88ŽM0Ôz}G­KñÐP¶§ŒpÖŠR;’2h ãr÷³9ÁN*`Ì ¯nÝΑÁ –táhfrC“7±çp5SróÏŒpaá?~€*W>“2Îý­ÛÏ[/¯£ºh!Ëf  ýïr±ÔcÆÅ°-«š† ƒ'ÞÓn’3w¼7 ŒvÑáµNïr㊡ËßH*`lq<+·m¥tÈÍ OÖ¸†"""""×;PΞ²õáÕ<ñÑêï=û«]¤Œ¾Ï,„¯‡z¬@)›·×2þ&²cZݛόe_`œå!!!öà›aš†Á%>‡vi¬`¯ÛZ}Õ^ìÊ¥¶1/©?Ätá2]¸¯èI¹v¸<‰X‘¦þ݆¯ó;ö’¦Z‡Zˆóúb*; 8‡ã‡+{UæéçÉûE”“bpòøó à¡ˆˆˆˆˆˆˆˆÜ`Ú‡#‘(Ï…]qŽ—°êtýîB‡—ÓÜÙ³xõ¥:,ûõn4q· IDATožä׿y²Ã²/|î³üÅ#_»ô fÎæŸŸ›Ýq™‘Äø/?Á_>·(¾`_üñ,¾ØIñ³ùò?ÏæËç¿1ì“<ùâ';,ʽåßXuË™É+øÍ +:îÎÜ⥶Án¶»Œ_?¿L~'šƒ-„£Bá(q¶ŶmlÛ&ôÔ Àt™›‰D-â<.|qq4‡."`kGhöŸâÀÖµ¬;žÎŒ%#Étå?Ħ]õd3 + W¨ž·³¥:‰’ÙøŒxŠg/`ÜÊ×Yý\©s¦0z@&‰›`ý Ÿr1dT#f”°{õ›¼å[Ȭ’4ÂÇwòÞºjrgßÄ€3ÝóQÿÞ~y ' °ôæNæJ¡žXÊdQRœÀ¾°=icò°ýGÙúþì7“—xþÁ±h:}Š€/…øÀ6í¨Á[<‹TééÀ&0hÆB&V®âµçBÔÌÆ˜¢ |©-ßÇþZ ß(7úJDDDDäêb¦eÅ#c;,k9ö6Ϭuqóý (Šïz]ÇŠli ¦üc¶nÜIeÖ,–ŽË&Ö¡Ë›Hr/ÚrMµÇرvY3˜rvòö¶­k;/†öb'ú¦ ‹ÆŠƒ”E³”—F‚Û¡¥®œ]l¤&k* bJœÊÙÐaԀĤdB Ý–÷ŧÒô÷ɶ{<¬¬©%'3 ;æÐ!ÐëÐ!@I®MB¼›˜{šá´®)¹u:º vÆï¯'55튖ÎB‡ÿù‡?ôMøP®;¡PÓ0ˆ:Q Ó$Å—ˆƒCfj2à`˜ŽFZ§cv»ÉJOæxe}l°êÙóÂì9ûÚL$¯d„$°ëØõÂÓ¬e.ŸY:œàá5<½¹;.•¢Ñ X<£€øÏ£‘PÄÜ¥¿c›×<ˆ¦Öa>¼9#™qër&JÁÔå.""""rí±8¼îJÓ§³`læ™`a3Gßzš> ’–?ˆaÓïcÑÈ|û2x~[ÎNñ¤y,›2Œô~ËZÔìxÿ^sâÜóWÏýŠí˜dM]Îsòñöº­5–t³Ú‹ÔÛWmÌX>·®áãµïòzý™RqÙŒœ¶€ûÇ&Ý­[¥7Ü=†>  .ŒiîˆÂ¬L*ªkúd£=öXL寕ý½ËÔvØ=è?t5‰ˆˆˆˆˆˆˆÈ ãÑGíó:#v3±Ë÷ƒ-6ñ¾ÖÈeq¹:½þúë½Ï¿ð"ÿû'ÿÖm™¿ýë¿bùÒ%ºnO=õ>ø „ˆˆˆˆˆÈ5,Z³ƒç_ØGÁ]÷sSFµ“YY¯×y衇.i›‘ …'¾ç´­Çã!i …Æ›>‚vK‡÷cΆVTמ›LÝé†^íhzzuuõ÷) ã¢Özà‘«æâ4;ì=wÒ£¤æ ÑÝ"""""""""ׄÎB‡nI4Ò:âØÙÐ!Ðeè0wô„KÚ‡åK—(T(""""""r] Su`?þÔQÜ’£Ð¡HŸ3M°ín‹Ä:LKN¤¾¡©íõù¡C w³ô:LK»pêå‹BìS,_ê:ý(%Á`Ö¡Ó…-""""""""×´³¡ÃX•½õŒšˆˆˆˆˆˆˆ´Gþ¬Oñ•“ÈÒTº"}϶û¤šö¡Ã®Ät {½ „BÍ=o°¾åª8~ ¾«è›ÉÛv›¤R—¶ˆˆˆˆˆˆˆˆôƒHsOB磆"a¼ž+3‚@|Á‘ëPL#v:LÌHìqýººš÷`º ²ÓÓ‘þÑUè¸"¡Ã`0¢“"""""""""r¥¤g\Öí™—ZASmqñ ]¾ìT9éé™7ü‰5MCW·ˆˆˆˆˆˆˆˆ\u"WŸ×ïѹŒuµÝ¾ß¼´ÙŒ‡ Üáu—ÁÃôÔ”˜+ »q`^‘Î*€r‡""""""""ròx¬KZ?bµè Šˆˆˆˆˆˆˆˆ\‚‘h—ïùâ}1Õ‘ä¾pÂáFqèÈÑ˺œÿ·Îèq#nw<Ñh°ßD$béj¹Šy\vXš.ÛÒ“¸"""""""""—S¼ÇÝc™¬œtª+ëº|ߎÎä·oßÎäÉ“9°sÿåzœj9)5©Ë÷ú3t("""""""""—Gv~v·ï;»Ë÷â¼q,;:l,߯ƒ+""""""""ré,t˜ŸŸßöwsó¹Ù'OžÜe==Fý.…Bx½Þ>ÿ`§¯'ÓÜHñ7ž±ã¯«“VøGÊ#T;³È+ž­«XDDDDDDDDú„×ç%Ôй|uM5Y™Ym¯«NVuYv„ ìܹ³íu\bá¦pÛëp(ÜåºcïýŒNŽˆˆˆˆˆˆˆˆH3 Çqú¬¾“'Oà÷W“šz®ßpâøiìØµ€Â¢B*Ê+ÚÞ3/vcùrúü€”´š…£w0yti)q×Ý OK‰cÒ˜Dn½“Šý«®È>„¿Í¿ÿí÷ùÑŸKij÷úž>@£îI‘kRg¡Ã`c׳•´¶çu{.XÖ>ttöäè‡ÛurDDDDDDDDDúX_†Ûk:ÚB‡@‡Ð!Ä0âáùªud¥¤S[åï²Ì AE”••÷zÇÇæîÇmÄA´¬à\g§ÜW.—Qù`ñߣ¸·ðÝÿ}KŒ¥›9ðçÇy|³‡E|»Åë.¹ M5Šmû;NsÜb9ø\F·ë…¢<éQ·#F£Ñ –e¥¤÷XiW¡Ã„Xç‚p=Xa®¿Ð!­ŸÉ A¸ž¢\—®>éç‡C‡gUVVꊈˆˆˆˆˆˆˆH·ºñÐív÷éÆN5HIJêò}Ón¾a|o?køøÛüü—käAÕ *mrf<Ä×fã·¿|‡@F&Nåiü–A\jC‹’h,/¥Ü%.u “-cÙôü ¢ŸáãoóóÇß qâ—øæœr~ûËwiÌ) >PÁ ¿EBÖ0¦ßµŒ»Ç8l{âgšjYDDDDDDDä¢444P__ÏüùóIIIé±| àý÷߈9|ØUèè>t5ûôóšÑ0i;wêÄ‹ˆˆˆˆˆˆˆˆ\Ú‡¡]ð°·¡CKÕµ•deœ{ º»'µåÒ%žÉ¢Ã9á ?@|Æ@禒ʈLšR4(´Ä%%YĨåh] Ó{ÞF|æ Š ÒH"žÑÃ2xsM-Çý!¦fèø‹ˆˆˆˆˆˆˆ\¬ÚÚZfΜIbb"Ñh´Çò‰‰‰Ì˜1ƒ7öjÔîø›¤&txÌÉͦòt†Å1Ý:YrM;RV€ã8à8­ Ï›iÜ0 Ãh+ç8¶í`E-F /ÑAéAç1{Ît.z\=VÐ>t(WÃl Ë9óÚ4€(aËé}m¦aG GZ‘KPWWGRR‘H„h4Úã¿H$Bbb"@ ÇºÓº&VUï:ŒXŸN®<]Ð!tèKOÀTQ®1¶ma[¶maÙ6–maÛvÛ?Çqpl»µŒeáØ6Ží´½'"""""""r5«©­¹*ö£ó^ÃÈ™'®#–ÎÔuêb»ÏL󂇃EDDDDDDäºbÓT¾™W_ßÀ®C§XàÎ΂»ïãö±YÄ@äoþâq^)ïdÔ>_ Ÿ~ô‹ÌÈ4±*7ðøÏ^¤4Ô±HˆOñ×_šHÆù 1ÖÛAè8¯ýò¬>™Í¢¯}•»ûΫó$ï<ñ ^:žÇ’o>̤Cüî±ÿd»ÿ\oÚ`&ßz÷M/À׎ãÄ4Òa{–eÅ4ÃH]sC·ïggèðÚãòôXgK]ë´Í¶íõg‹O lÖí$WD8Ü>XÛ±'Ôeš­#­oµvx&ŒhÅ2£OóV=µ’ÛWœLÁðqL›6âtO[ªÝ|’Ý>`Ó¾“4ÚàJÊaðˆ‰Ì>’Ì3³Ÿ;?GvnaÛ¾ƒ”×Ù÷¸L†ÏXÄ­“sˆÇ¢±|'kÖ}È¡ÓM8IŒ›5Ÿ¹£²ñ­Ÿ±åÔÖoÜÅ¡òšlp¥ dòM ˜9,sw{Oõ€®§l߇lÙ¾òÆT&/_Á‚BïùßL=ÖÓÅ· ^æémÙ,^1›‚è…ÇÑLÌeäÔùÌŸ‡ïì×}¤žÃ»¶²eçÇT4X€‹¤ÜÁŒ7™©#óIpéš¹ªÛh§7óüs9™4ž, (¾“BÑ*6?÷ œî$§ä-âöOÝǘÔóú„"•l|îYÖפ3}Ùræœ×v‰V³õÅçX{:“ù,eJBùmOr>#§/`Þ˜žÚ3—&¶¶V˜Ú›xwÃ>ÊêC¾L†ŽŸÃÂiƒIî²ÝÓWíÅŽm·ËÙÆ´jwñüÓïq<Üq/âÝÁg— 'E·P§232;]îMJ$ÔØtÙöà Ph"=%1¦B!’½/—ËIJ4ÅòµÀôÄãvAsÍ Ê›¸C½é8Ž#)3™8«’òãµ4g¹)?ÖB~É Rô່ˆˆˆˆˆÈuÂÄ4mâ-äKKKÈKŒrzÇj~÷ÜAòW¸g°<,úÖYÔ~5»Žmü/FÆ3$­]GpÒV|ëaææÄ éM½`dÃÛ»˜þùä´õSXÔîy‡5GC×®¸;‹™O O ÒTËñ}køÓ«Ïñ^ÁW¹³ÈÛ¯Gײz÷ o,¡ÃÞÊËËãÔ©S1• Ù!¼fï‰B‡r%…B¡¶¯†ÖÜak¸Ð0Z§X6ÛM±lÛ֙ћ[‚TV×0nÌØž7âJcìÒÜ6ÐV˜Æú|´y-«Ÿ­`ÖÒ;™’V{ÞZÍÆÈ(nþÔ] L1i©:ÊÞ#ÎÞÙ–ÿo¿üGÆ0÷–O²8;…8#BcÕQ޽¸±i8ô.Ͻu‚¼Ùwðà=)„+v±fÍK¬ -á¾IYx00Moþ4î]XDf¼Eíu¬z{5F²3?¾ÅRDë³óPÂIS1wêì[)¦zbÖvã±£AêŽnãw^㽤û¹cX„N²ù•WØÚ\Ä´Ÿà®ÂT<‘Fªdß©ZZFä“ K^DDDDäêeÕ²Ã^ê“’ñu×5äÎfú'¿ÁôÍ­~Ž5Ñá$u×'TÍî-s÷XÒ]çÚ.Ò-l¯Ó¡‘Ò® mñSyd;o®{›íY˘•×o‡¡ç¶„NlaÕ{eä;—/ MéÚÃ;o¼ÃÛ)˹wtj'SÚöU{ñÂczùÚ˜gø ¹å%LÈГe—Ü'Ò.thÙà:sáØÑ ¦;¾×õÈáCÇÚ^Ÿª¬$/çÜìÈn -tèo¬'5)­‡ ìÍîø=aÙx !§å‚òþæ@‡i\äÊrgŽdîÄ-<»ù~q¸[ï+éÍÚäL¾ƒ;Ë^äíWão_„¤QKøÖ°AJ‹ˆˆˆˆˆˆ\G|…³¹§ðÜëASæ3wËoØv°†Û ³.Éð©]¼ØÍØO&»ûc«7Ó†ÀÞµ¼{h4Ÿ™Üš7j>ÊšwŽ2y ¥µ¬gàIÌdȘ ”¬9LMSèßàaoG<ìàa0‰¹ìÅ„ûÂö?dמ½„í»ÇÅÅ1~ÜX&Oœ¨Tb¸o¬3yCÇv‡Ã„¢g§VlË& hh Þ Þï'‰²bé’ÞmÐGRæ`¦.JÁ³òyÖðCîOFK5‡+M/šHIVëh¬ÞÂQÌ9ûýj7phÝ:ÅOeù=SÉmûËEZÁHÒ§ٽù(q“ïáÖñ¹­¿— ŸÅí¶Ÿg6láhÉ”$xsÆ3÷\¿?y£¦0aßK|TîgFAžpULõxr&sßý@óQ^ÛSÚÉ—rlõôžéö‘9l23JKy¯´š–anj6½ÃÖæáܵì&†$žùµÄ›Á€‘30R׺ˆˆˆˆÈUÞ:#Pº‰­uy̘æf÷Ž^ö¡ÔbG…‹¡·i(<_<9£ áðv¶•sËà„Öèƒ'ؾå‰#Gâ«ðwÚqûÒ((NÑö üÁ(ŸZí[=¶µp5TL̘’|R½@ÑFfîe{C‹N‚‡1¶Ïzl/vÖt¹Ú˜Òo¼^ï¹3á¢B‡?:xÁ²ö¡CwBrÍ ­x]…33©©mMDfefwZætÝIÒÒ.\_¡Ã¾7à¾û¿oéy¹'Ÿ[¾ù#Î-qS0ïëüdÞ¹"Sîÿ6SîoWÉÌ;Ïü1ü¼mÄ3èŽoóÓ;Î-1³ð³ßf¡N‰ˆˆˆˆˆˆÈ#ÒB]â“âètÒ§‰Ã7S™9û‡$Ñg3ÓÄ\¯Aü€™,ô<ÏSoneNñBÄE8¹í->4&ñÉiI¼ÞYðЉl¨æÐÆ·ÙËPVöÿ¸Y—cÄÃĤ4\N”@Sc§ï×W×t¹n°±™ø¤sÇ!¯`§NyÛ!ËÆë2/ù8íÞ»¯-t‡Ù³wŸ‚‡“—a†aàà¶NYnE£8ŽM8¦¶¦š¦ÆF~=`ÐØàÇñvg0tÂ@6¿yrÿ2“ȈòñÞƒœÊKž¯ã½á4ž`…Í€ù#Èéâ÷-«á$Ç‚©Œ,Îl÷cIJáprõ­ R’ä»pÅh†x<˜—RO_íOo4`Ï¡ ³&2(ÑÔ…-""""rqšËÙ²ñ$i“—P’ü!»{µv {öP›:†› ºë¯1ˆËËTO%¯oÚÇøÂ©äx¢TïßÄc‹Æ$°±³à¡cn®§|÷f3€[r|Wøh$å"?²–µ²¸yú`ÜǶ²µ.•Ñs3: öU{1&ýÔÆ”þÓ>t«`Ø">î\Ê·dd׃٥ùR¨o à>:¬÷×’–šÑi᳡Ãît:‘k]„S;Þcgd÷Ȥ³Ì­Úý¬Ýfèâ 䟞i:³?ùϸ’8~‹ïšËˆ4OÅnë=Ÿ‘Èðù·RòË×xcÏ>W|œ·Ö¾x.Cvv,­fãÿÈÆ¶^ÎAVœÑïGórŒxŸHMuELe}Éé´4Ô[7©cg~oB‡@‡ÐaÄŽ^ôqê¬s4 òëß<Ùiùäädnž?ÜÜ\ݲW™êš¾õ¿àg?ý7²23û}›§ªª00[hð×cÛ6'ÊMMM„CABáà`G£„#Q à a]â(£ñ©¹$•Ô¶D!#é·L§võþû7Û(9‘iSF38Ý‹ Dškip–êíòû0j$l&’æëû6âH‹³¨ vvŸE©9°ƒÑæ JÅ„.ªž¾ÚŸî8ØQ Û±±ÃMT•nუoËÆÕ°‹êhCÓ}(v(""""r­ sj×FJãÆrï¨ Ü§z·¶í?ʇ¥QÌN–§‡ÂfE“gPôü:6•çÎÂÓlÞÕÄÀ¹)Œ?б¬UÏžž`OÛ‚8ò&Ž%Í}嘙2”ysËxöÕ7øãÎÖ}+œ½„q]€¾j/ÆÐì·6f›– ÞþÃã¼ `&’W2Ùs&28Ù­[é2::<å?EZr*ñfÇðhjj~ëÍ\ß8÷zW¡C¹QÙ4|“?¼všâ{f|FgÝ‘a*¶oàhüx™Þ¡ÃÒñ âÞGþE  ¨<ĆÕ/ñŸÿä+_½ƒb_wA¿®ëíŠ+c wÌßÂ/Þy‹·žàhö|¾62³ê¼‚î,f>üu>5<+ÜL]Å>Þ}ùEÿS„o~f*Yýاy1#:ŽÓ«ub B‡±HÍJÀ_ÝSYéfü·¾,WjCCï®}ŸO®¸ÿª½›"GÿÌ7¾ûóþå1>;Ì{C|ƒÔÔÖòõo}›ÃGŽð•¯ÿ¿~ü?ÈÊêßðáæÞÊF…B4·1 …£˜¦ ÃhLÏŠÚ88ØVë(ˆ­#"ZD"Ö%mÛ0 pÀ >2K>?’ÊÃ{Ù¶}/ÿ~#éÃgqû dÐZÎêæ7L†ź é`;.Ó¸`y˱¬^_Ká¼¥ K1/²ž¾ÚŸž¾ýì[ù$ûZ¿œIÉĈw3cpF¥Ã¹M…8¾æžÙqö{ËCáü¸bFŒ?–‰ˆˆˆˆÈå­ÙÇ{" [4–Ü8ö®MåG;9áÆ=ƒSbzÉL)fÖ¤½<¿u[Ê«8™>™eƒ“0Ïïöp¥1vé n ¨<¶÷ßã¹7¢¬¸s4iW¬qáÐ\¶Ž—ß;EÞ¼e¬E´b'kÞ{…—¸—%Ór.˜º¯Ú‹=íW¶1ˆÏ禓“åȆhª+g÷º5¬ZbÉò9zu?u¥îÔ)Òóòhnn&!¡õ↖.¼$øzðl;J^j^§ï ¶×¯ÑÐÜœ>~€ŠŠãÐY¹&8„OoæOOoÁœõ9VLÎêtZ§á0ë¶Õ‘7gƒ:v*º“ œ|æ…ÇGzá8n¿¯…ÿ\ËŽ“ (.îzÊ•îê횇Ü)·1cë¯ymW!w?2‘7Dº,oàŠK$kÈ4î] ì?·°¯f"órû÷iêÞŒzèrÅÖã= (Ÿãå'ûýª8?t˜šž„¿îÂ)+++ÉÉÉ¡ôÉßÃßüS¯¶ñÁºõüñ©?ÑÜÜÜ«õ)PÈœY³®Ê;Ê3x¿~~Ù ó RS[Ë#ß|´-tp¬¼œ¯|£ÿǧNÀ¶ ÃÀírá˜n—m[ظLÃpp›qlËÆq,LÓ.mÄÃpc MNé í¾1] ä”LãÎ’IÌ9²‰U¯­çÍóøÄØLRÌÝœªnÂÊ‹ë4<çŽO%2jš#|®N'ÔH}ÔCš¯ã7s¤fo¾¹sü]Ü<*­í€ÞÖÓ•¾ªçܱ9û£ß…ÿ=p3IsíädåÙããeÀüÏñù€ãgß‹/õrª6¹,,?7í ¡hw%ÐÛù%œæ vío kÂòãc]ËM標ŒÝÿg6Ìaîý#HwA×=0¦ÇGZáhæ-läÔ+û8âÁ¤Œ+”<ŒÖ²s)î)÷pû¤¬Ö¶\ñt9õ<ýþ*ÆÜÆ„þi/v§¿Û˜­MælòÏ~6·—äìaÌœ¤âù9X=•B%»t6t´…’})]§iö®_´_g(8::¹†„«¶óô“¯rrؽ|~Q1‰ö"YTí[Ç>»„yãrˆ¥KÑ0]¸]nâ\Ýu;÷¾Þ¶úãrÛWþ†ø›/rsa\ìë&¦iö~´®Þì›a`Û6.—‹h4Úã?—Ë…mÛ˜fÏ]x:LOïøsJrRëøâÏuøv:ÈÉÉÁ4¡9êõ>ýó¿þ¤×¡ChB÷Ÿÿå'ºy¯…Ï:>¬®®é·í‡B"‘(ѨE4jÑ ‰F±m‹¨Ų¢€M8&µˆD-,Ë"ŠpIÁC;@Ùž2ÂY%¥v#$eÐÆåÆ F°“ 3ÈÉ­Û9ÒØùvÍä<†&·Pz¸šp»ïHÿñT¹ò’qî~ŒÖíç­—×Q]4Ÿ»f  ý ²½©§;—VM4—W _µFRc‹ã9µm+¥ –n,‘k„(gOY€úVóÄÏÆOû¿xa/55»xöW?ãÿ½YFK—k[ÔÞÉ»ˆ‰Ã2z7šš7Ÿ˾ÀÃ_¸)9±÷&¦‰aôc—PϬ AO¼§]ËÀïÃM¤“‘û®½Ø•ËÑÆìúœ¸p™.ÜWô¤HkKˆšêª®û z[aKó¹ÛßíÑ ¹ÞDjvðÜ“/stȾ¶|R×S³yýq’&ÎbDÚùÝLþòùã“ø["XV˜ÀÉ}¼ñœ̛ɴ‚nYï¶Þž¸}ɤ%ÇÇlq¬0“{xså:êó&R’ÞO¶§¦¦RYY‰išddd™™Ù忌Œ LÓ¤ººš”””þ;בÖà qf®×@C#uUÝO¿ÜŒ-LhÛPrûä^ïSeUÕEžÓ••½^Ç®XÅ·?ÿ(?þÇopëì¹L¿ëËüóïóÆ¯¿Ëm³ç2õ–Oð­ßl¥Æ‚ð‘gùÒÒ¯ñÇCçŽAÍ?ä¾Oÿ”s6öl IDAT­Ànâð?ç‘ûofêì¹L½åóüÃ+­?¨DŽþ™¯,?·®ø˜ÿõë,ž?—©³çró_<ÁN¿sÍt:<«¿Ã‡ÑhÛ±±l›HÔÂqœÖ©”m‡HÄ"Žž 'ZØvë4˶å\ÔÔæ­Q„æºrv¼½’·§3uîH2]`ù±þý­|TQKc(LK ’Ò7²¥:‰’áÙøŒ$Šg/`œ÷ «Ÿ[͆ƒ§ð·DˆFC4Vaמc4Έ%8»ßä­åÔ55púã ¼¾®šÜ)“pf À¨ÿo¿¼†“ Xzóˆ §sÅVOz]EÓé N¨;¾—M;jð’Óo€ 𱉠¥¼öÜj6ÌÆw7R“5ŽÑÙqº¡zºß"}Ó—T^^Þù¥éõ’™•Ýåz½ž7Æ—pîêˆFA‘ëJ‡ßyMÕA¨~šm{ºíÔ _à¯>;ŠÖœMÍÞ7Y_WÈâi:í0vB'ÙöòŸù¯ê3Ï>Ç0åæ%|cÖr<€Uź'~ÎË,æ»Ï Ç[½—,ZÍÆ'þ‘g_{²sÓ=|mÁ8rúq–åÌÌLÊÊʈD"1bhÛ6'Nœ    O÷#>)Ž`cë9ill :íRšéÙé]·Çã!97¹µgØ”kâª×–S{ówùÅKÿ›ãÛ?ùWªü[~µêàÚþ+¾ýï¿fåMcùta©pÙküŸŸ¯%ïá_ðÚ­E˜§wóþ¾j"ƒèpT#ÇYõã¿ã7Îþþ÷?f|ªŸ;«Éñ^ûªoÿÕ_w:<ëXy9ù½ïñ‡'Óçûàr™88X–…c8¸MÇ1ƒh4Ši‚ãØ­#‘:Žãà@ì#\Xõìyá öœ}m&’W2ž;>1‘â´Ö Å1Lœ@)¬\O ¸’È.ÂÄ»îa|akøÚLŸfÈÎ-|¸åU6¿ÚˆàÉ`èä›(6 |E³X¶8‰÷×½Åï×4áÍÈèù÷1³$íÌi-TlYÏÞú0Ô¿Áo?z£m7“†ßÃgîB"±ÔcQ³ãþ{͉sSÔ?÷+¶c’5u9ÌÉÇK=v»^xšµÌå3K‡<¼†§7WcÇ¥R4z‹gëliFBs—>@þŽMl^ó,šZ‡ùðæŒdÆ­Ë™8(¥§u‘þa7pxÝ”¦OgÁØÌ3³]8øK7±«!‡¹£sè— vÏo˹Ó)ž4eS†ÑÏ¢ÆÒÖòR8s1‹ã7±ùݧX[wC&ßÂòéCH2Îok%Ýì£öâõ^Þ6¦®áãµïòzý™RqÙŒœ¶€ûÇ&Ý­[¥Ç[é¼ACá(Þ¸Þ¸¢¢¢‹Ú¾±páÂKN¦$¥h¬¹üc=Öéòq®ÝP'·õ÷ºDDDDDDDDn @€êêj@·#«†AJJ ÙÙÙ$''÷Xï£>ÚöwRr< Á.ËVU";»uŠå††z’“ÓbÞÿ––|¾ä˜Ë§í9ÀÓGzuŒ¦ÎžKkD¬wή³uý½ZÏ®XÅ_<º’Ùÿç1>;Ì •ïñ¯ÿ–!ÿóq¾9. ê6ñ¿¾úSì¿ü%Ÿ÷|çmþäLYZG<üâÿ—Îù&5¿Å¾ñ4Üö—|÷“³ÚnX·ÈÑ?óï¾Á¼yŒeá?ò•¿ÛÅý?ûw–]_½èSgÏíUùÞž¯§žzŠ|P_&""""""×°hÍžawÝÏMÕNnleee½^硇 73—Ó5§;¼gš&¶m÷ù~ž®ª$7;§Ã²>éÕê,tç2[QDDDDDDDD䬔””~:è6t´…^…^…SR’Áj¹èÏÑÛðaŸõDºÜx\Ж 5\Ä™Í1LÁëÊ»™þ[zò7|qñÈ_ø ñÈýÌ)è8vgKí1î\r“¯¿G÷{$‘M˜ªûñ§Žâ–…E.Åù¡C _B‡À¡C óYLï¥wÓ)t(""""""""rã ðx/î‡> ö)Ó±[v—ï' ™Ç—ÿéw¼µòg|½’ÿñwÿÅÞæŽ¥<‰éxšs´6¬ EDDDDDDn0qäÏú_Y1‰,M¥+Òo23‡öû6:½…íÑíJéééÔÕÕ]°<#=•Ú:§ë$¤øh´è¬Šˆˆˆˆˆˆˆˆ\g"Á<ñ¾ –ûú篫Ï—ZHû|°—ŅñïãýõÇh´Óh.{—×ög1cö02Ì$²²“0öF;Ö“2ü6î,x'ú$Ùß\ά‚{wU3hêDr½×ö1ºõÎÅÔûý1•MKMå­Õ«t‰ˆˆˆˆˆˆˆ\¤ACFSvdßËkjJûu»qž¸ÎG<8qòD—+v::„ÝîŽáE…EDDDDDDDDú_bRÒeßfg¡C€íÿ÷‰ëëàfLâá¯-‚¿ÃâÛîbùßþŽ‘|ÒãÂX6`Õ³õwßæ¾;qÓŸáŸ6ñÐ÷¿ÀÄóg×NÅgÿá‡<²ùÒRæßþIþöÙÔD®ƒcdýSVDDDDDDDDh5µýÝYè°¯¤¤tÝwŽ„1.\xÙg-yì±Ç:]>Îõ£ê"Ømý½î¹d>úhe,ËÂår]ÖýJÛ¹“§OêÕ:SgϽ¤mn]ÿ.ˆëØSO=Ń>¨!"""""""×…²²²^¯óÐCÅ\6P'ËÊûeßM>‘k›c»/XVU[Óö·m»IÍNïð~‹¾*?KNvöE¯››“£‹ADDDDDDDDäŒþ B?8¯ÎœˆˆˆˆˆˆˆˆÈeP[U…ãî8±IvFfÛߦ¥±6€;¡5¤è3ãú}¿&ÿåý^çïþæ{>ÌÍÉáïþæ{ºDDDDDDDD亖?¤¸Oê©oð“—xÑë»ûë:áβˆˆˆˆˆˆˆˆÈe™›ÑØÊ¡0—òï¥íÇÐI¹Š¸Ì„N—WÕÔ\T}‚‡Ù©mêü:Ú"""""""""×0·ÛÝíû9™ý³áˆ£ƒ/""""""""r±ìæN—gg^\a‡àa•¿¶íï”ô‹ŸÇ9!1NgJDDDDDDDDä p÷"ôWy¢ó§™íPHRDDDDDDDDäãsŒnú8s]ññ‰Ý¾oöéŽ{[§Pin ë,ö»f¿úé“l­unøý¸ZŽ…ˆˆˆˆˆˆˆÈÕ$ÚËiŽmûÂò¦×«)""""""""ri1 œnú‡s]Á`S·ï»ûj§ëš@ŠÎ^¿²©+ÛC s Cëùÿ¯bÑCK(I¸rûQœÖ»Žìèéuüú¹Î÷;Tþ&¿ZåÞ/ÞÉ×å.uÚoï‰Õn–<´ìSç¶=8¾‹"Õl_»÷Ä›ŸéÖå("""""""×ÓÔCr}9RvÇqpœ ¯oÃ0Úþµ/gÛ6VÔfÄðD‘ôÙˆ‡é‰)¤e¦ëˆö'ÛÏÑÝ~ÒÇ$ͼþöÃ[´ˆo}½›à_?îClÛŽPWú¥þˆ®E¹&´Zú¼N;zagLyYYÛß¹Y™:ðrEÙ¶eYX–mwüw6`x®ŒÕ±Œc늈ˆˆˆˆˆÈ «©©)æ²}:l[}M]—ï0’ýÇ?ÒÙ¹Nà;êR˜0(3vcïþñ§üúài¬ô1Üûà æða8ª÷¼É3+×ñqMÊÀ©Üµì.fúYÅ+kðQÊžã.Ϻ¹)‡xë]Tz‡rë§>Í%I˜N˜Ó¾Ê¯ÚÄÑ€‹¼ÉwóàÒÆöÞbãªçYµù;‘w}™‡âmü˜gÿ-몈ËaÜÂ{ùÄÂèz¿ÃíG<¢µ;øÝ6Ðq“1|˖߸ ÷Ç"td¿~©Šxç0û*³Yx׎}ØÐãgl¯ýh‹¹'WñÿVHudÛá&\YãYöé¹D_þ¼|4 ÿïy±ä›³0ߣ SDDDDDDD®Z¾_‡×Ó!b—T§é¾0˜U4hPÛß§«ktàåŠ ‡Ã^Ÿõðì(‡¦yîplppplÛq°,«ç 4aÕS+ù¸±Ý2W2ÃÇ1mÚŠÓ=œÝ‚Ý|’Ý>`Ó¾“4ÚàJÊaðˆ‰Ì>’̸3ûñsdç¶í;HyÝ™‡žã2>c·NÎ!‹Æò¬Y÷!‡N7á$0nÖ|æŽÊÆk8´œÚÃú»8T^C“ ®”L¾i3‡¥q®³§zÀ ×S¶ïC¶lßGyc*“—¯`AaÇ©×c)Ó9‡ÀG/óô¶l¯˜MAôÂãh&æ2rê|æÏÃw6ã©çð®­lÙù1 à")w0#ÇMfêÈ|\ºæEDDDD®ê6ÚéÍ<ÿÜFN&gÅ (ên@('‚ÿØ>¶ï9À‘£'iHŸÎ'îŸI~\'e#•l|îYÖפ3}Ùræœ×.‰V³õÅçX{:“ù,eJBùmOr>#§/`Þ˜sí¢þ[;*LíM¼»aeõ! _&CÇÏaá´Á$wÙîé«öbǶÛålcZµ»xþé÷8Þ±)Oü ;øì’áš{·œ®©"73»Ë÷Ûþ¶ ³›‡4{ï•rÿ_‘‘žj>:"dÛö1vé·¹sp&îº]<û_o±aä nñt½ßçÿ·ÅL*áÞ/-a\J#¿ó4/þ9…œ/Ì"×ÝñX˜Mq؃˿ŧ†šæRŽ„ü=~Ƥ.Ž´éŽ#ÚfÀ½_cÉÜ{ý÷¬Úâ_ù:Öo_$pëXZìÓ7‘ˆˆˆˆˆˆˆ\µl—…i]Ø+}©¡Ã®øÚ¼–ÕÏV0kéLÉŽ«Ž=o­fcd7ê.¦˜´Teï‘g»ì-ÿÞ~ùŽ$Œaî-Ÿdqv qF„ƪ£zqcÓpè]ž{ëy³ïàÁ{RWìbÍš—XZÂ}“²ð``šÞüiÜ»°ˆÌx‹ÚëXõöjŒ„eg~|‹¥ˆÖfç¡ …“¦bî8ÔéG¥LÌÚŽc›»•2ÿ r3:ìCp%æ0¸ ‹Üø,ÒÊÅðé2xÈ™úŠåECÓ1·‰’¬o)¹&t:<ëä‰SääõéöΆs 3¨¬¨PèP®˜ö£:Žƒã8„#Bá0ÑH´uÊeÀ¶lÂá0 øýêêýD¢Q–/¹¯wtÅ‘”9˜©‹Rð¬|žõ|Ä{Ç“ÑRÍáJ“Á‹&R’Õú ³·ps Ϭg7phÝ:ÅOeù=SÉmëw‘V0’4€ðivo>JÜä{¸u|nëïeÃgq»íç™ [8Zr%IÞœñÌÍ9·Ky£¦0aßK|TîgFAžpULõxr&sßý@óQ^ÛSÚéÇ¥Lï˜n™Ã&3£´”÷J«iæ¦fÓ;lmÎ]ËnbH♟ټ 9ƒ#u­‹ˆˆˆˆ\Ýl¥›ØZ—ÇŒinvïè¡o¡|3oïµ™p÷RfÆÛ£“ñäŒ.„ÃÛÙV^Ì-ƒZ× ž`û–$މ¯ÂßiÄíK£ x8EÛ+ð£@ÿå•znG9„ª & fLI>©^ h#3÷²½!ˆE'ÁÃÛy=¶;Ù›ËÙÆ”¾Ó>tè2 ,»ëAñ²³²©ª®º¨í;^A >@JZJlÁÃŒ´Œ®ûTZú.múqÃ\Ø›p›×÷¨‡–ãðqý, {ØùûÝ ÇÆr.<=®ÚégìÃз“ˆˆˆˆˆˆˆ\7z:LIN#ÐPSÙ³¡C‘+éãÃe­S*­ADÛ¶±-‹h$ŒeYÔÕÕ⯯§©¹™¿Ÿh4Jcƒ—ç~hrg0tÂ@6¿yrÿ2“ȈòñÞƒœÊKž¯co¦Óx‚ý6æ §‹ÍZ '9Ledqf»ƒLR ‡“ë¬çhm’¤Nfg‰i7Áƒy)õ\)†M'Øs(HÁ¬‰ J4ua‹ˆˆˆˆ\cœær¶lÕSñFN׉ºwñÊo_ãdƒf"ù#§2oÎX ºÉ‡˜ MžAÑóëØT:œ; O³yWçN¤0þ@DzV={^x‚=m âÈ›8–´« úa¦ eÞÜ2ž}õ þ¸³uß g/a\–§_Û‹=» mÌ– ÞþÃã¼ `&’W2Ùs&2X™œ+&Ô›àí¶ŒÏ—…»³Ð!Ð:´£`vs únD¸¼â9ÀŽÇ­ëì¬$‚oô:Óë4rlg5‰cn%3†»Þ“;î®çO/ý_~Poá-œÎýÌcP<„cÜd\Á,>yW€§W?Ο¶À7”Û¿tf‡ýpá6N±á¿Ÿá6xò˜~ß')Nï°›™µý<þoâ6 i^l+öm+Ü‚cDØõç繓’‹¦r÷ŠYzÙÓ‹cÑígÌÆðø?òŸaö]ÃzþBu¥3|b>ï½øüØÂýßz˜š}YDDDDDDD®9Î%×`µ„qùât(媴qí;à´† ›š[p™-Á0.— Çqp™QËÆ±mÇÆ±,,ÛÆ¶-"‘Kë”6 £uÇ âó'³äó#©<¼—mÛ·ñòï7’>|·/œ@­åºë65L†Ų/¼mÇÀuÁìA-Ç6²z}-…ó–2,żÈz.ËϾ•O²7)¹ƒ±ànf NÀ¨40pÚÍþâøšgxfGÝ™× ç?Àý3pé²¹ªDköñÁžÃ%7‚=­`GFÜ©…L·ÂŒh:Á®÷ÞaÕ[.V,KwcS™)ÅÌš´—ç·nbKy'Ó'³lpfÝy]iŒ]º‚ÛÆcG‚*°íý÷xî(+îMÚk\84—­ãå÷N‘7o+Fg­ØÉš÷^á%îeÉ´œ &‚î«öbOûÕïmÌø|nZñ09Y>Œhˆ¦ºrv¯[ê•!–,ŸC¡W÷Ó•Ð>txêäqòòtZîÿgï¾ã³:ïûÿ¿Î¹÷­[{K @€Àì±ñÂ`ì&i:iÒ&iÓ&MÇïÛ•oZ7MqÚ4mòMÚL׃86Þx³ÍS€Ú{ß·îq~Bºµöûùxð°Î¹¯qÎus'×¹?çºìÍmÍÄûâ{v67·×}sÚ»Äz_,ÓN0RŒ&#–Ÿþ#f\ÙqéKùÒï_ÞŽò(_™riËIêÌûùÙ÷÷½0rîâ¾ti+‘¹Ÿý#æ^ÜòN|ˆ?™Øsg“1÷!¾<÷¡Þä^y¾ü{ùÿ¹·ï1{²Yù™?geŸ®qÜW[ÎüáWúýÆéÓ½ÏiçèÈãž/ü5÷\Jº¼Ÿãâ‹ç«E7|’¿^ðI]“"""""""ò‘ÓÙÙ‰Çsù•Ùή.÷ÌféÙ]¼òú6˜Á£EÉÄ™‡©ªk'œáì7xÎîŽÇK)õAˆ½\¦h£)ä ÁÓ{æ‹`ý6o.Æœ¹†ÕS°³œë¦çG¿¾¯ë[1É$ØRYs©}\Œ[ñ[|e`5SüëYªMDDDDDnˆp3§v 5g)÷äx£›ÊÌ´á´ûÈœVDA†·{Ÿ3Ù‹¦pòÕS”·N#1áZrv’§.¢èدøàTË™B¢ Ž^20²§qûª6ª^.ælóf'Ý ÈÃPÇv—`ŸûŸ˜Ò=–Ë_À]Vϼ€òéw3Á;6ãÅk¹cL›7•ÌKçfw›:‰E+ü”oüSuóÈVäá c…vWOÐaá´)/>@Rr2 õõÝ+\tô|¿|3÷tØZ× Þ¹ y㺃¯ :ð8»÷_ :ìlõ©\Óp¨qå†ðºè †…B„Ã:ü‚Á‘p˜P(L8²Âƒ!B¡0ÁP÷þP(D$2‚ÀÃH ¥GJéJ) '¾ß0Bâr§3#ÝIÐ$âËbz®ƒŠ½û9ÛÖ½flc;)9SwÅj6aš/œ¤Ö–É„¤Ë?À„ñÖKÛ©ËYÁš…ãðÃ+gìD‚`³c‹â—G×EQ¾›ª}{)i ë¹EDZÊ8RÚBÓñ×øá¿}—}ê»|ÿ…£Ô×â¹ÿú.ÿos)WgrøH‹S_ÞDàŠÝV$‚eرG3ƒž+“…ë~›ÏÿöCÌM‹þ™„aš†Áš¾{xæ§Õoáp;¸‘e`w{°ìgfÁÑ/äFŽ1 ӆʹE×ï2f {ï~¼tÐP_ñIÇp¾$®º¢ëëëHNN0}lJ’zCDDDDDDDDä&ápÛlÀÙj IDAT ú»_ îhéêóy^jçjËzíóĺ‡TGÄ ª¡å†…BØl&&V0„iv/ [„ÃÂa Ó˲‹p$B8!±†x ÒÑ\Åɽ[Ù~!‘…k I¶A¸ù4»5‘”ŸÏ¸¶@§ö³§ÎGÁÂT<†›ü%+™±é ^{Þϼ¥s™6.™GSgªlL˜šÃ”…~m3oyV±¸ ® yo{éK–3îb¼p¨ù$o¿´…ʬ•<¼zJßåÁl‰Q•3ú´WWÑâ‰ÃÝr–]êqå/&Þ úá%wá*fÕ¼ÂëϨ_6Ÿé9IxðÓPV̱†0ž©vô3”ˆˆˆˆÈÍÅL,bËzíë<ÿ6Ïnµ±ú‘•äô÷xÁð1®(Þx—­Iw²hb"¶¶Rö¼òï '6ºÿçosÅ;„±\{Ãyl=@[Ê"ÆÇÙn\£¹R(È÷R¼sû}K™žé%Ò|޽ïŸ$2n51ýlâèŒûW_·1f˜¶òS”†RÈÍHÀk·èl,ãжԧÌceªVÜŽôäªë›†”§ªª‚ŒŒ¬!×Uàa ØŠË1ð­y­ C¹¹\ :ÈÕA‡—„#lfôo­ÖðŽoÿ‡rèÈQºººƒ"N'3g1gÖ,už Êf³q1ˆÐÃ0€Kÿ Ž``YŒ‹ˆ—þEÅnâÈ ?äÈ¥m3†Œ‚™Üóè,òºgÖ° «¥„m›vÐl>Rs&0kÍÌÌîþ¥ÍôM`Õ†O1áà>Üó*»_m# àHbâœå䞜Ŭ»ÏÇûÛßâ§[Úq¥ŒgÚŠ‡XTpqyæNÊ÷ìàhS4½É³ç0}“àÓ÷N †hÊ Sà~¹¥ârLàóÿÅ~LRæ­ç±¥™¸¢IiäРϰ•e|úáÉøÏlá™ÝuDœñäL[É} ³ˆ6ŒÙðæ°ìáÇÈ<°‹Ý[žãƒöîÀPWZ! ï\ϬÜ8L]ò"""""·žH+g¶o£$q+‹’q`àÍ]Â+w±uïËüxs;a{"ç®â¡¹¹ÄŒÖGWåì‰äϾus'‘8fq‡ÑŒµ\d/ºûÜ»ØýîÓlm ‚= sî`ý‚ ø  ×X«ˆDs”Æ‹}ʽžcL««ž[ß妋©œ©Î_É#3óH´ëVŽ¡}‚ÃF›5øMa¬ZµjHÿêjêHIKaÎÌ™ì?thX'øÔSO©—EDDDDDDDDFÉ—¿üå›öØÞxã!çùÉÏA èµÏívóø§?¥Îþ˜{úé§yüñÇÕ""""""·°Pý6¾PLÖšGXž¥Yíäã­´´tÈyžx≛âØí‰Éq4Ö·ô›`jÑtŽ9Ú³’Ö=»áp‚#¡ ¦Ý¡+FDDDDDDDDd ÙlvÂákÏj›Ikk借»cbð··ßã¿:èÀï÷óƒýx€s‰eõŠÛIOOW狈ˆˆˆˆˆÜÔº¨=yŒæø©Ü‘¦ C‘%!ÞCSsçˆÊ0ë[(-+ï7Á•A‡#eÚ4·¶¨çDDDDDDDDDFQŒ£÷b£ƒ× :nXÐáp´¶¶òîÖ÷oHÝÁs¿â 럟èB”“ÌÅŸä f“¢¥tEn˜KA‡ãÇ¥ »Œž[87'{ÐÄUUUÌœ<•š–ÆAÓ644””Ôg‚'V='""""""""2ŠÚƒ‘̹lÛ¾ƒŸ?ý¿ttt )_LL 9ã²Yºxñu=^GÞ:~°q.B¹î¼1>:ÚÛ†ÿü…ºaç5‡’8###ª C ß CËn¨ÇEDDDDDDDDFYGKó€Ÿ5´ô}€˜šê“ã˜8qâˆòóŸ¿5ä C€ööv¾ùä·t!ˆˆˆˆˆˆˆˆÈGÞøŒ t´·›æ½!Ç0hà¡/Ƨž¹Éyãâü,)®ï’)µµcr%%%#Ê_S[;ì¼Õ55Ã˨dÛõ«–1oɬûÂïóè†/ó¿gƒt}ŽÏ=Ü{)åúmÿ}ê_ÙÛ¢¥–EDDDDDDDäú;_u¶çïÖšÑ{Î×ÙiEvÐÀö!NÅhšÝENŸ4]=,""""""""r“có:º::n½†±šÙóŸ_çïßMásßw^ýÿÐxBþ.]4""""""""ò±âñD¿š±9Ú•G"Žž>ªž¹AÊËË{mÛjù¥Jûìsz//ëçþJ*ÆuÊ`Õdãû!VýÁïpoa*q ™LÉ%Á®kHDDDDDDDDn~¶öRïˆý-ê9‘›Pvv6^ŸkÌÊÏ—{ÍÏ[m#*¨„Ö0ëéj.§:τԘa/ŠˆˆˆˆˆˆˆˆÜ(éYCÎÓéþiZáô)ýî·Çzm´v„‡uÐî8oTé<žX:;[{¶kkkÕã"""""""""c¬£-ÀôiS9Z| €­‹Ø˜d:[Z¯™¯±©•Ä„Ø?OÏÌ¢º²¢×¾£·¼ŠuÛÈîMÀªãdU+Ö„¤~‚ML+LW8¢ JDDDDDDDDn¸üÉ39sòPÏvS[s¿é²s2)/«àܹsäååõ|æq÷~ f†M"¶þŸ?z¢ßýöá^K}mÉ©)=ÛW¬^½ZW€ˆˆˆˆˆˆˆˆÈ(ùÆ7¾1àg—‚ìaç A‡@OÐalr2­õõ}>¿:èF/èðz³eÌcÝÂó·ßùŠb>Çêñå'ÎÒtqejg|6Yö ¶m;Ê}Ù“‰\(æýçi‹$ê‘ëîÊ Ãk¹tô :ìÏ@A‡×b‹“»2èPDDDDDDDDDnMWzSèh¬û褙ʊ¯<É×¾ÿ?úÚc|³ÅAÖ¤ ZCqÝŸ'Íæó¿wÿ穯pß"8Óg°r^&‰Î.4 ¢ˆˆˆˆˆˆˆˆ|\Ô66’šxùe\»šDDDDDDDDDä£oò„Nž=Àøñœ?_5¤ü—‚0.—­×g]¡N»y˶éÍç¾?}Šûþ´{»óøOøÝ¯ï¾8‹£‹qwþ1?¾óûÏœ°Žl\§ LDDDDDDDDnZ.§A ËQW‚EDDDDDDDD>.C:¼ÒÕA‡@¯ Ã`[ŸoØå§¥¦RS[;¬¼éii£ÐRšÊŽS‰'9FOoeiøý¦a¸Ý" 0°™Ý×l$Á0 Bá05Õ j4ùHiÐa†ý²ávš&9ÙEzjºzNDDDDDDDDäFsÆŒjq彃kª«FtðW_ÿi©©CΗž–Æ_}ýkè1H͇oðÊîs4´5saß³üë÷öàYr·¥ºnna ‹²˜]ÆŒ‰iLNr\ ñ±±Øí6N.·ƒø„8rss‰ñ©ÁDDDDDDDäcÇåñ ;ï°_Ùµü]t¶6á‰M0M}}¨V‰ˆˆˆˆˆˆˆˆÜh]íýï8ÁìêÙ ‡ l¶Á߀ÎÊÎèµ–ÞûdÝCg¨sȇ¹tñb^}ñ…ëØ0&øKØôä?ñ75AlI“X±þïø·ßXLŠ©ËæVÖÜi#%5“q øýAb’ÆáõºøŸ§_Àiwމ‹K`\N ‰j0¹¥Mœ<™’“'£J[_ß@rrÎNü­aܱ¶¨òMŸÏ‰óg€.µ|­ Ã´ýêe‘ÀtD‚^‡ŽÎ‹AWQ^-))‰††ÞËÔ'èðÆ°‘¶øKü篿¤ ä#æ¬Çèj¥¦º‚¶¶zZª*IKK'ŠÐ Ò좹©…CILŠWƒ‰ˆˆˆˆˆˆÈ-mÀ C¸ê‘_rrRÏßÑ=A‡0„ÀCÓ´‰„F|‚q†[½,""""""""rD‚ÝO{‚GÉÕA‡"7ƒÎÎr3’IÊÈ!þüi0m& É „Ca‚¡`1¹p*É Þè î8Ë+OoâDÛûl±dMžÁüù·‘ŸèàÒ"Ý‘ŽJ°]Å•´EÀæK#oÊ,–-($ÙÙÆ 6söàöŸ¢¬1ؽәÌä…wqçœ4Ü„i+;È–írººË—ÅŒÅ+X65—`ÑYu„;qº¬žöØâÆ3gùJMJÀÑsƒ•VW¥Å²g1emñÌY¿•Ù®+N4ÚºúcÑrü%žÙ—Ê}–êÛŽfL:…óV°bfžK3Ž›8sh/{ž ¼5 Øð¥çQ8có 3ñÚt­‹ˆˆˆˆÜl ‡ØøÌ{\èý®#îÜ{øÍµ“‰<Áv>ÿ;êY°n=˲\½?Õ±÷×ϳµ:™=Ì\oYŸ1ˆ#6“Â+¹}úåqÑX|¬ÐEÃÉ]¼ûA1¥M O2g.eÕü<Ž ­ñ"Ã÷Æsx׊ ]u}-éI©t:ðº¼Ã.§µ³•XOl϶ÀiYt×¾ƒ†thØ ¬pÿoF‡íêL‘1çrA 0êÅMÆ‘cÅ}ö·6µ› ÇÁróøõÆç™=u<ž¤lr²³Xy÷ƒ$&%±fí' …CTWW3yò‘ õµÕC+Ü–@Ñø{¼Â]´5Up|÷V^{®œÅßËÜT'„9òÖkì Neõ'×0>Τ³öGω\,&Ü|’·_z‡³Þé,»ã7¸/5§¤­öü.ìDh=ý.Ï¿UAÆ’{xü8ºÊ±eË‹l ¬å¡Ù)800M Wæ|\•C²;LÃÉí¼òökÞu|‹¦5áài?Ù³ça8ÝωGS×pÚÑM$ä§ñÜ>Þ|çuÞó=Â=“|¨d÷Ë/³·#‡ù+eMv<Ž`uNQ\Õ@ç”L¼ºÔEDDDDnNžlîxl-·%ÙÆ0á:ï9Åôû‹HìÉ¡¥dûË»è]wÅ$ÔÙLÍÙýlÞþ6ûSÖ±8Ã9fM1øX {xå½R2–<Èç&&`Õá7ßáí¸õ<8-³OŽÑ/gÜ7ZcÌ\+•ÖæbããHOJQÐ!Ð+èè¾.» ›Óµƒ(èPDDDDDDDDD®“1:ú :°ÛMµ¹ÜTþå;O±xŤ¤¦±äö;)=_Æû[¶`³ÛILJÆí‰¡±±‰ø¸D¦M»møÙœø’ó˜w×ý,O­a÷¶ã4„Î:ÎÔ˜äÍ›EAJ .§‡„ì©,]6ƒT'iåôöíœvÏcíË™žˆ×iÃîp“UHQ~<ö®Zï>‡sÎ'¸sf6‰1±¤O^Ì'–gÑx`çÚºŸÅ»Òf²lád2ã=8]>2¦Îå¶„Ε5ˆ²GÚzä^–LI'ÆÞÿdƒÖ5,¦ÝCò¤9,Ì5¨,©£?v½ÃގɬYw7 òS‰u9qû’W¸»WN'Yˆˆˆˆˆ|̹I›6…تýì+븼’¬¿‚ý{*ˆ),$ÕÝÿÄîI +29ž ÍþИåàc-‹@k~oÓ 2‰÷xHÈ™Ba²I[«Ÿp…ŽÖxq8ã¾QcÊð¢xößÿKÂq¾8L÷ðƒ «û9`ÏÓÀpWtëp »Ò¶¶6õºˆˆˆˆˆˆˆˆÈGÇçS#ÈM%/o"‹nÿ9¹Ù¸ñWTVW3qJ!{÷íãôéZÛÛ©­«eû¶m¸=ž‘WhObâmã±×œ¢¬9 In?瞢ª3Ò'¹ÕVÁ±òãn›BÚk„[+9ï§0?ùŠI:Lâ²'“nÕr®Á߯ŸÖ¸¼Ì‘”«ê†í9í'kÞ,rcØ,"""""ýp¦±dŠÁ©]ÅÔBÔÛÅIc K¦§ÐïûJV˜®özJìæ ã˜’æ¹áçáËœJfð8[?8NM‡Ÿ†{ÙÛOa~R¿K"Öxq8ã¾1cJÔ\.×°ó¶´µñw šÎôô? ¥et?çè¹¿Š‹‹™6mÚ ¶£{gñÜù³äŸ@{G;1Þ|zø(""""""""r˳{=„::{¶Ó³“©.¯ï•&Œè¨ÈHuúý„ÃaRR’™8iÙÙ9455ÑØÐÀÎÛ—;äÄDââb©««#'{܈ëtǧkÔÐЂ¤ ܱ€†×¶ðËí#»póçN#/Ñ… ;hµ¼LŠw1д¡@]f žÞ?•N/ Î0õýÎÊ¢þä>N…²¸=7V9Ñè[×ÐXDBa"V„HW;µ%{ØvÎ`üÝ©ØZQò21уÂEDDDDnÅAY9oÿì{¼ `ÆQpK–Î"/Ö>ºyL/9s’³q;»J&sov5»µ3~Ù,²Ý'{§ 7qä…r¤g‡“ŒYE$ܳ©›q¹}Y)Ͻú&??Ø}lÙKÖ2#Å1¦ãÅáŒûF}Œ9œ~—ë"Ò¾æç==tÍ Ã`˜øÚ;Ú£®øRÐ!@Œ7æò߉ >¹U¹müWVTÔö›ÎŒèá°ÜX%gÎà‹ñâp8˜uÛlRÓÒ(/¿À¾½{);_Æ©'G,Vß±š¬¬,fß6kÄu†a–¸3ç°ö3…Ôœ9ʾýûxé§;Iœ¼˜O¬º$ºÓ…­k”gÚ0¬á>&ZD,›iôÙßy~'¯íh ûö‡™g³œhô_ׄ›)Þôcºp·—žË”•÷³0Ï‹Qc``qù\Øò,Ïh¼¸í {Åc<2+i"""""2¶2Y¾áó¤¥x0BÚË8¼} ¯l °výR²]£”çÒ3ˆ¸|Ï>ÊÆ½»ØSVKeâÖåù0¯JhK èá Ü=ÞM$è§¥æ,ûÞçß ±áÞi$ܰÁ…EGév^z¯ŠŒÛ×±aZ ¡òƒlyïe^äAÖÎOÃ9FãÅáŒûFuŒ9‚~—áóøt¶G\NtOÿŽž C—ÇK ³cض7F¿Ü²¿öÕ›¿F¸³>ªô6O éw=‰;µHWˆˆˆˆˆˆˆˆˆÈLE¤ÓV^¸³×vVVj¿é…Éuªx?wo£´ª‰•wÜÍÒ¥ËÁ0HIIfúô©=ZŒÍ°8t`?çNŸäÑG6Œ¸Î®¶zÚ-/‰Þ+f¤°yI+˜Ï½³Yzv¯¼¾ƒÍfðhQ2qæaªêÚ g8û ž³»ãñRJ}Gb/—iÚh 9Hðôžù"X„Í›‹1g®aõÔ„ž†ZN4ªkHz~ô뻬™“L‚í •5—ÚÇŸ¿ÅWVV3Å¿~‘úÌEDDDDnJ6o*™ÞK±©“X´ÂOùÆ9U7ì~¢É†“çŠÑÉSQtìW|p*eL!ÑÏ»g`:<$dOãöUmT½\ÌÙæ)ÌNºAÏ2B Û]‚}î|böÅå¡óp—ÕÄ3ï |úÝLðŽÍxq8ã¾ÑcެßåZ²²²¨¨¨è÷³Ñ:†¾BÁH‚‡ªa׿Eta÷¿ëʹ†þ‚ý ƒVX %·´•w¬á³¿ÿç|ê·ž ÖGBBÁ`ˆÂ©8]. "P4c:†1 ×{¤…Ò#¥t¥ßo!q¹Ó™‘î$èñe1=×AÅÞýœm‹ô[¤›ÁÄØNJÎÔÑuùn¥ùÂIjm™LHºüL¨ño½´ºœ¬Y81¼r¢q­º®Ñ@„A°Ù±E‘ÞðeQ”ï¦jß^JZõ}$""""r«3L6Ó†}³á )+“…ë~›ÏÿöCÌMs ¡Ã00Ø8a?­~ ‡ÛqE —ÝíÁN°Ÿ™Go¼8œqßh1GãZ‘¾ :MC &§â1|ä/YÉ ×)^{þ5>8UEsgP(@[ÝY9O+‰LYX€ux3o(£±½•êðÆö:ÒçÎaÜÅÛ6Ô|’·_ÚBeÖJ^=¥ïò`¶èʉƠuõ¦½ºœÊ–V/e×z\ÙÙÄGõ —Ü…«˜å-áõç_ãƒSÕ´øƒý­TŸ.æXCÛŽ~†¹Ù„i+?ÎÑÒ:Ú!"á íugØùîNêSf0-Õ9Jyúy¶áŠ!ÖÛÿŒòýåÚëJصõm)SwŸƒ¸R(È÷R½sûÏ7Ñ좽î$»Þ?IdÜT2bú;ÙQ/gÜ7jcÌÑéw¹,!%eDù]¿øwâtIŸ}ΜÙÒá'Îëîµ/ØÑ{¶ÃŠªj²2Ò=¨Šs§IˆuÓÔêÒÉØ#C‰t6ÀéÐU$""""""""+±ñÝÏñ,Ëê÷ó`@ÏÌäã§húL ÓàŽ;îdÚôéD"Þßþ?ÝÒŽ+e<ÓV<Ä¢‚„‹?¦uR¾gG›º éMþûø›=‡é›üŸ¾w1DSN˜ú/ðË-ô,¸ôü±“”yëyli&®hêŠ4rè…gØÊ2>ýðdüg¶ðÌî:"Îxr¦­ä¾…Y¸£lfÛò‡#óÀ.voyŽÚ»§ùp¥²ðÎõÌÊú²N"""""2Æ ¬®zNl}—7š.Ž.œ©Î_É#3óH´‘VÎlßFIâV%ãˆ&Ïh¸z,gO$öí¬›;‰Ä1‹;Œf¬å"{Ñ}ÜçÞÅîwŸfkSì L˜sëLÀg½ÆZE$š£4^ìSîõc^§~ÿiª«Q~—sàaʤ‰}ïöU«VYƒZ]YCzfÚ¨ä;ï¼UºêŸ/Áâ늖í›gÙ›3WÆlR—~›7UW¸ˆˆˆˆˆˆˆˆŒºÕ«WçöÑâoÀeÙ7Ç3²7ÞxC$£æé§ŸæñÇ*íé’³¸\NüNš›éôwÐPß@EåžýùOñšaÜ6Ã$.>ž=ó²XDDDDDä:Õ`ã Åd­y„åYšÕN>ÞJKK‡œç‰'žÓc2í^BáVLëÚ¹Q½ 8šA‡Ca×'ÏX wµÐq~ µÛ¿¥;EDDDDDDDDÆÌ¥ C WÐa0Ü>æu{œnu€Ütºg5¿ßOG‡Ÿ—_ú5¯ÿêYÒ⽤$%‹Ë餳½] &"""""r]tQ{òÍñS™š¦ C‘‘¨­«“r#¡LËFVÖøk¦»æ¤”A›G8tË5ªÏm»iŽÅ² ±èªúPW»ˆˆˆˆˆˆˆˆ\w[  ̼´¶À6@þÎ.¯íL\j|¹¡ &å_þ{b÷r@÷Ü}—FDDDDDä†r’¹ø“|A !2"q± ï껩I9Ô6” »Ü€?„ËÝRXQqþši¯9ãáHƒ.ïǾ“ ì6»Õ¦+^DDDDDDDDÆ\éùs=›æåÇæW ± !¿‚EDDDDDDDDÆNKkgÏßãò3À‘=A‡Ñ0Çò»êå‹l¦¡F‘1ÑÖÑÔówîø¼ž¿#‘H¯t†ß¯Æù1­È iü¡Ñ.uàazZºzi ÅŠˆˆˆˆˆˆˆÈñy¢Jg¹Ýj,‘ˆÄÄì¨Òy£¿rqÔs#V×TG]h{K€˜¸‘/§FtuˆˆˆˆˆˆˆˆˆŒ®pN›sL눋‹SC‹ˆˆˆˆˆˆˆˆŒ‘ÆÆrüA?nÇÀ/_½2JÒ3¨n¬Šºn  ŽÊ‰4·w/é2A‡"""""""""24™Y™~V×P×kÛïïêù;î»ÔŠ×7ò· [ZZÔ)"""""""""cìZA‡ÑJÐ!\œñÐf:Fåâcz/ébZ&ch³FZO*‘HÛ9R §~¤:Ø¿÷0cr±[‹[ +^DDDDDDDDFUeE借¥$¥ôÚŽ‹ñõüí²õ}0ÙÑÖÑo9Yy“¨8wZ-""""""""ò1fŽfaËæÏïµ=Ô ÃpÓAÇž$Üt+Ôþ‘kl+ÔN¸¹˜À±"ܰ SÁk_ßÀê{~“¿{¿ëÊÏBå¼òX}ÿïó£c×,Æêi¾øàÿ÷ƒè]sŽ]ï¿«F¹Á­7´~ûh¶mÏž^Û‰‰©46ÖF?tî—`…;!‚Þ!v˜ ››PٳؒæD—Í–ÁÜûf“|`‡·£vérÒ.†Œ†k‹yÿt;öÜE,ÍóêŽlnaxÔËÍÉÉQ㊈ˆˆˆˆˆˆˆÜ`6oì ©·±©™Ä„øÑñ°O%C:ˆtV`[ ä£tH÷9Eº°‚-D:ʇÏ$uÚjæ¤BÃÑ-­»4“â™Á IDATd„Úc;8Ùê`Â’EäztC‰ˆˆˆˆˆˆˆH·±:ˆaö]ù¤äd‰:ADDDDDDDDä#&1!⌇™YYTVTŒÙA}—W­s5’ ¹cn›_/æâZV¤¥cZõßv‚&gëäàÁÂ_ñ?ÿþOØ´·ŒŽø|–<ø¾¸~.£O™­‡È}í%Ì ÿÌw?;•˜p¯ýÕ—ùVÉTþú{Çê˜Ó<ýOßà¿÷ÔÂÀ›6™¥kŸà Î$Ù®›HDDDDDDDd¨***8qâåååD"‘Ó™¦IVVS§N%33sHuxb*++9xð K—.eÕªUƒ¦oiiaûöí†AFFFÔõ 5èÐ 1lŽËknƯ”[μyóxðu|ÿ?ŸÂ0  ñ™Ï|Ž¿ü‹¿æg?ûO>ù ²³²¨©©á¶ÛæðÒ¦Õh"""""""rÓ‹„,L»1ªe5èyìXmCc¯íaÊ â&ÝÎ’ñ&MÅ[9R¢áÔŠë]L\>ñ®U{Íæó.¦?t/ó3È[|wç…8þîJ†1™¤=u6Ü¿ü$/Þ„I,^=…$ê8y´Švu‡ˆˆˆˆˆˆˆÈœ8q‚ùóçC(ô_LL óçÏçĉî³³sð DÃæÀ1Àcººr±užÜš,‹êêJ²²²GÂ`Á… çÁ°hjj$66–††:rsó(š>Cí%"""""""·„Á‚;[:Æ´þæ–ŒpàÚ3Z;F04ðç6HMJTo^/¾|V,ÍãW¿<Î;GNs¸˜ÏD™7Zªé¤}ßþw}ûŠ|)õ´u ½:«³Œ·òŸüôÃ\h¹|xƒa,õ†ˆˆˆˆˆˆˆÈ”••±hÑ"‚Á`Ôybbb¨ˆb’«Ù±"„ÇÓ4ØÒÑLœwàY ƒô¿ìsJJ¶:NnYvvïÝACS=v» Ol íím”––’””ˆÓáÀ$Lb\,{÷íRƒ‰ˆˆˆˆˆˆÈ-©­« ŸÓ׳í‰ó0.5• µµƒæïêêÂétF]ŸÛiaÙ\×<¼VÐ!€†šúœ†ƒ ^&,YÎÄçBñK/ÑÕ\wâZæe90±©q¸‰cΟ?Å7W¥÷YZÙ_×ýßKAƒ6‡›Í"‰ôH¤ìíïñÔ¯K˜ðøßòÏko#öüÏùòŸ=C—:BDDDDDDä#-ÒQξÍ/ðôÆÍ¨Ëà‘'¿Í—føz¥ ™?ûòpèª õbç}üÃJÒèÒ\KÇɧùêWÆñ”ûùöw¾Ä¬Ø~užâ§_û3þçlŸzòI~gzLïÏgxö¯¾ÊžÊã÷¾ó<šp€oüÁßòNýå$ž´i¬þäùÝ{&â3Æ®]-Ë" )O8&‰ ¹®½ë¹VÐáHÄ'eÒÜP©›FnJ•å•ܾrmm­x\n|¾8’’’8w¶—ËA||çÏ7R|âÍÍj0¹%]tx¥h‚ž ÃØØZ[_×åî~ké§%§•™NE¥–Yk¬.x–ï݇x™µa6ÙNóbeöß³yãKlÍ”E™Nüµg8pŠO'ÎéÅiƒ–Š3œõç̵ƒ#s­ÜÌw^ÿ!_;2‰'þåüÞâ<“á¾4íå_ßqŽ DõŽ_ðLy!Ÿ~ÔÉË/ –>ŽIwÁÎ8J“/ÏpƒÿzÚÑM$ä§ñÜ>Þ|çuÞó=Â=“|¨d÷Ë/³·#‡ù+eMv<Ž`uNQ\Õ@ç”L¼ºÔEDDDDnNžlîxl-·%ÙÆ0á:ï9Åôû‹HìÉ¡¥dûË»è]wÅ$ÔÙLÍÙýlÞþ6ûSÖ±8cì¦áŠf¬¨ØÃ+ï•’±äA>71«öï¼ùoÇ­çÁiñôÖ­ñbß6½îcÌá\+rÝXáÈÅÿúû|ÖxXQYCBruåå¤dgXXA‡r=9È}àŸØô@ÿ_¨îìÅ|öoóÙþ>vf²úËÿÎê/_±oòçù—¥Ÿ ®|îÿÊw¸ÿ+ju¹~¬Æƒ<ý‹b²Öƒåé/ðò 9 b Öð¨ë4ßúÅf˜ñ(î.ξý Þ3VñgwÇóÓþ­ xõi>`&iæÙöp®à |®´™,K»|HSçr[ñ‹/kfaVŽ®Ú¨Êq¤Íá¡G€Žs¼~¤äZßN´”ìboc çÛ9|`¤½e`Ú=$OšÃÂ’Þ+©£s’ú]ï°·c2kÖ-gBÌÅŸÙ\IŒ+\ȸB]ã"""""â&mZ6œÙϾ²|îÈóvÏ@ï¯`ÿž b ñ”7÷;±{ÈÊŸLÎþršý!ÆrýÏÁÇZÖ:üÞ<¦dïr¦P˜|”ý­~Âôxå8oÐñb?Gsýǘr«ê³PMÁœB«[G½"§Ã +h©ÅEDDDDDDD>*ZŽðÔä){S–?ÈgŸX˼4gÏ2£Q¥é¥ƒã¯üŒíÞ{ø‡;Æã<屘ñÌ~äSÌúÚÿð‹·óE§øå¦æüÎCÅmí¶«‚Wÿò“¼Ú³ÃË”µ÷’å6Ƽɮnj‡ct(èPn ™YYLŸqáPˆÄ¤D–Ecc‡ÓÉœyóñ¸]̘5ŒQXéÅžÄÄÛÆ³{ó)Êš§“ã#ÉíçÄÑST¥‘áé]‡ÕVÁ±òãVL!m€ß·Â­•œ÷ÇS˜Ÿ|ÅA&qÙ“I·vp®ÁO¯Ÿ™ZC~Zàò:0GRάŽ2öì¬$aÎZ b?äðhwža@{GNûÉZ<‹Ü­Ä#"""""ýp¦1ÏQÃ»Š™™=4Gˆºc»8iLá®é^vöxh…éêh¢ìðnÎ0Ž;Ò<7ü<|™SÉ neë)¬^‡ýü^ö6Æ3mYR¿Á£5^ŒÊ1åæ3iÒ$NŸ>=ø£«wôtØQ×7ed (èPDDDDDDDä£ÃŠÊ¾õ4“óã ÐNÃ…ƒ¼òãïó×Îÿ}ò·™á3¢JsµÀ¹ÍüðµN–e S¼Ð<„c²§/áñuoòçÏü’ÿý°„cãÖóäül®JèÌbÍ7¿ÍŸÍ‰#äo¡úô.žûÁðÕoøö_ÜE¶cìÚm83Z–ž«‰ ‡×ƒÇC\¬»Ý†ÃáÀårát¹°Ûì`̸m.—›ÑºËÜñéÄ54t† )ƒw, áµ-üòGûÈ.œÅü¹ÓÈKtaÁŽZ-/“â] ö ´ÑeÆàéý(ßpzIp†©÷÷Ì¢þä>N…²¸=7V9é¢êÐNJœE<85 {ÕˆþׄH(LÄŠéj§¶dÛÎŒ¿;[ë!êB^&&zPØ¡ˆˆˆˆÈ-¨³œ·ö=Þ0cÈ(¸%Kg‘kÝ<¦—œ9 ÉÙ¸]%“¹7»šÝ‡Ú¿lÙӆ›8òÂ9Ò³ÃIƬ"ì7¾¹Ì¸‰Ü¾¬”ç^}“Ÿì>¶ì%k™‘âÓñâàÆzŒ9Ì~—E“'qääéQ-3š Cè'ð°ß4×:l®o >9I½("""""""ò1âHœÈ´Ä‹.i—ò[_jåðW_`ë™ Ì˜é‹*M/¡*¶þâ×ÔÜöY¾>+¡Ï?è$÷Îßâž·þ‚Ÿ¼?‘ßùÖ Æ9 0`z»;žì¢»ùÝ?¨çøß¿ÉîÊ•<<Þ1¦m7”Ym6Û˜‡Ý„Ð&Tôw´áöútñË-ã×’•…eE0MÓ00Íî6Óf#±ˆ‰%މŒNè¡a`Y€;sk?SHÍ™£ìÛ¿—~º“ÄÉ‹ùĪÛH¢;]øU¦ à îs¯ZD,›iôÙßy~'¯íh ûö‡™g³œk|‡Õ³íHIw‘îÿH,ÜLñ¦SÜý­D\z.SVÞÏÂÀ'f§tåòp—ÕÄ3ï |úÝLðŽÍxñZÆ|Œ9â~—kiíŒëé~®Ø\_C|rZ¯ÏÁ À°ƒ»ï¼a¸t(""""""""G!ême_ps§d“àÓRvM?ú)çòå‹ùÞ(Óôf·†ýÕš^ûšö?ÅŸüÀÁ—¿õ%fÅFsl_©Qž‰ꤡl?/þàEêò>Íì´±[Â%;;›šš233IJJÂ0Ù±,‹ÎÎNjjjÈÊÊZE6 ÂC ,èðZJÎ×€¡»Bn>6›½g¶Ãî€Ã–ÅÅ C£{vB ,ŒÑ˜ñ0ÒBé‘RºRæ’ßo!q¹Ó™‘~ŒÝþ _Ós¼ºw?góV1É×7ÈØŒÍ`bì.Žœ©cnzæÅ.Â4_8I­-“ÙI—€ 5ã­—¶S—³Šu Çá1†WεO±Œ#¥-4u½Æ¿Öë³çþëqÓâÓwåÒØw„P 6;¶(¾3 _Eùn6íÛKÉ„ÕLŽÕ¼†"""""·2ôa3m؇ðÒçò¸2Y¸î·™vàõ:†P‡‰a˜7òÙFØO«ßÂávpydh`w{°ÓÚÏÌ‚£7^ÈõcŽæµ"ý´c8 ¯¨«ƒG‹Ã‘+)}ñ/ùÒ÷Òó®ëWåylLxôŸùîg§Xþs¼ó_ßãÉò‹©¼ùÜñØïó­æ‘sñÙâ iBØô—ÌñY¾ÿÍ5ä\¯'U]¼ú—ŸäÕKÛ®q,Zû»üÓ†¥ä8Ç®ÚÂÂBvîÜI0ŒjÃH$BUU‹/Žº›ËI8Ð¥ËX„î^Ófµ,ÀÄ0,¬‹›†aÐnhŒ,x6¤£¹Š“{·²ýB" ×’lƒpóivj")?Ÿq)>l&*NígO‚…©x 7ùKV2cÓ¼ö¼ŸyKç2m\21Žþ¦ ÎTÙ˜05‡) 8üÚfÞò¬bqA]òÞö:Ò—,gÜÅ¿PóIÞ~i •Y+yxõ”¾ËƒÙ£*g0fb¾XÔk_çù·yv«Õ¬$Ç}uŽ0íÕU´xâp·œe×z\ù‹‰wÁÁjó’»p³j^áõçÔ/›Ïôœ$<øi(+æXCÏT»âžEDDDDn:aÚÊOQJ!7#¯Ý¢³±ŒCÛvRŸ2•©ÎQÊÓßs‘b£=ÌHö†óØz€¶”EŒ»/;¹R(È÷R¼sû}K™žé%Ò|޽ïŸ$2n51ýlâèŒûq½Æ˜£ÕïÒ?Ÿot&œŸÃÙ3eý~f¬ZµjÐW9½>mAn^/á@Çà{‚aÞ}K¿Ÿul}ècÕÁÞÛ_ÔU."""""""ò1RQQAqq1•••X×XÚÕ0 ²²²˜6m™™™ƒ–»zõê›öœßxã u¼Œš§Ÿ~šÇ<ª´¿Þô*`uÏ.jY\üÁ`v» £;Ñ0ˆD,Ö?ttÑq–WžÞĉ¶+ö™1dÌdá¢Yä'80€PËv½¿‡ceÕ´›Ôœ Í]ÀÌq1——Vµpîà>‡ê›üŸ¾wÝ¿Q VN˜ú/ðË-WÅš¤Ì[ÏcK3éoΊ>‡‘F½ð [YƧžŒ×ó<³»Žˆ3žœi‹X½x2ÉN£»Ÿ}Çêþ—Z¾Äêj¤äÀ.v:MU{÷4®´B.YĬÜ8Í® """"rÓ‰Ðzö6o=Ŧ‹£ g*…ó±xf‰N"­œÙ¾’Ĭ,JÆMž«kØùü+œ/ZËú‰ôOªÛÏs/•0ùÁ‡™ë-ë;–³'’?{!ËæN"ÅeŽQ{D9Ö ·Rz`»œ¢¬)ö&ÌYÎ &g»z¬UD¢Í8/ŠñbŸr¯çsýþTZZ:äiçÄ%É{âäõIoïIâD¯$ʲš©FJE‰½$A‚’è}±½œ?@‚Ñ ‚âïs]¼´;ûÌ33÷³‹K÷Ì=óPT\ÜçsK4HÔ2ø´ÙæPE‡MMÃޱ̼Éý.·š&~¯Wß‘qpùÒÅž×ùŶËËËëõ~¸E‡Þ.Ÿ‚-N0!ʼnÓýTÃh,F4#C4%ŠÄ0‘q¢±â$í©³˜•£¢C‘[ÅB÷l,EÅŤfõù|¨¢C`€Y"X»;ÏÊÎJhg:ü]¤¸º¦Ù\w¡÷F,"Ñ]FNDDDDDDDDdNêy]{¹jÀvuuu7µO’»çuÃåËä(ørË}ö‰G‘ ÇNþÊÏñuBdÔe8]´üÃ^¯½±fDÛ3s3Òú.½Rt8)®$¢Ñh¿Ÿ]-:‘±EnéöUt(""""""""2þn,:œ?}~Ÿ6ñptÔ¶gÖ·´Zg‹E#(""""""""r YLëˆÖËÊΕíÏ.)!=)U!""""""""2Öbæ€={´çuCGw aë®ïódgÜô¦{¶ì²ŽNÑàÔ©Ó4 """""""""·™¦Ææ¯…z^—Ÿ;GkW»*""""""""2ÖÌXBÍrRzÏŠìmléym5F¸é«/ü‘Ä£ûèòuôûùùó•P‘qV—>d›xÜL¸¿´Ì”„ÛÚìv €ˆˆˆˆˆˆˆˆÈ8ÊÈȹ©õ“3Rinn&Ùú=g£ÑH¯ì¶þ§d±ÙÜ$¹SHÉLÓŠˆˆˆˆˆˆˆˆL—ëZ‡lc±„ûkkîPPEDDDDDDDD&¨––†›Z¿³¥ÌÌÌa­ÓÞÖÙóº§ðÐbé]h G†ì¨£¹­Ï²ˆ7Ôë}8èÕ(‹ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆŒ1»Ý1f}§¦%÷¼6íVÛ¨vnõôžVÅæðh4EDDDDDDDDÆAfz¦‚ """"""""r …‚~f1í ÷†ýÜ EжˆˆˆˆˆˆˆˆÈ'@skó°×)š<%á¶pÃ0h‘ÛP4J¸­Å2ø M…SDDDDDDDDäÎUs¡:¡vFÐÀi³ÓÜܬ ‰ˆˆˆˆˆˆˆˆÜ†:::G­¯„ Ñ¢.""""""""r‹;âddd("""""""""HIQqBíRR’Gm› :-Ýs;wýïPºN6Ž—hí6~ï—ÿ€wêâwü~ôìÉ]üÁ¯þۮߗ8uÛÿˆ_ùá^Zn÷ñþÚWùöWžåWŸ¯äú_`¨ú~ã«ÿ·jcúaˆˆˆˆˆˆˆÈ¨9]qRA¹œ«©Àë÷ÚÎãqÚ6‡5Õr²ÃÙïòŽÖÞ¸ˆÑpr-Ÿb–ÿU~û;ËáÎ[»ósŒa­®~eÀýöþ ßúÍÿà ßàínvÚæ:þ¿þ{?ãü(?ðÓwú'üæï½À™àPÇyå‹>Ï6çѾ÷(—{ö%Bý‰½x'}Šù¹æÛ‘;OaÚÈnžY:KÁ¹ y\ƒz½× Ó\î›Ú–Uá¾Ä)ÿ°‰Üµed›»'È~Œ^·î™¿À_ýE÷ëð°ö¡rT¶9qÇ{.ó¦ûÉùÙ‡¯„’"+D9ñq+¹ëf‘cê§!""""""r§s¥8ðwô¾ûðRÛèÝ,ìõzñx< ´ÜÞû`'¦ab¦ÅÀ4 £û@<ïùïÕeÄ bñ8ñxœÕ+W(ˆ"""""""ò‰×æ÷ÝÔú½J– 4eëDo:ÅŽ†LÖÎÊÆ¢íå¼øƒ_æÁûäÞ/ý [*ºˆă\Þõ¯üö—cãýðÔ·~Ì•]Äïñá[ßü¿ÿÍ§ØøÀçøµ¿þ9oÿÿ?ä+›äSŸû]þõp[÷· î§zûßòkŸ„÷oæÙ?ƒ³]ñ>ûaøªØúãoóÔC²ñþo:œÿ IDATÏò;ÏŸÅÄÛð—_yˆ÷?ÈÆM¿Äü×!š#ÝÇ1Ð~ßøôÁpÝ{üÉdãýñùïþ»êCÆbèàõ<½·¢~÷¿ñ;_~Œ÷?Èg~øµ‘ÁÖ÷qòß“_ùë#tàÌsÿ_û‡ct2 ×ïäG_†ßüùE"7£#o>wg¶°«¼(k>Í®æ,îže±ºêÆØ6ô=~évÒ8ÄX‰ˆˆˆˆˆˆÈíáÆ¢ÃÑæñx𣠴ÜBÁ ¡PP8H0Àï÷÷ü ƒ„B!Âá0‘H„H$B,#ŽÅbbµè^}‘Dô:‹gtV__GnnÞ0Ö0€øúáN§ñÔ‡Ôg®fn¶ 3™™þßùnç^üŸüõóGØð«ð\x“ýÃA&õÇü÷EN*_ýÿÏ_¾À”?}–›ƒˆ?Âü_ý1ßÉ:Ã?ÿáßóòª_æ»ÿü‹xßü>ñ☙5ïðo„xèÿ…ïe5óÞ_ÿ ÿ¼cß{°–ëö£ýðËl)ŸÁ¯ÿÓ÷Xâ¸Äþc~|°Å’XýkË—gçckØÉ_ýð?ùù’2>ëx¿o|Ч%}_ÿÞ7X“ÑÎþçÿÿãL&ýÑÃL±ß‹6 yß{æ!¾wC™ë t¡ÿãùî´kmC5ïð—ÿx€)_ýß|wQ*-ýºA×ÿï«–bûËíœj[À2G бàË%؃~F7ܸ›¿ÿŸ'øÙ?ãO7æc%NÃõÇhÉcáªt^ùè4ŸÎÇRñ1 «™›cIèØ`¬¾XêÒ_H‘Û„Óê&ñjŸF$HÜêèyïvX†\'5ÅE{‡_"·”ÏçÃ4Á0 LÓì., l6‡»ÝŽÅbÁ4L Ó¼rZ:NB§È}çyã¹×8í½n™%™‚Òy,]º€’t[ÏÙߘ¯–cÈžòZ¼1°xr(ž¹5ËÊÈ´w·‰‡Û9dÊÏPÓze.{&¥Ë?ͧåà$Š·æ;vâl}qOóV®cͬlF÷~ûëŽóÑ­i¦+–”É,Z»žÓÓ°õìäPý@<ÔFuù!ö,§Æ›Ê¢'žb}¡£×áG[ŽòÒóïs1tÃß¡)÷ó ›JI0pq:N½Êó²yè©UDúÆÑLÊ¥lÉ:ÖÍÏÃuu,Âmœ;ºŸ}GNs©3 XðäS6oKÊòq[ô™hF’7„[ϰï£}<ÛD0“ò˜µd-wÏÏ¿–ôZ¡Ý[^䣿t–=þk zç.DšØÿ³-|PŸÉº§7³Ø]Ó'±%çS¶l=wϹ–…Dr-ÑR±‡÷>.§º-ˆáÊdÚüÕlXZLò€yÏh勽s·Û#Ǽ³9Ƀ·|?Æôö͋㑆Õ>`{ÓU@ÌéŽø˜îÂaþjæäÎz2WÏ&Ç1À’\Äü¹Åd&ƒeÞÜ•^ÑÁÓ{i™ò$¿}÷Ò XüðgYúñr¨ÖO `M)fNi>.“» ³ðÏÇô¬t:æ–’r¬_8Žy~?'Nìção½}e Šr[ñǽöƒ’õ¬Îú7^y;®G7°z½ @j)õÿÆïÿ`+'½€1‰M8ÚoúšŽTr³SIJNåîÍOð־é晒×Ò{2—òû?þc6æ=ë¶ÿ1ÿcO÷ëÖŽ'ÐSœ£ùôn'=η×L&ÍKnjÏâÖçže¬qÿïŸicnê^³¯OuѼsð1¸^¬î}þð›ï3ë+Ê6æwÿ‘¾a¼ÁNÁ¤nýˆÓMó±TGÚª9äYã4ylƒ³ 4V"""""""rÛí¢C WÑa¢Tt(ÁŽ]b1-˜¦ymŠåxÃ4°˜&‹»ÝŽÝîÀb1ñûD"Q"Ñ(†a°tñ’¡7bIcîæ§¸w² ¢!¼m—9µ÷¶¾x‰•›`q¶¢­w+»Ã³Øø¹™œbâo¬âÄùpÏÌ(Ñö ¶½ºóî9¬¹ç³<”‚Ýãm¬âbÀ•gßcË»—É[u?Ï<’BèÒQvìx…ׂ›xì®,l˜fGþRÝPD¦3JKÅ.ÞØ¶Ãýø•‹o‰ô‘¶s9 ð®%˜‡Ï|ü®Bîyz 2n²ê¯'ŽNb‘­Ux{û›¼ïy’û§{ XËÞ×_g¿¯ˆ¥ë?Ã…©ØÂ^š.ž¡¼®ÿÌ|ÜúÊ‹ˆˆˆˆLLÃÍâQ,¹Kyrm™®8òæ¶·Ù™ö÷ôþD›8¶ï sžKzϦbtTîãॽªë®ËA"þvÎä]Û8˜õ8+óìcŠDr­àå}¼ñ~5y«å«ÓÒˆ7gûÛÛÙ–òÎNíç>¹ÑÊûÆô¶Í1ï W‹ƒ¡ûè}wÝÎ$|®„Û뼃ØfüÁcÿâŸði[ [ÉW‡µJ¼å4;jÓX3' ô²×01ŒÞ[¯mFŸ§,XŒë»¸Ú"F8#gíïóÏß]EÖumâÍ»zíéwñ•?™Có™øé?þ.ÿQðEþðkËqœø ?z9Èc?øþ,¯™×¾ÿ4 #¡ªqƒ‘X¼O,†6ðñøN¹zdD£Qâ†Ñϳ(^Â,[“Ì{bŸç ,þÅ.hIx ÀÌ]É/=ÜÎËî¢âÓS™Ÿlô{Œöü…¬J~—`¿”̪ÏåaMèØ®a¬ßŠvOp¬DDDDDDDäŽÔX_Ovn.YÙ©45¶+(2¡U¯Âátb1-W ÁjµDZZ­Øm60 ¢W ãq0 “h,Jœ<âÂbÇ“YÌ’O§`{í%>úðSO†¿‰s &ÅŸ^ÈŒ¬îÛ®…³X}õžôX'gwíâ¬s O<²„ÜžÓçÒ ÊHÕsloöEð©ù¹Ý×ËJWr_¬>ÞGÕŒû™á1päÌgMε]Ê›µ˜å¯pª¦å9ØB õcËYÄcO¾*Þ<^9Ž£f`Z]dN_ÄòÊJÞ¯lÂ?ÝJóžíì÷•òàãk™štå2›#ƒIeË™T¦ïºˆˆˆˆÈ'‰-£Œå×Þg•09©‚z˜8Í+ê$gv!œ;Èšî)vw· \æà¾Ë$••áºÔÞobu¥QPRJÑÁK´"ÀØkÅ v6p3gF>© h&e™'8Ø J?…‡ æyCæ‹ýìÍíŸcÞ9v;ÞŽ.<)Iƒ¶+,šÂ¥šê!û»ZtÇ»oä‚9‘‚aI[€sáŸaÉX‚aKýÄ ¶aKÅ’±çÂ?Ç’±hkÆi9ý!—SW2?×:äf–.%­ú§üôã‹´{9ôÆ 0籨ЙèH5m>ŽÿÎÿy÷,Í>?M»Ùy¢™ú^û¦ñÈvÞ9\ ‹yàÙtÚÉ9/½-„ÝeÛè¨<ÌÑúÀ°ãó5RUÓLgûEv½²…J÷BJ3ÍaÄbèã‰\ßfúB’νt%nÍ\¨nÄj}“¯&µüßù—½NV,+Â9ĆIÔ×Dí…S¯l'b8(~à×ùå©»ù‹¿~ŸÚÈãí(`Ñ27Çÿó9Ž&-cažuÐ}‹^·ŠZƒXk9‡*êim8ÇñÓ®!ŽÆX‰ˆˆˆˆˆˆÈÄÒØØ1j}]-:Tt(·…¶ÆZëjil¨§¡¾Ž††z._¾DCCmm­´µ·ÓÒÒBsS466ÐÐXOsS3ÍMM#ß°5ƒi &cm8CM{l2œ.œ8C¿Ï­äĽ—9y)Ƥ3ÉàúV´³– TÊJ2¯»d’RXJn¼‘ª–ÎåEtÁá¶aÞL?·Ša@×eŽŸ P°d!S’L}±EDDDDî±0þŽ:Ê?ÚɉH!s =ƒÜ"f`ϙ˪™gö”ÓˆÐtrÆLVÍÉêÿ‰lñ(¡®f*ï哘™ãºÕIžüYä‡OñÁǧhðh9½Ÿý­©”•dô[8ZùbBn÷ón¨¢C ¡¢ÃÞiyb7fY¹µÄ±Dq †™<ÇÜ?з¢×¼VN}p‰”UŸ'/Z;Ç”ûùÎ/6ò£¿û›#¸§ßϯÿÖ“ÌrC¢“Ý8§=Ìo~µ™¿ü×ïðÔ_D i>_üÞ70{퇛qŸÿùøak S¸ïW~‡¹©àZðYÞö}~ës?Á³ð>Öf»ˆFâ r$è%nùðÇ_çÇUAÒgÞË/~ë!¦;Zùh±ôx¾ÿû,¾¾MÉÃ|û‹õü¯ÿý˼Ðê`ê™ñ.‚Ñ×_ wë þ¿ ®`ù$ûc@ÞBîrÿ€ÿùãlþÆÚî¡5“_ù ªþø‡|ÿU÷wŒ&-ZBúO^À¾lù¶ÁmÍuÛyúû¿ËVâÏ¿û,ÿjŸÄâE鸯<17ó&ÇJDDDDDDD&žìì”~—·wvš|í3«Å$á±:ðF‚ý®3iÚd.V^PPå¶ô{1Âa0-˜K÷,4V+áPÓb‹F10°X­X­6"‘î[”=±>gj.ÉF-þdä±ìže´lÝÁýË Ë²tñlŠÓ˜@Ø×BgÜÍôTÇ€Ñ"A/!3‰4Wï“¡†ÝMš=Js ÒßZ4WàL¤€»§¤b‚#êgþKlû¿a€™DÞŒ¬Z½âäáN²'‰‹Çˆ…ºh¬ÜLJU“ïÍÆÒy”¦ˆ›ié.Tv(""""rQÞäÒ®yá` q’™yÏ=LMb.LÓMѢ彴‹=•¥\fÊ4î^SÍ‹?›ŸéÞ·ÂU›˜—eÓ|qh·SŽ)ãÍØ°aCÜï÷ãr_õîöíÛy‘Q²qãÆ^'SÓ˜X± ËéÂðÙ¾½õÖ[ 5Ï=÷Ï<óÌ m–,Yˆi±‚a!‡$—«ÍıX­˜†A(Á“ä&))™Î®.v~¿8[_{eððçvbÛø÷Nî}^=Úr„-/%ç§Ø0éÊ 4Q çNpààN×…I/]É}Ѷ›ç_9ÏÔÇždM^ÿ< Õ}Ìó[Yþ䣔&_÷Aðï¿ð+ŸäÑéžë>ˆã¿°‹—~~†ô»7sßì4¬#éÇWÅ›/}„sã¬/tô>F_# >9Y.ŒH®ÖŽíÚÁ!_›žXÍ Í{í[Ç©Wyþ@6=µŠ‚ÈyÞxî5N{¯~n%%w 3ïZÉòÒ Œ†=<ÿJ%Å^O‹;^à…íWÚÛ(\÷4O.ÌHðb™ˆˆˆˆˆŒ—‘ç @>“Ú'g’nŸ»g`Ú\¤Îæî ^ê^/ç|ûLîʸE·5EZ8¹·ëâG¸ï®+ÓC—,ãÓñ6žßy˜Ksîeª{lòÅÁÜv9æÌb#[5ѢöÎ6Ò’Óúl6a£QtØÖÙ¡Á'íí]äå§ŒZ×vt´ÚÖ kdܦAjj “ŠX¶l99¹Øìv Y½z5Üwßüæ¯ñ¥/} Ÿ¯‹ªªsƒŠŠŠ(,,ù†cT¯&”5ƒ¢Ô~ËI™2‡y¹vÂ01Os¦Ø¸¼ÿ ç½ý_0“ó˜–ì§ò\¡ž¥QÚ/VÐhÉgjƵ 0‘Ö“¼ûê.šŠÖñàòI¸Œ‘õ3²˜[°˜¬æ`…›1"Á0X¬X¨ï4<Ì-qRw`?•Q}±EDDDDnû\-‘¼á†œÈb’pkG>Ëÿ2_ûòc,α c¿L ÃÀ4nap¢:qlNÛu…\V§ +a¢±±Ë2ñsL¹!åT0ЕpW9YEý.¿ZtèºîË0¬É°«ªª).žrSÇ™–œ¢ÁGuµýß œœê¦³ÝGVAM—›úm3µdçÏUö¼Eƒ˜–îÈ))é ®L8K—®dñÒL™ZLÀïgÿ¾½\¸x‰ÜœRSÒ8sö,û`Æ x’SX°à.-^ÌäÉ%ÄÁÍ÷±0¾ö:*öÀ®‹é,ßTF¦¢ígÙs´Œ’&ey°Û¸|æ ûš<ÌXžËpR²j=ó^{‹­[,Y½˜Ù“2I²Å´]æ\…©³Š˜¹|Ƕ¾Ã»® ¬œ‘FèâÞßÕDLºò ÀH{Û^ÝAmÁz6oœÙwz0KzBý -Š÷Òª#YLÉKÃmão­á臻iÎZÂúl{Ÿö]õut¸RpvœgÏáf%+IµCÖ%»™²| ÞàÍ-Aš×,eNQ.´Ô”s²%Šk–]†™h†›7„h<~€³–"J‹²IuDi»p„÷öv»b: ÖZI$#—ëj¹ÀáãÍZÁäË­ ™#‹%nÊwÈAÏjæä»‰µW±g±IÉKêï`ÓG'_ìÇÄÍ1eÄ_1gRÂmšjýÜï¿vîÄØ°aøϼ}ûv¨ˆˆˆˆˆˆˆˆÈ(Ù¸qã-Ùn<ư÷>û_ßÐHnN6 M-:°O$£æ¹çžã™gž´ÍøæÎG{[+óﺋ‹5™®æB£—(€-ƒi‹Örϲ)xÌ(]—ޱs×!N×váÈšÌì¥kX1#»à§úÝçyéDßcOé#|á©t_^ªŸ(͇_æ¿v\¾¡&Ð$kÉ<½:1:ÏÌ;¥ªíJ+{6eKW°r~1évb­}ùy>` _Ø\J`ÏžßÛDÌžJÑìl\YJ¦ÝèŽã ;±mìªåkgZ©<¼‡½GÏR×ÕýGNËW­`á””á=]ADDDDDÆA"yC'çv}Heú2ÖÏÍÄFÆã»ùðèY.4v,É“˜¿b +Ërpö7Ÿk¸Ý[ÞàÂÜM<1/þêé"MyñÕJJÝÌbwMß\ΚNÉ]ËY³x:YsŒâ‘H®D;©>¼‡½ÇÏPÓkS­åžeSI±pC®5—t3‘2335ê"""""""""@~N6µ „ˆˆˆˆˆˆˆŒ3;ù+?Çב É $ܶ§¢0èõéovdÛÍ?17=[£"""""""""2A\-:  †ˆˆˆˆˆˆˆˆÈ'T(ê³,;)£×û‹/Ž¨ïžªB‡Ç…Õ›èŠtiEDDDDDDDD&§Ó© ˆˆˆˆˆˆˆˆˆÜ†ròshoo´M4鳬±«¥×û5kWŒhû#*5Ì›”ßë½aÆ5’"""""""""XGkûˆÖknnRðDDDDDDDDD&˜†ÚRS³mãr¹‡ì§ê|ï'¦z< mD…‡uk{½ÇŒ>mò óú]75%Y£.""""""""2F¼!/©©©}–§¤§Ž¨¿ÌÌ,UDDDDDDDDä*Åãêõ¾ÝëMh½šVëmê.ÕQY]Õgy$Óh‰ˆˆˆˆˆˆˆˆŒÝC{{û­Ý‰xP!""""""""2L›1ÇÀO1ìðúGÔ¯u$+Å"‘ÄvzJqŸe]¾.jkk5¢"""""""""ãÀçóáv»‡µNÝÅZò&å'Ô6‹aš7Üßl8x‘  ò̱1é·§ð°¡¡œœœq9˜üü|¨ˆˆˆˆˆˆˆˆÈ8H´è0 à´;.:0MoGž”$[DDDDDDDDäÑs+ò@E‡UÕ%‘O0«ÕÕSt8#í³LE‡"""""""""·Ž¯Ó €'É3nÛ4‡jP­Ã4†#˜¦ D‰D"D#qJ§—rêô ŽÛá Ã磹©UA‘ÛšÝmómt´vŸCIè1†ƒ=E‡©žÌže*:¹uŒ1,:Tt(žÝn%Šà°Û±ZMb±áp”h4@4Á0!‹bµY0ùD*™2càc‰õ15?«çõ”’R ÁÂÃþÔ]®ë³¬ÝÛ¬‘¹ÍEþîÿÆÂ †Ü¶L‹•x<†aD"a¡(6«›Í‚ÍÖ}÷¿ÝfÅî°‹Æ0ùD:W}fà¬<_ÛÔóºú\ÁÎÀÈ ó ò4*"""""""""Ÿ@§«û¿¦MÁÛV²Ó†ÓfÁï÷ŰY-€i„ÃAlV ‘H‡ÝI$QÀDDDDDDDäŽÔÞÕ1ìuÉNzæèh÷‘’êV$EDDDDDDDDîP••”N›Öó>‹c1÷g³ÅT¹e:‚:}A\.¦.—Ÿ¯ Ó§£³—ËI<§¨ ŸŽÎöÄ;öçç^ã´÷ºe–d Jç±téJÒm\ýÕÄ|µûøCö”×âÅ“CñÌ…¬YVF¦½»M<ÜÎù#û8P~†šÖ+OµgRºüÓ|jQN¢xkްc×!ÎÖw÷0oå:ÖÌÊÆaÄñ×ç£ÝG9[ÓLW ,)“Y´v=+¦§q­|x¨~ j£ºüû–SãMeÑO±¾ÐÑ7ñ0íÊ9x¼‚óUµt¦/ã3O® ß>Xàâtœz•çdóÐS«(ˆô£™”KÙ’u¬›Ÿ‡ëêcÂmœ;ºŸ}GNs©3 XðäS6oKÊòq[ô]™†7 ³ôn`÷–ù¨9e?Áš‚r—Hû¶…ê3Y÷ôf»kúä ¶ä|Ê–­çî9lc´B‘P®¢¥bï}\Nu[Õɴù«Ù°´˜dËHc–h¾Ø;wÏ3Úr”—žŸ‹¡Þ{áœr?¿°©”ý’ÆDÙ”"NU×ô¼OMJ¡®£ƒ¼”¡#ž™“OsC-ÀµÂCŠˆˆˆˆˆˆˆˆ|2Ym6"áÁ§MÎÎÉí³ìfŠÂaCÁ—[¦¸h*ü‚|Š‹'óíßüo4Ö×ñâóÿɹŠrŠÒ“IrذÚ#­?¼Î-iÌÝü÷NvA4„·í2§ö~ÀÖ/±ró,ζC´•ãïnewx?÷ “SLüUœ8æêÄÎÑö ¶½ºóî9¬¹ç³<”‚Ýãm¬âbÀ•gßcË»—É[u?Ï<’BèÒQvìx…ׂ›xì®,l˜fGþRÝPD¦3JKÅ.ÞØ¶Ãýø•‹o‰ô‘¶s9 ð®%˜‡Ïöìq>z×G)Y¼”V=Hz² §uƒÔG'±H€Öª¼½ýMÞ÷<ÉýÓ=¬eï믳ßWÄÒõŸáÁÂTla/MÏP^ׂf>º²!""""2 ;oH,géË€hÇöaÎÃsI·\믣r/…èµâu9HÄßNÃùƒ¼³k³gež}Ì‘H®¼¼7Þ¯&oÕ£|uZñÆãl{;ÛRžàÑÙ©ýLi;ZùbߘŽkŽ à*äž§7± ü¨Ž IDATCw–—닯J¤èè):„fi^\ºX¹íXHJöôY:XÑá¼y‹hl¨ï÷óÜôÌA·xùº“W…B! …ÜrS3âÜ·|6ó&§ãvDˆF¢xÜÖ­ZβYS™]2‰Â¼,\.;VËML+n±ãÉ,fɧfmv{?ª¼ÝOuäÌgÍòRòS]Øòf-fAšªšv öcËYÄcO>Àª™¹$Yû/ö×ìeÛ‰ ÞÌ}K¦“Ÿž„ÓjÞäh˜V™Ó±|ŠAme~\ܳý¾R|ü^–•d“ì°ãôd0©l9÷®ŸC¦Ußs‘‰hØyC‚9K_NrfÏ$¹î j|ô´ \æà¾Ë$••‘íì?±ºÒ(()¥È¦=Óx kÅ v6p3gF>©.iE3)Ë4ñvˆÞD̆Ìû1ž9¦LMÍÃ^Çèðöž§ù@ÅQß¹ÌÜLˆˆˆˆˆˆˆˆÈéhk¢tuz^'/;cÇÚ¦¾µyÐÏ ròû,³Ûí¹åÒ“ÒHKI!+=)™9œ9qœí[ß&1É›6ÓéÂér’‘œÉ(L nÍ`Ú‚ÉXÎPÓ›‡ g€ 'ÎPçõi÷^æä¥“Ì$g€ŸL´³– TÊJ2¯{H‡IJa)¹ñFªZý¯ Їۆy3ýôÑÅåòjbS–2¿Àɘ]62 èºÌñ³ –,dJ’©/´ˆˆˆˆÈmcøyÃÈs{Î\VÍ48³§œÆ0@„¦“{¨0f²jNýÞ¯êj¦òð^Î1‰™9®[3Oþ,òçøàãS4ø´œÞÏþÖTÊJ2ú}Úãhå‹ ³SF*ÙíVûx|èóY™ÙÃ?âIÁb±FlèH±ìø€›ë›5ê"""""""""c$%-£×ûÉÓò¹PY‹¿«WRj¿ëÔ5ÖÝÔ6ÝÄñ¡;ÖebJò¸…ƒ`ƉÅôµµq±ªŠ”´dÊæ,Äå°ræèAœn9¶ÔQÙ¦35—d£2òXvÏ2Z¶îà¿þå…e Yºx6ÅéL ìk¡3îfzªcÀ_Q$è%d&‘æê}©Ì°»I³Giî÷©š+p&RÀÝSR±ÁõÓ—ú–ëQ^ÿÿÞ¤¶3 fùeK¸{õ\ ÝÃ+N,% uÑX¹« &ß›¥ó(M7ÓÒ]¨ìPDDDDä62‚¼!r39‹é¦hÑrŠ^ÚÅžÊR(¬gïÑ.&¯YH¡³¢wÛhÇ_þ'Ž÷,°“·p.iàiêfÊ4î^SÍ‹?›ŸéÞ·ÂU›˜—eÓ|qhc˜c^å¿Ä¶ÿø¶˜IäÍXÀªÕ )NÖcîÒ鼸Óf:Ç‚Ã6'†16çstÅF4:xQáõE‡µ—/’_0‰Ôì\Úë\§ªª†ââ"¶ˆˆˆˆˆˆˆˆÈ8»PÙ=ò@E‡7Í0ñÅc ´LXŽœ\ÒL+°Û™1É'á ŸíoýŒÉÓç’[2‹æ §‰ŒÒ¬Z†a`@<8ó±éKe4œ;Áƒxõßw“^º’û6, ƒîvÑø`?3 FËýv³õ£ ïÞÌôs„ý &‰cM-dÉÝ(ÌpC×e޾¿7ÞµðÔCsINía´ò×þ•r¬¤äNaæú‡Y^ìÆh00ˆsm—ƒ\Üñ/n½òÞFầyra}ÝEDDDD&Žä 7›³˜)%¬¼ë/íßþšFjÓñx±³õ††–4æn~Š{';‰…t4œçÀÎ÷Ùòv„§˜MÚ-K.âøªwñêûuäÝý8OÍÎ"ré;ÞWx”MKs°Q¾8Ô~iŽ àÌgíS_#'Ë… ÒÕZñ];xãµ ›žXM¡C?©‘Ç‚ÝçFl½ŸŒØÒî%#Õ3jÛ1òS†×a~Á$€A‹ŠˆˆˆˆˆˆˆˆŒ³ *û]nÆŸÍÄN ­Še‚k¬«ÁåpÐØÒ‚·+B{[+ÑH˜X4JZr UgÊ û;qzRˆÒ“;CÞfºânÒÝ×=‘Ââ&gÆRxúË|åÑùØ«>âCõÄ“2I1½Ô5u1Ð\DVg*n|4ûzÿ&ãA/m)®ÞO¾7çwÊ1çš³Òz¦n?2-Ø­ògÏeF^n»wz1w­˜‰³ñ —:‡ùwÁ’ÆÜÍ_ã;¿ñM¾óßà?ûkgf`7Àš”IšÅKmÃÕø8˜´î‹Ým¿ù%¤/¹ˆˆˆˆÈD4‚¼áæs+™³V0×RÁÇglÌ[1sˆ›¢ L›‹´ÂÙܽa!îúrηGo]Ì"-œÜ[‰uñÜw×$RN2J–ñéuEtž8Ì%ßØå‹ƒó°¸³ÉÏraL«ƒäìé¬X·œß9Î4õ{îÏïÊ­y§+OS<)€¨íÚ£Ytؽ=àrkëMuâ÷]hȯQ¹E&OžÖïò˜™øI_íZÛP,0¬íÇFëÑq"7ÉbñÓÐxŽœÜÒ22él­ÇbÆiïl#®Ç°uàz >ÂÖö›ß`¬ƒêãÕ„²fP”Úß.+)Sæ0/×N8&æ)`Η÷ä¼·ÿ‚=39iÉ~*Ï5êY¥ýb–|¦f\{ôC¤õ$ᄎ‹¦¢u<¸|.cdý Êæ!'5Jó¥6®¿üňV¬ƒ>Õ"F$‹Kuž†§€¹%Nêì§²3ª/´ˆˆˆˆÈíbyèä,Ž|–?þe¾öåÇXœ“ø9Ã41 Ó¸…1‹è ı9m\{¡ÕéÂJ¸Ÿ' Ž^¾8qÉ1 Ó2DŽ)ýgÞÝùóÌi3©ºØÐ}~$ƒø±wx÷p ­]ÔŸþ˜·v5‘»x“\Ý»i¯`Û«;¨-XÏæ3ûNfI¬Ÿ!&Í-&Vþ”×Ó ák>ÞP2¢ä/fD骿DmG'­O°çp3ŽÂBRºèfÊò ,tWòæ–­||¦žŽ@˜p “ú³åœl‰ârZÑe(‘ fØyÃèå,GÉn; ͘ ÓÕTÉžãÍšÉäË­‹™#‹%nêwÈÁ møÃ!ºš*س³‚ؤYäõ÷ÀwË(å‹ý·“(ÞK§8QÝ„7! ÓÕtŽÝïí¦9k³³íú=3½Ÿû† â£ÕY Àéì{"Ò‹1¯1nß¾]£(""""""""2J6nÜØgYKK #î3Ža±õ¾1¹­­´´´aõóÖ[oi€dÔ<÷Üs<óÌ3 µýÒ¦ù´úBÔ·D)-)#9ÙƒËfÅîpRù(>_;ab˜ŽT"~//o=™ØNøÎóÆs¯qÚ{Ý23‰¼óY¾b!%i6 ÒqŽ=;÷q²¦žŽ `ñ]4•¹‹—1RÒµ a‘ªŽìãÐéj.4z»ŸM`Ë`Ú¢µÜ³l 3J×¥cìÜuˆÓµ]8²&3{éVÌèž’üT¿ûÿ$þ.áhœœº|>r²2èôvàokÁçk%  ÙˆÇüùá1XDDDDDdDšóÒËå<ø$k ôT;¹³Ý–…‡†ñøà7^_tØÜÞLfjfÏûäŒl:[5ú"""""""""LÌcÆmX‰aÅ¢C »èÐjHtÀ6«“`$ [êW¾õ{M.Æjµàp8‡B˜¦…p$Lc}5ç+0 ÈÎ)Äœ¢€‰ˆˆˆˆˆŒ‹'iOÅ=9*:¹1˜Wžz³l.apÈv—“¨¿û¼_OáanV&õMÍ®t}Ñ! ¢C‘ "n50"×&6ñ¸ŠðùêÆnƒƒ*:” aå²Å7,¹6o~v:óçÎRDDDDDDÆü•Ÿãë „ÈM­¢C ¡¢C §è°{ûW Vt("""""""""×õE‡@Ÿ¢CÓ4ÇlÛ1¯W """"""""ò ×\ÛÐ뽩ˆˆˆˆˆˆˆˆˆ|²Åb±­çOàNgÓãð3ïÙƒ ¾ˆˆˆˆˆˆˆˆÈe ã´af~N¯÷!EVDDDDDDDDäær9ú]ò…ˆÄ/L\¶ºPAe£4»q|ˆÇvCó€«:œvÚÚ»4J"""""""""·x4ŽÃeÇi½–§egŒêv&Mž„ÝmÀj8°–Þ ÌhÏËS$ ŒˆˆˆˆˆˆˆˆÈ(KÉÊVû+§ó”—YÔïrÓ¸2qКŴT¹ƒ ?D ïµ¼­±eT·sñÂÅ^ïÃñhï±k…ˆ4j`DDDDDDDDDn‘ ~®L`2 ºæša÷mŽöζuµhÄDDDDDDDDDÆQ{kǘö?{ö¼­g 48"""""""""ã  £ïS¸F};_÷,Ê£^x˜–”¡QG©é)ÄBÁ„Ú¶‡.RÌÉÉíwyyù±íל9³48"""""""""cÀ·öz¹¥‡Ý:亓 zŸŒr‡iÀéîžEÙÔˆˆˆˆˆˆˆˆˆÜþL»€ƒÏ›’jK𳆆úáo8f(ø"""""""""ã,jDú] õ]nõ؈;¯• ^¼Üû< ;Ao÷Ív­ÿ~c!ÑkŠÃ*<¬khö¦dfj”EDDDDDDDDƉÛønÐŒ+è"""""""""XÄÆÄzÏš2yê´ž×O÷Í!ïÀ76;-öž×fUuUÂ;—“5ìîhnÖȉˆˆˆˆˆˆˆˆŒ—¨½×[‹Ý¢˜ˆˆˆˆˆˆˆˆˆÜ¡®ŸDÙætôúìÂùÊ^ï£XêÓîÂ,žR¬èŠˆˆˆˆˆˆˆˆ|RXB½ÞFCQÅDDDDDDDDDäeF[ ‘„Ú¹mIÛjùf¸’’5Š"""""""""cÈy‘a[gרïϾ#å‘1ÔÒÔ”P»Æ¶ÆQÝ®u¼ÐßÕ©QCËȧUNKNõýÉ.É֠ȸkiïÀjZˆÇ㜭¬äÒ¥êk/SQ~œú‹°Ûí•LgꌙØí Ã`RQYY9ìÛ¿_øüçD™Ð¬V+‘H÷Ó 3²²Z';mtÏÕ «ðÐïíÄåIüÉ….— ¿ß¯‘¹Ô×5’›wó'"ïžåP0eÜÅ¢1"±8µµµ46ÖÓÔPϽ»9¦‚Ææ¬V m„B! 'cµY 8Nòóò@™ð®ÞJV·Óƒ/àM¨ñpŠü~?)))tttÐÚá%=Å£‘™À†SthXcÄ#f¿Ÿ…Ï]V0eÜ…ÃAÂá0µu—ñû|Ô\¨¦¾®Žãgéêòa1Mjjë „ÃØ²²r°Z¬\¬©¡ pÒÐðçç^ãôõ§Õ-É”ÎcéÒ”¤Û0®,Žùj9öñ‡ì)¯Å‹'‡â™ Y³¬ŒL{w›x¸óGöq ü 5­áî…öLJ—šO-ÊÁIoÍvì:ÄÙú.âžæ­\ÇšYÙ8 €8þºã|´û(gkšéŠ%e2‹Ö®gÅô4l=;9T?µQ]~ˆ}Ë©ñ¦²è‰§X_x]q¤‘½[^àÃú~¦uwqßçcNª9@àâtœz•çdóÐS«(ˆô£™”KÙ’u¬›Ÿ‡ëj7á6ÎÝϾ#§¹Ô,xr‹)›·ˆ%eù¸-ú΋ˆˆˆˆL4Ñ–£¼ôüû\ õ^îœr?¿°©””þ2†¡ò‘>É_»·¼ÈGÍé,{ü ÖÜÐ6ÒÄþŸmáƒúLÖ=½™Åîš>9ˆ-9Ÿ²eë¹{ε¼h,$vl!Z*öðÞÇåT·1\™L›¿š K‹I0ï­|±wî6n9æ¿+Ò­âôYJgN“¾-Îd¢¡g7¶^-:´Yœ„£¾-ìqfLřӧF´#W‹ŠˆˆˆˆˆˆˆˆÜ†ìV7¡ˆ¯ßÏ*:8Ý•«àɸ …‚´´´à÷ùèìì qüäI‚Á Óì6:­šƒa*ÎV2³léY`˜ƒAL3Á+M–4æn~Š{'» ÂÛv™S{?`ë‹—X¹ùgÛ!ÚÊñw·²;<‹Ÿ{É)&þÆ*Nœ»ÒM´½‚m¯nç¼{kîù,e§`7Âx«¸p`%FçÙ÷ØòîeòVÝÏ3¤ºt”;^áµà&»+ ¦Ç‘¿”G7‘éŒÒR±‹7¶mÅp?~åâ["ý@¤íGÎ(¼k æá³}ۚͲÏþ*Ë®_ëàÔÖ-숔Rà1‡7X=qt‹h­:ÀÛÛßä}Ï“Ü?ÝÁZö¾þ:û}E,]ÿ,LÅöÒtñ åu-øgæãÖW^DDDDdbrrÏÓ›X‘ØÝBCæ#ý2 Úı}g˜óð\Ò{6££r/…èU]w]ñ·Ópþ ïìÚÆÁ¬ÇY™g³P$rlÁËûxãýjòV=ÊW§¥o<Îö··³-å Jßlk´òž1·s„ßé6XÑaQq5Uÿ—½ûŽâ¼?þ™Ù^$íªw!QDodªÁÛ`lбØqâ\ì\O~wÉ/õr½åR.wÉ/—8åb;&¶q‰ `š©¢ˆÞA „ õÕJÛÛüþMh…VBÛß7¯å¥yæ™gfvçyæ;Ï“øÁuuçÉÍ-¸òþÚ CUÕ‹Eã.§^¨?Ð%èКd¾¦•FéwСB!„B!„⣯§ ÃÞ$;Rxâ¶;¼c+ž>Ÿ‡­7PUU…I¯GE!šŒ3;ªDhvµb2›±Xm˜-V‚@ßW¨3bOĤ‡cfF#ÛNÐüÍœiT4ic F ÖÁéòrN›'±pÁLFå9±uè f¹Ã]’‚>ÔÄኳ'>̃cópÚ’È6•‡gæâ:°›³ SæXf” #'Å‚Ñd'{Ä=Œsø8{ÞM Át ™yâÉG™Vš…MŸXf¤å4ju _|ÍM¾¾RPõÒ†L¤¬HábU3~\Øõ!{|Ø·x.SJ2H21ÛSÉ^ÆÜÙ£HÓËñ.„B!ÄÇEê#`&sd)IõûØ{Þ‡vyr Ž}»ë° N†9~Doq[2ŒKw r‡·M#ØÑLÀ:ˆQCsH±Xp”2³Øºv4èLë)¥8½5?» [b¾ŽÀ€mL¶#Gö¨B!„B!„w±†††ÄfŒ^*2YMRpâ®äjmÁÛá¦úðn.TÀçõÅÐé"Qކ^§¢ª:Ì+f‹Ûw‚ªÒ\±ÿ+Ö§2x\!úÆSœwGÁ`'ÕàÜÑSÔûcÝf×coJrô5HቻNJj:'*ʩشÒlÕ¾ ½£N‡×ç#æñ¢* ³‰¤¤dTUeã¦yè‘G8sâ°¤ßë6§d‘¤4Òê@j6S˜Bëêͼþ˽ä Ïä{F2ÈiB¾V:4+CRLôÔïC$è!¤ÚpXº6å+F+c”–¸½rDh©ÜË©H.³ŠRÐÁ~¥Ó»˜û,û«"äÏFº¡?)hÄ"QbZŒXÈKSÕn¶U(œ›®ãÍ+ƒ$ìP!„Bˆ -^ý TÙCÇ1múx% p¨’j¥`bo—³«jæ5PqÈKáŒñä™+»ÎmãÈ»/säÊ#ÙãG㸠zSW“3kF o­ZËk;ó–7m!cz¨l T}±w·¡Žy»ŽѣƖf2ÓÒ»Mw:’o¸\·=І0êú>n¹ªS‰Ec²'„B!„B!„¸ÃÚÛ$'÷ñéf-Jâ ºí t(îNii4'§`È,$’š†æ½€Ëå&âb׫5 ½^O›»EQÈÈÊæ§?ÿ!¿kRòM­[QÐ4@Áœ3‘…ŸN㙣ìÝ·—÷_Ù‰sØTž3ŽT:ç‹j7HOÕ¡hº7½kÄ4ªt›î?·“ÕÛ[É›µˆ!Éj?ÓID˜Æ©3 aÁ äþFÝ[ñ+Ž '9«ˆÒÙQ6ÈŠÒ¨  q5ËA.l~“7¸.½7wßÓ<9>öB!„BÜ]Ì9Ì\ú"™é”H¯ë<‡Ë7³rE…K¦“7Àƒ(¨É%Lp”·÷ìb÷ù&.:'²xÕuÝŒ:£-en¡™X8@{c5{·nbùÚK‰ãŽU.4|5弿©žìY‹Y:2HíA6oú¿çqNÎÄx‹ê‹½åë–×1oó±"â»t¨7›‰ï±²[Kb‚ :B!„B!„â.Ñ— C½ÁN$ìéSСw³sU§1[íŒ; @»Û Š‚Þ`£§ÁHF~ǪNaµXPT&“OK3Iδ›ZwÈÓ‚W³â´^Ó#…ÎJæÐÉ<:tÓ«w±òƒí¬ÛŸÍS£ÓHVSßì%šmŒ<§7§`¥†_’®¦©=´E 8,]{¾·aݺc¨cçqÿÇ•}M'š¯–CÇ;H7ŠœþŽâtå¦_÷aÍ4[ÝA.6^.ù÷}†¿ºÐÜ{ï÷–Ã]!„Bˆ»’ΚAŽõr…ÄDRÆî½/@íÛû9Õ<‰¼&Ó“6â^F‡§2™ñd)NôÜïž‚j°àÈɬ9êÿpŒjw)RïPäa¤•ãUèïYÀÃ. ]2…‡´6ÞØz€ÚQs)¶ÞšúâÜŽ:æí?VÄ Å‚ÓÒSiin%‰$ö¢×Œ;ýä©SRâB!„B!„BÜåòS»•b0t¶êFÂÌ–)(ñ±Puê4F“NGLÓhhl"Òb W‰u£~RS’p·6ÑÐØ ª‚·½¤ÔÔþ¯8ÖNÍ‘BéC)H‰FHrÑ(Æd ÂÄ칌*2P·gÕžøö«IÙ NòSu¦™Ð•©QÜ*iÒåPœzõLÄuœõï—Ó\póÊò±(ýK'1QÚΤ:VÀø!©$¶# ƒN.Î/{.£KÌÔïÝCUGTl!„B!>âU‡NÕ¡ïWë 0åP¶øs¼ø¹'¸'ÓЇ|©(ŠÂ­ÊVbU¬ ƒÙpM —‚ÞlAO˜x}Á T}±'··Žy›‘°ÌÔ<<ØeZKs+½>±ÀC›ÝwÆÒ¡Co¸\ªÕ {@!„B!„Bˆ[,ºÔÌkìl‰®¹p®ËçZ›»/öuy𻥠ÅǹêjÌIÉø¼^"‘0uµuX zÌ:B!ÌZ”h[–h˜š£Ç8{úš¦áípc²Øú¾ÂXŸë<6¬`Ã'“f 'MQ÷i¶oÝÉÚV<ÁþöFªöïdw³¡Ã2°(vJ¦ÍfŒé«—¯fÇ©zÜþ0‘HOs5‡Žœ£'¥eCѯcýó¸¼4œÜÁšò ‚tÛ IDATf²î™Hþ¥Ž#îJ6¼¿™‹¹³Yti÷áÁt‰¥“°P#G6`-GQÒnEñ6Ôr±½×…£ì:Ђ)/”„nX)*›Ãxk,_ÍŽS ´„4œ>ÆñÖ(³¹ %„B!ÄÝ&ЧöGkšñ#Ä¢a¼Ígعq'-éc™a¼ekÖ™l$Yã÷(¯.çm®b×–xÒK)LÖݹ"3¥3´ÄJÃÎmì;׆?ÂÛ\É®­•ÄòG¯ªª úb·¯Žy玑˜ÆÖZƇïROˆ~·¿Ëç]DÌÏÎçBý…øçÛuïAUÕñ+ï›Üd¤dv™§Õ¾ò·Ó™„ËÕ!{D!„B!„Bˆf0^jˆ u>>\”_€­íæ.WNg†¬øH:U]j4áiwS×ÐHÈëê×áp&“l2 ªb rv÷Žçôûñz½‰­$ÚÆ‘w_æÈå÷ªì¡cyä©ñ”8:£ê4EEk¯bÛŠí´Œ‚bÆÏ[Àؼα‰U{1s–~šâƒ»Ù¿{«+4ÜU»8Ô‘ÉŒ‘™tëÇ"æâлo°…<»h3›y£¢™˜1…‚‘³™_–K¢#3+Öf,zšœ»¨Øü;¼w*L™Ã){p ã‹’ë]A!„Bq)h¡NnÙÈš¶Kµ cÃ'ÏæÉ±ƒpêXgÊ·QåœÂìÑi®Ü¤ëërz'%f±øž!8oYÜa"Ûf"ïÞùÌ7ï¢bã2¶´…Aï xâ,™RŒ]¹¾®5§:@õÅnéÞÎ:fÇŠ¸+XÍ5yKÊÕ¨Ò¬‚”9sæh·;3~ø¡ì!„B!„B!Èý÷ß×׎͚|KÒovÕ‘îÌí6}ôèÁ9RuÃe׬Y#;H ˜eË–ñüóÏKA!„B!ÄGX¤åo¿{ŒÜyO23WzµŸl555}^æ…^ ¦×£F"’‡T§ƒVW[Ÿ—“‡…B!„B!„øÈÎJæô™ênÓ ‘èM§/èè5èP!„B!„¢«M•Çq§Œ`D¦ Ñ_‰|¡.ï³Ó‹âÎן C¸n¨åx.6’•“Ùç„ujŒhLâ…B!„B!„¸::`HIq·éaýÇ ò‡cX ׎gÑ›ñGÔœ9+;F!„B!„×0’3õS¼$!Ä-g¶v î­o®éW:í~É{·é½¶(ö'èˆtè(tÈB!„B!„â.2A‡À• C€¢’ARÀB!„B!„B|„ *èò>^Ð!ôxð¶ßtJ‡–v›Öv®MöŒB!„B!„w@Qq΀§©×w¨b@†FB!„B!„âãàüÙóݦõÖnÓâµl¶%÷º‚‹õ ädgóÅP­]cOž:Ù㲯¼òŠì!!„B!„B!Ùh  “œe£½ÁÛíóšê‹º¾Úšsä&$;@!„B!„BˆXÐj²t™ŠøºÍ§OÉvà®ïì‰P§ˆÆÂW>Œ(zM‰»‚œì,ÒÓ³hnnètx-‹É„É”B[{ã•i=ö˜ì!!„B!„B!Èÿþïÿu¶ë]:Ô"!í–­3¯¨Ææ2Ó³d!„B!„Bq—È\@mÕù~-[P˜Çùsµ Í«^:ô‚DcaŒêÕaQâz+777tû<òtyï» !„B!„B!n½[t˜‘“ ÀŒi3¥ …B!„B!„¸‹Ä :loiNhÙóçj1› ]¦ 4$î¼Wº*´šM„b7Åf6ßðsÑwz}s“ìU!„B!„B!>š.ÖPYYyeZª%Y F!„B!„BˆÛ(‰&4_rZzÜé“¡Û´@ Üå}ÕÙÓq—Uo×Ff§gÈžB!„B!„âc&âïÚ¹ÕßÞí3§´ !„B!„BqËôº›ZÞ ÷{YUŠ_!„B!„BˆOŽ4GÚ€¦§·ØzüÌ%£ !„B!„BqËèuñÃÿ}šêêjb±˜¢WªªRTTÄ!C0&p, !„B!„Ÿ$Þ@˜×><ÎkëG¥@>¢ z•§f ãsÂaøàÀ‰ã¦áޏùØ F<áºB!„B!„1M® †nŸ§:Rt}ú›Y¸· C§# ×uOPßHee%^¯—… bu)ÄõZ[[Ù±c§NbÔ¨QR B!„B!Ä5~¶ê0k5ñâ§#5IÚZ>ªÎ×·òκ„#1¾ºtRŸ–mñ·Ÿšßïïqž¦ö‹Wþ¾QСÅhÆ È/ç3ÌþãAÑ4 ªžC+~J«mѰ‹- ‡ÞËÔû Dü$§åJ¡ !„B!„âcKÕtÄ”®¨Ç‚aT“¡_ééoefûtpáÂæÏŸN§# ÊÞ½²Ûí̘1ƒµk×Jà¡B!„Bq•»Î°ø±¹¸!uK|D%[Œ<ñÐ4Þ_³±Ï‡i–´+A‡A_“µÿ#FÄ :lni"=-Cv’¸+õ*)ödT-ŠA§CÓYˆýìüà&ÍzŒêÊ#<øø3£1PL$K‘ !„B!„âcìú C × C]L#ªÆïœ0¡ÀC½^O$é2Í–šŒ·µ}@7.c0Ð4Mö´Hˆ¦i˜Íf TB!„B!âh÷…8ÓªŒÄ¤0>ÂÚ|"QWGß{ŒD"èõM€7tØ“ô´ ¼^6›½Ët³3•€«Uvž¸£S*©V+ª®ó0muÆ—ÍÁhI¦hðpœ©i˜M¢>—˜B!„B!>ª«ÎP<¸$¡y{ :„^&=¡`¤[Ð!0àA‡—ÅbÒ.úFU…B!„BˆžùCÒÖòqÐèß~Ôëõ¤¦%ÓÚrsmycFåðÑCq?»>èè :TB eç‰;Fµå …0[;ŸÜW v.Ö\`ðð ¨ŠŠšOfZÉ6+--g<)4!„B!„B|ì.!Ùf§Ý빩tnx ^ 84 „CáÄ6艄#Œ)Ááêã /'AdB!„B!„GšZ>¹¬6#>o覃ƒo|ðIС¸³ZÜm¼õ‹ÿ&£`)ŽŽŸ<ÃË?àïþãß0èt:.üÆ^:šj˜ý…ï'–°¯š•ËVpòÚ¶y]¹ÃÆ0yò8Jœ.÷ó]äðŽmì:vO töL•ŽgÆ”á¤]:E´°›êƒ»Ù{ìç]—Úài +{ˆ'fb&ŠçüA6—ïçtƒ͞˘©÷1cD&@Ã_„í;qú| Þè’ ™8s6÷qpuÀ¤ÞÒ-ÔFͱýìÞwŒóž&.YÊì<Óu¢µrw£¦-ˆbIcðØéÌ™<ˆ$Ý ¿h?ñ>oìÍ`þÒiäFº—£jËbø¤û¸ol6õÒÄpgía÷Á“ÔvDö¬A 3‘IÃs°êäXB!„ânm=ÄÛolâB¨ëtsÑ#<·pÉñj ÕG®ndçò·ØÞâdÊâ%ÌȽnÞH3{Þ[Ζ†4î{z÷XÏw«ƒ’r>e6³F]­Ý ·®®5PõÅ®u·ÛYÇìϱ"FOA‡±XUMhåĆZz :Lv&ÓîºÚˆ w-ö%è$ðP!„B!„b Ť©åËç XZNk2._ׯü¬,.44%‚.ñfF!n› )v£÷~÷¡`Os#¶`-Äêt¢ÓéP“&¡étØŠúøe©s0zÑRæZ ÂÓVljŠ-¬~«–©‹åž #D]Y¿šáÜÿ©y&«ø›Îr´:Ìå>L£îJ6¼ÿ!ÕÖQÌxàæg$cTÂxšÎr!`BOŒŽÓY¾¾Žìiðü‚dBµ‡Ø¼ù÷¬.ä‰ éPPU SÎdŸS@š9Jke9+7¬F±.¾tó-‘t Òv†ƒ§äM˜„zàtür­ÛÍÊM5dO{œ?ì@k:‡k?dCò™‚Ú¯r4‹pÝËÚ?`“ýIb‡àE*þðöø ˜<û)æå¥`{h¾pŠcõ­øKs°Ê¡.„B!ÄÝÉ’ÇO/d\jbO %RéNh3‡wŸbÔc£q^YUŒöªÝì« Ñ%ºîš:HÄ鈴zëÊ7°/}1S³oÝ”·¦®5PõÅîez;ë˜ý9VÄ­QôèûP±ïS€×ëíñ³kƒo†¦iò’WŸ_B!„B!„è¡­Eþ}lþ ¤‚â|)© Í}Ð!ÀÉS•]ƒUi wOGGË×S¾e3ûöTpâLã§Ž!3ÕŠÅbÁd6j<…IfËM„¯éŒØÓ1é¡Ç˜™ÑHŶ´F3gUMÏÐt&£GÞ¦ÏC†ˆupº¼œÓæI,\0“QyN¬FzƒGîpF—¤ 5q¸â,ƉóàØ<œ¶$²†Måᙹ¸ì欧ó»Á”9–eÃÈI±`4ÙÉqã>ΞwH0CæDžxòQ¦•faÓ+qU‚ͬƒ54‡‹GA)ÃÓT<¢ý.DUo!mÈDÊŠ.V5ã'À…]²Ç7Œy‹ç2¥$ƒ$“³=•üáeÌ=Š4‰yB!„âc£÷úH×mšSÐk};úxh³Ùzṳ̈¿ú™/Úyhf8“nKa…#~õ›Wxö…Ïóìç>Ï/ó áHDŽ"!„B!„B|âÅ´¾¿üí-´Ô¦±r•»h©9Œ¿£µ_iÉkà^ý¥Æ‡´þl=mîÖ~§kKNÁn·_wÀum ÷ø=rŠ;Æäk¤îl%ÑH4 èhoãô¾m„}nü>/—¿Æ»ßÿ‡VþïͯPŸÊàq…èOqÞƒTs€sGOQïu›]óÔq¼6Fþ¸R2{èX#Úq‘s†—¤]ÓI‡JrÞ0²´&ζâ/ ГՀz3ét£`ÏANø[vœ Ñ õäö¸R^’ÚÃ0]ý (à­ãÈ鹓ÆSdSå€B!„BÄ­£3G3­TáÔ®c4…"4ßE¥RÊ´QéñÇhТ„¼-T¨à ù”fZîøvôµ®5Põńܲ:¦¸‚?II)]¦%%wáË/.ìlÊ0]Ì©}o€°çƒ‘«½!Zu‡U“«£Ïéô§÷ºW~û:ï¼ûÓ§MàíwßàóÏFŽ&!„B!„B|¢õ¥©% ÑRµ[°ŽÉ%éd¥&PßÒ¡3•¸9¤ ž„ª7JÁ~„Ä|ÝŸ‹kóЮÇÓ5°ÐãmÃns\yo·Øeˆ;÷ýçi¢²¶•X,J4AUUôf[Ê+ðµ^$}ð8’ìFt!/ûwìàÙX§9%‹$¥‘VR³™òÀZWoæõ_î%oøx&ß3’AN*öµÒ¡Y’b¢§~"A!Õ†ÃÒµ)_1Zq£´Äí•#BKå^NEr™U”‚ö+øÔäÁÌšQÃ[«ÖòÚA#yÓ2&½?a‡±H”˜#òÒTµ›mg çf ë8DsÄÊ`§ ;B!„â#È_ˆWÂÕFöÐqL›>žAIÜu¹j¥`bo—³«jæ5PqÈKáŒñä™+»ÎmãÈ»/säÊ#ÙãG㸠zSïk]k ê‹½»µuÌÛz¬|B˜ìÝi;Ú»Æð]lj"'#ƒHðæ‚Dõ»ÝÖç­º$|Ñî…fƒ‰@8Øï õ'ððÛ˜>m*_þó?»’Ƈ7ñÂgž“£I!„B!„Ÿh‰6µÄ"!\'6òÄ„Tž{âóädgvùüb}#¯ý~ïïß„søl >¼Kù|íX­Éwlý× q§:´W‡—Xìêånßͬ%lز›Yž&lsMœ¹…²NEQP”Ë_¾ 有,üìpÏeï¾½¼ÿÊNœÃ¦òðœq¤^ú’ŽÞà{ZQu(Z„h·5bš‚NUºM÷ŸÛÉêí­äÍZÄdµŸéôø«‚¯¦œ÷7Õ“=k1KG¦©=ÈæMà÷<ÎÂÉ™ôé×!êæØŠ_q =ÉYE”Î~Œ²AV”F«Yraó›¼yÀué½¼ûžæÉñ©È ïB!„BÜeÌ9Ì\ú"™é”H¯ë<‡Ë7³rE…K¦“gØÕ©É%Lp”·÷ìb÷ù&.:'²xÕuÝŒ:£-en¡™X8@{c5{·nbùÚK‰ãŽU.ú^רúboùºµuÌÛ¬ˆN9q§ggfSßXŸp:úþqƒ› :ìlgI¬5üÐá#üý¿ü+Á`çú¶–ogkùö.óÌ_´“ÉÄß~óŒ3ZŽ!„B!„B|â$ÚÖÒ~¦‚?{dÏ,|8îç9Ù™|õ‹Ÿ"ÿ½øù¦Ý$žvãõ†êi¯ÚEk]CgP)[öÒJ†b¼¸1O%ÍÇwÓáö¢‹Éœt?ÉÖž3 ùNP·ÿöñóIéahOÍs„Úg°ŸÃ~w…»Ü(è°°°sçÎ èúLæ‚wÜÏ\-- *,–“PÜ1o€`8Ц¨„‚EEoL£ÊÁ¡„yÃ~–<<‘ÒaÅ|¸w`Χ¯fÅi½¦G •Ì¡“ytè¦WïbåÛY·?›§F§‘¬¦¾ÙK4Û7xNoNÁJ -¾0$]MS zh‹pXºö|n9ºuÇPÇÎãþŽ+Cõ5EZ9^Q…þž<<áÒe%SxHkã­¨5—bk ìÊM¿î½1h¶4ºƒ\l¼\>&òïû u ¹9öÞï9,‡¹B!„w%5ƒœËu½‰¤Œ!Ü{_€Ú·÷sªyyM¦'mĽŒ>þ;Ne2ãÉRœ:è¹ß=Õ`Á‘7’Ys<ÔÿáÕîR&¤Þ¡vž~Ôµª¾x#·¼ŽyGŽ•o4†M7pãô%è¸ûF(Ð4­×—»½ïþð?¯ÞH0ä»?üOÜíí=§éÚÃw¿ð$-¾úZø…¯óÃU'qG´„òt÷½bøÏmä¿¿ñEž\ü$}þ»¬¿º­y×®ã›úVžw¾?ÿ_ûãoòÎÙà€¯K!ÄGO0eÿ‘J~³ì-~ö‹ŸÑz±ï7y]~^ùÝoñºin ðÊï^ÇÛÚxWnïÝ¿su-¼ñî ~úò/øío_áLåˆÅú^“ËË›¿_Éÿ{ù¼úÚ¯ð¹[zßg­>~óúkwí~ºÕÛ?Ю=„BˆžÄ´Þ_þöŒ±\ :lhhÀëõ²lÙ2~÷»ßáõzihhàS áÑáF­=§mÃ{¾’–~–5o}—ï|—=?ÿ"ß]Ež>±< È+ÖNÄâËßþ¿ìxç»øÅRISn¸Œâ(äÇ?XʂԞçÓ¥—ð³=âtåömK?š?¼îö®×ƒ=†B¡þ_×_ :lvw>t¦¥áö¶ËI(î˜@LG(-†N§G¯7‰Æ8ßâ¥]³i,û`?L•;_¸íÔ©!”>”‚”¸a„$bL–‘p L̞˨"u{öQí‰_7S“²œä§êL3WÏÔ(î •4ér(N½z&â:Îú÷Ëi.¸yeùX”þ¥sCÑ ƒÙpÍͽقžpœÞ.º‘`tzt t~¡Øs]b¦~ïª:¢r@ !„Bñ§¨:tª}_zÃë Se‹?Ç‹Ÿ{‚{2 }È—Š¢(ܪlݪºÖ@Õ{r[ê˜wêXùÈ Ãþ¸ëÃN$ˆlù;ïÒÖÖ–pšmmm,ç]^xþ3=´wDˆê²˜ýÕoòÒH;Ѱ‡‹‡?àåßüˆ_¤þ_š’z÷Ehöú¥TÏÖ_½F…åQ¾ú½)8[ë nož‹Õ¢DbëÕåÌá;ÿ1½ÅÐK>bÔoúg¾õ‡a|íŸf˜E¾(„âãÈåpöÌq&Žɾ£‡n:½t‡™çŸùô-ÉëáÊ:NÞÈâÇŸD5˜îºü%âÄ™‹lÝú÷MžHÁÃRs±™;¶ú>f2}½BˆÅT6îØÃaþÓOáòúÐM·¤ìîF‰n¿BqWün%0ÅWͧ<tVTT‡IKK`Íš5 ¦L™BVVÏ=q?å?ÞHÄžÚC£@ÙÏ.åÅÔ¿xó,Û5R2¬Ì)*À¤w Ý®­W™þôƒÌŠ´ð¯DhM2bGG¬—«íÒ+ÖK™Æ,ß;Å–’L8Æ ¿qc»ÑØu°žÖ–fRÓÒo¸ŒÕjÄ绺#ÓSRº_g$ÓÜ$‡âÎ *F&æ%á E1uT¹5"á ¶”Ü®Œ:=C†óúê ™:ê&¾hÃøÜõTîÙBù'e ‡“¦ƒ¨û4»µ‘ZRB~º]°ºSûØÝlghYÅLÉ´ÙŒY±†ÕËLš~#óÓ°bÚê8S¯£xD¥eC9¼zë-s˜:ÔAèÂA6•7“5m&ù—ÚN#îJ6¼¿™‹¹³Yti÷áÁt΄Òé•)¡%VŽíÜÆ>ûtFåX‰¹Ï²gk%±üûÉî6ÀRoC=í–dÌíÕì:Ђ©d*) ÜÛʬ•Ía|ãJ>X¤eÆdF¤b!@ëùcob¡GnC !„Bq·‰â©=EM$¢lV½†ßužCÛvÒ’>‰ÙÆ[¶fÉFRêrÞÖsØrOú½&ßÁQ-ú\×J¼ž×k}1ŽÛVǼƒÇÊ'Åž‚ßã¾eé{ÚÛ <,(Êç|Í…»¦`ž}æiž~rIŸ–Ñë{ßTÕhÅž”ØIš>ŸÅ{öð›5tLI%å£vôD|´zôäΞĸÂ<ô9hêúG5`±%U‹Æ..ÊB|\e§ÛXôøxýQœ8&r Ã{ìfê˜RJGŽC†. ªÍaÏž —”b´%÷­Ê‹ 6b¶ädlÉÉŸ¨2ý¤o¿Bˆ˜êÖ£²ôädg`·Û ‡Ã8N|>N§—Ë…Ýn 7'‹‘™:õ”¶5YŶ½º‡MÑÁ˜ *¾Ú^¯½&[áf:ª¶ãª«'¢Î9‘ì1“0ëÚñTn¤¥®ˆŠ!ƒ¤!³IËu¢xPä‡ÀÅj‚Q}0ÎÓII¾î!€h®Ã{0=\Ä™uËXµ® -í~òÇAºHûé]´Õ7ÑtRG“:l"ökÛ-´kÊ.êÆ{v;-çÎŽyðýh ү̣kqŸ,ÇÕÔFLu`<“ô‚Tß1êŸB5ùð¶v€m,¹÷LDmÙKsÕ1ü(èRIö 鹎[òàkoA‡ñôtt :쉊;-Õ¢#%ÅŠ^‹Óé¨ry°$¥0ÈÜN|þMçªQ“2©8ÐÇzi´#ï¾Ì‘ËïUÙCÇòÈSã)qtžw𢢵W±mÅvÚƒ€ÎNFA1ãç-`lž¹s1{1s–~šâƒ»Ù¿{«ëå&º IDAT¾·[z;6Aþcüó?}†aážòcF«ïÛ¶uùê¬]Ëßüë6¦~í;,(й°–ïüËV¦|íoXXå\ù[¼¼l-‡Ã`.ä¾ÌK÷;8ýëoóíUuWKyñ_þ†Ç zn(_µjóçÏ—o !„øòú£¼ó‡w˜?£ŒÔœÂÎ E©8p˜£‡ Å"$Y­„#~žz|~%™U¼Ã’¹âW“Y»î}ì6'µµ5d8L,~b)ÞˆŽÛ¶q¡¦ £¦MψQPt:üÁ(Ûwï¡òä1ˆE”“Ê܇æ³qï1NÝ{%F}Œg.D3;)ßµ›3U'!aP^&3§ÍÀîH£¹-Ðmý³î{Œ>\Í’¹bKͤÃŽ›T=Ç«jس§oGF=Ì™6…Á¥céo<~£ËϪÕo³ô‘¹ØR3¯^ïy¼³b9ß7•´ÜAÝ–óøÃq·Ñ`MeùÊU´7_¼2ï|'<º„«W}*ë·ïíVvsfÎe㎭dåP][G,"+-™‡fÏ!)5 Ç²qy#¬]·‚ôÔ,Nž>I’ÙÀ” ãi (ìß_Y¯2iìÆM(µë­§Î}²‹ÉN}C-ª¢1rh1÷–MÃ`¶ÆÝg=3C†Oä­•«ãn[yoéÇ=&Öo^×§ãôFç€Í™)_(B!º™ü¯3lòÜ^ç{8í4_þLg›Ì«¯¾JVVáp˜áÇpòäIôz=<÷Üsüà•U¬k?A£™Ï.ÎaÆ™?ð¥Ÿæ´uŽÂR,6cgÏT17¾êýÌZ´ˆ?™‘N†<Õ5üÝš•á ÷NÎã‹Sœ¤© yyï•Uü¬­ kf˜¯Ïµsîœ{¦dQl„ŽÚÃüä—çÙ’2ýµ—Ï,ÎçÓ™W'vÔÔóÞ«áìÙ£Ì]º?º7•45Fݱ]üà×ÕÊ™„5ÉÏ·OcÛû>> ( ùðW—3fÎã|e^>¹z´ûÐT/ÿÎÃzo¾³'Yø¹Å¼8ÎŽ)ÒÁ†ß½ÇªÆbÌUøÆ¼T<¾ f5AÓ¾öêÎé3øêg&3É©BÈÃ+Žóó "½DÏTî^ËîÿŽß‹ö“O>yåo³ÑJ ä#;3úÆ–o.×)èzxZtÄ"ŽŸ®é2mÍš5r2гlÙ2žþù„æýãF`Ö+XôQ0šyû°—`TåáB…Ã-ÐÐê&=%C4ÀèÁiülõ~)`!„B!„¸ "-xûÝcäÎ{’™¹Ò«ød«©©éó2/¼ðB¯óèB!¢Æîç—Õ`Åö HÞ{Œ 8~UUG1[Í|>'ìswFM^tØ›[1p¯ijÿEBa"ÑQ¿‹êŠwxí ž±2ˆ$MC cõþ„ i ùÎ&àpíä×ÿós~“õþ´ J ­ŽÖÉÏóÍ|íÈ2¾÷ÊÏh~üó|ëGŸG9ùß{m&ý KòYý_?d¹6‡—þéÏlhb×;/ó“ï…±ýýóŒ}/yﯧüì㔎°AǶ3ô‰‘dDjzÌßOv^}²ÓXÄâo| þíǘþe¾>'ƒÎ„¡i!O+ö¹Ê}ÞB]u;ÎȹægŒÖ‡m+6]WîWÿÐ4 -!¦ÅˆÆ4B6ñ?¿© uñ7øÉä,ÔÖ38ׂ'œÃðOÿ#?Èý>ÿ´v0ù… ±è0šõ·u˜h!„wŸXLaÓ®½´×Ÿâ©cw¤S}¡‘;ÖÇß 1yt&sçÌ¢¾©žˆ¦gÕ†õä&©<ôégpy"¬Ûø©))¤ç eÍæ­Ø´ž[²ÉF}C-ŠNåÁiÈJÏê2\p8ï­YG’âå¹%O€ÞÊÖŠ}¬^·ŠÅ –j·õ£\ÐG`Õ† qó¢O)`ÇÎ-Ìž4ŽÂÁÃq{ü´4Õ¢E£ ëߣVÁ`ƒŒæ®ýš›Œzt÷ ËpV¸©Çm|jÁ|–¯\IÙ°\JFLè¼îëºÇâ–]c«MÓÈÉH¡lÊ=LvÖlÞÆö[yøá'kºËÆè,Ä’í43íÓŸâô…6•¯cê¸Q|á¹g©®s±}ûZJŠŠIJÏî¶MPéF“û胴´yY¿e3á­¸ÿþy}>fâmàûÕR÷˜èË:3 †õéB!ºÕÏoäškEQº´©ôXWt=§ ðö¦6 y‚ßýr.¶måço½MEx ©ÃFa50ó¹§ù¢#È_?ɀ޹z\±šÞNÔ⇯WsÚ ƒ†%ñ•ç¤î57ë5092È©içgoœál@ÏÔ©ƒøÂ/•ë éÚü„‚,{óîG );|ž8o& Ä|M<üÂÓüQ’ÿzí •Q3ËÆñ·_Rùæ+>ÎÛ•Î^ /½¶2vÁ3üÝøõÛÕìhƒÔÌ=Û D}-<òÒžˆzøú¯hµ[ùãGçñÅ7OðK- ½=™Ø¡‹¼° ² ´§—ðµÇshø ‚O5¥¡sZ™’KJ½æèÀìó@¨óúîfƒƒ˜âŒaz9èÐbÔ i~ÒÙÝ‚ÛZZå$wŒ¢¨˜-LF¨*¹fêñifr“UZÚõøA’¬Ö.߃B!„B!n¥M•Çq§ŒàL :âV¹th2Z†üW¦TÐ!Ü ð°ªê(@¿‚š†YQn[aýðßÿÿóµ¯wû;a‘F¶üÇŸ±åÒ[CÖx{áK,ß9Ìïl9¶³ô¥û™£GÉÁÃ#>äW;ÏÒQœŒ˜8Žayf0–1hÅEòÆŒbp¶L“f9N+€/´™55éÌû¿ (+¶¢*™<òÔÿý¬>º€±÷Œå¾Â¼¿ã,ž£ˆUïàptŸ•Aèì=ça²óêpЊŠÁbB¯z36› =¡3Ÿ%¥ƒÉË6’“©8½ì†ù=(ñm£8ñŽmU£ »>Œ«µƒˆa(…ƒ'òP1èô ,z“ņÍ*_B! Ý¤öÜiæÏ,#53§3UÿrÆ WÉÍÊÁl11¨°ˆ í„}Í”ÍY€ÑfÇbSÉÌ-¦òL%š%wóyž?KŠ€’AÅ=楡¥ŽÖZ÷(vG*Ó§LfùïÏÒPwcê nëon»zMÕÐÚs^&L*B§7Ðáé€X„tg2éÎøÃøž»ØÆû+ßFw鎿ݢòÌ⥬I]wU•˜Z,Ö- MÓЩº>ocFáð~ïKƒ^¥¤¨›£³¬‡.åè Ä¢aÚ¼=–ÍØ{ 1èUŠ ‹°Úl Ê7qÀf£(?“ÅBA®Õh%à÷‘ïÂW§’žš†Á` ;ÃÁ´²™lÙô>¾`ïÓ13=oh÷2»Á~3¡ î1Ñ—uZS‹út!„—ا%põz`Ñ¢E¬Y³§ÓÉÉ“'°Z­¸\.-Zte>WPwôÝ]üý+í”§°hâü÷ fÛüíªfÚ‹²yj‡Wß÷±Ç£QvW]º7@yù!Úªáqµsxçf|‚"k;± h¡öŸìà°OD©8ÒÌÒ™)8 Ð'pïòˆÉ±K/sF>‹Š<¼õ^»Ýë^U~žOŽ`aÁþÓ]ÙY¬<1^GùúFÖ6t¦åköÓ1£¦ôsTóŸßy•µM`ãW©Ê·Ç[°BNÔhöëh®£KrâS¬d$_$°j%Õæ±Ô År÷ý¦›ziÚó‡"—[œ:£¶únó8ÒRå$wÌOוBB!„Bˆ»Ž‘œ©Ÿâ%)!ú-äó`´Úš÷Ú ÃvËZ4ûtØß^튊 ãþPššú,få¼8RáøòïñßÇ ˜0&»®sù€»ž¶†}üèËŸáG×,š4ÞOHÓTµs¸ ½¡shEé|¯ÓcT hoÂgH£ ÍŠª(R²É·Ç8Þê%¬ÏaÌŒ–¿»Óî<¢å' ôÓŒp*ªoœ‡.[yù©|.õ6È5=(   ª ÁÞòS”ø¶]_ÎWÞ_îñP»:]MŸÂÿJáƒß¿Í×_ú)™e yîSpO–Ú™çkött(„¢ó‚(‚Bk‚P×ó´µøå²·ºLRŠ?ÐÙ# ÁhN,­`ƒNÁlµ]½ö10š­øü>L7‘G’‘̧bï>v¾ú[J‹ó)›\†5ÙÙ-Âþ…?êýºÌd$†Ž€ß‹Ñ~åQÁ0DØ,Ö>oã@Ò©º+× 7*›ë¯.¥kN—{gJôzÒn³StDÂ!0ôm?)}ܯqœ†nòBñÉ•ÈOãÉŽdêêÉÍÎÄãñ`0p¹\Øí¿;.— ƒÁ€ÇãÁf³QWßȉödzKZ‹D9}ª•ÿ8åâ7ƒì|uîÃ|Ûs„s9I‰¸¸Ø®C»®—1Í{ -¢ç+ßúk ±\º¶r³Rášö‚«ÛĈ¡t™Ö¥}äšù5Àhwb»¨jÓÐ.5E½.δç2ÁiÆà ^ VÔ40Ú’IS<nÓÌ—“½Âdw’–3ˆï¿üï|ÿšéíÕŒ‡›ºå7ÒîáGïÃã÷Îã·¿yœú½›ùÞëG¨Ìñ6v¸æõz±Ùl½ÎwøÐÆŒ-'’B!„B!„w ã-¼_ †1š®»yjT!Ôý1ô~ú}A,Öø·ÔS²óq×_èwæïÌPËŸ+zk2ã<Ë}Gÿ¿^1ž¿ûÔ’Й’°e•ñ¹¯¿È$Ç5·šU#F׿+éhÚµ­Ü—ß_n¬ÖÐ[S±„+©k¢9;»´Œy›¹èUII1£ÓTÒGLgØò7Ù²oÑJ•1ŸLŠ¢á¹AÌݯ ú£ûÐÇzKoùÑÞ¶n‡—þÓ® lV[¯7ào”—(æ°óè³ðú§²eçÖnø€Ç[Œj0õ«ìRlfL6'gkª—‘{%ç.6bR#$;Òº-ÓÛ6öáJlÀöSk{p@©ö/:¢Læx×É7ÌK8Ò·ù¯íñòf¶ÿfÎ!„Ÿ` T¬]Z Ë7Ÿà/ŸÎ$++‹)S¦`·ÛY±b ,Àãñ••À[›OÒ¦eöø[¯ù«q×¶cH/Äl·£„Û8»u7o–<΋itn«BfÓö˜K±X"„Ü>ôÎLŽl¾õÌP<;/ð§k}4ºyñs÷ »EÈ5ã _sÍ¡iݳsM;Æå¿#ðU²Zv±Û< “®kùIch‰FQbD­]Q°çã×ÙÈ÷nÆŪ#âõi iÄT#õ‡ù—ïŸâ sF“JÌ[G0–ARŽÚ-¿1ßê/Úxµ>•7­ ³§Lä_ÿâ,ß|_£ú´ÍFBP·é×fæeÑXÛÐm¾1cG“–A}KÓ ×SsBÜ Cõú –kƵ5›â?fm±š0ÚãßøŽùÜñâSÐ9F±ðÙ™°ñ×¼u¤ °Oã^Ûq^s3§ÛÂ(ªFÇ…#ì¯réCê¶âéÌÎmbÅoWr ¾OëiÖÿîM['3w¤PS‡1k„ž7—sÐ8Žéƒ“P0}ÍO©:#º¨‡††Z*Uáº&“þº]¬+¯¢5«ƒ´T ø;D:KSRJG ÕMí4VåT›4X !Ä']ŠÍLvn1[wWÐÚTO(¦¥µ•h$±ßˆì ª9•òÛèhk%ŽP×ÐÌźsdg¤`IÊdÓ¶­¸š †"œ­9KìRÚ³o Œ·£ƒÚ†FVvG[w–ãq»ðxƒlß½‡Y#+·ð¦òÒÚæãÔ©„‚t*ج6‚¡0Äbý.;½^cê=eT;Íñ#ðûü?}ŽÝ›(7¹{‡Ùé)7µW®¯+»€ÏÓï²QnòŠDc4·¶…¸ØØFùÎ- )ÈÁjwô9/·*ï7JãfÏ!„Ÿ\Z‚¯.¤²|mYYYØl6žyæžyæl6Û• Ã7×ìbõyÇ ÓÒ;³ùÂã™ÜÝFhÿ2ÚÏeüä2¾P¢²ýlŒº–0›<¹|ñù"&¹VÒºÿCJÒ¢¤ª`t®RUñGÊ×ãÌÄȵ[\áµë»Ñ¶^ÿ™§9̺¶,>÷t¥çß¡íä!X8—©Ñ«/Fˆè“ˆ¬d¶ï ËÄî±®ÖÂÏŽf¦{%­ïb4Úq4 £%By¬”¯<•Bñ…wh®xÍ`F‘©K§Ê—×oNMãÑ£p`u;VR]¤|ì¦Þ÷Q\:Tõê ç‹txÙµA‡‘@ü*Š $èP!„B!„Bˆ;(ì‹Þt6}bâtëñÐï½:t^ ØsFBžø=δµu »¦Ó™–†«¥%áŒ÷·Çúº‹qÿN(ÍkÆééœW%yä|>{ÿ1þõG?¦øŸ¿ÆìŒ!<þ'/ ¼ù.?øÊ«¸£€u ¾ô%&_3fϵ½^éðÚq€ÌE<òÅ—ˆ½ñ?úë·pGd›ËK±€1IÊ¥õÿöÞ+X’ì¼ïü§Ïò¾®÷m§{\Ã3 €Â{\Q¢‘V¡Ý5_6¤`ðaC±±Š} rA­Vdˆ b ’ðäÃ`ü`zÚwßÛ}½)ïÓç>Ô5å+«*ËÜÛç÷LߪÊÊ:™yÌw~ç;^œþðEx~ö „=yGùX”£ù9<Õ ãaUÆÁò¯+ob\™°Ýù­ÿ¶ºrœÁǤðoÿ¯Ž—Oý&þ·È~?Ô4.ÿå¿Á¿ýc¥\޳㋿ûœs•3zϼˆþ þßÿõ¿Ã¿wœÃ?þ—ÿ§|$õ!@ œ$Þ¾²‚7ùÊ¡õïþ-zè {ê9Ôjv cây÷o|û€¡cf< QpXú>>ý‰Oàµ7ÞÀŸ½ôW€i@àL|áÅ!pTùµ×_Çÿ÷WßL‹S!ÌLŒà0=@ 2?ýÖ_AäLüæ—¾ŒO}üy¼úúëøÓoþ%`êXœǧ>ùiЂ(I]Ÿ‹a¿|ï:~ôÓW˜ˆ}øø³+·æ&xᓟśo½Ÿüò-D‚>|òéÇ1·x¶áû9-£nqÕCmÙ=ÿì¯u]6½ö4ÍÄÏß¼ŒüO^K—<‡Gy&Mw|.v¼¿Ócôú áþÅj¨E‡?¹ìÄFêUüúÇÎbr,R{Ùá›?»…ï¯z¡Q|KŽâ"Îâ÷Ÿ{c]Ãòzßýþ6¾¿¡Ã€Žoýpøè%üá¿z> È®ÆñßKâV¬ˆÿt}ÿËþþ ­ãú,pyEp‚‚£³P>ÚãÐÁ±{0kû(”‚ËÞçL¥|ʪŒïüÍè>‰ÿãŸE€6±y7…ÿû»)¼_LÅÄË›üþü3üæv ÿì¥^ýé.ÜÏžÁ?ý?ÿÿ’R›ì±#!á¥Æ`<û þÕ¿þü4¹„—¾»òáºó¥œsøÈçÇ¿øÊ=áL,‡¿øÉ®–»#²¢@à÷w¸Ð [ŽÉŠbÕ¿gÎ^ÀúÍ«äA#@ @ FÎÉô|Œ‚ÖØ 4LC„"—ýBêù矸ÍõÒK/5üû÷¾÷=¼ð –óOþÇÿ‰d²å{‚Áþý¿þ£Ö2 ¨Š p<8ú@0ah* à U~Ÿ¦©ÐõÉËs`)Š¢ƒæy°S‡ªh 8,MÕ¿æ8Í‚åØòwž’ EÑA±<øÊéÍήͣc@ST þàÀ¦^}žMŽYu>µŸi÷Ûª ºª@ÕM€fÁs´ƒcA‡ª¨Ð÷ï>ŠbÀpìÑï0 hª Í(‹ ‡×  /¿ü2>ûÙÏ’Úƒ@ BCâi ßÿáÅW_ü$\Á()@ Ü7<ñ?ýÌ=òBÇŸ Òœ*ó—W¶î¦e\MpH›~R¨CdõW/ã­?ú{ _ûÚ×¾Öò³ -@7䦯ïìì`||¼£ó™ÅÚÚZëïåy|ËnÁþüÏÿ¿ýÛ¿M ‚@ @ ‰`uuµãÏüÞïýöb1D#‘®¾S‘ðßó¹³Vß˜Ëæáñºû^˜d<ü‡¿óð'ÿé?#™J5|= à¿ýÝß±pL ìþêïÊ÷R ‡ònÓæ~v ˃©)548ž®x]s<ªîßõÇ1«3P,xmP&MΡî7R`8LÕkµçÙê˜G¿¥³ßV Íò*Ž{x,Ð`y¡î<:ÆÑù7,@ @ –èf80|x5 NÊï¤ÐJ:ÐP:¤†Þë DIÅÚ¾/ä "‘KÖ‹‡µÒ¡,ÉDa$ ЦiÐ4Mî@ @ „&­h&¶Ãåv5üûx ‚ ÁI@ @ `?ÝJ‡,I‡È%Ôd<¼{÷æ«Þ8héÐ$Ñp@ ‚Í„ý"~û7ÿ)@ Ü—PË}Öï™E|mͶ㩺ޱ¾ð—H‡@ @ ÂýA•x¸°0ß—/a@C‡AJ›@ @ aàóð~ÂNéÀ¡t(É:D!L @ @ #(Šê["À*ñåEhŠM6Á @H²^õ¡‰pÛqë«—;‘IÆC@ @ û ¡‚к ÀÙö}å‚iH@ @ BIÆÁÃમT½ÖO¯J<Ô©üÇ}éP‘üáë±tª#é°SˆxH @ `$ÔB°Þé´x¿UK‡÷>x‹@ @ ÐGø`ê¤ÃZ"Óˆml×ý]Ñ$ð¬Øñ÷²-OJà«þK§ªþ=31‰õí-mR0(É&@ @%H´†0LΟu“B œ<ý46î.—¹›åš¦(ÐÃ0Àîo!.k Äf–_7|îkòïþˆ"@ @ „‘‡ãÜPÕ¼å÷_{ï2"‘HÝß»‘6âa;¤C-¥Ã¢$Á)Š ƒƒ$IÜËȲ QIA@ Pƒ×ÉC“K`x2n>×aÛñTMÇr¶Ÿ§Gt"'ÿí^#0pþéþïÈ$b04 ¦¡¦iÐ`šPå"h†ƒišPUÅbºn†å19·D @ @ ± t866†ÝÝÝÃ7’{¡#ñ0—Óáñ0ÉtYˆ v·ù6ÍóóóøàƒpæÌx<rwÚ¢( ®^½Š‰‰ R@ @ Ôðù§Oã/^{îÉÀ‰$Ör\1t™õ+øâã³¶ÓŠt¨ `]®ŽŽ[)Àžî 0øgFS!ð‚gž<‡Ðþ†C¦šÁÝ÷ßÂ;×nc=¥–ÿȇpæ©ðÉKQˆÐ‘_?{í=ÜÙ-ÀtOâÁ§ŸÃ3ç#(0QÚ¹‚_¼~wÖ(ãÅ¥g?†òãèiowÀTÒX½öÞz÷Öó>\úê×ñ±©šD†ŒØÍ7ðÓ×?ÀzVëÄ™‡žÂ3ÌÀÝrúÀDöÆ·ñw"øì×?ŒI­¾i×Î=þž{hŽƒk¡¦±rùm¼õþMlæt Ücó8÷à%<~nN†Üó@ Â(£ì¾‰o½ô:¶Ýáë¿ñ1Ì4[ÛéXCÝÃë/}¿HðäW¾Šg&kÆ.ZoÿÕKøùnÏýÆ—ñ˜s½n Ây&pîÉᣎÆEýÀÒX ’·ÞÀO~y «i”#„¥‡>‚矘GsUË®ñbõØmcL=yßúÆO±Q³C°8÷)üý/—°ïíT:lÄíÛ%r '“ˆ‚ 8Ìx¨HäSÛ¸ùö«àO¼èÃ7C ª𢖷g¶ãÇÅ//Î:]A>½…oþ?øæ&žþò§ñX„ô®üèVs|§ IDATx]=ÿ7ŸÁ¬—F)vWïª8¨‘õÌ-üøÛ¯à®óžùÄoâ³/xJE>v’rw~‚—~´…ñ ¿ýy/”ÍËøÙÏþß‘¿„/> 4mB˜x_x~!QGòÖkøÞÊù•ýÉ7+Ç´ô Þ¿#aêÑÇAÿêNƒ®#}ãGøöúÄoásc<¤ÝxõǃïãKøòcat”Kõ°Eš„Ô½wð·¯ü?u Ÿ:åäm¼ùÝïâíâ žøØ¯ã3S>pjñÛ¸¶“Déìœä–'@ F=‰ë¿¼Š´ÛGËECÝŽ5(@ヷnãÂç."pø²ËoáÝMU¬ƒh¥ ö—_û1Þ Oó}+†öc-@Þz ßûé*Æ?üü£%?ÌØ¼ò·¯àÇÞ¯â øP¿Nήñb}™nŒ¹c Ÿø/áá YYfuBÖŠC?†âa¥tNgó•ɵÒ!€†Ò¡ ÃÀÃ?Œ'žx‚Ü!ËȲ Y–IA@ PƒÈšøý¯=þ[ÏÂ8æÄ?¬:QýæúÕk8á¶ïË­ÅÈÅ# œB.–aÀ24(0( R>äæD# 9§awu§] h0 ˜šE–Á]O>4Vž/;ó4~ÍÈà/~ùîþN»)чðLôè”ÆÏ?†‡¯ý5n¬gðÔdœ³t.z _ü€â=üðÊrýoÕ’¸uyîK_Ä¥Y?ŽÙGñ±gwñÒ×±wñYL Ý\5 4ë@èÔ%<µ¼ŒŸ.ÇQ:Å"ñÆ+x»xŸùʳXpíO³ ALŸ{ ÓçȽN @ Œ6²ËoàíÔ8žz‚Å¿jñÖ®Ç"¢L+ïâõE|bÞYÎ@/máÝ·¶à:wŽÍLÃ1ëðcrñ fÞÝDFÒôO…Ä­wp[›ÄGç|`È]§| óN¼ÿθúÎGhù8î}pqÉ€¢:‘MšÃ4`(Ä–ß«÷(̾“»Œ¸æÄRÀ¢@ Ç ;—_Ç2_8»ÓDZíÄÌ¥§0ó­×ðÆò|zjo^.`ö™G0%Þª~¯žÆ•¿ü¸rôÅä"üìðKŒö.á£Ï¬â›ßÿ[üÙûås›úð—ð`˜ëëx±=}cPÚÄÿôñc ]?ý0>ü‘G0ïaÉ£4âT]¡Zéð€¼,Ã-¤´@ @ „‡¢"îk4MC.C>‡iêHÄv8õ0b‰4¢CÓ°¾vÉto½úe Û3ã˜?w¡±ÙŸ? ”÷E§ N\—~çöV®âwßÁ·ÿóëœy¿öüâü>½ÅîÎÍ€25èFí+& “CSu/­½Žü"‰©~§¼t—Çi†€É'?ƒO±?ÇÏþòÿÁ+Ö‡Éqí„È1˜žÁµïüG\°ðŽÍáìÇ>‡§æ ö(P0qtÊ26~öø‹_¥öÿÍaê¹ßÀ× ‚!·=@ 0Zã²Ä5¼zEÅ©.bŒÚïÅÑÛXƒö.âéG¯â[o¿·ÖcØ\ÂWæÝ S5odü¸øå¯ãÅY†*!»wïüÝOñÒßjøú§€hƒ ÅÕ×ðíŸî`ü£_Á×CÛ|?ûéwñ×ø¾ôD´n#h»Æ‹íΫ¿cLâžýú?F4ì¥É(¤ÖñÁk?Ã÷¾#ãK_ýH“-¶ •LFÂØŠÅò]‚Ó ¹˜?üwK5Ôïó É5”ÕRœÃb>§ÛM®"@ @ 0˜¦ šåahJË÷ÉÁln<PA7ØÌgqn+«+U»qã λH Ÿ0¬Ý[*+àEò¹tg±Í{0TkªFÞ„¦o¦tDgǃ@ Y6ˆÅzún%Ÿ@Át"à¬xv'¢§ŸÀ§O?ŠÜ}ßûá/ðò{ãøõ‹!xé°/@çÊs¬èƒ«HUÀstLSÎ#­qð;ªŸQ5q/¿| ôCŸÁÇÏû':=NKX/ŸüŸ<øƒŽäû—®Œ!à :+°ÃI¿ú-¸LW~æ}léçþ~ÿ9f×þê¯[oÕF @ †ƒžÁí7~…ÜÌGð©',zk°ÿ.^ÿ¯øåí(žùÚY yÞ= 4ç€ê|ôùöyüÚ£áòXnñI¼`¦ñ¿û6/¼ˆgÆ‹­Ä“qF0qðÛXžÈ)|è9 ›ßz·ãcŠ˜‡m”t J:<·´P¾'"‘)Äb›uoNgr‡ÿLæ  †œ£üßJ‡‚ÃE®8@ @ ÐGÚI‡ÅBN—GÃT†ïi$¨“4”§Ç¦°±»I.aàl­®àÑÇŸ‚è<Ÿ¼ò#\:†¡&`–ÿºa PÈãÔùG0ñCtašîܺÙ×Åê•U(áÇ0ãk¨Â;wŽ]Ç›’ Ã=‰ s¾ÿö»¸;ÿó<¾òÔ4*çå:9N§èÙe¼ùnÞ‡žE„oY@Ðd`X0f)÷$..ŠøÎ;ocyáã8ã!y @ „c“È®ãÊjiåø7~PõÚ7ÿÝexø"~ë…98lkì#L੯ü.Ô98ÖÅ7ЦAQhjˆ…¦KÈI&8‘«ØPš+:À"× ³ }ãÅf kŒY¾& š;Ô‹r|û½ˆ§³–ÞëœÈËÅêGG Ë2 MÃïõ7¾M }¤¬ÞX¾ êùçŸ7sá¹E'n­ÜÅä乓º€ã¨ª|ß—ÃÆæ¦§Æ¾Vòp‰õ‚­Cð $ç†r¾‘± Äv·ûþ=¹R‡óxubJh‡Hî^î¯H±W÷w‚Ó!¢X’î›òuy²ÝÕ»+++à833mûTÈdàòùz>wÐt2oK9ììlc||âðß“Áil%7z:¦¢èàùÁLBˆ^¤l©¾mp («¯o6“„×ì¬}fx¨ºÒÑg´|¬ÛS=à€ £Å:²Ýô.Æü£Ù‡ŠF£ØÛÛkøZ1W‚Óã8Quƒlê¨þÞ¿¥t¿·³ó*h\Í×¼• ¾÷vW7¦fŽUÓ °,m{9$Ò1„ü‘¦¯'S)ª¿‡'±ßêêûVWV0·¸8ÔûËëõ"›ÍZ~?ËÐTz(çšO§áöûm=&m0(' 7ˆ\69’çp;‘Ê»úl¡P„Ëå¡É-•ƒ'à!qIgRðû`Xº¦ä;WVîbqq¾l¬¯czfÙt^ðØ¿+@!•Ì—)4Àö\.ì £×Ï׊Øû§]£ÀÁ„z"ÛÚÖf'§;®t…,$l+ûwÞý»ôH÷ãMÃ6ž›ÃÎîjÇÇ4 ”nž˜û›Õ(hlï¿GÓ%°Ìpcóªb€ã­Œÿh­Û!Š2ašMt¯¯­cfvÁ… ’w»¯‰Òbæ‚˹í)årÀ,ÅRål‚×kÛñ#AbÉÌá¿%I‚(’y¢n()8xkI„8Ö„ªÙ,ƒ&j­§‹A± —ÛQ¿JºÔ×2(Jœbu=26u¢‘ÄêöV߾לD6Y>¾¡H ;ˆ¹2]î¾gÓï &:ÃépnbXÄwâ‡ö} gq÷Öʉ{îC^/ÄŽíÂù“9t™bÐ ø<Öãé:c€Ñ­Çʯ߾Žó§Ïw2(ö«£ëׯãÌé³`jæy’ܸ¦( xžïªØÓ…äÖ­t‹‹‹K‡l‘Ëå—‡?`O@è@:ÌÊÁ÷ép|z¼ëcJ:€D¢qP+èX:ÐR:ÜÞ=zF+k¶A»h´I^ß/éP Ž¤@ÁÙ]{]+z=G÷q#é°P5¨î-=ý‹…ÙSÖõ!ÿ~™õÿþåœËš­¤C¶H‡@ãÁÜth·|Q+úCÕÁÔZé@•tȹ:+Ç^¥C£¤÷ü›;‘¬khÒ!€ÆÒ¡Ú|2ˆÊ}CiÜŸ`ª+éP•F±•tHóÍûoÿÄíâþø²[éÐëà›J‡›[ë$‚ L:Œíö.µR&i{GýšÉh¨çï ŒÙßò[ØÒkk™û}ºvO‘ŽÚJ·uw+épcs”6üq³?:VÏèôÌL¹>k!Òlƶ™™9ëãÕAI‡@tȲ֞©Ù驯㇔ \:dÅáf‚¤tXPÌ/±õ˜÷Öšß{H‡—/_†ÇUn³+¥C µtèäË÷K¥t8;9]>º®j©|¼fÒ!€¦Òa Ú:>T+–»â‹V¥C—`íù°"îîÇ3UEÅøDuÛÁ´h7“#áÖñ¯fÒáä¤õ:×)ð=ݯÆyœ…ách¢¾mÕXj©÷¸~#é0›?Š¡ñlÿ‘Z“vÒ!€Ž¥C˜™K»’ Å‚Ár¢Sé°¨wWÿŽùŽb" §õE:P%°U:P%è«t¸º¶QE+u~Ķw«þÝJ:4µêXƒíÒ!€F©Æ¤CöJ‡jãó¯•`wóJ_¥Ã°Ç(–ã:Íïa¹TŸ¢th ­ûÚኬVÝH‡”Ùº¢®?å6@逭ÒáƒlÜŽQÕe%²þ¾ÿ.»¤Cw¸ú\séÖs²9 Ý÷ ‹SmúäïõQN¨àèszqáüÃ}¦é@Cé0“=ª‡BÁHí ðè³çÏ×I‡šJ‡J‡‹ÞÁtxvþ®ÊsÒ!­wW|ø±Gm;‡ÅìK˜Q—ñ0ßC$8?×ïUo­A3zigÃ'lµhÐéE²Ø_{¾”ÍÂQ3€ ØIa||—o_EÔcOûÔÅó¸såºí¿aee‹CÎ’Ó-%@6í³Ù,¼6F‡ Ř0+&Žü^?ÒÙrÀP’ÒÅî:’, h úÜlÏÍÏbµEàtX$ã{vØÞ0& ê,#‚ËãC!—ÁI¦P,Àåt å».Jk"v¡‡Ëå&Œ>  xºw9)¶—@$Ú¿ÉÝ1_»™Î&3MÍÅZbqº •ìd[ØçC<Ó¼žQe\ Sa?6ãö,¬¡8¦Ú½Ì~÷î,,œ‚L©Lû‚F<ËàÕ_¼Ž'Ÿ|¢ñ ÚA&Ý_ÌäàôyI'áóI¥Ñi]ïp dqKQ’áRh„Á´ ¾b‘Êí šahºEZššÂòfç[Àfâ øÂ­ÛK¯Ûl¾tbË~nn«««]>›ÏÂën<¾sûüÈg:kóDQ„$ 6#Lt̽ÝÎÎ3ŸÍÃí\XSu°œ5É£8¨æ`ãN…B.Wy£êÀá©j:À¶>o ×,¦Í§²p·Y(%Ë¡{iTÕUpL&ÍÞY©žìÏd3ÐtQ·:Çawkc“Q,NÏ"WÈ#–Næ[–e¡išmÇËd2ðÙ´`®a?S ÈÇoÇ—íL´Yœwgy§––ªþ6ÅÖÞN µY«çÎceÕ¾¬#Äú›G&ÌÎÌ_Ä­{WªÞ—ØÙAh||à¿_Õ5pLwõVe¶)/CtÛßOßÞÞÆÄÄÄÈßGž€¹TïI$xÎEµ$*p¸Ðu £þYÒhplë¸r!•…+п9]SaÒXz¸cf§ßbº?É[Úí¸àæÝÈ+ùs?‹I¶/3œàu£T(€î1£ªIs *’xC.dI¥cþ1ì¦w¾vûæmœ>{ºõøB`¡ÊÚЯÑDȇíÄÉžêYÒ ˆìÈžŸNQ`Ìá,fº^ÝfMÎckug`çP’JpˆöŠû++·°¸xf$¯7cðÐéÁeÜ 2ÝÜ6Ó@ƒ…¥©E,o®ÜWuÃØØ8vwßëCA`öoVp#Ú†{?ÑÉA|—gi(Zëþ]ÐE2»G*û¤Ó\X:ÍDãr¢h¦ÑºM¯{ŠšI‡¿zÿƒ®O48??R79>yÔù2›P­t`HÒ!p º]­Wé¬ðJ›Zú-¨“ ±Svvvl“´”»M  ¯Ò¡RêïjðN¤Ã¨oºí€u”); \UJ‡pèP:еt”¥C‡Ò!€*éÐ,Or¹Y~èeÖ©txñÂÃM¥Ã±±æÏ2å2‡ò| ’N¥ÃBξi¥t(r­ï«aH‡é¤½;²YûúW®\éìùVš×ÙvH‡ZJ‡c3Í'X^k÷`§Ò!€*é08Ù>Óót¸´t¶çòXš+÷‹ÙÖÏL+é@ÏÒ!KÒáD°}KÚìM:€……r6G;¥CP4O<ýtÓ×»•Àé+HGA:,iŽͤÃB¦z²`Üç=”½akýlMM @[g_ „¶gÀÊo ‡z[9í×—•2J+*¥CŠ¡ªí“tE0±t(5 ¨ø,Üßí¤C»2ì‹^¤CM¥CI‡’TÜÿÿ£ºÕÌ‚œN¥ÃH`Â’t¸›L!“±gb̪t`àÒ¡QR¥C B:ÚJ‡ê¤CM¥CÞ]‘»épüT}ö„~I‡ê¤Cðy}Âйò÷ŽM–ÇÑ+k–¥CU1kúƒO¨%År=¯u±{r?¥CUÒáAò6A°/R4ÚÝ"þL¦þšWf~œžži{ŒZé€mÒáv*Ö´ßnšÅÝ_j³V]¹ú¦õ¾Ú?ó¥d²J:P'¨“—8gÛ=Th‘a¬tH›ÍëÌʘ´é0k<Ñ$ÉÍÇ0V¥CÐßöyåΖ¯WJ‡~_¹ÿ:3Óú›©ÏîÒéÀ±uÓ°ç·¶C5™Ž¯]»Þ žì®þvºÛ×í¤CÞì­þcXn ÒáäbkIºR:Ô {SûTJ‡éT}öÓ^¥CÝìl¬©Ôì³¶¾ÙõwûüÎõ£Ò¤Î‰×ÿMªŸCŠ«ãTr6ßX:ìPî jÚX+Ò¡£F<‹e›ÇáÚI‡ å[_«Ðä8‚¡þ‹ëvI‡±Á‰fGã] >d}wÂæãG}^ÉZ}%ç$[¥C¥W7·…ý)ÆZ¼¾V:`I:LìÆm9Ï’¤Ø.¨’9ÚzÜ`vf²o÷{:Wß¶“i¶ûqÜì\½‹P+ºœÕÏ»Ÿ!ùÊÍË8 °Þ—i&è»t¨qx49(@r·†fÒaedÒa¸ƒÝýh7ÉÙ?gÔ,öôXýÈï÷5•À°ÐÿjÛ£<Þ>òðƒ *;k7TòÞ=뀭=(J-æ7ßzã¨a¡zkLïÞ½ƒ³yó©â®ï¤ÎÎZßòu0EøýJC*6ÄËÅêÏÁ ?£J®ØºÓÞîž^Z<Õõw3Tƒt³Nk[Þá‚à‡Zv>‘C0Ä^¦3i6ž™‹Õ¯òr:»ß:'O ä¼Ý/òÉòÀ>¯)#ùüSûLÉÚí( W®¾ß¢óÓ¼ ó;Í%ç••ÎW§ð°&ÏE#hŠ6’åìêÓD·¤öï¾ÒÌî2ØùƒÖÄ­-kÛ$xmÜžòâÅ‹uTº_¦Ñ½÷UV®ß:j‹k&SYûEö……ú­ÿÖųåå›ÈȽM,¯–ï §·ógæÁK—:$”º[Y8°Üm?°¤×KwîÜék½³¹i­§ôáÔ›^_'ÁrÅòµƒ#+ëËM_ …ìY<ÃY \iM¶WsùÜðWl¼“9js³û7ìúò¼§ºŸ¶½ÑþY‘¤Ö‹J¶×:ßö—bZ¿R¹øPîÿx¢·Lùx}YHçΔ%p~¼ÿ[¥š¦ðwl.ÒõñŽé­/ß+ß¹6 AÜûr”ÓènÖô\ýNòfE'¡úÙ*$íí—8´å±}ËqdjÛÒûÆ‚Û$,£¿íÛT¨^˜6UkB9í°(X8z1”.³îܱ61íó;hO‹m‡8žªév>¶â'æ<®zᎥG»Þ ÷Š,ÛØ7îD_ƒ>h¥Ô©y÷›‰@YÆ Ôw<ÛyLÙ-xÜ+Ý=ßNwãñÙT°~‘‘‚þ/–¯Ý°/N㪿––‹ÉD¢æ™nÿé &ìmÉŒ”Ÿi¹fËeÑQ7'÷wüâ©æ"(CWÒ™rÿu}½uŸ~m½,½©5íÿCÙ·½Y4lmñ‘Ãå°a¨þWð‰Xõý=57Ö žì®þV¥Þã– U®ÿBc~Œ2[+ÍE­&îÂÒB3Sðzí_àØ×GŠNLî߇ Æhûk½º &v-•% ³3S]ŸC&m=ù„'Pÿl{,pÜK&­>€(ô{9©úÞX˜ïê8³gË‹"Ö+ëJc)$±µƒd¢ñ‰§m^ì\Ñ¥¢è£ßyãªõ¶<ÒǬÇÞ&‹_EQÄ{—­gy~åû¯õyEký5ÁÓyoóã{X€ÏÐå å­é7rtïbää°ìјɴ¸´Ãim>P«[HùBcö,.vˆ­ËÓddÌ?ÜZNˆ¶^h¡¶ËÌ.ÌVôªçÑ8îèY›šéê7Êû¨ßc-a€a±`T,è*Ê±ÏµÕÆsŽŠíž ÅÆã‡ÛžÄ*½ø¶Œ‡Ñ¼nhµýqÓ>¾‰n&æS¹Ös á6ó#¼ibvz®³²Ñ Û~K|ã¨/¦*­ÇõFðUÔżM¹£œ g_{õÕr/ðØØíb^£MÈ=—JÕoµ|’ñˆ^ä¤ö3¿7‚t6Ö—sðE#Èì{z| ;Õ_…|®ŠJ ÀÊÊ kò+°Ð,¤¯ö°,r6f¢ó ¹«þsrax™ëVWîanqþDÝ×>¿™tãJÝ !³.µíÆö0±o«u‡+„R¡ñ÷Kº‘a0?{÷Ön5®à.5Yž‡Þ`²G ‰Y.8u42èÈy ‚»óÎ{íV2„ÎHì%ІŽÅ¹nnmajròD”»T*Bt4î8+’¾f $Ë:„ýÉâ|¾·Ûž@j Fj¯Zà˜]œÄÚÊ–­¿×éPÌ §®qºx ½¬ TÀÐÃË~ês)”%ãùS“¸wçèÚÌÏ/âÞ½îÓÖ³E8½ïÃ@h©Ä¶í¿çôÙs¸}³y°*C2µÛ×25¤è>¬€tyz ï½÷nߎ_Lgáô{Gþ:Äwã7‘N4]ƒ®1 ±¾ÊLUmˆ,C„.žWÙÜÀÊ®T*U ]-*bYÓ ØØ¾Û×ó^XXÀÝ»w‡r¿ù}~¤3é¡|÷x$„Xo‰5ñ]„Âc¶žcèЛdq£ †…@ÐÆê¦ç¦q¡)FÍŽt…\.O¤iŽe Ú”»«q¯ÈA–êc¬Š¡€·ÚwfL@§p?bÈ:ha°Éªüã"Ò;ÇáÇì6ÈÊ®h x–?Q×EÒLˆìhß“¢(Ví@b•àì4’6ïâJ›ŒýE2¹\Ïpú‹“SØÚì~ž G"n-þQ*FbqÒá5€@°ÏbÆþà<ll*Wn!£ÃþÉûD¦<˜j%:+.J#é¢ìy°+¥C‡Ò!½ŸµŽãø*éR©Þ{×Ú€M³(ÌÙ¼ýÕîn®¥tÀéðC}Èò{©šÔ÷µÒ¡Ô"’$u>\iö÷›ðþjÈfÒ!€Ž¤C֥ÊL=l‹ÕͤC÷å„fÒ!€:é@Cé@•tàP:¼uû–¥ŸtöBûtå*ÕÐtxÐ`Þˉ©ÖuµÆ¥ãN†ÛþÏ ¤C»VúK:œ;}ÚöcÖJ‡zê¨Îæ¬Î*4vI‡ê¤C¶J‡±D¹î–t #é°(ÕŸg·Òa"iO ë@:P%èX:äÜÕ÷ÓëÄD“o?¤CuÒ¡ÈWŸS+éPïb?:¡`Ø­tÈ·™Hk&Vfm$ê+ĬJ‡l•¹nóAJ‡l“4•@4xx|Õ÷ãdÛy+CG›ÂgjV¯ç*úÞµÒ!e´Ÿ4” ¹©t(«Í%$;v…h%JÙúïöó.hj›Œé¥£ÏÍt0Ų,ææÎb˜8l^¹›Ïlc;¯G:tú[÷S<žÎ~÷Ò‚õí’ZI‡ZJ‡åþJ9r f’Õ™k·¨6Ûôq%IC(ZÝÎò\ï ¦*¥CuÒ!€–Ò!KÒá¸Í“»ý”c»½eúï‡tÀ²t #éPÊ÷.Eu+è‹t˜N§ú?.e{Ÿ$êF:”Ôî%ß¹¹…†zëcV¥Ã™éÉý±Ï`ûtV±#ÓV;éÐÉ7ï3Ù-¦ÒÉŠ6 ÑþQ 3UX•t%@ÉÂ}®C;”Ö1r÷žIuöLp®úºq4®Ëc{ÝɃ ’>H‡±Š,2¹r»é0™Ãn¼ÿ™Ç½Mv䨛$¯¹¯ƒ¾Îâ›Í¤CI‡ñtw"Q#éÐíµoâתt˜È¤º.';8ua©îoÛ{åì2,ÃBÊÏT¯Òa¦ƒLßÝH‡åçµ>&ä‰FûVvvH‡@u,«•t˜ÍسÕ°¤C]K‡‰=ëŸãš¤_Ú‰%°·Ý>æÞJL±cMëÏ­ÞbëØéðæíÖ»¿´’OŸ>ß`<[ß× ‡“£V:—ÇAíÏ®#•Ò!Ý ™Š]ŽEÓqo“ù|¾“ù¥ÃvãÚ‰±ùÆi4&)Í~A°‘thÊÝe~ÛÛ³–x¡t¨¨å{ªvןFÒaE±E¼Ì0š¿ Ešô_Êõk/Ò!ËÒ!€‘’ôžñLè²ý Æâô"V6Vz:Æ­[·qæLïRE!_„ËíÄñƒ0¸Õʧ©.R}›ºŠaA³:Œ>4˜kk˜žúÕps,òj×ä›¶ …B¡á¶ƒÄäMPÊÉ_"« ®¿+'hÊ„Q±µl0ErÏÚ¤“¢+à™t>çBŸ\”!8[@ƽìdSÇú: ²…AíÒì,–×Ö~~N§Åb÷ ÓKÓØXÞÀýD&ž€/:VçìŸ #½ÞsË; +Ç'KÇ;+Ç»t,ÎÕp[ððØ’± £÷4øn§ùbþØ•C©ÐM„ãG,C$éÛñEÞ IéîžN¦“Š&'­M(q¬ªÖCýlRM÷l¸uã&Μ;{,®i8èÍñØëQk &ŽÊ‰c(¨úp6±pò4ŠJou¯'êCn¯¿Û?»x…&‹×hƒ!ŸuÃC×·†=ú(.¿÷ÞþsECêáw»ÝnäóÃok8' µh`rr[[Û8ÉhJ¬ ‹ôLÊev¿ðÌ)8Q”ëÇwwîÜÁ©S§‰t !ÚS3AíO\D"!ÄZ,Tu¹\(ºÛ• ŠÙ$œÞÆñš5ah£×óŒ%ˆC¸ßayZŸ'æŠÅ<œN÷}U®­2ay°»{$ÈÐŒC/Ç«LÓeâW•æÀö\×l: oùkjl›»G kšÐz• T àÚ÷wxJ‡bv7·À²4møã‰„C‹hÁñ’;ËSs3XÝ^øïtð”úÛÉóð5¨_’‰4‚¡ÑÛ™aèÊ–Ï'ávíÿ ]îí7d³yx½­Û…½X Ñ.ÇÏÑp{ñÖÂóÔØ86›H¼ÈA‘FWZ±Ü/.i`íëºhÔ‹½½Ös½²®BØßÂÑãu!—-Ô”™J…ˆ·¼rK‹ M÷ЙpùÖ5(j@©T€ÃÑ¿¹ß\¡k0 '‚“!$·º—}'#‹ØŠ5vGrÙ,<ÞȈË€ÖYßb9˜ÚðêžÓ¡¨õ}(Ã0@ÓôÈ?#3‘i¬ÇNþÜ¢4Ý$yîÜ)¬Þ¸3rçlª( •~?Réj>ì÷ žnŸqÙÁó()­ù‰Ò¾ r"$µüßñLaŸõzC5Tp4‡R¾‡Û1Ò÷‹×ëC6[sU4üþ–óá@ñ”½žGCñPepúðÒ‘ºÂ>â储܂±¾±•àpÿmHÇ#nìĆxv8Ü(•ú÷Ý´Aà{ŸN'²ð‡¼ œ<&¦'±½±UÑ9LóœNÇSð‡Vƒr”ÕìOv1–w@³!à¡K0bûA€[‘ÑUø£Jx:‚øFÌVÉVQòàùÆA;·ïÀë " ’“§'±u{«ïß#i2DV8±å¸—J °wÂ,WÊÁãðŒüoçŠ^n'<îrùã!H½N$³ƒå¢ÁYîG %¸º0©Š ŽÍg)›/ÂÛbáSt (µo÷µb¬³÷¾i-&à:ÝZèÊ•+¸xñ¢µ>mB«É>åõ{­È»< ¹ãX着ö%Óy*@ÀßCýMq  ùp[ ¡ç{]VÀ Ço«KD®PkЏœ.r1k[œÃîÊjË÷ÌŽc­ÏÛÛ&“ɦ»£ôŠ?èF:Ù}¼K3u°3R×M*(]ŸIMÓÀ²ƒ•fòù<Üîæ’ÀÚÚfg»ÛžÎÍ‹È+ÇLv{EOÄsÊP&t³ÿ‚¦ƒJmÖIkº –)Ÿ‹hr¨ö)³¼@¡QŸÞåD±0Ü›ž ¹ëíDÎh|Þ±x‘0Ù²ùðþ¤D”Ì6qòðîáµõº¡¡G{[çèx{ÅD¿Ó‡t13´s½võé@KéÀ¡tètÝCáP¨¥t8Ña›åtv>& (¶J:еtTo±«(е²kð\Z:P'îlì!ž.ÿ­V:`›tX›é¶éÐéj¿j%¨’Ýà›k¶Ãù›vçärµŸÏeš\£p¤· ûƒp°ƒ)üÕõu ºÉÌý–J‡l•ôM:ÜÙÌîqV¤ÃòP¢·¤ µÒ!€ž¥Ã­æ÷N1kmÎâÆõëåøË¾txzá(!ÁDt¬yyŶÒ!€:éPCë~€¦µ_ ™°ÿé—tè´D£XRšJ‡ÚJ‡z’´”Ïœ:S'°,€Î˜–¥C–¤CÀ†­–ØXÛÀt%’¬4¨˜¡¯ðÙÚÞÂäDo[ž¦— ð|Åd”iB§úH¢X¦¦¦UÆñÛŠmgsãScÝß[¼RŸ·fTh ¼ÅAt&Ÿ„Ï}¼Vƒ”ŠE8œÇqËñ;vª ¡Í¤ñÌôÖ7îŽÔy;ýnÓGÁON¡HvÔ  ÍÔt(&ÛîN*ó¸ÈJ T üL@·¡é¸½|§+&e8 {«[}ƒ«[,fõÚ‹ï"|Yƒ†càßëóy‘É4$’I„ö'iOŸ^ÂíÛË#soÎOÌàÞöú‰xÎhM‡Áv&ß¾{§ÚËgRAƒèbqR)j œŸÆ#aìĬoá)àÛ—ÐSñáî¶ÚÑ,ß%ƒm'…3§ÏâÖí›uÏæRðz#u®^·ˆl¾Ü¯I¦““UÖ€©TÚ¶ã…ƒNÄ“ÃËòcWÿ2 #™ŒôÜï./cÁ‚³’V‚ƒí|RÄdhPzúФ‚»Óó¼J“qq.W‚ÇÓ»¬›ÃÞêjß®]$âC,Öß,Ä’Öã…Š¬€?¦ ®Ø‹ï!înLJéé)lllÖ÷Åò¸º\ØÕ³x8õa}/sì.Ç0P÷mh‡ÏRÆžJ¯(Kp ­-Ö|2w°³Õ‹Y†Oh=èe ;Y /a9ÞÿNäÌô4Ö76†ú[=r9ûýIãFA·/ƒ‚o"€Ìöð3A‰¢’ÔßNã…‡ÄÕ÷?()ß|’.èó#™9 G¢AÄö’#\“h”¸vjz 7nÜÇí¡=‰äBÁÑߊi{gãÕߥ¥%,/Π]2K©ã}ßQ†“>YB˜È» )…ýÎt ¼Ðý5ŠÅâˆDŽú0ÅC5•®Žµ³³‹ñqûs²$C0M'Rð‡ªE¬t1¿Óƒû§3Œb±Z 2U ×ùƒe9hšŠÇo¿ývußÈáD¡Ôx2ΤLPæèMF¤’Y‚Ã߆!—ÉÀãó˜{Îãò!WîxTt ‡×·^[_ÅìÌéÔUÕEN‹ÃVN-NáÎʦåíÈLÓE ¦ÎÒô"X¦·ÅdjNç±o÷‰Î>Šk7ßëmÌ÷Ѓ¸zùƒ®?Ï(€•? Ž­*¶_—|º·¿‹ü<r¹œíÇ]_[ÅÌìQÝ#• Û.©E88'"þ9ÄÒöȯ˜žî<Î631õíÁŠb+7W°xv±}9Éx–S³sE/A÷íí LLtt8(•ìiGu]ÃØ3ž›ŸÅæÎŽ©B×àÆ$¥œ‡çxLÖð´ Å8¹ÂR#Â~X¯;k³ªÜ¾}§OŸîø¸‰T¡@x?F;̘شeBÐõî„Ó|¡·‹Ä7Y†ÆÔ/jq{<È7iãÃccˆÛ-±BQ'{Å¡—Ûæú¦ff{>Î^.…èã±.4²øþè>ò:‘Èö~¹yÙÞ´Òé4ü~ÿ@ËC2 ˆû™i0Œ“{íÝn7òå3‰<|¡ám ;>ÅÎÖÞH—™T’!:z‹‹»<r£³ƒPQÊÁÙÁîÓÓØ²3`)Ÿ8˜{žý[¸Â8P3yÐM¤ú7nàܹs#Sö‚è„, ¾CQL³\ÇCØéq±'ÓP…þ7í¶VòEðîû/©ÕIãô©%¼ùÖe­c~¶e<< 8(%8x{ƒŸ©L–\U+eö#O“‚è¤òeÚ]‘ÃAâÉÞó×o\ÃùsôØèëÐÁŒDY-¯¬`iqq`ß§J 8±ûæÔd› ^¯Ùlõµ"à…ÑZ½’/hp·Èˆå\ÈÊÕ«&CãØJ윸çT-©àÕÒ¨¬+,äÒ/fÒpúüC;w§Çƒb&új F&¬Yœ—Šp‹í;uNŽAQµgp¡Ó:£ºÎš]ZÂÚ€Iާ‘Žåàò xòSVax™…E)'ƒãE¨ŠÂê'EÇ‹û¾b©x¸õæ(‘Î&à÷ŽF@§ƒF±ÔŸµL›ZLXÎÎÎ`mÍZÖOYÖ åvþáógðþõ[ ÚzYùøG“SR ±5áñ1ìÜÛ…3ì’·§ÍÕ¡‚Aóú|ÌÍa7rV‘&æ–°½zÔŸÔD®}ì¡XÌÂ鬗~)üÕ¢ ð ¶7ʦ³ðú½-ÚNÇÑ烃N݇ɽ‚ÑîêâT*…@ÀÞçÔPMÐ\¹Œ‹¹œ-2*rŒ UÌõàÜ,䔚³±‰¦É`YáØ>gŠ¢ç;+—Ú‰A»aEšÔ[};‰b7fÏda£ºcnj k;Û0k2ú§f‘Þ,‹kÁpɸýy Ë@תÇrá‰YÄ·Ëß˱4T­}‰ OD2Ó|Ü¡éfÕ6½£Bp"Œäv ¸{·ù¦Fƒbm,?EøÞb|»ù$Æú¼‹Šný¸lÉd²n‹u§3„b±ÿXuUÃõ_’TUwüvêóèñ"™;s?ÀR©í‘yæÛ£€éTïmõÔô)lnÜé{9Rf©wQ,ž#ìmŸÄéäPr†°é™l¬Û·£R¡X€Ë9œ!Éxᙌq™T!€ËþØQ»u–&±¼µr,ëo$Œìþ.! Ã4Ü^t<:‹½ÞK¤S)ø{š&`qŒm2(z8ã&+ÒüÈBQår"Ñ©öcÚÝxdex’÷½­-ÌON‚g8(zë¶§˜KÃéñ㤣B‡£8ÄâÂVZdIÕ4 ,Ë‚PQ”@;Åûæ÷ê%Œ£µÛ KŽV’©x:°ÿä=ÛY6éLûí:‘ Yk·~H‡>w9Ð067u¢.h¥tèt~°{Êß{Ö­Å Ðlßy¬•´”]>œm¶vîêz•ŒŒt``Ò!»o¿w+rTùs›MV!ÕJ‡FN:ÐR:P'°,º»È©¨³åýí ‹Åöb­¥boùZé€%éœ>?Ò©áeBj$J¶%”Œò{(”’4ÝúM6ØöÄŠt +éФµ†¯• \:U1:–§glÈl“t(éGåkš&Æšl½µ[³z]ÊÉû¿¿;éÐ+ž¬L š»”.V®‚õ«,»‘9®ýjM‡³qÇØ(3$1ËïͶ©GÛI‡x`×ý@:Te!·½_„6YRI‡3ã“%µÅµÒáäxx¿­ïŸ(`¶Ð${pvI‡t“âïì‚ѱt˜+æ[Ôõõy0|tWJ‡ݾ½ÝÜÞ*¿×9z1©TèÛ±#¾öâödZ©”´•—oßÙ›5sRÕ—í^h ò\#éO뾋³&˜V)èZ:`»tàP:ÐR:`‹t¸¶eMüVóZ_¤CÇZ:€bÁZüͤŒŠñu³ô*°M:<¨;jYÝܬ“J‡ÚJ‡rÅüáê½{–ϧV:p(°E:T¤æ™>[I‡l“Bóø!×a&‡èdY:ÐT: )ou Ú&oTH‡™bwñîé°V°¸kã¸ÛêBš–Ï®QßTJ‡ÂþöžÝH‡{í²¸5è³7“Ÿ~èiëm¥…¬®ý–ÇÆgoËdO¦‰üðÆøVêoNà›J‡Î2̉ÁÑØ} éè¯tÈ9YlîµA| !èY:tìïôaE:,×C÷5t£·›˜l=¿h24îÜi/„u+îìì ž­ODÒm»µ²r$çiMb¿;H:2ûç ‡J‡ZJ‡÷R}#éðö­›GcC‹Òa(:Ùö=ïw‘i½(wŸ5ý@: <Ðu…ñL+ÒaÞÔ×?') Ê´£”$}Ú­kŒD|ˆ£©H%Shw¾)Å~ú 1LFþ+¶\}¼ÂÞÉÞWó»í©U#V† Ö‰þD:n«¾u÷ôâÕ ¼ùíÍç¿ßÜÞ ²ã®€å¶VÅNÁ}ŠV¨ôú jÕ{|l=?Š{yÜ_-½*¬: IDAT¾w ,(È÷Ç@òA¶Óé#™œµÉPeÀ¬³»¤œO¯8’Œ`hb÷$…8:# `Á÷BV5°&´`"_@·¾Ý­jVÞËD F)çîúå]ó$G¥RÄÍͽi0BÎ’s1.оäÞ§{zЧkT9ßä`òÈ;Ô”IeÑl7ís¸¸¸ÄÁ÷6tÃARÖ¯ÓoöË,¶!by²ø­UÝü˜@FÈÀ;|z„ó÷æÉn&ÄB™ØŸÇ?~ĉ‡DS(&`Òö £îì;ƽÂñ͵‡¶j üüÙK¼}÷ÚÑçWŠ8½!ƒ½[&ÒÙLà÷8hõM[A£¡ !òM±âÓȦŠh´ï·æzî[uÓÞôålƒÑ]زTÚEµzýíå;ñ-z]$㉭¼¶R"ƒj·ùE>w:LCo§"=¯¢Ç¯‘ªïwÏŸã÷·3€+FÑèkW•$JxwAè›ê-*¥ízï!âÄ]Î&È¢Õ Î‡yÿî=ž>{ŠoÃà\,–pw¿( 1 êv)£)P(æ«}>­š+"±,&²ñÁv¿‰Ô’z4ÅqÐ$k_öá¡\Î]±_(Lc2V¿Mþ/|Š9ÔîÈ!ÊLÎGS¨Ú‡Œ'«qèT,‚vß}^»7j#.¤¾ª÷!„Œ<× ÑH`øo“œäŒKíà®}»5×3¦&kÛQ$XôFöçY³ÝDƤ C Ô$øk­ÖïQÊë¹À»»;”ËeŒÅ ±8DѸ ‚` 0…|†ø °„÷Ë»×¹!A‡Šäœv «ÒP$ãÆ:ü\'Ð!ß Ãe ÷ïýo+?³.è„þë_ÿ I þZì ÃžäÌx>xaÿ C‡À tÀ5t(K‹»ß?þäù9î™Sþõ†}pÖ tÈÍ%ÎN^’%`O”Tyvq. J txôÔŸÄóIÎü¬ :Ô Ê¯ž3 ’}‚í ìoÓè4È LFq÷ÏÏO!±z …¥7ï|ð *zEÕáÉþZŸG!ï23‚ØB‡ÐmÕÁr«v $+óÐ!×Ð!OÐ!_ CQu†XB‡»åõ¿{3èpÐq¦¦;æÐ!àtÀ:à:Ì“Ë/ÉÚ¯¡ÍÀ :¤2{øþ~ý€rPÐá²om4nÍÏãyè€'è@ Сʛ¬#ŸZc;¥ü,Ð:²„îN$¾zF‘B‡æúî7"S³¹¹¹ñ:°èÀ t`« Ãtj;ÚÜ„Lì0+èt'''U͆»vÂn¡Ãr`:à:L¤ÝÁŒf¬8ÆXt" ‡êâÿ :ä €ŠLfQņ:<Ø;ð4ïì Ckù¹Ž+•üÑÆ×cX5÷}—¡Ã“Ívëñ À]ãÎ:ð :tº§Ð”%txPØ,õ :É›-"{ýÚx-ÄÜçmŽwýóG)…,ñü%Y…: Û(>©úÎC‡l¡CšòW¸ ›[܃F•ãÞ~x¿xæðîƒÐÛX€÷öu›^ l?$tÀ:<¿¼Â¯~üâöæN»&ªÒÝíõ tà3tÀt¸·›Ýªçr¼kçMlajI¹Ø:Œó΀’Xlõ ]†e¬ú¶n¡CB‡Ãþ߆IŒÂ&e8o1ŒÝByáïËÐáÉÎâ>^¾žÁìL«ô¸Ÿt€:lu[¨VW÷˜¯ :Uô¾îþ¿¿MEµæ Ãˆà½ø'Ì®W­û¡f§©øŸï :,dÜù¤±XÄWèfcž~Ÿ:` Þ ÃlÌ>ôüÅ¢©ÄgèÊe}¯ ó!Sè˜*z}Èý~±XXƒ’[)Eµ³¾C4Är˜ÈöCÑP œ.i,~n›ÝÉ¢qknÌzDãIß®½Ö©¡,lõ¦ÿäÅŸðáÍÏ«Fz£‰ä*¯¿Ô‰Æ0ôƒ1Áº|ÿáž>yâé;3¹$š›ig[ÙËãæÊŸäs(Åd¸¸Ç°<Yœ=Gšf¡ªòW9·Ê;Ǹ#lM°Î‘K%ðÐî®å»h‰…Ê9{ÿ‚$®ZÝV‰tüQÎ…ÑD„àÀ U *½hz´M¤Ö´ç‡“qŒ;=|ëMDˆ Úáù0D-¦o®/QÙ]/Ð)+ Xf=•ˉDÝnw«çF<C¯ÛßêktªŠ…1è7~ݵz…¼q`ôèèÈ´½ Û±w|„«SóÏõÛb‹®ñxŒpØ”³³SÂíí,ˆ&*"x‚ªSFe Ð3›îãÙ%NŽŒ×«ÕrÜzv<š ,<î6«–>F\À°7ƒvž•ŸáÝÝ;¢ßÕBQPk?>!ÄÐ%,`"(ÃáÔ&C…ñml~h,J– É"8ö˯Wx ŒM–¿Ûi#‘$ðó‰Ä-;·)U‚F{««Uk(”‚‹OEÓq Zd6~8Äa< ’•4œ‰Í›)î¡yµñwzv~Š£Ãǧl{òÃ>þr†z7?¿A)RBu¸˜Tûí·_ñêÕ÷ÆgG: ¥å,n¥)ÀW,8´0Í6²ç Ëd:‰ŽÝsWE€æM(ñ8^/ ½Dœö(žùd$"$èûI·×EbM ‡ñd ½Ž±Möݳ#ÜÜÜ¢;ðWf£P.£vwçý™u»%ìŸS$Áp¸=Ýp>~<ÅÉ ù¾LÚ-¬?ì#‰mÕ¼~õâ~{ó[`Ÿßì¶‘Il®  @ƒ÷$š‰`Ðt>W{½6âqgÏ¡øæâX^½·Rºˆjkµ°ŸeYÈòcÈ¥°€Ó®âàÇž>ûïßýîÂßâAÉâV<-UÕ@ÓöÄóh$Aœûq‚¿ñ•^€x,Š/mDb†+Ðs¡(¤I0ŒϳÅíÛkTMu å_]_ao×¹Å}«…âR,S"†hõ[HÇÒb.ʲ–õv†F8C‰Ìï´ûˆ¦í¥÷§Cåã²?ó@–A³Û£òßëOX,‡h¢Ýí •Hú~" ðß„b ÷VÒÄ?N¯”,£Ú1öÍJù}Të—¨·ºÈ§ý._Êb±ÜB‡#™<ÉbX×Ðáhà.pKÆb±èðùËY€ëtÀ:à+tà3t8{?ÄwWs‘$ C Ðaµzãíâ}2ÌÙTB>}VÙø¦2™S.ôu5&\—^¡CPºÁk†Csƒ×è0Lë ËÐ!€èPwªf­‚ÙÚ§i c$â˜àŒ UU]>Owû‚è°Û%.ŠEçÁÓL,†×Óª[#èPÙ³i6)r8…õmÈ8 ».è0+ùþ™‚KÕ§eè€+è°åའs¿ ÃfϾ‚µÝ~ðõ™Gøí…YXÙ~Ÿó^Wí´ËÐa.OZ7tÀtXp@÷:´«ÜŽªk­:º3 ]ß™rѱ„µÉ¢]§Ì%Š…P͆óv~AÅÖ1vvŠëÙGÆÎj?áXƒA°ðœLO6þ.i!'Ð!×Ð!3õ ¬µýs¼kïûSâbÌ :Häï Hè1t€:ŒP×ײW~nnKÙ@‡W·ÆªoªâÒ®0Q¶r úþ#®IÜ4›\<?þ¢Ûo~Ö•È—¡C¦Ð!€è°ß¶c}ÉÐáÎŽ³8ÌAå쎭ßèÐÃp¾ß»„H>A‡GGÖ±ŒÎR>Ü-t8èùzÑ4EÔuÔ t`íС:Ö};M´Ï©ZA‡‰˜·óÚM[ØÝcl¿ Ã·§æ9Ä  C[JÓXJsÚ)Çð'èçØÜ½Î t£‘~Ž,C‡9Â8d"³þè0 ÖóÙ:¼½[d –¡Cxz|â :dvuŸãYÿöêÝ’îlßÞÌæò§âŠ7vÚê2”Í‚µ®q‚à?›´©)•Wý”ìNá#“±Hô&dEcÉü\ì Ö÷|SQ{?DóÐ~“/Ê!(Ùj®žÃFà]£±\`mœê¥µz‰ mɆ0ó¥±~^r‹sñò†ÌIÔD,†*øt•òÀ_°”§TÔošž>CU‡(åÉŠÅx~æµ @þô4è´ý½ïRfæçÕέm)ÊÆþϸ(bhw;.ÖÖ¢œ©ä[ÇŠj¼WßÞÞ¯g {KôD-b0…œw‰U¡ºhx56‘ŒúÄW¦~aW¶¶N¯×Zª8{'šÅR8ܽcÎÙ;P'Ûó*䉊ŸþÙÜîÖt›Fv¡¦-MfgM.¾8×ïªÖ~ÙÞŽþ|nÑþ s@°*”µ°¹$Éy §ÖÕ÷>àðÓõµ`6:îÏFQÒÏvqbüùH±”y¬"µã®¦"­G…(OÐjj<°¶ÍooÝâšìÿ‚ŽÛfö{úõ6Þý¼Ÿ~ZõnkþÅv5EE©\A8Ìc$‘;]ß9ÿ~*b¼‡\œá”M‰½RͦµÀB<î®ÐöÕóYl)žô^˜SÉ:+ØèTÝ©.VÖ'JpýËbœ³ÞªâðØPž4Ò yó½¥Q¿3™ïF†š{UÑXÌxîüxBVl.L´ÇI™ÇSÛÑEgÿà©íÏüöÛÏ y2èâÝÇ÷D?w׸uì7:ÍfíóŸ9ƒ‚M6ž;9BÇ® E2éª^4µXÛ5s{#o °*"¾˜A‡µ©Ïo¿´Ûæðv«î­O;ßîOuâ`ï`+žåóé™T«ù»Ádû'þÐïz·3Ï®Î.‘Iê~Z§ÓÅáñªz¡JSû%Š[=ØÄ!©©ÐD·¹]І’{Pv§¬Û;*¡ïv¼§ûéšFnßœ}xïêÚê5²ùâŒòÆýêïWvgvjØe¬Ošó—óîZÎ ÷çÙÍýM`óèìãê9Ükµ\Þ›wo (dù$j®˜yЛ}g¯áÎ×ÞÝÕçéÛ wÏ«K(Ò±ûbu?£¦±'¢VË•ƒn.ªø6 ôëëÏ/rÝ£z{’ÚÁýýŠÅÜùì;’Ikð$KaØ×@>ÂB~9íqÇ¢ˆ0¿¾öUB2ŒQÇ¿dãŸ_½Âß~ûí«Ý;h. UZ5bê5äò›i‘N± öŠe\Þ\»Ÿ‹Ó>DòHFv§ŒN˹e4œÄÕíÙgÀåøéNßÏ ¨iÕ(¦¡OÙƒ¦‰ l5Ûìv‘™¤¥Ò.ªUówácH䢨®!y=öñ¹µËùÅžTŽ ³Tk[Q†Æ·ìhÚÈDSàÒžw&–E³ßøöà×4xŽE¯ÓC("`0rú~â‡ÞÈ¿BŽB©€ZµæÛçÅ„ ú£fàÏ¡Óë!ß|…g8ˆŠ»÷!icp”óÖ¿$û«">‰+wujHä sÉ2àsÛ’t2†VÇß +M@$T”0_âxùý÷xýë¯[}‡{%œ_mO,LŠ`#ÁÆô¦€”¯Ÿ™ß)¡~ëî9J*Ž–íÐv‘Œ@ö&ÄCäÉŠ‹‹ `ïÉ®>Ì”&s• nn¶îYøÕö5½SDkÉÇ?;½ÄÑñ¾É¾2ñvÎ\\_ã€06žÍfW Y> Ú¿…ÃÆãõï#4OA×ÓÒ9™L¢Óéà¤r€7ëY¿­’éø±µ¤£Sᆠ´&¦£<Ô¹‚hFã Päs6“N Ùê>ªgO¤Ñë.&u3™¬-ÐJ2TUïJäÇ E>Û^a–ÅØAÛá|:ƒz«‰oØ}ZÁõ{û3¼ÙlÚÎnr0LÊ´¨YRUpž&, ÌwäâÃPÅà;pìVʸ¾1µe‘k U•N§Ðjµ·ò½P\šäìÙ%Â<ºãUpI–†`9ò8L8¸ošˆPÁc³y„v§‹TÒÞn¿º¹Á^%ÿòæû•}|)C’5p¬3ß{8"ŽàÛöpu~ñ¨ï!»[Dãú~k®g0ì€eîg ñÍAÙžT´JùFëÍæÃ’¢DøP°xI±ø :TùZµ.˜‡“…ôÖMpžZ|‡ Cþì CŸ¡C3èpé+hVÁcVÐáþ¾±ñ•K›'“)kcÅOèÀZ¡Ã‚7%Žó¿êÑ:L%²k‡[s-©zµšcèpe.NƒXuÀ`ÜYÌC‡>C‡6ÞלÝW§7 þÍC‡|Úÿ@ffNµÒ :€¡Ø_ t¨Ÿûú½ò´ùZ …U¼|†Õñú 86âÓ~0Á)Š6ll’•ÊæŽ:ËjøƧ¯ãZ&f¢zenÐÐáÅ™./þ :ôoôÚ™‹’ŒÐ4QrP±>›.Ì›ÛMÿñ?­üÛíµ½rÆA‡­Îì|ËæKÆÏs ¶[«{¼ßÐá'õ¯ÐáÅå•«ß3ƒYÎ]±T8bn_v¦­üÖð *ŠóxFå ¥éôœ ij4ºúüŽ$ý‡-ç¡Ãòþ>1tÈÒú3\†›¹;hïHQ³ëèôgŸ© äÿáíÛU?Ã: ‡$“Æ ;¡¥N;´áŸOÐa2îÏþÄFxbè°0Uë´‚5MYéZg5®Î½÷´lþ¡Y»TH¦J³½Â :ìÌAí~C‡ã¾¿>¡2×Ie:ÌíÝì Дñôœ l!‡åβìN1ìúæ4o¾ØŒ CZ–6öF=¢Ÿs 0„õ³Þ<Ó0Øë¬ C‡A‡ƒ˜B‡ûO¶#Îѷ蜋éöE}Žwq Xi* ÷½ÅðöìL{ÜÐ!€­‚ Iºns¿IèP‘ƒt½žûbp˜ÅhBvnªâ»=…äéîÃXA‡Ñ¸³œ„0mw^ŸËAѵhË¡Òþ'µ‡Cg$e&“[rBô—*N_.I"ÏÍà}Ç~þÃþ•­Læ»ê>?yNü™Ë­ 8“F§f. zô’ÌH%õÏN„ü!êEm´p½Œ²jé+TY¤ËvN´CÙ^eƒ"\———†ÿ~;•¶æ ZêvÚClz,;–/žÙŒ+#V4úŒ¦RÕ·5ož$Ùƒ ‚$ůÿüçì6¸¦vwýÀJz.PËdñ%Žão‚®èdÍf‹HšÖbk5h¡iîÁ+ ÖÉïŸ-&*^ÿþûú @Õ|-MÆî“Ëbd}®<ôlb ² D[¶[êŽWÏ Y¦‚Ýbdg½8qo+N&"&}Þ‡ Z&Ææ®AUÙ­ÝgŽ‚©¶Le‚sN$‘|¿©Þùë8FBö€R<î<ÀAÃÑjöÿÎX4·›þÇÿøÇÊ¿íØÀtÅìbðWcŸ"êÛóY¡@$™tüûíºn=Ì^¤I®««‹9{R?÷enÕç]´Ö5´óaìÏŠ OÊEcÆöÉpl¡–ZzðK h~Ú š‹·wdb)“ó±8g\~øxFô=ÝóȧóÄÐT¶Öã³ìînÓ¨Ÿûßèt‹8ÏÞ?µ´è`™°§Ï!…o'¢ñþ0èô6þ,®N¯§v‘³p6o¼¬ì®‚À’¼x–ÊŒµíûîÂ[°¿Ùu×Â&?×ÞÇ ü’M/BlÕÆ=’)óVr…²ñÿѪù¾ßz?sTŽOSþ¨@kšõ÷×b²yû@ A«±ƒýY+©ÖÐ;|"Kî@ÈñÐxm ¥-êc?e‚Vå ã|»¹ØPB“R‘Èéó{°]pgÓ7œKªñ3|õê•nO·ÛØÛ­ ’-ÙÄÄéž?óO’±Ùz¦xÿc1Ų³Âûñd„NÇ8n.Ⱥpu\ò¾Ó[´Wh—…‚²ƒ¼h­a?Å '/ÜÛ;ô©¼»8E®BÖ <—)@^3in6Ïw÷ÍÛÈ&³æyâž·âÆpÌ&†å´¯û¦©TluÍFOòO8aw´šî& …m#ÅR’ç‚6\,ìÛ÷•óÖɆBÞ]ÒãÎgÕì„`n“È ù¼ WÕáp³B²&6I4¹Ù6’‰ÄìÙôû΂‘ºõ{º¹6eƒ¯R bÏŒÀý² w&a°ÇÒö FJ›]L§åiLÕÖ2y2{ªv×¶xVÆï%±¹Ôm¯GÏ;‹žæ’F™'‡5ÚÌ?µ>K Å’£n=QkPƒoFøR†U¢©'·ýojö°|"µyÅ>b|¿ÊØÙ¾š^s ^’áfçD2Oî#ªBp…}w··Æsk§lñŽxìU ~m=q¼5×’H¥puu…›FÕ&6`o'µ»ÞrAb€ Æí‘nïìí¯\ü:UØn¶*&UÜV7\(8_´ñ¹<ì`|ò:äP¥ëáæÔ—ï½¾œ¼|÷Ì\ ø~ ˜¹¿º öÈ烨?¿v»Ivo¿ÐX|…R~nî“å—é¹"‘‹ëóE_²tHôÿç? ÿ]šó}çãpf2šA!縼 þMÃÜoiuW÷Žó³3lË臾Þ5¶u°!ësg¼IU‡"{?+†â`#×~~q >V‰†P½u–SnuÉýÿ0 äºÅÑâY›Ê%}ýü_ßýêàZôbÑ’C¨y0XO‘mx΋2«¾ÔÉ yQÄw/¾ót-G?wá¹¹»u¶¯ÑÔ%«V‡,ßC1¡@ßÁ ?‹ Ïm IDAT«†SöÅÙ<ÃØØõ‹{[»Ý™³M´¶˜àH-µÆ ¢·µ™ÊA<Â6Édó}½Û] ²ØÀ»PyzþäÄögJ… ’Óv¥òŽ«{éöƒw¨4M_Œn*¶?;e²„ïoÐ:ŽÅÚÀ©Þ­n 'O¾wôÙˆõÁx°_qñÞœ†Á$þIZƒ®Ó^?Ðy0¢ÈÛÛç¶?“ÏT>yñÜñïÄ‹{8±x`ŽÇ‹íÓ“LD²`Ø“'3ç»Y_OéàøUÃÀ,ñ¸wÆÙ´©»¾ÝO»Gæ`IÌf HV# ¸‰smk@K¨67;oTÕþì¬ØÁjäãH$WÁ‹DÚ›÷û[c¥žçÐjè%#„Q»'kQ;›uª†ÆÒâž#iÎìÁêýÌ¿¹!?¯†c²$Ó*ÀjÃYëÄ×ÿú—þ~K«IjmÎ1‹Å““çg—Žßµ¬›H$|Ÿ³fª8&³C:Íà}…#Û#ûkR÷‰ÉhÑ©OÐ&PÀê V!Ù =r±l^¥ ”p5ÿmÃÃÝE›w§²êE¦­&G]oï£X(ƒ ùßž5ž[\c]˼IgRØ–aÕ)‘r±sA©ïìlH¦Ìçñps™ˆÆði­îNq½¼SôõYvGäç&›Û Q“–¡”dßN†ûµ<··hëK4W«7èvgÏFÃú”;Yƒí ÿ˹WòPT{Û¿ö`žœ8zELnÖÝïñÓ½œ@¿øßÿÍñgä^м½ÿ…Ê µ¦ÜžØ ÞÆøç?ÿ…Ç8žÏTõ2 ²Â3õ/’±®DtÛ›ñ{Uuvâì~é¥uvuv¾%12;«ã`O£GJÝ…§õÛ[×÷Q»5‡Ä¡ˆ«›ÚZžgÚŽM™+5Š£_¨u^àí›ÓΕrÙY̤MXÓ“JD¬½9Ÿo¤Ÿé¼º™Báï¿×s™ô,ÆÀ[¨ÏD£Áú4ùryéY©.ßóâçôæò°ÑˆuTœ«ôŸçö&„°\w\ñðïïÌ•€‹K…ÞÑ?¹ØâniÜÕì‹ÅÔ¹"‘tjÑ.½«’üÃOÎÎgÍ86Eaû:ݤ«Å‡Gº¯‘ÜÛÛøõÅ‘µ|Oíþa­÷&Põ™äMoïÈcÕéhbë×1§~FøUßãðà”¦lÝó8Ú=A:±ZP¤1òZ¯ƒ_*žm?ø{Þ¥nñãb¹‡J)ÚYŒylà‡Is-?Þ8¾†áT¬$êPÈçì{pœ™ª'VÊ;/1Ç—ÔòÏÏ?L¯Gÿô…5œŒè\ûxÚýôõÛ׿¶¢¢¯ýÐÒ¹Lëv1Ä£ØÛ/ùr£J@ÊD±xÑ䢓Ðë¯_Nu¸ÄtÜm<ûû{[11Ãç æí‡¶?S­Í6•ªC‚8sVi÷,P”¾—+¶ŒÉ,áâÜ«\ÐÈ`œþ?CL•ãäXch4½¸4?€öœ;~­9ø¶==²¹t ¯Óq—ÐHŃ­¦4wª ‘øzœšgb༺§?—¨ã8õk÷Ž<·hT|ø0s¾3ysCðí»·kV’¨ï­9-³VkW§UWß1ÍæŽbý‡Ãþ9n©øâ™Nsöû\«íÜ!qæ†jbÚfÆh+” ^·í”fó×ø ލÄH#gßõË—[g ?œ»K„lÀáïžWD‹¢ôYÁLQ(.*-œÎ­w³‘ Ù+¸„¹Å tyã̱âw*1‘å@µê¤‹æ€@>·hûwzúy]Ê’ù—çúó{ùãd{w19yH --g]à諸 ÕŸàÄ~Ñ|OS’™8Ó`éÅ}øèȹ¿Ž®ÎÃôx” @“|Tjwäw,­»gÇOf‰ë†§Ï>Ú7/Ö구Áÿ½£§HCå…$ùÙÍk‹öüH® ;¶fîEG{ú»´:Ú5-x@¬z{¥ïÉ6OhNÉF0P8:¬ì?–í»h©>ÕÓ2V×y`‹ZŸúB©´¸V)ûnxM–¼©RòãTš8û-’¥y§H\,íåoþûÿëð,å{W«E¢dïCuFÝ¿¿Ñ´P;™vW˜ü‡?üèèç³Ù$2¥%#½öû~wzõùÏÍ.YáJ2éðUùÀï#NoÍ^@ÓÎíku)™²wt¸÷"m@í¦Z¯ôjî&¿³Øwî¤Jk¹·Ø4¡È̇~Š£é†œ…MÀ›ûŽêxóª¨wwÎòO/žZ«LÊ¢Åa.d^%,؃|ËÊW4‚Ý«Ä3M„öP}I©¦ÝÙ±¸að!òÏÇÓ®¾ãÍëßK%ˆçâÊEó"¦Ü±ÿª¡Á}®M™Kºß_ß!•^¿Šïóçî€ÇŸ¾x¶{Rð7¦QëévйºZ¿<˜å39Î__Š_wM:˜eK³8_¡˜[Û=N¦>ìùéËŸLò¦;er[¢5 ÷}Þ¿ù°‘õÁÍ‘ù©íŸ„}ýŽ¡Hn¿HŠþ³Õg*…¡°?yî³kãs‰RÖ.SìjŒ²ïA@Héñcõ_@íáÁ8÷;VÜs$šê½«Îñ³çž~?ÓŸÙ@óýšëœ ¨”ÑìþÆK1µÞœZ~"—Âáá“éõX³G #CQÖ òöDë|ÈËçö9áe{“$ÖmoÙ.Ɇ{\]V}¹i& e¢~¯‹AÇ™C~\ò_Ê?ƒškÏM’Aoý%%ÂËËUæbFo†ƒl|ˆ]ßI?§çÔšýÕÍœ³h‰Ü#lÑxvz¾Ïnl¿¡«ˆ¨V¼%åÕÑì]ÝÜ>àtN’|Ðò®$suá ({ýú-ÒsíÆSKCH[Ÿš„4Z=&hµ÷ñütºG[89=÷•‚‰Øfª×–ÛÐ+ŒýAÿÃzeì‹§‡%wïé¹#jÐöK¤³Þ‚þ­NCõn®í AX?Ÿ½òSßÞ¥*Í&g6n|¶¦SÎâ‰Å;îö»ž¶Â‰Aºë@¡B2HîV*訂q‡Pˆü,øåÍë­¶º òÀ¹@Ð*=7…å´¥ór'kÈ;žS8õcÄ#:0µïPQòõ¯?;2ô-<ÄÕõ~o>ëKNj2¾˜ä Û´ÍÛ?4~*åþ>Di¶Gr.>çìæ ¹b =;—XžÂýÍê³ØÛ·ö(Åogzð#Ÿsö^UÚª5Ç(jÉêâú9;[õMJÏœíÃŒ@`Ñ æp&m<›ê²¢è+âÞ’Òè»Sÿ‚”g—æÅZñt %Ç«³÷h]èÐs_Z<›jò k£qŽ[M7oOkË0ÏàìÊý»Œ ÎUTx¬´ã®@q4’±·¤Îp~s¹–çWØóV =$ƒ_¿voí“|Ù›ƒ”?ˆEbá®vƒæ´]ïhI%œå¼%î5–ÆÞ aëKJœ2»^•¤út/¬”æÚH/)m2sKŠKøUv°¯WÉ“;/~ú3áyºxž'ÿU?FCg±ƒãC½0¤Óºõô½Y–³FÍ‹™­›(–ÐǨXBh䨠&„Ð'gÏ÷ç¾cT DÏ%Q 3HÁqNÕý¿ÿ?ÿ÷æÏê°Še†{¾Re •GîìþáD äYóæ¹ŠRÞ]®„ºHJG9ܶ«k›'!«6Ž”‚A~¯ÛAw8;{i‹5£Š‹çˆ6"÷_“qA§yß§Z·žã,σ±éþÔ|¸÷t=òÒüVa=ßém²¹‹UÛ%ßyE.»Yr•ðdjuÏšä8C[¨ 鸾^¼|…~ÛÜ·¼»×çLygµxæá4`ÕP‚6ÙOç ´™¥¤{»åLÅWSÍÏø&úü“g%¼}ëNH¡Þi­õýWŽfÐh×€Dg´Z|žÉºïªE­1¯·î!DgùLÉ¡ý˜Këçzo©cÏñË&¾ÊâÏ­‹ëJM¢C¿¸kUhù¾?<ÿÑ÷ëzúâ‰szZø/΋ioëwkZß3CT\ŸYƒÞoßü¶òo£ßK)·¸F¹°uL7Ÿ$÷éãK±FI’¶f Æxšã#’ÆöÆhê—Q²u~u¹Ð<;ícÕ¹+—ó·¨gÒõ§PñªzµXô³É!ëþÙ}µ†&÷ÕºmâŸU±Xl­·çƒ¢L”i©¿üå/ú)¬)€A¿öë«K¼úþOèt«èkury£Œ›³;|Éc<’7ÊýÊ.oœÆé4ºÁ«L2f§®·ýñ¡ÿé.ßW‰·úm¤cÖ #£^B<Žd¾ŒNýãIáÐú•\âÉ4zk6°ÍÆééG›ÈÓ×ê òY|ÁŒË‚EÑ÷ ï¯Ñ (Uù"žG<–@¯ßµyf†òèÛä1ÛsóE4ë÷¿ŽJ·7d×ÁÓDÕ‘Þl5Ú’lrÐ2•õo-•q€Í²w´ƒ«3k›àêæ{•ƒ?Ó|:‹›Öx8K‚Ü><`'·˜tÇC÷¼ÁÔõfùŒóù–.Ѫگ‡D4îÀ?5—h$†±Ü‡"b+˲žÔš$ÅZÊϳ*GoÜ÷án¤c´ú5`"!÷|¾„zÝߤe«ÙA:³š˜m6›Èd2[û,B!“‰²†õšBoÜöõ3%IrUÁŸ‰åÑì××ò|kõ ùÂFßñùÅ9·zMÞÖï°“w§ÒÁ 1H#òÊñÞ°‡xÄ]ÜáÝ»wxöìÙ½?þë—_ðã?xú ŽÀÄŒ;ý­¸§x.…ÞC;Ï.r¨Õf±ÐX4†þÀÛ}K²Žå×òlºIÿÕç˜ e¢Çk6 Ù¾¶Áq$i{â%<ÅCÔD|̓aU(2½u×5h·M¥QÜ9ÆýíúZðv:C$“Þ’M*%ƒÖœSÙh ›½²Ûê!‘Žãø¸„Sƒ.w××(ïî}ßÕÙö¦m/ƒ…JµwÊå‚Ãh´™³³×ï!3·4†¥(¨ÕZ(Òbͳ,Yvã¤êŒ aÔžàky‚êKB&QsóÊÊápã±=´s}y‰ÝýÅ¢Ÿ^ýÿøíŸ¦¿#Ò xu³m'ê!ZÀ·ac7@u]<äx¿¢TÈZðßÎ$0&\c{ÇG¸:5W‰o·ÛH¥6cãóœ‘ÐÎ~öâÞ½y³õó-—Ëáááa+®ååÓçxýÞ¿mn®ñ¤bn³u» $ߨ[{öö{;þt"‰§ÓèµZ[ϸåÄ¡8ºoy#V£!ûØÑäÇgÏð¯wï|û¼t²€VÇ*UÄ >´ïõ3xèr„x`²¦ØF©rˆê͹ïŸÛ‚1Æ®.ï°·_ÆcÃÁ‘hôQ\+£ÐP˜ÇÙögyȲvMg¯#0\ÐBê\ëÖ5 Û:TU]h¹0 ÚUQÍ›?;QÁóÖsn åÂßc»ßD*–±}ßÅr÷w«Á=šâ jþW¼|÷ì;üþî÷Àï?–L¡ßñ–(Ks!´¤õÂ!…° «riÿÞQkÐBz­¯¬ÃÝü!®ëçøǯ¯Ç÷/¿óïG <>8ª´ŸBõru ßÞÞb'ÀT­m–†²ÔV±È¢ÖmlÕuŽ$·}¶S¶°ƒFíÖ—ÏR(€Ñ€A¯¨MÕä¨7„àk¥ÌªMûg¾[NãúnóA—l$…ÆÐ?@&•,¡Ý©nÍû`ÙdùËJÎQ¡4U(¹/‚‘íK›öeÛ½Rñd`Ÿ?–†s¼;=óã£Çñžiš:ó»ÒÅ Z÷7ÎϧÁÂ4¦¢Aµ¤F#DŒ†#Ä"aô]ªÊeÔî¾ìBß/qh¼ Jt/BÓ*8:މ´°˜B‡µ=íbFCû@ˆt€:̦ÝUŽªòÑzýñK[ý2t€: ™´ÍçV•àúݶÓeСý\äâ‹Ð/èСC–Ð!;mý¿ýû¿-ž™^ZÂ(‹ðq²çŸJí×\ÈxR_^_دÁ&Ù3w†³î• Ç&g¨ŸÐa.‘D»SÅéÅúÔsì†tøìøxë|ɧ/ÈUí´Éå‚}«Ùyè°ÓmyöewK«-Û#1oq‹gOu¿ HèÂ\´26…Óéõ*éP´½<@ëþ­¦µ"A¹²zÂ\L…28GFCÝŸî{H$A‡,£YØôúwì¯ÅdrýAË3‡­½5øioFmüt(ºŒÂª*m ÖïÍ%åœ}ܵþ°èkÄ⩹9çÞ‰qQ[èPc·£ø¨^[}†G»ÞU'Ô%%†Ø0aås9öMÔá¾è°R´žïŸ C¾@‡±ˆ·Øe Ð!`  áÅu7œ8‹Ûp˜ŸËÐa>m¯vCð:°j“€€Ÿ5A‡ ¡CdÏ—ÒÜÅe›b8ÔcÓ~A‡ú:ŒMí‹Ù>ît¨N–r&T,™F¹¼½Â#~A‡Ö&…¹e3›vÐa³ÝÜÊw@ Ê¢¾—®:`X€Oö_˜Ç$ ùéÇéù9ñ÷>Ù;1÷]Ƴ³Ù:ÌÅìÏ’Ë‹«@ž—¶$ÍÕn/ú‹:Ìfg‘è°ñàšYt÷-=.ú :,•Íçt(c‚NÓY¯brø †8‚õø cbPs{„sM¦!kÔf'Øø_†eÕÜ®}²{¸zΆÍ÷x/ÐáB5O+èÀtà3tèÁì†t¸?U¾ŸÆ 2©¼¯Ð!€èÀ tè"KA@‡¡pÙœ»û‘ ÖÐ!€@‡‡ÎÄULC‘&ÃíhâfÐ •1é—>A¾l¹éH2ƒaÇØÐ.DK¨ ÜÓÛ/¾?Ä›_­ Éf­ƒLÁYB£Y{@¦`¼A–£yÜ ì&M)P5Æ" Cc¤¨¸»½Eù*mãLºˆ†¬§tœŸÙ2¸(FÒvWúO:„’Ö0ïQùgwgȤãh¶¾µ“ ä=Ld„BÖÎýýC Åܪ£ÝhÖÍøß>¯²³‡›[r˜ q&ÒýžHT8¿š=UõáYP å8ñ|½º³võñb½{² ßóçßáí[ÿUF…Ñ\BiÔ!$øéÿE0"P±ZÇÈ”shÞ=L¬J”¬7ï‘Ï7~ýï>|À³'O\ýn¡P@­æ ”»¾¾ÃÀ¾¢*`hïE Ãa‘ˆ±“÷üÉK¼ýðÚx/ç$HÒz‚ô»•"®oüQR4㎒ dD£ÁÀÄÑpƒqÒDÚžócÔïBˆ%Læ Àx,î¥4 šAа? v^D–Œ&ÀÇxÔïÉ[¾„y cQ[û³e"!(ï·Õ™Û‘/eQ¯6åµÿòûïøá»ïÿ–f-ËË£´³ƒêm0 :›liµv›·ÓBÔc`†f¡¨òÖÜÓ¨?€³Þ‹ž#ʶ«€Ñdôżg–ÒÖž`êw;ˆ%’[rÿëi­÷Xâ!MDˆ¢ˆl$…ž¼ê‹%¸4º’ð_^]aoÏÕwõºÄÑ/úyö”1âLIDtKÔàC … £mŵ¼úÓŸðÛÏ?Ï!@!³%•aLd=‰½T"‚v×y\‚V(¨[ò¬]7†ª,BU­f éLzúç&Ò™ÌV^ûn®€ëëØE~ÿõË3(*J¥@³ëU9ßÙÙÁíœZ¬dp³^/‘J ÛvßR™byh²ˆ/iÜÖﱓ7Ýdpq¡¿§(Íb``ßò<Q|ÜÏ¥”Ž£ºÁØ`ÔCT°qG BÈ{ü®¼SÆÝí—§Tßëõ{?#)EƒÆøã'ÜVo°cP¼ 77ç¨T}»ŠÒ 9ðoÊGǸ;³/Ž¥cè·“óêåsüöú-¾¯cìq{vf»ƒL*ùU>ƒ‡Úr…œçÏLJÃP{*è8 :ÄBÈâHÒgÜêÙ4ú± j¬å©Ê( æ*"”ṉ̃'/}Vµ[R&{pa\ì8¿¦y¦`,ÏÀ3èt˜ŒšovÐáñÑ¡!th· e,* t`:Ü?ZU²)êÔè3‡GÑëʾ Æ›·oÿ–@P”VÆ:ð:`  ‚A‡BÂþºò1ó9¼U(ÙA‡pv§ß¯СÀØÌYv{Z“ÓX_âÁ :üä¨s2gð þû¿ÿÃÿ?ÿë]}MRèðÏ/ÿHôsÏ*»Ø¶tØëuÜÍQaýЧ4¢>= ?¡CŽ¡C–Ða©¤•ù°¾X€õ³Ÿû¿áÖ¬OС¾]“Û ~A‡ŒG¥™£=²Î‡«í-œB‡C‡|˜B‡L¡CÝ!ãPÎûëGXcÏ:ä,lòápÑÆ¢=rÑ(‹þÀxïà=*­Æúç®:4(p³b ˆLæ Û)ñIÖxow@gÐ5…û]cûtÐ!€/:|zd½W ÓùÜî:ƒŽ¬Š*@‡Ò@÷õþô§¿lÅó :Lõ¤¶ì\ :à+t °šâˆƼ)6x…¸‚ܾ_vîWÏÊ#ãd•F‘ÙIvÐ!€èÐH)hè°Í¯uoBÕb[ Cýþƒ‡Gš¿>Í}[_ çÁŒ4õÍxžÆÏætÀ5t Pè0Äûÿ^UÑyÌ.Îèq ¯Ðay¯Ø«x‡½&[Â-@‡1t 0è0nï!…ûíÅ\ݦ¡Ãeå/K»A›‰ƒ,C‡>C‡úŸ·:` @}ªÆÃКcè0%ï\_·Á½]²S× XZäEn'»‚ÍÚñFâæg•PAÕB­™ylIœVÐ!€ÏÐ!CèÀ£‡¬@‡‘h0ñœ§O\ø{b"u¿œÜ*õw+€x^¡ÃÁ€ìÜ}.?ýþ)ùyÝs_Ù+è9%;èpïD/LOÙ¨àÎC‡,k¾®†SPÞ­X†ÓÜì» Ã(O–ûôVÏèV«mâ ϯeèp0œ­ådræ·˜A‡¥œ3ÿíúúf½ö–èp'íýÌDÈ;ð ‚AX¯ý4xóÕFâ¢ÝD±›-6º=ÓÏG+Þ§´¿¸ß¿}gŸ"¾][õîz-ÏÀèÂa}¢ãº óX C¦Ð!à Õ2¥(ˆÅÖ§¦Ý-žØ\K/MV1é닚 />„¯}ž€K­r)çAØ‹[ëkâ ±ù‚€0Ë¡Ùíør;ûÏ9=;_ù·ãr ͶóÏ'»?;ñ†2uÆGŠÍœ“F{]ó ›Qßý¡"ã.š°vwg0ò'ÐMbÝ+ îV¬USÿçÿü_3#º0K*ýøã+´“À#…áR©äèzþöúïD?÷îæ_ÊHÛ´ñŒÏµÜÛ%?OT‡ë_H8J/ËôKÒ—­j¹<>¾Ó[ì‰ãÕý`èáQŒåõîݒ℉þ÷¸iË­ÈÖýÃÇÖ6jˆÌ>xb£Š¸·³ëêvîQã¡÷¤î]½ãë5 —ÚÚ¶d}ÉÂ&Ÿo3¦JúçŸ>s}1“b&q°ÝÊÕNñç?¦8ÝßUöùÚO©Ý`ψ£—O üjÝ®ªÞ¯Iz¹Î›+sàkäLdhÿ`„Oñ†…ýb¢Ûu½øÞÞ/ùÉ!~nÿW¨Ï°|*áÌßü•¸©BéÏ?ÿ•Ì–!Ø)Q!ú,š ­}>µ Áàœ IDAT$(? ¾õh¢à? Óï/ú…°…5š4Æ ßE£á\MóþÖ"¯ˆH3€½4Uß´ÆÓ"Ædq5|{fœ¤¡4û=xd”z¨YßëAÛl÷¿è›+T¨5VíÄûû{ß¾k$®úµ<LQ—FÛÄ8Fîìô’]²w`níÁùš(ïÉšßçŠÀŠ)}m(ýÓAQ²fIôšöŠ.aA` m&ëöžˆþ_½3ö-ìõjÕܺ¼¼tüÝwWº@ÁÕÍv¶(%ŸÚ˜F¢d6ÔÇwÆþí‹}çíÕ­bÔ ó-•DÏ8KŶê™SKm£öÌc˜ÅàÛ0ŠÝ4–üyòóxwwÑ”»³&òÇîN§c²1ÖxŽæÒä zJr—{Reã}yؘfO,ü¥’9((B!¾.>äG.-Ø|\­ë\@'õÈöÄV×Ùùôþý¿þ~vvá;QLíèQÏ›R]&¹jÏE£dku4Òçòû_ÉÛ&‡âÎ÷«ÚblèòÊXÅïjCnwÈŸ‰,›¯«HD÷%>ÕÀþígûXK²þîH–?ˆ´wO¥VóQ¡p£>™¸L42ã°8Éhžwr°éÆÅxø¸Úî¼þý7{ãÊ2ˆ%çµU‚ƒA]‡†~"‘ôPœóÌìN‘L͉ °Â!nS ±í“QL•yX“Äéõ;_¿¯sß"7¢k³¤Ÿ+ l¡*[ÌêÁºjµú¨Öz¶d^}%+ægz¡è¾B¤5wæ !ã„–:…D®®O»÷Q×ùY“ÌÓwªèlÓ°…#ÌNÈFÝ5Ìú“Ø¢éé¼±®ä=PÓ3)Ø8:±^‡#Å×g›Ï»S²É™þß““0è´Fm²àËÕí%vKî¿XjÜ8:X„Ã)Ö%ŽD¶~]¥³þTÜÅSú"¤§ÕkÏßáÛXmÉ]û¨vgû’ºg¯ÍÔ¥â®ÉùºÆ¹=UF«ì­}d>)¤„ì‹lrIýìUTó¸ÇD›ùZ‰¹5ÅpÆŸ¿o€pH·¡9ÕBÌAyõîö´`R ë•’û¢FQ©Úv(ZjS?™š%ûCwêôc0l·6@±Pðÿ~æÎìÚxŒókr¸DK!…-|gjÍ;Sߨ×€%T¢¨ÕŸ£hëMKx+^ ’R¹‚ñ½ZúŽæö…ƒgÏ¡HÞíDY¶ž‹ÅbÑ·9'ð³B³©ß§(™?ÛVÛ}+xj®\ø›‚;°¢Ú¬!’ÎzzæÌFp!rYlb|÷Ü»Âìd²jQjþé¤}Rr<A H4²Þª£ÙhoöÌѬü ‘’yì¾ pÎro”ƒ)~Eã}©z{‹“W'Æ{UÆ©S !½9Ps8ð/¶Ó\Ê=+ôv(ÿöÛ¯æ6Çž}Ì›•ì×_³¹ú?BÀõÝ"”ýç?ýÑÕ½ô;ÀžÓdÜ…8t{Eù0†#{†uXD8œX_ M;3°cI=VÑ_Š¥ ‰™ÜjékCVFþùf•Ü.Mò;圽ðËpCj³Ç'eÈÓï~ùò¥³yõ¯°ÕŒõkt\øecEØW>«#æò³s†£V÷½0¡F³·…xÁ<¾ÏD—|ýÀÞY$¾jë*yPùË_ˆN°a‚HÌ:h£¨0´õÏÄâIô{þ8Z㉂p(øŠ)–Š@&h]!©28šýÜ—Û¯ …³Ñjµ Óud"‡N×^i¥Ó#™¸¥¢-ÊA U‘@3ÞIZÖçD˜ÙhwzH%­k.DAš˜´N‹…Ñï!IÒçVœäkDDxÚ²‹‹D!94~T¨ Aãk­FiƒÀÒõÕ5v÷ÖGÅïä˸­›'$CŒ†‰âΑfB<” ™% epßÁ @ æŒ Ñ &ªò(ƒÆR äÅý-ÂG1Ø)æp{O¦ÐU>(ãîÂ:)?‚IË‹^§x2åë½Å Iôk«6Mn.”6þ®4õeîùççqxx²áç+¡Ù ›ImüyÜ^Übç`ÇÕï&Â1tÇöe•’Ak³óâèù ÎÞ~\ù¹‹Ë ì8³OT ´ƒ œF”†¯f(cLXöÕZ %0Ëd4DÈa›m, »·©#‘Q…ª—A)4‡v¿"‹¾xa£±ó€Õh8„ðÀW¯ãáþ¹b߯—74Q´„Odm–ø"F Ù¬ý¾¦Rî”9UQÍsâÙ¶êuüø Ý»šó÷BK LàØb:‡{ƒ¶x•Â.njÛ¯žå Dë t6_B£¾^H¢="}\ûy£ÞÀ“W/Ъշú:óÉêZàßÃÑ!HêdûÞSçÙäâÚí·‘ˆ¥ðµL"ŠfwM(‡¡«?âÉɢϨ(³A±¶››;T*3ðK¢ž¢>«¸nËÈ Y4Fd ýT4ö û¨æU)CÕA»X/£P® vgß&ñüòÿñŸÿîîëøOø?ðîútÎöÁÑx„‡úöööðmÌùm‚à›¢¸ŸC’hpœwÅÕ %!¤ùgëŽEù³êèêw©iÛg|þÃ÷øõŸG/>n»„•ÑêÃJ9c_6SJ£Y5/â1×Jy#Y„°¯‡#‡8ùî?tk/ŸJb(I †» ¬ïàoóÕÍåh2AÇþ°LÄÓèöZž¾«Û#Ï5›Ž¡ÑšÍ¿á`DÜÂÄ×1`·ªJ içA“ëë+ìî.ØJÙ<ªK-¨$q Љ‚eü…ýdYËÚ8³ò`½í]ÂRœW¥Óy´ZÖI&†ç¡XTþô‡Ħ­;%MG=.pUŠà"üZ¿³Û á \«ÞD:ˆýžâmûZ@ï>ý×ïýf¼9µ¥ <8h¡2èõǾ=8ư'#g‘/UP¯®&‘4mŠòçLÇ" 3àc³U)ŸEµÞØÈw§ry´ìÁ EQÀ0_X»0tîýuÅ]ÿåcYE˜] 8‡ƒÏíÀ†¢,Ùee-´¦Ñh4\)Á$çnnQ,oØr%c0ØþàͲPeÿªà£1¢Â¢ÏP*¢zwîès ¹j‹ ¦ ŽÍ³>âɲ6…LX0øîô=ž?]Û{ G"³ójÿø .O?<š­.“Í Ùp§LÒ›ôm‡]4‘†qd£&3 Xù|õºõdz4DÙ[2ñÇßá_o~÷ÁíŸ vï3aÊØCÓ Ô-+òS Ã?𵿥¨$’‰aØìû~M#Y‚ÀúÚ¨´Z¥ð¥H<Œa\vØo#â3àÊ aˆ£ñZî·Z­¡Tr®8ÌP,ƒ‘ì|¿¸8;ÃÁÑÙúWU0t°Fëþ饠޸x8†f§Lr{!f†&¤6Ñ@…ôõ,Ž&àMs‹ÅîïÝ-0Eò_9)¡ï^+Ò¨Öô¼ÈõõvwÍs«<(ˆpïcÅ"<úCç÷½°‹Ë ó‚QÁóçlt;îª÷(—Š(ìî£vMVä.NdŸÚ<›œ‚€áh„X(þd;ArЦ¡©«vm$ÆaØ×mDy؉oݵkªŒƒ\V/Ý|öGˆÄ„­¼¶ÆP”t±«ÃÝDZ[ÎãúÎ}ˆ!Ëä6‘À'1;[÷ì{âq>²tvEÑïÙÇ=z£>âÂvå'~}ý¾ùÊØÆ;¿ÂÁá·‚ŽoÃß‘O¤Pïꪅœ€ÚƒuŒªP ™ÍÄÇy-ív ÚØãÎ"3—ûX›A‡tøI:¸ÕnmÍ5M&ÇÐaœâ :@@8²ž€Pw /þï*Ï|ý\É¡\ýc†“ic©XšÑ…{ …4ètË.^Çh°øì C#™ð…wD,¦ìÛ¹7»ÞZlÜÝÚMæ¡C Ðá?ùg`sa¥]ºt(OÆ® C+Ð!€è8>ì;t¨;Ée‡Ða.¾üÔº´VwV¡mérúŠÜx,ÅqEÿþm†ÖøÚ¬ ÃÉT ?ÂûÛ®Ý t èØJè€#èðí;½}躪×V¡ê<Χ̯õùOß#_t×ŠÑ tà3t˜Kˆ°¼3•ž\>‹Ç<4Ÿ*ó#q}1‚øæ}…Ü%9Yw™˜ìÝt€:`FÙõ¢üýï æƒ=H‚wK¸üøÑ÷KJGWŸ C@@GËíÿ  Cž]¿º)tX¬,›$Сb¢pn:¼¼ «ÔE­m%+è×È××§NËÐ!ÇÐ!€è€cè€!t(š¨¦-C‡Õª¹â·SèpçhÇÓûž‡ltÈœÙóÐáÓ£§ŽÔŒì Ãgß;k÷ä…ûÖ¶ËСULŒbuv:<ØYmé:à t¨»ýÞ ïœ@‡Éä¢ÚˆtÈ 7$à Û#¸ïÞÏX·Qehçv¥%kRè0sf£ú ð:Ìì$ VÏ„®I|SsÙ6T&ø5'Ð!ß¡CøøñíÚÎ+èðîn+ ßŧ] t€:Ô× ñùÖîú,C‡,Ë!ÖÏ=¿¡ÃfÃúº gþ t8™Ûk…òâ¾÷ :`  ‚SK.ês>æeˆÞÉ¥‘É’µ£áÕ³¬P ÊŒFÉϹBQ¿~ŽYL®PZŸ¦îùŽëkY^wÝyÀ¬ùÈÛ- d÷ª,¢Bþ»üãŸ=]g2N>ïRir`oÿÄDÉMuߢl4Y `¦s«×c<,AZ¢ì-hD»(<ÈdÀËýsņٮäÂþY%wßCKŘE±—J-ž¡q²¸ÛÛLÕ?Ø'¯yÚüÿFÃÙ*•Ê®¾;•Z=ûnÏn}»·CŸ¼T.B]²=~ñ]ÆþµWW“ÇåòÑÔ¿'äO¾Ó“ 1[âݯÎÔ¸?L½ß¿Xø÷vǹýÖsÑÉáâö§wwâŒÝÙ)úùÙþ &V4*…woß8¿Žq×`ï ¾`ý²i=êMç@K"^ðý:™¥¢Í^ß¹:_à%­ßçÞñ,G" ÝäÉœ½?ؼ킮ž ‰dÂÄÿ!·¢s¾.û(z^{;ÓµÙßèu<}rˆÉ4¡.DÈcLŸ 8EÑ:F•J¸oJª5ð&/Ù²\xñ»^Õcw²dŸo¼Ÿ (´û«¾f½E®lM{(4ýµ1¼÷İE¾é¤¢ûZòD‚ªz›/jh³ ¥,9ƒæ[­š§ïë*È?ÔíÙæÌ¿#“a…œ-4±Ž)¨ŠùúìÍ×#Ë‘=ÓR<Ç0Ò…Eû‘ y+ò¸¹Ñçm!†•/ç6v¿£i¡Ž(-ú¦³ø¨F›¯mq¼ºO¾:|a¿^5k;¹üä ¢á0’qsÖƒ!ȉ„O_¾\=ŽŸA0é4S½y>,üÿìÝyx\gaïñï™}Fí»dk±åÝÙW'1Ùg§I{/åÞÒ–[ÊÒ^î… ¥-PÚ{)]h)´—¥”@BBVBV'NBLï›lY–µ/£Ù·û‡,Y²f׌4¶~Ÿçñ“hÎöÎ9gfÎyÏï}ßÑÑÉk‚òrgÊûËñÑäõÂsžÇ Fýsï_G}£ þþ²íuøXÏd Údš‡ ¥I>×í­É÷¬Û°.íz]N×qn-knNóý—º‡d»Í~Ú½Áìß©Š4û!”¢ƒ¤C-[­&ÂáÂ^Œ4/[NO÷ÑE=8®rNW9C½ÙWX”¹k÷ R]WÍPÿŒ«6BÅs72-ÆYi`h”Ú“MBD ²wY)žñì*<†©:-äc.5˜ü×57ÓŸEÐætòçöð΋3®ÇG»ÛMГþ‚hÍÊfö(Lø1Ž`·Y‰Çãœí¬ñá"®62a.Ò/žÖÖVŽYü®êc.¦“­>£„1ceàX7µ-ù銻µ£ž#‡2ÿm‹†£˜sÞÏðàv¸Y*Ž颥µ-ãùUnü'om3¡Há†íZÝÑÊÞC™ÛµÕÕ >ÖÞÒÆác]Y-S[ÛN8Z¸ÉqO2·½`ë7EÍÄÌ…¢mYÓºï™÷zŠuxš»opþa´Ñ‘1**ËYjœ.7~_fûoÌ를$·†Aí%%öz ú^,ÑsúëžÞÞ^ç†L؈:ëyݲzú»ûæ·¯-"‘È‚”7c˜ ¤°ªÊ+9ëßgC]'ú“?:Auuú!Áý~^zI6Û\DC¾³n?o¹ü&~üØ·©¬¬=#Ê{àÀ¬-V4Õ0z|0ïå¨)¯eplÉ\ßuõ•‹^ŽÊò FÆòÿ'öc±Îý®1ì.âÁÙßµUÕ Ïÿ¾ÍQ^B`lòš­­£‰®Cù "ûF'pUÌ~ VâªÂëÖ‰¼L&Ó¼Ã(½ÇÑØÔ2ûV”âM]‹›0eúŽÇŒ” Í&ƒh,ûºÜ‘‘1*çqŸ768ByÍü¾gªêkî˜qï9DEå™Ñëÿ5›®áÑgÅát}Y«Ü¥ {&–Ôg»ÄiÇëÎ{=½='hlnXÔ÷â÷R²‘ìß»‹ÎÕëô½9+œøGý ²­¾¾^êëÓ7Æp•ØñySŸ;en7ãžÜêÛ†‡¨ªJ|/7[1¢sƒ{õuÍôõ÷ §Øl&B¡ô¿¡¶2'¡ñüŸc5 M ž8^Ð÷ØÔÖÂñ®ô=uzã¸Oöü]SWË`ÿÒ¹o*++e||qß›éÍ!Ìg³Û ƒ‹¾­V ápdQ¶ÝÑÙÄ¡ý§>G.—k^=¿ƒîÝ,kÈìùtÌÃ3-XÙ†Fú¨®¬/ÊýVQQ14eõMt÷%ÿn¡ººðõ$5õÕ öåV‘ôŒH:lª_‘Ù…q驞)ZgM…ª´êÈ2û`$¸ÉÌhÕ`K’~õr Œ{&+$g…!«Ð¡áÈÓÃò–ɲ?Ã3*æúïƒ`¨PÍ3ïÑrͪ5˜“´´š sB‡‘xþBOÙ„Kj'?ôU z› Y…œC‡“?³Ï³Úºü>(fx£R¨Ð!€ÍjÉKèpïþì†ô0™r»q6â³ Ÿ>çxŠ‹¶…¶µ'¿‘M·õ¸uáB‡¶Æä½M9l§ýÄÙ'¿w’…{z{°XgÿVDMók©%ÿ5ÍjÂ|ò;q¾¡Ã±ëÌ&tä:lël[ðÐaCs;£Þü<üéN1LEsÛìŠ÷®®.€ŒB‡Mµ§.€ý3Z©å#tXUž¼;ÓÐ!0'tØØÒDПÿÇÒ…ýá¹-ºz³f;Jh¢ÐáòŽÉc¾¡m²¢²¼4÷0^¢Ð¡ÍeãÄPþ~…ÇÇF‰%héè÷%¿†È$tXyÚpâ+Öl˜WÙ[Z&÷usŠÖY3C‡ó'›Ðá`aÜb iNq:ªfóÌ?ÏS¡C³¯iÌ'?þðÜJÿÉ^bò:LôÙÉ$t$  : $é1)ÊOEܑé¿ãg†Èmèã… óÚM&ÎDƒ#Ù‡ÃÞìÏáŠÊÉûäT¡ÃÖÖÖì×[QœÓS…ŒB‡09D|tdöE…=Eïêk×&nM]Œ¡Ãžžîy¯ãÙm?O:\»rUâ{ Ëü‚œ1[î­áS…Ç|s?W…y Ž.ÄeŠe~Ï.LCÏbIC‡µîù e•(tÌ :\®¼„'¯SN]³å:,u¸ $Nm*tX^}ªW…³W^‘Û9?ßÐ!0't¤ sB‡{vïL|Í—fÔ“LB‡‘Ï—*çÙ¸ìÂK.J^·’a/¶Ã}Ô6TϸþÊì:i!J›Ã“õeÖSûëıã<óò3iC‡})S]M[VóÏ 6.[¾$¾Nú|¹ÝSÎ'tXZ“ø|nihJ¹ÜÄiæ š3è1šÁ3ŸÎÕë8vlaÃm¹„Û—·å´­LB‡@ÚÐ!QèpMGâ,@²Ð!0tœ1¡C º`ÛÊ$tä5tØÖÚAMåäwB!C‡{wM>_Í$tL‡¢†BþÛV¦¡ÃÒÒÂ=ëͱÁ|†+ܹßû-Vè˜:œÏõ]$2·n¢¿?õ=`yYaî—3 NÖ#œ¬—ÍóÈ,á$÷Å:ò:†–S¿» :rBŠs›0¬ÙÝôv4µpèø±ì?Œ„±`ålÐÖÚLב⾫®­eh ñ¿Ù0gÐ/‰`±Ì}°XVUÊøpúà²+ãÞÔ¦cAJ˳ëáhpp€šš…iÑßT]Éñ¡ô£Êª*.lÏ~Ÿ§«§Õ‰?|p  uy }ýƒ{/ ¥¥œ˜Xø–ÁÁÈvK)CCT׿'„U[ÚÈÀD/K’ɱșS\«™X8ý‰ÆåÍô]Z½:„bal¦3·~fddˆÊ3¤—¢”—NN3fþšÙmv‚ Ô›@†Áêrg9cþ,~K£A0çÖ3µÇ7ŽÛUœÃ‰9ËœøÇ ÷ +‹LiUîr2æóÇgkx˜ÊªÉÆÝÝÇY¶,u`¡¿¿Ÿêò2Ì)B¿îrF=gÎõ™Åé$âÏßñ¡&‹ š7¢Ä\±ù?ÉŠ!t˜®÷‚ÉÐaâý–,th²&45W%¸ÑJ4ù 4ÛÐa(–ù¹US3»WÄLB‡ôbâ ¤o©4æÏüÇÌéšüLO…ZZê&•éT¯S¡ÃR—“±‘Ét¡C‡•s/Ü8\_òV –+//샰|…#Ñô7—ÕUs+ÉËf´n2™L3¾oré‘%u+WÌ Âá?_ŽÍü¼%ée«¼"Öl¦âº -tèH:h[±ŽF‚[¶|…]å“×PogØ[RÞ/üùí©#˜$È"4”.tè*;­÷·4¡ÃÊÊÙõIF$>ãž¶,mù**2µ %‹†fsúÏp!C‡ÀtèÈ[èpød/y¾ï•íNËtèH:¨««K:†ý‘¹Ç¼º¥¹(¾s"~?‡wÍïzzF¯Ä©B‡ÇŽÏ}0¿¡ÃŠŠÉÞ KÜɯ÷Cóì úLNø< ²ž4£ì,vè°¾¾&³{ŠªÜ†^Û¾:É=åìsolt‚òòÙçSºÐ¡?IˆxãÆyÛ?3C‡@^B‡@V¡ÃeË'{ÂÌ6tä:ò:’†­öôç–­4»:þ±z»IÔË‘å´çiÉB‡œ·&ýu\<ÎÑî#øsÏÛ¦ºšù¼/vè0œã( :2=>B§~ç¬H]‡›mèÈ)t8ùý¡ª4¿=2¥  C‡¶ G¬ªj̪ïä—྽û0™MÔ××SSSç>õ)Î=÷\ÊÊŠ³e²ˆˆˆˆˆˆˆˆÈb‹F£x<víÚÅw¿û]¶oßN_ßd0!ÕÃùVÛ\Ë@Oñ÷bcD â–8eeeŒ§îñ~uG+{êÈn¶<Ù¸îðá.ÚÛÛÒn¯¡±–>h7ÇUYÃÄH~†Ô EBØ,ÙÍìör‚ÁÌ[´´´pìØÜ.ž¡QÜÕy=vf‡h ´`çJÛòVºŽÁ3áÃ]êJ:_‰ÕŽ7<b z‚ØÝ§*ñ'Æ'(-+=#¾K&ü£”:+d[¥î&<ƒ þ6P~Êz|~Ü®¹CeÛ-6‚‘N—¿/°(ÇÒô°¬ª™Aon£zĉ“üAeÐ0°Çãœéššk9^àß­ã½}45æ>\eC=#'úÎø}ÝÒÒıc¹ç9á§4E/Æ–ïü>oïºð*^zã¹¼¾ï®înÚ–-ËÛúÌ1QÓ܇ÇÑ@³#?#‚tv®gÿþé¿OÙû|ldŒòy }ît”ãOÓàspppNɬX»†ƒ»÷$œVUZÍðÄPQ|>²é=<£ëÉ31ïܰ Ýá °ÔÖÖlˆøÓÍÌ:L¢ª¢p‡˜lqâƒøÉl•?Åé0ÓÒRͱc…;¯ÝîR<žÙ!2›»„ÐŒº 5zÙ‚ßsÇý˜ gÊy,. _ä¬zßG¦µ=ycÒòºjÆús;çFGG§*-Êõr4„³ˆz‚—EüÍXÝÀÀÞâ¹3N#E|ûöïcU窂l»¦¹šÁžSŸq›Éœq§ky º6ðpÏ=÷ljD"ÄÏ‚X‘B0 Ã00™Lx<vìØÁïüÎï`6›3ê-¾sýjöïÜ»(e?pà€"‹ˆˆˆˆˆˆˆˆd(UCäp8ÌÚµk¥\Áp¨°=¦ó‰O|‚ë®»Žp8¬À¡ˆˆˆˆˆˆˆˆH¦ˆ/¿ü2÷Þ{/ëׯÇê.'ìËj=«›9´wöðœ åõœË®çõm«ØÙµ/ét5DÉNª†Èáp8£QPâÑ(†Ù<ý·g̃»üÔðÔ¾ 6¬Ù@×Ñ®¤ë¨(u2:áŸ]¶Å ºÝn|ðA"‘ˆÎ‘y<~ô£ñÃþ°è˪†È"""""""""¹9½!²ÝnÏ(x˜H[{=]‡ûæUS¾ÞØøDv-©xà¢Ñ¨Î‘yp»Ýlܸ1á´PŠ6¿e5å ^Îk®¹†P(¤Ð¡ˆˆˆˆˆˆˆˆH–âñ8Ñh”uëÖñÙÏ~·Ûóºº÷aÆ:¯ò˜ºº çµ¢²Òì**›ššTÁ(""""""""’åå“usý³^·Y’/3>˜¾!±ÕlI;×7‘rzÀ;¨!²ˆˆˆˆˆˆˆˆH>L5D®¯¯Ÿ3Íå.Ëx=QÂÓÿ¿{瞬Ëai[Ö€ÝjO9ãðÈ8U•eyÛ ƒ‡áp˜}ûö±{÷î%L4™Lttt°~ýzl6›>!"""""""²äLÕ íÛ·H$² Û6™L¬\¹’Õ«Wãp8θòµ´LÖñÕÖÕfµÞcý½´Ô52 RjŸ[?ަŸ%®Ò”Ó%“uŠjˆ,""""""""’S ‘OçóŒg¼Ž¨)‚96Ùðxíú5Y—Á’éŒù Âd׉*wíÚÅèè(wß}7.—kÁÊ·¿ýmÞ÷¾÷-øvGFFxñÅÙ¹s'çwž>"""""""²äLÕ ÝqÇ ^/4U7‹Å’ÖÍsùìv{Nëm©k˜:¬u—1p²‚²sÕ:öïÛ5¯²G",‹"ŸF ‘EDDDDDDd©SCäÜË7Õy>¦B‡¹ÊhéÁÁAjjjN‹†"˜mÙ"Y%bWW[·nÅb± …å¤^Œí–––rÕUWñóŸÿ\ÁCY’³^(“º™b/_:Û_}•K.½tÖkV«“pØ?ëµ­¢ç:°X&당!òÝwß½àÛãõ×_WCdY²Ô9÷òåÚ9[«Î=‡}¿~+á´„‰Á¡Á!ªkª§ÿN:¨¬pÐ?Àa³ä¥°¡P›Í¶¨­›cÛñx‡ÃA0Ô·Šˆˆˆˆˆˆˆ,I‹Y/”IÝL±—/ÓC‡ÀœÐa¡ßC"ÅÐy1”——sÙe—ñì³Ï*x("""""""K’"ϯ|©œ×¶œ]Gç]ŽD¡Ãñ‰ÊJ+1%Z`fè0q_$o¡Ã)±XlºôBÿmÛ±XLß("""’\tœ}Oÿ ò»w³ùª-\~Õ6Ý|/ïÿËG8ÿÞïðþë¶pç_c´  ²ï{ÈÕWÝÃÛFr˜."""’ÜbÖ eR7SÌå;tð`Â×mÎÄ­±MVSQó™ÎŪ\,%%%jˆ,"""""""KÖbÖ Åb±¬"cùf²XYç#t˜LYiåä6óµB›ÓJÈÎxþT•z‹]á·Ô·/"""Å(ÈᇿÀýÃ~Öý·ñ¯ŸßH£ÕCׯžâùÑNjìqâ@|òbbò‚´pW+œZy¢‡µé¦‹ˆˆˆ¤¸Ò(‚k‡b®·JU†Ž+¾òû¾ O#X5ÈI :ξgÿ“ýÞ¼|`˜`”Ô±æ]ïåÓÿëV|‡}øß¹æKü¿?½˜Š‚$ȾïýO>ðσ\õůñg—Wf9]DDD$¹Å¬ʤ®¯ØË7%Îb^SKlþC5§ ôSS[—rCC”VWO‡;–-çP÷dbrUç*öíßWжØMDDDdAø»xö±7µ¯çŠ«/¦³Î ¸ÙpÍcÃÔ,ÚK"""r(öz™b.ß[o½Í9çlL8mb|œÒ²²Y¯•;Kó{Ó®7 ã°[ ºï–z}œê#EDDd.5D‘¥A ‘~å#ti‚‡éB‡¥Õ³‡e>Ô}·Å†'Ê)tX LÃ"""Rt “a€wý‘òæí·sûuWpnK)æÓfíå«|èÞ^÷…)_~1·þñûïª#²ïßùÐÿ'þ•íÝ82¥uëøêÿ¾{ÏK|ëï¿ÁO^=Š·b›ïü=>rÏ%4: Žÿø+|ÿkÿÊž?Äh&7Z;uõ”~zŠõû“–ë¶ґb¥àaî’…9¡C £Ð!—СÝ]~Fw‘§†È"""²D¨>p~V®^˽»1Œ(ñ¸9ãå¼%n÷œ×GGƨ¨üG¿ÍU-ŽéYK–_Íþè&Î-íæ‡|†ÿ÷寱nõ}\ ñÑ;\É]÷þw†ÐmuaŒþйïsüQ “Á?ýÝWв|Å ïÄõ µ[Myƒcýs^zÆÎêý*"""’wjˆ,"""K„‚‡ós`ïî“å4gµ\¢Ð!À¹kÏáȉ#Ó' ³Ÿçz¼¾´êšüo’ÐáL¹„§Øbý+†í‹ˆˆˆÌe§íÖOñ÷ßËå-Γ¯…8þÚ÷øÌ§þ…WFb§.›ÖqîŠ:*ê×rù˜‡ñvï©ë¼ª ·ò¾ß¼ßøíò±ß\wûƒ<Þå`ã][¹´©’öwÝÆMv=õ ö{£ô½ñ0Ïõ8ØxÏosëÚjJËjh¨q¬àL7=Ɖ”ë'I¹ÖR¦ƒ.""²$ͧ^åí;yëíw Z7³˜õFó­;²Zìy –9K“NK:,ôqW}œˆˆˆœ•N6D®â'"ø½ïáÞ_ ÌV¹dùÕ|àóßæ±ï‰»\oñï_þ/ ž¬/<Ùà÷²{ÿ€?þÝ­\Ôrª!ò‡7qÿwÄ·ÿ°“}ßú3>ûãø™jhüi¾±§•ßûêyòáïðWw´N÷h“nz,Íú“•K ‘EDD–¦ùÔëü}„?øÈGU˜„ËY•õ23C‡+ë“Î;«ÇCw‰kÎ ÁØgÌU]WQ!–55Ò}¼wÎë+ê8t°¿¨ÇÆV‹"""R” í[>Àß\õßèß÷*O=üC¾ûó]Œ}‰'ö¾—s+§®!N^ˆ“ #Š·> ÀXï0>&ØþÅ÷²ù‹3¶W;ˆ'Äzb.ªÜXN®wzMñc)§Ó¬æóÌr‰ˆˆÈR•m½H(â‘GãÉgžÁd6aøÐ‡¹þÚk¹í–›±Z­y-C1ÔÛdS_4ŠË<Ù$$ æeûãþ‰E?î""""g¿“ ‘ÝÿÎ?þÛÃl;æçTCd?_úʇ9ïäœÓ ‘)åò ùöN6D¾Ô>9}²ÁïÅ'{ŒqüÉû& ÿédCasÅmÜÔñ4ß|ê쿽ƒš©†Æ™lhl%x²¡±Y ‘NŸÑ9áú;99Êiå‘¥j>õBoïÜ9ïu²|‹ÍçÎyYO8„Ûjã@o_ÒyÒµlÏq0æD¡C€Cû zÀîâ‹ý7x&&øÞ·¿¹`'Ìû~ï÷qØìüéÇÿ7ímúV‘Â1Ù©[s%ÿuÍ9tš?ÌÿüØÍ¹¶¶á®-ÇA}úŸøÒ5 §µ,Žr¬¶;ǘ L³Ý[)M3=õúÁ? C*"""§dS/384Ä'>yMM|ôCȆuëØ¹k7ßùïñ³Ç~Η>ÿÔTW/Jù®¼öúŒæ{þé' ¶?§B‡¹¿aŒÜëêÜN+8í¾[êÁC/EDD$!5D‘%@ ‘ó¿æ#èóaw¹p[miçµ,Dê—uÐ×}èä²âÑ‚ì¬c==üɧ?M__?­Ë—弞\– ‡Âtuá¾>Ë?ýÝßR^^®oÉŸñ·ùú_ÿ'ãçÝÌÍ›6°¼$À±]Ïóȃ”ž÷;ܹ® Žå²b3—ÞÅ5-Ÿáñï?Ä/Wü›šìûðÆ8çŠ4^|W7>À£ÿñ-îü ×7Žqðè8á©åÓMO³þ]™!Óz™P(Ä'>y7Þp=wÞv+/mÛÆ·ßÜ@Sc#Ü÷Izøþä¾ÏðO÷·9U8Χ|‹½NÃf% 'œæ qÛíØLB±HŠ•Ì¯lS¡ÃBîƒ|4DÎÅ~ô#,+WoÞLUU¥>¼"""R8jˆ,"""g15D..vש“-f‘¨/é¼³‚‡0¥kÞ ÒÞÙÎáý‡O…!mè0Û6åÐá.>yÿýôõõÓÜÔÄ÷Ý· ÁÃ?à~>qß}ô?Îûÿàƒ|é/ÿR=ŠˆˆHÞ„¼#£#¼öïÉÿ!˜(kìäÜ«?Á?þÖU¬tøs\·©êb>ü…¨øçoòåßÏD{#›~ûÓ\bsÍå|ôó÷QöÏßáß>r/ÿ7f¡®µ ×É+ÉtÓÓ­_DDDd¦LëeþÙ£477qûÖ[xð¡‡8gÃ6]~9û÷àÇ?ý)wÝ~;o½ý<ösî¼íÖ-ÀÛ^Êh>ÇS˜}JúsÛ'ÇÝK:,Âã~º|5DÎE$edd”'žzŠ;ï¸ÇÉ}*"""’jˆ,"""K„"çWEY9£ãciç³9­„}AâÆìf"¦P˜˜mrߥ ÂiÁÃlB‡»•Hpòòqxd„— ûi•k‡÷Îif»sîâS<0:üÜýŸ¡½­uAƒ‡ím­üÕ_üÅt9>qß}|æOÿ”s6n(ª“KDDDÎLÖ†Í|è/7ó¡×ŽÎÿÊ7ÿ¯S/Çɺ÷_¾j®Ó§O1p4oâ÷þ|¿7wÅÄ1pµ^Í~ájþ0á¶I;=ÕúéLV.YŠ2­yúÙ_òÑ}—¶m㜠ç7ßû> ÃàãûcÎÙ°‘—¶½Â¹÷þñk_ãŽ[·æ¥ ÙÔÛŒ/ê>ÊÅÈø0•eUE{ÜgÊgCä\ÜxÝu<öÄŒ{<<øã‡¸ù†Ô󡈈ˆä"‹ˆˆÈR¡†Èù•Iè äƒ1·í©Ða&r¾´› TUfW¡Œåw¨å/þÍßÐ××OMM5_úü_ÐØÐ0¯JÆ\—mokå[ßø:ïý÷388Ä?}ý|õ+_Ö7„ˆˆˆˆˆˆˆH†ÒÕË|ôcÿ›wvíÂd6ÑÑÖÎŽ_¿Å¥—\ÂûÞÿ{  ð7_þ ßúׯ³ã­·¸ìÒKسg[n¸‰Öó•¿ùë‚–o¦wßxsFóýâñÇŠfÿO…£FsÜœùr5UŒ ç¼ï»!r.ªª*¹ù†xü©'ñx&xì‰'¸vËê z^‰ˆˆÈÒ †È"""²T¨!rþöQ¾™¬báä#¦XÆ&<”—º§_hlí ÷È¡‚Ên2çugE£§‚ŒUUUóÞÙóY~èd7€ÉdR¥¡ˆˆˆˆˆˆˆHÒÕ¥˜-“õJ‰LVzE£Q ØžÇ0ŒÉ×€H8Lܘ\§Ùl^Ôz£…\§/äÇesbw–ô{(sÕ2îÈhùlB‡@ÚС³Ì•×}ï†È¹ªªªäž»ßÃþð‡x½^¶½ú*wÞ~›>È""""""""RCäâ•*t`™: :¬­­e`` ï à#ü ù¥/188ÄïþògŸù4ím­ rÂÌt¸ëŸù³Ï188DSc#ÿó#VðPDDDDDDD$ éêR¾öÅbá¿ÿþØ»o ß©÷fœ¶ßDDDDDDDD$55DίòÊJÆFFNk­®åÈÐ@Þ¶eÉgÁÛW´pøà±„Ó2 æbã†õ|ásŸã“÷ßÏñÞ^>yÿý|ásŸ›Wø0[‡»Žpßg?KÿMó?ŠˆˆˆˆˆˆˆÈ\SÁÁ®½–ú Ÿüøÿâ±'ž`ýÚu|ÿ»ß`çÎ]ìÚ½›[o¹™?ûü¸áúk îKg1¶™S¡Cÿ„çÉFËó fb±"çjxx„'žz ¯×K™ÛÍ•W\¡©ˆˆˆˆˆˆˆHÔ9wÇzŽÓT]‹Éa~m|Ü“tþ|†,áp «Õ”—•% f{PrIu¶µ.çkÿw|ðþ˜þþøó¿à[ßø—‚Ÿ0S>÷ù/Ðß?@C}=ŸÿÜginjÊ9ª^EDDDDDDd©Ê´^䦮çáG㡇áž»ïbÛ«Ûù÷ÿø-ÍÍÜ~ëV¾÷ƒ222Â×]G,ËK²©·¹î–[3šï©G)È>𩾾ž¾¾¾¬–qž6RJ*í-í>vxÁΓbhˆ<<<ÂãO=‰Ç3A™ÛÍ ×]GUU¥>Ä""""""""y¤†Èɵ47Íy-,Øö-S¡Ã’^oâ!Oì+ÁHxÁ •kðÎívóç÷ßÏÿùÛ¯0áõ.hðÏ0¬Z¹’ÿõÇDSc£Âƒ""""""""9È´N%ó¿ôE>ö‰?eç®Ýüæo¼‡M—]ÀÎ]»¸ÿÏÿ‚‘‘þï_ýÕ¬ayª|‹½ÎÓe:ÌV&¡Ãbnˆœ‹'Ÿyf:txóM7R^VVÔ瀈ˆˆˆˆˆˆH1RCäüí£…6=Ôr²Ð!@0&bŠa‰¥ïÑZRJØ»p]Tž®­u9ÿåÿ3¯õä²Ü×ÿñŠþ`‹ˆˆˆˆˆˆˆ»lêUv;ÿöµâ'üŒoü¿o²gï>âFœµ«VsÓ×sûÖ­¬*óY¾×^z!£ù†‡‡óR¶®®.Ö_p!Þᡌ—©°» z v<ûúû©¯«Ëë~)_ ‘sa2ÔÖÖrõæÍó Šˆˆˆˆˆˆˆ,ejˆ<½=Çi<­÷ÃUÍÍìëéI8¿7à£ÄáÊi[1#†)>™!´œ>Ña±ˆÌír1]è0n cĬ˜ãÖgBDDDDDDDD ,‹áóù¸í–›yÏwpùU[øÆ?•P(„Ïç[Ôòå+P˜©¶¶¶¬B‡þ 8­ÚïЃt¬\9!j¶Ì¯L­møýéÃb7DÎÅ=wß­¡ˆˆˆˆˆˆˆÈ<©!òü5&r9YèÈ9tL‡!Að0Qè0FÌ:¹¼obÞe±{ \êÛ‘Â8pä/¾üÞñìVƒË.<ŸõÎÇ0› °5;v`Ç›¯ãõŒRæ²qõ».gyÇjR]ix|¾÷àû'¯é,¦8W\rë7^&“¢ˆˆˆ\.õ"~¿¿ßÏy瞃aŒ¬ ÅPo“múû{©«k`õºNöîÚO]m ýƒDLs×Õ±rÀ¼C‡“ÇÆ§“ZDDDDDDDDòB ‘S ¹e@ o묰Û †N³äk#6›…P(’—u)ø'"""g›áñ /¾ü,›ÏßÀòŽÕ û9qü '‰óæÛ;ذ¢ WYeÞ¶i6Źnó%ÔÖ7qäøÏn{š÷TU㪨I¹œÛeáî»îÅZRΉÁ1ž|æçÔ×ÔRÓÜ–·²õô{xuÛãÜ~Ó­˜m """2m>õ2_ýÊßÌ;xX¨ò-–©Ð!ÀÞ]ûèÌz=.« _ØW}·ÔëãT)""²ø¶Ñ°ÁžCݼúê+LŒSê´²ùÒ‹Y±zñ –=Ô}‚×ßxþ¾ã@Sm9׿ûZJ*ªu EDD䌣†ÈùÛGÕ5µy ŒC„ëW.góæ-òÒ‹OâõGøÆik©çêwmNÛšy„ˆW‰¯?Ê÷òCnÙtõ­+Ó^†AO¿‡WfôR¸¯k€C{^à–ï¢ëįn{ Ã\ʉޣT—;¹ùº Û¾î‰:§{<<>L8OYuû»zyñåðyF©­¬Àî0¸õ¦Û0Yí:©DDDÎRÅ^/s¶ÕYãQ†Ÿ?ˆË9÷«¶±‘ÞÞé¿G†F©¬®˜5Åä"K\ÙÙÙ9¹ßLÜ"""R´¾Ñpœu+Û¦ÿjn¨Ãb/!§\jl"Èî]¿âæ-WR×Ò1ýúªŽöÉéà 9´ Q€ý¢²‹ˆˆHvÔ9µ|„Äë± Rê°ÓŸdÁÖÕ+9²÷@ÞßX1wQ©à£ˆˆˆä›Ã·Þp#¯¿¹ƒo}ÿ‡¬i_Æç_ˆ»¢Šß¸åF~òø£\sáFª—Ð7ìeÏ®íÜqýl%•<õ >° gõJbñ0wÞ°{i%/¼¶ƒg_ø·Üt˜?ÌDà…W_¡£¡WYñx—ÃÄïüæ½s®=âñ8ñxœp$Œ‰ÒÝÛDZ®=œ¿e3¾óMý3 ƒ`(È–Ë/ ú†kx~ûv¼õ+×mNúú”dËn8ïݼ¼íY®ßt15­ì>ÔC÷×1 “®—DDDÎbÅ>tÉ™4´J*+:9tp?acrèÀ†ºJÆ=s+g†9¡C iè ÄbÅ ŸÇ]DDD–®Ål4ìõyó½¸LJÊ+O¾–¸ÑðШ—5JM]SÒõùüyê9º{ŽRå¶sóu×SQÛ Ël¶98ÔÝÏ /=ÏÄØ05åv®¼jëôúFƃ<üø#\±¡ƒë.H¹_0Ü9mJ÷‰1¶½üј•ñ‘^~óŽ;86ž³L+/¼ò{÷¼ƒsÕ%ç³ñüË8Öï™nì|zÃéékרÁ~þó9e·¸k®SW©"""…§†Èóc·Ú†CI§y=”Ÿìœ&ß,55³»ënni¡çØ±é¿ :,ö¦ŠN)·ËÆ–w]Âe]À+oìàÇ?û)ï¹åVlî¹Ã§ Ò{bˆÿüÉ#§®Óܰ¬z%›•òŠJLV;{Oy¡jpíæMTÕ·àë÷¤\Îé°QßЄÉjaYórí9‚‘âõtËž¡¡Êɲ֕D2w¹*úDDD–U4.ŒC÷Ïú;Qè0Ç{OÐÔØ0ý÷ÌÐa±:u^‰ˆˆ,]‹Õh¸ØÇƒý#`뻯Ædµ§l4 †±˜ HÑ0×0â\¸a%7^»…m;öðÚ¯^á†ëï wÄ—°ÌkyáÅgØrÉÔ5·s¢¿wº¬£ž ?ÿK®:o ­ë§·i6Åîïˆ?ëí¯X{þŒ²„B®Û| A.fÔOÂeŒÒV†úòß﹋˜ÅIoïb‘HÂÖ§ÿ3›b Ë~°{8á:1›õYõ"grCäD¡ÃCGÒѺ o¡C›a%Ÿ¬ë[Þ²Œ£Çº™s…;3t(""""ùç´[¸â’‹øAßqÏt£a¯QÆãOü”p(2£Ñð•Øœ³{Gâ¼üú›Ü¿‡€ß‹ÝjpÅ%±zí9`2¥m4|¤g€í¯o§¿ï8qêk*¸îÊ«˜ËxáùG¹óÆ[0ÙìfïÛ¿ä–ï f˜–¹¢~ïì;<ýz]¥ƒÍWnåÅWžáÎo!lrðÓÇŸ`]s/Ø4£oĹûÅKiÛ?<<½î37.3uñÔ3?'ä÷b5ÖM—°rÍ9Dc/¾ö&ï¼ýÆ©†Óæ×_{+Á>õ4Ã}‡¹gëVŽŒ„g•}ÐoI¸ÎT½UŠˆˆÈü-f½ÐTCßššš¤u3Å^¾»îº+ãõÙmV‚¡üfÒŠ.xh‡cɵôÇãƒAÀ96¸ˆˆˆ,Œ¥<ŒDâí9Js]-Þ`œ'žýZ«9gV§ˆˆˆœM³^(“º™b/_±O§†È³©!²ˆˆÈÙg)7É…"ϯ|©êKÊ+ñŽøø¹\D|¾¢9¡âñ8~¿¿ß¯O—ˆˆˆÈ’f°ëà1âI̦8ç¯_ͺ *t(""r+öz¡¥VoUU^ÍðØPÁ·F9ï¼ó¸ì²Ë–Üù>&Yг^(“º™b/@ Æa³Îy=ÛÐa×ÁƒØ¬Vš–/ÏxK>C‡åÕ•Œ èS!"""R Íunî¼í=Kâ½Z,°õÝï‚w¿K^DDD$Kc>JË]içë8A]mCÂi :5DYªÔyþ|Áq¶ê9¯/¯iäè`oÆëi[±"ëm›2™Éjµf´2…EDDDDDDDD_&¡C€ºÚµÃDDDDò`ªÑ°†Y‘…Råž:8‘Uè0W–LfJ4NôÁCYÑ‘}Òqdd„Äã$ODDDDDDDDd!M„'(µ–Îz­·7}%d,j`2§¯Ïëí®Y;ZDDDDDDDDd‘T×6à°; S÷ÔØÕu˜¶¶öœ·3+xØÜROϱ¾ŒÌ%tPYYÉðÈ ƒƒƒ:Ê""""""""" èôÐ!€­´„Є7år§‡Ǽ1ÊKæ¦RU^—tjˆ,""""""""²0Ò…éÐáþýûéììÌz³‚‡™†ç«ïx¯¼òŠŽ°ˆˆˆˆˆˆˆˆHؕɧ &’(t`·[ç¼VWWIÿˆ"‹ˆˆˆˆˆˆˆˆ, ‹ÃN$œóz©ÃÁD 0ýwcCCnë/TÁKj*ðŽ&œVßÔÌûÞ÷>]‘3Ððð0UUUz¿¢ýw†:räHÖËø|>êëëµóDDDDŠÜ7¿ùÍ„¯§ ÎT^[ÆØÀxFóF&"XJ-@ 0aŽ™‰š¢ÓÓ+éí ¿ò¿jˆ,""""""""R8­­ôÎxœ(tÌ ”ºÝ9m¯`ÁÃd¡CY8£nWÚù2 –T9ñ25TËdχ3C‡ÀtèpJ,çÖ.J»îpÔŒÕ]ÐùB3†Á‚o ¼¬,í<þ` §Ý´ óyý1L&|»*ŸÊ§ò©|*ŸÊ§ò©|*ŸÊ§òYåëîOßs:uv "’?§7DîÍ¡šd†OP[•º'D“ˆˆˆˆˆˆˆˆÈÙ+“Ða6¼Ãþ¬—1Ù ‘3DºÐ¡gÜS¸Jl&¼¡˜Ž„ˆˆˆH‘ephˆ@ ˆÓé ¼¬ŒÚší‘%¬¼´‚± f"""""""""r¶©,«`d|”ñÀeŽÒŒ—óx=¸KN É\^^–[ðp|hˆ²êê´ó)t("""R¼††‡9Þ{búo¿?€ß ‡ºZ…EDDDÎdÃÃÃTUUå´l¶¡C‡ÃI à?c÷UÔ7ÀkoP}N'ëÝ‹9@L”¾oð“6®ºv5Ý;øñ.8óy\\`çó¯óÜ€ÁòË.fë2Çä"ñ ·½Æ/˹qƒÁ/íçDI+wlYAƒ5Á&ü<õäÛ³6rë5kYfϰh3¶s×UË©6§˜×?À£O¾Í‘l·!"""""gY÷—Mè˜:ˆÅã¹3 ŠˆˆˆHqNøúØø˜‚‡""""g¨šúû©ªª"nµa„C„"~lga6èrð ŽQVqæÔ†=ƒ¼ñë#tJXôRÇCŒ ÀUC¥-ÂèP€¨³–jGŠ0dÈDZ±(î¦2JMžôÛpÖrÝWã´g°œ¹³>g"""""2—:;Y|éB‡ó‹Å0™NÕ+e«"""""g#uv "rf³›,c‘”óÌ d=vȬС٘XKl: """"gˆx<® """riiY@Y}ê!–ó:<örοdW®,Çi,bAB£¼øø/øêÃ;Øå3qô-¾ùÓ_ñëñ8Þ<ú«!|†§ÃX(µMµ\áeÜTBKÙ©q•cý¼yh˜ñÄÃ~º÷ìäé„S!2ÚÃö}ƒŒ„â 3Ô}í=~¢ ¶8Ì3oöÒ爆è>ÀÓoöã™y‹áàÅ×»èöE‰ÇB 9ÀKÝ>¢:õDDDDDÎJêì@DdñYí¹z’.t˜È¼Ú—ÑÙ«­V«Ž ˆˆˆˆˆˆˆˆÈ"ïÎyÙšúJûFð‚8ö„óøý~œNç¾—L”Õ×PøG¹(¶ ®¸q çv¿Íƒ¯úXuÕEœÙǃ/Ò|ÅElª´à$ŽÝeÁd6Qj›jKf¨ßKܽœ‡S#^:/ØÈ»–YÞ¿‹'vŽÒw¤¡ŽR’‚åçl`K»ã;vðÔ‘cA”bžµ úðcP±b·ž[‹%KDðÖ›¸°6UÏŠz^|˜‡÷˜¹à¶[¹´NÃ?‹ˆ,œ#{~ÉÏ^¤îÂÍÜ}Cns‘žtj(±€µæ|Þó»çŸ5ï8æëaûÓϰcÀÁŠ‹/cë5 TØ£L å`¿§e!JqæþöÇþ‘|I:8Ñu‚p4}sâhÌ”Ñvò9_46YæhÔL8jZÐòùƒ1òê ;Ø5àå‰GŸŸžþËÇŸåÕÆ Ü~q ˜­ØmfŒh £#ô¬TU؉c#â±` ʼnÅà Šá'6ùw‚¡þèÉé& ±ÈäzƒQˆÇ Œ9m;QK›®,¡½w€#}#œâí·Øu´•/o§.›NÙl&>µÎ“¡Çx46ùžS†ãL¾“äB‘†a¤/Óõå{>•OåSùT>•OåSùT>•OåSùDDd!UWÖ34ÒQèpÌç¡ÜåN:}*t$ BC-><0ýÿÏwiÚe²Î`˜l”Ôvráù‡8ô‹^ºzÆ9·¶åDDŠPx„ƒ{zð[êik_FM© °Ó°òÎʾ-bt½ú›ÖæOy åËñÝÈSv .;ÿx!xçè2V*Ö¬åC߸ñ¶u#J¨®BÞqwñàãUËSíœn¾mý°©Ór¹csîˆ"ŽÂE¼ë½*6‹:f;¨VŠæVQ4·ÿa8:j*6{oß¼qÌ:¸kªS¶ !„B!„Bˆ‹aÑ4bÉË­kJ7º*fF<2a™óI‡£ O:¼ ®¹Üq÷§ºŽïåÔÞWØwº…Þˆ>ø´9iL9y@Q0$’ºô8!„¸T ™³VòöŠk t6pêøaÖ´é­ãdÇ2òÇüþ”¤÷ô^4ÇpÎ^˲â4âDûÂÄ‰ÑøÒÿòã—†w„ˆ&¯ŒªZœÙ¸,ÐÖÓM(Yˆ-åP‰º˜IóØN¼ –476E'â0ê¼ÎaSk¿)Ôÿ? -› ŒÀLš3ÕH"ÉIúa-0°o]ŒD"„B!Ä ófçÓÞÙrßëÆO:t:id!„B!„B!{. IDAT®0n»88#I‡0ÅÄÃÉ’'Óãë!Ón1Pc;¥q’ÞS»Øq´“Ìënå½ °öîçñ?˜ÅCA9¿ C:”B¼aΜr–®Ë'[yœ§N€I{ÐûjÙ»¿ž°½„õ×–âR4¬&¬n¼›·Ív¡\UT]ET•8hBÁ:i¨£÷Ý„ýPÇ7°|8åòB!„B¼1.*ép@€¦ºF KSÝž“—NkS7š&ŸŽ…B!„B!„¸Ül'‘XÿÂþpð‚—÷Ø]øÂ}ÓÚöŒ\ÌðôO|ñI‡ C¿ú«(F·ŸèàG&l;f=DGgÑH/õm„“ÒÑ„ⲋ¶²çùçxùhíþ±h€Žú“T7…°T± wÔ0¶Fˆúû8´P´t9•mðýÝU¼Ùž8-‡q¶'B"'âkåÌÙV‚WÊ ª“ò•7°8+ÈÑ-O±å`þñx_ëIöì9AW\ÅU¼ˆ9é:mGRÓ"â«çÈÁBi%,ž›EZZ›¿¹‘Ž`ŒH_7Ý‘ 9q¥>÷…®ôsß”Úïb?L¼¬«xî8-÷s¼=H,ÂïŒB©LÒÕÁå›–†}t÷NoK!„B!Þ(‘àÈ›Žê›',?^ÒaA~!­½’t(„B!„B!Ä ˆkáÁ¤ÃéºÐ¤C·Ç=øÿàˆ‡sgQsºñ*h2ϬëYÕþ2{<ͯö5#‹v>ë@#}ö –·îâÀkòó]`/YÃÛ¯‘Î&„—[2&¡‡i8°£¯$«;›üYëØ¼¤œ,3 Ï#KöœáÀi?¯ü‘G^é>}áܳºˆU·m¶{?;ÿx„çuÀä¢té&Š® ß°TG «ï¸›Âê#;·›§öúˆ 9³Èõ–ÕÉr±ò¶›±ïÙÇÞÇÃvÃJzá\6Þ¸ŒJ·†B)«Ö,"¶ûOþæhN2Ýæ¡Q '•úÜ·¹ —´+ý¬>…ös_Ôç‚I¶ŸVÂê[7a}íuö=ñ?¼l¨X­` ´œ’6q?Lµ¼#ÝE•ÔC!„Bqõ°9úos:3 º).)˜Özš[š¤1…B!„B!„˜!æ¤}Æ·é÷ùÿW6lØ0çjk)/+KùšÛåÄß7ýŒÉmÛ¶ÉÞBˆ«Pww7™™™R_ñ&m¿8¯?Åcû¢ÌyÛ;X_d{Ó퓺ººÁÿ;>n¹E ªÿ…BäææJ‡B!„¸ÂÝ{ï½Tޕ᥯§ý’ÇaµY‰F¢cžÿão¿7ù'ò¤†YKÎh¹XBCQ˜ñíxÜîIË„£:v«:£å‚aUeÆ·{õÅgé ¶8ɰ*3ßèí=¶aÈþMY.‰ ÙWr|H|ŸÄ'ñI|ŸÄ'ñ]ÜvÚ‡¾÷ÈoB1ó¦z=0bµZ/ùöM½8^Ò!0aÒ¡Yƒ¸ ô#„Bˆ«Nœ`o˜¤ÉIfšYšC!„B\•L˜H˜´\_O;&M#‘œú…< ™itw÷Ž[&UÒ!ô'ãM&©OmˆûKQ.èàHMµ½QŠ… o>Kçä’mQf,¾pTñ8Ôzœ­ç2X¿2Ÿ´¾z¶ SuíJ^.I×Ƀ<}¢Ô{N%{ÞRnÊébËÞn*®¿†…î¡x¢qÐIö5òìkí¯XÂbÏÈ}Kè(ŠècWŸrâÐqö7‰¥å²v¡‹š#ýëY 4óìë<¿ÝÉL¥Ü„ñMc}Ó-§šyþµV –¬ïåˆ/ÜÓÈÓûúÛy¡Ö6b»Ã㘛¦^òöKöÕÛWfzÿ&ý ƒ}lÚÂ3¯¶Q²òšqãl¿Þ¶ï»¯®æþ'ñI|ŸÄ'ñI|ŸÄw5Ä'„â¥êºš“tX[WGYi)ÎÌ4Ý¡i­ßt!…ÓmiôFBtuùÈ-- ¦¾h—⊗?ÀmwÊB!Ä•#ÞÃÉ£ ˜KgSè4ðÕ`OmGÉrÊÒ5i!„BqUšJÒá`Ùä…Ý=l£»;6­¸¦2àL•3b>©§+«˜ ³HKú9]}–×N¨Ü´$ —:3ñI$¿/Š9ËI†]%ÖÕG–Mfš2ªœJÑ¢å|lQÿ£X×YÛÕEñŠkX7tU¼»³EµüÀ&Öî½£$e\ºÎ¸#¢$£>j»`Þ7°Úk&3XTÚ¿ž„OA…Û¶ÝIM^n¢ø¦³¾é–KFû']ßË_FÑàþJúGnwxV³rÉÛÏ¢+hÊxûuf÷oÂ2ÔÇœé%ÜqKÑ”¶›Ôô”ûêjîŸÄ'ñI|ŸÄ'ñI|WF|2"•B\Ét5õûtYi)IÕ@Ó•I“óòòhmmí¿<áÍ¡§½cð5SŸ?€Ë=6!0f6c‰ÇG<×éßPV–'eÒaan½á.‚þð˜×$éP!„W#¢§ý5¯ï&˜Í™MÉ›¸uYnUÚG!„B¼ùu÷øÈÌð\Ð2V=QßU]憎‡–¤“¥åYxLŠ’ÁÜrçŽõÐËÂe{C¾ Ðӣ㨰a!AgWs¦›r1ëLÐU[ÃãMí´u¬žl.¨äºB†¿?½ÜF隥,ó$i9uŠ';é ë˜éTΫdu…“ácÁÇ:OóèKõtвc'õ•˸­Èϳ[Û)]³”Å£bM†ºØà4GZƒÄ+¹¥å¬]”OÎèQ%}ì{é0 ¥×ps‰Œ§víåÅh ÷¬+%ÛÆ£‰¯©–]ÇZhôÇHŒZW¢§–'vvR±v)ËnNKôÖñ‡=]T\WDËžS´Ä eË.šV®àމ¾6öí?Ë©Î0qÍF~Y9kæ‘¥ëxW¥í|ÃÅܳ¡lDo¼ÆÂÞ½­¤gjÔ7°U±©<̳{Ú)]6j»‹ËPNœ|ܰì:îš•†>¼íU+¹%CmŸðÕñÜþnJJ4×µÑÒ±º³Y|Í–åZQÇëKg«ù}cq39Åe¬»¦¯%Níž}¼.åžµ…xT€­G^gKo1w­Éxn Åý <º·mDÝÞVbë«Ù¨;×NžFùüJj-ì<ÖNiT.^Ⱥ Ã{NÒßÀÓ;Ú¨¸a)‹Œžxµ‹¢’urûÙ¶ëô˜}¥È)@!„B!Ä[˜¦§þf<þ|ª««ŸO:èiïÀï÷ãv»0¥J:Æ$ÆBq,“L9ØÔÖ({E!„W %­•·¾“•ÒB!„â-*3Ã%-X¨ÿ†ã¨ÁªLœu7<é0n˜•«/}Ç–]ÆæuýÿÇ:ÑPŒ„jÅ<Ó7!Å{yeÛŒbGë.~0øâ>ó/â¾U9¤MkÝAÎvd°aÍjÞnqîða¶®§(g¹ÃŠE;kÙ~*ÆÜëWqw†BËé^<~¯w óCû×’=›ûn±%,¦k:ýãlÛÏë¯à¬«œ;ßž‹5ÜéÃ5éÐnµNštx^EUÀU™t˜J"ÐÁ³!Òò²É²ÌðÆÍ鬾u¹©‚‚Ì"6oÞÈ'î\Lez&ënÛÀ»–eM/é@³S¹¨œÙ3f‹ƒ²r/ÎD€ž¨>²þñ1]Ť©hš™Ì’*î»yl¢Þ…w5q2’ÎÊ…xm–´LUyÑ:ši£J›ÈÈu£zðÇ!òÓ«¹ÈÖ¢4ÓÜ YùNœžbn½i79°ª*fG:…ihñq=E]J«xßKRÖÅä)fó׳¡Ô%ź.ŒA £‰sÉ,®›ŸOŽÝDZz×/ÉEmk¢. ÖÑ7¬ŽYZdLmû®¸<‹ «—ÝtA£ói{Gж×ìÌ^PÊ,wß(/ËÁ•¢o RíÌYRÁÜt iž\®[”m-4‡ Ò2½äiAÎtFÐx_7õñ4*sl©€U7u`ýe•yäÙÌx²2p™mTTæ“k³áÍÄeDðE'Ù)êÖI!„B!„x“šnÒa*ÅÅÅã¾fº”Aל¬#33cð±Û•.{R!„B!„Bˆ3bX C'f6_ðòáh4åóóæÏåDu͈çÎ?;õõöù±»ÜWh«Äü­ì;Ü@·§ˆ N,oP‘>?1[.n3Ä{ü4'™6tcú«ÕÌx¬C©_Šª¡¡÷'Õ ËdKË*b®ó0/o}™}ž s½T–äPfU§9­NÈ$ôóÌSm#_Rø¢Ip޼4mód‘A=áY! O³¢œë‰µ÷Ñ’°S•Þ߯õX€¦¶.:|ºýA:{CÄÓsRÖ¥(ÏË‚Y¹ä;´”uIF46uRÛÞ‡?8r]\g#-÷°©¤­N.ºéŠ$Y0PÇÖ`§¯¿Ž¥áG×1h&\Ó~sò¶/ìC#ÿ)š “Éñº›ÙF®sè}Åêpâ0ZèŠ$©ÌrSž­òJ£@©…X[1w!ùiãôžTuÓL8-ýÏ)ŠŠª™H3+T&=LX'!„B!„â-Äívã÷û',“_RFK}-ª–DOj444ŒÿU|øon6ímÓpxÒ¡B!„B!„bæX”þ”¹˜2q²R,Æ’fŸòzG'^¨+7éP'ÐÖÄŽ£IJJÙ¸0‹tÓƈ©–;ùÕŽ ¾ôØãõ8Š.bªe”)ŒJ©XÓY¹~5ó»»9×ØÎ©†“ÍËmãÔ¥þ$ŸmcÕúÅcê’ìkfëö“4Y3)ÍMgNÉÈu¥¬—a OTé ’ÜÎ×ñ´/Hf{ mœUGâç÷ÝôZ~tÛækˆG¹ ®46qSUQY˜µÓÚç Üš £"—2Q¿ýTráðuO¯¿Ë¹@!„B!Ä[S$ÀfsŽûúdI‡À`Ò!€žœüšÐˆKi“t  ªb »V`Æ0ROëÒÝÝ-{\!®Roµ÷p9gIû !„Bñfr!I‡o^:}͵l;æÃRTɆÙéxLÉ7&s:«oZsçqºæ]Æ\hØw×Ýó¹cŽ“XTgFö˜bÂåeI–—ÙeÝì}å8µ§;¸ðÔC•4—5ä£#¬“;•‘û+Þ< ;8™TÉ­´“žð`ªk¡ælk§ªÓÓÜL«–ÏúÕ•Ìr©@ŒºæqÃÀ0ÆÖeNE7ûw¥ªKÿºšLܲnY†ŽÝš±.EQQЉ2/ ì*ÊÈ:{l(u~ü±2Mý¯E>ü†•2›І7Ï¡úvNÆûë豺15 ¯ã”vÖµ oû©ˆGé %Ài "?ÅN–­ý6OE¦“œnl#Mca¶•++P2…B!„B¼¹M”tx)éá$ª½ÿ Ë%½‡·£µÜü¡i(†'æäåÓÑÚ2ø833Sö¸B\…Âá0v»]ê+¤ý®R}}}ÒB!„o—__`f7ªY »*Ú'Ñ×Áî>,¥³¸¡<›ú ѳPâ0A2@G@!£ÄŠ6#7è={?ÕXX¾ª’9n• ¯‡Î¸ ¯Ç2íÒ² ˜e?ÌÞƒõx®-£‡i<^ÍŽV›ÖÏ£Ì>:LÅ••Žvôçì…,phXõL²“ Tw»¸n± f‹ %¤³/F©]¡³î4;ëÂ$\I’†NïÙÃcêÒ7“=¦.ëŠh÷ÇðØ“´6ž¶.0ÙdjaÎÔv1×5ØÁ¡]Œþñ'UUC3„¢ âºgN!åÚ1öU·àXà%;ÜÍžCm$½s(È(]G‹–Av²qX!1IÛŽÜ®Šiøc« ÷¨¶Ï3E¨=~|°í§5oQ2DÍÑzJV–âw°ûp7¦‚œß'³¼*>ш5o>yö++Ñot›™UIDB!„Bñæ q8—d]FREÑÆÎûp>ékÏœ¥lVÅEopxÒápápxDÒ¡Bˆ«—$ i?!„B!®|SI:Œ£`žh^Ø u•$B’Þ–NÚãIŒs'ùÓ¹a/™Ü\¿ª’Yi3›” új.2­ F4D[ÂÂlçLÍû¬^:—5^Û¾“c&»›ŠyóY™cžþj-¬\]…vð Ï?s–(îìÅæµ¯œ˜B!„B!®nX§%mð±Ãá ŠbN³N¸œÅi#ˆLü]:EÒá˜26l¸à«‹…åE4kXX¢}vµbÛ¶m²÷…â*ÔÝÝý–µö­V_i¿7¿ºººÁÿ;>n¹E ªÿ…BäææJã !„B\áî½÷Þ)•ëëéÁ•‘qÙã1ÅÊ>úݯ8é2I]ESõ-—Hª( 3¾]Ǧ½ŽÆ ¬feFËEb:Š¢Ìøv%¾«;>5PËsÃ,Z5ŸR›"í'ñI|ŸÄ'ñI|ŸÄ÷ˆ¯Ó7”n"¿9!ÄÌ»÷Þ{ñæÒÞÚ4âyM³‘LNœX¨ª&t=qQÛŸð¦¾Î®²³ÆŽb8˜t`0¥¤Ã¢²k›e !„B!„BqÄ¢I,ÖÉGLsedàëê“•uYãžt`Ö’SZn¦Ë(ÊŸÝ:•9žõ/§ë ªŸÄ7Åí:ÉD„¶Æ.È«¤Ì£a“ö“ø$>‰Oâ“ø$>‰Oâ{‹Ä7µïGB!.ŸÑI‡À˜¤Ã` ‚Ãiu~H\ô¶'_Ê×NmmmÓ^w4ÆåvŽyÞôflÈææfjjjhjjB×ÇŸÒDUU ˜?>ùùùÒ…B!„B!Ä[ŒÎD÷&ÇcQi"!Ą̙åÜq{éGÆB!„B!Äå‹Dñ¸]ã¾>Ù4÷&4ãŒd[\VN{Cëàc·3 S\cVÍ“wêÄIJÊʰÚ,c^ ƒ8Ž¡'¢1ÅFmóiJË*ðz½´··_öFliiáСC¬Y³† 6LZÞï÷³k×.E!//Oz¡B!„B!„x ™~¢3ÝD wä”,999tttH³ !„B!„Bq/é‘tàô N%é rÞœ”I‡ÀȤC«â&3’tPSSÃòåËq8$‰IÿË—/§¦¦FzB! (Š4‚B!Ä[Tö¨;Ÿ5Ûø¦ŒH:4÷_7”¤Ã7;ƒH_=QCšBÚJH_B!„BqP’É‹^G4:vV”XBãM7÷ACCN§“x<>¥ÄÃx<ŽÃá ¹¹YzšB!ÞRl6[Êç­V«4ŽB!Ä›Doo÷•¯;svèó"N’‘¡äÂŽ®ÎÁÿªB~aáЂñؘu©zìŠn›d¸—ƒûðø¶ÝüaÇ^>ë'¤¿±1…šñûÍøtHôÖñøÖ4_†fLøêyô©}¼Þ›$éoà±§ûÿŸ´ÍúšyþåÎ…u9¸&¡Z.º­½uüá©ýô¥XG"ȱݻùéï·ñƒ?§.reÔ;ÒVã/7ÒÞyŽÿ{rœØßàØz."¤x÷9žÜò:Gý©W2üxJúxzËë“[‘¶ž~­é¢â~\ñ'Iö5^ôq})Úkt› ®»ãä%Y·B!®2ØB¼± M›ðu[–{Òu¤úýØbJŽL<´g¥]úàIÎlcÆ”‡ÿÅb1týò|ß|„•ëøAuÿÂXõXW¾šoKÏB¼©Nþž¾w EAQÌ×ó¡‡_¥#1µåûöþ ×;Ô¹ŸâÅñ~' ìãk×ÙP¬×ð»zǾ:Ä¿ßèFq ¼ï¶>Å»‹úã9ÿç*½>r€Þ < $ý'yî»ÍÆ2Š©ŠÏîèIqRêãÄï>Ç-s2P-gwõÏÔŸ¿ t€‡VØGÄ3ø—q3¿83~cE›^âûß@¹m ¼½‚MŸü/· Ýi=ö]n(ÿœ3ú5“bÕ?`{l½³nÿ-uãÞ`£yÛ·x÷òB¬Š‚¥h-ŸøÅz“—(ž·àù93#ý‚žB!„WŸôôÌ *ïpÍl!0ⵜ¬ìÁÿƒºAKSӈ׽ÞÒuÕrå6L2ÄÉ#uÔ[òYÃu¼}qzÃ9^m ÏðÕÌáôuGÐ2ØUˆüĬ\æË»UÍ]ÌÝo¿ŽeéÚä… ¤ Š6%Æen«d¨‡“í0ïÆøøíó)µ] µNÐÓ@ó¦ã¼â†<ŠÍ¥^!ÇÓð¸²=—4.ÍUt‘Çõ¥k¯±m’À×¼ìûB!„3O;Bˆ«S¤Ë?íeGÌ•î ¥,ÔÕÑKVÎÔ~€öÅüx,C™ ÚŒ7Hò‡ˆ¼\I‡©Xæ‚íç>1Õšpö¿ocîâÿv|•.éìBˆ«H"Šåº/³åÛ7± +IÃÖoó—y?_œ½“ŸÞžË„÷6EªùõW~ÂÙÂb²'ýE…Ø!~úÿã/û(s¿»Ä©}ü|gg8†»©äÃÏïâ§7gé<ËëO~‹|ñ#üç’ùꊩ¿Ñ†O?ÁÿØÅ Ÿù"¦‡MY¦÷•áO?Ëò‡žæÌ;*Ix„Oàc|²ì%ýÀ,ÌiKùÒž0_Ñnµüöµ|6t?kŠSOi=ók>|ó_óÒ¼ÏñÝWÅÆÙü'·ò“/þ ·¯}•G¶ü„w—Oþ%Î<ç#l;õ‘‹=ëNÿ\•s#ßß½…OÌŸÊ‘qþøq6ýÕ.V|ã8úDþ—Èg?s;÷ö>Çã»猟ß<çï¬ÌLt]Çç÷G°Ù¬dge‘‘.‰‡B!„Z›ê±§¹ñLrcJÒZÚÛ뮚ºÅ=œ Û˜¿ ‹t‹†bÍd–§™½=Qb%vìoDPFœžG… :»¢˜3ØR|NøêùÓ®VÒ35ê›XŠªØXäéý]Ù¨;×N‘Æì…s˜o4³óX;=¤Q¹x!+ í ÿªô7ð§—Û(]³”EFO¼ÚEnAmít„u¬îl_3‡en?ϾxŠ–´lÙEÓÊÜQ2ì‡ÅDû^:LCé5ÜUé@3"œÚµ—£%ܳ®h<ÊÕ66®+'­£–]ÇZhòLjŽL/×.«¤"M#FË©Sì<ÙIgXÇâÌ`ÞÂ9¬(N#Õe‚d¨‹ýNs¤5HLµ’[RÎÚEùäX zkó»×nXÂb·J2ÐÂs/AŸ¿”Ûg9àü²-AbÚðe•¾ÒÁþƒg9Þ$¢XÉ),eýÒBÒƒu<±³“еKªâ=µ<±³“¢Å…´<=¦­ôq®˜›KÑÀWx#ÖÇñÃ5ì«÷6¹˜UœF,Eòb¬ó4¾TO·-;vR_¹ŒÍå~žÛÕŠ3]£¹µ¿Oܵ<k ½ÎQÝ"¦ÙÈ/+çºÙ^²,Jÿ¨š¯tNØg*ªªØ8Ç…YqlÇ>v›æñ®¼©¿ƒ'B4ö(ä/ècF‚®Úoj§%¨cõd³pA%×ÚPxߨØÖ.ÌÃ6ÐÇÿ°ojýÙ>a8€áÁØLô/Hâk:—²o.È8&AwÃ)ß;T¯¥Kç²$Ç‚1ìxZ¢´ÁÙj~ߨAGœ1Ÿ IDATÜLNqë®)Ä;W›yçÙÁWÏ££Žë·U†Øúê°}¤§1{ÑØvXWáq­-Ù×Èc[ÛG×E%šëÚh ×óm½<ûÒØãZ¶/M}-ì>ZË©îŠ3›yù j;ÜÜ´nYÚÁca¾]q,T¬]ʵy°M–¥kÓìSÈ/³c’S­Bñ¦’™‘NsKkÊç…B¼ñò²³hí캤ëœÒ÷ºáI‡±H‹müKo‰@n¤ùƒ¤¹Sæè±cìÙ·Òr+®»–… ŒC"qA0“‰‡BñVá¬z/_®z•[–x±å–³¨ù‡OtS¸ÐEwu=íŽnεéë\výúl2•¾Ë:“½ì{µšz×,nÚäÅ­û8üú ¶²³©xX†û³D´ÿ¹¤–Åš³xqÇP[ ÛÖð8·T¸ui.N%JÃ᣼ڛÁõ7,$Ÿ^8AoÜI,¢9__Go»ÑÂóÃöEÒï# ÐbÌåæMY˜tÃ×ÉŽWkhöTpÓ&/Žh'žâ… lZœƒ+jLÞgNÖqÆ[E±ÕFÙÊ(ëÇß:ñPI'KL Á r¦-ƒ5×]Ï[ŒúãGyíPÙ®J¼z7»SÄötXacU6Ö¸1åþ\›¸8Uû†bëi¿Å›Ù1NßÌ^‘-j`ÄCÔuŒª×¾Z®%&…@o'»÷¡3«’Û—e v׳óP»‹HD'ÚVDSÐõ¡caô{L0¬òõÐ’t°Ô¤ô¿N`èý…+7âýe·+ñI|ŸÄ'ñI|o†ød°!„¸²M5é03=îÞÞq_·¤¹ˆ…ú†¦Z6™‡.B&¢ãŸI†'æçyǼž•94}Ëð¤ÃDdòiTUát88pðиV«•UU_ØK&/øoÜfõ¸¹j÷ÝZ†IQ0-øÛü‚;–nâ£ï¿‘EÁä]Î~‚ß}å6òÅ5‹Û¿ú­‰Ôë;?•côØw¹yñ-|òÓïd±[AQT²ÿßÛ׃NÛ?³€ÙØJýÁ¯s½[AqÝÀwEåHB\UŒxÎs»ùÕ—ÿ–ÿЬãC7M8®Þöß|p³>÷ÏÜ]6•ù¤Ü×~ŒPyìë¿à` ÌÑ_=Èÿ©Á×>¸˜”)ðzËQþôÝá)6ðÀÒ¬K\s•‚Õïçúà/ùû¯üšíÝTÿö!¾U3‹zd£ƒ?ù)5³?ÌÇ×zSŽ ™lÜÅovÄYû©÷³Ü3²„’¹š¿ú›ÕD^ü ¯6œËûñíÛs¦cžÍm_ú'úú_=Õr´y+½ciŠ‚’6Ÿû¾½¶øÀy¼{??ýøZJ¬ýS"gnü »ººSŸ«Žt\ò~­m]<°yá°¶3Szã\g¼Î³ÕcçãNž™úùzêççÔSX·>ù.fU}Š»Ç?Û¾ºŸcÿóY6U L»íZÌ~bÌ8DNóÛO¬¦ÐÒ¿4ï þêÇ8ÿû$áZžþúfæ¥)(Š“¹«odÁìMòùA!„â-êb’ÇãÌuyÎb·b&>aÒ!€¢\ ?G^?ÀÖà tÛ³(Í0£ÍàöUT«‡Öñ¾uåäerûmëùà- )÷d°zã:Þ±$ ‡:PvØŸ¢Ú),É"ÓfÁfBUúŸ+ž•K®ÝLFv.³ÒYyxí2s2p%7ú—Ãùý£* hvJ+‹)qY°Ú”–fãHñÇõ‘eÏÇ¡(ÿ›Èðº1{ $!ñã×\diÚà ”d”vdæ9pyЏý–¬-v`3©XÊóÓÐâq’†‚žŒ×Ìf“ÙLvY÷ݲ˜¹.e îCÛõ6s6šÎµóóɱkØœ™,˜çEëj¡5j ˜œÌ]PŒ£³–C§Î°¿ÍLÕ‚|2Í#—Ͳ™Æ,óµRó°t~9v «#“ÅׯâîŤÞê@û)€Òßð¶7Îî8c>NwW•1Ëc!Íãeé‚<ÜÚÈúÿ³/T;ùEçû„F´»™†d&ËäãM3áÈÈãÚ…¹¨]-´„Œ)õ‡%0°ï'úSõöte’aepÝU¥TxÌX¬JJsp$‚øâ:‘ñbël¦9¬÷·íûód}@UuB½½ƒ±MÔ¿L® ú&ýõBµQ6wd½œ‰¾ÇªY Ê©L·àðxY:?£³…öÁ¸úÛ,Ý¢¤<®µQíàɯôÁý0¦ÿ ×åóJ(÷˜G×Fо¤Û—‘îšl–ÏÏ%Ën!£°ŒeLJßTG¼¯)#Ž…1ï1ªNÈßCÒ™ÕßO&íWʤe.u9å Ú®Ä'ñI|ŸÄ'ñ]­ñ–“ÍìŠ -¨¢rÖ,I:Bˆ«¯¯oèú¢ylvÇù¤C6âag{€ôŒþÔ ]ÚEÉ–Öö)e²M>¢¢(Ü÷Î{xy×+c^¿~å Þsÿ»¿4çRxënÁü™ÿ£þWTïn Ø\G¤í$í÷ý€Ï}†;>ñQš¿ô3^lû ÚK_âŽO}™ÿÚ¼ŠÏM2àc¸µšÆìoñý=ßgQf ¿ÿô;ø§/üŽ›þü׬ûÎ1N/“©–…W³^v~q þã8I¥„ûòo+™è|àgïÿ‰'Üá±÷Uaß=Õ_Ó¼lüü?³a×ø×ÇàWk÷òÐ÷[ØôoŸá†¬ÿY6zŠŸÝâågƒO¸Yþ™2Ëqé3—½“ûŸcÃïcÙÃÖþë³|dIêIãgŸæá'‚ÜøÍûY8Îù#Ü^CC²€;çf§¶ØŒwþ2ò[8Ù+`+áîoÿŽ/ßZBòä£|õCåÎ Û|×ÈÃGøá{>À—=ÈŽÆ{(hø%÷Çøâìmüô¶ ¿üà;ùããËïû¾þÐg¸¥Ä>&é2ÜSÏ\À윑£.«®ØÅûëÞ†õ?ÿœfR°h k«Éã4ëaB†•¹Ëàú¬é\æ f‹ŠṎ~ŒŽÜçû„Û¦ ”KâGÀ‘שaøÀ–áÁ¥tãOèØ“÷M10Øßã½9„iëL^î&c }“™,çP5ÙL˜Ť“'6Ò?a`µNµ?ëèþ‰ÛÖn‰ãïJ>«?6c‚þ:B)û¦Õªb·((š…ô4mD½ÌŠbuŒ¨ ŠÙFAFŸ°¤»pÑBŸÞWý@›¹Í ædŠãÚ2²’5e;˜,*6R÷¿óÇu¦Ó<,æãZS°[F×Ft0® «Ak0ö|²*vÀBvŽ[‡‚Õ¢Žx?9ÿ¾ç=Æn‰áëJâ)q’aÊÌúä}ï—z‘ø$>‰Oâ“ø$>‰ojå¦öýH!Ä•éøñ“,Y0—ø°©;†à—ŒOü>oÈqœŒÑbVÞ° —|8Õ¤ÃÑ 0º®cL4÷‰½€kW-¢Àk§àÎJ’g~öbÖÞq‹ ípË},-¬fþÍk™ïõÀú{XíÙÆñÖÌšìêb17Þ½™µóì@o»)ÿúÕ´ažU:¸âj—ÎÚÛOççΰ÷Ñoóù¿»…û£[ùÃ'–¢tøè/øÒ#îþùǹΠ]°%sÙ;ø§ÏþŒÛzon=Àks?ϳo+ÂT3ª µ’?¿‹ŸÞœE<ØEÝëOòŸý$7ÿeˆm¿ý ³/Ù{o’¶ç¾Àݳ›•ßÞÆ‹ZLxÇ÷øì'ßÁfžâÉ/]ÇÈqBüÍ÷yÕs/¿¿½ ó¥ ÜAEÕ 2ì°òC|ãßv²æã?eGã¼sX1ÿÁßò˦|í—äºB ßç6ý€Oýñµù¯ñýƒ³ùÇ­ŸãÖJ3àå¶»Ç}XsL>m¯‘¹ŠonogÙ’l”P/­5ÛxäKŸæwôòä qCÆÈó½f¶cÒ#DGß[`è$ ‹YK9Bä”Ï×eS??—Oc7LÔ¾½_Ï&Ç¥¥¶Ž®Ø".¸•/gEŽYÜùá¡kßýQÖ=ü·œhb4ïäGŠqϾÆ{¯ÍA/›G–E…B!İϦ‘t8Úù¤Ã©Ð“á+º]“ƒò²LNôÑÎ#Ë¥ÎÜÆã½¼²íýÐɯþplð¥Ç¯ÇQ´ˆûV夸­0æR©¢ ^ô¥]…é®B±¹(KKrÚ$³=Ž=7ƒ¢H':ƒt[zˆØ³É±)$ûšÙºý$MÖLfd0§°ˆݧy¹m`=ÖtV®_ÍüînÎ5¶sæ\ ŸleÕúÅ,M~§½XÒËØ¼¾‚Ü_¦ÃQô8~”:ÁÞ aÝE¹¬{L‚§NOÏù™"à õ-îãÇŽ$2vŸ/9|w^èþÕ'ŒQ+QòRö0"ê"VÊÓÍ£âgå—0¶Éú€î¦!jeö@lõ¯Êd+[_=5nß¾o¦¶KRO ¨Š‚éÖfÆå?®•©îËáq%ÇôËÁ}¤\ø±`DúhŒX)u›B!„BñÆ«ªš3"éðB©}ýS"¦åLošIUÕ'/cL}Š¿óɇk׬.,éð¼D"1å?åb§ÑÌX4ÐÏïÕ„USHêÆ4VeAEG—¾-„x³Ðl¤,àæOý€_ÿS‡ÿëqN¤šC6v–?>øê7<Èßoòrá?ñØ©zÿ×ù íyð÷N>òà»™cøhvä0{í‡ø·~ïÞŸóÌ™K8mø8¿ùú£Øÿîwüüo7PêÉbÞ_á‘ïl¢ñgßeç¨ Özëv~ôË:|ô¯¸>küó’=gEjûk:;¾oœ¶ãûi1S9jdÀ3,žâxi§®'2â•PçÚN?Æý¥Zÿt¿Š—[v’žî =m5t›‹)NŸÚEaSé}“–±æ.åú%9XP0§eP¼ô|廲´õ þp¸wl½³ÊÉ1Z©n Œx>éoätÈAyŽã²ž¯/öüø}0ê#0íCX%ÍcC ûé4à#€•t›vI{FÄßEŸ5¯m*Ç6nl~ÃJºU»°zNÒ¶áÞ.–Ì‘±¥ì_!º[[Æí›Óú&¥3”ì‹‘€Ÿ€b'˦î½6›¹ãzd\ 5Ò‡?v¾D‚@o„¨1Õca亃ÖL²mråB!„B!.µöÎÎßæˆ¼ŽPG×´V¢ë“§‡èÊ… !u>ùð}ïy÷%*Š‚®ëhš6¥¤CMÓÐuU½Œw1³°†~‘ëBˆ+ŠÙfFçý<~n ?{þg~ó.JÍýwÄ{oùÇ~ŸY e|ŽŽÉÞ1=×óå­gi8ýg>·Ì9õÈ43š¦aÖ.áEÏH=:Î,ç°Ñ UÒ²¼Øà¨‘ûbœ~òaþœ¸‰O¿s>ý§­á=kÍì|ø—ìõ<9ݯòójuÝ{X] ¦?}溲¢¢ ¢ }Êçï‰Ú· OÕÝ|åÑѼOY~Êûïû&{úÆ®5Zý3ÞÿÀ·èzÇ#hîÂ_÷YÙ¿/ÍÎ<ñfÕ÷ÊÇ!„B€?؃՜ú¢Úºº1Ï%¦1C–å*M±§gS¨ù9t¶_¼ï~‚›‹'ùYÉTÊ;þõžýC¾zï,üÛ¿Çß~é ×þë·¹1{æz·5k妳<õäk¼oÖRôÓ»yêéøtï¸çï¶‚û¸/ãÞ”í»!÷UÝ[ÀMo_B®æ!¿Ðƒ²·›PŠQ-¢¾f:õ,®Ÿ7›\«cÏ<Éëí –¦Ò›øØ-òÿçïYá~wÎU8»ÿ8ÿ?{÷ÞVu7pü{¯ö°dËCÞ#¶g²!aHس-»¥-´Ð¥Ð´”QÞÒ·-¥‹ÒRhßÐ2ËI ;IöŽíxï%kKïއÙ–³ ¿ÏóäybéèÞß÷éê§së|rFB!„ø²Ð( CÀDkÐ`2õ½2xA~>@äÅGíqÌrsd$œRm¥ìŒ—Ŧíe,Y¶Ÿ Ö@Jz6g:NJBŒÏÕŒK‡Ã ö¶SÐS`ÕžrcL1ٚ˗}JíØ ,zøþtÖÒÌÅ´Zã±ë,dÛuìVãÉ´v 2{fSëw°fé Ö„µÄ;Ó=&…Í»Úhõ)ää cFÛ.Ö,]ÁǾ0:³Â‘#˜’%‘VŸÀ”é#ÐlÚLJïíÇ‹[’“iSóÉ1úÙ»u/{'ç‹Ç¨*d / °z«v¤àŸØõÚïÇ×óµ&H`ò´"”ûxóíøT=IiYÌïÄf 3iB6Ë6íâ¥7¶£s0*?—Ì}5me´õj«èqNœ˜wh_:2Gf;Yýñ >V,äå8Iv·y™6}šûyë]´&Òr ™›ŸÂ ï&jgÛ²u|ª-âê™)Dô¼¿²V•ŒBcÌɲ}Åvá('¦@xpwèo h]¬iVIÍìŒM%¾Ïñ¥'dÉgjóΨc³ÅfÐ÷ŒÒÇ1ÔáfõGËiéIË+dÞh¦@3¥Í*CŒ'=Á8⸑OR¯¸£ƒ‰òX·e/¿éGŸLaº…¦fµãІ„®cáõýAt½Ž…žã¤´Y%5ÝxÊ%U !„B!ÄéH«;þ×–Ûƒ×À mÇíávÌŠù¸$©¢¢"Ö¬YƒßïiÃP(DUUÓ¦M;.ñ¨³øú¼'¹yÁ8þ4õI–þÁ2¨×§Ìøß™|-wuÒn›Í?ûˆÉirp!Nqá¡pŸþæ«@Ÿ}ßzôuúZQÇŠ~þ]üù¼ÉÜÇ“|öá7¦;A±y÷ðÜy)<×ù·yÝõÞ»ï †cßÌö§g1åÎt]þŸíàÑ2ú‡KYþÄtìJ3zƒ…އxüöñܷ׿¡\p÷³|ðãdt]a ²ÿ‡øsé½i"±ä§ oäï+²ùËÏæ{S~F©0ärÖÍ?åÝçoåÌôîuc‚ƒÊ?‡ók•„uL½þqþýË+ÈÖBϼ6Å6™{_ú;šû~Äu#¿OM°ÏäÞW^ærÛ$îYø"Üû#î˜üµAH<ï¼7s6Y¦ÃçªÿùÛåœ=ÐiÛÂÂï››öjAÛ8¾òÀ3|tû 3E*Isã½W2¹ÿ›sW%ñ£Ïçúß~ÀƒWrBSògñàã_áúïOöÃA Ù3¸tnÉFO× 1‡ÏßöÙ¾çêXòØ|ó7 !yì•<ðçŸ23J²­m·yü–µÜvQ¿ð'0íßdRžO0 š .yúMž~à.½8Ÿo5È“KcÀ!ç$!„Bˆ/‰`¬¶8ÚZ:–ÏÖ©}_³ëtx<åd§QRZyʵ—ΚȤɉŒ hPÐi‚'-}R—Ïí ÌÉç8û-¯µgsùüìûr~nŸe´öl.¿(·7„ÖÐó¹,.»(ëÐÿs¹r~.®·¬Õ%äöØ®™¢ÉS)šÜ½ßÃ~3¥gÆùs˜Ñýɔ™³Èô†0黟á'1¼×oÎǂۉü1ãÈ[ûi­ÉL™ÌÔ(ÏeŽ™Â7 Ý׉USg]0»»À¡×Žõ†0¿ž¬‹Kaú™)L?ô·ÛÂdPkjÎË‹|AavGû©‡·Qât{CÝ7ºÕš)7Âq= Œï.דÆÖ³ßºû»w9ÍÉŒÙÎýAWÿjãs¸r~N¿cæ¢s“»:º IDAT3µ‹™‘gÉȨ“I3ÆE´ŸÎ‘ÇÕ "ÛF—Ë‚ó²»ÊE‹ Àj<÷?ìL›3>²]ú_n­¥Ï± €%çæÐó«‡Èc¤g¿dqÑ9õ=®ë^}¤±eqyï>»¨ó5¯w¹C¨j&—u=žÑ–=cî8ÞzÕ‘½bUÐǧsö9™‡®÷¨ÞºâvwÅV»ŽwÏã¨0Ê9fŽ#âü"„B!„â‹É bÔhPæÌ™õí/fíñûÉ’%ÇmÛlß¾ÊÊJÂá¾ï ( éééŒ1‚´4ÉæBˆX444àp8¤¾§ÿî¿pÞEÿ⪷>âö"½´ßiȵþQκìn|ÿ#¾3¢ã}]I”[ê ¤½½§Ó) *„BqŠ;çüsˆ‹?)ûN°Ùiliî·Ì« ?ðç” &¦ÀcYÎ7ˆÄÃcŸÝf°Œ»„¸ãY®#q‰¾_‰Oâ“øN½ø<µ»yuU3ù“Gs†S¿±‚ekJðÇ…–ˆÕ ¥ý$>‰Oâ“ø$>‰ïËßÁšÁÿ€K¾sBˆcçÊ+¯@ ©„ÔØ~èeŒÇÓÔ4è}%ÚÔ·4D<ÖçÒ†ý%Z fÚ¼í5ûL>Yºì”hÔôôôãvëd!„âtái*§9`$Π•Æ8-©Û½–ò`©6½4‡B!Ä—@WÒa(jôYêõz|>ß1ßwI‡%¥ÉÉÎ’Bˆ/ cbSòv±~í6xC¨+yC‡3wˆEn™,„B!„§ˆX“#J:K:„~ûÓ;é0éPöTtÒÓB!Ä) Põ!Üùê'þŠééª4ÈiÁKùÒ—Yì›À¼ÉNZ×?Ïî[„墅ÌHS¤y„B!¾LÔ¾SAŽUÒ¡ÎjÆßÖ>`9»3é!„øÏ)2†¢`Œ\?B!„BˆS•-1™–úÚc¾]EÕùû|>¦ÄÃòƒåddePÛPK²#ùˆéL:ôy‚èò;8!„âd z}8/{†·¿uùiÓƒÚ7óüm·rc™­s,—ܱ÷ネ4yë%„B!Ž1[;fSíîÖ~Ë5WWv¿&8ðÓ`(¶Ä–cY.RQbü­Î±ŽÏíø×è^8±å|Š¢œðýJ|ŸÄ'ñI|ŸÄ'ñI|ŸÄwzÅ'„âÄ8Ҥà'€ÆØ>hÒpû½]÷—t1&fdeô›th2q»=‡=^R\LNnn×ß’t(„Bœ|†œùÜóCi‡Ó‹–Œ ždÉÁ'¥)„B!ÄQKt$SßÐÿË’{Ói‚§d¹påäÄg2Ä’ :áåB!PU‰Oâû¢ÆÆÓÚ†[o%Á Hû ¸=%J{nãïИÀL¼¿ŸÄ'ñI|ŸÄwŒ÷Ûç#!„ÇGs« {œåˆ_ß3éˆH:ì)ÙGmÃá×ÙÚøÑ’ˆ¤C!„B!„B!Ä©o ¤ÃÓ·¡„·?ÞÉŽÖ“»bG{Å6^^VAsM%¼±h'½ïŽjgçªüù½]{‘ÏÛÙ¾r]¼ŸJŸŒãc%ÐTÂ+o¯gSóáã#Ð\Êko¯cCS`ËA^g[Z¾Ü_¾zªwñÚò2òpŠÖ¶šnÛ`k.ßÅwè„Äy²ù🷢ÏêÿΚrêšck¯ÓaL”A´}…B!„âD8š¤ÃÁˆ–t‡ëj›éÎZéX!„B!„B!¾(œùéÇmÛÖû)]÷°¯…»ªi>é¹bZsOJÆÚ+ž€«–5k‹Ù^í£pfçræ˜t’õJÔýÏ•J¢NéXÑqU™FJÔÐ6S0j(Cüå¬ÝUK#f ÇŒbö Jï²!3yà ¥©dŶšˆ²:‚4—³r[%å->üa‹ÃÉ ™ %ÐXÌWד™m¡¢¤šêö[ÃG0%Ó„ „}­lß¼‹u¥-¸µqäg™ñÅ´l9ț˫I›8–‘”ñÊú†Ãö3fÜP&8 ¨@°½žë÷²£Æ…O5àÌÎcÖè4’õ½¹•MK7S•7Ž‹ -hÂö¬\ËÇÞl.ŸC’ÚʶòßFfLË!¡î@úk°8Rºê¯„}TïßÍÚýõ4xBè­ Êä,3ºP;Û–­ãSmWÏLÁz$ã8ÐNY£BÚ4—òÚʪˆ147ÇÅ;ëëë÷áኮ¾Ì>‚é¹tQÚ6gÆxF‡võaYq5µîmkkáý÷PéƒÊVR>e2ó³ýÆn,æ•CÇÂp“q, ™5ž ö •{ö°bwuî:K<…E…LbEi.åÍ^uŒvœDÓßñqøùÁGåž=,ÛUwX¿užËê‹wñFy •®ú¸$&œ1Œ±ÉzÔhýz¨þ)¹m,êÕ^ólÕü·×±™WýxSšKysU-ÙfJ÷USÐuŒã1=Æq¯1ñîŠ*ì *ª:ÚëÂÂv­®‹:&–m«¡¹çþú…ÞÒ¾·žcbéjj %JûöìãᣇõÙ¾{ãÇc¨-ÖU8Âx›*X½á{|(Ö$ŠÒ×Ú8gv>©:yo"„B!„8vj««Iv:±¥9i©¬ŽZÆ‘Ôï6ª+j ýh5XšÜM$X #¹«Í’KéþâAÙWÒaoI‡%¥ÉÉÎ’ÞB!„B!„â$زy3£ÇŒ9,é°S|B2M‘·X>Ú¤ÃS¯±ŠÍµz†X8¸§éäáobÕ’lj9”ÙVµ’?t=¹Ž×[FsÕ´dÌ/R±gç3µrË6—2ÄžAÃöbªm¹,(ˆC„=õ¬^¹‹ƒ ùÌ¿ÈIœ·ŽÏ>ÛÍbÂeSR1Æ›§re—\ä@R1÷·ò5±qí.Jã X0߉=ØÌçŸngÑ63—±¶Çþµ­5lÙ´‡÷6j¸db &O3»ZR˜wþPÔÒ­¼µñs*Ò†0oÞP”Òm¼³£˜òô‘dö*ëÛ·…¶l¦&#ŸóçF–õVðÉÆZl£ÇsC– os;7nç³-ñdÍJëhGO3[kìÌ™5l£ý›7³ls YÉEdê½”lÞÊšgž=†L¥‰uŸî ÉixÑö³¡˜Ô¹ÃÈT[ذf'Å–\\”J|°™ÍëvðÁF —LrF® §5‘š¤e_ w«¯ò?@ Þl’´šª]héXÝ•õWÝlüt[WýuŬ9à§`â®HÑÐTº›÷>߃#a ífFžu&#b8\MT†ã˜hÕ€ûð1nuEí÷Ê}ùöî*SGCÛΘ:•[ ¢mçÍ)ìJHëk5¼ˆ8]ý×É[WÌÒ=>†MÆe •{wññö½¤¤Œ¥0–ã$ŠÞÇgïã£÷Ê€1 ‰Òo~ûk˜3c:swleÍúœs I×Þ¯õ”ÊÔ9Áˆö 4E96?ïãx;ÔŸ—™9óÌ餸ëÙ²qnÖsÙI˜•(cÂÛF•RÄ%%¡ ©¼í}މ³æäc¬Þ¹¿#8Þ:ÇDú¤±LIÑõÛÇçôVìaIí{‘ÉÇÍ›Y¶¾„ø™ùäbèoo«×ì£*¹Ë§;PëJX¼ö m›¼9B!„BsÉN'@ŸI‡ý_, €¾ãGVI‡ñ¦øÃ’Ôºš’Am_gIèó¹ÖvoŸÏIÒ¡B!„B!„'Ïè1cú}¾wÒᑸ\_œñ·±sOÆì,r,'ñ^«ºx¦Ÿ?‡oœ3„tG&—\2—ÛŒ¡0ÞÁìys¸zBb¯¤ÃCT£óÉöUðɧ[ÙÐdeÒ¸ 5aÚjË9LdÚ˜tœ&-æøT¦Žu¢ÖVPÒÛÊјÈÊK$Á 'Τ¥w+¹*)ñÙ™<*dƒ½ÙÁ¤93¹n|<Þû·Úuy÷þU¹…©¤u$$'`×É’ŠÓ¨'!ÅA\ØC³÷ð²öÄâtF†¦VVkÏâ’ùS™“cÁ ªèÌv†d˜Ñø}øC=Úndù6:½…¼Üd,Þaw3;ª!wt…v=&[ Ǥb?’1£ì'.ÐF£7„»¾œÝžxÎ(J#ŨAoq0zD šÚ ¶÷^^QK|² M[#Í~ð··Ð¤‰#I㥢-7M˜fÅbËŒ¬¿%>¢þ¿HA«QÑht$åäúùcË} ÑZ×HÀ–H‚>úRúè÷ž}i {iháƒCm›wxÛQœý×ü>|!µ«ÍÙ#¸êÜ1Ým6Àqr¸(Çg´ã£Ÿë7‰ÂÑyØuhu²²“‰ ´öÑÝõ×õݾ=û¨¯ã­³láØ|Šâõ˜lN&N"\]I…;½­UY½Ú«1‘mGp¼ ¦UGΈ>ÛW§·›—B\ •¦˜Æ[˜öºJJÃIL™J¢QOBf3ò#WõB!„BˆS‚^;¨âÚö¶ÃïáLJ§º.úíUü®Æ>7gîþiWUe©iIÒ!B!„B!„B|Ih-¼í^ fÃ)iºÒ2е)LO7¡q7äxÂxZ[ðØtàol¡McÅaT Ô÷=~5Ö¦ŽªåõuM$ŽN‘­3å)D{‹‡°9ø·í5XíÄ) Ô{‚Ä”ñ¢Ñ§ë+*„§­€ÞŽ­÷­ûÛ?‡ö¯ïؾUß±}EUQ5ZLÚŽòŠ¢ *îKWY¥£¬Y½lÐÛFYyeõ­Ô6»hlnÇŸÜc ê°÷¸·¶¢Ñ¢UÂÃð¸h éfî¾Ðn°Ø°êŽ`õϨû`8H{³ —«…ÅV³¸çk ÍÞ X#/ôâ$p*Wks3{*ùÞ24zðšZ© ˜¯ÂõohqQ×Ô]sb&ù–ͬYº’Ïí äd:)ÊI!Í¢á¨SÃ^jªüØò¬˜€@_c(J¿÷ìKE >â¶…+Ò+NÿÅ͉™ ³nfù¢å¬³'áL¡0;™\ƒÃqýØðø°©QcˆÖo1è°º_£ª4„»“mû¨¿±Ÿc¿¿>Š86õ&ÒâtÇ‹%\Aƒ'&_Ô1a䘈Øßq=ûxm\Yé)ŒÌwöپʡö „b›o\-n¦Dl]‰®Zâ& Uò¾A!„BñÅ5M±¯¤Co{;³¹Ïµµy°Z;>ªJÒ¡B!„B!„'N^V:Vœô8Ný¤Cð7W³¡BeØø$l*„Nj0=oµ\Ç‹¯lëzêõ7J±dF»Õr'³ÍŠYï&Á¦'bQ¾0Q3uúMÞ ‡{µ…‚C6ZÔ"aÎ:”P“Þeûx]°µ‚EKwSnpŸž@~J:–Öý,¯\½Â»Dœ1¶_ÐÇç2oz.Ù1¬¸©­äšƒìmvá¨ñcr&é©fg‹zsSÉF…`c‹VïéªÿÐŒLF6ìíª¿bˆgü´© mn¤²¦–}vñÆî*¦5†ññš£ÊaO+%yËèEiƒ#nÏÁÍØãìûXP ñL9k:Ã8PVÞƒ»yï@ÓÎËhe Xü”oØÈ÷µúÛÌè³Æ14–ã£gmÅWUX¿êjåê>ªã­“¦WÛ‚ò=ûxWq %¥»ycõ´¯Ÿò ë{õ÷X²Ã‡?o‹…F…B!„_j™™…”•í9âׇB!Tµãº„l%¤‰Ôë#GÅÖ­[û,Ü_Ò!ЕtØó‚Lç‡)E á€t¸B!„B!„ÇC_I‡•啤e¤ Óñû4_ò– ÑZßLC»‹Ú•X×㙺U›(),âœ!f´'*]<ÓÏ™ŒuÅvê‹Æ1Ç ×mbƒm8ó‡ZñyC˜½Q³ÝˆRÒB“/ŒÃÔ‘Ýâmk¦-l ߨA ©(„ð»“aü^7ž`ìû0ZMh|.š}aœ:%¦ý·„ ä5Ç)Û3HcEåÚtΛ=”L=¸½jjøÃaÂ1$zilj%µm~Âv àko¥Í,ãT1Ç™PÛ›©w‡bJ¡çcaZ=Q«½ß†'E?ùcY"r~/5î …–޳¦×ÕŠK5‘dÒ|aÆDÏ>aNbÔÐ&Ö¯Ü~í½¿k[M¨U­´ø Á ­Éƒ7l‘7/B!„Bˆ£r4I‡@WÒ!sÒ¡EgÂåww\GéùDI‡G¢ç/¸¾ˆI‡ìÚµ‹òòrB¡P¿žžÎðáÃIKK“Q-„B!„B!NI‡ÀIM:ôÞw0ÛíJ®œ†¸œQ\‘ÓñW ¨rU°|s=™ã†3̪F¿ý걎Ïí=tÍÑã¢Ì«#S§ânwQÑ¢—¦Ãç áõ‡é/KÏïëH( zlÐØÓÉR·³jS9Ú)X½õlÜTMÐQ€S~¿»êfï¾:r ‰ÜulÚRG[ÈL0Æ{h%H¿/„ÛÛGÒŽ%•LÝV>Û\Ži¤{ØÅ¾­ÛÙÊãüÑ‘û×¹êØ¾¥š@R!N¸[;âîÜ~Ð×±Â\g=‚¾0¡p¸ãùpdY_°Çs¯ ‡ñûÂU-xÚ(¯ó`·‡©.ÙÇšb7¸íÞÆžÛõ¾0¡CÛ÷ì¦jødË~¶êòÈÔ´²ms%3~_¯F‰èθý¾nµãvÍÁ@/}í§#N%.Ã6n)Å6.“d­—ƒ»v°¦ÆÊÌÃÈåõ+hmv”­Å0¦S Uiâ‰dG½•qEüÞ0!&¢þ eûYÞUÿUû·òþ-£Ç0,Aƒ§¾*Ÿ–D“Ÿ÷ðq6Ðøë.磡̅6)?„»wÛCÞ@ô~ïùw8 @‡·­ßÂînÛÎþøz>¦B(@K›ƒªô¨‡Ÿª^q¢v i…âZ껎¿/HÕî-|°WÇø‰ ‰Sinh Æ¯%Ù¤Å¥Ž±´_ïãó°ã#¢/B4—l僽:FË?¼ß|aÂt5_ D0pøø;tƈ¨¿×&ˆl/Å¥¢o¡Ž> ¸Øñy1É㳈óÔ³ms=çâUïam<kÏóUÀ×÷˜ðjÕÃ÷eLxýoÝc¢­=@‹[E±¼bwûŽŸX@ºQÁ×ÐØgûöÜv îÕWÑií©d°‹U[ªÐ K@Ó\ÆÊ½møM¼¾îPìÇ›/:´úb,Çeø„—“ø$>‰Oâ“ø$>!„§®–6¶^‹  —ßM àG«ÕE&ZŒ .OôŸ}&&Ø©«¨B1™¾]YYÉçŸÎŒ3˜3gÎÀÓÒÂÊ•+Q…ÔÔT­B!„B!„â¤Û»wÃc.o7ÅÑìn=.±è4ÁS²\8 ŠF4j&|Ââ3:}­-x´6œqŒ~7 != zL†Ž/;ËE£ÕwÜ^T£%²œ!‰Y3†ñÙÆý|øÑnZi9…œS˜BŠI“ƒ©gd³lÓnÞx/ˆ6ÎÁ¨ü\2÷Õ Ñ*TP^í{ÿ“& e˶|ðán|ªž”ŒlΛŠÓ¨à豿ÖDzN!J%I§ðvÄݹý€^A¥»½‚ª(χ#Ëú5=ž‹(«Å™[À´æ¬Y½Šõa-öä4ÆŒMaó.^ŒúÈ×øõ·yÕéULF-ùcGÚº“Õ+W±B±—ã$ÙÛ†N¯bÐE¶sgÜ:½ŠIUÐ(t´}íçÐcqfÌfÃ>>Y\Œ-¶$'Ó¦å3Ô®‰²>[S‚ƒ s .k)Vq ‰×q -\‡“’² ˜Ö¶³«þñÎôõד?ŒÉm»ØðÙj>õ‡Ñ™íŽÉ´ †p;Û–­ãSmWÏLÁÚ¹ßÎú†z=ßãï‹Çé¨nÓUhÆz¨|DÛt>¦Þï=ÿVÐjõU¯¶ÕéUŒáîvììžmk¶Æ3ÜYÊòÕki;C­Ýõð{‹C÷±ð΢ ºÇ‚N¯!53=»X³z+|a´&CІ3=À¦Eà8éãøíu|ö>>"©˜Ű:J¿© Ýc-‚¶ÇXÓyºûmŠ!¢þnB˜L‘íuAJ”>Šz¼©QPu&2â\¬_¶Š¦°‘Œ!C™72‘„p3;£Œ %â|ÕÙçÑÆ„A§  öÚ_”1a÷¼uމek?£eì,(PÙÕc,Gëã¡}´oÏmkµJ¿ççn‰Ìœ:„ë÷òæ~tñÉfXhiÖ`2¨˜´Œ—ž#*ªJŒû ðrŸÄ'ñI|ß—1¾˜—LBq™ãÌ´·¶÷[&Ö¤ÃK"®ú~Ëhµ:”9sæD\I5$­ûu…Ú½̆¾^²dÉ)Ý!Ÿ|ò £F"!!!b対(ŠBcc#Û¶mcöìÙ2¢…§­††‡ÔWHû}A•”” þ}]{;N§SO!„âwå•WžÒñ½ºð÷–ñ51%ìËr¾€¦#éåïÀn³ XÆíí‹¿cYÎåÅüŤÄ'ñI|_ÞøÍ¥¼¹¼†Ü™ã™¯‘ö‹¹\€ê­ø >“KÎLÇ®Èø“ø$>‰Oâ“ø¾¸ñ¬|â¡|ç „ÇNÏëî&›%ò•ßN§‹i[ñ‰6šê[µÿÃfŒÁ$Ö×4öù\I‡_Äjµâ÷û þóûýX,***dT !„B!„Bˆ/ ·»ã‹¦gº4†BÑ‹·n ß\ËšJþPˆöú*6–øIȰcU¤}„B!„ÇFï¤C æ¤C`ÐI‡@ä­–{ª©«%%)9â1g‚êÆî$¦$œ¶‡ ƒzM0$ }!ëëßý,ç_ôO®|ó#n®?ý?èoûgÏÿW¿½˜;Gäì#ÄqlÙÍ¢çÿ—_þúï|\6„ï/YɯÏ`Þ·²óßsçƒcÑž&”¤Q\|Ç/ùí’íPm[ÇÏÏšÉC[Šx`É'<6#>òùöÏùÕ¼Yü`ý(~µz1÷¤,溉 x©¼»ˆ5{×ýäiž¼u<ñê±®ŸŠ%¿åžþ†×ÖUΘÉ×ùÝ0žxÍÖ¹óוxX_WObRb×I‡û‹‹’› ‘t{ðZBáÀ²áƒÁÁ- ÜÒaýÿ˜ÇœßLã?Ë~Δ£ú>êXnK!Ž÷ÞÿòÇWë™y×ýhŸ~-¦×4­ú×~÷}&=þû.-$¸ñY¾{Ó7¹#÷^»)]Ó¾Ïùë£ÿáÆ×ocXW²žŸâ7å·+Z¡gb¿¡[?\É_ÏMÄS·Ÿ oý߸ÿüfìÇ<<9îÖÏÏÁW¿ÅÙ__ÉäGÿ­ÿÍ¥eù¹û® ¸²éÞøþX¬GXgï¾rë¹ßæ“¢{øÝê™[`¡e÷"þrÿ\0k5Ï~ô®Ë8©Z7ô,Ùó£-hNÒhƒØ¦?Àë8‡‰>v¾ôC®»í”Ô%<Þ;ô(ÆÔ |× s³B%×Csk#MÍõ´´5ã÷ûiikÆíqá÷ûÑëõ4µ6â÷yÉÏ-"'sV‹ EQHLHÆëó Óè¸`Îeý|f ríÅ· *®@À×ïÅçóâóûðû}x¼nÚÝ.šj©ðzX¿y®ö6@¡ÍÝJ|\¹Eäeb6[ˆ³Ø0›,ÄÛÒÑBˆ®¿¤Càˆ’F b"ç IDAT@]s½4²B|Yç{6—ÏÏ–†ˆj {Äh²GHS!„B!N¼Î¤C`ÐI‡@ŸI‡Ð#ñ°gÒaOI‡Gü‰O:ܺmŸ­[?`¹ÉÏ`ÔÈ‘}>?Ø¿¨« !Äñ`ðÞX Ô¼Ç Ï¾ÓtÕ\²™ÆÔ‹¸éªéäÙ³¯ã+£žå7% xé+ñ0‘ñ7Ÿ oþŠ_/¾˜?^˜Š „ëWð»ÇWúµ¯áød_”ש“ ˜~ɵÌyj)ûëÝ@ܱ«_ëFž}ô]ìw¿ÅŸnŸ„àšGx>°—Ù?yœ¯þ?.Ï`ðu–òß=ÀÛÉ÷òÞ™fïX0þŒ«xäß)æ.à‡?¹„Y/\Nò)<>â'ÜÁãzÌÉ7ÜÇ·ŸŸÇÂÅ{ùñŒ‰íuÔcJ!Ä©Æï÷±¿tUµجvZ]Í4·4âñ¹1êMØâ°YmÄÛ˜MLF3VKz]GB}EõAÊ«J™4vÆaÛöù½lðÚïþ}>ï cÖjuhµºŽ•ûÐÔÒÀ¼³.E«Ñ qµ·ÒÒÖŒÏ率©ŽêÚJÚ\-´ºZ0ŒÄYl$Ø“°ÅÙ‰·u¬ØØYG!„8|~?úAÜFE!„B!„BñÅ¥ ë(þ¾ß®›JŽ,<}~j5rĬ 7}Þç?ƒÁÀÈý×9 ú_t,½k$7-¢tÓ#Lµ)(q3ùÝ6/ÞŠE<~ifEA1窧–RíB-lû¿»9{ˆ EQPâÆpóßvâêg[ýñíø玘̂Ù¨Š‚¢MeÊÍϰº®äJÏ^Þ> ½‚¢(hR&óõ¿o£5ÜÎÆ'¦’9õ 6¶wQöêµ ŸôcÖ´îbÞyäŠÌ ŠbeØô3Yp6¿Ûæ=Ç4®:?­¢ yË›ÀWµŒßÞ8åÐþLœÿC^ÞÙFˆŽ[…ÎÌ™ÎS›Ý]áU½u5ù#¾ÃÇ ÏŸ;æ<îøîŒ±)(ŠJ☯òûut¦‚†ÚvóÚ. ÀÔQŸÄóɦ9ñqjQIŸ~S]/pßOÿÉÆšv,|œÿٕϵ§ï¯úlg|“Ÿ]«òú#g“ ÀÍÖÆÔ¯òó›ÇD,xØ%䥥r+oþî¼Í®ŸxLkã-]Ã’ú!\{ɨ±ëÈ9óZ&†7ðþކ#ªs°l%ÿZægÖwn`’=òžÄŠc:_¿s:žÿÅêŠCgÀÖÏyê‚䎹ÄTÀ¼^agkÇsþÝÏ2·p6ØÑñ …>ç$ аž¿~kÙ†Žó¨cîOYYß}NÚR;øs7p° l)VŽÕMŸƒûþÎüñgsÛ g’¬(hS&qóÓÿ奟Î#UQPâò¹àáÅTš š‹úžk¢ÏÍØO o?|£âECò„›ùËæÂô7×f^îl¿¾çÞκ !ĉæñº©¬.cûžÏyæù'xä7?à·{”­»7ÒÒÚ„ÉdfXþ(Î=sW]t# νšÙSÏeü¨)æ '#5G|RDBžÑ`¢¹¥1êþô:º’lüãó¡;ð£Õtü®O£Ñ`‹‹'3-‡!ÙC™8f:gN9‡ ç^Î5 nâ¹W0ºè ì¶x›ëÙ²s#ï-yÿ~ø‹–¿Í¶Ý›dð!ŽÚñJ:ô´·Iã !„B!„BqŠ9I‡ÐcÅÃm{¶Ÿ6©( W]q9ËW®:ìù©S&ó•k®FQ”þ;嘭x˜Àìßncï„^·`toá7ÜÄ?rƲ²ËI?øߺî›Ü_°„g _ãŽ{Þ ë‘T\3Mé*Þú¬‚F_QômÅÀ×ÔHîß§úíl|»^çç·|«¾ieéÂ9ìfAëßä…;^åŒt?[žÿ×Üû †Ž_Ä ¾Bþ3/ðæ¶ï0~’‚Yñ¯MØ/þ£âêXr÷%Üòñt~µ¼Œù9~v¿ý(7<°£;ކJtwý‡ÒØñéA²ƒ[ùÓõWó„r;Ûú6SŒ{ù÷®ç¶+¼$,ý5³b¨›»jeIÿÃ3Ÿ=ÃhG%/÷RüáKœóî·)ÒVòÎ÷/âÖ•³øÕÒR.ª¥|Ñ/¹ö®uræâ£Ë½‚'Ÿø€9×^Ï„§ìÌzì}¾1ÖÚÿ 5)̽÷!æÌy€ÇÞ¸–g­åñg*9ûÉ»˜™øïȲÞ=?›àî×xø–ÛXP«géŸ/Ž\ѽ…?~%úœô×y.^¸ù ~þÏ~þ*ÓëXµ¢’L“ƒœ(s’wûïï ¢µÚÙöÒ“¼âžÅ¯æå³ÄCOõnj®ú‹Ë^†îbþí·QñÀs|\ý/4Ÿ<Àüïü˜ç/™ÆýEûœ‹ú›k¢ÍÍîÍOñjXÅ>áV}âŒ°à…¯_ÎC÷½ÂÜ·n!kÏ }Îõ}ìóò}cÛYò£~æ^wÇ<{çGUr’B7~¿{·R^UŒ¢¨¸=íè´zâ¬v’)èõ~rד~ˆÑ`"ŽüÜUÛRNeC1¿‹ƒÕ»#ž[ºõuv\G(ÂëogÛžÝÜÊ]Ï¿¿î>ÝýaǶõTEÅbŒÃ 3£ªt=ñÖ$4ª‹Ñ†ÕÙ‡Ao"Á’Lœ)ªÜû­ŽäD'ɉN†dínÀŸêÚ >ݸœ‘CÇÉ Bœ’ŒfëiUŸöª½¼÷yži²™71»*ý-„B!„B!Nmû7¬eÈ„I}>_ߨJbBÜ ·gµÒÚ6ðµƒÙèöÛ1<¶•jkq$G¿Éã¨ñcŽ{Ãö•|kÒ!ÐÏ †Ñ…B!ÂápÌå[6-ä…òÉüü…›™˜¡BÆWøÎÙà;¯~NÓ#I$½T—Pïͨ‘çsëÈ£lC2E£ HŽ3ÁÄyäÉU,¾é–…›z—µä³àÖü®?g]w³Ÿþ>;k\ÏšÇõ#~Í3¯máû“¦a.þ„·%rÅCñT|ÀŸÞôqùŸ~Î×ÎHFÆL("Qßxˆ)3¦&=ÅDú‚BšWÞdz›ó¸ûÃpÁPÌm=Ê¢é÷ò§¥÷2³(†º™²8ó²K˜UdR¹ðšñ<ö“T»`hë'<û^€|”›'§¡æáCˆ×Kâ¡§– ÕüËîü”)O-áã[Æà^ö{î¾ãR.ámÞz`"¶~^­Ë½”ï~ŽyÿŒ_.ÚÈša÷òþ…™hwõ>rë‡+ù빉ø]õ”lx‹_ß}çÞØÎ’…7SpŒîr¨Ñ™Ð†ØRÆÞv …É–#ª³)y(™j9ëwÕ˜×k"÷S½}=•Ú, “MÐrø¹ßž5’^¡¤ÑæØæ¤Æê]4è²ÈŠ-)P›sUŒ­ƵíYn»é9´ß~•ß__ˆñxŽ1½†ŽDU‹A£Ð Ñ\Ôs®‰ŠÖ E  ‡;Ú)ö¹¾ïyÙSßÿÜÛY7!„8Z•ÕeÔÔWQY]†Ïï%!>‰`0Àå~¢üQý¾6ÞæÀëõD4&dcó¬`g›ù© ÁæRvÕkp¦ÛÑ+*j8€7pdo\ôq)؃5ì,o!<ÞŒ"ç!NMžFÊCX­t§·©˜S0…K_90ÚYÖ>•/ÚÏm3)ÎØo¦jth4tšcw†ÐfMå✇ùû[«Ãv¬¿äãÀ’—ØlœÁÃãÁ³yÐuÖdÎà+³t|ëéX{ñCL³wÇnXÍß~¿Ãì¿1=]’x¦¥|5;Î8={ž+ûž“–.Ãк‘ÕÎO68¿Al‰øí»_à› ~È–³ÿÀ?=‹$ÍÉ~ÎE±½{äܬÁÞï\Û¼¬`îí¬›B VSKÕu•(ÙƒÇï!Á–ˆ39©gœI¼­ãóciù~V–ô»¯ßM“»µI!+=·cF ‡øÅ›Ñ&´£7«èLôI*¶l ¶Öû­uŒøÛb´tw|VhD&ê´‚Áp9ÿØ·“·-HbfJ×ß ŸOCÆô¬‡‡€ßM±«œ]åA|{Cø\Aìj¿¸á?ÝsnS©)2ø„ÇUï¤C‹Ñ€Ësøµ¯Á&*-á`ônF£ÇóŠ‚'¤œÏM£Ç»z‹´ÓÔàLcbQ )zå„Åg2Ä’ :áåB!PU‰Oâ“ø$>‰Oâ“ø$>‰Oâ“ø$¾ÊÉÊñBq2¹}!̃(ßÔÒJ¼­ïUCaU9ü ï°?„¢ëž6 F“£c‡Î¤ÃÓ•¢(Lž4qP+fddPSSƒªª8ûüçp8PU•ºº:ÒÓÓûØ¢KR2jÍF6×P¼j {Ү䪄ÅÜ{÷oY²»–6WÅk^ãå¥eÔí|™¿¼¸’ý mø5vÒ2ì(®ÚýÑ·õYe £¾FönÝIyc#eŸýîy uÞ·8;[‹FgBï¯gß¾¬YúÅÕÔ…),*ÀihfÛ¢·ØPÓ}ñX͘Áõ³‚¼ûÈ£<]6„¯œ“ÐæœÃ7Ï óÊ÷îã/+‹©«+aËúíÔùú+~ÂõÜ2b?Oýà)>ØSGcÙ§<÷£±8á*nŸŽ11Ÿ<í~Þ~k ›(Yÿ¯¾³“æóµÙs¹unˆ7îÿ)ÿXWNK[û¶l§Ö#' !N)ñ£¹üâÖ=üþ÷£=Ô»Z©üü%~qïBügÝÀä˜į̂`ˆO#3ÕŽ>†S~ØßFåæ×xìžßR>ê:æäè]} E\ûàÕÿxßúÝvW”°ná¹ùMœñƒ{83éë¬ÍáÒÇ傚_qÕu?ãõÏËiv5Q¶ñU¼öžn¹”']@fgb…·Ž[öQÛÖBÅúxð‡¯œs ss"×JL˜ðÕ>ç$Ëø¯ñÕ¼m<úÝŸñò†rZ÷°øí¥tGŸ“üϛdz!wÌ¿‹53Ï{ü*ùÆ“<ü˜‹N‡·ÃºÚþ³e[ûë#y›ûž—š{;ë&„±¨¬.cÝæU¼»äU>Û´‚@ÀÏÌÉs¹ô¼k™=õ\ŠòGu%$'¦ÒÜÒù¡ÕUÃ'[^å‹ãñÿ|ýßż¼é1Öîø¤Çg4•ÌÄ|ÙF2ŒX:ôæØ²uZ…`Ä£ÞB Ðñ!Xíµ¢¡ÙG(>®mækâ°u¯RØÒÞ€6Ê­NÁ¯#!ȳÀLêP ‰¶´ˆ2ÍõØ­ñ2…'TgÒ¡Çë;ªíô•tàñœza‚^7M~[r:³¦OäÒ)¹¤¸*X±µŽY´C!„B!„B|T»Âô¼ñ†Fkï³lqIq¿I‡•5ÕQ“ˆ¤C€†Õåγ})**âàÁƒ”––²gÏvïÞÝç¿={öPZZJii)Æ ës›)3¾Çw&ïäî±Nò.ø9™Ê½/ý›ƒÏsÝÈ⬠äÍû_>ókÑêXòعä'ÆaMÁ­ïå?ÿ”™ŽèÛÚ°û]®ËTP”^ÿ,Óyjó¡zËxûþ3Ét8Èšý8•—=Ç;¿]@†ÔŒY|}žÊ_Œãìû—âÿm¿%\”E|âܽ&IyVü«…(©LùêÙè>û€Æ×37÷ÐZ]š .yúMž>·Œ__œOròp®ýÍjúͽ0áŽ.äÇkÜ8"GÖ~Õp {í眕¨€ó,|ü+ð§óÉŽOdØå²Ü›G²ÑC –Pèr¸âéÿðÄÔ­üdz&ö¸Î~¦ G‚QºÇ—íOÏ"NQPœòâŽÍüïlŠ¢cÌý«hðïâÏsìØçü™]~@I`æCo°ðŽxÞ½}×à­TÚÚÛºþŽ3Åô…} ¿¿;qF«Ñî'yDQŽþ †ßÂaï^ñ°ÙU‡&†_@x]Òy‡õ‡-N…ÇOVVVÔljvŒý—ª-4qNΟ;޹ùv¬Z½%‘ÑÃÑ5×Qî’ÌC!„B!„BqêË? µÇ¥¬` ïoÎssr{̬ë¾&˜–âôþ•9sæ„OFÅ—,YrÊwNEEÛ·o§²²’p¸ïfR…ôôtFŒAZZÚ)Yߎ?pî…ÿäâÿ.æž1¦c³Ñêw¹aúíx¹œ…Wfõ™ÅêZÿ(g]ö7¾ÿßa£^ˆ/¸††‡Ô÷4àßýλè_\õÖGÜ^¤—ö;ô7÷–”” z{ííí8NiX!N>¿—Šê2ö—­™¤„†d’”˜‚^×ÿûõv_+¥5»Øqpû«¶QѲƒ²}µüö»ïšœÙqž©ÙÉSÜBæ¨È[y®½š=¸­¶ãGK‹6ý›EŸÁ‘9¸m_ÒÈc׿FzJGò̦ýËùצ‘œgb㛵üýþU ŸyÞ]û–×Öü»’מØÒµ­—ü’}š0Û´GÜžÛ×óÄÿíªÿæ+yqãý$çõÿ¹«¾ÔÃ%Cïgúð ;ÎÝí­|¼úæŸ}¥ R!Ä»òÊÈsˆ/Få i IT6ÖE<«(ÊñM¸{uáïþœÔÄt‹âcYÎР( º+X¼¶Ž¤qELHМøì6Û€eÜÞØnuv,˹ܡ˜oÅ&ñI|ŸÄ'ñI|ŸÄ'ñI|ß—7¾ƒ5ƒÿa±|ç „ÇNçõÀššRRºI°YãhikíóuªF!<ú”Á#úv¥Íå%ˆÕÜñåMBJ*5U§]礧§÷sëdѰý>×Ïâ‘™ý,¤n÷ZʃI¤ÚôÒhBq ñ4•Ó0gÐJcœVdîBDWVYƒ{©­¯"#5›‘CÇ‘”‚FÓ÷ªápˆÕÛØR¼š½•[¨qíïkÁ¯ÅäÔâÌUña¦¬º¸+ñ.#1‰€7b[&›–êú 2œ9]å¼;Ÿà¢5@»;rÅÃÀ¡U­‚×çíJ<4ê̈́Ƿ]½®VswÒHc[ M,+IKÈéú»¹µ™Äød¨Bˆcʬ j +”p÷y¹wÒ!pÜ“O5íU{y'œ1µ€´C‰|n7nE‡Ý 7‰B!„ÿÏÞ}ÇWUßs÷¹Ù‹@ "œ¸­{Vk[µjmµuÔQ­ýUmµu´Ž¶Ø:ZGU( *{† dïä&77wÿþ$ÄlK?ÏÇÍ=çÜs>ç{Nîɹ÷}¿_!„Bˆ£Ç¾¡C ÇÐ!0 ¡CØ<ôÄ¥S]SÔç'Y-:@×öø»:½ˆU°â• Mÿ?¦$íû¡Z€’%¯ñIps''Ò¸êEn¿ãc,ó2=Y‘vBˆ#D¸üCøñÓÔLüÓRäCµ£›\{…Ý«©«bgQ>U¥XÌ6†eå2í˜ã{ úƒM”­ç›üOÈ/[K“Z†Í£Ç”¬%ΠæŽ÷‡kò¾dâ¨ãZo25:’lƒiòmÄ`iߎٮ£¬ª¨-x˜âDÐ×ÿT F£¡¾±¦}½+á`kXFÕB(ܬ±DÃí7ÏŠ:ð×¼P ŠÉhi¿?nªBkì};_„”¸ÁmëjpØe˜e!ÄÿÝiMÔí:­LN)êN6Ô`ʊèac^=š„,RLòw´B!„B!„øn˜8)‡o¾ÞÒí|ªŠöÿKÉF³µ5xØUè0F…ýïɨÓÑ uš¾³pY]Œ-Ž.‘ð‡EQf¿<‰„ïÅj y=/^w5—Ñ&ŽåÌ›òÁ­óHÖH» !Äó:’xöŸx÷† 1H{ÝäÚ+„èÈ×ÜDqy!ù;· ÓêHOÉbÎqóÚzìJCs5[‹¾auÁ k72Ôaqë°ŽÐàÐZ{Üž+EÏ–OWu˜–îÊšÆuƒ‡N »Ë ÚŠ‹·1¨ï×þéÍ MÍÞ¶ÇV“‹h¨õ†X«Ó Ûæi5:bÄj{NÓ!ÈYÛXŽNßsð0Ž’dÉÆ k?&ÕuUd.'°â;'Î塦‹7Åè`¸tÖn)añ;‰j$¥e03Ûä…B!„B!ÄwÅÞСb€®¾ŸÜ×С·Þ‹ÝÙ>TKsS÷É ]† &úœY²óÆ[Ÿfðå|Xrys´¤žú(‹‹•FBˆ#˜!s>·Ý)íðÝ ×^!D«â²Ö°aie1C`æä±ÛºïA¯¬n› —³±p%ÅÞM(æ,îd-ßîÕ°7MùÔÖWãvzž6/W¾Š#©}Èw«ÇÀ®â¼ÏóXÓðúj:{½Ñ«ø¾öõíDÂ{çA èo›g6Ø8˜¹Ã`s=©Ã´†æ´ =¾(iqÙ¦5ùÛÚO!J(¬¢ÓöüÆ¡ªSÛÜ]‰¨†ýÿ¶Ò‘:l¥ ·{˜|¬‡qa Š:MDN!„B!„BqÔsM4´ø;L;ÐAQö îÕeº0))‰òòþŸUb¨1ùJ°B!„B -?E¥»(Ø•‡^o`pÆPfO›Ûíò¾@› WòúÒ?á‹U`KÐc‹×‘¡Lû]‡-IOQÅŽ¶à\Fü0Zš:£lviÙñͦŽ÷ž® ªýkú<4™544Ö¶=V—) h li›§×ÚB‰ƒ¿1Hª3¹c·xÑ›zýR× ÷þz‰ªÄúòΦ IDATÈåÂEáoÀçö¡Ý¢ôå‹ç¹\ EQ9äÛ•ú¤>©Oê“ú¤>©Oê“ú¤>©ï»UŸBˆÃãۡÃ¥ËàaC‡³ƒ@sƒ„…B!„âð6Ö³}×VʪJHô$3嘙8íî.— GBl/[DzÍï’_¹Š¡G¶Í>`õØ<:¶¬aìðÉ@ë0ÊÉ–á„%è í!¼ÿnš|^¬–Öm§ÇcÕÖ6®ÏÛÒYT:L³è\@3ŠF!¼OÒР3 ¼w@Þqž„¶Ç±X”ú–2z{^S„ôœ¡m›Ðjõrb !\0D¿¯/{C‡½¾î j4"‘Þ{ TúðÖ¡¢úåö.s8êSÕ¾¬K9äË)êáÙ®Ô'õI}RŸÔ'õI}RŸÔ'õI}ß­ú„B|·u;žrDM?Ÿ 47HK !„B!ÄA¶~ó*ŠË ‰Æ¢ ÎƉÇÍà7v¹lqÍv¾Ê[ÄšKhÒ”`KÐã©£¿Ã(÷…#ÑÀ–uk;LËð g‡ow‡à¡Ù¡¥ª®¼-x˜ìÊ$àë_—„z‹Jõ®²Ó,&;Íþ"4•úÆš¶é‰X÷µU{@ûðGqÙãÛûƒ>ü‘z çPgÐ!É•Ùö¸Þ[KB\’œàBˆ§?¡æPc­c/ˆ} B߇2>ÔËÅbôk¨å\ÎdèË'uÑC¾\4ÚŠ”ú¤>©Oê“ú¤>©Oê“ú¤>©Oêëy¹¾Ý !„8´ú;RÉþêöSÍw Q^RNRª|"„B!„ý‰„Y¹ús>]¾ˆ”ÄtFdfê1³º\ÖlbÍŽÏøtÝ›”ù·àH4`ÎÖb3Xjz³Ê†ò/iö7a6Yš:ŽÍÛ>ÀânïÍÐìÒR\¾“¬´a¤Ä &èïßͧި¥!ÐØašÍäÂŒ¢3(„áöeµ¢‘îǹԨˆíÿ~›"¸íýÖ6V Ñ÷Þ½•YÃco¢¹¦®Š8W‚œìBˆƒ. ¡(=÷2—žJMQI·ó÷ *Š«1B£¿sˆÜãrR]W/.„B!„B!Ä!v(B‡ÐCððÀ×…p{^B‡B!„BÑwÁP€ÕëW°ôëOÈ6–«.¸™äÄ´.—­ò–°tÓ;,Ï{‡ˆ¥gŠž «íÖkvê)«*fHƲsh^&.cße´–og§­=&Y²‰„ËÑhû>6KyíÎŽÛ6؈Fb¨•è>]ÚÍn¢‘öÇÊ@£@ ‡ÕÕö¸ÞWÞ¤éñ9!”ë ¥}¼ud!'½â S#Ûón Ý‘„·¡¼Ã|ƒjì1tøm±X€F×ó$t(„B!„B!Äw[¿ƒ‡Û·ç“=´÷ê´®B!„BôS$fÝ–U”Va³:ÈÎÊåÔãÏFU;ßc”oà“µÿ¢ zš¸f#tè æÃR·=AOþîMmÁÃ$W&6M"àk[Ææ1P¸9¿Ãó’\ƒ(ó•bvôýÒ¨" £Õ´ÞÒZvÂu14zµC‡Š¢‹¶Ç Uu`£‡‹©=àékñ¢jzÞ€/L–;«Ã´æ.GœœüBˆ•””Dyyk°pHF»‹‰iÛ{;,«.Á¢ë–D[z]o°9„ÞÜs¯‰:½B(رKÙšêÚ#®ba?;ów³¾¤_DƒÅǘÜT²¬š«÷&Tr?+ß[Iò™¯1$¡ãµ<\öK?úªm^,°Ò•°3ÿk|Í~CެËI?æRLáŠÇùê?àíjÄ3ÝD²ÏZÈ åO].£2p ¿•¬ñga5ôÞ ÞªÍ\²´ŠÇMãŽxÝ~￯vW,«fþÌc9ߨy»Aï.®ù¢„YÓ§p©ZÄuŸ3cò±Ü vYÓ¥K«˜~€5 !„B!„B­tZ-¡pçQJ†f!{AÏuºœÔ÷ò¥bMPCDé>xjô¡³uŽËí‘ោB!„b Cò 6±«¸€´¤ N˜~*f£…Ï–/¢¬²„Ô¤ô¶e·•®áíÏSØ´Wª¸‘:ÀpXë·%èÈ+\ÇÜã­¡¿t÷*½_a²·[ôf•mUˆD"h4­Ó’]™ì®[ ޾oK«ÓÐÒÒŒÕbÀjr©Š¢ÑBKÀ×qᨆH¸5üv ÁÄ¢ Lj„bmÝ!*mÿW@iÜå}³?ÜV@E]!ZcÏ!@s”Ì¡ÃÛ7·øPUü!ÜÞÐ!@ÁîâNó¿:ì+½YÇ ä$v••wÿúì<Ž}œÇ}d5P,HÑ–|¾©·1nâ1¤‚”ä³f£ç¤dÜGêKs´˜òÏ®#¯ñ Fžý§hãJŠ>¿•Í‹ª1s6]ƒÏy“aIÖN«ð¢PßÅ2ÑFšw?ËÆ~IžšÉØÉz-§í:y“šzû ^ž7¨õo&ï‘Q“B!„B!Ä‘ª«Ð!Ðcè°¸´Œ´”änC‡-áÆ=_lŽè[¿ÍÚmðPg³àõz±Ûí¦»ŽýÞ©`0ˆ^¯—£+„B!„ß´°~ËjΟZ­®5ø œKAá¶ÁÃ⪊ýkHm=bê·ÇëÙ¾¾c¨pHòhŠÊ¾l 4Çêhh¬Ãíô2–ÏK^º¿WŒÅ µ£SblÛµ«ÙÊÖ‚”Tï`çf/ªª°)iNëGø[š!£vWˆªÄ€Æê ¯ýï%4{zJÜœŸÇºÕ¨ZEQP”ŠFA£QQ´1tZ Š ªVAÕ©è Z£ƒYƒF6Mº}zkò{Ñé{ëñ0BÊ>=zpÚÝò „8ªô:\HŒF½‰5kWQÞâÅìÐb°k0Û4Xã h´ ªFAQ[‡ZN‰kµÔÖUávÊ0ËBˆï®–æFó‘7ÜmÀç¥Ic%×®;º:ÆÓ%`µøÙ¹úiJ,7˜”†VÕ}%ã.»“A%\q ˆ‹¶¿Ü´c ÷>·Ž²NXê¹àBîm%Ýb!Ó â­Îçü gL™Í+.…»7ñ“u›ÉvMä´ÈnÚPNƘcù8Ý‚Æ_ÃßV®æé n¦ÍH' ÔÄ'U~9yv„Y¼þ~³ª€1'ä2æÛ›ûø¬ÆÍ½3ç0M©á™•¹c‘—&&‘`°’a1“yý$„B!„Bñ]°oèz †B1tºþ¿õ&½¶+++cݺuLŸ>Ù³g÷º¼×ëeÙ²e(ŠBRR’4 B!„ß#ÇŒâýÏþÃèÚz<¬k¬d[õrÞüäo\»àL+ÓGœÁçå/àN31õÛõ–no ¦Ä F š;,cré(,ÛNVÚ0¼ux} 4쎲zW:L¤Çå–EZò Ü9 $ťᴻ‰w·ß­Ù´§ÝMVúÐßUÕ`Ô›0êMØ­Î>?ÏhfÒØã¨m¨¤ª®œ’Š]TÔ”P·…ʆ݄ÔfLv·>ƒÚºâ\ñèuªëªÈ4\N~!ÄwÖ‘:„(Á–0hõ4•ìdí®ZêÃ*vOrSH5ÁQDÝ(2O¸ÿǰáõ—Ø KÅž2 Ïà³ðdNÅ´7lÚÂŽ×rØñ­§kÓ~Ç„¹çÑÕQ‰Eêð>Çö‚:L£fbÖ‚uð,~÷ð¬Kºwš“*kø¢ Fˈ¬ñ,jëä7‹gNÎl¯ÏâæÄT+ÿ)Ò¥5x¨1sÚ衜d×bÒ™••Ä åõìD;UsGc¾Ó€B ?]ÅÒUE|ݜȡ–6«·3Ž{¯z ·=÷ž{c0ih¬;¢ŽÉ`Æd0çŠgè ‘æE"ê¼ÕÔ5TSQSƶ›©]SF£%¯`ÇŒž"'¿b@î,$3+“‚ídŒVéûu¢¡¡‡Ã5 õ47·`6¨6ŠEc„k)p¤ṟYØbMìÌ+`ùz sŽIÂu¨Géíó!RÑz.`Ô…g1¬öj ?¥j÷Š?{¶Œ>ëQt9 >çM†%Y;­ÁØ3"KáDÅ8‚„1O’1r,ýmO\&§[WñðÇò‡‡™i)œ™™Ä‹½|]RÍŠš¶{ÙZï£Ù™H[gŠ=é†ö­jT-z¢ø£±Îí£53ÊÒÞ[¥Íâ 1¶›í-°håE@!„B!„b™mVš›:M?(ï„ÃQ´ÚÎCYì †CáïMÃ1eÊB¡PŸŸc±X(--•³V!„Bˆï¡ÑÃÇóé—‹ÈL‚FÓúáû¼ÉW°bÃb>^þœ|%‹‡Q©3ØR÷?ì GF¯óÖx-[¾ù†EylÙ¾]Eäo-!1a(“³Ç“=j$™ÉÙm="î/ƒÎHK‹¿Ã´²º4 GB4µÔQÝXF,m› ·vÿ_×TÙñfYoC£ÑbЙÐ|kHfƒÎ„Ó’€É`Ŭ·a7¹±šœhÕþõÞ¥Ñhð¸ñ¸;„£Ñ«Ö/Ãb¶Ê‰/„P™Y™ ÉÒÅkuMU5Ý>w C‡@[è0é=ʉömxÜ[N­EocÄ $:Eq18+ž]ë(ó%cµ¨‡¤¾½!ÀHÄii µ÷›ÇôD#Ê>ót`™Š3w*ÎÜ»\ÿo6¿{/ë.Áœ# „CÑNë„bD‚1¢º2N¬3‘Æ¥/½‹²ð†ÍB%J ¤àÛõ½¸žŠ.†ZqÆùÜzŒ“P(D×L=žSëªù¼¬œOvläªmEÜ4m"jʸûËͬÑÇ1'9ŽS²38«.ßUÅ¢´cÄ€h(J@«QüÁ(ÑXŒP0Š_Ùçg5JŒ‘P¬mÿ‚Á(b]ìs ­¾ž ärÁptOïÕ‡v»RŸÔ'õI}RŸÔ'õI}RŸÔw¤Õ'„âàS5Ümt:„ƒ<ì*tØa¾îûó­ÓX,Ö§ž÷‰DˆFå"-„ø~‹x·ññ‹ÿÇoÿ7>-Ì-‹—ñû™ßþ,Héâ'¸íÎ?ðæ7¥ÄRãšžä¡ËÆãìêó¬òw¹hâé¼ZÒ>Éš1‹î~ŠG¯Sð½ æ«çøÕ¯žæÍÅ(!ëd~úع眡XzèÑ"PòÏ?p¿{ñ3vc'\u÷Þ}%3’ ­Ëlz’9§½ÊÙï|ÂmcLÖÚö§Ìû;ç¾ý7æè¨ãÜò4'{Ÿ7vœîžûOV¿w™]µM¸Žµ ïã¶_ÿ…Å;[0eÍàü̓7Ï!ÕpäÃþõ3gþ,x·ëã#„ݱۜ$%$³«x;C2[‡à’<š‰¹3ùtí[Ì?þ" úÖljã/dý{ŸBÂáùrW,‘PŒÚâ+ƒx+ƒ*[øxÙ{Œ<ŠsNý×^| :­~?ÖÅðRí-¡º±”Šú"ýu4øj¨¨.ã˜ô¹@{O½yª³¹­÷GQEÕ¨( (*¨ª‚F§¢˜»¸b‡¢Qˆ„¢Ä¢­û G £Äb­½b…1"‘ªJȈMçÁlpà´xpXâpX<$93qYâñØS±{¦¹²¦œxw¢œôBˆƒÊ`²ð·ÿáÝSèp_½_°¡Çeêp8}®E§‰1ËYmfÌj31%ŒFÕ¢( Q£(€NE§‰’úö=sǬþ“¿£Á±O| ùDôƒq9M¨¥7²|q3CÏ}žTÇ>ï±&L#Þe¥8Æ WP­NmÚ¸ƒ(ºËhÁp<Ãç>‰ö+زØÀÈoÆiRp?žß?||Ï÷>D÷ÙŽžì䲓S¸rT .^× ÍL‹±F›Æã³Gq¬¾u¿¾¨ áWôz£^AAA§W1è”ÖõéUT¥ušIÙçgUE ØŽ´ÖNŒÆšªT3¹v&ƒÒi»nÚrÑ(¨*‡|»RŸÔ'õI}RŸÔ'õI}RŸÔwèë;ÈI!„½¿"ÀKqÚÁlÝ’Uß¿10´Uõ5Ä;ãlgòò·2|è9ªûˆDúw„žÐa„/Íeö¦òïÏïçX›k!ÄÀño‹gިḟüíSov±Dˆ¢7n`Î5˘üà?ÙøÖ ¼_<í?9•sëñß[ÆÒeßA†¡\ýá2ž?)Ž–ê¬~ç1®ýùµüaì§Ü;y _È4h´ìÓîâ?OŸHn\­¯ÞÉE×]€’´˜‡§wHü«Oú!Ÿ¸'—¿Â Ù¼Û>æÙŸÿ˜Sg,繞墬ޓvºaײ8ÿÚ#÷µ>~&ZÙ×Pd€í¯\Ã9÷‡¸þÙõ¼:ÉAíׯð‹ëÀÅ|À{?‹E®‰Bˆïœì1|º|ƒÒ²Ûz=ØÁº/ÍNÃÏIMŒŽZ|»_¦`ývÌ#ïÆamÒ%$™¯cÛ§¿GzO2špÞí¤¸.…¤©#ÑñåþÕ`œDÖ ·QÿæClû:—qÇDß¿Be׎o¸&OÏMSs9Í®¡®®† !9#vŸ5ÐÈFo€±Î[ ·ðÛÂfZlB±ý(6êãý-;™íÂÈPO­¯Â”2ž‰‡áØ !„B!„B­4z‘ Ÿâ‚ýh2tt F•0jìèìápã¦M|õͪ^—›<ñFÙíüþöx(½ !X'ÜΗ•ïsÙsÿé¼@ãž{ð=·¾ÃŸoœÔ2¼à^ ogÖÝóáùÿäœÔž¾‘¥bôd3íÌ ™ýøvÔøO‹9'ÜÄÃö¹f\v?|q. ?ÙÎ/§OìŽŒìæ­_ÜÅ»ñ?ãý…¿bª£õCç1çñÀ¿Ÿp:wÞ}&3^>‡øïÓ Ñ¼…×ÿü i?û€Ÿž4Ò-<ñØ×ÌyàeV_ó83œò{#„øî°Ûœ$Å'“¿k #†ŒÚ{=|ç‹—™:î„¶^O!¾»è ÷öjXµÓO]I€ˆWÏèŒiœ2~ÃÎI‚;¥-  ‡(¯*é2xè6RX•GYÝN¶•¬¡ª¡„º@ £MƒªQ1»´’4$k ë@‹Ö¨PWTÕašÍè"ªjëñðPP5 «€«óð˱h•å”x—³¼"B¤ÚÆcWþ¯mþŽÂm$¸“ä„BTÞú*ìλ{¨««Ãåê}æHsÙpt4ŒÆÄ°Ñƒ‰å±üË"ZЗ”ÄqÃã°«‡¡%žø¯0Öö[ –œM¾×K :çD<þJÎØ‰èLÓvÆ_1¯ü=Ûßyžu~?hœ˜ç’2ç9'Û‰V¡-ìx-‡6ä&î¤÷ßÍáÔÄ]Bîô¬øô ’‡3nÔ úÖ*ƒ2GqgÓFžXò1¿ Æ0™]œ6r7ǰ¹r¸©rZò1ˆé”˜ÎEcRøGž—¢`Œìþ¶—ÞÎ\—ßôQã³FòøèxÜ’;B!„B!„è’ÅjÇ×äí0-ôÐ:úÛhGkè`dn.V‹…5k×uûÏ`0027·ÇõD"‘~ÿëv]cþø9\wÙLâmÂ$®|ê-^½g.IŠ‚b©÷~Bùž¬c°üsž¸üXRõ Šb"û”;ymkQZ‡è<.s¯o?‰Êß9Ÿ!¹?âÓÚÖù'9™›n^À»‚¢¨Ä¹„?~SG”:–üd$ÙW|Ìîµ0Å® Ø¦qÇ-“I›òkš÷®1Jñ’3é—¬ðÊ/±bàv¯`qÍ`.á=™3/dbl5l©íyÑÞ²¼ýäox—Ù\8>îÐ¨ì VºŠ‡DŠ—ñÏCÌøÑeLrtüÄDqOãšO£åÓ°¼tOH½qŸ¢((¦læÞõ:[[ç…¶=Ç Cgñô–`k›•~ÌÃgÀ¬((æÎ{| ¡ÖÕ„kWñü 3È0((Š‚û„{XVSÛÅkýq<¹¡ŠMÿ¼•9ƒM­ÛµáÊ¿nÅw0Û-ÀŒ¢Ñªûüñ¢’8j6)¾5l­ ôkfÿ®‰ÇñtAZ y÷Þ³eSP ñ®äÙõ^bQoßÛ±e; oœ¶§6MÂd®ùÛ&÷ö âßÅÿ8“fE±2|ÚLFfÏáÉM¶}B}r²ÇP°+X¬½ 3¦]E±w+_oü¢mZf†ÇMÃ_?pÃ-Çbl‰R¼ÑǦk(^l$W{&wœùùù"î¸ú1fMšKr|z‡Ð!€ËG]}Çž¿Ú¶ˆßüû nÿçɼ°â>)þÕ¶¯1 /'e¼–ô16â³ÌÄe1Ù´¨šžSZ½JmcÇà¡Ù`#8²†vQT³C‹#É€3ÅHŠ{p‡ùÁpáCFÊÉ.„8¨4tô)tX[S{ô„÷ÞQläŒÉåôÙÇrþ ˜;:‘xýaL®iÓ‰ŸøG¦\¾‰Sn.bîÍ;˜sé¿–;ý>ï⪖cÉ8á_̸fso.bà1R“Z‡ON¼i7µÎëôo£²’Z—¹öC†%}ûëp̹ÏrìU+Țѿ75fN3™wÏ< çÍã«yÓ¸w°»ŠÎÆã¦ñù‚yl8÷dÞ™‘Ã%CÇóÞüIÌ·(XÜÃxíôi\îhÿ»ÂäÊæÕù­ÓôöA¼­ËùSŽÌÅœ¢ôü†d8î÷¿ž´Tl£rÄí|R\ÎêG†ðÉí×ñ7íø´¢š¼æPðô/yqC3ø7òçKÏ瑲y<¿±’šÂÅÜÿ×-¸›ÅÕ};þò-{ÎãO_•QW±ŠGr–ò௲-àbÖ›Øþâ‰dŒ»‡Þ±Æ/¹ÿš0¤äuÞÞÔÔº‚HKÿ±Çç0Ê.¿ðBˆã¯ÛMƒ.…ìøŽ?©¶$†Xƒ”Ô4ÓåhM|^89EcÄ‘2š3ïû†„gˆåP|¸Ô̦Wåuÿ ®›;¤Ëà¡¿2¢H †{èü™‰Ž„œ $‡w³­jÏõÙ˜ÁÙ/£¤¶–ÝŸÝEêÛ×qú-ïRúíÜ…Ï\|/9oçóâZJß@à×óó÷J‰òyùÊü¦tÏ­« ¡rÿ¼ùxÒLî.^ë—r½æ_ÜtÛIùÅRJ½^*V<ÆqJ)uÁ~6GÍçÜ”kh ÝéS˜|É#,Úíïú¸Ù†sêi‰lxô^ž]VH½¯ò¼/øçŸ²±¶oKø _3ûwM\ÊC´SqL¸šgW•SW¶Œ{Rñë;^§ ­/÷½# Öc®çå5¥ÔÕòÙ]I¼÷³kyf]3ĪYü‹3¹ê~ùE1µUyùºá„}{þÛ³oBˆ£ÝæÄíô°c÷¶¶iÃRÇ1qätÞþü%BáöÐõÉ.¢¶´å€¶‹A‹7BñFkß­¢|‰iq—qßòÄíorí¹·“›=³ÉÚõ=`ÈÏÖÒoøló¿YôÍÂIЇϼ“¬‰’†[p¥1Ú5½ {Rå-êðØjtÚ¯±@S˜d× Ž·•!ãc IDAT( w¢œìBˆ#Š&¶¯¥î87 þŽ×£–¿4ªB!„B!„/è󲙃wš¶µ`[·ËÛl½ÙkðÐd0õ8ßì´´ýݧwCƒ¾5Q ´v}§Ó«Gåê.|Ø×Ð!ì_‡±žÞä5¥3cþ‰ŒIMdÌÉç1>5‰ñ'Í '!ŽaÇŸÃ4G5›Ë›hXý2Ï­ÏâÖÇnçÔañ¸3¦rÝCrBÃüyI)}zÙ”Î̳Ïdƈ$œ ã9í‚ñ˶PÑM·VÆ¡s¹4·šÿ¾¹/Þõ¯lŠcÁ9Xå÷]1€4:Úh oçÍbQÂ1½NC—¯Ð†¡\ýa%±X„`S%ùŸÿ—ÝÄI—¿ÄöÀÁ¬8BÕÇ÷réÝ›˜qïo8{n`V«s18w).éÇ^ŃžItÑó|^Ü1`î]»—K&sÿýW21ÕEÊ”‹ùÑœËÞXÇ®uçOk³¹ûñÛ8eDöø\æž=‡Ls7moño P¶«š „‘§põ•'Ö>cî©üvI%X” ¯–Ý+ŸbnÍ“\xÖ},«ëê ådÚ/_ãÅ+ü¤M¤a7y5Sè5&p@Î)‹Òž’Ð’9ë2&ûñ¯/WòÑÂB2.:…¡Fù%B ,múÎȬäíwZ{XmdçâWYoœÎ©9Î>¯KÕèÐh4è4§×¡æm/sýéw²aΓ,¼çx<=dä4iÓ¹x†Ž¥O½Ì× #h±ÚåüõË1̺˜i)]]'bxK¶PvhëØmžÞ–ˆ{èEü§$ÚÚÛó¯êÝslOÀи­-}|­×àÈ=›{þµŽªÒÅüHÿ<—÷[¾j<°vRµ zf½¦OËwý—Gß@ÆÅ0Æ~¯™ûuMìMßÛ1°å.»ð1jÎzŽ5¥5x ßåò¡­Ué¬ñ8B¥¬Û]ßå¦÷î›âè•3t4y›:ôzxöqײªàcv—íh›6qè\±Á„üÝ÷zØÒaç×^V½YI\ÍTn8ñwoüo+ }Î!j°xâQ+×°vW%»¾\ÌWeÔÔé\:#Â{<ÈSѹøÄ!èåw\1Ð #¸ðWçyæ nxr1ÛJ ùfá/¹ò®µsûmÌôô¾ŠX¨‰²õoòÐmOP2ê"fgü«UËŽ…Ü4ÿ'¬8î¼ÿÌ% é-ˆ­Í䬇äÔÊßqÞE÷ñŸu%4øê)^ó¿ºðžòžÅ#žNÚÞl^ š­ ¨jòRºêe~uç›Df_Å ™ ® —pžë~vë,ÞVE“¯ž]+Þäµ%ÅXÆÿ€K²6ñàÍ÷ñÚê¼uù|òîŠü]¿Öòéßyö•eì¨m"¤qœê@ñÕÒê{»”,ù;/-ZOI½ŸP°‰òõoñ››îaÓ¨ë¹t\÷)Âh°‰šâÍ,yån̾–GßÃÓ?‹åSo×ÌÞ¯üÛ雪žÃ5[_ës;J©ŽÆ1tD6‰†6}ü«+Ã{N™¹þä¯ÿôž]¶‹êêB6¬ÚLu°ã¾ !Ž^N»—#ŽÝ%í¿Ë9é;b2ï,ùGû%D£cÚˆ3¨+ëxÿĨÞÝÂÆj¨]îfîñÒ=ËøÙ•0yôL úΧº¦ >Ûø:O¾{ wþs‹ Ÿ¢Æ¾šøÑ²-X]:Ôû®d[‹Vu˜–—MÀ7p=ê­šýí=›t–#ºÇÃDK6f}{ȧ®¡—Ã#'¸⊷µ¿)X_Û( "„B!„B!ÄQ®º¶ò°m[ `shhàóv=´¡Ëf¦®±ù€6TÛXü½<¸#FŒ`ÅŠ„B¡>õbF)//gêÔ©¾qónúûB¢?û—çÞCEØÄÐÓnå¯oÞÅñq p<¿zøb.ýé)dÜÁ1³NÈ"ÞØB8Ò·M$Lÿ)?š|!·ŽM¤Ù>‹g¾úˆÉÉI{Ét'=MÝÿà„A:ù-BôS€ÍOȱ?^J[œ`–›ÿCËè;—ðÅ#Óp â9á!Þ=Ÿßuc~R†sô)\úÄ"~uÞP Ý®:ŸNNà…¶×ÊáÌûÉxÿŽ ðÞY«ùâ¡_òb~ä_ưW.k›“rÁ;¬zu>I]<Ë8ôrþ¶4ƒgï¿—Ÿ{»€aÇ_yï½x53SÚ÷ÎèrSöç“IüA1]*S.}˜ývZØ7¿¦Ø'ó³Wÿ†æŽ_pÑÈ[¨ ŽãøÙë¯qŽ}·-|~ö nšüUˆ;ù7¼Ü,ÒM_ëûë9|óÐu\™Ð?ö\îúË=×/HÄš6°ð–rEþž#lÇÅwý‰n<•á& ”Ç_NžÌ<ÊW^Ïp@%‹®žÈi¯eÈ´S9ûžxö’i$àPõrÍ –÷ÿšøä+§õ¸¼®fñC—÷©í~ÈÃW}ÍuóÒùMÈÅÔk¯gR–•–H 4©œùÔÛÊòš9vÈ\.;û|†gî²WC€H4ÂÊmï±nçRŠ7³4aóè2ȱ_5—ù¶SÛP{O¸nxê1¬\ó/‰ôW5*Mþö~áÀ‘Ùã¡¿1L‚-½Ã4oS=»KNn!Ä!UÕXuX·ŠôÞ»y$Ú·Q@t¹æŠ<>ÜPO°ÓÆÂ¨‰¹äÚÕCRŸ?Ð14m^Iùš§)Ýù5ÍÍ>bÚ8Lñ'‘zÌOINIF"•¿gíÛOÐô­¼½¢ÏÀ1ô²'ŸE·÷ 1"K(]ý e…«ñ·DИ³q ¾œŒqçá0·^—Ãe°æÃ¯H˜÷/2=f‚áèž/_G;ÌK‹þ¹‹m馓<ñ×dd ¢»£Å€(Þš-\³²š©ÇNá–8]·Ëõ$Žâ÷péêjæN™Ì%öÎ[ 6î⦥L™0™KõÅÜ´¢”ã&ËåŽÎËzk¶põÊj¦uSÓþÔ··ýz}¤ëèå¤>©Oê“ú¤>©Oê“ú¤>©ïPÕ'„âà󸨯¯Çétî×:bDQèÿè¼ÊìÙ³Ë'3‹/þÞàÒÒR6oÞLYY±X÷Í­( )))äææ’œœ|tïtÅ{\6íF¿ý‚…禣Êï¹ßµµµ¸ÝnÙߣ@hÛ³œ<ïœ÷ÎGÜ8B/í÷=â[õ ÇŸ½ˆË?øˆåvLföØåææf¥a…8Ì–}ó)) ide m›vß‹W‘bÁµ îh›ö¿•¯ðï%ÀŽgJÎ\æñ®®‡Ã‘åëùrë;äW­&bªÇž ÇhÓp½+ê¹a擌6€†æjî~ítãöØùµ—K'>ı£ Ê[ÂoÞ=ŸŒ1¶#îØ5”˜d¿„Ó'_´†<ßÿôMæÏ9ONl!Ä€:÷Üsû¼l$Í¡­ï…ìý>&¢A§‰Òå‚a JÄǶuyì°d0'×…Y94õ9ìí=¾Gë_cÃ[¿¢Î} #&_H\\sBˆCÿ~ Ñb¥Å×t@ÛR£*Qµcè\+‡ààKII¡“&µ›±N?ƒ¦§IèP!“–úÂFl¹Ü¿D¨Þö5%Iv½4‡ß!9Ù£Y¹vi‡^pÊ-<ôüOX0ç*TUeÛŽM„4\5ûA&Ž:‹ÉÚåº*½E¬È{¯ >Ư)Ö 'n”0X½¶$=[v®i :Ì’,à JÑü.AgV; µl7¹‰ÌoYš#d Þö¸±©½Î 'µâ°ê*t¨Õ› ›¿‡­¡v÷.¶]L×}èð ŠQ±ü1ª­?eÒÜë±ï;iGâ9æQ þóؼþ3¥ŸK—å«6LW0$û-Öì^FóÄc°+yþÉ0ùÄs0ï9æÏ©dÏ„ö‹È_úîÓ.`ÿÇ+QPt©xFÝ@ü¦SU\È „\zÊ´êuFlzI: Ä‚¬ÎßÄ#Û*ÈóG±Zã˜?<—Ÿ¶a"Âî’íünS+¼ü1 îd®Ë<ãž-ÄBäíÚÄ•%e¬öE°;¹rü(.‹7õîâš/J˜6i2W÷,»cç—³5¤''=›»Çe2Z¯´Ö¤Ó¶Ö$„B!„Bñs ¡C Sè0xX__ƒÓ€N§!ê>ÍžššJII‰ÉïƒX+^ùÐôÿcJ’"í!„‡A¸üCøñÓÔLüÓR$þÝ dÉk|œÀÜɉ4®z‘Ûïø˼…LO–ë°ß%n§«ÙFIùn2R³’<+^û=Ã2Ç0lp.§œÜe¨- ‘_¶†O7¼Î®†µè\Aà 8uÖƒR¯-NÏÖ k;LˈÆŽæ¢ j þ@û²Ag ZÈc×Ò!É•Ùö¸®¡÷ž{i!„8¢î# tX^^ERRüQ¹ß_5KB¤ä$‘t˜¾»k\AII÷¬ùؾT‰?þ=ŽSlhUw¿bÑö÷g#u‹)«¶â™;«-tØF—CÒ˜©ìüôMj¼ç4 {¡€ªÁ·c ÷?·Ž²N¿è¹àBîm%Ãb&Ó â­Îçü gL™Í+.…»7ñãM[‘0‘Ó"»¹wMi£åãt  [¹š§7¸?1@¨‰Oª<Ü7}6O›‚,^ÿ ¿YUÀ˜róí͇|,®Šã×3ç0M©á™•¹c‘—&&‘`°’n±iûg!„B!„B½"-!4ÆÎ_1Õ(éaLäP‹ÑÒïíõ<,(ÌcHæð.ç9÷ù doèШ5Òné´¬„¿G'ñÎøÃ¢(³_žD‚ä„âð¼‚$žý'Þ½aC¤C¥ï8 4¯çÅë®æòâ ÚıœyÓB>¸uÉÒY‡ß9#‡eåÚ¥¤§ ¢¦®Š­8&ëg c|î”¶ž÷ÕÐ\ÍŠ¼÷Yºåmü†rIÓµ€ñ Öj²iùºl9-?Fƒ €¡)ãØ\ð!V—î€×oÐk¨i¨ì0ÍeJª¸ãfQ㈳%·=®©¯ÄåðÈ -„øN9ZC‡¦º¸œ:c"·Ý)íðý %õÔGY\ô¨4…ßn§…w>ú7:½Ž‘ÃÆ3}â (Jç´@yýN>]ÿ:Ë–‚½ûpNƒåÖkué(«*"+m™ 94‚Œ=l¼¥õ¦éU3±h E=r¾ Dq›ÒÐjÚoö½ d¥eË -„8âlذ‘Ñ£G}¯ö9ÖÒÈŽªîlŽÃùÅXb¯_¡¢_°ü¿¯ÐÖ¥q6c/|‰x€Ðv¼–ÃŽ}–WŒ#Hó$#&ŒE Db!b¨]þ°g£ÄZÿýéèïÛÛV­=Ç3èä»Éð˜úµÛž¸LN·®âá?ä/3ÓR˜›œÈTƒŠ „^–—T²¢¦íÞF¶Öûhv&¶¯@£'ÝÐ~à4ª=QüÑœ:£­Ú¶É6‹ƒÄØn¶·DÀ¢•!„B!„Bˆ=ú:„oKŠ+IMKÖB!„Bˆ#PIy!Å…7iC2†¡ÕvþæÚÖÒoX²áM6V|Š;Í„c˜ÎtXêµ%ØV¸¡-x˜äÌÄ®&ͼn³K‡7¿¶Ã4“Á†/Cg»“ÝÁ9¤šI»Ï:y oS#¸ÜßÚb”w ’±Y­(3*A"‘H§Úb‘&¢è[{Vï»mkkîÓ“!@ÓŽ%ÜÛÓPË“œì ª†8n>þή­âÓâ2>ܹ‘n+â§ÇOâM¿X²‰¯ qœ”âa~ê ίÝÂÃû®SAÓ×˾j‡4bŒ˜Òç !„B!„B|¤%y(.ïù}ÁÁñc†S][wÀnö0w3.EIq©iért„B!„¢Ÿ=)$z’IKÊè:ŒÅ¢l+]Ãû«_bgã*<FMpözmÛ‹7q P•4ת¿Âd;ðž…ªJ;””ß“·á=3¯¢óe²»ñpT4ö™ >ùI‚o]ÁÚ 3ÿ'¸Œ*×É${^`ç†ÉJ9ó¾=:†ó(ß°œXòω³ëÐ4èþƒFo=±ä}‡f¨É'¤ËÂj6€·÷}±žÕëPËw^KZ\2—Æ%óƒÿgï¾Ãã¨Î=ŽgûjµÚ"­V½X–Ü{o¸¦wB€)¤Ê Ià¦ÝtHBH„„$@( ½7Üq“{‘å¢.«K+m/sÿ-YX²$#—÷ó„#1ƒÒHkÅ ì),&nı™éSð°ÏДØÈWŠ Ü3m8—$hijj`gXÏ›‰¯%ØÆO1v•=¥»ùu©€5JX=‘óíå™5e#Â5<±­sÚ8&šå B!„B!„8ó ÊLä@yC¿×ó[0šÚgÎ Ec´z/t‡ƒ‡^¯]|û‡>®T7uÕ5]B‡-ÍØœ'6"ÀÑ¡C€ŒìT*J«ål !„B!ĉ¼qÌ* èÀ‚¡FC{hdxæv$c´øO»z›B¥44Õ’œ˜ ÀàÔ1,ÚÆ–jìqXbQ•°?B[C„@[”@[„P[_[„h †Yo×ϢUoc2š1›,ä%!Ó9„„x&ƒ‰8“NAg@«Õa2š‰Å¢D¢‘.û …ƒôFBá ‘h„P8H0èÇôá xñú=´z[hj«ÃSÓDmS%‡šJ D=èŒíADCœs¼³]‡Å¡CoÖ¢Ñ*}QRYýáiÀiO’ ùÚ´y+:½Ž9³¦ÓÐØÄ²«É<ˆ‘ÇJçˆsVC‡å%ÅíÏ™‡C‡F½`¸ûb4 V#žÖàéÝÑ­!cœÝiPŽÆv-£®Ï§zËS”-¾Šž¢šLΩ¤L|žC§`ÖA¤‡Ü§ÖyÃg¬cÝÇ?dOÚF ÉB—t;c¯Ï§bãŸÙýúïðùƒhâòp þ:ãg߀3þðë±âÂ5ëyÆXÍþåWSìñ ¢GoŸHÊä?b"zÚgZÀ#&'{$ßkÛÁãËó¿!sœƒ ‡Žá[.#VÇ0îmØÊ–/檞w&7ŽNãßE*C*ùýÝÑÆeN/¿[´ˆý1#ãrGðØ(NÉ !„B!„â,p"¡Ã¦Æ&ÎÎÁŽö…2wîÜã~?T…P4†?Ø¥K—ÊBˆ3Pcc#N§SŽWHÿ¡JKKû½ŽÏçÃívKç qÙ²s=ZŽQCÆw<öŸU³#ð&¶ãiUkIa3·Žÿ “Fž@0âç‡/_IêX ª ±ˆJÈ¥ùP_KK„€'ŠN#;y(CsÆâLH&ÉîÆåHÅnuo±¡?jªéÏK8¦¥µ‘6Ÿ‡–ÖFªêË(«ÞGU})eu{Ä<$˜ÜÃã$ÙÝXââÙ´}-YéƒÈHÉ– ùؽg/%eåœ?÷0QfM IDAT<ôúökÆï°rõ'$$X™:y‚t’8«\wÝu=. …ÃôŸý¹ÓdŽ#à÷к/¿ð—^ÛDc´šØ)m‰jPNù~,qæ^ÛÃj#ž¬vP EQNù~¥>©Oê“ú¤>©Oê“ú¤>©Oê;³ê«oéÿpäò™ƒB œOß4;“Ðëµxjº©Ðëõ`±$ Øþ{ý2ïÉ !„B!„8qCbÑŠ·)ÈÞ1êáÜÑ×±õƒ¥Dhõ§ÏÐ=ñN#{J¶tÕ(Ä…Ü-+Â×…‰\×f›…=;‘¬”<œ66«E9½‡ Òëô$9Ü$9Úo”ŽaJDzh,Jk[3o žÖf¶ì^G«·…í{ ùî?–‹ø¨©­£pë6®¹â²ŽÐ!€Ùlbîìl,ÜÊÂE3yâX»t˜8ë Dè8áÐ!€^=-Û©*(ÊçSŸÙØ—o‘ÇNy»X 4©Oê“ú¤>©Oê“ú¤>©Oê“ú¤¾ÞÚõíý‘BˆSÃßX9-¹Çå)©NZ=sZT×W“š”ÚmÛhDE«;þç4:ér!„B!„8³˜Œfçc{Q!GMÀ•Θôyl¯{{šé´¨3VÑè`Ö•ä§æP}%ZŽW“èH&ÃC¢Ý= £zCZ¼µ#~!áhP$ˆ7Ø‚/ØJ4vì$‘z‹1“Þ‚N«Ç¨k}Êd°`so´£×õo$I­F‹=!{B"~Ï®ª*Û÷b1ÇËE|’µ´x(ܼ+.¹³ùØ¿½^Ïø±£øû¿^dÕšµ|óëwáN–)°Å¹IC„{ÍÍÍÒB!„B!„BœaT%Ò9óFcUmmÇ„îÛGîàÁ½†A‚‡B!„BqFÊÍÌgÉê÷†ÇŽzèú|F=ŒETž( •Zªà3Q:‰Ñ£Gž’Íø‘Ó0èû?´ªÆhöÕÑÐVM‹¯žzOMm54¶ÕÐhÁlÁi$„EQ0ÅkP4   ‚Π |ê²Q‰„O sÔÌ0±˜J,#äWQ£1´ª™xC"f}mÇj¥²i?¥u»9ph5Í¥Ô 7k1ÅkÑ›4œ:âÒ4XO}|:P4 z“½IÛíòh¤šZ_¾(+w›º÷–ì"'}°\¸'Ñ–m;ðz}LŸ:©ã1Ÿ?ÀãˆÁIfþ`Þ\¸Š«çá‹×^ÑÑÆìâî;nã•WßÄíJbø°!Ò™âœup÷A0!üLÛÉv$RÚÔ *„B!„B!ÄYâèÐ!t<¬jªèSè°µ¹«½ç%bj ¢‘^EEELš4 ‹ÅB$éµ½ÅbaÒ¤IìܹS‚‡B!„Bœ¥ŽŒz¸³xkǨ‡Îx÷Iõ0T©Ù祩2€]ÉfBþeŒ¿rÃóÆvÛ>ñaÔÅuü^ç)ç@í*ŠÙ]±ŽúÀAŒñ:Ì :ôV æT9:ÛN´:m‚­Qƒµ%·Ë2FÃàœaráž$Õ‡j8XRÆ% æ£(¡ÛWÞYFu«JbJ2MµŒ’ÆU—.À`0tYß–`å–¯çÝ?" 1nÌ(éTqî:Nè0ÎbÀç ¡ÕEˆFzžLåLF¼lÝUÉ¾Æ ­‘äô4&ç'b“9b„B!„B!Ä9(Ž¢×kûܾ߷ÑZ¯c±X¨ªª’ÎB!„â,v2G=Œ†TêËüÔûpês™˜Óo¸€ w.zþ¸ë†"¶”,goU!%õ;i —a±ë0ÛtÄ Ó‘£µÕç%ä‹’áÈéòX$ÆåtËE{457óÉúÌ9oFcçôÞï-Yˊ¤ä ÅÓT‡¶µŒïÞwññ–n·c6›¸òÒ‹xïÃE””UpõåKç ñ)>oû—•†caôý™u QE;Ê(7¦1{f2ñáF¶o/eµÖÈñèåT !„B!„BˆÓ\BBgÀ¶×ŸÐ!@¿“GB‡âÔRU•H$Ò¯ŸP(D,“ÎBœµB»Ÿdv‚‚¢týI¼ø%JÕnV8ô.7ftmkÍžÉÝÏl¦ùsxºŒzö²ð_g^Ž E7œûV4õi½`åÇüùksÉ5>ó æßó+«;G% îü#3³§óØ6·Ûï}†yù³yrwèÌ8w‘&¶</ó™Q…¸AçñåG—P<=¯Oÿ¶Ç˜žÕó9Bˆrô¨‡Gõ°µ®ÿO’±(4W‡(^ÓDé ùÑKùÁõÿà÷÷þ—›/½‡Üô‚nC‡ÁˆŸ½ÕykÃ_øÕ›·ó¿o^Á»~M™aqùdµ’”cÆâУÑ*gýy y£¤Ø³;û'ä'‹Ê{2^sýV¯ÝÀ¸1£pØíïÜ[»’˜ž‹ÏÓ„¿z?yèž.¡Ã=ûËøÑcÿ hyÇc>ŸŸH$Šßç㉿üM:Xœ±1í ­ Gú½Î:¨õkpg8pµ­Nò’ šýøåvšB!„B!„8 dèðDÈÄ!gh´RIèPqNpÇŸ×-âà }koÌçÎVó·  Ô ðßr×Cwñ‡1Ëøñdë)-Ý¿ï-þòZ3¿óº'^ïÓ:Áý/pç_çã¡÷óǵÏ3o°ÏÞÅüõ¡osñ¬µ<³è¯Ü˜kìu;ú‚»XZ|×g}eâÀ¿.bî¦ñŸ?eŠõdž» ûžÿ ×ü4ÌWÿº—'ÙhÜðßWéÏÖBñ Ĩ‡‘Ê¡¢6êJ$Nã¶É×0*"ñ–„×i 6³§r›ö/¦¼y7!}3ñNæAz²çö“aÀ%#© ã÷–ÖflñòE¾“acáRSÜädgu x«(§¨.ŽAù©Ôl)áã5%èÌÊŽÇ œºú4š¾lK9åíÍç³_©Oê“ú¤>©Oê“ú¤>©Oê“úήú„Bœ|Ñh»ÝJk«¯Ç6GB‡Àgú‚AâŒíƒ!õz'R%Ö%t˜žšDeu}ŸvdŒ3ôÎùüoÖV]Å­[yìbTyÁ”Ç‚{Å~p C­Â{ŸaÁ¥/pÝÛí#«ó»o|“Ÿ½U„ß<”ë~öúölÜzˆ4nâŸ?¸—Ÿþcå!pÌ}˜wþû]"?ÎÜ?¡²˜© ?ƒø<þɾ=Âx>ˆ7C«ÓÐù>Vƒ{ä\Ò¼¯°§6Ì,{×éÝ¢ûÿÁ•×½@Ú¨0o<¿’&×DnyäaÔþ…{ÿo!5ñƒ¸èþ¿ò‡ç“¢ƒÐ¡üå{ò›—ÖS6‘wá·ùåãpíÐxÂ;ÿÈe7¾KÁl++ÿõ:Û[œ£nä'Ïþ‰oL„•ß™vL_<úÜå(åÝ_Í?-dg›†¤q·òó>Î]£Pbv¾üc¾ýð_Xz0ñ£øòãÿáOw =6¶ÓÛë¶¿„÷ý÷ÿòmŠü ¦GW«ç«o½Ï·G Z!å<ù»â,—›™Ï²µàõµb‰kÓ_0î& ß>vÔÃXD¥¡"À¡"/‰š©Oê“ú¤>©Oê“ú¤>©Oê“úŽß®!„O«Õ7tØ› Á¨èp:ì465÷ÚþHè ÛWŒX¤óaåSMú::B‡ñFÛ9}‚Eáúk¯aÖŒéÝ.Ÿ:e27Ýð…ŽJz‰DúýÓ£¨Bü„¯òÜæ*šKùøû)¼ÿÀ]üe«Oþ"…g–†Ü3܈¢((†4&ßü+–ùéqF«`1¿0Ek–6Š+²‘äóçg9ýS×þÚ"Ê£iŒ’ÔÍ7ô$Oj¤Œ½uþö‡LY\ýØj*)ûøû¤¿}7—÷]ª>ýп¿ÜôeþeT.ýÁ?}•‡Þ¯",æ¹Û¯åÿª.å™­5´ÔîäÅoÍ!Ãìdöã;Ù÷ÏóÉûŸxTÔÖUý öçÜY‡pñ%n¶ÿæÇüuu)ÍÞ­äŧ^bGcO û×¼@Í^j‡>È’ŠCþ*%ÞÍ?tßdYM=EŸÏþ'È?·ûÀ¿ƒ§nù¿ª¾”¿í¨¥¡t)÷»^ãîkfi}{ßh7I×óçõÕ4ÕlâWÃVñóï½ÌÞ £Û¾øFžT ¶ñwò×M‡hª^Í#i ùÑÿ¼Êþ0÷<Ç=÷¿IÚVQåñPóÉo™©TÑêçë¶ZÏÒ\ɯ¥ñÕ4Öí๻‡ñŸßöcBœýŽŒz¸{ß¶ŽÇÌNÆg^@k]ûsB4¬R¹ËËæwëHóÌæáëŸç7ßy‘™ã/ì6tXR·‹—Wÿ–_¿óe^Üú0­‰ÛI«Ã5Ȍ٦“NïA -Š+¾ë¨‘žÖ&6™ªw 457³qÓfΟ7ãQ79Þ[¼–EÕ8S²(Ù½K¦àŠ‹çw,G"<ÿÚGÔ´*ØSÚÏ—¯•Ú}ùñƒw3|h~·û›ìkèÚG<ìïªö½±äqù·1D*vG³n¼›Ù¶:öÔzå/JqÆPÓøõòZ‚jŒ·‘²uOpQÃùâU?auSÏÆ|îü¨Uj«¥xÅú.¸í_ì že¤w0hxi™Sîà翹’ØÂ¿±¢¢ë‡hž-/ñ\åd~úÓÛ™˜î mêM|s¾Êê×¶R²õþ¼e0?v? †&“àÎEWÏ';îTŸ;;Óø_þùe?¼ G¼Ôqwð×­Dt-†îwdÎdÖeç3:ÝÍè ¯g\z ã.˜Å°äD æ\Ãt[=»µÑRøÏlËå¾ß>ÈÅ.œYÓ¸û?g^Ëk<µ¼ª= iÎ伫¯dÖÐìÉã¸ä†q˜ªwSs¼—Ns&³®¸Œénì)“¹ü†‘èÊwRí­% —)HuI) !#É#pçíóÈ0ôïu[­ZÉSo‡¸æ·?åKÒq$å0züPoçȱ !Î ÙéyÔ5ÖàõuŽZÁ¸›×Z)-ô°ç?C5—ò»¯½Ã·oú)ƒ³†¡Õh»l# ²xû¿yì¯ñÄÇwS¬~ˆµ Ô!Ì 6ì‹7Bнó¹WUU"Ñs¼tÎ@ÜcðzYµf'ŒÅjíìÓ[‹x{Ù&œ©ÙÔ–38ÙÄÍ_¸­¶óýý¬ß]…3% ¿Ïîõ‹xà73xPÎQûð³|ÝÖ.!ÃqcG1lh.ZJ›WÞ;‹sGBBÂÙy` (ªJì˜åœ !„B!„BÑÝñ·£¾P¿7jOrÑÚ|ì·¡+«ªÎéÎþtø°?¡Ã#ú3Úáñ·¤zÕSÜ3?‹¢ ¤^ÎËÃÄbªüU!ÎF÷8¦Žqa@Aç sܵ<òÇŸ0îÐ[¼º­·4¾½ÅÅàYwð›¿|‡ä ÏòÁþÓ;yhv¡©dSQÇ~E LÍ®MTë2Éwu7ʉ‚-sÉÔRÚè²ÄW¿Ÿš}opC¶¶}ôA%™ßKS£—¦š"õ™d~jãÏåÜÅårÙ#oRäSQUÕ·ƒ¿]ë">u"C\ÚÞwªÕcÐBÇKF‡Q«©øKi1e3ÌÝÙwZ{Ã’bÔV{u»9bô}, :£%EUA—}={ïOÌ.þ 3܉Œ¾á—¼wÀÛÃh=¿nöSIbXZB·Ÿ‘96!ĹáÓ£F£êëêHa ì_àÑ{^ãîë"%)ý˜uËŠø÷ª_ñ³·n`EÍ߈e$s´«Ë€Ö )Œþúcd% éøÝÓÖŒ^gŽ ï}¸ˆ”äd²23:klöð¯×‘àΡ­¹+M|ï;wa:z4Ä%kyõ’ÒÚC¡!ŸÛ×òý{naÂØQÿ7òøósoðôKñÜku -Lfz¯X#áCq†¿^˜NÚ¶«ªJ΀P°8q©Íl;Ø„'%äkf÷¾zñRã4r‘!„B!„BÑ‹^ï¢%$Xû½Ñæú:¬öc¿ ž–vÎwø‘ðá-7ÝØ¯Ð¡¢(Äb1´ZmŸB‡Z­–X,†FÓý)îþ;·~ñ·4\õ ›«ð”¾ËmùòA˜â,xaÓ1ŒÄ´}_G«G«Õ¢×žÞ¡ mÆ nš¥gÕϱ¡¥kÞ…-\ÅÖ²ænw}䨄çŽìôÍغl®úÅϹ¸öQ®¿ñ'¼±µ’o3›_ã¿xOx®âW?¿œŒ#’ëÙ³}?umª6=Çÿ~ïu¢sï`^v×i2ãoæzǸïq–î­£ÍÛLÉ'¯óßåXÆ}‰›swòóoý„ÿVâi*fÉ»Ë)÷h±$¹ÐÔnfKI-%k–²¾ºoÿo8Ñs µÑP±‹åÏ?̵sïbñ¨Gxòëc°|Æ®µ¿…;†à±caq=Mëøû~ÀÇõ|cvZf[;¶/6ÖÿuµuÏùëó«9ÐØFXk#5݆âmÄîßë¶.û|¾z¡Ê«÷þ]]B}})Û7í¢>ÔõØ„ç½Î€Íæ¤pÇ'Ìž¼€©ãæ`µØº´ñ‡ÚX¾ë5~öÚMü{ÛhMÚNö¸öÑ ÅggRí$Y;ß×7Õb³:¤c>£u6QV^É·¾v'cF`áâ)«¨âÅ7Ó¦ZÐ( žò<øÍ/“”äìX¯¤ü/¼µŒ¸Ä,ô‡Gy;°c·_=›óÏëhŽDxáõElÙWObJûhÁ®Œ<6ÕòÊ;ËPÕΈÿ´)Iu»Y¹f]—…8[Mœ8¬ËïÖø³aêx£ÍÅÔ)£¹zþ¾0o<vã6Ê(¿B!„B!„âÜ¢hOl0 @rJJÇÎdFãÀL§XVY)gf€ :”òòrÊÊÊ(..fïÞ½=þSVVFYYC† év{ ã¿Î/ïpð¯K3±'Nà¾OLÊ'•©–…gÌKjÛv^úÖ 2qŒVRgý˜½³ÿÌ¢ïf˜¹‡Õ‚ÅüýÂdEAc°’6íl™ú>xáN†˜NeýAv=1 «¢ ¸/áùÝÛøýl'Š¢gôCkhéa-SþmücÕ;üOÆ2î’=ÞAæ´X•÷ï¯|†›uN'hr8©~êBÜVéÓ~ȶI¿ä•?^K–îS=™0™^þ·GÿÉ#’±Æ;Ƚè÷¬ëÐ%Lâþ—žç[Î÷¹gr6g7<±ŠC‡ó…É3î囓÷pß7¹ÿ”BOßþCÒë¹ ñô\¶¹OSÔÄ«eáÃIÊœÌO1ô‘ÙøŸo1Æ: Ææž^â~çëÜ6Ü…3s.6ÞÀ³¯ÿ”9‰}Ûþ§ûb‹÷øë)‘z–þâò­Ä' çÎ øþÓ0ÓÙÏ×mm:W>ñ6O\PÁï®ÈÃåÆÿ°–ŽÜãácBœýjª+X¾èVüSFϤº®¶ëM¾‡¶½À¯ß¹JŸÀRÐBJ¾³U'8@¢!•$S6:mçûê–ÖFìV§tÎgpà`)Ë–¯æwߎÁ``Pn6óçÎâ½…KxóÃe˜ãlo[Ã×o½†ÜìÌŽõ›=üᯣKHÇ`Œ`ïÖ•\¿`2W\|~G»˜ªòâ‹ùdg%®ôA]öítgòÑúb~ÿ÷׺„ Ç…+1‘•k>‘$ÎH9ù™}n»qãî.¿·¶µI !„B!„Bqóû½'¼®Ï×Ò§vÊܹs,if2Úû¶ã¥K—Êª*víÚEuuu—‘Ž9©ŠBZZÇ'55U:N1 q:r¼g¸ðÞ¿rá¥ÿæúwñ¡鿳ŒwÓÏ™sõBnûpßn첬´´ÿÓ.û|>Ün·t¬§©VO3E»¶ ø1f;·n 'o;nÅÏ̉᪕»ßäí’:$½Iæ‘<|Ma²Bçó¥óêxìý_å’9×Içœ §•ç^ú/_0¼A[RÑ IDAT9]ûÛïçÏÏ<ÏûK×òзî`ÁüYG- ð“?<‡_cÇbK`ÿöO¸tæ0¾ô…+ÑÌ}åí¥,ü¤wVAuÔUìgú¨LnÿÂE3¨ªÊº …D£QfL›,'K|î®»®ççšh$ŒV׿/;¬6šZ[¬¾×^úSïïU¢ZôÚè)mŠhQNù~l ½ÖïÆ05§´×C£á”ïWê“ú¤>©Oê“ú¤>©Oê“ú¤¾3«¾òÚþÏ!Ÿ9!ÄÀ9ÞýÀ#, Éx=µ=70¨:±Á~tX‹¾†ʼnIKKëqêd!„¢_¯ÙÍ•´DLX2ÂÕÙ'JýÞ TF“HI)S…8›ù}^ìÛM}í! †&5= €É3æñɪÅLŸ4—§_þãGL#ÎÜ>)ýèìY,Ûóo4šVéÀ“$è’îî1/‰„¥c>ƒõ›6sáüÙÇ„âÌfîºí‹¤¹“0ê5D¢QtZ-1UåϾŽ'bÆîj–ìÜÀüIyÜtÝå]B‡o.\Ňkv“œ9ø¸u¸2òX³}?:íGÜzÝ ý‹“&Œeáâe|²~S'O&N[ý :B!„B!„Bœz^O-~¯³¥‡/À†N|†AI!„ç˜È¡øÙ·Ÿ¤aâ£LOÓH‡œñ‚T.ÿ/KBã¹h²›ÖMÿäÁÿYŒåÒ—˜‘ªH÷q–ªª(aÑÜiYLŸ}!z}gÐX¯7””¡Š2&žÁ¶¢ L;[\"².b]í 83Lg|?Ä¢ ÆTÔ¨1ð·… ycÄB1‚¾±(„±ö6ªJ4k_QE« FUPEA«((ZÐth´ 3(è Z£ƒEƒ9^¢áð‚¦‡#Þ(iÎÎà¡§µ{B¢\´'hÍ'pØí Îëx¬¥ÕK³ÇKvz2v[7ßp ;víaÑ’åL2¥«·r°.ˆ3¥=[VTÈ„!I|ù¦kÐë;ÃWï-YËë‹7’’5¶÷[$®Œ<–o.Æa_ÃåçO@«Õ²àü¹|¼b5;víaäð¡râÄ%+ÅEÙ¡º>µÍ\@ñ¾½hb 1Mÿ&R G{m7ëÛ{”liPúø_ç®ÏŒõþ?þ° œÚv¡Hìðè®RŸÔ'õI}RŸÔ'õI}RŸÔ'õI}'ÞN!Äé¡ÇÐa/"DÑÑó==  !„ç˜h0„ûê?óî×®%Ï(ýqæÓ‚oÿ¼ûNn«¡sáÊ{^âÃû.%UfQâ¬S^RÌÎ-±$ؘ8m.æ8K·írå“•‹;ik¶,%ôa2Æ0sØUlüð¢Émh §@9Q‰E!è‹ÑVÄß%Ô%èmÿ ‡¢ØMn2\ƒ‰3Æã޳a5Ûp¤»0èMèõ̆8´ZFƒ ¢AUUB‘ •H4BôðO0ì'ôã ´áñ5áii¦íP ‡+h 4Ò¨EoÐb°h1Z4ã´$$1Zuã4Z#¤;;GÎknmÄiO’‹÷ì?PBcS3_8¯ó&G$ʳ¯|@ñÁ*®½dógŒëX6røPŒFÏ¿ø+·W0xô *ìdP’žoÞu FCgHwÑŠ¼ôÞZRr‡¢Õ÷}$¸¤ô<^]´‘hLåª Û÷¡Õj™sÞ >\´ ­V˰!ùrÅçN‚Ò‡ÿV46ôy›GB‡1ŠÕj¢µ5Ðçõû2õðçÑNUéóTË]__¦0ƒØIj§hmÃoˆÇaìú‚X 4%äívyßöûéíÜq´×÷y÷ŸÔ'õI}RŸÔ'õI}RŸÔ'õI}Ðÿ©–…BœÞ,Z-~bT×6âNt·í€Ifëýr„BˆÓ”1û2îÿžôÃÙCGúÅ¿aiùo¤+„8‹µµzøxÑÛ46Ô0oÁ5ddåÓÆ×ÚHœÕ €ÙGfv•¥û2h$Û‹ ™4z&Ð>êáÄì‹O»QUµ=dh‹ÑZÀS!è‹h‰ot“ãÎĬ1$¥¦`·&’dKÆbN Þ’€N{ê¾S‰„ióµâõ{hnk¤¾¹†ªºJvQ\WD(d`gÑ6ì N’ìÉTÕ–3(sˆ\ÄýT_ßÀ¶»¸è‚yÇL‹¼§Âƒ=m/¼»š¦–6®»dVÇòü¼Ah/Ö±eçS4T ‰’âûß½“±ó+ÖmãõÅëHÉ‚^ß¿obh4\ƒymázLFÍž´‡ç͞ɇ‹–b·%šâ–)>WJ¿„ øý žŽ"Þ&¶ï©d_C€ˆÖ„;# yNlŸãWµ}U;yoŸƒ g¦añ”òîF?£¦tû¥15ÔJÑ®ýl.o¡9EÑ›q§¥3iTæ>ŒôØZÅG+«É˜>‡ñØ &ÖVÍ’u‡z\þY·/„B!„B!N.»#žæ¦65vì½@»ÕAskSÇïÞh{¨¼·Ð!œ„à¡„…B!„bàÔÖT±lá[8œIÜtû·ÑéºŽÌæõ4°yÅk”oáòÛŒÕÞ>ýlN^k—ÄðÌö•îÁðb6µx:Œz‹BÈÅs(Hk}˜Ö†0jPOAêDÆ¥ wêP’i$9ÜXÌÖÃÓÁ|þt:=ö'ö'éîœ.ËTUÅço£¥­ O[ Ew°³¸êºrn¸äN¹˜ûÈãieíºÌ˜6³¹3»jÃvÞ[µwöPt:©9ÃY´¾˜h,ÆUNÇhhÿÛ”“Åc?û~ø¿ƒH„G~þCââÌÛÙ]\ÊËï|ŒÅ5½ñÄ·z½wVo-YO¼ÅÌ̉#0›MÌœ6™gŸ‰«¯¸¤ËÑBœ ihè}D»;‰æšú~m;‰œ^jeë–JÍ)L–‚SñQº÷+÷h˜7ÂNÜçò²¡µ1€ÖaÁ¬@›‡1 kwƒ²Æì+ÜÎZ¿›Ù³‡“¯ÃÛÜÄ]{X¸*Ì%³óH5ô²;5Fô8³e«½,ïÕg]_!„B!„B|&GB‡@GèЕšL]umg›£B‡}‹FÑ0à3–$7óØÑ6t¦8"ŸœA!„B!„8~Ÿ—}E;hõ4³àò/°yÃjü>/Ö{G›òâB6-}‘T[Œü43ë¿ÈüëîmO¦Ó“W0‚E;œ=”­{62uìlàóõPBÈ£±Â§&„§.Dj|#r&Q0n ¹i$9Üú9úÜq÷©Æ¨k­ÀnƒÃÁ‡`ÄN«'  ÕèÐiÚz³>£ÞLœ!¡ßûSKœKœ•´öü'GÍä½ÿ#t?¬ùd¹¹Ù$»:§¨Þ_ZÅk ל‘Nמ¤Ñhu¸2óñ惬ۼ‹Ý{6kû”⇇ø«Ö¬§¦¶ŽøøöÐmyU-O>ÿfW.z£ù3Õ©7šˆwåò¯W?"+-™¬´dB¡ ·0lH>o¾ý!w~ùFN9©âŒq$t¸oÿ>ç î±Ý‘ÐaL¯G³|̈lݹ³Ëc:î´:ÖP[U!3#Ƥà6éP” 'Q¶¥–*¿ÁŸGòP ÓÔÃ2È„õ AôN &¥Û ¤>†{l:ƒÚŸ £GgSòq9EÍY¤&ë‰úØ´yÛy iŒ¸³r™<ÄMF¬Ž—S‚êE«©œ2™Ë²Ltì*PÇÒÕûŽYi­aÃæƒì®õÒšHÍÉeR~2éŸ~ùö»ý9æ^ßPƒÝ©¥¬ª CÆp.ìeÉêzÍÇx{û ëHs)¯®oèx¬»c˜˜ïÆÕÃôÏáOÕèÎÌaö˜Tõ á¦ÞZÛ@F–…ªÒj|1Œ IŒ[À0»¾O§)Ò\Ê«›»ÝÆx·<•!„B!„â4vtèðDhŽš¥è3ßñ;:Ôè4Ä"Ã1JèP!„B!NLí¡JŠvm%5=‹£'¢Ñj:b,Å{¶3~rç´²› ½&Š#!VCåÞÔW$)µý}ZjF6¥‹‰ÓYhj©§ÕÛ‚ÕbNͨ‡Ñ°JKMæÊ •Rã36ÿ2FÍ™BNj>6«£ßÛ Eü4ûêhöÕÑä­¡¡­5¦²µt:­Ž@ØK[¨‘>4Š‚Î¨A£ï<>4Z ** jL%zÔpL±ˆJ4#U1G¼Á‰IoA§5à¶e‘`v’lËÂaqcsá´¤¢ÓöT(«ÚGº;[.ê>Z·¡§ÓÁÈáC;kiõòô‹ï¡KÈè6,˜˜šKs]%¿|ò%î¿ë:\Îök<-5…K/:ŸEK— …Pô&ž|îŒI¹è ¸ÕéØÒ‡òèÓÿåæ«fS^r€‚ÁyŒ5‚ÌŒí<ý·ç¸ëŽ[p%%Êɧ5³Ù„ßß9mòñB‡Gë.t:tÚâhl9½îª¨¨ŠݧSbá þ(ƒãNaP2ÜÌš¥›Ùâ9üzth5Ov,ÜÈžQ\?ÍE\—' #s”-Eeì1g‘çl^Ó&dpõ‡·ë¡ð“=°ærù¥nìѶmÜͲm®ššÂEsóy{e Ù3:CL.æÍÌ¢uµËÕ@kWQîÈã²KÝXƒõ¬_¿—%…«§¤`=º/Í®c¶ßVÚ¨T†så¥Nt1 Æ€·—¾éþ–ïÐpѸd>ýªÐ]kÖíåƒÍ:®œ˜Œ ÐÂŽZsgM'ËâÀ¶m¬(,Á13¿Û)­»ÕÃ6Ræ !Ã(Ï)B!„B!„8=)Š‚ª~ö)*¬®Zë<7ÕòѡÞXLf¼™ŠY!„B!º (Þ½úÚjÆL˜Ž#ÑÕ±,5=‹Å»¨©®ÀÚ(p&g’R0ƒª’åd¥ØÉI³³qÙK,¸ñû(Š‚¢( 1–í[Ö‘?x8;‹·œôQ#A•Æòu%~b##3g²`ô\ò/‰Ë‘Òç)“ýá6j[ʨñ”RÑPL½§ŠZO9 ¡ôF-z“½YAgР3h1Ñ Õ+˜5 ô€m€Ž¨5æ! ß~ÂÁ‘2•HX%ä‹ÅH2fãŠÏ$Õ‘C²-‹)y—tGÐO‚Å&wì.*¦¡±‘ æÍ9êo"ÄÓÿ~Ÿ’€=ÎÚãºvW:m- <úô«|óËW’™Ú>Z¢ÅÇ‚óçòÒß`Ñê­¸ó§ Xèð½ÞH}@å·>à[w‰ô´TÆEk›—7Þz»ï¼UN°ø\¢1BÚžÇa;:tp øƒò ØþO·Ð!€!ÞNŠî;÷×cä"eh‰Ä°œêùõv¦/˜Ë¤¦Þ+ 1iVé±z­¬ mêÔcvèâ=±€Ö Å,]ZÁR‰D§ìŒ†f9°ëü •ì Ø™>-d€“QÓÙûI5å>7CúU¤J[]%£‰Ì†Û¬€9…©cZ¨XWEi[2#ú0ÖŸÖLfn"c{h?èåÿÇ9†*¿ —¹÷'ŒháƒÍ•”¶%µ³ÆÌàÙä%è=¹9.6W·ÐŒÑ5=y=l£)#Ã(c !„B!„âÔð4Õ“àèœ=¨¢¼œŒÌÌÛw:L¶&PÛêéq»ÝDss×›8­uííû<¬o¨#騿>­±¡gbR·Ë$t(„B!„Ýk¨¯eÏŽM$»Ó9oþe]†ªWU•ªƒÛ6b [7oÀ™”Œ^ß>­âÈÉñÁÞ$Â$Ä›8ÔPÎkÉ9G¢‹øøt1ÝIõ0R©;è£þ`€xÒ›s7_4—¼Œa˜ú0m(â§¢©˜ªÆý¬ÝNUS ‡|E˜¬ZŒq:ôqôIZl¹ZlœúŸ¢QÐ@gèidÃ&Ê Ùlâæ/^Ë¡º&v–ï%£`<ÍÀ…B*ìÄm ò½{ïÆaïz}Κ>…â}(ܼñãFˉŸ›ã…»stè0 c4êϺ>Q 6ÆÉdó®J>^UŠbJ`p®‹”–4ÊçQ‘J ÕCÈä&Aá&mÚxœ&bÝ! ¶Tæžïfª§…ŠC ¬j`÷æClٛ¼ó HlñâõzøàÝšO­j¡%…~Ö>O5.ûQÿg0ÆÛ°*4¢Ð§à¡«^Ó÷}ç<Á( í½FKVרtzlÆÎõ­ýÊ›Ä6„B!„B!>££C‡IÉ]gßñù[‰3[»ã…cB‡GëwððHè0ôa0Æ¡èt¨‘HÇòžB‡G³Ûìræ…B!„â°¥¾AYÉ~.½ú&\î´.˼ž6.}‰Úƒ…dŽ˜Kfö8voßÄèñÓ0šã;ë:v,ý+ÃóÜdºíl_û6™ùc1Û'e,>–ÍW““9xÀF=Œ†Uš*ƒÔða¦1.o³®½„¬ÔHœM‹ÉªÅàÒ1ÈpfhŒ×S!ÑÞ5 ‰FpÚ’ä"?Ž‡ÕŸl`Öô©˜Í×áÂåøhÍnÒòFöý<ÄY ýæY¼ûzF ÉiÜ`à¾{îä±?ÿ]Å…däLø°d÷FfÍäÖ®&.îØ­¢(Ürãu,\¼Œää$2ÒÓä„‹3ÎÙ:òÖѡþjni–³-„B!„8çÕªb튰XøâmßÀdî)Ø¿}%[W½FšMÄáéìØ·Šì‚ ªjÆÓÒD‚Í@ÎЉìß±Šúær’ìqÄkšØS¸”ÑÓ. Þš@bb2c4yN|ÔCU…Ö†0 ‚Ô•x™^p_˜)Ù#{Ù°ªy?;+ÖRT¹‘Zÿ~¢¦Vâ:LZÌ:8ñ·§§ /J²-«ã÷h,J4Á8ÀSûžMB¡«×®gø°’×~iï-/Ä•‘×ïm㬸sFðÌËrÛµó™02“ÉÈߺ‹¿üýÖî\Gîð)('> ù|ìß±š/\2¯½¼Ëâµ Í”VÔ0iLû$¦ƒ9³f°héǘÍf9ñâä>Ecµ§ÏT¯qñf|mgÂ,(1¼M-x4f†›µ§v×z;ÓÏŸLüª]4 Ë\7”oÜBaÂ0.+ˆ'Œ3Õ²¯j¯nŠ2eÞh†X:ŸƒtV9 Z £ &«¯…: w·aÊÞ’sG/×g3¡”zh©8ÍíË‚m-´©FòLÚØ>(Š…ᣆ Œ„ü¢‡÷Ùë1Ð{Þ<ª‘“¢ý:1¤ŸÊ7Æw}´µFžg„B!„BqúÉHIaÙÁ>·6<‡Ý»JNx••¥Ç~²£7˜‡r6„B!„â$:TUλ¯=Çì ® è¨.Ë>›–½Bsù&†¤;0Ûߺ Jw°nÑsL»ôël-\ËÌ9wž&Íû"Ë_ÿÖ¸éÉVön_NþèY˜ ó †óɪ%deäö{ÔÃhX¥á€Ÿšƒ~œ æš_bìUÓ°Y{PùÃm¬ÝÎæ’eì¯Ý‚Owk²S†—Y =ŒÛt& y#ä¤ïø½ÍëA§ÓËÅ~ ·’ìr‘Ÿ×9RdK«—¿¼ð.F{ú>LÕÝ£9%1‡½¾Œ6¯ŸÙSÚ§96 |펛©øÙ£ع–A#¦õ;|èó4±oëj¾{×uœ?gF—e{ö—ñÔ¿ßň¢( G`µÆ3ç¼™,Yºœ«¯¼ N+'_œ4§Sèè: G{¿ö£±¾Õÿ™Û…šY¿ñ¾´ÁLHK@ÓVËæý^âR‡àÐi GOM}þàá±ý^*‚z2ôü>/UkªžP0F0¬BÇ€‡YSÉ1ìdí†D‡¦’n3 ¨--cs‹‰ì| æøT²ÛY_XŠyL:.]ò¢Ý¬­‰gÖÌ!dF5‹ài á1Ð5Çt(ƒÿgï¾ã«ªÏŽîžY7{²Ø[6¸ETœµZg­Új­ÚÖj­µÖ::´Zëžõç@ ²‡ìMB€ì½×¹û÷G0!&}Þ¯/Í9ßs¾Ï÷Ü{Ï}Îóõu¯Š!^™ÃÆ]娳"0;ëÙ¹«¯%•HÍQÛr„ßÓuy·§}+Ü.瑾”F‚”çב¨ Eç¨cGn=VŸ·Ë‡" ÷m˜4i(ßNOWõã¶}5xÂÒˆÔ@›ÃÏï?Cû2Wû4Çßmzâôô¾Žo¦¹<¾#ŸÑú°¾žŽïIn'ñI|ŸÄ'ñI|ŸÄ'ñI|§*>!„§ÎÑI‡~(´½·µZ­ß)éðÝ2é°®¥…°À@9²ƒLEEyyy”——ãóõþa@©TCff&ÑÑѲã„B!„ Eyç$:>‰ÐðÈ.ó\N;Kßz”PƒƒÌäð.óŒz !ºfÊò6œHþÁý¤¦·Ch‰"yø,Ê÷}JJœ…P£½_Æ„9W ÓˆOÂjk¥ÑÚµêáÌa ÙöY÷ª‡Žf/ÕjÙ˜–±€/^Hbl*eω#·•[Ø|xeÍûñm˜Ã4dª ÑšðǵÍê%ò¨Š‡-õ„‡Ë ß‹Ý{öa³Û™8¾³””Óåæß¯-Æ­µ`ünC@hõF”áÉüïÓ ˜ŒzÆ oOÔëtüåÁ{xòéÙ“³™äìI]*KKc-Žê¹ïFFÈî2oÕ×;yÿóè-ñ«øçË‹øË½7€%$˜¡CSY½vsfO—@œ ¯¿J×mºËë@«2|ïñiTÞÁÓÎ`fLv$Ûr±ü°…ÖHlb 3’Œ˜”ÞSŸAמ èjm¡MHd€ ½ÛAƒOKjˆƒ®ýÇÁoÚuÐ…2eÆBö²{K«^Pª `Ĥd…kQaaÊÔ,t»òY½¢'jÃ"?>™¡A*Þ`2#KX÷õVGŽá‚¡æŽ›Å>(ÍAdF–5?ŒiSÒÙ²³€/¾<ˆGm :19iDzH´Tw]ÿ¬P­²s{t&M`í®ƒ,^êE`!#1‘¸âÚöv=oø±É¤˜•=ì—î1FÆ¥rÞÈ(Â4 Üm ” E—ÜÚöijµ¢ûúzàQ÷¾Žo¦ù| TÒ§õõx|Or;‰Oâ“ø$>‰Oâ“ø$>‰Oâ¸~ûUV\!Ä©ºOxTÒ¡ÇëF­êZ$!"& {‹õ;÷£vºlè´¦ Üjs`6µßÈ”¤ÃÁ§²²’Ý»w3eÊfÍšuÜö---lذ…BATT”ì@!„B!¾¯×KΞmX[[˜4m‡[Ö3cî(T]S(”h´zLOëˆ bïuŒ™—EaQ±ñÉŒíßéÒGϦ8w3-V3o¦iÔL‚ÃbHIÍdݪ¥ÄÅ&v©zhÒv©zØRã¦"׆ÎÁ9obâ9³ ë1×MAí¶æ/çPÝV\Ú‚£uD&«ù!V5<ƒ/”ðÀ¸Ž¿ë›j$ñ°»÷åð΢%Ì5·ÇƒJÕžÌú銯)©w? ý¨5:B¢Syî­¥ütƒ™“Fí•ïÿÍmÜ}ÿ£”ÚEüÐQoHкŠ"t®*¾÷Vâb:Îóùý,ùb‹¾ØJdBZG•ưøtž~eÞùS‚Ú_£#‡g³vÃ&víÙǨÃäD®§¤C€˜°(ê›eu¡À`‰bÚ”(\ Eß OmX*Ï>ò‡&’sæDw•>˜ácG3|lûßg÷Õæp&M gÒQÓN_ûOe$cÂ$2&ôÖAó#™2#’)ßZ__–w8\|~â·)1G%sîÙÉ]ÖgÈL<æ6ؾ^¯ÚšoÅèpú0hÚ[kB’¸ôü¤®íLëKµCup"—žŸÜã:„B!„B!›o'’t <ѤC¯ßǰ3ºß$ÿ&éP NyyyŒ?“É„Çã9î?“ÉÄøñãÉËË“'„B!ÄwÐÚÒÄέëÑêôLœ2Þ@pH(‘ÑqØ·³£F«gö%¿¢¼Q…½ÍÝãº#ôìY÷I)CÙ¿gÛQËê7ûJòËP«”D‡¨Ù¾ú½Î/€*©C³±Ö7ÓØÒ^õð3‡-ÄUÈÞåõ´íåšñâñÛßåì) {L:l°U±dÇxtÉÕ¼ºý×”èV:ÜItº C úGw|]/áÆDŠÎ„–Ö&‚Båäÿ›ÍÆ’Ï¿ä®Ûo&<,”•k6ÐØÔÌ×;rø|}áq©ÚŸZ«#H›Œßë!*8†ý‡v`sXÙµ+™–ÙÜ2û ºé¦Œž‡N«ïÒ¯Ëã`_ézžûòn]~)»‹Ìj%&Ó„Ù¢ùQc§ÍG¬eH×ãÞf#8Ð"/€£4·´ðÄ¿žç‚³çÆðì ²3†òá'Ëyþ­Å„Ç 9)ýjtô–^_´‚m{v¾Ö þí/i«/¢¶,¿Çeî^Ǥ¬(þô»; 8j[l<ùÂ{l>PID|*M÷×@PX4{×°tÕ–Žiƒž™Ó'³qóVš›[ä¤']éw¼§ãöɰYB!„B!„Bœ®Ú¬ÌÆ“SHPÙX_ßï…’’S娜¦ü~Ÿþçr¹ðùzjÄÛråOßÊì$= u¿^Û(;ZqJ¸rŸcF …¢ë¿ÐsÞ¡ØßÃUŸre\×¶‰S¹ùÅ4ùïvöë:ë/æsB»í“ŽšáÜ»¡¹ÿû9y2Oíq|ÇÀÓÈ®7ïäÌ …cÊt®{råÎÁyÜ{žbrÂÀî7!Ä驤è0[¿^èq“‰ï:,ßîõ±ö£02%€•Ÿ¼Šµµó6†äÑçRRÙÔãzc#)ܳ’„„DæîÁívuÌ9åBêìm’bƒÙµvQ—ŠkY#ÆÑ\UKUmk·}ÁêÍŸ™ÈÕçþ‚ Ãf Õtª³Ù^Ë{ßà‰Ïnàœ?` ßKâ¨@‚#µ¨4 9È€Ëæ%Î’Öñ·ÍaE)UºY±f=“'ŽcÔˆl ‰ q,8ƒ‚òü}ø}'烙VoÄ>„ß[NqyMÇt³ÙÄóOþ ƒ«š¦š²Î÷r{ ¶|ÅOΛÌϯ»½®óuQVYËÃO¿IµMMXtò1û ‹Iᣯ¶tIx &;+ƒM[·ËI!Nšêšö{~ñ11Çlÿ݆67«Õ²³…B!„B!„DZ¬¿Q›u'­eHèñ‡} ‰‰#òâõzûõÏwœ}‡?æ?‹ê™ú«ß27An6 !N±ðé<›ãÄï÷wü«_z%‰½å@èÒ¸á‹ü~/ŽÚC,(› ¸‰nk´›Ø¯ë¬"‘+—ÖÙ^ ß:‹„á¿ecó‘ýãÞËãS‚úÕ¿6ó¬)ÜÈÝ# ßã±srøÍ¹øÁæýw5Õìüï|ZŸû W=³Û÷ÿîJÁësIý ›[åe)„ètèÀ^JŠ3iê™wV¾s;ílùò-Êö.chœ‰¸È@2"¼|ôæ?ðz<í†O:¯1ž†f{÷·4­šè`¹›?%"*†ü¼ýó ¦ ²Ï˜Oiuf=ØJ):ÐYqM«×Qg«¥±±³!€³¦. )6µºkŶªæ"Þ\÷0]z5›š_Ç8´¨4#ú@ùÜßíýºÕKtHJÇßÍ­ Xz¢úÇ,ïP>¡!fN›Ümž%$˜¿üáN‚üÚ½Ÿ×sRbPkuGå_¯|Ä®œ‚ÎûÁA‚@KäqûTi4F&ñæâ44u~PššBxX(ûrÈÉ!NŠÈˆ¾ õ^ZZÚmZ€ª{âtYyiË[¼où½'[Ç¥g` ’ƒ"„B!„B!Ä)h6œ’~ú4ÔrcEÍ wàöºåh2ý­xèñûó˜{X¼æ=¾z"Qz©v"„8](ч¥2yþÌ ·RP?x«ÒÉu°çòÁóÛˆûÍ߸snáÁ¤Ï½‹=1ƒª·Þ`G“œÑBˆÁgß®-4Ö×2qÊltúÎ/xÖ¦¾|÷Ilå›ÈL‰À kOâ‹‹ Fc/bãªO:Új´:¦œ{eMJmÝ?—‡ñ¶äã±×QSSIsSCǼ´ÓP¡¾ÉN\d{7|ŒÃÖBnþnVmZÊÐÌ\9ÿÆdŸÑ-á°°n//¯úO|y ¥ºuÄŽV£C­SÊíí“…GOD`Bç÷è–B‚BeÇQY]CNîA¦LVÛy¾]‰Óh0ðÐoïàÜ)Yäm[A›ÝzRbÑè ¨‚âx룯¨mè¬2Æïý9 E;±•îá¾Û¯aú”‰]–]¶z Ͻ½%ƒ¹ïITZ›[Í¿_ÿ°Ëô‘ó9xð0eår’ˆ“––vBË%Çv&Ò¶z»¯Û{eD³%¥¿÷!™Ëò`oj–ƒ#„B!„B!Ä)¤Vh»MS`m‰ïô«‘Ó~ü$ J#GqéoÅC¯×+;MñÃãsÒR¹%O?§ÌâŠÑ?–Ä{žœBÒ´±¯íȤæ Ü7ÜHüÕSqä·×ÿ0;q<Þní2Ô²sÿÓÌ1Û  %¡#®æßÛ9©£U{Ø\>TjåQ^”D›EŒm'jº?èàÍ•óGŸÉÍ?N¸B:b8Îv7²æWÙ¤^÷%»þ̤@Š€©<—ï¶b>}hÃ(*ÂÇüŒö´àðµ°ÿ¿î:Z0‚Ÿ½r çêm‡yç“Ħ@1_ÝOë7¹Ž">ûó|2Œ  3é“§“z&Oïwvl›âÔimibûæ5( ÆMšFÓù¥®¶ü0+ߊ}3‰Ñ!Ý–0<ž=ëÞ%?ooÇ4sP8£¦_Ρ’ºû‹ &×—$¥ aÿî­]¹&̽š²7(T×ñÖûÿÀÑfgîÔ ‘1½®ëoEµûxþ«{xvÍ/¨1o&iLaòîx<.?aº$tšÎýÙØ\GP@ˆì ±©™¯7ogÎìé¨ÕÑ>_µ…ß<ú"‡Š*;ï!h4\sù|®_8‡¼í+°5ן”˜tÆü¦(žøï{]’3ÓÓ¸þÊ 8{æDR‡$uYfÉ—xû“ ˜Â’ÐêŒýÛµåé¼\qÁì.ÓU*™™élݾKN1`:€Aeî×r…åÕØZO,9ÐÚ0¸ŸòÚëX·!ý­]¿µøÚZØ·s?¯ÜÌkö°¶ »ïû‰ÑSýŸ‹gÙ3Gý{në?@Umþ.­ýx[VSøÕBÖ¾8„eÏ$óÕ+sØ»ñmm®鳺®³ÏÛ=Ïò¦°eÍ"ln?x )ÿ| _¼ù;jmߺ—è- ôÓ1løè)þãÆ´ý¥Ä^û²ºÚ—÷Tý™­¯_@~M÷ªÐîò‡YÿâyäרñT=ζ—RX·êKœß:¶žªÇÙðÒy=®C!„B!„âtbÔö|ÏÚáé~ßÃ×Cý9½±3±¾¶ï÷å¿Sâ¡Îh#w芇Bñ½ª_ËmYºöÄ-m ®~Œå%zý)Ãyˆ—çE Pé ŠÎü?m#bÎL†˜~,• ¤Í»˜Ø²YUО”Ö’ó+J¡nËbvÕø…kQuçetÿ±ÒQ•KYØBžÝRIcõvË\Ï_îû?:Oâ± Hçœs#ÙûøC¼°¡˜&[3Uyëøßóï°¯¡–¶žß«ÚªR“q+ʪØñØVÜs3¯ªogUuy/ŸIþs÷óÚ^;8öñü5—ñXåy¼´¯†úâ•ܾˆ›/ù+ë|ÇÙîfük?‡_›C¨ØÔâÇߺž_ Qƒ_IИxa{•x f9¼÷òÝà<ð·Ý½˜˜ß¯§¢¥…êMO0UQAcO¿z˜ÇÞÂ;+hl(fõï¢øü77ñŸÝvð×±ò÷ó¹~Q ÷¯+£¡voÜœŽÇvä€Ù6!Ä©Q]Yλ¯?‡Ïë#{äx”G UY’·MK_ 1 ,A½'-MϪ%/c³¶tLKÊGüðyW6v¿²ëÕD˜Üï]ƒÑd¦ðpnǼ Ðh"3¦òîúÝSÆsé‚Û“}Z®Ë:ŠërÚ×ßJsènG`•„þrÚ½D'w™Öjm&È,‰‡6››¶1vÔp̦Žé»r X¾q˜¢yîíÏY¾nGÇ<•JÅyófqí%s)Ú·[KÃÉùTdÆ®䟯,Âîèü 3ïÌ™¤$'²}Çnš[l¼þÁ2>Ûxˆ˜!ÃÐèô}ÿþívRUt€ÑÉÁ<øËkšÒY1Îï÷³{Ï~rbÒ„±òBÎáíÕPSÀo8dwk ›·SòíŒB_ù9E&œiSÇqîÈpü¥…l.oã{{W“IÊÂ\ξ£”³o/`ÎO_#%h+ùŸßLaõ7ÇÓ§îUv}påÞ9d^²™¹·îeê¿& åY¶¿'em߹ς¥7SZkí¹Ý¥œ}[Óæ] ïçÀ®xTÉDOùáîÈݺ†ÎüB¶p¸2‘ø©·¢ëÃwomï}íÙ¾ƒþß©ôbÛ÷ yùeøäÒ „B!„Bˆ »«ç+5ªÞËÖ×uŽ€Üfï¼ãÞ{Ѧ@]×üõ÷±±¶«ñïQ+ú|¾.US„b°ð[Îàokj32 …½‰ª¼•¼ø»;¸â¢&>YñW¦†ôðƒ†.¾ØÀKsCqÛê)Þñ ÿõm̽ÖÎÊw~Fªî‡¿ß ió¸$öY­*àæ¬8r?_‡ná¸rû»,ÙSϹ3XûA‘ ž ÃÔÓ â™¾`>Ó2 @ç^>šGÿKµ 2t'ëØ3ùþ÷yMwÏMâv`Heò$u$¡&m/Ï´óç0"Öó2:6—̹ÓÈŒ‚™39h%9UVšíoðâžd~ýÅ=œ3Ô„só£á«É¿áù5¿ajÆ n·!žižÏä#ë¼àòa<ñØ~*md #\爐¨˜z×p†eŸÅ Ù½¬Ç4„ nÒñç´+ofÆ3wq Æ†¿b=Ï/qqñóó“±á(€c2Õ¶'5ïhß¶_Ê%Cˆ“®¦ªŒe¿Ã¬³æ3dh×tÎÖåäïXJjŒöØ_Ã,Az’-v¿ý4—]oGÅÄágœÇW%¹4¶¶Ðõ!°¨°öÜJdÒpJŠò‰OÆá´³zݧ¸ñqýÿ$9~h·¾ªš‹XºûUö׬$4QOBJ€Èà²zˆ ë¼N»Ü.<^w·Š’?F;vï%>.†Ä„¸Žiµ ͼ¹x†DtFcï.ÝŒ£ÍÅEs'u´»ô³7j÷?ú,!‰# ðø‚âiª-ç•÷–qÓ•ç¢;2 ôØÑ#غ}+Ö¬gåæÔ9TX"úµn‡µwK×]4“FvçhcÓ–m(•J.<ï¬.• …8Y‚ƒiné¹2a` ™–Sp¿Îí=þ¹îõõí9éã·óÑRžÏºƒ­èB1z¼x½*ÜÞöå<­ÍnÑ<2’ µE`4Ù‰¬-k¢>2–ÕÉŽïÈõàH>¯Ëð¸}G¦©@3Ëħ‰o\HÑæ¥„̽½ïe«ÿEKäÃŒš¾½\^ ðl¢gÄ£^q5×.Æ8ï2 ½„àtûß1ûŒkXHÙ¶eD„^Ц[;Šèk‰KYÌþ’õ4ØÆ ¿€Äñ_±kýÃŒÆø0üÍ’»y;†Qol:jù^ö›Ë¯}å­§aÄh^?~ÀÝ¥];ÛÏdžÏ_†Ùl§jíŸ~†¨@m÷vN_Ç~9ž¾´sy|(Š[ß@·“ø$>‰Oâ“ø$>‰Oâ“ø$¾SŸBˆÁ+4,¢ßË´8»ÞCü^Mf9zß³þT1T©ä!ÄऋͤÈ#Cˆ} <ÝÀú™çƒ=÷1uƱª )јÂIv=ÿ§œ- ^aiþUÜ‘õ£È&?z9ç>àîOöQ\À…Q\|v:Fàxu©4Z”øúõõò„Ž1™óXÌùt|­%÷Ùs™×0Žôð>¼W©4hUàû&—^©F§R`õùq4Ó¬O$3²3ADœDf˜µ•-¸2b»•¨uj>/~?¨òÒg:žþÓCL‰¼–ÄK~Ï_ÿúKÎM1Ñ=eÖIåúWyäOñÚÊô?¯’ȵ>?mõù”z˜HOµC¾Ù6!ÄÉUR”Ïê/3ï‚ˉŽíLNòûýìXý.e9+H;nÒá7’ã,Tî>ÈŽ¯W0qú9huF¦ž3«?x½ÆƒAßu])q!Øò)ç_ÍÒeïQÑPJúÐL›pZm×÷·’†¬Ëý}5kˆõ‘8F¿‹6›—˜´”Î/ÞÖF‚-?úý²s÷>¼^#†evL³ÚÛø×k£0G¡3¶?á ÖêˆNÉbéÆ<mNž3µ#/)!Žノü÷-¼,Q gpx,ûŠòyíýåÜrõù( ÆÅcÿxžƒÅµ¤ŸÒ¯uÖWcÑ{ùÝ/¯&2¬ë皊Ê*6mÙFzZ*ÙYò§LoI‡À)I:Ш¼§°.‘c“‰S×°rG*•ªý ÛÙJ›RO¸ÉJéC¡€À@šâV>/ÚS³Ý‘DH­% Ö(;¦y‡'<-›²-_âò^J c5u fÂÏžIH·ÌÂLâGžAÙª°µ]‚%DÓë¾1è”Çî35›òm_âò.$ ×v`ËB©@¯UbÐè1dýžô²KÉÙò<±Ñ?űí´Z~ŸÑÃQ{}Ý–ÿ6VE¯}q¤/¿JÐôÐέQ T™çS PÆ5ùç¸6ÜEá×ï~Õà9ª·|¿¸›ênÏ^kɾä îŒê[ûïX|>P*9n»¾®o ÛI|ŸÄ'ñI|ŸÄ'ñI|ßÀõû½ÕŒBqDâÐ$Š}/}÷;ñ°µÕF@€IŽÚiJ¡PàóùP©T8ÇS§ÓáóùP*•²ó„§¥Z‡N«Ã¨í{Ò´R¥A¥R¡QýX†[Ö“6÷RbžýÏ–U²Ê;‰G† !Ëyüv1ËRò(Œº˜³ÓƒúعŠóØS{IøùSŒüŽ{$$À¶õ¨qp~T{ò¡·¹„¼z‘1Ahûö. ~ô¹H°Š ¬<ðîî«ÙÊkw_ÁO:ø|õÃLüVþ3÷e~zÅS„Þ÷2;ßA´ûkî˜ss8Aî v—4áÏŽì–|øÍ¶ !Nžæ¦vn]%,’°ðÈ.ój˱ógŒÊˆÁ ëßׯÉ#ùlù+DÅ&“8¤=9)ÐEöä‹Ù¿öu† éú$šÙ¨ƒÊ–ò2õx¹ý¦?Ð5áÉåq°éðç¬É{¿¥ž˜‘:àôÐÈï¿Ïß~>òÏãôá°zÚ+'ùÛëí¼N{\~ÔÚö«¦J­…AÏß~#VgT¢ РPrÔ?Š>.8m>bB:+6·6ö£~]”–UPVQÅYgN?ê8ùy{ñJšÝz,–®‰™jµ–¨Ä¡¬Û“Osër~véÜŽêƒéi)üþÎyèÉÿPïó“<àñ†Åak^q+7sÞì‰ߟqãÕÜóàßh©¯$04ú¸ëq;T—fî¤L.¿pvÇ6@ûè{öåPV^ÁŒiSµÈPÜâÔŠŒ`Ó†¯INj¿^¥Îáƒ{Èß Œ ÃàU¡ì6Ҍˋ_¥CsÔu]¡R£òÛióøÛ?ß jÔÆhÔÞN[.N¢ˆ5ô¸ÍšÀlôþ÷i±Y!$ä„ûT£Qyóq8{~ÍïmÄVü"‡ó1ŸŽñ›Ë*‘èÉ÷Q»è!ö-ß„¯9“ÔùW Ç þyt_¦Q30jÀÖÏu(L³HyŸ¿u$ßõ‘ˆà1×p}ÖúüäÕSÞ¤eʼÔ:i±6uI·§Í‹ÓîÅëöaÖ„š„YH¤)„ S!±|;Äíq¡Qw¾÷·¹ì¸Üm4Yëq8íØÊ›©k­¥ÉÖ@c[­­A…ÆÐþß H-:³c°†Uq߈:VŸGõãÎ¥àýL ŽÞ…ú "F(ÿ=I×Yýæ\’Ì¿®åŒ‹†6Šã ü÷ÿb¸m^'1ïðøÇÎÇçMà^gË·®¨aù ã8÷­†L>‡,ã…«'=y3ÆÜöÖ;ø~ó®Íz€j´sÍ+þŽ™¡ \UÇ_EÄ”;¹}Âüzd$öÀ<ýæ¹Ç>ƒ=u¬|ôZnù©P>òR~÷ߘÚÃÈœcnå¯×oåæóâyÄÂ7ÝÂød3m^?¨b™ÿÌžùݯøË…CøyƒŽäI4z,]¶M1ðª*JYõÅÇœ}Áå„G¶?¨Óæ°³Ï6²GŒëh7vÖelZMZbh¿ú 2’ÒÀÒ÷_ä¢k~‰ZÝþpìÌ…,{ûÍ­v<^?»TbŽÁU·ÞHPH(Í­¬Ûþ±‘‰Ÿûý@«³žÐêÁ^ÍÇ^—ÝOsµ“ÖZöFmvšÒ¢Ç1,.›ðQ1„Ed¶`2`2óáªÇïÇæhÅæh¥ÕÞBMC9eµ”PT›‡Òïæ…÷ž >*™øè!”U1"}Üòua³ÙùzËv&ŽM€¹óÑ€û³lc–¨ã'd‡ÇPP[ÆŸžþ¿ÿÅå™Û«0G„…ò·îä{ŽzÏÀW>Tku„ÅeðþgkIŒ$6ªýõš•1”[®½”‡ž|‰‘Ó/B¥îz+ÅëvÓPSJB˜ŽŸßp5¡]“‹ŠKرs#†g“:$Y.žâ”²·90ê{ÿdïuƒª4“thÐèp¸ÛGÒðz½¨TÕs¿t ¾¤C¨5*^G7ô{=x*tƒª¾wk^u4µ9 =ïÓbm…oyðánÉÅI4fówëÓÚÙ'n@“IÊÅ24ʈ·e=E«ï£Ô3‡øa³Ðw»Ã¬AkÉD¯+! 4‚~êÐf’rAÏ}Žô¥PQâÂëí^FÑïµâCÛ~^úŽž@ð¨GI-¿œC+ÿIÀ'¿µ` öy¨e!„B!„BˆÁÁ¤ÀÖÖÚ¯e¾I:ìM[› ¥JyܤCŬY³z|þµ¬¸Š¸Ä¨Ê?TÀ´ïV½aåÊ•rô¿'äääPYY‰ßßûãÏ …‚˜˜²²²ˆŽŽ–'„ ¡¡¡ÛÐx²½BößàbÛþf.Xε˾äö¬®™™ÅÅÅý^ŸÝn'22Rv¬G¿– ³jùG\tùõ‡t&¶Ù[xõïw3qΕŒ™4»cº×ëaëŠw°–n"%®ÿ×Å »ŠÉœz ã¦Ìí˜fm®ããWÿDc«‹ig_Íð±S»<\´uÏz̦@2‡Œè˜¶6wËKž!*Í8¨ö§ß^·Ÿ–'ÍnZë\Ø›=dÆœAFüH£Ó‰L!À„É0è·¯¾^BXH$–_?\Š IDATBIe>–hâ"“‰J$-!›˜ˆøÅkcÕº„Y, ÏÎè˜V^UÏß_YŒÖ’„Vß÷s¯©®³ÂÆon¼˜ Î•ÕµüùÉçñ$œ”a—Ûì­(mÜsËe„[:ñx÷ÃOyÿ‹­¤ŽœÖ‘àêtØh­)bî”á\8w z]g…G·ÛÍŽ]{©ª®aúÔI„ËÅSœt—^zé ŽoÑ;ÿ>n·W…FåÐvJ{_íh nL:ÙíÖ*Vlo$nl:i …{Y.++™>>†Põ©‰/(°½¢±§ú)¶,YNØ24ꨛºÞƒ^|)eÆ¿0ñì 0xP´är õ÷3ñ¬Ë0• ç°í§ú‹«(Pÿ–‰ç^‰©—L9‡Ó‡A§º”2Ã#L:÷B45ÝÛùÛ¶’ÿÉu)ndؼ;ˆ ìºÃzZ÷7ý‹§ú)6-YND/}=ÿW„è•Xk“»ä!”S?aLzüQŴ-»“yùß n~œ¯?YCÌü÷Ñþäm|›Ý>D³iþ‰µÏëK|}ݛÇRÉ€­o ÛI|ŸÄ'ñI|ŸÄ'ñI|ß@õ[Zsüï=ß&¿9!Ä©½`4Ój·v™¦Àÿ¨;*a¦êíµøý~‚BCh®oìSÿÝn¡©ôxÛZ{M:¾SÒaC}–PI@ø>ÅÄÄÈÐÉB!Ä–—ºƒ[)÷†¨•Ý!ÄIÐP_˧‹Þ`áOné’t°æãÿ04FÇ®¯^Áçõv$ ªTjÆÎ¼ŒÍËWì!1&¤_}ŽÍŠeÙ'Ï›H|ÒP*+*O™Ì9“gc ëz£ÎamÄWSLžÏGBL &Cû÷“‡^Ⱦ²¯ii܃)Dýý^­<~¬5n*4W:1úÂI‹žÂ™SIŒJ#24­f`†ƒöû}øŽ7j¥­Ê€JyâuŒ %ÃÒÆ¢V©).?Ì-—Ý @]S5‡ŠsؼgF½³1¸¨d",Qô¦Ükcû®½è´Ú.I‡V{Ͼõ)ÊÀØ~%‡ÅÐÚXˣϽËu5fc{yêèÈp~wç<üÄó4i´‡Çèvè4Ùyíýåüòg ÐiÛ+b]tþ<öì?Hyq.ÑIY´4T£ñ4ñËkÏgxF×û$ÍÍ-¬Y·‘¨¨HΙ7»ËÓBˆÁAm &% š½kNÄì¬cW‘“À¤‚Ôƒ @¿uÕÛ裡1›Ô³1(u:qÓEý’?²ýËF2',$$H§i%¤´i"éó/ê5é°¯}7e“8yxzzïÓ'yöÝ4}ø(y[²™}'« òÑ}íûzfÌEa:ƒèÄ lü#…ºß›‚†l%op`Ç!ŒÙ÷dš»¯OrS7°å‹OpªFÈ‹A!„B!„?hßN:ŒOL¤ô[Åjêl5ÿßפCè!ñÐÛò‹FZZíýÚI:B!„HNÊ×¼Ï ×ΞIëö׸çÞ¯0÷S¢²{„`eE|öáÿ=~ Ey[ÂÐj;“ãÒÆ³±€‘éQl]þj†Qf Ñê˜0ï'¬ýø?”UÔç~õZ5ÓÆ$±òã—9ÿª_S\‡Z­aƼ‹Ð}kÍÒƒÛØúÅk˜u>|º(¾Þ¹Š9“/hÿ¨Ò0ì­¼°þNt&jí©½Nx]~êK4”;i®t3±ñÉäìÙŽÓé`ä˜3Pª:“4 s·³á=ÂÍ~6ï-áÌËî&k䤎ùN‡•ïÿ`u#Q¡æ>÷ï÷Ãê­¸ Iœ=ÿ'$§ev™ï´·°sí"šŠ·‚A§á@a-®˜±dŸFJüÐŽ¶Ÿíx‰ÍMožd8éûÍëòÓPÚFÕ!F_Ãâ&3&}C‡c6öin¯“º=ÔµVPÙTH]K5ÖZ¼Uh J´½•F‰F§@£S¢Ò(P(O<±Òïóãõ€Ïã§ÍæÅëöáióátxñ¹ýü¢ÌCˆ4¥gƸì)TÕ•SR™Ï„áÓ»þV[35%TÕ•átµn‰&1f– ðÓðý¾‰µ73wö4LÆÎ‹¿ØÈò-ùDÄ¥~ç>ZkÑ{¹ç¦Kº »\X\Æ_þù"†¨,‚B£t»|~å‡öpçµç1:{HÇôœ‡øøó•ÜuÛuèuÉ=.—‹-ÛwÒÒbeʤñÊ…Sœr':Ô²%6Œ†òºî¯¯¥ªýZš³oYÆ}§ø¾¯¡–×ÎåQ¡PpÊû…Ρ–E†Š“ø$>‰Oâ“ø$>‰Oâ“ø$>‰o°Æ'C- !Ä÷ëDxN:lnn&((è;¯ÜÓæD­ï¼ =$™ÊüBïÞ/G^!„b€>ÎÅžó8+K—]!ÄITSUÁ'‹Þàì /'6>€¬cÙ¾i%›Ö.cüÔ¹h4íC©&gN@¡P²wíÿËÚ%/¡Ó›’>Á̬K~ÅŠwŸDÓd'4øøÃÏz¼>¶çTbõrÅU?'2¦ku·’¼-ìÛ¸˜P½ƒìÔˆŽé‰1Áì-ËeŸVO\TbÇÐų‡]Áîe«i³Ö¢7|e+ŸÇOsµ›Ú|;jk#ÏäÊsæ0$.³OÃ'—4äPZ²†<ÊQí<ˆÖ¤BgT¡3©Ðƪ5* åä%v)” ÔZ@«@kìéf«›–†½Ô¨gؤiTÕ•Ó¥•ßïC¡è¾|€)ˆôäá¤'ÇãõPT~ˆ=yÛp{\D…Å’›F€)hп6Ê+«xéõw˜2i|—¤Ãݹ,^¹ƒØÔáÒO@H8­ðÄ‹‹º$&'Æñë[~ÂOüEúD-wÓZ©P•˜ÎÛKÖF¸¥ýxde¤ár9Ù»/—ñcGPWßÀ¦-Û‰‹aêå¢)-§Ç…NÝ}èïž’ޤC [Ò¡ÇãA­î_m@—çøï9^Ÿ¿ŸSÚÎãU¢PpÊû…ö¿ß|ø|œÒvN—…’SÞ¯Ä'ñI|ŸÄ'ñI|ŸÄ'ñI|?¬ø„Bœ>ŠŠ‹IJLÄÛæG¥ï[a‡ïö7éÐá÷ e8Û@§ïúƒRe~¡%!„B!ÄiÅélã³ßbܤéI‡ß°Uç±só jË9çâëQIÀHʇR¥d÷ª·ÈJ4±êãÿ¢¿â.bÚ«¦LA̼äW¬üàhÕNŽ1$b‹ÍÉæ=¥ÄdÎââù×tZÙãv’³ùSJö|AzRz]×D<ƒNC¬ÙAE}9»r73aD{%>ƒÖÌEcnãµm÷?Â<`ûÊÑ䥶ÐAå!ã“ÏæœñóÈ2£þØC5V4å“_³“ÃÕ»)o9ˆ]Q…1XƒÎ¤B—¦&I;8+Çù}~Ìj AíÃ.×5V“ßY‰2§blù;ñ¡é KBhñ–Œî_ÌU*R2IMÈÄæ°RZUÀÖ}ëñz=d¥Ž"<$­F;(÷Á‹?eÖ´É( 6lÚÊØÑ#h±:xcñj¢“³P«.î€p¬ðÏWsÏÍ—b6¶i•‘Æ7\Î_žyƒáSÏG§¸Jž;xòUžôÎŽéÙ™é,ùl9Q‘á455s¸ ˆÉÇ.M1¨YŒfl.×€¬«Ç¤CpŒbŠ>ܯT(N}»oÚ|ñ)•}Y—¢ßíܲóÓ×qôÖØ|1ÃüK/—L…òÄú=oõCl[zü˜Lêã¯ïdÄ7í$>‰Oâ“ø$>‰Oâ“ø$>‰OâB1(Õj|OŸÚ&%&ô9ézI<ì/C7¨túo½ñhÁï’*„B!„8½ìß½•¸¤š°Û¬M‰zcf.¤®â0å9+Y¦€³t&&¤`çÊ·H‹ô³ôÝg˜Í=„GÅ` cÆE·³æÃ’¨t`ìž Ußì`SN=Sκ‰Qg TvVŠrXÙ¼üU”¶"²R#Шz¾ÓHMîa ufcS;*òeÅÁðÂy”Ô¬&0âÄ“Ãü>h®rQ•g'Г¬a0~ö ÂC¢z]Æåi£¨n/»K×r r vU¦ †5–$5N‹s£Íê%@@p`n·³©3IòpõN´ MÔk¶²ªök¬ynBUɤEŽ%;v2‰¡ÙhÕz óK¼É`&#yÉ#¨k¬¦ 4ý‡vCJ\ú ª‚øæ;‹HMIfú”ö Ûwîáóe«X½ý †¨ ´ºÊÛNS›Çž{—ßß~Æ#A——Wû­á¥$éP!„Bqš)8”ƒF£eî¹—R\Ç®í;aZGÕAsPgÿ䬸à”ì_ɧn7ç.¼©cØå£“SÂ\,~ó).»ñ~‚BB fòù?gÃ’çHŽpb6vV>,,o"·ÂÇ¥7>Ht\×J‹õ•l^ö&'‘±!ÇÝŽ´¤Pr*ŠÙ¾w=ó¦.@}$)ëü17ñÌW»q´ 5ôoÈeŸÇOmAå¹6†EÌà†É1,u\¯C)·¹­ªÞÉ–üÏ)nÞ&+&‹† l ¡Ú€Óòüh³z±£Ñ¨5Ô5Vc2vÝŽÒú^Ò¡B!„B!„âÔ‹IŠ ¢¨æ„–=VÒ!#ñP¡ðã÷+N¨Óo' !„B!Äé&ÿà~šê9n2‰)é P²ìÃ×™sáU˜Ìí•íŒ!Ì»â^Ö}ò_rw¯æcg^};Zm{ÞÑɇÉ!m,zõ1.¿ùŽåâ“™:ÿ6Öü4©Q*ô:¹…uTXÍ\}ë}„„vÝê÷û9´ó+ wIr¸ ³¡oÃ$› ZÂõÔÖ–‘“¿›éã1E2sè,/y†¨4cŸÖåuû©Ê³SžkejÚÅÜxùB’b†öØÖãsSR¿ŸÍK)¨ßE›¦–àh-Q)jàô¯çmÑš@cK– ˆÎm÷º©w–fêšü¦Ö*Ó¦\Ô7náýÐï ghøƧœE¢% …¢óÉr­FGzòp†& £º¾œ­{×áñºyQa±§|»›¨ª®åªË Ñt½­ž–ÂÃ÷ÝÆÍw?Œ³ÍJtò0 Å€Ç`‰J`I!¯¼ÿ%·^}î‘û .<çLví?Àáý›H6ù„úvµÙ©)=ÄE³Çpþ™“P«;¡Çãa݆ÍlÚ²ë~r9ÑÑ‘r±ƒ–VoìWûï’t(„B!„B!„œN4é°/”± =u¢I‡B!„Bqº+-Χ¬¸€c&uTh­ÎÃQ±‰ÿ=÷ -Í Óu3ÓçßÊèIs©8´‰%oÿ—ËÙ1?!m £gÿ›WO´±•÷^þ+»­c~hTãç]Ïrëw–PÞjæê[ÿØ%éÐí´³cÕ;ïøˆäH fCÿ†GŽ DU_DAá>Z¬ÍÓ§e, Â? [ã±Ëí{Ý~ÊöÚ8¼ÜGºâž¼q ·\|?I1Cñùº©Ro­`uÞ»<þùOyiû”jW”a%:È!Hýƒ8G<.?&$–ÀöcT×XCXHgâaesmʆã®Ç¢!:ÃHP†•õr^Üz;ûü§|•ó&-mõ]Ú* ¢Ââ˜;y>±‰”TæŸòínnieý¦­Ì5 Àž+†‡Yxõ釉2º(ÎÝÖíü(a1Éä–[ùpÙ†Žiš!‘Fê*ú¿¬Íu¸ЏûgçqÑYSº$Z­6>þteååÜrãO%éPˆhe\^{ë6䱿Õ×ËüZ¾Þ”Óë|!„B!„B!DwÊò’*Ù B!„BqDsSswÆL4ÚÎaƒs·-'ûnjɊeX¼ûŸ)/éLlÒêŒL<ëZÆÏ8ŸÒ¼¯{M>t)Œ+êøàÕÇq¶uK“<Œð!SÑ… ãº_þ“¹3©Ëamä«wÃY±™Œäp ºþ'ïiÕ*R"õ¸+±y÷ü~? …’K'Ü…£B‡Çåï¶œÏã§|¿íÕ2L³€Çnü€Ÿ]ð"C;+í)•*ü~µ»xcÃC<»îV64¼„9£™¸l3æ0-JÍëá6§Í‹A‚%¨}Þk¡Á‰‡Åu¹û‘d©Ô´WBŒÍ6cÊld«ý þ¹êzÞúúŠê÷uk_T~ˆ¬!£Né6»\nÖmØLfzG%”Vñï7?¥±ÙÚ1-8(?Üu3£S‚9´k->¯ç¤ÄËÒ¹¼ûÙºÎs]«åÎ[®A稤¡²¤Oëñx\Ô•ç®sðÀ/¯fxFJ—ùEÅ|¹r cFàš«.Ã,K1hÈL<æ|›Û{Òúnmuºýán­aóöbJì¾^æ×±}w!¥v¿œ¸¶öæ:¤î¸ñB.]4Ý-´r[{kÖmD!—³ä‚ùx{Å$)8gQIº£Òä+&«‰ÚªÚ=—K:{<J*#iãÇ0/ΈV6xþ¸I£™kD+‰ëD @ @pî¢Vk†ÌÓzèPñýéÇŸÔ9ÝËëááÁ¡êÒ!’œ”@¯Å&Fí R[[Kaa!5558Î!ËÉd2BBBHJJ:é C @ 8ߨ°æ ôObF÷§õš:Ùòõ«ÄéÐiŽÔù5Œ‹u>‡Õr/c'ÍîÏ3u)r¹’ _¿ËÊÿ¼ÈÅ×݇êpèfÿQd,½‡ Ÿý“ìœ=$ŸEò˜énuWî&kãĆi1h5#ÖN­ZAŒŸ‚º2² ÷0iÌ̾t•e©÷ð÷Ï$Ì#…ÜOrL:’ä®Äèµu³«ì[¾/ü—±ï85F­î¼»^º[­Eõy¿kéhÂ×{ Ìr§¹…KQªSóHh·ºPvû‘6£?­µ£ «ÍB°økkcs …Å¥,˜7Óízørý.ª;œø… Ôèð‹Lâ£Õ;éíµ0gÊ€Hñ’ ç£ÓiyíÃÕÄ›…ZkQUvïþöúçX½›®3Í›€$I\0w:=&﵉¸±³ÐŒ°øPg0ÒÑkâ//ÄS÷_ƒZÕ÷Û™;s*ë6í º$‡ð¸4Ì=Ø:jX>g‹fMtSZ,VvîÞ‹Ýá`Öô©xzzˆ RpÞàp9‘K2vr…pÿ'@ àüÄå’Ø›ÏÁœ"ý} I"øYÒÖÒBjj*Õµ'eÐ/!>¾Q´¶T÷`ÿ/šÅ–à3Aaa!'ND¯×c·Û[^¯×3qâDòòò„ðP @ 8U‡JÙ³m#×Ýö ›ú½ë?ÀÕ^DHˆ×qëð4h˜91†ÿ©§“éó.A&ï Ù7fj­žï>y…Oßý;˯…RE~ö^|CIJïV×MS[°žø(_ÔJÅikwt˜7U5lݹ‡Å‚SW^r'>^þG•Ý]¾Š-EŸÐ¥©À;VçyèáðHÌv òPü¼ú„‡6›OÃÀuRÒ°ñÔÇÎÖ¤cæìËûÿîîé¤ÛÔIXPô™igo/[·ï&)!Î-ÌpQy ßnÍÁ7$fÐã”j !Ñ£Yµ³ˆÆ–n½b@Œ»|éBÔ*oü÷;bÇNGçá=¢6ý‚iª)eåº\¹dÀSäßŃOü™ŠüÝ„zsßÍî! ±©™m;wIZjŠ˜?{ªë« ÀKçO»© ÀMtèkô¥¥£eðã«k0úúá¡U^s?½Ã)V]'RÀv‰ IDATÎá”p¹$96‡l2}m*ÿtÚg¶8[Æbsg¶œÕî<aŸ°OØ'ìö û„}Â>aßÉ—ÎEêš;9˜P°{&‡E!SiDÇ~vxûú%: ¢¾¾~Øu ú%d8¢C`PÑattåå•btF˜ªª*¦L™‚Í6|O“z½žÚSP¥ @ ?w¬–^Ö|ù__r Z{¨Õê²ô²a×¥Q)˜=1š­û>Çn³2cáe(•*"âÒY~Ëoùìí?ñöóO2mÁ•¨USÓûw¹\doý”¶òÍ$Åø£ËNkÛÕ*öîVÊröœžÁE ®;*¬rek>_î…zGþ14ZqÑV³Ü/_šÛÐë<Üú®¶­uˆü”ÎÑÝl%Æ8O­oZqe>Á1g¬²ó "6&ª?­­£›·>YÆ'¥zè—m2¹œ€ÐXö—”ñÉêí\¾(£¿.\8½NË?ßYIlÚÈ‹}ƒ"Y³-Ÿ¨Ð@&¥Å`Ðë¸ã†ËX¿e÷Üz^žîÞóQT\ÊŒ©“ñóó¹àgG€¯-­ni?ˆ~ÑáJt €J¦Àê´Ë¥Üñ“”“É\H’ ¹ÜRî:*ß.ëK*ÿtÚ§Ug½wžñrN'ÈdÂ>aŸ°OØ'ìö û„}Â>aŸ°OØw¼rÃ{>Îìرw8ú´9õ­]*+$:1MtŽàç‡BG8¿S8]'$:ñ/Y?úû{Š\.v»ý„þY­VœN±Ë@ ü|±ü‹Yž’äþÏwñ  ö­¨þk® s/ë9;^ßOûO0]::‹XóüÝÌÒ )’yxsÛ°Ž³Ô|ÏKwÍ!Zs¸ÚæÝû [ê,eòžgzdÏe›­ÃVô:sãfñ¯ë¹1vö6¼÷ób´H’„.f&¿ø¿õÔXÎÎëÓœýC@ 8;(ÈÍDïiÄlî9*oñuO`RSVÝŠÝ1ü…bzz4 ù«ùöã×±Z&)ŸÀ.½ù)jªÑÒTOÂh÷p¹Ù[?¥¹x#±á>§]tØÖÝËwÛK1„Làž»þ€J«¡³Û}ÚRô¯m~³!Iz”¹¸`~Xg»øéÃÐëùn5 ¢©ÉƲxÞ46mÙ>pOd³±eÛNº»{X´`® ÎyÚM]ƒ¦ÿXtx2¨†Ÿ):tὯ­¹U Ž@ @ ‚³ž’CõÔU—‘"gwV6s·èÁ9N7tĪ榾ÍÇ£ÂFÖ]t`—I'|>@xdØ|ƒÂO¸Ò޶æþÿ75uŠQ!Ç ý¢C@p^à?“—ò-¸\®þ-«®!r¨5QÇ­ß5âr907³æé¶ýövþ±·ëŒ›n.YÉËŸ¶0ýÁß° bxá-¥ïsëŒeü¹rÏí¨¢­³•C[ÿÊÔ¢gX<ãV”O…§Œ¿ Å›¸'Iu*+eÿ^@ä¸ÿaW×é; %ïÝÆòÿ)cá«Ù4¶5°ÿÕ‹éú×õ\ûB=?ý*}j}!~êªéìlgé¥×a³ZÉÏÞ‡Ý>àa\çáÍœåà3‹‚²FœN×°ëž<&yg6Ÿþû9,½ä[Ö³ìê{™µàb7y¹;¾¢¹x#Ña>§µÍNä—7³%»•)Þɲ«ïÆèåËØÄ)ä—p+;Ê? ­AsʺŸ#]-6ü¡H’DK{~ÞÂúŽ2zå§&°1u؉1L!Ì'¾?­¤²€ ¿P4êÓïu²¾¡‘òC•LŸ: ¹|`ü?[½³#Ú;¬%?<ŽÌ’VÞúdvûÀ.ø‹ÍãŽk. xß÷8ì¶mƒB©Â¡òæÙW`µõ½"çSTª²@K}Õ Wjôö#y¹yyìÞ»ï¸å&MÏè””!óíöt!<‚c!CãKÆÅW3ç¹M”µ˜3j!ýW|± h\ů~ü•¬|âq¾ö”U+þ‡©Æ¾Û[¯ñWð‡ÿ`Ÿ»ŒÇ~{13Þ]ŽÿÏî©€O^ÙKØ£«yhAjÀÁ/ùçÿîaÞÞ%ó¶ç˜á%®j@0|êk«Ø³}#s.¸ƒ‡'I©éäeïeý×’1wž}“ŠJ­cüœ+ñ‹%sã ¼œøuÃ:Grt¹%å¼÷âÿpÝ=O³ù»•øú21cN¿èÐår‘·óKêò¿#1êô>G™-vvæT£òIä¦ïÆà90qû‡‘_z€úæj‚üú6¦…xb¬ß…ì«û¿Ès'Ä²Ë .§ œàrõým·:±õ:p¹Ài'.d2 §Ó…L’)A®”Ée(Õ2$H I&!ýHG#ïõ$Ч/ÄhGW¾^B¼CÍ茊SjC[M/§]uij ŠšbfŒ_xÚû¯½½ƒÝû²˜9mjõÀ…5›÷±-§š è¤“ª×/4†Ìâb kwpÅ¢iý¿ æÎ ½½‹/¾ßJÜØÈäŠi‡µ×D[C‹¦A¥Ty ‡òŠJf͘ÊìSyè×O3Î4Ì…¯·˜ç-Ñ‘î޵Ç.*Ês²r@.˜8t¾!˜y3‚‡BY @ ÁÏ ‰ìÂbzÚ›Jdæ“€ÆS¼Kœ{è=4huŒÞ~Ô×TŒhÝnŸO䆡_šº-b$N’”äd z=ûd ùO­V“’œ|ÌzNÔã¡Ãqì—¥öÖ}¼q× "Ô}á-}æ>Ŷ—0@p~à´ÐY—Ë—Ïÿ‘¯™ÃÕãÎþ°zŽêmüg³÷ÝÈD£û-¯ä“Ámdлñ?ì¨=,<ïÊâ¹Åþ‡Ã1DzèñO8ØÕ—÷ãPË–Úuüù’Dt’„¤KâŠç6Ñ`;ÖzÑʦSˆýÅ:*ü)ž’ÇtžÏ;M÷  =V'r…숛£çÒ³ŸƒG{^q”¾ÍÒqó¸ãÆ™øKŠ€‰ÜüÂJ>|jA’„ä1ŠÅO¯§þ°®ßZ¿™Þ4™P•„$i‰½à1>>Ø“¾ÐÕ Æ,äÞû/cŒ§„$Éðs/îmÃIÛ }ñ¯R;ôâë§/e´‡„$ÉñO¿™×²;q8;ÉûàáþÐÑ’Çn~ëààÞ{KXqOÆaÛ$䓸íí<º~X¶Í|ó‡‹IÔIH’„Œ™¤ÄÎëkýfñ›~ĦïV2*>ƒ‡gšNn¥¾` ï½ð¥…9nå#âÒ™Õ¯iì5r¨®mØçD¸±‡çž¾I.gòŒùnžkK³(Üõ%1a§÷eE]³‰o·‘4í:.¿ùQ7Ñ¡Óa§äÀ:zK2Ù“õ=VÛÀ\>'ù*4]¡XMgÙ¦&8m.ì½.:jz©;h&}¹kZØ¿²‰}Ÿ7²÷¿í”®RѾ5Û´åñ®™…ól‚[ç‘Ð{%Á­óðošwÍ,”…ã°g%о5”ÒU*²¾èdÏ' ì_ÙDîš 7·S_h¦±ÄŒÖá‡Ñ“¹™L†R1 ЫhÎEm8yñœÕä$P–BlàØþ´ªúr|‚ñÐO[—vu÷ÐÔÒÊ홤¥&ãe8WEu#«·çásJçðcÓþJ>úvÛÀ=Œ$qÙE ¤£ªè.ש_k]mMt7”p÷UsY0-UßmÀj³±lÉü|}0èõ^px|syå†+y`m½˜/‚ÃlZ÷5þA¡$?ðÒ ­¬mŸ3it8¦^;ëV¾À¬£«//J=]x„NþáñøGŽ¥¦¡˜èБ@¹\pðP •­j.¹õ¢bÝ7;™:›Ùñí«¨ljUä‘ÉÄÔ}Ï*O–¤ÞÉÙO–jøÉÆÌiwÑÛ餳ÑJW³S»s§¯x"œ„ߤ |xê½ñÐQ)O=l®Õf¡«§ƒŽžV:º[©¨+¤¤:—Šª2Þÿê%< Þ(*‚K"HˆJA©PÑÐY:ðäÃS·×ö²4öb¤Ãn].¥•ûÇätÐÕÝÃ׫7PS[OZj‘á¡ýymݼòÁj´¾(T§Þ§~á±lÌ, À×Èœ)©}w1J%O=z7øÛËÔ•å2jôIÕm·[ik¨bL”7×Ý~#M|¿ucG'áVvtr-­mä,"91^LŒ‚óç1œØ1²Þ ½ ZÑé@ @ Î:\.™9ùØL]‡SìÌœ2 ‹Ò5ß}‰Ìå¢Ï#b ‰ )è½ýE§ ÎzÚÛ»Ð4˜º{OëyNÈ ƒ©³§ç y‰ñ‰tvvyìù*:ü¡Ä‡ÃÇõ`øcœN'.×àÛ×»²Þ祱üvÝ#\§Xti²øå ‚së&Ðg*ÝÔHzš’©ú ¼þøý\}I;_­ÿ3Ó½™[ÕqÜúÝ6ÞXà‹­§…C™_ñ÷‡ïeÁM&6¬¸™XõϨƒ”ÞÄ$Çâ­…É·ðìß¶2í®7Ø\½”ËŽ(Öy`ïÖLâ÷ïÞÌ„P„^Ë}óþÅ}ŸfQ¼ó´¬'>v^d<ù1ïh~É# ¢¸Ï hcɘ¢Å®Ä÷(¥Þa´áÌX:Ÿ1¡ZXxãB HZ0ƒ¤#Ì^N†qùõÝt˜ÞåõìhþîW,Ž×þÜñ§gY—ñ(¯lz”é‰}uͼôbf$j –\5Ž?ý¶€†HêºÑ†3㢥d®sÙU£ùß¿äQ×Qz?ü5ê*ÑbMetÊÜš2D=úQ,»uTÿŸ3®¹ƒY/ü’ƒ=¸j·òÊ—V–¿ò{®ïŒIOÄWÕ'<ìÈìkÛbʨ¯©¢¤0ïø¥{zåAl=-8x{jX05Ž]Ù_ðaY—\÷zCßsJ­cò‚ë) Ž!oûg„ûØ1zh†<_Ie+&e·ßó8½fön#mü4<½¼ûëËXzû6¬ ¬:sD=Ú.¶gUáЄpíÝ¡3¸?ËUí!çg„x9ñóêóükêmæ`îb#“ðöì ý<:l)U ¨jÜ„g€ê̬ñ=-v:,´ÕYènµ‘4…´°4¢Ç%áçDDPìi·C¥TãëÐJy\B9E{ÐÎÔ–@U}9­”TæRUW’‹Üü,B\|B4hŒ2$ùð77XÍÔ¦`Æ„ÏìOkh©A­Ö`ô8=žù¬V;÷ì'!.šÅ f±~Óv²ó2&%‹ÕÆ ï~ËŒZ;2ÂS™$Ã?<ŽVïèjÔjøžþëK4V—vbãk1õ`j­dñÔæOK#sv‡¹330ñcÊÄtÖ¬ûž À|¼½Ä)8/±š­¨´GÏí#-:hï6‹@ @pÖQßÜIñQ"}‹ŒÅ)©J ¦ü ½VØŸµ—3/À%¾gÇÒònÑ!pb^@‡28¦èPÐÇâÃÓ2€þ€Ýnö¿cÕÛÓPH«2œp/¥@p΢Ç”4TH(uÞ„»Œ§ž†qõ+ù$»ý¸K RïOìŒ[øÛ˰ç-V•ZÎêöjýã “Õ°¯°‰£}àÚhÈßG"œ8ÿÁ<‰HÃS ‘Cmî7¦æRJ>çªHy_È_)€ Þ,¢­µ‡¶Ó´^œÔØé¢YúÔš\¸\.\¦\Þ¸ÌCðü‡áYJ®D%çš|™µ\Âátan=D‡&’¤À¾“{E‘ä礱®ë Õ©ádø!e(Ô $§— ‘WðÆ7/2«ø¦ú2æª?óMYƒo°P·õî‡^’‚—ña¹ §ÓEoK)Uv?’B<õòùCÛA›ÖEL\âQéqi³˜°èNŠì4¶ô=Ÿ<:‚ E¼ü4å%ùnåGÎ`æò‡©éÔPU?ø¼UÛÜMY›šå7<„Z£ÅèíKRêx¶®ý”ƺªþr ¥š ó¯Ç=“Šf¬vÇ)·³³ÇʺݥøÄÌàš»~ç&:´Û,ø~[Þ!.XŸ—¾?/<Ȉ®«‰]6âpرdÌm8½±š§mlœ6­½mig÷'8òã™ìq /|ƒ×ÚÊã7¼Èesn'=qúE{w+¾^Èer¢BbIOÊà’¹7°xÆÌ¿„__út7г?Œ½Ÿ7Qº£‹ÖŠ^œ¶ãÇ4íl°2%f*Å€˜µ 4‹ø¨Ñ§­=™Y¹ô:ÒÓFãeôdÙ¢y´wt±mç>Þÿ|=-65:Ï‘=**ÃX¹q?Ù+úÓ z?tòžJZê+†]_[c tWsßµ ™”:еë7ãçëìéSÝD‡«¢òšûµŠ)“ÒÙ°i›˜ç MMn):;v’è @ @ ç‡ÄÎýûÀÑ!V&9˜2a2’B‰\îbêøñÈTG¾¯­¢½YDœ=üXËçe<Ú‰@ttôi;¿âtU\Z\¨¸X1Â?âñaTd$'Œ¶èP’$œN'r¹‹åøÂµZÓéD6„ÊZ债k?z¹À_#F ül)Ô¨Ujtªá‡8”É•Èår”ò³;ܲú`ôj/|õ!X­ :AmÐk $E#)z—̼™ö®Š*³ÙW¸™‚ìÝHžmÄèñ V!SºÏØv« E·“'/X‡;š°Ù­ú†œ–ßDaqÝ==Ìž>uà¾@¥dÚäñìØ³Ÿ/¾YKüø9§åÜJµ½$|»£§žÈ¾ð$¾>Þüî‘»yô™ Ñy ÷ô²›ÕLK]éqþ\½l1¥¥eÔ1kú¼Œî75õ-¼þá*Ê«yäöåŒIˆ ÀßÐ ²ó “’$&JÁÏž@ÿ¡C8°{Xu4Õ5à(:S @ Á9OyMµ•%ý^Û¢Cñ ëÏ÷÷Ö“8†‚ì¾÷&v§Œ=û÷°`þR\r¹è@ÁYG{G÷Ñ×yyùQiJ›ÉvÊç;mÂC!:I’˜4q Jcc#ÁÁÁøøøS°èr¹0›Í4662ø*Ÿq×s]ôû<{ÿ3„~¼êšMïŸÔØ9­Ý´5V’»ñþïž's̳|{wúSìZ¯ô¸%ù]þ÷WÏ‘úâ]LÒ–òñO°Þû >‚tÜKG÷E•Ù~Ì#º~ÌŠ=!Ì¿0@¹‘àP#ÒžV»¿³tÔÒìôeJb,êòV}Ef£t@9Ÿ;>Ã/ú5“<Ÿá²‰²}ù4[ÝÛ&œïtwuRTMÆÌ…¨5Z¼|üس}=AÁaħ¤÷oØ ‹'àò_R°w-ÅYëö´àcÔ1?#–};VPUšÏ…WÝ…V×7ó¨µf,½Ü]«(ÎZK¤¿µRΞÜjf^r!6´7°ó›WHŒÔa³iXóþ™~ÉýŒNŸÖÿœ:uJ¥šƒ»?%>Ê­úÄÙ*ë:È«q°äº_뿽®ì9[>"ÌÇ…qhvA~T7V“—¿ƒð h<ôF¦Å^LnõzÚ Ñ{Ÿü£¤Ë ]6êKM¸Z $‡Ìaùô ˆ KF£>¾¨Ñl릮£„ªÖBjÚ‹iꬦÕRƒ…NÔz9* ¥ZŽLJr¥„F%#X&A¿”|°5ߎËY‹Ãæ¢Ýæ¢ÙêÄÚåÀÑêÂfqbëu ë5£œRqѰžû¼=ý˜ëʽ™=9]W%k³Ì$'ò°¯õÁòÓ¦$¢‹Í…©>wÈüŽ_[æÅœ)!Cæ¯+÷fjz ºîjVå ž/ìö ûÎ>ûúߘه¿?FƒÅæ:ãå„}Â>aŸ°OØ'ìö_ö g3›‹=™{¹ú¼Š¨N&Œn‚B'ãS“)+/ÆÒÕ@IUiu•ø‡E‹Nœ³œ¬è°½«/ÇŠ3itIq±q1bôN‚ÄÄDvî܉ÍfÒ‹á‘8Nêëë™:uêà<'òÈŠ÷àÑ'¸wÒ_hr€ïÂ?²jº ‚s Ww+~y7¿(>¬Ú÷˵¿ÄÚ{“0Ô\f)æÍ…¼ùÃߺ.|ð¬úõe$œQ°ò_˜Ïä¶Ò¿ç`–ÿ©mbË_2ì³·&î&ÞÞÁk¿š‡&?C¥PG1ûæ§øö[™2 úÓxûP÷ÊB¯¯Ã¥ eÊ æ¿½Œy!yNâÑßFþë'¸&å—4Úãtýäc–g½˜ö÷Mºš‡Ó1yÎâåÝk™|üÖwìl…¼ºp¿æoìþîN”¬¹uKÞoeTÆb.}j5¯]—Á0tŽÇG7†{ß_óÑG¹)ù)ìZâ–<Ì[Ÿ=Îl_ ë0<¦ÿ¸/žoÉBb¨M IDAT±¯`{3þtwÞhäø§]Îã¯>ÅtŸA–íô»ùó-{¸ãÂpþhófêíw21Ú@¯ÃòP.~áK^xüAž½hwµª‰E›ÝÇ­mÁùNAÎ>âÇ Öô-ÁaTídýG#+j<^y¾™W’$’'.$lÔv¬y‡¶ªJÂLIAy+^y𠝾ßMT8zòbÂF¥±éó¨¬(aü¼ë;if~OG[Wþ‹øp=z­´0cb$Û¿z «ÅLúÔù÷þ¢Òè(Üõ91Ajtšá…»/­jã`ƒËo}¿÷ HÙ[>¢®p qáFtÚã í£Øw¨½9[˜3eißã\ÉEãîáíÝ¿F­·£P˜§`§ÕE]±‰†!š$nšqq£1hœ;]d’œvs•-T4çQÜ´Ÿ&K1j½ µ^Î(G¬ D)ž§|H2 …ZB¡ƒ{ß7•™ñ¶û¹¥ýcí(äJB½ãˆðI$Â'ð£×p•– É3™<“kºï'¿|/öÆ®ýŽÒ¢´y0uβþòæ^&saA#ÿòª³³‹í;÷1wæTôú±gu} aAgN@Dh0õ?4YÌø‡üCÎcP /¼ûÜz)ž†>{¦NÇuõ|²nñcg"É^öµÔÂSiá¡[/Álêbó¶]Œ“BdD˜[Ý]=üû³uäW¶ãƒRÕ÷ûoílãó5Û¹zÙ, /ärrR<rò˜3#CL˜`·¸P¨‡7Ïw™-èôZäÎãpRÊês$ËÙº9SAU¯_¹¥¼ïc‚ËÚÁþœJZ|Ù;Ú£“’‚2v”1?ÍÙ™±O«>òDv:»,(} xkeX[º°küðÑI‡Ë žïo¡•¬ÇÉï;^á¥?f¾Ò×€‡R†ÃÒ‰]ã?h¾°OØ'ì;Ûì;òÛÈd?ž_†¼K?ãå„}Â>aŸ°OØ'ìöýÜìÞó‘@p6r°´ŠÖ¦šÃÞ]ŒIˆÅÃ'à¨àf:ãÇMdëæï.—‚]™{¸00I©)øIQÊØœö3r.O¯£Ý [x8.)ý…§d€ž,¸›‡ÓU(‹þ¸†Ê?™øçþÿɼã۬ê_Ø'ìöö @ ‚¢Ëd'3koˆe‚ÔÔq¸†x÷™N^A(M5T5´Ru¨„ˆØdÑ™‚Ÿ›ÓNcm=!A§ý\í=G¥IsæÌqý ß°aƒ}@ 8immÅÇÇG´÷\¿™Þý;f]µ“_nXÅ Ñ2Ñ?+ZqS•ñü®O¹<ÌýéСC'\£Éd"00Pt­àœ¤×lbÇæï˜2s!ZmŸ0Én³°þãçPµa<¬*hëì%«°ߘ©,¸ø&tzƒ[=-õì\ýgáA^à‚Eu¨Ç3wéuxxzÑÙÑÆÞß“1ë4ÚÔMÓQ±…˜°¡ÃoËaŸ°ï'´/"Ë'ûräOÙ9lFf‹óŒ—ö û„}Â>aŸ°OØ÷󲯪ñÄ=Šo‚Ÿ[÷呹­ÏG NfOJ#9mr¿·C³ÅJ¯¹ƒN‹RÕ÷¡´ª…Uk¾@~ØQX€·†K—]†L-Š ÎÞ÷e¥eÄŒ:}Ž…ðP '„žûØë¿ã‰K®ã¿áÿdž÷ob”Zôß¹…šM³ÞšÎ¢Ití{‡_Ýô;r¯`óËË–»—ÂCÁùFîÝh´zbRúÓòv¯¢6û+F…ûU¾øP3U:f]xqIcÝò¬¹»VQ•÷=ÑAZ :5YÅu´;üYtÅÝT–2*!¿€]eÅû×SºûRbŽkëάJ<"§1oÙ (U“s[c%;¾y…oG¿PÀér±;§†nYWßþ„›è°»½‘ï?ý;áÞNý 'Ý]½ì®î%!ã&¥„ŽÎ­ÞÆÙO–ztݦ&‡òºñ±Å³xâõŒKœ†Z9¸Û¨ÊÖ|2+×Qа‹¦_%z%’ììtݲï³Fž¿í{4‡Cön/ù‚Mm/á>´[,—ÓEO«ŽF+Zk IAŒ‹˜G¤ÏÀ5¹7o+Fƒ7Aq¬Z¿ ƒAÉö½[IKIeÒØ‰†Œˆý…ÅeTTU3Ötäò¾È«çßý†f›ï¾ë´½±ÔÍ×/ÁÏ{@€×ÓcâÙ¾A}‚ˆÄ HÒÈo^¨-Íáú '3cÂÀNáêš:^xs÷Ü| Í-ÍÔ74’1yÞ^F÷ë©¶‘·?^K£I†O@2ù±ƒ<4Õ”²tZ"KfOèOËÎ- »§‡ŒÉÄ*8'êE£ÙÒ‹V=<~=Ýè Æ£3$¸„‡]­xÝïõ³³s3f4UU„‡»¯gVx8PNfªeÝq„‡ŽžveVa c~¼Õ²Ïèy„§â¶ ¾É´2qF<¡ÎfÖn©&dJ1*ZµlÈü¾u³«±œõ9¶!ó8>mR,ÑÊÖ!ó'ΈÇËÔÈæÝ5DL;h¾°OØ'ì;»ìs›Ç…0CØ'ìö û„}Â>aß´Oç"Íí½|öåg8,&|=U,¿è2Z=lÛ—Enö^$— Ir29-™qã3p¸ä|µauE‡kr° c"±)é¢SgÝûÀ3…L @ ç‹•ÀK_âë7®?­¢CÁ™B¦lÞ¹e^~$^û²;V°úÿ]x”èP 8ß0õtÑÒÔ@dLÜ@ZWÅ™k 4zL\¤c#dløè¯¬þüm,½æþ<•ZGúÌ˘´øn*Z•TÖ·“L¬¯™·þß“(Uj7Ñasm1%™«Hˆò–½SÒ"è­ÛÅÊ÷þáv^ï€f_þ+ª:”4·õ½qº\ìÊ©ÁeLàú{~ç&:lk¨`óçÏ$;%Ñ!€ÑCC´ÞAqÁšÛúÓG‡M#Þc]ÍÖþ´î&¿o£mŸ?W¥>Åï~ñSRçõ‹N[ߨ:ÙVú/l¸—7ÜK±ü<“; NÐcðSµ¢C€ï ý¢C€ê¶"ÔúcO¶’LÂà§"4Ù€gJEÒ7¼¾ç^^Üx/{­¢µ«¦¶:b#’)(*!2,”ù3gó›û#,(Šÿ|öÛvï¢Çd>%Û›[Û(*)gfƤ~Ñ!ÀçkwQÛE¿èÀ+ »&ˆ?¾ò) -ýéz½Žn»o…™šâ¸\#ZÕ?,ŽÏ×í¡¢¦±?-,4˜+—Í狯Vát8Y0gÆQ¢ÃÕ›öñÿÞþŠn¹/~ÁQÇxû‡ñÝÖtõ ômRBMÍ-´´¶‰ITð³b¸¢CÃbB?ß#Ö0—»·Ã‹~Ñ!@xxII ç@︰vÖ³k%­ÆP¦Æ -:<ÝvôvubÕñT‚ÍÔI·Ü€Ï@œÖãçwïxÃpê7wa:Ñó û„}¾ŸÈ>@ @0\œN‰½ÙÙý¢Cp0%}< mß;öƒåµdgíA:ìÕÐå’±/'žöfärSÆÇ%ÿ!ªœ½9¹X{:EÇ Î"B#Fðm–Rx<Á‰!< DÿÛ‡‚ó‰í›Ö—˜ŠÿÞâ6|ò<UøzéŽ{|VqmVo.¸ü.B#F¹åY-&önüˆ¦ÒmX­.$ŸT.¿éÁþ|‹©“ ÿ/;ž†SygÕÑI—Üôˆ› °×ÔÉ÷Ÿü/e•õ¸<ãX~Ã/ݼ#6ב¹îm¢dxèGF]n±ÚÙWÑ:f̼¢?tWoϯ¿ mTu…&Tm,™p’g êá°¡«‚]e_“S¿§¡c° µîÜQH·ÕöѺŒkç?Пöâ†û‘F•¡PŸøž>‹ÉA}aá®é,s#!þѬZ·‰% f£R „c6÷š)*© ®¾‘èÈpâN<$BgW7[vìaRzþ~ëòºíÙ|±)Ÿ è¤Aë5uak;ÄC7^H°ÿ@¸n³¹—¿¾ø6Õí–8~Ä=ööt!ë©æÉ{®D§é»Ž]._¯^O|lŒ[ttõðÎ'k9X݉w`JÕ‰…5élk$ÜÓÁ÷.ïO«khdV.KΩàœãTv8Ûm½(†ðP[SUƒ_€ê…Òét˜L¦aŸãìóx褻¡†Í¹MX}#™=Ú/Å™µO„Zö û„}"Ô²°OØ'ìö û„}¾sÙ>áñPp®QÓØÅʯ>Eröm° ôdÉ¢‹‘©Ô€ŒU›wRQ˜ívŒ$Ù¹bÉb|C"q¹d¬ß¾—âüÌù.fŒO!5=—è^Á9ö>p$Pœè»µbèC2™ §Ó)FV @ üdÔ×V!“ÉÝD‡õ‡òéjÈ#*6hXu¤ÅÓÒaâÓ—Ä70aú¨‹üTj‹~Anf «¾XÁ½wÜÒœËå"óûñQ›ð4xœ°ícâƒ)9ÔÄ'oý‰Ënþ :}_'s¯üÿ}íiäú.¾ê7ÑaMñ^r6@l¨ƒnä|5©U âTì+Ï¢(2™äQ}!¨=4ÞÄ©§±éëo¸ ãvf-¼£áh±yM{›Š>¢¬c/J_Þ)*ä í9wM™ÚíDÆ÷ÿmwØhµ"P}r¢;µNŽL!¡·ùCN~Ñ‘an¢C­FKÚè$ÂCƒ)*)ç»[HKI"0ÀoØçÊqp`^FJË1*:RL¨‚ó†¡D‡ …ŒÐðÐÁçÆž}8骭`C^ª°8æÄzaT8~S”^dÌŸ„ak>-‰c™U{é™ÄÒxV‹­"ÿ!òåŽ ¼6çÓ™ôG8ø¹$ëÿ6 INÒSS(//Ânî$2ó2jTZ£¯èdÁ9…ä²ã’Ü¥ƒ M ú_.hi~¡c‰!:@ ?)K/Es=vÒÀ ›…}?":Äû„êò5êX:;‘¦‚¯øÏËOÓT_ã–¿Ïn®¾å‘~q @ñþu˜ë³ ñ÷8é6ÄFú0Ê»‡ÏÞz–öÖ¦¾úZbÆÌá²›AoðìO¯)ÞËþõo‘aQÑáøyéru’“½‰®žÚÚ›ød嫸L*ž¼éU.šqÃQ¢ÃºŽRÞÛù /m¿:ÝüSx…¨‘+ÎÍpÝ-6BýDz]•Xe]']Ÿµ×³Ù‹IIó°Xíªªeô1B’úx{1eâ8Æ¥¦•[À®½°X­Ç=Ͼ¹èõZ’„yÝ&Þüd#jßTêc‹@U= ï^xo5¹ÅUé*·_¿œ‰ÚÒìïo¯€P²ËZX»-«?M©T2!=ï·ídÅ—ùç{ß!3†ãyD˜è“ÁÛ?œ—ßÿ‹ÕÖŸ–7ŠüƒE˜{{Ť*8ï±Û455ÿ7¥RŸíêjb×ÁT‘£˜ë…Nöd5QgU¤W€£—¦n o/õ€¨hù 6å0··þ– /£ê„Î/ìö û~"û@ Á°(¯i¤®º¬ÿïøÈüƒ ;ëÄ Óå¹P.—P(6ŒûxjHÞ_®§×IvÎþþðÌÁ¹ÂE‡À ‰á°ðÐ7`ðo’œ==ƒæ5µ7•¦R¸{f(..£$@ Î(•åÅcðæî߀ÒÞˆAwrbˆÔØ âý{ùà…_±uýJìv[6|Kâèt£bûËõt6S°{‘¡^§ÜŽð #‰þV¾ø÷_©¯© ±¾†ªŠ&L‹Z=à•ª®ìùÛ?&9ÚZqÚú5>Òek®|™ÏV¿M|ÂX®ºè.B‚¢ÜÊ5wWóÑÞ¿òú®ûi4l'2݃Ÿêœ¿®zÚløxÜ:+ÐzžüçÞö Q†tbÂ(.-'!6¹|@õòßo·ñîÊÍ4¶tºçïçüYÓðô0°zÝfÊ**‡ïßô÷÷)”'øXàv»ØùÁÛ,[}Cp!`°¿‡÷_ø!1JTÊ‹‹ âtSPÒH¿"™ÒÀ}?6bÁ¡¿·“ýï?½$ĘQ+/þƒ`s‡ƒ¼RiÙËX²jýˆèŠMU…äo}Ž)q:tÚKëÜ×Úé`÷‘j#ãYµú6fN‡ÇëF!l@ëw÷°¯üM¶–=GX¢S¸êª[õ›Í|ÿÞ¿" ¥~ãè¯(U¼uAýô¸}4P𩌯’•2Ÿ­;öpíêåÁ4Ë-üâo[‘ëí v50F2ëWä¢×Žtœu8ú9x´…BNvV&£!tîìb÷þC¬^¾½.ôNþò¦}ì*j"ü,)–ÇÃ5ØOKÞ=ÑÃ60vvuóÍý }Tæ¨ÉMMÜßÛ…ÎÓÎ7¾µ*p=9].¾þÝǑ٦b±ÇNJ;>¯‡®úüè«÷`6œN|¸‹¥‹æa2Å+øXpë­·ž³Ì²yËØ™·ó²ÉÔÛ߇Q˜Ÿ^|á·ç,ïõÉË|—µœÇ+C’¸ìí#æèñpºý¨•Òe-7èò!IÒeoWÈ'äò ù„|B>!ŸOÈ'äò}¼äkë>ÿ[⛃à£àXI »wnæôÖïœÌD.^ƒ_9Þ«ºyó—¾²o7«¸å¦Û‘©4#Ê–Ö±sÇûÁ:3S¢X¹òzü2™P¸à²1‘õÀñ°ÆÅÓQW{Qí¯•s9öuõ`°˜Î»±œ@ àRPR”OÚÔé#œí~ƒ½•RsÑõë5JædÅñÒ–ãL_¸êŠRÒ2fÏëŒa,ßøeŠö¿MáÑ÷I5fº¸w"¯××ãeÎÂÕ#œ;š*Éßþ< †KéÐçós¢ª’Ú~n¸ïÿa‹ŽãÃï™2•2¤çÿÛþ(Ýêrâfé>¶é”Ç£·ÝMœuJÐéUqæÈêèp)ÏfZJ.eU$%Ä6í9†ÜÑbGo²qðT-…¥o°~E.ó³Sƒrèõ:–/žGiY%;÷æ1cÚTãcqô÷sàÐ1ææfphÙ{´„­ˉJʼ ¹Uþðd~ñü»|õþˆ²"{†YÌ|çkñ?¿ù+}J[ô¤é^g´ÐÞÐÉ?ßÙÉ}7¯@­Rñ¥‡îæë?ú5ÙK>…\qñN®2¹…!‚×·ìã3WÚQ«Hˆ‹¥øä)ÌͬàªagÞNär9^ïùm@V(x<žónï´Ó!€R>±6/w9¿$飑O«žÈÇße/çóL&äò ù„|B>!ŸOÈ'äò ù„|ç*7ùÁ­‚ɦ·ßÑüCAA½F"{Fî(§CµJ\¦ŸgØ12Ùèµà)I±?GWK KLIe=ÙÓê°ŽHß,\¹LÔé06!–úšú1ÏMØÍö| ƒ°@ @ ¸l¸]NZ[šˆMHëéh¢¹üQöÉ‹Vvôd#óWÝÆ57Þ£¯‡£y»ž—Ëd/¾‰wü7Mý&ªºðù.,ecK§ƒü ·}ö[Xí¡4¿=íõÚôÒ¢Õ—Ôé°«omyôÈ’xàkO“˜: ƒÎDBt*¥ÕÇG”]yo ZÔUætÐ׿"!<=ø·ßï£ÉQFaއÝå ¦Ç/FBIm]#é©Ás-W¶b´ÒšÊärlÑI(­)ücKO?ÿm½Áò’$15=…Eór)9UÁ¡üBöî?B|\4Ñ‘¡1ÓÚÑÍÛ—†\qácF­Õ£´&òÌ_GÊÅ#÷m¤½úŽÎÖIÕXD<‹k)«n ›’–Ì}7¯¡úä¡IkÇd$ïx5ÇKC髳2§P]SGo_Ÿ˜d $õH'{Õ8ÑôL&Ëy×=Q§CGw0„@ @ ‚+'ËèéúÛÏœYèͶ1K«TŠQë§j•™|ôšªZ%1ö<¼CŒ>¿œƒG‚×#Ô.¸ìÈåòKV÷xN‡+ìÑ7Æ¢¼Ç; ,-@ . %ÅÇHJ‚BŠwdÇKÄÚ5“ÖFC[/]3ËÖÝ‚V«gæœÅ˜-f^ýóãT”Œ(ϪÛÔ²’â}çyµ5èò’WÐÀâkï%*6)xÜÑÝʾwKR¸„AwéÒ7·9اòÉ IDAT}¬¬e÷²ážÿ@«m.›žšKaÁ6ºzڃDz㗑¬\JO«ëª[ýn’¢BQ;M ÊÚ/¨®žVjG$Ùéó)«¨"!>fT´C…!|ÔïTQ‰´yL<þÜ{lÝwϰheÖ0 +—-¤èÄ)ÞÙ¼½^3ýƒüò…÷P˜bQj.>+FgDaMæ™Þ¥©­+x¿”¨erœÃ> ( í\¥444pòäIðù|ã–“$‰øøx222ˆŠŠŠ@ \±”—‘’>"Úaþ®×IˆžVø}þËÖVKm—P¸@ @ ‚+†¦ö*ÊŠƒdž›G¬Û…\’P©58‚GüôζÂe7‘’>Š“Ç¨oí¦¶²”Ä)3„Wf«‰îŽžÇœj… ›É@{Oß×t4ÀŒùSH'бw ‹'«)ªï¢cÀ r›¬Ìd²"ÔÈwG%¯m¯¤m¬ýÇ 3KVçá®âµ«ñ&Ï`CŽ}DW{¯íi'ui.3ý5ç¬+ÓS=f™RKTb2ËfDañˆà§»ª€WvaÉžÍÚ¤ÐæwG%¯ín%qq.ómç~®8Wywgoìj!~輫½"Øïk¦YÑŽÙï™$6ãÕã½ãä’1}62(‡u¶âµC=LY–Ëœ°‘Ï ƒ­¥¼º·›)ËrÉÒIcêáÆ©†à⽫½‚×?¬Æ?d½4¾}ÞÜ^IûpÝË•„Ù#™5#™©aJd€»«ŠMym$-GO3çoç¡çÊ®j^ÞSIËÊ4$ÌäÖù6\e¼w°›)ËGëÎÙzŠW÷v‘¾,—l_õ„ô¨Ã»¯¢“57ôÐíô"׈KJbaF8aJ­'ŽœÓÎ7DµóöÎbçÏbIÔ°çeG;Ç‹«)jè¡ÛåG©ÕÇô”H’Ô²Lî³áòº;+y3¯#(¯ßÕKIq9Gk»éô"©´DFÇ’=%†Tµì¬sÈÛ¥VÌFÙ˜Cæ,Í N-îe@ ‚O^¯Ä#‡ÁXÏ$/óræ SžýáX¡¡RkF¼³tú³þF’|ÌÉΦ¦ªl(º¢œGŸ‚B«Æ|äœétfÒÓ9tȯR^TÝ ¡ÞO%%%Ì;½^ÇsîTT¿öOìܳ»Í&(@ ¸â¨©*#%}2yè£äÑݯ“3y)•42å=hu¡ å…»P 6`·žñ¦åú¥SÈ?±…Oå³nãÃDÆ$ÏǤdcJ"ç+•呆Vx±ëq¸(¬êçÎ/ü`D:çòcÛh)ÙÆ´ÔˆK¢ÃŽžAö©fÖª{™»äÚçú:ÙýÆÓÄZüd¦ŒlߢÓ0ͪàý-ϱñÆ/ RhX?ãaž?ú-´Ó/Ã7?ø<~¼n?½­.ú»½ t»txqõ{ñº}xÝj¹½Ú„Vi@B†$É$ ¯ÏÍ€ÛÛ7HÏ@;J¥ ¥^Ž\%¡ÑÊð¸}̱Gãõz˯Э}Uè“ÏïuÚÙçEÙÍìù˨¨ª!&*bD´Ã&íðL”j-ƒ}]¬\·˜„¸˜ç4j5_xàNtÿ|“Íû6‘˜1£mò£ÙÛcSysçQl# gM Œ ³‰Gÿí~øô_ÉsЛì“Ò–Fo¢µ»¼‚R–Ι@¸ÝÆý·ÝÀ¿>È'9kþ¤´c‹Näåwwñí¿ dÈÉÎ"¿°ˆ•K‰‰Wð‰Ãy©ÆÏt:ôy]ÈäªLvwo ù…ÕÔ êqÇööSZXM6–KìhZ9z¼’}Š)¬HÐ~D¹`<ôv "Ó£•Á`_.µã8ë¿Þ¾F¶í,¥Ñ”ÀâES±kè¤Aj+ÊÙµ7Ÿî9!Ç(¥ÙCÎvNÚ3—\í›jWy)ûà ̳«×µiX]À¨úÜ£ËàóÐ\WÃþ£%| ÔrÓt3ªa¶¨©êG®¡¯º‰öØŒ—ÕI*ÐïC–Y¬IÑa{9á™sy83ðWOS9ïåu¼$—yÖI)gè¡5%èá¶÷‡ì³"^3þU˜}Ú¡ÐïÃ5ØGEñIvï,d`i6¹Ö >à Ù0Û 5^Ʋó€Ó‡V飻¹–óưó™2.ß™ô¼’MH/~\µlΫÅ—ÊÊÕ3ˆÐBGûžàn7Æž9—ûRãù´ãâ™vvw¶ÖEW-›wWÒžÄÒ•Ó‰ÖËpövrâø)¶ìêdÉòidž' ¯o²#…ìˆdùòi$xû»(Î?Áö<ºiD«Î2‡˜th†Í!&@ Á'Žª†6êk˃ÏÜ©q‘DÅ&MèѤ7Ò<ô—$ùQŽpD›YË´¬ŽÞ´÷ RvªˆÌìyø…9—‰ðˆ(Z[šÎY®³'Ó³£­ó¼Ú0¨õô9C¿އŸ0jkkY°`n÷¹ŒŸxúþõò+èõ:þðÛß @ ®(úz{¨¯©"#kVðX}y>ým%¤¦MŽƒUCk.U9óW ôur2ï-²Çwnœ•Ms‡ƒ—~ýu\÷3ç¯ FÔèL,¸ö*‹3(Þ÷Q&V³Ž}ù5,]ÿV{HöΖjÊ¿MFÂ¥‰tØØÚK~Õ K6|‰Ì™ Fœkª<Ɖ½ÿ"=F‰Å0öâJV|¯æí¡¼j©IÔ ¶iäFÜ@~Í¿°%h&U^¿|n?ÝÍ.ºœô¶¹ñöˈ1f3¨°ì‰ÑØ-QXM¨”j”ŠóûÚÚÙÓF¿³öîfšÚkqºØ²ï5d2Fƒ…’òÄéõØbµÈ”¡èˆg£­z€Ìðë3FRPÇÊ¥ ƒçZ;z8VÖ|^ÑOSQ¸[×Ìdñ¼Ycž—ËåG?z½NLÀ‚«¹Ü…×;9ž*Ó¡îÚJ¶—ô¡±Ñ{F:ûû:©Йeâ’#©­¤š8ØéÄ• ùî²áwÓÙéCŸ¢A…‡¶v'J«4VÙA* +¨Õ%sã‚슀 Rm eZ²þ#ì,ë`fdÔÄû"Wa7z)Ë?…}a&SŒ“úQ¦ÀËìøf65uÒa&|è¶àîi¥¤OÅ´ÜZŽVQÚG¢AƒtÙ| ßUE圊È"ÃðÑ„¼Å‹õ¡C†„ÅÜõí_òó‡r°È®Ì~ž×<ë¯æ×çr÷ûãÜ“ÓyìÃÝü|±ùüô|ý ÜøÆVÍÖ~4¶ðt’ÿïóèwÿm•ƒh“—rû#ßåÇ_ZMì˜2h à V¯…[Þž<½ ‚ÑÔU—“’žŒDP°ï]â#''Ú¡×ç§ ´‘Õ·?L™ P°û5¢,2”гß<"­zÖ-IçXÞ‹”åqÍ­f E Lž¶è¤,ö¿÷'ïÏ#)û¦ç„¢©9û{8´ùYR¢µÁ´²“I}KNtpÃÝ_'1uÚˆs%yoÑXºƒ´:ÍÙCí/ÉHfë–?ÿOQ)‹0+2î pû‡8í¨u Èçö3Ðã¥þ„ƒ¾'EÖ.›?â}î…7wnµpíÒ™Áã3§gðí/š'þïE<®,̱“:–”-¾°D~÷ÏÍ|õ3ë 3Rˆ,[8‡ú†f6È#9{r"*Õj+¯nÞǽ7­@­Vq÷Æëxò¹·0Y#É.>•52Ž··çår9SÒ8U^ɬì,1 ®jN;VWW’˜˜|Îòz½߀‹ßÙ7ºº<ç¾6½>þ „˜H9ÜÂôœT¢å-ìÊïÀë‘ãò Ý»õ ¬YIM”xl'Nr¨°sN ᾡs~p;}8ü#ë Øud}nçè2§Ëõ»üø}~}8äZ*›éÕFa² ±ø9PÕN³=£lüºœ.’Œ±ûqù™ëÖ$# ]§ûøýh;{œ~ü¢m;|xzÚ(éR†ÜyFÝh‰Ž3SXÔHy{8)î‘×Ùpyãj¨Ï %zµ—âÕ“Å“hÑ ”e «VE¡RÈFênÔ²ç†Í!ïžÁ 9¶1Çš¸Ä寻~ò ù„|B>!ŸOÈwUÊ'|”VÕÓÑRŒä?--‹=j‚‘ýô¡ÌG ¹lÄ·³aÔ)È™9›½»¶ =ýŠŠò™=9âr\­Œùåj,§Ã¸¸8êêêÆt:„Óáǯwütg~¿ŸÇŸúo¿û‹…_?ýG÷7eoðÛWÚYò•o¢øå«BÁàò¾Œ_ØÂ#™Œ¢¡Nç¡Í{øãZƒmyëq>÷ÍÏñ‹™ÛùÞ<ãÙÅóšg¥Dîz¯@R@U»žåÿ“Ë»ÊBÓ…µ¯Ê|„•|ĶsRö×ϲñnþ}/Î5Óqð¯|ëá{¸›÷y÷ë3Ñ´wW*þr-+±íüóâÒ.ËüØï ¡¾š¥«®½—4”áì¬Ä2er"¹TÖwaMÈ!}Z(š\gK5µÇ˜ž21çF­JÁ‚™ 4´tòúŸ~Àì•·3mÖBŠ€3ŸFgbÞµŸePÆÒu·"I›>¯‡¼-ƦíǨ7Mºþj›z8^ãæÎû1ÖðP„8ÛIñ¾Wéo8Hfb ù¹=ó#L¢m:ú‹æ­@§2qÝ´‡yùÔw‰f8où|?ÝM.Úªé¬`VÜ:†ÄUS±Y"‘Ë.L¥BE„5šk4 ¦¯ ¥£ž²º"òËwqtïVŒ2ÂSt˜£TÈ[vÔ ’lZAŒ=™½ް|I(²ä…F;ìënÃ×YÆ×¿|*UÈ1tËžòN6#“µÒ?èäÆU³Q ¥!OIŒç+ÝÆÓϾø1GÄMª~ÔZ=½^ݼŸoYË·|jûôŸþÑ¿q÷Pxä½ä–„)‘K—C¾2 63oårr»«ÙRà"g~:Q¾6>ÂþCòáîåè®]ÓøÆ¡q"!󌡇üFêú#z8Ã>­Æ‘sXû#e“Pë4(}ú=>ì²ñÊǘ9C—’$!ᦻy ;dìº%C×.M#Jyvm(1a½ø\$5iZù¸6 ÙW16ΔA&…‚L^§ƒT¤éƪ[B­3 §™.——Ó¯cÉ;¢Ï*Y³Òè?ZΞ=õìQh°Y-ÄFEiÁ~æ2ÊsHVn*‘þöÌ!S Ò9û{î9mòÊwý ù„|B>!ŸOÈ'ä»:å.7Ž/‡ ¾‹hU0+{6þó°z ´ åij9d¦&Rt"šž¶F@âØÉSL:Å&Œ#¸âÉÁç=ÿßI’„hÇí¸!3Ôr §7äï[WWwQÂZâltÕµ «]œŽx¸êÚÀÚ믽†G¿òeü~?ÿû‹§yó–€ÍÌf~õÔ“DFDœµ>Cîc¼¾hyûþðšP°@ ø¸ÜFÑØÓX´áNV>±ƒŠöàÊôó,Ђ—wˆ¸¯¿Ï¬MG „¯ý*O?~Õ?|ž#Ÿ}‚¥1ª‚OÍuÄ%$Ó?𱑓ã¤çñú((iä3þW0zšßï'ç+ÄÚÏß#&ˆÕâáðö?qêxKÖÝNdL^¯—#v0wÉ5hu!7êSG· wT7ùÑÄk›{(ª÷±þžÇF8º vþog1é ç·’›Ë[û_%=-—pk ÙñË8T½öÖØÂ'°8ãG‡‡ÖÊZ*ÈŠ\Â=9·vÃt Ú‰ÙÕãsÓçì¤ÍQK{_=ý®*Ú ÀïÇãu3èîÃ7l©L’a7Ä¡Qê1iíXuQXõ1˜µáXu1gy¹†k,ÖXe¯£»ïk”Õ'ïäVíy—ˆaqjúk´,žõ-DF„ˆv¸m! ýùE;t ôS^°›ïþû˜L!§ÎåõlÍ;ED|: ¥š=EåÔ7oá w®E¡Œá)©I<ò™›ùþ“"Á¿Kdü¤Ž­°ˆ8ŽU”²mÿqV/ ¤ÞV©”|ñÁÛùÆOÏ krÅä¤]ÕY¢øç;;ùúg7;¾ï6>ûØO±D% —+/º {tïnÏã+lꋊ)i)”WU3cZ†˜ˆ .Ôéð4çr:ò:.ï”}–£ eͺh÷tS×ÔNMS§ ›(,bõò ¦èe£¤OÏ! YOopÑ*ÏÝßs3y寻~…|B>!ŸOÈ'äò}\å»à’!q¼´œþžv¤¡çäܬiè-ö F;  Q)‘Éàó U)‘É'žH­„¹9sÙ¼åMäÀ€ ò ±hÉZ„·®àRÓÖÖ‰Ý>ñoJ¾ œÂýÃÒ|Œ;ª‡;NÂéðÊÁëõâõzÑét¼ûþ&žzæWüìŸ:šL&~õ‹'‰‰ŽÂív ¥ ‚«Ÿ“žÆã¼ùÌx›•Ü™óIÙe2@Áÿ.&iéÓ?ý]°{ߘ¡#þÓoÐ0tûwü-«çòÃÃ}¸Nü†åÉ‹x¢`gÑ3¬Í^Ç¿t Ù& I’aËþ4¿:ÔyiC„{8\>ä Ù°‡‘ÓWã8ÊÉ–Ñ÷*oùs¬ÏYÍçï[F¸$¡ˆ˜Ë¿|ƒ¿s-Q’„dLåºïm¥É3Ôç¦<ý™ùĪ$$IKÚ5ß॓}øàýîdÇW²H»ÿjòÈ“„d\ÂoÊ=0XÍÛß»™éF I’žû¿/è ¼Üøz(úû×X¢ D†0fóÀŸNž‘–iˆÁ2þñÈ¢!Ù$äóøíF¦þ IDATìsEœÎ¢Ä@ïüp: I20uÑ2²ÒVóL‘3Ø7àj¤¦ºœ„äôàßÝí t5œÄfÖMJý¥U¤ç¬!<*”’¶¡âƒí¥„™.,Ò™F¥`qn"áòÞyá Šó÷S^Rˆ-< [x(JcgS%å‡ß&>Ê<ézképp¼ÚÃõw}•ð¨Pô9×@{Þ|Yo ©qç_Ôª”,H ãý÷þ€wØÛêM9_Â×lÁãÿNá÷¢mé ó€5Q_á©ßçkw<Á¬)‹Æu:ôû}Tw²¿ò Þ8ö4O|p??Þ²§öÞÁ?O}ƒ¿"ßó…ÒßpÅãN,†´2tYÍg´ÿÓd6Ñ‘Gƒi;Çœ/²¥ùIþ^ú(Ïìÿ4?Ø|¿Ýñ%^>ò8;ËþIuG!.ïàPû#å1˜±”/Üô=þ÷wYñEê¶Z诊ÆëVPQUCFzJhÌöös´¤Ùz~cÿä!¾c-™SBuµuöòwö¡µ' PœŒì±©4ô)yú¯ï10Jš55_þèQè.§³¹vÒǘ5:‘÷wÐÜt}aJj·\³ˆú²`rÖô;åÍýlߊ—ÎÆu‹i®*™”64zù%u”×4ÅÅFsª¬W,¬ W’BOr’Í@7Í—9’»‹½›>ä¯Úhk(â¯/oã[«hl¯áµ×·ñ¯#íÁ §Qi $íýžà1uø>}Û*¹m÷/‰Ä ]¨@ ìÉSȱôsôpõÎ ˜·•f¯ZÆ#·­äs×Ïb^”ÑFVŠ-äŒæwÒPÕAï`¾ÿ!¿yi¿y3ŸR‡—öºFšœ—{(ˆœ2•¹Ö ï÷…0ŽŠûÆÓÃ…ÈécÐ1ˆ[®Á¨šÄ]Ãì|ïšì€MgØùB®G™>ܾÑ}óû¼x‘¡IÖ‹Jk@‡‹Žï˜ëCMu-Ô÷y.è E©5`œ´U7~\}8$ 6­ü¬ò6ŽiGZSéSÒX½l÷®Ë ÑÛÊ‘òÞ‘éàϘC^yçC^ØUœCž?0z@ ®F:z(<~”Óo aF™Ó²ÏûY_£V"ÊX¤Õ¨‚ÿž()ñ‘DÆ&ÿ..«¦»½YHpI1#‚N‡ÝÝ—¼=/î¡7WÁ'ǃÇã᩟ÿ,è|øö{ïñÁ¶íÁh0ð˧ž "<§ÓŒ(W$í;ùâ4uÀqKüOÿŒM5ã?@:Oñìº$¹sÌ 6|ÿkVª—>! Ó’¾n#±u¯²½"ðõ¢§ø¶ÖB[Þëä·ø•;^¡2ê&nÈs éuöÛøu^#͇ùYæn~ü)u^BÛ§rÝõ‘þü{ü~O5]ŽnšJvñ÷ßýƒãƒô Ž}¯l.¥%ã1¶Ö5qäg©l}ìó<§øw¶7·QòìjÊóßü¹°Žó»{oçg7ðÇã-´WoãÑðWøü-ßf[›ïýcùÓE”ýy ³¾Ãþ?þÞÝ<’ª¿ sîCüþp{øNÌ&¾ûŸ/SîçÉçù⣯ó­Ý4ôôмÿq–H tºÆzr“0Ì~˜ç6ÐÙQ͇ÿÅ»_ÿ¿=Öþ6¶}k¾Ã画£õ8Ï~*ÇA†ú&\mæ`ÀчFr2,+ØI¤E9)õ»=>Š*[Yµþ®Ðs´ÛÉÑí/’o½èú“c˜“®a뿞$oç&Ò2fÏù¼}ðé ”ŠÉ}e«oéåp…‹ ÷“ˆ¨P¤;ç@{ÞøaŠ.¢.<„lB¸©»œ‚¢ÝÁcV}4óã7Ò^;:–Ïã§©t€£oµb®_À¿¯øß¿ÿ/¬žs3&CàÙ†w_yÛ><õwžÝó?Þ¼‘çÿ»º~Mµî}LÓÛ‰›­ a¦‘¨tÖx ¦ú0%*­ ¥FŽB%C¦d¡ÿJƒYAX¬šðd-Qé:â³Äæ*QL­¢Ñ¼}Ïòüñÿà'[næ÷»¾ÆÎ²©í<ß?ÚA%ÌdgÝüÛX;ãóÜsý#ìÉ;‚½œª. –Ùuø’Άü•l$væ<¾m·çÚ8s[…LÆT;Ô—·Ð~)ü 2²SˆsÖ±³¸þ öÁ“Pê­Ìž?t_[öWÑè Tæíëàd›Dú¢Å|aÈaò‘ÛVqïòd"Û(nÄw¹†Â@Vnê$ô{âøcëáskRÆ×ÃùÊé ®ÖÂŽM})z!¡Ðìœé«aç 2ƒZArÑÑç>cÀ‡£ÛS¡#L#›°ýä†0’Lj«:é;C,wW#»¢¨ëÂÖÀ•&;éfUemtŸi(¯ƒªÊ.°E§?»¼ûJ:‚òö7çù·ŽQâ)¬ÂFœQŽÏë9&ΘC>³~1ëBsÈ}óGÏ!@ ÁÕ†ß/qôø Üý½§È™;3¥îü3Þ©UJTê@ð£ÑH9p>ï4r? rçâʤäöÊ8œÄFfÁ%¤··%øo•FKGGÛ%mONà{ܨ·ÝèÈPd …"ôñÃáì›PÅŽÁaÍ+œÓ“yêçÿt>0èõ<ýäÿŽËå –=ócŸ@ \Ö…üÏŽœ~.G5~ɵíÏpçMßgOç8ó–:‡6·à÷{qõµpjçSÌÙóEÖ~æ/”9?zÓ¦¯ã–ØZ^Ù^“^N¼» õmßæ.ãÞ,hw;_® òæëÉÐUA<ËnÞÀÒŒ(,9\GšÆ4;.¥í,,úï—øóý<³6‰0ƒ…èœùý±< =6ý8)µñ,]¿†ìØH²×ÝFNl9k—’acÊŠ,2·QÜÔG÷‘çùCA2_{ü1®›Ž5a!ŸÿÉYÕý ¿ÛÑøÐq!ýÖÆ³ôÆõ,š‰%jŸºc:ŠÚ" ×Û ×8i¬ª¦Ý¥&"ëz`qcuEŸÊ§ú «³¢±„%°ô®Ï³ÜÜÊÉþ†]üîMÿ÷ÌŽ%ÌžDvn¶¡zN÷M ¸ÚØ¿óæ,\üÛ5ØGuÉ!Â,“óIíDeÓç^‹ÑrÂ+/ØQá@«žçF­F‰L¥e݆OH]°çÌÊ>ŒúÉý*ÜØÞÇá’N®¹íß±ÚCÑ]ì{ë—Øµâ"/>ÂâÂ)‰>ðŽÞà±%i1;§2Ðø ëóúi95ÀÑ·Ú°4Ïå»·ü“Gnþ!SfàöŽt“$‰Êöc¼vìI~¾ù.þZð(‡ÿ‚3¶˜èÙ>b¦é±ÆkЇ)‘).£ˆL!¡3+°Æiˆ™¦'~Ž_r)‡ŸãÙüGøé¦ÛxíØ“T¶Ãã 9À•WÕb1™™Ÿ›ËïˆGîû¹Nt½‰N—š÷v =†©U<òÀíTŸ8Œo’œU==n%»…œ¡lV ËæÍ µ¶|RÚ0„…“¢’¾þwRÎÌé;^,&cÁU‹Â7ö5š•5 ³Æü±ï£Öb'VÞñŠºÝ^{ZÉ/í[81Ú`cš«ŸF—Š(½¼ƒ´öI„YÔŒ4N¦%-;•xG%ïì-§´m€A¯·³ŸúÊ2¶iũӣW\¸HrCK²íH} \ä·IeaÆÌ$"zªÙ^ØŽÃ±‘…•)65Ã5®0Ú™jõQ_ÙF—ï#ÿÆÉë÷¹ñÑÕÜ<¦”æð º}(§ß‡«¿‡“ÇŠÉë12+Ó†ñoIeaÖìäav¾Àz4¦D)i8~Š£ú=~¼íõUì)q`NŒ!R}ö“ëIˈAÛXÂûGhèsãñzèn©åÃÕôÙ™­Aº° …i³’°·Ÿâ¼jzÜx|^ú»Û8¼¿€£ s³#±ÈÎ!owH^­-–4M7ûWRÖ1ˆÓëÇ뤩²š¢^ © F4gCœ´;Î1‡@ W-JK†eF±INͼ º” ðf2_Ц¸Ø ÉSƒŸªn¤ídŸÆÂ VaµŽÿí¡½}ò""ŽZzjl¥Déά3à™ÀB‹AcĈw¥s:êa\l Oüì§üäç#“ÉøÎ}“ÈðpCTär±œ´¥òóßÖ“wóŸx¯ün¾4M}õ+N›ÎÚ[bøõËÛ©¼s.ïíð±è'wp½öe}ë8Íɼ\ÅÆk§¢Îå Wªá;¯‡î ².™õßyõß9}Àɉ__ϺŽ9L ŸÀ½J®D%‡`¦&™µ\¢Ïçg £šnM"™‘¡Ô©rK™v;{peLF¿e(Ô $Ÿ¿‰·ñÇwÔ<óýï±8ò3$Þò-~úÓ/s}Š~ŒNw?ǾûÞV6”")‘Ïøü ¶—Së±³$Æ4æG’Ó}®&êj*0™Ã°Ù#ƒÇ\ÎAôæpŠËOa"wûƒDÙâGÞ#”Ϩ-½Õä×måXí6um*Ì3䨔Æ+b*52ÌQjÌQj|U›9^ôZg4Y1ËÈMXˉÒj–ÌE&ŒŠçþÛ殮­ƒÍ²œd½ ³=é»fû{;ñ¶âkÿv;ZmèSó¶ýÇÙ_ÜDTÒ´³þÞl¡» žþË»|å3×cÒîyé)lX·€g_ú€Œ9kPë'O¿a±ì;^MöÔ$Râ#HJˆå ÷~ŠçßÚGzÎòÉi'2··bQn&:MÀ‰÷žÛÖóåï<‰7>¹BuñöÖÙØq VÎÀn³¢T*ijn%*2\LÌ‚+…Bq^Ù,Œz½Ž³o@îìþØëER›É™O~qÛvVàU¨‰ˆI`EºýG#ÆåèÆ!7bUKøý4{T¤Îî5(7D±j•ž²ÒjŽoÛÉáÑ3I ç±F;ö;Œ)>¥­½lªþ°töºÖ޳DaŠaYv7¯)a¯% CµMd2gzPÉt$&Y8t¸‘².ËØí)ÌÌ_:“Ùê1Œ5Nù%«s˜Ø'§qú})ðôQ]7=t›'.§gdÿ%…[x$K–%1Å"·Ü(=] •æX–ewìl׳*Q{þÎo’ŠøéÙ¬«©äÐÑÃä9<ø¡1˜I™6“ùÉfÔã®WŒ¥ µ-‰õËu:^ÃæÍ'é÷‚Bc >)“ ™á„]ĸÒÏ5«õŸ¨fχ•t9}(4:¢âY“IòYóNä]ÐÔËöúÓóSó—fc,ªäàîZ6;½ Sb¶…“9{:3mгÏ!½ý´z”L5(@ > x½yùG ¸ÙÙÂÙs©4¶–"—¡Óéé‡ÅvAuÈd~æçäPWSŽßíÄç—“wø ×EÄ")”Âh‚KNjbåÕUcž³Ù&oSñ„ß<=ÜÝ)œ¯l$IÂçó!—˃i”cc¢yá¹gèîîf` C­VãóùÉDVn@ðñ@¦P£V©Ñ©&¾b,“+‘Ëå(埔tËÒ×ÞJ̯_å÷Ùî]À¦§2͹¾ù:ï§”Pµ‘k§ê®hÛ¹ª^çgO’ðoO}‘¾2š°Lƒ»9Ù2Àú¨À7ow %ír"cÌLÌ]A¿&ÑAŽyÚÍ|çŸ7ó–ƒüùÑ;¹ï¶ÞýðÌ?ÃçÃyâYî»ó lßx–£/díÞÇ—Ö|¥!³»c5]ø³"G9žî›@p5qhß._7â˜Álçš»¾A{S'oáxÕ Œ*V#ZÍù}p;YÑFæì5X†í«8¾›0…|rž‹Ûúè—ÛY°ü†à1÷ ƒüÿNZ‚mRõåöøØs´š9kîczîÒÐq§ƒÿõâ­6¹Î|3¢y5oÕ«HIÌÀ¨ 'Þ·€¦âþkÃ×IˆJýÞésSÝ^È®S/QÑ·s´c–«ZEI™B¡¡Âëꦸí6¿õO–Ù¿‚Å1ÚÓ¤­åÖØ~þÃ眷é°Í¼‰yîñ£Ÿ¹ñÒµ—®ý µÏÕG{]1;þúmnYù9>˜ñ~ó…™\¬;Š%÷^œVÁ=Á¦SmtÖàÙo}‹­a·ñÈò˜ ¤[’£·‡#k9J~U U{·q¨õì›1zO¾Äïÿº‡ŠŽ>Ür3ѱf$GýîÑeÝ ´ùl¤g¤©î¦èƒ·8Ò¨_‘¸†‡×ùyù?þ“ßï©¢­­šÂÃÅ´¹FöM ¸ZèwÐÜXGOW½=££-Ù¢’XrÃçXwï÷±¤­¦¨ª—âòf:{&T¿ÛããdU;‹VÝ:æì§ìØv"m†Iéƒ×ççPQ=KÖÝ…\rŠ?»ŽT‘¹èf/ 9kº]Þò,Q&‘¶KApIF2lþ#.÷ mµìÍÿ€%Ó6ðÍ»9¦Óá®òñ‡]_ãoÅÑyŒÄ\#–hJõÇëµU®’°Ä¨éoÓ°tÎÈÏÚ~ÿHïô´äþû«òù[WÐP¼‹ÆŠ|¾Ñ÷Ú’ÃÜ»a 32CŽ=^xkjk"JõÄoÚa‘ñ4ôÈùãËÛpºB7‹çòù[WP~|/~ßä9Þ¨4zz+ïï::¦Ròà]¨-ÍŸ´¶L¶(¶(ÂÑï »~írÚ+ðzÜ]¿R¥¥kÐOaiuðXtTõM :br\Qôôž{LŽçtœw&àt˜Ÿ>¡÷6@ @ ‚K…ÛûDælú‘˼ÌËò‹‰îÃfC­V¥\¾ðzfMË@©;½¯àÀÑÃø\ƒÂp‚ÿÏÞyGÇQ}øÙÞ´«¶Zõ^,É–m¹7¹Û0ÓC ùH§¤’FI!”“ºƒ»»eIVï]ÚUÛ]mÿþ½²°eIÖºáûœ£s´÷Þ™ùͽ³wvf~ó¾ç•ÁL‡=Žþ,(Ã1BŒ‡ååâAöÅDff&µµµÔÔÔPZZJIIÉ ¥¥¥TWWS[[KVÖ`‰H>“‡^"Ay9ÿ,:Ìïç…!‘(ÿè:E— ‚³†_O>k¾1›¸P-J•žè¼Ç(™÷þ}/Yƒ=w”òâe&$ R¥ž˜™?ààŒ?ðÑkw3F}!îçYšgÕ©,¾6{™–™Wç `œÈ5S5”Ù’¹ö²t΢ïpè±só×Á/ø+Å~¯@ ëïÎÆ?»ÿRLæ×±÷¿ß`‚>oðkÇóÀkkøNØ[ÜžAXü~k¾—Þz‚ùáÃ[¿iö·xpÚQžIòò'8h=ýrw›~±„Ôp=AÆlî^—Á÷ÿúcæ„ÜÖ0é~~yW(ÿXOHødÞÊÔä \ÈbYùÌ{<³¤Žß]•JDD7þa'~ßã±}¾,47Õ1cÎb Á¡ìÙ±‰ü»iom:yšÓêÉÍ»†kü“/ÿ’8—[°tÙñzMZRÝNÖ”%„†›üeG¶¡—[Ѩ“ª¬°²•èôYdŒä/³4UR_ô) Q!í¯Ã%Íèbr™šwyÿ­›#ÛÞ@Ù[C\dðY+“!ƒÛÂó¯ý”òšBN¿ŠÌä ÈOˆ¦çöºØWó¿ÿä¶4ýIj±cuhƒ/î´p–:ã#—b ëŸÔ·î+æg}—íJq{úÍv ¹œÙÓ&òÌÏ&'NEÁÎè27öóÕGÄ¢¼iýýæöðÒÿ6áQG ÒŒÜbŠ£ªÝÍkïm`†œ;s ÓÇDR[r0 ýÏÆÏKhnïÿå’•‘Bzl0––ú€lC&WàUØüy~ÿvƒ äMK[Ce`ö#<–>Û3 ,6:Š–Öv19 .( zÕ9ÙNYm©ÿ»»ÿ†yPЉ‘Ó•b@@ @ œ5ʪimªñÎJ‰'Ì;êõ´„‡…¢Tî‰i¨AMNÎ$´fs•åEbà$AªÓ?oˆ?©L²`ÁßH7$—êq{»ÏìK¥Óa±ZÙ´i“±óDCC………455qcÀÁ!‘Cvv6QQQ¢ãf³™°°0±¿Ñ0Ö}?gþ5ë¹}ÝÌøà¹ººzÄë³ÙlDFFŠŽ\lûô#r§ÎAÔ÷†`[K{¶}ˆÍf%+géÙ¹(§69t™›(;²š¢]heV¢Â‚ÒõG</ïl*âÎGžÅÙñÛír°þµÇI”Äxhw¸ù`{%w?ò,†¾ùÑëq³é?¿ ÅèB«V¬¯Êë,”4˹ùëO :áæHÑîwéªÜð”Î'âñúØ[^G…UÆÜE·1~Ìô“Ú”´|·ùƪ­%4V…J+ûÒ§‡?ðð­…ϓߗÑíöðë?À¥‰ÂÚÕN¨ÊÍuK§‘žpòÜš_TÊ‹kÖâÓŢч@g9?~èvtÚ~#Ï[v³½°cLʨt¶Ô–²`bW-ìÏágµÙxôgÏ¢ˆCXtRÀúÄÖmÁ(ëâá»ú£‰66·rߣ¿a¼«‘ÉGoNò¸]tÕòëïÝŽJÙ÷}mnmãžïþŠ sW"•þ;\U´—ß}ÿÂCúæ KG'[¶ïfåŠËÄ-¸ X½zõ u‹…ÐÐЀlÇ+ñ õ|Þ~sͳC¶qydÃJyÈvΤZ´¾`ÃÐÑúOu{öÚOe|®·+ô }BŸÐ'ô }BŸÐ'ô }BßÅ¥¯¶eäÙ,Ä3A °;¼¼ñþûX-­¨pýÕW£ 1ŽzÝ——æÆj’ñr]V»‡ÿ¾÷½]}/0‡”\{Õ*äš 1ˆ‚QóÅûưPÚÌ–s¶ý3ºë~¦¦C‹ÕŠV§#‰‰‰©“@ øÒâ¡­dõ#QaFð墻«Çã7MQ,_uÖžnJ ÷óá/IΤ9¢¢˜4÷ZÆM_NméAÊò·b­+%.2cˆ–êÆNb3¦úM‡e‡>#HÚƒF£F~i3ÓÝä7TÙ‚ÚÛŽV8#`[‡£uVßóæÃÊüOi9ú ™ÉƳ6NíÝ6¶V™µ€»æß„V=ðæI›µŽÿ™*ÇN"Ò5èµ_®ëÞ61¾i$Å%øËŠ«i³úˆ6…¢Õ‡â°÷ðì·1&.˜• 'kê?¾r²Òùù£÷ñâ¿ßaÛçùñ·ï`:Üu¨„O÷W“2nÔZã’X¿ó¡Á:ò&g ÓšbÚ IDATjyàŽÕ<ûÊÛ8C(Õ¹ù¥Õ‡RYÓÊ΃%Ìœ˜@td«–ÍfK~> ™“G½ ™\Tgä³Ýù,ÍË 2ÂÈòy“9ÒP…1.mÔÛ5Ųy×aV-›Ý÷9$…BŽÙÒAXhˆ˜¨4#5J}J¼ç uC›½î^¤òaå]ž¡—óx‡— %í<^)’aR´>»Ã;d‡ËœÛvN·‰Drη+ô }BŸÐ'ô }BŸÐ'ô }Bß—KŸ@pöPPZE¥•¾Kz³2ЇrdªR`:ÐidLÉÊ–Íëæ.%ÅG;qF@Ö/œÈ¹4Âý_4¥Çä·Ymb¤@ ‚ƒúÍoð‰s˦EÒ½ïùÞFt+Ö0;Z"ºG𥢻˂Ëéàè‘Ä&¤ 7ô§ Öé™8m§Í£¡®š]Ÿ}€×ç%kü4R2¤÷Uª´¤Ž›Eê¸YXZj)سŽCTT6qÃ߰Ͳƒ›ÈŒÓD¿¥§‹ÓÀòéóû¿Á¶.Ê®'#&p)]/{ŽÔ2cùý‡ö [k ©>ü1i aÈåg'º`E“™5fæ,¾ÜqyÇnhöát÷²½âM¶Wý}‚“8ã—ómΚnœ|Å€}ÿxÇB"úÓ{¨4AĦާ©³ç^ÿŒS3X0-¹¬o\tZ ã³Ó0†èÙøÙ"ÂC‰2iiïäíû‰ˆMˆV™BATr6k7">*œ¤Ø23R¸ùê…<ó¯udM[‚T˜Hœ¡¦8Þß´— ™IhÕ}æøë¯ZʾÃÏ`ílC†ñ0Ðú†I¼ç¼×˰#¢}BŸÐ'ô }BŸÐ'ô }BŸÐw)ëyÄC tY]:¼ãwaƒu ²ÇN¼`í°I±)Š££¥°ïH!É)h "sœàâblz*¥åþÏÒѬìt¦Ã`£^ô¶@ ÁYG¶Ã¼rW.‘!F2oþ'Ò{×°î÷+ˆ–‰Þ|¹ˆ‰Kbî¢h´ZvmÝÀ¾]›i¬¯Áãv¡]"˯½“¹—]K§Å̆÷Öphï6º»:NZg¨)ž9+îaÁõ? {úÄ%öGD«.Ú…^nC¥DÿÁÂF¦Î_‰V×­TzðBµÔ*yÀúé@Q#éS¯flîlY¯µƒü­¯“­B£R|l|>ûÊëÙV×Å·>ɤœ¹Œw]å¼¼óQvY^Æ4ÎKQñ¥´]™L3Þ_V^ÛBeSš “Í¥AÁFt‘é|¼¯†?üs=-æ.ŠK+QÈdܼú ®[¹”ý÷=>ذ•¼»]Ô'D±-r…Š S:/¿µ™öŽù¬i¹Ü|ùLª wl[Jµ–^‰žOvö—i4jn¿þrêÊò³?J¹‚ÒYFZ2 ‘zz{:G´.·ÓAg{#5ÅÑ{Z¹jN¿~ä®Y:{@»¤„8ªkëÅ$-¸ ð:ûLƒC™¿é°¥£ëŒ·§VªñÑ>v:û_:®¬¬D«ÕrøÐ‘óÖ[[·SÐ=øã‡¹šµŸ¥¨ûü>¢°5ðÆ–:½àî¨æGipž¾¾Î1²ú÷v6¹|—Ü5ÃZ¿Ð'ô }†>@ àÒAÊþ#…8­Çï÷y™:>uP`^ðw{|TT×Qt´ˆîs@Ö©RJ˜š;ï±ûæ=v‡FgÚÎ'ša”OGg[·èm@ ‚³ŽœØåO±©ö)Ñ‚K¥JMbÊSÆ`1·QW]NQþ~Œ¦(’Ó íOW¬7„;}v›•Öæv~ú!s3󖮯ƒTÖïÎmmm&cÜ”Û*ÏßJLx`^¨jj·ÒåÖ’=q¦¿ÌÒTIKÅ狨PÓØI§/‚+]ã/ózÜØô¢ n4j]ÀÇÄãõñÙ‘ z´±ÜóÕGÒüu>Ÿ—ío²¾øoD¤Ë1…j¿ÔÇgc‘‡åSV¡Tö+7ìÈ'Ô7è2 ¥ŠˆØ4zº-<õòz¦gEaPKX4·ïX‰‹‰âÞ;nà·Ï¿ByS/ÙÓ&Q©±ÊCùïG;¸çúEþÈ‹—/žË¶=ù˜›ª ‹ ÌvCL±|¼=Ÿ2ˆë;V&OK„v-]íM£F½àˆhÖoÝϤ±©Èd2®¿ê2ž[³ô‰óN»¬×ãÆÖÝA·¥…ð yãÒ˜‘;بÁS¡Ûìv”r9UÕµ$%Æ‹‰ZpÑb 1œñ²¡AÁXN0÷*•ýó}rr2ã'Œ;/ûåêná`~55½Z³aúœ]7ÓéÑçQpÓmîEªC#…Þž.œ*#zÅéë ÊÖk‡\^-‡µ §*bÈõ }BŸÐw!è@ .Ú:lí‘Ùª%%=; i‹{ìnÖ~¼KKߋƉ‡Å³§“ž5qÔëOŠ1—Bsm9 ápqY™ãÐ…FˆA\8ì]¨4ïiõôØ÷Ü<+u»ÄH@ ‚³Nh˜‘œÜéä-ºœ0£‰‚C{رåcÊK q:ú£³k´:’Ó¹låÍ,X~=µÕe|ºþmJ‹ùÛµ4Ö›˜ê_ÆÒRµµvô‘ù|À‘²^u' Eÿ“Áâý¡÷"•&-zÍɾâ.¿þ¤Ò~SeÙÁ HmÕ˜Âo¦p¹½¬;PLPj_¹éGL‡6WoìŠÏšÿJüD5ºPÅ—úxô¸€Æ$&gOö—5¶vPÝÒƒ.8|ÈåµúPäº0¶í>Èœ“¤ÃÖéxô›_eö„DJnÁë üuw°1šÒ¦^ÖoëF(“I¹ÿöUT|ŽÇ˜p:R™ 1–7ÖíP¾xî4š« ûòŽ¥ZGU‹²ê&Ù”ÜÔôâd?œ½vZêʱ¶”’a’ñÐ-‹ùå#wpíò9§4:N*«jxÿ£ lúl;‰ ±ÃEZÁÅK¯ääï†N£òÿ_QYqÚå-CDU‡…ž‡½òÒY[ÎÇ{ëèÒéÑ öúµÏMku u^5ªó1ÜçÂbñ¢ S£ÄMW»E˜µäôõšÖkC‡·|·Å9¬õ }BŸÐwè@ .¼^ {Âë´+q3=w2²€d‰‘p°°Ôo:ðùdìØ»{·eÔk—ËaZîd|Ò¾›—„ý÷"ñzÅÀ Î; ™ä$Ó!pZÓ!€dá’¥>ŸÛyÎoÚ´IŒš@ \„˜ÍfÂÂÂÄþ Dÿ]¤TWWx›ÍFdd¤è<ÁEAOw uUX{ºðz<$$§nŒÝÀÚÓMmU-Mu¸Ýn‚ô¦Í^ä¯ß³ñŸÈ;c @„>sW/{«¼ÜöàÏýÆCsc9»ßû ¹Y1ÙoŸ¶ì«$}Ö-Lš±Ø_ÞVw”CŸg\jrY`ß;ëîuòñÁ’&]ɂ٫˜*[º«yyÇD´ž ¾$޽ºÃ&r+^í/û÷;(jö¡5 ¹¼ÝÚ…¹b?~àŒá¡ƒŒ³·>ÜÄ{Ÿå“2q΀ˆbÀãrÑPqˆí*¢#BüålØÂ[Ÿ’¡Oèú¾\új[†¾î9é¾xæ õ-ݼûþ›H¼n’¢CX¶l%y ^|—ñÖÇ›h®.P*•x¸áÊ„DÆz ^¯„u[vR]z¤o‹R«W\NX”Ȥ"Ýý@½VK·Ívη/”éÐ-S"÷8ň @ ‚óFÞ@FVŸ©¨¹±–ªòbŠò÷cŠŽ#6. }pŸ™J¤'s\.™ãrY÷îë$ŒO÷¯ÃÙk¥½¦€Œ¸Àæ52sÅ×ó ÷|HbLHÀö»¶©»ÌÄø)ýid{­äoýÙÉá7vv÷òQ~1çÞÆ¬©+œ`F+lÚÎ…Ï KïBcP_2Ç^í!øæóOè#GÊ›ÑGe kùÊÂÝ|ãÆL‡í=ttÛHï3.J$V]¾ ­†×Ö~FÊ„<ÔšÀ¥ê–)˜2ùËëùÁ}W£Rô½y»dÞL¶ì>„¹©†°èÀ¤\6F'óæúÜwÓR”JW/ŸÇßßÚã¡ÖJYYV{/:Mßq¸`ötþ·î÷è‚#è¶´i`îôt¦MCxèà)fÛͪªk©«oD«Õ0&#•(“i@JmàbG¤ÂÑsæ‘Msr2ÈÏ/é[—b`ÞÏã¦ÃsC¤G†t°{®®Ž–v NÈ Q×AíùE³–.`ª¥Šö;™š—A¬· [눙1¥*¹ƒÔÕK€T¦µTòI¾kÐúãËO˜–F²Â¦±®·»Ïa·[Ñ DF÷¿MØPq[w==£¿Æi6Û°b clúÝÖÚ£t7˜huN·—}G›¹òæo!?áKñžµ„ª¬(½YÑiïåÃÃÅŒu³§]1Àt¸áè˼ô·èÒºÑ.›$ÍÅòR®%4¤ßLºã`)>U²/pNEUá–ÏÈ`òø,™Õîàù×7òÌšM|²«À_.‘HXº`×_6•òƒ[q ‘æ`¤¨4AØ$A¬ýtŸ¿L©Tð½n¥±l?Þ½¼bähM -ý)JfN™H˜ÚC¥%0÷)´!ì9\æÿÍì éLŒW󨫸é7ofùü©§4Úìv ŠŠùpý&vï=€N§eñ‚<–,œKB\¬0 ¾t ×t($úqÓáÅ…‡¶š:ªä&ÆÇhw=>z»»pªƒ1(Àeë¢GDXžÖ¡ë{†·|ÐpÖoïÆ6Òí }BŸÐwžô @ —U m4ÖUø?IŽÅÐH>&d¥›ì/‘J¼Ìš2µ>p"B´ŒÉÌñ.¯k¢¹¡Z °à¼ •ö?ÃPÊO}© ê ˜ =ášÝg@²`ÁßP ŠÀÜÓPá"Õ²@ \œˆTËÑ7"Õ²àR§­¥‰úÚJÌí­D˜¢pôÚ0‡‘~,J"€Ç㦩ª€ò#Ûèi)'Xë%"T‹F5r£Ñg{«™¸är&Íö—íXûç¥w·“6!oÔëïîh%Èc汇nñ——V`¶t0sÚ¤“Ú;Nj멨¬ÆÞÛKLt©É‰„†‹ÉSpÑpªTËIÙc¨*,Õzµ-6» …\Ë}æ ÏmªåþvR[¿jÙÕÙÀ§‡{HÌM#Y­ÀkmdóA³Hµ|õBŸÐ'ô‰TË#i'ô }BŸÐ'ô }BŸHµ,ž9·ËÇ›¬£³µ•ÂÇõW­$(Ìðmy½ÐØÚŠÓÞCT„Nðmtö¸xãÝ·qÙºˆ4°bùÕH†ñ"»@pªû†p=]í£ TPWWO\\숖2…J¥ ¸éP @ ÎFSFSG/-Mõ|øÖ‡ÜùõG´‘ÉäĦN 6uöžjŠ÷P]²gG5QF=!5JùÐq‘:¬N¬>=cNˆvhi®Â\{ˆ”±±Ùs—V«–% ®ö—¹VJö¼Ï˜¤ˆ€öÛãåÃŌu 3&/P·®àoìµü‡¨1Úón:ô¸}xz}X[Ý8,>^¼6n«¯pûðxAŠ >r 2%ÈTRd: Ê`)*ƒQ†"HŠì4ûd©ó0.|™ßt°ëp½-ú!L‡=íÐYÁßøŠßtðáÖCÔ[‰ˆM *!ƒ {«°tZ¹éòþv‹ò¦a³ÛyûÓ­¤åÎE* \”IS|:¯°ƒÇ¼ÖÕòŠ%sY÷éo°v´¢ ýñAImµMíÄG…0gz.ÿyg=n§ ¹räæ\—£[·™Îö&2ŒÌž<Ð`˜’”@AÑQÿgŸÏGk[;eU´¶™1†…’5&¸Øh1a ¾4ŒÖtJOG_tRD‚ ðI%H¼¾‹¸W¼t·wb¶YiݾŸ½'Ô´í8Huz&‹S´œ³Ø½Šf-žFжBÚ3'² j÷d¿!‹+2‚p:¼häÑD R/ðD²¥®ìÁë/?#ÄK[þáAëDB鮃ä2Y™­?e½Ð'ô }>@ à ¸²Kký±´®>ÆIÃfÂ{¶%•BldqÖö'8HINN.ûvoFÔ6[¨«.#>-[ ¶àŒ­é‘éÐl·¦Ñ }ÿÌáptGë›ëˆŒ#.@ Î*•š˜ØD&Ϙϖk‰Œ‰#=kx}>>Ïo`æ¢Rküå;Þ"HÖZ°þòz}l8\FÒÄ+É›q¥¿ÜçóòQáß8Ðõ?"ÓÎéÐëñaïðÒS㦷ŵÉCrèx’)DE$“žŠV£'Â>H¥ÒC{½¼v»•în §úÆRZÛê¨/(¡ÒZŠ<Ô…6ZŽ.^Ž&DŠTÖ¿|í!øÆü+Nè;”bL:­n§ÍJ[Õ~¾ã ôA:ù¡â6¨",:Ý_&S(1ŧ±¿¢õƽ\½h2‰‰DÂUKçc³9øxÏ6Ò&ÎE"‘æ;¢ ¢½CÃÇÛóY:§/"¨V«á®›®àïoï uBx@¶%Ó†³qû!î¼v! …‚U+òŸGHÈš<¼cÀíÆÚc¡»­SˆŠÅÇ0i\QÆ“¿ …µJMeu-ÝÝ=TÕÔ¡T*“–Bî„qhÔj1A _à¸é ËÕ—nýLM‡.ÏÐwxsËHÚy¼|>  —G ÈÐ'ŽãÚľ6n¯µ­‡Û‰›˜Å˜ )>¸Î>»ãØ#’^+uq )v›•†. úhN‡‡ËwÚúãË7:$œ¦þøòŽ^Ûiëí6+-=œ¶^èú„¾ Hßgº½Ç~ïýÖáòóvBŸÐ'ô }BŸÐ'ô]Zú‚@`µ{Ø·ǯ´ ZãÆN¼È@9©-.ÀÖÑÈØ}`±ñÉHU1è‚€jÐcéêøzÃ4}Ç©ßxØÜÖN¤1ü¬ìDXh0fK'€0 @ ‚ ™\Δ™óéµÛhiªg×– ÈärÒ3sˆ0Å “÷¿§%‘H0Åe`ŠËÀírÐXU@Eþ6ÚjQË=„kШúÛ»Ü>J«Ì,¹}Ž¿ÌÞm¦³©˜„”À¤e¨kìBžNÆ »Úë°Ô ;9$ }µ£¸YÔ8ä Lá¹áè+ìïüÑÚs:v^ØÍÌENìõ²LsÈ›Hêü ˜LñÈGŽB*•!•ÊÐ+”è }FµääqþzG¯ööFJ+öSyðE­[ÑÅÉ ÎãEFŒoÉqIþöÅ•˜{eDšNs¨ªx_Y6´äY[GÿÛ°ƒ)ÙöA"‘•Ķ‚ ”ÊC¬˜;Ñ_·jÅBšÛÌ—$~̤ÀÝ0%°qw¹YI˜Â LŸ<žO¶|Ž¥¹–°¨ÄQoCjbñAnèu¢U÷ísnN]ó!qéã‘ÊO!mí6cëhGîë%):”+¯ZNJ|Ôcé‰Øí½”UTQUSGIy%KÍe~Þ z½˜—r•·Ã¸sªR†Ç9tz­á¤>í¤R‰™ÌƒBv²iÒç‰Ô‡IOÝælé;žÂÌÙÝE¯Ü@¤^†ÚeÇìU’ªD£ê{8(ë=]ýñåõCÔ÷-¯´ž¾þøò)…Ð'ô }¾“~+{v*EðžóvBŸÐ'ô }BŸÐ'ô}Ùô<Õ²@02$))ÇÞmæø/`VM{—o—õ¢ß·(Sm´vØ)/-$cÜd|bà#$È §çC}„ñ´ÆÃÐÐP,˙Š,8«Çk[['FcðIå›6mºd·¡¡ââbêëëñz½§¹ *%&&†¬¬,¢£EZ'@pab6› û+ýw‘R]]=âel6‘‘‘¢ó—æ6êk*°˜ÛЂIHÎ 4|ðt Ö.35GwS[²wOÑF=Á5ufzTY\}˃þ¶ùÛßÄÛ²›Èð Qët{¼|¸µ”«ïý¦¨x /ÒÞöwG¬®ƒN°>)k4³«ÉÎ×¾ú[Ôª~ƒá¦’²­ñ"34ÈÒs2>î^æ"'å.2Bf1}ü R’sÐh‚ÎÙ1ÒÓÝAyåAön`_ñç\¿ðæÎZ„TÖÅë÷ÿøˆny$jíàf¶ª¢}äe‡qãÊ%~“œÕîà¹oĦˆ@«'‰ôì§WîíòÒ^àDÙANâ Gª0ƧzÁÆH6í:¢™9þ>Y±$ŸüñßcSñ¸\غÌtµ7‘¼™iLÉÉ Ä tfKå•ÕÔÕ7¢ÓiÉÊHã+7¬“œà’¥Çf%H«²Ý`¦C¥JÓÑg,1ñÉþº†òý„d(ä£ èòx9PÒÈ~×_æv9(Øñ&iQÁë—Û˦‚RVÜðÂBLþòjs>;kþGT†î¬›ݽ>ZööÔ‘Ä⬫˜´djõàiíÝmXšÊèn¯ÇÜXŠÇÞŽ\êA§R RÉQ+åH¤´r)^oßmð¥h– IDAT·Û‹ÇçÃîpÓ]á¡ÇîÂåö!U‡£‹Å””CpDý@C§D"!*:ލè8zíVêªJ9˜ÿ9XÛqõ¦ PŸüFª­Ë‚Ç\Æ7¾~#*e*å ;_ÝMdBưúE&W›Î»ŸB¯U“€ÉƵËóøË62vÆ2¤2E@ÆÁ›Â;?gLr4òc‘/_4‡~ò'ÂbG½¹B…Ù£âpq 2ûÒ7''Æ$£¦p¦P=s&¤1eü â£@ÚcµQ]SKum=>Ÿ1é©dIG§ÓŠIMpɤÕQ^YNjò™ED=n:<‘ã¦ÃÛ ¡ÇÒ!:\ @ Á¨é±;©­­¼ÄöZÂÁ¢£dŒÉF­`Ø|Ñtœd:h¨k8­éð›OEiQ‰ÿÿÓO4hU' ‡c:¼”©­­eÆŒ¸\®a/£Óéhhh'@ \Èd2¿ ±½µ‰†Ú*ò÷ï$4<‚´ÌBá,æ6Ò³'#•ö2:ÚëéèÓFxðèLPåµÒs—×ÝqtZ,hÕ‰vèóÁg…匱šŒ”þt¾½­¬9ð8†T;Jì¬õ¹×í£­Ð…·<˜…9_eÚåËNyíéóùèn«¦¹:ŸæŠýÈÜ„4t*bãTÈdg¬ÁíñÒe­ÆRPBew/>•‘ˆÄñD&æ`ˆHê۾׃D*C­Ñ‘–5‘¸¤t¢£?gãÖ ôhRNÈA*í»ìv:{©8²ƒïÝ}%a!ýÑâªF6í-',jd‘* A‘i<»æ~öÍU„‹þ7wædºº­¼»ísRrf£7‡ª4A4µÀîÃåÌÎí3GFGF0}|* M5cGŸÚ9(ÔȦ]‡ýÆC…BÎõW-ÆfwrÙ‚™ƒF·t»ÝÔ54QZVÃé"!.†y³g³¡@p N46·ÔiŠõމ1ÑÐÐ2êmœÊtèt{PÊeb@ @ Œˆ œ;Dà¬ÓÝÖ†ÞxÏ—¼nüá6»‰ïµYEŸÏ‡ÛíÑŸÓéÄëõ^4ûè(øs’çð§‡p@àÇÓUÂú?ÝÏÂ$5y6o± cÒìæèëß᲌P¤ ²ˆ®yìCj›^zöòÄ5ÕD~°ýQ5l‡øí\Ý,ž>l‡¦µÜ'A"éÿÓ'ÎáÞÐq¦Ýî=?c†N‚t̃|:D `Gýg6Š˜ÜõÌNZ ì¡ýó¿ðÀ²ñD+û–Q§,åÑ7K±^ qÆí‡ŸfVÂàã#.NÂ#¢È™4ƒy—­$&>™£G°ã³¨,-¤··ïûÞP[IdLü€åÆÍZŔˢ[žÆá +•uzl#ŸŸÝ/…eML›{Eÿ|ï´S¶= Ñ!ÛÏâ†6ºÕQÌ™¹Ò_æt÷ò÷í ŠîAtö $Ýõ*×ÚÈ´­à¡›þÊì+O2z\½Tçoäó÷Ÿ¦è“?¡ìØCN’’‰™Ñ$Æ„¬A&]tI¹LJ˜AKRl(3£/EÕ±—¢OþÄî÷~Kõ‘M8{¦øPktÌÎ[Àw¿ùu&F;iØûVs=5EŸs×5yŒËì7þtYíü{í.tÆÄ3z©O®T“Â?ÞÙ‚ÃÙ½lÁLbô>ÚëË6.ƘdÖo;„ÛãñßCøÊêÔ—ÂëqjÝ®^;N»£õ8]ýëš’;‡ÃvÒý ÇCSs ›6ogíºOhllfü¸,®X¶ˆñ㲄éPpÉÓXß8ĹD1Àt Ët˜ò…”£µm൙0 @ @ çƒß£3DF{=õõý¤r¤¾c©±|¾S?µ—ju¢÷G‰ÇãÑßéM‡*þ±„ÄÜŸ°{Ôiì¹.@ ˆ½ì]þüf;sz”% òa-Ó±ãgÜøu$~ïÊ[[(þ÷Mô¾ð5XSÎàqc¥à<Äßþ_ŠOUïüœ?në†}ªtîþ¸ŸÏƒ½µ”õeûîá{ÏòDØ[Äk?þ±ñ‡ÈFè(»ó®ä—5óxzg-–.3ÕÛ~ÍÌ’ÇYžw/k*‡gôVdÜæÒÍ|=Kyá+Ü”S~Ȇªvzº[È~>OÜÆ£š9õ/2¹ìïóöÑ:;êØò¼qï ülÇ…ÊMœS‚K •JMl|23ç^Æ„)³q¹\ìÛù[6¼K[kš/\GÉdr"²˜±ü«Ì¿ñ'˜Æ­¤ÞÊ¢FšÛ{˜ÆNGe…¸¬9„£üeõ¥{Ó¹Q*äÙ·N«ƒÏ«[¹få·Ðªû÷ãÓ’âÒ×a0)ÏJŸz=>š8Häåãš+¾APÐ@3¥½»’=ï°çÝ_à¨ù”1&ã3¢0…uc‹B.#"LÇøŒ(Ò#œØ«7²ÿƒ§)Ùóöî¶muAn¸ñ+ÔDc·”uÛûË” wÞx­Õ8{{²ÿr…Š·ŠÝ‡ûÍŒ1Q&æLÊ í Ž·‹.s3õe‡‘ÙjY’Í/¾Å76·pøÈQöȧ©¥/õCGg'ûæóÁúO("Œ!b@ @ ‚ žAë|žáß/ŒŽøB³\âí{¼¯P©p9$É †ÄK#|¾wßí¦M™Ì¸±c­w»GýábŠv(ƒ4éÞÙ ´|Äm/¼=œÙÎêÃX¢VpÇu³HÝÄÍã^àÕf¤rj¿^8¹wÎ…÷~Ëï>¹Š?_…ðµoãO¿ÜFÔW¾BØg§z.EmLcÖÊYðôf*Úí€þ,õ†‹êwç·%3ùá£jþöÌišzjx÷ßgmÄwùhÍO˜Ü÷‚@Èäëxò?&Ü ¯äÿ~´’¼WWq1?^Êþ ?Ìîÿœ¹p% cÖ°¿ÕŠNù¾EȤøå¤ο·}û_YÆšOÊøáì)‰¯@ 8Oè‚ ddO #{Û?ýòâ#<÷Ô™2s>9“f¤Ð^©Ö‘:~>©ãçSS¼‡öÆrŽÖAík%"LGØ ©˜=^E•m¬¼ûÛý×.¥{?dl¢! ûâóùØ]ZÍôy7a í77iØÂÎæ5ÄfÓìf/M;{™jZŲ›îD¥Ò ¨ïµZ¨8¸žŽÚD‡«ÈJМ×Z•œÄè¢ÝÌû9´~a‰SI·¥¦ÿ÷D|B ßþÖC|´ömÒ’Ãp»z‘ÉúÆwÃŽ|,.5áá£OÄ'{e azN_D²¤øV/›Å;›÷‘:qî YFB°1†Ow2}|*rY_ÿß¼j9üä9"âÒH‡k—kG©ƒIYIÌ\¹ŒÄؾ_5Í-mì9PICC3jŠÌ´TÎÉ+¯ýÜœ,œn©)ÌÏ›…A/ÎüÁ…ˆ×'¹ uylmì8ÐNØøtÆêûßL³5•ñÑ¡zOh+M`ÙÁR1ž@ @ ‚‹—F B#»gt›õßB;Ñt˜”špI›Æfg¤Óqàà¡AÿT*c³³O»ž‘F<ôxU ›KÚ©9ø$3 $ú¾ÇކüòêL´ m×=½™fàí¢àß³(EÓ—ªS?ž;_:Šõ4ë oO oý`9iš¾T—áKÍÁ®¾ºS¥ýlzÿzR³ûÒŠ:‹žgIö4®œ‹T"A"búϱ³­ßœ9ò}_¤Ä̺ÖWùÞ_ã@‹™¢5¿ä7Å©ÜxUÖiLe “¿Æã7JyûÉ—9h°säŸó_é-þžÝkÁ;È9õùr7ôV³ö±k§— ‘Ȉ˜t';ÜÕÕq$çµÞ2Ö|}Ö1md¦i|õåºÿT³WñÁ“+ÉÔJH‚3k.cÓùÏëΦ-bŠÎ>÷çInùê·éê°ðâ3Oòæk¦ªü(.×É©•ÆL%wþ,¾å1ÆÌ¿ŸNi2…UVj;±;¾aÖf¶¢‹H#26É_V{t!*e`Lx¥ít©£˜>y™¿¬Çaá̓O•®A*¼¡¤³ÎEÇgZ®ŸôS®ZvÿÓ¡×㦦à3öô'Ô=äf„tÁ¤íTÊeD…1!%IÛö~ð;j 7H=¬VkX¹ê !a9°»­‡½G*ød_ áQIÑ!‘H1ÅgðáæCtYûí3ËÍ&&XJg[]`öW­¥Ý&aï‘JY„1Œ¤(=]í̓.×k롵¡‚ÎÚ‚œÜº<—'¾y7®˜ƒZ!aÏÃ|°~‡ Ž̲ÅóXºp.‰ ±Ì˜’KÍÊô©¹\¹| c2R…éP 8ÄF%÷ý¦>ƒeeò ë~¢«»…Ýûª©±}ñE_ÖNŠÈT®X4ëOç–¥S¸aš0 @ @ .2Î +ÖP¦C¥nè Xò^‡µj`êò21 ôE|¼îÚUlݾã¤úÓ§qó ×9"pC™÷ÇÊ&-cÁfòß-O0]ØóùÃò;øGÒãl©[ELí«ÜwÓ×x4mÏ¥¿Åßy‡ø'·ÑpC²š¼ÿygæ©×5žF>øö îÞžÇo7×°*CNýÆ_sãC{‡½Î I?\GóÚœÅoóÄ]ß⺯±yÍí¤zòùóÍ#ßR¯Á—â\˜t-Oýj= n¼•IÏ“÷‹uÜ3aˆ‡Ë2 ¿ûS,ø>¿xçFþ™·‡_>×È¢§bNø¶u”òâe&^ô˜úн¤êÎVdŽ.öüù'¼k¸‡·oÍF³{ˆ“{K1µž®cääŸ LY“ˆvo ¤Õ*@À5O¿Î—&à)y‹Ç+[•lþëU#"ÚŸ_ÿ¾ÌÊ«w^ËÏ|÷ñ¡7™ÞÆŽmÄiÂH<ŹÂQø,K2w°íÑÙ,ø]!I7üí.Oî l¼þÿ³çñÛe© ¶Tos -×=Ï'uoÀú‡¸âë÷Òðýù´ù_È>û>W<øC^Y9“G3+øË­×ó+É×yéÈZ¦«ËøÏnåÞk„nþy€½©ˆ:ãoxîóçÈ käo\ÍOþïuxÿ)Ï©öÃOó¦OJð¤»ùù¯þA¶¡’W¿ºŠŸ~ï,|ÿ.âK_þyÍ#!hò×xõ7™ã"ÿ•¹á»÷‘»‘ïM°±é+¹ëÓYüvkW$º(Yûsnû~ѱ±?Â_n½žonh“Œ@p–éê´ RkP(U„#Yºò&.»êFk+)8¼‡]›×OvÎT""cÊúÍs2™œ¨Äl¢³éµvRS²‡šŠƒØÛˉŽÐfÐPPÞÊÌ•ýÑ}>u%{H1&Ú¡ËíeËÑ nÿÚ3ÈNˆ\·®àtq.jUÀûÌ\âD^˜À×ýŒÐPÓ€ºsGw¾‰ÚÝ@VœµRsA\d0F§‹úÒÙ_y´É+‰ê{©O*•‘˜š…>8”-›>âãCD¤Ï èö•j-½j#ooÜÃí+óŽÝgsç+xô©—˜…T¦õvB"bÙ¶·Òüe×,ŸÏßÞÜFpDLÿuŸÃ޽»ƒžŽ6Òbô,šÎ´œ4tZ5íæŠŽ–R×ЄB)'9!žœì1¨U'cjµŠé“sñ^â/F @&Uàñ/mJ}SŸÁøLlÞwßµUMu= ‰S¯¸¡Oèú„>¡Oèú„>¡ïÌÛ àâÅiuÙFþEÓ¡` ƒ™‡k:NÁðÔx½ÞE›ì:¸†Wë§ñÄ«w2%V ±7óà¢çyðÍCt¹ãU6UÝLDû¹Û@p¡á¡yýÿqÍ7w3ýéM|z×xì[žåá®f%kyÿûS8­B‘t5?yøE–ýòq~½ñ»Æ|—u—Ç!/þâ”ÎÝoçïKÂqYÛ©Þÿ>¿{ø–ÜncÓš;I °§Â~äe¾ÿB×¼tS ÐènS„’’AL¨¦ßÅÏŸÚÆìûþΖº+¸v˜çŠªè]r786ò¿Æ¢âXiÝø·þ¨€¼ßm<}IMŸŠ’#|¾}#¶žҲƑ‘‹Þ2`µ.˜ŒÜÅdä.¦³½Ê#Û8P²nŽ„”,»öúbdŽFÔJc@ôﯨ'gú5DE$øËŠ›ws¨ýC’r í+ŸZ;©Ëm7þ]Pð u>jŽl¢©d3 F9!úð‹æP+¤Æ‡ÓÙÓÉÑm¯“µøìyþëÆ0c³ç]ÆÑÊ—iª/ $qb@R ÇÅþÒÃdæWøS.§$ƱbÞ$ö”›>~ÔÛPªµTÕÙ¨¬k%9®ï5‡Iã³ yÿSlmx}>:Û›ˆ V’—Ìôñ3ˆ4†ÐÑÙEiYUµuH¥RR“™Ÿ7ƒ vÈmff¤RSÛ@Xhˆ˜h‚Ñ\q Ót(¾h:PȆw,0í¼(T&LN&NÞ¦ýfd2 Ù±{nN;–^öær>©´Ñã‘Í”L&¥äè;vÉ ŽAÑ{ÎÛy½ • }BŸÐ'ô }BŸÐ'ô }BŸÐ'ô Õn”9:@pÑQ[[K||*wvŸœ¼ùø©Yð8ß[dÖ¼©‰È NZϾâVNŽ—ë¢¹pòxÒ#4§œSƒãÇb¢…jKï°Ï–æbÌŠxâC†IÈùX¦&$f,K|ž×~’ÂáWÞáèis6û°¼À½w¼ˆüþðì­é¨‡½-Jx •ÊQÉ$x¼>ìæj:Õ‰dEö÷«,$‰,£—–Æ.œ§\)Þ¼Ï'E®’#ñzðùFÚ·ý…¥£“HD_Éë•.¼^½íåÔºdÅ8Õ/ˆãû&Î>- u˜¢bO{]‘:&‡+¯»“ko½ŸÐðHÖ½ýkßx™Ò£‡q9O>‡Ç0qÞõLºìn®ü*ryÿ\]²=‘ÆÀ¤œ5[í”t8™?guÿoWïþ±YMkëóAó>†Úlî¼îɦCgo7[_££l=câÔ„èÕ層&3^¥äC ¶¾†ÛÑr Òóµ¯ÞK¬ª™öÊ=#zél8cRX·õЀ²«—ÏÇÑQƒÃÞm„šbùxGÿ6T*%³¦ŒÅ\}ˆ¬H9ßùÊb~úÀu,š1‹¥µë>aמ(• ÏŸÃUË363ý”¦C‡ÓEAi-­æ.Yt”‰šú1É‚"Åi$Î ?嵘Ça§Ã%ÁCÞ¬)\== “µmGÚèA;@ @ )=ŽÞÓÖ‰‹Õú›!€ÆÃ”Ô”“Ê ¦HÓ—bPŽ›o½ù¦™% ^¯™L6,Ó¡L&Ãëõ"•žnh$àûöî3<Žêîûøwf{oZõ.¹É½ƒm°1˜^„7!’Ò é¤Ü )B’Û$@ Ø4÷&[²,«÷ÕJ»«í»3Ï Ù’…%[²dæ|®K/vvÊάfvv{ŽÂád‚Þ–…{Òu<ÓÒßSâá¿®ç?L>WrÏßvÒÕº–Ï鿆k~¦Ððë:½-Gº“ª–àð‹H2²š"ží'´*ÆÝ´‘I‰Ç8Î}á}-ÖCs‚ÕcEwÄeÊìÉĤ†‰bÔzÉqw¿r¦/p׼ч$dFƒN3±Ã-'ëþË#/×Qû×P¤“$‰Ìóaïžß°Ò#Q|ÓKt½cMþR>v–Žu<ÎæÀÐ3­êßÀ½Ãò±$WöœlÙGgÊA–MÿŽó÷Èç×R{&†Ðª:b£ºîpRÎÇ2:£Íq®¯‘ýóé˾Êîsïgõ=+ÈÐḺ2º ±Ç¨êŒLK©îÖ•ë`týCíš:–vŒï{„>úSº?ôÛ[» 6<Ï“ú«ÒY½8’­ìlìvÓ‡÷M„“«½¥X4ŒN?˜z¯Û³Ž;_%ò5¿V«¥tR×Üø9–ž{)=ݼðÌŸyõ?ÏÐÞÚxT­µ©oÖ`¨1è$ÐQ…Ó:1Á¼í[X¼ì#˜Mƒ×Ï·êžAqùÐå‰k(Ú·Æp´Låæk€Ñd|+Ð×ͦç~%VÃä¢ :íûú5aÐi™\”)R͆ÝG¬o°ßc£Ȩ́où4úNüu›aNe0Y‰¨ÖnÚ70Ía³rÝe+h9°kB¶a¶{¨iôáô‘N§ihjÁf2PœaâÊóˆõñï—Öòæ[›I¥Òœ½t1ž·œŠã„ yr ßzàIî_½–ߨ6ð¼ÕbF¯Ó Š›?A_Ǹ–ÏÊ)<­ÚCcËâ‚•sXYæÀª•Ñ[<ÌœâAðÑÉCAAAAáýÉj8öwGÕÍMC'ÇÑ?Ó¸¿Aêéõø\2yzõE'I‹.S„yyytvv"Ë2n·Ç3âŸÛíF–e|>¹¹¹#¬Qƒ%ËܹõÔ¿µ–šÜk¸Æµ†/Ýù+Öîï¢/ÜKýƧyòõf|UOò‡?¯ç ¿¤ÆANž)ì'’~]›ÚŽýjÒ®äæ• ÿüÚ=üiK Á>µ»÷Òu(«bð”Q¢=ÈóÏm¤)à§aë‹<õï*G~^›èáÀž*ZzzhÞôG¾~×ÓÈ~†s µ¸æ}ü÷E„÷=çL®º<“-ßù2¿øo Ýám;Ÿà_ZMrÅ ,ÊÕ™ƒ3‡ülúQœªÕdm»žæ‡wýŠ–×qN‘~BwI7åÓ¼P‡ý:_¾™Š·³¶[¥þÑ ðu¢-âC?¼—‹:Æ5×}—gv¶÷Ò¼ý)¾õÑky ø!~|ïeäÜÅ}Tí®¥«/HëÖÇùÖWŸ&}Î'YY44¬q¬ó«eîõ|¼¤’{?ÿ]žÜÖB°§†5Ï¿NStøkÅšWÿ2îóñ®‡îá»z½-½Dú:ØóÌ÷øìê˜÷©«˜f~™ØÁÕÜ~él\ök^üíÇ)›ÀN°œó>Á'+rß—ïã¥=ÍoóÈ7¾Á×5ܶ<—㿜Žn§-]ÇNˆÆp]‹Zñ)&M-'Ë ò•çØÖ™:ô’9OŸ¯ò/~…?¬¯Ççk`÷Ö½øC÷M„“«¦z7Þœ¡½Vmý[^yœg'¯>ùSöm~PïÑ¡—ÛË¢¥çqÉU70mæ|öWîäŧÿÌÎ-ëzè õ"Ë2N÷àU£©úm ²R{W BgÚʼY˦ù#­¬«{gŽaBÛÉ·/A¦o·\ÿã!¡Ã ¯‘í/=HydgXO«×Fn¦²L•í/=H¨»yð}‚NÏ­·~†“ŸÞ–½û¶*3ŸgÖì óˆ^Ï\8³ÚG$è?áõ¦’q‚þvšöïÀ¦WÙ°i;/¼üÍ­Ì=Þ`ˆçÿ³†D"16œ1m2vÛÑÇ4•JS]×ÊŸžyoÿúI~ÿÌFø%ÌYSÈ-NMCûnNv&m]âd#ãàÊÈ×òm§}iõ (DSb| A±ºî IDATAAAáƒA7Ư‚TõÈ®¤ÆÉåtø\2‘¤¼¤ü}p¦NJSSÔÔÔ°ÿþÿjjjhll¤±±‘)S¦Œ¸ÎÌ¥_äs‹ª¸sv%}íêb¾ôģܔ~Œë¦gb³º(¹ðlJjÑ¥|¬ýá*Ê<6¬ÜüŸÉ|ý÷÷°Ì=üº¶|‘ëò¥CÃpñgYÂ}»¢ +âêþÎÏØÃ7—äã°erîošq»¥?²Vð­} ~w…NS®º—7ã%x1RéC;oæù¯M¾ÛMÁòÑvå#üûW—‘§ɾè„÷E„÷’8{8 ›$!e]ÌŸ÷íâËÝH’ŽY_{‹@²šßŸãÀqÎï©N’‹eßþ'«owòÂmsɰÚÉ]òmö]ð/ýæ ò4UZ œŸ‰$IÈz¹g~ƒgü’ÿr3SÞ#£9'ÝÈ£ëžã+ù¯òÅÅù8­. ÎüëÊîá…7â㥃W~£ËMÛïÎ'Ëæ ï̻ٵðGüíþ«)|G'QÇ:¿jí ¹kõŸù¼ûn_”Ã=™kXG{|„ëŽß?îó±¢öòö/?ÎÜ|[6󿸞Y÷>Ã#ŸœŠi¸×>ÞüáÝörÒ®köyŸåGŸtñ§K pzæsçF K¬$Ó*hò¸âñÀªf~~y^ï4>úË äí› 'Wcm5ECï}V~ä«,»â ”Í<›h¸—¯ÿçþ*kžøÑ°!D­NOv^!g¯ºŒ^‰Ã•ÁÖ¯ñŸgþŠÃ54ªÞÙ°s†!ÞR×Ì¢3/Ç nþ¥½ÄVFg˜¸ÞýâD·Y¸þª{0·ô5RùÚ)Ïê¢øtä²™(Ï‚=¯=BÐ7Ü1LÜtÃ{vÞi5ZŽÌBÞØR=0Íd4pùùKéh¬óúÂ?mõ{ 5ï&SÓŲ©N–Ï+eÆÔR.\µœ¥‹ç“•™ÁµW_ ’Äœ™Æ vì«çOϼÆÝ¿\Í{ƒªNKÎ42 'cqxÐhµh´:|})š;C’Å…ù¬o'AëíO4uBË%"ãëñ¯í}0x]è¨ÛÎÁ-OSžcÀjÖŸö¯•¾H‚ý­Q¦.½OÞ´éÁ€ŸïþøçØ&­Âìʰíµ×îà[Ÿ¾§­xãx<ÁWô ŽÂEmÎc.‹„ù;HE{È÷qš5åeRRT@QAýÑÇ+ qÿï㞯|~Èk¿®¹“M»jØ]ÓDol./&«V7âöƒþ–Lvò¡ó L{ú¹—øÐ%«e„‘|øÃ~Ç5*ŠÉtìÏ_EÓÿ•ª¦$íðOÊ(Göår[èñ‡yjõ¯“Ö Ó¤'t>9ÒÊ+ÛüäÏ›Ât[ÿ¾ª±^ÞÞT‡ÏSÈ¢Æx7{*›ð»K8wš“tjêsØíǯW0" 9‘ó…£ ²Ì)ß®¨OÔ'êõ‰úD}¢>QŸ¨OÔ'ê{Õ×Ô9ö ‹øÎAaâ\sÕU¨ô™¹N¯!ùŽ£F+“Nü#eí‘¡C€¤ÜÿáàD‡S1­Qú@äÜÜÜc ,‚ 'G¬·…@ʈ͠ñ’Æ·3-é ²ízÑ‚p ìÞ¶‘T*ICm5—§;ã¨y$IÂéÍÇéÍgʼU$ãºÛë9°óUölxŽ]ëž&»h:¹esÈ)šŽÝÓÿÐ àtyB‡õ{ß$Ë=1Ão>ÐÄŒ¹„ÖT=Ž5/ LLð0Ti}5Ìm—þtHè°¯§›Ÿbr®ñ:°šõLÎ…êcΪÛ0Ûûãv‡›Ûo¾ž_<üw ®F£™˜öpd•ðô+›ùä•ýÃh z.?w O¬ÙCÉô3Žš_UB=D{Úp™UÊz²Ê³™R^BQA6«åØÛ³Û˜;{:=½zB1¶î©e×þF|})l®LÌž2rF9fƒÙêdëžÚ!ÁC‡ÝF—ÏOVf†8ñÂ(x³2éêè<î|c óŽ:„aC‡=þð{®}$£ƒys ر¯…µoÖ¡hdçrvùÈ¡CAAAAAx/©kh ¸¤dBÖ•¦×Äw†=]CFé:eI„jèPAÞ ©ö—ùþ¤{ÁÏX’+z:½ÅiyýIÖ$æqá¢,B[ãË_yË%«Yš#Þ ©ìñ±ôœ‹‘d‰ª=[‰FÃääáÊÈÂíñ¢Ó´ÒÌdU]TÑ¿ŽîV:šªèlª¢jó‹X™äOšO,¥%3;ðüžŒè8@Q‰mÜu'RišCI._xñÀ´Î¾jƒÉ)™˜à›ªBóº«*n¥°h°‡¿hÈÇž×þHy¶þ:<ÌjÖSæUعæ!^üE´†þ0_iùTV.šÂ›{_'«â\$iü×o“ÕAe]=þ`·½;‹æÍàÑ'_"J ÑêI'“Dúztµà4+dZtTdPVÜß³¡ÛåqýÑX‚Ú¦fL*˜–—“Í÷~õg"²‡'³»”¼,Øk×ê 4ù‚Ä) úþ.Š riëèÁCA¥Ñ„O›ÍF( -Ñ(±wµ-4¶,.XþÎÞ4$ôö -Î`NJƒ$1ª AAAAá½¢ïÐgp§Ê‘¡CCð0–H`Ô‹^sAáý Ouåoxþ3WSfíqzÓ@dÝz376'ÐfÍæŠÛWóŸ;/!G#ZGN…öÖ&-[…Ý馰d2©dw'½~­MI&¸3²Èðæ`wºå£ÿ9íž\ìž\&ÍYI:¢§£ž–ƒ»x{Ýn¸ãæ t5bbȲ}ÜuïkêbÒŒ³0{±[[ýÌY)&ª·Ã¾ö$%Êœ½ôêÁkT2NåSèNc·?¯»ÕHN¼kfÞù·#kúoÍ/¿âj|=ÒØU-³tB¶evd³~Û~.[1«ÅÌyËæ°é@%zƒâ~rœzfLqRR˜KYi^I>¼žJ¥Ù_ßÆÛ»j¨ªï¢'âKŸ¼„ÉEÙ”PßÔÂÜsÎ@ÖèÆW»ÝEc›I‡ÖáqSS[Ïœ™âÄ#,Ïå¡¥§{à±3/‡Þ–¶±ß‡(i4²f t &RšQ¬CFU9¥ó¥Ò2’Ä)ß.ôyv<‰”‚rüÙ&t¾xBA’9åÛõ‰úD}¢>QŸ¨OÔ'êõ‰úD}§W}‚ ÂÉ%Ëïn'D£:”µ2Ê¡.Ýn7~¿_Qá˜ôÓnãõºÛDC‚ œd†¢K¹ë«¢>´ä]ô¿¬mú_Ñ‚ð.H&¨ª‚Ý98„°V§'3; §ÂH8„¯³Úý{z°ÚääãÎÈÂd>zèZFKFn9VW.‘´£ipžæšMxÝ–q×VTö4·sÝE_˜Öïá@ï2§MÌÎâ!…È7}äŽ!CEWmüf¥ —Íõ®3UUUQ‰þa°¥w¡ƒØ,•ps;û6üéË>6p쯹êJ~öë?·81XÜãގՕɦʽ,šYF–§?°zÞY‹xkóC,œ7ƒÂ¼iLTŠ×ëA§ÕŽÐf*õ-]lܹŸ]5ÍDÓ¬/΂hl>¶ï=8ìnë°Ï:N(t ‘,ÍùV’Ný|‡çy7êÍgÃ’$òù$ùÝÙ®¨OÔ'êõ‰úD}¢>QŸ¨OÔ'ê;½êAN®¾HdÜë%‰ÍÛ¶1îÜ1/;¦¡–8@yyùÀcåˆqœG:TUuÄžAAAÞOº;ÛÐêô¼öò³x¼Y¸Ü^œî ¬¶ÁáiÍ…%6 K&àëlÃïë îÀ>dY“‘7;»ÓV;ØC\Ow'™¹Cª7²xZÖøëE°dO!Õ30mgËZtŽýôB¨Bû¦W,¼‡spXÜî–}„[·2sRö)9>iE%‘HŠ&è ňƓ$’iEí/ ,¡Ói°õج,FFƒ|òï[ sì­ÝBWãL¼…3pº2¸ô¼e<ùʲf¬¢?yâ$I"™ÊÍdyú{ ÌËÉbùâ9\tÞÙ¸œ#÷žÙåòö®¶ï­§3˜ÂáÍÚ=»f0Xdu¸Ù]]ɇ/PÐú´yñü™üãµ½ãL6ªk›aåÂ}±Z,tùºñfxÄ HÆÈî¶‚NàµjŒô¥G?Œòh‡2>Õó©*cjy"ç3FóMrÊçS”þP¤¨OÔ'êõ‰úD}¢>QŸ¨OÔ'êõ{¾ÑÝ ‚ 'ÇÔ’’q¯CQÕ Âƒ‡G†O” ‚ ‚ ‚pºH$â,\z.%åz»éjkâ?Oü›+‡¼’ r‹§àÉÈÆæp ±œ‘™CFf“+拆éîê ©á}»{1š,Ïoßô:óχ³bbz;ìëH‘­`öÌÓâ‘^ªÞúS Nn`LQU}qºüa:{"¤ežü)Ø rpÛ=h´L–þ`¨$ËÄ"!"¡nÒÉ8--Õôµ4#§ƒd{¬d8ÍØ,zä“t«ÕÈ”zØûÖ¸²JÑú{³œ3g>6o£/Ä`rŒ{;öŒ\6ï9ÈÊŃCOŸZNgW÷QÁC m{ëX·µŠÎ@‡'“½˜\¯i„{|™@ Z:z(Ìé?¶SÊŠ=ýªª I'þÓwƒÉBgc˜T*VÛÿÿ“—“EwO¯  ÒK‰ \ßXB‡‚ ‚ ‚ ‚ ‚ L,0ˆÝë}×¶Ìà¡Ýn' 5]£ÑN?¹î²{è v‹£,‚ ‚ Âi©«­™¢ò©h4ÜžLät”BJAv˜Ö¦5¼½ó9‚1М¸2 ˜1ÿl²óJ‚ˆF“…¼ÂRò Kûo»;éñu²{ÛØÍ…W\?°­dq/}=íôtÖÓÙ´¦ÖzÔh'N»»Å0ª b{oˆâ)K1-Óö´¾3{b¾­Ô%(7.#¿`òÀ´ž¶‚-Û(›šsRŽCw0JCK/q]6Sθ’¼²9ãZŸ'»Ov1‹/¡¥vµ»^¥¹³‘â<'»iÂë÷º,4Wm!е‡·¸ZVsË<èªÃ–5þÑlîLÞØREIÞ2ŒFÑhœ_ýñŸ´ö&HJF¬./EEc^·ÙêdwuËæM@§Ó2¹8‡®¬ÂqÕm0YÙ_×:X<^èÐf¶1bTP[ï¸ï…Ða:âã­íݸgMbºm°'V5¥®¦‘]-!Âi —‡Yy”X5œê1[ÂQ>ñBŠË.·r“çÔl=æ‹qÿ“\t©•ëˆsÓóIV^bå–Œ÷ψ5ÉÞ8_|.Á’‹¬”Sw2ͯ†ùyMšMÏý+µ<¶&ÁŠK¬|BŠó?Ï%8ïRÛ¨÷?Öç«ë>v¾‰E¤¸ïå™K-Üp¬ã§†?÷MêVoCwÍCLºjª8a ‚ ‚ ‚ ‚0¡Ž:F:T´ rêØ£<<:ìééÁå:ÎFT}ÿ¯œp8t(‚ ‚ ‚p:‹Ç£˜¬vô†ÁÀ^vñ Òé_3íþNâ}Èé(V³§Í@¶Ç‚Ŭ'MÒÙ³‰Ýÿ}…P\Æ`ËÁ›WN^ñ²óJ¨Ú½‚âÉGmS’$lîlî §žÙ袻í¾ÖZÚI…[qÚŒØ-F¬fýÐ â¾æ*–hð¶NUØß¾÷lí¸ÛDICwe‚/»åˆi)ª6=CY¾{ÂA2­PßÒK{ŸžÉó¯¥xÚ#ΛJ&ˆE#„‚=¤SIEA’$ô#F“›Ã50ö‘òÊæW6‡ƒ•ëÙ»ý%¼¦nÊ ]è4ò„îKY¾›Êu«Yråצ»ò¶þn5Voɸ{=4Û\ì¬Þ ,|½fyyqã&Í;g\ë6˜m46×£ªêÀðÝÓ§”QõfÕ¸ƒ‡:ƒ‰¶Nÿi&“èÒJ&’Vo%•è2- ‰¤0›‡^bÑ0FÓû볿d¨“»hŒ™r%R4í«aK¯9 æS`HÐV[Ãö=:œ spkÄkãý@U ¡ŒnÞD(Åó-på徜/£‘`Õý=óÆÆúûùtšgßN`˜fa$´|lšÄÿ{;Á² d´\`;¯4aûÿ pa’8„‚ ‚ ‚ ‚ ¼G/tÇjù¸¡C8*t(‚ ‚ ‚ðAêéÆåúµ²ÅžÁä¹ç Bþvz:ðûÛihm#ða2ê(Ìqb2ê@M ï êõ7ØViïI°à¬‹ÈÉ+Æb³Š°8¼XÞ!AÄÞ®Fšk6SßЀ”b·pÙL :}½\\8Ø»ÎÞö·H˜;‘µã’ôµ&¨°¯À›™?0­³~;fŇݚ1¡íŽ%Ùµ¿{Á"Î>ÿrŒfûÑõ{ho©§×ßE,Æîô`µ9Ñêt¤ÓidI&ðÓÑÚ@$B«ÕáöfãÍÊÇæŒ§¨ŠBéô¥dæO¡ról¯ÚÅ´/6³~ÂöÇn5`ìêÂ×´‡Œ‚ä”0³ÔK“¿ kFñø> 5¨Z µM”ô÷8wæTîÿÓs(J Y_ð4Siéì!?«¿Ý¦O-ç±g^‡É*H'«0Û\4¶:ÍdÂçï!Ãí'"AÍõ*Áf3øü;C‡ÿkG„£±&£qT¡Ã–öò²óÞ{®hªãÕê>Œn–ÔÐ\Òá^ª}…3ò)²j‘%-¥3fPún–¬ªTí‹rÃÁ[C*v·ž›Ï6qm€JãÁ?Ù”`ƒ_!ªJdfêøÌr3×fJÄ»b|âÅK§hÙT•`WŸŠÝ­ã†efn)ÑéXмå75)zuV•kè!´—èKñØÛQþÖ¤ÒÈÌžlä›g¨0ŒnWâ¡$x3Ê_ÒËyžŽ¹†C=-¾˜dq¹Ìë• ª.:ÃÌUJœnNpP‘¹d™•ïTh»cÜôb’Å“eÞÜ *%3k²‘/ÍÕQ¡$ùÂ3¶Å`Ûßl:ÏÊuMa¾5ò×K Êýí¶ss_Ø«HªÄ­ÿ ðæ,OOsÇs‡{<<~ýGî¿¿5Î}Zî.”9ü-·ÐÀ¼íþÒªçÎÞö¨Q?)Õ3×5žË£ ‚ ‚ ‚ †œ+ˆ·=;±ë4[‰G?3 z±9œ3Ý™tú;cAAA„‘5¬$3·à˜óh4Zì®lì®ì!Ãÿ¦’qÝ-‡‰ýmD㘠z\v-]m>/»€H8DSC ÁîVúB=dç•“™WŒÇ›ƒF3üíÜá b^ù|bá@ˆ-û©k®AoÌÆa ÕìÚŽÕ£w{¨*ø÷¦¸æì™Þ\µŽ’,Ç„¶}w0JåÁ^Ê\Mù¬åG=ßÕÞLS]no3矅Áxü!’ã±(ÁÞnª÷lAUUŠÊ¦‘™Sˆ$÷ÿªÏêÈ`ñ…7Sµõ%¶ïúÓK&vèåâ\û·>‡+g ­I’¸üÒKøñoŸÀâ)èMðD92rÙYÕ8<´ZÌL*ð’ŒF0XìãZ·Å梦¾m x˜—“I´¯%BÖžøëKÖhhï éMÑn· †DðPFéX¡ÃÑ2GßÓh^vÞl/]íïþ°è’ÞÁìù¥äk;Y»mhï©ñp>• »î½Óë\"Í+­Z~p‰ƒß[^YßÇ÷^1õR# úÜóF‚‚3­¼V®AIòÈKaؘ`饼€I³ºIÇ÷/s°Ì¬°æ­þåç|ØÌ™…×ß óóN_¿ÂÌYú4¿ýo„ºÄ0?lH¤xìµkœF¾Á@‘’âÏk"|ñu‰ÇÎÓ“{¼»'R<ür„—]F¾A?°ü—ß‚ÇÏ7ô÷<IñÏn|̉vŸz#ÄÖR3¿¼ÎD|_˜ÿ·%ÆÆ" KÍû§Zß¾ÜÁ29ů_ŽðõÍðÈY:î¿ÒÌM‡Âƒ·dHtµ˜Ö&Ù2PèèoÓõ-*s϶óËÌ$Ÿ:bÞ„?=¦úï¿KUؼ7‰škaò‘ALƒ†ssáî½I>q––ìáÖN¢ª2Ò÷œ,‚ ‚ ‚ ÂÓD†»:ýx3ÝCB‡V›¸Nƒ!ÙÿYÊáÐ!ˆà¡ ‚ ‚ ‰ÝÌÅ¢´µ¶ q¹½èõôz-îÌ<ÌÛ1—Õê x²Kñd—R\±d`zÀ×Lãþäø6ápeàpe“_ÂöµÓTû&¾š×é‹$0:sÉÈ)#+¯ŒŒ¬Ÿ¼òù¤ßz…9yÁ!ÏèÜNÜ™&La²Ÿø-b¬GÁ.!¿`pˆèŽúȱÌÆÌ k÷î@”½fžóIrKfy.Øëã@ÕN #åÓæbwzÆ´nƒÑ„7;ov>ÁÞnZjhi¨aRÅ<¬öÁÛÔù`sf±oýÌ*Ñ`³LLχ&ƒ}º“žöýdäO +;\[ŠD,„Î4¾p ÁdeÏj®Zµ``Úœål¬mÃ;Îà¡É椾u0d$IåE9¤RqôÚñ[ShèèÑÿ‹JËI '!A8£ÁH,xÜØØHaaá)Ùö{!t2ö¬ Li räÏ)$b)Ðêék©cG½ŸÞ”Œ=#“y¹äߥ(¢Fæ’3M\ä‘ +*ô<ܘ¢.Ë2 üéŽH¹Ù´¬*ÕðôA•°ÞCË_´ØÈîþåÏ™¦ç¡†µ•ÅÉO7ÁŠåFÎwÙ ç¶%)Þ|ùèð]w[œ£Z¾xžž Ðqý"/¼ç­ ž;s­n‹ó¯ˆ–¯\h`†…åÿýR‚·‚.=Të9³ Ì1KDótUæÎÖ3Ë"áÏÕ’[™¢9¦¶Ë#Wxe$ô|îÌ$ë^K²-¬ã¢w*w¦žEºÿiS¸Ü!¤Ø˜¹>WF“å{ê?¼ÿ— ðz'/•zõ”(È•I®Or ®%{˜Ì¯šìC•Íhtb,oAAAANî@ÇñÈïÍt;]’åÐá;ü­’V‚”*Zÿ=¤µµ•êêjZZZPeÄùdY&77—iÓ¦‘““#NAAN›ÅÊÌyË0ZìôtwÒ¼w=U¯>LZ2`ÊœŠ'oîìbÜÙE8ÝYÇ.ù0GF>_€’é‰!Ó+ÎøÙ%³ñ·ÕÒè$ØÝŠ¿qµˆ'Rh ²‹g?‰œÂI¸3²‡íᯭ£‘™‹Î2í#ó¿F}÷nvî¤íà~Âr'V—£M‹Ù9ú bà@‚sf]6dZÝ®ÿRâµOX›úâìkޱà‚ÏâÎ.˜®(išêªik®cÚ¬Å8\ãÖÙîô`wzôøØ»ëm¼Yù—Oèu/¯lñh»¶¿ÀŒ"‡Õ0!û˜Ÿé ¹zã@ð`Éâ…<»±šŒò…ãZ·F«£¥7N /ŠÃÚÿú˜?s/¬{oþ”q­Û`²ÐØÚ4ôu;¹˜Êö.ô¹Öq­[o´Ðé]Nu Mâ$$\›ÿ IDATÇqdè °°†–ŠòŠD㪢’ ù©uä1q 6µºêZ6ìÒpîül\ïF.L+SxÄå[«‘ÐÑtÿg´Éhš·ê’lhKQÓ£PÕ•&’qD¸[+QpäòZ £I¢‘4­ŠÌå6 ‰þõ9ìrõGhìó+t…RÜõî:ò YC}L…cö©âó+tS|ïg–׉œCiJrÿ¾zíŠ,¨Ì aKتݮūƩªðŽpŸdÒraÜs Eëd}MIBN=ó­@ïèÃñêO Ð’Xd>º,f ŽTŠÆ(GÕFÒGxÓ›¤s.Åäã, ‚ ‚ ‚ ‚pò¥â©Q…G# b·ýÎgäo‘Dèð=¥­­;w²téRÎ9çœQìõë×#IÙÙÙ¢AAa‚Å"!ÌV­ŽÌì|bÍ–Mµ’ë6’H5ÑÑ{î)öõ¥ð‡S¤uØs§âÎ.Å›W†Ã“ƒÝ•É<4”ÕÞTÔγœ’Ùä”̘–ŒGú[éëí¤·³ž®Vj·þ‹­küÈz+Þü©ä•L';¿ 7£ÉB{{«2?>dÝy®Éä¹&³´üjRJ’Ž@þ}4ø÷ÐÚ¸ŸMXZŒ6 ›­îè¡•”Jà@’é7 öÞîmGékÅž?1?† Eì­÷S:ïêСª(¤Ó)öl_Åê`Á’Uhuú =ÎWs­ ¾¦’][Þ`úœ3¶Q:c­žÊ·W3gRfãø‡¬¶Y ô5ì"òa²õ(§Ï˜Íßþý:Jé\dy|X^ö×·³pF yÙ„ƒ=ýC"kN|Ý’$ÓÙ2$rA^6«+qå–Œ«f½ÁDK{7³&÷÷Ôf·Ùð÷ÄIHNÀ‰†Û»ºÈözǼœF§' o%ÓÇOó¥•Ñ A;–ùÒŠ„ªJ¤Ó’iA«AÒÛ˜ZœC'#I.JK¼Ôï ÐÎÁj‘OI}Ñxÿ‹£I%©÷ŸG£ EUI¥T1¾ùB”Í-çi¹°PÏU1~Ò¢‹+D** »|2¡M÷¯?‘Pˆ'”¤ ô?ãˆyS*f—ž.22ÿ¨pJ4>ôsãxR”ÁçS*·ß_jd¦~è|J´»¿VõP­ñ„Š‚Jòðãµ®KI(DãýëI$@M©C÷ñÐ~—i1¼gS—„¿N¡h’Œ+©5oâˆÇ1IEQØÿáê?¼½í QÀ  nsà5®€•@"M<)Ñ.¢OßAã=dÞ}!ª2¸?CÛod9_"¥º^ŸÚíŠúD}¢>QŸ¨OÔ'êõ‰ú>xõ ‚ ï.­áØŸû·´6—;ºÏ ß:„q µF1™Lǯ®®ž’’bq$Ç©ººš… b±XH¥Ž?.ˆÅbaáÂ…TVVŠà¡ ‚ ‚ œ©dÍCÈ&"†þ@…^+Sa  ãÈ^ðT‘Ýtµï ë@‚š¾4=á4G1îüixrKÉÈ.¦¥þyS¦wû:ƒON9žœrЦõþTU%ôÑ褫¥–®Ö*jw¾B¸¯«;ŸžP7ÑxV?rƒ(낈g–]ª*t…šhìÙËÎm4Ôï""wbth1;4,Zt™x Í´Ìe8œƒ= ¶ÜJv†uBÚZQTj›zÈžre3– LO§SìØô*™9E–N=iÇZ¯72yú|îcǦטµàlô†þnšŠ¦."èbÝZf•g"ËãïÁ¨0ÇI[íJç\€Óåaþ´Bê‚]˜ã rLv×4 õzN«®HdÍøB’¬£Ý ÇÛß3aQ~±ðúq·‡Å½{à±F#“N§ÅIHN¡ ¤“ 2²óñµ7÷_»4£ûßèùdYE’T4š4:MhÎj3c–#¨R ¬E’@#+H€N£ Ìw²ë3úŠŠNBBB§—1]Kô²$¡ÕJ´µ$Ù¢3ð‹+ÍœiPx£I%&Ièõ2&½Ô_û0Ëëô2nƒ–9Éþ¨„ÎÝ¿Ý`·Bg²ÿy#ƒóæehÐîT¨MH,s&@© ì@^†Ý®4µ)‰E6é¨ù$½„$ î«tD&ƒD\ËÀc#rR¥&!qÕ¡ýê‹*ød™i“*¡‘†¶›)×À}˜5)‚ Wçi°dïØŽæˆÇFIB–Øÿáë?ôžÏ(c– ¡9¢­¿æeHINƒƒŽ#ÚÅŠéÿB'…¦¿¿€ûKfð÷ CÛo´í<žùd™S¾]QŸ¨OÔ'êõ‰úD}¢>QßéXŸøŒFáýì¡CEU¥‘¯±X £Ñ8ðxØoBÁ86ûðÃDå¹óhñ· úº}dx†ʪ¤¤ø¨iÁPP¹1jjjâŒ3Î ™LŽz‹ÅBkk«h;¬vT¾JÉì ¢³gΤò¿•ã-vZ;ö™¶lÑ,v·uàÉ-׺ f݃ÁÃ,¯‡h_UI#É'>f©¬ÕŠD†L³Y-ÄbqŒFƒ8! ÂÄ¢IŒ&Ý„®³»½OvֈϾ×èlÊ,ÝìÙ߉iRNµÚÝ$yd™Þ{Ãàš r,Í¿ÂÜ ØWå‡Õ Q—Jr×ÈוŸscŒ¯0°ÊœäÑ &>?gäXeîãâLZidŽ^áµMa¾×¨á‡WZXi9ö¶2r \hîã7oÆ)ZaXþ» ~t•…%cÝùdš§6ÄXt®‘™©$¿Ú˜ÄTdf®41 ªÒU‰¤%ÌÀ¨á‚|‰Û¶ÅpZ˜cÛæFªÿðþŸi”)ÖªÔ†UT¤!O‡# A­†"ãp/º , —¡Y¿ŽhàjŒb¸eAAAAN ·ÑŒ?ñùúú:Š‹KŽ:†„†{¸Ða Ð @‹¿å¨ç† Æ’#w«k·ÙÅ#UUI¥RcúK$(ÊÈÇ!ÜÏK÷–•ÅF$mw¾Ñ#Z„÷%ÌÁ—àŽ«—Pn‘0Ìýo‡F˜·ýy®ËïïYáðŸ­h·>´Þ÷poðc:_« ¬¾È3d‡üéfò•õcš0±ïA–—,á¾]Ñ“²¡Í?à ‹„<ås¼ê±èÞô;n¿p9‡zÇ0–^Àמª!¬¾7[t×},)Ì–¡×Ðî¶ýÙôãnçH,I[oгW]|DÛÇhn¨aÖ‚³ßÕ×À” رé5ròKÐêú÷uæÒ+yãÉ›™ÄlßP¦v«‘ÆÖjŠfžÛÿÎEÖ0©´]ÝMز'kÝ޶®Þà¡V£! £(écå}<:½‘¶®¦¡íTZˆ/Ò‡Voß»â‰$}»šLF¢Q<„Ñjlnz~ Ü+·k„ÞÇ+«´@áäR ª$S*oV&Iç›Y`â¿gŽëìþѨ°h²ŒhiŒ³Ëjàs$¤ÄðÁBÉèF+õíèEÍÏD ¶,‚ ‚ ‚ ©ŽÄ±˜ ¾ÞúÉjoG€Xpøà¡Ã!¾ö?YÒéô˜ÿAN[j;}‘äßàÓËÆ:”8Á¶=üëþð<çðѹžHÃEÙõ³¥Ÿõ+öþ®>°ž¯Î4Sðñgi=ôÝH¢ê·¬,ZÈ÷·ö j9^y?«fÏ퟿šYv I’ñÌú8¿ÞÒÃXG«V:Öð“ï®§ì®oseñ „3¢~šzÁži6æ“®}”KçžË­7œW’Ðf.䦞å‰{.$[’le\ô5´Êõ'ÚßàW7.&O/!I&Ê/ø*OVõ¡Àqö»‡×ï˜Nùÿ¼BãŽïs†]B²-ãÁÚÄxþ;W2Ã&!I¼ón⻂¨JÊÿ»“sKMýÃ`ÛfqÓ«·¯±¬¾mÉ¡Ú$4™‹øÔ£•„—­çßß¿‚©f I²2eÉÙL/?—û+ãû&ÂÄŠG#̓a»d¬ý +ÜÛ›Ä÷Žîì#‘Q})%i˜&éY¢ê¹D5ò‘ˆÄÒ×7ã~ô/tÿ^ö<ù7 ÖÁûµh{;yäš=ª†9Љ+’v®oUXñâ& ¿ø-[>}#]³œ¿Üûy^{î1öîÞˆéˆàa*&ÖÛ‚Õ4þàa[WÖŒ2L–ÁL]Ínr J1™ßÝ{OƒÑLfvU»7 L3Y¸ófÐé{ýV“¥¯Tb0TRRL,4þ!‘ &+Ý=¡Çn—£–q‰,k4„#CÓn'ñhè„Ö§¤Ó$bb‘ª¢ìl £Á@8'#A˜n[/­àÉýŸê8Ø$û4h‰pÑoz˜vÄß¼‡ƒóÆ»xzŽtŹá±?èÕñÅCÃ1Ÿ —.Ö£TÇÙ5–â‰*¸â =%Çú€Â1‡¬UEﻚꧫÆ|-‚ ‚ ‚ ‚p<íÑŸ8¸ŽÅ+ OضŽûÍØŒœáÇp6Ú‡ÿõ³Ïçò87Ç#ŽèI¥RcþA8mõ5±µª‡ÈÁùp©±?¸¥Ë匛àÍŽÄÈËÅkxäüL$GîL®øî2Ï[A™åƒÒÏ€‰Iç_E^óÓ¼z°?ÜûoÖ4oÓ?ÙÑ© ê^ŠºìqÉÔ£CÑö}4g\Ão6µÑÓ±•O[ǽ_}‚ýcêE"Èæß~‹gí·ðƒOT`sóG¨|âùGô,n½°lÄþÅbûéœúeÖ4·³íÇe¬ùò­<ªý¯vø¨~ä\j¼›ÇvG º‡ß}â#ü¸íÞÓIwÃZîò>Å­W“µ>å8ûíbù¯*9ðØyι‡A5´ŽÛÊ´ Ê8æÝ̶¶ÓÓ¶ž{r_âÛ_ùµIˆW=Îíwý“Üo¬£5¤cãOY&µÒ3ÜË7-aÿißÞJ¿×¾žÍ _º…ßêcí7®à“Oår÷›Íø»öðø­SH…Cû&ÂÄR”:ýà/Ã’ÑzÝøƒ‡áH«;sp;É$ªÏwÂë3K2Eª† tä–"Iƒ'Ü@e%Ž1t£ïDË,ÅÈÅ)ŸŒ»¹à}ØýG6ß÷C4ÚÁÎôƒþf,ºä¸Û"­(´ùBL_|Ùà=Q2A(à'¯pÒ{âuPTVA,&•@[]%-vÑX½ú}›iªÚL÷ÁíÄÚ+‘µ8Õ. -QV,˜ŒV;øzµÛmÄã q2„ àõఛƽ®…Ó¦ˆ=Í9ò̼x»‹}Gümû”cðñ Î6MÜöú‡a¶qKÆèn-™Fž¸Åź«Lœe9¹matøÅe&A2j¹ër ×{ŽS§dÃ|ÙÏ™ño2õª©Èâ%%‚ ‚ ‚ ‹§d¤w|êZ;šÐG÷¡IC}óqç9îPË{ÚêÆT¼N7ô«ÿÖ¶nqD'ÈX{0TeÈ>‚ §•d˜îHSÉ ¾òËß±lj&´¾Éï¾ði>ö)¯þ™v{ÙÞK²É¦“¤’ (HAQPP}éŠbAš"ˆ4E}áQ•ÞbB )¤×M²›ìf{¿mÚûÇnöîÝ’ìæÞÄÏçyöyvΜ9çwΙ;3gÎw~¿MŒ_tãs‚°à|æßdã¾ZCOñèÚ‘\ÿêM|jŒÈæÊ;Êësnä7ïÜȼq‡Ønw1'}sºËüÌE“¸÷g¨é„Þ,²]Qjví¦1v“&žÎW'RŽwŸùjOPUNúü•Ìð:6×ubW/ã7qþo~ÂOÈF&?ŽLÇ&ZWuµí[âª!¤ö6‹¢¨ñëO{ívœŽä—Ž;B¹žøÅ× ‡qÈɗ۪뤕x-®¯? ÇðeÆÚNÖé…Å£{ÒC­õx\ÉßP#1 SË -»(>É­ØDfN!²¢ç¬(––³·r;¥£&S4-XB(ÃïIÎë£Ïí ½qÞ`ÙHFGwHdõËÕNvî®KHóû<4†:Pƒqµˆ©ëFË40MË4° Ó4°»ç›†Ã2uLÓÄ2 l#‚iZ="Á¼œ Æú(.ràtxqh*^ ¿×ÇåÄëvâq;ðz\¸Žqìð¸]Ät]\Œ‚£Œ›¶ˆN@ @ þÃØÄY(È-Ò±yYEìkØCéˆóWUWQ\P Ax(8ºŽCå(YŒ‚ÂêÂï)döåWpþŒÜ®´À™|ûG_ä/ý™å{.gìèÝæd4o6£Oºœ{Þˇç=ÁK;¾Àµþ+”‡,º €_ÿå-v^<—Þ±˜sçE|Úýnxq=µ#+øËÎ<Î?c,à`¾„ÍŒ5ôQ± žûñ¯¨\x7¿;5g˜l:7<Ê•_~õϱäK帆|cÔp(`í×äË*NE¢Ã² 7í¦ÕUÊøÜ¸ØBIÁø,‹¥5mÄÆ¥ ÝȨNÉ2±mPK/ä±:yàÇ?bnîe”^p+wÝõ->]æ ¤j”šeOrÇïçwon'@)—Y6‘ÆTYÌ+ ŠuÛAj‰EÂ8Ýq m[(RòÞs#Q­—»ûpM ΔÛnšxsrç55¤¨Ñ¬´@‚÷ÇÎÖZܮ䧚µ䘖ÖP»—©3UçBFV>-¥GxÌ.¥±umÒÂC·K£­qye'vm{¼ø´îÈC†;ÛÐ#aôXÓÔ1c1t=Š®Çˆ´Õó᪵èºA{G'ÍMMì¨ÞM~A~¯ §¦à÷8qh*—@ÐåòâPU¼'^· §CÃãvt =.ÜN­Ÿp0'+“Es§0mòÄ”ö»¦©˜†).FA Ù[µ‡Ââ¢a³gÏŠŠ?FV,SüVG›Öö6~Êœò'¬]­ŸŒvEW°ý·È˜3NqÆ @ @p4±¯áÀž÷‹A$I²,E!=x,K§Ó‰eYȲØ!>¡øŠ8¾Lç¥w¶Ñrf.iÝÉ–©c)nÜÃw)+Š¢ )ÿ-á–]”/ú,¿þ+ÿ|¹†·ÌYÜ1i¢³á;ÏórÙvæÏc=‡¥v}çk<þêNv´}ŽÒ?%î;%ó×”~ùeV®lÁž˜ÛO|¸¿m µ˜†Ž,Åï5–©£ÈÉßGtÝ"׳Þ·/%£¶¿—ðÐ …B!ðù’+W‚ÌÉSÒ:ÛÈp'7Õ´–¶åÓ¦ÄËíhÃë àt¹ªsÁérãpº ‡:p{ºú³hô l|ó]Jóƒ$sVx=µ-µ i%…Ù|´î}$EÅÔcè±H—ÇAËÂÒu2Ó/†a‘‘†¢(œîv1wæñ)íU‘±¬Ôyâ·m›}uõHH4·´Š‹‘@Ð÷ Ó¡bÆŒC:v¸¢Cà€¢Ã®ûc¢èP7þoZC»ï 'Ÿªçõõ¤MÇx×q¡Ú-¼º®¥ÿ‡V²—I'N`B@>"ö…£ÿ”)ªÛÀáËgíx„Ý¿ø€ÀÍ“YÒ¥‹V·˜|øåµ5nâk40{æ,®’wqÕòíléUŒ$;(ÍÌç‹ãË93MCB;¢m;¹úƒNž1“Ë‚ÊíÓ;*¹îý½Ì˜>ƒË‚ÐѼ‹+>ªf^÷±G¢Ÿ“é¿Áèh©â–âíVyF;ýx KövÐá)䎉~þo] 'ÏœÉÅReBßǾÞc}u@ø<˜:ŠÖ ØY:“ߌŽÐ±æ‡T®ŽˆŽ´ë%2&ÞÊèi§âRûÏnŽo=‹oáï)Étiˆñi IDATZæ#ý‡õ÷q¤ÆWØ'ìö û„}Â>aŸ°ï“jŸ@ ?M--d¤¥ýGêîY š¿p6ï¼õÞ!’žžNss³ÉÃHaa!uuuäçç“‘‘qÀðS¶m‡©««£  @tž@ ød"2ÿÊ3øñ%Wsó„Çøþ9ãpî}…{o|Îzœ…E_ä±õömz•_ßð+öNú Kÿ5Ý罈ÏÞÏ·ocħþÀ¤4HŸr.3ô˸ã.™¼[î¡ü0é:´±WñVëU iõ¯}×»XòÎf |\¤âi®9ëÛ¼?o /=| £\©³)íø/qù„§¸÷¦û9nÉ×™áÞÁ³·ÞÊéòÜü¤}+AÁ›•\·š5»êÈíXOUøÀ ¾í›Ÿåéœvær• ù…A¤M„ˆm­¦ÁÊdÖ¸Ñä:[ÙðÒ‹¬ª38PKOãªÅ?æËÿs33?悱+7ÒKl›@ H-¦e +qqmêh)C[6Èrê=—·Þ¸‡F½½o*B8Ûþܼ„´æšŒŸ”•T¹†iÑÚ&»°¼'­±®¯?í¨<²óŠ©«©¢tÔx‚™ù†aZhÊ¡÷³SSi®Þ–6²(—Yó&áózñ¸Ý8.§MSÑÔC|ü>›ZRÞ7Á`€»»¾Ž4 “˜®‹ÅˆÅtbºŽaD"Q¢±X×þX¬;O×>Ã4Ñc:†e"!¡(2™騶MiI¡¸ }Ÿ(*‡'†'à'ÔÖžÜ\@1x>½½Ž5ëvQñ©˜hJ—:X0š »_›Å ÉìdëÇ[¨ðæQžf£Iæ±Ï=$ÏuÖaÍg:$dIBsÈ=é–ÕåùPÊ32 :d\²„¤ù¹bî®ðɸÐiãõë¸ûýU´Ÿ4¯f¨}„úýÛ!;$dâ6È>% ÄÛ“>‚?žUvDû9™þŒ˜b%¶kåŢͼÚçž|7ä8ˆDlçÄ픉¶&öípìë=ÖNMêw(¨šŒ*¢šH»¿ÏŽ”,¼}ûz‚có©~ë;T¤ý…iGvGD°ˆ5ü™Š7¾O}çDÒµ¸]ýË”pô©÷X_aŸ°OØ'ìö û„}¾c×>áå^ þÓ Ut˜›•EmCCJëîY•Ø/:Ôu MÞˆ~ÆÇûï¿®ëCòbhYûöícöìك䈲ñÁÓ˜ù­etìOšŸÁ/P9î–wø÷ÏæÝ.ŽjdrÝųþ„[î>ò¯TóŒåì›~Ãó7NÞ`kmÑm<¾8‡Ç÷o{Æræ·ÉK7_ÀX×ÑØÎÃt½vâ´ FrÛõõÌ>÷8Ò²¦rÞt7`~ÉhàÍ;/ãªKÀBö”ÏòÝGncÞÂËÀñßà®ËWpå™ÅÜ¡§3ûŠ«˜>ÒGÄ´A)äœÿ΃ßý6?={_or2ròšŒ„¶ ‚Ôbê:ŠªõÚŽðã ¡`Û`ÄlTg<Þœmš¤Â‡¹ hž¸'[3NI?„±qúÝ´*ý}G ¿MÁ„>mom¢hĘï•Õo>ÌíK^a÷D¾ôÝ›øì„@¿~³;6òÇý†–KîàÚiøŽÐf~Ã-¼Vv+Ü8“ ìú¥Üñ­‡±®]§ÖòÄu7òÌNð”œÌ—¿ó?œ3ÚÛ#’HËȦºr{O‘——(LÓN^j%ögaAE…YÓ²RzNû}^jëêp~Ú˜–…Ó‰v‹£Ñºn ë:‘h]7hii#¦wíß¾³]7‘¨©­Ã¡i8œ4UÅív¡©*ªª¢ª .—¿OÃáÐph4MÅírár‰ø‹ÁpP-å°•¬èðÈcÑZµ“·¶tàÊðã=`xv“¦Ê]lŠ¥3wj:žcԾݸŒš?“\+³=Ɔu½HÆrÕ[­Äý"f±è± ìdž^¦2ê+¼¾ã+ñ„ü³yvëÙñí¬ÓxdsÜ‹”³ðn|z7p‚8'¼ÝRÚtnx~7ôÊsíÙ7'Sü¹Qù¹îôoð̦oðÌPã(äŒ;^¡òŽÞ‰wÅGÚ?‰K—¼Á¥KºWþ”ç½Âþ¨¯ÎÂSÄõB H1–e&ˆâdYAM2Ô²M—§?¥—×:½µ5iA#t­ù÷.Ã@NA¹1l4w\ªnÛ6R B¬–Ó“(­ïìhÅ૽–µ<ý÷&>uÏ3œXý÷üù=æÝv:½§¡V#<õïÔšLí7˜:Ù‰Uñ;Zg’‘fÓ¸ù]*B*eû§]™s¹õö[YfçË÷ðógV1ï{'‘ÕÝ…þ`:í‰aÕÅνM¸É…6ÍDºª¦ÑÑÖrHÂCÝ0é EEbDc#‹²ãc²våj|šB4%Ží1X4‚,Ë8TUUq:4ªÒ¦öx\Œ¶´RWW‹Çá`Œ×…";p s8é lÝ@×Aw»=.§“ã¦L$ I²ós¨¯©KIYŠ­bJÆQÓ6ÉdÊ e©u¼¹ªiðkmgë÷êŒÏ#ïXu„ZOã’;i/ú:£^ŒS_KÝÃ?bçcÊ¿¹Gx55÷ßNKÉ·(y`1ÖR÷ÀØõL1£æ;iÙ8“Òï¼ÈèÌ&jŸ¸žÚ'GÚ7á3Þcï½wÒ6ò›ŒþõbmK©Yr?;w2æêEýçON%^¥NBƒ,^æ”X²®–ÍÑ"ŠÔžx¯ûÇðà¢\ƨ­üñ£µ\¿Záñé$¼×[xjÕ:Þôá‘3 (5›òþbáD¾öï½ÌŸ;‹¯¦)´öùߎ4ñL]?>é溢¼¹v%?]µqó&p’]ÏÏßßÄšì‰üqN6jÃv¾·b'5ÞA<èq»93¿Ç–[×Ë<4-Ÿ€H3oËç—§OD­\ÅU«?duáxî;c"Rå*®ÙºƒJŽgNwÞ§öø¸íäS˜+5òÐë¹q­“ßÇÝsÇsí5=íjtdâú¨†Õ¡BJ|2,«59"ƒÂ^¯ø}Yãù¿Åî„>i®kr{žüðc®_­ñøô d.8 {»×X÷ytººö{=äø½tz‚¸221×ý‹Æ–søí¶…ä>™‘gÞN†ú^þÇAÊÔÅe\ @ ‚aLÏŰú¿Ç³mIÒ†\Ž ÐÚÞJÐ?tI^?MCûÊy ÑaKK‹ÁC   @„N@pL¶®`¯™E^À!ºC 8Lz¢ºp{A%y!Ÿeâˆÿvõ¶¶”|Æe’/©}Û6œ)µÅÆëñ&ÎS hŒFt<ĨôXE@ÄçÍ9W^JF±ƒÎ]ªËMâ÷tû–þ×ÜgsÑÔר:à »Œ™Žz>¬heú4­«Û(*Ï¢ßÔZ’QW3E%NôÈsÊçnÁÔ#ìw‹hDC‡ÔÅ}'ñšƒhøÀeÙ¶M8ªÓŽ‰ê´¶wŽêýËÎÏ@í>/dÛÆMnZMSq¨ NM’Çý„±‹F1Œqhš†eš„ÚÚØ»cÙÙSºîRfòáwLÓDQ>xÿ!<R@ªD‡ÀQ%:™@nnSA>àeÓ aÏ>š]¹Ÿåàuvˆ±åYZ[¦QtÓ9xÒ%`9.¢ù—£­îÒj_¤¥}2ùŸ+ ¡8g“û+äæöU ’ñ…¯‘^’¤á› MëÖiáØõZ¢s)þÒùx3dÈ<‹‚ËÖÓþÀ³´ÖÌÇ—ÝçþìÊáÎ9tÚ÷>·¯ÕAuÌ¢©u7ÿˆdpÃìbÆËng6_˜ÏËTñ^(³zÙÔ¸›—£|{z]2˜÷ ßÅÉΘ8ŠÅà`áˆ\ž¨iaWÔdLK%Ëì\~0±1. ¨œ›š¸v/øMq»'ºè±å_ïWña8så®ú”2Åå œE‘#ÂÔòB&»4Â9Yäo­cOÔê±íÌ)c9;͉DWWÏ{«ªXΡo\›ŒŒ¦«ky¥!ÂY>ÑözÞÕ}\é>äçÇÚó¹±ù¼±ª«o/ðɃŽu8Ú§0g6w,èþÈaÖLÎìÀ”Ö\Æ?ÿË1šo!ÖÄsÈLóuÿö¼xG} ´„0@™á¨%.ä@ @ ø¯'ÒÅåz\€D‡@‚èPµBx´uD-G†%:†,:ÜCVˆY]‹ ¶!mˆ±¥@ #ÊÞwžåØñœ1#—ö•¿ã¦›_Ç{æÓÌÍ—D÷‡ Õ‘8y“e5ùBmÈi¢š M¢ÇCYÓàE}ÈSlèeŸeXÉ‹$K˜ºÞ7qàÌZ:£'8ØøÄÿpãÿurÒ èÕ±ª×øÃ²>û?“iÿíkƒÔdÔL~¸‹¶aVvŽdjáNzüâ6.çÎ/žÎÚHÎûa¾>%˜Fâ$]sºÑœqoxÓØù)I—«KÄZœ—qÐcÁ£ÇŒbâ‰Ç§Ô=¡³®Ž#G¦¼ï¼õޏ C$73Hmc«èˆî‘‘v*êM2F§ÔyàÆÁ—Üs©ä<ŽÂÓ^§´í¯l|ã "{dõº§(úôŸW’…˜Á @ @ph Gt8T Ùs@Ñ! jùp°_t ©.1Ú@ )CÐZ~wåW¹lO 5w ç\ó4/_&ùŠèà˜CË0KÑF,–ú+PŽF¼î䧙ј˛ø\?!bBã \soⱓ¶óÄ’ßóÞÔï± GLê׿ŻK×ðÚÒßuå}çÇ”ø5«ctŒ˜IQk/ááþPËÙ:ÍëÿÊÝ>ɪ170ýôMa臥\=MÇJ\nñ~A *Bt88á–&ñ1%̱݉ê9ÍÛF.¹œò;®ÁÛï²#Rq°góZlwÿõKLF&fÑÚ!¤¸(ptõ¼7m4/K¹eáv& Ü¢­½O`ÍÃto!\¬íà\ÊšÚçã ‰Á›ÚÛîɽa«ëÛŒ0 I¨Cî*)á…½mÛØHƒx0t0¡¸+ÜòÇí~÷éŒ,Ë OJfTú·'í?É¡¢FáÍ8â“.!úöylþx)#ŠÏÇ-”‡@ @ Bí1<þÔGË;ìÂÃÝ•»(-!FP à° Rø©{x³êÑÁ±Žtx‹¶¬¸˜ÂN·C¹ku¾gÛåË$I>̦¦*D:E2Ò ž­Ú·ùÙ½2ëÛ×pbt†e÷G(~êþö)€f>üù}¬XxK?Ñ!€”>šiÏðôó^f_SŒçí[Œ¢(Øf £6EÕÝ+EBmèáv5ò´êôÄûµ—·ÄH8Bcm=–yh_/*Z¼íŠÛÓá Ó©«k eëVj^ýÐÎ…^!ƒcÇâÊÍíÙÞ±e;fp%Ò!t†ÚËSgNA.¹¹âZ! ‘<:ûÚ›‡uL(ÆãLT­dRݸ÷ÚK­!,oÎcYñäD-,„¦µ„cx‹ú¾Dv æ!µo'ÚnáVð7Zq¼³¾ëØŒ®û±±o-Q+›`ú!ŠËÍNÞ«jÇ™YÊX§‚ê÷ †šÙ¶(?à-N!ÓïA´°9l (<<ôÇ*•œ eO+{cPæê:Göµ„h·}ƒÛÒm÷d-â<=ÌÆ°Á™Þ®çжÎVêd/cÝ*tJýÚ•ž–Ï,u/ïÙK[ÔËEY.dõ9ï0´ç >œ>/Ô‡º¼f á¡@ @ ‡ŒÇí&¼o˜¢C)ö9ìÂC!:@ Ÿtd55_‰išŒ©Ç=JŠ‚ž"‘ £—×9wAu©(‰h¨3ÞŠŠ•{…P[cBšÓåÆ0tT5Qà'çœÈ…ó–ó³k/à>G9‹¯¸‰™Ùu¼õãûØxî¸fÊÃ?JŒ9!ƒÈî±Ìé¥óí^ûz…Z–ýeœòÕï0µWôbÓ4p{ëYþâ¯IךqkɹŸÝS×Ê¢¯>Ô³]_QÁÖG§9–ÜÊ|»e1â†ðv‡@54~ñ_ùgRå¶%7ÝDÉùç]ß~émŠwv’ðp?áH˜žÈ§?wÐ%žUdáÚW èËÖmÛS^ :lhl"+óàa×ûŠª÷R»{7¹¥¥>Ö¡ŠÇV‡™1š;L\A7Ç´î mìùÒ®£æwOá¼âb|ž}´þù6ªV£ôöÛŽþ iþ›¨yæyò/^ŒCÛEӓߥָ:£Î>àSŽI漕½ø+Ú—ãhû75¿{â-òXæ0ÊÏýŸ›˜¼ð‡÷²0qªÌŒëÊŒ¾•ùŽãª;ëúÿ¤Ûxô¤îô¯ßIWj&—?ò/.?€½í­Íx¼‰ÂÃh¨•‘ãÓq9’ÇÕ4…Ç2fŽeRÞÇÃâpÙŽQ:vþ±c»¶k1$›NgRåîê{^Ë2N‡‹‘ù#’Ö·4 ÉñãMÓDQ…ðP èË~Ña_†":<„b1ËÄÑKì fÐÑÚtôv˜iГpz´ÃÿuöáÆÙ×ýíO±óÛcZ^ãÏ àúoH—(¸áVxl •ßü)–š…gæ)ýÊé8;pÙÁ9Üø]¤'fû7îÂrá;ùFF]t:NÂæAlÓÛyôÍWxtÿs”ê¢<»€›OÍYi]=/92¹vδ5[¸õ-´£R˜UÀu³Æ1ß-Ñë» $G&W8ÇÆ-ÜøÒ6Úúä•Í >“SÁO—¾Ã¦)³¹w§¿ìÊæº™c¸gå.ú»Ž'-OøÙÝ:pxæÞvßøÒ–[¾yÂ湤®PËÃAó0Ý×Î/^]¶›eùùÄ,Ò°+Ïäììi×oÇpâ`lQ&¹1F§“+A4‰Óh ödäsݬñÌwK`uðìÒå< Næ/óò–byù AÇÒ»XÿÜýDt ©r,9Ç?À¤Icwu@ @ ’c¿èPR$lóÐ?Lªè’ö´57‹Ñ@ Ç06¶m÷©$EÁ´’óô'Iàp*±ør±+'‡¦5IˆÄ‚®¼<Ìx&ôY•Õ{ûôŒ–t¹Š"á$D$Ô†Ëèª+N[KcááQ@sÃ>üi}T ±6%-gZ¢7Íp[…RòKóí¦‰+?¿gÛˆDÐ$)ö’ 0Œtt¢ªjR¢CÛ¶Ê$ Y®‘‚#…jË’…„†>h>GO¤î 'ݯ £†nüúeÑCݰòy 8e^zo‘œ’ÎñsÒ1LËâ-;|ö…£¿ÏGu8x>=c×/¤¯Î.²¿ŽŒSɼùT|ºS‹_Scž+)}ðÊ{Œ¢¯PðóËqjᨠًɼe1™Ø ûdïhž:ktO;z× íÝ~-‡«¦çðå>ù¢Q \#xtшž:eg6_;>‡k,ÏÍâ)'±xÊþþóòÈi#ºs”ñ䢲ľ÷t¥Eu›pÔFó󽓊ù^WO°~óû¼¥¸pas€ñè¶ûªÞ}³ÐuÙ=’ÇŒ××§¸FðЂҮ~n³±$ #¦r÷¥÷ÉÔU¯åIh—µ†©âñf°(à :Øx8Kxä´’x½î–t×kÑǦ>íÙ?n]}ëá¬Ù‹8  »þa§Ú\rO~‘û#v-‡ô97t‚eX„{9L’ÿkLùÂý õ÷‘Ê|1cÿsÉ‘­WØ'ìö û„}Â>aŸ°ïX´O GŽ —¦Pgè0ÒÅåu¦¼ž²Ò<*vïëzoh:Šªц‹Ñ@ Ç,§C¡9º&l²êÄ2“òÉR—°,-¯K¡)ze½—ðPÖ´”=²ŒÑÙ™–^PN8ÚˆÛyèß¹©ŠŒªJ´7×õ³r Ù¸æ=JGM8ê·–æzÆOžÙ³][¹‰ Ï…ª$'ŒëEI/˜V³—É M@õùz¶õHo „|¦m3¦g;êLI(rÃ4•DÁ’Ãá# òs³¨©mÚoPêZLÚ/:,]LÅöªƒW¿³¦ç§ª¢)æê;Òùl»ë€ÿ„}nçP®½ÖÏgY Ëÿ}öÅÚ6ñ¥÷š9eú \•ë ³¹šÿÝ£S66ƒR—Œó0Ú';$d$4‡<Èq‰õÚ¶…nFX¹§+o"³ƒ îcf|g2þŒ™âüö û„}Â>aŸ°OØ'ìûDØ7´ù‘@ ?M¡Äõš¡ˆ-[F–’ggåRßP›¶_t &:ô¤û’jLZZPŒ¨@ @ øD¢¨±hÜÇ‹ª¹ÐS @ @ Ãä@¢C Ÿè°/ƒ¾ý5wð@¯ÃMgl🖖V1:@ à‰ætc±ø¶;H‡•¼ÌåRi­ÝKñqS{Ò¤Øëêö&†DVóó¡¶6¹ )`×Õ uàòt}¼Ì.¥cËjº“*;+ÍÆ}ÛÒŠFŒ¡¥©ŽÜ‚Ò£æ\¨®ÚAv^¢WÿšŠUœXîKºìPDÇW-­Ç¢H ÈIJ,ÛF+,L´6–¤ IDATyÍÆ+ɇp6mÕßK ØØˆæp%]®mÛÒâ"¨X4&„‡Áa¤3ªCTO¾ ÅfLt¨àØAv1w Ìý8XvËøãYeCÎïÍ(çOç–‹1@ @MMdddÒ±º3P­ƒûÔØ/:ô{½ƒæÉ*-£#@ >q8œN ½·ðП’ÐÅ^—‚¡Ç…ÎÜ\:Œä}¦kM[·&¤ùJJˆXVRå*’DºaÓÖ÷šÌAG8y‘‰Û¥¢·VÒP½£'­°d4U;7c™GGË4i¬ÛKiÙøž´–ú=(F+.G ¼Fbx‚Ù=ÛÍuÕl EJN޶m¼%% iz{;¾x<ŒÙ6ŽŒŒžmÓ0‘åäºiàóÇÅœ‘H—Ë%.FÁ Hæðï9.Oê ¢C@ @ à¨f¿èPd™+Üç]£êŠû9pUÁ!vt îý°½³sÐ} »w¼#fŠQ@ Ç,’$îhëÙ¶-ÛJ¾\¿_¥u_e϶ât"çå%]®C’èܳ'!Í™™I4IᡤÙ2{âs?Íá&f'ï‰N‘eŠó‚T¬ÿw|2«9p8ÝTîÜ|Tœ»¶oÀÌ@Õâí]÷îßÈÏö£¤@Ä22Kzͱw’fËI{ÁŒZž>›7m‘›ÉÉIá\·gþ`fÒÅÆô(.oÜ‹¦®Çp8âb$ BSSS¿´ ûÀºH(¥6Ìœ>S „`€›Ð ¶¿zMQÑŸ|LŒêDÚ Ñ@ @ A¶oÛ€aGÍSPÜíIdñÁ­$êH|®¯Å ŸÏ—Ú:1ʇ@uu5›7o¦ººë „’$Q\\̸qãÈKÁ"¥@ @ HDs¸°z) ½™¥tD“_T 4¶ïM ¬eeavt$ååN”ÖV"íí¸ºÃàÆŽ¥í…ªjR6çØ{7¬eü¬ù]“L§ÕWHG¸Ÿ;9bvº‡Ý[×îlÅí 0aÊ,>ZþùE#qï\C$j§®¦ŠãgŸOël%Ô\É„1iI—ßŠá ¡:âb»º­›(´¤¤ão·›&Î̸°£¡G{;rZrv›¶» qßî*\®ô¤ûC7„PË!áñP 8éÙ9ýÒZá#jÃ+>8júà 5ðîêF2&—3ÑGM|¼q/Û›¢Š“œÂf”gT½1·«ža×OÿEúw~K^Þ^ù{—W`fɨ;B°×%>V»š»]Î62§Íí ˜B[Úê7ò¥eõÌ^NËÇë¨(›Å“c¢´¬¹Uë^£=¬#í~‰¬ã¾Ç„é§áVÀ¨½ŸŸû%m½¿WW2ñ|†‘sn 0'­×íÏÆj›½kfßîU„"ªw飿LÙ Ÿ#Ý;´ç¡Ö9`>@r–>öz&Ì>Ÿ²‹½¯\À†ÆÓ™vþxä^7k³‚ª—>Ë–Ð8áœHwJó©»®àèë˜4ï| }ïOøà_γŒÊI|2jngÙk’γ”ZKøà¯a”óáìõQw/Ë_YJÞÙÏ’-íê?fãƒÄŸBB¬ù¿g¸wuhù\rõy|:ÿÀ?»úyvþôEü7ý†<¿Š¹ý7l»ç|7=DQ¹[\¨@ @ H#ÊËØµ­"!mty9ª4ø;ôêª}ä•°¯²:©úé5Zkk+ÁàÀ¯£¢Ñ(Náu åÔÔÔ°víZæÌ™C Ò}ÿ‡?bùb™&k>|_t¢@ @"<þ4Zjz¶5O¦œüjÀ«Ñ²w{Bš;7—ÈÎx“*€_Qh­®Æ5v,þ1chHAxèIeõʱ/·‘ºmLÏE{muÒÂCK£ McÝò¿1cñ—»&±šƒ’²qlYÿ“O<ù?vl^·‚ÒÑp8ã÷õï½@AºŠÇ¥%]~[g„Œ¼Ñ=Û¶mS·j%'ü‡|¦Iá̸'²H[EIºäNËÂ[PÖT[O^ñˆ¤m–—;ÞסÎN ÄÅH H‚t_Í CÎ Gð¸Mð[UUEqqñ¤z{kÖí¦2â!£÷3Ä–õ•T9 ˜?/ŸÞĺu»Y®8Y4ƇvŒ§T|1#~õ9ÜN{ÏG4­·Éüþ«NJGÈ¡­'—‹.»€³ R¯²”¤®?èÒÊKD¶ÝÊæõ”,¸Ìíë ŽÍ§ú­[Øèÿ Ó&Žì~ OÙù¥8݃Ûabtn vÅwØôÂ׈ý;Êr}€Ñð$›^¼ŸHÁµŒ¿àa2.ôæ¥ìyÿvV>û.ãÎù9EéC´ùñŒø £Fgª\NH9xcgŸŠ¹évªö6`VËߨúÁ*¼'ÜNiî!Þ·ºë*)‹×5¼‡µ,™aöýû'Ô´ÆÌÒÌ4êZ@ßIýæ³î¾·égRÓTüð^:7P}Ó§Øþïîß¿ÕNôß÷°õê“XuáLÖ^3µÙÿ)ŒÕ°Œš»/dûW¦³é«g±å‘ç uv ‚Uñ›¿ùUªŸ¹-_Ÿ×uüu7а¾[\Ò@ @ @ê5C.ÉêZ³ò»oä A?i5-Pºßúx¿fÈLˤ±¥qÈ•á1ʇHUU³fÍB×þféþ_=ÀŸÿò^¯‡G~Ht @ @B\?ÑpgâäÊNÔhéºÈJ‘$¼>…p{n—§óôÉ“i|þy²“´9]UiÚ±#no €4~×Õ£¬ý÷³ŒÊ÷ár&ï9Ê0-¢xdèIÛ³q-ù–L²>Ó¶1³²PÜq»Þ}—-yß^!ËŸ•Õ³íìÄét£ÈÉ‘X„ŒìÌ„´öövþ€¸ G»î3 µýöåç3~=0-™¡8äJ>CIcÒ´Qä+uü{M¦¡3º¯¤’—lÍöªVêN|F Ûë \9>K!f~û:‡ rŒÖA²ÙQ ÛkäµßQLÕ½/ã»þ7d”¸ˆô©#ªÛ˜6èQkÐú£1 I¦»^™¬ŸeÉŒžÊرôE~½ÚÏ‚qéØ1‹ÎÞÅØ ÜnrA‡ÅíÏÀÜôOªkÏ!fB$œxŒµ±è²)ëÝÞR¼#&`­x…ú¦óȈ¼ÁÞ“Nâ3ÜÛê±ÆÍÂ^öÕuç’Ÿ¦°ÿz×Ù¶zåK¬3}Ð|&ᘠ–M8b¡*ßBiñçØñþ×`®ø9Íi×2©|B¿qh|ûÚÔËZ¢z¼.;fcÙ` #F|_Ȳ±¤2O¸ï7°ù­ÿÅqê¥(–…¥Çó޾c¦î.··}±¨eÛ]õ¥x¾ûe@,¡_÷Bro½X¯ó0Tacvî$²iy×½@~z3Oß@Í#O ÿà<Òzᅢö‚«È¹çTæ::Ÿ¼¿qS|Õ"”¨Õ´†º'‘wã ›èxæ&jŸx Wñwñø“ÿ 5_âïãÈÕ+ìö û„}Â>aŸ°OØw,Ú'‚#‡ÝÃÀˆE¨lh =v9QäA>IÔ£šS¥3Âëöô_³¨ØÚå‚QÂjÆpD‡‚$OÛ>¨—C]×ùÙ}÷÷ˆ3ÒÓ¹èüó(9b ×Ÿ4~ø®9c2ù I’p•ÎwžÛF§øDT KXT¼ú ß¾`£½Îi?àƒöAòîûŸ/êºæíÿó—ÎãÊGWÓrOŽÌ¶­¼òÀ78e„ IÀõK›pÃØÍÓŸÊLhcŸv7/oVý±M1äî_>,ík_q³¼òØoòVÓ ½pÌÝ·ÂkïgNÉáë7@ðŸEÕ˜z¢ÇOz>Q=¹Š,CZšF[]\°á-)¡3oñòªW®LHóK³®']öXSfÛÒ7âíPTŠÆŸLK{$%ý]åÃ'7³uÕë=iŠª1~ò,ê÷í¡²bÓ÷ÝÛ7RWSÉÄ©sÒ7ô ŽØ^ò2½)©§¾¹“¢qóÒ*ß_N™•¼çÀ6Ó$kN¢ýuL¶Ã‘tÙ!Ë"mâÄx;ªªðøÓQ’ôxŽE¦§%¦…Â8œq1`0÷°×Ñ£¦ïçzdþ¹94”ýS{ïW=”•çãoÙÅÛï~È?>ÜÎg.ÓJ}8Ž ²|ð?I’žOŠ÷±,ÅÛ:Xy ¨ÎAëµhÛþ¿?‰gÎcV¦Ò?Ÿ;›ÎÂ|›Å'ÎàÆìþ ·S˜µŠm/\JUåKT¯ý_ZÛ;â6ì·¿_½*š/Ū'¦Ç°Â›ˆÙyx}¾ì“q'â´kE:Þ½êLÌ—Xç@ù$»™Hå£TîjÆ3âd¼Žî2µRrgÞL0ö,;—~‹Ýõã(ûyüŽ!ŽoŸºd™žºöîîU×ùzòÓ«/»oÁ²o!#Oº gÍ}ìØ´KîZyÀ1Óí¿AëíÛÏ}ÏC $­ï—,ICõ$°ð´ÈVôkÇs´µN#û³q¥{P²g‘qÁiÈ[þF¸Ñè*O+"ðÙ˧£FX°5ºƒXG,5¿£!æ“R\ž°OØ'ìö û„}Â>aß±lŸ@ ŽÂ5,G/‡ÕÕ]Q¥7( ‚Öí|ÁëötÕÕ7CÙ˜21G)æ ٶͽ¿ø%ÿø×K¤¥¥ñë_ý‚Õ«V r„‚¢šæ|—¿=t2cl~æ>åEHyor×Ü4Ñáà¸0ÖòÆ÷ÏåsF9ó¦ïñÇ»f3¦(‡tÏŽq–óÕW—óØ¢L" ¬zñ^®øÎürÊ[üh†ÿ¨lfxû <ü\#ó¾ýÔÿzàÌR)Ÿ©‘Ï`±ëOŸfþÝÓxfÙ]Ì>D§@ŽñWóÎΫÓŠä&þxÛo©(,&뀎–Žöû–IÅïÏ`á/góç¥?a¦_ü<‚ÿbÑ0¶m÷„uxÓˆ4›ÜÉy¼K j4íÝMî¨r|ee´§ $²G’èXµ S×Qº½ÛÇŽ¥ùÅÉJÒÛ]š¤P÷Ú«´}ùëÒ»<Þ”Ïdå ¯’ž¼O–%ÊKÒYµáeÜþtFNèÎ9œ.¦ÎXÀúUˉ„;Q> ‡#õa =FÅÖµ†Á”éóQ”øo]ýu[Þ`Ry6²,¥¤¾} Lu|Ïv[s-Ë–‘.%/´k6M2gÎìÙŽvvÞ¶ GFò¡Â;e_YüB]å\Þ佯b²r²æÆBt(œ––&ÒÒúÿ¶[[k‡]Vvv6õõõýÒ-CGV»î!†i£v+ü\ÚÀ/'5eh÷³Tç“eI²QMéúrÉ 5²rm5FÁ(N/NÇe´²mó.Þߤpê”lò‘±ÏíÊJuÐ|¶CF’@uȸ…îÿ8.¦v‰ÀTM´\ËêZLì»_oÜŸÿ¹ ÷¬³øüq~¼„‡`Î)”.zQmeãOÙ·„ ÿ@ѧÿĸ’,L‡„L—MNMJ(OQM@ÆáTpE dTMé—ÀÔº„nŠÚ»mÛgôª³k<_B²„¬o¢òù‰Töž~»Æ‘3åÆ8„Ç¿ìs);ñÖþ{Á…K™ë9ˆÇâx½†cðº2'ý’‰Ó»êÒ²Úch¨½öYûÿW þ“N\ÉG«¾O}îS©ƒ—1˜}²&!KÒ Ç$ö³íH<M‡„ìLÇáéÉgy<((RußnŒúuì¹öÕ>¯FaEb¸²3 o¦7~¼×‡,[¨Š4„ß’•²ßÛ`¿Ã]¯°OØ'ìö û„}Â>aßÑi_òï-@ZÜ^™pg¢C‹‚‚"t;r:D£Ñ¤ê’"á÷X`¿gÓO[Ìɧ-æg÷Ý®ëÄb1îº÷¾¸è0dÉ/~NnNÎËK;þîúÁç™U–M XÈŒKoæcöñêÛA±ÁÑMý›·sÍc:W?÷OÞr³ÆáQÚ’¿Œ+k4sι˜…ÙT4½^é|ÇßÄóïü™Ÿ\2“<—ô CÝÏÿ˜û¶Îæ{7.$û M÷-@p´áñ§îˆ{‘ æ§#l$]naž‡ºâw,MƒìlL;9¯*Ýá–+ãËØÁÉ“ §À›¢*IL0*V¼ŸØú³ðåM¤½3ššþviL,ËfÇÊP±ay¼nÍÁ” Ð.Ö­\FscmJǹ©a«Þ§Ëø㦣j¤îϹªwP¹þ &”eáw§F×ÖAöà Äçs›–¾ÎHCB•’è0M‚â¡©›«ªÈÖ4’ mÚ6rqq×ùÚMÍÎ]ø|éIÛŠFHÏŒ—ÓÙÙI Â, c¿è0šè —ššša—µ_thH‰÷Œý¢C Gtx¬Ì'CMÔÉéL™NÀ¡àôf0iL&Ž–Fövþ7¿+°áù§¸òÇKøÚ—pÉwŸâ÷]Œíh¯þu›³gpå)…ø†=ä*Z`ÞŒÓ(ÿÌsL*mfßÇK‰Øž7êí{1Õ|ÜNªo.öÑÙ9P¨ ½mQòñû|IÍU{× €6ž² 7qƵ»™÷ù?P^Z„3ó4Š'-¤ÿ7'Žôq8œ¹ø3s¶˜^u-ºìO=uå×%Édb~¨n›X8P”¾¡Íý¤M½“ѹ;©Zö-áÿÀ±ÔËÕb?ÃmäÒ¯2ö©•Œ}jãÿ¸‚ãŸ]ÉñÏü™Â±¾žw9H@ @ €Í›×`À‰AÞªžÿ‡+:´”þ/qd—+u>pc¦P´.LÓÄ4M<ž.W^ÿzù~ñÀ~vßý¼üêk–üòçäç¡7dZ¸‰ªäø¾#ÁQ½÷ž| ýô[¹j^&Êp·¢´Õ¬çïÜÁ?XÈÅÓ2ÿK:.ÌÚûæ2â¤_±~ôËÖåÜrœ‡âK^ ºûY!¶ùaN)Îí+;B-G7<À¢É‹¹æÚ ˜$™ÌÉ—°ä£f†»4gÕ¾ÁÝ?^Ψ~Èy#ÁÓÖAî[æŽ'9kÚ©\yéÉdKjÎt¾òà ÆÎ9™‰£Oå Ñž¶ ‚ÔÈÈ¡£-#ÞÌ¥#’ü|(ͯÒÑG<—3c¡sv½zGŒ@/-E·“[_d+løÇó‰iãæ²§®5e}žp1y„‡«þÁÞkzÒ%Ibdù$Æ7]Û7°éã÷ikiLª®¶–FÖ¯ZÆ®í˜0u6¥£& Ëñ'Žªm+YõÚoWä$ès¦¬{jÛ5õŒ„´Š7_e¬­þ?{çGqþÿ÷^o:ît*§j«¸wÛØL ͆)´€!!„„¾HÈ’PB !”@z/¶Á`cƒ{•›,«Zåt§rº~»¿?dK–-Û’ïd3ï×˯—wnô̳3{³·³Ÿyž¸mG…Ë…!½7•BÍ_gÄKèN³l-,ìSV³c'É)iqÛ†‚¸r³zŽ÷44àHM“@0@ š™™yÔ¶4J÷b`€‚¥p´{ƒ—Ëå:ñ:FIQxŽ‘„¨ #.º’'ùCžºï‡¼ðÀ•\U`9À–E‹x½%‹Ë/En¼‹‡* z‹"~äÃý ‰UáÞ¾ uæÙ$™@r&™©´nYÈA—at—£d^ŒÃǽí€6puÒ©œùÙ±gY÷þ£x‡lS¿ µµ·­ŠEõ´¥6Ç rÓÙÑFßî öì ¢†ÅÔÏïm99³~†-ð;V/!$íwl3š¬,$Ïzü­a1q @ @p”–Žì^ðû”{;=qÛÖé ¨b?ì«Z½Þ¾uý¯Ù˜vI§V‹‘"öE<üヿë¾ýÞ{,\ü1I þñ!ÒœNB¡Ñè`¢­øÙüÒƒ¼˜É‚³ …ðP œøøjY½Õ‹×_¸¤ÀÐ-ÜÒº˜zÍ£|Öt˜EêО>3 Im Ù5Š ï[EÚ³)4]Þ.)>sYu¯òñ®nQZÇ–wXT î/_g]³„©Zò Uq^éÁQ"Ô¥^Êã_îÁÛ´šß•-å·w¾ÄöAmˆè`å_ÿ7¬×ó›ï–ct÷ì¾lÚNséOYT×Èšß²è§ ø§æ‡|ÜäfÛÓ§Sù—»yf£›xâ»ßäw{Îã©MÍ´V/æ6ç+,˜ÿ »å#œw ³þ¼™ÏœAîØ{XÑ¡ t.å…PT$ÿO®nÄ»g÷¸>à—w¼LeB[Ÿå¦Û^Çõó¥4ttдâÌðöwùÆ$,nàÙµ x=Õ|rWïÞ~=]ïÅÍâŸ_ȵ¯¸¸û³:<-›xvA Ñ}Æöž›@ ‚Õl¥«³÷yÊìÈ#‹ÿyÈlTãÞñ9±ý6ÙFŒ =4ÅB½ž]‹õ)K›=;!¶S$Æí•´6Öõ–e '¢I#Š&¬ß“Ì:Jr lúô_l]õAß¾³$3nÊi8Ò\lß²šÕŸDcýnBÁE6ìÞ¹™5ËR¹m=é®|ÆO=K’­O½­«?dËÒç)Ï3áH6&îç?ŒltáÌÕSV¿³sE%IRü=Ñ(™sçö)«ýüs²uñ?¶E£X‡ï9l]WѪí˜Z&ÍÕ+`ôwùINN“@p<ïÆÝïtšî9²¡¡á; sЧÒƆ*/‘a;Ý-)dšTbûÎÄ´nZÊS+eN?‹©ƒÃË»©k"Ëß} wG²$X÷U;Ú±N¦ß=ñJ„hçZê?û1;=#ÉŸtZ÷s£¦„ìSoÁÒ|?y·ÇC,æ'Ôú•\Ëζ)O¿óÑü$;T›ý]A†I ;í6lÞÇÙ´|Ñ øöµ•Ôö—ž¶$Ë4r ’ñ~þKªvo'‰"Gšé¬|”Ê ;1•~‹CýDQ§|“Â)s‘Ü[G‡ð²Ñš”.¢íÈùˆßImÉÚ½"c“@ @ ‡Â¨?ü{Š”${Üm„CÁ~Ë5Ž”¾iÂáþÅOÿêǶ6§]Œâ1`_êŒü¼<þøàïùÉwâ÷û°˜ÍüùáÿGºÓÙ3†²,£ (rIŒ–…÷òÝ_lfæÃ .ê”@ k"]´úc‡ÍæŽ?=ÁŒÒ4høŒ'~tߺNÏÂÿ- ÄÐÏßé‹ùÞ‡Ëxj®ƒHW+ÕkÞâá[obîU~¿x Eú“¿ëŒÅg2?ëq^ùx ʳ©x÷3ô—þ‚+Vÿ‡77´rîlŸ¾¼‹ô‹ÿ@iZc§^|!3K@ç^6ŽûQAS”°ÿ›þÉ]÷qñ?nd¢“j÷-c3¿q£³Œp楌˪ lîLÊÒ’aöÀ¦W"‘‘jJHÿ#GG D"ìú_»öý¶Ðe`qOé…·àJ5÷üâФ^CÙE4­œŠWÿˆ?Be*$¥èûŒŸuöÁD"P›‡øÍæø6åÓWðÅ'w³ÕU¨’\†J²ªv|›â)ËY¿´·-çÌç“ô{*—\ÌŽŽ´hmIÿÊÆLD»¯_B‹¡ànŠ7°eG<ë2U´üúj­÷Qzû샦ŒÁ>j3ÿ•OSPv{IpÝqÒ?gÏ%&›Ñ•ëÖbMQ¡xÅWQ @ ‚þ„zƒ/èu:Bác—M î·$BtxlÙõ0;ËÅC¿{€ûü*•Š{îúéN'Á`¯ÂT= < ]›ÿ΂«ŸFóýWxì»ÅD7 ‚¯I¦,¦]{=ó&ïMh=[îý/_ö_–Õ]KIÑáns*´f'E3¯åÁ¿ÖóåÅÿà½Êoqsù×ByÈÜù.ùcª.ŸÄ{KdN¹ÿ2Î5¾Ìmom¢iØ.^®Ê`ÞÙ%˜€#ý,Qku¨žj9¼‹Wîû35s~Ï3§§ òÅL÷-µšÞ4^* zµ„OVxªi7äQ–Þ»Dm˧,UæÓ=„KpÞ¨Ðè5Hr EMÞ¥<õŽžGî»—ééW‘7ÿç<ðÀ8·ÀÜOFª{–þ“ßüò!žY¼“îmy\%+[+©¦2Ãeí7“Õ¾s‰ÇjKe‹§oJä$g`3fÃÑ+$ 2Ò ´Tí蚇 #€¨tjÀ¥ÓQµ|9ųgýgUÖåá¸ù7ï+(¦ôÉû\/ª‚ë(}òºÞãŒÓȺë4l•Š>ý'Pwßß{ôÚA÷³@ @ '#ÖÞA„ü1éÁŠ«MñDþA’¤½/ÆÔD£QY®LžÿçÓ<ûôßIs¦z„‰jµY–Q©?ÄþíÏrÃùw²ñôGxñžÙ¤ŠÝà«‚%›ñ6/ÙAÛ~År,‚¬6bÔü§RkQ«ÕhÕ_—¨Šç^‚«öUÞyÿM>ŽMå‚‘…Œ¾p,÷ßþUó8»Ä4$­Gª>â髨|á›äi%$I"í̧ٲéqNsHä_ó-Çø¾eHÉŬfksïnX{ ÛZÕ¤»’˜ÔGEe ­ªI.¿˜{þ³ž–†ÅüP÷W^ú{¾ì<¸f¨âi®¼ü´^ôwÖ6´ÒQý6Ww{¥µ8IŽ4°¾¦­ß¦÷›@ H<*µ­ÎÐ'ʸɞM ¿h!+Ã@GKß´”IcÇ’ãO3W¤Ó±ùå—{ÏC«Å1gÍ Ø§–$J£*Ö¾ñß>å#f\Ae'ác U«žç <[Mã†×XòÊÿ£¾r]ÿ¾©5$§¤’îÊ#;8¹¥ä +!#+‹ÕvHÑaíŽÕ,þïïiXû_Fdk(ε'\t°«¡ƒ²i—¢R÷nœøü™'©hP' Ü¡;Á>aBŸ²Š7Þ ÀÿÖ3Ÿ,c,+Cµ_ÔÌÊ›°ÙÓã¶på¸zGD"‡ÌÔ Cna†èÁСŸDÑ™}E‡‚¯(r ]뺰Ì(G#zC @ ‚ãΠD‡pè°+ÐÞóÿ´nþ?&k©fî®V1Âq••Ess3™™™Øíöž¨òÞIII=uE!ÐØØˆËå:¤Íஹ鷰bÆc¼÷×oS(B ‚¯ª,f-8›û¾ýî(Š_\Xоþþpû‹ð§™“}dA€ñÑXñ!ßögêGÞËœ<Ýצû Es¹$ë!îÿõòÏyŽ‘6Hs“#Wñ›TdÜù ÅÆ¡i[[r·ßЧ¬å£ë˜}«Ç–<Æû±¿oÙÆ—kËŸå?}ˆQÝÈdc%ÿûùÏY”r)¯Ìr!5É‚sªUóZÖín&Ý·‰Ú@ô°ѹõ¼¸ÒÅç!]LfV2ÒJþÈÁuCí ¸eSK‹H×·³ù½·XÓe< É;ƒμ«|“­÷1¿Db×ê-¸Ã}ÏM  ¦¤d|í­$ٺӧ䌡zý ¤Zã»§¤9 |úÑëL¹ôêžßþi§œBËêÕdëã{SïÔéð®ZE$D»Wt–9w.Û^~™ÌDUÌ—4T|°Ï·®Åžž@²3köDšZ·‘î°$|ìVÉ– ÜÞNªVü‹ÍËß »x"™£Iqæ Úž§©šúÊu4U­Ã¬j§ 5‰Ô”tÔª¡Ù¤ÐØêÖ;kjo¢ÊÚm›ˆ}þ¹Rb~Ÿ4G" Ÿ?¿w=Áë¥ý‹/pØãÏbÐ’6eJϱ‹±eÍÊFÏ¡¤«4W¯€±¹©™T§SL>ÁQÐÖÖ†Íf;b=Ê |§³™˜ØÛüÕÃßÄù Ç]À¯/Ë'ù$;½Hý=¬xõºU!i>.ûNã×Û§A\0¬ûÏKüa­´™LPeb»î—â»$@ Á‰ø$ï÷c2 .ÐÙØ»BÔÜÜL²#…öVïaÿ昷´l'Í䣥¥¥¬X±‚H$rÄ(†±XŒÆÆFf̘qˆn>»ÿnžÙÑ;®døsWö|âºì-V¿ô Äþv@pb£"mîüïÑ_qçï/¦øš¦.øé¼þÓ³È8T$¼Ðž>3§÷›J8ï–?ñÞó)9!Ø!¶\»’çåð›H Ó®¿IÃ,c ¨³¸ðÑ7yô®[øí…ÜèÑ3lt>Þ¨½Ï¹ ‚¡!%5“öÖÆá¡ÅY@ ­ZB¯xñÔ×âÈî£9ÆgC4·ðP¸€ú ÈŸ<¹{ž1Õ¨Q„vì@¯ŠO<¢&GÔ|üçßsîÝ÷c4w K§\Äç¯ü†$s“A›ð±P«$Òfœv]aÜMËX[ñaL˜S²pf— 3˜1%90'¥uG¹ »ˆF‚tu´Ò­±µÜIZŠ™òlÉ–tTÒÐEEö#4´ILšyvOY4aÅßgBDE"‚+d™hYÖ#zÊv/_N®N—EO4JIIIÏqÓîÝ„B ÕÄ?ÎQ)Fΰ^AfSc#Ngª˜|‚£` ¢CoÇÁ‹‰¡p½®ÿãH¢CFE4*‹8Ð¥ãÞ_O8©ÏQ›õkfÞüëîûàS7{ŸúܧOÿŽðÐÌØË®å…ËÄ÷G @ ‚•œ¼aÔVWu?É›Ž.»a4C£ë[It Í™3GŠ“±“ð:ùùâŋň’††¶lÙBcccŸtn ª$ár¹(//'#CÈAbñx<ØGœ¯è?ÁÐѵú·Ì¾ø®zÿ#~XÞW T]=ø´Ë~¿ŸôôtѱA?x[ØS³ò ³{ÊV¾ðcÊ­{Ðkâ{¼~G'šá×3æì {Ê>™?Ÿ ííÄ+ƒk‰FYWRÂ?ŽZÓ-$©ýu|?L~Rï*À2U„´;ïdÔœ^A]KÍFª–ÿ“²‚44ê¡Á“Âá0¾]ÁáHYШUh4*Œz-)I,F:zÈ¢öy€ÉlÚÑDÉì±»z…{ë½C˃`†¢#^T‡Bh¯¹†aW_ÝSö¿k®abUNM|ÒÈ¢°93“Ï?ßS¶â­wXôú'”–LŒËv0¤MÝÁM?¿¹w-aá"FŒIz†¸/ ýqÉ%—ô9vØl´¶µ“¶;¼^¬))‡­óÒóÀÜ­B­’i½hL…$qÌÛ0›Ž¼å+QÐk¥cZ/–‘$阷+üþ ÿ„Â?áŸðOø'üþ ÿ¾Zþ¹Û/7ï q¸8B¡.ôzs\íñ ƒÞ "ü®äÉG‡Ëå:lêd@ ˆáÞ¾’úX*Vè`ˆI²¥²k˪>eöœQtî©Eçw0Ó¡ãóåö¦Œ…ç“OpÄ)sh4t®^MgS¶¬îtÈégœAý?þA,Dg¿HÀ(YÍÇÏýƒœÑã°9º¹£h®™HÍžd§ ùø¨UFƒ£ACZJ÷î>EEQPöú)I’t|®Ÿš=íXs'÷¶·6³åŸç E“Ñ¡¬(¸““™¼ß⃷¶–ðÆ8ýìptÄb¤ŒݧlË—«p¤fÇoÛßIîèÞh‡Š¢ÐÞÖ.D‡Á èlõqà¤ÞÑæÆjë‰DÑjãÚŸè0 ¢S÷ ÚµêØ€lëzŠ’t|üX¤;ù˜×“eP©N ÿB+Ù¹äcì³îÀ®?ý;ÑûOø'üþ ÿ„Â?áŸðOø'ü2ÿö|tò£æÍEK¨ßµµï3ŸN‹+3‘e¥¸²óIôBd§?ÊK¯¾ŒîàŠ‹.ÂlO;ñÖ&¾>~ÎáD9Ï}m¨"\qñn»µDn¶ÝëVö”YKKñ§¥S”¸í—TÿºzÊ ,`wlï£@Ò ûl9Ë_éMëRk1ãÛ4øôtø‚_Ëk¦Ý¤¶]KùÌo¡Öö^+_¼úotŸ~NžJ›°¶vÇbä]~yÏq$ þ½÷(ÔÅ7¦(´ét¤Í˜ÑSÖTSƒÅžŽV¿©£«“¼âüžã–æf2\™bÒ3ßx[{þoKu&ܾ¤:|d OsËqïƒHg3_¬®¦ÆÀæêp'ë×í¦Jr0uÚ.˜2ŒŒ®z>ÛÚ†_×ÎPm¯gÙ.8õÚëxö§s›tÀõ$õÿ‰(Á?gãú2fÿ?ò‹¯gôß‚-w²cg½#*u¿È¦·î¤±=t°Mö·)@ C‰ÂÔÑÅÜtýu\͵\véåä”jVoÜD¨«#¡­%™4\ÿ˹îÚÇ= Ÿ·#ÈÊ5«i¨­B%\O_ñôó‰Ø/_å±r{}xZѪΚ5ï]ù].™÷M’S3NêkðhP©z LÌû™>­lñ`0ùÙúõÅýD à˜ !ëœY\BQ"ëxùžó)4«D×ÇGF.­5=ÇZc2j[!püiF†åš©ZõiϱÚh$õôÓñ& *¡ptu±ùwzÊôN'¶sÏ¥%IHßHÀô˜†ÚgþIõæu½3—Þ̘Ӯ£²EÆçÿzí<ôùCT6Esúõ-ŽžòêMkixæ¦ËÚ„‰"<Ñ(ÉgŸÑåê)ÛúÑGdûýhd?óœsP{×V¼ÿ!i®aqÛ…CØ3÷[{¨¯«'kojp@0xÚ܋ٮ¸l*ò¡wºHZ5ö4çq\UG‡9 ózè°ÏKCØÈˆá¤5èŒV†¥¢ñ4Óøú)åêçÙöƒ+¨þÓ÷ØøíéTým1áªgØöÃk©þn*®žÌÚ+/e÷û«è|÷çl¹zR÷ñÂJ’/Ç¿{)¿þ˧lëôðþÓOqç; ø¨£Ó±jµ¤ dè´XM~"u[‘\×’“ƒFe@ﺞ ×®fdɰ½ Û|›nbÙËÒe›ŠAÛŸM ý^›Zôb:@ ÇF…ÝfaÚ¤IHZþ`¿¯StŒ@¡pEŽ‘–baذBtz=N‡ gº ±´/²ÜwŦ¥¹¹Ï±Ápp¦’´4Çàçºý‚m‰yá#ÉQ•H$@ N~’íéTnþEQöî¢KÎ.§½zF]|¡G³Ò |þöb‚¾a°t‡rL˜@å /ª_:Vb0ðÙ¿þŸùó‘Ôݾæ\|1›Þy‡DIE´’Ä´¨–¥ÜKÊ£OcMé~p5%§3|ò¥l[þo†»ÀbÒô׊ÏfGCˆÒé߯díÝÛéuóéý¿dfLƒ6;1k…1W_ÝÛ¾ÇÖgŸe¶Ñ˜ûÍÑ(ÃçÎí9tt²eÍf&L;?nÛ^Ÿ— 3'ö+ŠBss3sN?ML:Ai©kT}£QO P]%;îç'é’3¡€lM3‹×xúú‡‚"©Ð¸_'¢5£Èô5\ÛìØA§ê^Šÿ:`§MW x×ã©=‚?ýiéì|úf|SnaØo‡e?§òÕ`õ+Ìé‡7mÊŸÁ=ß7óðóÛwÕ|.pÜ¿zƒ…\³‰l“%ÉL—)ƒÝAlÓ»´¶]xˆ2’ñTJæý–TÕˬzë­ƒlæ˜Mä˜M¤%™é2i[´@ Á±D–¥[$I½1Ù·íªcÍÚ/éhó’l12º¼„²ò1{×iU,\¶Š[ÖŸ™Ì¹çÌCQ«5o.ZBý® ¦ŽÎðQÓù÷«/#…;¸â¢‹öFã;’mX·µ†Ï?ûìT3çc>’VG $óÒëoìp3{Ò(ÊÇNEªÚxëÝW0ke®˜w †¤”ÎPÍ«.¦©zj ÞÝÅ_ÿù/ò3“™9ûBb2¬Ü°•úæÏèìhÃlÔ1eÜ(†—ކžÈlGöýPìiiãËU+ñ¸[…ü˜Šó³˜2e’F Hì®ofõš•´¶4£Q)8ì)Œ.+!¿`8¾ÂK¯¾ŒÝ(aLrÒ°§žh$Dɰ &M9“_µ§Ÿeƒ—^}™t‹}’“ººZbÑ ™i¦LœHZfÎûåÜsç£ô‘n¯Ÿ«Wâv7£WK¸2L›4™¤”î´·þ(/½ú2™V-6g.Õ5Õtvv`2h˜4v$eåc÷ëÓo¬±Šs{ûþÄ3ÏlÖ£1;hmnè÷¼Î8ó1δ#Gëlnn=¨Ìj±Ðáóòo†d¥?Ñ¡5Ɉ#Ã!FR @ œTh´:´z]Þž²´âé4{CqÛÖª%ÒR¡fÚž2ÛÈ‘„²³’nÙ¡VãôxغpaO™¥¨Çå—Ó” ¨‡™¨˜ÒÔÁ[wÝ‚ß×›N$5g#f}M1|þÐI}øü!v4E1û{8²ÊzÊ]¼vç˜Üâ#3èá0ÉçŸ!³75qÍ—_’TW‡9âÆ˜¢ÊÊÂ6fLOYåúõXR2ÐjâŶxÝ•õ»ÝnL&³˜p‚£$Éd=ägóÀvý‰­¦5~œ kz*ÙVM¿³«Îb#CÓÅæJ7žPŒH°“U­´Ge±¯éymÖ930Xhíæž²äóÎÃl³a(Ÿ‚Î’‰íÜs1§Ø1Ž˜‚NÞCÄ— ß z'¿™=–S FΞ:…Ÿ9­$ø Ei«Ùüßï°«ê=ªW½€»Í·ŸÑŒ¹ð 2ÒìýG Ö;ù¿SÆ0ǸϦVL@ à˜ GihneÉÒO!Æf1’”œH¬Ú´“…‹Þ£ÍÓŠ,Ëx;ºX²b5Ë—-B’e@fxA²¤¢©µW;]0î–&Ô*™aùEýD ˆmÈÉLC­3ÒÒÖI`¯íöÎ_; Q]_± bw}jE¡ '“ÅvÔý!+**vl§£Ý‹¢(øü!¾wO6¡ùÞí¾ï~ô uÕƒ~|þ õ{êQä ±rÓÞy÷ šˆÅ¢„"1šÜ¬\³%Ú¤­ÙÓImÍ.¬f#6›Ÿ?€ë?Q}K»ví “¡®±•×Þy—úªmGÙKÝ}ðλoÐÜÔ€‹G¨¬nà?¯½†»¡ºOíÚ&/7­§££ E‘é „ùdù—´PïD«Ãwâì "áC¯ÕØÉGüû˜Ò»šv8Ñ!ñp(éè @g@Œ®@ @ 8éHÏ* eO–d;gAU2²,£RÅ'ò*+¶R±ò†Ÿ2«û!Îb!ç‚ hzòI\ºø£Ž0YôðÃÍš…vohýÜùóÙ¸p!¶¶6ôªÄˆár$ ;ëx÷W?ã‚_=„ÎÐuÏ–^À¨Ó°qñSä¥HI2žtׇ·=@µGÅèÓnÀ’Ò+ ú»xïÿctÕò¥Ä !bŠÂžädF͛׻Р²ú±Ç8ÃdJHM‘¹—\‚´ßõ±ü½ÉpÆm[–e´-9¹=euµuŠÉF 8J:ý‡ü,ØËvÇ!„ã¥å%lݲí„íI—̸19¬ÝRÏ'K«‘ VІ9ÉhoB%}M/ù!©.eo™Z¤³ 1îýý¡Ò"¡ ÈC'Ô”ô£È={™^fË¢¬”µŸ%ýôç(ÊM_n@ @p¢=m²bÃVlØÑ§T£V˜>y *½‘¶ÎëÖ¯"É âÌ9§aOË¢ÑÝÎÂO>fë®jÆŽö`²¥’žj#Éæ ËÛHkK#ÙV;no'~_Ùö$¬öTºÐ ÔvJ’ gFM5Ûhin$Ïæ¤ÑÝ r÷»­“P° Io¥¾¾ˆRZXŠÜï†æóΜŮºÑ¼ûÞ+䦚¹àüK`ïæäN·MIŠqê䉗ŠJ¼³ðcÚÝ Tí®$Í•g€¾÷»îÑ èïÄ‘¤cîis±¦¤ÒÙ¢±© oGuëV¡B¡¬ › ¦ 7'Ñän#ÔåF­7Â^?µj™Ë/¼‹#XLÁíiA‘ú_#W«dÎ3›ôœatv…ùxÙç47T³jÝ2³óÛ/ý=I{;‚¬]· £†ç3qÒ)øB2‹?[FkS+V­à¼s]°wëÝ!û´zéÙÃú¦ÿ±ê^·‡ó`WFÇ IDAT·ßÏB‘¯ßL¤Õú}ƒ§µIJ?zÎÜôjšjQK{‰ð0=ÃAScßð‹I=¾¸Ï@ ‚“ŽdG&;7®èSfÉ(¥3°ds|‚²ŒT=K–}DGË÷±:»CágÎ˲ÇKˆðЦR‘ÑÞΖwÞaÌüùèN¬§žJý+¯P O\$«2•ŽÀú ÞúíϹà Õw -)™Œ;ë¬zÿ 2üd¥[Ošk£®©¿‰qg݈ÑÒ›  ðƯï$gÍfJ¥ÄF_ª ‡I7s~~OÙÆ×_'Ãí&ÉbIHn‹…ñ³fõ·77³iÍN™5/nÛíþŠÊŠ÷K=uµµœº_{àÄçDîC›”Êä)©Œª‘$PXT©Æªýš&ã•$V]P&GfÙüú¹EÛÞ¿±qæõßdÞQßî4h­…˜íg3óÛ„>¹˜ŠÍŸ‘“s1&ñU@ '8ivsçÌÅjwàövôw^{oáµct¶·a²¥¢×ªÈÏ/b³·…Êê]äŽdWm-jE¦(?µV‘¾› j[¥’)-*aOÍNvUW‘_4šÝµÕ´—_Îöëél÷ ˜tt´¹±[M8Ò2ãêJ"/;ƒÑ„‰¢¢V¹èôu" Â÷þHN2a´$Óækeã¦M >œô v[yw¿ìq øpXtLŸ6­) €œL'àõù;‘Nб:Ôy'ÒžàÈ(‡ÐÖ4Õâ´¥ÒÒæ 5-wsÓam É*š»¥Ð©W„èP @ œ¬˜“lD#½)rÆOS{üÏAj•Ĉòd6|ðjO™!=ëôé´G£ ñ¬ÉDÅ /îêê)+\°€®Ü\ Lc ã-_¬å­ûï&èmÏ`q0õü4—°½ÚM0üÕÞ† GØVí&d.eò7~ÜGt tñú½·“½f3ã-‰ ¬å‹ÅhÍÌ$ÿ»ßí)ó{½l}áF˜“ª¸5Å0v,†ôôž²5‹>!#»Z·ýfO#Æìí¯`•JE²-YL6Á‘æÙÈ¡çÎÓ$KýD)è‰lwòs]'aïÉtyÛéPqÕâbŠ #.º’~÷£î\ÉU†Ä˜VYÐ[Ìõ#+¢§@ Á‰†ÂÔÑÅÜtýuÌ:íüÝ}ä¯ÙÂh)±¢C€úp˜‚ ÐìÙð‹§Ÿf˜ÇƒÕ˜˜4Öžh”¼½Ñ1EaÕ’e¤g”Åm[–e"ªEeÅ=eµ55¤¦Š­Á@„‚´ý‡•3ûŠ åàWán®ß]ÏÑä#ŽÄŽ,è‹ÉÛ'=˜z1YBQ$b15‘ØÞ¿ ·ñåª]ø]ELpYQùšY[Ù…)³„šHìØøùe@(¢C[O ËÝ/FÂ2L8*C´»Ö¾²ë(a…XTØy쳑[¿Ç?y7~“*ùJJ'—ŽèÜýKHZç}HÀX´˜7ìàí»Âé?û©®œîÏ$‰Ü³±¥å³ýË7p{ÈJ·bÐiOøk ŽPßÔAPãbäi󱨳û|îi¬çÃîaÔ–ÝI‰?Ÿ=á0º‹."ý´ÓzÊšwì áÅ9/%%!møeq1öqãzÊ*>_Ž·ÅGAAümx:½ 9ƒ©WpZ¹³’ “&ŠIF KÒ1i'2HÑ¡ÅdÁç÷¡Ul£r¢ë©T ’¤ VÇЪ÷ .ÆHgUÅ>ØEÒ™ÈÊ+`V¾ ³*vÌü3êr—‡¼ž¬S¡’@£SaÔ«e@Ó.§§ìÀ::*$Ôi@íF÷ÙÓªŽPŸäþG”¥°ý­‡Fd¤úÒÆ?Bqi)Mßþ‹i%Th²/ó~–eP©Nœñþ ÿ„Â?áŸðOø'üþ ÿ†Î?êÏ„˜<~ï¼WǦ»)+i$9ͅÖ„Vg¤ÞÝÁ† k()…Z§' S¿§ž|W:ú½©€µ‰Â‚"V·Ô³jÝzˆ…))(CÒhûx8Û’$SZXBuek7¬G%‡ÉÉÎàגâpRW»IêÄi³’š~ÄóU«T(@›/@[[+z‹ƒ¦æzì)ê¯Áø~ MnU•()ŽÅjexauM-Ôï³¬Â F í],ý|)'NAoJ¢ÙÓNÐ×BqÑÑm¨ŽÉ2­^«ƒ6_€%Ë>‡X„ÔÔ$ æ¤ÃöK^V6ªv©)Iè f<>V­þ‚q¦ÒRX¶bR,Jº3ƒÙŠ/ßµy<ÇJ’$$"1¯×C[H&É 9j{9¯¼¬lF••ž´sÅbÄç `4tõÂ8œèè}D‡ƒePÂC«Y‹ÛëA§ø"¦ @ ‚¯ÉŽt”í1¾vŒ–î”°e§±gágq FHaÍ[Ï‘Yr?’$!©TäûÛÔÞu% ˆd§fY­|ñ補ÿç?£Ú›2·ü§?eÝž=ØvïNˆÀqŠUZL5|òË;qÍõ”L=•ª»]«3ŸñgßDݶeTlù„4K€ÌÔ$T*é„{YVhtwÒäÓ’]~.å%ÓQ©5û}cÛŠOÙôÔL©iÁ¥Ò$Ü_,FƒÓÉÄk®é]XˆDøüÏfœÅB¢ZlŽDÈ›7iïµ ( Ÿ¾ñ9…#cßÓÌéßžÛ{^>¡`§Ó)&`¤$§àm÷žp~ùü¾ãÚ¾:)³fø’DÂhÏ`æô ÂQ5’4pAáɈ*ï;”<ñÊ®¦äÉkYgßñ@¢hÒÆðË»Æ Î/ËL ΞIAh%;—|Œ}ÖØõÐ8¸Muê¦^³@L@ à„!7ÃAv^1{voçËÕ_0wîù8’Œ3µ+—²lõF–­ÞØS?Ù¬¡ðâK÷³ P›ÃÚ5zº]è4 YÙùýŠAÚWZ f«®£Žd›•J&/;ÆšHJ”¢übÔ:Ã!Û܇٤G«5Ð òÒëïô´yÎY¨¯ëûþ„"QVm¬`í†-}ŸCÕ ™™Ù$';v"_,ÿ„­Uõl­zµ·]«Ž‚œ|`ðkø²¢æÝ—ËzŸc¥ÇŽG¥Õ¶_r.¾ô áaJ’1c&°ê‹OY[±‹µ»z>Óª¦L˜‚¤ÑB8¾˜‡Çs¬´ƒ Ÿ¿“7~ŠA«pù¼KÚÞ@Î+í—òêGïãó4pþœ™d•ŸTóŒÏ×0Ö5tëZƒ_°£ÿõžÁr»»Ð“ضmõõõ=¹ÓûC¥Rár¹(++#33Stœ@ @pŒ0YRhó4õ“³F°%¨#“Ѫãí¹Rõ¬ÛøÍ»v’^؆6ýÔSÙ–•EÀíÆ˜Q`ªFƒ´r%[Þ}—‘çŸßýÐhµRxãl¿åFšLh¤Ä ÿ²$5IÕÍ,ýÕ½4]öMN¹âZt†n!¥J­!·|®Â‰Tm\ÌÆÝ+IO{²F}ÜÇ;ái°ÇÅ‘?‰‰³Î8è™9 ðùKÏÐþâK̵؇@t(+ »B! o¼ÝÞS¾ò¹çЯZEÎ~i—ã! Ëxsr(?ûìž²¦ªÝTVT1izüÂÃX,†¢ƒüáÃzÊvWíÆ•%&`€œˆ¢C !è'Qtæ$Ñ@ à+…Z­0eìx^¯­bg] %»*È>ŠicËHµYÙ°a-­­n”Xk’‰’Â|T¤èµ'±;3imØM†Ã†%Ù~˜åAÙ6µdeåRÙá!Õ–„ÞhA2Óœ Ö !̰¼‚#ŠRmFæÌ:Õ«¿ £Í‹A«&3#¼ž<8ßûô‘ÍÌÈòÑÔÖTáóu¢×¨Hµ§0uâ8ìéÙ(ÈLYŒÃfeÍÚU´¶4£Q)8ì)Œ*ޤÑALôøJ’LZj&-­­hÕ éNÓ&MÄžæ:b¿(‡èƒÉ£Kpج¬]·»Z•édú䩘mö„\—Çs¬ôZ‰)&²lÙ§Dƒ>²]hõú£¶7óR¾&óM˜iii477'Ôö¡D‡Òœ9sÝÇ»kªÉÏ͋˩ŋ‹»Ì سgëÖ­cúôé qÙÑÑÁ²eË7n¢AÂðx<Øívq¾Ñ_Qª««ý7~¿ŸôôtÑyÁhom¢zû:FO;«§lç’§°6½‡=)þTÅÛª|ÔÆ&qöÍÿ×û|öŸÿÐþè£ 9‡6Yæ3£‘sŸzŠäý62ízúiÂÏ>Ë0½~Hú.¦(¬“"ÔçqÊÍ·‘S2ª;íÂ~:ÝÔnýÏî•ØL1ÒìŒzÍ1çP$J³» _…=¹å31˜û¦V…ú¬xòQ²×W0-jih¢5V…B¨¯¸‚âoì)óÖÕñÖå—s†^5Aíî…Hºåò.¹¤§ìÅ¢yO„ìÌaqÛoò6‘^’Éü«{w°¾ýæÛLŸ9”¥ŠNv.Ùïûy 6‹‰6Ÿÿè¿£žV²Ò]D#¡£¶ñÊ‹±N$¦PäÁDÖLÄÃDû—<€u¾@h`©ÎY¯+ 8›ðOø'üþ ÿ„Â?áŸðOø'üûúúWÛ<ø[âƒà«N§?ÊK¯¾ŒîàŠ‹.ÂlO"8nn=ðXpT!1â ϶mÛ˜4if³™h4zÄf³™I“&±mÛ6Ñy@ Á1"Ù‘N8 àkï)Ëq:Õ-Á„Ø/Ì3Ó¼ñC|OOYöyçáËÊ" Ë iæR1Úçcѽ÷òõ¦ÆÌ¿òJ¼x¢Ñ!é;µ$1S·×±â'?âã>Ž¿³½OcR*Ã']Àè³~„1ï vº ¬ßÞH‹§‹pthÓc†£1š=>ÖoÛÃöfú¼Ó™<ïÿ>邃D‡m­,|âaVÜò&lØÁ8I7d¢ÃæHÿر\uUOY4âãßü†1’”0Ña@–ñdfâ:ãŒÞ¶wïæËEŸ“‘–“6ö´42ýŒ™=Ç]]]D£!:Ä@D‡î¦ÖC~–nwVt8ÌU,:Y @ @ 8ޤ§:Ži{*Ñå_ jkk±X,D"‘ #‘f³™††Ñy@ Á1Ä•WBcÝΞcKê0Ôécð‡âÆiT£F&óÅÿžê-³XÈ¿òJjÃá„C®V‹aýz6¾ñFïãVËø¤:=_lèD~™’šó¢Z’_|…·~rë¾C(ØW,c²¦’7ò4&Ÿ+åsBÐ:ŽÍµ2k·î¡º¡ O‡Ÿh,>!f,&ãmPUïaME›ke¢ŽiŒ8óV&Ÿ+y#OC¥Ööù›PÀϺ…oñö®'åÕ·9'ªÅ5„Ý]²LMJ Å7ÞˆÚhì)ÿüoòn ŒNY“÷Ío¢µÙzÊ>{ý-²‹Ç QÇuÒð‘Yä"#»7bÿ¶Š­ /)“Š@yY…ƒªŸš~è…IEÝ+d–#‹š«vb5ˆŽ@ @ ŽMîÖ¸m´¸Ýý–,g:ìóÄ 5Ñxzv¶¥ã€¢(îÿ/#"êIhó#ÌÈ;…‡6úý<\ñf ;ôçƒ#Fë—OpÓÙ£ÉÔIH’„¡à,~öʺ1¶ÁICÔ˺ç~ÌéF$IÂTp*Wÿ¿EÔï#Ö±ù>§å4åÜú©÷¨ì¨ö{OèÆ·ýüò’1$ïõKëšÊµ.§%zòÜKâ”ÜÄö›@ øjâÌ¢µ©Žh¤W˜5òLêZ3”$Ѳém¼ õ=e®sÎ!PR‚?AQ%`šÅ¶‡¦~Æžr½ÓÉðŸü„­²LTº X#IŒ”´œUÓJçƒàí;nfÝGoôûöó°«#‡á“/â”ùw3îü»I.»w,‡Mu°zk ë·7²£ÆMuC­>Z<]x;x;´û‚¸Ûü´xº¨ilcG›õÛY½µ…uHžˆ}äeŒ¿àœ2ÿn ÇC’ãàè~¿u½Å›·}Ÿö?<ÌÙ{:%iÑ Q”CèŽ@¸ÓlfÔTVÖS^¹l Ï>Ë$‹…Dµî“eºŠ‹É7¯§ÌSßÀÒ÷>!k¢¦C±§µ‘SfOï½óÇbÔT×—/2.ñP]_ €##7þ{C¬wÞWi}ðvEÇ @ @ _Qœ©©ý–}žƒÊú„%FŸr%3ÒTW×§,Œ 5hE¯bƒŒ*"ÇñÒQWö–Tý Až«QkbXO¹‹×þråŽ0[_º“+\†”±˜¦ÛÄà ';Ÿ»Žy¿ŠpÓxiR2ž•Ïñó¾Ã·xŸwoƒì|ƒ¿¾ÒÊŒ[~†æÑWû±iûü7\~óûLzà*/*&¶öïÜ|õ Ü”ÿ ¯^]ÈïR<ûýoñHìǼýÎíŒ7ŸX}{ä~Û)+ÞkåŠî;»_8—Y¿ÇKK`šõD¸'ì%B7ñn>zè F8bÔ.|ˆ«®¿’Ÿ-å©sÒûJœè÷’»þu6sþ4ÿ~ú+¦$‰9A ø:c4[1[’éls“âtZ8•ªO“‰Ä"hÕñEÀÓ¨%ÊJ’Yõڳ̽é®îé_¥¢øê«Ù}ç”›L 9-0Ãj僛ofþK/‘œ™ €}òd n¿M÷ßO™Ñˆ^5týŒHLBGû¶¶n}ˆ×_z¼³Ï¥tö\l©HûŒI©“RÉ,œÔ}'ŒE øZ uyél­C–cD…P4‚J­AŽEÑhu4ZìINŒ;ƤTÔÚÃG T…6w#›>z‡º…‘]×Ì©¨±¡ih¯±°=#ïæ›±î°½±‘5<Â$‹…D>¥×…B”,X€´ßXðü¿É-™€6Ñ#ÑŠÊÇè)ÛÓ°»ÃŽÙl“Š@Zkb§ÍíÅ–úÕIét³¦bÕm!"’{zKÓpêº'j9ØÁ–ŠZ*ZD5F²òs˜˜oÅôU̬Äû—;Ù¾¢ŠXêy|¿œæÇßÅú³'ÉÈQ(@ @ ‡§ºªŠ¼aÃ\¿¾¾™A½!P«ûFèˆD•CŠ“ F:ƒ"ÂO"‰F£ƒª/'(ÚI"°¿‰Æ÷O¾ò¾ÿÌÙ¼¸h'wOŸˆåÿ³wßñQ”ùÇ?³}“M6½wHè¡HïAõÔ³{ö~z§ÞùóÎÓ³‹ÞéYî<ËŠØQEéH‘ÞB)$¤÷í;ûû#J lè÷ýz­²³ÏÌ|ç™–™ùÎóÈêâ¬7ÿµõ$Üÿ wOJÇDNº‡—žYÇ„¿¼ÃÆžcTX<À§?%_sõŸ;ÛÎ6M稣Õ¹[¨Œ™Æ5— 'Õ L¸œ+z¿Á‹¹8i%ñÐSÌ¢‡/åÍ“xmÑ®=ãê¶Õz; Yz^ÉÃ=›¾wããæ²±´ÐʹDq–‹NìJþÞ­‰‡Z½‰°®#¨,^LTÈ©wÛ=5­_.¤²èjBcãˆ1‚½=zPU§óËr„kµ òzYòè£LŸ3á¤ÆØiÓpÕÔ°÷ÿ ‡ÙŒFéØL;«Oayåd¿þ¾ù÷[˜¢Ç¹ÓIèÙ‹5ì¸ãi´:­ÑZ£ ‹ëî—X¶zöo^Ïžï¾Æ¶r5©ª–©ª“Ò9/ä¹|>öØíD\{-Ñ'6¯+/çë{ï¥OQÑƒßæWæñà6ŒÈaÇí݈4|º_æQZUFæàL Ʀ¸·mÝÊ9ƒÊÁDˆ3LHD(:­×}ÆÇêsUóóæÊB“™Ü/³»–]Û÷³b»Ž‰}à ÂAöŽýìUb52 ³½„MÛö±Vßщ&´gÙºñ•­§f„?ò-ñ½CQ4B^»L6Z!„B!„ÂÏ‚tÜx¥\s‹3˾¼\R“z £¦¦¢ÝÓhOÒ!@||§ô4J¯;ñÃ%I:ô?¿·xX»™ç΋äþÂz0uaÊÝOñâgÒ=Hƒkç?™4õ=f|ö·kßàüË¿$cLËÿ»€­µ a}.çÿþý · å¤^·W_ÁQ ²j…øE¨w©huš#Ž ¢{#®þv•¸Ò†‡ñ^çILGCÜð«Z¿4“W™Šiñ“<³» W=Õ£åd4µ–ͯÞÁ 'óøW/03é×pD²³åÙ‰ÌøìR¾\|½M@õJ9‰ÿeÎeí{§€k׫œ;åߌ[°”Þé°s‚Ï]OyÁ6¾~þÞvŒáÅÑ mÀ×ʹěý.¸ø=âú¸ùäÝåTFäªGaJÉ«Üý×E[Ò8÷¾×ùÏ#ˆÑëà2^}ðžžû…n]&ßÉ“/=ʬîÜÛ細ܰü®aŒ›³Kü°ŒàÙw¦ƒ#—/»ˆÿ,^Äö: ý¯æ‰·_âÆÌ`µ†íóãÎG^åû}°ôáš—>ä•ëºÛ²§c/szûß\M¡4‘ƒ¸öïÿá…kz¤öý|õì]Ü÷äçì¶’1lº=7¶;{q\†!f´¨„èDaQ dïX‡ËaÃ`jHÖKt1[ç-#Ê´j5 ƒú‡±ì?Ï1ýÁgÐhµ( }ÿügÖ]{-ý}>´~JL5¨Ú±ƒoy„iÿ;Z}ù8ùòËq“ýñǤšLÚ­ða&E¡zº{|T®ÙDöêõlÐú:„„þIê{¡1ñŒþkÙÉé°QY\DÞæõؼûêµ$xúª ‘êYéœíÊãó‘ãpzà ¤]sMÓp§“/¾HÜþý$û©ÅK¯ÏÇ~Ueð=÷4»U•ÿñ:É]û¢Óú'-§¼¾‚«&4-OUU6›ÈÈH9˜q:œtØ%-윜vëö¶~Üðªm»ªh­œ³ªŠ"o½“£Ôª  '-¹ŠœU”9¢Ð¹ªÙ[£'µo4V%8–^É•,+¨¢<:žPmÇÆ×xYãlýÅa§Ûœ¸œºgûŸx§l™BÕ”×H·‡‚g¾!èÞ×O6µkz.z¨eáS¯#ÊI|ŸÄ'ñI|ŸÄ'ñI|ŸÄwvÄ'„¢sN:¨«ª„NêÑC'Uöð{‹‡¦$.znOI»g]wÓK üø¯Ý[·ýàN "žá?ýƒ>aE|tÇ…üéÁyL\x ÝÛÝ`‹íóžf¾}ÏžÛE…ø…8oj4¯>ý¯÷~Šßô ÁQ°…E¯Íe[…‹‡ÚÒá_P·“šŽ>eO?µˆq—]Å€—¬ŒúÛ7ÜØ·¥´C7ùŸÞÇ¥æsÙßqSïÀÎÊ8Í̤OžIü?°4çwôîi¤fÇW|—eŽOÙT2ƒ¸h7û~ü˜}1òlw äuÔ9¡Š#8é IDAT`Üó;ð*IÌ~ý ¦¶9ù³mçGñJ.ù'ß|‹îâü[o¢ðo±´ø}´?üóo˜·/ÆCÝsxíªKyJ¹•oû’!¦½|ðÇ«¸i–“ПgT+Ë=æ¥íìм«eû–çøØ§Á:àzžxê¿ô ÞÇ;7ÌäÏ¿ŸÏø/®#1ën»ïSÿ²‚ÂÙhóVñÅO…Tººxôy,çÜÌ;·}Ì9qn¶¾};³ï¿‘ŒþKø}_ßÿñ®[:œg—p~²›=_>ÁÕØyh…m㵫.åÎÅå@%D'KHëEÞÞ­tí=cP$ («YCDð©ÿœšÀÞ}›ÉZý#ÝFŽ 0)‰Äßþ–‚7Þ ÙhôÛ²ô `åªU¬{ç_s šC gÝî¾›,“‰œ÷ß'­“’´ŠB„O!=>*Vn¤hÅ:~Òª”jÀ’Ù›ðôî„%¥Ñ„%$£9^FÓ”MâSU¼^ª×KUÙAœõõ”ädQUX@UN6µ7îSˆñj„†0ôšlØx}çó±×áÀ|É%Í’V½ú*¾Å‹égñoû¿.ñ¿ý-ññö¯\MQAýö÷Ë<Ê«+HížJHxSFîÖÍ[èÙ«§D„8õ7é@¯õvZ9}T2DÛ«*§bs8ñjŒ˜t^|µµ84&"}h5*ŠÁÁfô¹µØU/Q†ÎY³±-wÕ–Ëõ¹›žÏİ뉅„êZÙ—¿- 3hŽ3®Úê|U4?Å×å$>‰Oâ“ø$>‰Oâ“ø$>‰Oâ;Sâk_ãIB!:NéR"ã#Q5¾v—@QaÁIͳ͉‡Š^‡Ï}üÄ7‹FC*ÙìídZ<ôùZؘô¡¤õÌ .Ô C®ã‰§W0âwo²¬à|f]ÖœÈè‹.`Tw3ÃÔÙýùÛ#;)®§I&^J—<ÆUlgÔóK¸(E/+Vˆ_ˆáÄÛ¦{¸oR ·ÛsW†5ãÑEØÖ䊓˜Ž—âErÑkòÜ÷,½.û²W¸÷¶ ¹€/ùâ >Á)0¤k_º—òíWë¹oìyÄüJÒñÍé“™ÿ>^šÃM=عp9ÆKáò ðù–r¦Ž­`Ùü¢/z†îÇ›€¿Î !Œzze÷e³nÁsÜÿÀdf;—0ÿ¶^øë\bNdÔùÉŒ7ÃäKè¿““FÑ#Ê cg2Üú=;ÖQm{‡7¶¤rï·p^†ˆä¦¿=Á’á÷óÚ÷3²ûI.·9‘Q3Îgø¡iNŸÝ›gžÚNQ=¤FirR´?—rWz÷šÂõ½N0À.L¿¾Kã×Q—ßĘ—ïaWI=¾Â¼ö¹‹™¯=ΕçD¢™ºnhH<¬ÞذlwÊaJˆNHYÑ~4ÚöøB‚¬èMFJKK𠝬©&4ØzÚëÆS[ÆÏ96âã 7øp¸¼ø´FôG,¦¢Õ¡õÙpx|ð+y5M!„B!„Bü2DÆ7ô"d £º¤m]-Û<Ž“N:„v4¬x¢¤C8ô@¢¼ZÖ`'ðxê·¿ÁM×¼…î–ÿòÊUé˜d• ñËÊù~Ên›ŸÏ‡Ï¶7gEb‰H·HmÇMǾƒ÷ÿ²óóø÷=ãH¶†Ó}ú£¼ñÒ ޚÊâ÷‚2Ç›ïÜŒáík¹ö•MÔú~%ëʜΤYqäÏ_ʾò]|ý£ÊðßÎæª‘Z~úbŹ+˜¿/†™çv£-5žÜ9áðÈ&Bâz1éöòÞŸÒØòö§ìªï s‰VA êáõ¬ÑaÔ*xUöŠ\ªMÉôˆ67I¡G„JIQ .¿,·Q‡¢zñù@—| o~õ c²þÑádÎ~’¯rê9þfè¤hÅkÜ6!@EA‰Î¼}nTÕ‡£<›|O=â‚ûhôð² !:ŸÁhÆb pÿ®¦Ó\h)#¨¨uùe1F¢²þóyÃôÁÁ¤ß|3ù‡_—GŒ "û¹çXÿ¿ÿ5Q5ºÜx#†+®`§Í†ã4¿”¦SQHVtôCÏXŸó|F.ð¹Ømd¶ÛÀeN—¹Œ\æ2r‰»aøE^ç©Fƪzú£'MÑcQ4֊㉸|>vØl„þîwÍ’¶,X@Á¿þŘ  ¿wgm·“ùðÃèŽhEqÅ‚Ïp»„†ø§ äòê ’3’‰Ž‹n¶cûÒÒÒ0¥m|!NÆÉ&F‡Ç5ÿËõPÒá¦M?·yUµÕÇ$g@Ò¡Wu +7PagXš¥¡Åt¥ñ?B!„B!„øñz}—–àóJ‹œRG¿.Q ÷áZJ:t¹š?Ÿ Ð5=mw´³'^ðcÎáÇÞDìšœ(kÕOEAUU´Zm›’µZ-ªª¢is '>jì¤Äc%:¨cðØö¼ÃÍÓdë„9Ì}t,ZY¯Bü’¹öÊSÏm%éŠÙdwàt•TªXÂ-Gt¬! < ³¯g‹çF-Qÿ^™Äî?]Ê=çáúU¬é“.&._}ó9K½C™Ñ» ™ ƒÕŸòÍ—±/f&çv èĘ4èM‡º®< çShÁŽ\v•Ø›þà®Îcw¹–è8+m;3*àS¡Í ¬Z¬=/âÑ6SZø=·ÞäêKþÎOµÇ–tî|‹«/{†ò ßàçÂrjr¿ä·é Qé-‘XÝ…lΫ:î¬/›âôˆIìJaî|G$ã%º˜ÜRÿ%ëFÁOR^×8,vòdB®»Ž—Ïlz`dP9/¾Èö¯¾j~ý÷»ßyÇd™ÍØÎ°ñ•C¿:EA§(èø¦áÌK?±©*Û€è[n!åÊ+›ý¶ù“OØùÔSŒ ÂßíÈç¹\O›Fh¿~ÃÊò øê½ù¤uíç·ù”0áü‰Mç^¯—ù¤ué"!ü¤¬ôØ›ŒFñ÷ðŠË ;~¿~-w«î¨®=Ãk@¥¾$ï×PšÈøÌ(Bu g^‹âõà9âhŸ×ƒWÑbÔJB¢B!„Bq¶ryà‡UkÉÚ½M뤎~UJÊZo4Ð`hzò˜Þ¼;>“®å&ì6ç1Ã4¹@{sóe­úI||<%%%h4ÂÂÂ?á',, FCYYqqq'ž¨³Œ][³)­«¡pÃ;üéÁxÇ]Çødÿ÷5êÈ™ËmçßÅš‘¯ðõ«¿¡‹4u(Ä/’ꪣ¼`?¾û³ÆÝÈ’>òÏ[úØ‘Ó éÃÌQ¬ì^XœEy}-E›çñ×ûçâ{5ƒcZ››‰´Ë_áÃG“ùâ–«xvM%ê¯`]™ºNââøÝ<ý—wp ¾€Þ!Þ÷B»?ä¯On%zæÒÍ7ÿ-o<Êÿý÷v¨ÂVW̶Oç–¿îcÀ 3éØùç’Wq]Ïž{à9e•QY°–·þøG¾ ½„[Çĵ!EK`D$š’ŸÙ´¿„ý«¾g}iËo„Ôîúˆ×ß]INEn­•Øx+J}¶ã4Rã¬.¤L '½{W¢Õl_òK¦¯KžÈÍ“}Ì¿û÷¼¾r?ee¹lݰƒ2WóeBœæÀ`¬aÑÌÏjÓ SÒpÊjü“¨×* è©ç³¿Ü‚ÇÙtÑî¹”'$Pçç$@‹¢0Òbaûc±aîÜf¿%ÍžMÊC±+ €j¹YqJª½^v‡†’ñøãÍ’U¯—Móç³ûoc|p°ßºÓ>ÌæõR˜H÷;ïlæv:™÷ü2úŽÆ óOšcyu‰Ý“ˆOIh¶ùçMDDFl – @?‰ˆ kö==!§«šää–[Ä6èÛvoÈd :“¯P©-ÜÏÛJ!!I}" 9b± T;Nµ±¼½Ö†ÇH^¶!„B!„8S}´p kV,n–좪,úOüÕ}dbŒÂºmÙ|ñŇ””Öðßÿ½G}EÉi‰»¤ÒÎ;óÞ§¾²äŒ­Û²*ï~ð?lUeßß™÷¿V묤ÒÎÛ§P·%6¿®³Qaü¨±lÍ9È‚OçS^ÒôÂeÝË›ïÈ«o¼ÙøyïýwÙ½}tà õuv7‹—¯áÕ·þëo¼Éûï¿Çº5Ëñº'µžÚ²^N¶Žü½~O—S‰ûè}álåÕ7¿ÉniºWèr¹ÈÏÚÞ®éùtMÏ}ô¦†£°¦³Ê­“fîNF÷îÝÉÏÏ'//¬¬,öìÙsÂOVVyyyäååÑ­[·NÓFÑk“‰²?ìa¶ z’æÌ"©½y‡¿äòE9ê8œç¶Ø2–ÿíaÞΪ&ûÝ«Él*Ù—”Õ+Ä/D ‹®ïIDâ`®m7Ýý†õÞAß Ã)[Nv¼<Š EA‰žÊ»;·ð˜0EOæC«¨nëtÜ»ù×8+Öqÿb·PBùçO™{[ oíO„%˜¸áfç”7Xô ˆoËiGceàÝÿå­Ë*x|òù¼´Å~Õk[ë­L]˜8+ûÞ†]؇P€ˆ~\4ÈÌ^[*³&§Óy‡¨¾*Ö¾øú'„Ã9w¯$ó‰Oxëºî ó=z=wô¹$ “ÛÞ›Ë}a ømÏHÂÇñlÅlþ½àqƆ·­µ“¨wsûà]ÜÛ7šÔógS}Ëã)ž2¾ÿÛ$º„a‰èÉõßdð‡=ÊȰc˸…'¯ å¿Ó ?‡{ׄ2(Õ‚Ûëm<¼ü9/O*àù]ˆŒìÁe/®¦1ïñв !NŸäŒ¾äìÀãnJ4L2›¼Rÿo£ÍÄG:Øùãâ¦C[B=zˆl—Ïç×e ÖhDÞ /°þ½÷𺛲¦#FŒ sÎö'$ø½ÅÅ_‹—‹=aaôyæ‡ köÛúwÞ!çé§D€Ÿ»vù|ìQU2î½}pSòßÊO>£¼ÔAdxŒßæu üÓg_Ðì&ÇÞ¬½ôèÙS6!ü(5=½Ù÷¬‚†DøÜÜ–[Äv¹ÛÞ­J—Þ);{¼ž3bÙ=µ¥¬ÝU!)±!uTBZ‹Ý{J(ux°U•°i¿“à¸P¬:Ùv„B!„âL•ž–AnÑA<®¦^ejmN*ËJ(¯¶Q_]Ù8Üë…}¹ÙtMLBÑÊÅ^{E„˜¸ú²+ ‹òët·î)dþÇï•$ê_‘aAÌœ6…¾ƒÆðó¶­Íæ¥Óù¸dên¹ñn¸öZŸÀŠ[)ÊÛÛ1÷(¼°xÙ \U¸â¢éÜpÍo3á\<жSÖˉ껥:ò·ãÅÐÛÁ¯Öݼśòº¦ÞQŽlù°­ M=&º ‰º'<²›-ÔØëš sØí˜Ì§–† ÷H«'#..Ž¡C‡²cÇŠŠŠðµðàPQâââ6l±±±Ç-cìu'KvÞyÂizÜÊûn=ôíNVä6/3ýC²§þv>s |œ8¥Á̤7sð½)ëQˆ_¶(Î{7ß»'úÝHÏ;–S{Ç)NGß›—Vsó‘ÃL‰L~àßL~àßm 5æ|æfŸÔtã8ÿå­8^>Óêµ­õv<R~ó ¹¿9Þo&zݹŒšf‡÷H¦¼‘ïS9'´M¿›^fáM-Tö1ë9¢Ýçm—kY’}mÓ€Ø|´gÆ•Oä_»šZ 3Æçþ¹¹îñÏ›­-·2ˆû>Íæ¾#ÊÜ1ã÷ÍÆI¼t!y—úz óvÞ¼¶,Œ!žsÿºˆ¼¿9ðɦ5Ô›«_ùŽ«_iø^¿á Æ^´Ò´lBˆÓ'Àb%*>•¢ÜÝ$ví€%ª+!=§SZº„È`Ã)ÏCQ``ß0¾Zð"©‡a o8Ôdf>cÅ}D¢Ñè×å2i4Œ fùË/c++cØï~‡ÞÔÐm`J ^~™Ï>Ëž~ É`À¤ÑÈÆÐ §ª’ër¡™2…¡wÜîˆä?·ÃÁê×_§ò½÷LGÜ&Ís:‰½þzÂÏ9§qXi~> ç~B¯þPü”èXRYJ¯A½‰IhJdܵs‰I‰XC¬²!áGû²²:|ÙÛö7û®;#äx©**£ÄíÅ·¢.˜¡ÃÒé`"­W öù¬\Y€[k".9™¡‰fäQ”B!„Bœ¹b¢ùyƒBMU9!Qñ””W¤ÅE……ytˆÁÔÔ;pÔU×ImúõQèšCפ¿P­×iÉHMdϾ.ìÝ¿—ø” ¿÷Žgsx¨(+dƘaXÃ"mÇ$ÄDœu$Îá‘‘”—–P~°œð˜pâ)(츋Oxíè¤Cà”“Å©‰‹‹k¹ëd!„B¼”íYÇo1~HfBøGLR›V.$6¹:}þ™4p&[Þ_‚5@Å ;õ¤<«EÇèaA,~ùλ÷iLA Ý_v»ýv~>x’•+‰Òû·ïH0:(ˆu|À‚Í›™ñ⋘­ ‰cºà`z?öóç³ûý÷Iª­%T'©'Réñ­Ñt×]$ΚÕì7{u5ß<ü06068˜ŽèGà Û:z4©Gtëìv8øï_þNb×þXüÓªªªT;«¸túåÜN'{÷d1qò$Ù„ðƒÉŒËql˺v›s@;Ñ€ñl¬-½¸"Ü^-zíñ_„Öš¬d°ÒÝ£EQ8a¹³’x)/]ŠÙ¨iüžñÚe²3!„B!~qB‚L˜‚Â8p Шx|hÈÎÍ¡[rv]{²×Ñ­çÐé(­¨Á¬S ÃY§âñúX¹~ û¢z\D‡3iì8‚Â"¨µ¹Yºb¹Ù´0|`?zôêOi‹ï¿ÿ‚„˜d¶ïÙêqfaüè1„F¿1(§ËËO›¶²}ë&|ª‡ €¼ž¦VëìnV®]GNönP=¤ÄG1jøH,!á”TÚ[߉bU´­ß=´;½¬Z·ž=»w€ê%%6ŒÉ“Κ¿x\Vå`á7 ˜5y"aQ-Œ×\v^ ß.ù’©#’Ü-óˆ_4,Yµ¬íø×ÛïbЩL7í¤×M[–·M×ÕG,zI¥…_Ì%çNnlU0+¯œk¿æ’³(³Ñ®íÁhС7²m×.FFÄ 7´yTÚ¾]ü9–ÀPÈ%2ÄȘ1Óùúû…Ìš<»&˜oÙhá`ñ4Šžé© 2½ÉrÜú¾ì m_+–N—ù_ÍV‡Núô _ÿhõÆVêë¾ß°ã¨|$&÷$;{ç1qùL¡§´_´'î–¶«ã9ñ>ÁÚ-Y”ändúÔ™ Õátß}Fr˜–ñãÏÇ{húráÇÌš4ž Ä{ª'„Ç44Pq2I‡>Em[C­>õ)®,&:4ú”L¯×ã>ªùF!„BáNüøß¹pîàhj7¼Í¿_Bà´¹ŒˆU¤z„8CMDÆ&S³”n ­¦àh‚ºŒâ`ñ$Eøç%¯„(ûórØðùÿñ›†vc†ž÷ÜÆýû1¤õoښȮ¬,¾ºóNÆ=þ8áÉÉóN¼ôRÂfËŸÿLž}$ ¥õÃFnŸ<§{f&ý€¤¤f¿—íÛÇ×wßM¯òrÒéˆ#»CU) eèý÷£9"9uÉ{sqyINöÛ¼ Ë‹è5¨áQáÃvíÜEz· ‚­Á²Aá'G'Y©­«o_Ò!ø=éÐåiýäU5´ÐÑG‡”óx5( >_€z»Ú†zSQU:µœÓ¥¢hèôùJ|ŸÄ'ñI|ŸÄ'ñI|ŸÄ÷ËŠ¯#è´–’ÁÞ}èÙg ¯ŽªŠƒ ë>‡.„íÛ<Øêª‰fon6É1Ñè &À†Ïç#6ÒÊÁç 7ZXôã V­YΔ)àöiYøÝwÄi˜tÅeTÖyX¼ô¬V4Á ÔÙœ™àò‹¦£7òݪŸX½vSϽŽzáZU~X»šƒY\:} –ö”°zõ’†{‚øúûRê¹rÖ  `ùOùzñBfNŸ(-ÎÏÆ$§·| ìE?.'ÐWË•³.Dk ä`ñC]Q{Or<Ï¡R Ùù¥,_þ-MCLR—£¦¢2qx¢#¢Ù½u)3g\ŒFo¤¤âä×MkË{| ^¯UUqyTöîÏå`~ƒÇnsk‡íÙŒz˜0zß.YDÖûïÓ#=þ™ý±„„µiØ.õŽbò¸Ñ,=šæ÷W.'#ú÷&”WÕ³dÙ¸—ÇøñS[ß'C¯W7´±‰i”UÙXüã÷8?0rdk/“«'ŒakBj³an|ºhñIï§áƒ–âv©šnW:kb³é´¶Ï¦&ı{ÇZlµ•„DRZYƒ½®šƒ^‡½½ÙB~Q1!Z,!áv¼t¸Ü˜ ­7HF}eS7ÌmM:hõiÏ‘I‡ù Z,ëÓÿæ¡$ !„Bt-ضðöuý‰‰ ûi.ß¼0X­ÔŽg’„.½)>ƒÇÝÔ©Gúèë©¢áMQÚ?”Âuÿ#ëÏÃL‘‘ô~ôQ² ìpGPz˜LôÚ¿Ÿ¯¯¿ž­ŸŽêmZ¦À”¿ö·Ü®À@*<Ù €R·›Í:7ÝD¿gž!0%åPR¦êõ²ýË/Yz×] ª®&Ãdê¤C»ª²;0ž=„!,¬qøÚ¯¾féß“Ö5ÓórÚq(&LoºUWWÇî]»HÏH— BˆT[Wߦr×)ŸÝ-¯(ò9ú£Ñ´þQ¥ÓË)§i¾ŸÄ'ñI|ŸÄ'ñI|ŸÄ'ñ]ñ>’ãb©ªwa¯«¦¼ºN‚B @g²RR\ˆÝ顼¬Ôä´Æd2½NCZr2ÖPÌzÒ»t£ª¾Õ릸¢·­Œ!‡`´FT\*{rö tZ…®©©‡„b6HOË ÖîÄë=6¦¦Þɼ½Œ2„°¨X =¡¡ah´ ‰QÅå5ÔV`äa…„d11bð j\ZŠ ó •ùµkk«¥¸¢–ê²|FNPH(fi)©htúSO!§ ”åË1yäã$¶ìd×ÍÉl†,Xôÿzëßüç¿o³ýçœ;fQ ©mžF{¶€ø(+W]z cÇKQ…ƒw?šÏÒï¾Æã´·Z·z†¸èXLf#)IÉ(G­+VCDX8z½ž˜È†E^q9¶ÚJ¿íuÂCÃÐ ÄF…0|Ȳó⨯ñÛö9mîʸ³Ëù|´««e–;Ü5rËÔN/§ª %>‰Oâ“ø$>‰Oâ“ø$>‰Oâ“øZ.wzrDBƒЙ­”q ^KLx:ƒ )É]Ù³zk2:ÕAHXÄ §£Õhñj®ÞîpSUãà­¹5+Ó51ì¸ãjÝ×<Þ]V§Ëƒ‚—€Ë ®‘Ýèµ ¦€¦{Â&£ƒ)›Ý†5´åùµkkw}mz-è í»×úx E%¥˜t>ÂãNy·uÝœÌ]nÎÇ…S'—ƲŸ6SY¸ƒØØ|§oKÛCÓ|2ÒÉHKboîA¾[ºˆ°­ŒêqRëäD,fTE‹Çíê°}0Ø€Š·Ë ÿt™qªûE{ã¶;tmÞç[‹M¯SHKÍ`WÎF’»öå`Q.“õÇ©-&'wé–8uå$&ö=¥í¬#ØWqÂߺuëÖøïK0¶ºcMuÊ¡äÆÖ’çȤöðØÜèô!„B!įQ\J6¯þ†ºê ,Ö†‹×ø¾ÓØœ³ŽÊº„Züs½nÕ3´ƒ¯ž¹—™zC@C¢WòÅ£:ä¼öé”èeÑh˜ÄŽ/¿ä“ ñ‡?xÎ9(‡͉‰ôæ*ׯ'ëÕW1ïÙC‚ÑHÀ¯ ûe›ªrÀéÄÑ«é7ßL£ ‹ IDAThÿþǔٿv-kçÌ!~ÿ~&Ó‘i™E.Á3g?mZã0§ÍÆK× ÓdäÒ¢jö[Ieû^ìÓëµx} ¶ú:‚Ž“Vc2èp{}8í6tæ†äD‡ÓËa#0 °ÕĤ–bõ¶a\‡ËƒÓaCgnûËð­§28³;Ë·jùî‡Åœ;ez Ýú¶/õêT–·%Šâcp¿Þ,(ÌeÓÏk9gðh|Šrè^¶‚Úaý‰ûHKŒecd,§ƒÐ“\''RS[/z£é¤ê»-jëmàó ÕëuËÛZ}ùZvªûE{ã6è4'ܮʪíŠ |¤$ij{ÇOäç ÷9°†…ÓE dÃÚE‚󱚵ZÃÎÚãîÑI‡a¡T”U¶½ÕQdÖJÒ¡B!„â×.±K²¶®n|[SQ4¤ ÿ µF<^ÿÝHŠ5‘Z²ÿ¼ˆÇÝÔÍ@òìÙèÎ?ŸýNg‡-£èÀðŠ VÜ|3ßÿýï8jš_”†È 7Þ üÁÉJL$ËnÇÖa7rN󹪒íp°3:šˆGaÀË/“t訩aùœ9¬½ývÒÏlîФÃýN'êyçÑóÞ{‡¹ìvÞòY,ÖDbSý6/UU)©-á‚Ë/læóùøiÍZ(!:Pdtd›ÊtMŽN:°W¹ZL:¯§Mã¦×)Œ>Œ §žukW œà~¯Ùd¢Þᦾ¶–Å%¸ö[ÞÖ˜FÅÏ{r)-Ê=4L‡O£gî>.™}5‰ˆŠióôŒz8oÂV®]Ë{ó?ŸŠQïcÆäÉ´7ÝL«õ1aÄ0–¯ÕðÁç_ƒê%1& “±áÞ¯^çŽÇŠ5kx÷£OÀç%-1†s'ž‡Æh›ý¤cõzaùºõ$„Hï–yL+qF½Ò0îš5ÌûôKð©¤Å‡“Cp€™øÄ®|òí÷$F1|ä´6w¤@³–)ã'ñé—ŸlYGÏ~Cމ!!&”ÐÈÞýøSLz“ÆM;éåõ‡Ä˜02z ä‹ÅßqÙEa gÈ á¬Y½œ·c 4Ÿ‚Fg8Ôª_ûî(@u›/¾]ŠÛå@§…„ØXΟ0ŽÐ˜D€6Õí ïÑx|,ûi uKW¢ÓÀ€>Ýé×o¾C÷~®ïË.¼Žjá¯5&ƒ;sY¸t%Zžé© <ŸFƒÅ¬m±¾4'ˆ!!&ì˜a§²_´7n£æÄÛUp€©Ù¾pþ´™-Çè´Ð5­ë×,&-y0*`ÒǽÅ$&¦6î ^¯ÂG LÓ¦ÎÂw=ÑitxÔ†¤äòÊ”qãÆµØ¤†ÖlÀk÷¿ßßÿ½œ …â,TQQAXX˜,¯ú;Kåææ¶{›ÍFtt´Tž~d·Õ²míbú<ÞÐpsÀYÏÖù÷“j.ÇbößE¦Ûë㛊Iw;ý§ÍjºQWÇÊ›o&6?Ÿ8ƒ¡Ã—¹ÒëeC}=ÊС ¹åbzô8¦ŒOU©üùgòæÍþr%q!:¦³¨f·ÏG¹ÛM ËÌ$í·¿%´Ÿª6Kô+ÍÊâ‡'ŸÄ¸};ý ï„› ….%ii ™3}ppãð5_|É'o}HÿÁ“Ñûñ­Ë:{ÅöîüÓ=˜zRp:|þÉgœwþT,‹„ð£‹/¾¸ñß:4xZx4âv‚¾“{?þxî+m8oiÑk½§\ÎçªfÝOû( MfDz0fw-»¶ï'GŸÈľáÎ/t×–±vS.¹Ž@ú Íh5ñÐ_ñf=|,öyp­’½ï:‰ÿË_±Zø»Á©b6¶~.ôg¹z»ŠFC§ÏWâ“ø$>‰Oâ“ø$>‰Oâ“ø$¾³+¾ü’öwt+Ï:Vi¥/ÎgæÄq„DËK¿¿teU~³€Y“'%ò+täýÀÓ¡Õ3Ɖ’Uß¡×n½²…B!„¢=ÌAÄ$¦“³s}ã01´1·²û@_ç¥×* Æö/_${ݪ¦ùY, {ùeJÒÒ(t¹:|™CµZ&“±iß]y%_<ø •ùùÍÊ( açœC¿gž¡ÿÇãùÍoØËv› ·ÏwF®O/Pêv³ÃfcKh(šÛo§ï»ï2pÎB23“ ÿ¿<7—o}”﮸‚Ì}ûÜ)I‡Ån7üüóÍ’³Ö­gÁ›ïÑ£ïH¿&ªªJNÑ>.¾æÒƤC€ë7нgI:¢ƒyZi¡³“;›³¦’"¯…ž©„´Cè–jE©®¤Ò RŸÍµÔšƒ Ðæ€ºè.hÕ <U6`!„B!„'AÃÎì"ƒXÃ%¹Sqò"ãÂÛTÔJKʈŒŠhùp¥zࣕÊB!„BˆöJìÚ‡-«Qr ‡¨ø4¬ }°v?—‚â¥$„›ü6¯ðPc‡G²ê£ ¦k†°0?ÿ  é´KêÃ-}þy G´Fœ·}oÿý%ºtFP Õ¯óÌ/)`È„¡¤uïÒ8ì@ÁŠ‹‹6b¸„8ìÚ¶ƒî½{¶¹|ï´ÞlËÙvV,›)"… Æ€»ñ¥i§Í…GcDè0­¬ôœL¸ZÁòM§=fE£CÁƒêñÒÞn›„B!„BP=°ÐKªBqJJ ËÛT‡­%Íéñ`ÔéŽ3qǶHáö¸d !„B!~õÒzbdž¥„E%4v¹ÜuÔµüüÑn‚lÅXü×ú\L„‘Á½\,~ù^.|ô?ED ɇýy„m/¼€²m±z}‡/·È0™èb2±wÑ"¾ýì3ÂÏ=—ž\@|¿~hˆAk6:p ¡âSUª6o¦zûvömÞŒ'+ Cy9­–@†`­¢ø=^·Ï‡Ýë¥ÌëÅæõb7›±œs!}úÐmÐ ,ééÍ’ äu»)ܶÍóæQûÝwt7›؉ ‡\.ÊÒÒ|TÒaIn.ó^ü' iˆñë<ë6T³ñÓ&6Ý;p:Y»z cÆ•_ˆ3D÷Þ=‰ ‹¥¤¢¨Må—t@­ÍvÆ/«§¶ŒŸslÄÇnÐA0`¯:3bTŒV4НËèeB!„B!„í¢âACçuíá—9/é8nÒ!€^g5-„B!„øÕ³XÈŒM!gçz22Z€Ó™‚H{#;?ûýR´èµþkñ(!ÊÀ°L/_üí&Ýõ ‘É© qtíÊ9O<ÁÏ>ŠkÓ&’Óÿ¦èf2ÑÕdâà²elX¼˜¥áá ¼õV’&(* ŸÏ‡r(™PÑhíߟÐþýI¹òJT§“ÚÝ»©Þ½›ò;ÉÞ¶ ME:»“V‹AQÐ+ MãªNQšµ#åôùp«*^ ÎëÅ x «3™0¤¥aIH 43“„=LKklÉðDìUUì^²„]Œ>;›L³™¨NN8Ès¹¨îÙ“ùK³¤Ãâýûyþ®ILHTDœ_çét9É)ÞÇÍý®YË?oØHz· ÂÃÃeç¢ÙÝvÌzó okÒቜùI‡>\Õ%¬þ¹€ kãÒ,œ±w&CÒ±ÆÔRñÓV¡×+² !„B!„â„"BL\}ÙR¿bz½·ÛÙø½#“UÕFÓ¼·.¬‚³Gaa!»ví¢°°UUOXNQéÞ½;111RqB!„BœÁ’3ú²qÅWÔV•ÒÐ aHb?â‡]CáöwHŽ4ûu~)qfÀί?Æø›'<)¹áâ4$„O>ÉöçŸ'ûÛoéb2uZhøC]0WÚíìûÛßXçt9q"=fÌ ®OLÁÁÇŒ§1±ffbÍÌlºðu»qaÏÏÇUU…³¼œ:›’Ü\T§¯Ë…êvãµÛÇ LL}` ¦˜‚âã1FFbŠÅÝæåpÔÖR°q#{¾ý–¢o¾!Íhd”ÑHpp0§#u$Ûဠpûí##‡íÝËsw=HZÏDGÆû}¾yÅyŒ6ިĦ„ƼÜ@muZþ,çò¨‡ÿ;w¾ŸÄ'ñI|ŸÄ'ñI|ŸÄ'ñý²âBѱ“5P;ö¸|tÒ!‘x˜›¿äÄÔSžI­½Ž ³¥ñ»êu¢ÑeMŸ¢¢¢"¶lÙÂðáà >η£UWWóÈŸcåÚŸP½^6ý´F*Q!„Bˆ3F«£{¿QìÙ²’Þƒ'b06$ˆ$3“mE»8X¹ž˜Pÿ^S5$VóíË2õþ±F7¼°¤³XèýÀd…„°çÃI60j4V ¦Õ@߀J׬aÏ?²Ôå"vÊRÇŒ!ºW/BââÐhŸ¼¢Ñë HJ" )©ÃãU½^jŠ‹)ظ‘‚5k(úúkâôzº  =moú9U•§“ Ë/'ãæ››µÎX”Ã{ϾLr!’tXT~´~];u\ã0»ÝÎê•«˜8e’ìðBœáj=Õm*×RÒ¡YoÂîv4Ýü¬×¶-YÑ?åTj ÷³|{5¦¤4&§‡ 9~y¦¡M\­Ö‹^ëë¤øÕ—ñˆó¬{¥ó>Â7å9Ògö:¢ÅCµy¹–Ù_åTµá~ugÏWâ“ø$>‰Oâ“ø$>‰Oâ“ø$¾³-¾¶¿”&„¢'éЧբx;ö8Ýø¤¥¤Ã0Kumš`ÙBRd,y¥ Ý´HÒ¡ìÞ½›AƒˆÇãiµüëoý›e+W!ÝX !„BqF³XÈKîÎŽ Ké;ì¼Æ®…{L¹—ÿ»›@{9Afÿ¦±¥Ä™1œ|ö¿eìÍ#©ï9hÍfºßy'û""Èzÿ}Òu[ÜÙt@¬^O¬^¨XµŠüeËXït⋌$~Ì’‡%,-àèhtÐ=´OU©ÈÍ¥tï^ò×®¥lÃ<ùùÄëõt5z“ s¨*;\.⮽–®7ÜÐì·ÜmÛxÿ¹™á÷î•jmµØS/™Ö8Ìëõ²bÙ 2ûõ•.–…8 Ø«m.b ¡ªºêØi¸gIJxjKY»«CR:c3,˜Î†^‹+wQ]dÁzE¦t³,„B!„B!NÉÉ$†‡RQSÙæòmz&ÒÖ¤ÃÃ' ÿÉÏÏgèС¸ÝîVË>÷Ò>œÿ1¼ñê?¥…B!„8ÃÅ$¥SSYœí$té €Vo¢Û”{ÙûÍS¤kê0µ~gl„‘±C|¬zçqì3ï¡Ûˆ±¿¥^q‰‰ìyé%RËʰêN_JˆÒë‰Òëéo6ãq»)\¸ÜÏ>c½ÇC½×‹9#ƒ¸AƒIJ"$) sh(A‘‘èз#)Ñçõb«®Æ^UE]YUyyTæåQ¼q#µÛ·¬Ó¡Ó«×sŽÁ€.$Ͳ Ux<äEDqë­ÄŒßì·u ¿æƒWÞ¢×€‰‡ú}ÞN·“Üò<®»ç,ÁA÷m݆Él¢Gϲ“ ñ s¼¤Ã3‡—ª¢2JÜ^|ûwññþ#O*Á –N—€3/±ÏçªEńΠ• L!„B!„Btºã%ºÜ úãwãÜø|$<0¬]3rÙìÏÍ—ï$>ŸÇÓâÇívóÔ³Ï5&†…†2{æE¤¥¦3=çö9ŒLÎs[ìÇ_¿;ÿɘÔÿÞ^Þš=,šs ãSL(ºžÜ»¬RVª¿4žJ6½{7ÒÌ(ŠB@Úh®yö;8Ûy,hÃtŽ=HÖ²kÞ}LÎE£(h#ûpÑc É;Ñ8¿äò.ܰ¸´qZ¹š'Æ„`úw6ÖŸYUÛ®c¨/—¹ç…£(Êñ?ú>ü~eu»æïïs@ÝžøóÅ}±ŠK7”ë^^Mé õõRþÓkÜvn&±††qLiSxèã,ê}gæ.aßòÓü[oBˆ_¾äŒ~ÌÏÂa«m“AÌ€‹É*ªGUýЋ‹21öçþ‰-ß~Þì·¨Q£ð dEF’çru¤ @ŠÁÀÀ@¦Y­Ì cBI ‘Ÿ}†ýÅÙq×]¬ºê*>ž4‰÷‡ ãµ~ýxsÜ8þ3cï_~9ï̚Ż_Ì{—\»—\Â;3gòöÔ©¼:`oÈ'“&ñÃìÙl¿ãê^x¨O?eâÁƒ\ÎT«•!¤ ޼¨>Íö;HOçœ9sš%ª^/k¾øŠþù_2úŒî¤C×CV~ÓfO'1­©‹ëƒEÙ›µ—AƒÉÎ-ÄiRVVvj÷£ZévØl ŸŸÏ˾÷¦Ôç!VUû†¹·òôëi='àqbø0‹÷—SW[ÂÖŽeûãWóÐâbŽÿhS‹Vç%xøødW ÕU,{0’nšÍ_W -­xÉùï$’ûÿ‰µµr<Bœ<£9îýǰmÝw¸œM‰Ëq™S ɼŒý%“Ìj`Ú„ –Íaåû¯ãv4u“˜Èˆ·Þ‚‹.b«Í†]UϨ:Shh1P£!Ù` ÙÌh‹…IAA\Â…aaÌŽˆ`¦VË ›)¥¥L­®æ¼ª*έ¬ä¼ÊJ¦ÕÔ0Ãåâ²°0. gFh(çZ­Œ ¢ŸÙL²Á€éÐ|δö±ìªÊ»÷˜1 záÌqM](«Ÿ¾ò*Ÿÿw}N"<<ºCbØ0—!“‡3pdS‚¡ÓédõÊUŒ?“É$;·§IDDÄI[q ÅÛòQÏ^wìUšÝÛ”¨^Y#·™Ïƒç`n%IZ<B!„B!„§f_NN‡Ï£Ùë³6›í¤'TZÓÔjT—´T”ã<ŽQ½ò¶î©8ܲá艓=q2O=ûn·—ËÅ“Ï<Ë— ¿øöî;¼Š*}àøwæö’ä¦7H!Ò{‘ÞQ\ûZÀÛ6{ÅÕÕ]Û²»vײ*ë®þlkWPP"%z !½'·—ùý‘H ”Päýýnðü¡ö¬_qï]1(5 ›=–ncg06ÉG~©“ÖÒYýnâ‘û/eHçXÂ#’tåÜYÄ¢Å;¨“ âgÄE—žCØ´òK¼î¦„ŽNC.Á;„}åžvÙ®Õ¬cÜÐÜ;Þå‹ÌÃ]Ó4B®!<œ¬›o&õþûÙæpP žm©RŸ,h ~”D`náÇÔ°ÜÐPþL¹r-óûÙEò=÷Ð÷á‡ÑÛíMVUWóò¼Ù¸v'½ûÃnµ·K %%tÌJaüù_óûý|¹ðKzžÓ“èc|NqêE%7OVvD…ýqX•ïÛÆësØò1O¸ {„´ˆB!„B!„h›ä)-¾žÖ¹s»o[/>­þ¿Õj=| ÉÉm®Xka¼"U’Þ>ûG7ÜßOŸ}±¿?õ þu>_,ú€ððpžùÇßHJLÀï?Â8_µë™?%¶~êMK&ßý.9µõ}tà´šÞ짘Ðk"7ýöz…+(ŠJt¯Ëyfu%Ò£Bˆýœ¾:½zÀz•øžcHr®#§Äß¶J‚Þc¨G%iØ• q.àŽyo°®¤‚-o>Â[Ó¹äüîö{¨–õÏÏá×ï¥ò§wþάãYÐSn6üu8F>ɦýy+Õ˹ó+/ÿ‚†Ó·/çyƦä¡5uízNÐüNÊv¯äß÷ÞÌkžQÌ9·mNýtWWáqvZê¹àÎW™Þws¯<—XEA7ÙOÈ[ó&“ ((aéLy`1E Ó;ûоåÉ«“lTP ]&ÝÉ;9u„àû]ÉÒß÷ ËÕ_±÷§‡® „à¹ðìá“fÒ3LAQtÄö›Í‹jêÿJ Õýß[§WÂz1û_9-ìéÙÁ›7kˆMA7ˆ_¿šMíþ?·Ü¹|úÐ ºYÅN×açÒ£Ë8žÊö6î›âÌâˆN ":½;6p=e ûøßP¢%SZím—íêT…Q£éhÛÂ]OÑöœfË“&O¦ï“O’Ÿ‘Áç´ýð¬¹6Ô4¶ºÝ”öïOÿ§ž"yÚ´fËó¶äðì÷Q[£Ò#k0z]û¸•‹Èã’W^bnOgǽ g‘œÿ>_ïª?ˆ×lþ”ÅyP¶ê~*Ñ»—¾Çî„_0­›½Ï U,»k ‡på³…Œºýv¦¶9ùÓEö[ó®{$s'§ÓÚZžâm”t»ÅùE¬}4Å·ÏåUýoøº¸Œ­¯Œcçs÷òÚF¸7ñÂñhá4^ÞTBùž%Üûs/¸%e¡#ìw$£žÌfÇkãIé35Zí2nL׃¦Ñï^\SDeáræ%-äw¼ËN?xspÓ­tÏ2 jj(^ñ#”*}-ìHPÁÞÿ:¬+ ²bßÜÀg·]Ëóë] •±äžÌy/‰{¿Ë§¢t æv%àlè†}BœyÒ{ Âçu±o÷–Æ×ôæ0zÍ|€=uT»í²]Ež]ÂÝßÏ7ÿ¼“‹>!pÀCMÖŽüì³DþîwlŒ¤,Î:‰Êü~6Y­DÝt?£Q IDATý{¬ÙÔÊ?|ø1óo¾{Dg:¥f¡(íóN­³†r%s~ V{ÓCŒkW¯Áãñ2`àé,!„B!„B!„â4b2·0(¡æ;æú;ßÉö½y‡]¹º…©™¤—ÚÉþ;¥¦ò÷Çk6B¥ÝfãÉ¿ý•øØX|>_cYMÓZ¯ÐIç¬L’"#é8x~|¡…/óm~ £–X:rî̌얀#®/S/p ÅNé!D½a÷¾ÃkW»yjB'"íûÎáÅõô6¢mmM&sC=AŠÞÉÌß­dðü%äV•±å£›±?ÿ f<¶ššV·¥ÇÑ¥7]M{YôéjJÏ¢œ KÆD.HÎ㽯wᥖ-Ÿ}‡éÂû¸4l-m(.ß¾»‹ø™Séf£Ï F>¾†²}›XôÔ8¶Ü>‘‹ŸÏÆuä3"¥_=À÷e3ò‡™ÙÉp˜íÈÈéãé•O¯‰Ò79¾FÒ=.šÌѳQÆæ¢:ª×.ॠiÜòÄíLÉŒ%*e(sÿògÆV¿Ç K êG(<–ý¶tdäùÓ–#aç]Ü}^6…NÐÙbˆ5{)ÌÝC¹ÏD\I\3{,Zz›ÛÒ9ïš«×#Gd #/˨ˆRrJœhßñÂG>f=ñ'~Õ?™È˜Nôê×è†zöï›âÌÔ¹ûòvn¤º¼¨é¢ÐCÖ´»Ø]ëÀh¿c# Œh`ï×ã«çþÜlêeÕ` õ¢‹èóP1dÛÜn\2úa»r…Blv¹(2„¾Ï=GÚe—¡šÎu••üûáGùì­Ïè7dq1IíK­«–bw)sþp ‘1Q¯çîÎ%ß> $&ÄiÊa•FB!„B!„Bµ°°°C^Ó·TÐçõb ³â÷[aD S3Öß«®pÕ|yÀ¯¢7Èͨã±ÔÃÉIÌôþòø¨ªÊ¼»ï">6ÇÓXVwTÓi)DtìAﲧҦ×֌¨„dªe!DkÓç}Àôyû_ð²åÙ©L¬@×X]ûÕãÞÌzËíñ¯›{c8o/¶qîíO±lΦƷ|Ü ëu=O/p3íÂÙÌNý‚·߇°³aØCK.HâÙw¿f÷%ù|iˆa¹˜©–w¹õãM§íâÝÝ ÌšÜ+p¤çŽëœ 3ãHêÁ„ß<ÇþqLyír®îA?[k+h8³_bîÕ¯ ¿á=ž¹"s›·eÀ¨ƒÐþœ|UI§PÒpWì¡ÚœJ÷xKSqG'ºÇ„ø¶°_·±ß*z“%DÓ@Ÿz!/jâ©`xüU¤^p<ò;¦vniôM/…Ë^åá?Îçµ%;’3S¹*¤á)ßI^ †Iá-ŽÚ¹ß„gè!ÛNŸaSÈþñk2û ',"€ðÄ®dÍø#ëß¹‹q~¬&µ]¶n`ÂÈx6íXÍû÷Ïfè¯î ­ÿàÆQô¬;ÒçÁ)úúk¶þë_D’d4bTdŽÈŧiú|T&&ÒåúëI;¶ù™QÓÈY±’O^ýª!Š^½ÏEUÕv‹Çíq“_UÀì?Ì!&!¶ñõ²ÒRÖ¬^ÃØñc±ÛíÒqBœ¦œÕ®Sº}ðÈ׆ÁPÛŽam)ç¯+e}Î>òª½ø‘qIôÍŒ'ƨ4.߸u¹U^Š‘È¸ÄfËÛ;>·÷ÈW^¿œÜr¾@¨á|/ñI|ŸÄ'ñI|ŸÄ'ñI|ŸÄwìå„BœùJ«Ê‰uDS[[{Ȳ&Ó“äÀ¤Ã„N)åîEo¡áGÁ ½r”E! ¡Óé§QNNJäW_ ºº·ÛÝXÞd2 …Žâ†“F;-”"ˆ39ËD!ŽÀ—ûÎßHÊõóéÞŽõx*ɯ a¶pvQ±FÇaÑöâ=ìH†:âÆ?Èÿ=SÀø.âæ_ñÜ/S0þì{ÇLÆ„_’ôìû|úE!_‡ðpÏt²¼Cá®ø¢óVv'Ìbrד9ŠŠÁl@w„D×¶\wÞl÷ ç&Fw‚Z$2…pÏ2rJÜLO¨O> Vïek¹Žø¤ˆ6¾'ÐB µu«:"²f2ïÿfrgɼvë%\y¡›Ï¾ùƒzXĻ宼d>Ñw¾Âº7z‘èÿߎ¿ƒ=–ë÷V¡õˆ?$ùpÿ¾ !Îࣶ5ŒÌÞÃØ¼úkz-Ì€5²YÓïaû¢¿’áp¶[ò¡ª@¯Œ0c|üð߻ٽf*Ã.»KXý‰Y5™Hš<™¸#ØóÎ;lùßÿèPSC´^/wœŠ}> .¿œÁ³fap8š-w×ÔòáóÿdÝ÷èÜm1ÑñíËë¢ÈYÂe×_Nr§¯×ÖÖòíÒï?a<Žé8!Î2@½^OTx5µ‡-kеíûÆQNóU³nã^*"S™Ø7‹¿–œì\V䨌ï=P¿¼<º#c{Fc Ö°cË®ÆåaêÉÙK›Îß¡“^.U•ø$>‰Oâ“ø$>‰Oâ“ø$>‰Oâ;R¹ãË+Bqú‹uD·øºN¯4ŸjÙY[ÿÔs0è?!ŽŽ¯ŸÚ©(woãk’txl’““)))AUU¢¢¢ˆŽŽ&,,ŒP(D(",,Œèèh¢££‰ŠŠBUUJJJHJ:ÌôZÞ2r6®†‚5 ¸ÿÎ÷ Ž™ÃØT¹A(„86!_åù›Yúïû¸`̵|uÎ<ž»¡7¶ö¬Çq³Îcõ·ó÷/·Spý[<|Û›øG_É „#mÍLçKŸáíy©||ÃüuEåYñ|–¹Ë~™¼•ÇZ€gÐ z: º÷/䛇ÙHü¬IdXÚoû^šÇƒ¯Ãæ}U¸êŠÙô¿?qÃûé÷ëYtoå ãÙõ&7Mÿ=+F<ÃçÏ_NºùÄÅãèws²v1ÿöù,Ü^FeþJ^¹çG^È£’8ò¸]:l1±¨%ëø)·„Üï—°úów׿¼Ã‹ÿ^ήŠ:üº“#Pœ¸Zø3Ì[]@Y(šŒn]ˆ7U“ýÕǬ-©¯_Ÿ:žë&j¼û‡;xqy.ee{ظf3e¾æû&„8³…9bÈì5Œ­ë¾Ãënšã=")‹´Ñ7±½Ê†ËÛ¾g°ØH#ÓÆÅ^÷5Ÿ<òr¾[Œ¦5e[ëívÒgϦïóÏS3q"M&Êé¼cP°ÎïÇ5u*^z‰.sæ4K: ƒl\úÏÜv¹;Êé7dòII:ÜU²›ó/ŸAçnéMç³ÚZ¾Zø%ƒ‡ –¤C!ÎRú†DóÖ’­6Ë)‰Ë[SIaÐNVZ £“ÍA×´”êJ*}MË{¦EaÔa´F6[.„B!„B!Äٮw hÍmaõ#ét'&9°¼¸@zàéÖ­yyyìÝ»—íÛ·³mÛ¶V¶oßΞ={ÈËË£{÷î­ÖiŽŒ¢ð…‰Ä‡E<ô^6 |„ÿ{êRŽ6ï°è.í  (ý؆1ƒð²ùé‘„) JüTþ½e…¢èu×÷TK÷ ñ3QÂÂk²ˆé8ˆk^ØJ·y_°úíßÒ»qîâ¶ ŽP+ÿAƲÕ(‘Œøã¼y“ƒÏnìKŒ=œ¤adˤ—Xøì ’Û2"žÁ€?¼Î+—Tð§‰Óyrƒû4j×v:†šÓAîV†þâ"bú0s …®4.˜˜A{Þ iU¬üÇåôí‰-,þXN¯?ÿWæt«ßîÁýLßýå^^Û^ÍÎ_I¦­é|“|É'o@Ö^ÜôÆ›Üõ>WeÅÕq ­¸˜½ÿ'FG·mºÐ¸áà7ƒr¸¥w½F¼ÕAeMëi;·ïÄf'!¡ùÍ’%K–H¥‚‚6oÞLQQQ³‘EéTE!))‰¬¬,¤á„'TEEQQQ²¿BÚï4æ\ógFÏ\ÈU_|Éo²LÍ–íÙ³ç¨ës¹\ÄÇÇKà qº\än¡pÏ6z›ŒÞÐôw–ífãû÷Ñ-ÆÝ¢k÷8Blß[Çê5•dŽŸCŸ©¿lœ~ù@u»v±sÁœ«Vït©×cTéÈý×ÕšFe À>½žˆ‘#érÕUØÒÒ=¶WU±ìƒXüþg$u:‡ä¤Î¨jûgÆÔ¹ëØ^°“kn½–´Ì¦¸<‹¾XD—Œ.dõÈ’Žâ4ñË_þò´Žï½7Ÿ9bPצ)ж\ ¶„e«÷áJÎ`|¦ãÇ‎ ³˜•kóZ\ÞžñE„‡±ŒÛÛ¶©ÎNd9§;Ôæ©Ø$>‰Oâ“ø$>‰Oâ“ø$>‰Oâ;{ãË+9ú©–垃Bœ8§úû@=€ÁjÀï:úé•å°I‡ééÒË'HRRÒá§NB!„ HÙ¶ÙŒ!!Ü(Í!ÄÏñº Sý¨æk¿û„~#§7&ÚbÒÈ:ÿ~¶~ö(éÔnÑ·kª]Sítî`c]ö;üçÿfدî"cè( <gïÜ™Þ<€kß>ò>úˆÍ_~IDi)ñVõìRÊ QàóQGüĉ ºà̱±‡”ó{<üôõ7,zûT5œ¾C¦cÔNJŒN“"g1¿¾õZ:tèõzùrá":uJ•¤C!NseÅ%ÄÄÇ5{­¢¶†¨°ð³¨4|Õ%ü°.ŸŠˆŒé|pR¡†¯¦ˆÕòZY.„B!„B!ÄÏNÓ6 QQWK”=ì¨ëÐGL:¬©.'<"ZZ\!„â´ãeßÒwXìëÇäAñÔ®yÛïø Û´7ž(#Š ñsµ?ùpÊEô2±1ù0<¡+Y3 ûã‡I TÖþ j ^2Òü¬ûæ 6-z‹ž“.%sè(ô¦¦­ÉÉt½áÒ.¾˜â¥KÙ½x1þ5kH2qœ%£ ú4J¿ŸB¿õœsH1ƒž£F¡·Û)ë÷xÈ^þ=Ÿ¾ñ6^B§ô>D„Gž´X«j«(¬+âš[®%±cÓpn·›/~IZZ'ÎéÝK>ŒBœæN:Ú”th0[ñ{\˜¬¼.÷Ú!œ%ù¬Ø\‚7¦#c{ÄâÐ7_^W¼o7•â‹NelÏ胖 !„B!„Bñ󓚚ƞ=»?–¤ChH<<’ãI:t8"©ªª”B!„h:pm൹×pU¾}|ofÜô&_Ü2D´Ž?gIº£…4Ö.û”~#¦5|J¯Y³ö­Û êHˆ4”x"à ŒKie ?}ùë?}>Ó¯¦Ëàs›€hŒŠ¢ãÌ™tœ9“š­[Ùûá‡ìýî;¬ååÄ DüÌ’ƒšFM(D‘χ;!¸Q£è5iá]»¶XÞïñ°ñ»e|õî‡ÔTùèØ©1Ñ'wê™Âò"0éðx´˜x¨êu„GÿE›Ûí&oO™Ýš¦WÞŸt˜”Ú‘‚=yÒ“B!„'”žä)³$ïqi !ÎBɳÐløa!Ýú‹ÕîÀÏ +ŸeãGÆS’C§8ËI‹)6ÒÈ„qTÔúX·ø ²¿ü/]†Oæð±X#ÍʆwíJÏ;î tóÍToÚDþ石oíZL……Dét„ëõXÎÀé˜}šFU @¹ß;1‘èÁƒI3†¨>}P -BYWYÉÖU«ùèµÿÂB‡”n¤§ÇŸôØwæb·sýs°‡7=áXSSÃ’/Ó=«ݺw—Ÿ?ç¿.õ~–UgNÒ!jKY™S1%ƒÑ™vÌJ+ËSÓ‘æÀ¬Jß !„B!„Bˆ3‹#*ªŠ¢#–;0éðDj1ñðX’,K³¤Ã9+ªÿ¯éÌÒóB!„BqÄwè‚NodÓª%ô4¶1ùPoãœóØõý¿Ù¶ëSRc­˜ '/«"*ÌÀ¸¡1TT×±cãK|ðÅ+$öOÏq3ˆIMCiÕÐïtb°ÙˆìۗȾ} ùýToÚDéÊ•ìøé'üëצӭצÓa8 GCôk5Á •ÕÁ †î݉1‚.ѽ{«É†E»vóýÇŸòÓk0Ycèœ1 »=ü¤ïC0dwa.]úe0ãW3Ñ뛾.¨®®fñ—‹é? ?©RåC'ÄiLUŒ„4ßQ¯W]UM„# Õ¤Ã3KªÂ2JüA´ÜÞË=`‘>œ!C;±ùîm|´ûàå¤[yC !„B!„BˆÓZ[’[SYREdœã¸¶¯?Y;Z][Ûø%葞B!„Bˆ$&!£ÉÌæÕßqÎ"¢ê/øL62FÏ%/<Žmëß#=*€Õtr‡tŠŠ00¨—ƒ¾=4¶í^Ì’ù`ˆîIÖØ™tê7³=¬YyÕ`hLBpP“CùºuìÛ¾ÿÎXœNz=f›ªžÔ©™šFm0ˆ3¬ÿW¯GML$nøp’¤{F¦˜˜ÃÖQWYÉŽµëøþ³…ìÝ]Lt|*Ý{è?5É>.¯‹Ü’=ô9€iMo¶l_þ>–~ý cÆ%1)Q>lBœæŽ%éhL:loþ îˆe‚¡¶§_NGDz/.L¯/§SC‡iXª( ÍÊùƒí_·7tÄ2^¿œÜr¾@¨á!‰Oâ“ø$>‰Oâ“ø$>‰Oâ“ø$¾c/'„âôdµY!îøë9bâaÈãA5:Baey‘Ñé !„B!„8 „GÆÑ­ï¹ä¬[JzÁDÆ& (*)ýga‹eËÒ’é%ܦ?éñt =º„Ñ==Œâ²Bv}ûkÞÛmiFÑ¡Go,a‡ŽôgIJÂ’”DÂØ±\.jrr¨ÎÉ¡:?Ÿ‚¼<¼¹¹¨ee›N‡IQ0¨*UEÑ4LªŠ® ɉAMC<¡>Mà áÑ4\¡îPˆ@X¦Ž‰êÙ{§Nħ§ž‘Îr䩬½.»~ZÏ_.aíòÕD%v">!þƒú žÂé¤+k+(sWpá¯/¦[ïæS(oÍÉaë–­Lš:™èèhù qIëœÁî]Ûy}«ÉˆË[Ÿi7ê©óÎm›eåd—Ó4P”SŸ¥M„Nz¹PTUâ“ø$>‰Oâ“ø$>‰Oâ“ø$>‰ïHåŽm6M!„'ÞæÍ›ÉÊÊj:RTÖbY—ÓÕòÑÝëG5µ}„#Þmj)é¤C!„B!„8ÍØ#¢è5t2Ù«SQ’Oç¬SÇeŽÄ‘܃>DDÝ.:Å[OIŒª‰±&cM‚yE«ÙýùRV¼®ÕeÝÎJ|çLìÑ-¨·Z‰êר~ýš½î«¨À]Xˆ·¢g^žŠ Ê÷î%àv㯫Ã[Y‰·¼UÓP¡¾]T• ªbŒˆ@o³¡( á]»¢( F‡STÑqq¤¤¤`ŠÅrI‚5eeänÊfÓ+ÙòÓ4ÅDbr†Œþ%½þ”¿_öíÅ­z¹ñ®‰Œ‰j|= òãÊU”—0jÌè“6šâÄ(,)!1®õÇ•³zvgó¦-‡­ãh“k*+l:ޏ¼>Ð!èkL:B!„B!„B´Ÿ“V“çh’¡!ñpÏî\RÓ:I!„B!ÄÎh²ÐcÐ8rsÖ’³î[2΂Þ`ª_f‹¢÷³÷ÇwX¿ñ2í'}êåf¤:…´d iÉüAÊš-lùl߸0Çe‘Òk8 ™=IèÒ“Í~øýŽŠÂuJÛÞYUEi^9«×²+{3»¶î%,2žè˜$zô‡áM¥|0—×ÅÎüdôíÊW^ˆÙÚôÀaMM +¾ÿ»=ŒÉS§`4åC%Ä&1.Ž’ü}ÄuHnqù‘’Åþ¤C½YGÀÄãG¸ŠG¾B!„B!„¢Ý|^ôFÓñ×ƒŠžÐQ¯§$éP!„B!~FŒ& ™½‡³wû6ü°¬c0[Ãê/M6:¸š²ÄnlYò í.â¦S³A§i$nP4ÁPNw%yÅï²ií¾.ó`‹Ï"¡k?2z#±&›í”Åëu¹¨.-¥pç.r·leïöìܼ“0G,a‘qDÇvbÐðÞèTÝiõÞ(®(¡Ê_ͬ__D¯½š-«¬¬dé’oHëœFï¾}äƒ$Ĭµ¤ÃcôièŒJ›Ê2 ÍFðx<ÒB!„B!„B´£‘t´)éÐã­Ãl²´ÞI *Ò¤³…B!„âdJÉè…-<’œußBÇôžËbÒ‡`q$²mÉ?©.ØD‡3ãé‘$§SÂmzzt¶Ó£³`HÃí«¦ äs À†Rյ̑ˆLÎ ªCQÒ°GÅb‹ŒÂÁl>®4MÃërá÷x¨­¬¤¢°ˆò‚" ÷ì¥8/ŸÝÛö`4[±;b°‡Eâptaè˜~èuºÓò½àñzØS¼—ÄŒ$.¿òJ""›OŸ¼}Û6²7e3xè“åÃ#ÄY ¢¢œ¨¨è#“Û˜tx  ª´±89ª«”™õ¤›¥-„B!„B!ZÓ%)™ûŽyýƒ“á(}¨aHE¤C!„B!„8U¢ã;b±…³mÃ÷ø<.R3û 7ÔOŸk‹N¥÷¬)Øð[×}@[ 1á§ßÔº:UÁnÖ‘™b#3ņ¦A0¤ ©¨Þ@mùZr7¹ñù‚ÔGçðz ƒìÝ™Cu[D$~¿0‡ªCÕé°†‡QšŸªÓ ¨©¨ÄçõQ]^IyizƒÁ„ÉbÃdµc ‹Äf‹ &¾ñIýÑ«:E9íßåÕ”ºJ9}çNÝl™ßïgõª©¨¨`ÌØ±D8"äC#ÄY¢-I‡-)ØWHRòá”›%êu85s.ûkËX»¥=U^üЍøt‹#¶!™2è®bãæ<¶•{ ¬tHí@ÿNáXOAÒ¤³ØÍŸ8ï|;³£OιÅSæáÊOýL™nçR¼ÌþÄÏØiv®QΘ÷±¿ÊË>ö1lŠt³r\m0Ëïã× ýŒ>Bx*}ܵJ㲉`þ"qÃm\y¸~Ójq~|»ß\‹áÂ—È˜Õ ÉÍB!„B!D{pz<ØZœáÀ¤CE ¢…š¤àôº°™¬-Ö 9QÕCg¡j1ñ°[j9{¶7{íHI‡ÑŽhʫʥ÷ZPPPÀÖ­[Ù·o¡Pëí¨ª*IIItïÞÄDaB!„BqbXíô6…Ý9kÙ¸b™}F` sÔ_‡è tè;ƒØ.ÃØºøyÊò$-ÞŠé4ªJQ@¯SÐë 1ÆDbŒ‰ÌTn_LúΚÕXö•¿>€)пO# PQì@Ms¡ê¬„B!ôz+¶ð8" â“UEAUTTµþß3‘ÛëfwA. ]¹ñæßÕlyee%_/þšŽ)™vÞtù !˨Wð´C’MНv˜ÄÂS”t¨ùªY·>Ÿ²ÈT&ö Çâ¯%';—eÙzÆ÷Ž&Ls±mãöZ’="³»”u›vóƒ>“Ñ)tÒåg-¾Ð zGùÏUG61äÓÕ>LÝí 0ƒ‚žËº+ܼÒLjI&:·öÆ©^GÉWy„Ýü.)ãQ¤ë„B!„BqU•”ላh1é`wn.i:’t´št´˜t­$œtØ’tزÂÂBÖ¯_ÏðáÃ3fÌË×ÔÔ°|ùrE!!!AP!„Bq¤uëGUlÛÖ/#2&‰NÝú5.3…ÅrÎŒû(Éù† ß¾L¢ÕM‡˜3kÎB_@Ãhm>b_ME)Žîg]_ç—îãx˜ö«éôÖ¿ÙÈŒÁ`ÍÙ›Ù½sC‡ •©•…m>ƶ;pÕTVñzk*) Ú镃ヮiìή¤ÒÙ[Én·™î=¢qu(¦(Ò# ø±Ò‹/Å‚åT­iälqså.kj5£Œ\s®…‹c4öîòðØ*?T„pk qq®eåâ8o©‡+>÷1¼«žU9>6Ôi„G¸r„•k;ªè 'À»ß»yv{€*ƒŽ ]tÔµ’´ç« ðÚJ7ÿ—¢V§Ò;ÓÌ}CMd™ÚØþµ~^üÎÍö׿½Ÿ¾¦†Q?÷3¸‹ÊÒl»4S†X™òò—}ì ©Laç,j¹‡ÙŸûÔÏym IDATœ©òÝF9•^™fnëk +äçwÿs±Ökÿ¯šUãí\šçän3ÿ™f"E­o·õ?Öqo¥‰W§™HöÕ·ÁsÛTԾʦ¯P¼ÌþÔGZ‚²ÝAléV^gÄXàå]§žûRÔÆäÔ¤ýÖ¹x£ÀȼŽJ‹I…𻂀…#)E²…B!„Bq‚9âbÐiz‚J Õ2û“†¦×P­™¡—¦o_[·neàÀØl6ÀËÛl6Hvv¶$ !„B!NüÅgt½‡NfGö*Öÿð]{Çl @QTâ»%*µ¹«ÞfÃÎoèæ%*ÌxFì›?ÂdoÕOÓ4Š÷‘â8{ú·²®ŠÝûvѽ~ñ«™ØÃÚ-//+ãÇU?b³Û;av»]>BˆãÖRÒaUGxóv_àÈãC*šÆq—SéL^_ÎQWçïš!¤C³¥0~x}Ù@ „³²Œœ*•˜ ;J@‡¯ãÛÏé®Ïzsy5BÞ _íÓqßø0þfÕøæG'~í¡ó#}ÊýܳÔGò@+ŸvÒ¡wxýkO-÷Òw¢‘FÐä¿{ôÌ›ÆSÖßüèâÑoÜt›na)Ä·Ëü­TÏmSí Ñ…xy©›Ý>Ÿ'„ ¦áó†pV‡xåkK"L<}‘‘”P7¿sñ»%ð¹ØÑl’_9ù*ÂÌÓ׿m™Æ?G‰ôj„œþWjæ‰YáèwºøÍ·µ¬NµðèÌp;œÜñ£›¥ñV{ê˾¶ÝÈݓªùçR7wù4žªç‘)nXäcäWG)T¨zLË||_j :ðYš§Ñ©‡‡'À¢†6¸ë¼phÖÞPˆ`C¸Ð¹ƒ¬Yxö"+æ XݾÙè'g¦C(„Ó½‡†ÅÁC}äFˆSÀë ¡¨4¶‹æò©øüM}ÞjûµâD–;8¾“µ]‰Oâ“ø$>‰Oâ“ø$>‰ïì‹O!Dûó{ü̆Ã&«Ã% N<ŒŠ£¢ºVzôyyy 2¿ßßæul6ÒxB!„Bˆv¡êôdöFYÑ^¶¬û–Ø„T’Òº£ªõ !«ƒŒÑs©ë9K_¥$©q,ÆÓ{âI_ „ÞØ4@0àG§3œ}Zç®coQñã¹qÞoIîÔ¡Ùò`0Hö¦l¶do¦_ÿ~dtÍ”‚?c½zôÇ?M§C ¶<5ryy)Ñѱm®ëà¤C M#½)Jû” Ô•²!×…5©#Ñ&šF¥ó×°qívvÕÐ9’i@§œ¼øÔ†$>EE§2y ™ÉÑ  0ª«×óƒìñ( 1ñÒe 7hÐ1>MåãÝž†zÊÄ&&D+€ŽÑ] ¼ž ׃BA>Þ#‡› fƒŽëøaIEõ€¸«J},tëøíh#=í  çÒþF¾\âc•ÓÀ̈ƒ÷UiÜ€ŠRŸ»õüa¼‘žV×_´ÄÏ*§‘)J}¬£zécSp'éé` Ñ»§^v…ªD=‰[ìókõõêT¦ 6s^¬‚‚Ê ý¬Xîç'· j}_*J}DÇ w³¸4Ät‡Š·6À*¿Ê%I*:·¿± &E+(šµ¢)Mu)õÛÚÕ@kCGºƒ,/ƒ”:"š%_*¤$ªøWØå3`ièÏÚ%¨Õ‚Þ¤kÖV-µ_ëï©WîàøNÖv%>‰Oâ“ø$>‰Oâ“ø$¾³/>!„íÏ`nþ= >Z%PÞ”n‹ŠÁYQÖæúæú·½Ä¤ioð˾äÆî§áHUGÓw©ýña&ŒžÇª7±ø‡guúíž{Ã|ÆM >‘s¢âô“‚-ÌAþ®l6®XD笄9bšÎ“1iôžõå»V±ù»áЊIŠ4a1ž ˆ¾€†ÍÖtRp»êÐ)?ïÄC¯ßK~I>†³®ý%Y}{4›V ¤¸„U+WÅ”iS —7¿?szÕ@Ȥ¢zîû¥Ö’£J:lA<å4´º"V­Ë§*¢cÒ­Ø\Og£ï þô :Ù½y++7ÀØIDëON|Sý…hÈ  TÒÂU,¦†ã¸EŬñ«õåüî ßïöóCa€í•!rJƒ¸bŒ˜L*£‚¢WYߢ* W ¢HS9?JÅlа˜TŒÑz’M! F3 ª¢`0ªÔ‡(« pç;5Üy`°ªŽ‚ÒTÓÅ]ã~€F]mˆÒÚ·þ·ºy±ýë7ÄÚ!¬>VŬ`Ô«$Úê÷ Š‚ÎЗYÇà8Ö†kè¸hqš—½~°X›â¶˜0˜ÞÁͼÜ•Y:êŠ8# R¡´© ¬ ûp`ýMu™U¯ÐÑÞÔž>§F~P¡o˜rÀþ6|>"t8‚Æö …ê!-&üeÔþ´ -i:±:̇üi:¤¾V.¢OX¹fñÄíJ|ŸÄ'ñI|ŸÄ'ñI|?ÇøÚv}$„âä90é8ª¤C ÍI‡Ðô0k›.ép¿Ö’KKŠÎÚ ƒGõsø¤Ã »^Ÿ@jßûYy܃KžÈºê»ßÈÒÝßK‚…â8éÐ郄»›ÿå”P]•Ï·wÆòÎÜ‹yøû¦ð ³øÞñ ¼ìU*ÝÊëöQ¸ü~.qÍ”Á5‹Jд îÒí,| Ëï»–¬nŸ{«¾˜K~û©w|ÊÎÒ¶þ÷R!ì¶_Jò¡B!„B!N8{tä!¯eff6û=¡cŠ‹‹[­'2.–ÂÂ|̺#z‹ªWê¿q3†µíÚÊÒ³¦Szdea·ÙX÷ÓúVL&=²²[ÏÑŽxluZ›J–þ¾]®þн?=Äp%lOe{ñ|Å#¿è†UQP¬Ý¹pþRŠý@¨†ìÿÞ¸ÎEA ëÅìåàqËÄÙOó]ña†+ðn畉q(:3Iç0ãÁÕÄMº­}n,:]ÀãN¦ð™+èMÖ¯ÞÆqÝÃ\Û»å©ÇÜ%[É &ѯkL ÈëÞÄÀ^¶•ºë_2§0sþröUT°÷›»Iþh.çÝü ç°»7¶z®z·³`ö<\0—ÖS]’Í;š–¨Ï×éþ¯•sKÛÛå˜úŽ~|þ~> ¿–‡¯È¢-÷=ÅÛ(év;‹ó‹Xûh:‹oŸË«úßðuq[_ÇÎçîåµ.poâ…+.âÑÂi¼¼©„ò=K¸5ö=æ^pKÊê9ÝE[ȹgWRY¼†G»/ãÏw¾Å6oËçÔÓõ ©Dô»†×QY¸œyI ùãï²ÓÞVÏÑ-ìý¯cÁº*+öðÍÝ |vÛµ<¿ÞZKî™Áœ÷’¸÷»|*J7±`nWΆ‡ öM!ކÕAfïádœ3”Üm?±qå—ÔT–4+³?±ïÅO3òöÓÙ”[KóÔ% úƒFû#ÖÕbПÙ×°eÕålعòP%ã/šÈÞ͈ #I&¬(/gáç_°v͆ ÌÈsGáˆ7³g¹äNX]»÷ùÊÍí>Möønù÷¯·5é8̆­¼!B!4­íO¿Öüô& ö âO f3 Y…äËøÍ¸çøÍ{ë©z(†X³—ÂÜ=”ûΡgI\Óã8Þ¬ùßðÒçÎ{þÏÌ”ˆ X»wÆa\Ýò –$ú=‡¤8 IçeÈJq ‚”~õWÜ—ÍÈ¿}Õ4ÊßI¹+ˆ%m4wüãFt‹ƒ‚ïxáw×qÙ¯M|õÎ\º¶ô…¿)ƒk-çå ÑøåìYû1»å&&\åbÉ›³éb:±±/¼“™¿[ÉàùKøzN/Üß>Ã-7ý‚|ÂÇw üx7aˆ¤sV&I‘<‡??¾Œá׿̷ùÓ¹ çŠÜÄ<ûSîûêV&e€8&Ïl}4_íøÏ-ÇÒwîM¯r÷KuÌü×õ ‡ò¶lÈÒ‘‘ÓÇÓ+Ù/¤oòºOI÷¸=‹aKØ\TGµk/mHã–E·3%ÓÄ2÷/æ«a·ñÂÒÛÑ­¾®sgÎ`d7 ÀÔ‹ûò—û¶Pì„n¦Ãlÿüé k¨ó¼‹{òÄ£Ù:¡ÓÑ´£-ó®Ioüuä¥sõôÍä”8Ñ –ñÂG>f½ð'~Õ?èÕ¯ÑÆ-T¯­ß·ßÉÁDq ¬azLEqÛ7ü€Éb#5³aŽ˜¦ó‚ÁL\æHb3†S[´•½kþÇŽÜ5ÄØ‚ĆOî4ÌÆptL­ìª«Åx^ózý^J*Jp]¤vMcÎÕ×’šÑ©Å²e¥¥¬]³–ºº:†FbR¢¼q…ôì–ŦœÍ§E,~Cðd&\éˆÉìÁe™àê0èZþnÎ`fà hzt( ­–;lñÞŸ}ÐåD¬™w®6ãö†PŒ*Œ 炱ÍË\Ñ{ÿÿ̼q™‹I9dýýƒŽi#Ã;(„ÅÔ]9²iý7¯j*k7ðÛIî0[¦9ÂÀ-Ó Ürà57„ÐŘyû€¸ÌÑÍ·mŠ2ñæUõçoO9 ªôîcã™ñMûæt7Ì ×1s|83Ç7ß¾^¯`‹Ðs^¢ŠJè6˜6ò€Â#÷Çgä?q4©~e•= –ùÙì16Ly x‚,*„s‡ˆoí«b½E ¡…dÄC!„B!„Bœ¶ð0œ5µ¨:µð5˜ßã:rù…eD6 |pØoŽbcŽÿ×ã9ãþà‘&ép¿£íðhêp•í¤xÇÿ¸8UW?j”ǤW¶QYá$”z!/ú £¶?Èðøhz]üŸîrr¬_qy*÷R¬Å‘Õ!U>“Bˆv§áÌ~‰¹W¿‚þ†×yæŠ ¿ö×› ³&3tεÌÔ…¸ðpâºMã÷üŠÈŸÞfyþ‘nj©l±t9‡ÇŸÿ=qÿÏÞ}ÇIUÿÜ;½n°,U¤)EE#*ö–D£FMÔh¢b7_»‰%‰bïAýib‰‰‰]TDQ‘Þ¶÷2Û¦ßûûcØÞaÑçýzñÒ™9sÏsι3wçÌ3ç¬|Žwwø‡6|ïF^¾óMl‹^å¹?Ì%+*ŽÜoå野¢øÙ‡Y^Ñý)¶„Q¤«%¬ÚRE÷©Ø¸Š2c9 =]£¢2Æ’H%u¾_+ê*¶PkÊ #Ú4 f‡àÚ2è± äóÆíQ8÷v®;*qÏ®Af´}Ï£±ÂšŽ·¶5‹1IíýjˆÎfL¼FeYgFEëðýžsF‹E £ëƒíG?eËŸàò£rp( Jʉ¼º3ˆ¦éøjvPŠgLª›žþ‚hm›BìØ¤ ½äÌQl]ókW¼Oc}u—ÏM*®¤QŒ;á&&÷4Ʊ籵%•õ…T7ÐöÃíª5¦Óí&£áàXñ0 RU_ͺë)óU0aî!\~ë•üâ·¿ì1é°²¢’÷ß}/>ÿ‚ѹ¹œzúi’t(„@ w¿'¶¯¡ÞØÔ1Z|Ë‚Ú^Å´“ÅOzA× 5>ß$œná0ÇÐ?:ÅÂÎ0¯j´ÎÏ—úYë´pnŠBo³ºŠ5£R‡·¢I=B!„B!ÄÐÜYQëå··Uõu½>×dˆÌ6{ƒÄDGQ[]ô“xXUíÅ`0íUÐz(ð£èüÖäÃ_ž{Π’EAÓ4 À’ š¦¡ª} ºFë,•Ù•DlÎ9ü«$²Rb뿪ÿžN:¢òNáÖ¬¡ªt)W˜Ÿá¼3þÌ7=«?fW"QáJ6—4È$™bŸkÙº„KO¼žuG=Ì+·Î!¾ã‚IÎt&²á³mÔw¸[ Ñ 6l¦§¦©ƒ“aˆ·[öÕQ\§áŒsÒ~5U±Ç%bÓ›ñ÷ðÝ›!}&çabùâ%¬ôt~§ÕkWðÜ#+°Ì>—©=µO§¡d•¡(’\æ.ïß½_+†»±4ngs…o@×ú½¶ôo°cÜù!Ï~°“/ŸI–IAQç?ËÆõ2/N!û‚÷©Ú‹¡²Ædâö°¹²}k¸°§-5’R£0ìª?¨kê`úÑ¿éYÎ;û~jN~šÕ¥54ü—ós"Q™œ DKYSØóX­mBˆ¡ŸœÉ¡³’>b,;6|ÚïQ]^ضb»¢F.ÖfG,™‡žÊäsþÂð“î§>z&ß—ÙZÚDMcPxè?MBF[t§ûêë°Û~ØÛ {šŽ9ƒ7f§¢”÷w„îýTäí{U—ÆÍ¯ñJ¯×èÎüžRªµ8¦åŽ$Éâaûoó]eˆÉ€1ëh.;¿úýuLußÎi£òWm¤:йmB1”bÓ‰ML§¾ºŒÒ]›)ܶ†¸¤ ÒGŒÃ`0vø ¥âNƒ;e á †ÒM”oþ„¢’uØÂ5ÄG™qÛ ˜ {¿žº?¨a¶wN2lðÔkNûAõ] ÄÓ䡺¾£ÝHÖ¨lN=í †çŽÀléùo¿ßÏÖ-[Éß¾ƒ¨è(¦N;œä”d9…ûDMUq í+È­ýé îžòJLLìöøÄ‰ÓX³æ+éܨ4;ï^nïtŸ×ßaëæ!Öuæþ8­¼z±uŸö5ÆÌ_Olm¯‘kN2öÿ$Å…ýÄ¿0îDS’?w IDAT9‡„B!„Bñãaì+ép ì.-‘dÃŽI‡rssùꫯƒý¬b¡iåååLŸ>½×2‰3ÏSÏæê‰I´¸góø7pí«Ïc¸î&Îû*C@Ô,®}ý5懪YzÏù\zž00ñtn|òVfÅör¬w~Ï_§œÂ«%]y:¬ø˜k&dqÚâRwýï¹eF:’gOvŒU[1„ªùüž›ya›¶Ç¨Ïk{$õ¬·Yõê $£’x̽¼¶ø®ÿó)ä\PJÀ>š“=Á[‹Ž%¹·•üÛxv~"϶½¿fÁUãÝëNcôP¿•)1Ìú¿·x%öÿ¸÷²C¸n{3ØGñ³«Ÿæý›O$­—­9çóüòLžºã6~øíúK6s.¸•w^¸ˆ#SÛÄ­1±”=1Ÿ¤_”¡›Ò˜öË{ùÇŸO#Óó×÷Ô^¯§º§pÍ+/µ7qùÔ?Q†¸ùwñî¬Ùdغ_+îîT¾½ç’^¯-ÑïØ·ðäü©\Ç}|óÁ¥Œ6íãSÎ>Ë_zíÚk9?ïV*B6rŽ¿šçÞ¼‘9q ò´©K?=üâñ}Ÿý\£;rOþ-÷^¸’KdpW0†é_Ê”aN|a i,\üßxwŸ4‚ßÔZ6!›ºPl§¶ !ľŸBt| ¾–FÊ ¶²æËw±;£HÍÎÅÓ9ñÄ`²“u1Y‡ú¨/ZKÍ®U–nDñäã2c7áv÷(–`HÃÕ9ñ°®ª†ØÄßOõõ4¶4Rã©ÅçdÔØQÌ?ü8Ò³3zM6ðÔ׳ú»ÕÔÖÖ’‘™Éœys‰ŠŽ’O±OuL:ìõoYƒ=ìo»­ö³x|kÒa0lè÷Øam` lCY.¬© ps“!Ïëïí;Pöo¹@HÛýj‰Oâ“ø$>‰Oâ“ø$>‰Oâ“ø$¾=/'„âà´qófòrsû-§Ì;·×=®lðÞ£jkªP&¢­íZ„! æÈ—HK—.ýÉ Fii)7n¤¬¬¬m ²CQHMM%//””9‹…?HµµµÄÆÆJ{Á­O1ÁËœñö‡\–k–þû i^u7sNyŸóßû+ò:¯d\P0øm—[ZZHJJ’ŽBô+ PWUBÉÎM ëħd›”ÝÙ=YN×Âm[3·ÔR_²‘Ú‚ïð~Ui&ÚnÂe3à´1ûOÞ(¯÷væùüqëEçshÞIûµÂá0MÞfê›ëihjÀì´92‹£G0Oc5fÃ-ê¨ÿÂMmí:xÆwðãq@Î?ÿJ¶ö Îi×’ìþ1¿>$>‰Oâ“ø$>‰Oâ“ø†¶Þ¢ÊÁç“ÈwB1töÕ|`0Àdêý{‰ ¦cRú\J¢·¤Ã€¬tjK}öèÈdYl\B·Ç[“jRSSûØ:Y!„Ø7|õ%xBV\£tÆOJ˜ê­+) Ç“ì–$!Äþe4™IHFBê0ZšRV7B앆ÚZÜ}ühXV&; ÷ºž‘9Ùlß¶ëÙÁÆj¾ÛTFA½Ÿ b"6)™ÃrI0w_ÞÐ_[Àûë›qØ(ƸԟԹÞþÛîûš˜›Ÿ )˲÷ç^ÕF~¹¼Š™³fp¹a'¿úd›;,„¢ÌdǧrÁøQœcÂ0€cú=ù\ôysgMã¢hC?ã^Ä5Ÿ1}Æ4†[ и‹K?*cöÌþŸûCl*⚯KÚÚµ×Çxò¹è›JŽ=âpÎQŠøõç%û¤ºŽÇ>ïëpþ]—`êù±)9Ô¯YGþði31ÃÆ‘ž•NjVÚ€W&ôx<Q\T„ßç'>1é3gÈJÁBˆ!ãîçýdo“G¦`{ÉŽlÒ¡ð°zM1Õ1YÌŸäÆldó†],ß`äè‰qtÌ-Ô lÚR'ìg´m[Ýú_“‹‹gÎàb§ŠÍ M¾>Ú¸Ž?/û–š#¦pQ¬‘¡üä¢ë›Î˜]Ù,Y0ü ï×®íJfw6KdtqèüëòXëã  ·í&Ö­i!cÎÄm_}DUŸ_ÏF×ë2v‘· Põ?ØøîÍ”7%»Ïc !„B!„VZZ%%%m·ƒ--˜ìvrs&°yÛZêª<Ä$D±cÇVFŒµÇuõ›¨û@±öüXǤÎzJ:Œ|ð–¤C!„bû$ò(ÿýÍiŒ°Hü¸ e-/\rç0&Mdáå¯ðÞÕ H1Hï!~¢â’ˆŠ‹$6ÖWS[YÌú•£ª\Ñ Ä'gâŽIÀ`ì9QÐhq•šGTj× ù›ñ5VhªÅÝPATêè¶Ç¼-M˜6ÖmÀÛäE×uL&ªÒžiù’X! ¢iaT£ Š‚ªBZV:§§ÛIJLv‡w”›”ôbb±Xw TUVQ]]Ͷ-[1šŒddf2ùÐÉ$ÊÖ2BˆƒÐö’í7t(í;§¤¦¥RZRz@ãó7ÔQv2aX<Ñæ0˜£=,Šê¨ ÄájïÔCTR¬Y±ä?ë5Ë){q1U«ó “pq ¿8 »Ct´²O({á1ª×î$lHÄ1ó×dœw ­ï§fë×ÒTÀ~$qç_GÚ¤t´’)}þqjÖ6§âœ})çÍÞý‡nf“—ÙD²É@· u§-š“'‚¿yOl*ç¸é餫ào©ä™Õ›øeM4¬LÈÅMãÓÓà •oK6læµÊ&ÕeÃüá“ ¬Àê?fåáGð'{YÛŠ‡çê;¹pEÓ2¬,(e]‹†ÛÈ/&ãÜh3 ÓX_Ì_¾ÛÊÿjýœ‰,L ±¬*š{gç2±‡?UZã~¥¼=–?ä¤2Æ¢à«ßÁ…_V0%ÝÆ²eäëŽ7ŽSõBþ´¡Œ|ÌÏ›Äí£¢0xò¹èËr¦f:X¾£”-!3ã3s¸yBcÂ\ÿŦövMÂY«¹ÃŸÃßgf©„ø~Ý ®«Íâ™#2wß×N xxcízž(ôPgp37ÍNãî„À@î¶¡pÑ%dÇù²Ôƒ-eÏNK%ÆÛ½ÇÇÛ\Á“+·òFEʼn=ÇÄ£Ÿv“,´4–òØê­¼YÙL³ÁÆäìQÜ8.Q&¿'Ÿ‹—“cäëòìé¹üRÏç‰@÷¶^_ŸÍâC£Yóé—VX¸“ÌÌa=>f3Xð†ý„ÂFƒÚa2&,£,„BìC–¬¸æz釟#i?»¥E÷IW! ®èx\Ññdš„ßÛŒ§¶œò¢íl[ÿf‹ wt<1 i8\ј­ö¾ß-œ–aßýs©®‡8çâs1öð¶û¡0¡Pˆ` ØvŸÓíÜ'í ƒTWUSZRBYY¡`ˆØ¸XRÓÒ8þÄØív9„û\fJ&…e…û¾"¥ó\_פC§ÍD“7¸_ÛnÏfál¶…¦áo R-˜:$dêÊY[efôHEÛêÞÁnYOÍ#÷ИþF>>Kp-•߯Îgìä\1³w5eÞI}æ•d><7k©|ø6v½šÁˆÙ@óNê7NÖ o32®–Šç®¦âùˆ¾gÎÐ J†aW0òÑù˜–QöȃìxÖ¨ˎéþyÔâ$Óa'Ë¢BK/ñÌÈtóȺ 6ûÓI7ÖóÜWëøÈ5ŠÅÇ$1Êèá¥o×rõjÏNI%®ÓE¶ž%ß­c©kO.H%+\שì_çŽí´m°§ºËß¾Z^­Œæö#æ1ÓêgéÚUÜýÝvrgåq„^Å_¾ÚÄ÷ cyiFÆêíܼr'eŽè^.øíq?¹ ¥-–›Ö«O ÕòôÊu|Ë“'¤‘®eÉ×k¸)OÍ˵Æ£¹¡‚¿|¹ž1£ybA*)þ ûf#W®6ðüa)ÄøY¥Làé‰X5¦z/ôÐÖá#ãH5X5çXÎh;;œ]ÏMkä± ‡D—ƒf{ÖØ8Âëß¡¦~!=/̨¡ØŽdô©w¯¾Î·o¿ÝÏ1MȾB!„B!a]ÃÐaÁ†‚²2Óˆ¥¶¶%àG7G~b—™“Ma—ÝOúM<;~"Ížë-éhK:0T¼¡6c¤:‹]–ßB!„BˆŸ:‹ÍAbÚÓFÐÜPGC}U¥;ÙQ_…®é8Ü1¸cp¸b°9ÝXmKô67àŽí¼’ ÁhÀ`4 zµÂþøý~jkj©®®¦ª²§`0H||<™Y™ŒÌÉ!*:J\±ÏüAÌ–ö%Ùö&é°´¬”Ô”Ô!‰k'ö$ÔXÍêüìiiÄ™wßlbó¶z¬™£ÈrÔSt}hËkxê!}ÑBì1 0Ä3Ž¡îoÿ¢¡rÑoSß8”³OÂêV0X¦“rçû¤áíß)ØsMLf4söËtL:ÈÊL‹ÌyÔÖF>“›Û¿OéštH<ì-é°#_CV— vo± „1š;Oo´& !„B!„=q¸cp¸cHÉŒ,í ðûš©*ÝEeI>M µ|^Ì+w 6‡«Ý…ÅæÀ`´àp¹QÕÈgQ]ÓÚþo…Ãaü~?š¦Q\T„Ïç§Á㡾¾žæ¦f ié¸ÝnFçæ‹Íf“Bìw“÷Ķ­[ÈÙ¶~¨’<€§’«‹©Jgîp'‘¼Ã0Õ…Åì2&2#Õ†Á{¯vˆŸ`Q¡ªuä_òAç‡ #ð74*+Ds‚Åe´î‡°Ä`‰êpí2ÙP6,*‡ø°¸Ú'¢É°¨+ðÖyq&¸öldt £¦ÚÓDes=Wý·ËÝŠ‹B¿Öa;R¶º¥žE”±¨§²ý½ Œf2:ì«m0˜°(:A=De} š-‹4s[GkÇÝcâaq‡ÁL$ïž+WU£ÁDÂîe7UEÅ€ŽÖš&åÐ×Ùøñs´”.fõÆI?þer3ãQB!„B!NÑéq´ìê=ñ0¤1ê{7ŸØ>e£‡1({ö¥Œu÷ÖT$%%12u»ªwÉ !„B!„Øó¬&3F“Çè˜N÷>>/õ5å47ÖQ[QÄ·ß|…§®³ÙŒËEK“‡„¬‰Ø]›184MCQ¥óWȺ®‡Ãme*+*1šŒ„‚!Pl6‡—ÛEtTÉÉÉDÇDcµZe „­¦`TÛ“vZ“»š1}"_®X3¨c×××}€[¨Ñ\YÌW+ñÇg0olÑ»gCƒž ¾+U}H5MÃh4b41MŒ¬V+f“³Å,-„øñPtZ¼¸mö¶»:&ö¥cÒa0Ädêÿ—Ð?„¤ÃÆÒ]|ºÁƒ5s8ÇäDcW;[ynl¤Cåkñk DÅìá ¿áfV5b‰Ëb´Å€ÑeÇØRÇF¯FŽ¥¯'ˆsÙ1úêÙìÕzL<„=M‰4’eÇPì¡$í!Êë[hԽDz;î &uï‡2èe£7ÄGä5ÖÐì¡Ru0Úf„f¥[»b¢S˜f\Ç{Å%4øœoEí!«Ïfu‘®³±)ˆ™ûoò6P> ]Ðûk§JŒÓŽ9ÐHQ@g‚Iéc< Ä»¬(ÅõtFîÎêó4ÕQª[˜k5ö˜”Ø{[÷Å{¥‹ÓU-h{›_+„B!„Bìc]“êëkz,Û1é°í“ú$zƒal»w*0L á Þ᣿a÷‡“-²rCP `R{ÿÂE khUFS!„B!ħŒ8ÝÑÒBˆŸ4‡ÃAss‡­Tt¥SÒá@íÚµƒììm·{K:Ô *j¸}Ý@5dB3vÎj †ûÿ±sXØcåÂMU|µÉƒ)c4³F¸0él›‡5àÊÇiY‘[¡°ŠÖ\ÊçkkHŸ4†ÑN= Á}_+¯¿ÿµýA~×dv2ލk({îï(œ…ÍVNÓ›¤|M.)·Þ‚+óœÎE”¾ü/Μf܉çÅ›© ]JúM× ´¶x‚!]‡`Â9§â4ßLñßß@;çL Ë©zá}´1×a‰1öŸ/9N(¨á* ‡hò5ðé¶<ÚàâÂéñD4tW:GYVñØwÛ‰ËËb²ÍÇò-k¸¯2Š?ÎÇáÈvÄÁ€†Ã•Î\ó*ž^—OƤlƽÊÎ «´ eMj,f´ííÓµmd”y‘ûB!¨è ¦³†¿¬+&ztÏNÜÞH³-@ëuG‡¸“'vˆ¥ÂÍÓÆ13¬wªÏß¡­·#ý¬áEG 5ñæšíL‰Oâ“ø$¾ŸBˆŸÖ¤CcǤÎZ“>“['…B!„B!„? ’{`4©„‚}Ißùƒážç;&Ý’L†ð€bßûra<•T…ÂèùwAdž»™6=‡ööeÌtUG j“AßÇñµëº¥pÏ´þËY¦|õmÔ¿ü%‹ž ¬909Ž´k® .ÙˆÂad^{3¥ÏÕÜÞŽÖÛmýŒ‚j²3ÅÕģ˖²K·1uø8þ:6#x1,LRÚÚõÔ(7,LÈŠ'¹ Œ‘Y±dYUü=އ•#'Næ¦õëùÛŸp'fg¤hŒÔ­tè¥sŒ‘ööÜζ>'žË¦ŒÅºa+W|°ž&ÕÂØ´áÜ51Q&o§ñx(+‘E3Çóèê-\ùá¼F;‡eå±x\#L þ€‚ J—vto«  5òß_ò°q¯ÏJ!iP¯£ádõWôå÷²õíñ5”’Ñ$N~˜¼I¹XºäJ‡M‘í© ‹Iº×ï—Ó4PU$>‰Oâ“ø$>‰Oâ“øöS|û|$„bßò46årî÷z•9sæè‘ìövé#FP¼cÇ>­xéÒ¥2êBqª­­%66VÚ+¤ÿRƒ~NKK IIIÒyB!„?p§Ÿ~z·û4݇ªX±Z-ø|þ߯<Òo™`Ø0 „½¡,"É_û¹^€(·»ß2}%öí«rÍ^mÀ_Lþ¸ã ±vý ®©Éæ™#3ÈRö]|~O>}^ÆÜYÓ¸(Ú0àv4×nåâ•Í\tä$޲)?êñíÚÖ!­×¿’íŸ}‚sÚµ$»åõ!ñI|ŸÄ'ñI|ŸÄ7ÐrE•ƒO<”ï„bèô4ØXׂ+fp;ŸÔÔ5ãh»Ýq.1àóc¶Zz|žÚ5éè1éÐà7Èh !„B!„Bq é‘/ŒtÒ¡OÕNúÏrþVæÅ«…©®)æù‚ÃÒbHV~X±êºF ÔÂùå„’29Ô¦ühÇe¿´Õ2…‘ó¯#Ê"¯!„B!„·Á&mI‡¥e¥TÕÔµ=Ö1é0)#½ÓóŒ­ liÏT‡t FEFj?+--eË–-””” i½o…£ª*©©©Œ3†””é8!„B!„BˆŸ(³jîñþ˜èhêê뇤Ž:O1QnélqЋŠÁõ#7ðàÊOyÖ¯a²¸™;j"w wòCËGk©ÛÁ%˶S5Œ»§Åý#—ŸR[…B!„Bˆ)5%—#’¼XXXHfffÛãEÅÊwJ<¬on!z÷m^¿·ÇJ$épÿ+++cÍš5Ìœ9“¹sçö[¾¡¡/¾øEQHNN–B!„B!„ø‘sYÌ4ú*»7I‡¥¥¥¤¦¦¶Ý–¤Cñ£¡Z™™w(3óöÕ–¨á¼tÂð—wÄæðòÉ9?‰aù)µU!„B!„Ø555ÄÅÅ Ùñ:&öDíx£5éè5é°©®QF騲e S¦LÁáp …úýÂÆ§ IDATçp8˜2e [¶l‘ÎB!„B!„ø ðvÙÜ$35aHŸžšAtR"©©©lÏß%.„B!„B!Ä ú;Ýî˜tØòu+ï@D~¼ÜhØ«úU_S¤"Í ÷]8ÎW¯›+ é±2²C¬¨¨§ÓI0Pâa0ÄápPZZ*'„B!„Bñò·tº]XZ5¤Ç/.-¢¾¢¯×ËÈáÙƒz®Ê ð¯dû÷Që—®øñ *݈¯1$]!„B!„Bì#F“¥íÿÍ–Î?Jv#y|y£Ç´ÝWSݸûy‘ÝŽÝæ½ÛÉD°:#©á¾·PÖL}4Äh$¨ûP…ªâZÙ!¦ëú€;þ hšÖÛiÚ¸„ßÌÊÂ¥((†X†ù[^Úæ%¸õiæåÌæ±MAǹ7ÏBˆ½Ñ¸ò.¦9ÔÑWðIo—¡òÿrNº‚¢´ÿseÍâ’§WS¯í»ØÂ [yÿáß2/ÛŠbÌãêeu½\h›Éÿ`1W6ƒ‘Ë!äëžÖ xågqÚÑéŸi<×}áTŒM1{Ø \ë݃6Ðöîéx`Þµ2#s?÷©B!„»™vO4æååù±m6[÷;Cá>Ÿ£šMû½‚Õ|·ê{þùÁ·¼üáÞ][AU ý‡×-åÛyãýoyíã¯ùçG_óòûßòo*ñhßxëE¯²ëª_Q¾Ë¾T?tkÎ<”ï.û#ž.»j*VsÛ­óóæÊìÂ3ı4Tmdá¿>ã¾âRnúßûœ½Éƒ7\Iý÷¿å‹Ïbû–Ŭ\2—U_}„w÷iªx/Ëà½Å|öTï-Îà½Ç&ñù[·R\YOçŸËëhŸRôÙY,{zï-ÆGÏͪe/Q×<ð9ÉŽu¶ÕÛC=–[œÁûOÍä›ÏÞ ) Cx'%ïLæƒo¤ª¹Ëk!œOÑ'óÑ? Î¯*¦Öï?5“5_¼© –ÜÁò§°£²¥û1Êîl{,T~_<–ÍçŸ|ˆ¿Ëyª¼Ÿ/ž‰”ëqÌ:•náû<ÇÏox˜Ÿßúï”õŸL¨—¾Åλ&R6¼ý 6_r5…’u*„B!„Bì Ÿ×Ãa6nÙÔýn%2W þƒQ»ó .û¯ì…P(ˆ®ë2’ûH8TùÞ“À^¼|oÇ.â­í2ŰЧžYCŠÝÍ{£iÔÅ,Ýv± –bÿòmâ¥[Ÿ"?-ƒøþ¾Ë²äpÑ_ðÌ1qøªóùîíû¹ø†‹ùÛÄO¸mªkŸ„çÝþo£†YWÝ€qñ›½¼ÉWðñ-'sæÓ~,º™—îΨôDbì=”U²8çÝΉ¼Û³ëåã™ýçCxuù½LßÃ$˜Ç\Æg;/ÛµA´woÆ{ÿ5ˆü¿ÇÜ¿MçŸËîàp—¼,…B!ÄÜ=Ñøí×_awE÷Y¶¨¨ŒŒÌwTöpŒfÊ·oÆGcMMä£áÕ~=àaõšbªc²˜?É-ØÈæ »X¾ÁÈÑãp©aš=~LI#8z\Åúof­9›©Ó%eæT¾q›VÃø©sˆD yó]l/ËbøI¿!Æ¢ *¦ÈÇþFZ Ÿb퇷°Ö6Œ©Óä‹!Lóú?²%} ãrÒQ4fÝN&u!Ïñ-wÿ}ç?&ÑÚ¼ !„B!„ûÛECc?+5ô=gg0÷<7ä©k!ª—/ï=Mí[8Œ¡°lwòCךÜ9P}&úê(ªµ1áÒ3™7"…c¸ö®cn•¾BL‚¼u;lÎÍ7Xyjñ@Ÿ§bÉŒ…g3÷ÁÏȯñû&[Ì9yo}T¾ËyOÿ«‡:UKïäòg‚\öƇÜ6;Ã|Ôö¼½{:ÞB!„Bü4Ù]јí-½'Õ 4é`ë®ü¶ÿoK:è_óáþÿòkꀎÕ_9}=eaã²q40Ä1<«žüMõTû±šƒÔ5èXâ4•°ÂÔ;Ør^ÿ‰Yþ ô]N/~•]÷½‡ãÄ<š^z šî<–úcŸ û—“;}æ „@Ó!Ôz­?ÒPew½!Š–ÿ‹{>¬ ó ²ìy§qÕŒ„Nñiº§ÑHœÁŒÑd¢ÂÔDóŽÍôGâ“¢(ݾ%î"ò~~Q¤}~p@ÔÔv·×¦ Äþ0ÃêÏ`××ïsÌiXµÍúM‰·“7óœ…@pGÚ¼Lô÷Îeë²·°Ï?›Úwÿu¬Óë×ð‡Œ=ÖiêZ.¨””óIþw-§vÂ!¸¬'’5å#¾_~»’óÈNO@ó¼É¦¯Wa›ô‰Ñöû»c|]cŠˆÔ•’ýÛv×e êh:{C¨ÃcšŽfŒÇél¡|Ùí¸¢“ì6ihÊiæ®cf@ókx»Äêhº9vÓêþt!ÕîÛvÕlÂû¹n)E¼Ÿ¦&hZtžß¾Dz²Žn¤åÓûØü×h© `H?’¸ó¯#vL  ×,§úïS»f'š1 ÛÌ_“|ÖIX*ÚÎg)XüŽY´|þÞš †´Y¸ÏYDÒ¤D”!x ´\ç×Çþ«Wâ“ø$>‰Oâ“ø$>‰ï`ŒO!ľÕ[ÒaaI- ~rÇŒêö˜ò¡{ÿѦÑ`!*¦ý¶Ûi ¡)2·XßPÓìÂhÌ6}žt¨k-(ª]F{/ ÙŠ‡Õqé´cxjpNê9»ïwÎ䡯>æ·=¬å/ýˆ¿\vwþ{ ^[.§ßù\9›¤.eƒ[ŸæØ/qú>ä×<ÂÓ^ÀšPÂÿ–•¢’˜úË[ùÛý—2=ÞØÿq½»øßWqͽÿa‹×Á¨é“1Vš¸ôßïpåX‹œBˆÈ{]ÅÇüùö/qÍûœ’ýžðý4TlãÓ'ïâ¿Ìå±Câ\#ôrV<ÿ.ÁcïçÒYC‘tèeíGsÒ¿Ïä¿^Å8+àù‚ëgÃÿ›ð _¿´T›ç¸cŸcp½} Çÿ'ýûc®0<Í çü—Q³]|þ÷7Yר;þnî.;,Uk`ë·qå-³t§œãùÕCÿä‘ sq 0Â=mï`Æ;¼ãyžþ©ãƒüëÅÏ©K8Œ_Þz ÇV>ÎïïzŸ çpŽ»æ)ž¿å(’(_Æã×/â¾W¾¡4heÄü+¹÷¡[9-×IpÃÃ}ô |~Õtæ>¼˜æ¾œ3y`ɉà+à¿·Âó¾Ï†&•øCÎãîââ n”Áô£o;¯\}×>³‚Ò ¨ S¸àÏÏó×_Å¥ôÍ ”/Ü|¤¼a!„BüÔ„0ê}&¥ä”DÊË*{}| + E9Sb !Öv—Óhñù «¬Æ0&ÍK/ˆ·bïl¡)l &)…ÃrI4+û<¾V6Ë@µ~ËéfE˸ߓy6Ûî~÷ O‘œÝ}9`U£Iíõ¸šªÚŸ™QGÅ GµVægëÇÿá/«\üìÐ\&¥ÓqlnÙΆG;ð»¢bp'Ä¡­{—æ–“1ª`¶¨Ø:Lï…Ì *‘˜,Ž7œ”ܱìúòCáÓq{?¥ºÖIìÜÙDY:׋%Œ‰Ó)þä_4ûN#6ÆÔgÿu¬3òxk¹Îuºz-Í„AU°šUl&+¶¼›]|:¿}Šä¤_Ðòí_iŒ½ŠÃÓØÿøv©Qo¯ËjRP0õP.dì𘦠RIšñ_ü+þAÂñçc6‚Ö¡\T·1³àh;n{|ªIAU”ȱ#°Ýõ©m3ú9ùhrîXÔé< oWP[vÒ²íp²nx›¨¸Zê—\MÑ 'úîkq*ë){ôšÒ~CÆ_Æ^KówPú¢“œ+æc1+¨ußS¿a¯.WÒ—ÐévǤظdÝ= …ý¯GñGóäw_rã„l~öj!º®Ó¼ú^¦ÆôR±wŸû+þ½ˆeŵ”,ý þG.å†wJûý3"P_Gò%ïQÑPOñWbÒª›9ãÒ—Ùèç¸z5KoZÈ…o¤róçÅÔV­gÉ%£ 5ûåDBt¼Ä±òñ?òo÷ÅÜõËOЖר­ŸLê9 ±FÛQ¦‘xÆ1(þECåîyns:1gÿŠèŒ ®D͋ɷŸ' /M!„B!„¢îÇËë‹|7Ö5VãJè±Pccż®¦ªÇû-aºšrÉ=´'+êzoÓw­Ùz¿| ߿’’©Ü±äKS!í\®8ê1®xc 5 SIìëÉ–rÇ$ÁeƒÃÎçÎû¾äã_-aé®sI¨éý¸Õ‡ùxâ?N}â~qh 0ar.qæMr"!Ú/fëŸçƧ›8å¹ßp˜´É—%‡‹>ø‚gމ#Ø\CÁwoó—«/ç˜ó[XúÊŒ< ª›©i c6‡ëþö³r¡ôsž¸òRÎýµ…^»„ÑÖÁÒ–3ŸÓÒåOò¹$/Mï|ŽåŒ[8gÕ?øÏÚŽŸS˲×óI:å~r{úû–Á‘§,äˆ\ÌñgÂ=·l¢¢F:âI°ú)ÛU@M`<ãÆËEcßž´wÆÛ–Á'Í„4Ì?ƒCÒ61æ˜#“sNeFÔR6–7áiYÂÓk‡qõ‹øÙ(À%÷ÜÍG3®å‰Ï®eVnß}’ké£þ“N`ÆîcžxÖ8îÿÓÊš!{0ýèÁ‰h»yÄ9—0{ñØ\ÙŒ^º¼Ïk¦ç»HÛ®”· !„BÑÃ>Þ åÀÓ x*Y±º˜Ú¨tæwbp%qì¼È®!ÅÇøÑ ”­©¦¤9·K•“£§¯5[XòÖV¬ÓNàÌ\Ç€W°W,ãI;ú#²ÞdãÇÏá+YÌêuKH?þer3ãûÂ:Jdk8=ˆŽº{›¸žÇ[üg/O›u7‘ÿÚò;¶ÉšKℇÉ<‘Žy…jÔB²}µŸ¯$jî#¤Åò}/uÅûcw×ôo'UÌéW1ö°oùvåÍ”Ä-!ý@œâ–Ìn[{»L6‚„ƒ-‹ V®#ÿ’÷»¼IÀßà`ŽÆÒñùfŠF ëòâB!„b·&o€çßýž—>Z/’ŒÉhàìyc¹à¸‰Äuø,'œ¸äjÊëú,Sï©#z÷>˱nµ }–7vL:llªÅåŒ%.>‰šêŠ!o€ß È(î¥^W1ìÁÐ÷ÔŸ¢€>€9™–êTlÿge8«Ãýñ šÜoIÜéy$VQêñ÷yÜÆš]…♕êFÎ!Dù¼qûCÎý3/•ÈàçËULŽFq!÷=^Â7§<Ç»;Îåwy óÐhÅeOcú…sêÔÝ« »pÕm¿àõ³þÉÅ2zä —G°åpÌi©<úú'ì<{ ï~¦1ãž³8Þö:×¼½žŠaù¼¾3™Sú}?7˜Ì¨hh€1ë žùŸ…‡o¿™Iç“uÚMÜ{ï•?Ü1à÷ìA·w¯Ç0˜0@k½ö©F,…&MÇ[[€ÇšÅ˜¤ö?z ÑÙŒ‰×XVÖ@ ·ï>è9g´Q´0º>Ø~ôS¶üyîú¿yaévZÈâ|MÇW³£ÏkfkÛ„B!„Ø—l+Þ°¯ûßÍZˆ°j<@Qi4WóÕÆJüñÌ›@t¡Í,4â ý”“˜|lxëŸÜóU}ä¦Íü‹ÏäüáVt%¼¹œÍ S¹q^ÎAOÚ1¹Gàˆ=šŒ#~ŽÿÓSؼfÙ§ÒûúzA‚%„)Ø,fŒÎ<¬¼Fss#ÄÄvï`Ã&ü¤àr:÷¢:×I0aø©o2*ÙNSõ2*¾¼‘¢ÐÑdŒ›‹­Û9e“‹ÙRˆ+n>¿v¨+ܰœ]Ÿ^OQèhRÆ´×¥¨vT=þP]7¡aŽÌ wúÀê"zÒ=Œ,9‹­ËÆ9å¼.52)Ý]Gͺˆœ;/´n[jù‘ÏÕ2Y,„B!DßÿÏ*>\[É¢KÏ&1Ú!òò»;ŸÄ™=õ'ÓÞ°¿‰ÿ÷év‚¡07ž;SN€€šò:šq»{ohM:zL:LNL¡¼²¬ív§Ù…”aé4Uµì“¤C±wEAÓ4 ~ÿÛ [,4MCU{ŸÚR ÷ÌÃw›]IÄæœÃ£Ÿ¾ÌÉ©{3³£ã)\G‰ ‹³bnîý¸¡ü¿,eMa=úØ$™OBtÜù!Ï~°“ g’õrçÇæÅ=JÖ¯ÞcåóÇ’0€c©ƒÓJw¦3yxw?ÛFý‚$¢wß­…ƒh6Óž¤ÙYÉ9ætR}“ÿ½WÆ'áiÜ5nyþépÃ[¼7| ;“Oå¸Ñö=8¶¨¼S¸õ§p}åJ^¸ælÎ;ÃË;ŸÞÁá®a°íÊñî±·b2qû–³¹ÒË É‘äð§-5’R£"+¢ôµ]ÄÊïGÿ¦g9ï쉻þYV¿4”à ~wô09ú¼f¶¶M!„Bü4UWÖŸ½Ïëñ†}ÔÖ6Ûyâò@&6–îâÓ ¬™Ã9&'{‡-åÛyo3:m$)»C x½xQ–Ÿòj‡VÆž|OÛ%ñKó²ñãy«*_\2žLó^V£:±8PÕÒþã°ž„wR½u †”ópÙÁ`™OJü³äoüoÊ™tZ/!´…òu+ÐSn ν[w©“N»6«\G2|þÃèoÿŠïß3sè WcÝ猊ÁÝ^צMØOü=1VƒcVõeêÑS\>ú Ôn#hŽÓnO—CšòøÿìÝwœTÕýÿñ×™²½ï²KïMTDE{‰1–h,ßø‹]c‰ÆE5X0–hì½AQQ¬( }aÙ]¶÷6ýÞß È–Ùeò~òݽsî9Ÿ{îÌܽw>÷œÓo ô•[XÿíP0»ñýÙ¡K,.ÙÙ•?ÐX :ňˆˆˆˆtΛŸ¯ãü3çðÕæ Uê>ÆîŽßk¶ÕæŠÅåfÁ׫•xØÍê«*‰ÝåÍ–UÖT4K<ô6Ö㉎üΓæ7\Ö—56{r蘱Ú;}Dvv6¥¥¥Øl6’““IIIiõ‘œœŒÍf£¼¼œ¬¬¬–+4 ZÎ;´Gyp+ÈÉYÍÒÅ_á{§%-äš«æ²h]õ Õä.}•—Ðn d Š +×°¥ªŠ‚¯žäÆ«_Å6û·1ÐAÒÄÖë :’K޲xùÿ]Ǽ%¹”—ofÅ·«(èµ "M¢F]ÂG5–õÓ£tÁ…Œ9‹*,r#HB³‚õ-•¿^=—-ãÏbæ gïlŒ-›éÏ&4ÿ2®{ê+òªj)Yùw\ó<üâ2fvrþ#÷ðYœš½–»o{ßäŸ)ûžÄäà‹Ü~ç 2N>šÕºnÍKÌ{f +ë Úè—€ÑPIcfhëèövÅþnKâÄs¹`ìFî»ö>>X_NUÁ—·”ÜÏñMY¨ËúÑ_SH¹™ÂˆÑÃÉpÕðã‡oñ]iSýŽvŽ™Û¶MDDDDö.Ûn\m+éÐÞõoÖ¤ä~-–MKkÿ/î“{S¨®Œ/×Ôà8‚#›'xSɲձ"§‚ê@om)ËÖVcOÏ Ë£[`› S±ò3ÿÚä°S¦shj“ÂÌ\¶¼u _¼ûÊkk1-¾‚çØ´¾†Øa“i1gÏ ª[Æ–Oÿ*Ç3xÒáx À1Šþ‡]Ilé_Xññ<Ê++ ‡ñWüœ.`CõAŒ8ä$bìØÌÖÚlážÄï&±êŸ¬üb!~³ûz[[qÕooˈ=˜C¨úüÏlÊ]‡? –R—ó9Ë7=úlZ9ß·'ΰƒfa”¯¢[g]‹ŠÆ°ÕÔaÛë ƒ¨Q'“”¸Š¢§ž¦¡´³nUOœÅò+þBM•©·¡ˆˆˆˆH„jü¬-·ð…LLËÒ£= iб½åa³ÙqD'QYçÕ³›Ešt0xÀÀæ×È¢cw«í6¯m\½j·*/ؼ™þƒ4µ_W=z4K—.% ¶9Šáöëy¦Iqq1|p[×sk—™lÙÓ¸höÝœü~<:ån>_t ×¼0ûu7qÖ¸ßSåš—_âäàZþuÔd®ãn¾Zp CwnÃ_ÀÛ7Æ£çÔƒ{³ÿïÜt<Ù ~rëõÚ39ñ¡7yèÆ+¹ã„aü¶ÒÅ ƒ© %ëÅ "»Ç¿ž'ŽJç‰m¿Gâ¸+à½ëNa”»[dÕCGrÐï>ûi„éÉ܃}®_̧wM%é³î䥇nåú¿ÍaÄù…¢GqµòúµG“iïdÓîayÊn¾ªŒƒOÚ‡$€Ôý˜3Éÿ^Èâò£FЉ¼CŒP9‹þz—üÊ ØIÛ÷Tnü×ÍÚèv·w§ã˨¨n~]DOàògŸÇ¼æÎ{3%!#޽Š'_½‘)â¶éÿÇ“Ïäª}3hŒŸÎƒÏÛeý?ñRî¼àk.>n·“8ø7—0iH,¾°öì¶™[·MDDDDöQQ6‚A“ºº\®tÒ“S)­,oVÆçõâöxÛw½4XUYÔb½eeeí¶=hô6¯Yßz!LuQ9¥Á0Vî^ÉÝá)GñAƉW³ñ¥1l»mÊpf›u<£O¼’¬ÔmI­ŽÔósÂpJ~ø'«_½ŸF¯[ô0’†_ÊÄégëŠ|Û"j³eö”s{ÈR¾üø¬ÉÅ>£Ò]ceÚSÎaÄA_ðÃg?µ•6íöû9‹ç°¾¶‹(¢$uⓌÙ÷@¢¶õ뮟¸‡þáÅËYµ;o×à&Ênû5Åñaô53v=çMÚ—äñû)4þê †Ži§¾¸Ⱥî/óÿIÑõ6cpŽ™MÖUWŸdÃÒ@-"""""k èæé æNèf¾/îOïíã™3gZ©Ù””oiö„·®O\t—5T]SCbBÂöß-Z¤½ßA………¬ZµŠ¢¢",Ëjãk••ÅØ±céׯ_Æ\7£Ž{ŽÓÞúY3ëØg9á…\=a÷_ä ßÞÁŒ9pÞûÿ㊱.½ DzIee%ÉÉÉÚ^Qÿõam37oÞÜñÔÆF222Ô±""""}Ü©§žÚ-õÆ:cpÅ&PQYØâó3Š­ý!Ð_yþí– †íDÙÃ=Z.²côx» ñíO±äõ›?MyÜåjò¾åþç60ñ¼S8!«åûÒ¼;MµÜUññ-DòôëHvu¾¾n‹¯‹Êý\ãó~ÃÿÞÄ”_ÏáØ~üæòVLcÐùTÿ)>ŧøŸâS|ŠOñí•ñå—¶Þ³3}çнö½h‡Î>MÑ}öþK$Ž™µ×mwõêÿñÃãëÐM"¹èp¹ ù}»,¯¨)'%!5â¶¼Þ OóƒÀ.I‡ž¸h&$‘úÇ IDATLÆòå9 šMîÆ-»µ¡;&Jçdeeµ>urá«ÞBMÈMœË¾®¬9Lùº¯ÙN%3Þ©ƒˆˆˆŽ™""""ÒCê ÔW6`y¢0¼»&¶•t˜ŸDUmÓPePûù‡MmÜoÛ-åBa†A· M_¶'21#¬"Òrþ EØ‚ ßlµ}ÀİѥíB&¦ãúM;L“oçëë¶øº¨ÜÏ5¾€¿iz°€ß¤¡¡Œºoêq:¿×Tÿ)>ŧøŸâS|ŠOñ)>éCLK}ÐW†¦YžSVVLZZf‹I‡@‡’]’¡©–—/ÏØ­¤C»Í$ljè̽A¨x·ýîa*¼—©Y6¶ÏQÒ)~¶,~‰…‰ÌžœAÝ·OqíusÜóÒOÄ""":fŠˆˆˆHOk)é°=Û’"¹¶n=_n[™ÞˆÏf‹¤.£ËËÞ^ý×£|<áxþxÊ vwѰuO»]U®½ø‚…bÙÛÿÆÛZ±'³ÏœûIöô\|‰©·úo×úYñÊ‹Ì]^Q™L²ÍÑ„óÿÔGâë[¯?ŧøŸâS|ŠOñ)>Å'½Í²:žyh™aŠW}JUÞ$ GæØi6»:Td“褦:@ZZf«err63lØ ÝnËÑÝ£¤Ã½GØ cÎ?yû·§0ÌݪÍËyêâ 9¯ €#c_N¼üyÞ¿ê8úé¸&""¢c¦ˆˆˆˆt«( µYÆô›Ø\‘_û‹dêáÞ(gYD<ÕrWÇ牨ÿÌ®-—½?·Þv@Û5™D<[—ÇA¹öâó ¹éÿw;ùTqÝߎ1í¨¯Ä×v}±L>ûž;»¯Æ××ûOñ)>ŧøŸâS|Šïç_ǧZ–î×™+Ö.á¼ÃúsÒÑg¯}ð)ÿù| )£S‡Šìajª[ÎØê?¼? š%®ZµŠ±cÇvª­f‰‡e¤¤¥hH§¸ý‚«¯ÿéwç˜ËX¼é²NÖæ û˜»Y”·:VDDDÇLéaí%J:‘žÑ‰ùå´AœÊá|¶¾€‹NŸÍ¾wKÕŸ]IS-KWóÄÆá­¯k¶Ìárò7¿¶—”·=épgM:„»4éÐÓ©=,""""""""²±‡„¡ˆËLÍ&¯|Ë.Ë«ëHŒ‹Q‡J×òÍæ?"ùkð¸Ô"""""";‹tÄÆò<6ñ2f(È#ÿ½‡·~É5w=À}7^Äñ3à®3®ÅæˆbÐÁ§“:P+ÒÇìœtì’tPU½­œDö!6ýØm-_|IIK¢¢¬ª{¦ZNHH ¦¦F{WDDDDDDDDdÓ‘¤C Å¤C ×“ƒuå|·ºˆÍÕ~‚FÉ™8:4gÓèVÈ˦õy,ßRGCØNLR Æf3$ÖŽÆØ}fî|Ößõ ‰7>Jºí5rïx—¤æ‘9ØÝe«8÷³2™4‚êV°qèæôÓøýŸX³luÞ ùùï±eÂ;éH<öÚ®~‰åïþ—øYÏÐ/ÞÕzcðhW‰ˆˆˆˆÈÏŒÁ‡á€—~Þyãõûñ¸›Î›N†×çç··Ì£ÒŸŠÝÙÊY”/‡‚_¦Æ÷Ó"ÃÝ„‘G’9$ {7h[þ-T­úˆ²¼-„,0ÜĘDƨq¸:˜eÕ-#÷‹‰Ÿr&)ñŽÞÙy¾Õ”/þ/Þí3å:p¤DÂøÃˆŽíÝ»ï̪)_ú1þîAÄŽ;‘„¬d]Cé K‹ÉJÏŒl?ZalFd³˜lK:4 £ÙçJZr2ee•[_¡»iK^!Ù³š-SÒ¡ˆˆˆˆˆˆˆˆˆô+Pò (OÄQûÅã Ö±æÇ\>ûÑÁ‘û¦gÈ_½žoªãØïÀà P”³že+£HœÔd»ú°+ÎdðÜÓñD8=·a4= é>|ƒ¾õ7±â‡F̸—øµ+I™A٧׳*îeö7„¦šMBåÿeÕ{ ¸~ñmÖ)"""""òóɈ‡¾-ßsï~µ=é°-·‹{¯ûgßñžÁ·\(:;þý8Gï0Ñj¨¶Œwž{·Ä×õçaáJêr–sä9—qÙŒ Rmª­æó¥ëxf=”˜«Î1`ÿ¹ü¾|§€×ËÛëD‹@Þ‹lÎÉ¢ÿ´ix"̾jwªå„<ùÁ´}o’·l!·Þ½€O²#:º÷.X$ŽšÍwÿžÉѪÊåÉ¿ÿ—‡¼³°EÛô¦ëe;&Z¦akýõ»cÒaÞ–\fn·þ“™Ë*+)ÈßBÿÙm'Æ8£i4Ò/¥EE-–Ù9éPDDDDDDDDD¤7ùk«( Ç2aH*‰Î085$M?VQH!:TÍÚrƒãû3(ÖÍp0tüx†î¥ýen~–õ{÷Èhj¿^ƒ1é/ ˜GÞ?>#vJ?j?ü>sIg_OŠù*ù/þ¿9˜¤_ÝEÚ´!Xõ«¨xænŠ–üHÈ5šÄ© oý’ÇÊaûˆ‡éÆËÍÚ²M¹•—s‡ï)œQ⣢Èt»ð8£(n$¸~ FÖ-ô@Îú 83~Ã\²ÃVx©_yß~¶göÜþæS íZgš©YDDDDD~–çx$þöœãIKNˆ¸Î´ä~{ÎñÌÿ¬¼õBÁr^ª„Çk8v²ÅrÅ9gsåS+xÔŠ£ËÓÓÂþëó¸,ÍÇ¿^ØÄµñ©11d0î5˜áŽU¨¬áú§"h-óÀs˜Y w¼¹fnWÅj~ÿ°6bâÜL›2™»ˆçÏ·–ðit½•æ:ùï+«¹.ß$kd·_ö Ö>îcaPï¹¾¤¥¤Ã††zbbbwYIÒak²ûgíŒxØhh5éPDDDDDDDDDö±• 01<‡1êä;Hµ½Ì7o½ÕNQhLù9Š`¦ežü´œ'?-gÍ›‹¨ÎÑ'\ßN£ÍÛÃlÞPÊÓÉý¸ô€8⾺ºoÉ[ºš¸ƒÎ$yëTÆ¡â7ؼ*š~‡ÎÂãÿ–üo6àLuâÍ[‡?d`‹CÚþ³HJtïÚfl:3†‡øøñ/XhŒÁí´Q¿¥–g¶ìK ˜šÕ )Ï+ d‚-u*&MÃí_Fþ×+±{¨+­¸I Ø?‰òo~$î 3I2Vÿõ l®:êËëÁˆÁ=`*ãöÃã иâ9êGü ë€|ŠÞƒÕþdv&Iqö.Ý‘ µ^Þ_X€3~—L-ä›Õà­ú€ò•lÂW‡;Åÿ ÒÆ ĆE¸øÊs‡‘rÐþ8¶^ô0+v\'•¸ñƒ ØI˜r$.„‹_ ló>¤4£bå«j±Û6ÒXÑ1ãHšÔt.¾° LÅ’e,s©±!¨²ô¦ëãZJ:Üå¥Å¤neq·¦ZvE{ð7zµ‡DDDDDDDDDö ?ç¤Ã–„êÊY¶±‘èìlRœ&¾8œÔoÙÄ÷¹•T‡lħ¦3qlÙî½41*›ø™‡âŽO$eBCÓ²„ãŽ#&1sìA8cˉ=öXb’â1Ç„óíO ÖÁþ=?„IøÍÅ$ LfÑïܯ©}`}»mµÈ•Æí3Òš~žr³+þv†—^Á/¾„5œÆ˜,N"%1vkòh 1ÃÎ"—GV§ˆˆˆˆˆÈÏ‘iEž–³ðñˆÊóÀº¶ XM¹‡V8DØ´C¨_ÑT? [R6+„=uÏÌ?„O_­ç=oSŒ‰£çñËÜ÷šENÜæ=°?y¹ñLšÚ¡N¨ÍÿŽÞÀ'áq»Ü´†Gq(žiSyæþÇX·?ÉÃ'ëj:O4«¨_ÿ53ιŒ+g¤“n‡ºœüñƒ9±Ã˜÷ƒ¨oÌàˆQn(Ý̵o–sÖ¥óùëõ,0‡1ï f0m¨Ãô±òã7¸íÅUTŒœÀ¤+nåoû91Ë+oA/¾PÀm÷}{3-o»;Ò0v(k†øæ»JÎ; ‘ŒuP9òH¿ÒCcô(fdxùdƒ—˜åosé²5$ 8‘ç~Ï^öR°5œøfëÔòø‹?ÁäÁ×`uÒ÷;—ÿ\XÉUï‚wäüëRå®q?ÂI°è[n¾3Ÿ÷ŒÁØ01Ë>Æw“ã<<¨i›¤WÔ××»û ‡e夤¥6[–ºÃÔ΀W<5þÚW^TGrršö–ˆˆˆˆˆˆˆˆÈ^ hóeîIÔZjJùbY• ý™94'& ¦E°®’œ„l8hqV=›ÖæðÅr;GI’}/ܹÎxœ1;í[gÎØ­Ëì. g,³éw[–i®Î!`¦’œ·}U{ú8œÑë#o«†kÎ^H¿^fŇOâ/|ˆe«ž¡ÿ±Ï1z`ªF®Ùv&lõBVӬϒóe öè$Æq×L‰fÙÕT[`·¶Û^ŸµÃê–®¤~ôË­åáç7²Égç)ùô¬zÖýÊwŽÁçãÅEÕ :î,^ñD¾ûhÿ|v>KC“H›0§/Ÿé^ÈÉæ>›Ãj¯±ÙNªÂ!,DÅ%`ýPĹ ÈtP¹C0CéÇùœùž…#)–³ŸÃƒç¾Ç勃,ÿhç®vr÷”n{3šMOµIæáަ€ê«ªð;ˆ‹2(±»ùòýõŧøŸâëkñIïèìž9~.óϼËÏ‘ÖiE¥qò÷pò¶×IQ/,(æåÍaÂü”âfîPß¶ÿoEjønM=˽v ÄÒ¥œ>=‘Ä(( ïÚfMQ7ϯeØÐN9ðxæ=õ r?~Þ,¦qX6g ­å߯ùøºÁÂ|µ!€ÝøëXUà£Ìk§lc»{§ø‚ l* P°CI-O-ªgŸcöa¿o½|vì{w±j°‰2ø¬PÓ5–šr~(t³)ìg“ÃÉ ýsRüR~¨ q|f˜w¾íÓŽëLJ8£ÙÙ;—]–ç¦" «ÖT> '€#š‹ÎÏú÷ ùwAXŸ?s>_ó|ÂÕ«W3f̘fËZj9l™Ø­È„"ËR­©ª!!)A½ß Y³f ………˜fëo_Ã00`£G&33S'""""""""mŠON¢¶²j·ê¨ª¬&)9±Õç£ìáˆêéšr&u…¹|úc îC9jD"ѶŸÊÇÆEmkÄ2BØm ì6ˆ²›DÙ­Ù+²Êî.g:mØ p8mx\6Lp€–í\ÆiÆÝa“<·ý‚UõxFx×­#ì3ˆrÚðØl[×uÍëéøvذNg,ÎøŒ2/N§ Ï«„£ lDEÙpE=ÞϦ 6[ßÙ¿ŠOñ)>ŧøŸâS|ŠOñu_|‘IÏê숇UލN –óê“ŶÓ0pv,Ë€­#çoñpÇQ[ø9 ca`³ZÁ …Y¿®’»ÖU1H,7Ì>‰Ûê¾ç¶êdCl©qbÙ-oÏŽ£/¶K]I!eæH2bCXÕ? ßhYÝ3Ê$˜X¾2¼›?gòo.'P\Ii(´k±PÏ„c­`ô²©¤–7²²®íš »ƒJµ>Âv†ŒÖr±¬Ÿö—-aI~XPTÒa±¥¨„ì~^/!)†šª†­³sÒ!´‘x¸=é"N:l LI‡Ý¡¨¨ˆåË—3uêTâããÛ-_SSÃÿ| K¾ü 3æû¯–ªEDDDDDDD¤EM:´Ì0†­i$Ãу†PnÀߨôå„ÛéÂð÷Êö„êÊørM Î#˜12¶ÙhxQq) ‹©`åºR<#2H´êÉÙPA !› ¦ ê°äH;(šMÿy„ŠôËIpýHÉóoáóéšúÍ\¶¼s*ëÂç±Ï!c±L/þ¢ÿ°e} ±LÆmÓ.Ù~®ÞÉ,¸×Û¹ŽvëÜ!{Ï2CüðM%Ì™Æy†K¿OÆ– 7`AUA{*4Ò`ë¿ušeë§i—-«ÅöwÁj\GenÎŒáxâã0‚•ä,\ÏsƒÏà²ôìun‚ÑiE‹ù*v_¢£ƒø*ëq¦hJdÜ©-«Ù2°0 7T ÅAÃ:‚Žþ¤Û씇·n®ÃV#F4–ödãv·=ÛCÓè£mÀ0¨ûôvòJlĤ fÖ…¿çމz&@ƒaà1š¦D6 ƒmÕm)h dÒñ\=Ì`ý ª £ù$Ê;­²'`¤%r`Ã]¬,Èfì¹ckØú|ó²Mm4ýÎ{ß_ZL´_íÖ{­/èLÒ!Ðá¤ÃÖ8¼¦­õ)R‚0QN»öT/[»v-“&M"&&†PKÌ;™÷Ä“|²äsRSRÔ""""""""{@ Œ3ÂkyUU>’’Z¿J\__Klì7À† Øa$ÀÌôLŠK‹·ÿ^R×ÏÇG)™™:*…x%±uœ‘DÜYw3€¿²åæÙäÙ‘0}6Ñk»¦~Û`úͼÿgw²ò•{ñMŒÂQ¤O|ñãG¢«×""""""?éìà{†ªŽ´Î Äòyyñ“:8îDÎûîYæ5GLt ¥ö f z…_ÈÅ6tGÎ8x[aÓ:­Ôµ½ÎÚs$eqéD«¾Ï++ðÇ åàÙÇséH;Ÿ½eQXâ£ú\qÑPJæ>ÏGENö?ä0mPßF[Ûv¸èg~‚÷ó"ŒÓ¸îæ±å—ð}}S’dÀpCr2ýræ±.n?†'  `wwž«?ÎìA<öÞk<¶5’-9åüý?[XPÙ¡7g‚A”£xû £ášÞÈKãΨ*öñfùpþüÄý¸Üÿlù•»9çr] Wݳ¼Í"[J¸èÉú («HfemÖ1ƒ|º ‡#´ÐÀNeËÖlæì5[)(挹zõ%ý†fQ´±°GÛÜ–tÐm÷ïº] غ=¸ë ¡P¨ÍG0ä®{ïÛžt˜œ”Ä'ÏaèÁ-ÕHýª§ùí¡ƒˆ3 {2C»”g×{ ®{ŒÃGLçáÕu¼ˆì1ê¾¾)1¶QWðQe+…Šßæ¬þÆö!¢ à nС\üØ2ª»ñ{ˆpí:>xðRìÆpŒåªOZ™ÂÌl`ょ¸ò”© 1píÿ'¾¬ké#|3Ï“Òl;š=¢öáº%5Š1°úa¦™Ê}˽=·Ó"ÝÞÎîï^æ]~SöpŸŠˆˆˆˆt€±õ†äÊê*u†ì9\“4ã\ê ‘–XVäÒßöõ>~ö¯-þ\Rík¿®úzn{l÷ä†wXn²ò³ÍÌ~(Ÿ÷«›ò^¶¬.劇×2óžµõ¯–Ws弿mí¼ o Ï=»¦©îû7rý'õä~jßôùøïk™}ÏZfÎÍçÍ «Í>Zÿ~w·ö—r˜(ç†ñwKH÷êé¤Ãu[f`vÿ$ÒÒÒµ‡»P8nõ …¸ëÞûxí7HLLäŸsïo}šåÀZž¹üZÞJþ?^ßPAMιì°aô‹v¨£EdÏã[ͳ7ÏccöR£Ú)ëÁ… J±¬0Þ²õ|pË8–üñ7<ðM]·…çÝð¼RÁ¡WÞÀ¬­|ΆKXø‡#™tö|ª&_ͳ˶P´äOLŽk¡¬1ˆ³Þ«À²,,+̦gfà>7ðyÕ´,¸‚»IèPŒÎ1—±xÓç\=ÁÓCµlïîìïž;J³ñß³ÔäI‘Þf™MS!''&µø|È®›REDDDDDDö¸óýüûû‡å”Õ…Z­«´.Èß?,ëP?—éÏHêëz=ƒK«,½¤GE”eæv'àóul䤜œ\õn …š>ìŸ},ÇÎ>š«¯ü–eqïsyÁÿHLHà÷ÿŒô6?}UäWz˜pÉé>,ƒY\sû,‚ëÔ×"²' ²ùõ¿pﺃùà næ=éz6ܩÙzâ™Ì¼o1+¼@\·D;ñZ^_ ”¾Ç¯{­Å?ÿËÝÆå¹ì•ÿqËôì?ó½Öùííìþ‘Žr„m>ŸšžEyi¡:JDDDDDD¤éÈTË_äÔsê#Ôi»tbçú³·®ÈåôÚmÒ1Y”–th˜ä8*ëpÇ;ñÕ"ñ°£I‡Ò=¶n À»ïÀýþƒ»î½o{Òa||<ÿxàïdõË$ ¶\Qù‡\2q*w.ßÌûg ¶mˆÓ¸CyðG‹«ø ?äΓFmÑc8í¾Å”´P}`õÃÌ;™ã§g7ÕëÈä óÿÉåMI“þdÖ„£¸üÿNaB¼aØH™pÿø¦Ší³œzsyç¶m`±Œšzã†Ñjl"²w3Kò·¿,aØÕfÎà gú©-ZÉ›ÞÎÛÌäÌýSzñ×b¾˜ÿÁ£oâ’C»"éÐËò{a𴹬Ü6:zÍ®ß'šç¼AáÖ?ŽkáðA“¸íÛúfS-·ûYmÖòã®âˆ¡ž­Ç œÿä:ag··#û;œ3Ÿ_ìÿê0Ò Gú$Îè ^¸y6™†7ŒcnYHñÖ›¸ÅŸ0÷¼ƒÈv†‡áG_ÏKkê1Û=~U±øÊq ÿõ‡ä}S⛎©ç„À·™·o™Ãø8ð“6ñ|æ-¯m:WéH?ú6ðüeS·Æf`OŸÌEó¤ÎŠìØ(þD""""ÒùS³ååJ:éƒçñ–»ûÀ3§;—ÇÞuuBŸšYS-ÿüE¹ÚîÿŽ&4T6Mÿç«mš)ÅÖS›ž©=º›B¡¡Pˆûï¾k{òáÛï½Ç‡‹> .6–‡î¿ô´4ü~ÿöw‘z$ÿúîsnœ0˜c^Èò,–ÝÉä¤Vö®à‘³Í¿¯å“‚J¶,ú-þ\ ïn¡x ºŠÌ‹ß§¤¶š‚¥w±ß·à´Kž#gëì<ÞâÕ¤žÆ?¿*¢ªä[îów\ÿëü€U΢›Nä‚W²øÃ§T–­äé‹GjPÒ¡ˆ´¤–¯ùoÄÿ†ÛÏ‹'’¿[üëyâ¨t »›„¬}8ñ/ß~ä †Åôâ=õù|»¦ŠÆsêPwÓaQYL9ÿ!>-éÌÔfFu2Ù¯òÑÆ¦ÏÏÚUï°0Ê¿zïK- À¦Å¯°)ó$Ž»ëGŸÕþ5OsùÕ¯“uÓgÖÖR²ô5 ©ê@¨ÛÞŽïo_É:JG_Ë‚b¾»k ¯½˜ùŽ+ø¨¤œµOAÎÃà©à]É£çžÎ]EÇñøÊR*6/âê´W|!V IDAT¸ø”?²¨Ül§O’˜>÷G6›+Žx˜+^ùгØeBgW£÷NZœ<Ûîþœ…¿~šE¹gó+Ï›s"ÓF{€LŽ=cþúÇÕ”4À¨òOyôÍ'?z+¿< ˜0q4)ÎÕzˆÈ.¼+çsãcõÌyò·‘¬äÁ… –ðø¬‚ lþî-þ~ÕåÌ:¯‘EÏŸÏpWoñ¨h ã2ƒëx”CG§Cá§<ú»K8û"¾t1£Ü«Ò3â(NÉþ'¯|´‘‹Çögõ»Ÿâ:íœõíysyÇΨ䓗7’1çFÇ´TAëŸÕÃcRIsû)ÊÝLE`Æ;š Çu,¾Îlo§ö·gÓ~q$²=pÔi쟽š1³¦1&=fœÌÔ„E¬*®§¦ñi[>„«\Ë1#=@ÿõ>œz .¾†CG·Ý'£]m´Â/˜ºµÎãÏÏ=wýHQ îH?Æ ãø ‡mÿuÚY3ý¡ß³¦´«ð³65ß5mÛïô‘!""""=,6®ùMNÁpûã‡ÍȲ#)¬/ã‡5[ȯñ4¢HJÏbÿ‘¤: KÖ²`E5»Ü÷c‹aücoëöø¼~³Ý2þ ´SΗCÙc7RùÕ&ÌÔcéÑ*æ½OÜU’2ÈÝáú!së¨]_—S|ŠOñ)>ŧøŸâS|ŠOñíñIïh? DDö3ŒÓÖöõ¸ZÿO³ Çg¤R[RÞ¡6"NŧøŸâë+ñEv~$=K£ëõ]šzXzR{I‡;ëhÒ!´1Õr}}i³ß;štX^QÖìw%îþ‡išØívB¡^¯—ì¬~<;ÿ ž~â1ÒÓRñz½Ûív;¦ib³µþGÑÖg‡Åθ ’GœÅk[šFPÜö({ûTú·H£&oE¤3$¥ýẢbÓHòC^µrðE¤MÁMÿ㉛ÈyîtE†AúQO°jå?9<Å`ðùPéÁÐ…Ýn'ÊÞKèÅögâÐ ?.^Oõާlá ¦Ýƒ'ª3ivnFÌ:•¬üWyçý7ù(<…Æc‰Ã¯óþÛ/±)ódfŠîDÝvÆÎáæÿþ@Yá"®p>ίNû_ÕE^CG··+÷w‹½•4xßfÖ”z·/ ×ä±¶ÂNFVÎÈŽÖ`™D~‹¼ý«ŸàWgÞCÅI±¬°‚ÚÍosÞgDÇÎmÛ&""""{§svY0CM+¶pÝ(lh 7ÿËrǤÃp'.Ø8c==¾ÝþÚ*ŠÂ±Œ’J¢ÓŽ+&‘QC0jª¨ÚåΫ0•y¹¬$qàˆ$¢÷°ïÂkæ²æš»i¬ÙDémG³úßËæ¿ÀºßþŠâ\ŸÞ""""""{M•Ü7"½)9£_«Ïù|!jjk"ª'Æ×ì÷V3bcÓw+`—ç§ Š iÚƒ»);;›ÒÒRl6ÉÉɤ¤¤‡iš˜¦I\\)))¤¤¤œœŒÍf£´´”¬¬¬–+4 Zþp³Gyp+ÈÉYÍÒÅ_á{§%-äš«æ²h]õ Õä.}•—ào©î@V®aKU_=ÉW¿Šmöo9b`û£u9É%GY¼üÿ®cÞ’\ÊË7³âÛU”ô‘æ¢F]ÂG5V³„èÒ2vüå,ª°È4í}¬`=EË_å¯WÏeËø³˜9ÈÙ;cËfúų Í¿ŒëžúмªZJV¾Ä×<¿¸Œ™ý;5¾îá³85{-wßö4¾É'2>Rö=‰ÉÁ¹ýÎdœ|4#:ñý_Ýš—˜÷Ì6VÖ´'Ð/;£¡’Æ`äutt{»b·%qâ¹\0v#÷]{¬/§ªàKž¸é&&ÆeÓ³"ÉÑNLj¶Òe|Ÿ[Jîç‹ø¦,Ôeýè¯)¤ÜLaÄèád¸jøñ÷ø®4ѱsÛ¶‰ˆˆˆÈÞ¥º¢Ÿ¯‘¡C‡íòœÓÖö5šè6nʲï!IyîÔÁœ8}8ý·joâo ²9Øù^§pC9+·É‘I¦sÏÛ×öÑW2úžkñ¤Œ#ëžÏ{þ8ôÙkYzôɇHOñÄí:ËceIQ«åÝný’›òËζ¯*5ø›¢q&CBvf‡6".:€Ô¤lJjÊ´WwÓèÑ£ÉÏÏ'//õë׳nݺVëׯgóæÍäçç3f̘Ö+mòp—8[ö4.šmcÞñûqÄ ‹)‹›Ì5/ÌçüðSœ5.¸Ø$†Ì¾Ÿ¯‚Áµükf 3ÿÅÚm‰þÞ¾á0ú''3`úÍy‚wæOv$W<íÙœøÐ›<4«€¿Ÿ0Œ´´1œùÀ´“»!"9ÿzž8*Ã0°9ãÈ:ø&¾Ÿòï={!£ÜÝÒ «šFœa`dË3«—sÿôd #Š 7|NÍÖÃqú¬;yé¡ÙÏÈä2º™õÇ<Êë;šÌÎÎhæÆ‘§ Á»!šƒOÚ‡$€Ôý˜3ÉÆÆ!œrÔ:3îˆ*gÑ_g1,%ŽØÔ±\øþHnü×ÍšyínoKÇ—î=ËŸ}ž«“_å¼±i$˜É½•gðä«·2#%²oVÓù\1y Wí›Ácnåû£Ëú1~â¥ÜyAÿ>n‰)pÕÒ$& ‰%¶Ú?vnÝ6Ù»$¦$àv7á|ýúõ­Ÿ>¸]mÖgíÙÓg…êÊY¶±‘èÌTRš%†(/(¦ÊÁ˜T'šðHDDDDDDödñ1.B¾†fƒyèÑ7{£pÐGJB´Þ˜=Ì[çïð:¡BŽ%h3gÎlñÕ²…q˜öÝÚ¤ÌLòs7ëŽÝå¹E‹iOwPaa!«V­¢¸¸¸Í%Ã0ÈÊÊbìØ±dfföhŒÕ3ëØg9á…\=¡k¦ÑiøöfÌù€óÞÿWŒué… ÒË*++INNÖöŠú¯këØ¹ysǧ]nll$##C+"""ÒÇzê©­>çñDáõvï]=yy Ø¿Õç_yþíÖ Û‰²‡»°œ «¾˜/–Pߟ™ÒIÚáæXËWÅ'KóËŒþQíÞ¥ÝÕñ%ÄÇ·[Æë7ñ¸ÚŽÌÊ5w¼KÒ óÈìÆÊõw¼KüÖß;Z_ƒ×Äf£Ýr‘Ö×ÕåŸâS|ŠOñ)>ŧøŸâS|}#¾üҎߤ¦ïº×½/}Å Ÿn"aà¾DE'ªCú¢ïÞ¤ßÄöší5C~ª6~ÅI“²ùÃ9Sõè&m]lM8ö¨®i¿Õ1èv7é ª¸¸Å¤C霬¬¬Ö§NþÙ S¾îk¶„SÉŒwêE ""¢c§ˆˆˆˆ´bÐàüoÁ;Œ9r—çº;éh3é°w˜4”°tU)þÔ>.Ä®†z«+© –}“\Ø0õ"‘=ÚïN9‡ÝƳ –ÜÃg/ø9*úîͽf[ÝNÿâ.8v" ×b_iÒa8Àîlùûf# o(ˆCÝ)}‹Ÿ-‹_ba`"³'gP÷íS\{݇Ä÷<‡ôÓd7""":vŠˆˆˆHk6ç®o1é°%¦ib³Ùz$.ÝÂîé¿MMê sùøÇ܇2kD"Ñ»lnˆšŠF̘,’]úÛYDDDDDDö|.»ÉM¿<Œ[/:J!½Ê²,|>>Ÿ½t¦é=^kI‡ÞPÓMλ$ú|>Ünw‡+/-#5=­Ù²Â-Ådeg’5d(…›6jH$/[h\ÎS_ÈyûrâåÏóþUÇÑÏ®ÞѱSDDDDvWqq ™™=7­•7›«G·1TWÆ—kjpÁŒ‘±¸[Ê+ ¨ªãNð ¼Cù9°,‹ÆÆFÕ"Ò%|¾FÜîhR“³)¯Ü€iØwM˜ÂÒܶ õpÒ!„©.*§4ÆÊ]Ã+;†çˆgÊÁ#m@8D]ÀÀ¥iaDDDDDDDDDZ°-éØžt`³Â?]S+++!-­õ‹Ž;'&&'R]YÝá`ꈎ‰Ó^Ùõ›t¸ƒ`¸ý!¹ÃfdÓ?·]ÎN° œ6¬©œÝf¶ `ObâÔ$Ba¦ ÁÝn·ãå¼~³Ý2þ ´S.ýtúÝ{®(£©ÎôÓ0÷ôÛˆ¤¾@ÈÄ0ŒöÛ4¾..§øŸâS|ŠOñ)>ŧøŸâÛ3⑟—Íß í²|{âa[I‡;3f,«W¯ú©7„|‘­«¤C‘½O”=Ü'ËYFïÄçqE’ höx9Ó›Mñ)>ŧøŸâS|ŠOñ)>ŧøÚ+Ùù‘ˆˆìÙZJ:°u´"›ÃÙ,é"O:‘že3;6 …ËÝârÓnïpÛ!Ÿ¾„éËêj:µ^‡ÍP ÕçŽ@ >¨="""""""""Ò˜6©IÉ­>ïŒòlÿ9kÀ`ÞËÙÂO"t¸íÚ"""""""""}X\BL§Ö³uf¥ÕëÖµ¸·³ËãÒéMÈX8 žøØˆË»=žˆ’^K:´5,û¡€ò˜þ5cN:ˆ,_ŸýXI „Y»2ü¨ ¦z '˜MlyK6Öìñh=DÏy’1¿ŸŒÁsÔ×êe,""""""""=£¥¤Ã¹b£·ÿ¼-é"ñ06)žúªö¯vù½~í‰nVXXÈš5k(,,Ä4ÍÖ_†Á€=z4™™™ê8‘½EØjqq”3Š` õ”:om=N§“@ Ðf>¯·Ïwƒ¿¶Š¢p,†¤’è ƒ3‘QCØôcUâðQ굑1,‰d—Ã̰ô">«öâ5c‰²õpÀ†GÆ0ìæg„|&$ØôZ‘Ý6pà@òòò€¦Ü³¬¬¬×á¯olqy»‰‡m%~¿lûí¿¿öP(**bùòåL:•øøøvË×ÔÔðÇ?ßÂ’/¿Â ‡ùþ«¥êD‘½T[I‡;j/é°=ii ”•ÕK½×Âlhª;dowý°iòØír¶ÄasHS¹@À¤¾>@ÐæÓNÀCZ´Å†üÊ\.bCÕl( áNÅnÚ ˜Ýß6 ÞŸ²‚vL+ˆ¯!Hƒ7ê§}2iãän)ç˜6z¼]ŧøŸâS|ŠOñ)>ŧøßÏ+>é}Û’†·®y. ¿¶W| ^Ó‹ÇæéPÝŽÝ LI‡=gíÚµLš4‰˜˜B¡P»åç=ñ$Ÿ,ù€Ô”u ˆˆˆˆˆˆˆÈ^¢¦®„¸˜^i{[Ò!@ÅÖQ·1"˜Ú0º§\¨¾Œå¹Dg ÅÑ Ñ’ïsùøó\¢’ú3mP,N£çâ³í8°¡;»áÇ †°Ù¢v¨Ëh^®Õ6»®œaëvŸâS|ŠOñ)>ŧøŸâS|?¯øDD¤oÙ9éÀßt±£I‡°›‰‡”””h¯ô€üü|¦L™B0ØþÝé÷Í}_~€˜˜h{äau ˆˆˆˆˆˆˆÈ^¢·’·‰vÄÒªßey”=Ñú][Ϊ/æ«eT'ôgæ°hbìaÂ|»¼PÖ0Ž„;TÃú5¹,]mçˆ}Óˆ·õL|× ¥$©_•ßÿˆcè$¢¢¶e.šÍ˵ªëÊ™fSRdO·«øŸâS|ŠOñ)>ŧøŸâÛÓâ‹ìüHDDºÏºë9td¯´Ýét—=ªÕ¤C{8J{µ‹Y–E(jó ¹ëÞû¶'&'%qÆÉs:dðnµXý0Ó‡Lå¾å^‚ëãðÓyxu@;EDú”º¯ogJŒmÔ|TÙJ¡â·9«¿aüôˆt(?¶Œên>\»Ž¼”û1c¹ê“ªVÎÑظà!®\·¤¦ÓŸõ=&ÒííìþîeÞå÷1u`÷©ˆˆˆˆH û[™6Ùfo1é°w˜4”æ±è›ª“pø„t’•”Ú’ØwHñN;®˜dÆLÁY]Á–†^š/,j()çžýƒ«Éy}šµLDDDDDDDDÚÓVÒajJb—·2Êëtâ¡;¡õ;§Ãö öj7‡Ã­>B¡wÝ{¯½ñ&‰‰‰üsîý]2ͲsÌe,Þô9WOðh'ˆHßä[ͳ7ÏccöRÛË}wàÂ¥XVoÙz>¸eKþøø¦®ÛÂónxƒG^©àÐ+o`ÖÀV—°ðG2éìùTM¾šg—m¡hÉŸ˜×BYcg½WeYXV˜MÏÍÀ}nàó«iYpw’з?ë;²½»³¿{î(ÍÆÏbP’'EDDDDödv×®£Z””‚Ù|ùQC{)B“ºÂ\>^Yý‡2kŸ4w<3À°¬’û 0z±Sƒ›¨xæEÂGßǰ“Æ¢YËDDDDDDDDdw”WTw¨¼Çîn·ŒÃæÜþs§¯_ÕTVkïô°m#väQväQÜuï}ÿŸ½û“¢Ê8ü«®Î=9'† CÉA’EEPVÅ€ÐwýVÁ¸ºæ¸®«XêâŠyqM€‚ (I„!g&çØ¹«¾?†&õÀä¼Ï3=]·ªÎ½·¦‹ª>u/>Ÿ¯×Ë“Ïþ…ÿû €ˆðp^zþÄÇÅI£ !Î>ö}ö0ß>ûgŽ 6è/‰ Xc:0hÂŒˆ­`wáñ•.¤÷,>[ú!\ÕŸk}êä/y”oø¸õãïxëîKÐ)‰(»ñ¤~çu<}}¶¿…B!„øý+Ê/ªœÝÚ¼Ž\nwPåâã’ê¼·gÛî“Òþò|~ÞZŠ9µ#Ã;E`¯uTÁM¬^Âo{Š)óð:Kز³wH$‰ö“”òW¼•ÒìÂûõ¨1ͲB!„B!„ÁÑôc›ÁÖp7«¼<8{94º¡Ýnà_Ãó/¾ÄSޝ¿ý€°°0^úç?HJLÀçkxäÉÀ®·¸°×(¦_{.±Š‚1®/ÓfÎŒ#AQPBÛsþC‹Éñ7=ý¦'kO^’†]QPì]˜üÜRrëÙµwË+ŒîÚ‹†%cPcý§½ÌÊÕvÒ_dt1ÌøÓ¥ôSPÑ=®â¥5ŇŸ>wíåËG'fWP”::—nFñbºG!ÎÔgîbž~xíïüÛ4cø;ÍCYö&¾xñ12‚+zEŸ¼Jè9¬|ë+|cïãæ!ѨǼA¿ý}0m†¾À¦Cÿ/(]ÁÝgÙiuÕçdé?—·¾ÊÈÖ}ytmE­Ïú&?µ2Òÿ}£ÚÙª¦víÁ´7·RÙŒ¶¾Íéïæœë¼9Ëxaj’Í Šb£ÃØ»Y°µ­ÉsT1KoïF‡ë±ÿ×G¦ „á•]~pïcáC骠(*±½§ñÚoeèÍmG÷Næß:è`l j\?n|+r=¸ó£7g™|X!„Bœ ‹‹ƒ*çt7ñà•Z{@›µþ'ë)ÚJ² Èó(Þ»•¿]ÃûßüY¼]Nƒ=Š~g'Qr€ÅËÖðÙªÝdšrVêɉZ÷–£aÅhVå`B!„B!„MRŽ¡Ð ˜OؾÝÞ€$žNxøü3OU'.üê+-ù€Ðf?ÿq±±x<ü~ã@îvòÒf±8#‡uOµgñ¬é¼e¼ïs Ø6w»^¹Ÿ·7:ʵ‘W§\Ç;³X–QDæ’[ð¼t3÷ü/‹@=Ž%Å$LÿšÜ²2V=ÅÙkïgòÍï³ë`­+g 1“yù—lŠs×òT—å<~÷l÷zKî›Àõ'qÿåobÞôÎø+%éPˆ3W«_}ÏÃnâ±kºb f@Ï掉CQ­„'Å„‡×wÞpÚ;NâhX»µçîW¸¬µ* ͔Āi³ù1÷hžH°ÑqÌ$’3>áûÝUŸ‘e›¿dñ(øå3~ÍÓ/{–~Ìž„KŸR÷㽑ÏcÏÖy̸ó3’î[NVY¹«žeˆ’Eq3B=ºú6¿¿ƒ>×¹61çš?ðTöxÞØ”Gá¾%Üû1Ó/ý+K ´&Ú$’a/¤³óíóH=ûV•éèå˹µ½tá½o൵9g¯à¤oøÛ]±Ë×Ìv („œs3óÖgQ\´îMà3oâÕ Î¦Ïë&„B!~ÿ:vêØ2 wËÐïqŸ¢-¡Ó©SÆöáçõ窱}ÿŒêD{»(XÂcпGõç#{s~xâ-'ïÚP×ü€E•[¶B!„B!„¢izÀÕÒàòÂ’²æmO­;øOXd8M¯õ¾Õ¬ž¸ÄȘéícthÄÃ6­[óü3OW'„8¼ð¿‹×ë­.«ëzôµbè…çÑ#9žc&Ó+9^£‡Ò%.šNÃ'1(¼€Í9ÆTöë|æeöã‘G¦Ñ'9’¤S¸m”Ί7PXß –XÒÎê@lh8É}¦òè3ÀºbKöúªc:w↦%׋ .ï…5{ ¹• gýÈœ/¼Lzö®>'™È˜6ôèF´YŽ !ÎT®MoqïëL|äú„¹’¥#7|›‡®ðVä±cÙóôY1ƒÑSßaçÉÊcöURè `KÎ] 6‘[ZJîÆ×¹ ói¦Üø6ÛŽâ»<[Ç1\š|€¿ß‡r¶üïG,“ÿÊ•¡ëøâ·BðíeÙG»‰ŸxiŽúÏ }«Žb­²÷î£Ðk!®ÛXn˜6’”f|M}ª¿ƒ<ו®›Ç뿵åŽggq~§X¢R2ý‰ÇYú1s–fUPØH›4ºÿ‹/dP§x"úqÑåÝ1H'»¹íèhÏE7LeT·D""Szåt†…ç³5¯²Éó㡺 !„BàÒýÍ*¯42£†hAºÎ|J4F«Œx(„B!„B!‚ãöÖŸÛÛ*‘航/Ö#¢j/‹Œ©w%P÷^`Yq)š¡î»€ÂÒŠ£ ¼Uûª/±»§õl²lIA‰ôt ðûý¸\.R’“xî©'i•’BëÔTþù÷g‰ÅívWŒ¨(ÍxB[5aV¡:9Õ`Ä¢*4½ÑÕœ»ÈÝù)—·V«F¬Râ;w;ÅE•4=ð•BXJWÔ²J= „eÆ€†¸ wqÀC—¤09„ÞÝ|üð ìñ0wŠ;ŠLz&G,†^Ï3¯ÞNÜê7ùj×IÊ<4Z µ'3ðú›˜Ô¯qaaÄ¥çö‡®&ò×Y‘áoþ6m}i>úž=cþ´ö IDAT…[ùj©Æ ©—sÍ•_þ»‰Ü}ËùhO“ÆuÆÔiâðç±±õdÞøò%†íx˜ÁñÑô¸üI¾Ü]‰ÞŒðš]ßcîïÆÏu®¢}”Z[Ó%Þv¸xDºÄhäe—Õ{N«Ù&ÁsF‹E  ëÍmGÙËç0cTGŠ‚’xìñ¡iz“çÇCuB!„g6ÕR•ÌfSŒÍZO7™‚.›_X& }T\8?½ž-ÿ\uôBÂ¥E„B!„B!ıÉ?]ýº¤¬¨ö²â‚F× ‹j€èð& ú´ªá‡ÊËO½{`×6mÝ ½uœ)Š‚¦i¨ªZ|˜œ”È{oÍeÞÜ׉‹ÁårU'ªªŠ¦i ÇaPËæÐx¢:^ɧ™º®Wÿä/¼Œ” 6Tº#ÙÄÑ6ÚÚdiSH,á¾,6ì/iVr‹â÷É·ç;æ~»‡]ïÿÖ&EQˆ3—Í›^fd´B›ißä¶ ª UU1©')­9$…Þí|¤/ÝAÍ4}-àCSmØLGóYn¥ãèËH:ð _~ýßpq÷öô˜0V~Æ× °'aã:ÛbÛ*á]'òÀ6Ÿµ„ÛÌopíä§ù¥<ø-4·¾-Ùßõ¶Vd*aî}lÍsU¿(Ý϶B•ø¤p‚ÌQ]#ø“TðíèÙ2—k¯x–ÂK^g}V!eû2µ£9¨ó㡺 !„Bˆ3[jjBƒË⪞xnÓ: »á诋b£Ã¤¡Š û¤yôü÷BÚ_Ü Už¸B!„B!„'Q~YnPåš|ÄÙïób4™1ªÃBCƒKP¥´´\z¢…$''“——Gbb"QQQÕ£jšv°_B«Ë꺎Ëå"''‡¤¤¤C5Ù0û Ùµk «ò<¤v½ŠÉ‘3óŽ{ä*ú%›(ظ„Õž~\<,Ë‘ð³sÓV2[µAßñ Þù †qo3*ÕÛš8X[ŸÇÍcæºÿ»‹~asig…Ýk7Sà•ãCˆ3‘©óÍ|_zsí“ßw72ü+/-}‰QMoC÷U³å[^¾ó2»?ĈÖ'iîvC2æãá«nå®®oð× iX2¿áÙ™óṌH9º$rk‡Ñ\–üO<ºƒ6ç¿K÷ˆìy ý|SyìI w?CG[ó·[¾uóW'qÞøžÄ«á$&‡£¬.Âٌؚ[ß–èïÆDô¾†ë»ÎãÙYÏqÖK·Ð϶‹÷ÝÇâÈÉ|<, %§É3$Ž˜X yëùuoñ›8àò·X;zJ³(ТÖxK)é_ý—uy~zq~‰Oâ“ø$>‰Oâ“ø$>‰Oâ“øŽ¾œBˆÇï`4ª-¶½ìŒ$¦´j´L“‰‡FSí$ Å« ›§S^î"4Ô<‡ïÐIÒaËJKKcÕªUø|¾ F1 äää0dÈÃ<”Ç=ô‹Îf΀gøiÉLf~ðê]÷qe·¿ç‡0ó£Lòmã_cúqÏðË·7ÓÀ“ÁÂ{ÎeÎU`mϸ¿ÌåËû."ÙMNpª&3aö̾÷v¿¸=·YhÛ£ Åþ(9@„Áóì`î˜8æúÝÞ™ñ·ÿ“¯îº”ÎÖã²C6Ï>þ^NÅ¡·†Eñ5ˆp Ä~’³áî§'ÒqZ^{g.ž5‡Ïf%áhÿo`mÏy—¶å;òxÉYDÄœÍľ6þõA3Ætä(òQü,yb*7_ëTb{^ƽÿz€!Íø8n²¾GœC:›ŽóqaïÁŒ÷æ£ÍœÉÔ®ë·Ññ‚;xó“{­àÍ ¢NƒÿÛú]Á=ãq† ãÅw/h±v ëýGž¼~5ÓÇ·â1_$oº™¾mCpô¦Ïë&„B!D°üqÓðFMÃßÄ=+“j['ºœ®ƒ¢œœøl–`µ^NÓÀ`ø$>‰Oâ“ø$>‰Oâ“ø$>‰Oâkª\p×GB!Ž?£Q¥´¸ˆðȺ_8{t¥yÙM%(#FŒ8)³Ö.Y²Dz¼™²²²Ø¼y3999èzÃݦ( IIItíÚ•„„„S&~ï–W}Á{\üùbîìak‘mV®}œá¿aê×ßq[W‹$BœEEEDEEI}…´ß)¬±óã¾}ÍŸvÙét/ +„BqŠ»ì²Ë‚*e¡È]Тûöz¼”–UEÛäNìÉÜN|B2¹9‡GZüxþKMnÇPƒJØ ¦œ¯¼€u[²ÙWâÁ§˜ˆŠO OZ±æª‡§ý•ÅlÜšÉÎB7~ÕJ|Jç´"Üxbâkzzj—'¸/þZ²\¥K ú‹I‰Oâ“ø$>‰Oâ“ø$>‰Oâ“øÎÜøä5?ñP¾sBˆ–ìýÀãÅ(]púHJJjñ©“Oo ¶¯&3CB˜YšC!„ó£B!„BSI‡º@Qš7ôºÙb&6¶ê¡£=™Ûj%žhº·”õ2(ˆl͘³Ã°ùÊÙš¾—åéFÎëM¨¿œ ¿îeŸ-ˆRœìÛ¾›·Ù-»"ljB!„B!„8³”»Êµ…]Þ M&N2—¾Ç¼ï6“WZÈ®%ÿä/w-Â1~ƒån°B9?ÊùQ!„B4G@Ñê}¿¹I‡§äÿ’ËŠÉ„еm f‹#‚ÎmÃQJ‹)ö‚·¢˜,¯nˆ·1ÛÂèÔ!cQY.]!„B!„BqZ0™[.ý¯9I‡ÐDâaBB*ªá¿°vû¤‡E QÁùo_ß‹øˆÒ¦¼‹aú|¾~~<‰ª´ŽB9?ÊùQ!„B4ë’úï÷™dkL& ë@ŠåÐ;§¿ÁˆÉ::ºbÀxdø<ºrp!„B!„BˆÓ‚Ï«µèöܺ«Þ÷C¬Ö:ïÕ;ÕrEE9!!¡ääìz§ªõÕÃjªõ«#ÔAey¥ôúÈÜåV–î¹õ¶`$ùügXràiL!„BÎB!„BÍ_^ÀúÝNìÉÉD›ÁA‚q7é» p´‹% 'û÷Rê×pdÄC!„B!„Bqê ³‡Pæ¬h´Œ¢XÑuw“Û2Yø<•X[½Ë+Üu·QïcÍ!!¡îÈl«»ZͤÃâÒ²ו¤C!„B!„B!NGˆõ «±Ž·4k3( Of`»Ì€b§WÏV$8³øaùþ»&ƒÊÈXl Ç:ŒB!„B!„'BSI‡@PI‡>OósúœO¥$¿vò`rdlõk¯«á!{÷îMdøáùžÍŠ&½,„B!„B!Ä Ð6©}õë€Vwä¾Ê ÷qÝ¿Õ`>…ZC£2o?KÖdPÙŠ‘=∬1ÿ‹)4†~ý{2iT& éÂÙQà ¨ØM9„B!„B!Äï^DXø1­oHˆ«~cszzÕ†cÃjÌ,ί³rll|÷Ö­[Wëw¯.7ê„B!„B!„8ödíª~­ÃÐ}ûŽj=·æ=EZB£+–cãå+‹K)3؈µ©r !„B!„Bˆß½’²Ò ÊU–8«_;‡_ròóªßèÚ­[Ð;ÏÏÏ%&4‚òÚ´Maïž Å€®k„……PVV!=$„B!„B!Äi&%¥u³Ê—–Ùàò¬ì,|¦úZp17U.P‘Ϫ-¥˜ZufHûPL:ø5 xKøeÍnœI8') CEëwUbOìL¤Q­]ö8ÄwˆËÓôl1ŸœØr^¿†¢('|¿ŸÄ'ñI|ŸÄ'ñI|ŸÄ'ñý¾âBñûàˆ°W¿¶Û¿6ë† ÊsØ»'·ßÕXµII:B!„B!„â÷Ånµãt;i“’ÊÞŒýÕï7–t”˜„I µc/ 47|}ßf>¯9x£1Œ;ÒÞBïnñ¬Ù²ƒovúQÌv’[·cX;Cà8Çw˜ÍL‚¢vÂËi ŸÄ'ñI|ŸÄ'ñI|ŸÄ'ñI|M• îúH!ÄÉOnanýËbÉ-È®þ½]ZvoÝÛà¶ŒF3~ÿáOŽ)ñ0 {PKõ…B!„B!„'ÃAeeI½ËB¢c¨(,8ªí:ÝUS©ÔL:<õ¨ÄtêÆ”Nà ¨ &Ú¢:8¯_EQ‚O(B!„B!„âtÑPÒ!P+éh4éÀŒ?‡ ÇXͤC!„B!„B!Ä©¡¡¤Cਓk2›ÍÒÈB!„B!„BœAœþ²Z¿7+ñPQÍÚ™ñØò…B!„B!„Íжuâ Ù×ë ªœªªÒ)B!„B!„Bœ"œÞŠ ÊņÆ5Y¦Ys#ëze³õ£Ioµ ¬¬,¶mÛFff&šÖpÛ ’’’èÒ¥ ‰‰‰ÒpB!„B!„gˆ=û²O©x™¾X!„B!„Bˆ“Íëóc6±›C‚*Ÿ_ž×d™êÄÃöÝ:°+}gP¶„:ð”WU%¢¢C)*,—Þl¦ììl6lØÀàÁƒ1bD“åËÊÊX±bŠ¢ („B!„B!¤h~tC³žQÆBeùá'¤õ€E­»vîFB!„B!„â$1›ŒÍ^'àq¡Zl .¯ž ¹¾¤Ã¢Üú36é¤Ã£´mÛ6úöí‹ÃáÀï÷7ùãp8èÛ·/Û¶m“ÆB!„B!„:”tXQ^ÿT+º®Ôy¯òˆ² %´ïÐQY!„B!„Bˆ$2ÂvÌÛ82éÐïñÔúÝ`³ÕÝ‘=,Œ¨ø¸ vRT”G…Ë]ï²€Ù/=Ù8@HH>Ÿ/¨ÄCŸÏ‡Ãá ++KO!„B!„â ¶cûö Ë†„Ö?ÕŠ¢èµ~÷ôS¾ÞW ×oàÃo×0ÿût~Ü]†S;¼\s—±i}:Ÿ/ù™–þƲ#–ŸH•¹.&½UÎ[…'®]ÝnþðNÕ>Ý…n®|§œ× Ž}ÿÞ"WµÐ¶ê‹õTP³½šSß`ʺ =Üþ…‹ŸÝ »ýüý‹ æ5Uo½œÊ/ngÓ•CÙûùV4„B!„Bq¦+.qµø6K­ß .WÝ9ËÊ‚ÞhTT!6k½Ëìz˜ôd Ðu=¨„Ú?^¯M“ÛLBˆß9­’ÝßÎæöKÑÁ¡`éõ ?74¸nÎB®LQP”Ã?¡­‡0ýõõ”—Ë…¿ÌaƸ$š«ögm7–{>ÞAeßx2àå[FÐÖz0V[;F͘ÃÙ‡Ÿ ð¤¿ÈÖƒxî·úÿÃàÛþ:#;ã•-ÞÓ¿ï€Ší øÛe= ?Øw¦¤\?{%ù§è3®ßžcPjÃý#„B!ĉұS§ Ë–—wOÐívUÎ @^^Þ‰­tÀÉöû8`Nbôð^Lèƒv`+3\47»6ïe'± Ò‡ zÆ¢ØÃÏ™îªåBÉeáý©¡Ü£´ÀqàóŸ½XºXècÅjdJ…/ö²·±³t=y‹ú—h}qÚáiŽ„B!„B!ŽƒæÃx4+z½~ÌæàVõøœÒÒ-$hÞmOI:Büþ?sYü×KøÃëÆÏºŸ÷žH§”8"í¬céÈ ß®àÑѸ v³î¿ÏrÓ=7ñÏžßóP¿ÐPE5t/Ÿ¾r]£½lýàn®œ~9JžQÿ¹s×{Ü0úüv'/®|—‘”m_Äk÷ü™ó‡®äõï^ãʶ–&÷nêtKvÜt¬ÌîwÆ1âŸùpÙ#ô=‰}ç÷`îs?ß=wÝ¢XôSoº–{:,çóãQNîÁx|ÚI!„Bˆ,4< U·P€&Äáj{®ÂBâââðÔ¦ÿg­—2ÕT9i)»6:vŽ#DÕ!4†Öa¹¬+òáLÁX^ÊÎ2m{Æn4¢„%Ò­u1Ë2J(ŒO&R=¾ñU·§êþ˧£ë雜\½ÏÇúrÐHSÙ˜SuÍq`¯‡¬óòK±ŽKWˆ5qÃ`+—Å(x <ܸØÇÀ*k¶ûØT©abÊ@+Ó’ ÍàÓ_\ükW€R£ÊÈvÊ4ŸWÃŽ¦W½vy*J½ÌûÅÃG™gu°pw_3iõ\Šz|:ÔcÏëÕÑtô•LÜíc›O!­•™ç˜è…èÖÅçÓÑ<>>ýÅÅk»”«Ë£àõk(ŠRk¿Õ4õé.žÝèg»SÇfdÂ96þØNaÍÒ q[xsŒ™V «+¹¯ÐÌ3=5ž^æ§O[Ë·ùØ­ÛׯÍ˳ë|ìÑ Œëogf{6ïáö*ÍñqË×^†Žqp…îeúbç´5°n—ŸÍGôƒVc=—¶¤;ùóz‹G9¸5I¡,ÓÍür•Yñà=xlDÆ›è±ÎÍ{*÷·¦Þk_½´¯Ehl8^¿Žâiü¾p£í×DÿžˆrŸÄ'ñI|ŸÄ'ñI|ßï'>!„Ç—j4ðûNø~½ ³j:ºÄÃ`“E•Mééü²fm“åúõ9‡îݺ5¸ÜïoÞN’x(„ø}ÓÉ_ò(3ÞðqëÇßñаhÔf­oÀÓA®`ÄsKÙ]èZ>[,¢÷ žì]ã³þÚ»øãÛ㘿x'÷îCIÌûùü¾{Y;“¯æ?ÈÀðª¯"Ι̣ÿ‰Ã?ò"îþë†Î›DìiÜ{GÓw!]¯æþ®‡O9‘IóY—_‰Íì!„B!Ä‘\6õ`Ò¡ÇòtIQñé,f?oÕ½D“ÜCµ-QÎ•Èøá‰ø:&ƒ—òÂ\v•)Äw²àP¸=å¸ Vb:ªACQ ,̆i_9.-@œùøÆwˆÍR• ¨™¯Æ÷¹ çõE+*xä'g]h¥O…ÇWúh50”:¨¨Ns¿©ä_kŒ¸ÐB¬YAqXeâÑ‹Ãb×XüSüä¥ïevZ4–¬p2»ÀĽ 5xõ;'û¼*&³+ EÁd6`SÌùÑÍÒ+s¯µÐZóóîb'w¯2ðöyf’êäTjÕõPÍ ¯Æ9&™Î`ÅÏËß9yp­Âû£-„y¯‹îgåOU±þí²ú+þZ±Ú, šµö{HY–“§Òu&Œ ãªX…­›+™¹ÚMZrÃӌؗøI÷Zéxýü’¥Ó±‡™6fŠ+ÀÂR3³§80n¯àÆ•üÚÎÎ?§ØaG%·nð²!ÕÆpsö2Ôx­WõÃ'ÙFÊÈjõÃ9‡Ö3)dîrrç:QÃìÜÑVŨk¬Øá‡dg…°ªÅÄØd7÷í PÖÑHB=—ºêGÁ€ÙjÄbRêm—Z=ÖHûÕSú„—“ø$>‰Oâ“ø$>‰Oâ“øN§ødÌx!„8™Z:é°Cd[vïi²œY­:WöîÝ]k¡¢é-^ÑŠJÏÛÉݺv%Äá`ý¯ü±X,tëÚµñƒ%höOƒÜ;™ë ’Ný©ÆõãÆ·Ò)×åRqšÐsXùÖWøÆÞÇÍC¢›Ÿt¦y(ËÞÄ/>ÆBFpE¯è·«ˆ%B}ßc2Vðþ2Co»–¾áµ¿MP¢qãŸáþþ}VfL./ßÀsçÇœŽ¹ãîýˆ­åUËŽœjÙ“µˆ'/Iî((ö.L~n)¹ÿâ/ZË· %ÕRu^ˆù+ ‹Xz{7:\·ˆý¿>Ê€0%t/nÌ'ýßw0ª­j¿¡=˜öæV*›Ñ ÇÒwº¯’‚=?óîýám÷0®?7¥Þmv½Å…½F1ýÚs‰UŒq}™6ûs>x` Š‚ÚžóZLÎÁ¼~oÎ2^˜Úÿà¹ÑF‡±w³`kUÓZî1†º”a Šb ºÇU¼´¦âzÛé•]~pïcáC骠(*±½§ñÚoeèZYðíØÔyÛµ—/@š]AQBè<è\ºuÅ‹éžêº !„BÑ›j«qrlÛòéU÷¥%ž4¾2Ö®ÚȵYÙ¢hiÆ€Žß@W˜jÔSQ¨z·ÿ$Ý S Œhãüh›EexW3IÞ{Ü`¶ðÎuá<ÖY%LG¨‘ÑíTÌ^Jíðúç÷·26JÁaUÑÅL¢/À.§ŽVáç“0|€•1‘ ÑQfnd&µžî)Ìöð•ËÈ­}Ìtw(„†š¸ºŸ s–‡ŸÊ‚¯Ë…ƒ­\c :ÚÌŒ&Èò²º¢éºh•êXÏ64k½—O MÁbT0:w¶³hj—†CTœ™~¦_gkg©Ÿå^• ’ Uוª=-œmWhŸl¢•U弞fz8 tL6‘¤kdxš8>ŒÆô¶p^dÝ~8xUËþí.f¬ 0pxw´®‘w€¥yÐ&É@Xí»´J2à+ð³ÃÝÐurºÁŽj’Gò„B!„Bqô‚I:ô+‡ï?Ú´iW«€nhùÉ C–3¶SEaò¥“:xP½ËôïÇ”ËÿppxãF:ÎïoöOƒ !çÜ̼õYíã‡{øßÌ›xuƒL-„8MT`íÖbœ»_á²vÖªÄ-S¦ÍæÇ\oÃëyv0wLŠj%<é,&<¼†¸ó†ÓÞq"&êu’þÁ3|äÊôqíëM·‚Ì¢"öÿp/É_L碿,$ëÈÜs×F^rïDÌbYF™KnÁóÒÍÜó¿,žÌ›v)eçõ ¹”æ¥óï? 'ÅŰÒÙùöy¤žý«Êtôòåܬþ‡w~FÒ}ËÉ*+#wÕ³ Q²(ößGÕw”°üž~$´Àµ/g3lÖ,.Hmx(wîvòÒf±8#‡uOµgñ¬é¼e¼ïs Ø6w»^¹Ÿ·7:Áµ‰9×ü§²ÇóƦ< ÷-áÎØ™~é_YRpp곜-dÄLæå_²)Î]ËS]–óøÝ°ÝYo;ÝÚÞºðÞ7ðÚÚгWð@Ò7üí®ØåÏÖyÁ·ccçm½€%÷Màú“¸ÿÇ Šò71ozgü‡ú8X7!„B!ÎH¦0Îx6WŒìJS+~ͦÐÏÁÄJåÔŠÕh µFî§QU0®@UšÏ`éf7O-®à†Ê¹ñg?¥5sàŒ ­j®oT°*àÓÁå ¥èªT×:*"Íœsh:U!ÑZõR1TõA¬éðï*Ðä3ûF) ôCÕ}‰ýêe¿_!Æ¡ppóx]ûü míuK‡]%,`¯«žû ¨üåG‰çb Wäo^!„B!„8ƒX-!'|ŸF=@¹§*¿¬zŒ\]?ú'yCbC¥'›ÐPòa°I‡pt#6دŽö\tÃTFuK$"2•¡WNgXx>[ó*¥³„§_%…ζÄáܵ`¹¥¥än| 2ŸfÊo³­Q°tä†oóÐõÞŠ+f0zê;ì<®ƒóÈ_ô×ü5¡=ÆÄ6¦–Ù¬)’v];‘I«þ×óø3оyƒeZ­be¿Îg^f?yd}’#I0…ÛF鬸x{7¼ÇË¿và¯ÏÝÉØ´8Âb»2nâ(ZÛëߥêˆ!Öê!{ï> ½âºå†i#I1öQõ }f-™›øöÅQl™5†Ë_M§Á´y[+†^x=’ãé1f2½’è5z(]â¢é4|ƒÂ ØœSAéºy¼þ[[îxvçwŠ%*u ÓŸxœ‘¥3giVÕ…¶Vœ;qCÓˆˆëÅ—÷š½…ÜÆN¶V ½øBuŠ'"¡]Þãt²+›ÙŽœ·õ¬™ó…—IÏ>ÂÕç$Ó†½Óˆ>¸CuB!„âL¦˜ì´m…ÕUJ®KÇhRQ~jn¨ü‹zò’·Úµ§Äì˹g£w¨‰‹ûØy¨—zÄÈx ¯_]ÇZ¢Pßóçšö( ï\Ζ‘‡þÆÌ„ ÛF©qãùˆø‚­K0±ÖÇ`3rû%á|{©ƒé© û¶»˜úŸ Þ̯š?¼kÖB/¿–jü¼O§]G#‰†Ãû1*µëq4ù©NLgPÐßÁƒmt¬ò°íÐL~ ŽzFv4«’P+êlNÒá!Íí°ñízÈ^>‡£:âP”Ä‹ø`M“¹–…§ £•P{2¯¿‰Iý:F\Úxnèj"ýþ&6`À䈥ÃÐëyæÕÛ‰[ý&_í:^™‡:•é¯3ýº¹ÿø/]Ók%m±H1d²v[>ukà#wóZ²­èk«ïLCx«nđǾâÚÙ{΂]äîü”Ë[«U# *qŒ»â¢JŠs·QdjE«ˆà¾¡0Zª‡v IDAT¶žÌ_¾Ä°38>š—?É—»+iÎä˜úNµ‘ÔÑ·½Â{¶ã··?ck0yóª ³Zct ƒ‹ªÐt\Eû(µ¶¦KüávU#ÚÐ%F#/» o½›3c@C ºÖŒ#Š@×›ÛŽ Ÿ·Ý…»8à¡KRX½ß‡ª›B!„ggî.>]º›Œ—yšßO&ƒ‚Ù‚]sQä9ô?z W¹¿ÙAè)˜¼µg—Ÿfþ1!„‡úY˜Ðƀũã"ˆø›C%Å ‘^ªW_ÃTVøÉ©çb'&Ò€±2À–c™Å«±¥òp`%¥~òM×Åf>Ö†/¿Z%˜¹v°ƒ7':¸Æà‡l /kf )ÀW;½,r8?ñà4Ë'ŠIeP“úYéZâfö ‡FFÔqê®â÷ëxÐ:I‰vì—¼@û±ä¿··Oþö…B!„Bqt’’“«_§¶;üÚRÿˆE9ùöæf6¸A«ÙÖâAfådŸÑt(ùðš)W6+éPQ4MCUÕ ’UUEÓ4 †úŸ¯õl™ËµW«²} ™ÚÑ,EBˆÓGH ½ÛùH_ºƒ’okšjÃf2½)ƒjBUULÇiT çöyÜ|ÑÝlõ"óNL#ßh¨)ƒ™2ÔÄòÙóX]ZûÛ#½h%o¾´˰) Jª¯~:e™[Èó‡Zû3ÝOTÇ+ù4SC×õêŸü…—Ñ.,KùN¶æ64Ô ºVc¸ •ð®yà?ÈÏZÂmæ7¸vòÓüÒŒçZ¦ï ˜¬&TåØûÍ™J˜{[ó\ÕïJ÷³­P%>)œàÎG¶SS‚oÇÆÎÛ¦XÂ}YlØ_Rï®ÕM!„Bˆã!µ{Z÷",'=.[D Éj›vRâ à*+à×í%K’MÁ舠]¨—mÛóÈwûq–äñë^aI‘„O½v¶Y 4Ü^õ]<±MÃÐOáÛØÕ“ÃÄ•íV¬róe¡Nq‰7VyÙ]O¢ZL¢…Ñö¯­ôðS™ŽÓàËÊð^%K‚,ůñÅ*7ËÊt ¼¼°Ò‡µµ™>¥ÉºìÆêX¿(е¾ëâ=éŒx¯’óu<šN^Ÿß<:Gª®í¬*cS~^ç&+ÂLï“Ó§–(3·Ÿ¥²ñW7ß”Ùf QgW¥^çÚ®Ò©QnTik«çú׃£ïÔìå¸Jå¡r!„B!„B-;wU¿Þ¿ûp>¡«¢þ§SbcêÎúàÓáîöºê¬TZZT0‘Ž0–ÃÛ¢«n8&%$žñ¥( ýúöiÖH‡ÉÉÉäååa0ˆŠŠ"::ºÁŸ¨¨( $%%Õ»=OiZ4Ó:o)%}ÑY—ç—¿"!ÄéÃ̰éãð¿u+w½ý û‹ËÈÝ´€Çg· oeDJÓÉkº¯‚ìß>á‰;_ ³û•ŒhÝò ØîÝó™qáí¬ò_½zí­M¬`lÍ%O<Îùygò•óé†LJ+KÈXÿ1^q9³Ë.á©Ç/"åPò¢§€­w‘_QFÖÚy5œÄäp”Ê"œÍY¡ù}WÆo¯?ÀÃïüÀæÌœ¹lúôþøØzß8‰.Žc마Þ×p}×Ý<7ë9¾ÙQ@qÆÏ̽ï>GNæÖaIA̬U·Öä7~^-ߺ èvlì¼ml}7Ñùèÿîâµ{)(ØÇƵ›)ðÖ®›B!„FkÕ5OxTýÿ‰ oö6÷oÚZç½OÉI¯«b §×Ù­ˆ«<À7߯çÓÕÙTD¥2¼k`°Ò®[:(¬X±–…ësÑ’Z3 •S0ïÔ6îh«óöç¥ôš[Æý{ \5ÈL¢'À~w0 R5½ï_[xuaC¸Øk¦[=Ï+V#ec‚ÁË_Þ/áœ7Ëy¾ÐÈ̱v†{íeS¹0^ãï–0ôcûRì<Ó×H´D]jÄúâ'¥ÆZOô´ílçÞv:¯^ÂÙ¯–0i™ŸýÜž¬T—Iko$A7pVG#q'mfm…îÝ­\`òóâj9f•a±°;C£¬öÝ öf0Ƽ§ ˜CQ4'¯ÜßB!„B!ÄÑ ·Y›½Nõ}´Í[ÒéÚ¥&CÝ;8qñqäåæUí$<²ÎrMW1(µç€(®¬}{ÄUX"=t ÒÒÒXµj>Ÿ¯ÁQ kõ‰¦‘““ÃÀë]Öû™Vû=[¬•×Yqy4³KG†qéÈÚe®éY}uÈ{SÌØ,Jõ«¯AL*㇆2²Ÿ†ÍrðþâÐÃëÏŸz¸¬5ÌÄŸÆš¸Ëbhv]ÌQÞ¿æàuëÃ™Š®ƒÓZ+fµÑº¸<‡c?´F¡A`40fPcÞ¯íˆz Žp#Õ˜fÙmáÃë_]Z£h“ƒ¿»<VKÍeÞŸj©nÇ×Y©ti ôCͲ`°™¸grXu|Ön&Ì+¼lvxhw€o³ap?#ñ %IÍ(І®É½]!„B!„B´,Ÿ_Ád¬ÿžƒ2bĈïF„G„RZR5ߟ7à욎)ÝoD1V=u¹dÉé™fÊÊÊbóæÍdgg£ë ßDR…¤¤$ºvíJb¢Œ0)„hYEEEDEEI}O‡ÿl1ãßgò¿ãÖ4³´ß¤ríã Ÿø S¿þŽÛºZj-Û·¯ùÓ.;Nâãã¥a…B!Nq—]vÙ)GII)uGOœÿî«M®Ð ¨í„–ó ( '|¿v[ÓQyýf£á„–óx5'|¿Ç;>]Ÿ_cÙÏNÞ6Zyy€‘ðS©ýŸýàä—6vm_•™µËÉ={Œ<8ÔH‡†AK$ë±Q¯z™ˆî1XÎÐþ•ø$>‰Oâ“ø$>‰Oâ“øN||EåÍøE¾sBˆ–s<îº\l6KPe9äPÒ!pÌI‡@uÒ¡8:III N,„BÉ]’I©ßJ¨Å(qF P°}5™ÂÌÒB!„£Ñ„ßï ªlya ¡ÑDÄGQ’[t{sQ÷Ý!G¢1¥­¢pÂË*s2â bbE9áåCýåJ³]\÷¥—g 11{‚Á¶ãßÑì¿æö*ó=Üú•›ÌH Œ2i8±í×äö .ècæçŸ½lHµr~>Ù 0ÑÚØÈñq6Ñ£RÉœ=×Åsh3± †ãßI>þ$>‰Oâ“ø$>‰Oâ“ø$¾Ó/>!„'^ee9GèQ¯lÒ!4‘xXSvV‰IqÕ¿«f¯OzK!„8ùs¾åÑ?¿BaŸ¿3(I®ü~ß^ñÚ¥K«7¾¦¶gK±ñáM¶“Ö~ÁlÏ–`åÅ ‡~3s÷%æ Ú9ÛÄ牚\K|'óø“ø$>‰Oâ“ø$>‰Oâ“øNÅø‚»>BqâKÒas‰P3é¤C!„âðx‰Ÿø2 ߸šöiß7œ¿ñöõ½ˆˆ!mÊ»¦ÏçëçÇ“¨Jë!„Bœ‰Žÿ”UŠâ‘†B!„B!„â vxÄÀÔcŸŽÏ0 ©š´¬BqYZ_ÈwK;œ)ÿK>ÿ–xFšB!„B““{Ü÷¡ëò„“8Ué”–—Qh¥Ef85û§TúçTá]ÍÎ¥K‰vQò±.„B!„¿;UA èÇoûÕ¯&ú¼ÎcÚ $ !„B!„B!N¶€«„ë7ðá·k˜ÿ}:?î.ÃYÏ­Ë€3Ÿ•«6“^~fÞ× ìœÃÖéÓÈÝ×2£X–åof§Ky&ßGeÑv&ü%g-ø’~_|ÅY ¾¤Ç'ßqñ²t>-ö=)›§t7W/\ÁÜ’¦×ð•àÎ7ñ½«ê¦º·|/×~ܺ§¢Cu§4€·,øº4§ì±ò–íå¦ï~ ®*ŽèŸ²Ó»€ªãü¿?ñNéÉ«CÍ¿»—edqß—ßpÅ–R\< ×ÞÂÚ®dç¶Ù¬ž7‚µ«ᪧ ZÉ6ôvç»ߦœv„B!„â”lÒaJJjPåŒG jh<²€Él?æ u¿Åh•ÞB!„B!„â;™E«ä¤—+º]1ý¾!àdûÆ}°¶bôðp,ÎVoØÃJc'†§ÚPó•°vÃ>¸DË¡Ó"åЋƒÿšB¹ið n 1`3C…»ŒE›7òô²5íË QÆê¢-A×5¼5î©›CÛ0o|»ßEÛšÃÚ0o|›S2®×G§b bÃ:ýsŠÖé´ÿ»;bÙ¡å  àǽã>6np’0äYbö¥Þ9‘¬ïïfsèGôêÖöàˆþ‚ÿ°ù«ûɯèFd£ÛB!„Bq²µJŽç@fí™Pô@EU›\7#c?±Q©äío´œ?à­õ{uâa\| y¹-s‘ÛDÒ¡Í"½-„B!„B!D Ò}n“µÑ¤C Å“­vn§ï”j _E1{\V:§ÅiÖÀEûðV{ð¦Ú°¡Qz`?l+džÝ8ýû¿p9ÙïÎ&ýnüÆxC§Óêꋱ; €Ž–ý=Ùo¿BÁo{¨q8ßH«k'bÐÊqýð4ÛþŽŠ|/jʹDO½‹ä³cQÐÑ2¿#ë­W)Ü´Ÿ€9‰a7ÓêÊ °Ùë&š™MVBÍ&L*u†4T „Ø"¸äì^x*W2gKã¦b37ÖoáßÙT¨Vz¤vâ¾³Rèb®›Òäuå3/}+ ò*(7Ô(Èå/ß§³Þ ë¿[ÌêþCyÊžÍÍ‹²6xSô=\¿2Ÿ©VïËb£S#,,Ž«ÏîΔ3 S^’Á?ÖmçË"jHý,ËàÉaiô<òOG÷²nG:OmÏe›K#$$šKºwcZ´Êúu+yÂß‘w·"Õàç×+¹»¤ ³»yyhU.}Sl,ÝÍŒëÞIú~žJÏf7ÎïћۅRó«oÙ^nü1³Ñº\Þ­·¤ØŽˆÓÏæ똱ÅÇ„}¸>ÔDÍžó”îæ†Ÿrè—ê`ù®,¶ùÍœ•Ú‘û{´¢ÍÁ2Îò,^Y¿Oò*©TmônÓ‰{»'ÓɤTx¸,ƒC6ÚÆ7„•p÷Š-µúç…ˆ\n:¢Nç$ÙY—‘Mº«ÆºñVŒõôÏø8??Õß?®âÕ±ü¼7«žíÕ­×Ù­:rÏ:)eÌùa ?µîÇëC±è.¾\±œ‡\—s…/=AqèUtxõGzþãAÂræ°çEx@Åz²Ÿ{”ÇU¤¾¸ŒžÏ?HXÖkìý` ~€Ê=”l¶{Ï9ûíùĵÛAÁ[oSY ”®$óÙ'( ½Š/ÏYߌuósìš»¸jÛG°XBHuØiÝØèwªƒA©aø‹rÙê|%¼¹j#‹Ìí˜=z4+Æô`pÅvîXŸMÖ‘3`ûJ˜·n#KÌmù×ø±µËZx~D7zÙ#ø¿Ñ£˜“j«3›î.âƒ<×ÉO†rWto­ÛÉ:/hî|þ±j ¿†§ñÞ…çñ~w;v’ÝÀ,Üe;xt‡—óŒà—Iç17ÍÌ¢ ›Yä4Ñ59 kI6ëÍïí¯`y®Ÿv­¢I2îb¾(‹à¾‘#ùwW +ÖÿÂù‘<<î<Þëjaå–üìn¼Ûë«Ë»¿ídMÍì/=ÀÎ=øóf7çõ=‡Ûâ,Ô;λ˜y W;’Å£ºÐ©h+3Ë£@?Ø.+6ñ½¥-sÆaшN´ÉßÌŸ×çÔÛ6 µñCOîÒdÿ|\`bÊ€áµ×õÔß?÷5Ü?5cip{GÔ+µpKU½ vúÆšÈË« X¼•¬)óâ®,fG|ìÍ­ÀK[à«`q¾ÊåƒG°j¹ÜUÎëkwñ›¯öñ]ç˜=»§œÕJ+^?‚C¬¿þuîý-§jC“‡åÇ!‰Ä7ñwg±V-kå°Ó1ÔA[{8Ö¨hyÿ£¤ÄIý“ni(¶sé˜c ,>†Ô0ãï"YÆ¿m¥%½HºröH;jÜâ&FIÿ”²Ëm½Rèe3‘Ìͽ1æe³°R ¹³¼¡ÏèN霶ç¾MϿҜ͎OÃXš®oïv]ß½]m» tˆÀRYD¶Üî¶Âébð°Ôí‡@”B§va„ìœÚ³#ãÃÍØÌNFtH ] œ­ÞÆçw³ç¬jgh‡82,’lFÊšÙÇ\ÔÌyÞÒëÎËc#û0ÊfcüàAÜë"¬ûcdÆýÉúÏ®$kËl²ÿxÂÒÊIˆ—Õô2Ê{Õi’7_!„B!„8$µïL„£þ“¸ Òf£Äã©{RÓ½¨Š¥ÙJbÃã((˯{ìŠ k´=*<¦…Ïù š[—‘B!„B!„â (w—ᲇ´ú=¾£èÚžÉEÿ!}èçw³aÕF/S8ù„D¢ÇÒˆ{ñoÏ&P°’¬‰so2dà-/'°kZX_,a ‰¤%K$–ðËóšl(ø ú+ñoÏ…˜Ó±„Õ§hzaQÁSâÁ¶OQ뺆†‚Q RXVI~U)·|•Ó¸Æ6¯F}¶\MÙBw)wÎÝÅM•m-ÿÉh¦½¥þf|ƒÁ„EÑñëòKÝh¶T’ÌuAR”WnÓUÅD§r†óOžœ7—ÿ„ÇpRr"g¥&ÐYU1ZÂkàá%ìJµP™W@…+•þvʃ‰sMªªb4˜ˆ5Õ¦Å**4ô}l‹ à«`Ö† P]Œ±›0·T—ÙN¿0s]’™ËNœ¾¬jiåt{2© ’ŽÃ‘$QÀ†êXÛ­ORÆ'1ÒŽ«`_ú(HAír9"I¢ Õ. %ƒ,VThWVJuxc¼[™_ZM¹­œ¿vÎ0£T†=Ž£1£áÑB<¿ &ÚÕ-“Â>ÎýK™V,=I?ŸÈ^‘õã[TïœÎÒ•3I>õ=º¤Ä  „B!„B€ß¯b2Õ_KÚ¹}}ãÝ;‹ò±Ûë/µ”t4J:p»ÝØíÍßWè4Y©ô×LÍ(I‡B!„B!„B<2éP÷ƒR›È宬Æî´brXØ´n©íSÛT—?ØúÊ+A-´dš6—SÃHnÍúåäT&ájDÔjRl‚Aþ zHãó„0œ×¯Ód²`ýѨöë(í'öÐõØl{n÷Q½t]ÇëÕPëÓ|: ~¿^? £ëà÷ix:z°fߺÝ|A]!è×ZŒ¯ÚWSOÀ¯áõ+ Êiä•y¨R-Äèà €Ý•ÁËÃ:ÑQ×±˜§=yÊu4tü> OlaéZúÛ±çø6O%hí€9b4ñC.Á·è<6-]HBÜ9X¼´4íùé×Zý›Õúß«¶ÄZ}ºœÄ'ñI|ŸÄ'ñI|6>!„_AQ ±Ñ‘´Î ÏÁlj”tØ#Ð(ép_´”tPé¯&:ÚEQQ¹Œ¶B!„B!„‡IûĶçl ¹¼Ò`ö85è¬ø«¼mN:0‚‡¬œ;o3sÖ)ôБöšrAݦ(XM&CýÍѵæwƒ!ØèùCÑ›%”E­•r6Œ©I(_­$XÀ±ç¼vVLÉɨ•›Á›Ò¨¾ YAULfµîù€QAQÀdvàLk‡²h5øÀV;ËZ x%=–¨8“Òl|𹦣Im\.XÅÒ]•XcÒèé2aŒ´cÚTÊæ ô°ì]ŸjVPQ0™kf¸3m*#+ s¢eïdVƒWÅР=>#õíÓÕ½ÚŠ¹æ9£ÑDûh;ÆÜrŠ•n€¥•*•0,f›©©ñ0“Ù.‘Ìv‰LèQÄÓ –òk™—+bL$Æ&2Ä´’ù»(÷;¸¨‡EÁРÏ-&5¸»}5q© Ç„šmF£‚ͬ¶Ú–šqS±)*ªÉÁ°ö \¨úùé‡ü'72œ˜5PÕúóO5+¨j65ζԼè+ýåœtuZHÖl¨;ÊÈC¡‡¥&#­¤´Œ\ÝÊ).6TÔÝÇm¡Mf³_i4>ïÞm2œ/uû†:> ‡FmÔÏ{Ö—µw»J}¥õí²šè—hæ9y|ç7зsQضç0w§ð¤HÒl*‚Bsç•¡öœ­9¿8ö~­¨f¥~Ü,* ¶°Öêß mñm‘OÁ¤‚ÙêÂìr x0›Ul v šjÏO“B8¾ê;Ðå$>‰Oâ“ø$>‰OâkëqCû|$„âàÙ3é°²¢ g˜c¿ê4˜M!•kòÃä° ´q¹]myò}I:ø O™›`É* ž;ƒUO/ÐRÝ*æçaYÌÎw>¡ª¸ÿÖ¯ÉùïôîçâJ0·-T]£Ò]ÊçË—ór¹‹«ºÆÒN˜˜ÆÙÊxeY¿¹¸½Ì^úÃf/ç{OãdИ˜N±”òúª,~©Ú»¬Q5`Òxý¸µ¶­¾“—Â0%Ÿç×ä°Ñëc[îf¦n® ªÉ…g5¶fýÎèÙËø´Ô‡W ’WRÄJ¿‰Žaæše-.ÆÆø}ÝVv…%Ò÷0{W27eÚY¾v=s«š™© PÉ'+6óC¥ÂÒ¼¸²[b{z[âcSeÈç¹ÛXáñSXº“iËsðÅ¥pR—üÝ÷ñQšŸ·67>­kª]¯¬ÞÕ ]*‰Ñј‹¶°Àï¤Ã€+,†ŽZ_+ ˆ±c á8 Ïï¦ÎÙ¶ì3zþÊf÷ ™¶•_žÀ÷ŸM§¤¼M¯¦zÇ{lÙX†3c V!„B!„G±ýM:ðTxBûœßÔ“þ*o›¨´r‘Àl°ã ºet³]»v±bÅ †ŠËÕúÅâ²²2xøÿö;Z0Ȳß•NB!„B!„8J}ÈŽ·aóf:edòv*–púöiÏ_«·3ç{/A£…¸ÄFvŒÂq,&Õ„õ'öÖG0½÷2[ny… æÀÜu<‰·Ýˆ+Rú“xû}ðÆ‹l»ñq4c öA—“:aæ¢7Z®;|(‰wÜ‹òæ+lúç“h¶dœ'ÝAÆEã°ÁÓÚ'þ ^_0‡×kªF+c¹ë¤LN¨¹<­˜£¹ihoLËÖsßüõT`$)&‘[wa„MÁïk0¶æh®;¡7æ5ë¹cöFÊ÷(«£8#.‹Ç\ÈÚÞCx&*ônT­±Ü:¨Oÿ¹š‹¾ðcHào‰ad—)öÊmSIKíÁÝ•«xaá<òéØì‘œÚ½×EïNÈ4Ó99šø,™í#‰?l9¯Fºgtâômòâš|zt#aÏ"&;œL7­ºéÝy®{ A­¦_†öļt=×}½ ÑÎ ©Ý˜Ö#‘$|´¥#9#nKÝø¼˜°ã36!Œí•MOˆõíÑ®¾É]™Ö»¦]vg4}í 9ÎhRLa v™™[Å`gh³74<¿ï˜½~¯sÖï }Ÿ›NèÄ›Z%ý¸˜iÆ^|<¬ñmjxíFMÅ»èIÖù,^¿†²­3qý¦Ñ£G' òV)„B!„Ç=[˜-´Ï¼£F ùö8U5¡iþà‚ d”ƒ~øž={®·>ôS§MçÝ÷? &:šùß~#(Äq®¸¸˜¨¨(i¯þ;Jegg·y·ÛM||¼tžB!ÄîüóÏoq{lZ; ¶î:¨1ôéÝ›eË—7¹mÖû/¶º¿?hi‰âYÎ0Ô,szˆ ÂÁohKÈrU-䥨Žíø¬Xõ ·¥ñÆIíIUÚ_Uñ®]RÅ5'õá”&f<<úÏ[–Å5?íbÔ°Á\a8ŠÆ7À’å?s_i‡ºñ‘×Gã«ø¿,$jÄ]DY¤ÿ$>‰Oâ“ø$>‰Oâkûq·ç·}©eùÎA!œÖ®lmº¿7”¤Ã0«UFõ¶}ûv~¿Ÿ@ ÐâÏSSž«K:t8ì¼þÊËÒB!„B!„G©†I‡V³ý £©¤CÕa‘ÎG…²‚ÕœùÅ"žßåÁ£),ÚÁ[Ù>:$E’ÐÆõt]Ãp³8+—@| ý¹%¾Œñygû¾¨e@æØ–“…B!„B;œÎ°Ê…›C›ñ0¤ÄCg\lÈ–”–É(Át]o5áÐï÷3ùÙ)|øñ,¢"#¹èÜsHï&(„8bU,yŒÁµó|_ÜL¡Ü¯¸$YAQêÂR‡1ñõ¥”j/¶`ùæLû''§YQŒÝ¸íÇ’¦ jUdÍÎ-ç %Ó¡`éû¿U4õÇ<›÷ÿݨ~L=¹kqÛÞ}k_fD‡¡LYá9tƒj{kUnøˆ‡ÏïMxm;M‰ƒ¹zú/ŽÌsÒ³b CSqŸ !„B¢jŸ»þ#FÖ( ø«CûÔè_¯t¸8*„Ggpw¦—üÀÀYß2vñvÔŒÞ<–yYž²,&|µÇ+⸹s$Ò½g|ÒzíÓø!„B!„Ç2›=ºÉç+++BÚ¿ÌÚwÜÆP U愸ÑZóßb³âõTËH‚Áæ§;Öug¦>ÏWßÌ ""‚—^˜ÊÒ¿þ’ŽB¹ª×ò‘•ÔžS+e-¹fîbÞMua}ù ×Þs-Ï÷þžG†”ð<›>ç•YE »åŒÓ?iæsó8› _÷rÚ÷óî“Cè”GdS“(©\2»ˆKÐØúÞ©Œxª/,z’!®}‹ÑÜõzn¹þ¾µ¡½»¼˜O¸Ÿï¦Œ¦{tíó¦pÕµWrOæ"Þø[<‡wrƒ YÿϨç‡ðáÿfP˜¼,…B!ÄÑC êÍnóÁÒ`åU£)´ÕN Ò­âh¤Z9±[Nì¶ÿUÙ#2yïìNGE³-áé¼{zúQ9>¯†M•SW!„B!„hÈã.:$Ç©K<¬¬¨ÀÖô·ä•%Å8#£ÚT±$¹š©¡N*§ŽÇí·ÜŒ®ë<ûü |;÷;"ÂÃyqêsÄÇÅI§ !Ž`~²?{”g7 áþ{¬¼6=ÔýT¬1™ =ëbFMYHV‘88ÙbÎ~wòÙB 6W¾þi%t Lâ†7ü\?ë;}ÌI·/íuv»œû|¹Ðåä³89ñ}þ*¨BC¾ØB!„â`°´òvzJ'²¶mŽB!„B!„â8Sw/àî¤Ã¼Üü½ µ5éPÙ‚Á Á`»½fZ©o¾ÃÔi/2ùÙ)uI‡.—‹ŸŽÄv øýþfjÒØúî8¢-½¸}^ —/á‰á.bÆü—¬F+ºY:y0Ƀ'³Ô]¿ÿŽYÓuÀýüZ.ã"„Ø7ZÞ|žzt1·?Ì9i¦6ìè¥|×*¾˜ö_1Š‹ûF¾Fè¹üòÖlüãîãºa"éÐÊgO$mø ¬Ú}@Ùbîîi§ýeŸ“S;™‰oÝ+œœ:€IV6ZjÙ»zcz军Σ—KAQT¢{]Æ‹” hå¬þ·qJº­fiç°^LxsUmˆpÚ«û«(ÜòïÜ+oWàê“’›¬#¸ù-Nï{ ¯<‰XEÁ7€ Ó?çƒÇ“ ((aüí‘ùäÖ.ÕìËý‘®D’YAQldŽ»›ÖU¢A+}RÂÂ[º“ù÷yl[6‰Á.%l/o@u6_=r=ÂÅ@l¿ ¼¶¢½­ýX½‰÷¯Z›‚!n ÿxk5»'¦ñlåëIgÑÅ® (N:=‰î™§0mµ·®mB!„Bh½S»HÒ¡hï6Í}šbY}û8$³†êŠ€t…B!„BqŒÚk©åø™ÝîX·{ÆÃ©OOæÖ»îÁívóÕìÙuÛÜN¦OB\l,^¯MÓš©I%í²ùfËxμé!F}÷a/þ/ùoå‹/¯$½Qˆ®g\JÆK3ùbõôà„àv½·Œð3龜KÆE±/ÊYòÊC|O¯è†í·vñndÆØ8fÔ=ábÀ-ÉpÆ…z+·óçºÜÖ—9?ýR~Ûæc;]~/ÏL¾Žáñæ6Vh£ãØsIzé¾Ïú?zt³P¾ækæo‡ÂêÏX–&‰ñ~¶,œÅ–„³y¶‹¶5®Á“»–1ÏðÒï/Ñ3jÝt6Ýý£¿ù'6Ïä†Û?£ý¤Eä\Ô Ã¶Ÿùò÷J|]p„ê¾··”E÷œÈ¨çÖTR¸èµ×95¥ùòÕyÈ¿àeæïøæÜÂé×O$çÞ|Ÿ÷†îåôïçí³†pO—,^½âB&+×óæª¯dÝÄÿ‰çy‰\øÃ[é“/¬fS¿ÆK-{VLa–®ÞïŸü_º¹¶0óçòð]sò—WÓ~cú1¨àì3o˜EÿD?+ß¾‘‹î¸–N}çqWo7 î;‹«¿ʳ?íàôT?¾zœ+ï][;˜«xõŠ ¹ù»\ù“!„B!ˆÔN)¬[¹‰åÙëjþ]5(‚:‘®JÊK›ÝÏlý¶£ Úš©¡” V—°jÍ6²Jª šì$¶O¡Oj8öÚ]ý•¬\¿“­¥^Š™È¸vôíOŒY9$ñAÍ2±­~Œõë@Ëåô°õéoqÝþ*Ññ;)™q/ù¿nA‹9•ö<Š3¼ÁGÐKyò­ÅlöCT¯3xà¼Tö¼4ç h(ŠÒêq›Š¯¼h-ÿø­!}2([½š-©ƒx5³šÊe³mÕwTVûQ¶Î&ªû}dö=«‚ùϱ싨lx8CövgÐ~ÀmÄÇFP?*:Õ¥?·ü ¶/ÅSÄ`Ï$<ý*Rú\@¸ÝRÿ…zÌ&ËŠ9…ðŽ·’9ðêVrç_ÀÆ’±t;c£RßÁ,vÍ»,÷%ô8õ6Â-J³ñµt¬°ŒÑið¹8L ]“X:÷wâNû©1öFe«¶ÿ›% –wÚÿHÒ^bÙ¯ uy>CGcVëÇW+|–?æýDì©ÿ#RÉÞ{Ì:¹°ÕÅWÉÊYòŠJ0%páµg36ÞØb?ë»>eûÓ_áø×ËD›U´Íÿ!{êo8n{™¸ô–—lߟóïP”“ø$>‰Oâ“ø$>‰Oâ“øB/'„âÈVYV…3ܱÏû¥ ?Á`ÍT„i©©L}ú)n½ënÜîši/<÷,ñ±±ø|>4MC×õ¦+SÂtë+Üýé\{Úï‹\üë‹;±÷ZkÇñ\Ñí9^úd%·‚}ë¼³:šóîŠS†E±<«ÞâÞ×+9çÍÿã…²“¥#×Ì]Ìc¢ñW‘ý×—<ÉI‰L™ü$í““IMIáùgŸ!>6–êêj@ öÎÂ>üý¡ ‰XµÇ9qu¿fÒÍéœreoʾþˆe%>²¼ÇÆ„ 9µ³]DÑv¾,f=úÛF=Ê]§ÄíÚŠÉKæð«yú•[ˆ[ò&³7¦µžŒVÂìI ¹úZΘIœËE\—Ó¸å‘ˉ\ö!‹wìòD¶ŽŒ9/‘íÏ–¢uÌ^¨1ôª‹¸b˜ß¿\E^ö">Þ’À¹ã;Ê_aƒÉŒŠ†S/à¯_dÄÆG91>š^=É×YUèmo¿Úk°‘Ø17¾Ì»¥³âíÏXWR#0@Û¨jÄbPj:žâlʬ©t·ÕH£kŒFþ®r|­ôI¨çœÑbDÑ‚èz[ûÑË®E¯rÃ)q( J»3ø`‹MÓ©.ÚÌö@ ]]4õ޽»mB!„âØíˆ ©Üî¤C É¤C Ù¤Ã¦q}á¯,a‹ÇJç´"ÍìQd„Cy‰à-/aWÐIÑ„› ˜í‘tîŽRVB‰ïè{}ûl½åïìüö)ÖÝñ4•¥[ÈŸ4޵ÿ]z¾ ½ðC&Ü3Ëý¼Äƒ òÙó“´ÙdÃe2‘`µ`6á²»ñïX‡Òîj’۷ǨZ±$^Kÿ«ÿ¤÷MžWL}H:i:â6‘½ä[ÜXÏŽ_ *þßô9‘ب F'ÖØSÉÿ™®El\ô9î}itsÇlòã]ö´ ddÆâÞ¶·Ôð³è<ä‚k'±}g!: •~ʆßþÂÑ©ñûxëuí±RÒëÕ&¦\Ñrú7»Êš>¹÷3­Þ—éßBÁC#XùììRñ|²~†Ê¢ÕäÜù76ý”Só¼V÷§§Ùpýpþº`+n»‹¼ÕEuŸƒµÂEìzê6MÀÚkNgý>Ã]U3ZÖ¬»ñr>˜ÄúÿV³ÿ­·S¸ª M×#„B!„BˆcU[“÷‡¬™àN3Š¢ iƒ¡.ù0)±ï¾5ƒ™3^'.6ÇS—th0Ð4 UmáTñ¬áƒÉŸQÞ½3%³žàÍeIq%=søßÏ¿ñÝûÙ¤\2ŽŽV!DÛù·|ÇŒ¹[ØüÞ…¤šj–0Š;ƒ5«^âäh…´ s(±.Õ`Â`0`2¦å–ÉôK÷³záFJ½YûÑ 6l¦}y»¶ÒqÌù$nÿ„¯¿ý‚9³G½Î¿|Æ·_}Ä–„s¿OÉß»Ãÿ[NAÎn4¿Á•<Åï¡×p`Ú«b²š0(û?nÖÈ\ÕÙ¬Ë÷Ô=,ÛÆú"ñ‰á„¶‚´ºFèßx„ÞÞµ3¸òâg(:ûu–æQžýWu¬‰ÊäŒ%ÜŸÃòm¥MzwÛ„B!ı¯¨ªø€Ögo°d­3"ê¨ê Sx§ŽèL†C=HEaëËTââlXkLgÈ$¥îº”†×í# 1ÅWL ]n¡Ë3wâŒîNâ3‹è6¡?†ý®ÕHêˆ ykòͼ7ùfÞ{ò:ÝŽ°È ÆõŽÞ+AÍbu’â°ÓÞa§c˜ƒöp¬QÑ ¾¡¨Ôݶ$1Cb:uCË›K…['X²€]…N";Ÿ„uÏq2u%¡×Èý„¢òý¸Ð¾Ç1›§¡k 3ÍØ;ÝK§´Jò~{•2÷Vvýü¥Q7ÓµWý =¸)¤j"qC&‘l^Àú…ïSÙĽ~{™©õ/Lˆý÷BzÞ1ÓžÛ¢N!ýÑÝçál2‡'Ö<_µ…Šuvbïù’>o¿OrÇ ä¾þUU€{yS£$ì2’§.¤óäpå¾Ê–7æáÛÝôâe¬#þþ/éýæÿ#¹ÓfŠÞšAeB!„B!ÄqK ¶}"£ªêšïÅcÚEï×±Û|Íé”EqfIIIäç磪*QQQDGG†¦ihšFXXÑÑÑDGG…ªªäç瓘˜ØÜ©ÈòWoâÉgñÖìÙ¼46‹'þùKÊ›¾(§&ÈÃ|3éq¦ïHçÒÑ!&s!Dc¦Î×ñ}™Ž®×ÿäϽ†n=n`A‘ÎÖ·ÆÛJº¿’]+>á‰Û_`gK•z˜þ"©IŒ˜8žÀ[×s×Û¿³­¤œ¼UñøïÃé×3*yß¾õ²fŽáü¤õ<=i&ÕÏ¢GD÷>›þyìɕğ;ŽŽ¶¶×[±î#^{g1YÅ•ø á´K G©*nÓ¬ moo9+^Gÿûkv–â®ÌcÕ§ÿæŸm¡ß?Î¥«cÿ† ¢ß\Ý-‹)wNaÎÆBJvüÆŒûîc~ä\?"‘ÖS 8bbQó—²lk>[^ÀÖÞ² µh:vÉ$ÞRÆêy_òW~MýÆÔÑ\7VçãÝÅk‹·RX˜ÍÊ?×PèkÜ6!„BqüZ¿~uÝï99»BÞÏí®Ÿ­²´øèl¼¿œ?]ÉWæPl‹¢C¤¹É ¢Ê–f¹±'Ä-«Z Q²îg^[TÍÀ3‡3$º‰t:K,ìÃ(›ñƒqO¬‹°î‘ó'«?¼œ¬-³Éþã= K+CHB4bt$b àñúT­ÅKgXS®1¹ºcÕs(¯ªÜ66>f“ׂ%Tf½Î¦Í%8:ŒÀ¾;óÎJ»¡wéû ndc^W2Oº”0ã¾G³ûXÙ[ö8V(ŽQdŽü;–ϰfÅʽgÁÜkÌLçô1%áºðj"S"P鄟| f÷ªËüÖDqi?/9 k„5v0qŒAYý)嵟1'yñ߉h‰!,ƒðQ£0Uo¦ºÌ'/M!„B!„Ç-ÕÐô…‡0[ýõ“Òjw£mkM¢@ᮢfëŒ oôØnÞ;¹ Í—<*+k.Úhf3VøŸ{ÿó ÃÚ0J«íõ¯ç?c¼‡54½”ßž¿Œ'þžƒ0§Œäÿÿ”‡/ï²Oíhü_R/nx÷}´;îàªn’°ÑñÔÛxó“{­àË ¡M'þ‹^Ìm½ãq»F0íSX?ºúý“'¯^ÂÄÓÚó˜?’!×^Ç€Nªƒ:’8kúL¿÷?3ƒÿ+¶Ð¡W%¨FmB!„ÇŸ ÏÁl¢sçîuÏ%&¶k²lVÖ6ÒÓS޽N0¹è?¤ýün6¬ÚÈâe 'ŸHtÝUQ_y.¬ØNqx2£Òr“l üEë™ùÙ¬ƒOçÂ.ŽgñS,=I=ÔòOX3ÿMªwNgéÊ™$Ÿú]RbZÞY S³Òºµæ÷¦ ×$3îïÚ» à_KÖG]ixK—bíB\¯ité×»ÑEv5ü,ÒúËŠŸ–>êE’¢Úx±¡™cE÷xžîµÇò·yâsò-t?áþXr?;£g’|8fö´DbvÕ‚WL6üýnüÛ³ñç¯$kâœÆû2ð–Wƒ 0G`i¸¿Ù¢Ñ‚²Ø²B!„Bˆã[LB …¹Û=Wá©_" ÂÚtŸ¦ûQ•¦s·JJÊ=vûjfI4šLü5³é„”xXT\JtTD£çTŸ–î#”¤Ã#Sbb"ƒfÍš5äææ¢ëÍ_”Q…ÄÄDN<ñDâãã›*kÐÃü‘÷pýy‘x¯nðjíãë¾/ãº=Oö§1¸Ã×x/NŠQÆDqàÄŽyƒÕ+[(p:ïïÐ9´)XºÝô7µRLqÒõâ§ùââ§ÛX¿JÚeß’}Y“ïÆt¿ùGÊonÔKŒ{}3úëKš»^ÏÂ-××>º™EÙ77îº3>dóµ¢þÉkÿÉûÓ-­µ×Ôy÷úLœÎ7§‡|CÆæmžPÿD»3ùhÙ ÞFóŸuëG*édîxÿ/îhâ±to¥O%b·¶™Û”¹éÌ»íÓþÂoØvaíƒÈ6ô£9‰ñÍaÛc Ÿ|²þ,ëÁ•/ÎçÊkWýù8#Ï™ƒªÔ·M!„B æÐoøÜ3éÐd +»MFþЗq ;¬}¡˜ìtH‹bò2ò< D‡©€FeÞN~\U€/:•“{DqÜ_«ªfõgò᥻?è0öÚ ¹*ÝŠîÍgî'‹X;{ONÂÙæä7#&WŽ¨Ñ´~ÞÎaÝòIk.ÍŸ©~ü; Ûa³˜1:»aå#ªª* rÏ»¶4üåkñÒŽ°ýZµ§ñ1ñ¦®¤Ÿû ìTþHÞÏ÷²=0šö=FaÛëœ1aŽì‚Ù²°è¸¶/9ÔàXÁòElýán¶FÓ®ký±ÕŽŠ`Ë/ëÁJ4Ì Ðn #¢Ïd ‹¦ápQ”¦† IDATNvE…æ’Fu5õ:NºÐPU°Yê{O˪¹‚‚B!„B!ö°gÒa¨öL:´T=œ’ŸfËÖ xý4>›§³yÅ&ì].%ÜÖt}†È É4¥p ¾ÀA—Ȉ5ìz{&Uù•h›(™q +n|”²M^†B!„B!ÄaÐü{=ç«ÔÏxh4ˆˆˆ ´´´ñŽú½Y]U‰Õá”9N·|Ëós4FÍ@œäB!„€Ü+x{â5\µÃ‡1¾7gÝð>ßÞví Ò;B!„âÐ0[ø¼UGL<Š%œ¾}Úó×êíÌùÞKÐh!.1…‘£p¨A w’ï¢oÙÀ[ìht1xHG2ìr᪎VÁªß7“ïññí[3ø¶Á&{Ç1n·›øøxé—Ãßšž½°Ú§¡(Ê=®×¯cÑÿ`ëâ…D½ƒp˾×wÐâ;@åŽÕø|¹òÌ{[pùÙŒ‡À_/»zí®D@úOâ“ø$>‰Oâ“ø$>‰ï¸Œ¯°¬íé&òƒB8ûr=0*2‚â’Òrü×ÅÈ/Ì!.&±ÁŽû~×o™¯ZF^!„B!„BˆƒÈ¤¨øõ–“ßL&~¿¿ÙíÍ%’Mº¿bn´="ÌIiEe}C0´¸q9]E9<ñÙ,¡Ì‘§Ðr>#¨ Mj³å5 Tõ`Ä7ˆ®ãíw}/¾SîXO5)¨Š‚ɤb3PºÚkDœôŸÄ'ñI|ŸÄ'ñI|ßq_hŸ„B9ZK:´GYqWcvXñUµœãrâaäÃÖø}Læš»u‹róˆNlu!„B!„B!¥EEÄEEà°Ù¨òxö*Ó\Òann m¸¦·gÒ!Ð(éPaÜyüoÚËÌë{&“.J#ükžçƒüúÉÛ4»øwØyô¿èybmÇwLm8aXö¿xfi%˜Ú1@mGÄ?–×’B!„BqŒq×$¶–t­$vëÖ—5k–¶9€ÝI‡€$ !„B!„BqìN:PÌ6h"ñ°9uI‡^,Êþ 2G s|_™Ôÿ˜n£)iÃoš€ÇêŒ-‡.¦†Ž”øZf§ÏEWóÞEòúB!„B!D½¯hìKÒ¡B!„B!„âÈRYV¼o;îoÒ!€ôÐ^B!„B!„B죘”¨Cv¬Vo¥,*. ©¢âÒR9!„B!„B!Ä^¢ÂdU±¼KØ4÷iнÒB!„B!„-)ÜÖødÝf;`uW•ù=nõVãè¨è*ŽŠˆ‘B!„B!„âAAñ¾ß,ì ¤²¬€‚‚BbccÚ´¿æ šj.?–Tì<äízJY¹z›Š« šl$§¶§š »Ú`ûšíl(ò4ÙINMn´]`¾"æ2‡VãŽèÂ×¥oXýæò‚5\±¨€A}2¨\³š¬ôÁ¼ÕÉ‹{ÙC¬[:— %{61=ï§C“±í1NZéG¬øæ¸Æ¼Cz¬­®ÎË0|@GJ—¯¬©³k86 !„B!„B#"œ”V6 PñxرáæFÈe4Ådnòù²òü&Ÿ÷úü2êB!„B!„BDû’th Ú¨ÉÛt´9é¨K:<,‚n6¬Ìf»9‘1#ûrVß´í[øe‡‡`ƒíÛÌí9ìNëÛx»8àe;Yœ']ýfÞ9†>a·+JÍ€(¨Þx+——“0òYÒ:^K¯Ñ—š»Ù¸i ZÝžÂ÷YõåÝä–y÷®“†u !„B!„B[ZJ:<ØŒUÕnV{›wÞ‘»ƒä„dtÍ4ŠÙÛ²IMI¥¤¸œÈ(᮸&÷³˜M2êB!„B!„Ba<žÒ£¿þʶx¬tîC¤Ysá¹,)ñâK±a¬ÝÞµ{4fŠ%ŠŒðœºíÇÛŒxZö»l|êk¬ì”/Y‡2àQÚ߯¶áÜŽòyßQ­¥yéÝDkŸ°ýÃïðjiD^9™ØáZ­ß½u“^û‹¬ŸñËOÀŽY30u~Z›3~(wþÃ΋l¤×%ç0>ÁªFAØI´Ùˆ7Z Úí”ÂÐâ¬ýšœ¼3ñ¡Ú£Q¥×§¡¨ iª ÃI;m‘ê,VÍù ŸW«ï×Ú:ã VÂívJ <Íôùìçúø8"ÆWâ“ø$>‰Oâ“ø$>‰Oâ“øW|B!Ž{&û•tètškãœQäWP^U†ËÞæÊ¬5÷Šææ’Ðò•&W„KFó0Ùµk+V¬`èС¸\­CYY<ü‹û-dÙï¿J' !„B!„BZK:¨ôz(/-Á @iI%‘΃¢„V怖 ”±lù6—0D$28Ò„¡á~þrVþµ‘¬Šf¶äøT5”º”ƒ^NWsŽ'b ›nŘ„sü©8"#кÄä,Ä>îTìQ.´n1}»ˆ€;€ªB:. (j3í¶Åòð‰±xý:–2ÐÃ'‘Zx?ÿÝœ‰Û‘]ÎÄj³×¶Ã#ýb€V\{œ†õÛb¹oP “µuŠ~VÔC3nŸÄ'ñI|ŸÄ'ñI|ŸÄw¤Ç'„âÐr—U` ©¬Óà¢2ØúäŠÅˆî ìõ|e¥¯&ñpwÒ!°OI‡ µ–t(¯õë×3`À@ Õò¯Íx“ÿ @Lt´t B!„B!Ä1Äl6×%-éÀdúr–0éÿ› «6òÛ 8ù„D¢µÛ úìOß`[Ö¬ß{ûAŽÏf å›:í —ÓÌ*ªÙ…=†͢ÖÌ\bÕŽ=²ö9›ƒÙ‰5ÜZóØjÆ èÔÐÚ0‚ Mj+åÄgéMæi H-ø˜5óߤ:÷EV¯y‡øSÞ!3%¦Q=A“‚ª€i¯úµCÞÏšV“üx¤Œ¯Ä'ñI|ŸÄ'ñI|ŸÄ'ñ¼øÚ¶ª¦Bˆƒ+Ô¤C ¤¤C É¤ÃÝZ|ÇHŠNlµrŸOíh²}ûv~¿Ÿ@ ÐâÏSSžãÝ÷?Àá°óú+/K !„B!„B%"]Q­–ñ'÷“iQX=eä5±Ô®bt´¸ýøè$Ô=§iÜã9¥ö§EÕ¬þl&—Ý3­æçÞ™ü7«z?3breàˆMÇ3fÑ#µ„ÂÕ?áÕå5.„B!„BÑš@ õë••UÄGÔL8˜ÐàFå–´˜x¸³(§Õ Ìææ·ƒ’Ý~¤Ñu½Õ„C¿ßÏäg§ðádzˆŠŒä¢sÏ!½Cšt â¤è÷W¹a|/Ú™EÁš>Ž{fm¤ª¹/r¿â’äš²»ÂR‡1ñõ¥”Aß+U,yŒÁµó|_ÜÔólÞÿ[t£v4ú1õä®Åem:¦oíËŒè0”)+<‡®¡ZYs§sËyCÉt(Xú>Äo¨ŽžSšrˆûT!„BˆJÊ›ÿgÙÐÂ5=%èoÓqÊ*êïŽVZªørçmæÓ…Yìð6øDŤ*uÛ·W7½]ì+ÝϾ’÷&ß\óóä•\•n=0U«N,NÜh’x(„B!„BÑ*£±õëuN§€¼ÒBrKKBª[õú«ZàƒAFï ›ý L~v Ÿ~þ¼ôÂTYfYq2`0q ½—O×åSVºƒïŽå£‰ñØÏ¥ÍïféÈ5sóÑõ ž‚Ìy¤;‹¸–çÿ¨82šU½–w|¬¤öĘš)£¤rÉì"t]G׃lyw)=ïáç2½æ9ÿJž>1¼M‡5w½ž…[~æö^¶Côf”ÇüûG3àÒ·(x;ï.ÝÉ®Å10ìõÑ¡w%ë¿cHmCò¤B!„‡õ?ØntÖ ÿÑsE´XWx˜«~ßf*N‰?¤í³EÄd(gUV¥¾ žòB–m(…èXmJÝöåYÅ”ùƒT—4Ú.ŽÚVv~yß6Âòr4½šêï±ecö´XUé"!„B!„Bˆ–¸ƒƒZ¿ÑbjúnS «ËJuyµŒÄ1$¨9©N*§ŽÇí·ÜŒ®ë<ûü |;÷;"ÂÃyqêsÄÇÅI§ !ŽHýnàÉ~õ^yÿ|{<ïÏßÄý'ž€³Å½U¬1™ =ëbFMYHV‘;Ì-ò“ýÙ£<»a÷ßcåµéÇîØ,˜Ä oø¹~Öw<2"ƒô‘B!„G¬ŠòÒý®c[AÞ!Y±„Ó·O{þZ½9ß{ -Ä%¦0²c¨Ý¾lÍü˜µ÷vqø©i´5ï¢'Y5ëYªýʶÎÄõ›Fç.aB!„B!„h™Ý`l[y³·ÏRÙ¬­[›¿>£QsgïH:Ì+.”‘<‚ìžÝÐn·ðÍ·s˜:íE&?;¥.éÐårñâóÏ‘Ø.¿ßßìY²õÝqD[zqû¼4@/_ÂÃ]ÄŒù/Y²Ò¶âPó³½\qNZ,XóR¾k_L{Œ¯ÅÅ}ÿÌ®ZÞ|žzt1·?Ì9iû3•Ÿ‡ÏžHÚðXµûm¼l1w÷´Óþ²ÏÉ©]ŽÊ·îNNÀ¤?+-µì]=1½ÆrÃMçÑË¥ (*ѽ.ãÅ?JдrVÿ¿Û8%ÝV³´sX/&¼¹Žª6DøË[³ñ»ë†µ%é°m}Üü§÷=…‰WžD¬¢`ŒÀ„éŸóÁƒãIP”° þöÈ|rkoòðåþÈ W "ɬ (62ÇÝÍGë*Ñ •>)aá-ÝÉüû<¶-›Ä`—‚6Œ—7 :›¯9‡a Šb ¶ß^[QŽÞÖ~¬ÞÄû×­MÁ7¼µšŠÝK‹y¶òõ¤³èbWP'‡žD÷ÌS˜¶Ú[×6!„B!Z’Ô.ñ˜k“ÉM¿úpѸ¸ô”žŒîM„±ñö{qÎ)ƒ¸`dŸ½¶OÔÔËéüêLÒ¬ žû;_«nÏ25ß":ÅÒ1Œq½yøÞ‹831ôNVÃIÿ #'|Lfç›på<úö†¹‰«Ú†˜‰ žð%é±6yA !„B!„â¸S\Rµßu„štž–V“x˜ž’Úl¡®Ó÷;¨ø¨Ý#H  0õéÉuɇ_͞ͼßæt2}êâbcñz½u3$îM%í²ùæïÞôßìÈãÇ'þ—ü·òÅGW’.+m !)7«?xš=Ù8>£ùÄCïFfŒC1X OìÉYþAÜè‘d8÷RZå,yå!>w]ËcWtcÿVö²Ñqì¹$íø„ï³jÏÊ×|ÍüíPøûg,Ë×[ÎbKÂÙœÖeï¹!=¹kÙs/ý¾‹’¼?™Üußý¼à]7“nÿŒÄû‘S^NÞ¯Ï0LÉ¡$ôÿAøs] 9?ÝZ“tgJdð„éü”ç; }T·ü.w2G.MÎ`þyËx#ßç²~Æ)l~ù~Þ^éÏ*^½âB&ï:7VåS”½€Ûcg1ñ¼XP¨µÒ'‘Œxa5›ÞMJŸùµ\G¯XÄõFÐUÂû]ÃkæR²k1&Îáá»>f³¿ýTpö¿Ž™Ks()Îæ‡{øæŽkye¹ôBÜwWÏJäþŸvP\°Š™;¨òÖfMÛ„B!Äñ¡ÂSÉÔö™þ?{÷Eÿqü5»›l6½Wz‘"¢¢ ¢ˆXÀ†Ø{9±ëY€³ð;»gáìlÈöЧˆbõäEjH#½lßß„@ÊIàý|<¢ììw¾óÙïlv7³ïùŽ-|ÏÈ©®®ÒN‘ÝgL¯&‘h×Pˆˆˆˆˆˆˆˆ4$1!*ä¶îŠŠz·Sº¶,Û—‘’P<\»qC£ —¯^[·RF:)[WlŒß»ó4w鉉ڻíȶ»uíÊ>R>ˆŽŠâ©>NZJ ^¯·¶­iš wfÄqÄ-/09óc®;†‹fÆò×ç'24ÞÐ@‹ÈÞ|ecËW÷pñÝËvÏMÏ„gïÍ•_bš¼U…¬þþ _p=£/}ƒ5ž¶{®¥¯qÇ´*ÆÝw ‡Çî~ŽÞ'0>kﳕ,ÿÏØÏ¾›óc~å“%Åà[Ï÷ï­%mÜú6ôùÃÑ™cÇΰ¾éħʘs%"o9Õ`J&%ÂCÞú {í¤x"W^~ÂC¯¯ØÀ‘1‚Iï.¥ ¼œ‚?¦1fó#\ð—×YénÅ1rtfØ)Ç30+'œÍ¡Yé:zýR“8`Ä™ +âÏü*ÊÁ´%ݹõ±‰œ|@ ‰]ŽbÂCr\ùû¼ø]nÍ …MŒI“Û?í†F|úN=w¶MËÈké8FõäÔ+/eÔÄ'taØù·……Õ˜¹?ðâ'^Î|ì>.:,‹„än Ô—¤­ýl{l""""²ˆqÄ4qõŠÆmذ©Uë0l5—EEEk§ˆˆˆˆˆˆˆˆˆì%n3Øl›ˆØú_¸oÙв«çm)¨»Ôr°‘’Á`Ýò¼¼|òò ›ì¸¡³£óKJ´WÛ¿ßËå¢SV&Sÿñ0;u¢k—.<ùøc¤¥¤àv»kgF4ŒfB„чpÙÿCüÒÅDû?®¤Ê"²7™T/›Æ„Ë^Áví<{qo"BZÏBXT ½†]Á£/ÜLêÂWù<»’‡Þµ¼ïSly/“F¥bi>½=>“Mï}úâ|þ]¡—žËÅÇXùåÓ¥l˜Ï{ëÒ9ó¤>D†Ð5, A‚€­ëÙLÿìY†¯¾—£Ó’xîÃ|¶¶³åÅDfqÔWqæ^¤ÆÆ’Úw,7ßs ¿½Ã‚ÿž#káVn+ÔbÃn5M\%(èJ¿´ºKrYã»Ñ/9Ha^ÞfÆ„Ÿs6» #À4[:Žòæ¿Èõ£ze§òÖ:Á ‰»8›MþdúeÆÒÐ;ö¶Ç&""""²£Cúöi¶M”µî/¬”ô¸ÐÿRóû4À"""""""""{Y„±û‰ƒŠòÊÚÙ¶ýÃÒÈ%X,–úËm6Û.fXñ™íá6dÁ`«ÕZ{å¬Ì f¾ö ååå¸\®Úöv»`0ˆÅÒÄ“Òõ'oýã#*ìƒÿý‡xóª!üu`”[Dö çª\}êdþõ—§ùS™<>Ø»í¼þàÖ“‘UŸêS}ªOõ©>Õ§úTŸêS}ªo×Û‰ˆHÇÚÿ»”"ŒŠtPí¬ §YíWƒí~[ò‡ <¤ö¶B‡m/++‹ÂÂB222HLL¬Í0¬ùPS÷Ä1M—ËE~~>™™™ôXÍï/ÞÈÛOçµÏo¡â®Q\wíSýù ŽÕå–EdÏr¯Åõ§ÜÌÏÇ<Ëç/\Hψ–­oúªÈ_þ%ÏÝö›ÜÃÈ®ámò8Âú\Í7åW×[¶eî_qkÏ~÷,#w­ßˆ^£9+k*Ý¿šn'¿É€xH8ø †ø.å‡-¤O~”ÞŽ–÷[¹â]f-Ìäø±“f##+ca ÎLh2|ÂIÜ{áuLê?»Oï‹}ó»}œò #;YöÚm?èb®è?ƒÇ&Nå g¯aˆ#›w3¯Îæýá™ùÍõ`%*9Káb~[_HZÕR6¹ü­6Žžò\Š‚IÙ·iör–}þ)¿úغÏÕ'ÜËeÄØ{ßÇ`í¢?)òÖl""""²Ú>t˜’Dé–b¼žæÏ˜ñù|„5r²ò.ýíc ´Ëv¦ †Ñ6õ9졃{½]0‹êS}ªOõ©>Õ§úTŸêS}ªOõ5×N‘ö$91™¢’¢]Z7ÆC¥§²Eë´8xô›µ¡C ÑÐ!P/t(íCß¾}ùùçŸñù|MÏb¸mÿäççsÌ1Ç4p¯IÅçÊqÞ[S8>+™àCOòÕˆqœtNWýçBºY4æ"²§ñÃCwñúêrX} ¼yIí=™ç~Ê¢·N!½¡Õ<«yå„T^Ùv;²co~’Ï'§OÄ>6D=9~|w¦Üº…£Î8ˆ€äC7ØÁKoerý ½Ù…Ü!†¿ˆy]ÊÕ—¸+)ŸÅ/MᘄÿRG?Ì»ÏÜÇäGÆÑûò\¼‘}8mâ‹|4ñDÒ­€o%/0„I<Ê/_^MŸ°=á™;næÁÓzrM‰î»QêO¬÷Øv×ìÙ³õ²#"""ÒÁm †jwB‡’SÉ)*lÓÇp•ñDzÖ”¸ „9èÔµ3‡u‹%²ãUž’ ÌYZEÏà_L< åΦôùɬúyä±ô¸¶?…Ïý‡Ø¿½Lz·=ùEDDDDDDDö…M Œí.Ýi·áôúë]Ío[è0!.‰ÒòºãˆAÓÄÒÈåsM7 IDATBŒ‘#Gšmñ@çÍ›§½ÝFrssùóÏ?ÉÏÏÇ4ßý†a™™IÿþýIOO×À‰%%%$&&êñŠÆ¯«^ô #ÆÍáÒ/ærC{½û6lØÐâþœN'iiiX‘vÎj_ŸK+ÝDÅÔ…ÞÞŸõl³ëøÖf l¶]ÀÉòE«YÑ™cûÆaw±ð÷|üÝ`DÛ_ôÙã¬fɯ+XåŽbÐM[­¾­âbc›mãò4?㈙ó6+ïy—è›^"k@F'‡Ò_µ+òŒ(¡ô×ÚíTŸêS}ªOõ©>Õ§úTŸêS}í£¾M…-ŸñPß9ˆˆ´ž=q<03>ŽÜ²òÚ†>ã¡?¶–ŸíÛ)=™œü"íév$33³‰K'‹ˆˆHÇ hÕB6’I ×pˆˆˆˆìÇÂìv|O›mûÐáÞæ«*e+‚>}“IBx"=ãòYXêÁÛÅQ7û»égˆä#°[;è_+žbÕ=3pÀyÿ‰TŒy‰Þǯf݃šñPDDDDDDDd_ŸžNY~~«öÙ\è°´¢’„ØšMVW;kþaÛµKŒ(t("""²'yØüÝLfÌý“Âòb²ç=É-“¾"jìåahxDDDDöWÁà.…íÖÚHEÅ…öá‡Åe1fxzF`¨,ÚÂÊr ©©¶ŸÜ[šÏ’-áôé•DG¼Â2€µïÍô}l"ޤÉ|l>ý/?¬g›‹ˆˆˆˆˆˆˆHGU–ŸO´c×ϦuØ[þ}ò¶Ð!„<ŒŠŠ3´„›íQ‘½Ê Î%¼~Å¡¤Å'Ó÷‚7±L˜ÅOŒ%êÑÙoYv-Eç ¸jÿœ”ÚâõÚÙå²|,úùf/ʥđH÷„𺢾*V¬.#¢KgºFYôœ‘§ÊØåu]s·¶Ú5#´x —ö¦ˆˆˆÈ^e#ëäG™·Éƒišøòã½)§ÒS_œŠˆˆˆH#’ÒÒCj·!gC‹û.--h_6,–ÃŽ:„óŽëÏÀ°"ü–G± @ÑÆÖÛR˜é@ç숈ˆˆˆˆˆˆHGç¬j>»WZQÕjÛkôik ¨½!""""""""²é’Ù›â‚üÚöîÜM60zôAuwXv¾:JVíúqa‘tï–H„«œW_y¿æZèÓ'™X³#""""""""û€È身§¥Å4Ø&!6ºÕ¶gk쎀5ô#nUÅ¥D'%hˆˆìgü~?ÙÙÙ¬]»–@ °_ŽA=èÙ³'v»]OisU./3¾\Âs–àöú5 û0›•³‡÷cÂ)ƒHˆ‰hü󙻚n½ú““ÓàýsW×»—Ÿ+'3=s§¶^3HV§ æÎý£îŽ I§Ô r ójm^»¶]—³ ›9+ Ü›î‘[Ëöû `!ÌbR¹¥œg5[üÊÿ¶[¯èÇßØÐ»/Ç÷ˆlüÀ©ˆˆˆˆˆˆˆˆH;f Çôî´¼  r·úõc`£é«$×? ÕD†%âñzZ¼!…EDDDöO«V­¢ªªŠqãÆÙ&5̘1ƒK.¹¤M¶]ZZÊüùóY½z5 ÐBDDÚÜ Ÿ,bî’B&^}©ñQ}ÈÚÜ"Þøð‚¦ÉÝ`›ØØX* ÑÐaCÊÊ·4:ÜÆb kpùö¡ÃPùÍ_Ð8 ídèæÚÙbSɰd³tm 1½â°»JøcefbwRÂÉê:€ñ]kÚú‚Õ¹ü°¤˜N‡ô£O´3¾=Xß6.OóWñøL év¦7ˆi‚ßÄå bzƒ¨»ÝÒþ¼þ †a4Û.ÔþZ»êS}ªOõ©>Õ§úTŸêS}ª¯cÔ'""{^C¡ÃÝQVQN|lÜN¡Ã„¤XJ‹+ê-« Zͨz¡Ãä˜hŠ*«´wDDDD¤Q999œrÊ)Øl6¼^o›ÕÑVÛŽŽŽføðá|þùç ŠˆH»ðÉ«¸ü¼qü²Á‡wm©dÎEgŒb滳 VTT´îFƒ~°ÔÍûîÀëuírwaÖÀÞkçˆá°C;óë²|ý‡€ÍNjfFöŽ'ÞV=ÓÃbbVK€0«¹×‡ÃJ@1Øl;3Ü‚a€-Ü‚ÃnÁ ·`¥îvKû Ábi½úZ»êS}ªOõ©>Õ§úTŸêS}ª¯½Ô·^ IDd_×àòC‡°]ð0=9ü¢‚Ú;Z+t˜_XHzjªöŠˆˆˆÈ>ÈëõŽišmZG[mß4M"""ðx¶uèRDDdGN¯B‡ûªrgËf’Ø­Ðav ;…6 Šˆˆˆˆˆˆˆˆìëñq¸ÊʱXà ê_!.¿8Ÿô¤ôzË ø}Fmè0` Ò-3M9[šÝ¾­¹»:Ü‘B‡""""ûžö¼SøODD¤NPo‹²FÓ´j DDDDDDDDDÚˆ«¬æáC‡ÀN¡ÃPYƒ–B‡Ð@ðÐ †cX¼Ú3""""EDDÚ¥9eeÕÄÇGíòúÎêJ"£bjnv0=Í®³:;[/""""""""²Ù)x¸«¡Ãj§›¨Èˆ–GZÃp|éV››ËÊ•+Ù¼ys“—4´X,dffÒ¯_?2224p"""²G)x(""¢÷féXv'tÔ…!¤Ð!@ïž=5ð"""""""""í„/à'ÌjÛ­>]Ûê°pCÐ! Ða+ÉËËã÷ßçè£fäȑͶ¯¨¨`Á‚†AzzºPDDDö˜}%x˜³9—ÌŒt&\w/?ÿ,¹yùtÊÊÔN‘¥¥3þñÁ#MÞЙ“5¨RO Àj­™åȸhœåU‘`WC‡Õ®r¢qØJJËHLˆß©QKB‡²ç­\¹’Áƒ…ßïo¶}TTƒfÙ²e ŠˆˆÈÕÒÐ_qq1|ü óü‘œÍ¹`šdff2âØaŒ?ãtâãã÷x ;Úœ›ËeWM 22ŠââbÎ8ç<œÎj^Ÿö2Y™ ŠˆHGzoná1‡¹Óš¼üók4¨û‰ŒÄDòJJšm·cè èk3m\eü±,‡5%na:uíÌaÝb‰´ÔÜïÌ_Ãç¿—áÞn[BN:<•8ËÞ¬Ô…óƒ«Yý^)ÑŠˆˆˆˆˆˆˆHó\¦‡Öd‹i4Zç€Ó¶Ð!€­¡Ðá®*ÈË'-C!·=aÓ¦My䑸|¡Ï Enn®ODDDö¨–„þæÌýŠ©O=…Ëå®·|Ýúõ¬[¿ž¿ýwMžÄÈáÇî±’‘žNTT4EEEµËŠ‹‹INN&#=]—¬‘%h¶ïþ¤}°ÛÃðxêg %tØ·³º}=À€“Ul`SDgFˆÃî,báïëøÉv#º8° ºÜCXZOŽL¤aÖ@ë rÜ«ôëü0kÞüUà .NÏQi^s¡C ÁСÉîümpÎDgy‘q±;añc 6>Íâö¡Ã˜˜*++óðÙ¬ÚÓ»Á4Íf:Ü^  lxæJϲ§5æ-Æ}ú5· th€E¤ƒ¾8V²âí{¸éÿ^å«ÕeÉ8íúGxêŽ1t±7Ð>6ç~*om®[Ýåhοû½òPâ÷ÀŒU«Þå±;àÉ÷—PØ2Žàâ;žà‘k"¥‰™‹=›¿eúý÷òøëß²ÞDtç¸+&qÏÝ—3,ÃÒk¹oÕ4N;“³>™ËuýÂÛßþ V³ö«Wyê¥Y|öÅOl:` ßGÄ´îX¶×’©Œ:å}ÆÏÞ÷ßkC åýgΗ<òøTLÓ$<<œ“NÍ€þý1,þ\¾œÏç|‰Ûíæž¤ªªŠSÆœÜê54æênª ¾6í%Ì ÉW_CQQWßp/=û´^sEDdŸzo^?ÕEèýahýF%w¡Û1ç7|§;›œoߣ|»s Œˆ â8žôî™{dö6³bë^Aì‘ç‘Û~Ž;™•‹YÿÓ²­uÙÚíódûÐá¡}eñÊÅd$gW”×äºáQ‰x«ëBŠ=ºô`íÆµÍnÓh~?‚¡ýaÖ\;y9kz÷I%ÚjBL2]c øµÄ‡3+šÓGi…‰=9 kÐB ÄçhkÕWûwƒgÛ±; fbŒÀ|\å~Â#êÖ÷øL ù«Ó´f;¯?ˆa{}»ªOõ©>Õ§úTŸêS}ªOõ©¾}«>i¿Z:LÈH¤4¯þ‰Ë ýl(t4:ÜѶÐ! Ða+ ZvÖuc¡C‘}EÙpÞ_0øáÏÈ>£7ÅÓ¸ñ²«¹¾Û·|pYOÌõÛ{så— ˜>: wÑZ~ýô1®úÛUƒs¦y;ñ.f>|tJ%!²uÇr/¾Kï™qê(JC7äåçóÄÓÏ`š&]»tá™'¦’–šZûùæÔ1'såe—ò×Û'²&{-O>ûˆßï£[×®­RCÎæ\23Ò¹öÆ›xá™§ÈÍ˧SV&KÝ».§«^‹E3ŠˆH‡Ê …/þíŽ<¤o‹úýù·<ôC#wF¦ðàÓ91i»o[øì_oñôæ"ÓbZýóš-å^Ÿ>”ï>v1ÏÝ~ÆßÖyÿ¾þ4þûY5·3L¼ßaCv&† ÃÑF9Åm¡C ÙÐ!P/tÔ úñckøcÈ3 ¶F»°Ä ÆŽÈÀ0 ³x©,. »Â í;QÖ¯‹R·WA6_¯sR°’–Áá}SI 7öx}Û8ìuŸCM{V#€ÕjÖ[Án7úÛßjí‚A°XØëÛU}ªOõ©>Õ§úTŸêS}ªOõu´úÚjæxi-y¹9ddvj¶ÝŽ¡ÃN1Ií18=•ÙV²tÙ2~ùߢfÛ 9ü0x`£÷·tÆCEdߤ|ÃJÓÇrÙÙCéŒ:Ÿ LãÉ %xh$xXËBDr/†ž~#§~ÇÚbÐúi±èþqWÿºÛ};ã2gñë–j‚ÀNÑüÀF>¾óf§ÜÎç³þ£âj¾ðŠ?ìlî;ÿq§2ùîÓ6ãLR:ðÞÛ2ï~®Ÿîãº÷çrÏð$¬{b,e¯ %”·aã&âã)-+ãÙ'þI\\,.—«^›Ø˜žxìQλèªN®¹ñFºwëÆÓSßí6çæò—k¯Ãሤdë%ÇŸ!.—“é/<Ï+/>Ï)gžEQQ×Ýü×Úõ’““yåÅçq»ÝÚÑ""Òq>)‡Žî5̺nèÖÚ ¬©CøËk˨Üö»k=ŸÝ:}# #š>CåÀ^£xz™§ö±íÑç·i6û3ôÈ#øø½wø÷¯C Ø©MUU5Ó^y•ÀÖ“'*+«8jÈfû¥†ÌŒ ¢¢¢kC‡%%%DEE“™‘ÁkoÌ ¤¤˜øøøÚû£££q:«Y“R """í…i6ÿ³'úÞ¾Ï`ÚBf,ƒƒ‹!fk› k=EÿÆŠaù§ÓÉY³ _‚‹Ø0ïmò–|ÈÚÙ°ü£GY9ïSJJÝuÛð•Pñ绬ùô–ô«¯¯ 6Û÷b6|ý&9?¾Èòaù×ó¨öîPЃ{Ó<6ÌZÓfö«än(&°­oO>¥¿ý‹ÕŸÔl{åüpzd1뿜Iq¹ëý3Ø4ÿ¹šû?~–u¿þŠÓÄ4ÝT/y•õë]˜Mä}ñËgÿ‹’ŠÀÙwA¯øØØÚV»«ö_ˆ°X;êÎ;®?ÊXð[Å~°Æ¤qâq‡p\Ï8¢m£’8¨OaåEl®n£ãcñ½‰K¯¤ü—?ðùôSDDDDDDDDšV\Z±ëë–ÔþÛí÷Öþ;6>®ößÛB‡I1\=yûvkh½ñy4]nK†ÁÙãÏdØÑC¼ÿÈ#†pÁ¹ç`M¿ßïoñO“"º0nê6—”°ñÛ;Èúd§Þ2›\í^é ºçÑœDÞ³3(-‰þ½CüÕpÕÁMÄ=«yå„T kq™qú½ÿ#õøôŒÚ“ê-cþ߆ÞãH.y.á'2¦Kxƒ-]…+ÙÈdPŸäæ #µß 2üYµÅÕ²×r×¼pÁe¼?‘ïsJØ<ï<Ï^Íßþ“KÀ³š—çܱLû½€òÂeüûÆtr$2ü©e¬yýxº2…Ÿ+LÌÊù\m}›ëoûˆÌ;ç“[QAÁÏqŒ‘K©7ôY´¢çÚç9«GDMè.,“#/† ¼­6–î‚UöÈ×9ùüúž|=q¯Ùnà›‚"V¾2Šìçïâõ?œàZÊ‹ŸÃ?òÆ2}i!Åæq[ÊûL7óŠj¾ttå/''ùlžû%Ò‚Eü£ß|œü«< ŽÓu=m`Zˆt%//ʧ4oS2çð÷Iï‘íÏŠ¡cÀ ú°«™±8—Ò’ |{G:ÿ¹ý*^øÝ fóî<+ÞÏä®r(Ù²”úà¯ölÝ÷5mOj.” ¹é¶Ûùìó/HJLl0thš&Gœw.‡zhm߇vX«¯½é¯ðêË/òÊ‹/PTTĵ7ý•üÂB‚A“²²²Úmuÿzýu:ee)x(""JÐ4›ýiý¾ÁÌ€Ÿ@0@À[Nõ†ÿRæ‹#‹iôR™½šsn›Â²yÓÉþÏ] ¯5*™”yë7Pì=ˆžÈ•¶¬ìbgG÷LzòEŽé› ¹?ðâMWsÁ_ì|õîúD´ÒX::3ì”ã˜å€ÎæÐ¬åô=Œ~©q0âL†ÆÍãÏü*Ê3˜¶¤;·~9‘“p)LxèA¾z;/~w;Çô­éëØq§3¬¯Hg̹‡òÐÝË)¨†¾=ovÚ) ÝÚç©çà±,#¯ºµd£zrê•=ko;ß¹……Õ˜¹óyñ/g¾x–‚ Ô—¤ðå”ÿZóØnÚƒ¿Íï²×®­åù³Ï¿àš«þBîÝì'-5•©<̢ŋyyú«ôìÑ=¤`_sm,–ºÏ6Îjg]`(((dSNÎNë|ùÕטA“>ôæ„ãGéeWDD:Œ–ä Ozb+?}´É6}NÄ·ÐtßfÍ̵3Éþo9ÖÈu>·Éâ9e”™p0榋9+XÍÄi…ÇDpÝéã¹næR^1c±'d±¾‚çg­eÛÊÑGöâÚó«X5Š<[8îJ:Ô`ú»kYP I)>&Žr@3}O'–°˜8Ìßó¸ø[ƒÎé6Šw˜=Жڛ)gg‘7{g¥bKŠæˆô.Ä8),ÛÄð+¯ä†D/OÍÌf¹ËJÿ¬pJ~L;õ]bÖ‰IÍYÁ…ßnâ¼ÏMl Ñ\pÜ8ž¾øs®ÿÎÇ’oÖqñòp=²œû?‰dÝn&Í*¶ìlIèp›fg1ÜŽÕÚ’€¨A\çIå=6”º¡k¤~E¤}sýÉ¿îÿÇÄOxõ–ƒqœ:…iþU;ñiæ_1ƒ1iMu`!,*…^îàÑ6ó˸Wù<ûnìoß3õZ#ˆÏ<Ñ7<ÏLß(N~ý#V\v ƒ¢ê7s¤@'Ëf­Ü‚HÌoÔ> þ\Dž­3½SPÑÌkùv/å΢l Ö|ȹ]­œ»ÝÉc«)-XIIXg:LJ…öá¡ëÙLÿÌÎÓ÷ÞÃÑi—Òuü<üðMŒéE¨ïh1‘YuÅUœ9dëNŠËÍ÷\Ä{ç¾Ã‚œ+èÓ˶Ûc¹óza„[©¹€Å†ÝjP4q•l <¢+ýÒuÍã»Ñ/9È÷yxû6Ô]8‚-˜…Ä‚ÍnÃÖ\:¯eãè!oþk<ð÷©¼>o 5ç¡tåÒ ‰»8›MþdŽÉŒmpü·=¶¶´pѯµÿ^¶|9Ÿþç?L¸â ަÁ`µëÖ1 ^z«[¥†W^|žSÇŸMQQ7ÜrkÝóÙj¥´¬€£Ž<‚»&M~ôqüô}ú);uRðPDD:”P>Ÿü¾ÉÉÁ# ãŸú´É¶K¾šT»NS}›a)œùàcœ¹íLÞFÞú2Ÿ÷6áIYœž°šGo{Ù…&ƒ%öoÜX$o-¼åüº¢Š%.+àçç? 9gx<ñaP`äÌÃmüðe_䘀³¨Š Ÿ³™¾£–žJþÌq³ÅeeËÚ§˜X“qQ¤Ån êýwX=˜Mý#*2Œð¤,ÎïQÁºYXm~YSÓ‡Õ¶sßÖˆºýðU³®ÐK©× ¼>¯ŠƒN>ˆC¹ø>`«S3Ä}òóÀÀ°îvèà«%s€Ž:pÄ'“e]ÇÒµÅ$ƒÝ]Êï«Ê ©+™‡5™LË:þÈ.ÆÑ=‰O1KW–aMíN¦Ãh›¢KWPžMÜ 3ôb&""""""""­&2*¼ÅëTVúˆ‰iûöá04ÓÒ¢×òð˜4{ŸÏ‡›ƒõ.»eöYôˆMÅ^¹†îÆPD» IDATÞ…À nÅÀJ\ÿqLyûw¶äÎã†ðé\rö#üRú( êácÙw«Ùþü‰`ÀGÐêÀfi•±l‰ˆ„.ĺ7°¢ÐU»,P¾‘•ÅVÒ2ãíqÇqjNèãèYþ —œ÷ÅgLcqn1fsi¢SˆóåòûƲ7½í±íIÍ]†ø—ÿýäääÚ¶>GDƒm ·láÊk®å’+¯âûùó›í;ÔK-¯^³§³º¶€äädl6[íç±É·ÝJd¤ƒH‡ƒÉ·×…ÿ~׺Բˆˆt(¦ÙüÏíïæ0úŸ«v˜ÁÐà÷¹?ðûÜê22MýÏUÜþnN“}â+âƒW—2ú‰lnÿoUÕ+˜óíZªƒ5÷GÄ$‘œ5ˆgßšÆúyÓY?ï Þ“FBVçº@ÛvýüL ,&„G%L« Ý5—uÞ~ÆÂ]è{Çyÿü¸„åýÎæƒŸä³“é»qnDĦï/fs¹¯áÇÝ@ßÛ/ÛñþÊ‚\¶#I‹«¹Ûl‘fhû®9a–šÏ6–@Ã'¤¦¥¥ïÇàìqzHgR«71ç›Å|¸0ªÄ.ŒèŸH”Œˆ8Ò™ÔªÍÌûáÌþ5wJŽíG[åMo%A"°…ëj3""""""""Òöš Bs3êŽfÆÆÄS±uzÅ ³å3ÏÄ&%joleCÞ¢u²²²(,,$##ƒÄÄÄ&‹¦iâr¹(,,$33³ñN=E¬ø#›-=ºà[ù!÷Nþ€ÀÈ9®«M;IDÚ¿øƒ8ó´TÞ¸g"Od=ÂCÓñ®ùŒÇoŸ…oÄK á»4ÓWEþò/yî¶§Ø<àFvmíàuK¦=Ƈá£8ûøCèçaíÜg¸ñu úû™ôkh†>[WÎxèA>}=gŸÏ<|ÇõŠ¢rÕ×¼4ùž©8ƒ—<•NVð4÷Z¾¶®Û„ArvÂiÜ~ëSÄÞw!C²Â(úc =C8íЋ¸°ûL¼ñ^2§ÞÀ‰Ý,\Ë£†ÓÙa%*9Káb~[_HZÕR²=¹dçtçø±“f##+ca N_è#3|ÂIÜ{áuLê?»Oï‹}ó»}œò #;YZg,[òtt1WôŸÁc§rг×0đͻwÞÉ× góþðLŒüæzØyœ6¹šN¿V®x—Y 3CGOy.EÁ$ŽìÛ‹4{9Ë>ÿ”_ ý l]çêî岿NbH콌ïc°vÑŸyë?¶=©¹àݽwßÅjᜠ/Æívsë¤É‹;^šÂ1-8Ç uôüûÌ}L~d½/ÏÅÙ‡Ó&¾ÈGO$Ý øVòÒ C˜Ä£üòåÕô±íÚX†,r ×ÏœEðöÛ¹´ÿ üz¹•W?¸ƒIÞ¾›Ýqœž~sLÓOaóº4¤qŒt-_± c;ó€/£®ºšÁÝ£qL°fqú3ŸðÌ7óài=¹¦ÄN÷Ý(õ'Ö{lm)&&€»&Oâž$góf®ºîz†;†þ}ûb+W¯fÞ7ßâõÕ‡ßÞÛLÀkaôÄ?°ÇxZÔßv“ûaº]¼ó}%‡=KÉËαPäg~ð îº0É/¼Áâ-zͰv–û½ ö³íÿþ*“9›#¹åŠAü÷Y|¶ÈO§Ñ—’^*¬l¢ï?}ÞfÇÆ‘”ı1 øúÛõl2YÓéFŒž]‰±—°¶ØÏ7U]¸á/=(xjßä…sèÑÇâ´@U#¿Þ2›Œà÷¸~ÌÃè<ŒISDz©€ßªLLÀkD@b"Ù/³*æz%t&§•Ÿ~¿›­îìähG4U®ªÛ¦$:øeÑjºwïÔêÏM¯¿ù@e h ifÇÖlçX0 öúvª][?ïš~üWá%?FÝrÀëÊÇâÖlçñ1,ìõíª>Õ§úTŸêS}ªOõ©>Õ§úö­úDD¤ãØ:LŠI¦¸²(¤uŒ‘#G¶Úô-eeÄÆÇ7zШ½Ì˼yó´ÇZ(77—?ÿü“¼¼¼&g0 ƒÌÌLú÷ïOFF†NDZUII ‰‰‰z¼€oÕËœ0ö_œýé\®ë®ñÛT/zãæpés¹¡¿½Þ}6´ü²ËN§“´´´ï›={6'žxbHý„‡‡³ø·ß™rßýTU5üEwDD“n½…Q#Gàñ„vFÍœ9sB®aGóü‰¥þÉܯçQYYÿ:×Q‘‘œ|Ò‰ôïÛ—c†Õl §œrŠž|""ÒæþËËô:®Eë :ñØ&ïÿuÎ÷ÍwÍÝç§àž»‘Ç7l›5ÎÂGwæñCƒ<ùæ&攃=.㇧pf/;ñÀãâOry­:†ÇÎŒaþ‡›xgKÍ1Äž™Õ§úTŸêS}ªOõu¬úŠÊ[7iê;i™³Î:‹ÈÈHœNg›l¿Á¹íÖ0\_‹;k*tÔ†e×dff6}éd‘íÿ,ÛL¹?‚»¦²Ý¿(ZµÍdÒc÷Nà4ÔË9z<x¿û6|ü s¿úš99˜¦IçNY=t(çŒ?“¨ÈHÜn÷©aGÇÎ Ç"Ânçßo¿Sï¾GÏ_o¸¿ßrRDD¤=héÛâ¢/¾ßýVUqÿ´O,²tþNš¿ýgÔjÞü¸š7wê ”_*­·¤xM.¬©»íwºùä‹|òEcŸ뻌›_.k²|ç–2î{¥Œûh¼ïU3cç;vêÛWT·Ìê\üë½J>u6|\Ìt»yûõ¼ÝZŸA¬­p©Þ”¤d¶לټcèÐn±â Z:„Ð/e¼·Û™&-ºÔrk¶sØ-@ŽsfpNc­‚[Û5§õÚƒ`±°×·«úTŸêS}ªOõ©>Õ§úTŸêëhõ…ö÷‘ˆˆì9m:„F‚‡»:‘ößÿ%÷ßô<Ň?ÎÐL‹dŸæaówïòµw' I£rÑëLœôQcgqt†±W*hIèÏëõbçŒ?“‹/8‹Å‚a¼^/n·»Å¡Ã–Ö°½mÛêÜ©™Ü÷÷)†Á=÷?HÏ=™QDD¤=315íp_ì­ýÒ¡C 6t˜‘’HÞ–’úŸ@ƒúbIDDDDDDDDd·ËS •–—’—Тub£íTTi¶‘=-àñ’6î9f_3žžvÇ¾Í Î%¼>áJ.ÍñbK;˜Ó¯ŸÅ·Ž%£N6mš&.— —ËÕnj:é„ÑœyÆéµ—[~÷ß3w9)""Òö﵃ö³3:þ~Ù1t("""""""""í‡Ã‰Ëßø¬‡VÃJÀÜý‰{tîÌÚM›ê-Ûåࡳ¢²^ð0èqc±G4ü#¢q¹«:ÙKì]Oá¶É‡ýƒ¬“eÞ¦GÛ¬³|‹¾»5ì2,--ÕSKDD:,ÛGgÂ#b±;œ˜UkÇDÄ&ã®(êÐÃp•ñDzÖ”¸ „9èÔµ3‡u‹%r뤦ßźÕY²¹’ꀕ¨„$öÏ¢{´CÏ^éš -FZ#pvžœeÇÐ!ìFð0«s—º &'á,*®½]åq½]ÑåÖ%êDDDDöUûBðPDDdßzoÖ´Þ¢Rnx¡ýŸÐЩS99õëìè¡CNVý±M="»³ˆ…¿¯ã'ÛŒèâÀjzÙ´|5ÿ+‹áã³ÝK^öj/ #~p‰V=EDDDDDDD¤ã¨®®&**j·ûi(tØ[k¾}è¨:‘½ÇDÉCi™C‡û_U)ë\ôé›LBxÂé—ÏÂRÞ.«ËXYdÐe@'ºFÛ°6z @=DDDDDDDD¤jÐaKÕ·‘’”\{GQI1ɉIÚ+""""Ò$Íx(""ÒÞÞ›5²³ ` ¡]uUQѱ­þYÍ0 *Ü¡ütùØývö8戚Vl=I;¶ïPF>7ølÝ9â¨îxü­¸Ý¶«p‡z©µS;µS;µS;µS;µS;µS»ŽÚNDD:ŠrW5qŽºcxiÉå5Ú¾6x¸}èPèPDDDDB¢à¡ˆˆH{{oÖÈÎ,!¶Û:4-`[¾¿ÏÄfÔ[f†v€ˆˆˆˆˆˆˆˆÈà @˜uçåvn«E}m:š B+]jYDDDDDDDDÚå¥1ùŤ§í|²±ß´b3êÏTRèП Õ_»hÇСˆˆˆˆˆˆˆˆˆì9 …‡w…-55•ÂÂÂ=¾!Ão`Útè[DDDdŸú †Ëå"""¢MëhË=O›?~‘mb£ìøÝÕX푌}PÀç&)n×÷펡Ę$J+‹w †,ërVѵk]Z½´¬Œâ’\.·v®ˆÈ.ŠŠŒ$!!ž„øx †ˆˆˆˆˆˆìU¶m¡Ã –=ø}­B‡""""ûžnݺ±téRz÷îMlll›ÕÑVÁC¯×˲eËÈÈÈГADDÚ…ÓéÇ[?,$®ËÁ„E*€°/ ú=”®]ȃ{´ZŸ¥•Å!·Í^MÏÞ=wZž–ž¹KÛ..)!7/_;VDd7U;T;ƒA’5 """"""Òêö0\ßNËk/µlQ.PDDDDZhÀ€X,/^ܦu|÷Ýwm²]«ÕJŸ>}èÓ§>ŸOOis7? ›ÕÂÌ/àó4 ûˆpN9Œ+Æ Z¾osòsé´‹!A ^èÐj Ô\Ã%Â^7ósBB¥¥¥!õWb; MIi©‚‡""""""Ò*"#8Ýu—jn(tÛ6nZO—ÎÝvjT^^L\\R³-(( --­Ùv¯RŽm)77—+V››K0l´atîÜ™¾}û’žž®‘øý~>ø`Ž8âˆýòñ›¦‰ÛíÆíÖåED¤}°[ƒÜyѱÜ÷—4ûðçŽ]™ì¹%¡Ã iÅÒÄå—·…wÔXè0&>•ʲÂzË<¯vªˆH+Ò몈ˆˆˆˆˆDXm¸þÝêcõêÕôîÝ;¤¶õ‚‡ÛB‡UÕN¢£"k—7:¬pVYwI½PB‡ÖpC{ºäåå±dɆÒåËË˹ûï÷°à¿¿ øí—Ÿ5ˆ"""RË4MœN'N§Sƒ!""¢÷fÙG4:lˆÇÀfmôþC‡v»]'oˆˆ´"»Ý®AÙÏ5:ô­Ø,¡ó 5t`iháö¡Ã¦l:”ŽaåÊ• <˜¨¨(ü~³?/¿ò*ß/ø‘€ß¯Ë4ˆˆˆˆˆˆˆˆìòsóëÝ®ªö4Ù¾©Ðacâ5Ð""­()1Aƒ """""" Ú>t˜Óz?ZBniØ´ö›6m"** ŸÏ×lèð‘©ÿd欷ˆŠŠdÚ ÏkEDDDDDDDöAÑQŽÚ§g¦ïpŸ§¢U·—”˜H§¬LŽ ¾ˆÈnp8"蔕Ib‚‚‡""""""û«Ä¨Ð'“+®,mpyUee‹·zšÐ¬™ŠÑåõàß½)û3“µÇÛˆišøýþfÛL}êi>üø“š'gBgœ2†Ý»iE¤Ýª\ø£GLá—N×óõOÏ2²¡÷ÕüÙœø©¼µ¹nQt—£9ÿîgxôÊC‰·ì™Ú«øêõ'x䟯ñMNn™·€ÛÀÁà`5k¿z•§^šÅg_üĦ¦ðý÷÷qDÌŽ/Ô˜5f|QÒÈ»û&~;ŸGŽ ¹Fïòç=f&§}ü5· tìêãÝöAgÕ»Iˆ'!^3ŠˆˆˆˆˆˆˆˆìŽ’ê’Ýî#:&¦Åë´8b±»¡C€Ü’"íñ6ýñûýüãñ©µ¡Ãøøxž{ê ’“’4p"Ò~¹—3sÊˬÍêLrX3mí½¹òËBL3€kËjæÜs 'ÿW¹ÇÊs­ù˜Þ/昛ÿÆè.$ä|}×ñ ¾à5J‡ÜÆÌÅ›É[ð iè½ÝèÊùŸcš&¦`ÝÌérÐßø±Ü¬Yæû£E¡C€ð~×ñݺ÷^@®%w¿‡ðÃïbîúbª* ùãù,»ïþ6·³íß]YûÆhºúü·R¿’""""Òñ¤$¥Öþ»¤°X"""""""""ÒÁE&Ù÷hÿÆÈ‘#[å»úˆè0ÜU¾v;3 »±÷별[ zâÉf àu·«š""¢q»«Z¥¯j—‹(‡fœêˆ¢££©ªªÿ,Ö“œ11ÑTVVíÑñŽKM¡¼p‹^·çÔüž[AÿÞyÏŽˆ²á®®›-ù°CaÑâßÚ÷Pl¦•HK$Πs¿yŠX#ìÜžÝûÝ‹M¢¼¢ñ Abj"%…ugLmÞœCVV§5Né‰i¬ß¼ŽGä~óܳ[ñyvïo’ÂÂÿgï=—\Dzt±– èm’é3-_ÝÓ3ºFº¡™?zy ½É<„B¡¸Š‘4wfîÜéîêòÇŸ“ÞÑ“ €0ú桃7Læ©\Ý]•™½—ýÖ·®Q­†óRƒ¡æ-&«Trh4zѽ, Cуû¢¹„Þð“Ý,Ë@QÆŸü9Èæ6Ðï]¯íý]\^¡R)€¡Ý“@Aƒ0ÔÈï!S)bÐhGv½|­ ¥?„(Ž"½OAfÓ‘?§ßG!›]‹ý ( X–ý$Ïâ?üÃ?<øõò ò ò ò ò ò ¿qE1öZåƒ<ȃ<ÈoEþþïÿ~îßušÁÎVçÇ羯E ݬAn?Åû³×îŸqnÔ7p}¹‰ù^€\ÖH!ÊøD4‰ç£ã#ìïíþÁ­Õýf3<úÿ 7A@3Œµ|Ûøð!x#_¿ÛG6ŸE‚à!ëߌDƒ‚ çF6—…âËñõ}5ê•z'ÏšÊrö—é¾ûî{üþ÷ßÞk)ˆC¤ù`,)`¸hAäélBßÞNe“ôGñŽa¨lи˜6ƒ5 eÜ«÷ôþÃ1´ñOž>‡a i®AЇíw0ÉØûÔY–A@ÏCEls8o÷îü=4Ú×8ÜÞÇ â&•ÈüÂl/~üûûwòý­v%‹Fñ•äŠE´ÚmÜ7I&(Œäx‰`Ɔ †˜¯cµZ}”J L„8äλò…hÈDAŸŽßO¥¸4éÓkЫc0ô4GÏ%8HrtÍÿÙLýA´ú7OCèFC1è ÈäìíU§ÑB¡/ˆ4Á1Ë9õB¦ˆÎ OU6ë5\\®On}8Íd¡éŸx]n D’dp\²$"Áy¯'EU—uµ+Šž]žKB”‚ûŽGB“üíkŠÔ¡éÑÕƒŽN°¿³ɵNϯ°³U[‹wãწ“sÄh‹¡k6 "†ÆþœqB'aÓC™Éä0ðà,Ñ)êPB§}…B1žC0$ùyÇhçùN_~ð¦à=Õh6SFàoÌø@‘I›÷§ÿ,F*©€ÖY$3)ŒCÈâ ><óc:S„ð ;yAdokÇçg¿Ùç/JhvÜtÛµ:Î<€‡*õ2—ögæôò;õúÚ¯‹N U –s1M¥!hނ̧;‡x}úÞ^—öFHæ>m–ØÊv³yp~&“Á`àž¤ûþ5>ýäÖÄP4츪ˆXÞ{²Š£³ÔùBØÓÝ}¼>9Šô> …:i¡CŒÀg|îWÒtâG¡iIÝË[ϧ2èïfúÁî&>œ\Lý…ý:Ž.‘Èæ ÷{¾ýi×à›b F ìt:( ÷vëŠUtÚó`諳KÔ¶ƒùÁA3¤àSYZ=ð#A±µàýv·‹bȆ|aÝNø¦ÎL6…Aߺ¸£«H:þS2Áa$ßïý_ج¡sá?¡ßÈñ«¨Š}|6Úä.«³PÈÕ5¬hšŠ¢fb# ¤z7SA2ù Ýð¾@¾´nkõMÚã1†Ñð «ô} €t$y.Ý’ÄP!Å­g>¥P,A¼|ûƒn_=гu}‰ÒÆzçë¾ÿñ%ø„è$ž~ö™¯Ï6 T*lj¸èDhµ;( ø­ËчSìì¬W.¡œA·éÝØÞ{޳ã—wr¯4“„:^¨ ÒÆêýòJµ ZWf¾6“Ë`Ð@Hg¢!žùëo¿Å¿ÿ2•‘4Brb·Ž//±·âšK¦” 5\Ù­uE’Árîµhšd¡êó1ÜÕåjõù;ŸHƒË0h7;¿¹=LŒ|ËL2ƒÁ¤#‘ä!Äñ ËAJ´¥|I…" «× –pnËÓº ÓÑô±’1s„¯_¾ÆÓçÑÔ2¯¯o°±Q½·{ÀP lt5AQÀ§£ŸÈR¬”Ñn4W²&’(‚ã£É=ºB3õ;íRH† ¸H.^6’V·kû»4îÞ³ïÅt®¶{ð :` :Ôfl…-èÐb$øXQ@“L¤Ï¢ŒW0ª{:<|òÙŒ=ó–L´žŸ‚ –׃w Öh'0ÊýP,57~ÖèÀè€#èðò"ƒá,è€-èPRüŸ€uön˜pÚqu¥¯èp8ôÇôrW Cs C8>2÷ý,èÐÊŸn÷íýëZÅ>ൖ«_÷=’†ÈMl[¡PŸ[fÙF÷c<ïÿýŸ—~6 :«þžãt8•ësïz|thÎ1L”¬ä‹ ÃýƒÝ¥¿¹iÛO ð :,–íÙHfA‡?¶^Ÿ÷‡ì@‡lA‡enÇm>õÎÖrm¬úâ‹opÞô¸ºýØ÷Ÿ>é¼wb~²ô#\@‡ aúµ<=ï_¬t¥œÿ±Ï™„ó=.‚·êÛ±>CféË tØêÜúMsoÒŒtÀè°Û‰nɺ©dðøOì}qä¿á¶¶±ø^vöL€Ë©UÞÉtH’Ë1Õ-èðÇ ¶§nÎ<ó´ÐÜè´A'™µÒü4Y)ÙÛE? Ã1m_h“W¦ â“Ü‚Lj>¯±õø‘íïzC÷œP§Ý‚¬È8Ø=ô:<>6ψ:Š9皇èðñ“ÃØÞSʦÉ>Ars=³ÿ}t°…Zmõím tšÏù JÅŒ«nA‡ïÏåQÙü@‡ãáõš½>4|êˆn¿É»ét¼³H®t˜ò0AÍè€gÐ!Íz˯pœwpthƺêIc5¬W· CôÌõ tÀ7èLÜm<Œ uoŒ„™i¾gïj.ƒ–yŸë:¼º2u|:==«åb´L^@‡–@‡–@‡€9rt˜ aŸªÕù½ðêÍëÈ×Y‹(ÕÜ£É? fX£ƒ€Ÿ<Ú]ù^­îmZþ|4rÏ“ŒÆÓØËû0ÅÞOb‚ ¼0­n7RÐamË»ßÇ*rYçÉW‹ CA‡"¸× C‘‚Ä:°2Ð!WÐa¡ì=oèZ&•»Ý×u ñÒt)œ3,d2ö‰ÛÒB¢–›8AôÖUp#Xÿ]¿³Ü5ÛÖ+ôì7`*›[»ƒ­̤ÑóçñÑÔñÅ&&Ö‡ý=ûd 7IJ©šé('X'Ç'ž¯Ie±wàmmÆ#Õ%´vš û ssºGІ ÄäõêWËŸïíX'X:u‚š/¤² ¨þt)£''ùÿé­ÀæRË:€±?·#_^¾[v}ªOAöžˆ)äc¤eŽa<¤êaùUÕþ,˜þ®ßðž¸ÛÝñŸx¬lo~NŠòp¦¤åÅ`Xªíº³Lx°Zòæ?¼ó"ðwH3:˜b0ŒåM‚{’ïøÌLâ'3œœÎƒ˜ßxk·5ywôÎÎ+rü\vÒ0!ùª«•J¨wTß ŸÌJ² EOmš¤â|؉~9A‘©fCÝ©¸+§Ï÷B¯Á‹óc1‹w4Š' ¡gÀ»†fv”iïÒdA7Ú›0èµX‹¢ƒ}åÈмñ÷™$—Boƶ‰½e@zt°Q³·?e^'—÷ÆüÒî 8Üš÷…?ûÝ×òñcçËì¿’È„Þ_^FŸLÈ1Ѥ9ëëmlÓ㗧α‘# Òчåï®-ìÙÄ/¼%TÛMo ï‚E~A‘l€6dx¨9“½xm6äcwG£´£¨F;öÔýé‹‘áêÀ&&Ëä¬cÂóKgÆ~•˜oœ*jxõêçû}6º– Á’Ø·qLëfÞ'`î7‰M¥ &r}“/T"½^oÆ_eh3¦N$âm¸¶µí!šø´½Ã'§þû³gŸÍ|ÆÞ®]]Ÿ¾—×?š±ÖÎBÞ©Õ–÷„¾0jŒçyP Aâ믿röséx|ÌJ¡ˆl2]Ÿ×…šlxÒy‘æNÄ©=k´¢i†Ò:öº8AÇ_ôTµà> ƒè›ÝÎß¾³·©©h _©â4Ǹ7éÒ ÐîcRzûæ½ãï Í>Áº4ÞmŠå²nÆä¢(BE úÃÿ<’FNþ]Qˆ¢s.¤Õ²M¿}{i$"— _ƒ)oÞ1©.¯ìõ!A˜çE!¼íé|6q`Zâo%É:ÿQ(”°*1fÞ!a“ØþìÉï¦ûFž¯wlmÎçRh>œŽÑao+Õ›ß!IÎ`a´ÂQ·ÄÝøã½ë·z}?Ôw ’‰éûÑe3.dyÓ'NE2HòLìë–"Sžþ.³YÁ§$:i¿WYÊ´V3}‚0gší–¯ûPT5’çX {=Œ=4ÕB0öÝÜÌ7š>{ýô'*"lt&™Y‹½÷æÝÉÊ¿óæøÂ&×áž'I2ÓØ+ãcR¢¦<0ñû‘ñxÞ¸:÷çK÷úþ&$'½vEÖ´]ÅRñ7·Îë(F®T·]-ìÉŽ{ìÑizŸôhÔ²A2 ôõyy%BÓ‚ƒX’I£‘³.d3èôãeJ©¶qÕùmŒi}~ðþù§ÿrÚ_A?Áqg‚ØW¯ßàÙÓ'¿IC•L•0¶b»þõeõ» 8$±ŽÏ †?}òÅ<ÓƒQ™d€ÄA …&Áal1VŒ¤èÚÃÔúY‘u ’\Ë{˳´—“6,GC‘Ô‡—çC4]EÚ»&*…rlßÿÙ³m¼xål7·«›8»¹øÍ¾£ƒCœ~xÜÖ €ÐAÌ0ÝmÕöq~uäë:››Û¸¸8{84>¤\*¡Ùònç¯.¯Q«oÜù}ó q|?ÇPüçßÿgüËwÿâéo÷«›8šè†a¶l2 Å­•nëI†Çhf}ž>»fMHo6òvôXdv›á1°ØS$ÅBwŸ««H‡‚t*‘ÁФ³W©ã¸qéþüÓOøò«¯ÐìµQÎùKöP$M?©÷æí…¶8\ýýe8 öM?ƒÁ™LòáÆ(L‚ÅXöÞt›Ì¤>Ng¹BÓaPÖ6õpóÞ_,ƒîž<©âÍ››P÷žJ¤0”ýí[–e¡ÄAØ jÀÄŒd’Þ²,#‘XÎÏÒEt„ølm¦TÄÀÈ4ŧ1­›Ú5  l\öR>ï8qÊ«/¯™¤@SU¤Ò(Š Y–ñÅ—ŸG6Xc%¾‰ …Bަ'Hû<6ÉpÐÇVùo`’HÂÙZŠ¢ iñÆ8²8™ÉÉ'2e¤yÎèÐXHl*3É/ CË$‡…2µˆt(¥€ûÃÔ§š<±•JßëqƒY*xÀ& ¬«ò™ø»|u‚NE—ÐtbrT\Ìvœ C® C¾A‡§ïÂ3Ùb~ŠСóýŒµp“Ù€3<t˜`Ò“8jõMN²¹±é’k:èçÐ!€Ð ÃË‹:=fÐa9m‚ÒDÕÜk‹ ÃÝÝ}S¿*Ñ5Ñ24æµõ/ Ceè?'o:d¿naPÐáßüá¯æÏ{?ž†à[С™g1óÞAA‡,A‡·1a¾\X :po@‡–@‡,A‡–@‡Öth† Ëqí£Ï>³Ñi× Æ B!C¾ûÓ¿GúI>üB*¢ˆjÅí…u¡Ö—­áä¸Rq¼| G„øÞ®ýhã[‹éC¬º¿‘m‘òòô8²k©I‚´w[õe'¤«Ì ml]8m6½)óvcÙN–ý#Ýæúw½¿CØMÛÛÚ&fp„6† ZŸ§¡2¿~D"×-Ø\•0Æò>âlÆ$ç]€»™ªYÔ 8wÇœqÈ™$ïPÌëÁ€,ƒÞ4AØéÜD¶VмXìe´\\Ö_¨ÖÝäfë¤ö~ö_}§Ý8¨¯^!™úôŠ©;– ~§7õÛ#<Ú‹ž1êüÂ:Ø¢’Þ@q»áÙðNßNGú¦2¹•¿ŸTÆtÄ_½zåú·ù¼÷ÆÖbô@kÆ/PÅhì¶ ÄoÿY–uñcš±~WïW+fVñãò¸õ÷“Ñ“¹bi¥÷ÂÁ|šÍ­2²ÙÕœÉ÷£¨y:¸ýq5"Ëá’gµí}g_ˆ¶iììí‘õ9¼Îo,Æ(ôkŸ>Spo(cÆË»±&ãJðç¦x÷‚™á”MMÞ:í(Bi¼…á–÷³ÝˆßËÓøÙƒwv¶¡Î€)8>omÓzÖúþô,ÚŽtIów.»í¦e![¿ƒ@ÕíHE1,ìßô&‡ƒõ*îÚêc~~a‰$Ša,Έÿxrkkk­Ÿ`(äSÞmoó$z kr&–Ïf¼723þbjb×¥l3‹ã×œí¯·4e1þ.ë0š¹¿ÐÄ®y,„iŠ·" ý\nîuY]­ŸÊðî¾Ãζ}ž • –„°±™zþƒãg/ºþü?{7jGÁ|?¡®°È[_¿÷f»]o±Tb tüû|ÆL£êf%ú/¿ürM•6Ðêv`è@’0èšn2‹k`êØ›?G'VŸG¦¹y_úv¬q9ÄØ¼ÛÑÒ4> @u~#\ìNÇ\`€Õåêêr ÑÚæ ÓßLe²mä±0‰£R‘ßW*¼É÷âzZ»zûòµ½ÿuã\—¢˜ðÀà‘¸@Š¡¹ë’15õ'¸ü¼Ÿs þ½ƒ,Ȉ˜×nAs{uäypàMïüÍþzêrÞ×¹çÐLÃ…hì:? Zi·ä<ÇþAw—ó>v>?“ÓôÝÕ·æî³i‚ç$=>BÏ(Ægj7œuÆŸ¿ÿ³³_[)/å'¬¤¾¹뎤øÉíõ¥ÐužœØ™s¸ñèQè{*;4O'SÎ9@65ïÃ\]¹Ÿó÷קּʫÿÓüžÊg½5}?ûÜô¹°-Úøîˆ*HÛþ¿šä²3>땪}ƒg2žL$— Vo)ãm(ZÛħOãó1ß½xaùóÛœ_ QËÉ‹ÑpºI7w7qqb RºiµQõ5{MК}wú}IRÀÅL;ûÙŸáÅ//"»ÞH Égð[ŠMxNDZI«ÛE)Ÿ·ý}¦ÀcЉX  XƒÅƒx“jµŠ›››Oúo®®Q­m¬õ=*ãX&œÎQ„!Øô4ÙñøëC¼ýÑ›!)ŒCŒ)¬Õª¸ºrÞCÍÖÊ¥ÚËQz½r9ûâI’ä0Ò¥Ðß“Îòúâ'½–:†f ¹Ï4蠞Ŕã¸ÉqÏz¶€v}Fs¦ªi oìÏÙ þ`ºo(Š„æÒÕ^ÝÛÅÍñ‰{ ‘‚`¢š­&Ê¥Õø×­ëJÞØ|й4Ú=a¥ï¯Ól£PÀ6§H \Ø4‚eøO´U24ë3æ3ËgЃ3&•7Šhúf0Sx3Þ4oP-W±îRÙ©¡qzº1d&ž«V0¸Y͹L°€ì3ÿ§:(‚ü$Öz¹™ØHA¾ ¤4TÙ›}ÕÆ:¨ HLIH$¹‡M´ #YB2±>ë¢ t*{ô]H·ÛF>?õ)¿üêsüüÓ¯,„\\]a³¶Ú\J«ÝA©XX›5F ÒÉÕÚÄJ¾ˆF·}o÷ ©ëÐ=N\ùå§i%A d“„žÕ 0 |ñÕî%ÍAˆ“~ %]ÎChv#»ž$IsLŽë$[õ œ_^Çþ=*¥#Cç0’còL‘àmæ×X> E}2ûŠ¥x(š÷|l>EWèãAVà· õ^ݳ ’0D:F·ßC>›{x‘âÍ/S u|»ÔjµP*•îÅóîî=ÆÉñ[@i#‡ÖµéÓè’’#>™÷Êòq=Æ!_5nP«T?ÉóÓoµ‘-ïìû%IÇEGœ xÈF°Zñ›7ïðäɣ؞µÙi \°¯ÇJ:-ieko™±„}‡Äh¨à`fœ®èª9oLå\ùb„Leb—ÍxgBˆtÀ3èPx;q‚Yv=»å´4ÀN C+ð :¼º1ƒãrùnAQ Â;)gç—6?·gñ :#»v~nvú²Ù@Ÿ—Eï{´Ñž&×t(»t‡2æŒYÐ!KÐa:µlA‡†Ç‚­n˜ïãtHöÕa7Ða·¬ð6øÄpK6ÝaÌ÷th­í@‡7>ÇÖÞèPÑýëÈwGÖ#§²ÉŒ«¨y`ìpŽeïët :dhïÏè:fW¡ÏœKÙ`LD3À t`tà#èp Ø?‡Ð! thê¥Õ5õxˆt(v—“ñ”ƒº_Ðáå™ãPFX+Ð!€P C@‡€Ð!€Ð ÃÆåtÍ»ô¹b6’µ¼¯ ÃV/º‚éÞf=²kåùøF”>~ú ÀObãÁMã#Œ…ÌÈšŽA‡ôõÛG-oEh¯ CâÁ&ê>óÛ«‡°ð:4\ØáA‡Bƒ8Ùï{+&S3cÏý‚û#÷ïP,âÇJÕ?ûO®T¿³=èPtðéÜôi°w:ìõýû¤³ Cø?ÿÿk^·qá&Œ„.rtEÈÍZ ùâjó•A@‡Ä8¾Âë*A‡‰IŒï:$ˆèYÎ Ó×’lØÀrYÓÏßÜØ‚¦ª¨o;3ßzšÏC|ü/$ ‚$0ù×¹ß@iÇë®ÐáÏ/ÞâåË_qöúËß¿xõ¿¾xW/~ů?~çéš[‡ö F·#Å£7Ða±â lñôÙ.¬-èÀJ@‡@k¤+èÀGÐ!€È@‡¯^½ õùv'ðŸС>6<÷·öuÓ¤†š°â7šá&Kö9…V#š¹,³ú)Dë:$|äh§Ä :ŒÐ=¿>¿“ujS½2ža(KÑ 6À3C±ŽÂ…f2å‘f3¡@‡Bƒ·÷­lÍnA‡>‚>Ý_‹} —ë1n CI^ž›V³wÒÓ•èŸÙtÈ&V3EÉ èð/ßïùz~A‡¯ÞN™˜ãp°Òl|Íì¶WV ³hÛj[;B¼ŽÓ¥­ƒfÖ¬SF"Òxà£0Ïyö=ЇŠ1ƒ*%:o‹$ã9ÕúýeØô"oÞLGQÖª&(­Ùœ/‚ÒÄ úöÃûØïiŒðÝÛ[u›Ÿo‡¾6ï2v­=pgÞº Õé ¸¼÷À±bC×»·½s'{.ÁÄç8ø)Hœœ»|" }ÆÚôHbþ}¼{||\>l,E&kêôL2\á1‘ ¦KõSq/Àç{ZÄïU︻lsËÛ÷³¤ùÈ&í±?“˜÷7º÷"ÙXµÆ­=wG¼žŸeÌL3þ¦ÕØ#ãnÇ‚gÒöE-ƒÐbýnC[>÷{ß|èZÒœÊÊ̸m;N!m¯÷Ùp£Nùü2¸V‹°Ó¿¾½êóe›„Ù‚–c"·&]äj¹rj%ßS©W°}°j¦‚¼Åh¿^ÛÙë̽þÆbœSªš^ùëaùh“ç¥\nâï¼™×÷ôÔÇ«T½íÍã {̯¯ÚPEï±¹à   Io_¿šè±©Ýä}46&™»k¸õehX=ûa«ã•JyÔ‘òì3t Ûv-[õýT6öüùÁyoqŠ.Å—h&=æìŽÜóm’ÅxP"Æb Á -ÆÝJ¢÷ÎéB9Øèäl6ûžÎ&Ý¿ƒ5t }â\Ùk]âS~&ÇzðøÉ¼_R?monÆ~ÿ9TV½SSùzzþÆR¸"l2½Üð\±KOÿêk_×£=‚Ž^¾}íïºN9üÓ&ºíõkÚh,4ÕL¸œf©°‘bÁŽp÷!;€‚·«¦®64Vµ[ÖþÉšû·Ó1}-޲¶É½¾é£]\Ÿƒ¢i\žÙƒ/ĮϸoxH¤ÉzH’ÓŸ-Äi­SgàÇá£gÎyší]‡€†" —ßß~øÄx€a¯ƒVw€‘ÎâåÏ™ú~’µ?|þÞ>§t¤xXi{X½~5ߌY4/Ø™ Õxc]A\ßFòE@̳gá ãż/Uu°áOí…ú®³ “|‚ô.::?rü}gÒD1œRTÊáj†íÖrN¡5Ñ% @®NÍ?‡âaß(cym÷V­¾ÛµU0|Ä<‡ ì òí·ûÖ¿°H ì>öÝ[[+}_ݦ¹_SÔdÇS:TÇ%kK¤§>&ᡆŸ/„Ï_]º3¥qØt´º›¦ü5‹’)ÓO:;zé}7­ö‡Ö~ßû×GÑÇœiÿ :éTaâÓzK8À¸¤Ãè÷4ï¯yÓ‡¼Zp4’,½2}£È*’Ùõh4ùÝ·ßÆvígŸ®­% ªÍ\ñÒ†™ïçBýQÿ»ãaNZ_üÑá#tf’ÍY: YwýØ„y‰É'.“€ª+ÔJ²‚˜„· MÓP$é½ ’O¥!ET1Œx¨o‡Â§Í"VòÀr¤Ï8Å‚50â/ù êõú?O¯×ǹ+¼ÇASÃ]˜dºE’9™HFö<ÊHeS¨TDÔÄW¯nAúõú¿íIŸÝH~Öüì)‰}Гî± ‚²ay-çªåa4{&ä¾Ö|]€dÂtèuÝI…³ÛÅ|#)˜](”7!ùdáú˜²1t€¸{:øÁÀ9)žÉ¥¡xôOQËÐÈ–òG«¡ÉÞÞÛCß r¤Ý ×A2™„ê°×‡´®Î§hŒÇá‚laÐëÁP„ÃË/3`„°³ö®Í‚ŽÔ“Aû §'g©Ûï‚KpgX¤{&-4¢P cRˆÔ>qŸ\”Ã%‚…‰íÈdóPäðgÝN¾ÿð…Bš,¤-öƒA­d½dquŒGýnc¨Ð4çxRÖE’ÖÄd¯—,ؽÆÃè÷t“cP!ß[±8ÿ|ú ðXNý–a¡ñUI#yY ”Êä0Vd¤Rñ‚\Û=IÓÒŠ,·Á$V— œÏ¹ÛÁnWPÓÁg IDATÀXÕ|à F’‚¸ÉõŽ…®j÷ ¸€{Òé4Å<—𤣏]À¨ï¬O3¥ùnÙ<ò.S€¶løšú¹|òd}DAÆgÒÒ-¦GÐÏX*‰ápšL߬l` ºÇHÅ:FÃûÙü[”“7G¾)]mE»b¦¯H#PôêÀÞ4émóè1ûôE5õYk¼Õh¶‘âÝõñ¬^Íò%k=X.FجgÁÚlµ|ûÍw@A_È ïî ’Y+‘æ Í°{½G*•µþH¥“ tD)…QPÒÂd*Š ðþèö·ï9É?lÄŒ¯¬ÈI0¡È2(‹¸!i³ -z?ŸáæuòЕ±-Ê¿ÙlšÁA@1’¬e4†âãï*o€£NÇT×±a@üÓ/‘aL¦E}¬ ´Q_º®& U0t¨:Àrú7W(V7ÀÐÑ2c2 ݆’¹åpf+ÅĘòQ’ ™C3s±Émfå£í Á%–×I“ôüç Ò<[cB…(ô`uêùÑ1²>Îk“'¡Iú!h"œ Ù(”1”üé—Ñ(|Ó¦mÀpaº€ªé 'ç³Ý DzŸÍÄß”µdó%è6ºX8‚T m,›pÍD%‚_#¼_~šN§é÷_]u¡ó c÷µìµ½}÷M»T2yg{“³ðÝ©d†ß:ÔŒ¿¦©cärNJ²‰ß)††¡ë‘*•„1¾»˜~³VÁ@±¿³n¿ ÝXöMTMµ%\2,j„A„ŽgO>G«lz`ám ÀJR™ôzEë )÷û+òÅ<¤߃£SPuw“˜±±''Ë™8ˆ¡<¯Rž]bÙ[TštF1g‹¥Q¬{ È¹³ïiÝòmµÍMk»ñë/¿¢Roܺºl.‘¯ ‡C°s^,Ë®Ì.é[‚†êüxëíAtÚ>Ç1šäûÕS)<›ic¦0HÀ»÷óHë¾êžLg§Œ_~I* Ö·£#I¦¢ *ë›öìô,…ò¤ £ª*²i÷ñ¨º>UÝ5N 7/¼Q¥sëgNP«e´xûöM ÏñYï#C(Ê(ò»ßýÎõô‚²:»0Yá†]l•—»áFŠéLärÞ’ vIT?2ÅÜc“ö Wvâðgó9\Þx£Wç<Œóyº÷9$ª lä0iûwÙìYùöºŸïJ ™ô\ðg%ïß¾õ|½vן]HðS»×™0µÚj/&X’wƒžûÙæ’ægúRøD Áذ ˆ¿ù/ßÌÜ—÷õIó¦Îî·‚;œ4ë/ 8;>^ÙÞ[L~–Kyè3ô߆¼A†O:¤3Þì«fÄ[|,m…gmærËvãâÄÝæä³f¢Ýª)¡^wî’ׯë 6,erXWô—Ïzuk׿>²Ù’‡f6e“Hºi{캜¨èW/^Þ ;~ Fr´EäÝßg6@ÑÑí?c¨ËI§ —™ìÿ1§²p¦ë“‘æƒîjâÁLÊ{Ñi8è­äžŠ9Ì—Bç·ÑÙ[™µ»ËÉò±¤ åqܹÐuŸ‚0¿ÛgóÅŸ¡àSèîõ:_\\˜ë=³>n¬þŽ6?MaWÑæ×õ¢á<²0Ÿ0írûÚd,ŒÜœLt˜3CºÿBJ†/ÌäEü'ŸëÛñ™n¸X$›Í¬|ÿeKÙ{mÈA0ó†˜åâ)ÊnLãÉ×/ßàb¤´N"XĦ•r§gþÀPŸÎ­nŸ”L!P-šNßO§PäfŠ…‰¤÷g‘i,º·Ɔ9+1A„Tk¦Ó˜öììäbš÷‰ht¦¯}»¿ëõ‰°9=ÓÁtK,±N2VÀ±a–˜â  Ž& Dbæ¿qÊ›ÈrÄ¡ €¦-  (òcö‹ (0)¸ŸŸLÆÿy;€gœFD65½˜‰’_»gÓ›ËX7Q‰iUŸ€÷&q5cÐŽ“*nekß©¯²¿éA·)3:fœ“âoã©å5>=µžÂsÝñ>˜ÍFWÛÊU¼Oi ©hƒkÆg°^ßÝ_©NZÙ3‹ÄŒ‘4%—öcBÕY åá͆Yh=00äêÙˆ…À Æ–7½ꥎu’WvèÒÔÙé÷Ë£áLÀítÙÿì³Å—x¼0ªÆ«ˆýåà4‘°N@Ô‹Á ¬4INÜ\]/±SmO®©¼¤‡œ7/– l4Ô»F÷IŠ;[èw½H%ÆÍŠé`¼>þŸ‚ á0Ôj5×þz½xÓnoeÏpøø1 a0WœdqÖݨöŽríùú™œ{1L™ß—å–õW³åï½’ëµ øáŸ~´FOöž‡^gU!îÍyo¶º ÷Y¼ŒLô+­sk=·’õbs×ûHËËK‹Ÿy1ûk(” ž'_ð¶­8IÆuîî[Sï·]’l7çóã¨$ÂûzÒš?ŸÝkT›t8>ûÌ›ŽòÂÇ—»Ã®ï rݽñ3¦ìßÇ{‡‘isï(㈜¤—ÏÄ`fpb!µ*|Yê…¦?fòÓXX™ïöòå+ç8Ö'óå`]³Ðõµwâù£ç÷bOjZt µ\)\A$Ç{‹9‡ãÎÉ£Ní“t)Žºów¤Ž£í´Þô0šVôQøìvãoÈûù§—¿Wž·Ë™…\ÆÅÍòy5H÷æ”Å4;3çÅÿ~¸<³ß_•JÈ3ãKÙÚrŸHÑ½Ñqo ðJ\ûí×À°=D*¦¡n·{gçðýõýôùlnn»Ÿ]Ù»½’:ñ£ímÐ.Å]Q´ÁB/À5·0"k§ZsýL%]‰üù{êÔÎÉ#ŸÏBz³)Ÿcn®Ì³T˜€š¶w§ú¶\‰§±ôìøtm|Š·ï?`¥B;ï/bò¿ÿó‘üpþ?qÈH죘/b$‘€‘f‚um>^,Ôk):˜TÙ$ŠN æ@ª66ÝãôÁ`pgëß›axÌ¥ƒgK§¼ZoÎÍoµæÝXnçÏÑ-›á*¤R)`$™qv0Û§ç‘}—£Ä}CRA8†nÇŒûã)u»V<úóÊgbGÖõ\!?ŸxSmºðÊÿ:ysÛš1wg+²õ¸ Pp2´x)©¶6§Î¬KC«½Àë›ã»a#bdðe÷D—ä#ýÎÿøWól¾]‹„Ã/¿üÉwí{èŠ_”@Úpìœà»¾Ã¢­aÓ–«æ™ÒTçýÕi̓žÅ[¢³Û¹»õ%eg]{rôÚòçŲ¿â%g8ûÙѸ*¥Zøˆó¶¢ÕñïR> u^bê¶Ã˜-.ŸÍ„&R4raL5gkôü¾ÌL›Iš¾Bbíe#_õýý‚ëá¡·„ÂÍÀ»ý‘¬;±ðÅ%¼Åùºj€MN×éùógŽÏNò³{ÖÒR£/lÌ$¿þÃ×–Óœ42½|w?˜=)*ºÉ ½–Y F.v(>HwIaµ[ˉνèéâçtÚ[®fV~äY~­öé—_}¿ß1¡ý›È–›IÖ6íØ¾çüüÒòç7—ul¥`×;>™šHÛðûÿ„T1…Qã5ÏÏ/°Ž"Ø ÙIð»¾3ÏnÂ{¾›+˜9Á­íx'TÕÉóÖ/¸ÓŠè-Œ­?½¹r×BÛÛ_Eþü³Då)hôªµ|Oé‚ Ò¯?D×D¦©þ,¶÷v\ÿ&;É-2)ç=ypÎ>> þy-ú7HÌÇ? Õzì 6uGX!1A$ˆ û!šð0Égñ_ÿ¿ÿŽ49Bd¶Ô  -Œ8î\^᯿ù…—Σ\È‚ƒ„ç_ÿáãßüîóù ÿËÿöwwª3ß½;ä²9ß̹ˆž‰1„¡·8…›l$øøÕ´™é^¼GˆâsÂC&ã¿V!©î‘t®†îóÜ66°V2Ó@eDÄN¤ŠËþK¹äüÜ¢C³}¡X |/r/X\¾»kŸ#(%Ý÷)‘žÖšûùCyyΰØH%`ÐíØØ‘E³ØX–lžgïO¬íÕ ÷õMΰƉ÷IÖâJ¥‚uAŒZ ›t Ð_©TÁ¦X;IY°ïH%š>êléôj'ßüüó´ÙΤ;Ù$¹º±.‰–Û~±&ßHXé…Þµj9Ö{ûüëßÇrÝç¹þM×a².µ¯—/§yÈ¿û_ÿÚŒÉz=p5íçËþlÃÍãšrürìõÓºG}k¹>&*ó>ÍPr·4±ú|Öùe,ím¹‰n‡Wl'ï Þ|À»0Ê#ï N„~žµ ëƒîtwm*‹~Vžq¼W3î!¹p(™âw6;ejö<²¥iþFbȨ0×Ën¾¸[çI®–ÁÈ€wÙm7|_ŸKÄ‹ü¥è:õˆfÂ'rñÒûJ6û“2¢cZè8tÔ_/ŒbÃfHr«aÙdÓó;bföÆ¢3+*Þ{¥}'*ãÐíI¨ñ¬OÚÇè®íSGÑáÞ±Ÿ‘KC!u¤'ŸI§ò+Ù_µ XMQ¼´)&%Hg•æ6Aµ©“ÏO¼wÐ_œYÿm»MQ­¾}P1’Ã;xç'žþ®TœÞÿñIøâÄÖ%1vö­m>ŽuðøÔ~ù„{À ¢™ü÷?ÿe>¸²H8|ñEt…1vB¯¿yhŸÔLg§:ëtÆÓ}œb¼ù ²äœpS”õ%Ù¼1|ío¥Ys45ß·q¾sŸÏó¸n.û¿l†ƒa8êX&òçq9° +MFyu˜Çê{Ël@ÕÚ¼þÐÈp:˜Òì©;„:··+{ÐT:;¿´É8zJß—ýNoâ š‰ÎEÀ¦¦¹ïÇN§ãϸ"y´¯$MijgéhMg6À—ÿô£åÏËkÖÈä!Hõ‘Šñ¦÷’çdÛF>zN“¼‹bÉ[©ß ç»V<0[ Âr¬7èÅê@Ç`7n¥Õ ·Vý×ÿa-ŽÂ؈†=;5ÃÆt}yná¯Þ-K÷Û‹eVY;‽ÝàªEõWØ—÷ÑÖÖæZì j!ÆI³<ºû^™ÿMðBÕù™{1”$¢)©š†RÒÙf²áXú¨™Æ¯…̳³Ÿ¢‡3_ݼžŽž®•–Y…N´zøßþý˜Ïï°6;zÐÏH°Y¹ºœTöæÞMߌKZM?|p`h­ú#P%±y>뿸¿·iŸùðþÆ.Ó™Á§³”Mœáá îðÉcÿ€KCŸ­®Û}äRF‡9e1zößÿ‚ «c$ô1)0h/üóÇßÿå×ù ÿí¿þc¶>ø„ G¦ñaapŠ%ç"¶àªÞi:ÿ^W—×x?™9÷|[ó¾'Ëøkú â™ÎÔ롯A%ãɵìxdë™i :99‰í½6[˶9S±ÎÛ•@öMàïMä¢!àÙßž²`·4†è¼ó}>êͺn*¸¤ì€ñPç5ŒyèæÚ}}GZø‚WÖâFþÖ]S6;_ç"€n"-òa­V#ô½8‚Fz{ÏekîÍIóDë™×"=¤û‹U‡C!Öû‘m€ôW7öͬúxy/$|*ýñ»y¿v\‰ég_¾ó6ªºeúÝÏŸ~9o:Ô¾Æã1ž?ŸN^ùÇÿ÷39ˆÑ½Û‹?ýø#ÒÙxv>nIqË6‰YpÐU#úFô®‡QQ½­³4!7aû<ËFÓ€¼½óÙJ—çg®+*㕼ÛPðfÝf$LGðììlÆñà½Çƒê&4mŒ-Jb¦øÝï»+V;?"—wf¹£¨åEƒ±ý“°L,k Ðyì‘eGuh?3¡­&º AE[(“äÕ"ÿ Ý¡ç=áGRÑ( 9Uù»÷Ö礔ñž8Òˆè˜ …€L™c ¬æ2}Båë6VÆ6pòXˆSe!šîóòB7 Ϧ|¬¹÷ûþðÁ›.x‹ §)S=™Hf\œIo:‚»ÕÃôÞi:Ú›¦¨Èf§{W†cÉ’$çϳÔt¯0äò¾©{Ÿ…lM Nõ²ó¹ÝõбV./¦AaD“àJ&Ü…ìíî…¾ÆyÃ=8/¸°18:óý½§Ž"]‹ä¤¾·³ MŸêÓ›†{Éo@|ÂOÆX$3Î ˜[ ßÅû夦ª›à%¡o®Oj {¬O÷±¦z³] Ž]ÊÌkÓ“Dø-ÒU7B‹} Dz÷¦âÂØ_*CtÂCsS¥šE1O‡¥2@ØøÕ¤‚^$_´g.—õËÍÕ¼þ &{÷èí»µ<¿g ÿ ñz†B)AŸø7”‡X¨P(¸è=ïö¯ÙœÚMa,ñÂPî‹ð)…<.ëÎ:¸y˽zÝ€Ïqó¥™>ÓÄ"K3:>‘]Ù»ô; â¢Ù§†lžÑìâØh S7ŽaêÖç¿ÖÐðèð©s.'b»Q/OÙÌK…àS0ÆðÇ?þÛò¶$–c~Ž ÏÎÉdÝâÞ¼ 7*”e¦{q£¾…û {÷÷JE3M¥TŽü­Ïä%4 V÷|¡xgk¥ÑŽhŠBk  ÅT§ä{·Ö‰uûÜÌø›ÿÉ|~øIÜØí¤V¯¡è0yF™FMñHŒ J#4nL°íÆ–·æGš[ˆ}Ùås$öLCZà9Œ$w°òÆÂ:·šöùÀƒÃPIo¹ž‘4Ygbîÿ0ÁNÿÖ|‡ÿ÷ÿóO¾ÞÏñÑ r~í¯nn@É„–u,œ›ï~xOBê÷0É…>Úý –Ç/þ·Øöx©n5 ÎÆ†÷fÚ’ ã¡|·M?³ù‡Ãý¥ß·Ï× ÄÒDÑFF(]e''ü³õìÚŒUüâñÓçôÀ&«ËË:…´©‡l&Gµš7X79:» gã-&%!hÝø[›G»Ëu‚AWe¬»äJÎÀÂ~@6»ÍMãCY¬¿dÊá‰=ööAéá ›ïͰ”É`$­ßxí/]&ƒ„Ú¯iÿM»•üæ$†K¯ÝZ‘3ãàÕ ¦A‡Ð #æsÙ<Ú}{=¸1SWÐeÿ{óæÜ¼öË×?{Ïu0þjœ½IÓ«4ÖR7|õõ×úöþEk†nŒøôó…Õ2 *J°zÛã/ÏýûÙékô=Ô·¶ã“3ïäC{—D³Yïùb2ÜTʦç Ïööüâ†:Ìvªj|‡ËÎèu§Œª¶`kZt…\eÜ…¢˜Îóåé|ðí‘·‚íPtJ/P¼Žíh«µõ.\U&ãWI›q~òp>H!¤õDŠ‹ úG‡Öç¤5hã^ CA¡tJþ:ïiª¬POb$u/–¥×ºÁÁ7]X¯ßÍX„½É(@yMÂEr»šâ“’ õÒ¿7Žs¬Ít¬º­Dy¸Ú{3–CÓ˦©/ÞÙtÁŸ84œG~±ìP2Ÿ@Ç`ÔÒqac>Øßç_áF3ÅpŠœî½jž=Ì¿#n¥ï±ë_œŒ±yýp3`Ñ‹ k.MÎws u邵¡è`¶‹žTŸëB!~[É$¼wzGÁ°*{¼´»Í•å½m¼ps}Ù5s "–‰—U»ß·gKÛììǨƲÎß©àS‰DlÏy9XŽá‚²ú…•ry ŽM»€Ÿû6cØÇÚÝ2,V«ÖvŠ –×YúÓ_ÒÌžL¥¬×G!Ü ŸýÁa¢Ïþ­‹e¦Äƒƒði3“ÉYëðú¶Û(/ï¾4C¸iúg õ©^Opwna×üêUˆagì–×7†é-§ï¼5é óI½û×ÿ6ãGøgC;=߯ÅR²#Êes™Éï¶ûþñï±:c£^t öAÉe4•5í¥‚ýÞ{h~òÄlÌxð±8êž±žÚÆ¢óïk+eˆ·é«ÕŒHçÓn?ÚÚ»—ï™ã¢aOÔC{ølt°ýðÚO¿üŒëë4/â÷×ÿåŸþ9òk–ÒS]6hOG< ¢`k³çâ”+wöL–òæó3ûäúÜ¿_‘f˜ÒøÍ\7gÒŽ(}d)¯Ôìh×—óàA‰– n ,œ0³l‡ ÿ>§í˜v¯Ñð¶×ööç#?ÿú©&U@½VÃV½†z)† ‘*Vðáå÷ÿÖ HšŒ‘jLîÇ€>–0R ЄR€gÆ|‹ ¿N«yç:èúÚz?%ÙÄãg«ÙÂ:JT^ç.FÎùâýíy¿&Ÿñ!SÞrm²(Û²³^_ºë¡ó«p@=Rs“üòöÍćs÷?ÈÄòÒïIž›•á`Ú~—ý¨Œ…ÚB©êœã}ölXõîd¾ÎÀL2’—ˆþAeiÞ_à×kÅC–s13qi0v÷½”{°wÍîʾk³Psý›T%ƒä¤ybÃÃ(oMŽ~„ÜUsÙ>ÿüòU°˜nྠz‚¿3ÑE4º÷B7ÒFÆbê:H§uêëï%P›(mµ½@(•[K±á¬§hcyr_ÓDéñû÷+½‡¡Ë(ëËøV½¾³³^­úëŽÈ—V?NW"샒GÞ™nš&@fgßG!ÆðÞ¹¨É>{ôdj% ²ZaÓwö¼ê8ƒ¯z6Œ¤ÔÌxv¿#n–ìôB×.ë/PkÝX'Ù¥°è憽/ tì}d͇mY,T<°ø%y~eïZU½‡#Ù…õÒ£I³½?ŽõIÊýÏ΃ۥ…½’b¸É9™/\ž{¼Œ‰`‰5?Ýo‹BO }W3̧—Öû¼‡³­ÉÑvÉËÑw>ª+&ÊæóXG¹¹±fæ5Œhãµá¤¡84®6 £2G˜3 ¥ÍåÐ>@ú û3éa̦缄a ZïG¾yý*ô5F>’€ß|óMp}ÊÄÇ^÷S4>鳺5³A»Ó_Èol 9™â!õü'Gwvæ÷k»Õ@"éÏÇc'ͨoßœ~^vRÜøôZß<»­N|ÌBãVétÆúl]¶¬m“(öpŸ„¥æßÿ» ì¡…?.ѱoŠb´l$4c‚«êÿl†ï΢¡ëû*gƒµ%ÍÔψ ±ï߯ü»?|;}öú4vÉÎ0ºõÅ—xöäÊ›ö±ÍÓÏŸGò ‡O¢ŸþЦº,Sœæ°Ó¼©ë¹‰¾œe)öl“Çë!ÅÛí'®Æî~7Krº=4®±Ékˆ˜ù‚¸Å÷¹º•J™œ¿³H24¾üü1`wÿ»Ø;8ÄMW†j¨; <ÿÃI}Ì0‚  væ=(!.›AO2c¾Ù1ÇÕ| … ùB¯µ~€¾‘"GZ·ÛªÏž¡ør™ôêê1·@‘DÒ¹y°Ñõç”¶Íš‚>ÔgÒ*ö¶;a3†7“É`ÃùÁV­êŒp³Ò3,Ø:å¯|mØLÏI± î“”óóµ>ißH@%ý5ˆ6\‚¥€Í`ª ‚ð—{õjsnU–ë×㈦­¤Sþu€àÃçLr«É—fÿ XšŽîaè¦ÿÆáê—÷¿û½uŒº±ɽʷ†:îÜÃÆÔÿºvåΗA%¢÷kåè¦ë°µQw ²ì¨NiXWá“ñÑô¤öà›M ßF xÍùú“N¦î| ëÝþôÜìí(z} IDAT™u`Iž>/EñÓœ7ß*‘^^—R­ä²¶Ó½pÛHBÎ4ê¤RËösÇ"×ëG¾84ãÏîM´þ·¦¸š4s¤SÁt=ÃD£Ï¶6œ‰"ïNPü–ä¦5ü>¶é„fHo‡HÒ% 'fùg¥üj:¦éÖáÔ×[qcA*þ7wýI¸C+޼¥+çCMØœ E]Ù~ëÛt…=™0¦w¼sÓhü&ÎwsB-¬QÖA‘*Æóî%UÏò@p%í2ž´×õž\¾Zè>)îgŒbLg ×².úœœ-8Æú|"ÒÏán78@ýÕ¤[ˆ]Ý%éÁì[íI ¹¬³ózsÓÃoEªåšÿÞuT‚‹woÂ;Ë lN·ì·±êœ¶5XooTjùügSÞ!½n´é™ÑgåJñÎ÷Ïr¨Ít)Zù9›õÒÔètùåé|a½×÷§7JU{0r ¥z/ØW,~¢"M’5¦®‰«;AÓÞÑW×ý߉ô¾Ž‰lÛ 7Ò(³·Y‹õu-8Âìl|—LÐø«ß}1Ø1‡cëýQé¶:ŒZ` úÎέâ^¼Çá§çgþ€3í¦?Û.y`‹¥ï¼p½E%‚‡Ši{[Æ:°aèÐÑ kžR›·)êL"åpclžyåžäSªᛚ’iïÉÑ~øÁÙþ®0>M±¦_J’“÷é±.šJ/ÀÌ2˽ºœàòiû¼P·5ÀH½ûé«Ï?·ý2ñÉyŽŒhš.®®bya`½ɤu>çW7šg«~Dü`Á‰ËûgÆKyˆ_ÈÉX´æÂ¹öÂfÃG ¹e\»lxc¯’ư9N§ãUßìÇ?ÊS2–ã¨ÛâD§ãÍb3ÑœƒüÓ”®y¹»Üzª]—uyýëËØÖË/K¹U^‹Rí}n)#u2(Ë9±œ[ Ѱæ)º„t>^=É¥¼<71ó¿ÓûX/u)œzþ΢>¶ÎOæß[I³;}O²Ë:klˆÛ‡fÜ1;åŸaÕ[4Æ^'àͳç³Õ,¤æ/ÞH$ÝýÓ cz“ÉäJWµèn­í«$=Ù;î¹­Ò#?1Ó”,I=|ÿ—ï,?wz}ú™Y†A‚g}Sp6wv#ûÞTbêÏÒÞH>ÿÖ[“ Oº¯í¡‰ÔÖw’ 8ò~F¯|æ„ Óᇢc„…ø9ºÆŒg_}ès‹u¼KœfÜÍ$– H˜™NvËäÛ—ãÚÓ çwûÁfZà­üò~9þüj?²gîtÃ`u¦ñ8\ÝTœL©<¿¾tÖN¿L³«ßžÈ$q—R]`zûæCäß‘æ—Ô­ˆ?ÿü*ÒëÙ9F$knîAß{ñûòM8…Ì'㽇tÛÄÌØ¡çã­©2²`m{óæ ÎßsªÃàÕŠ3KF‚w/ªloîßÉ™UÔåõÛÞ±.œ•&o¦h½Ÿi>¾"»¨ˆ@4à˜››å /gQ45ëï«mÌ¿ÿ$þŒín/³ß1 cD/Ï/=_/‚¡çÙóg“ýþ4ÉÀ‘óöm‘6]’¬ {Wo®°Î²¿¿ žQ'~_uÛš•ð‡þìpøÊÄz¡)˜…Ñ ›‘3Å P,H‡4³n-—‹Ç¥áøøÚpù<ö‡ÞmN1mç“0œ&*›`cdfGø9å¼éL ÛÛÛ¶ç3néOšê;óä¹l°BIëz¹Ñ`ã@Œæµÿ¤!Ïš¶>Á®®ƒŸ ãe ¾¹™_w¹?ÀÙBã 7Ê\tÏôá«r”«^‡¦MuðHVñÝ¿„¾ÏT£Í»ßåE(,¿ß-#¬dÃ¥C™›a‹ÝÝ ÏH§NÊ¢I e†#\»Õ…6éL üN;ÑÆ¬NàW  ûâPÇ%ÉÑž)Àõûþ÷i&ožš÷èI"«éÐT÷â»â|JPÉåV7:V»çê“øôúbaäâ,¾½9ŸÔ/dýÇ |Ñô™‡ŠŒñXƒ®û+FÖBŒ‚??·.Òuû3–ÈFâËÿ2¢ñ·~úõWO·ùl> n(cð9ÿ¾Öfm9þI²Ê¥hšitH¸8ŸÆ€úȸó3{ÞŸ«Ìãi6JMì”F`:iî«r¥‚ÚÎ4o¤«òJ×ì¶òáØ{‚óÈhóÙóϬׂs¡³¹õÝ}[œ(¼Me°š&L'mEs«aµªnøk\²Êki´7½{ÓY.ªñ13ÔWj&q@§s¦¹ &Àpl87qÙoÜö¶6Y;–<‚±È*òøìéSÈ$‡|±„J) ­áÙg_âñ“§3÷é~§µ:P@nÓ9ÞÉ–½ûjÆ47¶·µíú÷dLS­Î.çÇÀnîî/ýMbRkµÛαÕËwþ™…%Í<1b·ÛìßA’¤Q*GgÇž=ñh­p„«{î\›cÁó¸ 2xÍêì½w°*£âRì÷¬Yw+[®ßßëykœjöÌ<¦,Gœ+õ0…P‘¦gWù÷OÇRàQœUz†ÅíìÌûÔ–«cë|ˆî2&u³â°x|Ñ…8@7úñ1_œ,äV*NXŒh¿8µQ–7›«uuYw å)ð¬#x;C¿~?µYŸ~5ïoúÖ]í  ³Á Œ¥T­¡Œ‰Ø‰Lg1ˆy쑵­ê#—Í®ÕZúy·£%’,ƒQÀ.Óz.‡7gÎÄËȧªhš¸Wû¼Ýi£X¶.Ûù/pÖ bŠ2R¼wà–$|ªBÒtU‚¦i f’ý)šÀuOA:ü)ÄpºvÕ½¼ûi&¸o<ȤÊÕ"Ú7ó Ucöå ù¥‘Â¾ß HèÐñ[F30žI’ ‚€tÚ¿ï’-¤Ðï8waŠýx£ùL§'ïpød½f¼¬>ùLÝAôß‘$€(ñ(9žEO žxO± ',¦TPˆ¯ÉF‘d°xui ’»?ã°Yëq,jHðSÛ0Iy;'ÉDW­ ä2kÑ ua$V6—E¿×ÇPì"Åço µK‹ªË3Jc$Öàý¥xCÑ[“d·ÛA~2‰¢Ûj"?ÃŽM&Hèr|¶#]¨@èøk(¦Óh»!$]G†k"I h?‰l„þž®j¶ãЃËŽ¡(ë¥g rȆ›N³‰B¹Œû"ýþYc„•‘ v†eË¢c}g—§þòžN…Âz€ëÕ.oÖ§ñQ úýèÚF W,ƒlš‚"ÜÝØ·0B&Ä}=I[»Þ ƒ\ÆúÌT³iÜXL P$€ué¥Q54|¿%9#iÞ½yõ³ÐB:U@1¥¢Û@Ñ'¿2 ƒN×,óëÏ?ãó/¿ôô·£áõ§;èž·ïÍ>¦¨4-ú¼:Gó`i /E7¢Z-àææõúžç ŠÒ½ºgš¦ ª«±1‚0DzÒ${W5êÇCö¹çAëq9Á0D2/E€Ò¢]i4çÐ mÐ4ˆ AJ&—ñÍì»*Jc¤&9E7À’ëSWPE4íýHÚå?VŽD¤"5\Ì–Ðî·ÖúÜd³4š$Øhrž£áÉ”wŸ~<Á0­oáõ¥;{laÿKtŽ~öý,¯^¿Â³§Ï”ë'*AÀðÀ6©I2(n…d#nÀÃêf7áFÝð¹ Ä55Xw%åRÍVü,!õÜ.{מÿ~£R]ãšÖ!Bò*±7Ÿ‹¿c_ÕdÐTðÃÄ3 ˆãOf¨:ˆÌyÛÈUpÝ‹~dK§¡LFNË´›ñíî„Tžû¤Þÿ@"ã®I° e¡ÀCH§9ƒ ä:ÈÎÎ>NO>þ{©PF«¯}ɤ² Wè¼<¿F}k#ôuH#¿uŒA‚yØ„^ÖjL‚d¦…ƒím\Ÿ¡˜N¡- #ÿ>>•‚8´¿n.Ë£×÷Ÿ8–G.Œc³I›($E±jÊÃ&Z·=M© µðIÃ/ðþ—àÌEIMLj ïË=Ú?À»£+Y»Ë«+Ôkµ•¾/†§1­Ïå°/ •M?lêy;–‘0ü8²YŽÀ}LöªÐ ”aÌ/dòè üÓBŽŽN±P‡ëo«y¾Q\ŽË ٸ߾F©²…ÖÜÈ7μhá¤×í!²6“É8²Ï ›hw.Öb}3ùÝà ¸L1‰A;Zf&Ц¡©wËÈ!ª2x:OEfÁ )’ÇPÁ'‹Gm<Ȳ¼÷‡LÖ‹|®€nou@¢tºAðþ}›õ..ÏðF©€ëÖôšº¦‚¤üÇ;†¬H¸Å¥.Ã?l¤ ñÛÁ!Þ}xú:Õl7ý`g¼PΠã£il4úš‡œŸbwÏ?û}¶ZFÿfuŒÿ›õ*6‰ããã‡Í‘èšÒGî¤7 0)bï`ÇNïGü5–‘d–ýŽI@ Q­gÒ¸Lç…äÿÏÞ›GË’Wu¾ßÈÈyϘg¼çÞ[uëÖ PÕ"U ­ Zè{¢ò^7­ ØêkÅvõS¤Ûçr ÎP Ú"¶¨Ð€ZR2–Tu«nÕÏ<æ€Ñ!IÑ¡C¢ÂK)OÄFE‡JÕKå*iÖÊÖî 8gT¯è¸›îYÚ¸Ö½·±˜r›³Ü´Ï.Ê$çÑ&*§ 8¶Ö3C£Q=c‘c•EGÇ¢C=¢Ã¶-': *:d™áçZèðô™5Õ÷ðµò‰¸Ç¢Ã*ÓßµWt8=Õ Æg³æª0#áÄ£ƒv¡½AˆˆÝ7ŽE‡¹¼t{ÚQ‹ÙfCÁÏp`¸Ú*KD‡>'z¥;V•E‡ÖÎûåŠôÞBJtÈ6‡m®` ©°4GtÇ@­ÕÞ/™ú"'?±cmU¾úݱèÀ ÑáÆˆ*SéÖ˜ö³RªTûD‡m‚1/Ö±è0VöߘÒ°'9|eíÔ‰›Vˆ¨Š} Ý5¤D‡Y…ý„Õ¢CÖ@B#¢C¶Šy‰õloÿÈ”èÐá0¶¯M/këXöüÅK'j.w8ºD‡ ‰L”èЩÒRòXtذ›&‹±ôŠÈŠ×V-û­R¢C¿O¾øÑa*/X³×PF#Úü¢j¢ÃðÀëO>ù•a[5Û8={—rE¶XdúDÌ3nƒv“è°'Fo—è°(–ºÝÖ'hqLgí¯ó(ׯ#ÆZZºMõ=‚ꥃ¢CÚÕ36ÄîžqPtµ2‡hDÚGQ(–$î£5×άè€e¢CC¢Ãö×fÑaS}=Hø•»R”KÃÏÕõkm[k¢C^°Î'!;£åsÃÎë™ø¬®ƒÇcÝ­TUÞÄ06dWsV—¯]…¨aàòœö‰ šT^ìêGS0¦lÜ­o]•6”vw1NŸ> ·Ûݾ~¢u-4x Ž}Óz‡WB ÀsKÒÁ¦å%å ”·Ó†3Wgûüê•Bý i'N­Þuô×jÆ„>^ï­WÙ­˜•ä&í1í´bš[TŒSÖ¿´ÔÙN‹ÆXªkØxALõ9ûœ:ï}«Ù^?¦çÚvMOî=æ[ÂM3^i¥ ­ð;Ë5ãÆw8d_ã¥Yå1>)™J¿qç¹0A]™"3Qã9w .vàù|Ae?"m³s<‡©©á½ÍõuýÕ|üÁnÐlnnnì×®%‘há­›ˆ‘®C©…öþ©Þ—ËÊ Û'Ö·/`šÊóArjYÛzGO†­Seúí?Þc©_›ýÃnûåž xA¥]yBg{Îí=«×ï6·‡IÅûZÜöÍ—PÞ«ûÚFд{¤÷/S·ëµ´Ã¢ÑhHØèö ; …þùØa0™Áåñ ÌáÖŒ«ÕṦYëË<>ùç:,#Æ]\ê®W.ûlšì ÿÊ¾Êø;Ö‹X‚>ù½üáQ7@‘LšKðEä[ÖFRê"tVGe”+ûù“D"nÌ·²º²léyxTzŸ–ªêÛ)™9ÜI›ö3¼hx>wQRs’go?c|Þ΄C×qø|Ü>§Âz@Ø,£kõ\ª”ìÝ_”F#Œoº»ãÂEkó»j]½®onY^\½ÝÈ6$Æ¡ü˜K†»sNÀ×¾v‘PPâÙÒo6»ûBùÐÖß-ÀžV­ëW¯Ù~Ï®®o´×I×äûY™‚|Loznx¯Ô¹Ÿ0µnyÇ_1“m˜/vâtZŸªÞj[;;šÞwÛ9m­ ëÇm`/Òj™s¾ ÍÑûŽ–ÌUÓªÕÊà›Úü|t×Ñb©ë3ˆ&R=¾‚(·ô¾úèP:Y†âh,,IûäZ­«×m»~ŽV uFF‘R_™RNÚiû(–¬iq[.X ûòEŽƒÜ(?«!¯Ï2¯¯XÏ¥§•…Ì…Ò!NM1ª?DX¢hÍÜtÛf¤:ó“T"ôÑÁhu"­AMˆsø™FµÇÍ›Më‹×¸zZI‡Òþ^°·hN0ص‘WÏ®"6=ì¤é®&Éë2æC8íkW<B±$½·‹E#HÍ- ÜÇ(®_¿:ÑÏT( îò­·V«÷û.ÿ€ŸÑë÷"WWÞ{†#á±^kç@\Yä»ã7ÓçSWmµ¬—h2€ÙÔž{î"ne¼5õÉiTwûÁX¨jE‚(”FWõàôés¸rÅšû½¿³Ù´|æY³Ü€{ ™-Œ˜wÌóDãÖ (fg“ØßmÕ—Û®©]ˆ‘/èËfh´ ,ä]9?ƒõg@0ÛëF³qóW»*+ˆFC'î¼]´ Ü„UG☠\¾(ÞÑÙoœ:\.´¸ÑœoƒmÂëq#ð¡T¯ ©Ápð‹å"¢ááùOl  $œXáé0ʇæ«ÙÜyþN\xæ‚e¿-ìñ£ÌÖq«’Í瑌Û[U[xP6;”vv÷àq»J¥ÈÂ'Á™•e\îgN­ÌâÚú¾ì{¿ù¯ßÄ‹î}щú}߀K"'=ÀÎá°£±V® >Ykf2F¶lE°–ÀÀAûÆþ{yA„“î·—£‘)KG#;‡h2¨˜@¡•¦ÀÁMß<É'<8AãVAhˆ ½ÔÄ[gàñû&î¼|^˜Æädx(/XѼ°Âåuƒ“ÙSVêe„üáÉ»M´ÛÜØu{i4æÅÙ£,’SÖÎ}¾0¦ ÚãC=Ÿ'pò+ÃéZ¯›nù¹Øô¡°›E(29-ß”|n·€æq·ˆ–8Úcwkw‹óÃÕ£®]_ǩՕq¯¼‘Žö3›H.ðº}h4¬®,áúúd´ õú\h0œM㛅 /N'žM§RµŠHpôóÐÙs·ãÒÅç´Ø€Ó¼ çvQhrÖ]׃ƒ ff´ïã秦°{t ôKœ^Ãå+WÉ… Øgÿ l ”¿ÿÍ59¸ÜÖïÉ#n7JMmq§T8„ŒJri±ZETÇZ’+ˆÙp!z…nGSáiéÇ'æ“ÈíJÇyÃî0ÊÍÉ©~¿0µˆí#c‰k^— ž¸×àáò:o¹çÐãñ‚íIê˜]žÇþ†}Àr¹„p8‚68Žëëvªš¦!XTÑ­Ésx¼àÛ[X^Xëõ`Ø:|éDŒ¥…46·wlûn‘nT:3³iìïœè1-ŠMP”{äß;5›ÀѾ²À=‘Š!—ÑWiHíæõ›sêP,u"D‡Ñ˜zyÞ™é\´1G§Ñ!ø¼AKE‡E‡uÖxKCJ”Vì_»ü´òµ`µ‹¦”D‡à{(ËïrHߣB^ÛÃp<æ­0-: GܨHd”»$Œæb.ßÙ„èŸèP°Mth6;MŠlIÛ˜Ð@…/§-«O²èPhhwâžDÑ!ӢùtÿZ$XPÑÕi#0(: KtH»Ím,½ž¶±tCtÈÛÛÚÝãqÌ=ëy|Ø ,%: ):`‰è€¥¢CmÑ¡…I\;[#}†Ì¶š”ÒNü&DYµŒ`jY¬éù9]¢Ã°w<-0œk…œ¶5ø[ß~¦kwvD‡¬L5íIº\òH—LÕo)Ñ!€±‹¸´ŠWW–Tß³0×­ìÉõWð›Ñ!€!Ñ!€‘ŠX":`›èpwoØqk…#0¤ÒËjÑa¹§-¥ËãÛ˜»~]º:Ï$Š fRˆòσõŠù1oµèЭ³ZTi Ý¢C²¢C’¢ÃrÙºV.kl?Û+:Œ&ÛöÅê›#¬°\t Sî\Æ”è0–ÿloÁ–:oþZÔ*Ö%“)‰€¯2#¦Òê¾a–aT}7D‡à PÌWL¦$E‡nˆÔäs¥Jys•fý•œè0)Ѻ|måöÿ>{Ç]š¿+èÓf'kú Š<µ••è"Á h¯¾óŽZЖQNt ø¥ lÙãx|:ªïpÖ^WŸßƒSÁêŠrÇ›ývPôXtxù²õ6¯Ë‚‚]æ0·¯±[tè(?S‰¤¶g.äé· |>c &««òcZt·m\©®yvãa5{§{´ 4M#’îÌ¡Utxé¹çt:ís†šè€.Ñ!YÑ¡7dòSÊŽòcÑaTc…))Ña¸S5ÐNÑaÒ€-lTt Ot@Qt8£³ª¡ÌÍkkÁ<Ý[MœQß_³•¤ù¼½óœÑáòwLÌÚÊ4*¦>¯·»Ñaog"@Ÿ¯±Ä*·Ó®s¼q‹ÈŠÈŠ—–¬9ïq‹L”èpzzYñuÏÀ±ÕÙ’ Šfä;š†g¬K“Æ{âæR¢Ã&£¬Cò‚6ê5S'ZÐéìKÌšú¾Sk·ú\± î4ÙÞÙ7ЇÝh2$§£÷ljÖ¶ï÷3–½t"å„3àA•áèqžµTeÇâ“ZÃü GPh· IoºbqmÙ2fǼ]”KM„‚ÃÆ/'o¢‰8në…KɈök—É´Å•J¿1ÅóÆT§–¤Ð±˜ñÅ£RìNú5Þª ´L{ÞüaÁÐñ[Ð;DsãoèŸÐ[ÛR{;ýk-ª’ k3 \éïšÚEÁˆ†ö&N{«Ç°,?0_ô¬ùLq,ÏÛQ5L‹|ËL½‚ôÌ"öv´eñ¹ýæÅ(J­&sYcÎçP/ßôÜ“WiÈFhŒgLó5kÇtL£ýˆt×3ÁѶ©s¹ŒŠãFÞè‰Ùk71¥ù9Î\"ÈÛ×Ú§RÕg£ÛÙdHKœí½v°.9E*a¿7<™Éí}˜º-hW0…ã”GÊüÜü°í8ÐÚ!{ƒÏ¥/èPaFü û»ÂaŽ_ÂÐêê©ñ|±Ë˜°1>#$ |ê÷¼"áÜö‡F»÷™žSo9ÕõÙ¿‘¨usÚÖž¶ S¹ÖXCµŸG|ª{Ýgf‡ï+m ·˜m'*ˆ#plS°NÂóÆ…£33sÚæ¼²üœ'öLÃs=6WÚ 6ØôÏtöãAŸtÈÆÖ<¾áß­&tŽÆƒ¨_¸Ï IDATf»¶j³%½>x¼™* ö‹«é½R"Ü'ádÿ|º ’$Þ7'DôÛÙÙâpÀñêzWw¾E!1;|?š÷‰Ù¢tÂþƳώ} ?<Üí\Rs>ÓHH_¬SKü4›ë&~ }óIÄãÅÍB2)=lnªûŠ–{ĉ¡NBÏ÷ÍÄáá†âëì@ëq™šjØ>/\P>°×ç½»±¼J"²Û§¬pŒûFìåÚBm̹wíjב?ôGÅáêêš65¯TeŸÁ½©Ë­ÝAºŸÙ˽˜™‘oóÑÚF6_cô¹ÛÕ¯"xÍoDªù9‰¶ËËK«¶^»ùùyËŽU•¨þ È?È>jŒªòåÓg5½5——ž¬‚ÁĉY8R‰‚}êY×6wДP Æ…Ùî9Š¢u‹P2i]û­Å…i]ïŸNMK>g-ÊœÍéÕ?¡;„ñÃl®déñ¸šygIµ¤³Õ¯‹:1Ï=%w$xÜöT‰J$ì)¿ïó·7ŠsimkZ³n“%0×­öç¶×ñ„̼OLöº‘ÏÛ· «—*õ[ÞÑÛ tG>7§/+TÓb y[ÏÑ´ÞIA™h+F«´F û¢cG-™%a%­l¿gô;³9ý÷¾R~îî¿ÿ6ÅϤççQ*•ÆþŒ6Xy[pg§íÈ ¦ôRìˆiƒaí"—ËĘí“3 0ÜèÄ|W¯^éÎ!¥Ñ ×ÎéûA¢Bu«i*µ88haÕ ¶Õg"cîžoooÃ3‚꓇{ú«ÞøÅáçâüwÚr~‹sÚü^á@ÿšµ£³ýcþ¨û¬ìš>ooÅÝE‰1)úw:µÛõFðéà`ïÆ¿½^ó{ñbÏš´“Ï1™2oc”kö' WeªŸ,/.K?Ë:…În‡¶9Éô€oÛïŒGÛ"Ê Œ&WnÛIåªÉ³ØE!_Êô™ ÇÌí[-7baõýå•+—oü›×ÐͶhy,Xg[-íb´å¥1%2@Cù·®²F¨'öˆE:L_GË¡áxæöÚNa´U•’Jå(©ÏlÍœ]@ûÌ]‡BAÙsûj[è5“˜6} ËUãþž`¸msøÝöÇÂ✡cr¼½6YÕ‚"%•»Ñé銳êÄjUevw6Ú¶Ñž>ÛÈíWÙ‚|rìÊš|ü̧QäBKT¹^¶S<.×Èžûééþõ“©´m6‡0~¿ÿwõï±ÜøüÖvûžý[_77öJÆŒ®¬¯kzïè~Sí_Ë…¦|\l{«+ ô8ô%¥“Æíª©©b1ë+ű¯=n9Ûcw*aM²Ó!"·?,ÒtkÜ'&£ö ôÝÎáñšS_3œNÓÓó#}¦E¶Ž†(hêçïI¦[Öø†„ñ²š¿7ª£«ÕÐz´Îg—ÍàÜÆìçqb¥“dÕómÇÇÅaÆ\ë¶Ûæ&fü,-o\ÛѪ¼—THÞ`…¶\œ8ÖûP*i†‰”6‡M¯ A ú®õÂR¿ðNÁž€\®„I"H™>Fm¯ë «W•3Æó¹&™x\úYè°3sUé{ìLFåµZ§ÊK­!à$ЬÕp’aëæœlBƒW±õ̸ù–¹MtHFP±¾#o¿'Œ9¸’ U6#©þ×< öÞ7¾¡\5bgw‘Hd"ÇS¹Sá2^kêi{/ÚÓVËæƒOr-ûƬ`ïÜRÌK¯3kk§oü;ÑïìóùŒí¯^슶÷¶AK‹nk‚7Ù¢z€¯ÚɾO'­µ[C)ea‡ÇÑÿÌ lÝÐ÷¤âq°É]ZZB.§ÓXš¶mìÕ©á±ýÌ… ú}~éRÅDÕ’¯}ãkíû>`‡^»v]÷3L›KÐ /‹…FßlÂç4Ÿ`áðióø½ýï;}×¹ÿn4Ô÷⿼¸¹Õïeƶë&A³™á$/«.‚²2à¢oßkÇfŸß5_4vï÷·d_Ûî©VmDx4.B=¾×BY}yút7åTèæ°yåʉÝsL%S L-“ö0Oó¶Ÿc³GÄIQ][uw7_·ä;<s~s±÷:æÚóãAÎ|òÅqëÖzÃøµ«7‡×§LA—ŠÖå´7‘'hA‘’ЀÝÈ÷Øþ`Û›Ê]æÓËmûwN[±‰S·-Û)ŽyÉX{F"ˆˆÅ»>‹õ«íøY.ןàãÖQÍ[¨r•ð²ÜhD™‚|²Rk@}ŸËaRX\Xîß{FSÝÌéìÞ—Ó++º?ïÒ( <“îÊl©Tàê·¿§±“- 쉴§££N,#mÓBí9!=yP2íë8?¼7¨ìí©Û* zGGÆŸùhTº“%åñÃKÑØ;2žD2aëÒ=k©š¿·˜É«`Cq¨V­M‚þ—Ç¿¡ù½©ÔhöàVTN¬TíÙ¯«T(¿~¹ëŸ½tÉXçhO§-w§šËÚ[•|¹“ˆ°°° °™«JLQ"¼[Õ!¶ÀQÒëÃu ŸHå&“|)‹x<¿Ïš^€—¶ìéÙ])Öm»é¹¬ö©  ˆFû'²†‚£pvá6mЦõ=ì5o¨Q´ \A€¸Ú0”å㢜xÄ ®nNÔãõÆÈ=·¸¢:9õÝNùz§§=Annm›úþí½}„4d$omj>föh£B¨±ú½LmBÚ]˜ÈxåXãîº ¢zC[ðûùç÷L}OÕÂvì››››:mU ΜRÞ”ÆcÊÁ\¹Vå¢ID¶“µ•©dæukÚr¥–¤¯•C”wÔ°õág/±>«f¡Ç¡$Òú„Û›ýÂÿ½£ÉqÈh²qjýÚã«)v‘ ?ˆÒÐ Øqvª&‚$g¤Çi«®? Ç6¬dª¼xEm¶Ì`ò‹Ý¸4KúSzØÑ^5¬O/$qXP$RÊs†§GL툡è=ÏVµTƒÓa.£¾&ÑM­ÈTv»mûùýÆÇñ~gV)ÓŸ(Çj´{fçæQ(È;<äZ£Øfê©)à b(lûùém ,è1ä²Ú¬ÑxLÛ S@Á 8­«Ù*N¯Ý3<¾[ýPÚÝýÜÂÜâ³æ+ûúzDvbƒÅ©홺ÁNöýNv•örqø•Ìp`ìð@Þ~¤=Æžo¯L[ÖâúøØØÙÁ¦UûŒâ·÷Éî6eŽv¬ÕºôZ2yñý/–üû©S«ºŸa»ÄÃјü³kµ#×é¶Êyý•v[=•ôªUíÉ|Wž¾¨o-•HR(uX—Ñè Bû|öµL¦ÜÔT„{ ºØp‰&­ €„hyE£§mãq )äÓö½U‘ÁäüzmØ<‘®2è uím© ±‡‡ês˜‹²®ÚÂJW¤îñÚkãWjÖ‰B+emÏ£O§véôéþyK&é¥Ö]ee­e3˜d~·Ó1Ñç[ã‡mÅâøD¿þ¹Ô©âÛrË´­žŸÃëôãfcvN[b;«à¯À#šRNrñ{­½vü@‹YÏ!Š !6àóZ/2õg“cå¯QrVZÈC¿daÉÚŠ\מߺa§,ÎwŠãÐý bÅR ¥Z†×™D¢?Á§Éš³™›¬µU)^›P× ©Ø”vßKrjÈ¿æêˆFk#JNLIÇ„š±xÓж÷Ûv7Ïkó›;/]“k ïÿD ŸÕå~íÄtJ{R]µÚoC†B^8MtsZ;ÝÝ7îï.~«Æòâð¼àtõûrÖ7Úâ£|ObßÞžö¸8ײfojd_=£RmOTÐA¬Þvœ{ù©©)ßU³•榌w%¬ŒÒÖítljq:b2=1ƒ‹Ï<£Ïî¬Iûž::‡e2ýû“õõöœï¶nï(—¨¦Wš Kö_]ëú·©ÑuUó ø@œNk+“oì¶ïÕövwžò(”àD†×D)ŸG¦sa‹rÀ%J¯ÔÃ?¬É›ž+•˜°ª <Ïkº9õz~¿vQÃ6á3Y…l*ÆQÑš a±`…êɪÔO&‘ÏW-g÷3HÎZ/„&ª ‘€gb¯]2’@¶ÔÊx|^°-_B±(*…¢eßɱM¸ÆüÙS ¸t­=aù!lí^G2jˆ#Ž¡T. V¯ eíÏ'’ØÍ)+§àí-ì†z“ßÝuÖŸOãÒ®qAôîÞæçÒ8ÇíxæÙç Ãô‚©6p³SgðT ŠÇƒÈç­qÚV«USÕÎ-ŸÂÅk'úOOÅðÍ'/ãÜ™eT˜ÚÍ3vjUøÚïm$A©`}µ :ÝÖÑlðp{µ™œƒ‡«eÎ(ux=h5Æ#„º<¨ræ¿ûÎå;qaã‚áÏSBK“8tóú–V—-¿V^‡uÉ"xPP¼‹‡“s"ì¢lQËÁóhõØáéÅyìlí‚©2ð}_@ËIOÌâ yÀTÆ›D07ÅÞ@{aºEApŒ¦º 'Ôá¢ýCse>Sº1¯l­Š'𵧞ĪL €ùt»;öí  ´†¯×ÂÚ¶¯nÛzÎ|3 ïÙ œNˆ¼ö*ó§–°{mÓì$x';{³#° h¾L¥~"Ιv{ ˜Hlä9NW×ÁðG«—@»El\ÛÄ‚üzüÀ ÎãëO=sbï÷Lb¹ƒ‰?O¦QƒÏÛ/ˆL¦R¨V*h4¬ß‡nïìb!­,Îä‹HÅ£¶þî矿ˆÛn;§oOÙ`ôúzž7„f7;´G„Àš¯ÎꋺÁ­¼^"ë[þ5š¼î¶MŠQ)Xccd3˜9•ç†ís` -†…Ãç9ñ¿#žjï”à´Î‘ xQ­Ý|þQžáà”xÆRé9dvÔ®W–±Õ Õ'Žoo±2·€õ½í±}¿ÓIç'«ìsÏ>‡Ûï¸]Ó{wvžI[ö݉H¹’öļR¶„H2ró<È4MÏÙ3§qé²=Õs¹¦L:p2¹ R ël©8à¨Á±c`e-õ«;äB]¯›¬d½ß×.bË ' f ÛÞåsƒëI(s¹\à,®^K»Dœñ=±ƒv %´È.yO}`xz^¿51¿«ÛW°¶pZ÷ç‰8޶÷áõ[³Ìe%» +¡Yx¨ÉÉ ¦ZªÈnP¼!´œ„Q Û¤àqk;õ«—/bíÌ9Œêw "ZCkÆôìvöµm|öö07£žUuÇé»ðì•§ÛÊ ^œ,ç¦ØdAõ,º‡‡‡˜žÖžuQ,[$ýQ0Í2ʳ™Å¶2ð@+ጬUªC•}–h_„µÚ¨!èÕWötãÚ:–Oé«.Õ¨qð†Çj.ŸC"ÞV{‹4JC•<Ê!BlQ8½|W6.k{¶á‚ÏãB™µ7 ¦eÂ÷‰0T –1>-:ᓈÀ  5ˆ8ÑrÚ» ¢š¢&æ÷ÍÏÏaw×XuCµ¹ehÁÍ!žœ²ý7•ªuD‚ú2]S©Yd2û9Y®«û{êºå™¼½ÔY~üzŽúQ.Ž7 ¿rû¸vñ8(éy§Á²ðzŒŠ<'Àé¢'n,Ì.Ìb{2Çi04jžjG^¿ºö@Óààójw~Uª<8ÄôŒ¼»É5áv/dàl9Á;äNx¦§o´®@ÈZ' b÷èóSÓ5Þð aýëtj¹?\“…ËíÁ­†x(ûÍ·w¶°^”ŸëçÙÚ³üÜVW×pýz×®- ˆDc¸ÕÙ=ÚÅü”þÊù|ñ8¹~±¯C F3ÿǓ䳥ñÿf‘EY7džBAT*£©6\¨Ö Úg‹µh a4‚ælþÉø4Î>‹‹W.Ýø»?îE=?~‘$A)7ÚñšL&‘ÍfOü¼By¼eÇs´h9ZpùÝàêý{9Ap¦­™MUS+u!¿·*M†»ÑòW —Û î&K”¬ÖªJ¡áZ-¸“›l?;•Æþ‘1ÿâüÌv¶Çþý“´¹La3¢Ã–‚áÄ5*}¢C7D‡ñ¸úæ²Wth¦’•Öß©$:ìíýÞ+:œK+ X´ˆÜ0-:t‰nËZ­ÙRr=¢CªÂ j½Ø':ÌçÕŸ[íòº¬L´T;ÁcÑajfÑ–S¯è–O­ ×™$v«RT˜î¿E‡4‰@lµ¯ŸVÑ!pà ‹·³Úƒ#ZTæ Õ7uFƒÄÊ [íÆ[àÑ+Gi¶ç:cÁ¯óçÏh~oX¡å7P¦Ú¨èPËÜ2¼ ·_t@·èjEõMôêÒhÎ^Ñ! Þ>$½ÜßÚMoÐNItÀRÑá3ŸëÌŸq]Ÿ[î ѡ«5l i–dîû$ŠŒ]tÈ÷DffVÑìÌëùRÁVÑ!€¢Ã\V[€Vè°mìPûÄta¿P“ 3`o”«ÃN¢ã²÷7D‡’Ô<ήýŒÉ¯-vˆ7ö®¯ 5é¹Aè0l=0:gÄLjf¤¢ÃFgÏé°q‚Nc{H¦SåU‹è0œÂI¦WtH»œ†D‡liß$': '»û­ÄL÷Ù°¢ýùÂéÅ;×¼˜êTW9ÖjÃÁ )ÑáÕkÚªw¯­ªgßz$Z• 8·+letƒ›RvJÚ-:`›è€¬èð­}VzªRêÆ'³ŠMP¡cıèÐÈþE·Ýá1fO8L8ÛézD‡jO¦œ³]tàD‰/^|¾ßwáWö Zt`Ht`¬¢CºD‡ó=­/åD‡E‡$E‡‡9íó¡’èÀÈE‡nˆèÖ›ê¾Ñt|¸Už¨s¹;z-xh)8>I¢Ãú€ÝÙW9LMt@Qt@“èpoï©p¿èm~AY×+:@D‡7ž]cí†ÕD‡©”t¼2[–^cçRØ|"oéµÉdÚUÇ+}{ §…~YV½j¼Ñ¡ÇeÍ9Ktèò;ö?æçØpO'‡Q‰X":¬äý)zD‡õº¹ØG2Þ^û{E‡,:æï±VÑ¡ÃiÖANt¸»×^Û&©zŸâtªà—e ;ùüÜ-Gû3ëׇ»°Ø!:´ûúE‡‘¨u…DÁœ¯Æ¥Ñ?îœt¥b^e>¨æ*Š¢C7èÀèÐñw®·þýT‹">ãó:åõ#Ц?0*: [t¸¹»5ô·@T›þ$Ÿ—¯^í蟤õ·nÍdÛ÷ù͉0V¢3Ÿ×glV«ý=â€|©$½îíáú¦¾¶XfIJ Jp›sŽ„hcæx|8€ÇÖ­ËĈMËG¤Wgæ 7{hLôPÊ+o’\­½=BÜÐ ká±”wxòE¸|êÏv³ÎÂ5ÐJNS¦¬g|ŠøZ­]æùÌòĮ̀/V•öÕ³Vã™g´‹SËù²Ö.×ÉlX¨–m=~Sw–\ß<éo>ÔŒŠIl\v6úE4”Žv“©…ùqU¶>Ðt¾cüçòê-C„†ôf‹sôÛBN H4ˆ:Çm\7%Œö½-{2lØ:cúΞ ðÁÁu¸;óz EÆ]±̆"È“±˜Qwh±|w³^-t÷V‡é9»ezynuØ—i1¯'«P4^µªÙ2'<Èhk?Ú¨šw’„}xƒm»©!ö;nª¼1'µÏ%o_’ÙjÕ#L nÚÜ>S0¸UL´kuBÞ‘°H„Ѩ (gÛvV4F®#®Ýn5óÙí+[=v®ô²³kÜ ´¢Q_Õ’ü|½vꔦã]½~E5‘e†ŸÚk^ˆòŒ°—8¾v2é@ñâÜÌȾûüùóºÞ¿¾½alo4¢ 3K ˆÅ­¦TÙÉpγlÿ¾âÊUm{íV«ï@€·Õã—ÝÚØµå|ÇQû1•¿ï?ùA–sçnC«' T¬wý <7í®Ø&cëñ#a{¸»¹aŒ¦]pˆê~EJ…ÃéD'Ê@[6®ªn;ïä‡s(ƒœvö±µÝŽ«<}á;¸UÈtDÔþεJåÄÿ¶¹¹d|w»ÛÆ}yKKêöm4êpˆí½à”Jk½LFZ@šì™³ã¾nìboÀŸÒlðëSÖZ©TÛ¶éëò …+î¹ëN]Çòx¬‰ÉÑNj"ÇSÓѳOnÉß?®n½O»Ü¯ð¯°Œ)ÏGAFü~?lmbÆÃC=гÿºÕcóO/Ì:ÆÆºò~w~®}\¹'Úyrb™”̹Ö{üܱ¸t’Azfv$çè6Qd¬$SŒd&•Ô­hsÕG¹–6Qf¶6|Îr NZ~î_9³„`By}kð£'ëœ}•R Z¶¤Y;»*o¹€SÃÔ¼¶=©c`©u”kE˯×ßös8©îzÐÔ!„]šï>Ô§ý¹Z±Œ;ï^Rýl\¡øŽ¡™îTº;1§’íƒ3ué‹V(LÖF‡eúµÀIDÞúRÅ©)egÃêÒ’¾ßb²Ç;Ëô;†*b˜æ„¨œ}>/*‚±qÔ’¨Né1)ÄŠ§º“ËåïÈ;u¯wÔ&e8Ssó¦Î«28©L…´;cñ(8F=øçö{ÀpÂ2Ö‰ .o\ÆÁº€­Q·v!7»Ú›¦íía¡5§l^žÓ>G¶`,ø›˜R®–^1싵W­œŸŸù³ö‚¼ÀÐçª óËô”ºÀªP°ÖøÊlË‹Þ\NsëÀT:¡êT˜U Ó+Øñ-}ë¼ß5ÚP^³Üu\¸[ÃséÜâ‚5v@x CiBJãW«]§)+Qâ̹S¦Ž¿~}]òïA¯ô<\¨ô¯1É´½ó‡ß'ÿ1,¯KúõÝ­¶}T)Õ1ITJꎸ¨‰ ýééõÅïðiüjÒQ:¶”Ø?¹tÇäò¶ýoÐ|ör™ÓÓÓÉê® öWrœ³[š‚öõg~>nÙù†¼Æ×çØ@žhиH¡ánÊ8uº{Ëb¶ÜóŒ´ß?wVçºGëwǤçÓ˜ ˜«RdòJˆ­™Šþ€Äá¡ U‚¹É š ¯è@½#jÛ9ê÷)l퀠c¾í Èlncc]:@ ©ïÏÜnõuFìYGövúÏ[©êÍéµvwÔŒúÜÜð:zŽ»¸¬ÝŽô9&;‰5S”ŸÛD•ê'‡Ù |> ’9©®½WHèXH´þG Ï·C& äœdLÛÞýYÉÂÄAµª‚IÅ!Z”º­Ærê†òÞžòZɱÊvírõþŠ.Qåz ûG"Ú³F}ýÑ¢ŽêTÑh‹ mŸá]wÞmú7³U€*•<&”‰ªJ{ûÖµ:®7ô­Z;{Åí³››íŠÞGGòÏc±XGØ£.dHôÍy!ØVkÄíKâg-Šë\+ó­DóÌpìÂÕÙó¹ÝÖÅdöwvm»<3óú î|ûé ð´~›B’ùAg|nlmê™ÑÄrëU}¾‘9;‹È´^-ÈìYΜjÛbb‹Ó”˜KÓük¶å²ñ}Ñ\º_ !jè“9°^ ãòJ -˜u-—5Ÿ€~t`~/UiÊÛª‘ÿg:-_¹u:™’õI²uë¹Ø Ò‡¢ýëÊv®´›aESålþÞŽo'¹`l¿])›¿ÑÐ4B®á1ël©Û€¥Œü÷'¦Õín PÀÜœru`—JËt¡çx¢(=ç¦Ô…\fZ¬#•pPÊXï(2•{Ûcà‘¨Î Åmù.©Jáaý1š¹Yóâ¿ãj'~¯>úÞÁ eûºÁ4›]ûbn ¸Ã”JËð2«îÊÔôvè­(LihìpèÊÓÃcµÅÊÛW·=#15ˆ¬[ÖU£“+<@SÆ¿cÖÆÄÛƒÝn¢|<¢-ÖÍ*Í· Iæ3ñ¹¼(]|!`O|YÐ!.ñýEõ%ÂÍÏ«Û]+æ6:¢ qÀGÃwÄŒ›ûý©ÍMt_å™s¡ÚÒ—°gÅú+k3u|ΑhHÅ. #WQ÷#ìî)&š÷Ý3¿«·ÐÆ@kÏ–DòÅæ¶¶JgÏžU|=ä ô̽æc­¥šò's(m?¦B1Ô4‘ÚÞ6Þá¢%s;|:lŠªáßÙk'zâùŪ¾ÎÖ¥-Y=€®^½Ú?GI?DZž}õW/?-oG°ýk_Ðx’U¥:<_p±¢B9¦8< Úæý#}í)ÚøæÎí³®E¹ ð l¨tƒmÑö'î«ÐØj9Ÿ×¿=:}$o§PDCÆ&q(àæï´Ñ¥~øa7)k‹s¸ºµ‚Î~9h8>ñçYax„|N %ŠÜ8¡d•¬²ôQeªˆ'’ÈçÌg®ñTNÑüäòÁ5¬—4š ¼ × éelïlLì}¬ËðGÃd@Ÿ Žr9Lh¡ÓlÔáöúѨÔà É/§–×pmãꉽ>XÐðÜ´÷ÿü]/Ä3O? §—ß8ÙfU©RF$dnþaUø¼A21èGvv15à,eë<~yç›Hµ@‰ÊŽ^`áì§gçp¸òmãÛN­àùk£0 ‚4=XŽ'¦ÏiÛú!ÔùÊM7f±r…yx O¡\C¹B‰XÒ¶ï/L㙯?…¹ªÊn¯ Ígûïn‰-8(sŽwžãà4ZýG¤ ÷ñ‹O­ ¤>÷PÄ–kéÀ‘gcÒ¡8¢Ëœÿ!™L"›ÍŽí7°­–æ@Ѩðûý¨×UCŽÎÏ v´ŽÓï—X\L`kKÝ™ïäà]ÚVN§ <ßÿ@{hXat](hÚ Aè^LO¥qx¤Ð ø¢¨1æ*ÒÓžÖæVÚ"P.FG®\A"Ò½>§¦üÈuŸñ`$ŠjIÿD@-/eeuåFõøt:‘_§ˆÇÒZ²Ççç‘ßoÒúÓO_À]:[¯µD¥…46·wNä³NÆQÎæoú9az~‡»Ã‚Ô:ÃÁïSžŸkµþÀæÎÖ&æW@ñÒvŠËCƒc•Ð Ž‡×DGÕå)\ß0žIaÿ £é½ëë×±²²ªé½»»YÌÏËdsý¢}ާàrZç£tÓN4Þä1üh Òö^ÀïC­Îœèç¡)4á¦Ý#ù®b©ˆhD½c¥^EÈo6–H¢ 1ž¸4³ŒÍƒ íêØƒ‰*Ÿ{çn¿ãDÝ_§Ó žç1¿°ˆÝmùjo~ÊzGè¶¼°Œí b@ê ‘ŠâÉo>å¥EÙ÷¼p1'·vn™kðøPc‚NÔªÚça‘@y´ Ïh‡‚L%Ëx8‚|¹t"®×Ìâ ¶ÔÙ¼'5kÛ¼ < Ú9ú8h©iÇ <ƒ~7juí{»©é(Ž‹7Åo‡<(W´']:næ°_˜ÜI°”—pfx©ä²sU N‚è@[t(н:Z¢Ì/®œø1¯&:€jGù.': ô”{§ƒê›t+D‡,è6ùáèÑ!ݰ¿ÝÁ­&:Tkß<5›žøß`Dtno»â™’èÀÈD‡n•{Ñ`{E‡œB•4oÐ"Çð3O? #6ë3KýŽK3¢C·»½~X):¤Yã×48=ì”­óúÛHrü°ã3ä66V}^ù5sJ"C[It@Utà†è€ªèÐßqF†zÚ\ÍNÏå¹j‰òê›Q‰ à‘v@H‰k é9R貨ýnÊo®Ì.ê†ÓÆÆ˜Ñáü¼ò¼#'jˆÄ5´Á¢Œ¯+ZD‡Œ‰›Ft èïzá´©Uë`̹X4¿çT®ïhk7¤Wt˜NKWTô„”퇌¯dÒD‡ ‹ ¸{`Ht@“è€fÑ!˵×ñAÑ!Çq²¢ÃRч´ ±gÐ":Ð':œžë¶òTj w«ß¤Â1M¢Ã\^ú=ËKÓ '}¢C'¤Ÿ‰™i}Õ½^sí—S m•ÆJ6V3ŠœèPi}Ð':`Ht¨‹Ü°TtX­kßK‹ÖX¥ë¸Á$”cÑ!Óïø &ê»iã¢-³¢Ãk—.AtµƒävŠWWìõ5jjéLᑉoð-û»å´TüOǢíÍþ{¥&:pCtè驘^\’P0%:`Xtûø5ÚÂj¢C¶ÖìÙ)Ï Ç¢ÃË—/Cpº;v°µ>J³¢Ãö1äí½Z/~²’ \ëÞ±èp{gÓöïÖ³Ò6ƒ’è0[©bW””/µ}zD‡•Wgî9sCt`$¢ÃÓgÇr ‹9uŸ`L¢ãàì‚òùæ2EEÑ!<¹µƒ«×6p33•îîOŽ;lé€Òg‡ v…QÑa£!½nçröéw´ˆÖ«Êvíô V5æÏfã>­¢ÃZ¹OÇuÂÃÞJ‚‰™ñÇõ_òï^bÉqôˆÛ눾½.ÃOnâ…Ñ!0¢Š‡"ǃ2ið+1?¿ˆÝÝ-ËûÌ… 8§ñÍ2Ã0ðù| Œ–&×€[cŸx®ÂÃr’‹6ALǦpXзÁ÷;¨·Zäâõλ¢Š_%P¦Ù€Ï­ÏOQDq4­xÂ|®ÇV¼¸º‚­ëÃÁeŽã†œ VÉ"•®8i7x‹Äf³É6÷öávk Î…"QT‚.k¿ —¢[;­9¡mÅ¢†Ûíó»ÀÔ©f¦R88Ê>ÇÅt[Wp888ÂÌŒ5-GUÑgqv [û›p¹\C­­nVØ&Luß`ЪÄF8 ¡V©€` ‘xT1™hRðù|`k6°M¾ ·sxýH„’ÈUô?ë,ÏÂã¿Sã{ðù½u^¿±g9{CrfØæ»¾±Õå徿ÝóÒñí/}ÕØX£8õ¹Øõ€-²2~ˆ8Žnþj|v°šÂvF›ßz”±!¯ß‰FG©TB$A"B®\Áµë×qjuu,×êè ‹©™¤­ßáö8Ðd­]GÒ+ËØYßèû[®P@"³ô{Ží2¶n0L>Ÿ¶óYXšÂöf{Ìý.Të“á3cj |;.·\³y¢Ãôüw·ÉÍ!S¡ Ž*Õ‘|WÀBQ÷_75x½ã™KbÑ$ Ekã"Wå2VðÀt­JÏñ• ‹PhØÿzöÜ.]œüNk±X …uÝ™ž^Äá¡>Í‘èu‚j´…ŒáÔÊ2¶b(àG¥¦.0Ìf2HhC]fÊûÚ…EÆ­°NlÁ%“Üžž›ÆÎÞá‰ým>ÌbîvÐÒ@²õ¾îÃ_ÂðA×Vpu[¹ÀqÏõééi$“I¼óïÄÝwßp˜´%@ @ ¤•J/^ÄÇ?þq<ñÄ8–––$_«”꺎U*—5¿7›)HþÝ2á!Ï×t½nnŽ´U!@ @ , ‰(¾~tt$ý÷ƒîßww,=§z¶ˆÇãÄH @ @ X€ßï—ü{(â×uœH8lú\œƒ!€-ûh8€b¹fú‹£Ñ¨¤Ã‘ã8\¾|Ï=÷Ü-åt8X]]ÅwÜ·ÛMž@ @ ·Ç~¡Ë—/ƒçù‘~·ÃáÀÚÚΞ= ¯×{âÎ/N+~~jjJòï¡@@;œÚ+s¢Eõýmqi[›}«ñ"Îþ÷I?Ÿ ØÝÝÅööö-5Î)ŠÂÌÌ át:ɃO @ á–ãØ/´»»;òNEavvét.—ëÄ_2™ùý:µx ×¶®ÝøŸß¦Î •D‡4‹ËõÂv*Rˆ¢(ép¼xñ"ŠÅ"^ÿú×Ë*4íä£ý(^ÿú×ü{K¥¾ùÍoâÙgŸÅ=÷ÜCf@ @ ·Ç~¡×¾öµ#÷  |ùË_F«Õ’õÍLòùy<ÉÏìîcf~Vò5Úá/Ôþ·’èÀèÀèÀè÷nmm¡V«áÁ”=;yì±ÇððÃü{kµ.^¼ˆ­­-¬¬¬Ÿ@ @ Â-DZ_è¹_èØ7³½½-ë›™äóG"k¯è˜:Û>»¾PNt†P«Vd«nllàU¯zœN'šÍæ-ó@E"<ðÀxì±Çˆð@ @ Â-É8ýBÁ`/}éKñ¹Ï}NÖ73éç×ËÎÎ6ÒéYÑ!­¶ƒ°Õª!àÓ,˾×í¥Ñl†Î]Îxtt„{ï½4M¼‚ä1ãø^¯×‹óçÏãÉ'Ÿ$ÂC@ @ ·$ãô iñÍLúùYA©\@$3u ‡–7±Â°#õ¹ç. ýmyvnèo´«ÿ+jÕŠâw5›M¸Ýî™Ð£þoœ°,Kf@ @ ·$ãô µZ-x½^Eß̤Ÿç_§Ó š¯»ÃP0,:T‚çù[²Õ°(Šp¹\à8Ž<ô@ @ nIÆéÒâ›™ôóSc~nNõ=fE‡€ÆŠ‡Ú}ãßl“ƒÇíÂí·Ÿz߯þÞÐßNŸëQ÷Æ&@8e\~ìÏñÇŸü<¾z5˜ÂmÿæÇñîÿçÕ˜Ý|oy럠ð²÷áOßq/¢¶‹ËŸüy¼ùCY¼ô½Æ}qLçë@ òŒÓ/¤%)uÒÏÏ®”V¿Ûz³5–ß4îkJ 0z£˜ÁÞ…ÇñÅÇŸÂs{U(oéÛÆ~è^ÄŽÇ>ü¨ÞõSøÏ?|ÛN„ÇÞãˆ÷®Œó?õVüg:_'@gÒý2'Ùo´»×¯áK/LagûHÓgþøzMÛ{õž˜Çí²ýæÜê?âð$0 ‹õÏü&þóû¯àÜOþþø7îĬ«‚§¾ˆÇ‹§‘ôˆˆmc¢]Ç>k݃KUV{@ AÁÒ˜ÛaÒýVã8o0z>Óþ·7„F£rSÜob«@˜<8>ñ—øƒ¿ÛÃâË^‹Ÿ}ã2bNG×¾…gk³»ÐõÚo-õùùô¿N  `iááÈÐ*:¾^ƒËí§! Y³ðÐó¢Yhè>q<: Mâð#@€ÙÀcŸ}EÏøî‡îÅé)€οì'qþø-ä*@¸ Gëñǃ¨ç«¦Ž‘ïˆX&:œ„ëIü@ &öOó*j®Eœ;sQ'–î~–ŽßB®@ „›âœ\8Oœ,ËÃãQ×j²BÚÛ÷7)Ñ¡Ë$7Ž@ AEµoã¿¿ígñ­×¼¯yùwãîtôÀ[¾þûxËö±~È!²x/^ýÿáßL¿ü1¼åçþÌÚ ¨í«Ø,XzÕoâ÷ÿË àÙý >ò{„ÿõ-Ô¢§ð’ú÷xÛ#÷aÖKÁì}ñá?Æÿ|ü:Š"ÐþÒÔ±õ¦þºÂñÙóz¡í¢ @ L*Äáh=FD‡ÑHÅR™ H@ „Qsìl¬ãÓð¸vÿýxàžsXIúàxkéÒßヿUÀa‘G u÷½ò5xŹ(„ÝÇð¡?ü4ç¦AeöqTma꾟ÀÏüÐ)8sÏáŸþî øú¥ ÜñâWàUß}qwÛÈæ/áËŸû"þåÙÔD ý¥áckXýu…ã³²çµÒ¤™@ Á8Lµ_pô•Ããqâ™gžµä`Ç¢ÃJµ›õ¼´ºpãßAo;t̵”âq{À1üG 0‘x—ðÐ÷·…xbñ¾ø‘÷á­?þÃxÃ/þ!þy§Ñ—êX|oþâ³ñ>¼Îÿ4>ö;ÆW²¬¾Žý| ¼á§ñsÿ÷«ð¢´Tñ)üÁ»~™¿úñ¿ÂGÿÓi\þÈů}ú*BökøÝ_|7þèù%üûßÿK|á3â·^»t£t¶Úë-•ãË—ƒÜu@ nIÌøuþã[Þ†Ÿ~ÛÏÚê§ßÊ ßU$©-µcT¢Ãq_Kâ‡$0q¸§pþ…m!žXÝÅ·ÿñÓøÐo¿¿õ'ŸÇ…l³ÏèI݉WþÄÏã×~éMx±gýÍÿÆs厰Å"_ âìK^‰|ŽXKx€Ú5|þÑ?Ç—+·áGÿË/ã¾»ÿøI|òkû`´ÊÏãoÿäQ|a'…WüÌ/á×åðS¤n$>«¾®r|¹ó¢È]'á–ÄŒ_åü0>ðá? ~À£úÜþ¡¿9àüù;,ý¢P0tãß›×·oü»Ú(¢P®!¨Þ8@ B/,¿úxècøÀŸ|_Ûa4±÷¯ŸÄ¯¼“Áû~÷­¸§óÎÀÜ9Ü}j QñâÌâ£~öë¸ßÓ~=~þÕø‰½·SM°…½/¼ ÿ{Ë;ßñ*Ü?ýAü»ÕÀŸ}ñŸpå5«H>ù|i׋;ßöF¼úö\`1“ôƒF€€CÅ×[8xâS Ç?Ó:/@ ·*füBž}Öô1ì<¿qAµ(drY$S „h  WÈ#‹Ÿèû}«ÞO@ 7;.Lß÷#øiÿ?ãï¿ø <Ÿmà‘¿ò8>öÑ&ÞôæÀJçÞø"Vf£À‡ÛNÅñOÿr€<‹3®öë¡¥ûðo¿çt§š` ùo=Ч]Xþáûp6„#p?^8óüã·žÆþý3_}ÏäÜXzõøo! '8ÄÂ8Ú²DÕ^¿ü…ãÏaRçE áVÅŒ_fckËô1ì<¿I§Z*!‰Üø·Ç‹&«Ü ™iÖ‡þÖ×c¹- –ŒÝøÿz±ÔZ“Ïð¨Þœ[ÝáGž@ $¡üXyøÍø/ýI]þ¾ø™¿ÄÇ?w¥­¯àó—~wÇŽmˆN& DÀáÕj‚i ݃¯@¥ý<ê¨â‰÷þ8^òÞžïKeQaY¸ЍÃÄLÎÎqoIl¢¤ø:«rüÞŒÞó"p«¢×/Òl6ñ·ÿY|áÿÚ À›ßòV¼â{¿?øß—Ëeé9L‚ßFÏ9ÌÏ¥±»·ƒd*Ø9,ÀÈD‡_”øº,ï@ n(¦ïü>ü_çÿ-J»—ñ­o|_zrµÌE<µûVn„o{ý€¨V M¾Õîõ·q¨å«`ÑÀåOý6~éS=ß)£Îq  U°ð õòóñ¨©½®x|]Çñ@ÐÇqø×o>‰o}ç;p8Ú5“?ð¡ã»î¹÷½èEp:º9龻ίWt@Ut(Gßï°Dt¸87ƒ­½ƒÿ略^´ëëxïÿ¨T«øäGÿld7úþÕ_Áétá¡—¼ñxŒ<í@ ìÃáÁÔm߃ÿó¶»pš~+~þïm´1±¡T^„ñ¢wï{ÙÌ@‹c;© <ØA!S‡8úC÷.U^W>>ÀdÈ-%ÐE_(›Ëáí¿ü.ÌÍÍâgßòŸpþÜ9À³ŸÃ£Ÿø$þÃû~ã¿!™HŒåü¾ç{_¡é}ÿÃl»ž»{;¶Þ/–eáñxd_¯1EË®ç ‡GøÔ§? ¦ÑÀ/þüÏÙ~?ùßû=¸œ.üðë^‡™é)òÐ@°Ê…Hú<”^Æý!üÑ€ËaÔè„/⇠~¬½ágð¦»c-Ž[ÈF|p!‡j¹¡-”ÛÐ𪼮|| Y"·”@ B=~™r¥‚?ýÈ£HÄcxõ|?[Û;xìK_Âß|oú‰7" åüÞñî_Õô¾÷þ·_Ÿ¸û/æJøOi(ÅÏ:ì>¹^Ñ!Ðnã¢åÆùo{g¿ôîwãùË—átÒ¶÷Çî…çd2|þ‹_DƒeÉì@ ÁZÊð‡¿ò.üö_}Ïí—P+âÒ׿ˆ¿}2‹à=¯Æ <0Ùû_‡—¥køÖ_ü5þy£ˆF“AiçþéŸ/ ËÓ˜½÷µxh–Á·?ñ|æb•®m)Þ= IDAT•Á^íuÅã“[K ¡­>–eñö_~^ù}¯À{ÞõNá£ÿ>úñO`ÿàïy×/ãßû2üÒ»~ÍfÓ2ß~&;Ž™^ZP|=15cÉýRZýÛ{ÿËf³ø³GÅÎîh‡Ã°ÐÈçx^ÀÎîýÄ'P«Õ ÿ@ Iê›øüÇÅÿúêsØ.ÔѨ±{éÛxâj¾ÕûðâŸÁ;?ó îN6pý_¾Ž G54ù&êÙM<}aeÁøép>ÎbýKÿ„ol—ÁTs8È0Ž?¯öºâñÉ­%ÐV ÇqøÓ<оà»ð£üŠ¥ûÒ—ðØ—¾„B¡€{äGð]wß?{ôcàyþ–ó3˜|-):TE‡À@ÅC9\n\SŸ5X,d¥†þ®¥‹‘‹w}}¿ü«¿ŠÃÃ#ÌÏÍá=ïz×Hx¯|ùËñÙÏåJŸúô_ãû¿ïûHåC@ –ѬÀ üëÇþ_|úý,³§q÷CoÇ~ì¥XóS` Û¿oýÍ÷ ú¡?Ãïü‡OáWxžY<øÆwã>'@'_ŒŸýw!ü¡Gñ'o{þ¿–SKsðw,Iµ×ÕŽO ЋVÎgþîï1??‡×¼êð©¿þkÜuþ<|ñ‹W®\ŧÿæoðº×¼O_xûÙÏá‡~ðÕ#=?xòk_Ñô¾J¥bùuÜÙÜV|=wt é8Á˜ÕBs¢ÆÈÁÁ!>òñ£X,!‘ˆãÇyd¤ßÿã?ú£øÓGE.—Çï~à÷ñ¦7¾33Óäá%` <[÷ÿ³wßáu]çï¿{Ÿ^qТ`/b›(ÑmÙ’­fKn¹™É$“êdRg2s'sãÜLfæ&NŸdRœdn2‰'q•d˱,Ù’%Šb›XvôŽƒƒÓëü$ˆƒJ4’¿Ïóðyx6ö^ë]k÷Â{ÖʆiþÁWx÷•`à.ZÆò/ð3Ø@¥Ã`¶wg†o%OÿÈáyõû¼ü'ûù‡ `+díÞϰʦ ÏüÈgpç ^ÿË/ðRÖB ¬Çõ© §úùT勈ˆˆÌÆ¡#G)..bçöm¼{ð õuu¬]½€ŽÎN:ÄC;wrõÚ5=ÆC;w,xŒô{_˜Ö~±XlÎê ì¼y™Nͺ,·ÛC4™tŸÎÞ.*KÇ~™ÙØ»woÞÑÒÞÎ^J+Kç­Ã_~ùå¼Û_|ñEž~úé•uùÊU~í7~c4éð?þ×iX^?«¸^yå^xá…Y;00È«¯¿ÆðpÇÃã{÷ÎxÐñë_ÿ:ŸøÄ'ô[CDDDDDDDî;3úÙ_üe~áç>Gww7åeå„B!~÷ÿÃ0øÕ_ù%|^Ý==”•–ò?þò/ùÓ?üƒi•ûÊ+¯L863›q«¹6Y|Ï=÷ÜœÕsõâ%êW4ÎIY?ó3?“wûÁƒÙ¾}ûŒÊêêîæ}é&þðg?CEùì’þŽ92ãúóÅá÷ûøì'?I}}ÝŒëßµk—Þø"""""""rߙɸПñ¯yæ©  D£Q¾ñò710xþãÏâr¹‡(((àÛ¯~‡Ÿù‰Ÿ˜V¹“ÍÌfÜj®Mß_üÅ_ÌY=n·ht$iqp8F¡ïæ ÛÉD »Ã6á±Î1skÒad0ˆ§00æç™ŒÅ2?3 Ît¦Âßþ½ß£»»‡’’b¾ðßþ •‹²\IQQ!Ÿ~á“üÓW¿J$áÀ¡C|â¹gõÛBDDDDDDDdš¦Óù…_ùw¼ö,¦Å¤¡~9'NžbçŽüÈ¿þ úúûø½?ücþîoþЧN±kçΟofïeã†õüñïýî¼Æw«>ù±ií÷Æ«ÿÿÿR_WËOþë›×ønõŸ~ã7§µßýÍßX2ýïõŽ Œ&¬¨¯¦ÿú+0iÒ!Ls©e«Ç3nÛ|%ÎôÄd27—.**Z”¤Ã¢Ñèèÿ ÃÐo ‘˜j\ÇbY£ÍÒé4026të8Œa#Û€t*EÎ)Ób±Üñ¸Ñ|Œ;Íe™s‘t@6fþ±­+ê¹xñêØmkWpñÜÅyo{6“ý¿×ç[Ôó9 þß4ŒE“¹ÛL5–bZnŽse® e³YƤcÆÈ6 “N#eš¦yÏÞ©pd`ܶþþ~*KŠèì˜òø¬™™:ñ°¿»‡†Õk ÜQ°¥•%ôvöÍK'ÿüç>ÇýÂèëëçÇúsüæ¯ÿ?,ŸáÒ&sa``ï¾þ:‘H¿ÏÇyD¿%DDDDDDDDf`ªq¡¿üÓ?Ájµò£?ùS457SYQÁ¥K—ùµÿð«ü·ßù] Ãà×þïréÒe–-[Æù¦f6¬]Çÿüâ_N§ ‡Ãó߭޾ûδö ƒ‹Þï6‡Tbøæsâ/ÔÞžtÌ*ép6žþØÇøÊ׿N(4ÌÿÆæ3”——-xuw÷ðÿøO„BÃòÜ"/Á-"""""""r¯ù¹Ÿþi, ô'J{{;E……tuvñ©žç«_ÿŸ~áyº:»(*.¢­½ƒÚšZ~ñßü,™L†x<¾`±þáïþδö‹D"K¾ß§“t`f-Lùèâò2:»Úî8¨é&ÎÆÆ ëùÿþ󦤤˜ŽÎNþãç?Ï•«×´Óyõõ× ã÷ùxâæ¨¨P¿DDDDDDDDæP8& òÄãóµ_âÁ-›9ßÜ„ÕbåË_ú{þéþÓBSs3ÛÜÊ×^z‰'>ò8Á`ðŽ“g* NëßR0&éðºhlhÌë‚@`ZeE"ÒÙ̼ÄY_WË¿úáÆï÷100Èß}éKtw÷,h_uw÷ð÷ÿø¿ )**\´äG‘{Y<'‰°uóföÃÃaü>ûè“øýKþbYj¦;.òÑ'>Â7¿ýϼøÍoñéžçÀ¡ÃüÃÿþGª«ªxî™§ùǯ|•ÁÁAžüð‡Éf³sÃLÆm>üÔ3ÓÚïõok^úh62É4ûÈa,iàvÝüÙÐ4“$=ϼ¶¥¬¬”ŸûéŸâÏÿê¯C|éË_æ—þßÌëõv«üêW CüÈÿ_igýçÌ9‰# –†a,Ì9»­ëBTšá2ͳ½|>¿õùÏóûôÇ„#‘ð3MƒÒÒR۳玒EDDDDDDDîgÓÏÉårüÁ~›_ù÷ÿ7gΞ㳟ú$»wíàÌÙ³|þ·þ ƒƒƒüÁïü™LfÁã[ì2gëFÒ!@qÁÄc\ÙL ÓbÀm·M&´í.—‹þìñÒ7¿I,Ÿu9³9Î0 ª–UòñgŸ¥¨°PI‡""""""""³0“qÀÿÑÅßüíßÑÒÒÊžGfíšÕ´´´ò¥ú2áp˜ÿÑÑ—ç*¾Å*óFÒá|(,šr?k<œÂéµÍªŸ¯ˆáá%ÕÉõuµüÉþþ¼]ùô /è7‚ˆˆˆˆˆˆˆÈšÉxŽÓáàþåŸóÒ·^á¯ÿÿ¿å|S39#ÇÚU«ùè“á¹§Ÿ&/Ú€ã‘ýû¦µßÀÀÀ]wžn$³N:¼Såe¥üôOüø‚×ûóŸû½QEDDDDDDDÝfãîg9xø0¯}ï{´µw9ª«ªxpëvíØA2™\´/ˆþÁ~{Zû…Ãá9­×ïôŠÏýÎÓI:°Î6éÐëõÎKÒ¡ˆˆˆˆˆˆˆˆÈtd³Y¢Ñ(Ï>õ1>ù‰óУ{øë¿ø3’É$ÑhtQã[Œ„ÂÕkWÐtî⼕ŸL'±[íºøDDDDDDDDdÁär9‰;¶mc÷®]üêüOüüÏ~Žt:M"‘XÔøæ:¡p:²äF“ ›“\jîg@Ì¥26Ë„?·ÎE‡­X¹Ž‹ÎæÝ¯¶¬‚–ž.NŸ>ÍÆG/ˆÉ.–ûýÍ""""‹ëâµ.Þyw‘Ð ›Á®·°~à ‹ej38¹•C‡ àuÙØ³s;«7›Æ±—[»8zì=ÝÀ²Ò>òÁÇñŠu"EDDä®3›q‘X,F,có¦0 ƒ¡¡¡y‹a)ŒÛLÃ\&.k\A,ØÃ`htÛl’—rÞïõ‹ˆˆÈüèìäìù3Ä£lX½¢‘Úº Óœ‡Ú .·vråòEâ±n‡•k×PZQ5éØb,‘áíýïNŽüÚbäX·ª‘Úú`:‰"""2ïf3.’L&I&“4,¯øã/ßÍã€&7ïÙæ#é˜4é¦H´{+å•5´t °ÿÝש(¯À(™ä(“C'ÏsîÔ»<¶û!ª>öa²†…k­­X¬6º¢ì{ûÛ<ÿѧ1®YÇ6ròõË\Õ?Ú{†9vø5ž}òYRXç圊ˆˆÈìÜɸПýñÜqâá|Åw·é¸4y£Õâ"‰ÝÕý©qH™kÃÑgÏŸf]C-¥Õ„£ º€éLŽË×®PWQ†Ãí³:M3Çæõ«(Ñ3âÔù“<ìóáðø'=Îå°°{÷#XCŽŸúE±‹ˆˆÈÌ ÍkÒ¡Œ•/é°ÀïULjˆˆÈ}-‘La·@yY%V«•€ßÃòúF Óôô÷“ŒÇæ°ÆõU•—”aµZ)+*Âbw“˜A†E^JË«éìc.ç;,.pñÐÎG”t("""s*‰ÌkÒ¡L¼y·8í¥–£¡Á‹O£"""²˜Š>Ò¦›wígÛƒ;q]OâKg ¾òÊ?ìnçÛÛ±[süÐÇ?Ž·¸‚3Z8xpñè0ëWÔ²gÏ^:ìç5"±4ñhˆúêr{xϤK Gb Ž¿ß„ÛLã)(¼¾-×_ú*OíÞFyÝŠÑ}ûƒÃ¸mJÊ–M|Kó­×ߢµ½…"Ÿƒ}ø#J+#oÌ»“Ë­=ìÛÿ6á¡J |àѧGË %øæ«ßâ‘ 4®Û:i¿`øfUÿ ­]Cx÷u2Y¡ÁN>ûñÓL;&…}Ðtþ}Œ\ŠGwlaã–]´õ sèÀ«<÷Ñg°Ø4_íåòù}<õäó£u¤3_ùÎwÆÅnõ•ä-Sw©"""óo© Ý ãV==}”•åŸ9» ´œ®ö6\vÛ¼Ô= ë"‘ûšßã"c:8×|Ž•+VawŽLԒɼsä(‘ào÷`µäxt×.œ¾BZ:zij:C2£¶²”õë720œâìÙã$’Y’‰(eÅ6®[Óã›´þX2™$çÈ $ñd–}ßaûš•Ê*§¼×50èŠÑtË,…í=Ct·eÛÖ‡èŒÐtþ†ébp°ŸÛζ-[‰¦­y·Ç²öцSy÷qû èèàì¹³$b ¼l6ØñàN «M•ˆˆˆÈR’½9>j½“rÒY°š³;v©¯‘½˜”x)""²¸œvxæ‰'9zü÷寲fy [·<ˆ/Pħžz’—^ý6zp#E•µtD8ö0ÿÈ^ìžB^ß·+Ïâ*^A6—âOìÅá-dß‘¼¹ï žúèÇÁ2þ6¬g Ê×^ü F6ÎÓ| Óæ —ËávšüØg?3î>!‘Haµ`˜Þ?FŽ7¬àÉÇ÷ràÄy޼w'>òq:£ycT®eß;ßg”U-§«§s4Öàp‚Wßþn^CÝÊõ£uZÌ\Þ~‰ Æf\ãÚ-·ÄnLÆùðž$ØN0FÞc oýÝ—øÑO?OÖꢳóÙtzLŸär¹¼ÿ,f6oì—Zò–‰Å¢7ˆˆˆÈ}0.²ÔÇ­¦Ša¢¤C€¡ÞîyK:¼ûSK=‹ˆˆÈ\³YaÇ–­\¼|™ïïÛOuy +py¼<²m+ß;ʦux KÇikmf×–X^Nœ9Kwg+v_%¹\†][7bsz9{á §ÏœdÛƒ»ÀÌ?F•ÉÀÙæ&* }8Ü>r¹›Áã{öŒ»÷¸1>–Îd “¥o0D_O ד¸m?r7÷Ç0H¥S<°¦_àÎ4_áÊ•f*k×O¸}ÔÇÖ6lâÜùÓlY»a­]ýôu^ÃÐý’ˆˆÈ=Lã€wGM掭&D" <Ç}Õi"""rïó¹íì}x»¶måà±|ã•—ùäSÏ`÷ÿ#noή~þé¥on«òAMñ œvBL›ƒm›6óÝ×®ŒE°{ Æ•SVäæÇä_ÐÑÕÏûßäqªÖL£Ãa#‘Ê’M§°LðÍ_—ÓFeÅ2L‡êeÕœï»@6› fƒ¸¥ŸŠB'õ «Èu5µô Æ'øò‹_aïÎÍÔ¯\?í™ÿfV?¬²·ïv9()-ô98s±3ï1ê7bw—pòô)6¬ßÀª«ïøü——øç¼L™ÍxxçÜÎBZÚ.PRróÞÕj±’ΤG_û„‚Ó_–ºÐSÈ`düŠ(ÃCÃø &žu'cYÚý©qH™.‡•kW±zE#M—®pàÈAÞ¶«Ë?nß¡áƒÃ¼}ðÈè¶"”ú*±Û,x<^ ‹Ë—óÞñnÒÉÖë³(Žer±¥AV¬ß1­ñ»X"Ã÷÷ÀfÍë×â “š|™f‡ÝJ °Ãb¡¤¸”®¶žI·Oul0¦Ðk§¤´’,àv¹µòˆˆˆÈ}@》'’Lá™Á—“N“D<;nû˜ÄÃ@qÁþ¼ÂCÁi<ݤá!Š ô®‘»ŠËaå‘ÛøJwÃCçIö½¼qð(~ »v=zG^—5™šñPDDDîÑøà˜¤C`LÒ!0eÒ¡Çé OŒ¾¾ÜÑJa€ÂŠb»ú&M:°dt>DDDäþe·YX·rïˆFÃøó$f2iª+lÙ´cÌØXÞä¿äZ4¸ÖÑKWÛvm}sšË»vï~„hÚÊñ“‡ðx¼£#ƒÓV3 ctÌo:Ûóí“Éfu±ˆˆˆˆÌÇUD$60»cg¸"J¾¤C€1 %ûG‚™nÒátÄ’q€i'Úl6b±Ø„ËáÍ÷¿Å‹Åp:zgˆˆˆ,²ÞÁ‡b ¯—h,ι —ÉÆ‡ðaY, éìî! S^RÌÕ®!š›Þ'•JÑÕ;@Ow;Leˆ„‡‰Æ>þå/v§gL}©tŽ“gÎÒÛÓI*™¢£»Ÿ«—ÏQ^Z>i"žÏmcóæ|wßAšÎœ$‹‹'9ÓÔLdhò›Ì‰b®()¢­7Â…¦3ÄãIZÚZɦSFŽ­ëqÕóö;ßY·åÖ›Ê<ý2›úg~L×Ú»èh¿Fq‡õk7r¥½“t2ŽÝf%OÑÛÓÅp8JwO×舩a$SYC ô’{tÂ2EDDd~-ö¸P<Ÿtlf©Çw'¼ö‘{Ô\j$ÙðÖ¤C`4éM:¼S‹…d2¹¨ã€‹Uw*•Âf³éM/""r …4_h& ‘H¦híì"›Œàv{1 ƒ,&áH˜Áà©dœ€ßOÏ`„Žökd2Ca†‚ý@*%‹‘H¦h¾t‰€Ç‰Õ6þ~°£wKO±}Ó&ߌcö{í,oXlj3ï“I&°Y,Ä“i†‚AbñÁààô3g¡°ÀKÿPœŽök¤Ó¢±šòPDDäÞ¶ØãBSÍ,õø€Y'Î%ë|Wà²Ïl0´¾¾ž÷ߟ•+Wâ÷ûï›7T<çàÁƒ,[¶L¿]DDDY. WÛ{9~ê,™LŠeeE<õ¡á)™5fÍŠ5|÷7±›I~èÏS^\ÆÎà­Ãˆ¿u§žÿèÇHáhŠ/}ã²™$«—W³ç‘½ygÍ Ç9öÞ›Äc6ƒGvl£fùšë7¾òò×xj÷6Êjo”Íkê)ô=ÃᣇùÞþÃä(/ PSü(X&ž•°¼Ø›7æ@‰;öðƒÃˆ¿õ.e…Nö|àé‘lݵ—_ý.ïŸ<ÄÆ­»GÇÿ,–ñýÞ×?™‰Ž‰þùûoŒE°Y`ïîXnŠìµukùÚ?¿ŽÝÌQS]Íf Ðï[_ûæ×øôÓO³úöØ'(SDDDæ×bŽ %“IΜ93éØÌRïN„“ ÛøÕMÜ­W¯P(œÓ:ËË˹víË–-Ãí¾îµÒé4×®]£¨¨Hoz‘{P.=ýC\¾ÚB6›¡¨À;’蹬®¬æ½³§°šM<ºk7…þV­ÚÀûÍçI¾ß„Ý =ø i žÈðƒGÈeÓT•³~Ý`Ž™W†Tš/^ Kñƒ7–kΰkÓFŠ*ªI$³ì;´ŸíkVRPZ1aÜ5% …ªyïĶ=¸›Ò²ö;ŽÍ€’’2,Öùû³rÀëdÍš¼ßt–äûMx\.\ΑÙoßYP–÷ÿ“µKDDD–¦ÅšÎØÌRo©0öîÝ›÷û"Ù\Óp̨°ÁÁ ……iíûõ¯=ïv«ÕÊ™3ghnn¾¯ÞP‹…U«V±víZR©”~ȈˆÜÚ{†9|ð»<÷Ñg0muˆˆˆˆÈnŒ ]¼x‘ì/·f±XX½z5kÖ¬™plf©Ç÷ /Ðtþ<«×¬÷ó\*‹a3§]ç–-[8~üø¬â ûF¾¸óS?õSy÷1M“––:::î«ëÜ4M–-[FMM ™ŒÖ¢‘üúƒQš›Ž³óÁÓ^:ù^ÑÖ¤³õ Û·îÊû%n¹ûÝêìì\ðjMÓ¤ªªŠêêê Çf–z|_üâïÜ9²¹‘/‰X'ÞiæŸ(é°¡¦–Ë­-¤“)¬“¬Édؼy3»víº¯ÞP¹\ŽD"A<®%üDDDDDDDäþ´˜ãBÓ›YêñÝ/é˜QÒ!7é°¨¢˜i,µ|#ép2Ùl–††V¯^}ß]ë©TŠd2©7½ˆˆˆÉäèí兩 €x*Ç¥+ÍÔ•)éPDDä¶ØãBSÍ,õøòñ0Ü?4ç±X\2±› 7’!Oâa6;n†î;v#é˜4éFQc±±XLï2‘ûÈRÒ¸ tõãñz‰„ÃsR^2™TžˆˆˆÈ}Ï ¥³cïÇ4s4ÖVQS»BÝ"""r[êãBK=¾ÒªzÛ[G_ÏGÒ!0&éðvãMZ[[¨©©Õ."""rªÊ||âÙOª#DDDDdI³9í¤âÓDÍ—t˜Íf©©ÐÞR‡ŠˆˆˆÌ‛‡v>|_´Õb›ÖÁ¦u:ñ""""ÓtkÒáœÜ“9\dã¿pMfqÛóÏbh¹Ô¸J:¹?äK:t9í3*Ã4M%Šˆˆˆˆˆˆˆˆ,§Í:çeæK:&L:°æŒ‘¥­6éÔÂ-“ËåtˆˆˆˆˆˆˆˆˆÌ‘L.ƒÅ°Ìø¸YlŒ@ŒÅçnŠˆˆˆˆˆˆˆˆÌx*=í}~ñÐpÞŸ•ÕUÓs­mÖqX *ªêj§µ­Êò¢뀾¾>]"""""""""sd6I‡À¸¤Ãéʺ˜±Ä”û…Bš QDDDDDDDDd!Ø-NBá~œ.À„I‡=×ÚÈf³˜æìÆ­C]í³J:ìé꣬¢dVŧøŸâS|ŠOñ)>ŧøî®øZ{¦~î¹]4¥¼¼\#""sàoÿöo´>‡×I"çÔácy“öîÝ«“#"r ‡Ãx½^µWÔw©ÞÞÞ“H$ê<‘%îĉ3Ú¢¤Ã;eÎW'K:,«(Ó """"""""²ÄÔVÕN{ßD8NooŸ:MDDDDDDDDd½òô¬M$¢sGÞÄÃLvü,¹\vÜ6—sv&ötõè ™cÕÕ¯P Oy|K{ËŒê+--Q§‹ˆˆˆˆˆˆˆˆ,  ›6ÎúX‡Ã='1Ä"ÑüK-[ÌñË¢ÆøÅX< @wwåå÷ĉÉD{9rº—âV²Þg.f$tŸ9ÆKí<úøJZOð³°eÏf¶Ç9óöQÞê5¨Ýµ§kœ#‡ä\:p„7âµ<¹ÁàØþ tyêøøÞF*lù®€^^í4m¶JžùÐZjÓ í–zž´–bËdWY/ß~í4×fZ‡ˆˆˆˆˆÜõƒAúúû‰Ç¸\N ü~JK” ""2ŸÚÚ&žÐïõ©ƒDDDDîSáH„P(D2•Âa·ãv»)ðûÕ1""""÷D2†Ãîšõñél«9½|9 ‚OYãòyÇl»W’SÃ};yÖ¸‡âÅ&—d°?î íi‚ýq2®RŠ“œÜd”¶¡ ¾e~¼æÔß`ÇUʇŸ| —c† –·ÖcÑ›VDDDDDÆë £³ëæ³d,N,'—ƒ2ÍŽ%"²`ü>¡áÈ´öÇã8NušˆˆˆÈ=&4<ÌÀààèëD2I"™$—ƒ@’EDDDî,ÓJ:Œ©]YI__lÜϦ›tJ…¦Ÿxèv÷K:œH6•Æ´Yï’®Ï2Ôz…4 cøq§3‹R2FW8ƒ«Ø/çb8…ÃÀg « ``5›'4¤'n£´Ì뉇™WNà{- .ªWòغ|ÆÏx˜éæ•×ÏÐá®bkY‚ WûL[)®jà‘ T9Æ×ãÈ¥è¾t‘wÎ÷Ð˳Ø)]VËîÍ5T9[”#Üy™oi¥-n¡¤¦m]F‘Uo|‘{Q_ÿ@ÞíC¡!%Šˆ, I‡Á¾>“Ì:k¹9M:ôì “:""""Kâž0œw{4Q⡈ˆˆÈ=ÂÂÔùn‚‘ñÁ|I‡·sœÄ‚ñI÷MSÌæì“î÷Ϩ1wOÒáÃ^À–øÀŠ\Æ"’ òΫoðgß<ÁÙHŽpË)þöå÷8Êï<÷ßë'jXp9­€¯ýÆ”ƒY"ƒAB¦‡jÿÍu•³áŽ_ ”†\*Fëù3|ïb˜Ô$!¤ƒínîc0™ƒlŠþÖKn]¿<ÇÖï½Â÷wÒËÈ$ém½È÷Ž÷0œ»õêå£WifÈe“ô^»ÈþÖ(½ïEDDDDîI©Tþ§Žx<¡ÎY)–ºÏåÆˆYìw¶,³’EDDD–ŽL:w{2•R爈ˆˆÜcÒÙ‰g- õåÝnÉ3wáTI‡ÀÍ£LcaÃáa¼^ßëry ~ \äPìyr/›ZOóµCQV=º-éf¾¶?HÕ#ÛØ]hÅE‡ÛŠi1ñÚo\,)ú{"ä|µ”8 ¸‘˜j8Y¹u#ר¸p–ïž Ò}­›þ//m§ö ì]n§ãÄ ^¿'<” …˘z Ù%†A qÏl*ÅšÎæ_º9gR±i3Zî ûô ^½eh Aj¹­Ö,""""rïÉårê‘»X&9¬N¹WžÑÑ3ºˆˆˆÈýÂjfGÿ¿bõF.6žø>1™Å°›dHϪ.s®ƒ·›ùg:tÙF–jYzI‡KQ†áþ »› „"Ĭ.*=¶ÑÓæôذZlxm×Oa2J{0ƒ·¤`dåë _)ë«}¸mNªë«©t@6!:Ùõâ,`}mÝMe¥ÍdÉŽ«ÇÀSRA­;GðÒiþþ›ûyùÝ3ìkê¥?yÛŒ#ÀºšÜ6çÈÍ×ËÔcŽˆˆˆˆˆˆˆÈܳZmsV–a5Õ¡"""""""""K}’¤ÁÉ’ ûûÉÌabUA¹¤‰aÏ’ÌæoL,5vúÅTfêyî2Ùé5n.÷ËdG–•Éd,¤2æ‚ÆKd!äоœ Døî·ßýù^}“C•xn{ Xl8ìŒL–XRÁA:ã6Š2‰,‰4d\6K<‘%–’9²9À0H%³ÄÈŽ¼ÎA"™%–¹þsÓJ6=Rn"c`¹,ÄYÒ·Õ“±–±û–wör­{®Á~NŸêålKO>´œ²Lvd9e‹…Ü2¯_"¹Lv¤Í“H¤r0Å5™Lg1 cÊý¦[Þ\ï§øŸâS|ŠOñ)>ŧøŸâ‘…–NÏݲy¹ô<ýŽOi:|„Ë÷|5Õ°ã+.§¶¡êBǬ¾5 ]æÐ¡‹$+d÷†bìºDDæG.M¨ë ®´Ó;œ™hÀê  ¬‘ÖWã ߃¿sI‚í—¹ÔÞOp(B2¦ÓKAá2Ö¬«'`Õeq'ýç‹ÞM×L–ÐÕ#lŠS¾õ!6•êŽCDDDDG’Å{±ZœN2ñ‘¤ÀÉ’m+©Lšt*Õ6>à kvræò1Ûbña\α3Úáx ›%3­z¿´92Ði±d°Yr ŸËa‚£ˆÇö>@ò{§è©ØÌ'08ôý\-Üȧv•`$®/e\»Y;ú¤F"2DØâaK±—à k½>e¸—så”-wêê ' –B/…WÊÄ4vWÆym#¯µ$&8ÉÛêÀác…ÏÇŠU9ÂÝ8p– á!BY¨³›#K)ùÊ4q:L\S<¸å]ºùÖ=²`šL¹ßtË›ëýŸâS|ŠOñ)>ŧøŸâ»â›Þ󑈈Ì ™Xc¢°¼’Áîι)ÌUÅö‡ÖSbM“îáÂ鳜96Ljǃ4ú'ûòrг‡8ÔfÒ¸s« ”í!"²p²DÚNsä\ˆÀŠõìÞZˆÛLîï ;åÇi‚ÅßÀî7Ü3-Î%h>y’+C6*V®fû¦B¼¶,±¡^º†l8d‚à»÷³oiôŸˆˆˆˆÈ½+Ø×K ¤tAë´ÞH:œJow’’¼I‡À¸¤C`\Ò!@2‘Ãnhp2ÉHˆÁ„•‚–Xýq‰  Áåý‡yµÃÂê=ÛøPEŽî9o%NãöÒ¸vê=þשÑSNM}EV`Æ_|OÞVO†¾¦“¼x*8®(³ÀO‰Ëd–K€‹ˆˆˆˆˆˆˆÈ,Üžtèñºˆ„cSáõù§]ÏdI‡ÙŒ‰i™Å,‰†‡ ]t¤»?Êr¿å!ˆˆ,Åœ0mý$-ÊÊKð; ÀJ ²‘À½ØÞ\œžæ÷¹´Q³e;ëKÜøkŒ§¨ŠÆ"]sÑú*›ˆˆˆˆÈìM•th5-¤³#wÝ©T ›Í6£ò»zû¨(-[æôƒ+ÑZ˜§/bÃ!Â8©÷ÛH†‡e¬(p0á÷»“QÚ†2øªüxoÛÉ^TÃzÿÚ‡‰â¢få*kðÌn’ÍqõX(Y¹žr‰C{é‰fÈ™6 Ë*Ù¾y9•6”x("""""""².]ºDccã´’%N¦°¶ˆî¦Vì.Ï,Kȑˎ$-š¦ é—O ¹7N°: (¯[ÅêZ'½Çpz`dðéÒÁ7¸8+·²«~¤¤xïy½#Ïb÷S½z=+KJd™ àýǨ©¥fY…nëhBY&tsÙܵC?t‘¡1yéŠ×?Äöj7ÙX—Î] ¥/BÚæ£¼v%k–—àZ"¿´s±>ZzâXü«¨+¾™4—O6ÞÏÕæ \í ‘À†§¨’†U+¨ò[É 6qàH ÆòíìZÀš‹Ñvô§‡lÞ½•²äe¹BÒãÚ1ÏbóSµr«Ë ãhþϾÝ”àX—ËLúoÒÏð‰î ê ±OÒwå.L îäbÓ%Úú¢¤°àö9I…3”mÝÅ%v2S\‡™Xïȹí“̼XÒ=/""""rÓ¤C`ÆI‡À¸¤CÈ“xÄã+¼o;Ùâ­äC{*§½„ò|<­ÔoæÇëo¼ÞÀ¾pû>ÞÃÏŽ¾¶ó'³‡é«â㟨}ýÐöfOÕF>ýtvd)6»9®LÕ«×Q½zäe,qÛRl®RžzîƒãÊüì³Ó]²MDDDDDDDDfª±±qÎË\¿¢‘3/MºÏ`ËÀì’s˦ˆvÐ|q€”½”e%.Œt[éZ^_ˆÛˆÒqî8ï7"çÚŦí{pçYn2 `õT°jm…¶(×Nçâ™f=@¹òDDîœé¥¢ª˜«C½$“!:.½OÇ%wIkÖ6Rî;þë²Ëé¡K>r‰«šÆr7Fj€æ÷NÒjÖ³eO®`3ÇNŸä¤¹íËýOʰ€ÒñÑ48ü#ËHO(5@Ó±÷¸š.eÝÎ-TZƒ\û–ºi÷ßu}†—åÒÞ¬wMÞw•Fgަ“ Ö=´eî,ýs|øæ¹›ì:4½œ;zœ¶lëv>È2Ïõ㯥ôû@DDDDîzgÏŸcÝšµ3:&™JÝü‚oh0 0ïI‡‡FöDDDDDDDDD–‚¬Í‚aŒÌ;T_±jÒ}oO:t{]sD¬#o¾Æ«¯¿É¾Sí¤‹Ù²}#µÃYDMM)>‡‹ÝOYe †‚Ñ)Ú°ºúœØ~J‹]É0ƒ1-Ï!"27L<5Ù¹©žRÏÔÀ,Ѿ+¯‰ÞäDïÞ½c¾ ÔÒÒMmmù´¶Úœ¤S#ƒnŸ‡ø`˜ì4ï°ÿéþ|Ê}2Y‹™]ýRá^N7µs5˜ mØ),«d˪rJìÆ‚Åçqº=Úu–ï])䱕¸‡[xýdŒu®¢ÎskLú›OðíóÃL%oR²f —öóú‘vmfƒÿæSX"•Ãa3È ·ñêÁjvlâ˘âÉ,†aà°åé‹t„ó'Ïr¬=BÒ]Ξ >šN”³ÞèàÕC½y˼QïT¦³ß¤ñÍ¢¼Ùî— wðÚÁ.–mÛÞùˆ/6ØÆGGúyƒ¥{L½·Æ±ÚmÎyÿYãí^+ }~3¡ÖÑkl½ÙÉwtS»só„qö_°ƒ·ŽŽ?Wwóõ§øŸâS|ŠOñ)>Å·âëºùxyúÌÙ ÷߸~ÝÍçžh”òòé=ƒŠˆÈä>ùÉONk¿d"Ý1·é ^‡pbxìÆ`À/ÿò/ë䈈܅Âá0^¯Wí•{´ÿ2„.áÀÅUÛv±¡ØvÏ“ÞÞÞÑÿ_mi™p¿úÚÚ›Ï÷‰ë_R‘¥ë¯þê¯f´¿Ía#•HÍy£3&Bq~çhÒaqi9ý½Ý“|#é :a&_ë±Y2Kf¿\rˆã§[è/®áƒŠqgB\;òÚQË'Ÿ®ÍW6 ¦y{|×ËC\í‡5x„Ýe6ÉëFÊI˜§Î[êÒÔûMßlÊ›í~™ëk>ÜÞÞy‰¯°zô|eBcë½5‡Í˜óþ³g ,ÆDçuaÏoÚ~óójyú#ÕÓª7cÉæ=Wwóõ§øŸâS|ŠOñ)>Å·4â›Þ󑈈,®[“ËÊËèéî¹ã2Ç%Â-Ë!Šˆˆˆ,5iâ‘Y‹ ¯Ã¢î‘{Ú|$†"ᛉ‡ÿØEYoO: …†ðû îÉÎM„éÌxÙ²¼˜«Ã(dõò®œd0YŒo1Ö«Í¥Ìâipb'M_[‘ç ØæÒô_mâ¥ö:#Y%lX¿’mUNr¡V¾¹¯›º‡·°µ Cç… ¼ÓÜG_,‹Í`åš•ìnðrë÷½’}ùÆZÈAçÛïвr+OV‡xõ{=Ô=¼…n‹5íçØñ‹œîŠ4”×-gÏÆJJoŸU2=ÌÑœ¢µn3®uA.Î…ýGx3QËóÖQb…pÛû¼|ÎÉ]ŽÑu…£Í]t'Iå,xŠÊxpëJÖZ1rÉqmY»q5;jÜŒÿîZ†¡ö«ì?ÓI[(Iú¶²ÒƒWyù>ölak`ä!4¼Æ×÷Ó°­šÎÃèLBçëûiß¹ƒ§k¤‡»9zì2úb¤,N*ë—³gCÅFx´Ï®ô`¹ÑÆX Ïï­ÓÆl¶säH" -aìÕëøÐò¯î¡nëmõ>PqþâèëÖ­Ûx¶ÑMöÖ¾7”×ÞìûôÐ5¾{l€Ú:׺éŽfqøKx`ó*¶–;0'º–.Ÿã«m½ô¦l”ÖÔóèæ*Êì)®>Ê›±:žßSE9òðÞuú=^ÖðìÕ׷]ïñP+ß8Ò=¦m[å{ú¨ªvríJƒY7Ë×®dƒ¥“wÎô0ˆ›•làÑϘ¿_dB­|ûínÙÂÆ\+/觺6O›ü!ÞØqܹÒßBDDDDDDä~ÔÓÝŽ$ôd,"""÷°L„Žk½XÊ*)vB´÷Í= œ¥«(÷˜ê¹ï¹ìnbÉè´÷÷{¼7§ÜÙ_@Àï#¾£ ‹«Êéoï^Rç,©ç¹GGþŸLdID“¤M¶…~ÖHy÷㜸>‹]ûù³ÑåÅÐF>õP)îY•áro!{ÞÍS®$WNâ­S-T—®âÖ…Í}WyëB’ջ⅛xóìEÊÊ6±Ö{sÚ^²‚O}Äq3a1`!Üš îï<ÏeßržyªGl §šøîq Ïm/;«¤ÕŲR+ç{"Äk\x“QÚC)Òé ‰ZJ¬i‚Ý,EËðÅ:xíý>|ë6ñ#Ë=˜±AŽ:ÃáÓjöTâ¼­-Ý—šxãäŠ Ó€ôP?8Þ‹ã>SæÀSÖ¤}î*åɽ+ÇôE.ÞÏýM´øøÈãe”0ÀáÃÍ|縅ç¶¶1¶Âs³©!¹1m,´‡!¦ÝXÇsOaÍš‰MXo¦Ò}½Öe`ÜÖ÷Ì§Žží{âC¼ßSÀÞ=»©u&¹|êo¿w•Š®¦:ßÊK©(—{<ö‡©19z¨‰×N:øÄ¶RÊj ±í¥3ºŒ¯é(-Ý WòÏz[Û‰(ćh •ñä«H^:Íë§OÑSÕÈO®Äh9÷Ï]¥}Ùzª';'“´éƒ¯àõC=£}&""""""r_SÒ¡ˆˆˆÜëÒ ÂC´_j&žÓé§´n3kËpéVHDDDD„¦æ&jëk¦ÜÏ´B6=òëL*˜,é08™û evŽ·õÒœ1)_é".Àz­“¦Ë)ËüxÍ,ƒtY*yl÷J}&äZGšT.G.7¾-«8¶?_[FÊj·.ã#®¢8—ÅåH)Ë0L ²¤nù¶~:#>z©cÛ\àĸ"”\F‘uäg‰ð¡œƒz§ evN¶ôМicõýÿ°wÞqrÜåýÏl¿ÝÛvý´×tEýT¬.˶Ü+.¸@(!&@ !SŒ)!$„Á€ƒM‰ØÆËE’%Y½·ë½ßöÝ™ùýqmïn¯Igûy¿^ziwö;ó}¾Ïó|wvæ>ó|SÇ8­`MòÞ4sßO‡DŒŽp\À ì#¨8ȲßîÉ!`>Êñ†Vb± gÛ8¿4€¢HAAAÞžœ Ñ!@ÍÉ’ ³eâkl ‚ ‚ ‚ ‚ Â[‹‹¡Ú&¾'èÈtéžQýý}dfºÇmŸRxx¢¦–òÒ’);X´x>ö~_ÓÐ@i VtèòzΫ$ûÛÙv¸kI9—y±«çØ x˜æ¸•b§´ íA_± ÓYéÜ çänž8beÕºJªÜ*¡Þn:fr=ÖÓ¶!#»rÇ^¶ï®ÃsQ¡áà!6·drÅeó)uŒ½I­’™åÅ´ÿ§sXä4aÓýdkõêÊdeµ3 «%¢£?N‰C¡£ö8¯ÖFHfjh†NÏɽãÆÒ–°=n,ƒÇŠië‹ãqh´4œL9˜Nü¦'j:™çÎÆjgÏáN‚Æ@ýIU5a2’„cIºWÎÊLØq¨ç¢\²#]¼±§-·Š’AEáØ1ZM>²µ†”1Br ߎîWÅœúÞfÆ=Æ÷ùæ(5ûÞw:ÕÂÙ_GñšrílÛÛ…¹p…Cq´º(ÏUyêp¶üä;Î/¡ßXŸYT" ‚ ‚ ‚ ooæWrøhÓ¬s2Ña*Á`P ‚pòNû—s–øOAA.4&Dúƒør´5÷a1[N«Üâ‘îñO)<œŽè%:( &¾ðèé=ܯÑÓÜA[BÃ8u”'N¥zÇÍÚu•”gœ]QR<ÔKÈ”‰ß¦`Ä´&­T¸ÎÖºÏ Þ’ylaë˯òRÜÀìp3wþÖäXNÿ°VkÖ/Ä´ûÏ>}’&ÜÙù¬[[NÉ¢4‹ËGž£†P¦ÀI±Ç± —€k@6è T°¢õo¾þ:;1ãÍ+dIu.{é‹+ä§KÕ¢…iÆ¢à T°¶ó[_~•­ÆØcä;}¬ZQÌæÝGxø±ƒ˜3ýÌ/)!PÛ>p‡‡ª\xeó6Ú—®à¦ª,Ö­Ÿ‡¾ó$ϱOìûÄ>±OìûÞöuôŽ\^î;ppÂöK-~‡ÉËË“«~A„YàöÛo?ãc„£!2ìÎYµëSŸú”Gá$ ¾£Äãï´ñŠÿÞþ´··¿®©«›°]iqñÈõ},†×ëç ‚ ‚ œç<õä346ÕÍê1Ãñ~2¬™3ÚgÖŠ|Y­™Äãý“¶qdø‰„»°˜´i÷l·3 P”scŸÃ6ÇÈõ³Þnè w±Oì›V¿†Ž–ŒÒÚÐ ù•”zLØÅbŸØ'ö‰}bŸØ'ö‰}ïû¦w}$‚ œ¿Ì¶èPAAAA„Ùe¶E‡ÀŒE‡0(<4Ûl$c±3ê|*Ñ!0,:DU$ámJ¢»–§7×ôqÅZï$¢CAAAAAAAAA.DT ­èÐb²¼u½ê†x^Þ¦XüeÜxÝ¥|hSÅ ‚ ‚ ‚ ¹Àn¶žÓþÃ&AAAAA„³ŒÝ3°¢I<1°JÕªªIÛ›-3_Åçóì;Qƒ„–xKçÏpÑJ”AAAAá-"šŒ`±ØI$¢oY?†YEIê¨v=ªlWbgeœ]]]466ÒÙÙ‰aLü°³¢(øý~ŠŠŠðù|’ ‚ ‚ ‚ ‚ Â)© ™GßKDîËY-&=:üYyYÀ–R0™͸ßîîUÍ»Hô­¿hµYEtø¶Â Ú$buá³Ie»©}Õ/¾d^ ‚ ‚ ‚ g•·Rt˜›K[GÀ(ÑáÙ¢»»›S§N±páB–,Y2eûH$ÂÁƒ)//ÇëõJr‚ ‚ ‚ ‚ 4cE‡Z,‰–€t‹Ÿ8ut”èðLQ E‡ÖY^9‹Ÿ¿ˆô°{ç>{q¿Û¼WNöÖÏ­Má¦üvs½:${jyìùÃ4½.LöÖñÈvðf†ÖWÏ£O¼žÒgýM<ûÊNEt™ÉS ›ÏØWÉžZ~÷‡ìîMsŒdˆÛ¶ñß¿}‘“]§øýso²¿/ýARç“ÖWϓϽ9åÜŠ¶áÉ­gdWê¼Þ×§¡õ7œñ¼ž õÉð±ÛÎʱAA¸0Py¸Aálb3›O{ß_w÷µœÓ±566RYY‰ÍfC×õ)ÿÙl6*++ihhÄAAä]AáB¤¾¥~ÒÏgQ[8Ž@ tøõ„w.;‘àé©—rݹ´õµ]8ÑÐÂÝWKc—]œ=Òήý§Øb®â²b¦sbT’þ®(&Ÿ‡ Ñ`q[6™–·¶W“»ˆ[o(š^cCG3d2OËUo±¯´p7GÛ`þ%³>ׂz^\'&én bʃKm?Ï"2b[¦zvæ“Ö7»² fÕ.Sf€[o(>ƒy=Ú_‰YýŽIÒÛ”xKc!‚ ÂÙÇn·Ž¿¦´ÙlâA„³H,™ÀíqÓ×;rqšHƱ˜­“îÛÞ=ùý½DüÜ^ȵ··3oÞ<4M›ö>v»®®.I AAÞQX-Vâ‰ñÕM,‹8GAá¤(¿hÖéÍñÐÓÞ;e»††šá×i…‡¶ ‘`÷ø´8˜¬Sv0•è°î<{ª8ìæTÄ΂EYx­&›ŸrOÛ»cÄ‹8Î…QF‚înç\;V’ttưøØÓÊ’½u<ñZ ^¿‰º¦ ÖÀB./ ñäÎNæìÔžj£ÛÈ bq Œ&^=ÐF7TV/fõ©—Z_=O¼ÒJɆå,1êy|K'y…´6´Ñѱ¹³©^VÅ w|éÍqh~î5׬æÆb{ŠQýìøÓ^êK–ñ®J'&#ʱ׶óR¬˜Û.-Á öóø!;—_ZFF{ ¯h¦±/NÂ0áôçrÑŠJæf¨`Äi>vŒWvÐѱº|Ì_\Åê¢ Ò]iáNvî:ξ–qÕF^q—c5è©ÙËÇ .Ú´”j·Šlæ™?@_°œëÊ0´osˆ¸)u_e0WÚÙ¹û$[CD9sJ¸lù¼¡Zµƒ¹—³Â; UMt×ðø«ªçжûø8_éiì\=/Ààßax?÷aG]s&åEÄÓˆãÇyäOutмùUê*WpsYϼւËk¢©e 'Þµ*[°•í»Nq¨-LÜd§ ´Œ•¹dY•ªš¯wLš3s.äòªL,z˜›w°Í<Ÿ;/ÎÅ•.‡“aº ªsÌHÒYs„ÇÛhéØ<Ù,^TÉÊ9vT Ñ?Þ¶‹ó±æøïvL/Ÿ“æÀàJF†m3O’_ ÑÛx*mn.ò }}&éª?ÆcÛGƵ|ù<–æX1RæÓRuÐ'ñÛ†vÚrŠJ¹tÙr‡íðYî|ôÖñȘy}}e˜ç·¤ÄHÏ bÉx?\:×9êE­¿GŸo5¯ÅNšj[i Ìëöþø§ñóZI‰¥ƒPo3Ûö×p¬+ŽâÊf~A’šv7W^ZNV°fx.,p(£æÂÜËYª6 ûd…×ÉM½ ¥ÌòÛ@AÞVø}^šš[ÒnAÎ>©¢C`JÑ!€¢Ä0Œó[0>Ñ!€®ëÆì>¯yŒþòë¬ÿâW¹¥t¼_“ Oñ…{ÿÄšþ*7ªÏðù/½Âº/¤o+‚p!¢GšØóüãüîñçÙבÏÍ÷}“/rNºO´é5ùůyâõ€ÉWŦ;îáϯŸ‡;®=zœ‡ÿé³üª&À÷},süX ÞûY~v¼„¿øÖW¹Å»‡ýÔWØÜ9ÒÄž³€Kïú+þüª¹8gðð~²á)¾ð?â@dôöÌŸæßdtú=Ëÿþï“lÙSK·–¼å¼ëCå=ë >“ê!N½ü?ýÕÙÛÇš·ˆ‹¯/¼©ÿ$7G“]ûyöá‡xä…}´%kÕW¾›?»ëJÞ§NÖý~Òó‹Öô,_üÒKløÂW¸>ðλ›z.~§ž].']Ýñ´ÛAA˜–èp,i¯.báîô­MÓÿ1^”í§¾càéa FU ,ˆ'§®#¨é*Ó¹xÆíœÅ\¹aðâ#©êîàpJv¥ %i"~–ì EtHô²ãõÝèÜ¡å5~0Übô,æÆÙ£ÄZÔ@‹iÐçsÕ~̺Š¢G{9ÜæK+PðÜ®=4åÏå²ËÊ¡ñ/Åšf@<¦RF^‡ -ÒËá¶LÖ\´š+3’ÔÚ϶§ðn¨b㺠"o´Xµ”%náˆN<©£ë6ü>3[úéœãÀ™QÛ› ™ì¡¹7@À§³)„â.ÀÔÓÈ o¶ãZ°”Û (Ñöï:ȶ=nÜ+òÈl¯á¥£qÊ—¯áBoã1^Ú}§c •N…X\GQè7ÙÇžm‡¨q•qÕ¹dj½Ús˜?îP¹zi.ö¼2–4ícïá.æ,ΤëPmÎb®ÊsíïÞ÷²Ë²ñ+ý£öui=ìØrˆºÌr®¼"·ÞËÞ7óÜW¥ø02pÇ"ئ™²Ø°ºœ—v¶ø*¥¯T;_Ü­pÍò<\JŒú½ûÙÒãcíÅ‹) ‡=»Ó“pêD‡Æ àœËõ—Xy6%Z_/Z4H³1«®È¬«½lÞr„&Ï\®¼"g¬ƒÝ»ñB®¨Î!3fL3Gk9‘»"›Ò5S Ñ ÉåxR'î¦As±Ô¬ è‰'Z}lX¹–Mö8u÷³uO-Ù™•äê]lKcÛ“…ËfcKÓÎç²øä9àR!Ò;b[wãÄùH4±y‚ÜÌ^]€=f`$ÂÔ¶׎<*ÈŽŽž[F"ÌÉ6ëÖ¬c“ÒÞ]Gyf§•k—f“¡€Ö7`×B«B8ͼ&å­þJã‡þ…å_ ¦Ÿ×û[ܬ_µ–Ëmñáyí\S‘v^ÙµÔ¬ìé`ÛŽtdUrÝ jW¯îi'èÈ$Õ ÇFúŠšt}d.ŒýŽ E½Ý4kN–›•ïÀIù~ᬵõýrûûÄ>±Oìûľ·ƒ}Y~?º®ÓÛ×G$Ån·‘•…Ï+ÂCA„sbV1’úŒö™Ht˜õcqf¦¿Ùh±’LÄÏÚ¸t}¦c:ûËw˜×sÿ_?p¿¨NrQ„·ñ¦m<õz oºÓ^ŸÞNZsÅ|åÃË(ÎÔißý(ÿþ½ãçßàMtÍ @òÏþæU.ÿü5Ìþ —FÛÖ_óûƒH=uY ¹êËßäË2Iôµpbû#üçß㉲ûxoå KNxñÑoO$ÚSQUŒùwðO[Fqf’†Íð­ïÅw\à’4¿ô]¾öƵÿO>S™Aÿ±—øÅ÷¿Í·ø÷ÞZJº³n²åO|÷ ?`_àV>ò­¿§ºÀN¸i7ÏüüÇÜûÙÃ|ü+ç’¼©…„¦Â«¹ï¿®>Ó³.­/ÞË?=1ÏÞÿ>ªNަž‹gá×Çéwf&†a‡‰ÅãX-Ün7.§AAÞ©dšMô'µ3:Ƭ<ÖäqfÒêµmHtŒ[ª8£Lãi2Eáì¶Kô±ïÍcœìObò²ÖgÁ¤œ=ûT°yX½éRVôÖòÜÞ8Ë×T’¯wð§m\TM© lcžö3TPTsгðÛj†"ÛŠÊóÈsXHfûÈ´ÄÉ-Ï'×a&™ãÃuª“`Â@5بª#6«€brPRYDq¦›ÅFII6ûÛúèKèä§¶~­ ¾6ãËuc>ÐCPËÅí£Ï”I–¥-’¤È£­üUN2=>®»:02 —‡²‚ Ž7%Ð ]‹‘Ð,³ÅLvéBî(Mñ¯:Òo´§‰“1/«Vcð³h~.5;›i‰åPbu1oQõ;jØs,ƒ¶V Wà·@´mdß,“Í2zßâP uqËä“ãP?ÕkױʢìéçCu(îÊ€}©¾šÈÎS;ši‰åR©ör¼Ã ¨º”rÈeù¢švG75R?”,üv+`jl¢^ó³vQ¹v2ò¹hq?Í;›igãQ§ÎçÉN‚ Õ¡N™óážn´Ì>¨ácÏ]XÂ\°P\’þ¶>z:îÞô¶µ¼ÙDSÄÏ\eúùLžUNƒpOϰm“åW,ຫ‹Òçæ`ŒQí”Î=®ýíãÊ;GT;å‹Ê¨ôÆtA{ši‹e17àÐg^«‚ªŸ×ÉÄh?„üùAGU'È¿Áy]6¿˜²A›GæµA‘yì¼Ö‡íòÙ ¢Í4ÙlXG– ˜SÊêÞnžo˜‹Cy¯(#yšºmÔwŒªîëFs äɔߥ£óþl´K7ßÄ>±OìûÄ>±Oì›~»œìlr²³åê]áÓãØÔ‘‡ˆÓ‰íf¢áäŒmqfbµZ‰ÇÇ §+:¬««ãèñS¶«ª(§¸¸xÂÏgZñð\AÞîØËoåó÷½;ùγ[¦·OÑeÜ™rë5°t-Õþ͜苡3ѽB7s¯\Ûå±=køë‹¼+¿ôä÷¿;ˆ÷²ËpíkIwÅ‚Å]Àü5—Pýè~Zúâ0Ëk]9˯çƒå#ï+/¿ë^ø6ïiæÎØcõ¼öôq²oû7/+À ¸—ÝÌG>tŒþõ‹œ¸ú/X8Vÿ¥·³õ¿à Ïm|éßüŒ¡¾6ðþÏxÐ>ÿxp ‹>µ¤¡0 žÍë!ÓÂbU±Y•Zlt,†rÂm7 ¶Óè‹DÁY@®Ë„cP l÷yÈTºèKê8\SçŒI10Š÷Z;’xËÜøý£˜-d¹FrÔl7cVt³Ž6m¥‹¾¤Í6Ý|ÖÑû&÷­Ãš ¯3‰·|À6c’ü+á´¹i³©8¬ ŠÉŠ7Ã4j\Å@1™#ª‚b±SèÈy«7“Lšé×ìªô™Û¢`ÑÒÌkëh?hV5­ÌV;éóoh^û]–›çµIÁa3¯Ø°]>›AK( ޲]*úS+Ù9ìí 6«:êûdè{#1ÁwŒÃ§·SÃSìÂg›†¢}êÜ›åv#ß/bŸØ'ö‰}bŸØ'öM¯Ý™='‚ œ99s hol%:œˆÓ‘Ntà0Ù‰hÑ)÷/..¦®¡ƒOØfÞ¼ªIE‡çµY¬xhD¨Ûü+~üàÓìmƒ½„+>òY>ze[ð¿þ·oóÛ-ȕÜüÑOpç2ßÀ¾‰6¶?ô5žßõ&uQ÷ÜËùÀ'?Â5¥Ž1K-‘SíÝã—\¶e8ˆ…#36pHtx! ˜”•ú9º»—ÖH>Y™êÙë<ÑÃë/îbwŸtðËßþèÑÇêp–pǺ2Æ[=¾ª¢¢ Td;3oœö…ŠbϤ4Cãxo[Gž@´•Ã!º¬ÝDÙ䨴þ&žù(6?å…>ªæXÔuœWZc󲿲õ,èêâTC'Ná±£-¬»¬šå£®Ø Àê-åæËæ’goS$¦ƒž ¯/FPOˆˆîƪŽÞ×=Nà©34¦íà ý­ï‰íŒÄ…Œ]C-SÃ9ÓxŽÉ cÌGµœÍœ#¤6j£ÌkcÏŸEÛ¦Ê#ÒE}ÌFÅ m“åW¥ÖÂó[ŽM˜›©±™^HÒÌ'TEÁˆö§øÌxëçµ2ÝX¦Ú¥ËËá)3Ÿ F´Ÿ†¨·EÎâ‚ ‚ ‚ ³D{ãÔ÷àZ‹ÉzZÇ7ÛT’±‰Å~ÓqñúõiŇóæUq鯋§<ÆlVÁE9SÔËP=Tßú^–üÓ/øíÖüýÂcüöÉn–~è],Ì|eÌ ¯‰ç¾ø~žÞAå»®%ßv7Xû𣿾˜|T^|ïÿà»Xž“î|£nóÿñZ|±b º!Ž9\t‘—§yˆgJîæÒ¹N5¼ùôfjƒIÂq±ë‡Å{i×ý¬¸Óˆ1Mx‹Êñé»hìƒeòóË¨ŠˆñZžú×ç…Ü?ãë¬Çßþ"?øÖ÷ùyÁ}|â¢/þÇýüƸ–O|÷sÌw÷qè`7ÙV9÷|Ÿ—^b8Yÿ$pìeDr’óíÊ4+p'º›èÙð1¾úÀgáÍŸðå~®;þ–¯ýòP÷ý‚/ÿ×/x~Í}Ü2&L±ž:Ýâcßþ%™]¼ö_÷ñ¿lfé½×‘?©…N§ññZž¸wŸ®ñŠßäcìcï/¾Êì[À_|ãVç$iÜþ¾ó‹úÁØÕñô¿}ƒßq=ûý/2ÏÒÌ+¿ü6ß»?ëþ³Ô-ÒCAA„w*ýýdfެ@•$‰ù4êN$:A öÄF±Ý4«™íë¤ß–=°lò”˜&´­Ï°Qh3ÍlœSø6ÒÓIÐêm[Úü “ož07Oke¦DŒŽp\âÂh° â Ë®éIñYÂ8oæõ(»0áôØQëû鋃Ï>pº öD‰Î4sAI3F;dó“m—›!‚ ‚ ‚ ³‰Ó®ŠN,œŽè0 a³;ÇmŸLt8–x8†5Ã6i›tâÃéŠáô*N$>Tín<–Ýmmô'K(.^ÎUC³ª¹üŠ¡–nV]s);ií¬iÍfÑêUÌ/´Vo,áÑßÕÑe¼ðÐì"¿¨¿Ó UWñä3?x–«Ø˜#×È‚ \XŒúN5†7Nsiû Üý¼¹™c[çg?û"ßL~™Ï^WŒm|Gè9k¸ë–çøÒoâÿ*OrdέÜ{‘µ!µÀRÈU_ú_–‰ë§íÄvÿéùÂ¿Çøê§/§À<½s„áœÇÝ÷ÿ’òR7J,Dwã^žýåñÍûBüóW?8f‰d¾=ñoÖ±èÃ_amŽ:xÌ æÝñ>iý)ÿó…ó£8`-`Á<+šê#Óf×·1…?G>x~ à˰B啼ÿCùìžå@ÇJÖ¥´ ŸÜÌ‹U¼ï“WPîSÀw ×/}Š¿~ŠVßž_>†åÐáƒä޾ý4;‹ “Nt8ÐÏè*:x€ M»“ Qtàðf3ÇtŠ='»XSæÇíâÀÑÈ*¡ð\,qÓ·Rì4ƒ¤=¨à+¶a:Ïü¦ª&LF’p,IBO'ÒTÉÌòbÚŠSŽ9,rš°é~²µzŽt¹X¹Ô‹ÕŒ ÒÖ'ßkÐQ{œWk#$354C§çä^ž8beÕºJªÜ*‘înÚ²=Öq>ÉÈ.¤Ü±—í»ëð\ ߥæàA6·drÅeóÉw±co;æÒ%¬ªrRîáÙ}§¨ÍžOYʾŽ%…µo©¿€2ë>¶ïoÆ»4!ïÜÏ~æró '~S„5Ìsgc µ³ã@A##­¯&´³ÙÅ›Pêð±xމg÷Ÿäˆ³œRS»÷7ÓtžîOJ\9s(3`ËÞ&œÕydÆ:xcO+ZV%§ ±ÙÊŒ=­a¬ù%¸Ô3´-·jÀ¶ÐôÇ9y”cicÍ Ú6Y~Ù°õN–›§á=Ì‘ýu¯)!7Ñζ½]˜ QèHÒu8Œ5¿— ñóf^kt7Ø ®Ü9”ƒl=ØŠk‘sw=[NI8nh˜#s¡dž"m£æBjžt7‡±äpJ5AAA„Y¥­=ˆ33㌎‘Nt8S¦‘*>œ‰èpˆ™T=TÕ‰/BÕœ |â_,üþ¡_ñ™|‡œõwr÷Ý7±2Ïz˜úmOðà¯eKíàƒÙö\j¤¿?a²˜ÀЙ–ì&»¯ÑŒCŽMX„óšÉI‚¬ —3¾"–^÷W|*ñE¾üüVê7Qn×qʱ-]ög\þâxèµr>pßŘ âcp#íAµf’¿àrîþhǾþ;›6rC‘yÜØÒÙmò”Qå°kYek¹ó/û9ðùÇyýäm,Xtw·ÐÐÐ@ 8g6L*oœ‰èð‚>ùÚ<,_VÄîƒ ¼¸ù$šÙFna1—Uúω &ê%dÊÄoS0baZ“V*\æóÏoU¹ðÊæm´/]ÁMU®qm,.5ô»¼x,NŠ=Žª^®Ù 'PÁÚÎCl}ùU¶f¼y…,©Îeï‘ ýq…’’ylaë˯òRÜÀ’á¡rÑBÖä¤YžÕêcÍú…˜vŸàÙ§OÃŒ;;ukË)±'8¾ÿ8Ç”<®™çÅ®*-¨ ²õ¯Ê%oyÖð¾/½p’xê¾ð±zÝ|”]'x⇉«V² Џ|yn»ÁªÅlÞ}„‡;ˆ9ÓÏâòR'Ú|ewñUz;W®,ìËB`ñ6r˜-/½ÊKŠ“²’w^œË¨È'Â4ô«Ì©´O[,;‘m×/ÎÑœhÉê ˜,Ì!¶öªä†lSñN˜_Vtg9k{§Í;¸AÖLƒ`ͤÊaËs¯Ð¥[)(«äÚ%~É^êzUæÌµŸsñ¨y½°œì1v)v?+W”±cß1~ûD‹7‡ÊB'=½êÀÐ6ßð\xô¤†eÌ\HÍ“º^•üBûy'ªAAA¸Ð9SÑá¸kE‹‚ñWç¿xýzòrr©¬¬˜Ñ~†a ª*Édrʶf³Ã0&ùC›JFÑZîúÌZÞÝ{Œ~ú-¾óõÿòµ÷‘ôîÿQ-«?r??]’£ý9¾rÿë³2öpg½š¯Ã"É+ÂyKúŠ{£…QèÆp•¸™‹— ‹Š ºÎ¸‚¶ú`¥:CG×ut{%·ÿ˹*aÃãµl3†ÄumlÑGUÇ5EQ0¡«š«ëú´+éŠ ‹ÙŒÕüUþkqŽŽøÚ7¶Œ‹ãP£b<îý`ê:úpn¦É†v5Æe((F’xRKÿ¹>Þ“ù]õ7ŽÉƨÚ2ÉHvrª­=àLý{MŽlñCÔwGYá¨`­÷·Ñدâõ:PÇôu:ñ˜8 ‚pöI½ÆI=ÿmO÷¹A.|,V¦%:ll®cNAñ´ëp;)ÈÊâ䩺)Û¾%j¶D(ŠÅi¿°‚áÊbÕê,–&M( XLÚ9³Åš]ÁmCeÖ-y\weÞäAôsÛÅã¶Ý~cé„mÌžbn»¡˜HLÇlKý¬ˆ[o(|]Êí7–ŠŒ\`X|¥)ÇÍ`þêµÌ_ûqƒñ²ášMlÞ`§òâb:ë°óY°r VŽÞµº"1LÊ«—Q^==ÿ™]9¬½8‡µi> T¯áÛˆÊNudsÙu—Ž4ÜwiLÇa¯Æ³dæ²þ’\Ö¾Ät6Ppå—qýµe£w¨,ðŸ:ÞW¤±3ÓGº5gP¹l•ËR,i—ŠÉ·‘xmgqç±áÒ¼”x0_³·„Ûo,™4gn¸*0è— ]v i¥É«6,å?‹¿Œ;o틯”›®.n—Î6€PÒ˜Q>OžÖmZ>Ú/“äWÄìœ07p–qÓU%¤K=GRãRÄ WÎï²ôvM9¯ÇÄÈä.â¶±1»ahŸýCU pëðöÒQ¾Lµy`¾ÉÕEsÆ^º`õrÅ•V˜JÒºÿMjÂ6VÅV‡çB$uU¦ùŽÙäõý"‚ ‚ ‚ œŸÌTtXQRÊñÚš÷3SÑaVV===øý~\.פ83 ƒxj[èËÏ!Ù¸…‡x}ÉßP+K‚pžžÒUšKÙ6ü~¨ªœ® W£M/>ŒPû¼a^ºêrIÚö>ÍOÓJÙ«(0kŒ+f«iè ¿4MCaà¯}à3 дÊvº¦¡éú -íÑ¢ô4ìá?ûEw² KW1WÓ´´Ut»¾ÂÞD1Õ¸m:ÁÆ}<û௨+º•»‹¬hšF¢íU~|ßO92ÿÃüó_n GM3ÀHF õuP·ÿUžxø)N–¾—Ï_Y„yp £ñ³ò½ïeÅ—ÿ›o~ÛàÃï»’ÅùV¢MûxîÁŸòTxyÏ ¼†FRÓ1â}ÔŸj¢';›dÓüæ[Ñ}„EYZë€xM×5%Y뺟~öö».¡Â¯Ò_·Ÿã‰JV•mdcîf~ûã‡ñ|ð:–åÅ8q¸‹‚% ɲ‚Å冞“œhî&3VGk¢›Å‹6Nê¿d‘îN¢æ, üØm|c7-ÑÁ˜j£Ïóº>8¦¡~‡c>ö½>˜ƒm”<´W×*ꚆâÌ!Gmaû‡Ù˜SŠÑrŒÛéîÁ}Æû¡×³Žµ®o¥÷éÂÔ*„“Ñð/áÊê_óýÿù9åö»X[¨Ðz¼Ž¾ÄÀçö’\x‰ÇxŒ¢¿¼š k+[|½ëøôÏ8ÿŸ®ððÌâ(ÂÙ&õ:h¢×C`¥Û&‚ \¸$—Óìê ( u§m7Ñ!@¤/Äɾé-Mú–ç–Ï£¾¥vø}–·Îž&‰¸ ÂN´ý(¼ÞKùê%\”g%Ñݮھy\rm"‚ ‚ ‚pN)ðxiîí9çvœŽèðt9rd@€2?˜†Aww7óçÏOû¹¢÷±÷·ßáû߉*ž² Üñ7w±Ð¥`ZõÞ³ûßùÙß¾ï’Åšw]B‰÷øiÙmu¹èzú |àÛݦ,æ]~7Ÿ¹{=9¢;á<$­À0åµa$¨ê^>÷?‡Öcñnþ€‰¢wý _þ³*ZÏß÷yþ—÷qß篤Д ©9úÇç‘ïu“ÌÙ ¹ò®àöKò1¥ái:†1"*K÷­¯iƒÕé4 -©£'šyñ+Á‹C l,¿înþßMkÈK# œH8— ×ðÊÏÌ÷†çŽR6Üü|þšeä›44­ý¿{ˆ?5‡¡ù?ùÄæÿÞ×·î3Üÿw+¨]×Ëîïÿ_5DÞ¼e¬z÷ç¸çâ*¼æô"E5çbþêK>žÿ¿ßò³Ïý†Ž`Éaáe·ñÙ]Ο2h·ŽÅé¤ëÙ/óáïö`˜üT^ò^þðŸ ï¬eÜð‰¿FùÕC|çSЧŽùÜø÷Ÿd¥µŒë?ñ7>ÄîQútpUßÅç*çá5«âZ®©ø.?ÿô‡ù±cïûèj æÂCð-»“wïù!¿øô‡ø~V^·ž"ÏÉôÂCMÊ·¦ æHŠ 0©1Pð098~†…‡¤î$+"jš†æšÏmxïÿü+|ô7:–ìy¬\”‹Û#žˆÕX?üå}ŸŸØ§còyÒ1nVüù?òç?À£_ÿ~´[œCPs |npÕÇÿ–ä/ä??ù0½š•üå7ðW óész¦ÌFA8{L%:½+@ñ¡ ÂÛ¿ßI8ÔMWg7þ,ß´öIÇŒuÆ}y²|ôvŽ•M›6Á`—Ë5ùŽ>7½Ý}³6èÿ{è{S¶Ih¦iUœÍvñT<œmûŸ$‹ Â4èïïþÛQêòɺ®zo¤Y^yÜ2Ì¡P§Óù¶Œ¥Þò_ÿ××XýŸãÊ“øï"^ó8_ýÎ>.ùì縲pf±ëììœyñ8îiü½R„ó‡±Ë)§ UU÷z¬1u_AáÂá'?ùÉìþîDÇÊôŸŠÍäÓÒÐ2Pñp*Ñ!0©è°¨ ˆúæúI÷Ç"dØyA„ ÕÆœy‹©¨–2 ‚ ‚ ‚ ç3±D›%cÂÏ­VñxŒþž^2½žÓîg*Ñá[ßïÇï÷KÀAf™±• a` Ö!ÑáØÿ‡^µ»‡C$ ‰ÄÛ2žÑ¾BI3C#‘ÐÅ :] 'èÒ]8ÍúŒcw:ñ8 Â…GªhPUÕáÿEA×õá×CÕ UUEUÕQÕ¥ò¡ ‚0Ñ!@KC 0KK-O%:ƉÚÔOåhúô5›í4]eºçÔÙ¶/›ú‚!–0€³Û.žÔhˆ}bŸØ'ö‰}bŸØ'ö‰}bŸØ'ö~;Aáì‘*:Ìöùèèî}>ˆÇ&z3\ô„ƒ£¶•V–Ps¬v\ÛD\Áb5Äñ‚ oÆ.¯ #¢Ã±ÿ"‘}}}ô÷÷‹ÅÒ /¢Ñ(v»ýíÏp ›yŽžìM(m‡9Ô!þ;Ñ Ö¦VÏ£¬ÀI¼e?/?µeîMÐ|ˆC-3;Z_ßÌW²K&“dddH(á#µ‚¡¢(X­VœN'»Ý>,6TUuøATñáй[ć‚ &õõÍIûY0ÔË™ù–õ}ÆÂC›ÍF,›ñ~ÓYzø\´3 ¦½ÔòlÛ7%Ì@?ëíti/Å&ö‰}çŸ}Ñþ « ŸMÿMy<%¿Þnù7˜dà•ù+ö‰}bŸØ'ö‰}³Üï¹­z%‚ ¤\ùD5ûÀƒ¿cE‡Óe¬èH+:Dt(‚ðv9¤ˆS+jš6,6Ô4D"A[[YYY¼ûÝ聆°«Õ*<_ùž¸@ႦiD"xã78~ü8yyy˜ÍfL&ÓpUD`Xˆ8´Mć‚ &‰‹gú@Ñ”ÂC#C±Ø&üütD‡ç;±®ZžÙ¤|e 2ÏÝr¢á¦ŒÅb444pË-·P]]®ë$“I¢Ñ¨8NAÎõµà`ÅÃŠŠ 8zô(øÃðûýØíöq‰ÇV>A.|šê) Ö¾C¢Ã®ž2í.,ö‰¥…}=ýS '¾-/¦ã}:ÒJ¯æ<Ç–$éïŠbò9q¨ ö·e“iÓLÍ ²ºœš—ŽðÚÁlr—g‘¡èôÔçË7‹èð`rqë E„"ïä›ïIº[‚˜rç0›Þ!ßNoRëhƹ±ó‚‹Sv™Jï4ü5{9{ rbÊeë§•‚ ‚ ‚ o_ÆŠc±6[ú{€Ù9~:&":Ax1v‰å¡©âÃd2ICCïyÏ{¨¨¨µ¼² ‚ çÏù\Ó4l6K—.%‘HðÔSOQPP€Ùl^šyè\È’Ë‚ o#NWt˜Šßë²Û›yæK-‘‘a'¾ÀŸf3’´×ÖÑ Û±ëuF‚înç\;V’ttưøØÓœãM®<Ö-éä±7±³0“‹ó­h¡V¶èÅ7Õþ0'ú[Ù¾ë‡ÚÂÄMv JËXU™Ë$ºkxüÕæn© 7´-°z)‹Õ&ÙÞŠ×o¢®)ˆ5°w­ÊÁ5Æžd¨­Ûk8Ø"ªØÈ+.å’êBr¬JÚþ7.Î'Ë¢ T|½ƒ9;µ§Úè62¨X\ÅÜD#Û´ÓM•Õ‹¹t®el[=ƒ²•,65óê¶Qm-hô6ÖðÚfûâ$ §?‹VT²Èg&Ù]Ãã[: ;iªm¥5¬csg³`QkTÀˆ÷spïvÔõ1gR^”A|÷Q´¾úኇ‹hàw;»ÆõS½¬Šy6T@ w²kçqµ…ˆ«6òŠËظ¤€ëX'÷³ûå½´”-ã]•NLF”c¯mç¥X1·]ZB¶‚ ûyü ëJðuœJ¿ §?wxüЧõäQ¶Ÿì¤+ªcuù˜¿¸ŠÕEXô06ï`›y>w^œ‹ëtò8¦¡[¡ Ú½u<òZ˨º¼$Ä“;;ÇÅ}Ñ4˲ Y_êÄ’Æ·%–³Ä¨ŽaCM+í‘ߺûøãKÇhŽCós¯Ñ¸f57Û'µÓè®áwƒsa¨rÞ¨ùáÑh>vŒWvÐѱ8½Tίdý\JoOŒcºy’ŽÉæÇøï‡8ÍÇŽ±ùHǸ¸ }—uÖá±Æ6šC:ÖÌlV\4¥9VÔtqniçÇøëZw+™›eóÓÏ7¥·Ž'^ogNqu'ZéHZò¸:%ÇäÄS¯¶àñ™hjð×õ•ažßÒ‘6'6h£7µ¿ r¢2V7ñ|K͉—·Ð6˜Jÿ¦ÆxÁ’yú׿ÉfùòyT¹§{J5ˆõ4±åÍS늣¸²™_¤¦ÝÍ•—–“o‘B‚ ‚ ‚ ¼uäø²éî’ÔG–QžHtÐÑÞ%NAx‡1$@Hjš†¦i„B!ŠŠŠ¨¨¨ ‹³A᳃ül3'ÚBD*œ¸âaû$“=tÅŠÉ6'éi aòâŠ4¿éf×¶Ãã·wÔ°õT‚Š•kxw®‰žº£<½ç~_5 \,ºìA:'C=4™¬t™ 2>‡ŒþPÚ¸7§ÄòGkiÎ_Hù4|»aíZ*ÜÉQ¾½vSå”Ë2²34ù˜b5¼|,μµë¸Õ§Ð|ü/ 1Ô94Èqï}, ÃÆ>ê¾…w¤_#E§Ó²‹(¼Î³?ËËÁ,¦æçQVœK‰ÇLá:üÚñúÈ0­a°ãÖYƒ‹ çÈ}LÓûHØvˆý÷síwŒú\›nSÒ]}®¿}†ˆ¾Ø ç„”çDŸí‡s¢÷1~)=‹i…yÌŸ™?dÿ]ý›°R{¾io cû²Épy*NùðTë…ˆˆˆˆˆŒ¿ŒÌLZš/Ì4Sÿû6Í藍=¡™¤ú õ0‘H‹Åp»Ý §ËQ‰ÇãìØ±ƒ;vHèuƒHªLÓdƌ̟?·Û­‘£’““C,#™Lbš&¦ibY¦iú:@£ŠˆLl‡‹h²oÂ%;þ§Åú½Œ<ŒtÄñ¦u†F|i^ƒL¡l8 ¦OŸÆ¾=£ÛiÿÄÏ)Þ\ÃÆƒ&åKsÈ0á-ýs¹ÏTËuÜû§­=‹z¸Ñ`S-÷¼ì$-#@š;LV†›>ƒòÙ šÔ±‡§¡__¤òúbÐ&6#'…ºE)éßvˆû%[òøÓ;¨ò„˜Y˜Å̼Bü­{x¶ftûe÷Ùô(êL±ÿlÀYÂ+K(NaÄMà$-É®ævB‡ãøò³(ŠÔðf];õi D|9äz ’y|ýΞýŸ=µˆù »zößðd²ôŒÓ™ÝÜȡõìÞ»‡wTsÆ9‹Xšé8¦SÙŽ´²?â¡´Ï0zƒôÁQ÷çèÏÍÔëúZ0<™œvÎJæ64°·ò0;ìàѽ՜qÎb#Õ§jã«<²»£ë÷4ž³„Ù©\½÷¶«†ÒêúÇmAOG±ÿö1]oÝýú ŒItNô>ÆÛ÷fÅÞSsý§jã+ýŽ÷bŠíoä)ô«ˆˆˆˆˆÈXJó9é'† Ž–B‡""'†îÀawè°wø0™LöŒ’¤‘ählÛ¶ŠŠ ¦NŠ×ëU‡¼…¶oßÎ?øAuÄ$ÑØØÈºuëØºu+K–,Q‡ÈQq¹\=Ï燣Ïó¼a=Ïí ŠˆL¹S2©¬¬Õ}LÃIJÇ67 xèMsá÷8h& ØI»'t˜L€Ã9™…Ek}3 íÔ>·‘—{-©{þ5ö—ÍáüiŒÛ.º2Yyþ ë¶Q?g kòáÀ˯±1c.Ï‹ZøF½R“´ c M1›¯óÅB´­™6ÛÃL¯Ã21°ˆ'¼Y†‰$S߆7àÃk§9f“ï2RÚ~‹í¡Äë8NiÏ$Rå,äí«gSä†p4ÂáÚqÛ&•÷Eœ^?æ!jÛâØAëh¥mLg7IK÷av4S¶R bxÈ+p³©â0;â&ùe>2Aœû±}OOaÓ¢¦úPŸý‡ûöÛÃIz(—¼)ù,žÛȺ'¶²¯6¢L?Ç= 7ÕÓêÉ!ÏûV¿85FU§aô¾ŒÁ¯ÃIFv‹³ó˜UÒÀKÏoc_m„yy#^àL]v:ŸZÖç•ÖÈ×Ç »5øq››} Ç)žÊ‘#ˆG9NRæï|ÔŒ¶·ÒnúÈñ9&Í9ÑûÏKËaÁì&^ynÛQôïàÇ»¶Õ‡YÝJK ²¼ Úš"Dm¿^‰ˆˆˆˆÈ¸X¸p!›7o>îÛq6I[Z‰ˆL6ÝÁÃîŸ{Oµ¬Ð¡‹}ûöQZZJzzº‚-@,S'L@€Õ«Wóè£*x(Ǥ÷HÆýŸÓ5Ê¡ˆÈä2ÚÐ!0æ¡CbªåöhÊi³”B‡y™yn:Üù„eaB<9r¤)i¥6˱µs>}ïÞù["ibµäÙ×ë)Z2—ò€‰|úÕ±®/í:À‘v*£.Š\&áŽv¶¤Oq‹ZDã6Ã¥ôâ±Î@Y2Ñk}€#XÈ4sÏ¿V…s^h=¯¾VC24‹|ÄãiÍ0»v×1Ý“'\Çk›ëh³ÒH&l¢]#AÆcáè/8ü¹¶ðâëUøæç´ÛÙ½e›­RÞ±°ïö]íulÛ\C"§Œ|„[;ëî^2Ö9Â\÷~$c6–mw.·û¶%{-뾯mÙ$M'DÚ¨ª‹ ÚÔìß͆}aé :¢ÞÞëv1«kýO²OmÞÃW)EŽV¶¾~ˆÆDñ˜EÔaô9ÝuÇca³sºædÂ&ÊPÛé¬ÓHŸÂtÏf^Ý\AÆ’"rQlƒ ‡¬:³œâ~A­hÜÀ™Äز½ÞBf9 ,G&™‰¼Q`Éñ¨åpôÙÿ†Ê=<Û³ÿ ª÷láÿít²pé,ʳDꨎ9Éö9‰Ežg#GÚÅh¨lÇ™S„#nîß7]çP41øqïý»mC"aa`߯cûHßvD¬÷m&X ZÚb´xܸL£×~Ä©îW'æ‘kaJYˆô–úžk!KR½c3ÿØåbéòYÌH7inhàpÜI®ÏI|}L¥ÿú_Ÿ®>Ç¢yÿþ±ËÅ‚%3·˜Í‘s-–°H&ž]}ö?·±}ûˈ rŒ½Þ¬Îc”hçMûÈ]:ôH=[_¯Ç‘?L3: ¯“]µö~¼JĆ>'¢Nsàö9'¢‰á®·#çD[G‚–°‰«ÏðŠGúwéòYz b Cöoïu'v¿c5Äo°€©lçùÍոʳp4WòÜ®6â¾јEØJýz‹%¬®?S¹.íqo§úTŸêS}ªOõ‰ˆÈÄ4TèÐïñÒŒÙv:™ÜõPS,˱ˆÅb¤§§cš¦:c‚\ã2yŽ•×ë%ª3ä˜ôvÿ¯Ç¨­­'7wt£]t»Äb}ƒˆ¥3ËØ»{'†•Ä6Gv‡¡3tàr¤nïv¶ †ic3‰Ëa[}>OgçÄZ[ˆ83ÈOwà‡i°ÜÌÊrãót~8ØÝnÐêîœ^Ôá¤o;OgY΋¯îá±î áô1ezç—å‘ç3ÁâôSŠyæµ<ühgzˆ3K(Ú}‡ÓÀc‚ ¸ÜæÐÛ÷„8õÔÙlÞº—<¶ƒ˜é&oj1ç-. ßkêµý¸ÓGáô2.ZP@ŽË í¬»{ý ·É‘ýH¸ LÃè\n÷mwôZÖ§­“ü’YœÑüÖ?Ï+¶“`î-ÎãõííD1ðºûÞ îîœæÕå6ñyÌ\¼kË›¬îyÖ~J§ç“mÃå6ñ¸úöswÝ.·‰Ï4ptöCm§ë¶ôg®š‡cãnžZ»(N2rò9㌙Ì:ŸÍ—bjÚ~ÚYäL|¤3#ÓÅÞ¶,JB.|nÈ™6‹3ÚÞìÙÿÌüÂ^ûï`úÌrV´mgã‹ëy!nãJ R¶`>gLõà±;ØúÌ˼àœÃ«òto·{­~Ë{ýþ®%.jÚL+K#ÐÕ¾Oßtßæü¸÷þÝ0Àéì:VýúÖå6ñÚGú±ûxôîÛ´@&só+xvýK4.^Æ%³Gö#P'ž#×ÂßOâêu-¸Ü f–³*² ëŸg]ÌÆéË`Æœ¹¬œêÁÑbŒp qýö»>û_}™øºjX?Èq3 Žœk––³×¹æŠ9n§yúì Ÿ¯o½3oc4èõfâÅÀtù˜šÞÎ+ÏWÝÇ|°sÂã2p%ûmosÂc½uŸϼô"-‹Oá’Y&Û{˃ãÙCôoïu;ưÏGd³êô¬{eýGWf.eSý´4;ðyL|ÎΗ> ‚i’âv­qo§úTŸêS}ªïd¬/õ/±‰ˆÈÄ3–¡Ãɦ¡¡ªª*êëë‡ýÐÍ0 B¡Ó¦M#++K'ˆœPzrØ;„Ð?|(r,:œx×¼èxÉÉ£wè°÷ó~ÿsM#Šˆœx\NñDxØ6¹¹ÙøÂmm)¯×X³fÍ[ò*åϸsÄ6ñ¤#¥ÀÞX¶‹%¡—qÞ.@0#cÄ6áhjüe»ö°•ò“ªOõ©¾“·¾Ds}ö0%«–²,Ó¡þK¹]‚š-ùG}ï>» ¡óOõ©>Õ§úTßä­ïÀáÑ;::ÈÏÏ×_ý""cà}ï{wÑX¦Ó•ú±¹©±™Ì¬àq¯ëú믟ÐýÖØØÈž={˜7o>Ÿoäç½p˜mÛ¶1sæL233uâ‰È ¡wØ0™L’L&innÆív‹ÅˆF£D£QvîÜÉ~ðu˜•?ÿùϬX±B1¼øâ‹\~ùåêˆIæÁä½ï}¯:BŽÚ§?ýif̘ÇãÁívãv»q¹\8NLÓÄáp`FÏ?™¸î¾ûî>¿Ï˜2=‡¤|ÿ´´4:::pÙ6ñ£|ÜwêPˆˆˆŒŸhÝN~¥…ÒSrJ¾›xc5¯î“U$ ¿áDDDDDd,þîˆu¾i8\è—ÐádPUUEYY'¥‘¼<eeeTTT(x("'¬ÞAÄÞÿ4â¡+Y&Öu."'—îçñ¡F9‘Ék¤Ð¡Ç—F4ÜÑó{wèH)thØlcà{}‚‡Í C£›"¤$*ûjªtEDDRà sæ¬]¬i£¦'@é친;ÃCÝ#"""""ÇÀtX±ãÿQ,Ãív¹ÜaY$'Ñ4еµµ”——“L¦>r¯×륡¡A'ˆœpú‡úEäĺÞEää}®lŠeM³,"2ùy\^¢ñÈ€Û{‡{ËH/ ¥µzäçcð÷Íú‡ æf©­ot™B‡""à óž‹‹Õ#1=Ï[Hñ9¹M´Ð!@qq1••lÛöæmÊËg:„±ñЪ^Ë7¿ó$ÙÓ“¬r+mÁY¬¹òJ–5?ÊÝ÷o¤É[À²Ë>Íg¯\Dà`¯©–§'©xæ>~ñûGy½&Þéœ÷_äêó‹ðVÛn¿çnþøø6êXx%_ûÒUÌM×¹)"ãöm°4â¡È uM‹ˆˆˆÈIc¬C‡}"u½C‡V2‘Ò F }B‡ùùù¬k“´7GqåÏäâóNãŠóOãªw,çÊ ŠˆˆˆˆˆˆˆˆLd«V®dÞ¼9ƒ.+/ŸÍê³V¸Žd29êÉ7¤©è=|ó·÷pû‡¦°é7wò¸ã"¾}ïÿp×u‹©þ¿{x|_´Ï}•Opׯ7ºü»üîþû¹÷Ö2Ïh -$ñÄná†å\{ǽÜÿûŸð¹K’ãÖñ‘qæªä˜†1ÁþYT?u Ÿ¼ñaöDSiѪuüü¦ÏðoW}€Ë¯ùONLÀýþ™fõ¨ÿulç·Ÿ¼ˆ³/¸š_li¸<²›?\ÿnξè3üqw„Øþ¿ríU?ó¶m{ÄõÅö>Ä5ÿ:vÛ¶–½qÍU×󧽱㺑TMŸ>cÀm8œž1ÛŽs¨f¿°`vZ6õõc¶áxÒ1ò~Vj©¿cngÇil±ñäøqX&IƒñÙn?áèÈ߬ޯm`|ÛÅV×!ªOõ©>Õ§úTŸêS}ªOõ©>ÕwôíDDDŽ—U+Wôù0ÕÐ!݈‡Ã~øëÉaþ©‹) ¹aé™ÌÌ>@Ñ’ùÓ`áÌIÛÄÆôú~¶éÍ èŠÓxø0­‰é/åm]5†w>Éß÷LáŠo^ÆÒ) ȲӧéÀ‹È[À£.ŽÃãÆáòàJåóÁäaÖÿþ~6†þ…>p>¹‡Þ¤ÊgLÊý>ö ›‰išØÃÿÞ÷ ïøú;™æê^– ú¹?ðç-aðš8 çô˸û/Ww³’üçW¹þ/s¹édnÚè·Þw}÷Å6˜Fç¶whÏ6˜æølKNO*EkÜÛY˜¦êS}ªOõ©>Õ§úTŸêS}ªOõÔNÓ®‰ˆÈ[§wøp4¡Ãn#bØ›iŽbšÓ‰Ó„žÏ  .Ó ÒïCi3÷L®ýº‹¿ýá>¾ð’»ò >ô¡KXžï!ÚTE«#‡\¿CZDÞr ÕÈI-§#æ¡äÜEL!†QTÎŒD”XÒ>ù®eÛ‚”_¼žùl<Ï®ÈÂì–-üù[ɾà_©Ä¶ÁNÆho‹ußÃ41L6GUJŸõ ½¶}ü·ŽlË·mɉcFi)¯oÞÂu7|ŽÝú} Ã೟ÿ";wí¢´¤DÇ\DDŽ»Y¥…ìÚ{ð¨îë<Ú¦:¬®©¦ ¿`Bw`2¦)nQXÈ’©™xb¼±u/붘œ¿$— M·,""""""""“€×a9о68G1XO8™Äç˜x!¸U+W’Ÿ›GYÙ¬QÝ϶mLÓ$‘HŒØÖétbÛvÏ4…cÇ$mÚé\ù…ÓyoóNÖþêûüð;Q¾þí«(ôq…÷PÙgi†K'ºˆˆLZcÿüyÌa)ŽDÕ?øö¯R8ÏËϼÄþ°A`Ú¼ÿêsAa ÞüßÜ¿'o~’Ën‡Àâk¸õ‹+ÉjÞÎ?þp?·›†¤‹‚Eïàª]Æ…^&êxˆc<ÿ¬‹¸Êó&7ß÷/¼‚2oŒ=kïã)óí|õüê•JbûÿÆç¿ö$+oú*åÿïKüç#•ؼÂÕ—Þ ¾¹¼ÿB›'ß\Í·oy7¥n }¿¸á+¬-ý?ýÂéd?ðw¾øÕÇXúµïð~ÏÚ®õÝÂeŽÇøÊ7Ÿ ÓÀ³Cñe|ÿ†BìžRãÔ½ø¾ò­ÇIÿÔùÞ; ±ê_åÁ;ƽë+‰º‹Xý¡k¹îÝ T=ÂWny‘¢E>6ÿóyö„ ÒKVó‘ÿüïšÀ¬pÏýñ.~þÐ+Œ7'#VÈ9tãC¬;Ë©ÇèÎÛoãêO_Ëî={ùÌç>aìÚ½‡Â)S¸ã¶[ÕA""2(0—öæZÚíø}éö=XUIáÔ¢!—mèà¸Gêú‡><á†#=Ÿwœ»„sg 8MÜþl–gãj®£ª]Ó…‰ˆˆˆˆˆˆˆÈä9ÊÑvœ£üD¼wè0##0tCkü¿Ñ;ÚÐavv6MMM˜¦I  ==}È@Ó4iii!;;{LëW>Ç?ž|ƒš¶IÓO(; "mD“˜¹†sò+xàçà¹Ý „ÛñúK[¨‹éœK†ÓƒÝzˆ–ÜóøÂ/âñ¿ÞͧgîâÏÜÀAç>~ç]\;¿€e7Ü˺gŸæŸ·žOA¼’Ç~zµ­â«÷<Â?ÿt;ÿ–û wýðA6·NܑʺGç;–ü,¼üÃ,o|”ÿy¾šHÍ üáo¬øØ»)÷õl ÓÄi¤³ìúßóðË)(û0¿}|/¯½‹O\x.ùõëÙt(†mÛ´W¼Ì«uÍ;6°»Ñ¶ãÚü<59«9kº¯×úÃÕÖˆûÜ›ùûßÿÈלIAwÈÏŽS÷ÒoøÚ[Xþ­{øñÅS1#{yä»?ä±àUÜýÈ£<ú“÷üÛùÅ‹õ$M'ñ¦JBçñ¥_ÿ•'ÿþ+®›±ßÿúiÄlìd=~þu¾¿!þô/<ñØ#üî³ç2Å `c·î1éo9Ñ32¸ëÎS<­ˆÝ{ö²k÷¦p×wêšSDD¤¿öæÚÎWb#„ØÃ†UŸwþJŠæ h°xæâ·çOteyY#l˜——7)ÓíÁƒE8¡q""""""""2yø¼c7"ž×=ò°,--mC/4'þ—z‹ŠŠ¨««£¶¶–ƒRUU5促R[[Kmm-S§NÓ: «…×üÿþ¯WpùUŸâŽS¹üš+™|e\úùÿäâÀËÜuǹò_>Áwÿwqï"""cΓÇâÓ—2Ý¥5œÁ‚³fám®¡5£¥®ˆVG-++9X×Aë¾çX{`*ÿú‰w1ÇÝA›•ǹþ§F^æñ79ñ?i´°³Nå#ï/âÍîãþÿ¹Ÿ7¦¿Ÿ. 2øÎÛ$­´Åm I¸µ™ææ6ì¼¥¬É­å™ÍÕÄ SñÒÄþ]<¿¯5l^WMöYË)t²bOsÊ ð:‚Ì?e!¹n€õ¯ÜÃýèu}î>¹ØK4fѱ÷o˜ÇÕ=—b¯wúÙ\¾Ü`Ûú}´xòYºjå!'¶£SÖÌÆÓXEs¬ºÍ<ú²ÅÙŸú(o+öå"TOz×Kð×-Òÿаm¬¤…Ûíî¹Íåra[ œŠˆÈè477 ¸Í9Šñ·Þ¾³›ÆÈ_(îóÎá¾Ê74Ø´{Ó€Û*jöº²ÃÕ“²ã;ªwñÿÞ„SNŸÅ”®‰…Ä AæY‘É#9–?¥€šC#¿—‰%F½ýHGoÚä™8 Q^^Îhhh±}vv6sæÌ!kˆÑGÌ‚ó¸ùç¹!k_¼kÅ‘ß3sÍÏ~ÞõË…ÜòË »~~'Ÿÿé;ùüÛõä/çÊ//çJâ"""Ç— Éh˜hÂ$‰[ †š%:i¤Ã“G#J$a1ÂV€iA›M­QÀD|etìS-wæ mÀNšL9÷£\òèõüê™Ù|êŽUäÚI"=Mí#ÓwMGÜyC÷h~`;óX¶:‡?=»™ƒ«fñâfXø«8Ýý$?~a? yÕsÃçÙ·?¥%%ìÝ·ënøwÜv+Ù¡:IDDR fÓý“‘d¿×‹#¡Øy´‹[q\¦ë„èx_f…æ^6ï®ÇWš7ZÏ–íM8òJ)ô:3EDDDDDDDä„’Jè°·Œ47-©Íë;™B‡ÝB¡!} '"’¾$ÇÂ0&Úçn½…†Ñ9ŒÑõsׂîÛ £_Û®öžŒ|ü±-ìkŠ1?Ð9b™Õ^Ëþ¡œnÃ81¯åîûÛ6¶m‘t–òo?|€÷&\x]6IËîi‚ÝÿgÛ6:×ÑÝÎv¿x5¹=Ç‹¯4ðš=ÿ(̦hå|Œ_làå‚JªCg³<߉e¿îžòŒ þõÎzàËüà»ù|ëk—2Ëgàò…N;Ÿ/ý¶ÏìH IDATä뜓säøØñvêß|dະ{úÌ™–EÀjdßá6¬âLŒ>]a»î–¶Ö[}ÜdÂùü—¿Ú:üÙÀ'¯ý {÷íãs_ú ¿þùÏÔI""2¤,ÆöæÛµÅ\ÎcÚVñ¬TìÚÓç¶£Îo´¡Ã6«mâþ‘ã ²lÉ4òÚªxâÙ—ù߇ˆäsvyåEDDDDDDDäDÓîUûTC‡""""'›´’s¸hz5Ýû¼VÝJ[Ã.ÿã}¼š¾šwÏÏÕ§úTß䪯¡uôoŸwttŸŸ¯wDDÆÀûÞ÷¾žŸÓ=nZ£c”Â믿^GDd‚ëØX–E2™$™LÒÔÔ„Ûí&öüÛµk·Þz«:LŽÊÃ?̪U«&\]δl²ý1êZI8üdgûˆ4ÔÓïü×ôf‘›aÑT×LÔvÈá ×Sßžè ‘þŒ >&6‰H;--­D3f¶nÝ:Þþö·ÛJ '¾Œ®h+-‘Át1^ÒÓÝÄZ[‰à!£ûç¤ †o @šË;AGK ‘¤Ã›NFšI´µ™Ž¸ ¸üAÒ=Í]÷px¬¯ÿºû/OÚ/ f¤•–pLÞ´4¼nGçtÚv‚H[–{ÀºLw€ ŸM{K;%9;ïëqbv"NÒ0ˆµµI‚1ÔºãÇ–B}ì±Ç¸ôÒKõ`"GíÚk¯eÆŒx<Ün7n·—Ë…ÓéÄápàp80M³kjyM )"2‘Ý}÷ÝäfPÛT=bÛ¤ Žãô°>`ÅTC‡;w¬lÀ퇛ZÈËÌùµh ;dãß®»Í[QŸi¦².cÜÛæ[³]Õ§úTŸêS}ªOõ©>Õ§úT߉UŸˆˆŒŸTB‡j°tþrêêjzn«oª%;3W("""'DG=5Ý¿´SWÓwt1+ÒHM¤û·8mu5´õ[‡ŒÒÖXK[ãäÙïcñ0NGÓð;l'Â47†»~ëýsçýÃ-„ûÞƒD¸™†pßÛbmÔ÷ïôáÖ=`yg--½WœŒÑÑ£c@ÕוŒ¶Òí»ïá¶fÂmCì÷ë;µMÕ<^Ú¢=/V©>t‚)…}گСépàÌô‡hjo´Á¾(™6mÐeƒ…C‡.›4o 婌ǻm3ª©–DzϓÊ'uÖ¸·³¬ÎP¤êS}ªOõ©>Õ§úTŸêS}ªOõ ß.µ¿DDäøˆE-Ü)m'È å¨ÃDDDdÜiêΉC6‘Ûñ vsŽªq¿±G:¨kUèPDDDDDDDDd¬åäe“îO²woÓ˜¯Ûíñë÷ j™¼<‘Áý4·· ¹<‘§£ó甂‡ç·Šµkר/®aöî¬àõªVÚ“üYÙ,š7•Ò€ƒñþîU¼ê¿yáÿ^`Ê»df^Z߃wèfÖýóÅževt3_ø{w¾D{GÃSL°ôCL;åø<>5?àÅ?ßNË`3ž¹–3ëÒ?PbüdÐ6†§˜¬òÿ¤té¥<#÷BKí6®ZWËY«Vò…\×Qï{Ã>ü\Ÿ}Wxn7Ö²?[Åê3Oçæþã™JÎZqW癃ÖôuµœyŒ5‰ˆˆˆˆˆˆˆLtu‡ë©Z¢12<î1]wÿÐagïwÍ,L}x-""""""""2^B…ù4¬ÓuÆáßãëBŠÁÃc ¶†[H÷eLì£`Ç8ðÆN^nJgÉòS˜æ‰qh÷N^Ýâ"óÔ)„´n«’ê§þƒí­ïbþe?"'3«õ<óŸlûG¾÷|™t×\f¼ç/Ì. XE8jAÓ m¬V:*~Á–~•íæt¯X6b9=£ã礦;£„{.* Ö21j™( æçæPS;üL$míMü™„2²hh~*gÿ7[:9ih”49šjYײ踉ˆˆÈØëÐ!@G[kÊmÇ{'|èH¶7±½Î xAÓNLÃÉŒ ˜1Ñ ¼ÉáƒQ‚g}ˆüPŽàY”œù)jþü+¾šò£ýr»™NZÉG˜9ëa^­|Žð²e¤{†¿‹Ûå%Ýå¤Àå;ÆÆ[ùÎŽ¶‡-l.]0ŸOO à#ÉC;¹sG%Z¢„my¡)üû²y\‘Õ5*¡gû¾­\]yˆ×:’dóùÈÒ|0׃ÕgÄCÀN°sÿf®ØPÍ›q7s§ÍâÆ%ÓYè6:kr»:k9 4×7Ìö¹m¤Ð!@ÀŸ 0bèPDDDD&?ØDDDDN¢×~N#1¶_Ê úðp2ˆ¶·Ðæ0/Ã5¹Æsåð‡Ù»ñ§Tù¯&¿ §fè#,ùà‡ðyLÇlµ°­#ó/·íyš›îÞÄ¡‡¸™ÿÞ÷óÅ…¦ùýL÷˜´Ôíäæ1ÞuúîÍ2Ø[±•ÏlÚÆ¬¬å\˜¬àÛ›«)^tOóã×ó›6òÓÍ!Vž5l€xkksøêŠÕÜLðÄë/óÍWv³èÜy,ê¿ùD;OÕ‡¸éìóXiÔó³¶ð…M^~·¼€ˆó§x¨2F‡EgðБƅ Ëx[†ŸÛËêÒ~UÝÄž¨50xhú¸`þl.Îô`PÈ'ֲԑÏEþ<¾}NžNs9áEâI¼ƒÌúÐ:Ž)tŒ:t˜8©ŽACCUUUÔ××;Ša„B!¦M›FVV–N^9)¸\."‘^¯W1hÄÃÉ%êÚ‘·DF^€–Ãmƒ.ëÕ§úTŸêS}ªOõ©¾‰VŸˆˆL^ž hsxØ6Ý¡C€hkÛI×GUUU”••áñx°¬‘Ÿ=eeeTTT(x("“ŠÂJr´,X€išlÚ´)¥çJ9¾ž~úiuÂ$áp8˜={6sçÎ%«CDDDä˜DZÛñ¦û 8ý´%ÚSºÏ`¡C`àTË£ &ã ®Ñ('ŽË‘L©íx´ ¤§‘fv` ¦Çia.‡…ËaK}ÝSۙ夙÷ ·àõ{ ð¥½y'I÷ ²2}˜?Åú':({ß/™ìuòV’› ÒNàq˜€Óe™Ú¸ WŸ6NðœCùwàüÛ‡yã óÏ¿–LŸAfù9ÜvË9ÃîC«×vÜÌšRȬ)…|dA=ß{âUžoî`¥u€WEü`ÍNswî׳µq†Ûmâu¸Ü&—ѹ>·‰itÞæ3zýlš‰({ÉÎÚ±i­o¦ÖLc^† ŸÇ°¿ƒ÷Ç­ei2îÛU}ªOõ©>Õ§úTŸêS}ªoüëKíï#ñ8i.WJmmâñ(sæ-bÏŽíïJ:¨­­¥¼¼œd2õçC¯×KCCƒ:ODDN Éd’Å‹sÚi§©3DFÁ¶m¢Ñ(‘HD!"""ÇÌ›î4tØé Ó›–òº¤óóó©©©IéÎC…;"Ò¼ÞIÓ¡®ôlfúëÙ²ã0¾²|2í6vïª'œJ¾Ï÷zŒÀL›dÓó_g¯çKL: ´WÜÃî×w‘6ÿF‚>p\EAÚ°ãÉÛ0Ïørr¦àH¢e×T6RpÆ|\<t5xO¥ôÜhúË·ÙñÒ<–¬z¾”ïm±oÏË||»›kΘDžëÙw17è%£Ý…meKK”Å™6oîƒïîï ’ž$~4_”´Úyô½¬ÉœÉüx ?~½_áR–¿ÇNDDDDDDDd"ê:ÌÍQ[3\ØÍÆíôô„%u£ X–5î#‡%>Æ}ãIÎüÚÍ\XäÔA‘qcÛ6áp˜pX_h™ˆF:„A‚‡Ã…cí1Ü~÷ˆ+L¡C>f/œ½ýëŸ?@Ù¬*Ï&Ã| ê1rÉ=ë^§—ÝO_ÆÎ–l\¸2—“³ì×Ì]¼€ïLf¿ëפ½p»þöK6…ÃàÈ$-ÿ Ï»›S2°j€øìyp.{l(DöÛeiÖÝ’}óÎÜÀ†'¿Æî)å,YPBjÝaR2}_lÛž~œÿŠÙøÒ²¸pþ®Íõž5—koâ'O?Îí¶‹’üiüË¢Bþg{ b6³FÛ_î .Èjç¶þ“Ý–‡¥¥óùÁÂ\BÊŠˆˆˆˆˆˆÈIhFa){îrùð¡C0ìÁßT©9TCþ”|Jf/`ߎ-êì~F;m¤¦+‘Ñjko"àÏ|ËëÕWZS NV¦'¹‹æ13áÀ0RŸBùø™iä.¿“Üå}oG-ܽÒ¦ÿ4ŠÏ½Ÿâs¶33ÿV~ê†!7ŽZ8=7°òßkã!mÞ/8­ÔÂ4aTLGo[´‚·-d™+w-YÉ•§õ]ãUe]?øgóà%³{êðeÍâwGK¸ç¢’žŸqnqçTq§˜zd‘“Z[s{Ø›rûHGÞ´ßdnll$+«ï·U»C‡À :¬¨¨`Ç®Ý#¶›=k&ÅÅÅC.툇 ŠˆˆˆˆˆˆˆÈhu‡-ËÂ4ä¥\>ñp€û˜V\Ò³¬±±¬¬Ð˜Öq\çÒðº3ˆÄZt´EDDDDDDDDÆA UûÁB‡À€Ðቮ¸¸˜ŠÊJ¶m{sÈ6å峇 Âqñ0v˜—º›_=øU1/SçÌÄlrpÁ7qI±“DÓVýíoøóÓ;hHº)Xz ú÷+YYä%åÉ@Ú¶sÿm?àÁ—«‰i…Ëy÷Õ×rÅ’,슿ñß߉…>¶®]Ïþ°Aúô³ù×Ï\Í…³üÛ¡F9ñ(4-"""""21ô=¡C Oè8êÐaɬöíÚ7è²ãúÎB‡"""""""""“—Û6ˆ'GÀdÕÊ•ƒ†ËËg³ú¬U#®clGùƒO2=½ç~þ-þç·Ï°ø¦wRä¡F9!ÕÕÕ©DDDDDD& ôÌ,Z›GuÃ{˜·‘†  ÁÃÌŒtšZZÇdg2ZÚÚtTEDDDDDDDDÆ‘Óuìë‰6ÓKg²ïî“¢ß ¦:„£ñpÈðaÃ6}1ÁÊO]Åš™”Ì,"ÝÙêëØýíÍçÒ›ßÃ)…n ƒw|àƒ¼ö…_óè–˘|˜/~åt¯>ëLn¼ý‹œÒo3ÎìEœ{^÷oœúŽÕ½ü 5­‰Î›Ü9Ì?ý4æ¹L–Ÿ5ƒ~€¦ņ¯QDNL6lP'ˆˆˆˆˆˆL@£ D"<>ïQmo@ððXB‡¦ËEõJò ò:y ¤: ¦ùiîh¶M*¡ÃH<×ubL«Û;|8šÐa·ÑŒzØ:œÞb-‡¨Kf0/4øtر¶Ã´»ó(ÊtY_ i[;ð®ü?yäcë ÷»ÁêàÀ å÷÷=Äúý] ½sY=DÒt:1±±S¨QDN@ÉV.¾øbõƒˆˆÈ$´víZu‚ˆÈ jjQ1U•Guߣ  xg«|á’”ïÌ,èó»÷„EDDDDDDDDä­MqདB‡©*t˜œ2)ûoÕÊ•¬Y}ö¨C‡¶mcš&–eøÏ4MlÛÆ0ŸËÆé âO4°¯vð/w»ü¹¤ÅSÙë¹Íj¯¥ªÕ$3ägØh¯PaËæßrË]¯2åý·ð«ßÿ‘û~ø1æf¤¶¿#Õ("'«µR """""2ÁlÛ²yTíGóÅÙW_{€ƒÕU=·56vެ8àý§í›_KyÅÍMÕG½Ãñ¤cä´ÌÔ:ãÛuÔlç±ÍMÄú/0ý,X>yæ¸Ôî÷ްÕñÕ¯þ”ƒ{_¢££Û™/÷mL=å³L)œ‚ $߯kýmýÞL6ÜÅË®gÖŠËð»ºß¼´I¶>ÍÁ?ãÐþ„#Ii³ÎøÅK.'˜ÖùíèÄ¡›yõ±É»è~¦ç¤KX]o€Z}–Yw ²m®¬3™²üë—–0ÔQŽÆmÀ¢¥þ >þBgœv:×g»†l7œXÂ"ܲ›l¬ã‚ÓWpUÆÀ­ÆZ÷q͆ƒœ¾lpWr͆ƒ¬Zq lÛRÿ{¡Ž•CÔt4õu÷ßHRYßX·S}ªOõ©>Õ§úTŸêS}ªo¼ê‘ñã1'FµÍ‡&m–•ÍUûììlššš…B!…ÐPŒÅb466’=h3w ,ý·ÿò·”¥ý++§Ôì>@K× Èþ™kx[ñüå7SrõÌvW³îž{Øä_Å—„†Ü¶épãJ¶R}¨’íMQ̆z"®ŠŠrñ'ëØúÒkTGRÛç‘j‘™9W """""òknn$Ìêù=˜ hF1•{FùÐáè›—ª¯«';'›¶Ži}g¶Xºd)…S{nËÊêÜö¨ç?™?k[wm9æp9’¦]°p—vþK80’íìØ´=þÊ2m\Fr\êóõzGØjzÍý/CgÎÅß!;;#º“C¯}‡]}€Ø0wzI·éžËŒKþÂì‚@×[iØýsv=u#;|¥¬8ãœØ$ê~˶¿þ€ðÔë˜÷ÞŸÊðÒZó4u¿É–GÖ3çÝ·Q”å%î20 p¹L|ËÓ쬯÷2¯ÝÛ6m•tl»žMOOèÌÌó±·>IÂm`N·Ùgÿû·Žeå×ëñyfðû‹gŽZ8¢&¦1tÛ„ÛÀ¶¦Ñ××Ý#³Æ½êS}ªOõ©>Õ§úTŸêS}c·ÝÔ¿!'""ÇGSS#™™YÇuY9ù4ÖÕ¨³û)**bûöí$“ÉaC‡ÝlÛ¦±±‘9sæ ÞÀ qÚ'¾Æ'îù|óßùi«‹ü’|Ú’]ïzJ¸è†Ïcýú×üðS¿§)é¦pù¥\÷•ËY˜>ôvìù¼}ÙŸ¹ýæëx´ü#|ï«àý›oç7×]ÅdsÚ»Îfzæ®Ôvz¤EDDDDDDDdÌõv«­oRŸn¹ 䦺¡s˜¾¥ O¥âО¡Ãþš[L•1êàáX„'¶$ ûx#–Å™K²H3Þ‚¬Ô¬ÿ>uÏrêŸ £{Ð=ç|rNùžðål{ý)J¦½÷`÷7Óñ˜™³áÕŠçèX~ Æv*Ÿù­SnfÅùï!­+¸êÉy'³.(Áù·açºG]x%®£.ÜÀpM%gÁÕän½ŽÚÊý”äÍc¸±-Ý./én.Ø16îÜÊwvÔ°=ldsqù<>;#I*ªvqëÖlh‰¶ä…¦ðïËæq‘·k vœíû¶ò‘ªCllO’Ìç#KðÁ\VË>>þl+O]ÁG½]m÷lâŠÊjÞŒ»™;m7.™ÎB·ÑY“ËÙY“ˆˆˆˆˆˆˆÈ$r¼C‡À€ÐakK é'}߇B!ÊËË9pà #¶ÏÎÎfΜ9=ߌá+fÍ'¾ÉšOtþÝý_þÖ«˜]ïY:C‹¸ìs·sÙçFQ¨3—•×ü˜•×¹©ôºÛyûuƒ5¾„ïþê’¾çØ©_䧦^£ˆˆˆˆˆˆˆˆ¹Ùé£jß:¨8´gضÝ_vîš!«Á<4Ý&Vìä"+Ù^Ç–ª8…s (p¿55Ø­¨ªJZ}1éýS€F>¹çü«Œtœ& =k‰mm$Ùø‡êä\°º'tØÃ5—‚Eg°÷É¿Pßò Æd/ 0´ïyšÿ¾{‡ìþËÝÌïûùâÂÅþ4¦{LZêvróÎï:} ÷fì­ØÊu[ß`NÞr.LVpÓ«‡(ZxOóã×ó›6òÓÍ!–.ŸJ@¼µµ9|ãÌ5üÔã‰×_曯ìfѹóXÔóñvž¨ÍæëgŸÇJ£žŸ½°…/lòò»åäyLóû™>Qæ$9ÎZ[;HOO;ªû*txD(" §µ[´Tí¤ÞÊ +Í9A{`2Ô("""""""ròHó;éhOÓ:úÙÙjèÌö¼ûS6«”»öŽ:tèŒFIx<)µ5&Vr"‡ÔUVÓèÍgYŽ›·êK¹‰¶-„í ƒYƒÖ`83†ªÒN6Ò±ïnvínÄ¿d5i.H´¿A”¦K·š¸2æãµ¤¥½‚£Þñ$Vd75[ï¤61Ÿ™EÅdä”së-«´ GLÙöísò8Ü¥Ý2ð8¸Næ”.å‘Âîv¥üúâÒ#+ð‡8j€‡*cttŸRŽ4.\XÆA7àfui¿ªnbOÔ<4Ó¸hq9gº1(ä“ kY÷Ê^êÈç"7­ÌÁçуˆˆˆˆˆˆˆœx23‹hjªìsÛцåxJаe›3Y6;“ð®µüæ·›ðžúyæf©FÙ±†‡Ó“_[ûÄÓzƒ…#m¼ï€Û'vèìH+{j“„fe|+gÙµ“`÷MÿÅ|…õßKG÷ Þ5,~ÿïȈ¿ÁžçÒ{ÐKÃ;‡¼Ew0gÙbœ@ÒŽccbC¥ mìÎÿ`4ýõß¶À›s%o¿¶@ IDAT‘âߨv;'{:—^á–ÇãçÁÎ.*ä‚)ùœá11x´…õU‡ÙPßÌ®–VÞlj§#3ÿÈ n¦yŽ8‡éÄEزàtùXpöÜœî’oW°+’¿¾-"""""""“—Û"íœê·©©•Ì̾_Dmjª$j>5U5Ç´+ƒh¼¥ç÷4ŸŽp¸O›@Z@䨙ÝÇã?¹ƒÖ%pd–rÚEŸç—.'ËT""""""""’ºh<‰Ç5ú@ܬ™eìÚ½€ÆºF²rŽ|Û´'aU45/¥•Åã-¸\}§OÙ·/%ÓŒF7XèÀŸæ§½£}Âvp¸©z,Îò`òÖ…$yxÐÚÚyß6wMû6g_ûmÂQ óÐgXÿxó‘;¸æ2ã=avAÉ–uì{ê‹TÄÎcÚ‚5øœ½ÖɃ´´µBVÿé^þ?{÷'UyïqüóœéÛw–m°t–¥H‘" öŽ-vcMLLnl‰åF£ñš¦F£¹ÑFMrÕØ[ŒX± *"°°°ôíevÚ9÷igΜÙˆ üÞyvÏ<ç9¿sfVfg¾ó{t­+RI~^*˜ƒFˆh4šQ›mGÇÃርóœ®pô¶[£--h`¨>ì/„B!„BÑO%B‡@Fè0aWC‡@ZèÈ´w¶Ë²Ó4üS/æg_,5 !„B!„Bˆn¹•ÊòšßæÍ›©¬¬ìqÍ™ƒéLÛöÉòåäxÝi¡C05‡·WEZC‡@Zè°;ý9tZ:Ñsâ÷|µé3U0›Å矾HÛÐKÉÏhÀgd»ûqÌaÄ1ÿK蹋Yú²‡©']E±WÃQ| •¢öÓÿ0|àY䘬‘ÏÙòé{•ÿMI Gçh¼Úã´µ6cTš_œlø‚°k8y9híù\òFÌíq©åô“wRURÉ%•|}l?m onï`º^ÇBgwÍ=€îX-oo Ói°sÑp+;Ãç šÛ›Ùªríuȉ„B!„B!„B!„B!„{P74¶ †ÂQÜ–ˆz¤ÍãF†’Û¡C;»uÁ‹P{(íû¼¼\ªÊöÿ« ÑÔÅ›ïÃóUw½Ó†RyÈÐz¾x›6­# ¬¦yåOùôWçÆã²/Ty§3xÎ÷)jºŸeï½FPœ5TÍ¹Š‚-?æÃWÿÀŽÆF¢ÑNBÿaÍ+—²ºyÕ³O%×*ï`(¤éÝS»n¡H=¼¶5¿aåG_3æ< }»û¤uÖ­]ÈQ/-噿A=ÊÖ¦–‡]Œ.ôRàv¡‚í,k ÒébéšÏ¸c}']z”°±3÷wÿ\VËÛa›ëùÍ'Ûñ Â4Ÿ´<B!„B!ÄÞÍçÉÝ©ý¼ù=Ra¹ÀB!„B!„BìåÜ.m6MÍ¡ÃÖö@·s8wgA̞Ϊ?N~ßÞ+nã¶MýÿjF#´…ž×î½(;I+üάfóÒßS÷ŸSYÞÚ@T+ÀëŸIÅ´¿0~Ì |Nˆ´ØïïðŸÇ¸ÙðÁ7±r` j†àp “ϬfãâûYñô¯è ÑrFR<ê;L™{6þ˜s'äñÏ[©T÷õpžBNòwð«W_eîáÀáã¹{B)~É !„B!„b/îܪ#]­m=Ž0l;j×'¿/-Äö†z¹èB!„B!„BìA>‡@4°Ksäçtÿ悼î;Ó©Ã?¼Ç~q.—ƒp8ºË'\>¨˜­õMüý±ßõ8>ªk84}Ž‹D5”b 7§ç6‚Á°‘µÓá—5®+¤£”ÚãÇ•ú¤>©Oê“ú¤>©Oê“ú¤>©oïªoGKßÛ‘wvvR^^.¯!ÄnpÆgô˺®¹æ¹s„¢Ÿ3 Ã0Ðuh4J4¥¹¹·ÛM0LþY½z5·ß~»\0!„b/tÍ5×0bÄ<n··ÛËåÂétâp8p8hš†R ¥¤cBôg>ø`Ú÷CÆŒ¤nåš^ï¯t Ã&Ëu9q„S­èÖ®]ˈ#ÒÆTUT±qËF ÞñÐéЈDÓ'sŠˆŠ½i´;B‡@2tàrônÎ==Î0@©¯¦>Ÿ§7+_ë{|œ®ƒ¦I}RŸÔ'õI}RŸÔ'õI}RŸÔ'õõ4n÷üî(„b÷00Pd³(7·”ŽŽí8½‘.].šB!„B!„{ˆ½‡Ó—Ð!`:\QƦ ©•­¡C :$qtkè@óåËý#„B!„B!Ä^ª»Ð! }îhj’ ,„B±—²ërj÷G×ut]Ç0 ¹hB!„ý޶Ûg4‡{Ùí†PWkÖ*JËÙ²}«ÜB!„B!„Bì'<^Á®XwÛÅÅrA„B!ú¡D¨°­­mÛ¶±}ûv6oÞœüzÇŽ´¶¶ÒÚÖF ÐE   ‰D8\N^¯ŸÏK~~>ùùSZZJii)¤´´”²²2JJJp8²4«B!Ä~ÆÙÓ€Žö6róÒ»îjè°æÀäÊ !„B!„BÑJGÙ?) !„BˆþA×uZZZX·n+V¬`åÊ•|±z5kÖ®¥¡±‰.M#äö¡çäBNä@‘rËPÅCAi iàt‚/7öµa@ ¢ÐuÀ€®F{l­ƒÅË Ðjoà à ÉÏñ1tȪGbôèÑŒ?ž#FPQQÓé”;J!„â+fè.”ÞíóöøLÏ:ÌÆípŠö®ÀÏ—,“{T!„B!„Bˆ¯Ëã"L½ž×]èPìYÔ××ÓÐÐÐíÒ†J)ü~?ƒ¦XºP !„û¼h4J]]K–,aÑ¢E|´d µë×Óf(ÂÅ¥僠¤5g<”V€¿\. BÁØ$¾p8b_w ‰}c vvÄþv¹Àã=ï‡!Ø•šC× G„ÛZhß¶…M ÛxoóXúÚŽÈ vRî÷sàäIL›6)S¦0zôhòòòäŽB!„ØÃ¾ŒÐ!ô"xhLj†PwÚ¶Þ†û«HG#VÏêÆ ‡‡²A9¨º„BùŽB!„B!„Ø‹ä¹imõ8Î:ýGSSµµµŒ7Ž &ô8>ðÙgŸ1räHŠŠŠä !„û˜­[·òá‡òÆoð΂Ô74БW„Q5FLBz2”UBn>JÓb¡A]u1ôúb“$Â…zXÙÈ2T %º\±cNjØ(ÈÍFg;íM;hßRÏê-yòÑ¿áºë¸L=p ‡6—Y³f1räHéˆ(„B±‡ÓÒÔ´[æÚ©græÐa[{ù½ìŠØoE;ù|Y<™{HyáF>ýt= އKsB!„B!„b/Ñ›Ðá—¥jøp6ÖÖʰ êëë©®®Æãñ ëzã=ÕÕÕÔÕÕIðP!„ØèºÎúõë™?>/¿ü K—/§ÉáÆVš}  ù…(C‡ ©‹¡ï^­â A£»£¨XxP™Æ'7©yÒˆYЉí p{ ¨ŠJPÎM#ÒÙΖëù×çŸò¯ß?„ïö;YYÁQGÉqÇÇ„ ðz½òB!„ø’í®Ð!€3Š£›O³8]a"a—¥€ ‹ z:ì×ÅpÛå#‹ñ{(¯Ÿ‘e›y§9@@ÏÃ%«Ì!„B!„BaËërÓŽ…7ÖÖ‚¦ƒ./¨í¬íÛ·SSSC4íý}àõÒØØ(O!„ØK†Áúõëyùå—yîùçY¶z ²A¦¢.;|y(§ÜîX¨ ÜM÷j¥ÒC…¦¯Uòÿ¬û˜nLäÍ™D†9¤h f„mêÉ͇a£Pƒ†Â'Ѱ¼vËÞ[Ì}ÿÁùy{ÌÑœzê©Lš4 ·Û- !„Bˆ=¤¡¡‘’Ÿ÷s:zh¡m ÉÐa_äçåÓÔÞBq^lßPÄÑã>Q]Ã0øòÇ©\Js Voha»ÇC^¤™ÕÛ"xËòpèBúž©¯#Ðó'˜C^|Ðy·Ž †t”Æ?®Ô'õI}RŸÔ'õI}RŸÔ'õI}ûV}B!¾z¹Et4·ÚÞV˜“GKg;………´´´àÍË¡«½³Ç9¡Ã$ î²¾„!ÖÉèæÈ®ºù £3JnN,d˜Bö.ÜiO=ÕçÌaDu%[—®ãw×à*®âСy¸Õž«OÓz3—Úãã”öÕWê“ú¤>©Oê“ú¤>©Oê“ú¤¾}«>!„{ž[AÈ”GË:hélýÝÒ@W{'¡PHºÍ|ô>&ú» ¢ofÁeaÞéÜòÇ9”l_O»o—+dëü[¹ñùnøÅùŒöÉ}&ÄþCžø ±« à¶¶–'žx‚§ž~šu0Æä¨oý7Å¢yš–ýCSÃî²}ߨ5%LûÚ4¡2/¹l36ó@É ¤õ6#mÞ,%'ÆLDŸB8âÓ³ì‰g¹÷·¿ãˆCfsñÅ3}út<<€„B!âzzõ¨¤¢‚†-[2B‡­m­äì–z æ Ñ¡t:z:,öåÑhO~ŸZ¹½ûÔîžílàÃO68’cã´ðÅÊu¼¿ÂÁ‘“J)ÐöL}>Ö«‡Íž§ë±ßm¤>©Oê“ú¤>©Oê“ú¤>©Oê“úº×·îLB!¾|¡nòhy9.òr}lÙÞJ8Ô…Ëí¥«½o^NrLO¡ÃaC†³®®V.t\]]«V¯éqÜèQ#2dHÖÛûÚñ°Ûàa8@S§‹ªc¦3¶¬GY±ÜQB!ÄW ‰°páBzè!þóÎÚ+† æÌƒ SQolPg‡e‰‚ô0`ÖF'*‘ ŒwE4w„îƒvÛlŸZ(ûo­áEË8ëÑ ó2І¥v䢚S¦uýžYò>ÏóÛ0¨‚o\z)'t………ò€B!„èAÖ-¶ÛwWèz<´ÓÚÚJA}æÐáÞÁ ³±mZ1³‡S 9P?ŒncÓ’ê;J(È—Oð !„B!„Bˆ}K{g˜öÎ0.wìÍnsè0¡+Âë‰Kü44¦º&Jè0Ý!C¨Û¸‘Ï>[™uLMÍènC‡°;v­æï7ÞÀ_W‡aÕåœväO¹–{oCqór^zäOüãÍU4FÝT8‹.;›YU^¢uÿä¶_.bàË_{õEþÐ9œwÕåœ0 –?x-7ý³ƒ¥\{öÿw,—ýò&&­{’{‰O¶†À;”#¿u—U…ô&B±? …B¼þúëüáðÞòÏOšqÉ÷Q%e±ÐÛæ_Js‡@#½¡mÃäXëó׿I,Ë2'—F6ãuX»ö°l³5ôhÙ'ñ•a:¿´Ò’5(„:îkèGŸÂÇË>⪻îåž_ÿ/]ðuÎ;﬩ÍÜCéqŽÝÖñÐ;Šsn¿ÏM?eÑ‘·rÛqU±„CuüóWwð'påý·PãÚÌÛ¹›û~&ïß`<lÞHCÁ%|çîï04¿‘ø?ò“n=ž.»ŸF¦/µÙð·<ü>οƒGˆ¶}% ¿h¤=R…Ç)?KB!ö?áp˜×_û÷W®BŸy8Æ5碊ü¨PB!ÓZÉæ¥ã¡Àlë(w÷þe2ð§RÑB•¾Ý~yes¸0=5˜V†y)fÓ FF]Yº#š¦7o2’s«T'D³Ü|Ôì#aú¡Ô~¼ÿùóßxè‘G¹ô¢ 9ÿüó%€(„BˆýÞ®„ÇÁgkÖîÔ¾}jå·½¡¡×c÷šÐ!ŠÜâJf>©m¢5%ÔÙÌŠÕ;èÊ+¦2Gº !„B!„Bˆ½_gG ÏûD'¿nlêÈ:ôù‹Ò¾W(.Ü?ß>dÖ,Æ“¶­·¡Cˆu<ìëŸn—[¶>ÖÌçßµåœzééLX@^i Ç^p!;ßå¥e±÷úÝ?s㪊È-Á´CGàjÚ@s—ýœš·€BW˜¦mÛh‹¸(r G9‘  !„ØÏD£Q,XÀ¹çÇW^Í»ùåD/ÿ!1UäOl´cJ¹Mþ;&„B!„Bˆ~ ¨t<ÆÎ¿Rá”O” !„b?³`Á¾{ÅÔW ƒo~UT’> m9dKúP×QºŽÒˆ·}10 Ð ÝÐã[LÓ˜'UFZÄÔfS¸Ïö©Y|ß´Y-³[óÖ¡Ê8´•mf2³2—ZVÖyìv3`âÛ´†–¥–•u fÓ*Ñ[ÒÚ±Ñ냓ÎaÛ‡C¸üÚëX¹r%W_}5n·[ôB!„اtÂ=ŽiîhM~]3¤ŠÕ›ê2ƺݴ„Ò»ÞUW,ÁÃý•¡4œÖ×^ÃAQFåìÁËnæÝùKXÚ‚¼e¿MÞ¸˜gZ'pæÁ¥¤­ÎíôP싲ôó:Vú†0ÒïÀQPÅi'WÅçmå£÷W²68óN,§(ÚÂ'‹Wðú'§Î¬à¸Ã«yþí­ ý¥ž€—rÄìQ¼úÁ¶äíFWï-øœ Å#9éÄròƒ;X¸p¯u)N›QA¾ùZúJ3æoßtµS¯Æqʉ~œº†§«£‡kco.Ó8îÀ2|ÖûÕ¦Æw?XÅKKœœ2­ /@W ˶rø¡³â ±ö“Oxë£uRm»¤µýOªýGÔP呟/!„B!„B|õv%t¸³ma|ù.¹øB!„Ø«èºÎ_þò~üó_Ð6ëhÔÌÃÁëM¤”)»§Òƒ‚(]u<ÔÁOê醎Ãé¶ÉÁÌ¥‰•¹» 2-£¬l:šjÉlv˜Øh¤ï§lŽk=/e /ZB–iK+«ìçc™[ÅRƒñ` %T¨”)Ø«ÙH[zZ¥ ÍCzšÓPÉûÉH«ÉMCM9˜`Y%w=ö(_|ñwÞy'ÅÅÅò „Bˆ}N^N í =Ž3‡ó‹óikjÈšIC6ÀWD…³ƒåkvÐŒîjcum-Оþ4·«ˆYÇÎeG` ¿ŠSN9‚ïΛHu‘Ÿ¹ÇÎYSJÒC‡Î<&NÍHc óç¿ËƒÏ¾Ëóï¯äý54‡cõêYÕUÄŒRæuàÎõ3a\ކÍlèózÒíÛë©–pðÄ”ûœäU0sR9ÚöM¬o×{7ÃÇàá%{ÜäûœôÔW²»sØ0zUãÔñåh[ëS5j>FÊÈ.w.Ç•’i§%¨÷þrd™£©/s!„B!„Bìc$t(„Bˆ½M0äÖ[oå†Ûï¤í¬ËP³Ž´,­¬2W ¶æ`è tFê‘ZnYY[š—NtR´[Ù. ¨l–5VÙ–P¶)>cif›}m—6N}Ÿ¶´rÆzÇY@Væ&ˆÊ8̬1c9ks=É%šUÖeŸÍaÆäö!#п{#ϬZÏÙçœCmm­ü!„b¯åõ¤>,3hPyòëîB‡¹žÛí‰ÐaOv{+¿A¥ƒ¨ß^¿W]xå.äÀIƒYòY=o¼³å-`ÔðR*Z¶¢©¯¢"ƒ®¶VBÞr \nj¥Ý‘‡ß«@·ÿ”»°’Ã*gfk ·4P»©K¶°tUGÌMIK­¼ô¯­–]si F¡O¯ët¶vaäTRäN] O^!ùª‘†®(ô"Óêp’ïÒzÌnΡ5%Ѭ¾Ûs È'^£ pº(ô¤öS'N}Ê›îŽ9„B!„B!¾dn¼„èúRæÎõøèä" !„b¯ÕÖÖÆ5×\Ãs~Œ~Ùu¨ÊÁÐÑ¿U¥7 Lû"þ­9¼§ë¢Ê@¡ÐãË,k†Â0 ÃÀÜ¢/µd³y©eӲũ5‡m:&þÏú攩Cb¶\¡%ÀkÙh:gË’ÉiS™‡"´YZ¹›®ˆ*14ìŽg]‚9ã>ˆ]»Œ«`¹ß ë{¿…ÅpÉU|ôÜãœyö9<üÇ™8q¢ü@!„b¯ÓL½îW_¿µWût;MÏgUü9jºÍÛ¶SYVj»¯ƒ‡ƒüÔ7néqÜÞ:Lpåà ˜q hM¼¶ÆAk7…L[jyyjyò¦gž­#·Êf©å$ _A1ÕÅT +¸…ÿ¼õ­©`ŽÜEÃ8å°”›B† ŽÏ£míc†Íï.ö›º¡¬ÝÙ3ç3 tÓÜvçÐÐÑ´Þר×âw õ}Èsk?p9L8l*“û4‡B!„B!Äâ0 šþ‚EO¡Ã¶`ùž\¡(>·£×‡“СB!öf;vìà;ßý.¯¯ß —]‡ò#±,qì §Ì¥•Sß+k'ÂøRË#Š“XöN'<4 -:4 0ofYÓrÇ0’7¥þ¶é`h šoKÌÿÚ¼*ËI£óu|–]:7-ã©£Ì8b"5¹©'ÐÎüb†8ø(ªðæûÐ:[ØÐ)· Sö”œ3ß®‘SèE­o¥9dà÷Ån ¶·ÐnxéuìÄü ”†B'lj èŠÆÙã9Ðs-´†yíÓà)3ùî”ô­m[å?Y~@„B±ßsx4¢AÝö¶>/µ¼qK=Uƒv¹¨p´ç/£zïº îò¸P3 ¯¥sà(¦,@k߯’5äTÖPìtŽî™ú‰;©«ƒAU.@g›Zù•.BA`Ø,wf~%ÃÜËyoÑZ¢c*Tè!ÒÕŶõu,iñ2´:_^%C=Ÿ²ð£õø& ¢ÔdÃç+xok‡RÃà¨z„Öö­7.ÓÓ¡ˆzúíΠÖ>ãÝ¥õ8Ç•‘l`ÉÒ­Dý£(w™Î%ñ„?’¾8;‹pH'ŒKË¡P °z͆zJðvðÑŠÚõÂ!•ŸýfÎÍHëߦÆÅ˶PM¹ ººaÄkˆí ŶE"FÆ9Ø F²Ï‘ØŠè±_<éÅ|v÷ï—©Oê“ú¤>©Oê“úöT}B!¾:þ?­iÛ:š(wÏ/æ;òi‹¶ÉEB!Ä>§®®Ž¯_x!Ÿy‹àŒscï,é·Ôȉ¤\ì{ÛÕ°Ý÷ŒXÇC¥ë84¥00oßJñK0Á±žŽ¨‹EE³žöM §Óþ˜v]3ò‰‰Ñ±€]Z£e·Ô²uN2ŽmX·ØuPTvûZ»#™Ë5Ûœ%ñë“mâ´¥¹v•XÖ9’4’ËT[ïS*uÜŒe—5 5c.-9¹|ïºë‰D"œ~úéòƒ"„BˆýZ´›üTŸ‚‡>Í™:ü|õçÔŒªésQ.G´ÿŒóå1e|9‹W|Á+«#(wƒ†Ž`î°rµè«Ïç‰Cm­t9 (Ïwà hÔÝŒ*vãóÄÞLŒKò”0{îDŠ—×òñ¼Œ‚椰¤Œ‰3'2®Ô?³‡géÞx­– N ”3}úpF:PÑ"Æ–×ñö{‹hš4…y£ó’]-¯±åL·àÐÙ5,\²–¿ºŠˆÓGåÐjŽª.£Ìg´t¦Ïx1h€Ë­¥ÎÇãgæÔ!¼µtϾÅ™ïgÌСT­ß—oÓ¦gDžfs]2k,¯ʼn“*àR„»šRi5„ݱmN§ÊœÏFÄ™}ŽÄ6]M£WóÙÞ¿_ò8©Oê“ú¤>©Oê“ú¤>©OêÛ}ÇíS[q!„{5t8tðÖo¨ëÕ¾;: G£¨pH.¾B!ú¥õë×sáų¼°uâY Å›¦$:ã%þÊX{Ø.t¨LÍãáC]G3t44œÊÀÐ \¯?ÁÙUëÈõ€a„¸íMžXT:ô8Òs*s©e’¡:ëŦñ†²ß7íoëm™ë&'—*Vé# »c›×FVØÛ¼,rúõ57Õ½Ò§–ZN-­è~e…ùb±=¦¡Ò‰(…š:›Žœ\®þáD£QÎ<óLùB!D¿R6 Œm;¶eloغƒ’ò{¬Ž>z$cÛ΄û…Ï_Á¡³+E(Õû@á—Á=`§ÿÆUÎñG•÷¸Ã[Ä„©2ajü¾ f¾AèÌ+eæ!¥Ì4ß§A=öÔڑ؃f2æ l°¹½ œÙsË™m™¯7û‚9œ~ÒPË ¼ŠáœpÜð´ù|c‡v{=ëBÎ.K ŽÏí*Æ' KßÖ›n‡Î¢¡œqÒpÛ9„B!„B!ú«Þ†w…Ëá‡O.öW¨±±‘úúz0 #ë8¥~¿ŸÁƒS\\,N!Ä>oÆ \xÑÅ,+(Eq DÂMoжI_²§_üsHÑ<0ÞõPF,|h(TW€AZr܉aT™ÁèOžfÕÄéK<›ÈÏ–€^FmÖ¢MË'Ф7QL[j™ø †ieåTÈÒH.-Äô0¤ùºX6æNˆdæ' ÓòÐiAA›€¡2u+L»F˜BŽæ¥© Ó²Íve–ë¨&Í Ã0øÁnÆápHçC!„Bô+æÐaN‘ÎæÀ Bûì3FŽIQQ‘\@!„û¬M›6qÁ…±¬ ,:t¹ jj¾¢²õÌÖÑÏœ÷KµHTñ®‡ÊP8Ðp:´«< š“A@MÁá ¬›ÿ4áS/5-7œHÒÙ,‹œÖ Ð,Lt÷K%ê’a»´.ƒ6©@[YÖW¶4´\€d=vuws\ëñ2³SK4›nËèŒHú9+P†Â°¿w3Ç“gÒ¡ë\ýß7âr¹˜7ožü !„¢ßI„ÊrülëlÜmó»•—Ñe{›؆}¾œ>ÄÌ>^B‡B!„B!„Bì]† ª”‹°«¯¯§ººǃ®ë=þñx¤ËÓ)÷œB!„B!„ûˆºúͽÛÚÞ €¿D–Vî/¶oߎÏç#öú×륱±Q.žBˆ}Rgg'W\q‹ÚCpÊù¦Ðazh0#ü¦ÌAÂôõy3liû§úî)ÀaN™Å;MUDtS/>3wQ8ÿo¨H„´¾{6ÝS‡ˆò”)$˜ÙPÙŸ£¥3`j_•‘EL•²Þ`'=hÍ/¦]/»òLË>Û.q­²5#”©ÈÚ½2¹„´5%id>P 5y­‡ÇåßûŸ|ò‰ü0‰½V{[³\!„ØE{øÐ‰¡«]>FD×m·;­B¡hÖIºº:ðzsåB!„B!„¢Ÿ t…ñy]½›_쥭ÉþSË+V¬`ìØ±½š§ /¶4ocC@î€~$öi¼®ëFöOÁG›WðÊcðäk+hˆ‚³d$SçžÂ…gÆà>fN#_äæ[ß`Æ~Ê©ÃÜÝŽíª›ÏC÷=Æ›+wÐU|0WÝ~GV:ûvÀæEÜuÍOx«!µÉá¯æ°3¿Å%Ç×P }É÷ŦsËÿ¼Îì› UÎ~ùx骛ÏóÞü¼`þ®¾åd¶üýžÿh®Ñ\xçÏ8c„‹¶/þÍã¿À{¯§) ®ò9ù’Ë9gV%ù±Ûèr Ä^) qýõ×óʪZ¸à¿Àë#-™–mye»àŸÊìrHZˆ-¾L²¿=ÞñP)pzÜtÌ8—ÜÏÔ!zr~ŸKq˜±”ç–§§æ5âË+ñ9TjZì“{Ö`_,dg` (ÆæU–¨Aúù%n7Ò¶‘ZVÚÚÒZ)‡i¤]MkBÃTCzÀ3µGlŒaí>‰éÊ~¿ärÓ–\§aî¤h:%#q£¿í ¹lë pée—ñäßÿÎðáÃåKì}¿+: »ðxäY›BìKݼ–“_ä§­¹1ùtÇ0`õÚ5Œ12clg(LŽÛþ5E§fÿÂIŸ^áСB!„B!„ý[oC‡@ÖÐ!ÐmèpCý&(»ŸÓõ¾„º ®ç?¿¹“ÿë:’Ëï¹IåNZj3Q=Çu¶Î¿•Ÿ¯á†_œÏh8«Nà<¡'±™|”…y§sËçP²}=í;ÛXÓ5£o»“+&ç ¶QÿÑÓüæ·wóPÉí\5Ó¶??XŒm|ðÈŸY\p·>4ÿŽ•,zá¼Ô4ƒ«î?…ámõ´; MÓÉs&7~g2Cò#l|ë~yÿ¨âŸqáXyaß§É%{ßâ ƒ{'ÞZ—þròR7fäÛì¾²Œ5âߨô¿“ý ±Ð¡Ò0”ÂÀˆ½Ã«šù£Æ°dÙdj‚‘ïÏ©`\¥Î‡‹ŸfcõxÈ-H;næ’Ä6µ™Îňד ªÌL`Ú÷Êf©eëòÈÉÍæ‰‰ù-ùCî8âÍ!¿dœ0µ]‰ðariòÄÊÊ@´ž¿õÎU©ãX:-¦­ó¤Í¯àèSY×ÖÂåßù}üqJJJäLìUòó iܱ•‚‚B¹B±ŸH„ — BaÛÐ!5tØ>´òóÕŸS3ª¦Wc;"mä:óûÕvîàÝ% ø'V3>?õ ²ÞÕÊg+6°b{€ˆÓÇ aƒ™6¬€œ¯àwèÈÖ»Yø{i5¿bç(!wà<ª¦]ð*¿éé¯A´õMêÞφÚèìÒq掤`øETt6Źî]>æ ©×PQV”} #¦žŠÏYKý+_cyñxúO)Íu˜î€µlxé >o?—©§]K±Gu[Ó‡OÝK»n¬qŸNž[Ùò>~u!ƒN}’‘e9icÃõ·ñÁ‹PyÊ“ Õïcñ?~ ãä ¹Gã1Ý·‘-wòÁ¿Þ¤âäÌ9„B!„B!ö%e¥lÛÞš¶­+Ô†×{oýú:†ÒíÝ…9‘NéˆÕôµãa·ÁÃÖu,\ãdêU'sð°X"gÜœ?îK>‰p€¦NUÇLglY1޲âÝ0©Âá)`ÈÁ§rÖ{ïòÇ÷×Ñ6ÓÏ~ýök¤‹Ö7ƒ™ÁØÒ"´Ò1T¾ (:`«JÈ¥„ŠøÐÜ‘'p¡é=Šê#Nçø×~Ì[o欱£ðÊž¢Ÿyúé§ùõŸ%zÉÕ¨’RvYþUˆÿ¿)ܦLøLƒRËýZ;꙱СÒÁÃX¯P 0p84¼³OäÝWVpLu ¹¯¦Gø7ñøûó1Ž8…Dë=C·ý§,­Ó`*dëì§2Š&= ¨l{™ƒ,Ç1l²z¤~™3…©³`ZRÑrí»iI™ ªôIRaF›ñvÛ•ÝvS§ÄÄ §Ný:>|/×^{-¿ÿýï¥sœØ«äæåÓÐÕÀívËBˆ}ШÑÕ¬^õEÆö¯›Î®Ðn?^Ÿƒ‡5£jÐÂatWÏ)Ç\g>7n¤ªªª_\ÜpÛ6–~ºžº®üæô.Ö|¶ŽÕª‚C)ÃØÆÒeµ|àªaÎ`/ޝ¢X×XFœþ4£+òÀéXÎÖEÿÍŠ¿…qÊ#Œ(Ï ";þÄÇÏßM`ЕŒýÚïðx 7½Eí»·ñá“ï1æ”_QUìݵc¾ô-Â'ÙïPŽüÖ \~HÏÜx]†U—sÚ}?å ®8àþðþLnþÙŒð4¼{7?UÁU?»€š>tDT–0E¤ñcžýÝïùûõ„ÜUÌþúwùö¼(r¡m,~æAzòêC^‰Öìà¸ÝÊñ¼ÄMÿó6ßœZ:ºyÑ\ÿHWÜñm2ò™Y¯W1ÆÆ¹í¯“; ‰÷–lƒÁ§òó;/e\²™`ˆuÏÜÌO?8„[~2!. sÞp3o»Ž»~0?Ùø?þñ«L¼ñçœ=ÒK¤y9/=ò'þñæ*£n*œÇE—ͬмt˵<¸¢ V|‹Sm.ô‡œû[÷DEc¿ „ÓÆÅ_( èFü6ÝÀp /¯“-oýùE¿¡¢À9.¨'¯KOz3.Ñã¿pìžùv÷8©Oê“ú¤>©Oê“ú¤>©OêÛSõ !„øê…ÃáÇ84'QÝþEF»Ða8Âå’nýÑníx˜SÃß;‡º;à?ÅøÃOák§Å”ª\4  R:ûÛÜùjÊÝM,ùë]ÜwߣTßu5Ó.»ŸF¦/µÙø" ãSG6Îç÷¿Ï€óïàÑC¢m_ÉÂ/iwNäœÛïÆsÓOYtä­Üv\N \×EÅ‹¯³°î$FT{AßÁgo®%gÆé í6t¨ ‡‰ê:z µï?Á£:™òƒ‘„Öóâ]÷òZÙyÜþÈ,üÛçóÛ_ÞÏ£•?ãŠN–ýù§üúÓ±\zÇ#T¡~ÑÜóç ;ußtw½&á¶&ónàáïç±qÕvJÓ^Éw3ðÀƒ)yá]>ÙrµÍ3ðEغì]¶ÏdZ•Bu¼ô«;xЏòþ[¨qmæí¿ÜÍ}¿“÷‹opÂmwùÑÏX|Ìÿpë‘h4³è—?äÏ%Wpû¥ãȾ€rº·þÁ‚Ðx.R)ÁC!D¿²e˾ó_ÿEÓ´9¨É¥n° »ËŒ©T/µSêke»n± :œèD ƒ(±à¡C)”a )(8h.o>»„³ ¶âÐá7ÅܪvV¿ù4Áó¿¡©´n|*±Ì0¤– ¶Û|^¦sMå(SK&›#v‰ÌžaXN3þ·¡Rµ(ëºÊ–Ž‘i%)eZþ9µ¬²yÙfÌs&VW6M]“Ó:>ÆØ=•‰“)i˜®”J¿É±ØŒ5+ò£Ÿù ~õÀÿRSSüyóäNì5ò ŠØ\ßB £·Û/D!öbæÐ¡Ï“C عKóõ5tìþסC—+p¸=¹Ý:p9z÷¢×î§ãò0iêpªœÛ˜ÿQ#G—#ö41l£KóRškàÐt”‚‚®õmô(eî/»¾Äƒ „t+4ÀéÒ’ÛbFPZ=ž _%=ƒ‚ÀìhÌ£ô¸Ã(ÎHŽeð¤ƒÙøú3tt} ±+ëµñy´î9j<õ‹_%=“ü¬ã ƒ(JSxÝ>—߸©ÙxŸ-ü=ƒ*/$°øÚüW1í…£1b IDATÀ 8£zÆþ%wì…lÇ"~,Ãû…Åe3.ìRh*~›®PÚ@*f]NhÁ5Ô¾÷”žpyNˆ˜ÆEëßæ¶?fkÆonÆín˜^dê‚Ùóyèzìƒm=ëí|»{œÔ'õI}RŸÔ'õI}RŸÔ'õí¾ãö-Ü „â˵rÕ*ÆŒÝçý²…³¾î%¡Ã~kg:fjäÕœÆ-Κ…¯òÜÓÿàgß}œs.àêËO¤ºd"G™[ÀôcçRµøC¶¶E ¨ûçš·€BW˜¦mÛh‹ eÈ9:ÑxÓæù®S9|ðs¼øÞzN©®Á³íS^¯+`ö¹UD—?ÄÝø§Q<›Ý{) ¼…ù?¹„ùñ›Ü•Ó9튛9ãÀB¨}‹ù £9ÿš£åWàŸË‰“^äïÖÒZ楅f}÷|[fØÈ*ò;X9šá•øÜ©%§TEøäÇi9\nKwCK÷EšÒq©¡éÉô¦]—¬_“u?k×DHýL=Ó–bN_&ÙÔæÐ4Q¢ScÚÖB,›U¢+¢‘~®É¥¢•‘V«a·5Ö a¢k¤å:OžÉöúõ\}Í5<õä“äææÊŸØ+äåÒÒ´ƒ¶Öfü%¥rA„b/çÚ…©6oÙBeEEìù›{’ÓÛÐ!X‚‡þœ";›{µcw¡Ã½Ž‚þ.ì‰}*I)0Âh¦væƒcÏ{ÝqLÓqÂ+XûäXÖš/¡w eÿ—a&¥=¨´ÂS}ð˼ÿÚb ¿A~oߎÊ~¬1SLÇêÓݧᮺŠñÓ³xÑM¬øCå¿CB!„B!„ØG}¡CŸ[#Òåâös†a i‘HÏ],ñpDö×­Ü”N=†c«çód[ÆOùöÞ<>Ž«Ì×Nõ¦nuK-µvkñ&oñ¯qã„l3ÌïwYf˜° 00øwÂ.L&0„,„ { !«Ûqâ-¶e[²$k_[RoU÷Þªº«%9±e%¼Ïç#»ëœSç¼uNõVý­÷Ë·cÇoä¶5x{æ«7>P¾4| ›xï?mâ]Cyô¶›¸ù¾ôõkYä°o_µ|+‹îø9Oî;‡Æ?õP¹e uÓU¾©Ëßõa.Þõ nýåj¾ú×Ë (pzƒê.à£_ÿ ›r’¿è]QïçhÏ(4múÔÐŒ±Ä$cMUÃÓ™¯IqQ·æ\Ê÷ Ûw °[_Ìšjhˆ/ÛŸeGÍqºÊÎáì9IY¥«¸_t/Ç£¬O‰õpí#Áòbœ„󅆓œ ‘ŽÇøÞWoç調ã+×,§DîáañÌ3ÏðïßÿOïùª$˜}QS9–Éf‹]»· ÈIǧ(71©o³µ¤Õ²¡£'q €–Îz˜úsh\Åsü[æG2ïÃn\èÙÏ/Ÿÿl~sŽ'rvtC™“þ) eØ‹ sßTŽ˜.s I+h#U`^fm’í&Ê< ¦þÀbWmÉ:hò;¶ý,ŽÑ*çg\“e²ÉÂ9wBÌÖÒæ·Ø.Ù8s³&ËUöm±í²¦Á¥ïbÛOþ/7Ýt_üâ§w#‡ œÁïijêé8~T„‡‚ axœ"ñìMªiÑá«E3_Hš®è0 Þ@Sªpº¨Dœ¸é“¢‘ˆ“P<ŽÙ$HŒé á¬Åëqãô/£ˆ ŽØ´Õ‰ ï#B-¿ÿµ9š×Ræ_½Ë®;ÆÅósš›êñ„ÞLÃò­ååÐtá._J‘§Š@¨Š“þ¨í.<–75–Ò|hDmïÞ6£è¸q8r¯P®þ: «pä±oÓoJÁ8Úò'¾ðåïríç¿“ów _ß6(æq‚ ‚ ‚ ‚ ¼n©ª« jš'Ë”'¢ÃÙO(bppMÓðûý‚~¿MÓ& Ùöïzš;~ôKžØÓFxœ‘®C<ÿ›ŸsïÑr6o™‹k¨ Wõõ•'zÙ·m'&Ò{kxJJQƒ-´t ѽ7¯ôDzçÓñ§xðñ}tNЊ)ù`b”È$âTh[ÏÒÙ~çÝü¶¯š-«jOÎÞÇ¿Œw~èb´Gþ‹»vcþoâ\ÿ‹üè¶ûØÝ1ÌD$L÷gxêå>ôÊÕ\¶Æà©ÞÎûºîáØá6†SšNg †jÇ ¶m;@ïØ(=‡_àémÇ §ž*šÃ+1‰Îãxù½“Í×ôpÕ®æÜP;÷Þù±æ4C`î&%žä®{ŽÜ|6u©KºÅ ¶rqã ~ýã_³³s˜pß+<üÓŸòbñy¼eyJe©ìt‡ù“X×Üò•[Ù¿ì#üï¿ÛB¤:aÑßßÏg?÷9ÆÎ¿5·y{¨æœ ~é ³3±E —³ºÎá‡CsPq¥H ÐUê/ÕTŠë9Pq}£V!ã‚*ƒyÛï†áAÈ1Vl m%”*•Ð$õ¿RæÃPf©`V;©”©ÞZŽ©ŽüÙ²hÚT*wvUÎü*ûŒyólµZÎÆ¢ ˆI•Í*½•²Ïä¨l»É>*òb¼çÿçÖ;îäÑG•'¡0«ì ™ ·»“îÎ6ÚÛŽÈÄ‚ ¼ˆÄ¢“×Ç_›êéDg»eÛi'ŸoDyCMºÛçǧÐÑ y€ÎøÈqw ÙtÑ$q„–8jÿš€žK¨­¸#/=¼º÷à3këâ8ñÒ3µŸ'TâzMc¶ÀQý>Àâ ­á(¹€ù—|ã·d×n–_rÝi²(Îkí[?AY‘†ækÆ£ýœ‘áAŒÚ€é„HßAb®yø}ÊéÒµŒ†-Ÿ§ÿW_fïs 0ôäŠÕ² ‚ ‚ ‚ oDBå%twôN»}þœÂë‰úúz8@"‘˜VCÃ0`É’%öõÊÑý ?½ágt‡ p…˜¿rW|îz.[V‚sü\³ëÛüøã×òBl¼òš‚‡2û—^É[ÝÄmÿß÷-çCŸ<'S§ôavßs3ß»9 h”Î;—«?ö^–ù‚×˃,zÓ*œ×ÿžÑ ŸfeõÉŸ¯ÅËÞɇ/ßÅõÿöMæëË\X½ˆ«>ûI´ÛÊMû!C À·Œ«þùóœ£Ùø‘ëùÈOoåî>Ä÷G\TÏ­f4‘ºé;¸‚kþf ßúÁùÿîÐqU.eÓÊJÝQ:¨ÐY\rö½|û«ç‹ÿ–û¸fOáùÊ#ÑÎ_ü4·óAþý+—1ǸjYµ¹šÿ¾mˆ%›æR P2Ÿsš=<ðD9W¬©#c¬ì™ËŸþ,ú~ÄÍÿß &ÜÔ­{ÿ—«Yâ¶Ýá0{îþvŒAÇÍ|äñ›35åç_Ï·?»ž <ýÞàLȳ]×¹ñÆÙ¯;Q[.ƒX4©¨Îפe¨\`e•âåšíæ¿N*;WµTÆCÃáÀP ¥‘0 ŽÂ†¦ôŒ°Oa )EÉy—óä½;y»¿-“Pñ¦ª.Zû5ú%WcXbQyâ>ËËwZ0¨²2r5ÙѨiØ+çˆôÌâCC©I÷Ä”-Q™³M*•Ê<˜²@VÙÌŠùoC •²I6&}¿2ç€4Ù.››’-fÛd2=¢¦š kU×Hä¢+ùçýWV­ZEUU•e}ã–à(ò‘˜£¦vŽ¥S¦œÅAæºxé•n‚‹«ñGzÙu4BÉÜ2Jgà 1â£/ÓõÂ8:p ·\ˆWÎÅÔ_ð úîû/<<ÀÒ WSVZD|ð)ZŸþ"mƒYüöwPìxmc<‹¦Í[ñ*°3eQEë™wá§üÕ×9ðü2Ê.¼”Ó¥Ù3õò3ËÙ°åbTñ9Ô6•²ÿé/qÄóyæÌ™‹~­?eÿŽƒøÎú¥^ò…‡€£ì=,9ï)žè·D+åÉ ‚ ‚ ‚ –¾þáIëÎ_À¡–Ã2QoÊËËY¼x1mmmô÷÷OÙ> ±dÉÊÊÊlë]U¹öó¹¶PÞ¹\òñosÉÇ Ô7óŽ/ÜÊ;LEoÛô¶Ô£Ëùì÷/ç³vû¹çrÕM?ä*›ª’Æõ,®ÞNlëYTNu=2¸žÏܺ>7(–¼ïß¹ç}ÙOõZÞó¹µ¼ÇöÙú‘Øú‘äfäðÝüó×v¢)75ç}˜;ïèdóÇþƒÍË–Ì+8_oáÆ¾ÅZä˜Ãe_»“ˬ«BãÛnä®·Yf…5ÿp+÷ýC~¯Îò•\õ™osÕgl†t6pÅÿÅÙ cí?þ'kógÕ×ý€û®“çØ_.E2¬å‘Gáç÷ÝñÑF¹\Iáa ;YœM¢Ã¤èP&+^•Ó&«bT¹uæ €š†r80]ÓHèq¥p*EÂPh)Qœh¸%ô.} GOüœyY][u‰bõáÙÞ±5§ÑþÀSY “¢=#%:Ä^4—IwhVÍ)S]ÚSXåW^¶GSæýÓÈ*J×lël7çùºÁŒ0ï rûÊY#³sf3eAm³ÖFÎ>vš{“ù²ÉvÚȉY¡Î½ˆ£ûwsà 7póÍ7ËM<¬d<ÇãvS3¯¯×‹Ûí¦vN#Ç¿ÂüEKe‚AþB¨*/¡{Šë„±H4#:HLŒÙ¶›TVg8AÅ Q]EwW÷¤A RxÜߨ1ÿ¬¹Œïmã©§ŽsQ×ÔĦï™SfÆöÑrÏRZÒŸWÝ5øëÞÆÂ˯£©¢8óQ×Yñ·¬¾º™ãۿǾ_}‹±ñšo¥ó>ÂÙ[ÿŠr¿ç59ÿ²ë¨ Oº«#t-ËÎ}–g¿žý KY±¸‘Ó•/0=Ösüûë3¿±žÐ9?eUð&ÿé*càÂ\G͆Ó|Ö:\Ø‹&Á…¯ùz–ßÍ®òâ"‚ ‚ ‚ ¿ËÅh,–W>42FiÀ—WžV”UÒ;ÐóªÇ-r9™ˆÅefååå”——¿ao´mGœËxÿÒ ÔŒ®3Ü~>½„2ŸÜß/‚p¦éííå_þõz"o~;ªfŽUL—ÆâÐ;Y†¿\ àü6ù¢E‹Ò-9®¦a` +„–Ì|SZ*Ë¡¦ig: (]»™?ßñgêËŽâvªLøç6Œqàw¾æ“™öæÌ†æ#*ÍPe†*§ÊKFHeÎN˜“'Ñ W¤h?7†9#¢*4sʪï4ÌshdŒd³$™`U¾­´MfCóHy¢GeSž¦×05ßJ©äCC%Ë4ÿœ.Œw¼Ÿ»¿w—^úW\q…<1…YǢ娨žcÆ6Í_̎矠iÁ"Ì ‚ ¼‰ŽãözOjŸ©D‡.Ïô2'æ]ÑNôDò šäúàT¢C`VŠj.ÝR_^TÊʳKYw ¸‰3£³úÓlþûOÛÖGô¼ïŽÀù4m=Ÿ¦­Öv'c<Ù˜áñì˜ÎêO³ùCví<ø–ÝÊ9 òÇ-¼ÏÔ1­ýëOÙGr¬­Ë²ñál rÝw©\7I5ÿĺ¿þL~Z-Õý™K/’$AAAAÞ8؉[Ñ¡™×":Dt(̃x|'‰¥ÿ‹Åe31^œþ—ÿÌ‹ñœ½(Èø¡Gùñí/R´þ³,-“ÕA8“†ÁM7ÝÄQw1jÓ›ò,ˆ­r»\ße,:Ã\¬ö̪`Vë^JC¥~ŽJg7œ§¿Èöî±öÜä1ÛÆlÛÙˆ ÍvË*%ª3ÒS­Ò¹ü”iŽÒµF¾ÔÏ4*ož,M”Ê˘7ÏŠ|?ì”13ëÊš‘0íÔœŒÛœ‘0-’4 'Ӷ˹åùzEe¨¼Œ‹WhûOn‡ªˆmy _þÊW9çœsÞÐ7€¯Oì„…^_1µu öõP•cŸ)‚ Ì~NVtøj”x(r—ÒÓ›¯Ì¦E‡§›h|jµ|B×Ò7’ÌX»xB3ßÀ2£ñ…ÇõiÌ›Ž®3£í"Q¥1ããJ|ŸÄ'ñI|ŸÄ'ñI|ŸÄ÷ÆŠOAxc2¥¤Ø/!Ì(z×~³Ã`Å?6S:##j9Ê#ßû7÷Æqç±ñŠÏò¿ß±Ž2MÖCáL²mÛ6þûWÿƒñ7Ÿ@9]–:•÷ 7QŸ˜0ùØœ÷ϲï$ÆÌ–¦ÀÐ’â>¥¡+ƒ„¦‘ÐÄu25ÃÀ‘ÚK3 0¯™Ý/¯aÉÄ6J½i±bE]‚Ÿ»‡®³Î†"ŸUȧrí…ó¥‘);æ\kel2B9‡cg»œ3[Fª?eÿåN~ºØÈ˼8•š/gEìšÛ%z„¼ö¹ymOŒ•¶ÙÎÙ®wûbµv3G^~ï|ç;|éK_2 ;aö™ãth@2›Õ¼…K9zx?e•xöž{9O=¸—Ë›Ç2c:4ÅÖ²ãüâ¹ÇÑ.}WÒrYY³ù™ÿ'W\YH@—#VÄ<F}2mìæ&[m`,&m¢U^ÉÌTéí¬Õ²aÉâHÖâ8³陳·ÔÎ?n…RFÎi¡òœž 4ÙLІõX3YmTÒrù²wñã;¾Ï;ßùNV®\)OTaÖGi?ò#=GiX¸šÆæÕ¸ÜJƒåôuwR×0O&ê408ÜG±/€Ëé–ÉaÖ’ÑáTœ1áát­Œgº]úsú™ˆozÖÈúI·óλ-×Ý`Ûj:–̺žEžÒø¾R0¦Yß)l'ñI|ŸÄ'ñI|ŸÄ'ñI|9ñMïû‘ ‚pf8¢CË»AÌ@se™­ •ÒÝ7$/‚ Âiã¿ø϶ƒü•5“Ÿ™Uƒ–Ÿã0] T¾±š,ó¹.#@Ti%!h†a$-—5q¥ÐP8訤å²a 0ð–WÐÖxm¿¥±<;~c9,yùWì_{ª²&eŠœoŸl Ä6f•= ”ýp6³b2k¡‘±-V*§mÁ•ÈÎ}:£½s®`КUаµZNz)[­œíb±.ûdªS•#^Ät|æ¨UfŽ3Ï*ÇîYY=Ók]#á³Öñ•¯|•;îø9n·„ÙAÇá]Ì­ñQS^D_ûæÌ]ŠË•Ì[Y3‡Ã^¦¢ºÇ+“u `÷mx‹|x‹üT‡j) „p»äµA„ׯ`ïÁвÓ:Æœš9´Ÿh§ãxuõuyõ“þ‚4<Ú@{{W^]<&?( ‚ ‚ ‚ ‚ Âl%2ÑñÌ¢C@D‡‚ ‚ œVzzzøö|ý¢+Áë³ÔÙ;èZS×)‹`,·±]gÐò)û*¥Ò¶Êx¨k©¬‡šFB)â(*-þKF¤Á ðç¾:â kf½ êp?tJ7luz–(LÙ3¢ÂŒ¸Ðš Ñ2†¹,§mªE®Ðf¢rÆ›lþTîú˜{Tö2Qecé¬Ô$ÎXÔέNåŠHsϰ¬æ©\øVžØ³?üáòdf AŸ"è/ÂãrâsÇi?üb¦ÎétQª¤»³]&êT¿_ œ`ñ¼¬_qÕ¡:ú‡ûxéàvy‰þÁ^™ A^ýëúi´ŸH¾/˜E‡ -Í<¶nÜx%þäm4sæTgê¼î¤ºÝér°tñY“°¸a##ã²Ú‚ ‚ ‚ ‚ ‚0ƒhN‡L‚ ‚ oXn¹åŽ{KP+Öe (Ü”E\˜«$4oå´S…r*;¥!áYÚnYiš†¡4tÍ‘üSq¥WŠ„JÚ.&A ËSÄÄúw°÷„õó\¨X±©ïqôÃ{Q欎y‰³b¾)d•dTxÊ·²Sæ 7±ŠU b&eµ‚VVñ¢Yìh;ªÊµ’6LT6š;ΕXªü91rU*ÿ´*pŒy}•I\xßüÖ·‡Ãò„fÇwD-+ {ê9ÂDx8SVY]ÇðÐãc2Y§¾Án‚%¡ä—×°xîrV/Þ@¨¬ŠÎÞ6ví{–íûˆÆ"2Y‚ ¼.8ôʾì{‹]ƒçž{¢àÎãѤˆ0a$ï˜Þw`e¡ÜÅùÎÍÚÌžT¼‰±^ž|ê{Fôõ=<óìÞ‚õ‚ ‚ ‚ ‚ ‚ðzÀå²þPíw½ª~Æ'N.sbBsÊä ‚ ‚pZ9zô(·ßñ ŒËß NógEAWäl[!™²)T9 eÃS¹DeŠ#•Ñ0ý§kZJtˆ"®ºÒLY 4 dÙj¶Ë GŒÌš"T>úˆG­±›„‹ù>…%ÍŸY\¨,3—?7*w¿ü ÎÈør3b7g bž]±ÙÞ9o]mË>b!Ñ(ăʼtS£&9ÅÌY7¼‰}£î¼óNyÒ ³‡ÒAûá™2§ÓEy¨Šî’õðT1¢ØëÇã¶~w8œT«9káÎj>Ÿ7ÀË_àÅýÏÓ?Ø#'ÂëíÕ¿¹ÑÙò}ÃDÃqœÎÙ+Ø‹tóÜ ÇhÓ Ô÷ò‹Gh3äÌAAAAÞPŒÆ&^Õ~Þ"÷Iµwèq™lAAN†aðý¦E¨y‹È7ºµ*Ë É,¢Cs&¾tÙd»˜ä}„xVq_R5˜¶[Ö5GÒrY)$m—-–ˆCSx.¸Šç{Ñ™?¯[q‘{¼ðg”adun†aÍT˜«ŠT9ÇJœ†J™t†æ¬‘9{©A¦²9v¥¦´ª¶d14LÍr¬±­(Õä ŠYϨ&ÙWeDŠs.š…™é CÙœ,*ÿ\ðx0.~;ÿyë­ô÷÷Ë“W˜u”{ím%<Ü—)«¬©ctdˆñ1ÉÔy*èêë :4gÒ6.§›ÚÊzÖ,=‡¹õÍtô´òž§éì9N$* œ†Gl˽ÿ”û:Ýž‚uÚk Jsä_DŒÇµY8}:Cm‡yhûq†‹ä'fLÖÿþ¹ãŒxKðÉMÙ‚ ‚ ‚ ‚ Â_:†õÚßðØh^“š²Ì“ ‚ 3Ê¡C‡¸û¾ßb¼ùÊd ÀB(›U(à$ûf2ð©‚ÍÍåùÉŠð4…ž²WÖU2óaB©Löäø0¹›†oN‡j¶Ð;ŠE|¸¨Z§y×=ÃÈ fäÄ«,âHS¨¦ŒŒJ¥Åwæt*#üËšÛˆs²&æNGÖ娮ÊNk6˜¼6Ö²\¨²âÈí IDAT8_Ož²0½þFž2_;ª¬öܹ-ÚKÅd§”Z~6G 'wÜq‡-õ¹ÚãÉÆ£…­àµ¿” TîRV­]ÉEÍ¥x5ûú5–sÁÂR¼JN8AAAAáõÃçŸvÛž}Öe½;·Ä¦¯}2É‚ ‚ ̆apË-·0:w1jN“és V¡_úaŽ0ÌÎÞךÉ/-_Ë“å‰Ór‰f\N¶A¥Hf3Ô4 ¥ahº¦H(qM#®´¤Ñ,l3’–Ës/å©們Ñá95ÅÅÕ'p?óû¤ÎHŠé”‘oæˆÌCrc/€9kaF¤h™!Ëü©ñ¢5E®´í|›ú°YÒ¼).dm–LZµ‘vÇ­&l0=ëfÌÂÖT…Ó…qÁeÜvûíôõÉggaöðî;ÆÈ@W¦,TUËÐ@?áÑa™ ×ÀàH?N§§3ûÝz_û³ô²Ÿ§:~ν;næOûÿ`Þ¾Þ¢bæ7.aõ’¼üÊZZ÷ˤ ‚pÚÐõ¤{p$b/2œ?¾mù)o9:eòœéÑ(©® ¾ÄYà€“õëAAAAáõGÂ&Ka!*k g/¬›³òºàIÝßÛGccƒ,‚ ‚ §Œ––î½ÿw[.ϳúÍ5Úµ1ÞÍ{¬l¤dùFÄ9–¹ûæé ³âº¬epRLg ¥,—ºæ@×4Êd»œÊ|˜Þn€ž¥Wp¸G³d=¬ lê|ãÄñ”ø0'³2pJ»éµæ¤zĬp1›1×ÒZ™„™9»æ%IÌͬ˜_^0[eŽhÔFCš?–²{œc¥œk·­¦œIkÕâ´áâ®»î’'±0+©,+æØþçˆÅ¢=|€px˜·?%“óè覺¼6³KD91z„’JÁZ¾úqz\/ñðÁÛøÍÎÿä`×N¢qkfC‡æ ±nMs2<6$“*ÂIQär²¾N´wÚ–4ŽMDpœH°~þÜ)ÛDŒˆ¬¬ ‚ ‚ ‚ ³]7¦»§‡žž^††111A,#žHÚÍ*.‡ǃ¿¸˜Ò’ÕU•ÔTWSV^ÒävFáKGû¡iµëêꤺ:ùÃJM]­­bÏu&éïï§½½¾¾> Ã(ØN)Eyy9 ”••ÉÄ ‚ ³–Ûn»Ñ9óPu …ÞÔ̤̇m²Úh(•É®héÑ"òKn–ze^ŠìZ…ÖÎ4g™ñL뙳ÂÉÿ“Ydó –ðŒ`ä—e¶óÃÉöc±Ì’Y7¿™ÿä'¼ÿý理¤DžÌ¬Âïó0ØÙÁ+{¶סº¦ç]ÌögãxëaêÈ$½ †ûh¨Ëfë:FÔ9ˆßQ€æPxKœxKœÄ#]<ßu;YT½ž çãвržc‡hn:K&U„“b"›V;=Asy˜‹Pä³× ŽEì-ß OVtx²ÄŽ)Û$ôé]°?™v ]aŠDÂA,¡Ù´I~ ,T:ãèS¶‰Ä `fÛEãzêŽ%‰Oâ“ø$>‰Oâ“ø$>‰Oâ“ø$¾WßNfýƒ£¼øòz…D,{£¤RPìõáóá(.FÓ4 O‹Ç‡Ç ÷ÐÙÝÃþC-x\ ç5±léR**kmà„3ÂI$ÅíœüúTx4N±ßùªÇq:ñ¸‘D££²gŽ9²eËX±bÅ”íÇÇÇÙ»w/ ,  Ê ‚ ³ŽÎÎNî½ï·oÿë¤x/õi'û/–Ïô…>å·1å*,`ÙœoÏ«òÆ7lb02ª¸T{M¥Ê4 ¥Pš–ÌzÄq$E‡†Â¡’ÂC …ÓédtÝ•ì~ñ;llŠg܈ýEŠ7³{öï„•›L1á Y`˜ÜNbŸÃÑPÊ"Ì´µì¯rD¦9Ê4S–’›ùY$36Ô©›$”R†aøa>Z–@™ô‹éãVöšÀŒ…µ²[B›S$¥ ´±¤NJBUζaº¥3Q.YÁ‘?þŽû￟÷½ï}ò„ΑhܶüDÏ0ƒQ• ç/Áår£”bñ²5ìÜö„_ƒ#ý¸Ü\Nw¦ìHÏËxöß»E°ÆC$<ÊÎí¬jÜ’©D)E‰_¾§ ‚pzÐ\I`!Ñ!€×ïb|4_ÈhyU«ª«¤»£gF‚v9g¤¦(eàp$p9ò?ƵdY¡úÓŸ×3¢>ãít4Mâ“ø$>‰Oâ“ø$>‰Oâ“ø$>‰oªvÓû~$gš¾Á0ÏncG^A¡R?M ¨¯o ¼¼¯¯xÊ>"±8ýƒtžè¢££“öŽvö¼r„=¯¡¶"Èæ¨®kÄéÎ0ñ)E‡€Et802BY 0i{î$¢%´ªªòÒÝm×󨨏,¢½½ææf<º>õ ‡ææfZ[[Ex(‚ ÌJîºë.úüe¨¦…ÙB«§pJä•#;³³èͪÂÉ'ÝMÙ40{«l>>•ì¡’_Ì•†Ž®9H(Ð0ˆ+ ‡ÒI:P 'Pøç³}ÿ–N•NÌGÞ0&yc^ÿæ¬yJe²:蚆IÛe¥Gá hhJO Á8Ïy+O=ú2o]8„Jeûs9—sôÙ‰oy;Q\F„iŽÅȉ0GôgŸ*Ðô¿Ê™œ¬‰ ‹°0ÛurÞ,zF«¶­xÑ’õÐ›Íæjc²õMbÎV© ô•Òæ›Ícµ|{ž|ˆçŸžóÎ;OžØÂŒ(ŸÃÐH‡âXç®@›/ÿ ¥Ár{Aܲåëh;vèŒ u=AÏ`#£ƒLDÆ)òøî£åø>É‘‘1Ô¢åÙB‹%®©,?á!ÖL„ØŠÖì;1‰ 3Õ6 4ón9=fz1u¢”¥†ÒЕB7 t¥‘PЏR8”B ' e(EeånºœöÁ»h(Ïjüæ”ÁúwñôÊól²š-•% ¡­ó°)Û 2g'TØd!´±ZNbäZ1›Æ7H›9;¤²ô•keä-”Å Úf!s²^Úž61åœO6»…ÓFR¨ÆòɪØO|åz~ö³Ÿ‰ðP8#”VÔ1Ñ?Aˉq-?ŸÆy‹(*² ᢑ1ôD_ÊÖ7X^A_Ï û{–Ÿ^ñ›®'  «·C­{)r{)Vá÷p;=”—VPV¢ÈãeEóZÛ~zN°hîòÔõ'>¯ŸªòZúN°d^RØWäñávQ[QÀÓ»cóê &28ÜÇDdŒG^"Räö²rñú©¿‡‡qhŠÜÙ/I‡»^ÄW:ùw‹±á8Kj6àvf÷kël¡¾vžœ¼‚ Ì*Ò¢C°æŠ_-¹¢Ãñ¡Q¼¥þ3~ðŽ@5—n)|±ßá¯å¢ók§m¡,‚ ‚ ‚ Âì¦h‚ûø‘‘>.Ú¼žEKW%­ÍNsªËx÷•oáù]{Ù¹ãþçw÷såe—R^]/‹!Ì’äD.Ï©µp;Ñ!@—,Æd:Ëf&kç‘ÿø7ˆÞü9VU;:²Ç¶M0õ•T®Ç¾Ì¿Ü·˜ÏÝx-‹¼à¬ 7þð-Ó8ˆNžúáOxÞÿN¾øÃ õcô¤DŽùcÛ–½æqA„Ó…aüìg?C_sÊ“Èä ÐÈÝžD ¦&ßNï=µ%ïdÛæþÓ>½Ê$ˆË  ¥ah ÝpÐ44C#n8”†èÊ@S` Þµoâ‰ß<Ã_•é’Y5`km{þt'C—|0;¶hùÙø2YþT*ò´6Q) ÃÈÉ ™|l`#¤4Û +›¹ËØK['\åŠ4-:ÁÂNÒòDe³p&騭øÓê¥gƒœî/7 ãçfn›ÕÖcß°…Gn»‰¶¶6ä .Ì(=ÝÔV7°lÞ"JJJ-Yñ('Žì§»íe”æäì­ïËdø«k˜Gë‘WN¹ð0‹òÊÑ—ÐÞÝ @yiµ (/­`ÑÜå¬\”/ôÓ Ãmû ¿o˜ž‰ =‘y¦Çq\.ONʼרÔë„ßW’Œ¥¤Âk„½-»¦u\}ƒ]– …†¡Oi³œˆ#^-X—)Ÿc<2Æ’Pœ¼‚ Lñ™DO}R„¦ºùëh9-ã¸â:1§õºzžðPÅâ.'Åee„ ‹ç7×Ñr°cÚƒÏÑ¡ ‚ ‚ ‚ Y ‡cÜÿÐDGû¸|ëù4.X:#ã:ŠÍk—S(á‰'áw?ÌUW¼™Xã‚0sœlÆÃI…‡ÃGyþ°“µŸ¸’sæ&ˆó-»k—惈30æ¢þ’õ,­*ÃQUöúGA8iZZZøó / >ú/“7´ÍdgLÒȦؤ£Ëo`Íb8uŸ…¤ki¡Ÿ†Ò’•fÐ(=†ABi$0ÐRB=•Jèòxè]s5û_¹™u‰Œp°ÌgpqÛƒüòØfTÓ¢ŒEqV,h:H³¸OÙM6¶É*Û‹RyÎÇ–yÊuBVɬ†Ê3k§œí?ímÎBhÖof2G’´hžT$˜š;ÓÓ8w¬çQ^¬¨I”‰VKke‘@5s Õpß}÷ñ±}LžàÂŒRäñÒ4 ÇR>ÐÓÊѽORâI0§¼˜áq:ZvS¿p ^_1Oý½]”¿FG‡®þvÚ:Zèîepd—ÓÅÚeç²¢y>oVS¢:=­¶}hJ#ž(œ]_×­ON—+yC^,¡ÈÍð86Îd;›¥Ô_Øc`¸’âé9g´v¶°zÉÆÌvÏÈq&´Ém–'F,¨Ø„ÏÈ”ï:JM…ÜÄ*Â4®çNWt¨áFçäRrE‡`#<4\É¢ÉD‡ÀI‰ÍŒàõdÕAAAA8­Äãð§gŸ#<ØÅ›7¯§iÁÒ)3VœZ –/j$¡_È“O>Ì£|„·^qw‘,Ž0£ÔÕ‡è8ÞwÊûu8'-lf–SšñÐ[NC`˜'ú3\JsIN¶ŽÑÜõ­çží'ˆ¾ºu¼ý£×ñžÕnöýà3|á·íìâ3ï½ Š–ò·ŸÜÌó?z*iµÜ” õ‰;¸õ¿ÿÀî®(5qч?ÇGÏ›àþåsÜq(¯|”«¾ ³¯ãºåò_Ïnâú¯½›ùžäëmßÓßäú_Öð‰¯}€Å™L…a^λsGxöÅîl.î#QLã|†oùD..‚pæ¹ï¾ûW7B¨"™r«=ò˜m†ÍÅéCM¯+eén’v…Ó*&mˆMå)ÛeC3’–ËJ#¡ J‘@CSÉ „@šaà[°Œ§ö¯¦9¶Ÿ;Ý•bmÝ/ýÁ_rÖÖ·ó®«ÞÌÙõÅh@<¡òÜðo×Lµ{€w|“ï~÷'4ó“¬ûÐ÷¸uÕÚ8~ü÷<Ÿê:~ü1nùѳT\ûøÉùuh=ûyþ`?£Î•\óÇó…ØvÑ—ùÊeõ8Xë5¿œç[ßÊüæ"Ð{Ùû§|ßI“å·Àb–ÛŒmkµ=ÊÿäŒ#‚ œy¢Ñ(¿þÍo`Ý… Mž©.7/ÝäÂÄ\œ] •Ò#æŠ×l,~V1aNéb•g#œjÉ ]š]ÓÑщk44]GS lB‡¦[ûv¶=·—-óÆQ)ŸÇ©¸Ü÷2·î}žÄšó3VËù1§ãVËå¤Oaþ8 rþµdû˱ZV9kadþÉY•?ßi‹çìdöËU(»¡Â^¤¨ Û•7&=&?g2ûØpÁÒé*ÓÅËÖ°ÿ_²{÷nÖ­['OtáÌ\­0 ö¿ð AOŒÆÚ “ ÏírPì§ãÈK4.Jž£ž"/@¾Þnªk§ÎÂ7àPë^}‰‘ð0¬½„KÎ}ãaÆ&Æ(/MÚkšb":N‘ÛkŠMgh¼ŸÑØ áñ‘ŒõqÇà!~ÿòð—»è#Ï <åQ**‹é~A™¾Å3–ц‘¶®O‰Ep8’ŸüÇ#㸜®‚ǦzÙ[;°fÉ&æ7,fht€á>†úFè§lN¹W‘õõbl(N}ÉjÞ¬0´³·Š²Ü.' ‚0}†ÆG(}º<åN`DÓjëðù°ä@“$9óKά¡€@ ÑùKøõ¯-OraF1§Šêú%…^T)zéiÛC42–)«®m ¿¯‹ht¢à#áAžÛýG|êWÄã1.>ç휽dµ• {{tõµgÚ|¥ f¶ Cçžíßâ7{þƒCO32–­+ñVàò(J«Ý¸¼SÅž‰ä«^$Îû^OÄp:ÍB¾l6ÅHloQáï¸ã‘1нþ)çøXç!ÊJC”ú˘[·+Ïû ï?ÿŸ™¯]ÈÈí{G f¿'Ŭ¨?/³Çè즪¼FNZANŠIE‡Ê1ÉûCöus2ÑayUÍÍsGLW‹ ÐÖ~ü5ÐÈhv †Æ&YaAAAAf„ö®~†û»X¾h>þ`ŧ¬ÄË‚Kéìb¨¿[H8£D"ñWµ_ÔÐ5 å ®RâC¥¡+•±+V††sõVþÔU•²"M¤)ÅÅ•ížÿ=Ê0P†el—v©#íÅœÊ$ºÌSÛeUЍ‘£Êîlmo·³d6ò¿¼L”ù"Å|Eà”šÃB»«ÉÖSM>‚²éX)ÔÙ›yàÁ‡˜˜˜'º0cok!Í~ήjXLÜYÎÈXþ ’.‡¿+FGËKÙ2·›Ò`ˆÞîyí»ú:عï^9º‡`I —²zÉFJŠƒû õà-*F7 â‰ä÷ÒP°Š“ðP) ŸËOY½‡’J]YÝJ±»‘Õ¸<cÙé¼îz\G±Dö;oBgì•cñX&Ã!€Ó‘Íp86Æã¶·R6 ƒX¾iöÑßÝËÁƒGñ:³×_òîÕ0ÐQ4Ì©?¥ÚÖz̲KLi ¡kÓ»xvíc=<¿»‡àYKXÈîíá¥íŒWnʪjY³¨š ·š±øÆ#Ö‹·c'öòÈ‘2Þ´±ßH+¿8ⵋhB/X¿jÓbê܉Œx¹`}zÿ‡[‚lÝTW°þ‘#eœsv5¾Ñãüa}½Ä'ñI|³/¾4Ѹžºx¡Où‰3ÞNâ“ø$>‰Oâ“ø$¾¿¬øaæp°ÿðA<ƒæ‹gÉÙ©ÓtúŠ92ÿ­éû1 *³ÆÎ~ƒ7µÞÇýÝ—¢jêmŽÏ”m1JJg¤-¢ 2JC#»ŸÅcX™ìšmæÝbµ\@à™ìÞl€¬0ȱ]VÙù4rŒyVÎ6‡k˜ÛY÷U¦|“Æ$§Ê´NÜ>æ-âøh˜;v°yófy 3BMm#':ZY¸xyòSµæ`î²siyñA|ž^U>RV⥭c/µs—áIeѪª©çÀÞ„*ªñe…qÇ»ŽP_=êPÛ^~‚x"ŽÓá$¬¢«÷8Ð@Iq)ã”—Vð9ÚqÈ2nUI#mãùôvš^/4‚ÞZ¢ÑV”C1ÉÞ çsÐãÉW]Ù%ÐõÌ÷ñHØ"$ŒÆ&(rÛçOŸˆŽãr8§œßž.jæMþ½ËᤱzÕ ¹”݇ŸÅmxéìi£:T‡ARĹ|á9aA˜£á×ÜG(TI__Ï´Úê‘8šéý"ïÕQÏýèíð`ë¿  IDAT$"Óê<<6F±Ïg[×ÑÕI]u-½¸Ó»ƒöT¶‹t³ë¥£´Mø9¸ÉwFtˆ/µÒjàÂå!|‰aíkáÙýo^" ÍL|^y 8Ã#\!?e^hßñ¢ Ê}*Õξ¾Ò¯áUÑ)ê“û;ƒÅ“Ö»B~.Dd˜xQ¥m½Ä'ñI|³->Ókºš–ûúRð-bÆÛI|ŸÄ'ñI|ŸÄ÷F‹oš™’á4‰%èí9AÐïÅ_ZÎD4A[[ ó›p¸Ü3Kx<ÎK{v±¢y>e%¥x‹Kiï:ÁêxœNY,aÖPRâgxØÞvù•ƒ2Ó¢C€@ œD$ŒÃ“W´¿¤”]=ø½n™Ü3D(bppòòrü~ÿ¤‚BÃ0ˆF£  …lÛÄ»žæîßuP¿q#ËçVàmgßÓ¿æÞ£ålþ«¹¸zÄ«‚úúJнìÙ¶‹™>ž’RÔ` -]C'ŽÑÍþ8~ü)ž8XÎêõójÅ”‡|pp”H(pÿº -cëY:·Üy7/ŽVó®UµØ¿ªæ=T½ŒÊܲ2É&"‚0ÛØ¿?Gû‡`þbÓ€¯­í;Åä›vâ4»ˆ–je͘“ÉÎòHMœ%eNE¨4 MCtÍn@BKWša ) -%T€fx¯á>KSb.‡Êd<§v„Oü”Îw}.)&4”mæ>k¢ÁôvZïg>$#ïØ ›ùÌ_‹˜Ð4?M ¹:õ83ža£$GY`Æ-û¥6,"@K,¦Ás;›j)± ŠӸЉ5-䡇á¡0sßû‚e( û{¨ª™@Qq • Ëé;¾ƒúêK{§C£Ì ­_ yå›’eN'e¡JZ¤yñÊLÛ K9~âHFxè÷é£"XM0PÎá¶}ÄãqœN'UåµôôwR^Z‰ÛéF)ˆÆ"¸]É ZµÁjÿ3Áº"zÛÚ­ÇP¢+r·Gc,2œ)÷zÄãIsÌÈfpŒ'â8´ä—ŠX<Š3% ŒD#¸\Ù;—4¥Y²!šŸ㛆Íòpx€e ²‚Áî‘V¶y€¹¡å,¨ZE‘ËúÝ9qÁê+ŒÑÞuŒžC¡ð{ý“Ú> ‚ œj¦+:,¢ÃäU—)˜®è((:2¢C€²Š™¾ãYg¨í0m?Îpq€âœ÷‹Èð ?Ëç…(u;pûÊX<¯54À@ô ­ªc`@§¸¼7q†û"¸Ê‹)R“×{O²ÞW6½ýG¢Óê_â“ø$¾YŸ ‚ ‚ ü…36alt„`À‡ÓUÄ˯ãáÇãDë¡åà±vìÜÅþ}/âu9ñû Ed¡„YÅðð(ááñiµuy²v*v¢C€Ñá!žaêëëéíí¥§§‡ŽŽÚÛÛ þuttÐÓÓCOOsæÌ±íÏPŒîgøé ÿÀÿê½\û÷_ãŽÝÅ\ñ¹ë¹vY Uë?À5+Ûùñǯåš~‰‡Â4³bƒK¯ä­‹ŽsÛÇ?ÀÿúòË^šVú0»ï¹ž½ï=\}íßós¸úcïeÙ¤¿íYô¦U8î`´a++«S ÅD;|á®ù´' ­lËA„ÙÅc=FtNø­B˜<‡ßœÊ®‘Ye¦rcm§¦Jp¨lwܲ™l־̶É*:m£¬RâC¥0”FBÓHhŽ”Ý²BOý¥3j ƒg_Í‹ÖÏ^>7¼%úG´;S–c¹LÖÙª¼L×fÿÏŸs•ccÝW™ì˜­ëbYš;Tù6É*Ïk9gÎl¦Þ,JU*w›“$»æ*×nÚfg5™¥¶íÉYÈvÙ´¹d<úØ´²S ©¢²ºŽþÞnb±¬¢ºix«ç_«Šén!<Ò®ëtu´Òßs‚–ý/Í ÿJüAÂã£$R6ÇõÕttµfêKýå Œ$í–þ Ã&{å` ÄàH6ž’F"cÉ”YÝá£ÄãÙ›–Êü5D't\EŠH4ûÖ©¹ð¨b @ÓìŸÏ =3•å0‹àv%3FãQ4Í1Éu¦©…‡ãaš“"“=ò±Þ} k­¼4ô{îÝu¾ü:cVo¯ÇÇÂÆ¥¬l^ϑ㨯™+'ª gGêµ²8*|UÆ_š|…ݺuëñ“¸÷ß²M,á˜^&Ã)Ûé wõÓçQïìæ±ýÔŸ½˜³lRFã”Ò;¾Ÿ‡y8wÓ\jݧ;¾Ô›mI Äyú±ì¶_–âêFêÇÛ8P Þ_ÛÄœpë«—ø$>‰ï Æ×¸Šwo a–€‡Çõig4è3ÞNâ“ø$>‰Oâ“ø$¾7V|mÝ'ŸñpllŒêêjù&/œRF¢Üuïݬœ_Áy\Á½?Nÿñý\óŽwP\V5£±tõqï¯ïaùÜ Þtá•Üóࣄ»sÍ;¯Æ]\"‹%œRÞýîwŸ’~æÌ©£½½ã5÷£ +øÔ§>%‹s†èïï§­­þþþ)Û†B!({=Ùd¾ÀÍÿôŸÄ>ø >»¹‘ «Ç0 Ã@×u‰‰D‚ÁÁAÜn7‘H$ówèÐ!¾ñoÈ„ 3rN¾õmoãÙÆ³P\š,L$`b<ùzïñ€;y3„ŠL@<–›ùü(-õ=6< (‡|Å€‚x O>öÛÌÆ71‰xR8—êÃ0ŒT œ.”×—#ÁˆD’qx}(§+Y>†x4 UHŠ ÆFÁ0Pn*eKjD#M |”¯åp&e£#(=žÌfXäÅ¡ë8ã1œ£Ã¸õ8n‡†ÛáĉŽ#…D …î)Âxüçü­ÿQ§Pƒ„?;±”ÝW߉”B‘å)JZA,%èñ’Ç­¹Ü(o:æ(ŒyÁüÕ‡“s—îC)Œhc"%*ò¢\®äñ…!ÃPÊ =á‘d½Óe™£l>”35GáŒD”†*N ]Ç$Ó4ºÜÉø #2‘™g¼>p83ëjè:h •:7ŒDc,œ<>—åö$³4NL@J ex} 9’ã„G’}iZ²oÀˆÇ`bÅY ϦÈíeh¤ŸÖGXѼ€]ûŸcAÃÅ¥ôtÑ7ØÅâyÙ Š÷ﺽú{Â\³ñóSâ—ÎÁ;öC\Ej"›¸`å™}~õÂÿÅ;wˆà“o¿€Ý¶ÑÜ´ oQ1‡ÛöS(£"XMGw+±DŒ¦Ú ŽôÓÙÓÆÒù«lçíÀÑ—©V ¾¦ÔÞuŒ„§±vA¦ìvüÎÚ>œîäûR$œ`´?J€zV®aií4-{³ÖÑöƒ´v¶pÁºKådaJ~ðƒdW”—ÑÛ?pFâ˜ÔÓ'ªEqëSß™ÜÖÙICmí,žn’ê ¼ ÚØÔ­ã£=ìlÃ7g¡™¾1Ûdó¥[Y?p”ß툲þüEÌÑ{yøÉãÔmZÅ|·×³ ÔŸPÀ6táÑ—bëÓû¯Ú°y®þ‚õëÏ_Dp¬›'žo§ñœÕ¶õŸÄ'ñͦøAAAphš–Í:ɻ֕ÒÎH,*mŸ84ºnÈ" ³ã¹â*& 畟 Ñ!$E‡Â™¥¼¼œòòò7ìñ¶íàˆsï_*¢CA„7ì?Ü‚ÚòÎ)Zª×X_¨­Íã)í|ÕI¯ÌY3ÞÆÉŒ††¦aº¦¡kqCKZjšn ©l6B ƒ‰õoãéÇ_à’¦Ó÷¸Ô¿ŸW¶?ÂÄš­dS?¦R;æ¹ §L‘ÓñØOÖÎÙÀÈÚg¤zÊñ3Κ-+«c¶ÊÖç —o¦;4?žb© õjÖ}²óÀvÑsf/'¹fiÌP RYÃ3Ï<#ÂCaF –Wr¢}Œþ¾nª3–Ë¥Tý?öÞ<ºŽ+¿ïüܪ·ïv‚;ÁM\$j£Z½¨[Ýj»;“LrÇv'çx<=ÇcŸÛljãŽcg2g™±=¶ÇŽÛÝ-õ&µÔZ)J\Áû<<ཇ·VÕüQoH‘¥¾Ÿ>TU·nýîïÖ+TÕûÖïÛÞÃÂè9Z ,—çc އhën§³{7Ž¬Ð¶¡©•›—Y /à˜¢À¶†Íܺ”6Õµ1»0E{óüÞZR%vË‹ËóxÝ~|ÞF¦‹b zÛ˜ˆObw)„£¡œð0àn$ÔñÔYY GжqÙ¼¤S‹E ëzþÙPöœ¡i,ªi¯œJ'±ÛM¡s2ÇawVÍW<ÅãêZ3§3¡ vvæ…‹¡ØËú$õÙ ˆ`w«ØÜNôÔ§‡^$èi¡Ñßa®7 n]åÉCŸ’¨D"¹cæC‹Ä5 §ª¢§ŠÕÀÂø`OK¦§'hjj]³MÑwÝ(~¿Ñ!ð‹ïƒÔò4§{G ù[yt‹Û‡G"²LÊáÇg…ôÊ2QÕCmÞ§uýõÑmïÙHÿñ+wºŸŒOÆ÷!Å'‘H$‰D"‘H,ª‚Õî ‘H Щñ×’Êè,…C<–¥È Z&‰ßëGÊ %•D‡ÉG‡0}oô¢í|ší52‰DòqãÂ… ,Yà/8É‹µ%bùßEÕõåK×ï1·Ä¨Ò¦šF±Ì:¸ÒÏ…‹³2BE!0PÐ…):ÔVÿ óŸ.ô‚~„6_€+mŸg&R_“×à±þ¿„H8«‚3rã"ç³I^µƒÎ-_µd.µ’ÅϽp%(¶:^/ÅFÉÄ–Ø)—wQ*œ[Öéwí#¥Ò.ÅZU6.´cVŒÎ¼õÖ[y¥Dò€hlÙÄÂìT‘årsgOÎr9º’âúíYÒu<ñüÏÓsøDNt ª:·îâÚ¥3¹eN‡›ÅÎRÔ¬ºU2žÎ­÷¹„–ç¨ñÕZ6­—m³:h<™¯"ÕZÓM2–ÁîQYXžÊïÃêÆ£±:U–ãÅÕ½ìV7ZzUm~¦ttDö¼’ʤP³–Êi-ÝjVÎ'VpØ]•?ʆA:“Án[C˜˜ŒåÆ¿Êè ÜK™ùúª@9èêȉf&Q„Àåt˃s£Ï4t]&A")À™}ù^±f_õÈŠ•5JªÊÚ.Vë‰á>Y-G–ñú×~Úó`­–ó픕I^«hµ¬™àí«s¤ê6óôž:–Ÿ´Z–ñÉød|ÒjYÆ'ã“ñÉød|2>ßG9>iµ,yXHgào¾÷C<,ñùç¿Dÿx˜W_ýîíæ‘cOóàK Þ½pƒËçßâ‹Ï>Msç.¾ùÃWY™âï|é«X]^9Y’{ÊX-«6-Uù¼mÑu2ÊÆ*„ÚNR«xUVË’û>ó:¿õkCËÿò{|­GžO%’Š´Z–S€£kY›älž.³m*Q0WN°XsvÔèÆê| aZ/¯DL]¥ÕŠÈV.Óñ«e·y,F4bæYQ²ÇV˘Óv»iŒC*+Ìr¹1„bæ&CÇPXe²ÓÆê1jŽ›xõjºnændæÿœ3ᅦÓé”~É}eÕjÙn·c³ÙˆF¬ĖéÞ¾UUQU•t2ÆÉ—ÿÂâdǾ'hë¨^S×5®_>GW÷nœYëóPxŽÉ¹Qöd-•/÷¥£u+>O ¡¥y¦çÇØÕu€ 7Þco÷!¬·Çûð¸|4ÔšE¯VRþº÷wðÕÛðÌïáÓG¾šÛïËWþ”Tp„¹K~î3¿‘[~æöç}ÆoDù§Ÿù=,ª…‹}§Ùµe?6«K}gØÖ±§ÝÅÕ lnîÂëöskø* u-¼åÕâ©8×{9¸ó±ªy˜š%™NÑѲ5·ìÅ‹ÿÑ8‡Õ¦¬Ö˜Íýÿâd’à _¦»ñ@>ö«o³¹y+u-ò@Ý££ ŽÑ³g€O&DòI¡ÕòF˜š¥¡9o¯%2¨ŽbaœP†–×£ôõ÷³½»;M¹¼„×çganšºú&4RXÖÛqt1Œ§&pGÁ®':|S™æõkKØÚº9±5€ß¢}8¡X<öì<'¯³°c?'aìÜE.øvòü6©¤ŽÓÒL}•õ*€ÖDàíë,諭~uûcù+—«®?Ñýï_äŠo/ìòV\/ã“ñÉø¢ø$‰D"‘H$ V‹Š×ç#<9E:'à÷ TSs³è™ X,$]LÍLbQ¯Ÿd*C2Çn³¢(ò ^òáRMtlXt”‰·lÛÊí[2Á’ûŽÒø ¿ýgÏÈDH$ÉÇñ:EÓ8sö,bïñüB±‘úu?ë4Û@a<±£!±¨ *碤*`Ö¯xµ„žPŠÀ0ÌŠ‡¨ z¶¢¦¨dtPèB ÓâN1 T«‰?ÅÀÈ¿g{ƒ–KƒÇŸ ½Â_Mž€®ÝåAýlP쟜O¨(©Ú—·O.ɉ¨PðoÕFz#I•'®ÐBY”¶3Ê'¾tI‘õq¥J•Õ¬‘ ;ªt|å–‰|Œ¢Zó’ÁÕ7±LÑ××Çþýûå @ò@©­k ±ea~††Æ‹ \>w’úM=ìÚw›ÝQ|¯˜N]š%µRV•Í݌ҽӴ® Ô3:}›xr§ÝEs}Sscø<5Ôúƒ OÞÊÙ-ûÜ–"!‚5MøÜÂ39á¡Ëæ%hïÀpNŠMÅpÕ3"’ Zš'I’N§ˆ.Ç™]ˆ“Šd¸>x›ÅÎäÌ0 UU™˜ 6'ÓCXU v›“ÙÅ)üžRö6[ñ˜WâQ<ε…m3 Slmß•û=›"œ§Áæ,:Ý @KéØSul©ß›k¿]ÄnuJÑáˆÅbôa±XÙÖ½…þÛ:Ø“·Õ–H$x|^¢Ë‘²å…¢C Lt‰"Ñ!€×ç ®¾ÉìÛúÂÃ;~ÉDæ8}s Ûæ.ï àø°ÏI©¦R6ÚÝТÌE5íö¼¨hëgÒV:7´}dÝþb‚À&Ûí_Æ'ã“ñ}HñI$‰D"‘H$@£µ©•±Á+,-.àoìÄã °¸"•\Áfy0oB'Ó‘å0.‡§ÛCx%Ed)Äæ ‹Õ.­—%Ë+Kø\þ;Þ®.ÐÈBx@Š%‰D"‘|`&''™œ‚ç:JÖT3¾Th¥V¿â"¨d¥\M·Fx«‹WÕlbãgQ0†PLaŸY{eMUPÍÐÉ!JVü'Åб·oãíÁtdÎa³S½ímHpöÜÿËÀæßÎÊÿ²’8Q§0mù Q!¸\²VÍ £4WbmágéÜ”*rŠR!Ö¹gTœŠ|µIq'Ó-Êr²VØùÅbýᮇÃIª¶óçÏKá¡äC¡©¥‰Ñæ¦ÆX/°çÀ1êöÄ«Ì÷19pžDlíGš@дßôúk™žc9Â0+6Ô63š¦½y 5þzFg†rbC¯ËO82O°¦‰_s‹Ókšðº}ŒL ßkº›™ŠO2»4ÌÄì(Éä ñdŒÐì2‘e7mž6æ'qÚÝ!ØÝv”žŽÇÈd4¾: ]§©~V‹E(´5mÁ¢Zд >O‹j%IãqzY\žgj~Œt&…@àt¸p:ž`Sc‡<×at|‚©©6··ÑÔh ¨Vâ n²u‹ÌŸD²J%Ñ¡Íé%žÅnÿàÕ•‡nѱլ†;7Â"S®žšg6­a Ý⥡‚UÇí¦Ë%hD©Ø1ÕK­]`$W˜ÉØØê±ÜÑú•n[¿ÿ9ÍÊ—EÆ'ã“ñ}â“H$‰D"‘H$&- õ 8è¿ÝÇãm[ Ö71>0M<Åæ~0ÂÃH,N"!XçBµ:¼5„žN°¥}{ÎâK"y˜¸Ñ!ÀBx†x<‚Ó)ín%‰D"‘|pnܸAÄêoiq”’ºq•ôÛ¯©«"ž+Z,Ćº*ïC”UÀ+í7¯u (¦øPQÑMQÈ*ŠPP…‚ŽYýPd‹*B°¼ïÎ]¸Ácm±\æ¬*2Öøë¸6ÐKkC;Õ‚¯@lXhdz~Œ`M~o-·Ço¡ë:v›0X‰ÇXIDXIDIGT§­lô[Y"à ÒX×ÊŽ-ûŠ„{ká\µBœäöyj ž!µm£ë:±ø2étŠ‘É~üžÚªý‡—¨ñ‹–,ÜÀÑTþÜ'Ò±&Eˑؚ–¡6P/Ä*Äb1úúoc±X8°o6›-·®½­…s½—h¬¯ÇëuËdI$UHÅ#,-Çh¨¿;á¡Ói#OäD‡õõµˆ'N|(/ØÿÕ_üçuÛhº‚ªè´]FS‚¾_·ký N¦ ìVñ@Û%R:Bˆ¾_ŸŒOÆ'ã“ñÉød|2>ŸŒOÆ÷ÑŠo~éÎo/WVVhll”wþ’{N:ßüþËhÑ)¾ò…/qºoŒ›—NòÕçŸ'Ðh¾•¿Ž02:ÊÌÌ4Ñh”D­ÄäÔ4Ã#cléÜœ«rXÊÌÌS33ìïÙ#&ù‰âþèŠ8îÙ•‹Óf'¾zᶬªöP¶[­tþaÄç´oÄãYàí²×Ý2>ŸŒOÆ'ã“ñÉød|2>ŸŒOÆ·N»ÝI$«vïØÍ;oq{ð&JÁ[í±x†¿s’‰‘Ê–°©4œ<{–Æ&jš6­› Åxÿô»ÍüÒh%ž`!´ÈÐè8n‡…Çbë¶Ý8í6TÕ‚×SÃ;gÏ‘Š…9º·O ˆ.§Hò‘Æ@ ŠqgGf%Ñ!P$:L ™_‰D"‘H$Ç0 ®\½ ­…K)¯·ÎKwz RXAO”t’­”—Ó½ˆ ö« «VAˆ²…¢bÂù€D¶¡`CQÐM(d„@1ªPP Šù)dö}‚“oŸå¹ÖI C?áäúé—ˆžø;”Uÿ«j“\lg-(µeIÞz¹lÌåþâÀfCT›J!V[¬=¤ªÇÓù3WèF”³ùªl×¼‰É™Yæææhnn–'É}#•à’»H IDATÕsèºÎÐà ¬ªJG×Ü/5uAú®¨ bÍŠf=<5õ¨ÊrQ?Áã·ÎRÓØj±кi cÃý9áac] #Sƒk xk¹=ÞG"Çasâuù™šÅ@g!‰Ï¸c¡aFOOFHjqR™8‰ô +©åŠm]6а`³8°YœØU'G!”Š“–"‹UE‡‘X˜Ùù §)žL¤âØK¬§ ™œc{g»·$™J0¿8Mhz‘©‰(µm|õVl.³¢íÊ’ÆÖúCØ-®Üö3Ã4׷˳4¯SÓŒŽO°©µ•Ö–¦âë„L†ÞkƒLLÏóÙG°ÛLáëÖ®z/]¥®¶vCN£ÉO2÷§pÄÚ§×ÂÒ’):´Y-¤Ò9a‰D"‘H$‰D"‘H>tœv…Ç=Î_~‘ÈÐ-Ü Âbcyyi[ë¸\åo´+ª²¯T†hïÚ‡Ýé"â´Á'ŸzK•·ä%’«¢C‰D"‘H$’;ejjŠ…å(Ô7­ÙNløwQö_î¨ç»l&Ö‰L¬±MN—XXñЬzˆ¢`]QС((º¦((¡ädo ¶‡xst??£]Àb:Pcp¨v‘Kïü)cŸþŸ²r;Q yÙ¥( ¶@™—ßWC¬8ælC!Jj Š‚J€Â(ÉEá,ŠÏCÕ¦¢Ê܈uäb]Ѓy‹½Ò^«ue³£¹qãO<ñ„<HqæÔë:ú$›6w¡ªy¹H<ºÈüH/SãƒøµÔg œîÁö½Ìž¥¹Þ›k_ëw29|‰ú¶X²›Z73ùÄÓxƒÒ:G"‘H$‰D"Y‹±±1âv'8ò¡îØ6¹b#+*Yã.ߨu¯¨¼C!ª„SZUÐÈ/^­X >Ô…@¨*zÖvYÃ@" „0­–Ea~ÿWèë½Æ®úd¶Ò—ÀfgC?濞@ëܽf¸«ÎǦHpU (*榢HqݹY»Ê¡¸‹‰]»q‡Çˆ±ñƒL”nVâcmTÏÑØJ__Ÿ< Hî+¡Ùi>ñ™ç©©)Öl,Î3që4õ^¨éjàê¹óø§þ¬Y{Û¦Ž½„gGˆÄÂxݦÌfUqªq¦‡¯ÐÖ}‡Ó…Ëã#´0C}c+Mãä…WØÚ¾›žm‡ii(¯î—ÑSX†¡³¸2ÃdxñÐMf"Cؼ`s«Ø >— ¸îk~´”NÀ•¤iÚ;+¶]‰ÇÖ”?ëñºôl=Êž-‡™ Mpið]bÉ%VVVpÙLÁåøô0Mõ›äA™edt‚©™iZ[šÙÔÚR?B€Ãá¬:Žá‰Y¾ÿ£×xíµWXZ˜•S+ùPËý¼’Î&‰D"‘H,ýýýhþZÈŠ]Ö®×À¸/qV¬c(îÓÄj DŨ) z¶ê¡®(hB%#T´ÕåBÉY%+†½i§Ü'ˆ§Ì~W«vøSì¾ðç餙'‘<æöYh ]jy-ª„Jq7ÕšÅÚc_#©e,EáÎï²j¥Qe½¨àª^VZVaç­ô  ëº<Hîµõh%–Z&Mï z ¼n;—zWŠk½oçÚ(ŠJçÞ§X\QH§óÇh­ÏÅÜØ52©DnYcS×oœã½Þ‰-rdïStµï¨(:4 ùȧ^äo/üß¿ùÒ—x…LpœÆjÚ¸k¬X]êÉ×Ò€Uµå~Å£8í•ÅŽáÈ<íÍ[ÖìOQšƒ›øÌÑŸåS‡~–™ùqzoœbbv˜…¥Yê ?ñÇäÒR„üèuÞ9õ>m--e¢ÃÅ¥(ß~å]Î\ŸÀîoÆá4…› VW€wÎ\AÓòÇdÇæMôõ¢És©DRÄÝŠ+Q(:„hµ\Js{ S£“u2µ•yNõ.PÛÓÍno^t©ÅÃ\¹>Æ­…$šÕEÛæ6uøp)^¬+“×øþ@ Ÿz¼÷òß;gïÑmtÙ«Œ-æÆÍ®M„ Å5Pmê‚ìÞÙÉî;* ñí7†˜¯tžµøyüØ‘æÛoŽ uîå…ÅbÑÔÂm¾ýî]OdŸ1ºn_;3#Û(V'M›;yroµ–â ë¥áËüíÙ0žC|²#ÿ‡<âÛ'çØ|ü GëÖ?t×kŸ^æÅwfÙ”]ŸZ¸÷§wÕâ¬8î}lž¾Ä·®F¨\ˆT¡aÏ!^ØéÅZ°49ßÏ·Ï-³íɃHïØᄆ°9iln¥g[ ]veÍsÈ÷nxúh3Ö°yy䉴ÙåV‰D"‘H$ÉGŸ…¥?|õUôT€³çÎòùO}’ú–Íemã‰$Z&ËéEU-4Ô[X𛍨wKÐOG×ΪûÞÞÙʾv¦G+®ïjoÂ[SèÔj0@Ë” ¸ CpþZ?§ß{“Õ+ûР_zá˨—œdÉ¢Ö  ßñví›ò\ŽÊÏ_Ú;61:<&“ü  1>>N(Â0Ö^Ô××ÓÖÖF ‰“H$ɇÆàà 44åíj«•­[SôURe®tUÅe÷ ;Qe}µ— <çV,ŠbV.«DÓjYÃ@S „J¶wHxž3oœå‰¦PNx(œ°]£ÿê;Ä>›×¥¼b±0òÌBYkgʬ¢só ò9ÈÛ8‹W§»Ò æ „aä ®}¬Ú¯7Çbý£È Èbºl½¨Ð~µºaé@ªŽQ ê›yçûhš†¢(òd ¹/Z˜Ÿ¢¦¶.'ðV-VÚ¶$2}ŸÇ¦´6ú¸Üw…é‰.šZÍâT•,—­V-ÍäÐeÚ·ahä&ƒÃ×ðzkؽí·Ÿxr…[CWhW÷»2þ6·.1¦qù,¸6[ð¨Þ³t\Ãç(ÖF¬$¢¸]]•ŸK…gÙ²iGî÷H<Äk×ÿ+õ=twpWBôºýìÞzˆxr…3—ßÄï­Ãf±ýD7úú9s¾—O§&àçÊõ477¢* š¦sùæmÎ_Ââ©#P_n§mwz˜ sëö8;»Ma«×ëÁçó27·@Sc½üÐK$€{*<|ØE‡éÈ,¯Œ0špQ[¸B[áÖ•F­<ýxG|ŽÞ«C¼gÙÆÓíNÔ%Ú ‘PµÆSDt™”=ˆ×Z¹µâõ·o1åkçøcÛ :,¸D‚±Ûƒ¼sê"KÇä…QV‡²b»xRÇY"\J-˜W¾áÁ[¼_ïáHÐFÕËÛ‚¾€²þÒ¡ò6èfÆGy¿·×¬N¾¸Ç­`.F‡W°Õ;ˆŽL³ÐºïI™ã>ØÏ³[\æ^¥~ça~1ûýÓòô ?<¢óñƒ©½‡GJIæ¶l¥¹pîüü<½ÉQýµx8´*(4tR‰(·¯ßääÛWˆ?ÑÃÁÚ ž²sØãQÊŽ—JóOê8­:K3c¼y¦Â<—ÆøTu1iòަo#y1H-Žñ£3c¤Ûº8ñ‰½48a%4ÍûgoðâRšm¥~çaþþóx^.–Îszq¡<á1~trˆåúž8±‡f·B2²È«ý¼úÎ"?µ‹9ÑóâÕ \¸Â{ñFžzjí ÚJ˜ëoðÆ™®§·Òl[ãâsá(8‡ø~²¯_%‰D"‘H$#fæɤVèÙºG •s½gyùõó¥ç_À¨+j»O‚¡ãóx1»Mpäà#¼ü£IÔ!ŽÓ&8ñøÓ(Ùj‡éŒN*'OâwÛ°;=ج‚§?Îw¾÷´äJÑön‡Â±ÃÇA5¯ðÍ} 2éTÙÆgœ~ÿm|N•Ïús¼w}ˆá[½,.Ìl픓,ù@Üè°{{ý}å6ä†5ƒHçïÛ+‰u]—_>d,..2<<ÌÎ;q:ë¶_YYá/þò/¹Þסküðû2‰‰D"yà C°©hYNëµáâ…•ûŒÊ«Jû7*ï±â¯Y×V¸ºjRP"b3òµ)²66²UP@WPTt 4EECG3tSx(D®_Åб¹½\nyž]ÑÿF­Ë Ô0 à„cýÅ݇ÁãËŠ í•+Ôv\Ú óeªb¡a¥q—/¢RÎ ú2D.ó?ú,©HXy DEÑ`¾½qgs\i’K5®«S%Êu³ÆZsm=‹KË,-- JAÉýÁjµQW`bô6Ý»rË[º0–N2 )hŠ »6Õr£÷-jë›±ÙLAbsç¾2Ë寓kýç¹::@sóf?öŽ‚*N» ÝЈţ¸’™nL½‡£%NÐå|(r“IêÜù „†a iì¶òø’©8‰Tw¶úÀhè& ûƒé7¸|íUšœÛÙÑrŒÖÀVT%?mU­„³Ýwâ'ö8\‰Ç9wáñD’¯þÔ°Ûm(ŠB}0HÿÀ¼ñÞE¦Ãi<5X,Õ#ÞÚFNõÞdËæfì6SPÑÕ¹™ÞKWñù<¸œNùÁ—üÄ13?Kc0>ë»y‹í;¶mhÛ›vqcìú†÷eW,|(O=ÏÞ£ÎÒØ ?:7βۋ»Dß”Ž.2w°sK›Š3PK—–“¤>¬#ÁH³¸¨ã®u`#ÃòBk­G¥ _#Áí+·suòÙctÕ:°© V§‡-»vðT«ÎÐ@ˆÈT“Wmýû¹»Çeh ¾ÆVm²™^d© èCzy޾¨]ÛÚiHÏqk!uŸŠà¯=îákƒôG?¼ò»¥y¸>W’K~~6§P°9}ìØ¿›c51.ߘgù~Q±àon«8Ï÷ä%£ïÚËM;øÌšÝTÅ‚7ØÆ“‡Ûp/NѾË`µ(×/³P·Ïn§ÝgêZðê9|¬‡îEN_šaI/ÿœU7ex^§±»•->EÁî©¥§g35ñ9úÂé5Ï!®šâsˆS ‘H$‰D"‘| „‹(èlißÄá»9~ü–ã:ïyJª Æâ+ <.wîÞªkSG>^ðEZ0àâ…Ï~_½ùEçR4Åé¼ñú˼ñîi¾û½IÅ–h¨uñܧžÃæÊ?d®õ9øügž+>¦3 —u]ps •4Ÿxü8ú¶vt¡¡/Ê)–ÜñÁnú E‡m›ó( E‡UHÑáCÇÄÄÝÝÝØívt]_÷ß+¯¾ÊÕë7Ñ5 ¯×+(‘H$’Ž®ëLLN!êê /ýó?T²©å¶»¢‚°¯ò/kÞrl  È~X”ošÓã‰õöSبøÿóÎÇ"ÿ‹bZ.Š‚¦¨èŠš·\ º9»e(†ºó'#]èº)·[½C9ì™"xî;P"ÂËLˆ¥`y‚DIÌ¢ÒU@wžø¢ÅÆ:sRÚV¬±^l`ÎË«OV좰ÒaÑfbc¢ËMÚjgffFž $÷T"Ž/P‹Ëãcjb¸¨*ú¦íGH«u,EMÛäUËåë½' >B‚®}Ïä,—)+ýÓ¤¬>6µoåÀžãE¢C€d&N\Ydlf ·ÌnqÑ^» -ýðØá¦S:~gþ>8™NT½Ï]І x‹_z_¼‰§ÎŠ»ÖFÃVñÀ0o þ9}ÓgŠÚ Žß¤±~ŽA£®ë$S©ý1837ÏÕë}lÞ´‰O=ó$N§#—ç®ÎÍŒMLóWß}ƒpÚN ¾eMÑ!€ªZɨNÎ^êË-³Ùl46606>)?ô’ŸìN³*èBd)':\ZZذè¸#Ñ!@RÏܻЇn¿ŸX6èõˆF£¤2ëW‡Ótcª³´Ë¨öè¢Yå‹!´ŒJ*“ýCánçÙãÙvØâ<7à Án"£VÞËøbqÒKœ;u‘k«*ÁéwùO¹çøVxÏ Ùë+!®Í4ì âHëÄÒÊ蘶õVêvâ ‚šÐ‰% tRIX\/hWðG5i  ;íÛ6Qwã&ç®Lâ?ÐB½ž]g@:©3ŠûÊúK'ËÛ¬¶[IºA<¡S2ÌÍq6Óà àœ^`&ØŒW©ÞW2¥#*cø2I­`}á¸k®ßäÝóxµPKÆÏß $Òºa”-/ú ¥tÒ™ÊÛ$ úNXº^ž‡3óÌø›ry0„ÖìüTÓ0Ð1Êò‚M´›sŒ/5P—®Ö®< [yž+å:Ÿg­Â<çIdŠç bþÒ:•s—JåÇ»¢o,/KÉy†–U»}ˆ„N¬èDÖÉsÏv"²ŸÇÕq˜Û—Ïs&i`` ¥ bqÌò<}a ÍkP“%}㤹ÍÏ•kS .Ô³%]ü9+Œ×<®²c¶XqÛ5®ßá’²‰ÍVX[xæ™&l¥8weç÷øÓ‚sÈ_.íåsê¨ônG¥ó÷¹]µÏ/2>ŸŒOÆ'ã“ñÉø>–ñI$÷…H,‚Ex}~:Úš9ç pkd’îá[´oÍ¿¹__[ƒ!â‰D¾Ø…08¼w;»Ú ‡C¸ìVjjêÙ‡MðÚ;'Y^˜&ÐTæÂqΜ}—'žü4†¢°©©†¿÷•/±ZÀaUж_sv~Í–Pªipîê nݸÈî-­´l2m{<.Šj%žˆ¯_0E"©€Å0¨ojen:o#¾ÿÀ.ö^ÝÐö®€‹•°YÅs|dV&ô#ÎÜÜÛ·oGÓ´uÛ~û¥ïròÝSæ“#‡_ú'ÿD&P"‘H$MÓ˜ž™m…µ…¦´TY_êy»bË+êÅÖ5–•Ô3í~ÅFƒ‚¯4a(Y¡Š)›¶®©QÏj5Æ*­+û%WùUäª-ç¢$¢šŠST‰;kr-DÅ”ŠòäVJøÆàÕŠˆeöÎÆÚÛ¬®V-d\nfggÙ½{·8ÉîmÔøÍ9kokáìùKD"1¼^·üðK>ö$ã¦:¥Î›?ûýþŠm­B'mÜ»ˆ«ž­2) ‹mãÖ±³“øÝ5ùAe4ì–êÛoäìÜ 4¸Š¯±·®ÀJÁµpé6ée®\èçv$ƒháXU<ˆøVO¤€ÝÏ‘Oqpi„W/§8p´›&}ž7OOÐ|¨‡;”:Ýf’Qb†.UYݧ`õ»E±ä&Z 2Q®¼{’+%û··óùG›qf·Sµìieæô0çGý|r»7×§ °¾V_¾RÈmkèi"³ã\žNãßRKÀjöE*ÂÐLg «g›¥wšñ•Fvû3ö’¾Èþ^8^ ÇZÒ¾(/%ë•‚q÷ìneáü§G|<»µdÜJùq\º¼hþ³ñ‘ŽÐûÎ;ôVœ|oö8(™ y¸8ÅøJƒ™‡’ù™;]%΂ýÇ&°»Xõ+ R­Ý3%¹4Kø§Yš©0Ï%÷S•úž6>óÄVš¬kçX)|¹oƒyÑS1âÂÎV§ÊzÅV—jó¯”ñWÐ’1âØØêªÔ·Àîòàf†pJCQ«Ç[4f›‡Ýû·²Ò;È»ïNð®ÅA]m€Ö¦67–Z'—œCvì¢ÑñÞyó²Ý#Öïúç´{×®ÚçWÆ'ã“ñÉød|2>ßÇ3>‰äÞ ¸zk˜¡[W©ó8ðøÌg>·•gž:Á+¯þï¿ñ.m7úxäÀšZÚ© xqykg*bË?Üô¸x\-e{™˜YdjbˆÒ'}CcØ·€»Æ¬Âb·Yhij¬üÀ'­361ŒÝªâÉ $çBÞ>õ³S£8,:ì?œ³e® ¸ñ×4Ð{½¦æMÔ·´Ëé–Ü©dªHtlXtäD‡wCs]S Ór2Ö†Áw¾û]Þ{߬Âáõx8vø •û ßà•¿ø3þæÇ7XÐÀR×Å¡§^àïÿÌÓlºC«ÌøøÍßz“£¿ñ¯øb‡mͶ‰Ñ×ù“?ü Þº9O¢æQ~ùÿ+Ÿh¾Ã/âÂgùý¯ÿKÞ^(xj\ÛÍÓ_ùþásÛñÝçkmòGüóñÇó_òÙ¶û%â=ÉŸD"‘<Âá0ñdü5¬ò÷ÕEl%b´òQòs™ˆŒµ+ã­÷… TtÞH÷…b¼¬²!Œ¬í²Ž@SL«eUtÀ ¬T[ûVNáËÚ),J~˜Ý¾([ÞùcnÿÌ¿B¨–¬À°d<"+äFåh×Ón@3(î(!ë>¬Xã˜ÈyZ¯wûÉšöÊe1Š ë7°¨*†ÇÇÔÔ”<Hî™Ø,×νÉá'>GCs£·q‡<š°9=léy†¡Ë¯ÒZ«bµ*e–ˉø фΖýŸ¡uswNHØÖØÁ|xºHxh “±/QÓê`tn˜ñÙÛt´l èi¥ÁÞMre›ëÿ6M't®¦Üï±xËW~ßIOÄð¹¹e£ ×qúŠŸ %cMöíÔº›sËÆfnShÄ[°-@xi™åå=ÈÐð¯Þ`{W'^¯çcqÜÍ/„Ÿ¤®¶†Û»ËîISéLÎ&¹±!ȱ;x«÷6MíÛ7Ô¿ªXv/ïž¿ÆóÏLãöî.†FFéÙ³S~ø%’ÂóÝ:¢Ãxr§ÝEM –Åp›ÃI*¯Ú¾ê¼TtðÖŽ,b·¨$3å¬ E‡@‘èpsW;#ƒ£Eë­ª¶¡ßëvŠb „ªjXÕ’«BÕÍ#‡8 ÅºÞÇéËðÌ#-ÔYL|Μ¢Ðþç㎠IDAT ’ˆq6ô(X£$,^}*v]/h—½µ˜×ÎV›’[—œ»É·Þ›$WƒÒVÇ'?¹›@X=:~£uâÉòþRV"Ìc ¦±“ã[—øÑ`?}­ûéÉ­SpÅ}™`qi›@d¢\~ç$— c¶¹éèÞÍñ~Ì¿Á±…&2µºñØßG5¾ÝI$„ÑYÞ~ç5lŠÆ±GŽ¡Ú¹ït:Zêøò ?Íß~‹ñé Æø µ^í?D}°±Û7xïý·yô±(–µ.ކ'ÆQ+ؤ2ósÓ9áa5’is—® Ͳµ5ÈrÂàÍ×Þbx¨AkcGÂ[ט‹ßnËïþñg70ˆ)Þýã?çŒç§ùçü$us#Dw™k Ÿüíßã—ö{Ñ’&.|‹ÿðŸþ€?©û¿|¬–Ö{å9­¸ì^æO"‘Hî3áp˜´ÅÕÂ+ú—é¸J®Û7Ri¯h‘Xc•þˆVˆiÍ ÖAlt¹ÈV1WYËe](ŠŠŽ®èèB%#4Lbþfˆå?ŵ÷¯°¯.’‹"O&Þeìêû¤{Ž# 0VëŠ\Ýøl¢ÀJÙ ÐnZˆ ±n!J±ô‰ §Ò¨tT=fDÅêŠäFj~ï³v8âîæÜ(ˆÅÃãcvVV—Ü?‚~'^gŠËç~ÌáÇ?G[GÓãÃx|~Ün/ÞÚf:2uû=Ú›ýx\vZ|Q®›†Ö­D—Ùܵ‡³¸Š\}MïýMum8æºMGèŸ=C&¹Lm›ƒk£gØÜ¼-wÛÞt”÷g á¡×ZUÍß;ÇâQ‚ò²–—ð¹E6Ì£¡›8J¾ëŽÎ'9ÒñDѽÙRd½Ý”ܳ§eÛÖNlV+Û»·^Zæfÿmjktnn«jùü°“H$e%gç¶n\®â‘H,ÎO]dq)ÊÏ~þ)œÙgû÷îäÒõ~V¢Ë¸<¾5÷¡éiV–ÃX8 uÅ/ð>®÷Ý"‰~lDœɽ@ÍhhklmÞN(4Æb8dž§Ö·Z^X¡ÚDEÑáz”Šv„ÅMgG-·..1o¢ÎûOäé0§^ïåâ²Ìóß¾y-·êÛßÅݶ—¯pœ:‰X‚´êÀkS(ñ¾{ æ9²¸@ßÕ[\×Jæùn>ŠŠ‚NZ/¿5t ‹"@ßX^lN.„âe¯²ëI¦'—е´xîü×êôàSÌÇ5ð–‹Sñ(1á Î©Rìá^¯·âË N_ ݾº·Afy’½ÕÏ…ÁV:züتœCþv’¢sˆ§}_>ZWt‘H$‰D"‘H>*,ÇÒ¼sêm\/|æ9jÛʾ¸ª ¸øòóÏÑw{”3çÎ0 óÃ×Wï®—ûF™™ûG9LKÛf„Zé†EZ U{4ÃÜ”܆d™ -Ó{ù2ƒƒý kàödˆÁ‰­í­:pºl5Òø·´Õsè‘ãœ?ó6o¼û?ý…z¬NùpTrO4œ2ñüs BÑ!pǢáۃtnéÚpûùù9‚Áz):|HX­xøëÿÛ¿à‘Cøâç?o>'xñ%Î÷^ÀívñµüsªØð˜'áaÎ Z8ôË_àÑóË×®gø»»îó ÒqW¬´}ê0;jPjîA§Õî£ýÑ/òÕ÷NñÇï9V‹ÿãxÜ—üI$Éýaii‰ŒÕ d*|¯e¬þ§Xô–=µSUVMX(üZ•ι¯Ó_Á¦FÅ«{Ö2в>*·+ínµl`V( †"ÐQÐMQPt ЄYŒaU¨öÚz.4=OWôÿÃUp©XïÒØwî8·í «²ÃªAeÆ0«#n¤²!¥âC‘ÝOiæÖñÊn¹Æþ³?eÃõ,D•Vâîâ¾óóóòd ¹o¨Š Xãff~‰ëçØ}à8ÍmŒ Ý¢{GjöIsç^ÒÉ(3s×i¬óàvZ¹Ùw•@°•­;ö¡–ØGÃ3 ^~¢3\¾¢rô°ù‚‘Eµ±¯íYÎÌþ5þF;Ó£ƒ,.ÏSë7_æl«éÆ2âGOÇQ¬ž¸.×ðÙ‹_0'c8å½³l–ScùçK©:ËVšù{éùð .‡''Ê\ed|‚Ú?^`ðûØß³‹“§Îrþâž8~”æ†àGêX›_q{x”¦†z¶ww‰' ÃàúÀg.`Ø|`ðÖé+|æÉCæqªª<÷‰ÇùÓÿþ2»ŽTÝÇJ4 ‰ezºÛèÙÙ‰»‚}󦶮ÝèãØ‘Cò ùX¨o <·þË ª&Ö„Bc¹Ÿ§B4ÕÕæ~¯óXˆ†‹ÚoXY£ÚÖ4ÕÖø -.}$'`efWn 9º…ÆlFôL «"l0Ö={ÏÉë,ìØÏ‰F;w‘ ¾<¿ÍC*©SúBªâ®a{pˆSƒ³,4m¢N½Ç1Y<ìèÙÂì©Þ¾îÂ09Vw-‡Žî"õöe^}_å³Ç;h¶ ´hˆ›ó‚îÇŽól«=w ™â•w'¸>“ ñAÏbñ°û`oÞú€ãÞ8z¬rҋüøæ8×g4¸?`œZœñ±–º6êì÷£&Àâ2çÙ8y™WßWró|WÓ`wã“„¢iŒ:KÁý™Nl)FÒâ¢Æ¡@tcyQ=5tø†¹1¼H´¡BçátxŠ“ç&ð=rè¾ Ýþ1.̳?ØŒ¿ðúX‹1<†º.ÚÜJ‰ð°8Þ÷ú\9Ÿ…•É«|ó¼ÆÑgzØîÎkñÖÐæU¹ªéÅ_v–œCŽøt¦._æZyQ‘H$‰D"‘H>º,.ňE9²³“Úú–ªívnm§»c·†F¹x©—¥Åü—73¡/ýèuV•Mm­ìÙ¹æÖŽ¢/€4½úÝÒJ¼ü-Ïåh’“§Ï0|»¯Âwl»¶vrèÀ!<Úõî 9´g;££,N ²YÆ/…‡’; Pt(RÆ]Þ§ã+X®;ƒõr"V+Úív’É$çÎ÷"PHgR\¼t—ËÅ×~þS[S³¶5³³–MÞeÞþÑIú»>Mw雦Ñ>þúßýsnšàjy„¾öK|u¿ô+üúw'0¸È¯üÌ_ƒc'ÿð~Œ3ÿÏ»¦ÕòfÑ·ÿ’ÿû/~Èå™86ó‰_ø5¾öx‚oÿ³_ã/ÒpëküÔ‚÷à/ñK{^áÿzÿ¿ù;_f‹À`áÔïó›ßlâ—çdûTô%–˜™Ð%¾óŸÿ uz‚”­ãïŸò‹ŸßC@R³œûöñ'sš‰”ƒÖ](a•ÏüÆoñ?ä×ÿÅ;<ú›yëèðÙïþY€_ú7¿H™>³j¾j0ÆÀoÿ‹¼×; ›¾È¿þ½Ä®ÜsÁWËrº‰G·'yÿÒl~V¼¶4‘ùûþýo=‰ü¤J$’‡‘ååe4« T2+V\ ÊõˆU†¢|ë5/•ªIÄJ+$V\·ÓòpªüÕ¾êÕ,²ÿ](!ÐUEQÉ:ªPP0"ÿ……bhû?Éé—OñtíHV@hv{ÄÒÏÍ÷_"òÈgËãÙ*‹ÆªtϬX£¨2£b&²qëlµÎßö62ª¤öN÷nTØÂØÀaTa†ËC(’'É}§½ÙÏèT?c·kغó™t#£C·Ø²mON ¶iûQn.Ísu`˜xÆÊ‰çÿ¾@]ñµs:ñÿ³÷Þar\çî[ÕÕy:LOÎ9ƒd€˜)‘%*X²W²µ¶×öÚ×^­×®6X²d¯´^Û×+K¶¤Ý•dI¶’IQbIq0˜ÁäœSçTU÷žé™Æô€AZç}`ºëœ:õÕ9UÕU§ýû뽄w¢“|—‚-§€W:.³X¿—#1ÿQ–ÕÈõñb‘ Lžƒ8Øü&Öäî¡Ç÷2véÖž}#_œHH%ÒˆE4ba -®!a†¸„,)(9ñìGˆDVÀd1 É «P`W™ ×S€Éh&a5§~1Ÿ.Íòè|7²5¬¸õçc´\u™ÐŸ¢º$õ©`aÑK(¢©¡.Íg¢·ÛAC]5§Ï^ ®º‚Æúšwü±åóù¹ÖÙÑh ©¾»=µý¯œmghÊ#3Ř÷Þ‘Ƨç(ÈI7y9´4”10;†;+u0ð¢†i¨È§¡ªžlÏÚŸy}>nt÷¡ë:µ5Uâ¤ü³çfÑ¡")ÄõÄ¡×ïÙ‘pµU ·vgµZt¬Â&ÂC»ÃJÀÚÒÆÞ­¢C«;›"C?—ûæØWáÁžãÚÈ*£Ð*½ýEƒŒGM”ÚPýLû%2KÍë †d+ÕÍU Ÿ¼Á³§¢ìo($ÇfD‰„™ãBÇ4[1ö·àPlÈÈçPóß;;EÐàxK»'™ÜlßQÎì©>N\uðÔNáñq¦f™SîñG6užaÎöϰÐôö…âÈçPóÜÙïÍÑX˜œLÛFWuž!ÎöϰØx›qêÑŸ¾Î.Îzì>’…C‚…»´7’ÉMË® &^é]çlì·ã6oqS›oäÕön.šª¨Ï±a&ÆÂäotpUT“gf­ðp½~1Ø©®/dàlÏ_ˆs°.‡\«D`vœ³mƒø³«8^`¹½„† [Ê9Ùͳgcj, 0C&ê›çzû .Ü<’‡;îpu¼ÿ¸*^kVÕ–«¼ÙÖa[!%.3Šazxk> UÛX6¼†ø˜ HdV˜…èP @ð®'ÃnÁd²ÑÖÑÏ•®Aìâq•h,Š®ÆÉÏÍ¢©¡ž²²Jdň¢H4Ö”ÑP]ÆäÌ7zèìê@W“.á˜Jwÿ=ýïvE‡F«ðÊÿçÀ²ð_þâÇùòß}H$¹¶¶d¹ÕjáWÿå/ár:‰Åbèúж:žù×aèO¾Ä§>ñ]šŽ=Åž~Åvd ‰s߯ò¹_«!Ï4ÏÅoü)ñ_£æO›Ý¿ü—|©*5p|ä9Î._G^æ¯ÿöM²?ö'|íp!òt'g»çð+Í|䳆ù?ýçø¯üþ£Å(@l(Lþs'8;ô^*k, ÍÐñj¶}ï§lCÑ¡†‹¡jZh–¾7¿Í×Úv~ª '@tçþô‹¼”ûQ>ûÕƒx¦_æ¯>ÿ—|­àùÍ} í_ÿþÇÕ~éO¾ÊÞœ8£ç¾Í¾>|[c³Qµ1ß<†'~¿ý7ŒÜ˜&'en×ζ4}š6Õrt€ïÝÔ@ðNeaaÝdF’ +âºÕ¤n•4¶‡K‚»”üÀ›8’Û-¯£§k{Uy:±ãªÒ&ñ®‘¾Ii’H8ʺ.£ÉrÂéPU–1h:š´â•(ŠÉL_Ãiìý¹jBǨƒÝnü~Z¹²rWuüVÓQK›¼ßˆtI’7s?Ü, ò­k·¹ž/ãÊðK©áßr<«Ò‡[mxGÐu}Í#‚;Mui&]§±Ù”VÖ3 31:HqYB¤ÇjVdg%÷ß÷F“9eýÅ™z.þ„L»Lq¶ƒ!!X¬+Èájû«:ðtâUVØQ|Œ×F¾†«ÐÂ@ûUZǒΕÙ;èê:mÝXc•ÐBœÐbœÀ¢Š7Sà¬$ßY€+#‹Ì‚Ü„› Ù†"1” Ï!]×Ñ4•p4D,¥{ð*15ÎÔÜ(×{/Œø™žŸ$ Q’_E~v1FÅ”>Íòìu,nêû|[¼€ÏŠ˜pÑ7‹Q1a·¥~ßÕÝGc}M²ï‚¡(ª£o`ˆæ¦zÌf=t?ož»ÈÄÉÓ9°EygÞÕŽsöüEŒ&ûv·¬^ëJºfæ§Îùeæñê™v>üžÃɱ;¼o=ß~Õ“‡A2 ùñÍOQYäáÀ‘}d¹×ê"ÁýC„Ba*ÊJÈÎöˆ“]ð3ɲèHŠï1)ŽQO½mxEÚªèðÝŽdvÑÚRÂ¥Ž^~­U1“[XÊý5ì÷ÀÑ7X$`pà1Kè‘ “qÕ›¸¯2ò9~ÜNÏAÚÏg&#.)8\n*Z¸¿ÌÃ1€˜Ÿ¶—_£mM+FÊìåÁ´“s2Î’OûøÉêÌÙ›´õÐ:sÔŠ³#Í‹|ïB§ÜÕd °äU{³‚J¶QVîæ|Û8= îôÛS\ì;¼ƒ]æ4ƒµNýC´Ò°¥ÑXg¿ïÊ™ïgpd ý°èÚzœñÔý—3Y9y:RNíª ›ë­é§Ûg£«ˆ#Í ‰qζs¼Ìzëâ7ÉDɶfêçüÅ6ÎâhÈX2\T6î`_… 3é…|éûEœUÎ{Ú8ß>ÄOÚIPÅ’AIyO5ä,g,¿-ŒîyÀNÇõAÞx¥Ÿ…ˆ†b±‘_\ƃMyTl˜w:ïþ 'F—¯O™ì;ÜŒãZ?ç^æ§d#®¬vmcG–²ñ5Äd:n¤.CL+ @ Þýd¹¬?zœ¶ gñ{ˆÇ¢M&2ì. £SS ŸÄf>ÍŽm464a²Ú‘$ÈÏñŸ³—íMÛùÑóÏòÍ‘ŸËÔüš /½q·ÓEVa ÑÒXÇâÜ(šëÉ+®  xˆÞ®6[’Îãƒcó¼ðâó Æ•ÊÒjz‡úÉÍ´süÈQ<¹©¿Êö#\íèâZG;±HYÒ)ÈË'®A("Ž`T$kÊÙ³k7æ —xÁ-±,:\óxm4£Ç"¢ƒ~ÆXv<ÌËÍå_þâ'øòß}•H$qX-f~å“¿„Ûå"¾”ÎR×õ ć2uOóŸ¿tŒÞ³/ðƒüþð×ÿ/…G~ßþWï¡&«™ã,×u²ç‘£ŸocÒ÷Æ“¬²Å‰Ëc~j _¼ŒÒÒV*]žèH3ÿR¸‹c%?à¹Óƒö;Rí‘Às”÷ìxŽÿuªoMŒŸsð×?ƱªD´òªbÊí •úKLªëËð¸LxöˆƒY üLàóùÀbYÊ_«“¢äZ7MòÒ›eçAIZ¥Û‚ct;…ëØå­±¹»[±eÕ¢´*‡²„.-;Êh²U—P%UN8dY×БÑ1V·pº·•'ôóI÷G hʘãê™o1þØ¿NI=½^ÎêMÓ'{DºÕؤñõÆá­ö»¾VŒºÎöW{>®dJ›7ZløÇBx(xÛ¨)Íb°ã4v‡‹Ââ F‡z™™@«´~‘m­()¯MÚÅãQFnœeq´’'Vsêw™Nz:»™[˜ÄãΠ(³ÏX‘Ø0ë4C“=Ô•íÀaõe.Çï»Ù±ÒV`&Š>†.F¶©œ¢ì*JÊjÈvåa³8ÞÒ9"Iƒ‚Ýšã8ì™”äW&߇ÂÎ];IYA 3 “LÏO` LÍŽQœ_‘l'1Âe[‰Û?gOá})N³Cý”¤ºî âÉtãÈXç Ïò£çÈqš8v°³9áh1›8´=œ:sÆúj²³î¬ nbrE‘o«]¯ÏÇù WB<|üF“‰³ç/âv:1›MÌ-ú¸|½ŸŽi\Y…kRu˜,Væ¦f¹Ö=ĶÚD*k‡ÃμÖÖ…Éj§8ËÎ£ì£ wmŒ‘h”Á¼^/ÅÅ…äåŠ\ XE<¬¡XÞºîfÑ!¬#<ìïï¡¢¢z݆\®<'×^ Œ&¢±è;º3 Ž<9š·¶s2²Ø³7‹q’FƒzÏb4eWóþãËåñ؃y[ZO6;¨Ý¾ÚíŠhXÓñŒž >ô•Ãôõ*ùð“•é6@åîüÚîå©m¥o¯‚=Y‘.Z\ÛùÄrQUÖ¹iw–5ó‹eKo«×ÚBršóãæ}]_9ÏúÔR|Gq0€ò¦~ØY’fÜҌϓï-K{¤ìƒ»œ'ß[¾A½•~\ï¸Úò8ß|r—ñÌ“[8q-”Õ7QV¿Áy“UÉû-ßB¿$úÓ’YÀ¡ÃÚÊ9™•þœ0f–óÞ‡K׊ÍCó.Í»XsümÖ&²™²–}üÚ>yÕî»Ù¾«•íiÚ3lr Xsyàh.V³x@@ üs@§º,Ÿê²'Ó–B1.\içÚµ+œn»ÂÙ‹—iª­¦eG+vg" N–Ûʱ#ÇyöÇßǨ¨äææPUZÅçÏpîâ9Í-E!Óiæ}?–²í¦ššjJV&lT‰ÓçÏ‚¦¦¢Ž¹…qⲃçÁÇq¯NÍz¹pù }}]HºŽÕd`÷®f1‹TÊ‚»LeA!}ãco¹MYýùnCUUTU%;ËÃ'?ñ/øö?ü#²$óá>ƒÛå"]™Ï•å-LB+nª~sð)~áÜ7ùÜŸ}¿ø~-Ÿýh 3g~ÈÿùÆ÷8=¸$€µ4pt Y|äœûøÍÿbäGßüÿî¾@ÎÁññ?Áî<ó:1ä³ãxßùîëô} ŠÌ+¯0æ>Ä'ŠÌØŸä/ðɵë,ÆBúýÏñ›;$Ú¿þi>w¹‚Ömùɤhï8 ã§ùÜ'Ÿâs«VuîŽòN2£:iôÜ!7P-Èðzý%¦qÁÏ(¡PLæ­]¥õêÉûwÐú1}³uõ´/7y4ÙÀQÚ\wx+Yî¤M6.I É ñ¡.ƒl@•UdTÙ@\KˆØd$ô%1œ¤ë$™™æ÷Ó×ÖNuf8ñ™ ˜ ptñE¾=ðzÝŽUû²Ê÷/ÅÑq3ûF)é.©¯7\w¢Ÿng¥·ä¢ùÖƒ¿Y+™L„Ãá]¨‚;ˆÅ¬P–×/¼Ìž#´‚¶7Oð-²ïÐÃxr RžÞºÛžÇaŠRY¼¾@­¾0‹«í¯rä¾"I’$ÓRrœz¿„+ß̵Á3T7a0$ä*Û‹óbÿ5â ïLCÐC‘»‘Ö¢F šK“îˆwíó'Àd\yöð½”äWP”WNQ^ybYÀËÄìóÞž}í›dØ\˜ì$k˜å4Ëñ¨†1ì¦,k%•£×?:¸+ýŸša玕zÑhœ“m× G"ÔUT’íIÍœ¡( ÙY™ óꩳÚ·›¼Üì;²ÿÝ}ÌÏ/¢iv›«Õºåuç9sþÅEùÔ×T£(‰o¯ëj«èé@1Û9u±ÍèÄ“Wºa[ŽÌ<Î]í¡¢$»5ѧ-ÛêéébÏ®&ªË‹Ö¬‹Åefvž‚‚\ª*Jß±ŽÁÛIiYCƒã+×MD‡F‡ƒ˜Ïw[ÛJ{Æm$:ÒŠ´¢C[¶àLPŒª@ @ ‚»ŠÝjäð¾Vv·lçRûu®\¹È•Î^®tÞ ®²ŒÝ;wãÌÌ&?ÛË“K4ºHnq9BqY5‹3}hj y ”º“³ó,ÎO“›é &(ÊÍex>ˆÓnÅît£i04>EÛ… LMŒàqZÙµcUÕuÈŠQ šàmávE‡Y.³‹‹É÷².ã‹[ŸˆìéépÑuY–‰ÇãD£Q²<>õÿüÁ`0Et¨(Ê-ºë˜ÈÙõ0Ô¼Ìw|æ®~•?þëAöþÊó•íùX§_à3|jíÅ3-2¶’ý|øßíç‹Ý¼ô•Ïó…ÏFø/ô1j éëçn;Fí7þ/'¯ ôÕir޶R¸Õ˪ä`Û~’üì IDAT…‡.}–/}·…Ïü‹m8$P¬n…GøWôoÙÓ÷¨ÚäËØãs Lû¡Ô¦MYW‰©Vy·Ò_[ä­-‚w¡PŒæ¤[\záÖ*E_º,ývDdéÜí$`ƒ_\H·îÞ'¥{³n;7¥N鎵ñêKÂ]ÖÑe dM—P dtdIF–V¤‡ ¹ Ž9·3Žã”ÄŸcÙ´L– Ì¡áüßÑQùy°êk>Ç6ûœÛZ'ÜêØÝœôøfuçV½o^tUÿ7‡l4ŽD„ðPð¶’a5S™ãÒ©ç(®Ú‘—_„33;EtôÍpýÌ)É6a³lüʧƒÞƒLÎ “Ÿ“›å»*È7ÕTú™U‡™ž'?»ŸoŽÑ¾Ô!îÂjöT¶PšWµþµÿ&bj„`ÔÇbhš@d˜&U#øÂs+O/+:ŠlĬØP &¬F;Nk6ÑX£bZ¹W,àrxnÚN”Ò‚**ZˆÇ£Ìz§¹Ú}–À‚™H ˆ»ÐLp1NsþAÃJ[ƒc=ç—§´ÕÛ?DyiÆUóO:ú˜ž] ªÀEsSíšý\ôúèá¡û ‡yñÄI𛍭®¸í±…Bt÷`6›ÙÙ²H8•k]loªÃ¶‰ø018<Ê⢗ûvâr¤¦rÍÍÎâJû ®ô]#·¸ÅdÞ4Åh$,Û¸ÔÑË}»—E£Âу»˜›_X³ýéé†FÆÈÍÉbgË6!8V±Zt¸Ý=]ÔT×mXÇf¶Œ¤×þmxæedeàŸõo9˜¨Ç$§6™Nt…Å( @ @ ¸+XÍ vm§u{#—¯urùòºúFèꢦ¼˜Ý­û0[¬f')ÈÎa`ð2•Å;8Ù¿ô2n·›L·§Ó…$ËH’„®C(e|r’ééifffô8&“‰šŠ®ŒP·­‰ë×(re00:˹Ë/±87 @aN&»w¶RT\²,IðŽÁå¶³¸H[¶Zt¸Ì­ˆª««E'ß#²²²XXXÀãñ‘‘‘.‘½ÚÅB×u¢Ñ(sssdee¥m/>yŠo?;Fñ¾}l+ÏÆèåú©ïóþ\9Æ™6fS\œƒ]áÚ¹KL$§eÌNÒB}“‹¸ÃƒÌDcɶC#oðZ·‡–=¸e;ž,tû‰¨6Ý e5r¬I㯿õm.ûóøÀŽnék¦ŒFÞÿËqñÿßò‡|r‡“Œªû¹/ã3üíW~ˆíc÷S›eÀ;p…îX-û[x´õ›|ñË_¥ÆöQILöãMd©Fqä“g˜àܹ.ŽT¢wqîÜ-!R” &Œª‰ñº"03»Am…µ}º˜×HÎÍË2­âdïb± o±•›Ü Ó¹êÜäØÇÊë´©…o‡ÛH+¼6WoÚÝJ-^m——H½¬KòRÚe)—5 Y–‘% ™Äß„ë!ȺN¤ùa.½vŽý9Ó+É‹e8,_¥·ýubOI“¼¾±¡´¥áIF¬ß4&)n•évz Ýw[âGi‹Ç•t‹ºõuƒX,&„‡‚»F(K»Ün3àJÛë<üÔÏéï¾F]ÓÎd“ÅÍá!®ní™°¾8—kí'É=úsI㮊GxöúŸcÏ“9ß~‡)“h,L]ÍN>PûØÖÍ‘8ÿ¢ñ³þ1¦CLûFXMÔf0%³Å(!+‰’ Œî•ù—0 i Åu4UG×!ê‹S)”RS.úç)/LÍÄ857F¶+‘©RQLäyŠÈÛ÷4¡è# Žuq¡ó5æ}“˜v¹’ëB>T5ŽÇ•“\695ƒlÉËÉ^Õö"W:p[e;~0e»¯ë@Õâd(ÐÚ܈ÉdÄd2òž‡óÂ+oÇi¬¯¹åcÁçÐÕÓGnN6¥E‰ý²Û((È£§w€æm ë®;¿°H_ÿ ™™nZšÓ þ$IâàÞ'^BÓ¶–:!‹¡i*½CãìÝQ›fäÑ×?D Äjµ0>1ÅÈèn·‹Í›Š$‚Ÿ5æf§ñdå¤,SŒ6â±ôÂÁÍD‡@ZÑ¡n”‘bÚÆs1‹ÓQ ·0~³èpÝzF‹i@ @ w‹ÉÀ¾Ö&Z¶Õsµã/] {`Œîï!IFƒJ†Õˆ?¬"é*eE¹è&;Fƒ™¶«í &ÔhÙh5‚ŠDnV.¡à<;¶mÇnÖ˜*Íf´XÅb' 30e`ü@§8?›½»v“WP¼µ/â‚;Ìb ˆË¾~jØõD‡‚w?ÅÅÅtuu¡ªê–\ 5Mc~~žÆÆÆ´åºd@Ÿ:Í×ÿà3ÐÁ˜Eeó^Þó{ŸæÑF'JèøÈ¥/òw¿õ1þœ,ö=y„2÷Šã¥»áIÞ[ûy¾ò[¿À_Ù¶ñË¿} Y&i^®|ç ü墀Œ«â>>ø¦1ˆ®±›Úûw |ú9ü{?EsÞ­ UìïçW»Ä§?÷§Tþ÷ÿÊñ¼ZžþÝßFþê×ùüo|™E°5òôø÷ÝìûÕOó«_ÿßþƒ_æ¯|FòÊóð«K_Žº·ó‘å¿ÿÍæ—¾¡aÌi`s>.SU)«‰‡wþ_üÌoñãº_äsÿéøÈµõûk ê(ÏÿçOñU>ÁŸýþ£Ööé¯ÿÙg¨¹yÙÿ’8Á»UU×üHgkwЛˆâÞöÛp=¡êÛò†¥•õRþnÐþ’k¡¾¼¾$%S.ëKâäðР!Çއ ÷C)‘úI×1Ú3¸Vú$u³‹Ç¶ä((A–Mc÷Õ¯qjû!Èp¦l{ý‘nÎ`¬o07‰õ›»AO8ùêúªº÷Þ–ú]ßÚñ´"F•îÚ¡’Úw2ªª‰‹à®ÖÌ,xÃäe¥¦.ÇhËcçî=LŒ QU»`ÀËÄØ ù…e(F35­Óyö‡È†(Ó†ÛrÛ¬ÈÃŒŒwSZ”µxìäËõ ÷v¢jó´î?BanÙºÏ+q5ÊL`”Ñùn†æÚñkÓ˜lL6c¦Œ£Ð€Û–÷_0­lËê4 Æ#ä˜ ’ËB‘ ²$%Ó@ Ïu2礲¸~M›V“úòVìóÞi&¦Géì ¶t‘X˜â‚Ê•¶C!††ÇØÞT·ê³OãµsÌÎNññ<ŒÉ´Ò¯]}£\îBV|ô}¦ì¬V =È™ó—G£ìlnÚr?LÍÌ208Bmun—3¥¬´¨ŸÏOoÿU©©‘£ÑC#£Ì/x©«©Ày“Ëa0Áë’Ÿ“Hm·Û8ÐZÏONuPPѸÁçœoE ±³¦˜æúŠ7H€šê Ú¯ß]ÇéÈ`[cv»]œÔ‚Ÿi _ël¸{+}Ý#©×Å|gïg¤XâžeC¥ AŽn©±É‰òòo-|LÝ|"HÕ¶¦z¼“õTMÞò÷w:¾PdóÉHLgCk÷»P/×–>ìE|">ŸˆOÄ'âñ‰øD|">Ÿˆïöë ÷ ³ÑÀî lo¬åêõn._¾H4@×%Y'ŽB8è'‰a4D)+.$®)(lÄ7׃ÝSExaˆ™ FiN¡È"ÅÅ%ô÷w2³èÇUX‚ÃnFVÌhšŠ d»8°oy%Bp(¸§l$:|+X.B¾EÑÁï`<uuu 3??¿¡sŽ$Ix<q»Ýiës÷ñ±¿­{P”óðo}‘‡kr{ ïûO_â}«=±ÿ‰¥Wñ»õ¿›n=S9OþË<¦ÈYº‡º¼óÄŽ5‘³Ù¬{ÿöK{nŠúþßùèªÏŒ¼]|è÷vñ¡´ûXʱ_ýŽýêÒ=Pï·ùxY0‘èWøÜ¡_Y'€þÆÿäào¬,©X·¿ç¿üxê"Cþá·xt“>…4ËÖé?@ x§¡ëúîŽõz]¢/}¦#É貌h²Œ¤PeCÒñÐ -¹j,‰ÁP·—7OœâqÛõ„~QOˆ÷Ù¹öúwX|ä—–€,‰*o˜ôå6ôô*BIZ>n^qé¿-ºÞ=Ï@ý·´Òž.IÂíPpWÉ+mBט]˜¥ 'ñš‘ÉEb¦ö~“ÉÌÈ`“ãC”UÖÓ}ýF“‰¬ì„0Ïh¶QÝò0ÝmÏb4Ä176¦ªÍÏ¡£ãEùUý^&LJ©°·°ÿèÄјœ]#:Œ«QÆûè™nc&4„j `q0—°ïüóm4 âÎÊM¾÷±ÛRÅx§oüÅŽm)阗Qµº&113ÂŽº}˜Œf|s´÷œc`´›Ç8Yw`h”üü,–•´ÃWºéëâ±£{(Ì_‰cnÁÏé+½DB>žyì>2Ý®5ÛŽÇã(ŠÂÄħ"îÙ¹éþŽŒŽ31=Cc}5ë÷êk*¹|­“E¯—3!.\XôÒÛ?„Ûå 5Ëa÷À8§/%~øöÄñ½dg&Ök¨­¢½³Ÿw»3sͶBþâÊ‹²¸o÷NìÖµ)™gfæ¸rµƒH4Âáûö'c~Ö †Òkúnw\t˜Òö[Y9·¤„©áá E‡ñ¸Š¢¬ ê–¶ñv×[~¦¹ñYÍ[(jo{=MKüÀLÄ'âñ‰øD|">ŸˆOÄ'âñ‰ø6®·µç#à^a6ØÝ\Ïöú:¾÷“ŸâŸÄdT >ï<: 33ó¼üúIvFÓ±`˜ ûã8m+‚8Ÿ,×*!bxŽéùqŽÕ­üZ)ñRçÿÆeË¥&gÑFvf&c"V·ÃáÖGh¬ÜÉÈÔÓóãXŒn"‘(õµUÉv|Î^ºN]y>ÛªWÚÆyéÍvf¦§yôH+å%…)eÓó^2¬F:ºzØÝº “Ñȉ“oò湋ìßÓš~?#Qú†@’hÝÞˆaÕœU0ebzžÊÒD*iƒÁ@]UÝÔ×V39=Íüü"µ5•kDáH”7Ú:éœÆ•]ˆ ÒÖÞÃ#‡[“ŸíÙÏÿúÆ?aoÚ·²^ÀG<´@y‡ƒI/8œ›ãj{'SÓÓÜ¿‡’¢Bq «X\˜½åuªªªèíí½³÷ð£³ã·½òÔðð¦uÒ‰¹‡ó0jp†“otqÍ·þƒKdn:ÑÉuß½uìŽ]ã;¯±¨A|aï¿ØÉXtãò‘È­•ÿðôø¦ë{5ˆ/m©}ŸˆOÄ÷ΈO @ ¬3—1»È+o¼ÁüäèÒw^*õU Ü쥡¢˜òÊJöíÜC &10ØOwÿ(×Ú/10<ÊÌÔ$³3“äºÙ³{?Õ¥dæ”Ð~£Âœ<‚‘(º®Ñ34ÉÉ7^Å;?#:\pÏÙªèHŠç¦æDÇ Þ,Ðuâ"jÃýÔe¾Û‹3×þ '. ³ô1qå‡|ù«—±ìy†L1@p'0  §~7w«Ú0}Ó…‰Ôôµi€o éWÕ×®¿…öõ›W_^mµë¡,£É2ªl@•ää?m)sB˜H¹l*®âMûýÄÔ„P^rlr{)=ùePÕU™‘ÓìàÒ2]¿y×$Ðõ¤“_2 õrNg@K¦T–ô•ôÊË¥ô}¥¯?RÒ–} ÇÄ-má–•”v4 ƒAwùQ6PR»ÕRŒf)`ÇÞ‘åM‡a‚è\m?%R\^ÃÈ`ÑèÊ‘YUä”ïbjοîvB‘87g0 («¨§²v{Rt˜xV•Étd1=?‘\fR¬8-YØ2,Ž·çÇœñ°ŽÃ¾â&è Ì“±ÊñpÖ?ŠÃ”‹g•q|±¯aˆ)å"Ïßø+Úz_"×S´¦m+‡æš=8íY¼tòUfÇñù}Éòo^A‘4>ºe•ðìÕnú‡8´³†mõ+‚ÄX<Ή³íüø•ó\¹ÖEsS=6«EQ8vx?þ@ —Û×Ĺvý6«•úšÊÑáÜ‚Ÿï¿t–½zîíÝnÃétð½=$I´îhZ#:™äÛϽÁÀL„¬Â “«#“ž‘9ºÆVúÁ㦱ªïì$á Ÿ™Ñ^òì*Ï<²—‡µ¬ƒ!®]ïââ¥kæçñá<%D‡Áx2Üj¤ÞWÜiÑ!€R”U°i¥’ò2†o¹q£ÙL,I7GsOˆù¦¸tu¡°õ~ç«G½\ïšdQ½×ùàãøæÂ2íXeû½DÍÙ8Œ—;M·Xî²mº¾E†HÀKÔœ³iû">ŸˆïŸ@ @ Xªê ŒŒsñÊe¦'Fs#15Îää(u ;ñöÓ;ÜML‡†’"r²2(-n"èL¦Zžô«l//æÆÈf“•öã#qv5ÖP]¿“Ÿž:P5‰ö®>Ú»z)ÎϦµ¹™¢âr$á€(x—àÉõˆN¼ãÑ&/ðƒ :ÛÿM ®·e‹2Dxñ/ÿœ/ÌÄ1¸+Ø÷žß忽o7™B w³Ù ±Ø&µV‰´Ò9ê­^ mÔĽ°»Ó7Y¤¯ú«¯Ý}—nz!I ­ß²ó¡lXÊÈú’øP–‘5=!.$]GF'¸ë}\>q–½¹ ÉMŠÄ ¯ðÕë£V5o}w%’ÂÄ[}É‘1!>\j)û&-+u}ÙS×–ˆÜ”Šx•ã¦)Š×ëi«;³y{oõˆÇ0™LkRÏ wïâŠÕEÝŽ¦¤Û ÀÜxÃ'(ÎswË\~ãGì<ú4¹ù% ô\£ª¶ÃRŠÝÂêÝô¼LÏ‘“™ª­˜õ†šŽQV„²êmk}]gj°ïÀUÆLfò³‹“eÕ¹»h›Àd}{æP²íeäÄ>E¢!$IJ:ôM^£<§1Y æ V—‚%Ã@دR™Ù„Ýš±î6"!8¼÷0 ñú¹SÔUÖ¢ËV:»zùø3cµZ’u»úF9ÝÖζê"v·4¥ôÙ›—ºéšÆD˜ÍØmÖd¹¢(Ü·7§Î¶ÑÓ7@ue9ó ‹t÷PQVBNvê³~ßð$'ÛºíYäæðò™ r3±YL àõù(*Ê'ޤ¤VŽDcœºÐIÇÀ ά\ì&kJ»Î¬|^o»NeI~RLýà‘}|í;Ïâ´ðè#{)ÈY;ï‰FaÑ룤¨€¦†:q² [`n• Àçóáp8–n5î¾áÞ–¼7ÎMÎáÉK?™Vtxo¦¡XîçD—‹Ç=¾Nú/=Îôà#šó½þ.@1?¯a¯´`"ÎÌl£ÇŽEÚ¸Üz‹å¶’­­?5ÝRû">ŸˆïŸ@ @ Séèêåjû¾Äg¹ûvïÆ³râÄs\ï馺n;{›ë˜--æJ{;?yí$’&UPá  αÒhóÎ3:5õØuŠò²yðÐ^r J˜] 3:ÜAVyïƒ3:¢ýÚUF&f™8Ën¦y[uu ÍV18‚·…¢BÆFÇÖ,÷Gƒd˜l¢ƒïjä¼ãüþW¿[ijëüáß~Bt¾@ Ü%l6Ģ˖z·¶òj½Õ‹õ­ÈÊô \o¥ÀiÚÑ7 qómáۭjê–]%]M–‘dU_q>”%‘—»NÓ19Ý\,zŠ:ï×p¯º],sÇØqîK´Él]n$âÔõ5c™"Ôõ›| õ„bŠã’`qY ¸\o9ŲΒ…"[ï«w2±V‹EwÅùY|ÞL¼ó³ÔÔoÃh\q5Yœa¤óuJ \˜  %Ù!.¾þ,{¿ŸH8ÈØH?%å5K—‰òÆû¸~fk(J†ÕD$¦rc` £«œ]÷Kq8déüŸŸèa¬· AJ=ÎãõÏãÌH؈—dÖqiÔE<D1ÞÝs!0#+cÅIÏôb³¤ 'gG¸¿éCÉ÷Ñxˆ™p?΂„ $>e§úàŠ(;õq¦ÿ‡”zš¨ÌnÆë 037ÏÎæFdY¦¸ Smgik¿Îñƒ)Ì_qR\ðxõì ³Y¬°,B ÐU]’ìŽDJéU}„Ñ”86=Jô5€Õ†dPíVú»=ÑŸñƒ‰±4‘Ì–D†B‰2t°ÚA–—öÅ®k ÀºôÍL,–ÜoÌ0í &úH_nCÓ èOè)X¬ðæ+ëäï¿õ-dYX* î<ûȱš%Z÷ÁnÏÀd2a4Q…mÏá6úÉtZ‘¤•ç#“^¼Z&»Ž<Åp¶ y¥É6£!?g¾Ýcx6FEÃAJª×ÃÞ™QF{ÏbˆÎ‘iÇlLˆêzÇg‰{êØÙ|,Y·mðy†8…=ÓxWûcn$B£éqš«Ð?ÚE†ÕIŽ'‘54ñ÷¯þ~îè§P–®Óƒ³œ™ùî3 cQ ã8´íñd›WFOÐá} Y–Ȉ•` 4ÒÚ°#%Mq<§ýz±¸Ncm%v»X\å;Ïž$ ðá'HqA¼Þ;Âó'/á¶I|䦲`(ÊÌ‚—ÝLgW/5UåFþïw~@yY1=ˆ1Å­0ÎëmôNøqºs••>ž¾S‰ñÄÇð¸W|åÇ'§8}ö"ÙùÅ\éÇ•S€Ñ´ñjcÑ0±…Q>ôø!2ìÖ¥ýVyóÜvïlÆb6«ŒŽM061A^n…ùyX,fq¢ [äoþæo¶T/‰`2ß½sK™]œ#Ëu÷Ò§ô÷÷SQQq»[Æ™—U5 ×»òùéì^ÀRZK™}á{ªÑÍÁGޱg~€g/DÙs¸–"m†NŽP¸•&«¹š#ë”79$ Š½Sý¼t5¶nùòú;öVSaœ[·|ÏáZÜÁ)^;;Jé–´å">ŸˆïŸ@ @ð³ÃÀØÏÿäŸÐã«y}Õkò¢Z[v_P’øÆly Å (hQ…“gÏòtN>f‡HTó¸xÜ[ùu¨DGÏ]1&E!®Æ1ƒDei•¥Ì{ƒ\í¸NggÇRæ¾”V®wõà°)<öÀdå—ˆÁ¼íH1Mª®‹Î@pOp¹\ AŸ¦­Íl»ÆÑï¦÷:+ 9=ÝJiüÓÞöè+ío˜Ÿ§0 IDATYJ‡´v{i6™ZK_cØ—Zk ÷fIWA}mI:rB`'ËhºŒ*ˆK²¬/‰‹$$–Üu Åd¢¿öý ~‘ ºòŒd×9Ø÷-^¨Û¿$~dm/;AÞ<\É´Ê©î†zBx¸Ê]C^ª§-¯§ièÚrdC«R9¯ôÇ-ÜÏJlhn©ozÐmt<é+C³ºOÒ¹.ïZ(ˆ##Cˆw OvZÌÏøðUu)e…U­ \} ³YÁnYùQdqž“ƒ“t]>EuÓ†ú;±Ù8œ ‡B“5Í’ÇÀô{ïÿ`rùÊüKáÎ3§oŸíÀêNuA,Évs~´›PÝ>¬æ„ˆ·*g'×»^½ëÂÃh@ŵâ8èõ/Ÿ½2'Ó;ÑNYNSRt‰4ËæŒ„hrv0Äc‡®´Ñ=݆³Ä„b”¾<ÂŽÌ)¢CH¤EnÙÞ„Ïççr{E…¹LÌú }¼ÿÑ#)ÂÂñ©y^;×N¦Mâ™÷K)óÃüÓ‰6æØ^•OËözÌ&3W®]gïî\»~Ÿ×Ç“˜ï †¢<ûJÞ˜wöŠÓcÈçeb°ƒ6³£±£1Õm° /I’9{©‹âÚ– ûTEøæ±awsMRt˜Øoy¹9ŒOb6›Çív±c{cŠ#£@ ¸³ÜMÑ!€r7E‡À;@t¸Tf†FPr9XhÅZ¸Çñè„}^¢–<œFˆÍ{ñ2ðX–~µQùòú~/QKþúåKëg!\¿Üi„XÈGp£rŸˆOÄ÷ŠO @ øYA¦£»=aÏö²òKˆÇãÄâ1b±V³‰Òâ",¶Ô9á¨ÊÙ Who¿ˆ´”ªkÞåÇ/>Ïc=†9õå4 ®tõrúÔ«,'¿™˜ òÕo~‹íõ5´ì؉uÉñ#ÓiãÈþ]ØÝJÿÐ0‘ “ɈÉhB’ tô 2Ø×ÅÙóoòøc…è«Òéoï´gŽsóÙ(#Bt(àžât:‘¢ÐÔ Ò-ß,ÊK37žV4¸Vȧ'KnõHºI`§'7šŒ(¹h é’7½ÝBÊå5m/í,%eU–1È2q]G’äñáRædI×0–ÕóZÿ.J´³(†å'085Í¥3ßeö‰ßL—wV×ÓÆº"8\®£#é:’DÂeqYx¹ª¯U¬2Úrûºšìûåmëš–"äÓ7îÒ ú_'õ)ͲM5)õuê`ꩯ—b^Óv(€ÓãÁ]#ðÒ²s=×ê뢪n{²Ì•ULýÞ÷ÑåE²µNÛŠP¥¶,›öÞËŒf8).­a ¯“ªÚ&"á0gßø …E}ô(ÊMYfF»˜èkÃeŽQQœ^—b2°bbjŠ’ܶ\ò,u„˜íwo~$ìã´%„’q5ŽªÅ“âG€þ‰Z+Vœãj”¹È0 ‹ãòá°»“åÝSÐì‹(FÁ°*h9кîöŽ öìÚÎ¥«¼vê|â<™+óR ¾Ïž8‡YVyæ=ÇÈX•^ÙëñÜkŸž£8ËÆîÖíÄ¢Q.^¹FQa>Ey83ì<ûÓ¼ÿ‰Gð#<ÿúed‹GæÊufz´§åx¼Üìuc}ôÁ#|óû/ 0YíkçÈÔ8AßÉîÖf¶5Öb·Ûʼn)¼Ëéq¬ÒŠ@ù-¥Z.¬«a¬«{Ír—3‡Eïô†ë¾½©–WêÉÁ1^¼)ÕrlqŒWü”µVSa1¢ÆyõÒœHµ|å">ŸˆO¤Z¾•z">ŸˆOÄ'âñ‰øDªe‘jYðV¸Ü9Ä'Jce!‡<€Á¸þ¯7ãªN{W/mm爆XMv·4“•_Á³/¾@,èÃf–9¼?啵Ȋ²Á–%ƧçyóÜ9&FÈÍ´qìè#´÷ÒÑq]!K;êhݹ ³5cÝÖ"1çOœdl°› å8ô š^Ám.Õr<EYåVÑÔXŵŽÞ”:-õ\êè\³®?&ÃlyËq‰TË@ðÎG¤Z¼¸rå |ôç‰}ê¿òÑu0©–‘©jÃÁD c“9ñO’¡¥4¶ØìHCbÝ ?!~3À¶œj9ápâµÉ‚d2'ŒCKmH’=I–Z±€/¡![JµŒ$A,²ÔÆÚT˨j"¾å”ÏKét0™õYJµ‰$L­v¤å”¼?’¦%Rñf8–Ò5kɔϒɌ´ä ¥G‰TË,ÅlH<Ã$ÓˤŒŒ„ø/€YÓP£,£ÄcC~Œ±Š–p:”—®j4JxnšCmŸaWA0EGweÊ·Žþ9zõ6d´``)Õu"=4’‘z(ˆÙl£)!8\JË,I²=}Õþé ÑMæÄõ(A„Ñ4ÝlA7(‰¶CĵJ×ÁæEA—$ø}¨“ŽŒ7§ZÆ $„‹~_Â9Q–Á–½èñ8z0˜ˆÃh^J%HµÌ²Ë~Jªe_BiXIµ¬Çb^J¿g2£M ]a(}ªe=èO˜V°ZÑ¿ý~»µžOúÓâ‚ ¸+|âã?OA^.%e• Ü ²kßQÌf ƒƒÁ@, çâq™"d:W\袱8Wº'©Ùõ8w6}]Wꡱy/•uÍ)Û‰Eƒ \}˜wˆ‚'&ãÆâÁ9_n¿ÂÑÃưt-[èæäø×È,ºu§®hHE&œQµ%á¯Á(£Æ5$IB1I-zN/ð¯þ ²Âœw†©ÙQê+v$ÛùÇ×ÿš'÷2éx¸:¦¾s^>²÷÷p;²—æ¢ü¨ýb.  ˜$zNª<½ç×(È]™÷|ór7Áp„ý;j±­zNW5ÝýC!š›ê1ÂÑÿ£×ÐÕpZÑá?½r±‰I4W²s{=^ŸŸ¡‘1êj*p:V;ºº¹ÒÑGX²aÊÈEYr> ù¼Ltq_k-{[›Pnš›š#ŽR]šŸ\64:ÎwŸ?Kaõö”º!ÿZx‘¦ÊB¶Õ–¦¸&Çx~7NŸ`gËvŠ óÅ )¼EÒ¥Z6Û,D‚Ỳ=»ÍN X³|Í,ºd‘ÐÃ:j\Æ l<ÍNtl*:|g¡á›]d.`ú œ_U2sêƒ5õDyuãÑa8°@wÛq[£fn).Æ>1ÊÜâ49ž \UXsˆGQLkOòxD'¸#¸'Ôˆ†Tˆ)dÛ‹°˜2È0;pÚ2‰i±Dýx $ˆÇ££~&}“¨ fž=ùMœöL‚!?6k…¹¥8í™Ìy§ÈÊ(HI³Ü7s‹Ó€o&F•kORtÐ?{•˜e»ÉÄLŸÆöüã)¢Ã©9/]ƒ3芕ៜá}Mç'\ ²LC]“3\¼ÒAIqg¯t¯+:üþ‹gŸ˜àøþfö´4ÒÛ?„×磹©³9õ™½¶ª‚3mí%[VblÙåðçŸ:FA^ªËa$çÂÿÏÞ{†Éqºï©ªÎqzrÆä0È‘A$Å(Š’MI¶å]o–u}×Ïúñʾ¶wí][kkmïJëu–dKÚµd˲-Y”˜ $@agƒ&çÔÓÓ¹ÎýQ==Ý“ òyŸ˜îªS§¾:U]]ÝýÖ÷]êæâÕ!@RTà#賎šÊrêÊýLLá ››%›¢¾²ˆ½Ûâ[A8 ‡ç8u¦±‰IöíÞA]mµz!*w€é‰I‚…¡·-––—124Œ&¦È¿rYI:04‹ZŸ›žá ëš&–1¾;û5w2½¾"“6µ õu3íÒ¦@JA:­“Lk€Ž¯¶¯Í¼A¥5ÌÈ ÇÚ'¨Ú¹™¯†LCòˆ/7ÞéÛ¨²iDç# Î |å6q“xR®9aù¡„š5æ/,ͯ9?:atŽ5ç«øT|*¾÷P|KHdîÜa?]Æ“òo§âSñ©øT|*>ŸŠïŸV| ÅíÆaƒï¹—o?ý=._ë§¢ô-m{³?æLÍÆùÞ³? <9Š¡Ã]»¶²mÇîe™‹ <|ìÉ'h¿ÜÉùóçˆÌ‡¹ØÑÍÅŽî5×_\àeÏÎÔÕ·äý0êvÚ8´w;»·o¥ýRgÏæ¥×ߢûZ7÷ß÷nÿÂﯽuŽÁ]øì|ð‘ÇnªÔ³B±eA?ÃÓ³Öwp©$6ÃFÈçd2l}ùhèNRiëqai!#ëö›™ÅØXÙ·‰H”t¨P( …â& ƒØhlÞÊP˜GN)_)–Ô3^R6R`w‚á‚Ô'o®»¹j™˜¥\¯Åª2bÞä\ár­Õåʇš†©é˜šIZhhBBCš••0³ Úõ0¯½ø&TeWj×áœäÚùã¤wÝce\(¡,Íì.ô•• ¶YZ⡎‰¶PŽyað¤iW^è+ó×4ML‘F Mš -!Qšf¦Î-•ø[©DtÞA°¹å´ÅÁz^£Ì4b.¬ÄCŧ°¨ 3d°¿‡’Ò JÊ«ééº@}ãV\ëÜks¸iÝû8=_ax¢²B+ƒžÃaPè‹g_㮣OFꥴ¼&Û¿¦ÛHÆÃx |7WUÈKÏõö¬x(„FCÑ.:fžÃWlý:?•$:•"<‘¤¶ ê@ÅåUÊp:<Ø û†×‰†é¼qžmMû™LÑÞuC3xýÜ ÄbÉÕÛH¥SºAÚL1:߃»Ð`¤3̽»îÉö•6S\>Ž§Ü : r¸’}Gdç'S)^;Ó‰ÝW„Ýé&™ðó܉+ìn­b{ËâØ••átØyñµSLÌ„ù‰'?°L:ü‡gfzš=p€ÆMÕ\¼Ü…Ëå`Û––eY  Ãà§?ú_ùÛ§™dfl€»v4r`÷6l¶üöCcS¼üæeæ’Þ¢j’±Ï;ÃO5»â¼‘¡a€¬tèÐÄÓkËŒ†‰Ò‰®}Í”HCÞÖÞHéá;ÑNÓ$BHt=M—+^_ ͺÖµ•ÛÜ©øJ˜%Â³Ä ?¥>g2ʤi§±ÀŽËaý8¨ÇÖš¿°¼oùÖòöÈÚó–¯÷ÛT|*>ßû ¾¥,TdØH‰D0ßñv*>ŸŠOŧâSñ©ø~Ôâ»ùRË ÅÛþÂ<èâÉG?È·¾ÿ.t\¡±ešÍA*ÇNœ$<9B}U)G߃Û\µ»McïöVv·µ0>9ÍðÈããD#’ÉBìv^›Òâ"ÊÊÊðÖ¾sßi×Ù¿s ;¶¶pâô.´¿Éwžþ~üIÞé´dl|Ÿ[çC>Ž;P¨v¨â¶° Ø2Ù¤C +’’ºd£E— =µ …B¡PÜ4>Ÿ¿ÏËÌÔÄ âáZ¬&m`‘Õæi,ʇ¹š”yÂâ27p¥ì‡¹/®¾ÜPœkj‹¹ýˆlB+ç h¤¦‘Öt«³ÐФ$@ËÄ&2r ÍåærÓÇhüjB‹%k Lv¿õçœlÞ"SR:³‘"“­pA^Ô2™ 3 èXÓ­ÇÙQHL,AÑ” B¡‰ÈÈ…Â ,ÙPJ‘6éÒ4²%”Yº/Vx,óFP¬"x®!ˆ.•MµúÈóåú‡¦Ò)´È,eeªü¨âÎãr{©­ka¨ï)€’²zº¯P[ׄ/ó]‡awR¿í(7.gp¬‹Ò—‰Ù(ÃÓ’»üq&F‡¨ªk¦·û^¯ÏúÎÅîôиûq/¿@iP¬[fyÒ€®«‰l>„ÇeI‹5Á-¼uòy¦ø“eÔ—m£¶±…ÂÝ%Ømη5ñdŒ€¯C7ù‹ñºìÝ|€D2ÆðxÓáI.vŸÂépƒ‘"¡Í …uª<Û( ,f3˜î"j¡Àá` Ýähë}8‹7½^èêg:*ðZ¡Íî@ Upòò3áyîlÄ–‘ƒA?GîâJg7©d*ÛÇÜ|Œ¿ÿÁk¤Q>üð! ‚~Ú/]¡¸0DMUEÞ¶ML‡™›S[aÉ~6›Áãäß~†Ÿ|âT•çŸgâ‰g/]ãRÏ6o~Ÿ•¹Ðáñ35:KOÿ(uU–]VRăwm§  Hs}ÍòqM$¸~£Ÿ¹H„Êò2ÊJ‹Õ N¡x±št¸â¹r éP6d*‰8zôèÚ—:R'*czj o²Ýé&›¿å ù»¯ÿáºm’i}CÂÞíl—HéÁ;¾^€€ý»Æ£ñýðw;ÛE¢æ†˜Tñ©øT|*>ŸŠOŧâSñ©øT|ÿtãë½yñp~~žÒÒRõi_ñ¶Rç›OÿèÄu~âÇ>ŠÝàÍ ]¼ùúKl©/çÞ{F¬p×÷;I")ùÖ3Ï21|ÚKãÖÝÌÇLþæÛß"hDyòCO¡-ÉĨPÜ,O=õÔM/c÷;HÌÆó¦••3>|k £‰.{~–‰_ø…_P;G¡P(Þó×SViSÓ4I§Ó¤Ói¦§§±ÛíÄãñì¿«W¯òÙÏ~V ˜âއ|â N4»,éK×n ‚Ø< Ø–X‹"R)Kör{šH˜Ÿ³œ;]‡lIˆÅ¬¶v'Âî@ÑyH§­¾=^„®!M ‘9«R±ndâ’ ˆÇ¬u;Ý›Íêo~ÞŠQÓBhHiBdÎòÿlv„Óe-A"n•vy†aéwóa0%BÓÀã³*H™³d>‡Ãêñ¨ÕáõZò ç MÐ 4¯Ïrà’ ä|¤‰fØÑmz:… cÄ¢f‡ÃŽMšé4D#€D6ÒºÀ3ÿƒŸ*9‡M_tì&"ð¿ŸdîÐG0S)4ºÏ&„WtÞÊxèp¢Ùl–8?‡–J¡ îö !Ñ¥‰ˆF‰©ëÖ:M‰™ˆ‘ŠÅH›&¦ÍŽ©éMCÆ¢HiO¥I;=H— ìddÎ*ñlØN—¥:Æ£HXÇ’Ûºaµ™›µ25 -»_e:e™}åpXži, ©„5Ýå±DK$DÂÖ1¢kÖt@&“Íü~îp mvkÀ¢H§,ÿp¡Ì~µŽs¤‰ý·‘Wø õõõê„ ¸#üÂ/üõõõ8ìv;6›™©1æ#³”–U1>2@yuÁ‚¢LÅëÜÜ×y’Á®“$D€=÷>‰Ç`vz2Ó¾žÝ—¨onÃîX,µ;ÜsŽ™Þ7©*Ûxe‡+ý£xjRYÖ@g÷9&gFñùƒlªj¥¬èö–èíêÆawPZXE$¦ãF;»[¯Øvfn’žÁË\8ÎäüOîù5eMÙùß¿ðg˜ÅCÌ S{yäðcÙñ›GøÞËç±ÊÐsÊ6/0;9BОæž}›) .J÷Ó3aºº{hªßDÊ„o?]&xò¡#¤Í4==}46ÔRÌߎkœ8ßCÚ4yìÈvJ‹o½Üq‡ÃNý¦Eap:á™cg‰$íxƒ…ÖûO©D¢ã<õÐìvë}&‘HrúÜEöïÙŽ–iŸH$èbjz†²’bÊJ‹WÌÀ¨P(n_øÂÞq›jʸÞ;œ099K(”#À‰tžtØT_O×µkoK:T( …B¡P( …B¡¸]!ñz}L¦˜Ÿ›¥w"Æ©“¯âsiØ{ð]—ì6Á}‡ïæ¾3ÆK'ÞÂíõ‘v”0ž¦²"€®ÛjW*n3N»“Xbír(K¥Cà–¥C`™t¨¸5&''`bbÂúq|ÕóŸ  Q]]MAA8…B¡P¼Ï¯ë5ÕÕ¼11’WJØÝV©iœW.Yä?’Kç°brÄßi7TfY®³Ð:‘¹ƒ[Üf±áPIJ퓙¾òSñIM` B³Ä;MCH“4šM¤B L+s¡¦ Æv~Œóg®°»"ží-ä{®ÿ ßm:ÁB@Ëd1´XÙui¢™f^¶C‰†™yl}¦“™’Í& a’’™Ni"4 mal25Ó$N"ÒŽ²<æTA–9ƒ¼,óavXn¢Tö “rºe¥ºs¦‰5ú™™Â© us¦âŽ21ØEeYGqö¼[\ZI,`d°—‚ÂF{I%â—UeÛ¸•ÄŒRö~×ÝüÁÓC ÷wSYÝ@O×%[w g¾ƒ)«ÛA<fd¢‹ÒÂe±õ;]œ<ý£›†©®h`ÏŽ{×]&‘Š28ÛM*g*2B,5G86I<a>ÆÔ¬Ï¼é”Äix°iN ÝA2,xhçO0™¢¬°jÕu¼!v6fó¦Ý\è`lj„x"NYaQs–úðš}…ÜsÏÑÊ‹/ý€|ö%l6šLQ_[‡Ô4µ·‚‚¦¦¦Ö•Ÿ˜¤¨0tÓë‰F¸\J4¼ÝLMMÑÓÓÖ-[ضmÛöC”K—.ÑÐÐ@0¨¾ƒU( Åû›ÚÚZxåÍuZ‰·¹ys}È·ßFÊýo‰°˜§Ê¥dVb“€X2?OM\¡T³Uù9§­°þ“BCjSÓH !4Rš–)‹¬¡/”M6%š)q”×ðZÇQšãÏàu,î…ƒ%Ó¼õÚ×zøSÝ@cQ<ÔXòOÊlÙek±ðÉÒÉ8sÞÂ~ùB³½`¦‰Ú|Ì:‹™TAA "XˆðÐt)ÓÖ(æŒ";ær#;Inpÿ®tèˆ%»u¥Ý!—îžLÇÉ1ÊJŠq:êD ¸cÌÏMqíüËT6l§²®-;Ýë ânòѽ·ÛËäÄi3MYE-á™I:.¾ÅÁ{ÇéZ”Ó±³C癞Aˆ£ ‹é¿ÑEM}kV¼«lÞÏÕ·&˜›Åï]ýØž‹&èº1ŽÍ_Ekku”Õ¬Ø6–Š0:{ƒÁ™.Æ#½Ì¤±¹t ‡†a×0¼Ö_›^ `éͨq¤Œ1p|·Ó"'gƨ*ÍÏ4šHG±ë®¼i»‹Íu;1M“©Ù1n uÑ5öF¡`¬+Í]Gñ¸ÝÙöWzM,Y»ò¥'PHtnšï¾t–ÇîÝÏc­×írár:HDf9xd77úI§Óìܾ%[š –Hòê©Ë\‹RXV‹¦[å­cóNN_¼Æ¡]-èºFc}-ç/wÒ76Ï\ÂÀ_\“m¿@:™ žÂAœ[7ÑZ_‘·>€MµU¼tì ‡†) …ØÞÖŠÛåR/2…â=Œ3è'6={Ûû]÷–ÿ\éðVQÒ¡B¡P( …B¡P(Š;Icm)ݵM Üè"èsqäÀaªëšßsY77T`·=Æk¯c><Åæ†jêš·ª¨¸­LMM­Û&a&±kVÖƒ[‘ I‡ ?8)6ÎÀÀMMM8LÓ\·½Ãá ©©‰ÞÞ^%* …âý]ߨˆøûï€if3×-G® è-™¿öÊÍ5_¹Iríå×Ýɲb!›_þæÈeVœ)rü7aµ™Ézhj¦´ÄMhÒ*ÏŒ ¾ëQ^}ñ×NevÀm—<™¯tßm–¨(,¹PÈEÙP—VvCM€.¬¿F6ûa&6i¾rsŸ«‹š£P %¤$$S—™OÀø5ÁhÄ`hÞÁˆ[Èûa IDAT­”ñâV’[ ªëÁá\–Ù0—ޣܸž]zØÈUŠÖ/–ö!Y¦ŸŽR·iS¶l©Bq'(ß´{z’Á®S¤caê¶Äf³>ÚlvêšÚêÃL›LOŒ1žahà:»]&vœü6e¨ –Ð~áyv=†®Œ Þ ¬r†a§~ǃt¾ùml¶.G¾ž’H¦¹Ö?É<~¶þ8…¥Ä“Q:®·/¯Ž½Åµñ³L%ûÑ])ìnGN‰á¹éqBPä®ÁЭmO¦âøÜ‹%‹/ ½J{ÿ³yk©/ÚAuÁf†‰‰@CÓ4 ƒ¥K øBk†ä„Fq[q¶X"ÉéK7ð”oìóµ7H|Þà[/œá#ìÆi7¸v½·ÛÅ“ÝÏ÷Ÿ}™»î¡mKsÞçìÙ¹(ßå 1é$X”¿.O ˜ö®ëÔVSYj}îø}ºÁÈäå›ZóÚ›é4Ñð$$#lk¨dçæ:vcɹO2::Á™ó—6·4-+÷¬P(Þ;˜Ñ(ZF 6ظÿ7;5‰¿`cß~¿‡ÙÙš±H»ÓvÇ7,‘Teš …B¡P( …B¡PÜ>6=t/°X†ç½Zº¸¡¦”†š§ÔNSÜQ„‘F¦ôUç/H‡7K@ 0cÎl¸ýZe‚+366FKK éôÆ¿v:LNNªÁS( Åûž††ls³$cQp¹7rÕ³ÞÕÈ*ÓÄš]Ê ô(Öl±~VÅl ±^ƒµ7+¿ snн•·] ÐRjYù0-4tM#mJÒB hÂêU“–Dhw{¹PöÛg¿FE`¡7ÁæÒ$-g¿FWͯgC&š4Ñ2Ë,”W&+ ™Ç:’Øè ‰W¾ÁÁø´U%Ñ5R`ÊÅa°éŸ¼¨ ¥0eŠTú‘x7=¯=Í›så x cÿ}V©g!ò‡pA¶”«Íjc,—Jr¶Ò"×û*`x€æÝ›Õ;Š;ŠawR]{™á«„§úé8ýZv>€7X€®ëTÖÔ335Ák—é¹z‘Êš†<é J Í4 c³´Ô•Ðuñ­{ar|»ÃE¨È*nwz¨Ûö×Û@EH`·YŸSÇ MKêÛî§¼º =“uÏiw#¥I$ÆãòV9åsýÏc/›'ä[8{Ü:Ñ™Å>«´r$ÆÐmyÒïX¸µ ©÷qv¦‡sÃ?¤ÔÓLCáNÊüu±Ø¶²¸ž¦â{°• Nž=MMem-m¼zªÓîG·m¼J€Ãí%|í»¯Ñ¶©ŠÒ"JK‹¹x¹“ý{wpúÜ%ê7UãñXï#ãÓ<ûÆ%pñº——³Ö4@q%/œ¼ÌÇ>€=#îÙ±…ËݽÄcNkßFç¦!1Ç–ÚvlÞ‰Ó±ü;ƒ‘ÑqοL<çî»öR n|S(Þsô÷ RU]±xÈÉD:7Ùp?•´ÙY«c3ͺÒaSKãmÙP»Í­ö¶B¡P( …B¡P( …Bq‡)‘ÈØ-/Ÿ4Ò„ŠŠ–M_K:LKK”«*oÊN ´J/ ÒÌÌø‰LöB]šØ·ÞÅ‹Sõ¤ÌÅ(tMð°·[ûk–x(MŒŒlh ± ‰Ì?†Ø»h‘9fŸù:ÕßÿU~ÒŒ]•) Í’÷L¹èÊœÍ46QJf¢’Sסwܤ46@Á·þÄ·ÿ aš MDޘ˜#B¬wÜÚ~^šQq}[ÑÂL#FimmU'ÅG× ÊëwдëØí.:Ïü€‰¡«ym‚¡"ÒÉ$•5 •Ñ×ÓÌÉÆîòP¿ãŒ„5fçbx]vÊ\9ý<¥å5Œô‹. .ž`)E5»“L¦9syˆQÅþ~‚ªM­YépËOß`gö¹ÝpQ]°iÞž1ˆER„|eÌF¦ñy‚9ç]“©Ø¯Ý¥(sà¯K3å:ÏK}Á³Wþ’¡™kÈL0}C8lvv¶µqdÿaÂsQþöûߢ³w·¯à¦c3Í"¥²¢›ÝÆ…KlnidÏŽ­´mmæ{?| €öŽ|ç•v4OΤÃlv)áäØ[—²Ó ÃàÃ{ëí"™%2ÞKmÈàÇÜÃÍˤÃpxŽs.Óuí:­-õ<ñèƒJ:T(Þ£äJ‡·JooïMµ_µÔ²]w’HÇò¦uu\ÝP§>oṩ÷ä §çÇ9~f‚Ðö&¶úMôùá«<}nšÜ-6 jxdo •ÑZ¡P( …B¡P( …Bñ>£ÔS|ËËÚR:“ããx"3ëß­ ëÇ¢þ¡.jk+¹qc@íˆ[`#%–sY+³¤Qõ¿óÅÇÔ * …â}A(¢ª¼œé¡~ÈdËZ™åâ˜X^˜ÙKJb=½l™­—ÿ8§Lîº ­ Ç«†"+¨åŽDT“‹…‘—Å"W½ËšËÕÊ92#¢e¤Ã´µN@Ë”[F‚&Â4±Ûl mù1.^ý<ÛË“ÙrØU’=W¿ÉÅ=÷a‚hXå–uÈf;4Öt!ÐÒIÂ'ŽStæë4Mc°÷=W/QSߊaXЉ· Œæ½Opõ­ï!eŒ€ÏIMhž‹o=Ë–=àF÷Z¶ad2þ•nÚFdn†öÞ«4íyœòêåI¯Â“C t½ñ ®Ï'i¬Ý†aXË7–ìáêÕã¸ÆÛÞöx8MAU ³‘)JC•Ùy3±qâÚ4>\yË8}NŸA<ÒÏ+ƒãz;Ëel"É®6ëµëóz8¸{/W®8~º“¹é ¼Á ÇžC†yò¡CÌΆ™ž²£m3v»%îÙ±•h4Æ_û9fMþPEv|×Â(¤g¨—‘ñiJ‹,aÐå´ãÖbñQ>ôà]}ËoœF¹~£Ÿh,NmM%E¡•EÊx"Í0T©x…âG„ššš›j¿êYy©tx3ŒMŽâ´ÛÞsƒ“ röü zcnò“B¦‰Ìı•6ð`[n6=­Ž&…B¡P( …B¡P( ÅûŠD<ŠÝậ}nD:ð8mDbÉìóŠÒaoo/W»×m×ÜØ°æ¹7SfTIk…B¡Püè i[·láüP/bÛžÅ÷:òÕ°õß×™·†„¸Òº–WÏÍÑ-«1G+u˜­¤+óžäx‡2ýR®¦åå–åÒ(YV2X25•‘i0…À\èKž eäC ¸kš8Ö½ŸÆÄq\YßEpoé(ݯ~í±e•P‹¥” $š´ÄÃØõNô×¾ÆýÎKlªM[¥…s¥Ãœ— ‡iSru®Bk9”¹•‰í†`_M’ÎŽóõ-VÖF˜)%"“©Q®Z‚{£W~ÆÍµª2/{¾’´:5GšÔÕÕ©“€âŽ2>:Huu%‡#s”Öl¥¸¼žÞ+Çé>û<•[¼Î¾ÃeE²Ššz.ŸzŽ“/^`ÿ}?–•ÝìNMû>H÷™gILMQ\àa>>C×ùW©iÞCßõNj¶ i#C½¤t7ûŽ~×’Ò͉è]'ˆM]£$äÅ*`®ˆÞÁNêkÚ¹Ë)¶7‘ˆôb÷¼½RËñy¿Ç2FæcsxÝ켉H?÷êý;<:Nb~†o¿ö5>vøç²2æÂ˜nnj¦²¬‚¾ò&£½”Ô4¯Óäð ¼Ìóè#GèíÄãv±usÆ’l{v¶qüKMyÓž I‡ ï­N_!ožïæîÝM ˆ'yäþ»9sþâ2é0™Jqíz/ssó4ÔÕ ø—õiš&ã“SÜè`v&Ì®í[ …TD…âÝdj|Š‚¢‚[ZÖt™žÇa؈§’ë¶ê§aSÑxã¶mAÎ];‘“éõß ÒæÆŒèõÛ™Ìts¬3Œ£À;•&ÖI¦3ËÉ$S³G‘Ý´.¦oÏzo®]4¾þÌñäBñw®]"eZý¨øT|*>ŸŠOŧâSñ©øT|*>ß­·S( Åçf¥C3n¢9ò¿»ÒSi#uÓëΕÿ©RSSCo?—.]YµMKKóºwßÎŒ‡©þïóŸÿËKøOŸáCÎc|æ³/RX›æõ/2häèÇ?Îî™§ùÂßœfÚYÆîü¿ü‡o'8ßÁßüÏÿÁßž&¸+öòäÏþ{>¶³ÀÊ~”åÔ?|/ýí N*[ЦuùOÿ…'j R“çøÖŸü)}b€„½ŠÃ?ýÿðÉ'ÚjQz_ùþŸ¦}$ÎZøw¿ÌÏ>X…C½„ …Bìܹ“¿þË¿Z!3]îÃå™ýVx‡\ZFâ“ã-?+âJm×^“Èm“¿«ô+YÏ’\PÛIJ¦+ȉA/+Dæe=”y}æ†)…@ ©Ô4L¡a’ÆÌ)L¬-,£ÁܾðƱs­ËÊ“Aìïý.oÜ­´2+Z!91Êü _gûô‹ì¬ˆcÓ3¥žsÊÜì†y¥–¥d|ÎõB±Žn¶äž•.¢ Àái•ˆ^üD.f\V©{#ÒáÚä›ë¹e û{hnlÀëõª€âŽ"H3Ø×CII9Åe‹Yþì.-{c¼ÿ2§ßø!{Ž|›=_j«iÜFøäÓœ|á›ìºçɬŸŠOŧâSñ©øÖk§2Ç+ Åû m…óü­H‡ŠEî>t`Eù°¥¥™{ܽnw2ãarjéßâ3_þe8ý~óOþÉþ<¿ý~íüWùÍ?û*Ïøo|8§øð'ùÝO5QjŸâÌ×~Ÿ?üïÐôûÿ½ÁYÚ¿úþ×ùÍü«ÿþeö§xó|î«}ÖJ7øþïžçK~ŠÏ~ù¡±øãßû#¾RþßøÙŠ×ùÓ¿xƒ¢Oüw¾r¤mì '»&™KUá0Ôñ£P( K<4&?O:Ï"ÖJ" \KúZ©ƒ 4Kú]žX0/ÓXg]rýJ¾+o Y 3e‰3Ë ¹¼HpV>\xbÊUb\ÌÖ(…@ÊŒ (2ÿ°ò/’)¬e–q…Š8[ú[ÃK±o1Æ=åó\zù«èOýRV8$eö•g©éü;î*›ÄW-·D.f‚\*J &’XÎõYßgl§!H™Ö&-%ž”ôaÿð„4³-l‰”,Ë ¹øLäìb¹ÄoÝàµÖFš‰…Þsöpß5vîØ¡Ê”*î8‰é>dÀÎ\ØE,¡¶¾›m1©ÔÈØ4Mmw17;ÍðÀuÊ*7eçy‚¥ìºïcty7_ü&»î~Ÿß ÃΦ¶ûèëxÁ±«4Ôp¹çšag|l„êºjêóK‰'bzÎ?ž§²Ðƒ}‰àæs91â7˜š!, "ЄÞ Œ¢ÛÄ-CÈYƒ¡Û˜šÇëÎÏæ79?€£hm±16+Ñ&*ÙñÀÎÅÏY©í}´ÖUàq;2ãbp÷ø}]õBS(Þ¼.‚|qp#ÒáÍbC'Iš™™i «^½x\ù&älxzuép­k§Ì—d©+2•ˆ¿ÃC¬á/-¢Êo¬¸Áéx”é¤À_\Á‘C{ùðM”DyõÂ8³*i‡B¡P( …B¡P( …âG˜pxN ÂmæîC‡Ø²%ÿ‡µJ‡`e<¼Ù–ElÝ·ƒM¡ ›v¦¡°€ú[© ø¨Øv­îYú¦b…Û¹ÿ=ÔûñjÙ÷ð½TÉFÂ)˜¼ÄÓ'Sú—ŸàhC¿„M Uø2¿;E{^á…‰f>ñ‰i yµÜËã;àòñ"N?[’©ÑQÂ)š]|àí*éP¡P(ššš(ÐÉñ5Û-Mþ·jy[™#m„“Šå뼩̅lp[VÉÈ'×\"çÁÁQ.ïL‘¥ KÊPHM·Ê7gþ!ÂÊjc qì{˜Æ*Ig˃Ӏé7H\:a¦‰œ?‰þ~™'Æ¿ÈC›&ñ9-07›!˲ZÏS¦¤cN^ƒÆ8Ø pÚé¤C LÏK¾yJ0¶ïÇ0ŠJФ%K 2™eޏ¹j6Âü’×ÛwòwvæA:…è¿ÎþýûÕ‹_qÇq8 üF˜ù‰NdbŽ«WÚîCJi•BN%ihÝNCËvñ}=yž‡ÍîfóþÇ©©k¡ýøÓLŽeçé†M[ïÁU²•þ‘YÊ ½t?N]ãVjêZò?ƒNpõÔw³T––I‡ Ô…èê>•}nèv ÷ ßúÍrÑ™ž*¦Ã½…‹qÅ&‰0Žn¬-5w˜Üµùhžxw¾«Ÿ3Ã|û¥³ô Œåµß¾¥‰Þ¿›¹‘nâóÖçïx,ÂÀµóܳ»ŽŠÒBGFÙ¾µ5O:L§MN´wñâ©.ž>ÖÎ|,‘×gM‘‹Ù©±cLÌGê¹Br²‡Ç·ñ㼟šÊò<éÀíra·Ûédû–êj«³Òa,ž`ph„SgÛ¦ª¢”½»¶QSU‘·í› —:Õ‹L¡x—ؼmË2éðVXzŽX‰d&E `•W_õëœHt*ï¹ß·r=v§ÏØÐ‰Ý0MyÃþÞ*š¡ûJyøþRëœÒ¶B¶µÌ2tnœH!~Ÿº»D¡P( …B¡P( …Bñ£‰Ï·ñ’nó±YÜNÿŠób3œÐ ¹™oF:\àf²ÞrvÍÀÐrÿ›&ˆI æ<}'þ‘ÿûµàõVùœ›¹WBbvˆñ´Ÿ-!÷ŠÝÆg‡˜zßý×Oò»9Óý{ãÈâÃüûß°ñ¯_úgŸ£øÐÇø™Ÿy‚½¥ªÐ²B¡P(,‚Á [7oæ¥WÕ›¬‰rI¿…‰™l|‹ÏY¯rñò6KÛ‹U–Y¯ïW·(û­f>æ•Fή$gƒ—Šj+¦U”‹œÌ·ú¤\²á¦iI‡11[FY€"c&j™’ ‹e™5@Ϭ؇ÓIß–§è¸þ¿i-]ÌäÒT’æìñ¿dþL w‰3´Ô¤Ñ„•I1/aäÒ ‡,H‡’‘¸2µEpO+ -á0mBzÉ0&R’ö>˜0|üø?/篞}¹kmèu-˜RfK5ËÌŠdN êÅzÓÚ™¬º—T_ºóZ²ïddOd–;v¨¿âŽcÚ‚L…S ák`™ñÒ53ÅÄè ï}]7BPSßÊ…“Ïp£ó-öÜý.%Ä !Ø´ù ž@1—Þ|ކ¶C”W7d×QÕ|€ÍÎ¥³¯²ëÐãTÔ4äÅ0Üs–©ó”m8®5ã- ø¸pé<‘-÷âqYë¯+ÜN×Õ㺵 R±HŠZŸ•A1™¦¶¼);o"2ˆÃ³ög«©~É&çêªë²Ó¦Ãó\ì!P\‰ÄäåÓט ϳ³µ6Û¦¹¾§ÃÁ?üàuü%›HÌñèÝÛH&“ìØÚ’WÖx>šà•S—šIQX±‰ùð4oœëäþmÙÏ€Gìäï~ð*i_A¶är:•br¤'ŽîmasS=º¾ö6=üÀÞ:s—ËÚṃC#LNÏPRbkKSv^.³á0Ã#ãLNMãv¹c>Ãírª›BñsìÕãeD@ÝÐI§n­:•”C¤Òë_Ù\.’Ñ(†7èenúÖïj^M:L¦bØŒ÷ï Ű;p&š’êU( …B¡P( …B¡P( O:œ›šÁ[È>WÒárî>tˆÒâššoj9)%š¦‘Jmä†o)å†îJ¿fÏ™ßùÓìÿw¿Ã—¶•á{–ßúãÖ:]<©I®ÍAÍòÖ W_Å=üìoÿG†Vè¼ú ÿ¥ƒüøLÏé÷øÜgãüÆo‚f—:f …Baq×Áƒ¼ô½çàîWx£\ñÝ“åF×zk뼯ß*/Û\œ&äb ã¼è²Óe~Èr¹4™ŸÓPæO“¹ÓE¾¼˜[¿xa%™4ƒ ÙÿVÖC!$"“õpA>Ô„°$Ä̵…!š]³›XŸ»e/\ÞJm¢g¦ì©]|¨º—¾É^šJ3¥›—‡ÙPóB–Dâp¡6¸» L3G:ÌñŒL)¹>/_þ@%¿õ‹›ñ¸ÝìÛ7ÏoüîÑ·íCØvÝ•)MÚâ ÅrSP.eþð/9Ì–ì³U`欋åâ¢è¿NmyUUUê…¯¸ãU4SYVÄÌè5óøôibã—™Šj4¶îÁáÌ¿ ¯mÜNòÜK¼ñÜ×hÙy”ŠÚæì¼âŠ\žg_ûÉdœšú-$ æbivßû…Å勯ÙtоÎ×ILvRUèÃ0ô Å\W¢¯ÿ ­Mûð9C„웘 wâôËÎû‰Ù4©”$9%1ÓiZõÂßÈt ç&'3³hšŽÝ¶xÔH¸»kõ¸âIìF‡î¹'{Ž”Ròê[èîŒLÙj_¨‚3Wǘ‹Ä8°£[f[k*Ëxèî<ó«ÜäÑX”¢‚ª«ò3NÎDxöµóÄ„¡5†Þ@!׆û©¾1LS­%Npï¾m¼x¦‡âÊ&Gú± ïhass=6ÛòŒñ¥/“ŽÇÀíaU‹p…’»b‰²'VœoÉK¼Ë›¿d¡ÅeVL5¸dº)òãùâÙbØ ëÞØ¶‘W:Y, ˜¬P—¿™ÇÒÌJ’RÊlâ…ùdÿ @-#ŠñPÃÐ4Lia‰‚†Œ·=ʉsÜÛÀe›nôOÂ\\â¶ç”©^".„LKºF`j¶UAÀi)0s„Ô\¼þ™ŠÀ7t¶,çg ò­oÑ×'imõ²}[!_ü|%ÿýs/ñÂ7Îc|à#_Á¢tiš9{U.ŽÕzãŸ;1·b³ØÈÎ[½­ì¾ÌáC‡–É= ÅÂáöSÝr€t|ŽñþKħûI&ì$ æ#a¼¾ÅÏy¾PÛŽñ]f&÷Ñ´í`¶Ú¥7PÄ’s¯?M*¥¦q½=— •åI‡éT’¾+¯!çz¨* ÞT¼¥A?gnœ£©~ºn½NÚÊïæ…þKØ ØDšèxŠTDP`TQà+!¨Àtá°¹Ð4ÓLgþšÌùfpàd°·›xx†®K§q¹½xýŒÍôb«Y]<í29Ôt?×bæ÷‹ÝƒŒÍ™‹K$k†A°¸œ«#ÃÄO]áÈîìvƒñÉiææ#Í®-õìlÛ˹ÜÕœáÍö«ô†qû 9ÛÑǶ–¤4a`p˜Á¡Q~ìCðûò–M¥RLLMÓ×?D4§¤¸ˆƒ{vàñ䋪5U¼øêq%*ï2é„y[û³IÉZ·Åæ]Á,•ãé8}y‰‹Èü ÷ê_,Š˜šß º+XD…ÖÃùî ›üâv IDAT\u…8ã\è˜F/©£Â%ÔQ©P( …B¡P( …B¡xϳ ÆÒ1œúÛ»)8eJ -ÿ{±H$²(Š™›Sƒ~¨ªª¢££ƒt:½¡,†RJ¦¦¦hmm½QŠ÷ý3~âìçùËŸÿ@!>tµÁ«Öl-ÄOþg>ùÕ?çŸù·üqØFé¦RæÒ™²Ý®f>òéÿ€öå¯ò{?÷EfÒ€{ ù•ÿ]æ,íû9þès @#Pw˜þÜÇÙâUû^¡x ,aÅ;C[[%v¡Ñ!(X”2V ×|§ÜhCòK7Ë5Ö W^l¥Ç‹oØ+>Î-Û\,-Ý+ó…ÊÅÊ Í¥ÃÜ6"Çî[x¬š4-ÁPf² Z®€(š&¬Çš†&- QÏHˆ ?0fæçèœtr¤.Ž¡-d74—IÎöÁÖŠÅíXð&sË*NCÏ4”@[•µì‚lhæH‡RB,!9u] Š øµÏ6ÓÚœTT”ðëÿõÿæ_ïâá´RZêâ÷~ûIž~æ*ð•?a¸ñÚ¡Àå^µäõÊ»X®µç—)®rƒý,^t'Ñntqß§þ…zÑ+Þq\¾ ;îçF×Y+q¹]ô^»LqiE¥YÉÏ0ì4í|€Ê†\xãN¾8À®ÃÄå¶.àmv'»?ÁÕK'9ýú³T×o¡¸l1ƒg:• ïÊk0wƒ²BÿMÇéqØqÉQF'û)/ÞD2ÇH8Ðûƒ0\HSY å[ê ø‹²å†oêÊ&•"27ËÜì$Ú„Éñ8Îrw©îX<ÿ‡G%¡ÔVk¥ºp$F{g?ž`ÙŠ} ˘ㅓ—h¨ž ³}K3»!àtûE}ðžlû ]}¼y©wA†m¹§£Ûlàðs¢ý*G÷oÉN?zhã“ÓìÝÕ¶l™ép„·.\£wl›ËOQe1©Dœ™ñ(/¿þ~—ƒ²ÒbŽ9ȱ×O1žËЇSÓ3ŒŒŽ3Žàt8h¨«%ð­ú95ð:á¹>¯ªˆ P¼›„ÊŠ™^üÞn6<ƒßwk7Gãkß伿™w%éXS:ÞWÒ!€pؽ³š³—xáX¦á¤¬ª†{(ïP¡P( …B¡P( …Bñ~b#Ò¡Ëã$‰a—’Ä ?,•—¢¤Ã;G(¢¥¥…¾¾>&''×m_XXHkk++Î7ªãw¾øXæÙüÖŸ?°8³`?¿ü§ûŸûwðsòg™'AúùÏóÐϯ¼^áªáè'?ÃÑOZÏãÝßàWþÛGé>öË{øØ²%åÓü(ŸV»Z¡xŸ¢«!P¼#ø|>ìÛÇ?t]D´´­ÑòfJÉÉËuÛçË‹)Á¼¸ÔòõˆÕbZZ×7×J$·\sîƒL³…˜¤U™…Ì~™`EÆöÓ!M4iɆ‚…쇖x¨cI‡†]ÓÐ35SCך¦!ÁüØ0±WÿžûSoÒ´5Å¥AØW/Ñ2žÃ‰d~åçl¢@ ³QÉ¥Aº3e•5AZ.ʆiIN‰eIÇ0œ³S\éãó¿» ¯×‰*Äã-â7?sŒîî8ŸúÙ£¸Ý>Z[kùâÿØÂ_ã$ßü?ÿ“ø‡ e»%iŠU-ÑY‚%ãZå²W9¶&ÇðG#ìÝ»W½èïS#¤kk³Ï#ái4›‹‚Âbt]§±u'×;ÏÐ}ñ8;>‚Ç·˜Ðí+bÏÑs£ãMÚ_ÿõ[¼Æº:0 Š+¢—²ÊMÙeÒ©$7.¾‚ ´ÐwËq×ÐÕy ‘€ðÌ$_Ç}—Ç÷¶ÇD7 üÁþ`ˆŠšF"‘Yzû/ÓÙ~’¸{ o ÍS~ü®`è‹×B'ÏwcÚüØlöÕ?Ÿ{ƒtt·Sè5ØÙÖ‚-#G¶mn&–HðÚ‰ÓìÛµc§¯p}4Š¿° M_ýzË(¤ãúU¶5‡) ZÛ_[SÉLxŽ™p˜€Ïš‰Æ9uá*Ýý“ØÜA|…•̇§깄aÆØÖPɶÍMýhšUtûÖVÞ<ÓŽ™J361‰Íf£¸0DC}m6î5O‹BÐÒ¸‰‰Éi%*ï2¹Ò!°aé0™Øl˯`ÊŠJ]6=JŒw%g³]{÷>˜ê¾R¾·tÙ•¡Ý_ÄþEìLé6]ݵ§P( …B¡P( …B¡øÑ$±jæ&„ºëö½H(" ½"6™èbÂôSàVe …Bq{x衇øÖïÿ/H?úÆ[Ì­>œ}ž;Yå㛑ΖdP”9®§ª­’õpÑ5\4ó¤‹1ç¦ \X@.I±˜ÅBfÃL&C¤‰@ –”T^…”h4aI‡º +Ú¤D×2¢nɇš$£óŒœxžª¡gy´jOÆ·14蛀ʠ$š„ö~(ö™[ H¦$W† š„5àu‚)©… ‡ù0%!– ÏÀK‚{«áËÿ²ï=3Æçþà:ŸþŽ¸Ý–|¨ {vó¿>WίþÚw|šßü/?Áädš/åùµ_ýi>ñSú…ïó½¯>Kxë]ˆ­»ÀåY¾/W9ä»så–ˉe}t]bç¶6 Õ ^ñŽ0;ÜÉ…“ÓԵºžÑáÊ«EDÃf'=7D±kž“?ø ªZS׺;[ZY7lÔo=DQù0çÞx†ñ‘Fš·$6a|t€¦Í»ò²á t@ Pºõôæ±x’á‘0 3 ê[¶g³1®ù ÅL‘ŒÍe›˜é†ÍŽaw£«‹‚ŸÍ-hnØÃàp7W®¾Á©nö4ÜK0°(îô Œqm(LQEíª}ÅcQF®_æî]ìjkÎ ~`Iz;¶¶òÜ˯óÍ'¡û WlhL‚%•¼úV'OÞ¿‘ÉDÛXWÃåÎnÚ¶¶r¾ãW®`ê\Á2bs3Œt·òÙ¸oOõ5•x<îeý†‚ô Ó°©†m[Zp:«Æ0>¦ëÆ =ƒÜ·¿ÚÊbª+˹ÒuM5•ê§P¼YI:V”\81t]'~g%»„™&‘ZÿBÚÔ6”íúv¶K¥5„à_/@$º~íDÊÄÜ@9îÛÙ.ž0ïøzU|*>ŸŠOŧâSñ©øT|*>ßV| …B¡¸óØÓ6zò]!‘Ža›¥žïuRL^x•s©v7‰^}ž¿üò9œû>Íæ5: …B¡¸=>|߯ÿáñ(]”1V W¯s»ú´Ü…Wª´¼ê:$‘W\w±Í? J‰\r2äóëeY) £ÌüÉ{dÊ'g2 L„43Ó¬Œ‡º4-áPšÙL‡:‘‘†fýÓ5 ]Z_$Œœ;íâ?òpé(%udã—j -¡°{Ô’« !àYáÐ4%½“Ð7 ›+ ,RŠÅ’ÊrñoÚ”ÌFáøUAÔåe"‘ ¸=~~êã¥üÙ;ùí϶ók¿z¯×DZWûñûýìÝÛÌŸüñ¿ãÓ¿ôuþù¿øS>ýéóéÿø“üîïƒG9Àç~ÿ“üüµ!¾úWÏñ÷_{‘ÑŠäûåÕ‹ãš'x²Â±²dºæ”+42MÄ•s<ò/zÕ²¥ Åí¦´ÈKI`°ãC7.SRрϿx?1ЃYÊŠ}Tûèî=ÉþN6ï}PQy¶?TÆ‘Çþ—O¿Ä[¯~_A9õÍÛòJ_o'>ÑAUið–ã½>8ÉdÔIý–‡ØSÓ´j»øü,ó³cDÃã„'HÇØ©8›fejͼÄÒi“”)1±a8ý¸üExƒåx¥8Üùe uສ…ÊŠ&º:Ï#“ Ɔû(.«&‘Hq¢ýâ²ÕcŠÎ35ØÁ“÷ïfSuùÊŸßm6ŽÞ}€¿ø›§)¬)ßð¸Ø.&F'é¼>LKµœÇã&žHñ¿õº;„Í$29ÊìH7›*‹Ùvß.ª*J1ÖÈ\¨i‡öíÂëu¯(Fc ®ô ÐÓ7ÊðÔ<_IÍÃðÄtV<ôù¼Ä Év›º)M¡x/025MiAðŽõo¼]éðVÅÅ\? ñη[hónÄ—#¸¯Ñ—xÇÛ íÝY¯ŠOŧâSñ©øT|*>ŸŠOŧâûÑŠO¡P(wžw[:°ëN\'ÑxLíY4ˆ_ç¹?ú>7žBÖqàñOó_?¼—uM P(ŠÛDee%;6·rìÒYÄ‚x˜MW¸^=[¹Æ¼åYsÅ0)V¥üÿÙ;ïð8ª»mßS¶W­zµÜ 6¶qÃÓ{oB% oJH‡„!!@HH^„„B€j¨¦7ÜmÙ²dYu¥Õj{™óý±+iWÅ–Ms’s_×Ú»3gæüæÌÌÎÎêÙçé“Û¯ >Trû¦ÞᜳiÉùIÀù-fëËF++Y·Cúb”•ì U@Ùxe!²¢ÃŒðP‡>×CU]QЕŒ1Ô°ƒÄ›0Ǻ‰qc TEÉ8м/˜T>xó„€Îp&V¹ÌK&fâœÓFÆ ÑÈù?-ñ¬Þ­ÂÉ%WŽeñ¢2þt_ë> òøÿkæ¼s¦òÕËç¿ZÎíw¬à‡?8™Y³&ñ“ž¥;¨qÒ‰óùÃï¯æÛ×þ‰o|ówÌ›7™/}áx6l¬çg7ý•o}ã,n¾ñË\ÙàùÞç‘§dm§ :vʼÅ(&ËpGÓ{;<òŽ>ÑÕ££…£>Zžì’O»Õĸê"6íl£´biÞ¼ŽÆõ”zl}¯ÇÖ ÇÙöÞc8˧2~Ú|Ìæþ™M>l)›Ö½‹n2a±ö/h«§{÷Z*0^¹'góN?åãæ2oâLô!¢Œ±0]­uZëHGÚqÙ-ج&j|&4Í ìÝe1NŽî&ܸ“Ö­ «‚ÒqxKFç‰UUeâ¤é¤’ ZšêÙU·‰ŽˆF+nÓÐŽ€áž.RÝœ²tÕùiœ›wì¡Àã ´0ãžh³Z8þˆY<ûúZª'Îñ9 ŠXµq'ãG•ö9)Ž©­â­U[°'Ó¸M‡«bÒ¸Ùx=Cï‡d*Ec³Ÿ²¢ì6svÕlܺÊò²¾6Íí6lk¤ÅßCZµbwz)Ên—%•¢~w ó톖–ÑÕ ´¤HžpÉA@Iƒîî8ª.‡‹ÓI<ñòÞÒ"Ê|ÅlÞ´)oº¦¨¤…qàQËJ„‰vKi”ñ§Ý®÷~峨ÏfÉ·rƧÞÎ02¢HYŸ¬OÖ'ë“õÉúd}²>YŸ¬OÖ'ëÛ{»O×M_"‘H$ù8=>BÝ  0Ü5Åî¶ F>R-RtøŸŽŠoÖ—¸ù¾/É¡H$É'Ê©§œÂ[÷>GœÀð6„â“s€}⿬h°/Ò8G¹7”Bl˜Rb˜©b¨BzŃB X¥Èï&Ï O vaDäöÐW¿èsÞSúâ•F_ܲÒ'.$ë~ØûÈ8jdœ {ã•õ>çCMUÐPH:ézó)&ú_cVU‹)3¨ÆÀôçã“K 64e&ÍVsÆå0e€È û¢• A}¼ß¨f.ýÊ(Ž:jŠbáÒ¯ÌàúVRRRÈÓÏìæÌ3gòÃïÌOö"·þê5®ûÑyÜòó/sÓÍc6η™JsÑþÇ•kšŠÛiÁí´P $’iz:×QW¿kA e£gbw÷ çt“™ªÚ twu°jýÛ覡݃þÔhg;?Oð—6 V®ßÉÚm-8¬*g5 GVì7vTãªvÑÒÖDAÉÈ"Šu“…@ÚD]cãG• Gt÷à± ¦/cÖŒ)˜ÍCGJ÷„£l­ofóÎfB±4³&U2{êX ãœhÒMÔïnaW³Ÿú¦â„ÍáÆQTÓ¿=ɉx„x4ŒšŠ‘NhZæ{ä²â"¶î¨—ÂC‰ä AÁDNRü~‰­Z;MO #û Ñ"LrçH$‰D"‘H$‰D"‘H$ ¡îÎÌã£EµíMthÙǪ#=¹#$‰D"‘|lsÌ1¸ºÚ mOŽ@¯W†70¿V Ž9îÍÎm–•ð ‘7qÄ^çå›þ<4yPI"+/C¬5·mnÔrÞÂi0ŒL|²È8ª¨èBdĆB`9Ì€Y³"Ð’ :—½ˆéÑršò"‡J`ҳ΄91൑MN¦[[Ëë`t1Ìf]!VH¥É<ŒÞ‡ ½Gðä*x~‹™oÅonŸÍ“O·òá‡qÅ…Íîå›ÿ³ç_¨gÆÌ±<þÄt“‹_>»º¹éæ§q¹|ÜòóËYþþþ|ßóØln¹ùR®¾êœNº®ñÏç–³iSÿóßpÅÿÜÉÕ×þcÏ»…Ç£e¤¿yx sŽ›üñ4ì9ÂU1Ô2"ÿ8É;2ÒiXý.gœ~zŸS™DòiÒÖ¦vÂŒþC2•¢c÷F|û°ËT—z_¦±kÝó¬y÷y¡ »wm£jô„¼v[Þ¡Ä£a9€˜Ým ~ºE ³—ž…ÇW‚ÈŠZ¢=~v¬}™ÆuÏà¡ £ (*p`6i˘˜M…^;ãj¼x”vÖü?¶}ð,Ñ^;OA'Ÿx¥– Áæ-yóÚw×aMwrÎI‹óD‡‰DŠ7?ØÂÆÆ…e5hö"^xk-ÉTæGÜŠ¢pì’¹D;I%ã#®Y×M¼½r+V}ȶº]z9í„£ðwv !¨oj祷ÖòØK°~W7š³oI›êšòÚº]N{þê;’X¼Ux‹*°ØœÄ£!‚m´7í@µ3ºÈ̉ó'òų–ö‰!·‹ËM"ù”ˆ„Ã{¯¥?YȼO2e%î/hwoMÛ´{·Ü³’Ï„î@Š:ùƒz‰D"‘H$‰D"‘H$’#¹÷¨æxÎßK©Á_ÂØ]v9†‰D"‘H>6jjj8|æ Äêåæ ¡Ü0o°Ñœ¢íëÌ*ÈÄ@ÁX®#á îò£”‡Ü I]“ªD1L¶³aˆtÅH£f†ªÈM¢7NY +™He“S¯Ð0+>4º‘¦gí ‚÷]Ç’æû9aL{Ö™ÐèöÅ$BÐÒ-xc h*1 i#ãrØ'8LCÒ„â‚×7+<¶ÎÌ’ÓÆñË_Ìä­·{7¾Œïw·ür-Û먪›±ck8ré^xq;G9“|›½€ßÜñ vìhãû?ø3Bn¼áK47ûùî÷îÁïrÅ×OãŽÛ¯ ¥ÙÏ‚ùSøá/âúë.¦ ÀÅC¯o§ãË?@9õðúz%©C{9TöÚ`Z÷àîlãøã—'¹äS'‘2P¬>ÜÞ~7ºž®&,Dö)âsÚ-:¾·Ñ›Ï=ˆÓåÍ‹^nÙ¹ÞËnÙ¯š„l¨kÁR2ÞܷNEQI§ìÙ¾‚†uÏáQÚSåÃé´|¢cärZSåÃgÒ°î9šw|€‘ê¿W6›-uäÑL夻a F:EóÎMÔøLœuâØlýc‰%øç²54ú“x‹*Pu‹ÝI0¡æ þ,f3Ç,:ŒöÝu{­Í0Ò„4nY)ÞÎ̉UL™8Ž™‡N¦¨ÐGEy)BÝ=™ýH±~kO¼ô>/¾»‰¶¨ WI O!ºÉŒ¦é„ÐÜÖÕׇÏë!•J`¶Ø‰E‚t¶6õ7PdM²pj%Ÿ?ùpÎ?i!KæL¡º¼“>Xdêñ¸é tËN"ù°;{ŸÖ´½ÏÝ{úß¿ò„‡-mA’Ù/ {ÂýöŠ)‘¯€ŒìÅz±²ªjÐ4{ÇA1àéHËÞÞ†#ÿb–вcÓž{}9þk%O¾ßÀŽPzD¿Jú¸ ·F9ëþî÷z½Ç:bœ÷—LŸ1Œ þÒß:Ä¿ÕÉ” Ĺê™(¯†FPw2Í#/™{w“ óòî8e·9æñ¥‡Cûµý1œ+ŸŽ²<"–â¶§C<¸¯ý'z?}%ë/XÌ–'6cÈ÷C‰D"‘H$‰D"‘H$Ÿ5¦‘Çœ˜uë¾W'„S‰D"‘H$Œ¢(œwÞy(kÞô‰ac~ó&ˆ½ÍB¢8Ø1Q ³lÞÓÜ6 }ñʹ ENôòðEç.’c¥'ú+ì²Øk=˜†tÅÈŠèBdÿ72N‡B`R²ès<4!Hìi õ¾_0~ÙMœ]½“ê‚L,r_ò€G:oº ¼½ü°pŒ)V0ŒŒÃa2Ý+6ÌüŸH Öï†ç·Ù8î¢)œxr%~nóçbâÄRî`'Ó§×òù‹fñ“Ÿ¾I{»®»9û¬Å´µEÙ^×ÍÉ'/æww¿ˆËåäþû¾‹®k|ó[¿¥³³‡|ÿB&L¨æÂ‹næŽ;£°ÐÍ=ÿ{ ÝÁ¿þõ£¸Üv*+‹0ªF£–dÒ±‡Øƒ#•Å Ä~'Ê}¬ ÷ùêwY8g6ÕÕÕò$—|ê´ú{¨¨™„¢ôÛÙw4l À3ò‘9ftM§¼rtß´x$HWÓFŠ}ŽýªÇ0 6íh£pôÆ2/¯®h¸‹í+ŸÂèÚĨ®OXp8—ÃBu‰•dÇz¶®|Šh¸_œ§ª*‡N?Œ¹S*Ù³á fO(á˜%³óDxžϾ¾†°áÀUPœ·n§§˜뚉%ú¯mãÇÔàÔ“Ä£ƒµ8édË.Z·¯¡Pïáô£frî©G2}êD[^Û1£kX±êCÞú`á=–oj&iöQX^‹Õ>Ø`Ìî*`{C †aàï좽³¯]!ÙÝȘb §-9„ÏŸºˆ—ÌdòØJ<Ãüà0•NÓèf[]=ÝÁºƒ=ò„“H<>ïǺ¾ªŠþXx c¶ô¿I›²_ºýo:ºòÑ…ÅŸ}~{²§5î¢!fÇ—÷¡/Aã¦m¬ ¸˜1{Õ–ÍuÛX½Þ„wN9>M„ÿ#Tï%zR<Ûgžæá;U*šÇ~1sÄüûÙq:ÍSËX&;˜m '+\½<Á¢ã-”·\÷jÚþÕˆëêǨ™SŠ"w¡D"‘H$‰D"‘H$’ÿ0’ŠüÆC"‘H$ÉGcéÒ¥T¨7²g×6¨=`îE|9M”!'ˆü™{1Eì¥ Õœ›,,Ä`±£¨N¢wå™ybÀºE¾ìPÙ¨åt „@i4@jFtˆ‚(ŠÈ¸BÆýÐH‡‚´¼öOÊë_`ieW€BZôÍÞH§›š¡½fրϙÄdº?éº÷a hí†×6+¤mvþrÿŠ‹œlÙç·ðÕË*8ú¨BÞ\ö6ï½ççŒÓç°uk˜ŸüôE~w×¥¸Ý¾ÿ½ ¹êš?qûm_çÌ3ñ³›þÆ5WŸÃ­¿¸œgž}—«®¹›¯^~ —^r³gMàÎß<Îý¼€ÝnÅåq²©®…Ï]ûWÌáÆ’ÓÐù;odÖ»¨½‹£¬YÎç~qSžÀJ"ù´†SL-ë½Fzü$B­X G¼Ž»;9lÑÙh9"»Æ-ïRà40ëû'ܼ³OõlFOœ™7=ж“æ­oQ^`Âns|fã¥k*eEN"Ñ$ k_ dÌ ÊÆñá”CÅbÖ±šLè9®bí=¼üÞT{1Û`¡žn2‘´ðæÊÍ·`Z¶/SYÀßž}‡ªñÓˆ†ºéîhF7ÂL¨-gÆ‘Gàõ¸÷úþQ[]Å ¯¯ ¨Ö‰Í[‰m/ngÑPP u­Ýè"ŠË餸ÐÇìC§ „`ÎaSö:>ÑhŒÖv?=¡±h‹ÅLq±šê ,âž%ÉgÇž=-8¬ÖµU CùçÈî.·—ž`àß` ºwòÚ–VŸ G*ß½1°¥C¡fj£œ:ª¢3fêTÆ|–% ÁæMQ¾°#Á=·ÏÌ%Klœ_”ùÚ°#Æ­ï'x·Ó *JJL|í;ç—(ÄÛc\ü|‚…uÞßœ`]Hàö™øÂ";—U«è@:–â±w¢Ü½-EÀ¤qì8Ð0¢½D(ÅË£ü½Ñ GS™>ÁÊuó-LáaïIòÇeQÚ•î[þ;‡™˜iÉ8-~áù$󯩼±!Á¡qâávÎ2âü|E‚†ÊÉ‹œÜ0ECõÇøòóIæMPYöa‚Í)•C'X¹v¦‰)F’oý¿«b°êïݼŒ“ Ãü$jå¡“-Ô¨™q[»"Ä·6$’‚8ðÁÓÝ,;Ôч¤¹ò™KOvr±²ïús·¿sOœGB:?ªQé½dWÔX8lu„¿í1sÍ0š[í$%|x+ ÷‰D"‘H$‰D"‘Hf÷4P]Q#B"‘H$ɧNAA§Ÿr ¿÷5”sjÙÛUòõcb°ÐpYF¼7Äl1°U¾2Qd}½Ó…¦/±jº Ü–5öNË]Î0 •Bíu9TÈÄ,g† E€®fâ•5@I&èxûU,ïýcJÚ) JVpÈ€þ $Bü°¹&”Ã’ÊÌò©tŽ3£èoŠÃ[[¡!dæúë§ðð#M† 'ñæ[=¼û^ÊÕbî IDATKOà æqë/_cÁ‚øúªÓ¹ô«÷rÛí/ðµ¯Î;ïláªoÍOnø ¿¿ûJ¾zù)\÷ãû¹ü²“9ãôE,˜üÓ³üóŸËùÒçÏ÷~‡ú]-Üu×üß²pÆWPÇM"Ü@õ½[=,¨ Í?N¬(÷é¶ Œ¶›Yºt©<¹%Ÿ:áhwq-ªÚ/Dó7mÅ·n‡Áp ÝUMAqyÿz­Ä»¨¬*ܯz¶Ô·ãªšÅØ)sò¦·Ö¯¥k× ªËÜûŒþ´°ÛLTêiš¶¿M"¡tÔ¡}óFDSÃ6Z÷좴b[ë›Y¾¾‹· “ixQ…Íᢾ©ƒ=m]T”PèóRYh¥½q‰x”"§Æ1s&PSY–᜿_ã„ÂQJ‹2Žf‡éSƲ;d ¦qBÁNÂÝXTƒªR/3gÔPU^ŠÇíì4Úí6^ø×Ì9ìÐüåÓi‚ÁÚý{ ¾/•奸 ¼ͱ'…Ãx=¨ª*O~É=#û%:„¬ðð@ù÷f?›=LŸ5†*½WWuæ¿é„ƒ„4'SܦƒÇu.‘æ_{tn:ÙÃ=Nƒ½âÆ7bL:ÅÊìP‚ëßLP=ßÉëã4´H’?¿æ·ï%XxŠ…b@DÒ<Ühâg§zXd7xåÌò3α3ßbðÆ;ano3ñƒÓí,6§ùÃËv&†¸h'R<ðz„W¼Vîý‚…QFŠ¿¾áª78ÆLžޣ)î})ÂKVîý‚¹oùï¼gÉ8OFR<é·ñÛ ½è[C\úfŒ±sç6â›Â\½2Æ{£,ȶýK…Ÿœæa‘šâw/EøÁ øóbwiçËYñàeE ~«ŽíÕ$ôX¨ñdÆôí&ÁÌ%nî,IriNÛDgz¿êïÝþa°bcQá`Bîg‹ÆÑð£I.^¬S6ÔºÓI„PQ4y¡“H$‰D"‘H$‰Drp#E‡‰D"‘H>K>÷¹ÏñçG%ð£ô;> %ÈëŸ3Ĥ^CA%zV:H¯P(9 dç÷l`YaÚ€uçúÝ)}çÖ1 89Wô'rú½RÇÜ.3+Š‚’N£¤R(JÖÍPS²qÊSoް0Ð…Š. ÂÛ6Ñóü_˜©¬gÂAö–N­äˆðº#°b'xì°d˜5ÃzÈSiÁšØÖmeî‚b^íÀd²qÂñµ<öD3—_ZN}}”Ï_8—ëox•Ñ£Gsè¡ðxWòƲ]œ~ÚB®ûáÅ\öÕ;Y0: íŒ[ÉGLçö;ãº^ÄO®ÿ×~ç9ì°ñ\ò•ùÑ/b݇;¹ïþç ‡£,˜?•ÍÛšPJÊP§ÏF$“(¥ *ô¬àL)öÿ8Ýç"B ¼÷çž}6‡CžØ’Ožpœ 3Çõ½N§S„;(.¹ðpçî.&Í?:O̵{Ë;T»÷«–Ý­Ý$Í¥Œ›2'Ͻ¯¹n%Á=k¨.wcÒ®hJ³I£ªÄFsã „‘¦ltÆ¥QUUªFM`ûæ5Ô5u±awOq&Ó¾ÿ<…e¼µj+ç0Ã0hnmÇnÖmÍœsâ‘”æ9)æÒÜ`ýÖFšý=Ä¢1¾|Ö’¾¨çñ£«ÙðêjœÑž¡€ŸpÐO±×ÎäÚ jçΦ´¸],ŠD£ô„Btw‰Fc™æ®]Ý$“Iìv…Œª®Âjùì\ ‰áH„H4F4#ÆH&SX,fb±3§OÅírÉ“_ò_Ǧº:&Û÷ÚåvÒ }"}XñÔÕ=àNÆTÿŒ‡TÅ]ZD•[bƒ ±è¡¦¼üæû<úÊJžYÕDSL|v%k*'Ï·qb¡‚Í¢±tŠ™ŠDš1°ZøË—<Ü4Qíåsì sB6ú—?qž•ã} «Æ‘“Í”'ÓÔEF(Űôp+Ç(úÌ\±ÀLÍ2Tsœç£:WÌ63Õ¡àr™øü\æ=qÞ î{3üÍqžŽè\5Ï’·¼¥9Ñ¿¼¦rät 3ì c+MT[5Ž™næP‡ÊØ a°»w_h*'/°rz±JQ¡™oÌ7a4%YÜ·¯ÄÌ\Sšš Ò@¤;Å{ •“*ú ´þ¾í¼Ñµ*ù¥ª+T’mI¶Ç‡¹·H†ªÍ$³¼%‰D"‘H$‰D"‘||”ø †œ®ˆÔÓVD29ìúB‘HßóX,,X"‘H$ɧΤI“8|ÚTXý^ÿÄÜÌã“910¹˜|q_¾UÝP ¢}^S1¸ù Ãt?„t1ûïÀ Ê'æNS2Qˆ©$j:…ŽIL€0+dFÀÏž‡ÿ—‚'ÈYEë˜\Þ/:܆€xJ°|,ß³jaV­‚Ylë’)QPß.øûJï”jþ|ßáüèûÓ9þ¸jþpÏv/Ëê5ttž±¿àНÃÍ·ü‹š3N_À“O­BQlÌ{gŸµ˜_ÞöwŽ;v¿ÿÃSœyÆ" ¼NüëËTUó‡ß_E0æìsoàò¯ßÉû+¶0gÎ$êÚùÁíO³Ö^‹~ÆÅ(ª6Ä®Ü÷ñ1`7ä4>î{Pwë»wpî¹çÊ“Zò™HÓÝ¿énì¦PÕ‘Ù3EbI„­_qEß´ ¿ â~¬Óˆëè ÇiX˜>ÿÄ<ckýZÂÍkUæ=èD‡½˜tê2/á=«iݵ®ÿ~[Q¨;…–¦]¸<Þ‰ÌV=qV®ÛÄk7 EX0w&%EXÌæA¢ÃTÚ`Ý–ž|e%O¿±ž¶ˆ GÑ(4‹ƒæöŒqX"‘@A2ÔAý†÷°$Ú8jöh.¿à¾xÞI,œ;ƒÊòÒ>ÑagW€†Æ&Ö®ßÄòÖ°iKÉdŠââBž}éU6o«Ã0 jk*™sØ¡2i¤fu/5vEà­m »“Î(áWLBÕ,€…+¾6‹Ë¯xç_ÚÃqÇNæÉ§¶sÑE‹ùå/_æÇ?>—/\| ßýÞ#\}Õ9ÔïlewS'£k˸üòSyöŸËyò©·9éÄyÜöëG¹þº‹¹çÏð«Ûþη¾y&7ßt ÿxì ¾õ½ûxv‰8¦Òi˜š^^EJ7‘½;uÈ=>ô~x‰ÁLJ{YAï±±âMŽ]²˜Ñ£GË“Zò™àð£åÙüÍÛ)pŽ<~³¹#Ș‰GçMkÙ±ŠbŸs¿êؼ³i‹ÏÇlîï;èo¤³~95^Tíàþû¹¢BY±“Ý«Ñ4EU“0™-¹d!?÷–ñ‹ö¹ž`Wö&ÊYŸ¬ï¿¯>‰D"‘üû‘Œ˜,C·%E‡?455á÷û3îHà( >Ÿêêj äÀI$‰ä ä¨£ŽbJi16| ²Â—âB¥roÂp”r.C8Üå6Ú[¢rÞëÌ‘hÎ[å€ h‘m«0X`(z_ç Ú²1ÊûÊõFT„È< %•BÓ5L¨™ˆå¬ðP„zh¹ÿVæ)«;α³YoÍ=ðA=”zà¸i`Ò†ÆSðþ¨ Zøî÷&3^1·Ý±dÊŽU·³iSñ¤Æ÷¿{$?½ñ5~}Û9üì¦¸à‚£¹ô²¸ñ¦§ùõ¯¾†Ç[ÌÏþ©´Á²eë][Fy™‹? º÷Ÿ\ð¹£xíµÕüúöGùö5çò¿Êÿ|ã.nøÉY¼èPt”󰌙€ Äc1 EAô ÙcI ÜéB Øù"/B{Ð12hRvN,›Öpé'³ä3Ãíí¤éÑÀ*«=#~?芨L.Õ7-l'jÁæõ¸†M~ÊÇNAQ¿.î¢iÓëT—t§ÃD2M,ž"MNÄ“iTUAˆLT²¦)ج&ìVæLhÒ5ªKlìª_‰£  ›#sUà+böÔ1|ØX‡³dì åâ±(¡@Ép㪋9iÎ|Š|ÞA"º’â">X³úÝmlÚ¹‡ÝîÆâ­À¦›ˆÇÂtµ4êöã´ÀèÊbÆŽKY‰»-#H,ð¸Ù²}'&]'Ф;.§¯×MiñìvÛ°>»ÍFOÏÇ—zJ¥úb‘ÃápßótÚ@Ó5‹…ÚQ5L=d2&]cõºÌ8têõWàõ°u»_žø’ÿXŠ{±YÝDcÁ;oŠÊéêhQÛÊêŒû­.H£ <ÛÝÕ§`è MÓîf*«ÊüXK&íTU (MKcÒ2ôœ.;v5‚PRhªŽ¢€¦(€I3úÚ}ÒõÙ²_â&“YÅfɾɛTEAך›’¬4Y¸ãL;ó­o6 bŠ‚Ù¬b3gnY†ZÞdVñYtªÕ$[£ &_¦ß ß -™™o¥¿me‘†¾Ö .¡°¨`$_&}ÛPY¤aZ—¦.¥0×¥ j§˜¥[•œ:m…¸Nßk+ jR°-¡pVv»BQƒUe²GÅ&4%Ül˜Ã¼Ò"˜Ð8»RÃaQI èGËymUT…¾íºþ쫊]„–3ÖYÒ*¤¯EÃb"g\œØÎù &õ»4>ú¾kÏÁjzüF:Î¥a€ªò©÷+ë“õÉúd}²>YŸ¬OÖ'ëûO¬od÷G‰D"ùl…B8#s¢èðw1nâ#ü²QrðÑÕÕÅÎ;™2e Ó¦íÛ¡"²qãFÆŽ‹×ë•(‘H$’ƒ›ÍÆ¥—|…«o»æ,³™< vÌ¡Ïß.ÛXˆ\ÝY¿[¡’?)çù{;ejmñâQ¤¡0H×6°Ž^œÒ+lÌ ÉsS̺"P³Ž‡º &ôŒðP=f×ÿãÇ*Šœ°÷$³üšbIÁªzH¤aápZ”!…Șˆli†eÛTSÌ\·‰ysËqºœL›ZÆ+¯ù9åäRŠKl|û;/rë-gpòIÓyü‰õ}ô žzz=W}ëlZ[\ûÝ{¹ý¶¯óû»¯ä§?{eËÖñù‹ŽAUUÎ?ïHþöпxô¯óÕËOåÜ nbç®6N?åpÎ;o)ß¾öLŸ1ޤP0ÛÙAï¹äùÀ˜åABļFc3H<Ú·û?x›ùÓ¦2gÎy2K>»÷QGÿý`4Ô‰E#^¶½3LQåDLæ~·žŽÝ›(ôŽ<93KÐÚ-X¼pfß4ÃHÓ°þUÊ \˜Nà üª½›«OY%ºÙŠÍéCi’ñ(ÑP€pw+þ®Htá²é8Pàwuº®Q^`¢aý«ŒŸsªš©ê!ÓØ¸ù Rñ2tK&5  ðï! rļ©Œ=­O 8f“ŽÓéà©×VQ\1g±p ƒvÿv"=ÝŒ­*dÒ¸rj*'ãõ¸E2¸]N6nÞFiq!^›QÕ•XG à°ÛH&“†‘‰½/‘(MÍ-tvvFq»$“)Àb1ãp8pØmx±ÛmXÌÃG6Çã‰\³]ÁÁP§ÝFQ;û¹ÁJ"‘'¾ä¿Ž‘ˆ»:ýø OïhÆì1‘èN¹œÅ¬Oä›PèÉaE‡@žèpÔøJvmkÚ÷…Ìl!zZ™š\…ŒuøY¿µ ÛøR¼"DÝv? O%¥¶ƒÏÆ×fQPciÖwÌ,‚M[¢ü|‹A´@ÁgÕa₱1®y/Æ?—Z8Öžäþ÷ìH>ŠÊ-kñÇwãŒ?ÊÊ ³Áë±Aãçg:8ʱ÷¾ŠÊ-œ`q÷²8£–Zú–ÿé.[Îr°`7>™æñwcÌ=ÚÊ´T’ß¼—Ä6ÊÎL;h1“´G‘´‚]¬ÇW)\±*†§ÆÁ Çþu7\ý½Û?ߪR« êÂ"÷7jÙ ªAP×5”;µ©ÇœEho¿E´ûl¬E2nY"‘H$‰D"‘H$É'ƒÝé$ á²øìûKwoa@ŸèPIEºMä¿MMMŒ?‹Å‚aìÛ™Øb±0~üx¤ðP"‘H$-§vwýînvl\2gñð ‡ÊÊBt6ääŒâ|Ä\A`æ¹2”ØpoäÆ*çÓO¯óa®û”èu?TrÄ“YÑa¯ã¡–N¡i ºÈˆM‚›?drðm²ïFDÚliúv˜^Þ¡c™EV¥×„×6AÂbç›ßé'×ðü‹m¼ónˆO(çØc&ñݼÁ¢…Ó¨(/æ /ä—·½ÎÍ7]Èw¾÷0G9—ÿ½ç.½ä fÌOÝŽf¾úµ;¸æšs¹ð‚£¹ùç‰Äq:m”–pâ syñ¥|é‹Çã.,àU¿çô7J¬‹%XöAÆÄ™(e•¤•ŒË™¡¨EɈ>QÈW‡æ JG¾¦eïõðë ¢¯z‡¯ß}W^Ì­Dòi£›ú^¡@+NûÈEhÍþSNé{JÆûwQT:ò{Å]Í&L?2¯Ž¦-ïàÒ"ØmöýÞa@W0BWDÃU2ñ“Ád~=&³ »ËGaùâÑZë?¤®¹Ÿ<.Ú~Æ<Ûm&‘0-;VQ1nNß8>û0Þ\»ÕQŠ¿¥žqU…,Z<…ÊÒbt}è`R „I×p;3c:cê$>Øô2- [ðÚuFW—2vÆ!ú°@@h³Y©©ª ª²‡}ïû)™JÑÑÙC"•fTEªªR\TH(ÆíråµO¥Rô„ÂÄâñŒƒa$J$e˶:JKŠ)ðz(ðºé©,/¥¤¸h¿Ä‹ýÛ`!‘Lb6™ˆÆzB{"´wvì‰ÐІ GcÌ™6ž#æe~x§kÚ^ÿ%’ÿV <…{?œè$:öµ¬¥ ÒúÞßvmkbBM [hkk§¤¤xÈvу5?]³1aÚÄ–FÞ}§‘& ËÊX4±÷A˜S3ÎÆ5-anª›ÛQ]eá¢fþº&MC &îkŠÂáó\'"Üöl£&™9$4ØD±ê|ýhæå1®~(FP(T•›¹öxGŒ@ħXu®<ÉiY”«Šö-åQŽp@2ºŸoV™ëIóë¨*s±së4/ 94N«‚Ÿ=dãB÷Îа¢0i¬NÙFÁ¸ñ:%û©ï®þÞíOÄTŽ(†»vǨxrn)êw§Ñ‹­Œ暯˜](F„t"˜ä»›D"‘H$‰D"‘H$’O„H(€0ì—þÿî¼×ÉÍv‰Èà/wRqÝ"c˜?kÚÛÛ™8q"éôȉ­V+rð$‰DrÐâñxøÚå—ñ½»ïó O¼2Ð BäÈÉòCo•A¶„ʰsÉ]~ÀŒîˆ½½ôº"rt…ÊÀTß^ñbîòb˜®D_‡bˆ¬t.#:T…@š‘F:dć‚›Ö²¸8=lŒfÞV AK7¬Þ£Š2±Êº:|¬r(omƒ=1+çœ_ÍùçÖâ+p"°0k–;ïZÇ ÇÏÀWhcÉâ‰üù¾5üð§sÊÉóyE3÷üñ ¾ÿ½ ¹çžç˜9s2Ñ 0i͉ÛÛ/V ´ÕcÑR¨ÊÈþŸH¥ˆ 7£úÕ Ñ?¡ŽíŒ.síwý±x’Æ–œeS;ef«c¿×a±¹¨™¼€Dl:{v¬&ÐZGu± Ó~:/yíìjÝD¼b<{æG\µcƱzí|N§žq$Þ¡·1™JQßägÓŽ&[»8nþ!}ÂÃBŸ—I£Š˜?g:…Þ} ÷’©=á>O¿³eqq!áHtð0žHÑæï¦¹½“æöþ`””¡`ÓáâÓû…ý^7M{Z鲉DcD"™÷dMS±Z-X­œv;…¾l6+ófÏÈëGÕÔŒp^=°ïUãñç—Ž& ô„qجxÝì6 n‡Â7N‡ —ÆÓaÅãÌ?4U#•J +ö”Hþéêþx"È»ƒÝxÜž~áask+奥ƒ¦u•X"‰Õ¼waÔÖ†€aE‡ š«”㼪ÅÅäC§06¥¡(#Pþ$p”ÚxâËùÓlÅVþñ%+ѸbV9û(7g•ßæâé½Ï¬üíBs^ôoïò}oÐ&“»8jnNtÚâþåþb[«ÛÄ77ñÝüÂØê1qÍ)&®É™h€VdåÑœº¬…ù}[|þbæ"óªÊô~wLÿ¶…£YE­®qæ1nÎ<&¿]WpxtN-WQÉ´5û,<ôÅ~E`þk+\Ð?~CÕŸs¥cÎ!&Ìo'ØÓ³Ñ×@,ÍKͰd¡‰be˜»ÝŒ¢Cªì%‰D"‘H$‰D"‘|òhféDô€–µØÝÄ#ùQ-C‰):<ˆØÑ!€aûå‘jx†Ýø‹~|3§ÖørR Ïð£Ÿ.cþõ7qF­Yî8‰D"‘ì•sÎ9‡{þt/uëV ÌZ˜›x›!WWÆ€èä`õºVöMЖ¿Î·~ÿ[L&iD"98H%¢¨éª:2±^G BAimžx¬³y;Eî‘»Ö5vQ;ùè̯*〘Q»œ·"óy)Ï¢/Z9Å *Mt‘š“™?WϞϪãÈqÑ!]É„lh‚ÝpX-»†UvuÀk›Ò+¿½{:ë7„Yµ:ÌÒ#œ¨ª‡Óšµ«9çl3G.Ì«¯60yòdŠ ­\pÁRn¿ã9þö·™TVz¸êʳ¹îúû¸ñ§_bÇÎf¬V3[¶6òò¿Vqî¹K™<©†ãŽ›Íÿ=ü ¡pŒŸü쯴wE[[BKK'Áž(úÒ£Hë& )%óŠ‚¡jUadv_ï+CìC1”¡¡Èоc¤7âº_T½Á[/³øÐCX²d‰gOK+Ñx›%3­¤¨¶?wF¼˜H¤hñwS¿»@8‰ÅîÂluR\]B ­  §OxèpØxêåw0Ì.Œt CFšt*E"Ám5QèsSìóâuã+‡ÇåÀá°£k‘h”g_|šÊ»ï÷¸¬Z¿•`4…‚B:&™JcËnÅé´S^âÃá°bBèq;‰Æbø<®êßá°‹Æq:òÄ—üÇôwâ.ô ;ßçóíwªÅp¢C OtØKé„ ôÊ1å4íh¦¦¶`èð£0PtHÑáÝM>÷dœúá¸ÌÜs®ƒ%¶Ï¦¾H{œKžŠ²»ÐÊ-Çg☣ŸDGšÆ)ó̼ývœjlÌ!Å#›áô…fFkö*;ƒÒcG±ã×g³åœ?1á¬Iò ’H$‰D"‘H$‰Dò‘pÚ„"á½¶Ù_ÑáÞèjšJ:mÈp±¿Ž‡Rx(‘H$’Î>ûlþxï½lzÊœE¹W3… †6ÈÓ¡>ƒŠ‚EÑ«el¹(¬£_G(­SÊ1wmB £ïÐÈÄ,«Â@&&ôìCS@·ÙXÝâ@MÅX0N`1)y›¼³B18n*¨êЂC€@DðÆØÞ¡£›TLŠaX8÷œ~òÓÕtMø|.LŠ•C©bó–ŽXr(×ýøI„aÃdqqöYGñð#ïðàƒ/sÅ×Oçä“çÿxƒ›n~ˆŸ\ÿÖ®­ã¹ç–W^ûGºÿZ ÝèºN,– ‘Lc>þ\v´·BÀêñbž½TÖÅ0¥(¤QŠŠP5„¢ô9fžgÅ€Ñb7(ä-' Ô å:Z1/kîÿ³t;”TDC]XÌ#w€ „x|%}¯ÃV¬úÈïÿ:ºÃT›¦õ÷ÙV¿¯Óº_uw÷ÄéˆØ˜8÷DLæ~‚a¤iݳ‹p(H¯„ÒŠ™h{q¸K§R´·î¦açœ./%å5}Ž‚f›“ñ³NbóûOc2Åq;Gî|XìuÐÞ°¾Ox¨¨*6‡¿¿Öî[wµÐNãðøp$ª˜¬Ô5´2u|UæßigÕú-D“ {:èÆ03f›³£”BOþ{‹fÒikëĦC(¥§'DkóÆŽ­ÅWè¦ÐçÆçuãõ¸qØ­X-–½ºÚm6Œ½Üë !H$Ó!ˆ'’x\ý‚M‡ÃŽÓfæÐ‰µt¬šÍ&ÝÝ{¹ç5ˆÅb$’ âñÑhF4Õè&‹ÆpØíò¤—üG²7Ñ!0"ÑaO¬—ÕuÀ5´n݃޴£Yî Éá©´óüÿä¿IGã9ÑÍ3c˜÷…£ÄÊ#—Y?•±°ú,Üqjï+oŸ6‚jŠ û©·3õTy,I$‰D"‘H$‰D"ùxEÂ(ÉÂôéÅÕ2†ú ;äà„|ÜŽ‡"¶‡÷þñGîj- °ú QJ¯Ü#ØÀóÜÏãol¥3m¦læ©|ñ²óYPeEŒPÿzðO<ò¯t¤À9í|®ÿþEŒÏë%MçʸñÖWq^~7[ŽÑ¹–'ÿð¿<²¼‰„¹Š…Ÿ¿‚¯ž:gósÜxËk8ŠºxwuTŸÁÏù¦ä˜Y¤v?Ç·¼‚Éígå†N„êe‘Ÿã²/ŸÀD·JªánüÕ *¦ÙØðÊ»ìŠ*¸F-áÂ+¿ÆIã¡J¢•ÿïOüùËiJX©œ45 qÂu7|¤ˆi‰D"‘8‡ƒï|ûÛ\öýaLš¶ì›¿È¸Û)½/ú.bäEìöµÉ‹RÎ,çd*÷‡.°@ oývxäØ2°Œþ×ÊPû„~}õ÷9쉌[bÖõP5@MhB`]“ª + : j:ÍÚÇÆD˜Ù'³~}[{ˆ ¥]ËÔ¸½5­<´èPKа²Aå˜c˹þ‚ZvîŒsÇ]›øÛÃÜvëxŽX2–W^måsçW£ªVæÌžÈ‹/oåÈ#çãõz¨ÛdÆŒ2Ü&…K¾|"7ßòsçNfö¬ üϧóù/ÝÊmw<Æå—žÄoîzÍæ Nø¸òÚ{¸ûÎ+èîñØãoÒƒÂY󱩤Ó(ŠB\×3ÂC2¢CCQ³Ž‡™ÿéÛ ™Üe%WݻDž2hŸõ¥$ïåc‘vZ6†@yùINZ´€Ã?\ž´’ƒŠ®ÖŒ*™ Î0GfsÿßÝû%Èkl2{Úľ×ñHx÷n\ÕÞ¯#žHÑT?û¸<Ña4bwýÜÞBjÇMA×Íû\—¦ë”UÖ’N¥ð·7S·y U£'bË^Kt³• ³NbÛÊg0›’X-#»œZv‘JÆÐM™ñ**­äO¿ ž±ØÜ%º÷^ŸÙb'ìÿ1¡Ål¦¥­‹Æ€ŠÍåÅURF*•$ ÑÝÙB2%’ˆGñ8̸ÐT ‰D¯ÛEEY {šÛ8bá\\®sý³Y-†1dܳ¢(}"Ö¡ÆÉl2‘Ì ´µû)ðzˆÅâÄ ¢±8‰D‚T*‹«Å‚ÕšýßbÁWX€Óá@SUyÂK${{ßÊŠK½%´Úhë·"]ñð¾;5d¨¬D"‘H$‰D"‘H$‰DòI0RÑaOw×£±ö†¼|¬Ž‡F+ïý)wm:„¯Ür *4ükç—Ü–™ŸhàùÛoå1Nâ[wÿ˜‰¦f–ýõ×üî–$Î[.aº½…Ws Šøæ]?`’;Ȧ]åýÝ-M×㦻×3õ{¿å˳}¨‰]<{Û¼Rr!¿x`¾öWùý¯îæ/å7óõJHöt¡ú=î»ÆÉî­íqø'C!JÎû)ýq1©¦wyø7âw[¹å;GQÄ»ñ»¿Ì×ýuF¹:yûž›yè7™~ÉTéAÖ=x¿ùp2_¹õæ§hZñ(w<Ø(0‰D"ùŒ9ñÄYôàƒ¼ùÆ püYQYÿE-ÿG®±?lYéU!æµËS#"Ñ/Ì]Cü½sÝá ²‹JNÛ\áZFdHŽÐQ€a Äÿgï¼ãã¨Î¶}MÝ*iµêÕ²Ü à‚ 6Å0Íô„4ò½„PáMBI§„PRè%É ½L±qïÝê]Zmòý±+í®´²W6869×ïÖΜ3óœs¦Ï=÷cÅm‰ËJB|¨º$¡K2ª$¡HаìZW-fÞ\7_ÿZ1`rÆÙ›Yº=Ê‘cm*|`Z )Ò ëˆõðöz™Ú ù\ý•2zzl|ù¹œ<1Ÿ×ßlcùŠvV¯ qÔQ¹á§¯ñ峎Àíö2~\-¿þÝC*ó›Éëo,cêÔxÖ¯“Ìæ¾^àºëïãчÌÌ™ã™<©†eu!ž|ú=œ<›gþùjq-ï5œõ•›Ù²¥÷–lA?ù\¬œ<ìÞ$ºÆD”âÂC +Ñi¶w>¤ÏéP"ÑïÉq¼…0Ц’AŽˆƒ-‡¾®Ú²žÜuËùѯžÎ(Öþ³7ª’ÝvÙÞ¢¸"ýS¡Î¦M”fgdÙ&8rq{r“Ël\O~Žžu¸¦i³³)@ÍÔÓÒÒ+÷t¶Óذ•òcðxs‡Ý ŠªR\V…''[×QVY‹7'.†Ô]^*'Iê©)ÏGÊr7.ô9i«[KIÍÜž\|n•X®EÛ}›.méæaå%~–mj¤£y'MƟ뢼(_i~_y9¼^úΪe¥E´utî±ðPÕTºº{È÷åíQ}Y‘2Œ©E4!‰;†#"‘(==êš…‚H’Œª(ääx ôÑ5ü|%š†ÛåD×u±/ Ÿ{*:„ÏXx8Pt1"8ÔÁJwC);û쪉®žnÚôjò¬]]_ŒvE>bãÛoâ?êjü±Å @ @ðyÒÚØDai À°D‡›wì`bM-a3³SA®¿îöVÑÁû{âx8”øÐn[ÁËŸ˜Ì¼ìŽ“8*Kð¨qáapÓ¼²¥„Óo:“éå:Ëñ|O¯~€WžÁØ¢7y~sçÜ|SË i³«0ÿïXú(·<»Šñ—þ/ß<Ô„¶¼ÃmcùêÇ2Ú/ÿ(N>äþ´h =gºŸÑãGàÏÓñÏ(ËÜ0-Êeäºtý%¾ö­µ,»ã –7Å1z!“fÏbb¥ø8ôˆZžxla¨Œ®æÅ æ\öUŽ™Y3ª’Uà?®ë\Ýu|ø•óM™TZ™8i¥›öM´m)™ÙNU‘ š¥I$º?iðœ´åô-E´4;ÕD1--sr¹»H³ÜW°ÏñÐ2‘%m %!@T±Ñd M‘Qe‰Hg;k_xšùór9ü°\\Nï/nãkç—²|E¥œ¼ñ|3!ƒÞ¨×!õ_ 4uÁ›k%Z":9¹*·ýv:ºîྶðÒËÍœ^Ó¦U¡;<<ñÔ:~yË$jjJùø“&Ž9¦‚²2ª¦óÉ'[˜;÷ žzú^¢Q]Wñz\œÞ—øßåêßÇïþ'?ƒ}Àê°—mϾÏ?ÿ}ê=VŒšÉš5+aÒ<MG=!îj˜ÒÃñôÊ2’ ÄÓ,÷‰‘úý*ûˆÉñ’èÏÁ®3MéùLi˜í âà å 饧øöWÏg„ bgì_÷¦ FpeU¾+¦ ´0Y߈D–³K_ÛÔÖKYõÄ´i›©.ÌþÅpWOOñ<¹É8B½¶RU3§Ë³W}âñæR=rÛ6­¦ºv|ÿòò *è(OG÷ü¾ìÚëuëlKÔŒ¨dec+îüŠÝÖ—…–ž(½¡(W\X7¢²_ž—ñ£jp¹œÅÌÑhŒžž^"‰”ÑHô…B44¶©©®Ø£þ©­©FQ”a×ëèì¦7¤»§—Õk7`&áHÈß::]Çét ë:ùùyù™4a .—Kì¬A¶ûZsùÅÿ±õKx¨h`Ã5“è°˜¹û“ie'¨N93ØÂ‡Ë[ðMÏ„œx½`Ó:^YÑItÐQÝÃäC'21WÞ'ñ…"»‰ÙÄ/?ŸrÖ¦?±íöÅä^}/Õññ‹’$íÑòºÛÖpÑâV›5›Kä­\²p#ëR#É:# ÊøÚ„1œìÓP²hG¤{ —-nàÈ™³øFž²Ëøbí\ñA3gÌäyèØÊw>®çðDÝ}ÑÏ{ÓCèÜÁ5'Û5¬å=<½ìSîª pWpó¤þoEGΚÅW¤íi};œøRÇú²\5óv0e]«V±eÄ,þ8:LàÓŸ²}å«Â1¤­/âŸt£§~ §’ÞvÏ?Xýæ“x~˜ê×˼sdÎçºì«ññ‰øD|">ŸˆOÄ'âû¢Æ'‚}Oq¡ŸæÖöø³=Eé—Úªª!E‡€îÇ ÇõpWn<Ñ@ ¶ñn¤Œó›éÕ‹©ô%]'do1U¹«:‚´:z”BŠ¿¹ð4~“R<÷ÐHB°8|Ü…UäËiïA†Gزª"'DÑîZÍ\&úÝbc‚ýiÓ¦qþ§óÀ«ÏÀW¿ÛwRéÿÿ/¿Á§Ÿ¾2¶^$ÕÙ0­lbÆ€ÔÍÓ.÷‹SW) Ô¦ø0fÔ@&c²m ɶl9ñ_¿ã!ªªJ–ɪgÿAµ?ÄücÇ2²Æ…a©,]ÖÈùçVãñ4sú©~š[mŽ(PyçùFÆäǰlXÛ ±±]㤓J9ÿ+5ÜqçFòò|˜¦N4ª0qb 6Ó§fûöÕtuGØYá¤gò§?¿Á—¾t8šîdò¤‘¼øòÇwì¡xM2÷I|®¬œë¬Ïµœ©KÈ’„¦ËýÓ- dyÏâ3t Pu§,!i9|gî¾ã•qéwóÚêüúƒ%ô1ƒ ýꀛÀÁíu ™dŒ»ŠO‰Ä¿˜îoO~ -¨Ý§ý¼7ý7QÅJo×0–tðJœ~ä±\Y¬ÛÌ/‰Ë!éJïÛáÄ—:ÖM´(¨šŒ*¢šHÛ~¦սTý;bW’7®Œú7¯e³ï)¦NIbë#Úú›_ÿ -½“È×’q ^¦„>`½êøŠøD|">ŸˆOÄ'âñ¸ñ /£@ >úD‡%Åù45wd,Ó’ãÍ,ªÚQ·…ªŠ‘¢#PlÛF–å~G‰]¡ªj<­£$eœ¯¹|¸­Nv¶… v°ZOóᎮfgg” ñ¡ÕÛB]ŒÏïÁéÊC mfggŒ©¹R€IÆy‡>s3ºã9J¯?Z¨.9åGré/~Äìï&/ìQ¿ô¶l£ƒD:üX2Ø×%Ï0(m²-¥¸#J©ÓR= m2Z!Bº›abŠ=ÀÙ°ï¼,aÇEs)JÃ>ã½´ í‚8ÛŽ§X¶âD;ávh%ASTYfëÂwˆìXÅ ·E]}'••e,ý´šEtu»Q]Hw·“pXå›ßÅI'”ñí‹WrÚ)¸{Mfë^¾wéxb††Ç[‡¬ä ¨N"‰©SF±ôÓfŽ=ö n¿c—\<Ÿ?¿Š+þçlZZŸåÓO·1sæxjG–ò࣯ÑÓdîœI¼ñÆRƯfËÖFÚÛ{8uÁlîyòCîÿÇbŒ˜–I$Âö7Y×ÞL»k3Þ a* –ecKrÂí0): K’û?ƒ´l[Š‹ û‡ý£˜¬’ž…»Ï±0CÚì4·ÉA#žV=½RWÊÏñÓßý†‚‚±“ ö;‚]Íèzö¯ÞP·7§ÿw$؉ˡe]¿«'‚77y!èhÀëÊ>EnGW_ÅDtGòžµ±n+yùE{”^yWx¼¹•VR¿cU#ÇàÎñã-C[Çz ò³ûɗ뤫e;ñeøò 0CÝé÷2±±HˆX$H,Å4"Ä"aL#†‹ðÉÒ0ù¹.$YÛfõºM”ùÑ4 ;‡¢"?MG׵ݦs÷ååâpdï0iÛ6–e ‡iï袩¥ŽŽMøòâýíp8p8t\N𦑛ë¥H/H¤?Ö˜5}ŠØÑ‚ýéÙPÊ©©§~¢CH³î W^¡®®ý¸-ºvláÍuœþ<Æ®^†™´oßÊšh>s§äã–Ð §í=ý-K7c¨%xޏ˜ª¯ŠÛ#6VÛ4°ééÜÉmKÖó|{Å[Ìieï´øøåQã9$ÃõT_ÜkLÆrŘr&8$›øö¢&fTºxgK›m'LžÌ™öv~µªÍx˜?q ?›‡Òµ™ 52³ÚÃ{›êYgèT=†ë®b‚ÙÄ5 ×$Û5sç6-åÆÈž[Eµ `ðéŠ÷¹º}÷Q˜Ö5\ðÖf6Ú°ä×xoÌlî.ïâºë9úðÃøš´ëöL®ÍO¦TÇÇÁ ðä; ¹S=˜§/×:Öƒ¶¹šF©ÓK×hu‰mX‹TöS*«|ìØ¼Gùw˜þíï¤Ô XùC–¾÷>ZÙ,œÑÀn–©!25 @ @™¡D‡À¢C@ˆ` èììÄï÷ãõz‡BüÅR4¥££cÈärÑÁÌ?ø¯Üõðc¼ž>s*UZ·í ;ñ±ºgÔÑWýO?øOj.=±z#ï=òË<‡óãÉ~rÔ£™WòOüéoø¿½€i¥6¬n£üÉôËùôr޾ôûlûé­Üúp7]<ÿ¨yÌõÞÄ÷?‹û«ó[ Ð½u9bc™–­Ðаm'íE%Øõ‹xüþEHÓÿ‡CŠdعëªrÑN˜ú7î¸ï!ƸÏgN…DÓ¦tb‚ý…ÂÂB~|õÕ\þÓ1'Oƒü¤~¢Â>¡_šúPJûßô?”sfŠžp ë6ƒóöf²Ï\ßú’õ$ið¹ËЧ[¶âÂC5U|˜pÏ WIž¯€XLC–óxã­•\úƒøèã:&Œ/aÓ–n CC"YVÑT•ST³bU-­$Ù‹e)†‚"ç ¨.TÕÓ™G0Ô‚×[@iYå¼ðâ*¢Q8îØé<ö×ט1cÅEy4wGYµz+sçLæÆ›å»ß=•§žz›~…‹/: =Àž0‡ÿþ†-ƒÛƒ©(8Ç„{äøøõIw7–lÅ…‡’Œœ"µK9ž‰:Õ`RŠK<ã3’c—ž99êò'§T4•¡Rcc[ðÚ¿8aÖ N<ñD±s öKlËB‘³w<4L ]wöÿîín–ã¡æÊïwtÔ“ã†ð°'̨‰‡ôÿŽFÃôöv1jÜç#nóåÑÞÚ€‹¢jñ8ýe£ØúÉò¬…‡.‡F(Ø™¼§¼ºÍÖÕm¢+PàË!×ãÆWäÁëÊÇåÔñzݸœNº†Ó¡§¥7Þ^×@mMõµÉ¡ë˜ ŒiYD#Q"±Xܱ0w,Œ§gŽb]Ý=†¦ià÷å1vÔH üâC,à@D¶ã×LŸŸ‰‡éþ-:L\_êy2½–Jµ™7–´YÎìmee]Œò ¥”êèV\IÛ]¿ §òRFß;Gl9Í÷þŒ-÷¹óýùè¡¥4ÜzÕ? úÎù䲜æ;ÆÖ¿W1ê( w «g1âÚç]ÐNÓ?¤éÁ‡ðýâ*¼ÆûÔýötü>£ïžÞý wÝʦûŒ½ì¸Á'1‡—j›‚CÄ«x˜SË]+šX©¤RíäVðZÎXþp\ cÕ.ûx9?\ªpÿŒrÒ}Æ:ydÉ ÞÈËŸN.g„Ù‘Vöö£'qÑ»u5w6úºdý±Ãíü½ÙÇÏ8†¹Îo,ÿ„[–ldüá9Âná¶ÖðiÑ$›S„Úº‘ë?ÚBƒgˆj,÷ŸN.ë底2÷¦›5 IDATL-£ ÜÁ³ÝeÜqü$ÔíK¸dé‡,­˜ÀïN˜„´} ß[¿‰ÅÕÓ˜“(ûÈN/7y s¥6îY¼’-wðÐôR~=w—/nèoW›^€óã–+¨öÊ`x¯É`dŸŠ”ëFoáþo¾+­O:š»²nσ.ã‡K5îŸQN¹ìåìyÇsvÿ`§Œõ€4{g|^•ÇMqއ^wNæŠhë<}ˆÛ3 Éu$#O¾ ¿úV½ôïÝ,SCç @ @ vɨ©³iéòaÕimo£Ð/ÜZ4*++Y·n¦iîRt؇mÛttt0~üøÌ”"æ\r ‡þÂcW}“ß›ù§SìMõ×߯/ oæ–/匫þù¡Gøí÷î£ËÜ9ãÇ×2#Sœf/ýï•<Ä7¹õÆ(ˆµòÑÃ×òâ­aÐK™vÚøéÙ3ñËì>]³ìgÖ%7pÉ#扛¿Ã==%5%L¯ØÈÿ¥—sÁþÉgœÁóÏ?Ïóÿ~οúÓˆÚÉÔÇýÊ´.ƒƒt€þJ¦‰ÓÔlöûC)‘&ÙN dtÆNqVÌà¬×…eAºe ‰dºeÙ¶Q€`SŸùßþÊ¡œ~ú|!gù6lj¤¨ÐOž¯˜›61ç°Q¬ZÝKee’œÇ–m¢1p8óèé áryå,[BBEQsP¾|=‡îÁ2]Ì©Ãá`G}‹’„Ó¡ãÐ84]#7'‡_Ãív¡ëšØI‚/Úqÿ3æ¨zŒdúuÀÓ¥ÁŸÐ|!É-)Äe*ÈÁ]•3hÝÙH‡³„i…:jO랤«s*•W†;_fS|öqtÜñ ÝÍÇàkzŽÎžƒ)ûÊ©8s%Ça”Ýô2e€¹q høÏ¿ˆüjàÃ{Ô1´¯XA¸+оõ):#s©ºàL<~ Pþ•ôÜù$] Gá-p‘à,æóŠè²ï%¼.+@}Ô¢½kÿû¹ò°*&È.GçO,ã¥Å;x?XÊ‚”šímÛx)âçÿͨd’SÒËž²ÛMÃÍ “F1?WtŽ®)á†N¶FLÆvnç=»„ÿTÁX'P9†«Ú[¹¼1ó¢ÚÛ’qOrÒË ìàÃP)§ËñõÍSÁ!NPQ!•z˜)c*8Ø©*.¤l}3;#Vl'2ŽS}$ʹì Þ_²ƒOBÅ6`Ý~93Ôå¼Üf×M¤§…E1/g¸Pöp;ÊÔžsÆ•ñú’xߞ啇ëÐÀ5Ž"nžWÿ{ö,NìÜ›Ñð=V=ñ–>š€§kÒiø¼‰}σgÔy² 3ÓUîàe†"–8k@ @BÄŽâ’_×WtÑáŠßïgܸqìØ±ƒöööÝ–/((`üøñäççYFÎË —ÿ–.Ï<_õÌ?ºƒ3~”y¾£äPÎýñ¡œ;p†ç~}òIž£úD~òhŠKPÉtιf:ç ZâIüò¾“Ò')œpËß9!ñÓpÕpêOnæôšÁ_š«Õéëð͸†?§¨%W5G_r3G_’د6=ÁoYŠ,‰íLð߈"º@°_¢i7ÝtŸr KÞG:tn|FŸÐÔÔÉ}¤ ûkö€T̉ºƒÒ&§LËà€Éõö—ϸþLi¡“"I;%, 9ÅñP–l¤Äï`S;þñçŸ6+¯<‹µk·RXTŒËUÈ“O¾Á÷¾7@À¦­ÝÄå. ßßC~§,ûX¶|=N§—»€µë·1ïÈjd%˲PTªš‡¢8q»=ôô@YY)Ûwv3cÆDÿÛë\öÝÓøóŸÿÍ?ÿ¾.‡†®ï™ûU^n=½½¨ªN0¡7!‰ÒÑŽ E…£BQ‚aƒƒF—qÄ¡ñÊTUaâø1Ì™5]ìÁˆ˜AS2çí5M<Êçsï–*:„ÂCé¿ûI‰îas‹‰t>yì½s„ØŽm-+Ø|ñ+Îp£ˆtwc4lÇÊ™Š#Ga 3Ž|y®”»51ÌX€ØŽF(\€#'y5¢–ŒC~ŸPGoQΞõ½ma!¡J&­]š{;ùÿ®pcÃöˆ•²ÕÆË¶;¹ê•®ÊTvw‚|U§Ê¡¤\h8$›˜mÐÜÄr ¢ÿܯQáw“›Qx¸»¸MpŠF©_Ÿ,˨ŠF‘ïKY’Q°±úîXt7Ór’Ø\OÅö6†ÍAÂCÉ‘ÇñE ?ÝÙAæzrG0ŵ§ûtãàÝ»¯H$ÇATû#ºŸfõë®ûKW_m¢¿€øý~ü~¿èˆÏ‹îº ´Y¹ä»…“‘@ ìOTWWó³Ÿü„ïßðSÌÚ±àpí²¼”þ."iRÈa2ÅrÒþ0Å51=E3ö©–í>a£”"X³Ó ùìÌ‘ÆovªeI²‘›ÞÍëi}þI.8íP~zÃÈ2<÷ïüÏÿ;÷® ´¬„ÊŠ<úø[L2†ºz‹ªª*¶m "É>êb”—çãÐóÙ°¡‡sÏ.BQr G‚x<T-Uq¡in½6ù¾\6oj`Þ¼)lßÖLiI>õ mÄb³fMà•W?æ’‹€¢°q{­­ÝŒWÅÚu;ذq'–Ã…÷ô¯xúQäÜ<,—KÓ01% Ã3!´°$ ¹Oh˜ì5l[)îx˜i¦¤W–2ˆûÇ!u¬âÿÚöîÞL%Å©ƒ0Mø×cœ4cçž{®Øû÷Õ¬ËJ<3,t§'½¾EÍRÌŽ™xÝÉú¦EW²wOŽÅ ¼E%ý¿#‘šæ@U?_W>EUÑ4±X-‘nÙ›_JÏŽM¸]Ù­ÛŒ…úE‡Š¢Fð Ù×½¡ÁPŒÞP˶WSÖ??ŽðàÓo#Ë*’ªæ@VUCV4EEÖ¼è9 ’#Š5àØçtèbã¾` %:>7Ña&Ä“‘Bí´áå|2ªsZü‚Z®þ6cnþžA÷TQ›w³IZ„j3„ïøÞÈÄ,ºzÃ'åz¼ç=¾ÑÜ?oc, —#]àéJ­ îÜQÜsøXfx á¢Ý»[·„²«¦8!K ÝÔÔ¸N¹Þè YÈ2$ 5ë®’ÒvPێߎf><èL¬Š§[^Ö“C[cŒ‘µ~J¥½•Áí EÇÞ‚´ÜQxüÇRuÄW‰¼uk—½CMÕ™¸„òP @ ‚aÑ':,(( ­-]H8”èØ­èP– ,{ðcÄñ£&±vÓ*dYÁ²DêMÁƒö•ï±ÌÅ´±>B_çÁ‡–áœqòEïÁþÆgœÁ›o¾ÉÿxιúÒÝ&4féwñ4ÈDƒ^ˆÙØH)éšãKKI‡œšayàrû’3Û`KvÚôôuÙ)nŠIc\ø˜w:Ä4h_ô½ _å{ß:–+¯ø2š¦ò¯-dòäZl[屿¾Ëm¿»”pDæÕW×pçÆÓ"=hl3Û¶G™:eë74ÐÑ©ÑÜ&?¿UÍ¡±±ƒ’’Bt=îxhÛ ¡`_ž—;[ðxœ Aoo„‚<6on`Ö¬ <÷ï÷éîbK2íAƒÍ[øäÓMÄ"1>ùtò¤¹PPŒ÷’«e KV0,+žVY’1H8Ú}n†ÉtÊÉ‘‘â¯2SÅ ¶•ìÆ]¼c²3¾ì´“jÓTWÃŒïEÓË`ÛØ¾CUK7ßw÷»™ ûŠX,‚¬g÷"6‰átºÓ¦™FŒl-ÓBÓ“‚#–kx4fQWÔÿ; àÍõí“~r¹½º;È/ˆ }•t5–°£;»úÎ|–i +ñó¦;ˆ„CñvD¢„Â1‚á½ÁÝÁpºƒX®7]è¡+G–ç˦ý. |é†QŸ.Y†f{OO=Ý=ýÇÇh$†¢*TVV»UM% 1²v$µ£„¬@ðEdXÂC-×K¬;@Ccùžœ9Ù-¢Ð½s¿~€ÔÕÄò”ãwÈŠ'jE´/'ØÅS9ðâVG-­DêÙH¤Ç•7¬Ó+ZU)¼½2^× ˉXEäå»ö,d³—÷wôà(Á8‡‚šãF v°:d1Ʊ«Š 9nÔp'kCVFáánî-v¹kç¹QvvQ…Zg|iì Òc{‡Ž%÷ÁÚg ΋…X28ÙWýu÷vÑ,{çR¡WÔ®|_³Õ¼´³Žîˆ‡s È™?˂ϡ=»Cöâðz %ˆµ·ZV@ @ þ‹(:ÈÈelÙÖ@ww'¹‰7¥½½ƒÊky…D:?×[»i€ ¾àÈÙÊkwßÉí­Šo$³N¾ŠŸŸ~(ù²è@ ØßPU•o¼‘ON9•MᅦÏOÌIÿõýì›c3Èù0.Rd÷F\h˜š¢¹/e/éÓSWÑo¡˜žš9.0$}Zji HImÙ`4>ýê¦åÜvó78ãôÑ$غ­‰—_ý˜[{)¿»õ N€7§˜@ÀæégVrò‰‡ÐÞeõšn°e|ù…¨Z.;v¨ª,GU=€D(%ftvhlê@U*Ê Ù¼¥ššV­ÞÊŒCÇa&}´Ó²°=9<øð˼úÖr ÃÄ(ª@Ÿ2 S’tI’âåΆ¦$aô9J¶$Çs…õ í™­¥Æ’)™–“¢Ád‡ÛC¼6³Sº¹¤38Vf¨…]¿ýÅ'ùÕwì‘(G د©ŠŒæp¦M‹†{gVõ ÓJsý³mkXY8c†‰æH #ኒ®O±£Í|úüËÔM>“c<@˜úE/±°É´Ë8jÁa”éA¶¾ô$ ½ó9ûð"º?yš[bªñ>ŸÄÊ(²;ˆT}‰3Jú*J²L8E¨§êNFM=aûÒåÍ%ÚÞÿÛ¡ãrèøóáÊø}róe`:åW^÷ÝÅöïß‚¥âžõ5F|ëxô¶ûv½ì¼9”ÿèÇHÜËÆïþËU‰÷È1êÜãq¨ÚÝù&ÖÃ_Þx™¿ôíª“1Eå\}ähøâ=/é\>ç´O×qÝëëèA¥¢°œ+fç(—D,šr‚Ö ¸äÐCÐW¯ãG/n {@YÙôsJñfnyçmÖr¿õcçtqŬ±üæ“Uœûl ·¯”ËsØÖ•9=sjÜ?zq],ߟ>–ÃR<ÕòpÐÜÌðöpûk¯±Õv1³v·M*$9ó9¥xK»þ<6:ã* (ÙetU>%Döæâ'C{Êýe\1{G¹$°<ùÎBîTæ©ÃË(Ö‘¯†²£o'ðÎ/Yù[ Ç,¤íã(žv'“'å z”@ àsÅ´m”Ä3½ÊÊJvî܉ÓéÜ«eZÙ‘Ýzc]ƒ@ ûsæÌáÚ+þ‡ÿýý]X¥P¶‡(;Õ0]˜éiš[aúb’åíSûÒóJm¶ž²y¨Ó%'ŸE§¿ÿ{w1v(ˆêäç7M,fpó-qÁ׎È™ÜxÓ#\zÉ)¨ªÂë¯/áÜsæÑÙ ¥¥“k®ú K—naÊ”ÑüþÎç¨QŒÃ‘G,f³ek#55¥‰öÚ´·÷àõ¸X¼x-75‹û¨¯o¥¶¶ŒmÛšÐ4•òŠBÞ]¼ù ‰h“¦2 \óN@©ÑÝ•pˆ”±d[«¿¯¥„È0ñw"Õ²H)6†v"å´=h ìÁ‚Á SRU‰ƒE¨Cl¤tßøY¼ð‡×TrÍ5×쵨G Øw C "‘úrP4ǰêK)¹•eEÅ0‡!@SdL3ÖŸ® I}é®â5…‰õ,é›dt²ym3¾Y§pÔ¯°¾e"³KÁV}Tö°zÙ*ìür|* å3aÆñÌtmàÙ×ÖÒ2f&ÅjjøŸÝÇF{›)@’$Ud 6ð·¢(iÓ Ã@’ä¸[îž>k0MtMß‹¶§;_ ‚ÿ<‘h‡¾wÏ £¡ ºË=<]qY1Í ÍŸI#bæîXšVvŸa•s—sÌáå‰RÀùL›“aÊXÄ>ëõfA(²û“l$fÿÆg7ý럇ÿ‡G3Pgî[‡ÿK\ý%¼1‡–Gµý1[¾Mþœ‘ç˰¥8oF )ç"9ÿ;»ÝO²Ý?>ËrQÃJµ÷ízE|">ŸˆOÄ'âñ‰øÄø@ðù¢¤¼ýÞ¹sçg²ÌlE‡@ û^x!Ë—/牧„ï\}dØ6¶”“ ®ÙÒ á`2Sr¿íÝ€²R/K Wª>ƒÃ±ZzÖ噢=ÐSQJÉl§d–ú£(øfÌ!÷ ©Ä¶m¢í™GøðãuÜy÷¿hjîæ~žÆÆvÊJýœxâ,|è%&LËå`åÊ­L_ÍìÙyú™wq:tb1ƒêêR$I¡¥¥•`0BEEܰ&3hkï&'×ÍÆÍ l¯ogËÖF®®^4Ueá¢U¼òÊGD£1Ü“§#Í<«°Wí8l9înhÉ –ð+LŒ•èÿ¾tÊVJ·õ÷‰”ÚÓÒVK)ý—AI˜–F9Íå2•äLÛ¶Ó&Ó—–2}ñ[Tµîàö§žÂív‹NpÀ !ce)BS$yðЖ²Åë'•ªî„a¸ö©²D$@Óã.‡‡›Hd(·ŸÍËÒPz0…ËyéŸËÔ æåk@P)7†ÆÅ›=»„õ›€X;«Þ}‰Fº‰•M^Šzƶ,œîd*äX$ÈöÕï ˺°fò1(j\°×ÜÔÄ+/¼Ž%¹²¼—ðxºŽ$ÁºµèjéDWµÔÁÌ\(,-¤rd5Š"£( õõ<õà“YÇ>mÎtjÇŵ–e±è…¬ÿt]ÖõOÿêè=¥9Bx(ì tM&Ûý»šlE‡²Û‰ g^—+~ý3,áasC3²-aI{oÓ¨)æ~Y®ïþâ?ŸË‘ÍÁÖÚçå, dù¿/¾h÷.x¿ƒcfLç’ÞŽzþº3Fí8?#œ2ŽÏ1>Y—‘Ðtyˆzéëµm‹˜æ“MX¥“8,OÁuÀŒï,&œ0Kl">ŸˆOÄ'âñ‰øD|_ˆøöîË]@ ¸¨n#!`¿AÓ4~õ«_±õ¼óøðÙÇá¬o&g¦º xí™îZq8Èù0¡ ´í”e 02„xRà䄾Ê)J9ÉNY¶ÝŸÊWâ]lª~®ï•²%+xF%2ã(^]Ý€VXKñ(Í‹ßæãOÖóÄßo ½½›'Ÿz›?Þ{/¾ü!—ÿ :;44¶ÓŒPRâgìØ¸3ä’¥˜9c<ªª`YѨA[[7º¦²aK¦ÃÃk¯}‚eY,]º·ß[I§§ˆïÞð7¢çJo~VŸ³¡,ƒ,c)JÂu+în(!d÷·ÅFJCJ‰v&S)'{DJþÛ¯Û´É-;áR˜¢NXÄ&Í2ƒYbJ íä`¯Y†÷¹ëû©©©;›à€BVu,;˜]YŒÈáá0¾=V5™H8¹.Íáɘ¾y(œpo'^_y¾¶mZ=p-M?•ã˜K1@ñ—9?­Œ‡ÑÇÿsÔD&ÔLfòëî tãóõÿnoÚ†Ãh¢¸À›Uì›w¶§ý¶ ƒ‘ù•ä•fUKËæÍÙÿ»mÇNFj…¸»:Gb ÅÌé÷O{÷ÅרʯÌjÝÍÍD‘”c©³¨òUd{ýÖ4‡GË´P5Uì|Á> ÑáPôäxÓqE‡Š®`FÍGáaòYˆ‚¼‚Q\3z·~ô÷G,4G.G=„›k½8ö³Xƒ›¸øìÌÉ-³óñ‰á@ à¿–êÑel߸oÓ Ñ¡@ ‚ý‘ÜÜ\î¾ë.Îøò—ÙùöKpøqióãš³j3;ƒø0­¬¦B´Ó~¦Ôì˘ª·Ú@Å[ÆÁýH 3îˆXšNå)gãÔtÓÄöÒºr)õ íüù¾hlhãëÌgdM)|°]S™6m,Ï¿ðK–là—ŸÁòå›8äàxæ²E‹V±`Ál.ZIKsÓ¦¡«+À#½J§íÀYVΣ}hÌdg[«j…gž…« ž`GYÝ’„-+ + GC[¶â.0}î†)n†ýÁ¶“ý©D“ˆÉŸœ ÓR#gHY=0vzOÛi˱†½sÚ÷ñ³k¯aîܹb'pÈŠ<(=ïPx\:Ñ®t‘¢îôbÙFVvn§†a¤Ø, EË>µ§Ç¥ÓÝÕDaÅU%‹`1ÔTç¿ÏúþÖˆ‹Epyrú§ZXÒ IDAT:Ȇx.fªýn‡½=ݨJvõMÓ““.þ‰Å d%ÛŒœ9y9iÓ¢)BÂÝaC"cNœp(Œªì]§.O ìLÛB‘dJJÊijªßmù¢ÃŒËŒ6ŸtdYSÖ­[Ų“¹§3wâ¾_µ#¯–ÇÔfÑåÃã§c&@ `HÑa‰¯ˆ¦Î–a/oÂÄɬY½Rt¬@ ‚’‘#Gr÷wrÁEÑåÍEš8%m~\ h§‰Ë€¤›aJÁ>Aœd§Jí‡ÃÔ…&ê¤fsî›—!ÕròßÄŠìôeÙJ–&þ‹!;.t´5ÚÓÏ£}ÅþðÐ[\ü•9œ÷•£ù`ñþp×3üáÎ ËÏ=·ˆñã«=ªMS;¶’@ DSSTË7.ºQ#KðxœôÂ<óò§8?ߨ1l|ì/ØŠŠvâ9hc&aé†Ëƒ¥èDmC–ãBÃIJw=L6;Þ;U ˜h_¼ßåONëÄ]˜&´ÛXÚû?é29P£˜)½²ÝÞ†üØÝ|÷¼sùú׿.v.Á‰¢hDÃÙe-‘% ÓHÿÈÌáô3Úph»Á9õíMý¿%YÍ‹iš(YˆèºL¨£5mšË“KW{ ÅåŸ[u´6‘ëó§M :(-ÌN|gšº;/mZwgª’½‘i(DŠíT–•eU?‹àÓ’ñÇb1LÉbáòEhšŽ®i85'šªãr8Ð4—g"õªeYø‹òûëÇ…žÙ§J¶l‡Ó™Ò·&RÒ ûüxŸˆg#:Ü ÷…è°¢²DŒ°@ @ @°ÙÑ!Qt¨çxˆöôŠN@p@0wî\~{óÍüàÇ×q¹aäXúÕ|Ò Ía?Éé eÚ`sÂdAì„Èp°Š­Ï}OJS$Òï~h§–O FJþÛçx(IXH‰9&1$””0sÆO¢úˆyl~å߬\¿Œ¿Ü÷ÿõ5n¿õ2üþÖ®Û·­ãÎß_οŸŸY3Ç“›ëæÃÖ2}úXž{~1‹{\4/^‹mšDüåŒ8ïBº GI•WÜ@0#lZÄCE’0%™¨E<Ͳ$ÅÓ,+2VBhr<…rŸÓaÂý0Sªê8i"O{ Š0å_;“`pˆ²W$ 5® B½Hÿ‘3gMçÚk¯EQ±c H4‡ ;Kó;I’èíhJ›æðäêi¡í^„—ãvе=]ðâõW oÆëÑw«ª`…Z :qyã9ÿÊ+G²eãJ|þbõ³OßkÍÔŒžœ²ûw!EÚÐÔ‚¬– Åpz‹Ó¦µ6µP•;!«ú‘h„ÒÚ¤¦Æ¶m](˲ ¦‰Ã™9Z–Å1ÇôC§‰Dõ†ƒtwwÓè%Р­­ƒžæÚ[±°)\_DGW'.·‹ö¶vº{ºÙÖ° ‡îDVd4ECSUTEESu9)L4-+ÍáЈÆPU‘jY ø¤7åΧ–¢¹€Oü…­ÿxiöqHÅeÄÚÛ‰Ø`zs1ƒ!¬PK–1%Ö0% öã¢Ã„¨Ð–”Ä¿2¶mö§Z†TSá¬ûúÁb^¢„2`vêÄÔ”ÉéO;E׉L³îŠDÂðÔCS]Ê­·ÞŠÃ!^l \TÝC0fd]^S-"¡ WܱÎåͧ§Ý̺~,Ô…e™Èr\¬ëtûuDzøs´Ö­£jܬxüšŽÓé¡«³aégÞ?­-õxs|hZ2¾Æ-ËÈÏue½ŒPÔÀ[–ŒÍ0bôtô@n–÷ÛFÝ¡§Ô7°M;ëõ›Vºð0Žàt:‘e—Ë…ËåÂ?c]Ã0‡ÂDcQ¡0áp˜ÖÖVÊÇTRY^A(¤££“°ÁŽYXa3f`D ̘‰Swàp¥##±(ª&4ÁçIa¡GöÜœº{zع³žÊʤSlÌŒ¢)éÇáŠ5ÔmÛ:üóÊÀ yþºÚ{†½ ¢C £èÀPcÿ±Î6ƒ­,ZÚ†ÿà1LÊI*=Þv–­®cc{CqP\QÎÌ1ä€Ç?{ÇßÙzË ä_ûgJKëhýÓµÔ-ÜŒYx2£~q#y¾”“VÓR~ý—…lˆAÁÔS¹éÜò>ÃXº[VsÁ{-Ì1†Îe+Ø\;›ÇFèüô–¬x•žP iÛ‹t=g‹K£éV>üÇt§^¯(xÊOaäœ+©(ö¥Ü°ÙX=oQ÷é½4n[B0l¡zF‘?ú›ÔN?‡ü,/X²]gÆr€ä¨&Ü™xØ™x•­Ô½|«ÚŽgê™7ã–Sn/ÍÍìxñˬ žÏôÓ®$ß! /¦ÄºòF_ÁäÃÏ«KÄêndñ ‹);íIF§[ 7ñÞ«RvÚ“Œ°îbñÓ÷`Mø 3:GŠÐÙhþ- _~‡ÒSŸ¤HÚ:xÌ&䑼” òéÿýß. €VÆW/;ƒ“Êv½£ØõÿdË-Ï‘sÕ)ÍQ17þ‘ ¿YŒ÷ª{¨ãg@ @ >'ÚÛÛñûýCÎO:Ü‘`Ltš@ ‚/$’$qá…ÒÚÚÊíÞ‡uá•PQMªÚ,.LMuÜ'1 >LäOŽO ˆëK¯œ¶v{×ó3¤Zî7DìSJ6Iñ¡I<Ͳ)I(ÈD¹/6@±%"–MLRЊËÉ™áB­Í[›7ðÖÛ 8õ º&~òóGˆjn^|k'8“§žYHKådªÏ¿”P0‚ëäs‘wbMšNÌN8,Ú` cÊ2–¢`Ir|ºw:4ˆ;ö»ʉ¿ei€Ø²Ïíp KdznêÁ—ÓÓTÛƒ;‘TÉ$EŠ»;‹Â³eºKæž{îÁëõŠIp@ãtçÐAÛ1]%Iúi†p1Ï뤻£_AÜÁ/·°’¦õoS”ïɪ~A¾›Mõ–Á¿·-¯ņ5Kq8Ýx¼¹ŸYßôºéîheÔ¸Cú§ECzšÖR6Ÿõrº{#æ'í »;Ûñ8³Wa êÕí¨#ד};½•%Ÿ ´µ³}ûv4]Ããñàö¸ñz½èú`-…ªªxsÒsáP˜¼Ü]±íawº~Û ²nåvv8Ê9êðb¼±vV¬ØÆBÅÁqc½hØÆ#U}…šßŸƒË!cïü˜ö•6?y…ŠÉùdtÕt—pî7ÎâÔòÏ^e™òÁRÂÝ ¼á:Ö®ì¥zÞï(ظ’¼qeÔ¿y «sžbꤑñÂÚjÏ|šª|7.ÝÄè]EÓGײæ_=õ!jK¼€Ñú kž»•pùåL8ë^ü¹Nbï°óƒ›øäÉEŒ?í6*óÙ›XçØR/¡pÍX“aÊE,\Z/Áífå«×³\¯aæaÓ)›ûcšÿqk>:ŽƒfÎ#A”Þµ7³±aµ§^ºKÑa¦˜°znÿ3Ë_ý Ë]#™yØôá ˆmÒ»òYW9Éc*‘³³A SÎý6ñ1·<¼%»õš1lÓB @ Á¾eW¢ÃìJt8æÿ³wÞñqÜuÞÏlï]«Þmɽ—$vŠI@ qpppG½Æñpž{ pž¸£s@Žz!!—B …ÄIœ8Ž{•euYÒJZiµM[fž?vµM+[râÄÄ¿÷+Žvg~å;¿™ÙiŸù|«Ó1x|ÎùªÁˆ4'b5gH…CSXí6±΂ññqˤœI’p»ÝÔÕÕár¹ÄÀ @pdYæcûáp˜ÿ¾ó(ïùø«‹2«ªT’.™¼X°0sAZ㼃!z¸L%©(urÞq–ûaA_¹lÌÙTÌ3އjÖõPA&…Š’"¦¤ŒÛ¡¬æ»Q$H¨*)2óS€ìöaõU¢×j©¬¬$tâ8§öì¾h =G÷óî÷|™1{5š[QŒ&”é$æ•ë±mÞJ`x˜¤ª’–e’>Jr&•²\ ˆÌ9ÊYá¡ ’œ]Ι‡P…©¦KóKc¥kgVD¶®Z8î…ç¦eÓ)Ϥ½.=·ÊÉG)]3¢Ãå‰)~ø³ŸâõzÅN$ø‹Gg0“HÎß±ÐjÒ31>‚Ý™ÙþÑØü_Xó{¬ v儇:ƒôv’©4:íüR–»Ì*þ#4,¹VKcëRzO¥¾¹£Éò’Ç% 3Øw‚º¦6ä‚Têƒ]{©p™ei^í$SiÐ90˜ó‚ÈÁ¾^¬¦ù ñ ­ùïá0‰1ŽôÃaqà´80ç6÷I§Œ¦¼FBQ·-Æn· …ƒD#QEA«ÓbµXsbD‹ÅRTwæú´©¹©è:Ô`0œÑý5•J‹Æ8zäH‘£@ xõ)·Áá!ªýy7W%+ÖHŠ„*Ͼ%©jæ„pžÌGtøê 0Ù×ÅãÇÂÝ6,©’i2ÎHLÆßâÂmÐ Ý´TœbÇDŒ˜bE'ÿem 3އö—úñ]ÄÒ¾ýB×~¶¿]‡æ%µž¢çÏ÷𙇆HM×Ð|õ[øè%^ qz »NG¥Ñ€I¯cÔ%Ùq©ê6jëœô<¡úý¬{Ïû ÖV醨Ck]MÍ¥ß$z »¦òÚ›1+ÇèòëDüÿÎêËߌ˔YQßµ´¾¾íýo§cÇ}¸¯}+æ….ô}–õO”m˜ÿ––Ö{ÙÓû4Ñõë°;n í¢Gyî‰Ûé«YNk½eâwîE,ë~Fƒÿ,߆ÊöUß|/‡³}-È/PçÅn1ôÔ¿ã©ø5ŽÙK4{é8ãi@²‹ÀíÃý³´ìòâyãrò¶/ž‚ð¿¾ð?ÿœ¦*@™bú©/qü«"H ­» ÿ{?NÅ2 Œî`ø_gdÏIÒZ?–­ î×c¶È('¿Ïñ¯<‹}K#SOüÈXmí\5Úu~$qœ@ àe¥cð8.‡™àdæþŸÅï"2ÄjvŽ‘¦ã9Ñ! D‡gI0¤««‹¥K—²bÅŠ3–Åb>|˜––œN§@@ ΀N§ã3Ÿù ªªòý|å½{VÀ_ )”Š>d¾¨ª„TªPË$æ„*Å)œ3Ÿ ³y~T ´…Å®}…9œ¥"Á4 «*ŠJVX(Ä,‘ÿé•” I$’j&ÕqJ’ÑÈ’Hè[ðø«™N¥ÑÕÔ3}´žÊåk’PUICHª HªJZÊ•l[iYƒ*É(RÆ Q•$ÈÆJVhXà~˜]Zµ4-rà°8Ýq™qcÆ$QÍ ³g?ñV ꔡC-µ¬D…Dõî²bj”ŸÞùjjjÄÎ#xÍ ,Ì7q¯Ón"Ï}—d½ÅE"•B¯=³±‘Ëi¢¿·VlÎMsW/&€å¹rôñ_ Ý»Ð( J2_.¥/]gbÙv ãKL«(ªšé7Õ€ù“Ó $ŠÆ0]ÿ”DÁv=©’Žt?²‘ʹ*Wð/?Ê©ïýùÓÅ,dì??ÇTõ©øÒëЧùÑít~×DݯB3­¢Œïedßr*?vÕŽq¿úW†ø}ŒuŸäLNÓóÙæ[®xÿxåúñ‰øD|">ŸˆOÄ'âûKŒO Ù'£¨RIÕŽÅÀ¼Ì °hÑ" Ê<°ƒE‹ÑÛÛ+„‡@ Ì“ñ!À÷ðÒoÿ ’oÆÁEÍþ§hÚŠÓ÷Îr1T¥¼€°¬¡^I½\›RAdEƒyÑb®Ûñ€,£( i¤¬ã¡Œ,ɤ‘ÕŒ±Œ¤f’FO+*i ‘ý'É2I$´’L ‰DZ!©¨$ÙáÆvé5L…§PäÌóÑ´œ&THÉr&ÕrA*eE–A–³) A&#nLçRQËH’„:Ëä¥XT™ÙYbC˜%Ô,ªÏìyjÁ`ªI˜Õ2…¥Ü¥èaîô4ÜÿKVLøÉL]]Øi¯)L7Ó‰)ôº3k6l&=}§Š…&VW-±é®y µ²%zŠHx‹5#àóÖ,áXÏ‹óJ2Tû¬ô~ÓúëЛ2&?6‡­Þ@×1._íü³<¦R Cý„&ÆhhYZ$:LÄÂtïû#õ 3š˜Jв¤5÷}*4At"ŽdŸö&S_àvÇÃe¾ehµZêê3¿GÓñi‚ããô÷ pªÿ½½}¤§SXLV*ê}Å×òÁ ­‹[gõ%Ë2V««ÕН"_GUUâñ8S¡)âñ8˜ &žæy¡V›§ÃŽÇçÅåqá¯òc0‘Êè‹E™‚sLW_Mçð\Ååu æD‡ÓÉ8]ÆÕl4 í þ¼¡!i ¨©é¹çÏãwµèÅ——TNƒÝ_E‘aÆ”±°ŽÖLó¢*†÷vóÄ3Ý™ W-[¬è¥W"¾™öù´%±Ü̵ˆ$,å—µ\=Iʼa%És÷/Ésõ«0qìY~²3Îú›ÞÀf†dR-.gòqÛ%ÙƒÔú\ ¨ŽÛ© |ˆŽû~‹ªo%j©†öëq:¬™K i®~µè¬Uh”NÉJì µÕZ&>½cõn¢ñ0²ì:íøö)õ[ܧ\¦œ¤‰õý7½ÝAÌ+/Å¢'“ÂXnÀ¿éVFÿYºž|5ÜNõoǦŸßú- @MgúèÉ÷U®ùÍŸˆOÄ÷—Ÿ@ Î/Üu^ÆûFOs)‰¤êŠóÕ3?˜Ò)’rZ ðYhkk#žÿFÆÇÇÅà @°ôz=Ÿýìg‘$‰ÿþé·Hßò>¤º¦‚“¡¬¡^Á÷̃,5ïbXä~X ‰›ùŸZ*š›q?,t6¤è³šíG*ꜬŒÈQ’QT5ë$˜–äì3¿L™Ø’JÆxb&ݲ,I¤e™´FC‰iEÉ¥c–T•„¢RAÑhHª*ª,gÓ4K¨ )@‘³‚ǬèQ•ä\ôJö“¢ªÙçW3^‚r‘d©P-“.¹X…˜M¹\f¼PO3¯tòÌ8[Å¢ªÁ}?gE:ÊwÞ)D‡‚×$F‹ƒdlb^eu: Ñ`Óñ(cÆáÞî­c¼ã8Ëü„ƒµ~;}i_•I•¬Õ›0»˜ °Yçç„g4èð;¦9¾ûAÚ7^VŸ½˜LZÚV22ÔOWÇAlv' Z­nζR©$“ã‚c#XíN-]‹,ç¯uSÉ{¡Ò¡bÐÏ?µâTx£«>'Œ8yä v£{Þm„£k[rß“É$’$¡-TŒ*««¨¬®‚M™´Æ““ ô 0tjˆ§žx §Ë‰Õfe,0F:ÎÁUµÈ ±’$a2™0™L¨ªJUu×Þp-‰D‚p8ÌÄØc££:p˜Oì ¿»«ÝŠÍjcÍæµÔÔ×`·Ù G˜­±Ó ç¦s|®-~éxFtO£-':L¤§Ñk^šÕééD‡:Íünœ½ÜådYE’T4š4:Mæ$2c÷þARÕ-\S瘚¤ãh7;hxÝ*vù•‰Ïd˜Ï“:åŒåT½Œ$V/cÒÈhÈ~.S/¡Íˆµ:yÎv%#+Ÿ;Æ]t`Úü&޾†E‚Ø<âÃ°Š†«þDKè?úCâCßâÐáŸR{íÏi¯÷’Ögìàµ:ƒN*jO£M2zƒc<’ŒV§™U ­ËÝ4ÚÂe+_ª ÏÌü|¹¢>e 9y„Þ{—Ñ[xð5¶S±ê´¯_ƒ©ð˜ï»‘æõ`ÿS»p\ñ-šüfäy®ß”~î¾<˿Ʋ ™¾’z Y]™u˜ÒÌSf>k±×ü/–¯ßÍ /þþ;©ÕÎÝÆ\ñɺÌjù:Åã¬ê‹·Ã´^B6¸0¹Í¹rŠÙŒ†)Žv¨‡Tàýz¤¸YM JŸˆOÄ'âñ‰øÎÏø„ÈD ^Mz»ú¨ošßÍÆèÄŠjȽdYIÕÑÞÞÎÑ£GgÍëìʽÞùÔë_b7²ƒÕhîB¥,é.FCSõ.lfЮ¦ÊûNþ±ª[(2rNcèÀ³¨UŸÀc×}l%}R´oÊhl—Ò|õ7Pïÿö>¬gÝ›>ŒËx.„ª2{¾¯#ê0_÷¿pe4–ÅåŸ3š@­²l¶Ó$Æ;Hêš±š 0Yz†·”ºË>ÁÈo?CÇîfP´çt›?´55HãûˆŽ%0{Ä›ø@ @ œÒåoĘ%'ÑðÜi·Æ'Çq;Nÿ öBööörüÄ™ï}.nm¡¾¾~îU³@ÇÃÓ @ œY–yï{ß‹ÓéäÖO}ŠÐÄ8\zMÁÁ–œPšÂ¸ΈéŠÓ2ç…o9‡ÃB ¿\Næ| ÅS ÄŒÒLëY—A5“B9W"'BTI“O¹,g[I!‘FdÒYñaBUI*jÆÍ0[CV3i•‘59wC5{Ú¨JÒª’s6D’QQrñäÌ&$ri–3æÎÎwœÓ]2+u±£¡ZfZ©¿aéPªsŸH¡öœ@óóïò¶+¶òÅ/~“É$v Ák­Þ„lr‘N§ÑiÏülÛë0sòøQ–¯»,7Í]ÕÊdßÎ3 S©4c¡“ƒÑ‘~ªÚåLŸU-èÝÿ“Y3ÿÊv«“!Mß‘?ô´Pݼ½1ŸÎW’$,¶ŒÎ1öñ§ºö25tˆúJFÞO+i•ñpŠÆ5]£ÑÒ¶ÞÀ¢ëi\¹œ/¼È¾§žÃb÷âñÕa4çE}ÁðÍkZ Æ.EßÉ^–Õ,Í’©$‘¡0‡z‰G1X ¸}n*ª+ðú½¸+ÈðîãÄørZn܆I´mÔ^úaFîû,ž˜`Ùæ[p9Œ¤&ž¦ç§éšØDÛ 7bÑœÅbªIRS‡gõYnw’ŒhÚöQ&îùŸ]ÎÆË®ÂpŽ6›™¾ÆîùŸ]‘éËzuÍö=s]†OPSÓŒŽq"½wÒ¹ÿæeÿ‡‰ÙÂC@㺅–MO³ÿ‰û™Ö¬ù îøÙCìN€±×}àãüÝ•µÄêÁŽ$IÜ|óÍTUUñÿüaúCpåõK‹™Òå\ ³)óäBý]2QÍ[õé‹ÊÌüQsN|Eœ¼ubF»'I¹ùª$!K3·ÙlÆYÍ_*Ûw E–‘d)ë`(“T3‰¾Òꌛ¡D*+\T%%Û¶’M­¬JRFì˜ý›4òù“¥¼ôRUKž÷IŠG¡HtXl]8{lJÇ£tKE% :Êǹg'†û~Æ¿¼ï=|øÃF¯×‹ApA`¶ûˆM`œ‡c¡,˘äã#8ÝÑšËßL ëEUEž#ËÝD(ÊD\ƒ³r9KV02ØG`¨uIùl¯\Âèø*<–ůÓih¨´09Õʼn]]X}­øê–b²8æÝFr:Ê©îD¸Ìiª§+p’ݡݬش‚ëóÏýúX±jEÙ¸µZ-'³Üétš©©)&'&éêê"sèà!Ö®[‹ÛãFI¦§·³‡±áN»ËÓíÄévàóW`0å—98>Am}Øá‚ó˜èt´øTI«Ãíó2˜ŸFpÞª±—Ct˜ùáqžwƒ(›Ýl\­°çhvw’’u¸ý•li«À©YÊŸïd$–àáý€‡ ON]ŧþªÓÞ6•©ºâ«„Ÿü¿üíO*H½mT¬ýË—/FCVÜ—<ÂÉß,áäÌ刾kõu´ßðaª½–ÜEŠÖû·,¹¾•á}ßæÈ=_%›F6·àjý{Ö^öVÜ °ež_ŸåÑxÞÁÒKvòÜÿÆÑê6V´Õs®$«Ï;X´éYöíÈ÷åÛúSVÙ¾HçŸßLG(„Šs=Þµ?dɪõè(/𯿣uh?‡;^BPÉ.·ÿ CöÏÒþ±Ëg_¬»Vá^}ŸÛNô]? yÉÚ³­£úÖÏ"ýèÛœúøwH+ôK^OõGþ »KF Š]Q @ ‚ùp&Ñ!P$:¼t¶\œq¹('>lk[Ìe[·œ±såx˜êŒïþp'Þw|‘Ÿl­FåùŽq©Z "é„@ \rÉ%Üýë_ñÿø¼øóïÀMï_åÌQ—Ò¬Éyaafjν°èð¬Îú”¯Ë¬¶ ³—$(†¬è0W3›v9WZÍ‹ÓYWEE"[FFÉ¥ZÎÌW²çjÁw¤Œ{"’”%"I™r3Æ‹ÙrHEI 3ŠÇ¹Ò(¸ªêœªÁ“œÜ¨·U(æ”ré•KǰÈéP-I½œJÁSÀ½÷i¾ð¹gûöí96àµJ*™È}vû› ïÂeŸŸÃ§ßc¥¿ëpNx¨Ñê19ª˜Š â(IK‰M˜L`«h§±­ “Õ€¯²–ŽÃ/âñU¡ÕeD¾•Íë9>ÚK4–ÄlZX&CFÂí4ã²ÃØä zv%­±buWcuVa0Ù0˜­È²IÖ™ NÆ ‡ˆQããxF|~=ÍÙ½Š%‰¤m´¶]T4ÎG~ó jR†ÖöãÙ¼-o­£Õëi\¹‚º%í ;Îá»™ Åñµ4¡7æÅχö¤Ê[yú15XL,& ñé8[ÞAqtt”ŽC1àöy¨¬©¤¢ª‹Í2Çxjp:8yMÏÑÃG©¬®$œd*ß¼ÛнÊ'l›Ÿk.+½™*apøØ¼ÉÇÚ”I&ý»Huo£ñë·dS#¿Åß}ÛË׸ìä²÷ý—Í1;6}æ·±eëVê_w mìæÄŸÇ}Ù­¸ ŽãZÿG¹ø>škÏtZû@ Ùº…š­[h½òì·­Â>OׯÖÿQ.~ÿGË´`À¼ô®XZf›ó}„uïúÈ–ƒõejûW¬,hO[‡oý·ð­Ÿ½>ôÙbÚÊ[¹ä}·–Y!Ux/}’k®z û¦®çõ×:`*ŸUY߀çC¿Åó¡™ ‹h¿ã¹ù}´ßñ¾ü÷ÊmÔ|rÎXIªo@*);S¿é›ïYð8 @ @ðZgtr¯ÃqNÚNÉ´JZ r åćóÂÙ9ÎG|(í8tI‚##L¥¨¯_ÃU"ë•@ ³hmmåîßü†O|âÜýƒÿ$½ýo–­É§ÎZæ¥sE9„³ú;µHH¡C¢Z(@,©[Ø/¨ ¥žqT‘ÈŠ³b>IUQ%i&Ks6•²”™&ɨ’LZ%ãd˜maæìC•2å2MeS8gÛSf"VóõŠR«dò;.´Z"º,d–N,ªsŒ]ɉÅ3ÔÇÅ9Î&ƒpïÏXœŠð_ü‚U«V‰^pA‹„rŸuF eþÏUýn /;JjåÅ9Ñ ¿i5Ý»;sÂÃøt’щ(б‚ú°8‹u:½»ËK׉ƒ,Z²6ó‹"IÔ/ßFÏÞ¨×Éhµ w†’dðºÌx]H¦‰Å{÷v0™VI$ÓH¤£NƒF+c1éq»´èu/Í4+‘Ls*˜¢qÍ5Èr>î®Ý;© ŨWdB=ÆÀóÏcX½ÏE¡wç3ht:ê—/£¶½@o/£]ÝôíßOåâÅÈZGöe]óšù¯ßé8õÍù ¼àXo5vÙÎÔÀ$Ã'‡ˆÆ£mF*ªüøkýøü>.GQzæÆFǰX-ÔÔÔPSS“¹J191ÉØØ“$“ILNõ­«0Œ¸=ùå‹Çâø++Ñh„Û—@ðJb±YˆLE^±þrÂC»Í@hjƒQÏtt›Žûù nýë¯â»øÞýîëX@ (Ån·óõ¯Õ?úŸÿϯ9u \~-¥î}ņÌҺͥR×¾ñbÁdIͧZ.&ëî—m¿8]sÆdpÆQÉŠ }@‘åœ;¢"I¤ÔA" d»MgŠ äR'~.J-• ³xùa¶ØivZäœ#¡Êf‘cZ<†¥eÕÙ…såÕ“Çyo\¿š/}éKTTTˆ]pÁ0Î_h´˜5D¢£8lÆ3Ö•$ ›Aa,0ˆ¿º“Õ…l®`2ÅÎ{~Ìœz^ÛvÖ½õkøLvL Ø`Øûë_ñå=aÐU±@®Âù¾Ûľ$@ ÁyÌ|E‡##**|gÕGëÒvN”I1|¡²åâ‹ñû*X´¨uAõTUE–eR©3¿À­ÕjQUµ¬CÅldÌu›yë­›Ù>ÙÁ£?ø2_ýÓÜö…w°Ø$Ö—@ ¥èt:>ð°|ùr>ò±q¢ë8\ÿW`µ¸™q,›‹Š¥KsRNÀXR —™XUÉ;θ–8"*ä=է¬ðPR3©• ½ȦR–ŠR9“Kµœ-™·<,X\)£ZAÁ™zÒluâl±¡ZÆÍpCµÌüRÊdé©0?õ0·~èŸøÀ>€Á ^¾\XÄ&‡Š^prû[?90/á!@Sµ‹ÇöPQÕ»þ¨nÙ@×G©hXG}í4ÚâtÉéTŠÑ‘AB“cèe‰Èî˜;{8~jû_¿½>Ó··¦t*ÁPÿ ÔúHçq’;US#S8ë6`÷æÓ1ŽÝÿ;–*ÅÂII’piµØãqÂ/¾ÈÀáÃè/¦âŠ+0úýEå••Øý~ºücj|&º;÷áñÕa³»OS$aUëâÜwEQ¨®©fý†õØ»Ÿ݇Ð**œ><V³«ÙÊÌ•h2DgøD‘ðp|t ÓM4Ål1Ïy=êr»p¹óâË©©)B¡ö ²Ê/v<àUfr,Œî42½JŸ‡¡ÀØ,ÑáH`˜ ß™÷á\Ó5n/ã£gè\¢CNK:)ÏWôþ5|æöu¯í‹ÂšÛÙú¡Û3'SgLÝüÊÇTt²wžÄwz̬~ë{øù[Åþ#@ Ák‘³BtX†…Š=¸Ýn¬Vëi…ªª’H$ƒx<ž3¶ëš';ܬÞЄS¶àö˜¡#Ì´0®à´\|ñÅQʺ u3ûœ W¼ø¼!ã~˜Ê3é–eT$Ò¨Ù~2Ó)r9”Ê.¥®EÆ…jy±d¹LÒÙr³Û-3fE“ÕBUcq7…Ý–Õá¤~ÍR½Ä—z'›6mµà‚ĬMÆlnÀâª` ¥AQT4gxDJ+„ã âáI‚cC¸½UØÜU¬¼ìeëŒêÃd¶ê=IèÙ´(l8Õ{ŠÝ˺Þ–+ïoX‰ª¤éx‘ª ÛKr>EUˆ§ãÔ4ä]G†G°ÙlÔÔÕPSWC"‘ ¿·Ÿ#°¯ë&­‘ §§-“n:­¤ñ7Tµ{hß!¬XØûÔl.¾ª *ª+¨¬®Âæ´Í9F6› ›ÍƉã9gD@ðê¡Ó*§?+;½yY+á‘3j¼^/££çdÒÉU§ÆÆ¨®©ap` óƒœ>óA"­ÌO€õr–K/À®öåŽ/6­œ±Ìtræ}£W®\"¥dopŠøD|">ŸˆOÄ'âñ‰øD|">ßÙ—Á…E84‰Õî±@jkk9vìétz^.†ªª ioo?cYI ±ÿ7_åÛ_M2ަKxË?¾•¥V1î`¾¥²àÂÅãñðõ¯m÷ÝÇmÿ~;CÇÂï¯ðÀ\äÞ—ÓÎÌcf‚:cVXlþWäX0)ûI*šW"Tg„„…•¤bàŒc¢TÒKaÖâ™ó"‘¤šI­–t[eI‚çrù’g  ÆEUË ËŠ ÆT•JÛ*(—JÁÎÇ1<ù0ï¼ñz>ùÉOâr¹ÄÆ,¸`q˜4Gz©¬Í%IÆæª& à´—·@W…©H‚ñˆŠ«z)ëÚ›9zàyNmy ­H8D÷qLf ÆTŠñGÀ78Æbò}T©2¡Ýû8æò²hË6d9£©¨lZð¬a Õzýù#>L$Ó ŽÆpÖo,* 'v=ƒéðªÕùeÿ´kµØûö‘¼è¢"áá‰}{YyéVdYÆS[ÃeoÝÎøÀ ÏÞÿÃC]øü 8œùcO$¥¡­)7†ö º¦šh4ŠÙlF¯×ÓÜÚLsk3±XŒ“'yþ™ç9Ò}” —¤’fÅ¥«rõƒãAÂãaÚÛ3.ŠÉT’ð©)Ý#ìŠ=‡Î¬ÇWU¿Ú¯ª—×…F£)ºN=ÙÑÉ–K·ŠO x…С!ù2\¯54ÔÐÓ3pFÑáX`Ï™Žž#Ñá §Æ2êÈÑ!€N3¿…}¥ËÍœT¿ñÍÏéNyÅË) Èòyßô.NüùqÜ—ÝŠÛpÆw¾ŸˆOÄ'âñ‰øD|">ŸˆOÄwÎâ!@ÇjwÐRU%b¸ÝnÚÚÚèëëc||üŒå=ííí§yˆžøn¬ÿú_oà_Å0 ‚³F#†@pA£ÕjÙ¾};6là¶ÛnãÁoŽÔ57!­»¤XX8“~9;E*<,~Q¥œÖP*Ö•:ü•èòò"ÄåZ"êc&ެZPÍ|N«RF&8Ót6·³Š\àÔ˜ÿ§Îuz‘‹‘¼‚Re–0¯ƒT‹b-sº’u÷Ärg9j™ÔÍÝH÷þŒæTŒ/ü׷ضm[‘(G ¸1eBÃ'H§/ôT4.§oße…‡¡pœ±Éfw‹7nBoʸÜÉHLŒà©¨.*?1Ø×I*•ÄírÓ÷èC˜:{iSuèÑÍj¿ {Œ›¦5y'RÃJô3'wáw(˜MºW}좱$§‚Iª_г¢©h^׋;‰?ü0Ëí‚Ú ¥RV¬ÀÒÜœ›Ö{ðÑàÎG{I’ðÔÖð¦¿ÃÃÙ¹‹îÎ}8\~\îJVn[+ŸH$0™MX,öïÝÙj¦ºª¯Ï €ÉdbÙÊe,[¹ŒX,Fwg7Ý]ÝŒŒŽ€¼/§Oászsmê´:tZvKfH+ ±`ŒÎáö=³ENsã_oÏ¥d‡Ã´¶-*# ‚sKòez>ÓÓ30¯r_Æ1U{¡ t::Ê3{Æp¯\Ä2[þä2 ràè'Æâ¤4FüµÕ¬kqãЊóœãÑ{þÀ¯öu¶ó±¸š5n¼¡ÀaþzG€M«[>ÄÉæÍühñ4ѽŸæèžG˜Š%‘z»âßhZ¾ SÉu‚2ñö?økìWý”fŸ)׿;vغaûdÚ\âÀ$Ö†@ @ xYÑðûGÿÌÀÉât£&½Žêª –/i§º¶‘yÛíÏ“©hŠ_Ýs7R"ÄÛo¼‹»â¼™¿„/„e8_–s¦9âío¾ sÁ íù21gÇÎgìë%Nà²[¹hÝ*[—–ÍB7„»~?áñA®»b+µ­KÅOÖP4fättAuŽôuq½ºãv»q8^¼‘1"i=&xà#ÁËE}}=wÜq¿ûÝïø¿_ú}{w¢^yR‘'Ÿ68/@T˦΋û2ó%©DTX(ð›¥Á›±NÌêú”¼pP-¬‹„*I9ÇB2ß‹Ëæ€.º^•ò$Ê‹gòCgˆ³ÅèKÄ’…Ë_äzX*Ä,Mû<3¯dJ$ ý¦gã]7ßÄG>ò¼^¯Øh‚,>Sб¡^j›2Žé&«½­šéd“!#ŽÇŒN$°xY|Ñúœàp†êºEÛû,_½€T2A`¸ŸðT‡ÓÍÔ‰#tßõ ZÒzNÏ2EËÁ{ï夢ҸfcN ìªlÅhóÐwè Œ‘^—­æ•+i•щ(QÕFãšk0Yò/|)ŠBϾ]DeêÂÄ‘iUeHUi½>Ŭ* ½?†½§‡Óqü—_Ž­µµ¨žÓïç¢ÞÄÔèw<ËуÏ`«ªÂS‘*ö÷öS[[Kcs#õõƒAúzúè:Ù…Ï磢²³9#4™L,Y¾„%Ë—H$ìdÏ‹{x~çóX1‰F°˜-³â×È2V“«É‚Çá¡'Ћ^¯ÏÍŽ©««;œ@p°`Y]kC-Ýcã¤ÂÑù÷:?695ÂÞ=ôÆÍݶKL±oo7=¦J6_T‰[ŠÒsü$O•ٶ̉YÊËMjr€§OÂ¥ïyÕb¢ô#IÊ_Ód®cRÄ;þ7öE©»ü?ðœ8ˆ£­ŠÁÇ?N‡ñ.–/™y«@!5úk?ôo …—a/m“âk#@ @ x¥ˆ%’tö ÐÙÓËå›Ö²t冲¨×ÁPŒãGѨӬ]µY§Ày:.Éëj:©òУ3È]íCS$§ãC1މmðeg>¢Ã‰p§5Ÿ·W¯5Š{Q&öðëï=ÈÔ¢÷°Ä#î† @ðr¢Óé¸å–[ضm_ûÚ×øÉ¿NlåFØz Š4Ô¼ðnV æ¢\ÌäSgóKe­Kœ%©X”7ce¨‚¤–¨KRAg¾+Eé•ó6ˆ… C©D0™“rñ•KÎZæc.wù?æÅ‹¹üÐ@*…zàäÇÿ‡MÍ |æ?cݺuH’8 ñÚutu±-7ÍW·„ñ“Oâ´™cò´Ð¼n-fÛlÑn2‘ „FGèí<‚Ùjg,0ˆÃåÅf0Ð÷Ào©ìaí<í$`…ªãÐý¿§3™ eã%Èræ¥)“ÅEËÚ72Ò{€þ¡£xl6‹á«É©i‚[å25­õ{Ò±óIâ<Âruᎌ#É$ÎË/Gçpä¦ ìÙƒ£·—6“‰HW㌴´àÙ²G{;R¨ÂæõpÑobõ¶C'9öÔST/Y‚ÅífppuÖe®ãeǃÇã!Òß×Ï Ï½€Óí¤º:ï‚ÑCµ IDAT ×ëiln¤º¶šƒ²výzí9@°gœ ·¯ÃƒÉ8{½Æqœ^'Z]^~46:F}ƒ  žèé_X…óBt¨0Ù×ÅãÇÂÝ6,©b{ÉD8È`ÂIJU•øZ$ÉÎâV/½{GŒ9h½À”‡JÏÏèøâ› í:Š´á³Ô½¾—ÞoíÀº¹ŠÐŸþH\iÀõWÇ£ÜCß]dZiÄõ®ÿ‡okÓÛvïàö;^d@c?ø>û.ÙÎg¯«¡P'¯×™°ëtøF¢z£æ(ÉŽ£HÕŸ¡¶ÎAßɪßϺ÷¼ŸHL!sˆ>øvïØ‰¾f3Æéâ|ã™6µT ˜ô:FÍ: â7@ @ œ3T6¯\̺M—‘H)„ÂQžÝ½—Þ“GÙ}à --mè-ö—­7›YËûßù¶óbɃ¡8»^ÜM½×ÂúÕë^Skõ¥Œóù8.Éëj4f|lƒFeÛ–-Ô643ŽA*úšÞÏ%nŸñ@à¬êj,Ò‘H‘èPðê£$S8/ú;>ý†‹©™]@ 8'x½^n¿ýv¶oßÎç>ÿyžúÎH_y=ÒÆK¡ô˜½è‹„w3eUT)?ORç¼ôÌ•ÏÏ8|{抄ŠeÜ KÛœ%1,?¥Z.LÓ\n¹`¶wa™ÊEšIuÖôü ‚ÚyéÁ»hHÅø—Oü+oyË[0Å 0A9 z C"@8Äà«ÌÜëðÔ0p\¤¸h\{%6Wå,‘]*•ʸNŽãôøY}ñ6vþé>Ö^qþÊZ‚Ã=˜m.ìŠ SJZ°e™¢¥ãÁ‡Ø3ÐÏŠënB¯Ïì힪æu¸+[è;ú þ|N 6ë¹{Ò OF0¹šhX½ƒÙ™ý¹I!ËZÓ1>t¦½X®,üBk2•"±hMW_›–ˆÅèùŸÿayÖ5Ð"ËXôzb==:;é·Û©yãq,_ެÍ÷i²ÛiZ³šD4ÊÐñãßõÓŠŠÉ4[ h6›Yܶ˜ÖE­ŒŽÑy¢“®“]TVUâñzr.ˆ]'»h[ÒÆêu«YµvÁ`ÎŽNŽì;L¨{’JO%‡£>³&¦&iÛÐ^Ô×Th ×#v8à5@cu݃]sο`n7Iz«Ö5S«á±ÇKÎ]UTIF[êÌ›œf,–¦Õ|Þ• u0%†Eß¹ˆø”m¤‚ûï{Í_ûW¤·râ"¼éÃ4}õcðôÿ¦óžb^ñïXü§oÚܸ…Oý½…¯üì8kÞ½ë«g¯Áh¥Þb¦ÖlBµYˆ˜ÝÒdlâ†9\A$Ó¥´Ýôy¼òݼpÿý³Ú¬³˜©³˜©°Yˆ˜uÈâ7B @ ¼hµ2n§•‹6l ¯¯›høÁŠ´ÊÁ<¨réé?±ï Ȳ†å[nA«ÓçRÏ (iCýLŒâôø¨ªi`|¨I–Y¾æz÷î ~ùª›—c0YqÝì£çŽ;0†Ãä…=_„ŽÁ}‡x! ýÍoÁíϧ¯7˜´®½–hh”¡®= õöà´éqXèç¸Æ]‰dšÉpœÉH“³–†5Wc¶ÿžÈ²–±Á^Ž?t?µ½§¨VÞoBQÖji½ù會¡ªªt>ò5Ñ(&}±`Ý$ËÔëõÄ£QÆùKFª«ñmÝŠsåÊ"¢Þl¦~õjúºïÃ`³±ë¹]ÔÔÖàt:ÑëõEn„²,ã«ðá«ðÇ:5ÄÞ÷bµY©®©æDÇ Öo\Ÿ;¾¹Ýnܛܬ۰ŽñÑqžyêiv|«ÁŒß[I$¦¶±6oal‡SÜóÎ5ƒ•Ééð‚ë¹|^‚Ñy—/zünƆ‹5w/‹¢. a·—ÿá0ªñìɱÅj#žz†[Æî÷bJkËd„Ñ[TjOr¨sK³;Qz»Æ˜L)XÒê…¹…êj°_±£ÝIZ§@$3ÍñÆ7bq:Q–nBoÅzíµX\v”e›ÐÿÏS$ÃIð¿ô;Ÿ»ÜGlZÁ´y¯Tûçhù'Ýõ}+aK ʲ0ÌÙJ,-oǤGË·ùé‹=˜ 2dÛ@ ‚WEQQU àÍq‰c'ûyqÏó„&‚8¬&V.mcÉÒUH ó§§_ ãð‹4V9¸ö 7¡j4€†ß?úgNaóÊÅ,^q ¿¸çn¤Dˆ·ßx#wÅ<Ú†½G{yæ©G¨õZ¸îMÛ‘tzbÓ ¿º÷>â¡Q.ß°‚¥«7£=ƒÜÿào±èÞ~ÓÍm®’%ÔpÏ#1ÜÓðý€Æ*[/¿€´»öe`ä)¦BXLz6­YÁâö•»)}æØçâT`‚ç_ØÅøh€éé(“‘E5lÚ´I«$ºFØýâ.Æ#heÛÅÊ%m46/&<­ò«{îÆm’0Ù| ž •œ¦­©’ ›®æ—÷Þ“gÅèæW÷ÜߪÅ`óÑßßG:§ªÂæõ멨ª;ã¸\{ívÔ²7ã³qîÞÅèèDu•‹6lÄæÊÜüžŠ¦øÕ=wSe×áôÕÓÓÛÃÔT³QˆÕËY²tuÁ˜ž몢O>I‹Ùž»] EøóÎÝLG¹dË•¨2,nnæØ‘½ MLb²»‰ÄŒ†ÑÈ M­(³¯¢æÑ¶L]U½‰ÀıÈ$f§É©±ð$=ý,]‘Žî~4ªJs]f«³LŸóCQeŽtÏßCˆNóØ3;q;x«ç{9&ÃIüãID& Ú3pjUI#¡g×Ážö‰\Ûé4 2 ÑPßèŸBNár:Q°ŽÆPÒ©²ý& 0‘ûÞ?4Æàò¦×]NMÓÒ³¹ ž5±4tö ÒÛÿ;n|ýÕx«óÖú†ƒô ç]þ"±O<û<^§ _mÓYo»çr]Íw¹g·§?*gÁ‘#‡Y²déY×¢C@ ‚ùc±XxÇ;ÞÁu×]Ç=÷ÜÃw¾÷=:wüuë5Hk6ƒ¦ämË`^¯—uA,u ÌWÊÿɺ$g9Î(¥ÂÜÎåbn±¢:çgµT8(º5ΑjYUˈ)˸–*¦Ó¨'!ýù!'¹éoäï¿÷ ZZZÄ'Ì“tZet2F/õKW1|ª7'<Ì—I316ÌxàV»‹ÆÖ¥D'G ôÇã¯Gvkè|á Ñ.Ú+LÈ/ÏÃGÚ™3g¾óNÁž³ßyß“ÇÉ¿ñò«L(ÿl0Ûð/ÆW¼˜xd„ÈH?¡¡ný}$c#èH¢ÈÒ˜ QÓ@UU’id#:£»»k–—LG&FËÔ‰¶4M£§©žÖwÞ"«­‹Ušþ‚ãß—Lb»ûn\ Œ-‹ƒ´¿ñ•³,o”$r :úûÑÒé ëdÞ «ÇþÕ̯! ÑÑÑÁÐH€xc«ÅŠÉd"3;sBDõÿôöö²æŽ5ÄãqÞ|õ 4UcÞüyTÏŸ7¡­,Ëdù|d­ó¡iCCC´µ´qâÄ z»{¹g£H%\nJJ&>¿§2è £Ï-Ù,á2»¦íOUÓÈ0ï:'ãaCc†qoâôõöMÛÖf6]W'Do÷²r•—Å)’r´‹·u8ôÑb¼’Ĺ®ËIË$¦Ì„>‘G_~ÚuúÇÉÅúß”]ðßc½£ «ûN ny’ø;rüè6 Ä"ž+@ àÚX±ëð)v>5qT£Ó¸iå*d£™@0ÎÁC{±›dÖ¯Y‹;+žaÞzg+'šZY¼ÐÅåÅçuawyõ0ØßC¾ÃÍÀPH(@¾ÛŽÃí%œœ¸÷Ùöa·™GoÛIúûz(reÒ30ê¨Án $ #tv¶)ªËªQ¥©„i>¶þ6š:²éµ)ôZ¹ïÞ‡A#©ÓCÎ4·®\NiÅ<â)‰WßÚÊð@Í-då㟥ö©†£Ä"AmL[›ðå—La½úçj*f{ÝΤ ©chÊuñäGãéc2ˆÅ–]Œép&,."CñÈ@ ˜‡ÃÁ§?ýi>ö±ñÊ+¯ðô3ÏplëoI/Z…´h¸§ø®|&‹¡g*1¾ÆJKg?KS™§È"8ÞÀ8îÿ¥É¥”Çe;Ô`ŠòÊÒæÀ3š¦Hã8Yó$¥²,Ne:ŒEÑNFÚ¹…Ìá~à~žzê[”––Š L ˜#¸‘ìšqçUc2™Ù³õ%b‘6‡kÔ<æïc°¿‹ÅFaÙ<â‘ =ÍG±º¿M&JÑ×ÖDë¶w°4·° -c’.üEÈžD–,Á·fÍØ²D$ÂÞgž¡8À¦ÌÞºQUÒ%%¸—.[ÖÛÚFÉz¢Ff‡×€Ín£z^5ñxœö¶v‚‘  ÇÐ4y‹Î UUå䉓¬_¿‡ËÁü…óéïígßûØ»k/…EÔ.^€'Ó3qôL9f·›@ @[s &³YÜpÁu†|/{ÏÉx8ÞtøáF%<4̈l¦Æ,Þ¢¿8LÔ>ðIž}`âÒ`û¥¸êmmVGP5i@ @pí“å¶°nÍ:îL†‚Ä"A’À¯^{kRë4Áá—£^¦¸¸œ£Cý4¶6QT6Ÿ¦övtšJyq1:½’3ñͶoYV©.¯¢»­¦ÖfŠËÒÒÞŠIEÅ5ÔŸ:DpØf10Àí°àÉʹ¨8(²DQ~&³ååUìè" "ÍAûT8íÌ6'Ð Gêꨬ¬Ä—‹Û5jºè  ᱸ醛Ñ[F'Ê r2ÌsL€gÞ¦×é$|™Yc†¼s†¨’„ËéD¯×ãvé¹yõM¼ôë.Abá ×ÜæT†‚Ä£!2FV­¼½ÙŠÉ7®ºßüö%úü#ÄÂ# wÎÓP$ˆtž«éŽûRö÷Qe²ép*¼…… ´µ]ô¾„éP àü8ž|òIzè!¶nÝÊÓO?Ãîg¾F¬°é¶»¡¨ †)ýiãÿÙÒT¯/i·[&_ynÿÚ´}+½<]æÃi<Ž[1mfÃÉTú{Ðv¿ƒ|xe+O<þ8?þ8>ŸO\PÁ’Qº {Vù˜¹¤|þJŽØNÕÂÕøû»±XíW"©)úÚN¢7šÉ)©ad úmÏ’ið³²úÜŒZ¾,#Ášvn¥ü–uH’„$ËøÖ®¥cx˜¾£GÉÒ_Xf"32ÕšLðT;?¡9;‹Ì%ËÈ­Y€Õ>}æ.EoDÑ™«Ã%<ô ²ÉÌñcÇÑ7驚W…Ý>:ïe4)¯('™LÒÞÖÎPh·ÛM$ÁrºÄsOw&£ ‡k4û£,Ëør|l¸}464²éåWÑTÚEµÔ.ª=Ç`Øxª‘² ‘‰V ø0‹1™íçm§\.‰„ƒ!2íúdúü†¾´:»lƒsi—V%4M"Ö‘LŸÞ.àƒ½MDrËY–ë@õq 1Œ%§Š EG2}eôEãç/ROjÀåm§%TT R •h\%‘R!5Úê̲Ém´„ŠŠF:¥Íî8Îô—Tgl?¦Om¡çÍGiV?IõÊ©(Á–ŸÑ[?ŒyÁ2¤ôÄýªI Uƒä¤þ¯DüιRê骮ó+ô }BŸÐ'ô }BŸÐ'ô }WKßGÕ +Y¶ê6ê»Ù²åU‘(Šîì1‹1ýˆQ":“žM¥¢¨ˆºÃ{èîddd„®®6Y£¨°tÊŸfß7äggb´Øéî÷3<<Ì¿¯ËFey%ÇŽÑÙÕ‰â2’NÆ)./Æ`¶^Â3®¡?ýV·ªªsÖ>»EaÃëxwÇ6Ž7¶r¼±›YϪeK¨¨¬%#6‹Åpùª5X̃5'•LÌyû³:MèõguÚ­tŠt*I*™¡Oèú„>¡Oèú„>¡ïòé›Ýøè£HEQG² ð÷´søð~VßtÈ2F£¦,;o† —ÛG` •Ö¶6F†Èó8°»MGhmk' °¨¨'³ÅI[W7ª?‰NJQ^Z1'Ó¡¦is~)|.Ú§";ÓÁcldh8Dsk;âííïc1è13Q`8F*C¯è/Ë9Æ’¤q (zÜãb2™PP$F*G9mø Gã¤ÓIô: E¯'u 5_su¹û›|\²¤±¸¦E®B±?²Ï¤‘à0»ó’õ—›[B8ex G<ð@ f,ËÔÔÔðw÷w|þóŸgëÖ­¼ð ìüÑ7 º¼hµK‘¯oH2çšôƾìÚ“â¹ß†ÏýŽ?!Óा´©²N23Žûx&óℲÉgtLUÚyrç§Í†;G÷cho¢*7›ºŸûî»âââ±,ôàÒ‹èìEQt,¹ñ.z[Ž3ÒßN"&3·«ÃMwã~êߣԣâ)²ÏªßÚJ{wÿ$yó 3›)xøaÚ_|‘žº:²/°ìò [•ÉF&ÙÒÃ@k7í’J 97>ÖÌLŒvz£Y§CUÓȲ‚¦¦I'„üýD"½Ý¤[Ûq ‘¡J,DÂÂ¥›'êI$P—/§hãFtãÌÓÝuut¿ô‹çh:LhƒN'ã2'¦“IN½ÿ>f—‹h0ˆÙnG–eò óÉÎͦ¡¾­on¥¼ªœÒòR §ã¯( yydçfÓÒÔÂÎ÷wb4Y´pÛÞzNGÕüjò‹óPÆFÇgAŒF£ôööRw¤»ÃŽN'“N§ÇLŽàÊ‘N§QÓ²îüåbÇL‡ Ó·?c:&˜1Óá™ç2Ñd ³^¹¬9ÞtèW-Ø:»»n›œ‚[ÂìÎæ–›²I¤tHÒì …ÊÁNÑ'¨úî'&-û4UßjÚ6g>Ï&Û!€’µˆ¿ýâ’¹é²ÝBéÝ·PßCû[qßöW¸Žž»O÷Xý™?O@ @pM W`åÒ¼úZu§Z˜WÕƒ3+ËŽÞ`¦s`„Ç÷S5o:ƒ‘X,Agw'Ź>Œ§K뉲Òröõw²÷à!H'¨*‡¤è§Ì'1—¾%I¥º¬ŠÖÆã8|YMP_„ɨ'ÓIG{’$Óe#Ã{þ²V:YF¡(À F›‡Þ¾NÜÙ³Š×\´O¦w DsãaªÊ+±9T–•ÒÑÛOgK‘à0ye¥˜Ì6†ÃA¶¿¿åËWa´Øéó õSQ>ïÂ&wT•Á!?&‡‡@(Ê»;Þ‡t¯×ŽÉjŸ1.EyùÈ“ vÞ ;F“ÿHˆ½ûv³dÙjÂq»v ¥Sø2˜¬B‰‹»6¯æ¹’$ $‰dZchÈO ®b7)ÜßlŽ«(/Ÿóª?òϤó™- ‘HdÖýuu5ÂåÌ|@ ‚9ât:yà¸ÿþûioogóæÍüöÕW9øŸÿ8jB¬œTRY90>[Ø4e™ÇŒ~ã³#¢ÍQÕ4%'­×´Iû›°pšÍRI´áÜ Ç`ìl¡Äëáî»Ö³aÃß³páBôz½¸0‚Ë@2£·ýƒ/§ËKx¸ŸD2®ÒÂì7ކ1(yùÅÓþ4·¾!7+«ÃMxÄÍlÀér#Ë*EùEô´5 i)Ê‹+ÐLçýÉÊj1¢×›Çb<ÿò«7vô IDATcû¼ç®g«¹jO<™bï‘ã8|lÂrE§‘““ÓnfñâåìÞù'š;9ÑüÒÙý: ”s!“Ϊ¦cÓÖÀޱe²”fùâ¥ÈzãŒq)xð‘sŒ‡v‹-cïî÷8p¼‰Ç›ÆÖéu«–­BRô¸¸œ‡Wó\é“ÉB(ä7o½‡I¯ñøÇ¹àþfs\Y¿ó/m~¿‹{×ÜB~y͇ú¹ãšÆd˜“馻ß?庩L‡fE!ššþzs93H§5t:‘‘F àB$‰ÂÂB>ûÙÏòÔSOÑÑÑÁ¶mÛØ¼y3»^ü~Rù%PY‹TR Î @š˜éðÓŸ6®Ôòä,‡ÚÙåcY Ç­Ÿ\¶ùLFDIš&‹á4$ @[ÚÉ#HÍõ8"AæU”sçÆ;Y»v-555cY¸ÁåcÄßKAÞb2¼Ù$c!:›ë°Ú],¹õŽî|Y'csz(ž· Eo¤sßþ‘zÜŽÙߟF£ŽEÕphû¯¤‡ñ—ŽÎ‘ änÜH¿ÝNË›o’/Ëeù’£ ëø\¯“si—7ÆqU¥[–±oÜHÖ­·NXçonæØ÷¿Ï"½³N7§~S)”¥Kñ®8ë“ˆŽŒ0ÒÛKÅM7!IÕ7ÝHûñ{o;Å‹àÈÌ1èY¸x!•Õ•ìݽ—}»÷qç=wâñŽVQ ‡Ãô÷ö³æŽ5c}ûr}øî[GoW/õu'Ùôß¿ÅãËœ2 ¢$I¸\.4U¥ªºJÜhÁ‡õ»ªCSÏ5£+"4@ @ \~t:U‹—òr{3 ýT5§°r7,ž‡×åàðá  ¥S8ìªÊŠ‘'•èuÛ͸3sìj!ÛãÂætϰGuN}[Ízòò iñãuÙ1šmh@NV&蔕Îj~Öë2³æ¶µìÛ·›‘À&½ŽœììiJ]¼ö 1rY™_³ö¶fB¡ FEÆëÎ`õò%¸}ùh¨,Ÿ_Çå`ÿ½ ö÷¡Èw ª+‘¤ç> -I*YÞúÑë4|™nX±wVîyã¢Mƒ• «ð¸8¸ÿ@?DnN&7­\Õå¾$×åÕþÀXÝY"(‚«ÆÃ?<«v‰xƒqæÌžƒþº9fø—–ßûÌ'ðºør‹q¹=Ä› uìÅ­á±9Ú>Bö’GÈ-[8f> öÖ3xøW”xuÈs|Ù,M³ïÈù«#oþâ ë’Ãôÿò—èëëñêõ.CöÃ+ù\îJ&IUTÿÐCƧ4M£}ï^Úž{Žùf3–9>ÓšF³¦QøÙÏb+gôÛ³‡ŽçžÃ]\LÞ½÷b·F‰]'OÑt¤Žò%‹È­(?§ïÞž^NÕŸbdd„›n¾‰žînFFFÈòùÈËÏC™Âšˆ'h<ÙˆÃé ¯(olù«¯ü–ÅK———'n4à ñôÓOŸ³L‘ uÞ¼>ÕÐDEyé”ë·Å„?;ûpg:t8-Œ O,­’JÁ…˜ÎÇ›@ @ ÁÕa:Ó¡Ñ ñèèÿ_*Ó¡àêÑÙÙIEEF£UUÏÛÞh4RQQA[[›0 @p #Iv»åË—³|ùrÒé4###´¶¶ÒÔÔDCCÍÍÍt4î§»·—AÿIU%m0’2˜ÐŒ£æCMÖ¢GÒëÑô$E͘˜JB2 éZ*ñr"†.CŽEQP±[mädûÈËÉ¡xY-¥¥¥”——STT„ÏçCQ‘ÑP ¸ÆÐ)zòŠçA2DסMX“乌ýÁ8_)ÁáÂÃØ\£cB»¯’dÙít5¿E~¦iNû3šu,Y˜Á©#/êï¢ü–uè”Ññ¨Þ餸SŸÂ¿k[·âF¯Ëì‡#©f3޵kÉ¿åäqÇN&iؼ™ÈÛo³ÄjEÏÄ®d’Œuë&˜ƒýý4¿ü2‹,´¾>Ú¿ól7ÝDîw ØíȲLþ¼*²Š 9¹k'÷bÙ·áðžëû²}œ:uŠ‚Âœ.'N—“P(D{[;ìúo¦—¼ü<¬§3&ŽÎ'˜·pÞDÂa:®R—©ÜËt¦Ce¼éðœ‡ä$Ó!\˜éP @ @ \~bj“l¸ mã¡$èô³jëò¹ôDÀ¯aúûû©ªª"ž}Fb“É„ßïÁà:C§Ó‘‘‘AFF‹ŸÍ*¦ª*ªªÇñûý 1<˜‹éFÍ š6õëñ©ŽMüŸ¿{‡Uýåþ-V å%èïëçÈÁ#XlJJK°Ùlcí"‘#Ã#¸ˆ¬ùÁÕf.¦C³ÅL4½hÓ!ÌÑx8ÞtxôÄIj««Î>P’¦)þ¾\ ¦C-1ÌC d±~±s2ȉ£-l?ªpç"vb4k¡AÊæ–›³0Gû8X×Ìn}·˜¸ÞÞÓÑö2r <ý&yó3d×ww™@ @ `V˜u¢é‰ÕP’3•…’MÄíZc6%–Ç3é@ÉßÀWžÙp]Ç#Õ»ï|éÛìu­ç“òMþ¢4 «g°q/GB6®WËž.w=_þžÈ0"@ ˜—1‰Ëf$F¨–<òoÀdwO¤h?ú.½B~å²Ñïœ+ù+£ãƒg!<„Ó:÷oϾ,Fc‚Sû_'2"¯¶ý8µ´”²?üCBômÝŠÚЀWQ®‰Ì#©ƒ©””à[»[EÅXVÁ3$"NnÚDâý÷©4™°^ îátš‘ìl*žzj¬t2@ÛÞ½¤÷î¥dšÌƒ²$‘g0ŒØ- ¿ÿ ñ²ŸàÃÇdÓášš)--;w…0^“Ì5ãáLÆÃ뵟]?þ/vÙæïÿúaÊÍgVèÉ®¹lq¹@ >ä(:‰dJc ÅQ¸œœÊQLgMléTŠÎ–C ~…EÙVNîÿVg&¾Ñ¬~ŠÑJþòÓñÁÏÐë‚XLsOá4NQ{÷cDC*­û÷ãÌÎÆ]Xˆî´IO’eìØ+*·´0øÁ ž:…9Â!ËW4 bDUI§ X–.%gùr¬ÅÅS¶í¡Oèú„>¡Oèú„>¡ïZÑ77sƒ@ ®<ª.œ¾ðjÆ›e½Šš”EP¯åó} 3Ž/µ|ŸiÿøÕ­xŠÒìÜz”³œ5=ÆÒá×xúû ˜²YúàŸðg-ÄÖµ‰/}åmôŽAöõ£É.*×<Îïænª2©ŽM|é+[±z‡Øy  àŸ¾ö•ñC¼üïòüîN†|núÄÿàïKŽÒöÞs|ÿg¯q¸7¦"îøƒ/ðGwæcÔ¦_§<Æ;GÓÔþÞm”Îð[]*p”×~ô_¼øn=þ´ì%÷ò©ßŒóM¤Û^áK_ßCî3GßÞIkTÂ^t+OüĆr+Ò û7ž§ï)µø§‰Á¤[xB©å¼äŒ@ ]b •¾ˆ_ÕZ2r+‘ug &Éx”SüS¤‰e•.â • ›ÞÖc˜¬̶ÑRºŠÙŽoÑýtú5>-ˆÍ<ûñåàHKþrŒŽlŒ°8tÔâ䛯2oýFÜ%%§_˜ÅZ\Œµ¸5gøèQŽ!ÙЀ)‘À®ÓaÑéP$é’Å'­iŒ¤ÓDU•¨^RRBÆ’%dWW£›"Ë ¦i µ¶Òøú똨6° ¼ÿP:M¿ÛMõSOap:Ç–ôörêç?g™Ñˆa–Ç«—$²ôzZI O0ß½_q —/#³÷ƒ=ôööRZV:+¯ÇëÁãõ ‰Çâ(Š"n.à*“J¥Q”ó?3\v†ÁKºïY=âi£nšIDyâd”õ"ÜÛW,àÁ4E°äåá1hÄi4ý¸g´¤SÐib)ÑZ1@ @ ÁõœÖáïëÅå»è¾„éðÚçrfÃã)²ûÙñ½/óìÞcÑßÝCö û7ª3÷=ÿ-ÓÇà®rO{ ©Ž4ˆß@ >ÒDpRY{7V§wÂò¡Þ:޼M¡m˜ìñ„JgÈDÞ’ûÐYTUE–…qðÃÎ…d<œµùÐè¥vÅ"ŠÝXrežvò×’ï´À‚¨¶¢}(>@ï$¿(‡Ùåwð‰Ïœàпnápßm¬0¸)¯.Âí4à^‘CôäOÙ2XÉ“Ÿ¿“r·îÛØ¸hß{¿™ð'8õI†úú¦Š(,\ºÂÓÇkš~]t4 ¤fI¤q o6ûxà>Ʋ\àà®ßý$ÿꇼV÷ 5ù€ÁKíêUÔäËo)å…ŸµˆAî ûŸ¹ïÚâ‰Z¢ÍïMƒà*7ÎiŽAžAƒ@ à£MFñR“}Üx!MWcþão0¯Ð†Ãld$’b é¤`õ,£ž‘œâyt4&·¤³uô›¨Þâ"å'hÿà§@ð¼æÃþáÐÎôzëc<Ñ@®l"ת0R_Oc]é’ n¿ÌÊJ”Iu ŽêjÕÕ¤"â==D:;‰$I¨‰Äã$ƒAt§Ç8i½½Ë…bµbôx0z½œN¬X ‘Ï“­0•HÐ__OÇöíP_O™ÙŒí$æL¥ÉΦèÑG'˜£Á {¾õ-ª¢QœsÌ*J§‰äæRyë­cËÒ©oÿâEL™Ù¨ã†}’$‘—ŸGfV&§NÖÓÑÖAÍüa*®Cf2Žg:Ó!€Ùbµé@™l:&˜ÏP[@{Wûu^•p_»Žõ÷°¶6— ¡èuHéã“jéiI‡Q' ‰@ @ \¯¤Óþ~²Ü$NDÄè#Ev~)=MS® ‡q:3ˆ'Á¨±úpßã³ÏzxÁfTYA‘a̳(éÐ˱iLŒorþp¦H é&н“¯}ö~¾6n¹cy-ó&þçßêyåçÏñW¿ûM2o|”O}ê^–ûŒÈ3¬3e’©lâT‹ŸTUÞ”¥€¡>†,ò]gp”mY8TŽEHåOuè 2̸ÿóö]<û¤f:3h@ |´‘¤³cþd¡P ³CÏoŸÿ55ËP½ z¬¼µÁ` vÁ|ü~?u‡ŽàÍʤ¨¸ÃE”ׇÈHâ’÷;ë'ÔL¦CƒÅE"¸†Ã§ìjá£Ã˜ KYWáÂ"×oâá«xÌ:@%Œ28°‹‰W@ @ ®[)xçýÝ,©(¤¢j¾0Ö‰}¤˜Îtàtf³7Fã1ÌFþ~?îL·îu‚¦iȲL*•:o[EQÐ4mìG§ËI¸¿•!œøHN¡Åìž{+ôOÁê©.·‚Õ<öW«yhøoÿàë|ó«qþöŸž¤Ò,c™n§–;–˜ù—ÅÞåÌjϹÏ:½5Kâ+NÕp?A—Û:‹Éôé÷Ÿ7›¾µ9Äà4TšÅ=!@ €áþúvR` ‘“5j  &I^ŠV?‰Þdk›LÄho8„7·˜hpýo?Ë’µO`²Œšä£•ÜeÓb }ûÈÉ0"Kî”LiôG ä¬\$Éc㔦÷Þ$«ÛqŠoÙ6Y¦ÒdB‹Fé}ï=Þz‹Xf&Îêjr/Æ‘“ƒÞdº|ó$Ñ(¡¾>úe ®Ko/Ea¥Á—h¿IM£7™D·bÅ÷Ý7!Ûbtx˜?ü!Å}}s6ªšFW"AæwböùÆ–zzÕÆÜLúü}frl×ZO5³úöpy2ÆÚºÝnVÞ°Š¦Æ&Þ~ë-jkk),*7Ž@ps9L‡}}ý\’z*3™õú«ïÜKûÙ}bCa·WN4(V¥ö'ëû襈ú8ØÇ‘›SŸ@ @ \«ü÷¦·Øµ}ó„Á­ªÊ¼ôÆ;¼üÒs¨Éø¸5{êyå•èëáÇÏýŒ°¿ïªèîŠò“çŸ%<ÔwÍÆv ã§¿xŽH``ìóOžî¼1ëŠò£‹ˆmŸ?rIÏÙ(±ö–Û9ÒÔÃK/ÿ’Á¾®±u¡hšgž}ï<ýÌØ¿Ÿ=ûSN=s,O:BÑ$›·íâ;?ø/¾óô3<ûìÏØ³ké ×ëìÏÓlÎË…ÆèRŸß«ÅÅèž|/|˜¨X¸p×Éè+S™}9âÒ5ˆÇã! Ë26› »Ý>í?›Í†,ËŒŒŒàñx.½˜TˆîÖüá0ƒ§6ó“¼´ìeN==m+»›l‡øá~Ãá®bñ0}'w²£n‘޼±õ8½¡iÙŠÛcXˆx¢3¬Cv³âwÿ»¬Ûù¿_üÏo?IïHŒd"Œ¿e¯¿q€HÑÖöðò½ÌîƒõlþÉO8d½™ óݜϒ9Óþ­e3÷­ÓЧƒôtwp²î‰‚écº@ @ ‚6š¦âïm§óäœr¯sÔì60'b,¢pÕ“(Ƴ™üâÑ0íõ‡ðf“Œ…è«{Bcu›Ÿ&<|vŒ,+|óïFÎYEëLtÜ—O05ëÙ±ä@K=É]àÓf6cH’D¶^Ï«•e‘ŽÝ»éøö·ÙùÅ/òþ¿ýõo¼AÏÑ£ wu¡¦ÓD$Bxpîº:N¾þ:{¿ÿ}v}ñ‹´ë[8¶mcñȵ Ù—0ë_\Óè4°nÜHÑÃO0ûú8ðÌ3”÷õáVænVéO&±¯]‹wÅŠ±eÉXŒÞúzjn¾™‡Ÿx˜¬RG›Žâ°8ÐÅdÞýíVî:@*yö­0NGEe7Üx#õ'êÙ²ùmBÁ¸‰‚넦¦Ö‹ÿ›1îíH‹uê7"³²2¹¤¶:Y§;çžL&¯r8ÓºèK¦ÑZNðb˸UŠƒÕ7TPf1QZ[LôX;;vtÔ™È-*buá;@ ‚k—ŠÒJNy—•‰²aÔŒÄèƒD„ððvoöèè0 Í­,((DÒ‰ÑÞ\ñºL|òñ'.y¿GìÁt IDATê»8yd+»ïadýå)™é¶ó±wÑØÞúC¬½Å3¶/EÑx`ÃxóJH¦Ò4·÷²mûÛ8¬rŠ+/¹–T6¿·CÂÏÞ‹Åî¤wp˜öÖú+r^¦‹÷L1ºçüJ\Ebq “qz«Ô©Ã‡§\ÞßÝGfNZ"Œd˜¹„Tow»ö5H~~>'Ož$NÏ*‹¡¦i Q]]}éÅ$ØóãÿÍk߈!›¥÷ÿ)ûÈJÜ2S›èÌ•<ø—†ü£ŸðõÏ=Ãp°Ôðàÿ7KÔÿ÷7ùö7€Œ³ä&ùÜcÔØ éŸ~€Î³‚ßÿ꿳|Ó üæ—ÿÌm`4ᢩ€Uþ+MÅlüó¿Dýáùæÿø´Üåð§ÿÿ#,°CjhæÃ”Ô™ö?sߘkY¿ôEþõþ”ת>Ã׿üà´1¸!ÝÉëóçüˆOó/ÝMö¬5—ábàzÅßÛŽÇYMõÓ_÷[†ÃTMƒŒyä.¸álŠìhx˜®ædUê¡uçϨ-´c3›±‡â}ç§TÞø(®Ì¼±m²æÝIÔWMבWpÅXŒ:ºL JVŸIÄiÙò:eÌÍÈ'Ùz=Ù§_Åûûîé!JÑ©ªÄT•”É„>3ÉhÄâv£3™0X­hª š†$ËƇI†Ãć†ˆww£¤R˜e›,ãTòu:ôãJ_jS)†= yë¤,‚ÍÍœ|î9*Ãaì`:ô§RÄKKɿ㎱eªªÒ~ø0¹55(§ ŽîßHËÂv¼½ ‹fÁëòÐ|¤‰ã‡ŽsëÝ·‘Wtöœº\.î¼k§êOñÆkoP5¯Šù æ‹›I ¸Æ)-[–R5™FÖO¬ !{ý2öý¿Óédxxxìó¬žV‰DbƺíCþA2Üž r‘_~tx+ky¢’izÝÔu&' —:©Né$¦mw= qº’å…Ù”fOÛF¯è¨,) ¾¹Œ†–òŠ+¹Ôy#±þ.î»íœnïéëØK~¶÷ºˆ‘àúb*Óá`ÿžÌ™¯·3¦C`‚éð|s„‚k ·ÛMUUíííøýþó¶÷x¡Oèú„>¡Oèú„>¡ïÃ¥ïrಛ0ÙÝtv¶‘‘•‡†LckUE…D/õ{¨ªY ŠB¿³¢bw¹‰‡TRi{ÓÜÙ…šJàó8XwûìîL‚‘$[·o§£µƒn\¾˜yµKèI°eË+ägq´þ$j*A–ÛÆÚ[o##3gš¸§ùààŽ9ˆ¦¦°[,¤S±³“ƒÑ$;vï¡©ñ$¨)Šó²¸åÆ›±¹<ô EÏ»¿é´Jºó½£ñ4ïïÙKýÉc ¦)Îq³~Ý=§§Ï2ˆ±éõ—xhýXÝY3l7‘ƶ>Þ|ë·l¸i9EUã˺ʼõþ>NÝÀ÷~ôS ŠÊú5/øÜÌæxgÃøÄ`}CQ6½ö"ܽ«{ÔŒuªmý»_ã‘ûb œ®£AAo´Rwâ7{³Ñ›,³>'CQ‰77ÿ›5ƒÎÎV2]Fn»í^^Û²‰‡ÖßITvðææW0môôv"K5%¬^u#z“mÊx?þÀX3²æŸxBã—¯m! ¡È°tÁ</YŽNo¡Oèú„>¡Oèú„>¡ïÃ¥ïr è ´¸’†æ}Ô,XN,­ð÷pCõ bŠ‹£u)"¡—†ÖFв}(AÓ4r2¬Z¹ ½ÑÆïnçý]Û¸ë®ûIj:6½ý6¹v™uO<ÎP(Åæ­¯ãv:‘ù„"qì&øøƒ÷¢7Zyûýع{;î~&½•¬ªïìÞÇHÏ)½÷.l./Í}ìÜùɼ¶åìR˜OH3î/‰2­Ö좊ã—JÁïnêùÄC 3Zééí<]Š:}Û)š)ÑØÞ϶moòà·‘]X6yF;o\‚Ïë›Pb·Ïáçæ|Ç;ÍL:FUU)•†–VzÚO±rí­³Îv8—ëÁ¨‡;n]Ûo½Á©gŸe^E)K.ÁærÏêœDã VÌÏbýš[ééïyâDz,ç¦%óɽçNaÞzï]’ÛÞfíÚ SÆûBÐë%Ö¬^LNA)›ßÝB,ö7ß¼î|³HÓj8’_2aY2/¿±ù‚ï ¦È0“î„*O{])Ή“èç»gKòs9yl7‘àW&ýC#DCÃô¤%bÑz³öî^\6—ç²<§3NÇlL‡àÚD àßÛD°â)æy$@ Á´DFüDBãfÀÿÇÞ}ÇÇuæ÷½ÿLï`Ð A4‚IQ¤¨B­ÚJÚÕJÚ⬯óº7q|íëÝ}m²É½¹®‰8Žǹ¶³±o±ÖêZJ”HŠU$ÅN  z¦`úÌ9÷€(DeSý½_/üÁó©Oê“ú¤>©Oê“ú¤>©Oê“úî·´ë£ÛK¥´ @óÇ)âc!FR&Œ$q¸½Xµfôfý=äY| õ°á®5“a2ƒ^KEi)6÷ø’’U•Õ4žÙƒ’MÓŒ’Ž q׎Ç1ÚìXlZr ʹÔz‰úÕEèu–•—O=¶b9gN\%›M£».ðŽ&éî¸Ì£÷Ü…7w|f3Ç‹V7Þ¯8Ld¤›‡yx2|v÷Æ ¼ôúUú{:Ð{J<^(6o­¥U †çúG"„†:yèÑG°¸Æ÷]QvmyœìM>.hhíääùSìÜzסÃE®¡oòµYìùÎ%“WÞýø¯ÓÂW¶ßMnQ9ê÷q#ï€Â\¿òÌ7híèâ̹s|üâKÔTsÏÖ{ée|M z-yÌe%¥ ×Õ¢%ÇëÃ`0ïw³å®{8ðÁ/'Bp·g9g­|/£‘@®‘-wmçÈÁ7Y ¦ÛrŒ[=/æ÷…êŒkç}_5¬)¾¡Úü%5­zº;YæÎ£µ£úÊb:ƒ„Fñä;hi½HCYZƒqÉï³;!ÐÛÛ+wi…øSÒÜ›ÿ9ÿïÃ[È×Ëx!„Bˆù9½yt]9‡Ív÷¬í‡ú®ŒRT±‚‘Þ6ϾŠ'¦‰‹­´tr{<áÀ«oRRÞ€qb¥ ½NO¾/ÐXˆ]/¾Å†íwQZ9õ˜Ââ"žùîs¼ÿönt:Ö‰`"@WGW;Y±²ar›ÇëÁãõÐßßÏ™Sgðûý”W–£×ËE‰ŸÜ<úÈÍŸ½ŽšÌ¢1Í?slÛÕvÊËÆ‡Ì:ëo$t¸Ÿ7wÎСB!„Bq»xœVôý½tGuäûÜèf´h(+]Æ¥«M\¥è•nïüÁ+V7¹äL<‘&Nð·Ï¿8£Ï²â¹—«ÔN,ß2×u2•AC«Õ>çcãÉ4³uꆞÙdÀh¶‹Ç˜ÈžÍ{¼…j]ì ?–HaÐÁxc78œ†ÞAÌzŸ/÷–_㥾67sGC¯Wyò‘ûñTpàøYF{šŠn) ¶Ðûa긖W³¼¢„Ëí}ìÙ÷.Þó'±åÖÞÔk2»Í‚¢Ñ‘I§îØ9è´[QÐ’N%A{{‚‡·z^ÜhÝñ„~Éçübµô*Ê—ÓÜzŠÒe«èëmçÁ kHêúimo£Ê^@bl˜ââU·=thµ‰Å—þZ¡C“õË3›…˜ç÷]Ñ#üÑÿxDâN¯O~]ÆA!„B,Î`4ãö”ÒÚxŒºõÛ'ǃ=WȤ’”×Óså4¡K»©/vL†³Y•îᾆG09üS×Çc!‚CÝ–¯`¸÷ æèeF[îè ~ûc˜'î…ÅÇBD#£4üÚ¯9ÿ1Ýû÷cÄo0 ÿSªÊp:MÔí&ÿ¡‡p¯\‰öº ^,äâÛo£œ8AÙŒå&ƒz E¡×b¡à©§pL 6&¢Q^ý«ãö–N†§sÙ]˜ÓfŽíþÁ†Vßµ½aüºÝb±ðèSÓÑÞÁñ£ÇY³v Z–wÞx}ZÇ;¯ìbóŽÍ¸kî¶‘y•„B!„BÜQ&£Ž¢¢ š._f,£cÛꚉYïTJ Ùwñ$--ÉuÛ1YìKšϨ×áq˜xæ«Ob°Î\e`4~Cõ :²ª†Xt ǹG³QO:«’ŒÇÐ[ÆoÈ&’iR‰6«mÑ`ÒBµf—ðØD*C2Co±-ù9-þ8…+k8x^ÇžÞã+=¾À²¾7½º•ç»Feãê¼ÒÓΙÓÇX·qªFƒF£4(Šr‡ÞÁ*ÅNù$’ <7ùšÌ'‰¢#‹Ád¾©ñ^ŠH4jÁ€FYÊx©‹n»ÕóâFë6êµó¾¯®ŸUr±Ú@¥¬¨‹MÇéìì &py}T*6N{£³—E‡ÍuûoÄßHèð“’Œ¥å•B!„B|FxóJH'Æh:±—U["8ÐV£!PRÍH_;ƒ÷So ô“Ø+îÅU¸br[:• çj3åµ$cô~ü.Õƒ #ú@çö½Iáò*jèï¼DnQF³߆ xV­"øñÇ´ïÙƒeh^E«ýÜŽi\QÍdˆú|ämÛFñÚµh¯›Q2›ÉÐqü8½û÷S ‘k»ù{> E¡×n§ðë_ǹ|ùäöL*Eû™3ÕÕÒÜÔŽÃåC¯› 2Lø è¼ÐAËÇyì›Oàpß Ñjµ”•—a2›8wö,­-Wp\äçåŽDØõÒ;Ô­®¥vu†‰À¢Áh ººš`0HËÅz¬=ãr»ä„â . 1ùÛ{ oè¦v2_èð³&âÔÉ3¼°û?ï,»Îõ3˜š}›:äãM4F”O©Ò8±Wþ g¿õ8WÞ¼@V•7ªB!„B,L¡¢¸˜Žþ ©±!¼ÓfØó¹í`tÒ|ñ U¥(Küu¾ßÖìåð‡‡ˆGH§3ôôÑÛÓqóê¹lfò Ê9øÑqFûH¥Ò ŒÍŒ‡qòs\ØÝ=ÌXh”±h’#}„Û¬’WPrKµ.þXG.:ÈèÐÉT†«íWQ2it: ™,„BaºzºQ³™%=îƒ^Ã}[63’4ðѱChæ ¢YÌf¢‰4ÑH„îþÒ‰ø{¾‹±˜´lÛ|§/µ3ØÛ>±Mª5pµ½L:Mÿà­ãë–ß„‘p‚ÃGÐßÛM:•"‰rúã&ÆFzX^YMÞÆv!™¬ÂÐÈ0éTŠÞ ‡`Yq«Ý=çx'b‘~YE8FšþÁ?DyA.V»{Iã5W ×os[u·t^ÜhÝ ½¯®?r=¶Ekó:­,ŽŸj¹r‰ò²²ÉíŠIA›œû=_PP(Œ„B!„âs¢vÝ}t]>Íè`'ª’Ád±QXV‡V«ÅhþºÏý[,DT›CiýN4š©kÁ®ËXì.œž%ÑhÛ³¬VW-ãbËå›Þ¿fÇŽŸJdüåçÿrÑ>鬃.{ËýCWy·1ÃÊ Õ”[Çû%Ûx§1ËÚMË(1+„:Ûøàb£ÛF"’eùúåÔ;´ŸH}׸œÎ©?Hÿ@Ë©Oê“ú¤>©Oê“ú>_õuÜøB·±XŒ¼<¹ñt§ ŽÆyãí—øÚ;pçÉ€|Á ¼ýÎ+|}çؼ¹2 _BO?ýôœÛkªhn9?g[&“E¯¿±sÊ–WpõRë俳¤Ñ1ÿŒ ßûÞ÷äÅBˆÏ8UUQUEQÈf³d³Y‚Á F£‘d29ùsùòeþøÿXL!„øúÞ÷¾GEE&“ £ÑˆÑh¤«å ©x˜wíÄ`4¡ÕjÑh4dâ!zw¨ß‰Á:5[áPïU’±…• ô\>M°ñ5êK´öÅÈÝð]l¾ÒɾW>ÜKf×»(.Y,8wì@o2‘WY‰Õíž³F%•"ÒÚÊè™3$ÛÚЃ8u:¬Z-æ³´ªÏf‰( )·se%•³f6¼&20@Û¡CŒ8À2³ŸáÖW<N§ çæRù«¿ŠqZx3“L²ÿ¥Wéè`ýƒ÷Ò°~åŒÿß?sžýo¼«Ù:k¿#áQ¬9V¶=|/º‰ g:æÝ·ß¡¾aååtutñþÛïáÖ»ÉqOã¥(Y†C#(…u[7P¶¬lÖþ¯¶]eïž½l¹{ 5µ5r qýøÇ?¾ãÇp™¬„’±ûLÎxh·Ú‹PY^Å•¶–/Ì`›sÊxb;¤'?SHÆRd´& Ÿ¡iŒ.Öl,ŧŒpðÌȧ^³F«GC%“åFgOB!„B!@Ë…+­ø&\> w ñeàt:Ñ*Y‚c3g<œ/tèvØ FÆflsx\DFC gzèX0t(„B!„Ⳬ¼n¡‘^:.¡xYf«ƒÕMɆgfôGÄGú)®ZEp¨›þÆw©ØKc ¬:¤÷Ý·X¯ZéK§(ýêWÉÙ¸‘èÈÝ.¦tÍÜ…3gÏ׸jjpÕÔ * cW®0zþ<Ã(]]XµZ,?&Ím#Æ…ÄÄOXQ0——c+-%§º{Y½~ÎÇ)ŠB¸¯«0vì¥&ËŽÛRS_*E¶¾žª§ŸFo ¦ öþâ%c*•• 4;¢(¬Ú¸FÃÊ5+Ñê´ìßµšâêáÃX"NZ—fËý['C‡‡öDɨ“¡C€¢’"žýîsìÛ½—óͳ¬°‹ÙŠßã'™JräC\)»ÂýÝ?£öt:ÍæÍ›Éd39|„ÚºZ<œxBÜFEåtµ¶ÍØ6Ø7ˆ?ßËû^,tÓ‚‡×B‡À ÆbQ¬VÛgbÐ3‘!N·Æ°â3hqæåàâÁÏÆCcr¡Õ$Ȧ2 7o…B!„BÜ0…mëëz !¾$ÂáðœÛw¬ÝÁ¾Sûfl³Úf‡EC‡B!„â’pùÀ‹ü¯ÞçXë(@có³|Ósüè·!¿óy~ûû?!xïò×?X‡ûŽ’äò ÿŠÿóo‡ÙúÁÿ³ÑsƒíBˆÏ:_n1:­Ž«Í'¨¨¿ Ó3ã¥QzÚš(ªl@£Ñpå£7¨ökÐh`8i£tÎɾJ6åݯ³JV‡ál^/…µµþß!¹w/™ÒR–=þ8žÂB &ÓŒcj´ZUU8ªªÈD£Ä{zkog°«‹ÔÀ ¢×j1Z“ÖÁF IDATFƒ^£A§Ñ Õh¸§S,€ª’™øÉiE!¡ªdt:p¹0aÉËÃ[RBqI º‰å‘UEA£=aT*cðòeÚvïÆÔÛKÀ` Æn¿-¯KJQèN¥°lÜHÙcMÖŒFyóü/ôF¹ãË+ærñd3ª¢°zÓÚɾ+V®@§Ó±ç÷©.ªÂnµ“H%&GÙþðL–©q?æg?<ƒÏå㣃ÇY»eÝd(Ñb±°óч¸Pv#û“ïÌÇçôb2šð:½Œ…#3êÇãô÷õ³výZ¬V+CCCœ:uŠÂ‚BJËJ±ÜâÒÓBÐ:´³B‡Àm ôuô’_X°þN=9‹ÍM<:•â³Zmøý~?Å!WI…øðt#®"vTØ1~Vßî*\ùFŽŸÇW´ƒA#gŒB!„B!„¸! Õ+f…bÑ1!„BˆÏ¬$íoÿ'~ø×—©ùÎoñW¿¿‚|C„öÓ{9ªÂg–BÜ^¾¼blv-çSZµ §wjõŒl&MWëÇä-Ãh¶rùÄ.rõƒ8¬z†x*îEošš„ª·ù,ú¦‹81ÓŸNáÛ¼yƲÄW÷ï§ÒlÆo0Ю(¨ªJÛ‰è Ü8ssÑϱŒ±Þf›D„ñ@`b`€t(D:& ‘N¥ÈD£dc12ñ8F·%™Dg± 5™08lN'–‚´F#ºë‚ÓMf3B]]t=ÊØ… xc1ê ¬Vëm{=ƲYrvìÀ¿iÓŒ¶`?ïÿÃKØÜÞÜ©ñÑé ääsùìeÒé ë·n˜œ²¶¾NËw÷“—Î#‘M°íáíäL ' ôpìàqjËê°˜Lt\è §³‡û½‡k|öF½^Oêòù¼óË]„{Bù‹ ñä?yjF'?:IM]Íä¸äää°}ÛvÚ®¶Ñ|¡™‚Âòòd•!n…QæÜîqy ¯öÛÕßGQ^>‰L³~üw]V—E—Õ-¸ÿÅB‡pƒ‡ÓC‡×L¦) «,m‰á¥õS÷wrìB?)_)Ûjs±k¦/¿|m_ã¿x³Yé¬ö¬âÉéoˆ2¬Ï=Ãè¿û-Ê_Qúµ:´@2­Êâ—#·±_*£LüAúd+õI}RŸÔ'õI}RŸÔ'õI}Rß«>!Ä•ã6óOžû– „˜áüÅe„B!>oâì÷4AS[îYÏ2¿°S¿ãÛ“sÚ'd”„·™Íé!PRCËÙC”Ö¬#'P@o{3NOwÝ-§‰vay¥›p,CÚVN~ÙúÉ}$ãctïßC•b$JÔí¦hýT{<&xò$kF†3ükÖWYI^e%‘¡!.<ˆÍé$ RÜЀ«°“mþ•55Z-–ü|,ùùwtlR±£ 46¾póÈ£‘½Ì·/ žUU†ÒiÅÅT<÷¦œœíš9ñþܾRlöÙsÝêuzò}ùt\¸J:æ®í›&g,\^SÕje×k»Øzï=äNY<çÅŸ¾@iN6ËxP0Ï›ËXlŒ]/¾Íš-k©ª› |úsý<ó+ÏrpßAN=ÍŽ‡wL†.·\æøÁ㘴&Üw¹ÑÆ£Izƒžªª*¢Ñ(MMM ôPQYÍf“PˆÛèZè˜ “¡C`ÑÐáRé?­'iÐe?Á~ ‘ž«l a.©`g•«vîþ­:>Àº,ú‰>‹iZ@1ÝÆà/^D}èO©úZý´•™ýxη«Ÿ¢€VË'~\©Oê“ú¤>©Oê“ú¤>©Oê“ú>oõ-íúH!ħËã42NÉ@|†ŒŒÐÝÝÍðð0ª:ÿ=JFƒ×른¸G–5B!¾04ã牞åϾÿÎ>öÝ¿™†B;×D>Û˦[°9ÆgôçúÑëõœ?ÿ1UUËØ÷þRFü¹þ9÷c4)É/¡¿µ·zßbýÝë).Ïi4*–UÈç䉓”•—qê£Sص6ÜvÉT’÷^ÝMѲb¶lߌÅf|lIi @€sgÏqøÐaîÙ~………r ±D5u•47]Y´ßB¡Cà†B‡y¾Bú‡»'ÿ½`ðp®Ða{g'¥ÅŸ§0b–`ïé,êÕf^¾:­IïdÓæ**­Ÿ½`ŸšŠ `FoÔÉ™"„B!„B!–ìZè˜:\Ц‹M3B‡¾òr†ÛÚE†…ƒ¸œp»Sº»»©ªªÂd2¡(Ê¢ýM&UUUtttHðP!„øÂ0RúÈùÏö_ð7?y‹cÝq EïÉø½ß‰óïþ䟳j¢§µ –†Š\ÜØÙ¸&ŸŸ¿x•û¢l˜XIÏSÿ(ßúƺ‰Ùz÷ü.»;L¬øÁÃlxйcgù>~¶w?W+Ç{ú-ö˜Yñëßâ‘’äù,èˆYúlWè?ñêû_Æ2æªKñYcwç°iç·h¿x’sîÂlsRV½“e<¼fË©˜Ñ_Éf¸øæË,SÆCq#éô¬Ù;Ž!/‘“‰P6‹oݺ©Ç+ áÁAJŠŠnl¤Á0¾Ÿx6‹­°‡ßÃï'¯¢åÈŠW®äã×^Cwú4]z=¥ßúJ6K2c°¹™ð¥K˜L&´z=h4 ªdR)4ŠB&äѠÓh0i4Xt:, N­–½“FwxVÅk¢ŠÂ€Á€kÛ6–ßsÏŒñìèàÈ[»Ñiì•Ýðþó}yt÷tsüà1vÚs„¢òZ,Ö››q1I“Éfðæxgµµ·µãõùIŒŒâvxÝŸÕbÅ 7pø½Cxr¼äæO=§d’x,ΓÏ<ÅÉ£'ð&<äz¦fQtÙ\˜3Î>Ë©£§yü™Çq{§î/äååñàιØ|‘W_z•-[·PV^&'¡w‚jM⦚›ãf`hêËÊz]V?+t 5€™qï“3dúZHk|èÍ2þB!„B!„âÆ\:êÈŽ€ÔÓÓGAA¾ ä§äFB‡0>;ˆªª2pB!đƄùVžûAËt¿ÍwI³Ÿqø˜q²öGÁ¿ß‘wÝÇYºsì˜èbthŒ4žëÂ…ì‹´/¼H ÉK*Äç;'€Ãígd ƒK§PXQÃ;(‹FFQ :*Ÿþ6íï¼££øî¿½Õ:Ù§ãØ1r#0™ˆf³X*+gÌî7ÜÙ‰¯¨ˆž'ð¦~³D³YüES3ýÅÃa,N'éD‚TG»ÃuË 'FGÉÑh>“c™žXV9î÷“÷À”¯^=«O°€C¯þ’dRKUýÆ›>–¢(ô õRW ëWNnWU•³§Ï2ÐßÏמù:íì}g/F½ «Åºè~ƒcAêÖÔϦR)v½½‹-÷l¡¬¬Œ¼ü<>xÿ.v\bYÑ2taU“ÞH¡¿€H,®—Þ¦fU +ׯB§ÿ»f±XX±bƒƒƒ\½z•±èåååØ&‚¨BˆÛõÿËÄM?tzèÿ¿^V7u#2•^úWMôsü§6‘ Ü­‰{õ׸ðça~ð[L,{/„B!„B!Ä•úXXB‡Ÿ.EQnèGB‡B!ÄL¤‘¿û½ßåÏ_ýæÞ0ÑÈ-Çßç­ÓÃØW>ÊµŽ›Ü±Žü O²£0ÊÙ—^ç@{ˆD*N¨»‘42œÑ‘¿þq¶œûÇŸñÖ…a"£Ý´vEH_{übí î_^Z!>¯tz=þ‚ ròÊh:ºÖsÇP%“¡·­‰@Y-Þµk©ýÞ÷(øö·ÉÝ´iò±©XŒá£G)2OÅ:šÍâß8¨Ë¤R¤ ¬n7ÁÆFòÆ©ËT§³ZÈqt»×K|t›VKFUÑ_JKÇb˜µŸ­•%³ªÊP:M§Í†å±ÇXþ[¿…÷ºÐa&™äã‡xý¿ÿ“9—‚âå7}¼T:E×`7õWÌ>x˜ŽövvØûùùù”••PT\Ä3ß~†êuµ4u4‰EfìÇauëðsâàG ô Ìhk»ÚFaa!Û¶oÃfµqòÄIz{{å$âSÔÙÝ=o›þú FƒqÉ;ÎdfóÖ Ï’JÄ0š­2ò7Å‚õk?aÕ×d$„B!„B!Ä“V šû0¦w°Ÿ€?oÆ6%£ ÕÏÜAk"­$¿tcÚÑÑÁ¥ËWí·|Y%%%%ó¶ß茇<B!¾XRc£$³#œüÅàõ¿NZe¬Üö}þüÙ{¨´h¸Ùyj´žõüúü߸~üSþë¿x•ß˦|6}óG¬×ƒÎ·‰ñ{?ÂùãŸó÷ßÿÿEÑã/ `øTy±öÅö/„ø|Ë).Ûϕ³Ç9µçuÜy\9,¶ñå‹uˬ@]ßùó8Ãa0›I«*JAÖi×CÁ¾>ì^/¡Þ^ô½½01SbBU1 ™"Œ…B8ü~ÂXuº9ƒ‡‰¡!tŸ‘SŠÂH&Øݎoûv–ß}÷Œ™ ¯é¾Ô©½H¥t,¯ßtKÇL$ã EGØpßF*ª+§®Ý…cGŽq|ÿqêêkÑN»àÏõóÕo|•7^ú%êˆBž7oÖ~“©$áô?ñ0FÓT®èü™sœ:r’›6’J¦&ÛŒF#÷Ü{‚ûvïÅ£ gjIéh¼«WφûúÔÔжoߌe–ãÙ,öi×Nªª’N$°¹Ýt9‚S¯'«ªè§fTU%ÙÕ®Owiɘ¢ÌdHø6l xíÚKK_âôéië%· ‚‹ý–މFˆd£l{ä^ò òf\c~xðÇÙX»žÁá!Þ}õxüL3¾O>û¯½ðêpù¾iK)§S F†¹ï«;p¸¦fÝíhï`ïÛ{ØP³žPO×þáUîýʽ䯭Ñh¨ª®"/?—·¹‹æŽ‹TV¢( cé(÷opÆk÷Öo±¢~zÃT”Éáp°aãz{{9úáQ ‹ ©¨¨Q|é–ÐÙÝ1oûB¡Cn!F½JwOÏdè°¢¢ŽÖÖ¦%?¿÷7#x˜Îd1̱|òà@þܹ—WÉ äÏN—H¦1›Æÿ0HèP!„B!„BˆOÞ\¡Ãé®ZœâáQ¸›´uË€9ÇÕÕËÙ~ÏÖE÷q[g<Ìô²÷¿ü/¨_á7ÿâ_Sã s¡i”#dºöò×w”œoÿþþž´ƒÍoa,S„®wþ6“ÌV$„B!Ä—žËŸÏÊ éijB£ÕRXW‡ÅéœìÓå %[·âÎÍ%|éƒGâ^±b²=’Íd0Z,›š¨˜ŸË-—ùðȇÔÔÔàñzäD_Z …380{éä –ÓÑ3~?qÆo¸¹B‡À¼¡ÃÅ\ ÎùK7»ø|ŽYei–Ò/=6ÈÙæn:CIÒžÜÖ,Ï#Ǩ™l?±›«Á$On`Fû® ž\ü›ÌÉ´ |²ýReâ‚Ô'õI}RŸÔ'õI}RŸÔ'õI}RßÍ÷Bñù OGgüÛjrKFæìëôzÌRìêlÿRŽá\áÃ¥†áæf<œ/|oÛÇ[­žùçXÐ.ÖnÿðN1;qÒŒ É”RR²†'&Y¨M!„B!®±¹ÝTmÙBwSgß~›œ²2JV­ÆÃ‚Eõõhu:Üõõ¸ëëg—æšèïécÛÛ°ØÆWLÕôlÚ²‰¢â"N8…Ó7õº±ÿ½ýT-Ãb²†y㿤vU+×­D7‘e2ÔÕ× òqãÇè´:êëëp~Ê3\ ñyH«˜ ·ç÷ãµÐ!À§öÝTƒ.û‰õSS!NŸï`ÄSÊÎ5N,éÍW9Ú¬åU>ì™ñöa_1÷­ða͆¹|¡u²Ý¡ýdž‡Å´”€¢ò‰÷SÐj¥>©Oê“ú¤>©Oê“ú¤>©Oê“úëwc³3 !„øì ãuûˆÄS3Úæ  †­zEÅ¥_Ú1>¼‘Ðá572ë¡v=’Án"ºü¶Ù_×úïæ7ÇÀÏÿÿòWþ ÿ–gøîwg}žiÁ6!„B!„¸^a]yË–Ñwé'^}€ŠõëÑêæž”JÉf öõQ¶f m‡££™ މþÚ¢" ÓB…Ñ‘~?‰pex²0£O:Åx‡ƒ‡ U%šÍÎdP|>µµ­Z…µ¤dÆÒÓE††h:zœ®+˜LnŠËWÝžZR ÃC,_YMÆ•è¦u,ã•ç_†¸†Ê¢¹—&ö8<ŒFFÙõÒÛ<ôµ¯LÎ@h·Ûùú7¿Îë/¼†ßŸËú»7L>&“ÉðÁû iÈ äÎÚ§A§§ 'ÀX0Ê¿ø%w?x…%…“íEÅEø|>¥¼¼œ×_~bO!ÓxøÑisbÎXh>qŽ+íl¾o ¹ùSÇr{ÜlÙ²…óçÎóÆëoP¿r«W¯–“PˆÜ®Ðáõ´ÃÁÅ—Nq8n7×ý©^2Kùºu„¸tè¡þ~”‰/W]»r   ŸX†X5™¨ùÁàèÊÏç²¢`™6Û!@<ÁâtqM,¹œVUôÓfIÌ$“·}ÆÃ˜¢0šÉЙLÒ’N3P\ŒvçNʾÿ}êô#Jžx[YÙœ¡Ã¾ÖV¼ø ¯ýÍÏê‰RP¼_nÑm©+ 1’rÏÃÛY½iÍŒÐá`ÿÿø÷ÏãÀNy`á/zLª‰w_y‡Hhꋇ‹…'Ÿy §ÏI[kÛäµê‘ƒG¸ÚÔJi`á)ñí“›÷_ÛÍÉ#'f|¹Îbµ°zÍjRÉ/üâ†:qÙgÎZhÔÈ÷å¡Oéx÷Õw9ðÞÆ"cSW³Z-«V¯âÏ=COW¯¼ü r qìvû¼m‘Èì/";ŽÙ¿÷|îÅ×=DnîFáÈ@ðS(sNOl‡ôäï1…d,EFk jHef· !„B!„BñEV³4ºûhç¸!æÏËe°i7ð6‘hD{BUÕ²êïóùƒx½^ìvû¼BÿÐ'•J1::ŠÏ盳½r÷æ}À ó<Þ_{ŒµùIZš†)XµÛÀa´xY½¡·Ö†×g…–1’YˆwÍß&„B!„ ^Wêtª« TW éki¡qÏJV®Ä_^ŽÉfc¤³“œòrB}}¸òò°b+,$pÿýdãqÔLfrJ&ƒšÍb´Xwv¢UU²ªJFU1L ÎăAôÚ› y¤U•„¢R’ªJRQP<LØŠ‹É/)ÁZT„ÎbYp?±PˆŽæ‹\rІÊô†Ú·Ýj‡¼ÿÆ{<ñÍ'0YÌÀx@ð®MwñÚ˯Ñt¶‘­+·ÜÐ~uZZ­·wæj©Éd’ww½KMm ~¿ŸŽ–v:ºÈóäb4Ì êèt:r=~©ï¾²›uw¯cÝæu“íÙl–p$ÌC_yˆÎŽŽ>ÌŠ†œN§œ€âKk±ÐaEU5­-gmw9­S¿Ûôi´}áмû™ ^ 7:f…¯ttPY2{jU’AÕê?¥aUI…øðt#®"vTØ1^ßîãĹÎyÚ…B!„B!„øbÊftèô³¿X<½¡ý$ǘìfЛäõz©®®¦³³“‘‘‘Eûû|>jjjðxæ_ÕÆ”·žgÿõzž½¾Áö0?üÿæ‡svéLšáÐ0&—™_·oæõ_$á—/½F*˜bmõš›>N4ÅWƒÞ83´800€¢*Ô®ª£µ»ªâ*tKœY2 ct™Ø°uãä¶L:ÃýXѰ‚†• 4_hÆ_œKqE1—Ï]Æš±`³Øf¿¾z#6‹…Â’™Ëp_ºx‰¢¢"¼^/^¯—Î9‹?7—ŠÊ ƒœ€B:M†¬:þûn®Ðáõ´™ÅÏN^¼ØLuuÍ¢ý¦‡—UWsùâxÁŸ^èP!:ÐÅѦ’9ÅÜWïÇ­ŸÙ>ÖßÍIùJ¹o…ïºv!„B!„B!¾¸tú,Ùlnfh0“CoZú4w:¼u×>,B!„Bˆ/¢¼ÊJò*+ñÙ £Ãà ¶¶Ò‹a¶Û1˜LxŠŠ°L,õ™Ñ“C:‘@·@ˆ,R¸r%fûíª]Qâ¡c„::hn¦`Ó&\yyÖ׃ÑĹÃç°Únÿ {¡±0ÁDúµ+¨[SN7s%ƒ‹.rhßA¼F/¥%¥7}œ‘Aü%¹lûÊöÛ;Ú;8|è0?ú0f“™=»÷påJ+U…•‹ÎÒO&ˆ+q}ôñá¿ÆÆF4 «V¯ ®¾Ž¡¡!Z¯´²êîÕ||âcbÁAünÿŒý„‡)¯¯$¿00¹mhhˆžžvÜ·cr[nn.‡ÖÖVš),,$Çï—O|é] ތʪj®´\$K¡³NMãwÃ{œ/t˜ˆ'0[澩xùâE"áç§uÓQ!Òs•C˜K*x°ÊU;»}occQ;–¹qé³òŽB!„B!„_™x½eñ[ׇ9C‡U¥´¶´ËÀ !„B!„¸%‡‹ÃANYÙL†Èà ÝMM´ž8A2ÅÁîó162‚Þdšw_©‰àâ­P2â‘ñÑQÂ==Œ¶·º|Íè(½—N‡3›%ðÜsX&Âlþ’bÂoî!/P~ÛÆ%‘J08:„=ÇÁí$'/gF{(âǹÚt•²@ÙøRÉ7©g¨—‚Ê6Ý;s¶Ææ Íœ8ö;~÷Äl”=òû÷í§ñôªK–cÐÍ}¯!Í0å¾ÇïÇæ˜š½°õJ+ï½õ?ñøŒþ999Øl6Î=Dz†e„‡Ã\9w™üœ£’Í2ØÚJ°¿ŸîÆFÆFF°ºÝDGGQ…L*…;@o4bv8ˆ…ÄûúЛÍèFÒÉ$Z&fæÓhµdÓiâ‘d2$"²é4Ùd’ H ‘êíŤÓáÐé°iµètÔèt0-Ш×h]¼8<´{I]yݬðaVÉÒ3Ôê-kÈ äMnáý·ßãÿgï¾Ã£ºÎÄï½ÓG3iÔ{A¢÷":ccã‚í$v§®×›_6»›MÙdÓv³ÙMÛ“ÝdÓÛñÆqm0Æcl0cºè !¡Þ§—{$ ’@€À༟çááÑÜsÎ}ï¹eæÞy眲ì1l}ímš›¨X4‹µ7‘Én·3sÖLª«ªñù|Ì\:‹}ÛöbSlô„»Yq×M}evíØEÜ£8·„£»S}¬šË’[ÛWÆív3gn555ìÚ±“âÒrssådârrs9U_ŸðšuˆgÏûÄq$I‡çÓ¾‡Ý§³¡•æh£æÏÔ Üz7sç•|fyõVWŸ½¼ŒR‡"G•B!„B!„ø‹äIM¥³½}De³’3hìjÀÎB!„BqÑTM#³¬ŒÌ²²AËšŽ£õäIÐu´ÖÔÐòúëDßxƒ¸®cœN6Œ–¢"²/@3›©Ú¼ó‘#$ifEÁ©ªŒÑ4ìª îóO—ìPUZ"káBE¡°| µGñZs.j[u]§£§ƒ0ÆÎǸ)ã1™Sz‚Á ›7næÐ΃ŒÉ+Å•æºè¾D#Ô5×3eî¦ULOXvpÿA^~nåy½#®þUæ-GQY&³‰¹ æ‚;6mgbñ,¦þ„À¦öf&̜Ȕ™Sú^ ‡Ã<û䳤ZRp;\¸.ŽbMÖ޼”Ô´ÔÞ¶M&ÊÊËp»Ý=r”9Ë*¨|weec¦XnnjfÓ+o2¾`,šf&35‹`8À‹O®¥|r³Vàp:úöOqq1999lÙ²…×Ö¯çÆ+ÈÊÊ’“Lˆ²óri¨«”tC'˜Òœ^Zým´"§%¤ëâÞt]5ˆÆµó–ë#zðÜå4’K§ð¡ÒÞršª.rz9@,®¢($”‹Æ/g|Þ$ÂúyË„£peËEb:Š¢\ñõJ|ŸÄ'ñI|ŸÄ'ñI|ŸÄ÷þŠO!ĵŬ˜ˆ±'§“A’…B!„B\NªÉDZ~>™cÆáµ×(=k*æ°®ÓârQ4cFßkmGŽRSCšÙ|Që¶©*Ñ'ˆùý˜NOÝ›7¶ŒÊíûð¦]Xâa,£Ë×…/ê§xl SfMÅîLœU4‹qôÐQ6oØ„KKbúØi—ÔwÁH–îV¬X@é¸1 ËöïÛϋϬeRñœöÞmKS¼l}ým"‘åǽ ‚sçÏÅl2ñî¦w)Ï/Ãj²ÐØÞDΘ\fÌ›Ùצ®ë¼´ö%Ô ‚7ÛÛ÷zº'ÐÏK^ÇÌù³;il߲̬L<)víÜÅØiã3¦?ÎH$Âê??OIN1VKÿ“v«ƒ’œb:OvòÜ£Ï0sþlÆN×·Üjµ²téRZ[[Ù°~yyL›6 ‡Ã!'”xßh¨«';/÷¢ë^(ÓH’£Q+fs¸ïï I:´šÜ„cÝýµ÷¡£Y‹¨þ•.g½£ì¾ñÙ­#IPÔ¯x9]U•ø$>‰Oâ“ø$>‰Oâ“ø$>‰Oâ;_¹‘Ý !„¸6D؈Ë&Ù¬øBaé4!„B!„WD,Á6`úãˆÏÇPÃ_iªŠK¼¿Õ¬ÖK~’iDè®®&uRïTÇÉéiXm¦ׯ¢tú:‰*1 ƲlƤ¾újkmeã«i9ÑLyA9‹å’âGÂt†»X¾j9¦A6 ƒ];vòƺ7’¬f Þ$/;6ï 2qZï6›L&æÌ«@Õ4Þyc^g*éÅ™Ì[:ÿôß{mݲ•Æã ”ç¹Òiwb6™ÙñÆöAS/[­VæTÌ¡¦¦†Í›63oþ­-${Ò‡­‰Fhïî ªÄ(Ÿ<–±“ÆáÀïóñÖ›oQùn%crÇ0i̤Kî³–Žt«ÁMwÝŒ+¹šæX,Æ–M[¨Ü¶©c&cÒ§YMÒ\^ölÙ¡Lš1èÆxvÅlÌf3»ßÝÅœEs0Ir÷®Ýl{}+SÇL6.‹ÙB¶7›†c§xâØ¬úð*ÜžÞ¤BUU)))Áét²ýí¸\.j«jHR“ˆÇ£hšy˜6­ägäÓíëfõcÏ3yÖ$¦WôÂh±XÈÊÊÄ0tŽ9‚+ÉEé˜Rìv»œ\âšqvÒáPº:»Iö ?…|gOëâ{Ó•ØPI:B!„B!„âÊ.é0c0åTrr2]]ý3› —tè¶9èνRsï6’t(„B!„âJˆƒhÜ"==˜†K<<{ÄC‹…Ø%&:4æšôX ÕÔ›z“W^JíñÍC&vû{èèéÀáqR6s,åËûFö(‰²óÝìÚ¶‹T»‡9f_r_E£Qš;[È,ÊdöÂ98]΄gÏ<þ “J&œ³«ÉB†'=[v£ë:SfMí[6mÆ4Ü7ö`ÖìYhšÆáƒ‡yõùW˜T21aÄá¤{Òñ}¼ðÄf.8kêåÌL¢Ñ(O>þ$‹/"Œ²G%Ù©ÙØL·<虆ÊÊáÊà ‰‡áp˜ÚÚZfÌœ‰ÕjåèÑ£¼½åmÆOOvv¶œ`â}ãLÒ¡¦iÄãƒÇz˜t¨Ùí½ÓÖ_“t±B!„B!„ï_é©é´´·$$ I‡Ù™44ÕªÞ¤C!„B!„â ‹G"˜mý gÑ®®!§Z0ÎJ¶Ñ,"—¸~0wt௭ÅUR@FaáPwL±(Ý„õy™,½þz2²3†L …BìÛ½};÷`3ìŒË.Çdºô”ž`$H{ ƒ‰s'1iz⨉€§{ Õåe#jÏb²“–Íî-»‰F¢Ìœ?«oYII ª¢²sÇN’““YûìZ&•LáõíÛ·ãr»˜4¥7y²ººšú“u¬¸ã&¶mÚÊ©“õ¤{20›§^níjcüŒ Û_SSÆ_ãž8¡¬ÓédNÅêêêØ¶u9¹9”––ÊÉ&®cÆŒáØ±cý×ÉX³éò&ЪÃ-¸˜¤Ã¯çê}ÓéieçŽÝ<ùÊ»<úêÖím¢%ÒÿFv²{Ç>žÛ°§ßÜǦªnú{«¿)È]õðP›qÅÖj q÷z×j ñ‘?ôðÛVãš:¢aþqM >ã’û ÒáÞôA¨#ÂçWÙ#ãG«}„ŽB!„B!ÄåÑc—}………ÒÑB!„B!®Ã0P$FýþáGÞ ‡þTM¦QùžÞ®it=šðZùŒ©”esËÇn綬bÊì©C&¶·µóòÚ—xèçR½§†ÒŒRг‹F%é0‹Rßr O®‡{îûpBÒ®ëTî­dÍ“«ÉOÎ%-9õ¢Öp¸dåd%¼ÞÓÓÑÃGX¸d!µ-'éöu¸ÍH4Bg¸‹å·ßÐgG¥½©¥Ë–ö½V\\ÌŒY39tøÅãJ˜T1™V+Ápÿ¬ ¾€Õ®1­bzÜÏ>ùg Ò Y÷ô:^^ý=]= qäåå1§b~¿ŸÍ›6ÓÙÙ)'œ¸&¼ñúæ„¿/wÒ!€)==›––†Qi¬£íê<ÙŒH»öÔÑšRÈÓÜØ£=Ú_Ãæý&–Oõâ2Ùw‚Z{.×-LÃlaWe5o›Ê¹®À>ìp¼â*ÛÏ:DF)‹Ï’báÑOž'ó>gí»¬ã“˜e¯ð…m®°R2ÜÓµ‹æõ'q}ái fg¢È®B!„B!ÄedQ/nj&“ÙJ,QÙ'NHG !„B!„¸bLæÄ‘í¢==$)Cû"ñ0~ ëx_g›ñxœ†ÖFæÝ0ŸÔ´þdÈö¶v^^ýZ\eÛ¦mT,¬@3õ&c8fÏ™ÍñcLjèQ®XÌÛ¶àï ìtÓê䶯BÓú“7öîÙC,ÃðQœUHÇ©.þü§g˜:k“§OîkÛjµ2eÊÚÚÚ¨¬¬Ä›ê¥¤´«Õ*'Ÿ¸jåæg]ùkñh%ŽT$Äbµ_Ñu†»;hˆ'1¥8 %c‹“©ÞßAGÄ‹-ÜAuÐÆø‰^< ÅšJiò)¶w„‰ر¿Gƒapè`OTEØÑcàNµpßb;÷¤ÔV…øá;Þn×  fþß÷d(„[B||]„cM¼s(Â^Ÿ;ÕÌ':¸?_ÅÄC1žÞäçGctš5n£á&i/â‹ñð¶ OœÔéÑT¦–Ûøæ<+Fx= ÷Dùͦ žˆ÷Õÿ§f¦[{Güĺ(cTÞØ¡Êиy®ƒ»ô0ßÛ¡JW¹eaßž ¡¶…øôº(å*›öE8S™RnãËÓÍLУüóv†`ç]¼³<‰œôó¯AÞb¥@íí·=Û}|£ÃÊC·XÉôöÁ/ŽÆè8«"þúå(×Ý’ÄÇ•0Ÿ^¡8Kasug©ƒ‡®·`9æi¿‰o¨}É©9Vfì ðÇS¾•¯ ™ThÛ‰©xrRP$ëP!„B!„£H3kÄ£ñQik¤I‡¥Ùeo8*joo§¾¾ž¶¶6ŒsL#¦( ©©©äçç“’’"'„B!„¸ªEC!Lg%€ÅƒAÌÃLµ¬Äï“MV+º>²Q†AX× é:]'j±`/-%)?ŸÜ²2œyy}I‡v— ý¬õüv¼³ƒ#£âäeä1{ü¬Qí“H4BsG )Ù)¬\~ I®¤„å­-­¼ð촠ʤ’ ŸÙÝAÜçÖÜŠ}À¨„]]<õäS,]º”ܼ\Æ”Ár‡…Ÿ[K,#Õ=üèŠÍ-L¬˜ÄØIcû^ ƒ<ÿôód¹2Ivº©©|ÔÂ×V¸˜§ÄùõAþ9bðËy&¾³Ï¾aÑ N>•ªÐ®š°nް¥ÅŒ× Dã¼qÒ h¢†'ã•Ó}ðÏ·¹™E,¡ºNüt0Ѓq¶êv~~·[Á÷E‰gØÈÓuüÁ¾,ÌπߡÆk&CpDGQéë#!¦«D¢ýû|ØþîCÃ(–;;¾+µ^‰Oâ“ø$>‰Oâ“ø$>‰ï//>!„—ßh%^I:¼:uttP]]Í„ ˜‰Oâ“ø$>‰OâûË‹O!ÄûƒÏ×MR’WV2=]Ò!W©úúzÊÊʰŽp$«ÕJYYµµµ’x(„B!„¸ªu66$!…8z:!QUTúbºŽ¢%QÑ4"f3Ç“’Pm6,ÉÉ8²³QT•äŒ ¬©©Ø¼^LNçˆcÒu{;Íuuß»—Ê}GÈ)šH¶'“’qÅ—¥B‘0 m 䕿³lÑò„i{ïß}¼üÂË´ÕµP”Y€ãf'mlo")ÝÍÂë&$vvvòà/OqZž| ÇOñF|#‹–/ÆléÍ?ÊÍÍeÕ‡V±ö¹µèq2S2ûê·w·áHu²ü–å ëÛñÎm>ÆŽKxÝípcZyíùWiœ5™Ùóg÷­ÇápP1·‚êêj9ŒÓåÄyznÙü…8½£4ªªÊ¼ó™4e2/®y‘ýÇP”]LAF@&§ä IDAT>õGëyªöI–Þ´ŒÜ‚ܾuÛívfΜÉúW×SRZ"'¢®³defJƒ]]=ç-“;&³6²__n9Ã×È;»êèLÎci©çÀzš“ésf2=î§úÀa¶í…e³rðš®L|vkï7uºYA1«»UìÖÓ‰nv›'ªö–‹ãl©ŽòvCŒ£:‡ZâÒ,X­*v‹‚bRÕ·« ˜ˆé4*·§ªØÌv«ŠÅk"תc¶¨Øè}#6[T|M:­¾_}ª›¯ VÕ8¥+ýí÷¿ömøztZzb|éOg=„>Sÿt¬y®ÞX›‚Ť’íìý;lV0+ šùt\6Š Çé¼Ë ¯™ #LmìŽþ¸íV¬fnÍ ò­Ž ¾¦þ óRUhéïÇémØ–h[6EA5)ä'õ÷gÄoPW˜îRlo/o²†'ëë]ïM„´[Uˆ¶Ò³{3Fέ$§kØåùêƒÚæc˨•Kˆï ®Wâ“ø$>‰Oâ“ø$>‰Oâ{?ÆwåGÙBѯ¬°œ£'Ž\p=W²‡ž®Î—OJêÎH’¯n---Œ;–x|äïÏ6›öövéùYþzy)IòÃD!Äq¸Ý ¯Mýú×{¯l±±`UUÑ£Qôh /éðŒò¿ù²JK/:Ã0ttÐY_OÝÁƒ´ùüX“’È.)aöŠ4Ö·’—™{Y¶?ÒÖÕ†–dfÉ-×QPRxu×u*÷VòÊš—)HËc\ÁØ‹_Wp÷¨Ü³Í¯oÆkO%+%ƒP$ÌSx‚»>öA Šûû÷ØÑcäååár¹äDWÁÇ?3•H·ï= Áô^¬´þXÝ{òaÛß\ÇÖÍ„ÓòY61Ï0[¯˜œ¥rdwMÁ,¼®÷æòp£-†;Ã|õù Ûl&V›¹½TãÃþãäÈê÷½&l´Ò;²ßÙ½f€#Õʯoµ1ç"úA7À™fãá;íLíŸ Ö±[B­½ë6 \·Â€a(‡8h•oæ½Û1td Ƙ±mˆ°»K£í„AñXlBÐg– ìÏXÌ ŒBÒ3†›L  |±³—<÷yŽ¿ì%÷ßV‘t(„B!„Bqñ.&鸠¤Ãó‰£XìòÐãjq!I‡Ðûå”aCïÛšçøæw¶0ÿ_þƒ;Š,ƒ–Çê^ä[ßÞHÅ7‡^~!mÅO½Â¿üÛë,øÖ¿³2Ï4ªm !„ï_*ª¦ãœxÿþ÷Ó)tÇ8¹ñ÷|ç¿¿’ò4Jub4oþ_úÉ~Æ}ê«<ôíL•/ðó_~“õ}—ÿ¸«™xRq¹…¬ÃLs«šLXF’6̽ϰ÷þŽºêë ´µQ÷Ö[˜|>R5 »¢0ná"JîXÕW>¿´îžÜ®”QÛîXŠÉ¤`S üC<»Å "Š‚kPb«ÇÿCé -|PT®B!„B!„¸¶Y܉_FKÒáÕE×õ úgÿ Ï”·’ïÿî?/K²ßè¶­Ó´á_¸ïåHPŽ!„ï/Icnãþ{¯cBv2N§—qË?μ¶ïn 8Zu‚ÇYûØ;8ïú _¼m2yÞ Ê—|‚þ›IÔ=÷ï¶²#„—]ÄïÇ~Öˆ‡taúÞBÇ öôÐY_Ï©ÊJjwì`ÛC±á?à¯Ã<€ï©§pnÜÈ<`vR¥v;y þšê„¶ Ç–áë½å»ý=Ô6×’]šÍª{ï`òÌ)ƒ’+÷VòèCm 3±xÂ%%Ã!:,\±pPÒáÑ#GyæÑ§ÉOΔtxFº'@[€—Ÿ‰P°?'Õ›ÊÝ»gº“ù×ÏÇéê®ÐÒÜšgV“çÉÅj¶(Îdg2éIé¼¶æUNÖÔ&>£°X8y¢–‚¢B"z„¹Kç“‘“A]U-Ïüñî;˜P>55•}úcT\?—F33çÍJ¸¿®¬¬dLÙ˜„Q…¸åæœ{´ÕI‡a}äGÎN:„óŒx˜–’FkGkÿß™i´6µ*çMK¥­õÜÌÎ@Ç{Ö¡±ž¶êÂRPÆuåIƒ†·{ÒÈÕªÙSÕNEq*¶P;ût‚·ûÕ—xh·*¨¡8•í:ÓÓààá ß;¬L1ˆŽà³¼ê4ó‘Ò_ÜbíuVnpDyhk„ªèàáûÒ²­Üàðñ›·Ã”-³1Í¢³ñ?ߩոÞN–ç}*-ÛÊM?ߦð:k_ý;¡ñý»œÌ¿ÐÆyæís®·19å¶F±:˜î-¤`6 Z‚¸‚Cl+òþvgˆä'Óœƒû`µÛÆS|Ø>ŠÅ®Rd2¨$&<ú:Ý&⡎sÎÙ ÑÞÚL°ëØÒ¹â !„B!„bÔdÑ\SsÅÖ÷^Nå"ÎïBG<¼”ÄC!„B\…"=4ûÀ™lù4xç©m>ÄÎîl–Í/0²¡‰ÌÉKk<Ä;'{X”æ–¾B\V±H„š]»h©®F³XP…hOf‡“ÙŒ®ë ((Jï÷ñ†®£«*f«•x,†¯­®S§hÜ»—¨ßO¸« SFWfUÅ©ªX‡ªRh2áÔ4HJ6³ªbÔÕljž™Ù{žŸ‡¯ûÈ-½¤míòuÓîk'¿4ŸU·ßArÊàD¿úºzÞXÿ¾ÖŠ2 pX/mìY(@O´‡Å7_GVnVÂ=ãžÝ{ظv¥¹¥Ø,çNLKöÒéëbÍ«¹åC·âp:€ÞéW}ðöîÙ‹;9OЇ®Î.ž}âY²]Ù$9.lcÃ0p¹]¤xS^[ÿ꫌?ŽE‹Su¼Šªª*߸˜ªÃÇÙ½u7›^z“ºu,X:‡³7™Äd2Q1·‚qãDZÿ~üA?åååÔÔÔ`·ÛÉÊÊ’P\5¬f3áhÿ¨g6³•P4Lý©ú‘·¡^Úõ✟1&C&çM:|oÅélh¥9Ǩ9Ä35·ÞÍÜye”:’™>-ŸÝêØðfq“•Œœ®+KÅ©^}[T0ÆÎýüøù.~ŒBqž•{ç[ø¿ÝqjC0ö| ( s+œ|Óð£ºùŽ¢±lœ…‰¾Á"›‰Ï^oDz-Ä Ñm(äe[øò ;KF¯ØL|~¥ó¦ _x4ØWÿóˬ,qBôBUlQ™“ç§:©1TæLtðÃÉ&<€æÔ¸=þ}u7¸øÝ4  ãJMd0Sf"CÜü¹‹ož£†dÓX’ÿsJ§{,ô¿µÔÔÅ1¥Û(æ=V±¸PôñH Lx!„B!„BŒŽ¬ÔTG1é°­µoZúÕÉ-( ¾¶VvÆUB×õ *ÞÄÃh3Ûûëwí¤6¤à.YÆÇÿñoXQd<r¤™wŸý-¿jõ¹ãJQ;5núæ·Yqž¶Î6zmëTþöË|cM=»ùò=O€m<÷ÿè»ÜVø¨\÷gý#¿åñõhAÒä{øÖ?ßËø¤ µoþ‰ßüq{›"`+äú¿ù*ÿoyVãËäpBqÅ…©Ùøo„'ñÙÙÙ#üFêüuÂ=-ø5/¹É‰£…©örì1jºC¸‘¡7„—“;#ƒâéÓQM&ôXŒS›7Ó½v-Ц2 bgÝÛôÄ㸖-ÜœŒÅnGQUUUäXO'jª —0Š¢[Óèqu}Ú‹&NµІ¯Øº»ZZINOëM<Ì+Ì¢îDã5°{ϦMzAuzºC¸Ü¶+ÜÍiåùh9DãfmèÄ2s’—Ùs¼Li( Ö»œ™vþüéÄ×ìé6žú”`XG±¨|`™›,K,óñ¾Ýaãµ`·*ƒêŸ¡˜5nYäbÙ»õtvå¢þú}²¿¬ÍmæïW˜ùŠõâ²0mÉf¾x«™/x-ÖÑ-ÍÆ“â²y×mMµòØ'{6†ÚUeê4'ÿ»¼ÛüÁÓPMw.wsçòÄõ›L Îd·e«¨èƒúà–ï ‹ÎÄgáѾ8cê­¬2{¢óæ(BæYŠóJ,^`&s¸;*“EÑ1tù¹B!„B!FOcû…ý8¸ ¿„Ú“UÃ.÷¦¥ÓãëÁ•4ò‘$éðê2ê#*ŽÒøø'ÿ‘|G~ú=þôð[LùÖrST»ÙûÈð?ûÆóW?|˜9é1ê·?ÉO99¢¶2ÎÄ¥µ=éþŸó›ÒoóõÕcùê÷ï¥|¨öÇØð?ßçIã&þþ§_cœ»›ƒ:H³@¬n¿zp+i÷þ?,ÊAm9Ä;GÛñÅòІ_f5Éñ(„âJÒéÜõG¾÷p-S>ó=ešF­Žj² ¢ñÁõㆊYÓ$éPqÙEÃa4³EQP-4]'Õl&Å4ôµ«!%{òd\EEøÚÛéܱw$‚¦ŒÎUË¡ª´ÂÄC]×éôuÔƒäæ²hÖ"’S<ƒÊ…ÃaöîÞË»omÇëHeö¸—8¡¡µ‘±ÓÆ2cÞÌ„é„Ãá0/®y‘æªF&•L¸à¶SÝ)DÛ#l\÷:·Þ}[ßëv»‰&òë_þST%µ¼üïy£´t·°è¦%¸=ýI£MM¼øÜ‹Ìœ9C7PÔÞ}ìr¹˜={6‡"‰pÓªl~ý-ÚZyõùWijh¦baf‹¹oΘ9ƒ‡~˜Š9X†™¢[ˆ¿DÉéi½ç pÁI‡À ¤Ãn_à¼u®|Ò¡øKf‘¨Î¦ýQâyVf9G·}O¶•%ÅyºVç̽U}m˜½IV>š­ {S¥ØR1)›:‘ÔC!„B!„B¼WΕtxÆ…$Š«®ëüïœÉ‡–4&Ι͸NO9s¢µÔÒ:«\ûÖ½cþ§ïeii*NwE¥y¸LÑW°íÓ‚Õ¯³¶*›»ï»“éyÉØÝù̘;…t+¨67Éæ(ÍÍôÄÌ$Lç†ë§à5{™Bqå„N¬ã½Œvë—øüò\,£XÇêÎÂctp¢#qZ3ÝßJ}ØF¶GÆùB\+aôM£  0#P1 bÁþë–¢ªª:ªß×Û5X}=1¿¿ïµœ²Rº;[Ï[7 ÑØÖH]Ç)2Çd±òƒ+YxÃà¤Ã`0ÈömÛùýÏGåÛ{)Ï*#+5ó’c÷ý4w73÷ú¹T,ž›tè÷ûùÓ#¢«®“ò‚ò‹j?‹â ù)›X>h{¶nÝJż ÜéÉ«?~Aí6u43iæ$JÊJâ}ö©gÉt¦Sµï8«ŸZ¯Ç×·Ül63yòdRSR9VuœÅ7,fêÜihªÆö·Þ¡¶úDÂ:8ˆ+ÉÅø ãåÄ×”`Ìúzwy3“úyÄÃQ4ëÅOûêNœ¡}²¡üìlÙ›ïS]õ>ü\˜šá ¸,üúCNÛß›ø-aî{>Hׯ÷WôNÇÍh7ϲ°}{˜vfãñC°j…bíõ’§‘yC!U|€Ãü-åwC•ÃI!„B!„W™Ììdšº¤#®q2ꡪ^ÈS*ͬ¡ú².ÒÝ@kÜÍ„TÇ%·ÅlûŒpg==ZéÎÁùÔôüý¿šYóØŸøÊÇBúü»ùä'ocV¦õœË„Bˆ+%T÷ü˃TMû;þëÞ)$«£[GKÇüÌ?²nk ,Oï¸1ö¼ÁqËîÊO’ „¸ìT-ñ³zÔçã|i ú€)IUMU%fçLX¼P–@€îêjR'M %3»ÃD,ÇtV̺§'à§½»Ôl/SM§°´‹upêw$áÈ¡#lݼ=§<§ ‹É|Éñ†A{OØnÿȸ’|x²ö$«Ÿ^M¦3o–÷¢Öކiêj溕×1f\Yßë===¼µé-’ÝÉÌ_8Ÿ¹óæòâó/PUwœ¢¬"TU;g»m]md—ä2cî¬þã å™'žÆ®Ûñ¦¤ÐÙÑͳþ™¥7/#¯0¯¯lqI1iéiìÙ½‡¬ì,VÝ»Š–¦JÇŽé+ãëññîŽw¹óÎ;å¤×»©÷Sš¡_ø5.‰b³ }É)ÌáÔ‰S}÷%^JÒáp$éðý-9×ÁºÏ%>à †LÝ<ÊΞ†ù|œ6¿ÿò޲iK±ð“ÛÔ¾ÓéK·àçËŠ Çm?fÒmr !„B!„âêu¡I‡î4/Ý­mÒqWÃ0PU•X,vÞ²&“iШ!ËdOÆk§¦Åž‹ þ2¶ÝÛ9çŒß¬¢®3Êt÷ÙÏÍUùs¹ç+sù@×Q^ûýñ“„ù×ïÝK¹ý\ËäxBqùE6ò?ÿò+Lü[~øKɱ\†:æ|–Ý»˜µß}€Ÿ¸ÿžO.Ê&°w5?°Š±Ÿ¾Ÿ©É²„—W,A3'~NùýçñPQˆ‡ÃýŸêUEÓÐÑ Ì¥itìßß—x¨™LäÐÞÜŽ'%€`(@§¯Ãd•—EÅÍsIËLú‰p°òïlÙŽÒÉOÏÅ™6:S=FcQN¶Ô3~úx¦WÌHHxŒÅbìܾƒ/mdBÑ8œö‹K*EBt;¹nåu–õ¯;eÝÚu8Næ/œôN»|ë·ó³«9\}„ò¼1hÚÐyL¾t‹ÎÂëõM£l›ßÜLwS7cóû=InB+¯<÷gNfÖÜYh¦Þ¤F—ËEÅÜ öïßO[[“Nï·3}ð⺙1cII’T/Þ?ÜÝþ)!L†‰˜’øÜh¸¤C€S'NÑñã²ô^‹ú²¤ÒÒ½´¶\žƒE¥¹Ô¯GÁ„Ao°Ñ¸vÞzq}d l£Y.®«ŒôÙÚhÇ ëç-ŽÀ•-‰é§8J|ŸÄ'ñI|ŸÄ'ñI|ŸÄ'ñ]|9!„W¯ìÜ|êO^R’txuñz½tvv’ššJRRÒ9 à ‰ÐÑÑ×ë½äu«éÓ¸iúcü÷ï¦ÌñQæç*4?Iwl„õ5 æx uê½¶AÅêNF鬢ª© Oè]™(KéÿAqRéR®ËÜÈ“¿~ŒÔ¿º•YaŽh#gê$œÍoñæÑT¦Í.Æ£:Iõ:à¨p‚uÃ/B!.¿nö>þ^ª÷Cýøøk?êÿ\°äÛüæë¤ÆêXóµÏó+îãWß_I¾ébê($Oû?üV¿yðîûe;IÅ3¹ñ³ßå‹s1ËŽB\fa¿‹5qTñX €å#¸«€> ñðrLµ àPUZŽCÅPM½÷ãÊ8rðU†NÔˆ“’áaÚŒé—c2 =°‘®ëlÙ¼…CûBò3rqdŒÞ¯™Z»Úˆ(Qß¼„’ò’„e~¿Ÿ?>øè8ÓÆLM˜vùBÃAÚ|m,»m9¹¹ Ûöò /Ñxü©ÞTÚ[ÛIMëÐjµrë·³þ¥W9\y”²ü2ÌgìèúˆštnýÐíØìýQíÛ³›·3µtÊ Xl+Yž,Žï>JkS Kn¼Ž$Wo2¡ÙlfÚ´iÔ×׳ãÝLŸ1—Ëű£Ç?n<'N”“N\õLš…X|˜x<>¢Q ࣣƒqãÆ]úÊÕT*>ó->óÈoxò?îç=f2‹2ñÅG6J„âÈ3žá¿ÿýX7öÓ|ÿ³ÖQkÀ3þvn-ÿ/~ÿçŽIüíþ?Žÿè+<̧xà;7‘k/ãŽú"<ø¿úÒÓtéàšþ1¾=aIz7{Ÿú ?ÿIPI.^À‡>w’ Ú>ü2!„âòs3ë ñúÎQÄ”Çmÿõ ·]RÞ)wðµÿ¾ƒ¯IÇ !®°h$‚fIž5ÖÞ~î{ HñPÓPTuÔJ­) Zg'þº:\EEdäãõ:·`yÅyØíöaïÉZ[ZÙñÎjŽTcU-f`5YF-¾p$L}[¥K™½`NBâ@ÝÉ:Ö>·—ê&»0ó¢×ã úhíncåÝ·™ÝßN0äù§Ÿ£³¡“‰Å †¼øô ܰjE_9«ÕÊ 7ßÈÓkÜy€ñ…ãû’ÃÑ0á.îüè]}‰ƒgâ~eÍK”å– “Y3‘îI£½©“Ç~û'n¸ãFŠŒÂ˜››‹Çãa×Î]Øvþs*æÈ '® “6þPç 2­‰3›˜,ÚˆÛ?“t;ëו¦Æ®Fº}~ÜI‰Ã±—tØÝÑ…;åì1²‡¿«$>Ô²ÅÜïÍ›OO+;6p¢3LT1“š™Å¬q¤[?t ·ŸàåJ¥³ÊïRÿ¢Æø±_qô?·‘ò_‘Yh½äöº[ðñÍ-,X8ŸÏiÕ|êõ£p¸(š…¢´>=¹œÛSÌŒä°wUqߦ–.œË}í<ûý$_Út’yóçRb…HO ŸYßÀ’ç¯{U˜òäKÛêû¶ëR…ºª¸ïfV,ªà#ÊIþzSýe飳÷Çå6ðøûJºyèe³Ëèܳª’¹ÎMþ´fÎ➯Íâž³;Ây3ÿô‹›ù§!úH+~™B!„btÄ£QLFáÓ£QðûÁf¶ŽvÖ±TMMÃÅ©–ñ8]'¤ëøNžìK<´Øí”O,§¨$ó1†B!ªŽU±cÛ»´7¶“ãÍfBÞ¸Ñí3]§½»¨cÙmË(()Tæ··ñúº×_4—ãâ=ÕÖ݆n6øà§>„+Ù•°Ï>ù,Veyc°[¼úüË,]y}ßȈ‹…ëo\ŽÉdfïÖÝL(nt†:Yù[p{úóŽ:ÚÛYýôó”e—á°ÿ›ùT·‡ÍÎÆµ¯3yöfÎÙ»çtR^^ÎÓO?͇?òa¬V«œpâšàL²ã÷†L:¼TÞ$m¾¡Û5ƒ’Ïåì¤Cͤõg’™Ì&bÑØUÕÁF¤‹]{êhM)äÆinìÑí¯aó~˧z˜[hDº9x¸‰®¸SŽÌQÐ÷þ}泋ûÌçþ$»|¡nÖØÇß|—¶E³¹/Õ„2šûÞЉ ø¬`qñÈ-%×|¿ž½]£Éâ.â‘[Š®¹¸GtüµìÌrPˆ:úuöí Ýð«ÄQšI˦¯rÀõ4Ó'Ó{©Ð‰µ>Áuß Ñ7‘¢s¶)„B!“+ä² IDAT„B¼GT3èÑ'^ªÎÎN<ôûU&55•ÔÔÔ« îú£´énR¦k¨m!„B!ÄÕ& aóû9ßpR `èýy-Šª‚a +÷nT× Fo’¡®£»\Ø‹Šp—”0¾´gvvBù¤”zÚÚHÍíM¬‹Åb´¶´R¹§’C•‡°)VrÒ²),Ëõþ G#Ô5×1~Ʀ͙>h”ÃŽö^^û2ÝMÝÌ(Ÿ>ìôÏ#ÑÔÞ„+ÃÍõ·,OXÏçãÉGŸ@ï‰SœSœPÇnu (*¯¿ø oXLQiÐ;ò²–aµYywóv¼žß´”ôÌô¾º~¿Ÿ'}’4»wDI‡gØ,Vl!+»ÞÙ™x°eË*æV\%÷ÒBŒÌ™¤Ã³Y,f"‘hÂkÇjŽ3¦¨ô‚Ú.éN'ºðÃXíýê‚1%Ô«²I‡Ày“-f8k›.»pw ñ$¦§á±ÄÁâalq2Õû;èˆxq¹Þ1ZNÔR§Û°j×öAe´m¦áÿ~FË®*b¦Lœ‹þ†üݎézÃë4<ü Z÷V×2p.økò?q'V½‡àÆrdÛ«øZ"hy‹ñ~ò+äNKGÁ@¯•Sý’¶ÊZâ–’–|†ü¬ÄîP‡Øß6\3Yfmð¬kŠJ’ÝÃÓ¦ö¿Í¯6rÓ¼<òTšùÝ®ƒü©Á‡O³1¥ œ¯OÎcü#TF‚-<²ÿO5ûèQ”7ñ…×÷³+»^}í‹ø£¡oÄÃÕüÕÛ-Ì-p²ýÄ)ötÜî >6mõXƒžÎ:~¼ókÛÃhI¬ÊŽñf‹‡ï/ÇTóÇÚé¸kìå e9Œ·*„:óW[š˜gçÍêª '7MšÄ]F-?Øß@Nnœ0+OFëªâ¾-Ì)p²ùø)Ç,L.(ãSòoâ«oìß®9³¹§iß —ñ‡ù¨1vï{›¯´ò»E§_ë§Gºxfo%¿ªí¢Cs³4×AÏé„ÀHwM߈‡SNpß[õ¥šØrª {ö~?7‡”ààí¸‚þ&~½ýÏ4ùèRl½±—™ùùÆÄýñ@¦•@Ï)~±ënöã×ìÌ(*çk“r)7+„»ª¸s…)&¶5vãÈÇÇ*~¼­_í,âg3=ìÙ¸…Ÿš¦ðôÂl<¿AǦ·ÙL–ÍŠÝb¦Õ zôJηÉËOædÕ1,™÷3ó¯>3 V_åÙ±y+–ܹØÂ=çiÓŒüB!„B!Ä{B¿²à&ääR{ª^öÁ_´í•›Ù+eF¹‡à±×xèá=ØfÿãS®æ¶…B!„Wýín,†ÉÕ?’^ÔïÇtžB•Þ‘ÏPCQˆë:hÃ'‡Ä ƒèéþxœ°aw:1edàÈÎ&)/ŒÌL’ ι~Wz:­µµDTýûöS}¤ŠpO˜ô/S &^–~ Ç"´uµ¡Ú4n¾û²r³–G£Q¶oÛή­;ÉteP–WzÑë2 ƒ†¶rÆä±hù¢„äÅ@ ÀúWÖÓÜØÌøaFr´Yl¤*©lzù ôtJÊz“RU•‹`1›éîêêKJ‡B<öáVœ¤$]Ø!C‘0Xàî&Žq¿wÏ^œINfΜ)'š¸&uû¸Ž¾¿#C$è •tØÒÑAzÊ…?T)*Ì:ñp`Ò!tØÚÖLš7ã¼›L ±Øà¡Í®tÒ!€-­ˆUK Ú—ø¦Dˆ©V̲"ìm±0vŒ““G;¯Ý#)PIÛÿ~ž¼ÿǘ_Þˆ5º—æ_~›êß9(û»±wÑðÀ¿ÓYðüôFÜì¥ù§ß¦æñ|J—þj:TPøÏkãm§éÁ/ÒôÐÃx¾÷O$ÅÞ¦þ¿¾Gwñß1æç7bé~“†ÿ}€ã¿·Rþ·7 >–¬I8ZU ¯æd~›ÿÝ×Ä¡py¦Nܺõ®r~vC&å¦.þøî^¾¸Kã÷³sð&¼vòÈÎ}lp•óë[r(Œw$”ýÉÒ‰ Ówµžõjçñfÿ¶h la6ìÝÁwwcÜ ,2ZøñÖƒìNŸÈç§cj=Æ7¶WÓàæM+Ú÷¯oÉî‹åë•*¿˜žM@¨ƒÕÝÙü÷Љ˜jwò™]ï°+wwä8Û f0ÿtÙGê’øÖâe,P򿁦J¾¼×ÊÃ3³þ?{çGuîÿÏÌöª]­zµU,Y’eÙr·±±1ØTÓi„$äæ&\rù …„„B @¨ÉM ”л1ÆÆ½JîEVïÒj‹¶ÍüþXYÒªË œÏóè±wæÌ9ïyÏœ©ßy_~;2?X×—2ºU︱ž-¾t²¬2„=¬n 3qB<éõ j7lß½m Ü|ÆL¦šyl뇆IƒÞífƒ4•GÎŽä—H wððý<êóÔplØÁŽBþr^:Y‘6ž\·›–ñðâbnè7^w#÷¬ÙÉZg›Fj ‘?­¯ä·høÛŒTâ]l’JyäÜ$ŒŠ]G'Ñל<i#“N_Æ—zwÀ~ûßÀ}Ó]—i1“d³à5ÇaŒwÙù­+:0£‚dZHÁÅ·“ ?ÇÆ—_¥N²8· @ às@rr"c‹ž(D‡!p˜w¼Ÿ?´„Ñ8&2ûÜùÕ…3pʧrÝ@ àT§£±›«O5òxD"hdyH¢$I(áØ ZZ£‘€ªâ‰DMGRUªJëõè\.ôN'F— GZæÔTLÉÉÈ㈠ØR[KÝÁClz%nÙJjB ã' K:9Û#J„6w;!)DÉì)LžZ„f€¸²¥¥…×ÿó:Þ¹)9ôÇN' RÓTKÙ¼iLŸ3©ŸÿÛÚÚ¨ÜYÉ‚… ÈËËåõç^£,j4Õõ :.‹‹ßýˆP HAIT¤(Ë2³çÍaßÞ½TìÜIqI Á`þýŸh|“Çgo8L«·¥œ“²¹¡¾ŸÏÇÂ… Å$|fÑjŽ-鱈WU3î#ÙQÑa äà‹ª$UU9xCŠOÂ]-l9èÜžŽKß{6b÷¾ŒY“ȶtPýÞ‘Â{ž¥³c7®À씀9$}éLÚï}wÓ/ÓÑUJê—/Àh—Ðæ’z뛤‘ý›A—NüW¿ƒ3Ë8°.ZBÛŽtwÑ~ŽŽÀ|2¯¸K¼ ®óH»r']÷?Kgý"¬‰v)c¿9=ºÏx‡"a5™°(ê‚ mU¼ÒÏõs3™,+˜ ‰|µ(•7ÖU³Ö—Âyý¶lk­â@<×ÎÌ Ø(±eÏÍY²™åŹœe×zOHæ±ú"Lê8Âj5™_§3Édäsc[ ?hºª¶Ö>»‹ôÚòÚÇÕ¬÷§p¡mïôüt¦õøÈÐwS–ŸN©Q‡?)Ô½MÔ”^ÛÎZÀi\=¥™µ›«ÙäObããÓ˜©ÝΛ-Ýœg5èjfMÈÊ%.OÙŠ¿UMÏgyœŸ?•ïµ²n“gèŽiÌÌ›˜D®A…ÎaúyÔçK<Õ¬ :øŸ’LŠ ÈÕ‹—r5t÷oC¥©¥š÷#‰ÜTšE©ISÿ;µƒ ë«øÀ“ÌE=~˜“™HnO¸lUº¯_N4¡(ì·ÿ ¾rIä¶Ó{.BæÌf9 Úo#¯é*þõ,Š>—1 mé…¸Öž´É,¹_ÁDZÆV§@ @ § qެqj«ªÆ½íp¢Ãn¿£É*œ+€L|ù7¹ý±o~Æê@ §:­55äLŸÞûÛàp Ÿ6–înÂÝݨ¡!Ÿ°ÇÃQ‹*ˤ  êä²2v;:£­É„ÍnÇÁá@c2ES2EQð¶µÑzä‡öì%¨ª˜ì62só(*ŸA]U+®øä“æ·Ï'äeba.SgN”V9 ±eÓ6¬^OŠ=™Œ¬´ãjÏðÓækgá9‹ÈŸœ³îÐÁCÔÖÔRZVŠÝn'!!p8Â;ÿy‹’œbtZý ú :Nœ|øÖ*ºÜ]̘7³w]þ¤Iìܱ“­[¶ÐPßHKM3SrJÆÿ|£­©ó¦‘‘Ñ»Ìçó±wß^¦M›†Á r >»˜–q•Ÿ˜™Ä¡ê¦ãjó˜%ÔGE‡À Ñá@SÓh®¯;\¬ìlbí–Úâ2Xœc%z(‹Ðr¤†ÃÚ$æ¥™Ðø?ÃÑ ª®"ܼƒƒß}+v•&—€ÛM¸þŠm›P†\'†8S¿3® ‰‘‡Pu$œ‡ÁÖw‚Õ¦”b×âo÷cM´ÛȨ Z)BK§‡&o×¾2`Ÿ‘l (ýöÚhÙ_7¾UÏC•Õ6ôdöË«­Ñè0H*!5LS‡Å”MzïùNGz¼ûÂÃÑ쎀 ÐèHÑGÛ“e­FGbOØMY’Ñ ¢ÏéÍL·é{/†ì–8’ÔjöwG %CË5ü²¦úlžÆfºìÙ”™ÏMwuŠóͺ¾ºÍRuà u¤ö¦*­ŸaÚ<>ºõN2õÒ(ÎÐÒåG5gݯlœÕI:Íì탡ÇgýR%××r³Áãñº©o­'='ƒùóât Ž^ÖØÐÈsÿxmXCnòñE9èðtàxX~ñr’ScÅ”ëÖ®ã½×Þ¡¨¨˼>!TÙô2B¡ kÞYMÉÄ)CÖ«×Hq&³ñ£õLÈ›HBRBïºÉE“yáßÏ“@jF: mM¤Ä'ÙæÆöfrJr)ŸÓ—J9 ²yÓfŠ‹‹±Ùlb‚ ¾P«èÐé0ÒÞÑ ô“pÕ×דššŠ–´'6Zá©!:Tð6Õðqe„L–'âèé}¨³‘Íu2Ó°ËCJñ>C¨ ªÈYß&ÿ¶ÿÁb¸>H÷ÁQªdNLªöü Z(רtz»ñiŒ¤éeÀâÈãÑÓ ÈWLÒä:ûo f{.Z0‰™–Á_Ý£µ-¡©«ª: ôð]íowi?Á£×¯ Ë€$´cv•£ VU ÍЧ_Š2£é–·uÙhm11'ži¤=¥¯o’$!KcóÑpý<ºö@{?_q—¼HŠÙ>Ö¶¡ûš*Aà„Ì!-:{.–ø¥$Ïþ êšKؽm2/Æ$”‡@ @ ø ¢7é€ÐèO"Æ):@ à“F ‡ÑètÇ]Ïx£}>º=:êê謭%ØÝ)1³ÝŽÅéD È÷xpX¢B»ú@€ÎˆŸ<gJ2F½LD‰ ‘5'Ä¿—æÎâ“,ÿÒ9¤¤§ *Óåîâ½·ßeÏŽ½eb1YŽ«ÍH$BSGñiñ,;ëlÌ–¾ eáp˜Õ|ȶ5[)Í™‚»Õ͇ï¬âôå‹{˔ϜA—»‹]+)Ì.<¾J„–ÎVJ¦—ƈÖ¯[OGg…“'3ÁV½³’º}u¤¸F"éöu¡³é™»p^ÌòŠŠ 223põKß-|ÞÑË A¥ïŸMÛ82¤B?áajjjôàªU?‡.Sèª;ÌÊŠNŒY9œ™ïÀ,÷[×ÚI›ÏKóG›ÙØo«–5[©Ê/diŽùØCC~âЦ§CÛv|­A,ëѦd uí'Ð¥`ŠOÝ&t™)ðÁÎè¶ñQ'†¶P‰sšŽñÌäemuW6 Z›­¯J¿Bþˆ"{ .›mw»ýÊÂC8VI¤–¤83ššNjƒcÓÐá£KµoKÝ¥:ùø‡2ä§Òæ\Kô¢Éíí¤I¶P`Ò‚WÔ/§#•9Ú¼QS‹;`áò#òª>“ÑF†\C¥'„§é¹ qÓ‹Q£õSÆi5£vQT)ÕI#Œ‡†›©¦ƒª J^ª¯ÓÓNj`±Q;¤(qø¾ž$+«š}(Ç«¯@ àS"èï»éw»Û±Û'´~QO¨;ˆ·Ë‡Åf@ ÁICUUº½^Œ–ãÐI²Œ‰ k4(‘Š¢€ªÒÙÐ@Àã!ŽDùýø=v¿ôz=YƪÑÐm³QôóŸ÷ÝoçåáÞ¶ GOJg‹FC{ee¯ðP«×“™“M[sÇñ‰ÜÜÞ.ZÜ-$g¦°léò!‡@€ë6°uýVœ¦xf–·ï»ƒÝ4u6Q2³”²eh´}Ê@w€Wÿó ë)ɦ@6LTï;Â:óÇÌ^8ˆf†<íô…¸;Ý8tÜôœ~c«ÐÜÑLñŒf.˜ÓöÖÍ[hhlàŠo|ƒŠìß¿ŸÓÏZÂGºÕªaŸ°OØ'ìöö àÓçD‹#aô|äÜ_t )ht²p¸@ @ Ná`‹ÃAMe%*ðz©_»%Æèp 1ЙLÑ,‘ÚX9ŒªÕ¢µZÑèt„ê÷í£qÓ&­­D¼^4’„V’0Ë2U%áôÓÉ\¸ƒÅ‚¬ÕRóÊ+”˜ûî{=Ýnôv;Îìlꕾg¤Y¦j÷nTE鮘U˜Ï‘ƒ³ðÐíí¢¹£…´‰iœ{Îù$&'öQ8LeE%¯Z‹6¤!?9Ý ˆÙáéįv³øü3ÈškW§›'y‹l¦ « f]Š3™]›*0 ”Íš€N§ãœ ÎåïOÝ»v³sçNæ,š‹¬Õ°oË’]Éè4±ãÞ ÐtsþeçïŠï]ÞPß@Gg¥¥¥bb >“ì=´‹Å2¤èˆÄ`Ð{[ãŒx:»G9õµsÒ„‡ÙÙÙT ˆÔi"cªçøËEèll¢9A­ªä¥þ&iíÌ™›O®¹/Œ™ª‚$«H€FŽ Ó¨'Ù¾>¦f×½œa&)?¼…ŽgþDíQ,è'/'ýúkp¥h‘˜AÖ ?£î¯¤þºß h0Ïþ:®Z޹õ¯4J:½ÜÛNX+!ID—%Í'ëÆŸRÿØŸ©¾öNSÖ…7wùrL`xû½„îâo¾Íßz–ÉZ#ù‰iüxaç9tѨu†D®[P†ië~¹j]hIOHã‡s 93NC¨SB&j£Ù–È÷gNÅX¹‡Ÿ½»÷€²rÄÅŠäCܾvû¦Îåwñ íŸ*÷ýÿ¨Íúè2­VÂbOâ†9ܵiW¾¹³#…³ÓmTwʘ 2&í€ñègw[®)ŸÄb«ŒÆ/Å´'ëûúqôw¯Ÿ‘uffÚ<<¸ê=«&få”ð‡âDRµà·:Y‘,õöëáIv (ÍN ¥ªž¼ìx²2!ÇÃÈ©ӹiçNîýè}nÅ¢ÌTŠ‚]Ѷ¥~~‘bmŒöwè~öúœ®žYŒ±b/×¼µl 8=‡Û¦¦3Içû²“¸qþܲ‡ÿ}»¿ÖÌŒì"(I'W'JÈ€V+ èÇà¾ÊJ¯¬]ÃýÚRž[Jò¸æQÙgüuõì}ùnºC RmIÓ裡¬ítDMO­ÑÈtÒ‰›¿'¸œ¢€,#ìö û„}Â>aŸ°OØ÷ Ù7¶û#@ |²ÔÔÔ‘‘qÂëMMtQß<ô:!:@ Á‰&à÷“œ“Cny_ô¾ÐÆLôx ¡EQMd7ð3é#N'yW]…V«Eg0`±Ûñ½ô¹F#Øl1e½‘¾@‹³ï㽸‚¨«ëýmÖhp:DÂÔ©XããñDúžj$ ¹­ o]Öž{ò„ôtBAϸúŠ„éòvÑÖÕFvþVœ!ñ ñƒÊ©ªJõ‘jÞxå B]!²S2±-Çíóp$DsG δx–µ<&µ2À®Š]|ðÎJÒì©8¬ŽAÛ˲†W*ÛÖmÅbµ_4 ½^ÏW®ø*Oÿí)Zëð”ŸVδÙå1}Ú¸~¯>ÿ^zæž(—’$Q8¹0*>ܱ“sf Ó騱~;©ñ©è{D§¡H˜6§¹0Ftèñxؽg7ååå˜L&1±Ÿy,cˆ[W_KZjúàãj?Ñ!Ð+:4,øÞQë•/^ü©äVþ÷?þ8†¨fL‚½Y.ÖDÅ_Ÿp»q=Jø‘IØw²Êyýʘ_L~¾í ³}çZ®oÀ_f’-<û¹êÃz/˜ÃU͘ûámÛËmðrÕÂ2Î0IŸëñØ×Ún`û?xëœH±‹ù!ìö û„}Â>aŸ°OØ7ÖrÕMãú|>’““Å“@ 8\zé¥Ç]Gœ9žN_ ‹^ÆÝåY3îzL&~4wÀu×]'G NqTUEUUE!‰‰Dèèè@¯×zÿöïßÏwÞ)&Ágë®»Žœœ z½½^N§C«Õ¢ÑhÐh4ȲŒ$I=SN=:›šèlj"«¤¤wÙ¦[n!7uÛƒqqLÿÑzï[·Žöþ“ICÏŠBCv6%ßû^ï²Íÿú‰›6aëµ¹#³g“sÑE½eV=ø 55z"¶…Ãè—-#cÉ’Þk®7žx°c1ÛF´×Ûí¥Óã½Ä¤’Ib± …Ãa8Ȫ÷Wákõ’Ÿ™‡Qo^ó1>XOñÄÉè´úë †´x[YrÞRÒ³úÄO^¯—§}‚©eeÌ]8/f›5«×°öÝ5äeäÒØÞDù‚”ω&îÝ»—®®.¦L™ÂÎ-;Ù´z#é®4$;˜¿ô4 Šû¢0úý~6nØHÉ”œN§80>³<òÈ##®·ÆÛð´u´ö!ƒN:¹©–UUƒ$‰ˆ‚Ï&Í\±¶%3Ëùïd=ÞöþVdb“”Sì:KUB‘n>:Ø@8¹˜r“ô¹—O¤¯†™ä5sLéÏ@ @ ø¬bÐÚ „ÝxÜ]XíѾ6"!?î#Š®b„ì!× @ @p¢hõ}7%Fq»a Që”`lT/­NÇpoƒµ²L°56e©%) ¯ªrT.h–$êúE@„hºåÎÇIê±Ñ*Ë4íÙÓ+<”$‰Ì¼*·ìRxŠ„ñú=´v¶“”™ÄœùóHÏJ2Ur(bßž}¬]½»Ÿ¬ä,l¹OˆŸ#‘-­h,ÎþÒ9$§Æ~8ÞÑÞÁ¿þþOo„²ü©cªS¯3oŽçý×ÞåìKÎÅ•M7m±XøÚ·®`óÆMtvv‡¢(¬ýh W®§xbY&=!-k6‡™½`v¯? سg[·n¥tj)†«7…™½hvŒè0 ²qãFòòó„èPð¹çdŠUƒAÕžTá¡ >ËĹrùq^woXÉ£ÁÎâIS¹-ÇŠá³Õ×~€ï®ÚOMÜDnŸãÄñ9—/R_@ @ /Z½‘p°{Lea7@¯èp¼Äˆ¥¨1@ @ 8iDB!dmŸÌ%ìó¡ctFµ;ö^YÒj‰¨Ã'U6¯ IDAT[[‰ƒhzD„–øx#èje™p}}L™ø‰ixÿ}’zêÐË2}ûtt`pDßlgäç²îýµ¤$gEû¤Dðú}¸½D4*S 8­pÎ!Ò)CTp¸g×Ö|¸†PWˆ¬ä ¬­'ÌǾnmþ J'1mÖttúXÑ㮊]¼÷æ{$š\¸2\ãªÛ¨7âÄÉ›/¼ÆÙ—ž‡3>*þ³ÙlO)aÇöL)¶ÍÛØ°j%9%È=ã«×jIs¥²sý€^ñ!@AAö`ëÖ­”••a±šñz¼”Íœã·-[¶žžNjjª˜LA?:ZÚq$Œ]Œ+÷ÓjÝ~ Æ‘Õß²FB‰¨ÂÓ‚/²‘ùEåÌ/úä›6Äåðôy9c.o‰Ïç™ ó¿ÃòEê«@ @ ãe¬¢ÃEJz* µõBtØC[[µµµ´¶¶¢ŽðK’$âããÉÌÌQ@ `Œ„‚A,qq}¿½Þ1 Ã>_Ìo­N7â}›N–énmÅÒ#R³¸\”؉º@om-ö‰ÑHƒöädv‡Ã1e¬Z-îƒIœ>=Z&1G¼•Vw`U)éÉL-šFZfZL:ãþ¸ÝnöìÚÃÆµQ»²R2±¸,'îyB$DKGm„e-#)%)f½×ëeõ«Ù¹ay¹XMÇ&v4ê4·ÙøÑÎ<ÿ¬Þå ¸\ñ<ÿÜóXMl{t|ú¯N£%Õ•ÂÎõ;…BÌ_4IŽ®ÏÍË`ó¦Í”M+Ãbéó¢(TTTONNŽ˜H‚Ï%:½‘Ð8Ÿ vwwc4Ç%:ˆv4Ñ! D‡@ @ ׋+ÞI MQÕP[/œÒC{{;‡¢¨¨ˆ)S¦ŒZÞï÷SYYInn.‡Èé @ £Ðúò†<ôc”óI²Œ¢>I¨A– ´µõ v;ÞHlÖO³,ã©©éZâãQãã¡_Zg‹,ÓVQÑ+<”e™Ü¢šZÝ̘1‹”ô”!S)„ÃaêØðñvoÛEzb:ÙÎLLÓ õ«¿ÛOGw'å…”N/å°¡¾W_|¹[sjåáhjkÄoeþ’1˃Á U‡«ÐjµäOžD +À®•¤'ÄF'Ôi´¤'¤±Û>€AâC^ǦM›˜9s&¦žÜ»wíF–eòóE€#Áç—¢CƒVG ²lm]=éi©ÆñÏá†f’R{k…ëŸ ìÿà}âýˆxƒpÇç›áº=„m“0ÚÄaG @ ‚SUiˆo‘­ ®´t*¶mÇyŒ)š?¯ÔÖÖ’ŸŸÁ`@c( ùùù9rD@ ` »»Ñöé…½^ä1n+|'ËÑ-dYF6a˜¨‡:IÂßÔÅÅèM&‚Ê% OuuïoY–±Mœˆ·²‹Fƒ_Qð+ Äl—U0‰øöv2'dÙ¶×ëeßž}¬_»ž@G7É®æ”Ì>ñþ is·cv™Y~ÞÙÄHï ùèÃøøý5O,Æwì#‘0íMdNÊbþ bÄ–^¯—×_{ääd–½œŠŠ ñr§ärhçAR])1uid™ô„TŽTÆÝáæŒ³ÏÀ`ŒŠN²²²Øºe+¥SK©««£»»›)¥SÄ|¡Ntž+èµØMxÝþ1ÕÛ_t_ áa¨«…Í»ê©ê’tÄ'§0£0‰D}TùìkØÏëÛ:è¯ÿÔ:³X>#‰8ù³ÕWµúÿ8|ûk8ò0))µ´üå'Ô~tH¹äþæ×Äõ{ŽlÜÂoùˆ}!pM»€[/Ÿ@Ü ´ÅÝ\É«›™?3ŸŽm;8˜3‡¿M бõçlÞñ6]þRÕë$LùE3—bÒ@¸ñnÖÿû^Üý?и°¤ÏÄyדžä ï›¥k%µ[ÿLCÕf|Ý ZK.μo’S~N‹~Lv޵Í!Ë’! gÁ)š{1VÍajß¼„ŠÖeL»ø6Ìr¿/,"©~ýRöø¾JùŠëq¤ñÙÔÓV\Þu”,¸«^"TûkÖ½¶ŽÔÏ’›dŽ­£þVV¿½žÔÏ’­ü‘uÏÿ eò#ÌZt&†~ûu¸éw|ôæ*R.x–Déðà1›Gß7>¶þóÿøÝèRùÚÕqNêȇµîEÝþ2¶"Ŧ%²ÿ!öݵë"#ß$Žø@ @ |´µwïŒ} 碳³5úüa„(u‡ Ñá477SPP@d@Œ‘0´µµ ç @ Áˆ„BèûEè tt •Ç&è5‚£% ´Z -ÎÑIþ~÷k­[~>44ô.3i44ÕÔÄlçÈÊâÀæÍXœN¬yyز²HŸ4)öþ;)‰º={zEùÕÖÔ²w÷^voÛ…ÝGº3³Ë|ÂýŽ„hswÑ*”Î/¥¤¬dP™#UGxíå×ü0«hÖqµ hr7S2£„òy3cÖ566òÒ /1kÎ,ÊÊÊ(,,dÛ¶m$¦% ¨;POŠ3iP½‰Žê4°få/_Ü»<3+I–xë­·°[íÌ[0oب’Á瀪bè‰þzÑk´Hš±G€«èp(¾ÂC5ØÉ–m5´8³9«ÌŽ)ÔÅîŠÃ¬®Ð²tª ›ÁÛ@—œËÒ’Ìè4‘Ïl¥Ì/3á¾Ë0dÔš´íTqÝüé%N¤¡Î¹æd.¿ò.H;ñ»ƒ$Eÿ úD˜î}7±{§—¬ÓkÿNâ R©{ÿÇTÚžcZñÄž³ødr.~žL§“>BØ[A㆟°ë¥ï¼àqr’­€J¸åoìzùnºÓ~ÀäKþL¼ÝH¨}5ßʦg×P¸â2œc ÚÓæ¤+þîºð®!ÚP. `Òyñy˜oÿŒíú Ìš[NêüŸÒôï›ØµáL¦Ì:¨A¼»oc}69|oDÑáP6 tá;ò0Ûß¾™í¦‰Ìš[>ÎÉÁ»óìɘLI~Æ_ ³A; e—›ÇNÛÈíOë jDA @ Á'K—Û‹Í>8"Á@Ñ!Ð+:;ãB4Ú†ªªŸ¬uoñ‹_½ÏüŸßÊ9ŸÖãa…®}oñÌ3¯²v[íÐ%Oã‚o}/ÏKe¸Gãáš×øùõQ1ày¸mú Ü{ËBÅ.(@ |® ‡BÈýÒ#‡»»Ç,z‘% %FÓ#<ìMµ<ŒðÐ$It¶ÆÞ'›\.¼µµ˜e™nU% (øëëñ·¶br¹H.,„+È?í´[û£Ñj‘µZ| kMúì_¹‘ä²$¤0ÆZ.v~|rí û„}Â>aŸ°OØ'ìö}íÁ'ÏP¢ÃE¼#‘¶Žfáä~Œ%ÅrÌs¼OXtxê #Ë æÂ/qÓ÷ËȲ…©Yõ8¿{ð·HÎÛùÆäöÛ¸b¾w÷§)šÁ)Eû:n½æÞk‰]¬Íý*÷ß}yͯpÃÍï1ÿWwrÙDý¸«U½Ä¾ŠÅ·ÞÉÅÙCGJ 4¬ãŸ}’}xŸ5•²¥WòÃo/"Ãpl] ×¼Î~þ‹~u+²>ÝóÝXú¬ý 9¾±91¨ø¼ÇŸï}’w*šðKVR‹ñ­~—Åê»§Ì8‚X¤~› ÛY›ÀC"*TÔY¢÷Y£AUÕ˜:¢‘$"Ô[Ù aONÆš•…)1‘¢¬¬^Ñ!€Íå¢^¯Vtôûion¦¶ºšwßý­ÉI’3‘⌢“ê7¯ßKC{#™¹™,Y¼Û™ öîÙË[¯¾‰Q10£pÆq·ÙÒÙ‚ª‡ežMrzJ̽ðúuëyûå·(žX„Áa`ËšÍèt:ÊfF£êt:f̘Á†õ(›=•W®£½«§­/Åg«» ‹ËÊigœÓnUUï¿÷>ç_p>6›ÈØ øü¢³Žýú̯¨˜äaŽ—eLiëýž&kìEnï‘ÎgÃßÙ5þ‹Äp­vü[c(x"Êé’²Y‘¡ˆÒSNÁ× "0j#è?íÝ!üx÷ODƒ39•…I$é¥O¬&ÃX†Qµœª—‘$0”ü?²~7}·¿†ý'“2apä¿ d ´:yØzdù¨}z&q9Ÿq´±{ßý÷l²qvy"6SÉnc‚ÕMŽÃBÀn!çÄžèBÙñ:^ß…heÐdLýö˰^B&j“!¦¾R ‹9¼æm‚‘K±ûWÒÒf%~ñ"â ±íb("sê\jÞo÷%Ä;u#ú¯›ÑõGËŶi¶x‰€,aÔ˘tFLE7QPs)•&%ùëø6þ®øk™1m Víèã;ئ~Wík˨“%Ð Q.¬í·N‘5i$ÏûÁ®ãÐÚ’xΕ赠ô+7hÌ Xzëí³OÖIÈ’­Ûš‹é¶H;z°éï甥äÿúƘý0²_Bö·o6Ù?y™8WOþêÇŸÀqû X¥Ô?ø<éß#óK1F¶ã~ô×Ô=e%ÿš³0è%äö­tTL!ûg/cs´Ñùôõyê1Šnbôkå„Í·Øùñɵ+ìö û„}Â>aŸ°OØwjÚ÷Ù/_$ =opð3%­„ŽÂY,6¼Þ¡Ÿ~žD‡GŽaïþ£–›”—KVVÖ°ëÇñð‹+<Kî9|#·ïwþ’‹9ûÝ_²j[=—MÎÃ(¦ª@ ÆŠ.s§ŽèLÖyÜ÷äy'¯íp-ï<ðG^5|‰ß>s:ñG^áŽß>É?fOãÆév16# Û …º·oæº&sËÝW0y¼­Â5¼õÀ_Yc»”Û?‹y¯¼~—A†n1FÁ©†‰À€{¨°×K{$‚OQÐHÑ÷ëš¡v€˜0¨ápïo^¤ÓÑ !! ¬(„T t‰‰ívTEAêI矗‡óê«IÉÍÖNNG8èk7¦«µ•ê]»hmm£½½ŒÜ\&Qu ŽÜì“ê·P8D}k=ŽäxÎ_vÉiɃÊtttðöoS³¯š¼ŒÌËq¶¤©½™´ÜtœqFSß^(bõªÕlY³™©¹S0ê£ëÒ]ilýx ›…üÂüèó ƒéåÓÙ´q ÏZÈû¯½‡Û×…Ýl£±½{²e,Ç`ìœÔÔÔP]]Íå_¾\D:|1®©,F²2²8°gïˆåú‹[ZÚIHpö;p ýH«Õ †z¶5Y 8㜴w¶÷•9úŸÎ¦ô=!etcã£c~Ú„»ZØrЇ9=—"]~:Bö´4ÊÒ‚íìª8Äê2K˱ËbGîb¾}÷^ÝͬËÏa®KCp`?C"·Þ“ädÎl–ªý6²ëÿ‡Š=‡¢ÏÃcIG)^Ëa%R­% mäþ@°wRH°¥2“ÑÙ‹1ªÏâözÀé<Æ>ƶ9j¤oÕ#ì?ÐŽ¥læ£GM6©ó~Lý¿oaï{£º'“·â«ØŽcÊm«êP;–iѶÆûxZ²,&ïôoÒþòï¨Ü>ÂÉű~bÌNÎÑ/ûe߯™åÄ-9ƒÆ-;èî al|–¶Žé¤ß°QE–çô¥3i¿÷ÜMKˆÐgàüò7qd:'q‹£Û´îÎ 6›^LO@ @ †a(Ñ!0HtĈ3’S¨ilø\ú$++‹#55TVî¶LAÁ¤E‡p"›ØøÂ#<úì:jƒFÒ s‘;4,¿ùÎÏÒî¨àõÇÿÆ¿?ØK[DOÊ´ó¹ò¿.g^†i¬FxöðÏ{îæÙ sÚ V|ï\VæD=ò2¿þÝÒ¦˜¨xw-U~ [öB¾zí÷8'ÏmcÇLÐC‹Ì#"¦@ >3„|´vJ¤-ŸÎ¤;ªßÙOFœxOñ™ 衹KOî¹§1-Õ†Ät.ÿætÂ5Â=Á)w/ë÷Š"8á‚ ð–—òzQ”PˆH(„¬Ñàio)ktfsïoY’ˆŸ2…„%KÐèÌfd½KZÚ°6˜m6ÜÒ/yo¨ªÜ´‰H$BÀï'äóqøÕW)¾è"N¿äâÞûÁÊõ›ñù=˜MÖî/ ›6wf§™ÓÏ_LFv&MlfÒn7ë?^Ϻ?&Ý•Jiî”Ю&w3Óç–S6kZìí§ÇÃ+/½BsUS&ǬÓët$XãYóÞ,3i™éQŸ›Í”––²mû6Ÿ½„w^~›öÆv2ó³X|ÖbôýD‡ õ ôý°†ü=©¿ÝÉy*Lj•`gk·ÔЗÁâ+z[2Ë–DUÝÁ°Œ¤s1¥ÀMý¶j½.ì6¡<rgkÝÓ/îÅ8ç<.+´ ãv’a éKß!Ûý<•ï>FwílÙñ$ç:ÞjôŸãÜmúµ ÚÅÁg's°ŸŒ…$•ÞOáô©1Få¸L(ƒín nñIçܦ-Wɽ÷´’ÆÛ!}ƵÏØÈÆ ?£Öõ$ŸÆ.np¢·÷$ ‰‘Pu¡¦üî›±Ûhr ¸»Aèúo¯· É”ˆ*&§@ @ 'ÑD‡­žH8ø™íß‚yó†LbÑi F­ãÄFÞÑŠ*;(\úU®ùÎ9ÇiF›Ë&ê‡õG‰´{˜>ê©øóu\÷b *[¸ú¿ƒ©ˆÜw'ç[wí¯þ[¸ûÚ›x¥¸ãJ–ÜqtL£u\ Ç8h|^ù4÷?þ*[‚`šÀòïßĵË2EgàD¢ªƒc™\®˜4ÇãA£ÕbŸ0Ä‚‚±o£ÓôûûޛЂßí¦µ¦¿ÇCWK ­­„<‚ÉÉ-]ŠÅá Ûë¥öõ× 8gDÓKJ’ÄÄÂIìÚvà„ ý?-­ØìÌ_¾€ yi*B¡»wV°êÝ0˦çM;!m·»[ i"œÿå$&'ƬklläÙ¿?‹U¶P˜5iÈí :ñªƒ·_y‡—_€#>*ŽŠsÄ1eÊ***8sÅYÔªfêŒ2tú¾4³---ì?°ŸiÓ¦‰ôÊ‚/,ÁH½f|ŸsgæQQ½€ººÒÒ¢¢Ã±¢Ðöˆ»Ü-ØìC ¿Âj­¤;¦Ž¢CoS W6HÈdIq"Ž|­Õ0Ð…?üE1uSñâ¿øÍÇÑŸ’ƒ³þë2®Ì1¢šxëùÕìNœÅO—¤c·øM‹Îž‹%~)™§}Àʋؽm2/fø½,D¨«–ˆ6“AÖZ„‘g£_Þ;ãwȽ‹©Ø¬Çs’Žm“ ›LÎÅÏ3)ÅŒ§ek~Jux)™%‹1 Ú§tè…è G°¹’·¾¯_[÷j¯ü1ÕᥤNîkK’Íȇ|°­F<(è£_.Ä|poÃQöòj/gïêû±Îü¾#—dN4ªªÈÙW‘ëÕ€2( r@ @ @0ÒÇÃŽ?ý‰ÊG%Ò@ðI£Ñë)¼òJŠ¿÷=L‰‰Â!ŸS>ˢã %>«èŽ-âá°âöJ^_fÞÕ_cqn4Uã„Ü lÚ¨¨Ïwà=Þ:”Ì…·^Lyš°³ìŠo°õGñú΋È{‘ßôÕG«wÎçæ{Lù€f´®R–œqô—™Ë‘±q]=)Èô Ï™MQ†p0ã´þõt5ÝÙFoÅ£ühfÅ|X¯àÞöîyúÅWÝÆÜ¤>o¶òÍ;Ÿ&w‚)ॽvo>ùîºÝËÏo¿’"‹˜‡@ðżñ©ãµŸ~™×z˜˜úƒûøÝy™ƒŠÚªiŽû×>ð?äØÚXùà¯ùÛ£P~Û¹diÚøø/¿à®Š¾ÿû'9-]CË–gùõŸGŠ £#}Ñ׸ü½ë¹ïá*f\ó{~r^ÑØKAšwl¡.eS äCµ¼u÷m<¥žË ÝL‘ÝMÅÎ6 C¼øæ¥;ïæÍä+¸ï™ù$4¿Ã=wÜÏÃiwòÿòƒ$Ÿv5\S@ª¡ Oý–ßßû…÷]OùhýøBN9–þ¾MùÊm<k"áê5÷Ý´”¤7Þ¡®áû8çûá鼩–‡yîæ¡ýuã\Wß»º¸i\ÿ§{ˆûáoÙÿ•ßqç¢Dºü‹ë~¹nhG‡ô¸÷/kIºò÷”‘tž‘C´ì݃&õØÌ 1œEj£¬|êeÄÈ[Ã{hر5õ'¸ìDZïhOŒáhl É9ë~Ô—¿ÉÖ7ô”Ÿw-NãÉØgd4ö¾¶v½«Ã|þÿÃi”ÑX&a”Ÿ¡ËÝšjë§Å lÛGH—ƒÕl€Î÷ÂEd.ú Mÿ¾…}›r@9‰w>ãЦ§#µmÃ×Äìwd@ Á±²õî»ié%¾~à XRR„CN!þô?ÿÃÕ>ø…éoó¼÷ØcD‚Afßz«ØN!R²Òi8R+ÑþâÃñˆ2ž¨‡²<üs¤ »ž–ˆ¢ø¡_š=MxõId8úÎÉÖ$2í í>Œó®âÁ—®lß@ºâ£zÝxúï/°¶ªg¥q2‹†yN'kµÈ=™FF³ÑR<´ ý y‹?Þû6š³Ê/Ne¤'yZGŽž 9óøòw=TþôEÖº”¢¡<N:‘.áÁ©‡.s§Ç Z5HNbHdêü¹”fê'såòÌGhï† ßv^ÝaÞ®dyA<2`ÌJÁªAxnb僷óàRþû’ƒ<÷‡yä IDATaÒO¸¬ÀB°ê¸ó):.¹ƒß_<þ¯Ó|ßã…i\qçÅÌL×fÍÏŠV9  ïÁ•¼ÕRÀ·o<‹‚ sÑ´W¸ïÃCøçÎ`ÙYGKÚ™{öb²Öo þè#ôw ðPi>†þ‹8²&¦á0éaÒR®úN%›ÿ›Ngù›ä S‡ï£sð #ùË=×…#¦ôÑXê¨ ÔFª×se}ˆÖÆ&Ü¡‰LÌ.çœl15‚M8¦­¶­^Þ`@o2¡Õé5d^Î`!cb,z£‘€ß¯³“p €‰ôûéjj"àñàïèÀÓÜL—׋ÎnÇâp`¶ÛñÖÔµw/ÉZ-…z=èõ4‡BX5¬ñÑ€IG£öÇ9q"­{÷Òyè %%Ä%$`wXGBh5Ǧkp{Ý´t¶’œ‘Ìé§-fBÞ„AeTU¥©¡Š-[q¦¤0uêTl6úH˜+7‘–ž{ÌãÒåsÓæmgêÌ2¦Ï)IËêît³ò½÷9¸ó“²&¡£(Êb4ñExåÙW¸ð++0ö¤MNKKCQvìØAyy9†}ûöÑPßÀôr!:>iÒÒ39aŠ“Ñ€¿;ÀîÊJ ‹ŠN­PW3ëvw¢ÏÊçôIVŒÎ3&Giò!vhÅ4Ñ…1ÐÊÎ=h’&’f!ÕÎá©ßç×_.Á~ ÏÔ$N‡A'‹ -|(]5 ‚ϲV‹„Š=Í´©Š,cÌ`âÈ›ðèáü춯Qjñ2%î~ùëßþ¯™yæ?H_¿‹»ÎÎdà›‘îöº4‰$YGÏ謧­n ¿ºâ~Õÿ{V7!ÅKÕšyôéóᡞLEœ©ŽÞߌ¿ÿ£ž¥1'd/ï§Õ‚´ #úcœ}Ñ_C›‰:†x#Õ«$ŸÆ·éø÷SOsÍåw“²àrþëÛ+˜jÉ»‚H|Z‡ ‡ I¡@€®š¿ü22ÑwùŠª!šÆX0¹UUE?aèt,"á0žúzöµ·c–et²ŒXe½$á’$’e™Ž¼÷}MŒÌË¡~O+ÉÉén‹X\Áð¢#}d&§œ8ƒ9#z£6ìÝËò×ß$´þK2ÝnÆÝp=Æv‹Eãdz~ù*"‘ ƒ‹$©Äc4z›p¸9ë¬sp¥tÖ××óꋯ"‡aLþà5DN["MÞ^~î%οüB Æ6áGvv6^—7b·Ùi¨o`ò”ÉØíb#š@p0x|͸œ²¾¶¦úÀëO õuج‰ØíýªÂѶGšèTf9Ÿÿï*F”2®4—CµÔip_LñŒÏX·l]iÇ>ÄÄ{Øñá™lóùÐ1arM%uò"Ê'LÅDï¢I0‘Pp E{¿dÓ¶!¥ì¢ñ÷—³×y;e×Ïí9gKž@ÊX¨¾ólBß{’‚ò~ÊKœÂˆ_ߎôÔ_¨»ñ1TÍŽ¹üdFüòg8“eôV1@ ‚õz±¬[‡‰ˆÆ8ÈÛ­oÊ¥65aWU"ÍÍ¢ß)ié´46ô8¾eëJKJI²¹ð†<ý–ãLNÁ×Ú²ÁbE‰†»Še‰ÞBX„c¬æ„¯u;Vtèv»ñx<¤¤¤àp8¸žªë:±XŒÖÖVÜîÞwå´‰œ<é_<ð·§)¶]ÄÌ‘õ;ªñµ/òØ çqBîR^~ê¿ä]}2%æ½,ûÇ?XgŸÅMcSú¬[6˜1©~öÖía‹'ŠÜÒLÄ”Jvvvµ‰+ײw€_ýÙx ”úxüŽ…TŒ¾ŠÛ<‡Ì~{ÄiÙ°ŒµJKFdÑðïYÇÛO?KUî9\™oƒ_ 8 È®rÑ‚o,&[ÍCUs½ÈÒ¿`LoaË'{°N»”âDHdÌy¿áßüú®E_~÷žœCo¿ˆŒ6¦ðªZcLKêÅaƒÞ5­sä\~qﯙåîj•wÍÃ\ÿH%3r/ÿž‰µñn¾ý“Csý’„¬«(ª6ÐYÁ†]4ã"+Ñ *ôåVð@íá]·ˆ[û»F]ë(û@íÕ}Û5Ð~ w&ß»e&z¶òλøã1îù¿öðÏ`X0šL˜­V2òò°&¶¹ªiŒF‘,ÒMý{ lTRæÏ'mâD"Á «ÿõ/2#\†¾½5t[˰§¥Ò4ìòXe™æ=]7h$egÓ°y3£Ú½ê'¦§Õ4ü;v ÅãÈÆ6¹NnI[7¾7 áa  Å׊5ÉFéÔ2ŠÊа;zj4McïžÖ.]J`õ*Ê,F$:h¨úà N;­}žoaÊœ™,{óC²G• ¸/ü!ÁxˆqGM`ܤq¢À}uï ­œéÌ$93é ûÜjI %ÒJ4Åfܯ`=f4ÿýïñù|œwÞyX­âa+,+:ìx6èdzFVÇÿj\Æ`Ôº¢x<ŽÑøU„L5Z2†‹J@Q ˜ ½‡:1;S™>#•‰q’DŸé¾H9÷àyí¡‘/ äñ †sU9W^Íœ>N‡£ýß#²ãXr?†RV±ýÃH™ókR:é¿bæO~ÕQžõ€î%dÇ,F;‹¢ù/õë\çê5füŠ™?üU/%X°^ȼ^t·†´_2å{¿ìç:T]ÖÒ'˜7¾SyÆÒ¦>BÚÔžýanOfÌü5Ç\ùë^:$‹ÔÙqÒ CJšrp}çt|ë­½OÄÍ£pÿü%Ü?ßw ˜²…Ww¹_ä‚+)[¸§ˆœy#o:W¸[¨o@ê–v_þü‡¿?èv@ ¾éè~ïˆEÓ¾]÷¢6z”–”Pt8jÄ(v×îè":P¢á^îãÞßÒ~ÝE‡Cvv6[¶lAUÕ…öÒuÖÖVÊÊúx¹#§0ãªßqÕ?òü?äQ¿‰Œ¼ j» K ~uÚ¢EÜÿ“gñ¨fFL=ƒkn>—q!¹Çpâä—xà÷×°¸ô þtË¥\°þžºæbÂÍŒïÌf”kûÀ.º?ûÄÇÆçŸáýÚÔÞÏUÜßq&åØßñÀ Óp©5¼}ë¯xšË¹ïŽ“iÐ#»ùèoò@m»2ÒVÀœs®æ÷ ¦0Ò,ƾ@ ††!m"§N|Žûžü“/áØM»ªðÄúÊaÆé†šÿ-æãcÒ™éò²ié?yìC3ŽIÅ’Å|q|!sÒ{¾uÇüÌ¥<û—çp_õ¦eFز±…ì‰ãH5Z0ª~jêªØäQHÏÇ\Çí<öīؿ7²TÞ]ë¨PJ(ò´m ÈÍIá6²îó5ÔEÍõ›GiØËgË+8!«½v Ÿ­¨&¨uòpPSYMSZzÍ'<µðä©¿brº¹±ëu¹íi±è¼Fk’ Ù³ƒíõ’ûiuÏf®ãÎ^Ú«”cƧÒEš$µ {ûE+¸J™œ¼™¶º™<=ŸÙNŠÛŽ´ÅO$.Æ•@0܍Ђɲ_\óxZY’$”@`ÿ8—ÛÞ+÷·-T©¯ï"´§¦Ò¢ªÐIìh$â{ö ƒ˜Ú=ï¥äæ²çÓO;„‡ v;‰ååhÛ¶¨®Æ™Ÿ@Zv6h}G*‰«q|A?!5Lúˆ4Ž?n>#sFv i¼©I£jç.6|ô¡µkmI Ó±~–d4²gÅ ²fÌÀš–Ö¶P^Κ—ù°Úœl‹x\¡ÁÛˆÃíà”’ÚuÓ[8æƒ%K©X[AaV¶„ƒ¶øaŸ°OØ'ìö û„}Â>Á„.:Gôà[M^~•»êœ~Ÿèpf—•˜',r¤¤¤PZZJuu5---ý¦w»Ý”••‘Üv«7$k.󮺓yWµïxž›þ°†}ï—Œ)ã9óú8óúAjLcæOfæO÷Ê¿æN¼¦·Ä§sÏ“§w9âšv# § ÜÆÞq2ñç嵟 ‰a$'ÿáßœ¼ÿî©—qÛÔËÄÍ&‚Cƒ1Ù?¹ ÿ“Oðäu—pO\"eì42ûP·KÉL¾ìçœ÷ð£šY3q™ct¼—VšøìÉxíî0˜³˜~ÖuÜuÁQ¤€n×õàÏÔ¥ý\£kôœYz¹úB¢¶q\÷ðúl¯Ù½ö#€ÞCx$¢¦©>Vÿëÿ¸ïO1@ÆU0‹‹¯½ð€›AÁÁ¡Æã: þ”HÓ…‡@îøŒF0Pûs˜$‰Hk+¶v¡žÃí¦¦—tVY&X[‹«¸¸mÖ“‘AKUU—4Éùùø·n¥eóæáa‚ÝNv~>¿gb›˜;®*BA</G…e…”/#ÉÕ»÷À`0È®ÍlþðC,»«(µZp;zn3J)Ñ(»Þ~›Ñ—^ÚvÌdâè“çóö¿_%/lŸíàùˆeÜQ˜0eBᣮëlߺw¿‡C²1.Ìú¹ÑÓ„=-‘ÓOûNÑa,ã³O?# qö¹g‹ÅXõÅ*b€IÝ®=¢C`À¢CiÞ¼yÃ×'Õ0÷áu,¿¸€]ÛvòïgëÿKC“1ÈÚaM·Oxx¸ë°ÛúW{G‹I¶tš5<üÔ'ìP eüéüöìQt×°Gb’$ k½Ã™®?û”Ú[YóÆßés‰ÜqãμŸëá³ï`lúªÚ¯gyaÖ¿ô<~S&çýð NÌ0AöY÷Ÿ°OØ'ìö û„}Â>a߷ɾ&ïà§—¡PH, Bþž›Ë÷ÇŽ q²hÆoeß,ڰ˺-º †sÎ9§ÏsF£‘x|x\®CAì6û€Ó_wÝu¢s†ÆîâúE2WÝw3ÝÂF@0|躎®ëhš†ªª¨ªŠÇãÁl6F;þ¶oßÎÝwß-L ô@©zƒë»”cn¿›óò…+bàHäºë®£  ‹Å‚ÙlÆl6c2™0  ²,#IÒ€¼¸|ùÁŒŸ7¯ãóŽW^Á´|9Cÿޝ¼ªŠñÄÉ9þø¶Ù‹ªòùsÏ‘¼~ýC5×) #®¼’äÒ¶(A‡å·ÝÆ$›­K:ªbœ?ŸÜNèø}õîwrÜ/Ùá±q×.6=ø IùùL¼öÚŽ¼ÛV¯áÓ÷?ÇéJÃðbK²‘SKaI!#ú^;õ´´²eͪW~mo-å $ÊýG܉Pþ‹_àÌÍmk MãgÿM,bÄáèº9.ªDihm %ËÍÜ“æátuU”ü>xÿ*Ön¦$§›åà½ÆâqZê)WÄÑsfb2ïï—`0ÈKÏ¿HNNóæ×q<³rÅJÆŒƒ;ULBßþú׿öy.#3…ú½-‡ÅŽCû8!Ɉé]h·kÛN`ࡌw:]gP¡–‡3ÝÀBÄjÛnä$îøý”—¤Ñ#Ôía³oéú³Ïš's~~gÛ—NôȰ¯³M9Rì;py¦_ô}ž»èHµïHo?aŸ°OØ'ìö û„}¾o²}› 3úࡪ®óž×Ëš` ˜h·sBR†#tÑùÛÔ7ÁÁÇihn&Ý=ôEø¢²êªêE£ú^£eÃ2ÖÅ ™\â"¼ý}žzz Ón   µL×è’,ƒÑØo¨e³$nlì&8Dz‰ba•$šwï" I)ÅÅ4lÞÌÈ©SHÊÌ$¨iØ«ª75aMM +?]ÿŒâ,f–Ì: ØPQjvWQ±|9 +VRb22ÃlÂÚMy ÒM&*ß~›ñ?úÐvzƉÇñâcÇQÚ6™Sâ -¾f$‹Ììs)(.èRFg/‡6=‰Eã‡Ô·1%N½¯ 3'2yúä.››xáŸÏ#+2»»(,¬"7¿M4iµZ™2e «W¯fÜøq¸\.1Pßzê÷¶Œ±í؉ãþC÷\î넯¥gÊÁ­õ%:@ @p˜9ˆp¾ï‡B¤\s ·ž{.è:Ë^x÷{Œ±€)84}# …¡Šëëö’‘•9(ѡ찊†?hdˆV²ä/qSƒ+Ÿ nàö3¦’, @ Á·‹h0ØCx¨„Ø!<Ôeÿçö|Fš›;>ŒFlyyÐÔÔ%E–‰Ö×£kZ›¨H-( qãÆá¡ÙjÅQV†²};­XgÍÀ‘œÌ”i7wfŸvø<¶¬YË®+°ÕÕ’o21Õqpku‰Í´lÞLJy9)™™-¡¥¡Éd!¢E(›\Ƹ)0[ºz² …B,}÷}*Ön¦0»G‚}H}ëðF½·à8òŠò»œÛ¼i3ï¾ù.Y‰8SœDbQ>xë}N9{é™éØvÆŒÃú/×3qÒDE¬{Ànl—ý‰£q° ÁmaŸYVt(Þ_+Ùý¿H9æz¬Ñ@ @Ѓƒ·¥ÿä'Ìþñ‰¿ý6'þô§|(I°h‘hϯ¸o‚¯’Œ¬ÌÁßæ°h¸ƒF&eÊåüaÑåÂF@ @ð­G‰Å0ZºŠ´pxÀ:dÚ¼vÆ`6ÓßêŒY’hié²Ô–šJ¸¡k·°ÆRs3áÆFlm SF¢rÉ’.ir>­¼œôI“º–ét⩯Ǖ±ßÛaÀ zÇvv¬ZCËšÕY,e2a†ÍÁéf3UK–à*.F6¶I‡fœ0¿ÝõgFϚʼnsN&ÑÙUÀ§i[6oaé»ïcÇÆ„!z9ØÛÚ€9ÑÂÙçƒÓ•Ôq\×uV±Š·^~“òürV f ºîdñ+oqæ…gväIII¡°¨õë×3aÂìv»4ÁŠèÐl6 .ÔrCCééY_Ï/!«7×±ÛE‘L¤dd2µ,4s»Š=f×¶*¾¬ñT ؓ݌=’|‡Hjèh•O±íîpÝô8éò+Tþá-’³Ì¼„~óú7qé²FŽ™VŒgÝzvÅS%QBko¥bÍ»øÃ ÕÕ‹© £§ÍÇjèV·ç¾|ë?8Ox†,§¥ï2Ë“{ð@ Á7oB60qÛÎh”¿77Óuî:ûlV¾ü2Oÿä'\þè£L<ûlnºývÌ’Äen7±ûëpõ@0r‹GQµ­-ÔSH×°ICwC û±[…÷@ Á~L¹§ñà?N !ñX £¹«ç=¥µuÀùeIBF»3˜Lhú}Zd™h'‡6·›€ªöšeuu‡ðО’‚j6wñ‚èÎÍ¥Ù`ÀØM—œ™IÐëÅh³±gÇNv®[GãŠäšÍ”›M$9‡wn“e‹¹}ÇôôsÎaú9çtI÷hC±Pˆ§/¹„¬íÛ{,®v EøwC ë:éê ²‰‰‰Iœb7s¨ö«ZŒ•>ÿ ÅðFÙD‰ÍÎI‰6Ò9ñSãAžlSžâæX“ôÕôá™Æ6ujG·ÅÁII‰Œ5J_é\6óól³Ÿ:d3G%¹8ÉjÄ$FÜA,®`6¶õÆ>Ñ!0,¢C@ˆ@ @p؉Çb˜:…ZÖ5 -€„„å—$ -ïzlÂCµµ-ïð hOMe¯ª"Kq]' ªÈn7–‚,Iû½öM&²fÌ@UUŒíëh¦„ÔnžÃ>¯—‹ß&¸s'yf3…fÓ“œ‡´M²Ìî%KH›0C»¨3»´”ŠåËIËÎF6 …B¼ýÆb6®ÝDñÈÊF•¹Þ`$„7æã¨yG1~Ê„®ç‚Až|âo1£û¶Ýæ@ñ)¼þÂëœyÁ™XÚD†¨q•M71iò$1pßxª*«ÈÍË=¤uô&:ìxÎ ¦ ‹Å‚*)ôžËÈ‘H„„„„¢ÃÔÄ$šüÞ¯´‘£¾VêTãóSq™U0»(ÍObׯVZcnlq[š$rÇf3ÊaD–ŒŒKÁ·ô¦Ôv?˶{Þ$¡Ä†oeÒ´ÛÉ9¹ŠªG–á8* ß’÷ˆh£H¾èFÜÚËT?ÿQ-äïÝMÚ±ùm_òM4?ó'ê>ÙHÜR†kf.jû‹½úßÓ¥»Ô%uÅ?=s§up³ÉŠÓd"3Á‚Õl¢ÉBÙV4â6²s’رm;æŒ2åûWuþj&°á—¬Z¶óÈ£HˆvYÞ³LBë.@ ¾™“¼þ½ê}&Ë\ðøã¢Ãa¶Ù¸àñÇyÿÄ9®¯²Sæpü;OpU§  zÃ:6þ3’œ ×/gùï®gÓ'>&ˆÍ›Gf£‰Ä$~¯ç+µcïÞ½dffŠ@ ÁQ¢Qè´ VD0J_‘t­›àÏh2ï­.]'¦iÄÛÿW…Hk+¶´4\ÙÙÔ—–b-)Á–‘Aq^Æ>ÖÕìII(‘ÆvÑd‚ÝŽÒTSÃöõë úýø|~òJKÈw§àn¨Çi8´ ,Q]§5'œ’BΜ9¢C£ÙŒÃ墱¶–ú–V>ùðÌqGž6xç}NXpc[»—³eËÖ®]ËĉÅà|#‰ifY>ä¢Ãþt¤æÞD‡ }¨È¿jÑ!@BjߊºïˆF4#.[0É úŒvš„ç»}ø¶á—o£ø±£‰øÍƒUÐºŽ–êã)xà¤e¿fû“?'0ãZòï¿>¹™//Â6îìiøž¹™ší3ÈýãŸI”VQ÷ÐmD,¯ìÎ IDATB%ýÖ%+ ˜º½}²$8ȵÛȱÛHO´´%‘âFÝðÍžïöq’u6¥gýTùE¾xýõ~Ê4 ÿK/@ @ 8Ð <<õºë°¤§¸Lgz:§^{-áûîëcJ¦Cl'[/ÿé«|`IÂ0ë òû(jÃÅ—{p û G6ò= 9)é5”ón \£ •Í&eN ZÇf¸³ý_Nü×ËÎø7¿¾l Íß_ˆ¦¾Ñuô½KÙ|Þµd5ÒJ0^zçþk$o]ø["ý+ÛDglZ‹ñ×§ã]DžÿsÆüöÿ±óû¿Dß«‹Aw„0XÑ¡Ùä$¦ø†Õ!:@ Áp±wçN2 ö»RÂa‚ªÊ®h™6†FIbŸd¯»öCônÂCƒÅB«ª²#i;o6#™Í8óó1X,X\.N'©))¢C«Ó‰{Ò$²§Oï×nGr2Í{öàLK£¥®Žú; ´´€,òx™4o.)í¡™[ÒÒ¨Þ°á ; G{,åÓ§wîÞœÌó ÿJÜì"/+[‚uèu+Qj›÷2zòfÌêZ9³âó,yý]ÊòÊqÚi!Ý•F}e=-ýˆ¹óç"Ém=_ZZʆ ؼy3åååb ¾q˜{‰FjiÁ–’rXí0~?îobÍζ‘#q›5B‘8Íjv±¶²O\Æ™šÎäÑ#™ð-•"šFâœ7‹§ Õ¤A°íXÒ‚Ø].´Ñ30;špœz*öd'Ú˜˜ßø% €a-ÍëT’~ø#’sS€Ⱥt%¾¶õ[W¯XÒ¸snû—øQ38ÐwRÔð36>ÿš©ˆ}Æñgàv9Ú@ر^ˆP›V¦@ @ |#€ð0|dw›ëëTäÛCû®sŸøL5¡fÔwQ?ûxrN.&úéçÄã!žôDãJf–±m&çzy" sVr"¹Zˆx£¤š%*ÃQöê`5&0ß™ÈQ&¹çÆÁä2JÇÇØô«'°lŠ-ƒ¾ò"+;7…ª€Ÿ¥a/`5Ûù^’ƒl-Äß½dM1Œ6®pXêPîJæhÂüÝÁ(«TÄ4@&Ûjç4‡\Yc—ßË+!_è1^ª¯£2hâ´”df¥¡õ¦:è¨*úÞ (ÜL8ÿ ¦Ÿ[Œïñ-$*~þîWI ÆU¦Ä$6:¹"ÑDà‹zy&læB—•}KN‘XçñXŒh0H°µ•Ö={ðÔÔÐRY‰j2‘Q^NfAYEE$ed0fÖ¬å8SSi¬®Æ=²mn0›±æçܼ»<ô˜AU¥9GÎË#kæLRÇëÕΌ™_}•¨¦1á˜c((/'®(ìÞ²“P$ˆ-Á~PõGã1ö¶Ô32$§Î_Ð!TÚGUU¯½ø*vÙFÙ¨Òƒ¾ÎH,  s·{Áh4’‘‘ÁŽ;„ðP €Ñ¡ÁjíStPttË_™ðPQûWó©ÚÀ¤K§á«¯æóÍõÄÜ£˜]žŽCE•Áh@2'R–—I’IF’’)ÈO£òK/uÁ,vù0Øáhÿ^(¢ŠÚtzLCC"× G5bq ât9Ö–âŠÖ鳎׉è:š®‹ªפ+2š®£Ä4²†®C<¦‘ºÖ5¸ë!!SÒñ¤N¿>?›ík>$3ýL:;ªÔMEÑKûu'×Úw;ý+ìö û„}Â>aŸ°OØ'ìö}Uö ¾"4íð—©ë KxâijFvd1ê;×óƒù*Æ6¡jÚ~¯ˆº¶¿<½SùšŽ1£„tィçü¯7õæG8î·§²çê—!Þ­NïÔß=†í»¸qã/Øûüc¼òÐs¼Sç,‡•4CáûŸæóˆ}çZžd SÒ°GT]Çœ‰ñ×âûy|ÖxÁ}öé:†$ÚãßÇ{õ^¤ü°þñ.¹;Ì—7¼CÊ ¨Zû8Î+VÓ|éc¸CÃÔŽûÚ¨s{¡¡Ô×#YR±5ˆ‘­¿ý,üR†ÄIX|{ÝÆ(Þ3G!½ø ºÒ©®ny¬ŽÉ:êéVo$„1Ét÷Åx#ö³‡˜zåDbÿïsÐ5VLüçÿ¾Ó ×kϯfãþõ¹üü|víÚuÐe}±â ¦NŸ*U @ ‡O}= vû°–©©*J,Ö§ðP×uTE!òxˆ+ !Ÿh(DÅgŸ±õå—q8d™$£‘tY&S’ð——3vÁ‚Žr a¿k·ÍIiiTWT ÆãŒmòÔÑ£iÙ°aHÂCªÒ¬(XG&Î\……½zs z½ÔnßN4Döx(LK£ }ñÑdbúñsXòòbF|¨âV¿‡°娓fS:¦«¨p_hå÷^—òA†VîN8ÁõrÜ©ó()ïZÏÚµkñy}̘1C Á7’ ã&°ný:²3rØS_=à|j8<èº|­>œÉÎÇ%aŸ°ïÐÙ7°ù‘à0sÂCß 'à|ï½ÿ¨LMK>3þ¹}Ëzñ]Kh¾ù*ø¸±M`¨·‡Öº õ±ášß~Ëö(Ð@äõõH¿* ¯ç}¨¯^HpþËŽ;—”+¯åêÏCóËwòêï^ย3˜áaLsÿÁi‡Ktx¸‰ûù¼Â‹9·˜¹%Ž.ÞðL‰n íÍlØÚ€µ8—`ÇöfbI#ɰР½ƒ&e i3lìúçc4§ÿ”$ËFêÿõ:‘hþ0ý¢¨¤æÍsت^ƸcF£ka¢uÿ¤f›Ç”é$È¢ @  ýàbßjDHZwAÒ@BGw²õ’óH_†ëÿiú:Þþp'hFlíÉ$@ëFXß/®ëRÖ¾ãJ  ½K’.DQ?JèíEÈó~Žé¾[YPµ™Øú"lÊj<1\z·¹¾ÞK]]Žu?¯®© ®Ž%9Ñ ztAúllßt«7¦ÅÙO¡ê”BF¯ùZD'Ú%3Ù…éõf2ÏœÌûŸœÎñÛžÃØ u5©[#C§6ǪêÔÆu²õîíÑ^~»]Gv¤RT½ eMqbùk q!^ˆ‡––jjjhnnF?À³B’$RRRÈÉÉ!99Y4œ@ @ øÆ’YXHÑÔ©èí^ ·¿ñá5k0ÒCÕ4tIBÓõ>—f&i³f!ÍfZëê¨ýßÿÈŠD0È2fÀ ˤÊ2fIjÛÁÝ>WÞª(Œ™5«Ãs`kUÞ¾6•66nnÆÚ>OvºÝxHéEèJK£¹¶¶Cx˜àr‘PTD´º‹t`½J\× i-Š‚û´š&Ü™™Ì*uã"¶Á#%“xáŸÈáÔüîdªäQ$Í9[ó–á)_Î#kÞýD—Ýņ—þˆ¢!Õ–’>ù!ÆŽ-Á z@ @ ösÂÃ.ùº—1ÁœêA}⤙sÒU²ìõo1è` 4k*‰š†®ÆÙ׿/ŸÞ©°‰Û‰«1þQI3›É7Êu?»ß^DýÅg2ßmG µ"'–QkW‰4I”tö(©&ŽÎ‚ÇÞDíÿ‡Ô8>MCW>q—p -hÞè`n7¨IS‘• l$[–†Ö7z›·ÃÏWmÞÌîšr°~fRU¢> íó.Gz:ujï`¬þ={:„‡ v;5žÞ£E8’“©Ý¹³Ë1Wq1ÁÊJ,ÆÞƒ˜†4 o³å ï%®ÐØÚHþèfÎ=KÂþ²"‘Kß_JAaeeeŒ;–U«VQYYI^^žHÁp?›6£$ÉDÃ^Ì ýÇZÿêD‡RKÆpQ (ª¡ÏDz%‘òñ£)Œ¤‡Pþ&"º„ÒÇ/évìrJ~¿Ï4û>‡£íŠþ„<’¯XHò éÈ~yž×Š­g]²Ñq,'KAt%›–~@Ê1דهJÔú#ŽºâGûí@ ‚o )ïŠæ$Ôü ߺŠÎäâ;¿ƒã£×ÄÑtHð¶bNËn§7FNdAËfhŽ ­o$9#NäûZÛ§ÔQ´eϹâ!”Ê6/‹ÙHŠÑH}¿×Á=ŸáÙt=ÙÅo\×Ú£­zä©|Ã’ïrâ+_rRd'ñeHŠ“®£wK›h4`7ê:úÔßqËåDÎûJ½jG*E‡@¯¢CÁ‘EMM ÅÅÅX,4­ÿµ,‹ÅBqq1UUUBx(@ ¾‘(±Æn¡‡•@“4H'[ñx—²,#&›± DZZ:„‡6§“Hk;VY&P]Mú„ @›ðP×uâŠÒã:ÌV+ƒÏ‡ÍÙÊ4¹´”­o¿MJ'Û¢ºN Ç£ª$””1e ©cÇbì%¤tÛz@Œ=›6±ýÿCßµ‹l‹…B»½ã¼C–iܸßîÝ8G ³¸Wy9[^{é×\ƒ$ËH’ÄÔysxîÁ'zcŠB³¯³3Ï<‰¼¢ünÍgíšµ¼ùÊäeŒ¢<¯lH÷A8¦ÁÓȤ£'1ý˜]Îy<-\D<#ÝÞqÜd21iÒ$>ÿüs©©©b@ ÃÈA “œv<ºq ¾b,Ó5w ²ð¬ @ ½¢¤ððY·›Ûzù@eJreºA"Ô.BÔ¿XHü¹c™óÔ“„¾{9±ªåh÷¾FÆ­/ó‡ß ö bŸÖbPìŒ4è(²‘LÙ€[¢c×n0’(1uÙµcС ï Êþõ;ÎwJÛ‹úéûDv%‘­€åš_"ß|—,ý—@ÿø>ü?[ƒÚK]r§cAtóH&ܶ˜ íÝòä„þ²mŸ!_<…ôåÜûévÎ |Nè»—mÒ‡Ö7{ß!05ÿÀe¬½ÿ¹Ý**ZêHzã= Ážá…zäQöûã9ÄþØKÝÒªï\ïö«ïÅ7[Œ±#çÈøjj[}~¿‡ÄD!~ ”––¢ªß@KK‹h<@ @ð$ bî&°;á¡$IhªŠlh‹£(Ë2’Á€ªëú)Ë$IDš›¡Ý õÂÃY¦±ººË1[b"!¯g/·”¬,|ÍÍÂCgn.jJ A¿Ÿˆª¶‰ ‹ŠH.-edy9Ž}‡)´´°sÅ jV­"±¹™“ »ÍÖkÚ4“‰]ï½Ç„+¯ìhѧœÂ§þ3 ëÖ‘1i®ÔTÆM@menw­~a"Œ1Žñ“Çc2wTz<Þxõ «—?[‚mH÷€'à%J”SÏY@N^N—s;wîä¿ÿy… G:Ž«?ùgR"%åmáž- S¦LaåÊ•Lœ8QlÚ†ˆIÒPô6¡ÖA =^¿hI@ @ Žt´oŒÕÕaÎj[<¼mõêŽãÿÕÖö_fý‚Ç.évÐCü¾ÓñܷﳂöÚ­ø_»µ÷2šá?zQ×KyïÇxßë=¹^õá«ß!|³ôÝKˆ\µ„H÷ž¿ã?æï]mít¬@ƒÀ&vþàb²¶F{/ܳ–È•Çö,{˜úf0´:G“99ˆvãvdMlý¶s8E‡€ƒ¶=N´Š™#UKyò‘gù°¢‰HòÑ\{÷ Ÿe -æÇ¥h@ ‡¸¢ wóL¨…Bƒ.Çhñx‡ð@2™ÐÚÏ‹$jhØ_–É„1- Âá^ÓÆêêÚêj·Ûêtöû{:’“ÙSQAfþþ ¨©ãÇÓZ]Mê˜1äŽ5-­ïö‰Å¨ß±ƒÊ+hþâ F˜LŒ3›1YõÀ!Ë4mÚ„·²’¤ö0Äiyy$˶ŋqƒÑl`Úüy¼øèß„4z›(›PÆÔ™Óz„UX½j5ð1)f×½ªšJ“§ {ŠƒÓÎ8 Gâþ¨¬º®³ê‹U,yã=ò2ópÚÚÎ¥9ÓøxÉÇØFæŒÀn·3~üx6lØÀĉq8b` É>Ñ! @x(LèªÂˆ´lj÷ˆÖ@ àëÄ <Ænº ã]w!·‹»£Õֻ馃ßüõmÃNm9œ×~HÚQÆ=ïÇŒ ¼E`gMC@ ø:¢ R4|@ªZŸüíï¬pœÅ­›»q7ë-¤~émÜüZ)7Þu1%VÑgÁ·~H Áá'bê¢X×4”–HHô/=‡vAžd0€,×õ~½'š'Oó’$áÈÊ"¼cÖ^ò‚{÷’˜ €Ã墾²’ŒüžÑ-ìII´Ö× ‡;<;ž~úgeªŠ§¡ªU«Ø»nÖÆF2M&Š)¨K3™¨\²¤‹×ÃòOäÓ?ÿ™ÚåËÉÝîÂj·3í¸cY·êKθø Ò³2z”U__Ïÿ}@S€œôì!{9Tâ 55-aöü9]¼*ÆãqÞ{û]Ö¯\OñÈB¬–ýuYÌ\º“w_{‡³.>›$W)))äççóå—_2iÒ$¬V1™‚Ýn' öz®_á¡®*ƒÚœ6B¾h}@ @ ¾J!nSÞïôé¢Íújï…ðPE{å{ø^Ý&جƒ& >Ÿ+-Ocý óYmV¡𷲭«ªªØº}G¿éJŠ ÉÍÍí{$Òãá…‡J˜Ö‰ì§QžžŒ!=Y @ @ðµBQäNÂÃx8ܯ‡Â^‘$â‘&»ƒÁ€d42“,é$<pddغ«±§ôÆf0૪êÚ]."ðÒh0i®«#«=”s_„|>¼4ìÞͺ^`¼ÝÎ8“ ãAŠèì²Lc7¯‡éùù$Kå5eJG{ŽC<"ÅÝu^é÷ûùp釬]±†ÒÜFæŽrŸû‚>Bj˜£Ž›ÉÄ©»œóz¼üõñ¿bQMŒ-ÓûÚ„ÅF\Uyõ?ÿåìKÎÁÞ~ #GŽ$ ±iÓ&¦L™"—à‰ÏïÇÙÉ;èPéKtCµÜ!_UW1HÑ£@ @ |UèÂåÝP1ÈF²$™T"G¼ðP èÉÁˆƒØd+a¾ÂÃÜÜ\ªöìaÓ¦Š>Ó”––PtÃèñ0²ß|#ÿÜ®ÀÖ«9óHœ|=Ü6›dÏF?ý/}¸•ÕLæ¤Ó¹ì‡ç33;µêuî¸w%#ÆYÙøþgìK$ŽšÍE×^Í©E°ñ¯×sËë5è¬åúóÿ åüðÞ[˜Pù Ÿ]Ì—õ1HÅñ?º‘«çgcÃP ‚Aþ€‹ñÖ‹Õ<“”Åã'ÙHêøÒWx÷¥ÝÜpñÈE©”›;N°ó‹jnÜ’ÈŸÎO&¿7ÀJS+×¾àgö99\& ›¹J³‡ë^ð1ëìá-W ö¡* ÖNžübÀA %]G‹Ç;>ŒF$ƒáÀ›¹Ú1JJSº¦!Ém^ mÉÉú˜¿%È2þÝ»aæL Í“` ¹™h(„ÅÖÓ`ÞØ±ìX³¦‡ðP×u­­4lÛ†·±«ÛÓífììÙ„êê°®];dáOšÉÄ®wßeâ~ÔÖN’ĸ øèO¢nåJrçÎÀd±œ‘AíÎä–•¡( kV¯á­ÿ¾EnZ6Sˆ.ä‹« Mžngž~V‡·Â}lÛ¶7_yƒtk*©®Ô–•hK$æmæíWsÚY§cIh›³eËÖ®]ËĉÅ|£°mxøêë÷ùc6Xˆ©Ñ.ÇœIF|Þx¿…$F‹L<ÚóA«¨ý ôªQª IDAT¨ÚÀ\ö$hd]E ÕÞ(Šd"9}“J2H5K„ê·ðîz±î™d;c§Žf´S>äö„£ý/(Fè']d½‰–»ÐRO%ûÊrš¾Mâ/Ç=*aÐåÅâ’$õ_ï@íætÂ>aŸ°OØ'ìö û„}Â>aŸ°ïëaŸà+BˆÛ†ÎÖ§ñõ´èÁׂd§“VŸoØÊKOJ¡ÁÛ2¨<Í–ouÌj©Ô›ø°´´„9ÇÎê·Œaóx˜PÄw߇å–;YyümÜqrvÛ‚p¬Š×ÿ|/r*×üåVJMu|üÌ}úˆðöí¤–Ƥoì>Ž?ž]+Wâ2íáo—eš**ðì܉«]øèÎÉ!÷ä“q••uI›‘—Çú?$‚Ä{ï,!P˜P8«eèa‹cñ{k˜zÌT¦Ì˜ŠÁØUW´ìãe,}ë}JsKI´ ,¤´;ÉM}}=½ÿóO™$KíóóR¾üòKÖ¯_ϸqãÄ |cÇ»zVuÈÁS[=låkQ;í0í÷éÓ]t Ht¸xb:“a`‹gÑNyY³¾Š–äQœ8ɉUñS±±’å2ó'¸IQĹ#ö=È Hj­ë¶°ÓžI±KÇ$©‡Ô¾}X-ùbÔúM§7®&T©¿}—‘c“‘d™ôÇ/:èò4 dyøìîtÂ>aŸ°OØ'ìö û„}Â>aŸ°ïH±op" ÁaBˆÛDß¾U UtØÒâ%%e¿7~E‡’ºðjÓÞć¶}_Þã¡>ˆgJhÇRÞÝ•Á¿?‹)#Ì€““.ýk½ˆÅÎdt6`NeÌQ3m\L=¶€çŸ­Æì^ÞïÈ N’L ­ øã£ÈÍÄ ¹â^ààÈÌI$ûSË›5&Œl››·Ôû©uº8› ŸîV8/Â…6Aâ2é³M$ˆÆß@b‘†N¡–£>FiðsQƒ$¡wòx( È µ `i·¼Oxèp»ñ( ;)9KZÉÅŤ8äææbu»»äOt»©ÙºµWá!@‚ÍÆ†eËÐT•ÿÏÞ}Ç×U×s÷^¹YÍNÓ¤{ÓEÙˆ « EQP”Ÿë'8âADÅ=A†€lPvé tÒÒ‘4M³or“›»ï9÷÷GÒ4i³:hƒ|žG{ÏøÜ3nrÏ}ŸÏ×åóa5™0ïÜÉ´¾a‚ëÛÚ読Å[Y @þĉlöz!™<ìmì7©{î¹þ®‡“-¢¹¶w~~ÿgÏD4ÊžÆ&Ö=ó"UÓpûLkµöp;)%Íù—,£°hðPÍÑž(¿÷>Â-]Ìž4 ƒzpý.óüyìÚRËË–—9á´úŸ6m/¾ø"õõõ£ŽL Äx•Hd°Z‡ÿ%t¨šè©á‡SÎ h…ˆÅbØ÷ëØzP±g‡ËA4}Ïmädw'Mš“å9x͘½T—{¨ÝÔIg*€kÐ_àõu¼ò±d–û{캩¶å—¼sÍÝÄ5ˆ]wÝgý‘ªÓ¶Q{ý¸¿y+ùeòqC!„B!ÞWtéF)ûFˆ¡uuGñ¸ƒ:H¥R˜Í#´©é Z\6’‘¸lÔ†&t¸×Át=T²ÓGª§•¨9—"ï¾}«:s)vëlꌑ)bF#*Ùa¿SƒK¸ò&ûÛ½|ãÒ[.^Î'>qóòd e!„âP˜<6–ºC<»+Å'&X±¢±sGûD4'y}KŒ¦¹Ê jéa·ÙÎÇ|½¤{bÜ÷L wmK‘4š9ii_™gïu/•à¾û·óÛŒ&Ž›äªE.JÍ@V§öív~ñR˜7»²`¶pæ©…|u†ëHËíÜ;Ôr!5ëvsÕšYb|ö–˜m|éÒbγƇœ×¯Ê¾BŒ.“JaðÙ4ÝÓC6›EÏfQ"€hT´}aFÞn…é¾›º4 ©ëhôŽó’ÔuÒÙ,¸\ƒ:&Ú<òO=•™§†É9z>»ËE¬«kØç+æÌ¡»µ•ªùóûkk®¬$µgfEÁk2ѲvmðÐl³á›2…ŽU«z;"ʶ:3â9eeƒ†’vùýÔ®_O,`ÇÆìª­¥jÖ,Â)³rømm©$ÍíMLœVÅ’SŽÇfÜ9ñ­ïðÄ?ÿ…×졦dÒ!¯ÇípóæÊ5L™1…œÜœþÏÒ‹/楗^Âëõâv»ådïøýþC‡#ÑTCßõé‘B‡í¡Pï{ØÃİö®ÎN<>ß :ÔСÏi§³'vÌ6¶5§ŒóN„tÿµ:d,EFµ`ÚïY-ÚÎÆ=i 'ç“ÿlým¨ù57å±åú'ðõ ³»·É'„B!„ïSYéª'ûFˆaì:ʈ¡Ã$t8´ã/&/˜KUÕă~PU•Lfô‘gŒF#Ùlå ¾l39‚ØS›i§˜ß>Ô£m쉨xýޱ߭>è}LÅ^¼‹¿± »¶ñüí7qËO’üàǽC1 !„â ÍÌ©2qß¶{޳R™Iòz«Âì™*Œ.rVõ°®ËK™_gÇö$¦"/¥V “äáG›xÊ“Ão¾à$'ÒÍͶð_1_óF'œRÈeåFôŽîx²…«c ¿ù O¨‹Ÿ¿ÐCîÒ™lFíŽójS†ˆfÆša¹þ½E˜uZ9÷åï7Ôr&Éý÷=ï7«ŒHöP1šL:=¨ã¡ÙíF«¬dwS 1øýþÚßp„nŠ?àg¸Ðáá8–¡Ã!)EÚY»3†}ƒ®fhoh¦ÓšÇœ3ò¶"„B!„â=OÂm²o„8ºۺp=²!Æè`C‡@€p8ŒßïÇétŽøåG6›%•JÑÙÙI`¿!¼Fâ¨<™ÓK^à¡??BÙç>È$s3¯Ü}7ëÇó­i~”ÎÑ– bq{PÂ;ÙÙÒ…7±‹ætMíyÌš_ŽWuàØa[IMŽ!„âÐ(•9¼e]—üD”·±òyŸŠÙ`g‰£“—Ò|ÈžaE3L>É‚ˆ¶tóT•OŸí¡Æ¸Ü\Pæ–­IºªÂ39V =|æ¤8Ÿº‹u''™ xYB]iº4 9ÎîËgD÷ ¿ÜîE#¿’kª2â“-„E&•Â0 X—3m9Ó¦0®i ë¨&™½Ãkö Ík´ìëÊ® x+*¨Z¾üÐß­U•L:=(,˜ŒÅˆvvnj¢'B±ZÉf³¸srÈ--¥'ÆÙ7\ó@V‡ú†3¶ö…“'³í¹çð s8Lwm-þêêÞç‹‹Iæä@tlÄ¢ºNg&CvÂò;Žü¹s1Ú¼[,™HP¿y3»·n¥pâDŒ¹y”•õ??iJ5ëÖ¬#â°9j›Å“qZ:Z)©*eáÒ…øs¨:Büé÷·bUlÌž4ë°Ž®ž.¢Z” >v!yyƒž[¿~=«W¯æÜsÏÅårɉ&ÞSl©ñ7 ‡ÚÚ sÆ4¯®ê¨úØoýˆE£ØCŸçýïÌ› -ž>¤£ful&'Ñ̾€aN^ í-õìܹ‹ŠŠÒq²Ù³¤ºZy}mž"N®p20w˜MDØÙ¦áŸèÃcƒT!„B!Ä{›Åã¡'‘À©Jÿˆqé}<Œe³Ø‚AÙïÿ$tøî***bëÖ­hš6¦Ž Ùl–ÎÎNjjjâDúÚÿ¡ßq·|áš™ÂyçsÕ·/bº 2£/Â;ù\Ξt·_u)¿³Oãò«±ýßðÛ[R€Š§| ýïÅLqÊ>â¿KB6G‘Õç`‘½‹Wö$™Ô'“ Ì `b^¥Ç·%¨ó%Ù [¹<·÷ËÍdPSSƒo¸‘lÌe,»é6–í÷°Ñ?ƒe_ÿ˾~à,Æ’søéíç zÌ;ÿjn?àGççVÎ8Ñâsø?Ù…Bü—³Ê&âh2›YP®òôæÏftŠXèýY¥¸Ì‰sc7ÏmÖHüLêû>Øh6âö¹ùê%,Ýï€tûwD#):u~sï Î'Ÿ<ÏÉÇb ž|¡‘=’å¦Kr(i¹¡ð0ŸyF¯I!F£kYýÝÉo˜m6²Ã\ŸÑud4J2#ï꓉¶úzRñ8í{ö`¶ZÑÂa, äšL * r«‹F‰‡BØúºÔ;ý~BÃÖäÉÉa÷–-ýÁCÕhÄ=q"ѵkq ¸ BÛ¶‘‰Çû;–/XÀ›/¾Hþ~ËJê:a]'îpàž<™iÇk„!×›ŒÅhܱƒx$‚Ýí¦röllÂF999ÔÖÖÒÔÔDAAE¥Eä—ÐîÆm9è”L'iíj£fF óÏǶ_—ÅÎŽN~ðaÂT–c5úßÉt’–Ž¦ÌÆ¢¥‹0™÷u£ŒÇã¬ZµŠ`0ÈäÉ“Éf³lذ72mˆ.šBŒgÝøÝƒ¯í &’ ¬–‘Ï£`nm­íƒÛ?t¸?ƒMA‹ï{ß4É´7t8i¬ã?›º°–Tpz•ûß·dè ÅÐ…ø-2ȲB!„Bˆ÷¾ùW_j2ñäí·£%¤;Íxs×ûhŸl6fýëÌü¤£É{\0C[¨}øç÷ :=ù²ÑßïÇï—§B!TJ+ØVwðˆÅÉ÷óŒìýÓæ·3ßÔÁ_ßR˜ÿ!+¾'\ynN¶6ðÛ:qïf²K!Üe‹fc Ð4vµ¦{Ld:"üù?ô’|æ¸b¡Ï5™WiÁ¯¨\*J“FBe¹öÁU[mF”X‚mݾT’N§‹“­{†œ÷øb#&ÙÑBˆ‘d³L&ž»ûn‚EEd³YTƒîúzÈf1Ùl˜m6LV+F‹ոイ°/¼h2¡ (ŠB&fç[oÞ¹“d4J:#“ììDM§1 X‹¢³XXðÕ¯âËÏÇj·Ó\[‹Ëï'¹{7¡ h:~ã0ïÜÙo~>Ù‚˜…¨¦Êd0–—“?w.y3gb¦cY´«‹¦ÚZR±yee×Ô 6z I“&±aÂÁ ƾ׻ä¤%r^ê¿Û¸æöV:uÀbã£çÛX ˜­*¡·8÷ñ YÕÈÔiA~x’“<âºÆ›¯7qÓã½³{s]|üƒfXAaäåä›àã‚F~sÇv;_»¬hØyO”],„…j4R6}:N¿ŸŠ3úíú뙉Ô44EAËfIê: öý¼¿¸®c_°OU&› ‡×‹ÍjE_µŠJ‹“Ò±Ùzÿ °#‘Àí÷£ö…ò,Éx[ @f„kVE!¼s'ó{Cpƾàc:•Â4ÌÐÈ·›îP~ïÍ|¾‰©u8 Ý;’©Ûh¤yÍšþࡪªäNŸÎÎgžÁ‘“ƒ«ªŠ)‹á*)rùº®nk£¥®tüòr|ù£ß8èñxp»Ü444PVV@0/HYU¡Ý!¼NÏ é;»;IdúÂéÌœ;kPçA€öövºÿ!"mÝLœP‰Åd9¬c%ÔÝA’Ë?¹œ¼‚Á¯gë–­<öðcºòéj ³âå×Y¸tQï>1™3g+V¬Àår åÄï •¥Ù±kûAÍÓè Oyž½¡Ã¡¼‚‡á¦vZÓÙº-™¿ä8ºç85;Fƒ‰x2Nc[•S*XrÒR\× e¤ÓiV¾±’W^x™"ßŠÊ ëøH§Ó´uµ,Îå´Žc@wG]×yíÕ×xîñg©)­Áa³c³ÚXõòJìN3f÷†Y- óæÍcåʕ̙3Ç#'ž×JJË:tx¤ù}ù]V#‘ÄÑä&­Fÿå¡«cû%3ât<•3¸¨²w:ƒªQ `ð1g±Œ¦¢ë>ìõütñ¤>ê4ÉteºÜåÜ|“Ò»ÌÜåÿrùëËòREQF_ïXë;ÂÓI}RŸÔ'õI}RŸÔ'õI}RŸÔ÷Þ¨O!ıau¹G&ÒÓË9òtv³X*>豇öhgÿÏÅÅåìÞ]+¡C!„B!„GL*™Ä0 `¨¥Ód“I°Zj9J6‹–Þ—Q…¬¢0–±,ªJ¢£cPð0bñxÈ:ýÝ÷guudâqŒ}]Ý~?Ñ®®aƒ‡N¿Ÿú­[ÑuUíÍ›jjè~çº5$ijÂ_U€ËïÇ’“C¶oz¥ï¿Ùl–žp˜–]»HÅb¸&Í‹u˜¡—Gãt:ÉËÏ£®¶ŽªI½ëöú¼Ô̘ÂÛk6£Î€‹³/>›ÒвæßU·‹üýÒ 5EÕ˜ ¦Ã:6âÉ8mÝíÌ^8‡y ça0îË"% ûçcÔnÚÁ̪ ½ÇÑ`¤0§€ÿy ÀOQI‡ƒ3f°nÝ:æÌ™ƒÓ锓OŒ[õ»êjú@ Àî†=Øm½ï›áp7^¯û°jèèlÆ8Rè0˜—K[K뻲Lm\N—Í‚¢›úl–±õ£>®ƒªJ}RŸÔ'õI}RŸÔ'õI}RŸÔ'õ6ÝØ> !„8ºì¦»?¨fzjß—"£…B‡À Ð!Àîݵýÿ¯X!›í/„Bq(–þtëûâu¾|uµìl!Ĩ2©†µxÃ( ‡¢*Ê à!€j2éªæÞŽ‡{™m6R‰Šªb Л›îJªMUénhè ÚœNÚ÷ìv]F“ ‹ÍF4ÆÕ7‚ApÚ4jŸ~­¼œÜY³¨©ªÂìüYÞéõövRÌË#“Jjj¢}Ï y¥¥cNy,ÊÊÊXµr%¥%X,½Ã#Ï]0—–Æ&j¦NfÒ”êA@€H$ÂsÏ<ÇúUë¨.©Æípv¡î’Ù$ OZĬy³=×ÖÖÆÝ¾ sÆÂäòÉÌk6YðÙ|<ýϧ¸ðãÆëëíü(--å­·Þbþüùý¯Oˆ÷ª¼€ lfZBØmVÜ.'Ý‘žB‡53*ز~çA/Øž³f“Ö:ìŒÇñí7~}ÿ|:‹Ñ¤ÈžB!„B!„bœH¦3XLFB-­òì 00tøn‘СB!Ä¡“@žBì£e2ØtŸKõô ÂrT ™L~ÌhÓˆ˜FU%ÙÕµïg“ ]ë,š=’ØÔ¡«²©*Ý»võí™ôÈku4×Öö­>K¯½¶¿“áPòÊÊx{Å <Á ©D—ÏGõ¼yÍæ#º?l6EÅEl{gÓ¦OÀbµ°ì£0m:æ­7ײâåx-æOžwØëO¦“´…ÛÉ+Éç´6hhe€uo­ãñG§È7Ð7ìr¬+-Ã#÷=ÌE—.Çáì]Nii)‰D‚Õ«W³dÉ9Ÿd´šÈ$F÷j E˜;q"-„èŽô 9Ý¡„÷¾¯¢1¶{*½/}<\è°÷ÍTB‡B!„B!„BŒ'–¾.‡¼\ÒñG<)f8§½º{â²…B!„BŒ º¦ êx˜ŠF1BÇCÐ3ƒ?#«Ùìèƒ-›€D8<è1£ÅB:•ÂŒ^´©*‘††}u( F“‰X$2ìâ¡Ã½JKKÙ¸i#ÍÍÍC>ŸÍfÙU·‹_ýüW¼üôËºó ¸‡½Þhû,F‹……çG~EÞ`ð]ß'ƒ)S¦°nݺžëuð·{þƽ·ÿ• ®jJ«±Y쇵¾´–¦9ÔL8ÙŲK–1wÁ\uß1‰D¸í·±iÕFfVÍÀnûúžáæN^~áåA/]º£ÑÈ+¯¼"'¡xϰX Gd9Æ1f–GûvÇzd/ !„B!„Bñ.é…‡|¼bbEÿÿwt¶á÷¹/"ZB]²á…B!„B¼+´L『‡éžžC Tm¿à¡ªªè†Ñƒ:*joô˜Åf#LbõûÉ Ó51Ä5D(D<ÂèíúçÎÉaûÚµVV»Î`q1áÖVlååh™ =á0»Ö®eÏš5d±«*¥øÕgµïóy]ñhÛ~ÿf̘ÁÊ•+ill¤°°x<Ζ··ðïgžÇmt3sâŒ#²žX"F8ÑÅäÙ“™¿ä8̺8f³YV­\ÅÓ=IeA%®¢ ‡´Ž\_.›ÖlÄëó0wAïpЊ¢°téRþùϲmÛ6ªú†Êâ¿Q*Ã|áDBÁjÍ<,/¯¡¶vËÍJGÚyóí&v…“¤þ¼|æÕä4÷þ2ÊD;X·yÛ;’d r'r\UÏQfXrèî IDATƉ=ôY¶ý£ç%7Rö¡Éd4k!„B!„BqÉСB!„BñnʤӃƒ‡Ñ(¦CXŽÐ’ÉA©ªŠj·C:=ú¢QÒ==˜œ½#}šm6±þ¼<âºN\×If³½ÿ4 ÍáÀ”›‹#?Ÿª °úö ýëÏË#ÔÔ4âêŠkjXÿâ‹t··“N¥°»\$êê(…8¤tÖwÞÁCo0HW[ÛQ ,Z¸ˆW_y•)S¦ÐÞÞNEe.¿ˆ'8ü!Š5]£=ÜŽÁnäÌ ÎbBñàPa"‘à_>ζۨ.ªÆf±òº¢ñ(6§œýºE:¦OŸÎ‹/¾Hnn.Œø Ƈpg'^Ÿïˆ-Ïl±“L&QT³iôwؽÙïþX]$Áår`3Û+tf°9ŒãfcgS]¬]×@»¯”ÌrcKGز©ŽW69mfW6ÆÖõì¶râñ¹8Ólذ‹W NŸä<¤_X‡Î†}ÙL.¾íù+=K„¼o !„B!„B!„B!„âýHËdPt%Ì$ŽÐP˪Á&Ó˜‚‡&  õn7¡ÆF¬>æ²2z¼^l99x °ùý¸KK‡]–j4¢kz&ƒj:_((Àl³‘_^Ž''§wÙ,{¶ôæy̪Jª¾žHC®¢"¼yyl_»–ü²²£²o¦N›Ê¦Í›è‰öpÜ‚ã°ÙzùÅyDº"¸ì®CZn"• ©½‰éóg²àøX¬–AÏ7ìnà¡Ä40µ|Êa½†ÎîN$9÷¢óÈ/Ìï<›Í²uëV:;;Y²d ›6mbþüù˜L&9)Å1WZTIW´ãˆ.Ób|ž¥4³áÀn®&Å –¿g_ðpoè0‘Hv!ã)tìî¤Is2£<¯Y³—êrµ›:éLp‘ 5®’WéÃo1 XýTæ6ñJ8N\wbRrÁŠc^%ý2 <ªœ1B!„B!„âˆÒSiT³ Ý`ƪšI¥{Æ4_~~>ÍÍÍã‘ º¼~"á—7Tè Míè<Ô²žë~)á±*É/¦¾y÷˜§Oe £Ÿäººÿ{þ!M§z+9sIït© €NOOŠ´jÝ@Êà hϲ}wm ÎL˜í­¬¹N º”þîÖ·W4¾oEÙ´=›&M›l7]Ëö=rÓ%S:ŠÊQ_¯Ô'õI}RŸÔ'õI}RŸÔ'õI}ÿ]õ !„?b±v»½÷Ú™–"¥¥Æ<ïP¡C`PèÐá8ÐÑÑACCdG¹@ )**ÂëõʆB!„BŒº¦ f 8}:Ýn7™x-FÏdÈÄãd ´d’l6K:íýÌk4öwTG_çÀ½Lf3‹¡$M&œv;F› ]ÓLš„j±`0™zŠû1Y,$‰1½ŽL:MOG‰xœHg'‰žz:;éjm1xè éliÁ—› €ÙéÄZZJ|çNlªŠÓ` ióf²gÕ_£7/ÎÖÖ£<ôx<¸Ýnêêê(// ¯ ÊÉUt5vâqŽ­ŽH,BW¢›éó¦3oá|LæÁû½±±‘‡xˆL$ÅüÉs«æT:Ic{33›É¢ZW,ã¯ù+‘Žnþ÷+_ÄÐ×m³¢¢‚D"Á¦M›˜5k–œœâ˜Ëĺ0Ú{Ï/³¢’Êü5VÕ8dèp¬ÕÃhTx0¡ÃÞ7ô±MónL—éic}] {a1 (Ø©¨* å­:þóZ]ï/_KK˜•£Wß ßSV%‰žÎ ª¦ËRPÕ±¬óÈM§¨Çf½RŸÔ'õI}RŸÔ'õI}RŸÔ'õýwÕ'„büØ:<9ví±NÙxïÔÕÕ1yòäþ¡®F‹Å¸çÞ{Ù¼uY]ã—?»Y6¢B!„â˜Ëf³.r¦L!gÊ”#²|£ÙŒgúôþ¡ŒzþýB‘º®“ŒF‰G"tîÙC¨¾žÎÝ»éÙ¶ EQ˜ññ¬¨Àå÷ëîfÏŽ#.ßå÷³{ëV²ÙlçÇ@M ‘íÛ±©*&EAon¦«¾oßðʼ<ÞyóMŠªªŽÚ~ª¬¬dÕªUõw\tÂB¼ç!ìš“aøétš–p+Þ\/Ë.XF0/wÐó©TН­à…§žgâ„J</PG 'º9ùC§0mæ´AϵµµñçÛÿŒ³›§{г/<µïxMM k×®eëÖ­TWWË *Ž©½¡CàB‡ =sx5ÍìÊZˆ(½C9› Ú˜æ9²ÓeÉö4³rmaO'WÚq4´Xˆ5ëÉVrF±k¦‹m[êXñ¶Sgq«G§>›eÀŠr'á+ˆÐñÖ&Œó1™öþ"ÕO7¬#7®÷†"öz¥>©Oê“ú¤>©Oê“ú¤>©Oê{¯Õ7¶ÏGB!޾X4…Ýaò¹‚¢\šZG]†„ß[öìÙCUU‹eа\ÃyúÙgÙ¸y n·K6 B!„b\H%“XÎwuYíà¯k&ãq´L†h8Ì®M›ˆ…ôlÙBd×.ôÎNìEÁm4’¯ª˜ÜnÚÓi,š†·¯{¡Ýí&“y“ÙŒÙf#ÚÕ…³¯C½¿ªŠM#Ð×ÉÑk4Ò´zuðÐl³a0‰ttàòûÊ~r:äææRWWGU_àÑðS=m;7î$è:ØÙn'£f˜sü\æ-œ7ägÛÛÿx^‹—Ygöw÷™+عcÇÐ3¤÷ðܯoäï‰SùÜ-W33ÏHWíj^X•`ôžŠ:-/\÷­æê>Æ$‹Îâ†ÛÎËhâÕÛîb¥ó¾Û ÚvÑc;Ä b*äôkoäÊY.´d„=o>į÷3nü„/-ô¿¿oþζòÆw³Ú½Œkn?ûVýë<Ù¹€/ýö<Ê#{ˆø €ŠªêØk.âÛŸŸE‰+CÃKwrÓoŠâ»žË&;äÄû¯'m„BqtÙJúBl£~|Ø{ó•¢:(•H0ï@í¶wë#@K nãðšx"ÑlÜ[—ÓI¨©ißÏ~?éìÈÅ Š‚ÖÒB²»‹»·ƒŸ; §« AÁ°óY2é4©x³­÷QÞÌ™l{å¼}¯Ák0дzuðÐh2as¹·µá Úþ*))aÕªUôôôàìëü8ç¸9l\»Ý­ ˜í&Ÿ¾„)3¦0ogg'OþëIvm­£,¿gàð‡Øîèî ;ÞÍÅ—”Üýn²«¯¯çáFI@¼#NÝŽZÊ*Ë{?#;œÑw%Ëg™yûO_ç;í!Ë[|ý⿃u2—y1+ïxµw¨åRú—îåÖ{žd}K ¬¥œú™«ùÜñ þöÕÜ»= ï|Že¿ל+¹rÚÓüqÅB¾wý‡©°d ½v3ßûG>_ºþRª¢É„²ß—‹™Žu<òû?pß{H™‹Xòñ/ðÙs¦õÞ žjeõÃâöÞ`OÊÊ„šJÔ°~÷ÎäI¾ó×Yô½}CG‡Wý”oÜéåÊŸ~–ò™Ãn/Ù†'¸ö†ãÈéäõµ­P|>?¾ñSLéï¢îáïñ£7Žçû×C‰ ˆ½Í]WËþ›¿¶?ix’üàYf|ûÇ\\i%ÞÄ“wþ™_|‡ÍLþìsøÄÿ\Ìâüvžüþ×ùÓÛ xû3œÿË…~‹> ÖÉWpóÎí]×þR=´GÁîµb”ÓNˆc'ôßýÂu¼Þû€™Âyçñ?Ÿû('ÛPÆSmæB–^ö¾zÁ´cÖä}Mëfë3á÷÷>ÅºÖ XK9ñ£Wðùeóȳôí¯ï=Å)×üSr÷9Yš_ø׬ø?þöü¡×øî~DÝ’køÕÃß÷uftÓí|óN_¼öªcû“ ÃÏ~ñf1e²öA¾õË.½î ÌN0oj”c=ÓÀ£ß½ž•ü!מ”ÛÛ§5]ÏÃßü&ÿœôm~ýÙiô®¾‡u¿ÿwç~‘ŸÔÄu‡º¾!Ï¿^k6E󪇸õ®òâö0:VJœÇ'¯XΉ%öþ¾²‰í÷ó•¯Þ‡éò[¸yY)æáÎ¥O|•¯.›Ú. ?ßûëÓyö[Wóàî;µ¹û6·}·g¾û;º.û!_(\PûUˆñJ5ÐuUí=!T£‘ì(Ý MŠB¢»›½‡ºÕá ‰ šÆâó‘lkâŸó°©*;w’Ó×ÅÑêpIþyÞмkWðP5±—”P·k¾‰)›6 ÿĉƒæq¸\$„#–¢¢"êêêèèèÀï÷÷^3(™À„’ L»uËžú×Sh1м2L&Óa¯¿;ÚM\sê9§1yÚàn™‰D‚Gy”›¶31¿›¥÷¤Õl%£exì²üÒ‹ûƒŠ³fÏ¢©±‰-k6S9¡’t4Í#xÐ4eee¤ÓiÞzë-fÍš%'˜8zf‡Z öuò´Z{¯Gì:t»Ýtwwòzrr´·G‡|ÎØ{áÉL2yð&%t(ñªï’½?’l†Ló6ÒJ£U>q !„B!„BˆñeÿÐá^©T‚Ý»wS\\,iØ$¼âòOpÛŸï"™L²jÍšþçm6+Ÿ½âSxÜnÒéôÈ_´Ù«ùð?BýOoåkŸüSO> —Æœ"*I& .ù,7~¾ŠöSîZZˆÚ¶…•Û:è1Îà#?ù–ïüˆU§^õ,¤ëä?ñoVÖŸME•ôv6¿¸û‚ (1t¨£¥ÓhºŽ±sÅýܵÆÈœ¯UâHí≛Áó¹—ð“;ão{ßÝô[î*¸ž+Ùx÷øå†É|ê§wr\0ÞU÷sËÝ»iߌ´½féH'†s®æŽ¯:ix§à DŸ™ÂÙ‹üë5Ö7ŸII±‘øîÕ¬kƒîÔ jà ð{3´l|ßBæY!UÏ“?ÿ)ÿà,®úí÷©65ñò_~ÆonHã¼áÓœuíÍd¾{=«?ðC®95•0«núw®ä'ŸšÂðc%©éA^MMåSs $x(ı˜Ï÷~ýCN jÄBu¬xø÷üê;¿ sãÿqZ¾‘ØÖ¿ð­[3|æºË™j?6µLÓµíY~ùÓßsçÄøòl÷ÍæOïú'ßþÅ.¹ö°’{xá¡W0Ÿ´Œã ÌCLgÛƒ?â[Ú¹ð˿皩^’u/s×Ïoâ궯ñ³ÿ=ŽÀX×eTéxñî?i2Ÿá:ܺ÷˜ÌUýxÞÞÐhÇz.Óæ»x|õ.ºNÊÅhíï°ª9J(ý{âÓ¨±ñ&ÖÕ™vr>šc}ƃx­Z^ú_ÿm-³/ÿ.÷_+Õ̆ß ”Ò fŸ¢qÝÚ, ¼¾¦³K)5 w.ýŽ»'ÞÀU³Ü#Ï7ÒþrNç‹·=ÁÙ/º÷8Nî8rûUˆqB5Ð5­?x¨( ú¨o{*ñŽŽþŸ­v;ÉÄàï¬>ÉlË˱©*ƒG µº\DÂa\^ï°óyrr¨ß²-“ÁÐ7$ô”‹/EÁh6]³ÙŒÝí&ÜÞŽ7'ç¨nãÂÂBž{î9–/_>äóímí<óÔÓÔo«§$¯—ÿðyf´ mm&äpîÙç÷w%Ü«qO#Ü÷J¦”8|·Óæ¤-ÜÆóO=ÏÏý ªª¢( §Ÿq:ÍM´„[ÉóæÒÔÑÄã=Æ…—|¸ÞÊÊJÖ¬YömÛ¨êîZˆwýOì@;ÔÐáÄòb¶×î6tôþýr0¡Ãú¦†ê‚T[KÛóKèp4qbŠ·± ëé—àôÈB!„B!„ï:?t]G×uòrs¹âòOb±ìûúËfµð™O ¯ÇC&“éŸvøð¡Š³zß¿õNnùú™w=Èõ_¸œ+o~Œm=:ÆÀ N9u.A7O)óÏ8‘¢l -‘̨uªV7SšÎÖV"ž’Ùœ~ê äØL…s9¹¸›¯ï"è­øw½›% ŠÐ6ÝÎÿžw.çžÛ÷ï?eåÞœlº™®»œeçŸÏ…ý4ß¹¿ƒ…W~OÎö ñÚ—x!4‰}ì4&úø«OäC3áí×jéîØÌ“+3,¾ücœ\éÇáÎ¥¬²×!&íFÝ^f?kJñ{ ˜1Áý¾¹4Îfq ×64“!ÎîÕ›01'ØvðF]7h­lz­ïÂyY ¶ãž©ÍãüO]ÀÜB7Î`5g\z3b¯ñäÆP800¢#6}Ñé^÷7~~O=S?z)‹rå&z!Æ Åˆ=g"§\þU®(}‡ûŸÜN°W_Ê/v B‡KSÌx'Ȳvnh"&{ëKÒºn%ëÛ‡þîWo_ýO†9áË_æ£óŠðÚœäM>“«¾y®•÷ñlmrì«òLç#çùxýî'ÙOǺ™‚é3±î^C} KÇö5$¦\Àã&Ö7÷n›tÛ6$ ™^`;ìsk̺6rß}Û™ñåkùò™S)pÙpÊYtÁG8{¢sßt©&Ö¾Ñô\HièU6´dF<—vlh&>Ú|ãa 1ލªŠ> ã»Áj5xhR’]ûò.“ ƒÁ€–Ùw®ÙsrHÒ9Ѫª$öìA0ŸËç#Ö5z–Æéõ ïk9j´X† fÒ½Ÿ¯¶®YC<AK§ú6®¨¨@Ó4ZZZ=Fyâñ'øÅ·lO0µ| .ûá‡{b=4†›)žT²\0(t¨iÏ<õ øõð=”æ• »œ 7HýÖZV½¾jß¾7™øèÇ/!NŒöîTJÊJ8¦ŠŠŠØ±céc°½…8’2}ïOÛkG¿Ùò /‹”ôŽW¯du²Ê¾ô÷'c^PöÄ!±a¿ànf^ [B!„B!„B¼XO¯ßG*•y××,È¡­©]6ú8¦iš¦‘ðóéO^Æý>„ª¨\|чñz<¤ 饎0X?£—ÊÅñÕÅçq骿qãÏîæ7Lâ'—ÓþÆ£Üsïü¾«ïÛlëdNÌŽ¾H5¸„+`ⱿÝË7.½…àâå|âç0/o˜>!Æ|fžRÎÿx…Vâ[ÿ½ÇóÉ ¦OóÛ~úÀy€©Ó¯½‘+g*l¼û{ܸ®œÙÓòû»‘$»›7½ÎŸ>Ìêž—$ÞÝB»æfŠÿ¥uô»‡Û^cid.dÖb?ÿzu=ÍK«X³1KÍ¥K™g~•ÛWÖÎkæÕf‹/Ÿ€÷´5çRäÝ÷¥¤ê̥ح³©3F†ÞõÜ] À_š&ëŸá7¿xÙßâ³'`’ÓMˆñÇXÀ쓊øÛ[iK× ìÐñÐg× wpÓmO²©ÃHé)ÿÃw¿x•Ê.žúÓ/¸ýé­„47ó>u=×\<Gö §­¶,(•èÆÛøæï°g×óÆî">õ³ë8µõA~~ë#¬iÑ ÔœÎåW~š3':QIÓúƽÜôÛ°º%ƒ«¤{1ßùÑÇ)Úqß°œË¿¿œÐï~Ì£Y°³dùçùÊų±l¹ïü± 'ëxm›‘©g_ƹum> IDAT·øÛ}/So›É%W_Íå³}Ä6Žmºá~s¦[^æWß½•=çßÀgi}õ¯C¾¦±®gLÓMíâ¡o}?nJÀÚ‹xÀ2™Ïÿò',/ß÷ÞÙ½†]–Ù\UíT»µt§å=ÉKÛC\4o¬˜‰¢“>ÁÙoàOÏ-âGç›c½¬p&“•;y³1ÎÌê;Wvsò‡9åÕ7yhs+ËÊ ißö&Ñ‚3(÷ÐÛÕð0Öçãl‘ú7ؤÎâg)®ŸnÞÀ«á\>4m¯<ÏK›[ù`QáÐ_ìgUÃ|ãh 1¨Fc‡x“͆>J`и_ðPQì.‰X ‡»·ƒ¯Íï§]×G]¿ÒÝMOs3î¢ÞüË륥¾¾åáxƒAÚ†ì^˜I§é…56’ˆÅ°»\ä—–â9ÊZ¼x1ÿùÏX¾|9š¦±eËêëv±öõµ,˜rÜYG:“¦½«gÀÍÅË/&'8øõF"~ðawîazÙTÌFó¨ËÌñY»b-Á`“*{÷­ÝÆG.½„{ïú+§Ÿñ¦Íœ6hžúúz¶oßÎÂ… ÈpÑBŠææ-L™2eè÷1›…žöN¬Ž‘¯mdbIŒî±E y䃽¡Ã¡ØfâÑ‘»(¦µÑï~ÔtuLµÉé4]EcWè#]_<9ú/ d: ÝéR½/\*õI}RŸÔ'õI}RŸÔ'õI}RŸÔwèÓ !„8:ìN×Q #†]6+‘xBvÈ1”ÍfQU•L&C*•"à÷óµ/]@,:4d³Ù!o2š™àÜpFÕ <IÒ±áNnøÃ.ŽûÌ Ü>=[Û³\wÃkû4̲TìÅ ¹ø ¹°kÏß~·ü$É~ü±ÿgï¼Ã£ªÒ?þ¹3s§g23é ©¤@è½IQD,(kÁŠuuö¶v×ÞPWW×.kÙµb¯(¨¢H¯¡’@ê¤L/÷þþHéÏçyò<™{Ï=ï{Ê=·œï=/¹Ú¶ÓÇ÷Hîßdá†Q¤}_NÜøA$wunGŠ¢ïi—2yåC¼ðÞ@î=¯/QèLv¢’Çñ×n`¤³ù!Jé|,á*v”»!­ðg’!é`²²É®Ú®ÔW‡È$ƒó³Ÿøu¹‹ÕJç¦'’îs–°<±ˆRÇ(§ÔË*eKæàzŠªƒ k*žrŠë4ØtxZ ;è ’ùØÈ–góèïþð…äUÃã/¬$çò總Ÿ™Ý?<Í£ßY1hA#7ϧҨ'tå³\ŸŒ\¶'xƒÏ†õb†l â‹ÐÿoOs}Üf^¼ãß|0úrn{ù꾸Ùï.çø“°w1]rã_¸| Ï=ù3ááIIDv~Ôn™²²?3œMø®g¨:û\ÑÏÚÊ·§šˆ©/¶–š …8»µ@åRî=w*÷¶H3þ„挙L5žïgÏỡ·0¦¥Áùô˜öÏ\9€.ØîÖ±-úºµCRƒ¼µ®”`R5?í±1,+ƒl5‘ºyTL1±mi5±#³p {]<>XWJP߇( À–wnæÿ^. è2OçÉÇgÑÇfϺÅT8Ç’›œDR/Ü@Ù¤d’Û8—^û)Lß“0fWGÇu¥½ºÊ´«@p¸\!µZÔ&A,w°ú{=I¢¶Åª„&«•ÚŠŠFá¡Ñéįvþõ•I£¡¶°°Qxh¶Ùp»\g‹c׿Íû®9Á ÕååT””°ØíÄ¥¦b;< KOOççŸfáÂ…„B!’““9æØÉ„|aêJk‰²ØÈáöº© ¹é?r ÃFC«kþ¹~Ý:¾øô ¢´QôNëÕõ§-­ŒÓbç›/¾áô¸ìŽúgÀ„„N=ã4Jš„ÊV…M›6áõz9r$f³Yœ`‚ß…¤Äú‰‰1í¦ û¤e¦QVÖñGÄ¿£mß§IEQ÷½$(Þ³‡”ÄÄúÛÈߢ0‰ëOÔHOèC›NUA’~ÿL†®¼Qy:EFø'üþ ÿ„Â?áŸðOø'üþ ÿ:K×µç#@ ¾¨á’®{áRâ­”–¹[m¢Ãß—˜˜ª««q:X­ÖFAáÞÉ4“i_XAUU ƒTUUÓö êpébÞù¬„#FÐ7#Ù]̆Åòþ'£ÏÊ@®ø¿KqX"¬[º’=]@ƒÁT½m¥5Øý;©îSÀøŠñÃf'‡eb×XpƘa³›@Ú[HŠÉgb…çÞz‡UîNÔ½—ÝÖ|N½d2+|ž·ÞÏElX{N`Œõ^^yùcÌgO 7FKíŽÕlå2" Sý'_šCŽy&£S$J·î¢¶Aã«‹J$A»‡¥K ˜˜”…º»€¥K‹ð(õT­9RÇžÝET ¢²ƒúêrÒ@ÆÄ|È;o•0ä:Ò-`ÉInä Þ~WƒcÆ,’„%–ž™œ6Ÿ¹¯~HÆ_§«ßï½Æ*ËQÜÒ× xêW+`[Ï]û3=F‹SEÜÛ‹Ù¼ÝÎÒÒ(†g;÷­üx@öºv¼lŽAë-Áå ²O’/O‡Ðθý™ª†NTκE¥Ø†ä¯3=°òüEl¨˜H²®ù¹„%S®¼‘sò­ÙÝñq]i¯ß¤m‚ÃN×,D²F§£3¹ ,Iš„9†zÁ`­ËEÒÞs,>žp áaDUñ* AUʼnàS ©©èšÔ´:’VK8l3trã=ºFƒÑdbûÚµ}>‚~?ѱ±¤ôìI”ÓyXÖõ¸qãX°`'œp¶æ˜ cxÿõ÷0-hµÚnç ©ª­BgÑsêÙ§µZåÐãñðõ—_³ö×ÕäôÈÁd0uÛ†AgÀ‰âƒ·>à”ÓOÆS_¿ééé¸\.6oÞLzz:«V­B–eúõë'V:ü®ìÞSÕjÛ¶­ÛÉê™Ùl[g¢C€˜øøf¿›ŠFÑ!dá¡ÏïÇd4–ª«`ù†Ý쬒dœ ‰ íOœ^j¸Ÿv±fc1[*ý„µFz$3¤§“hèœ@ @ ‚#ˆ7ˆÖ¬Çd‰Áç©/×Rths:¨­ª_u!¢€¶afV«Õ6†¥jKt(øýéÑ£D"‘.­b¨( .—«Ýp<ª¤E-û‰×î{2 r Yý‡sÂÍw0%߆Îw.g®|’W¯:›§ˆaÄIãH·oi<ÞÞû$¦å>ÊËW˳æ¾\rͨÆ}’RËêwŸà™'‚€†èÌ1üåogoÚýÆÝNî„èîø÷ðëéŸÐýÉ*Kþ©\züJîxä1²¿›£r™~ã5hæ¼Æ£{‰š`Îgú-g”ÆÎˆËîà²×^àû.áÙ:™„ŒÜ‘†Õ¤ìý8óüñ<þâ\ø_9®7#û'­Q@ŠéñƒßçÉ{¯â‹¼YšX4±¹ŒŠþy?ý„Ï<€éqºƒ|nuLTúzEžáÓ_÷ÐR"mÉS”Š,ÜTº¥cÊK{·:ø¡ ’‰}öKcüŸsÏ}?Ÿ‹QêÂq¹½‚?::½¥I¨eÁ€Ú…ãBee(á0]ýøa´Xp••í’u:°Û)©­% ª„eCb"öÌLl±±¤$%•œŒÎÔúÜ3˜L¸««±·ü´$1#o]ñ©©X¢£ûºNLL¤oß¾”––6 cãbÉÎÏ¡¨ §­{‚ÉZw->ÕÏ £†0dø$Mó Ç–Í[øðý1(zú÷ì@¾k´j*]ÔÔÔ6 úôéüyóضm™™™äææŠ“JpXÒRtØGgå’_š¿3±ÊxÜÙ¢KLM`Ϯ҃âðá*:Tƒ5¬XUD…#cÚ0…êØ¸n?®ÓqÌ€¢Âu¬Z¹ƒ¦DFŽJÄ)yÙ¹i 7j8º³øXC @ @ðBÑjÐD:ž–ךëgI÷ŠÛb¯èêE‡¥eÅ$ħ4Ї/N§“¼¼-Çiºz\íµ_cM“²F~åÁkž!rÅãÜ>Ü!ÆdÁaMÐï'اrÖÊ2^E¡($¢ªD¨FŒFôQQèm6 6‰Vk³PÈÖèhjZãûõke¯=Ñ¡ðù¨*-¥xË¢RŽÀú¶X,$''³uëVz÷î]_wQVòûç³aÙ:âí‹-Ñ0UµU¸ýn¦LŸJ^ï¼ViÖ®Yü¯¾AÐ0(gÐû[QS!ÚȹœG”­¹€qíÚµ,Y²„c=–´´4q2 K:¢ÃEš8qâoªÔGé Öµ.ÐûÿûWçÑ"k#¿A:…š›™·ÓÀ˜‘8Ý;ùju€>ÃsHÕë$ ‡F´ˆàÚ°‚¢(D""‘ÕÕÕèõz@ãß–-[x衇D… ‡^KÅp󧃸û¾©¤ ¸@ tʵ×^KVVƒ½^^¯G–et:Z­­V‹F£A’$$éÈ^œiÅ‚8ÈÈÏoÜV¾~=²ÙŒl2¡3™Ðêõè:‰úéóxøüå—9åŠ+Ðê:¾EÂa<ÕÕÔUVRQXH(Âh³¡3ˆr8(Ú¼™!ǃN–È:,Y²„aÆa6׫¤}>ÿ}éMìz¹õ×už:ê‚nzÈgØèa˜Z„¨öx<|ùÙ¬Z¶šü´^˜ >>°§²”Ã0zühä&"Ó`0ÈÂ… )--å¸ãŽ#æ¶ê¤àÈãÅ_ìp¿Y«à´ÿ²B2ʨþÐù•›É݆ÛÌj½â“(-ÛÝ*M[¢ÃÂ]»~×Ê×U°b›sJ 1z­vuÛX·µKV6¼n¯¤&¬`‰¨¢· @ @ þ4””í!9>±Ki÷Š6E‡Áo…Rºœ–«ô».çˆ4ØÁ7Ï<Åa´öLFœp#ÿ8e¨ Á¡"TÉÚ_·aîÝ—÷JÞw¦á§#D‡@ è&Me{‰k"Bìr>²L( è÷c²Zz¡ßëÅS]Mea!uå帊‹©Ù¶ C(„M«E–$äÜ\ú^~yc^îêj|n7QŽ#sÅPƒÁ@ff&7ndðàÁ˜L&úÀÊEËIŒÙ÷boX娔8¦{*ñ ÍWDŒD"¬Y³†ù_ÏǤrV9¬óÕáU|L>i2½û5ï ‡Ÿþ™ÄÄD&Mš$N ÁaƒßïÇØŽ@º#Ñ!€AŽÂï¯: ûÛ6m?0áá^Ñ!ЦèÐl5âuû‰²JÔ¹UÌF^˜´ÔÔß©ÊU‚5eü´¢ˆªèL̲¢ÐG3h@*+ÖóÝ;‘Œ6²3ãH¬)E#¢, @ @ þD´/:4òö MÂÑÜ3çèCiç ¸ÿ• Då ÁïFˆÝß?Íw—ƒ.ž']Èͧfc#‚n¢7‰„:_éKU”Va’EU¥ÖåB ‡‰„ÃlY¹¿×‹èôzŒ Þ¢"*¿ûŽ8Y&[«Å ×CÁãŽ={šåou8ðÖÖ±ÂC€´´4vìØAMM ÑÑõŸ 6ˆõ«ÖÐh4TÕVá û˜<íXz÷íÝ*ŠŠ >›;—[‹ÉNÍÆb´Oa%LEu%ÑñÑœ~òIØöfûwïÞͦM›èÛ·/ñññâäV;X•Õ¬3ã {ÛÝï¯ëºèPƒ¥Í}Âü¬, ¶m;¨ôºý(j„:·¶þ·? @’3öw¨nOYKÖ—ˆMåè>qØ›È.å¨X†ˆe`X‹$ÆW·[µØdñ¹ª@ @ àÈ&ñ#kÛY)+ZB!:@ð;"'2ùï¯1ùï¢*@p`H A¿UU DB!‚~?!¿ŸP @Èï'è÷£·X„|>Jwî¤líZŒ&™ãÆa±ÙÐéõ¤ôìIRVe»v‘š›Û(¬r: ,\Hl;!˜Õš<ååX°DGSQ\LBzú]÷999¬_¿žQ£F Óé?yüw.QÑQôÞAÃc06½ )((ÀårqÔøñT¾wÀ¢CÐÏW½ôbÒ”cÐê´ûEaÅŠøý~† ‚Õj'ŽàEG¢Ã®bרš‰].Ž&éÆî@D‡ö(+ÕuîfÛ”‚FÖ ‘´­Òﮪ8ÄÕ©PW²ƒïÖÕ`LËbr޳¦ãôW µù&­è@ @ ‚#Š´¬4 ·6þîHtÒDÚÝÐ xÝ^ÌV±æ@ @ o,ÑÑl^¾œp(„ÁdBUUV½ú*­$¡ª"ÆÞz+N“ Y¯G«ªèþÉn§ÿرyù=Lf3V»½Y¨d“ÓIHQÚõÁ¬ÕRSXØ(<´FG³cݺ#¾î“’’ؼy3ÄÆÖ/Z–Ñ3ƒ©§N%©G2¶h[³ôŠ¢°yýzv’™“èQ£e™A£³eíNbœ ûåGµ§†ˆ.Âô™ÓIËLk¶Ïãñ°råJœN'D«º!Á‹ºj7QöËV‡­¶9Z¬ÊÚLZ]çõe6ußP Ñ!€¦ÉJ^_³iŸ¹¬´‚P¤ó3¢tmµÁÎÒEÜå,ÙPƒœšÇQ=£U5}W¬æ—_·áMÎfH² »Œ[=˜“òpè´ÍÓþþíÅP:M©À¡M +H’tÈí ÿ„Â?áŸðOø'üþ ÿ„¿#Ë?@ >ìj$ƒÑŒÏçÛï¼t†ú÷~ME‡»OµKT´@ @ ;,ÑѤää=`@ã¶âwÞ!·IXeÕï'Úá@×ÊT6™«*JUóð¤z“‰€ßÅfÃ]]ݸÝ @›>˜4ª·o'eذúgkYF£Ñ ‘›„d>éß¿?«W®dìøñ ïª!¯O¯Véö””ðãÇã[½šÄôtz{,š†$‡O϶/ã x0,]¶(«*'-'IǃÅÚüØíÛ·³sçNz÷îMBB‚8YHº*:Œ6[¨ñzÈV3ááþˆ[R´{=’›mk*:ˆOˆEÖFº”ß§‹PSZFy8‚ºs=ílZz#GåÐÓlepŸ~ݰ™¯¶„‘ôfRÒ³ŸaÆ¢‰üÆþ5¹°º"PTy:EFø'üþ ÿ„Â?áŸðOø'üþ ÿ:K×µç#@ >(ªÔmÑ¡ÝCume‡i„èP @ ‡+µÅj„:‹š<k% M Öá¡Ùf#¨(è¼ÞÆ•ÿô¡@kt4%%ÇK †ØXBEEÈ âº¦˜4ÊJK›m37ˆññGtýÛív\eelÚ¸‘¼Þ½[¿SðxXòõ×lúòKZ,$FE±§´” ’5q"F³™QGãë¾ -5¯Kv«=Õ2éÄIôî—ßl_0dãÆ¸Ýn†*B+ þ¨èZ-E‡¿?Zbsû03Bm»@“3‘±c †µHR×…@ @ Á‘ÎàÁ#X¾ügªk+™8q |+*F @ 84Z-áp¸ù6ƒ¡™ðP/IÝnhXõNo6L’D ¦]ƒ8Ðh±à©©!&9¿§¹ˆØø§ IDATÇC°°¹P½²$()i&b´DGã­­=â…‡£ÇgÁ¼yääå¡iXi2 ²nùrÖÌ›GJe%SìöÆô1²LÑÂ…$ ˆ©!Ôkvß>¬úåWjÝ.lVG»¶áå®rR²z0éøcˆ²E5Ûïr¹X½z5‰‰‰ôïß_œ ‚?<‘`m+§:âí¸Êª÷+o*–BûÆÎÎp$Ø[ms»»§x´9¢U@ @ ‚ßÊŠ²6·×zZ¯hXZ¶»[yïîEˆ@Ðõ Ôbn?ãx&×ð7ýRþ1w#µÊ½`!Jy[.8¹¾\§\Á½ï®¢2¼¿ù©ìÞZÉÝs¶0þáÆ>¼™sÞ+çÛ Àíæ–§ 8ó+7Uê¾£ÜEå\ñßJ6!TYÍu¯íáo“l• ½½“¶Eºoóp¡¡ìcnø›½Û~öQ­üN¾¼ZÄ·µ€.ªùäím\ö““ÍÁ {a_TNΪ””sã ›ûpãÿUÈìµA|Z ¨,¼ûRþoîü{æsãEçÓ¢ð‘UÄÀVÞ¼ñzž]ãÍ-øM‘õúV+î áÛø[’6êM&üªŠ^’ð7 ©¬7ø|èd¹~øm’¯Éé$Б~?uÅÅ¿£ìvj]Žq 8¶nÞL8fÇŽ,Z´ˆâeËÈs¹È24¬*¶ÚZ >ÿ¼q›V§ã˜“§Qº{G»vj<µTj4f§œ1½™èPQÖ¬YÊ+èׯyyyâäh; ×ÞTtXSçÂnÝw^T×ÕuxlSÑ!tAxè*m}×iµv=>ºPÿ4£@ @ @ð{ÛöŠ6‹©Õ¶„ø¤ý¶íá†@ÐÝ‹Ô0îxýsæú6¯Ýv45ŸÏᛢÐ!1Úù7^û,+ên¾‘Ý?ðÔ³?}æc¼7÷=Þ{l&y/¼¯sõõ¯²ÎÛÕÜTölØÃµŸ×a”Â[WçðÅßÒ¸"]ƒ'Òd2O+Qµ¡’·Š"¨\‚.Ú<„xwWpõÛ•lj«kX-Ü}y?Ü”Ë'g;Ю.å•ÂŽ£—…*\\÷F)ËýÛòî®àÿÞ,gmàÀ|?Ð<:™y25[}”„›´{‘·3šÑÞ^¯Ì*¡ˆ–á“2øôÚÞšjfÓâ2æUXO¯-,åò·]lû£jóT›?~˜Y§Meâq3¸þ«£ï~š1ñh}ù!¦õÐýöçfÓ1-PÌüÿ½Í»ƒ‡Q½”pÈb¶Qþîù‚ÃbˆÔj ‡ZˆgdEÝ7îh_eeão½Á@DQêC07ÑÀèM&‚þú‹N– x÷u[„"í÷P“VKMQQãoKt4!ߟGv=rÜ8.XÀ÷ß}‡ÛífäÈ‘Lš9ŸÕJXm} ˆÖjq-]JEAAã6gBÃÇ¢¼¼¨ùé°«¼£ÓÄ™çŸÅèq£›í¯ªªâ§Ÿ~B§Ó1aœN§81J¢£T»÷=,Ù£ö‰#Jç7Q¿ùˆÆÐ:V½ªŠ0Æ@ @ Á‘—X}D û‡$ÛHí?’QqË(­ P¿vÍõ.ªÌ}™>*‡ }§g7ìÌ;—ÎîFf>ÿ[`à”\Ÿ££>£ÑÚ¯ôƒÉÄÌ~ß,¬á˜NrõP€®Ú<Üú$aO´qZÏZ^( áÍÐb>À<ÍI±üëìß?ß ¶HJ"á—:V×ØÉŠ‘@ ³ns„„Þ&â¥Ã©ÌÒó¤7üŠN¶Ð×ìÅT‰?-Þ|÷ÍNò®|ž'ò}Õ™Qí!vÃÜtL ([õ U}Oà¨$ýŸ°^Z—ßÜÝ1_pX “åV+ê ö‰ïe¥‰8Qg0  Þ&ÂCÙ` Ð <4Y­¼^LÖúöÌN'>µ}µQ£¡¶°°ÙuN#Ëø=ŒËßÖ¨( €Õf#§OŸÆû¤Q£¨ž7X¹õ½b¢,³~î\F]s ²©þCËÑÇLb{Á|&ƒ…ÊÚJYeÂÔ‰ôзÙñŠ¢°mÛ6Š‹‹éÕ« ¡´‚?N‹*Ïo» ·VÓ¹¬°[ÂÃJW 1ކÏ_t„÷ï+IÒŠ @ @ ŒZ-þÈþ}œ@Mmî?:}ý;½P(€,·/J0øý~ÐF "ÞîUUUSYY‰ÚÁ$•$I8NRSSq8¢âÁaOÄïbû¢O™W“Ì…) “éªó_áÑ—¾`]•Žô£/áöÿ›JOi'_¾ø$/U@eÄÆÐ ïçî3²‘ ^ç–Â\zï,ú˜¡rñ½Üòåî¿g,q„(ûõ]žxæm–”‘zœÌƒ×$©YÇ»÷_Æ­+ 'ŒâÒÛ¯cF®©Û‰Û_æö—ªˆ•—óíêtÉcù¿;¯åäÌ}«›S3@z„ç^ùŒ«Ï9†>q†F¡‚·©¦¶md[ö‰©ê*ܬ•Ì\™ªëD8#‘šljE%<¿Îʃƒö_ôÓ5› ;וóÐw5¬uCF~ÿn/®öS©h>¾÷Œ4bi§MrÚ¹5“ífÆE¹XXâÄ=’ÛÇnRth;hßfíõ—xâ6”µòEjVf…âM•<6ßů5“lã¢cã9!AƒwW{ý¥­u5Uüž¿.«`±ÆÂM›ý²=[Töl©äÑoªø¥FÅ`ÑbqÆtÚŸ›–÷â³S9?±Þ®{W÷úzJUûý1®»ö•=|}ßü·À^ÊW–\ye/^|Visü3­}‰[ÿ]„Y]ÍÏ»zpáãpnŽð²î•»xQ¾„ÏÍÅÞÅG·þ²þÎÓíGT¨¹w<ÊÆé÷pËp#…mŒWÉEoÔiwLdÃ=×óü:?¬ø ïzsù?âôŒH»ci3Ÿfÿƒq»þÛáxØ÷Ú—ZÅ·‰éåæõrÓ¿îÄùã+<þ‡,+Uˆé5™YW^ÄñÙV¼-êåô sÙ8ß…•U,Þ¬£Ï´ó8)f%ÿ{k!…¦̼ùff r@õ¯üóÚ;ù¸Dc*cN¿œkOu°à¶ÖåŸ|»É˜ dÑ›íúÒæµ%ƒý¾ Œ¶B-‡TTß'µ@°IÈQFƒÎlF‚µµÍ¶k´õWS“ÕŠÏãÁÞ°ÏßæÊ}>E! (Í„‡öØX<µµ á!@þÀ,[F8D×6sÜ8~úõW‚uuè¥æc„Q£A./gÇÂ…ä{,:½ž1“'òñ?@c²Ðgp_Fƒ¥E4W·ÛÍêÕ«1›Í :ËŸ¤ŽG軣ßXtØU:])Ýcoü¿QtÝÊzÑè@ @ Á¡bûÖím‹•®}\ZZŠßjŠzÑ!Ñá~âr¹Ø¾};ÙÙÙL˜0‰'¶û7aÂrrrضmÕÕÕ¢òÁáKåRî=w*Çœ<“Kù oF1rý{ó^NŒ÷áë$ÒW¨èžø÷/¤^ô4¼û*O^~©@E¯“oá÷^ãñe|òÖjª:°­ÈÂ9g<Êûï¿Ê?†óñÜõ4i%[.º÷N1.âÁKÎ᯼ÏÏE^”>µg£ipÇ€?D@§#J °ùçópc.`â+-BÙÊN…wY9 ª÷? mWl+jø÷J•iÓ3ùøŠTN Vó† Dد;*®ÎâžÌ .õQÖAz% CIç¿ÄÒϤe̱|t]._œƒqcŸ”)úŒ¨„Ê·»xu“Jßt}§bE­ÙÂ_ÏÍæ‹+3¸"Öÿ¾ªagý(TUËcߺIŸÁ'WeñÔ¤(R»¹0g[yÄ×t¯.w–¸x§ØÈµçðÕ=8ɦà´ß&í.×Ê ÎÑQºÉO™ •»Ý”Y£è-uؾMÛ+«ºm_šõ§ŠýÖCÚøt>¾:“Û²Büç‹JÖùAÓNÛºs ”»¸öùíܲ$ÄÀÁ6z¶qÛÙ‘­`e Í÷1!ƒ¯Éæù fbfûZÞAMDpšnöõŽÈwÛ¾&‘c︗™ýpá¿>`ÁÜ™’ÜþÔ¾F6 $†üõiæÜE›f2FöF]³œ"?„K×ñóž®Õ‹Ùæ†Ðž5,ñ¤31×N¨ñªñ”Ñg0ãÁÙ\6(Ÿ¿<ö. >~œÓ3õŽ¥M}ʯý¶Óñ°e™ZŹޢ^Ž}Íìç—Õýï½Ì߇óÚï°Þݺ^Ç™‰ø"ô¿ðiÞé R—½Îíå×xì Þ]Î"Š•ÑW>ËÜ>â“§ÏÀ¸ð >Û•Ðfù›õÏÂ/;ô¥­kKÙ\‹F¤Å³²Îhlöá—Z…=ŽJIA§Ñàoñü¥“eÂÁ F³ŸÇÓdÑÝN]$By(Dq0È&¿Ÿ6îÞ½1MœH¯éÓ›åeµÛ©iâùHÇ`2×£»¶liܦ·XH7ŽªpÛíY¦øÇñ”—7nëÙ§½ûç1å¤ÉL>áØV¢Ã‚‚V¬XAff&¢CÁ‹ß:¤ö:}Ã(IÇ¡Pœö8ªªËñ{êýEÃWÍšuEl©ò‘MôHOeH† sÃ=—â¯eý†]l(÷Ö™HÉHeh“ý‡O©s?sâIVfÅšåÃý~Îû,ÄñÓ¬œE€YŸ†8ú+—Ęý`U€YŸ™pòjË×CU?úSéo¬¯ó5Á.—·+u㯠pó"…™ÇšN˜Ù_û‰cá/Ö2Vëð|r;Ûÿ·íôçÉ;= @ @ þldöÌl§¦ý÷ˆª •Ú›ŸKYi…¨à߈ââbrrr0 (Jç" ƒÁ@NN………ØívQàð$fw<ý&8<”oaÉ»ÏqÏ&¹ušmKY»öW_ýuCb‰ÔDºÑó>ù`>¦“ŽfÌD+ZÀÛ®…Š‚ÅT¤Ïàú£Ò°ö¡‰„vnE•F¿¾ÄD¶:–­nü•p;¶}Ù µ¥Ñ7?§r$ ýÊÛJ#;û0íò˜rö6¾ÿï3”Õýpàmå±g}e·êÒÅQQ|ük ¦Á6ŽÊ×¢ö´WÇèÛ©>‰”t+öUn êÌÈ›BØsL$h ²‹íÕ# ZûâmVf7UqNþÞË€C‚aƒœ ß\ɲj…ž´]ƶf  qNžú?ÅEµ…P;¶½+["µŸ ³e1iÖìÙð0ˊ꘼7²k6šb‹µ’¯”òñ¶úÈt:U(i2"†ìw*yÇi@m˜ ÐÉZôá0•AÌ ÆÂJB1z©›6UÂaˆï•«'[‰k²Ç»»¹üS’@B%ÔÅôµE<ú«ÂôÓ{2Ûæ£Ë(ï¬ÌV wŸßƒI¶æ›½õ®v j»!/A%Q‰(]β‹yt·.Ag±pÉ_ÌTî®ã½»˜cåG[Úͧ#ô3cŒ5|·ÝƒÞ¥å¨Ñ2r7|Ò¶é‹•׉’$$©íÐ{Rǧ²^GF–sz»yº$„7O‡µ‹¶E¥íÓ¿ëåíÄTç}]m»_ û´;þuBT&㲃¼¹| ¶M2§ gÔÒ™³v+Öבz|.I¡¸‹cbóÓ®«ciׯÃë¿Ã±Xjþ¿$¡AêtTÐ4M¢‘ûlíÚ7x|n“|ƒG+ùä¾çšSj'ùvÅ—úò¼k‘`?îKZˆÙ´²ŒÒbÅÃ`  Õéd÷úõ„jjPISßkLV+A¿gb"Á@ Ù1Y“&uï”u:ñÔÕý©ÚB'Ë$ge±sãFz R¿M¯§çäÉlóMRô­…Ù²$Q¸ju%%D%'`ŽŠÂKɶmÄ¥¦²eËÊÊÊèÝ»7ñññ¢Ó þT„B!d¹í'‹Œœ|\%­¶wWtÝž¬–èߦ€]µQº&™ê,]¸¦†m^9yñXµ*DÅ’n+eyUoŠ]] [je2$­Ó!Ù’è“î⇢j*Rph[ÿöâ Ô+ê}!UUX·ÖË9;C¬¨S‰rÈœ?ÚÄ_b"ìÚàñåA~q©øT‰¸8™‹Æ™+¨pñ·!FekùuSˆµ•(»ÌÌQFf¥hÐJ ¿øx~k„–£³4Ô**¡ ‚E­ÿßp×yí—ï+¸5úe¸y˜ž^m-oR¡I `PEQÖ­ñ0}[ˆ‚D¯,#7 ‘„¨–%RQ!>øÅÇ [#T·ðÕ†$Ijfwß=¬ÊŠu>]f“WÅbÓqò—gIüú½›{ü^9VOª¦þqÕR·Vêyd€ÂÃ?„š©áÇ‚Û Ç 3q²äÑå!¶«¦Œ0sCO ¦à¾úªÙâ¯_{¬…3Õ —~bH¦†å[ìoÑJ“ã|~ذÎËU+TNšdáŠd‰Úb?ÿ«Órcú†#A¦ÿr?oi¹-½í{Kµ¦’ â$*.š`XE tüe|‡õ×IûŠtÂ?áŸðOø'üþ ÿ„¿#Ç?@ 4ÍD‡{‘µzB‘ ¨¬ß‰îˆ¡~¥µE¸èsî¸û;FÜ~§dèEå ‚ß5HuÉ&}4ŸJÇiÄ›´8²û£ÿϘ3/žYG¥ ­dC(“žáõ¬Sz28g(ÇOÙÀ’9 ÙêÁ`“kË7•’œâamA9~@Klö@,¯ÿ׿Iâ‚á6vo­ÄÙ®bIKl›¶s ë¼(¾ßðÖ÷AòG¥WL˜K>e~u'õˆ_ç6Fö‰iûI3çŒ4rͼ"ô%0+ßHŒbù7»±`hcšIk³rѰZ®þ¶Ž`œ³!£­æ|_Mò=uaV.+盀ۜÍ3éܦDl‚ ÃÂr^Y£ãâ\=ŠËËú°‘mΛu=}À&¤7’f“¨)õ²ªF!™ú•Š"0»+}4zzÅk;aÊzo-Ëv‡Hv*¬- ãozM †Ù^&Ç¡°bY›õV.´JH}¶\¥ÂhÊ`Áòc%sÖÊ\ÔSKIi˜Ä&ât]íämçawv§.UÊ kY¡’há„þ>/¬c«ßÊÀvêxt¬_ïÁÅ{‹£“ÚSÃ{‹*‘cÌ´×Ï.u­½TÊ ëÚô¥“T±‰V‹\¼·Ùȹi[WV²T2s—C]ù6"âÇÕn" VÆi VÔ2wS„Ä1ºVá´;²+™±üX¿ïœ4 »*Âx}·úg×Ú¸í¼†›ÚëǾÜîø×6z•…ï™÷ù0:‹Ë3I×äü×| §pI® ©kc¢VÆ„‡]…ÅìÒñ&ö"½KciׯÃî£!&w8Ž7æòþâlΠgÛço³LÓŸÛSŒ°kÿr ÖU4g‘'S»u%«Jý$·SþÔòåÀ®E‚£º¢UUÞ•‚Îdb{ €l2!ÛlhŒF¬-ÄjÎÌL4ÉÉÄ¥¦6Šdƒo]ÎÄD´Z-‘p­®óFTU¿Çƒ§¶¿ÇCuEá@£ÅB8D§ÿó<ÃÅ&%Q¼u+u.QɃSøÓOx 17ÔwPU© … #ƒ£¦Mkî%)3“å ²qûv’’“9r$ƒAtxÁM0A¯k~SÑžèÀUQ‚ÑiÇ_µoõV_ÀÉ`ì¶m]ë[%=•e»pÆ't*:¬öT3°Ovì(`Ûæ­dæe!)Kíem×^žŒt²3‰&$Š¨Èš u•¥l­•HÈ5`ÑFðêðkŒÄYT´I›Í„¼³Ÿ!^hÊajxrTd )¨° Tâ¾¢yѪðÍ"7÷,Ðoš‘¡î÷ÿ"uTßekÑzC¼ü•‡ç—é˜8Í@œ^BòFx·DæÞ“¢9ʬðíb7÷,2l†™Q…ù‹¼<]!sËÉÆê#ü{ž—A-²^ƒ $!ë5˜¤Ï-ôó½ÝÈËçHW¼þ­—›—h˜sŒžäV»Jc9´z MPá»=2÷œÍ)Ì3ó¼Ü¹LâÍÉ¢«—E óÓâz_ïšae„næ«É ¡( ÑÐÌî^jK¼<´Nåä)6ÎŽ“ظÞà KýôJ±2¡—óü0ë‚Fr£`˜_JTrúëÉÐ|>­ÑóôL ºMn.^äae–™'gša³‡+VY•fb‚¾I}išü¯Ö·ÃÜÝ:îœÅÑvšµÃ½ÇÉÅ[½\¿\eÒx3×ejÑ© ‹6‡!ÅB?›fßC•Aæ¸?·n‰P›£#±SMÕ†‘Р7ê0ÈR›õÒüÅtûõ×FêCžNø'üþ ÿ„Â?áŸðOø÷Gò¯{" @ /&Côò¾“IéIìÞ¹»MÑ¡Þl%èu‹J;t%Är³÷Ajû3κSy𥩢RÁïKåRî=w*÷èbè=q×]9Ž$-ÐóDn¸¸’Ç_¹–³Ã`Ày÷ÝF?i'Ÿ=<›\ 28îò›è ²ugŒ^À÷\À+ú ìÀÒ0?fìy"×_XÁìW®cÆca´é§ñÈÕí¯ glÓöí éÊXöR¶ü>xçiêB2ñ½'2óÖ›™–¦'Pй±Ír“Hé›È?M.þýC ç|AACN~,7d'G-=HÍåÌõ…¼¸÷²­ÕsüñIÔÍ/ãöç˨V%âR¢¹øÄ8™Zß©Íx7MóØ÷…œò¹ 3œžÌ°vêÄÔÅô±i1œ¸®„kþU5=šñ6 aŒÑf†J¸ó g•F¿.´ƒì°rVN-¼½—d=C3t˜æXÃ!……_mçÉrgR4—ï [©‰­“'˜'L vnâÑï 9å3m¬“§În!¾ƒþx0ìËÉíaËOoõ.–ö<—ì(°fŽ&_ýŒï3O§wƒµKc¢.Á2yïÙk8OÓ—«Ÿz¼.Ž¥]»!} ×]\Îì_Î)åaÌÙS¸ê†ô2w½ÿµ$fàL›ÿןù:ÖÇ16ÎD8¬¶YþÔô¥Û×¢ê_yðšgˆ\ñ8·wˆ{ŒÀçv£( ZmýH“3u*9S;~v2X­È¶ÔÔæ#­VÛø™Áh$àóaŽj 4 á‚>w IDATs»ñyÎý8Hß)6îI­·]·ÇÇ9_†™1Õ¹ñ-'þT6,wsù6™Ÿb$Ãåçœôbã{ßícæ—aÎ8ÙÊL9ÄUs}XÆGqW˜ ªvy9ëëgžbå,Ìú4ÄÑ'X9Õãå¬ïU®9ÑÌTG½ÝÚ/3¿ŽpÁ)QÌhòÛh>1¬ 0ë?™“£¸7­~éÊÎøNášÓ¢˜Ö*êvó²¤Õ¸ùS?–ñQ<”Q|S_gÅHx|J»§eÛ=œùÊ…Ó,œ'lâŸê qÇû^ʇFñl/ r?|æì“¬Œsû¸ìó ½Ž«o_¹Ÿó>2èø(nM®ÿ}þç!Ž=ÎÌ9r¨±¾Î×™õI 'X9G pÞGr'X¹=µ^Ø´N'ȬOÿÏÞy‡ÇQ]}ø™­ÒJZõ.Û²åÞmŒM3½¡’PBÍBH  ô„ tB`p¨¶qï]²-ɲz×jÛÌ÷ÇJòJZY’1¶%Ÿ÷yö‘vçÞ;çž{wîÌìoÎah¾Æ·ë‚L92–r Φ‚7ÀMoµÐ2+–?íܯòÂ&ÎûJáö³]îˆr³£èy6=¼‚”[ÆköúCñîü×íäËgìórbŸØ'ö‰}bŸØ'ö‰}bßÀ±¯¸¢ÿÂÖ–Rå Â^á‡?üá÷ÒnCsn×®¼† ‚néû-Åk¯½ö ƒíÛ·³qó–^ËÈFNNNÔmóæÍcêÔ©ýÚ¯iš,[¶Œ#oildû† Œœ:•íë× …p¹Ý´46ÒÒØˆ¯¥EU±»\8ccq¸\Äz<ØN™˜]X·h©99²3,|úiš·m#cæL†uÖ.c (Z¿žu«V‘™—‡Íb!{Ø0âš å™gžÙÏ× ŠbvŽxX×POnvõõõýj¬7Ñ!ÐIt¸ßÐÝL9t"“-l\½‰¯—+=5]èIk÷#•œQ™ES°ÞPø¦nÀ⛢óË‚lª5X_¢%)"L¦E!;²¾EÁ®@ÀoKˆ†ÊœX…p{qn k÷ «j *ƒüæïõü&rƒª±µÕì›ß¬*ÜjGÉX·…dÓǦfb•ÝöÅë´•ÝÚ¤4§Ç5q×u<åÑ™•gá‡clLq+¨ 'fÂÍ›ƒì¡ÓT )ÁÆ”  ÐÒÛ½Šƒd}×{ 0ÌÞÇ1«‡q@|!ÞZMã—‚Þ6~¯Á¶ ÂtgwÿºœîP€­^“Ã]¶ªhþöKBé§âˆS0 S޶‚ ‚ ‚ ‚ |'"E‡ºÅDÑÀ”@·ÝÈÉÉa{I k×®ï±LAÁˆE‡íì͈‡‘©–çØ¿äÎ{瑘bþ¼54Åå3ûÜs™\ÿ!Ïüc)uö4&ÿàüêÜñÄ·làý‰7ïÄ83¦rú•WsÎÄ„pä!‹ÿõ {s!¥~;™#‡¡Öiœø‡?rZŽ…`Í Þyò)^_XŠßšÅ¬ÿœ+NK¼êeûçéW>de¹ì¹sù \yl’üJAöÉÇåò¤8B¡_„‚A,zÿ}«ªJõÎØ‚~?ÖVZššhnlDmKœ”™ÉŽ-[hij".)‰äìl\±±âð¾^W°eåJâ““;|:þœsÀ4q$tòYURÂòyóГ“™yì±$¥¤ÐÜÐÀæU«3}z¿ÇX ;Ëw’–š¶ßö¯(á{Q„‡ñî¸N¢Ãæ&?®˜îy†­†‰_íŸP¯¦¦Ç@}UÝ~u¾¢;’çaãòzʽiäéJ(H0BGg†‚„ ›¶ÿ‰=íÚWçã†{Yh·pÂ9Ã4ÎÛÙÂÅ}«ßŽÙyFmH œ=ÕÎôXujýëk_úbkÔ…ßaáš3â8³"À¼->ØèåÂÕ~}F —&+ŒÎ×±ægy½Fõ6“¡c,¤«Ðж‹Ò¹{¢OÝ­×T…‡89¾ÊË£ |Ì>ÞÊ$ƒ&>\–îU,–°µ)ØuK -ï\Öɼídì:x}r°AAA„ƒ‘;v‘‘ñ½µßWÑaIIÉAçûÃfΈ*>,(Á‘‡Ökí)ºú<fß> Ôî nÖUÜù °ônò1jÎþ%w¿üÔU/qû__bî!wqFœäYWpÿUÃIµÖ²ìïòØc/2üÁ_15¾•/ÝÉ#«FqÉ}/0=9Hé¢7xø¥¶›zþm|ðàŸù4å|î}a&žÊÏxâÇy1ý.®Ì˜ÏSÏ- é‚ûxñð ÔÊõ|»©†¦`6‹|wA889ü¾ âAøò†q‚ ì#4]§tËìN'!¿Ÿ@ @KM ~¯—@K ­ÍÍ4ÖÖ¢:„L“` †f³áŒ‰Ábµ¢jéC† jZGjegl,ù'Šƒ÷—ÛÃífû† ä€#>¾[¹¦º:½÷ «iŒ¹ôR’RR:ÚˆóxØQTDΈâTaP’–š†jµaøû' jiâtõýLsHÁ¥õ|ßi·-¹b¬TTT’’‚¯%€Í©S²m+Y¹yýîp»è .)~Ÿ:»¥| ­W˜8m8CÚ"ÕÁ !TtUÁêŒÁiÔRã3Hth€·±… ÕMì(~.*ò³Ðbå¡Ój0ø¢ÐÄK"ð—F–êgM½‰Ó6Qš‚ìôw/›” bi±®¦ï©ßo°®Ù„ø°j¯®>H…¢Rà‚¢M»ï‹Ã©‘¥¶&*¨»±µGT…ì4+?M³òÃq:ü§…ÿ•ü4YÓlåP½™7ûihUùQºŠ¶/Sט™§sæP“¹ïxùË& ONRÛ"#š´D¹Ç šøØnß^'Î3a˜ñ[Š_ù±×ýPŽ´‚ ‚ ‚ ‚pÒ_Ña d kê^·#++ë ô4ña_E‡°gû,>´%1fÚòà¯ßÑüc7qz€ÚŠ ƒ¹ääLâ¸ùÎ ‚pp#B#AAØ÷$¥¥hmEUUl %%”¼ó‰ 6 FU±†Bä^tiãÇá”ÊEk×’7fŒ8ð{$-'‡yo½EV~~·ˆ…þÖV6-^̆?&¥±‘©11ø ƒõï½GÒðáèŽpJʬaÃXµp!Iéé¢PAlôWtôKtìVt ZweSBŒGÛ—7%)–Ñæ ¿oúƒý3^W÷Ÿ£ñIdj ¬.¬¦ÎÂÛPÅòu˜L†CÁâŠgh¬Ÿ +¨l ÒRWÁò­>Ü Ä€OÙ:l jkˆÕ5­~ƒe«¼Ü½ÁÀ2Ã)|{Auéüh˜Â× Zy¿Ú¤¶.À³ ü¢,¶é6Žs†xz¾oLZZC|ðE3^iæ³æ>4xwA+_4˜TWùyd~{®•©.¥×¾¨NK‡­ïV»µµ;&Ekš˜ýJ3ÿ¬4ñ&UAVúT <*V»Æ Y —¶²#ÞÊä˜ý3¦6•kÆi¬ZÞÊG `u¨äYL¶4›tÒæƒF‹ÆG”ð‹z®i‡¡•}…·^Ò, ‚ ‚ ‚ ‚Ð7ÚE‡ŠC’Ýî-›9“Ñ£Gý¶ …úüÚcT :4‹Š†®*¦ F Åó_çž«ÏeΜ9œý«—ØØh`˜ào(£*ä&ËãŒÚ¬¯¡Œº²ùÜÿ³Ó™3gsæü˜[?)¥©Ñ‡™<‹«o½’±;^ã·?9Ÿ«ï‹Åå’¶CAA„}‹;)‰´¼|årGŽ Gš\³§ÃA¬ÏG¦ÕŠUíý,Áb¡tÁ2'OÆÝ–"%3“ÊÒRjÊËñ¤¦ŠS…AMUYùn·geePR²£ßí†:šÞst8ËÁâ`=&‘ÉSS8D‹.XÓìqŒŸÇÈ †¢€®…ö›­®To_Üù3G²7/²ãõ(V•³ŽvsÖÑËüdBûv^9ߊæt«ßŽ¢kœrx,GO7pØÚȇïªÿÚ…»ÊÚÝ:WŸ ó[[ÿÃVZ=6^ýI›Hõ°]JE¯/¬DU¬Únûâõí²õ”Ã# ÞG,*ÇÏŒáø™»öëèÒ‹EÁgá´ˆ4ËöDo\´ëN§=±‹OÚÞ{}v[ä6¯^hëðã›Ùiö=ŒCdYP:¿;ÛÝaŸ}ŒŽõk?k[-mi¨Ö—Á¬éR{º—l±¢(¦!AAAAè;‡¯7ü£K|J uQËU6ԑ쎇õ‘þŠ©««Ããñ³[A¡išøý~jkkILLÜ‹V›øê«iÕ“ÈÊJƪbÍ¢åìl oU“'râ¤×øó³/0Üy>33Ê·ÓÐöû[̰£˜sÏýí]œňD†­+ÙÁ¸øõÌßäaâ´!Ä«.<‰NØÔ„/$sEAA„}‹aìú-_³ÙèOKSüMMïEÙë} ÑqÆÆ2|üxæþãäP0y2ÎØXÔ†*ߟԶh‡‘cåimeÍ»ï2ãòËQTEQ2j›W­"&>«M²</{":LŠ‹£ª¾¾Ógªªv:vZ¶nÝJ^^Þ>í?Ø{$¶¡böA;µ7ËC*ŠÂ>ß/ÐI Ö³ß ƒ}ZÎç7PTöù~¿oûLAƒ/V¤Ù­4{ûôx+gºZx}s1âÈ[ZYî´rK‚IKó%ÌZ‹kÐâ’ÚñûÄ>±OìûÄ>±Oìû<ûA„}C )ˆýyc«Í†ß=ªa»èèQtô(:TÑ0õØw%++‹ 6 …úôƒ–išÔÖÖ2räȽh…Bò´ŸpÞò?óü//àQ9dÎäÆonl‡\q3W¼ô4oÜyO4ê¤æ¥ÒŠ owŒà×ÿ õ…—xàÿž¥>8GóƒÇ$£•o>Ìãû•¸!³8ûÿÎetŒŒ½ ä8/‚ Âà@UUBÑ U]Çè"ì°ÍÍÍëi’up_Q0y2Þ–òÇÇæŽÊ›5‹’… ñ×Õu‹z£iÔ¯_Oé’%dM›€Ëí&ÎãaÇÖ­äˆS¡tBgÁvûqrŸ‹ú"W”}_®½Ìþ°OUûÒ–²ÏË)jôrõe^.zß϶ž*Æèüåt'³ß}{²ÿÈöš+}üüÃVJlÜ~Œ…ußú¯×öT•“§ZY¸ÐÏŠ;Sòöf8u†N®e7ó%~"‰ÇäPú—³ñÎyмŒBý>ìÛÏóOìûÄ>±OìûÄ>±Oìxö ‚ û†HÑ¡;.™†úÊŽ÷=‰÷":Ü;x< (..¦¦¦¦×ò‰‰‰Œ9’„„„¨Û-Y'sϳ'·½;†;ž>fׯ„éÜðÔô]ïÝø¿'ÿÚ~“‰ãùgŽÿeë¿#‡ÙWÜÉì+Âï}[ÞàÆ»–¡¶Ýµ¥NᜦpN·š'qý'q½ µ Pä‡vAAŠªbD-Q"êªÚ)â!€nµâmnÆár‰¿glCGfëúõLšö¿ÃÁ°ceÛk¯‘%‚a²®³éãI=kÛeåç³rþ|R22pÆÆŠc…AGUy5µµ Ïï=ëFB|;Ë‹°õ495ÊòÚŽ÷Û¶m#77—ÖP vÍ¹ëØ¹¿:Ý×TÆûºœiÒ¯TË{³œ£O©Œ}^Î0Â"·®åy.þûÓh©Œ¿/ûÚ÷ßì5¢Ú×[{Ž,o\æØoþëK{Ž4;žÞþÎÊ gXûàç8?xÏú6ßžý9ÿÄ>±OìûÄ>±OìûľÑ>œ‚ ìo¼-8œ»n¢GŠ¿+š¦ EOëáq{¨i¨Áâ´Š(å»âñxðx<Èbƒ†ÒMTnœ@A¤HZAAA]'ìºæÕuº^ñZ€ ×Ûù3«k«÷É™™”mßNS]1ñá YS¦°õË/ñ–—ãèòD¼UUqVW³eÞz ?9ï®zpÊ ×sÛ¥SIPÅ;‚0ØPE¢ ‚  Z×e}£©*†±ëwjM×1Íî׳ŠÏ×92¢ÅBÀï—É´ñ¤¤`„BÔUUu|–2r$ö‘#i uÏÂ2ML¯—Ò¥K;}ž5lÅ›6á¨0ÈV0r¯·¯“””ÔíóŽÛ@7¬Àípv*PXTþÒ¨ÔÝ yëXµlo|¼˜×æ­áËÂZ¢hB-•Ì_°–5§*´ù)Ö_~1åÛöŽò¨¡r-§ÿësî¯ Ð\³‘³ÿù>ãÞ|Ÿéï~ȸ7ßgüÛŸ0ç‹5ü«6Ðç¤l¾úB~üŸ¯ù[]ï5ÅüæËÕÌó†Oü[ùéû}«{ ÒÞ÷ëCøúÞ—þ”ý®ø¶rÙ'ßôm|šºŒOÃÀ <Ïßû†ë÷_"¿w=n+ÙÁMïÄyëêñ†*¨^r%K^ÿ›7ü…E/ÍfÉ‚¹x£tÁ¨{“µoCa¥w÷mÊZ.‚ ‚ ‚0 ©­iØ£zÕ•x<ñâÀAŠgÊEÜõÜÛ¼ûî»üë¥GøÝ¹ÓH³‰0I]… "PA„¿¶w]Óæõ]³X: L­{ ð5ìºFÖ­Vü>‰ä²¯É1‚’Í›;Ä¡Šª2ò¤“¨ˆ ƒò@€ññ ;ç N<±S®ØX.åÅÅâPaP³ä‹{½Íººè‚]Kû?#ÚÔŽUMUXµ]âáC†PQS3p=jaãªmÛ³9î¨8l-U,ZQÄ|ËŽÊqоt«X²bÅ­.e—öÚWáX.›5“ËbTVhjm`îÚUÜ÷ÅbªŸÆÏ<öæiiø#J°ÆæñÒ)C…o­î<^:%ë™ãrpØÔþÏÚ§ÿ½ë²­}»(iÝt«V´vØ$m[C\A:;æÝÀÚØ·˜4fH›BÝ XõÖ~ø{*›Æ°Û6AAA„ýEJ|uµ»-SSÛŒ'ÁµÛ2 ž=K×’˜KMM½ „ Â¥«ø «@A„‡‚ ‚0ð×ùhëùÁ¸Î+šÖ-e²ârÑêóa˜&!‘ó‚¦I ¥Ã*»ËEkK‹L¨}ŒÛãA·Û©(-%µ-kBn. “'S¿r%µ6©‡ƈcÅêê|ß# R¼i­^/ ))âPaPŸºw Ö¬VB^³2s()ÝÞ©Œ¥k¥HÑa_hnmÂeéô™×ߌÃê:`hª¥Èk§`d V¬†ÅídQ­ŽõÅEüoC#Öx7Î`hÀO"³ú+Ê^þ •Ë ZRq~9Ù?žƒÓ¥&FÙ<Ê^x‚ª•E„´\³.%û§?À`4âýß}l\ø M•~´¬#H¼ð·dNLFÁÄ(ý„Ï?Iõê턬ÄyÙ?:‡³»Ð̪ۉµê¤éÝB**1ŽxΘ8 _ó|žZ·“Í"K_KÏ.[ÇßËšhÒìŒÏÁMã²eí~²ã÷VòÒšõ¼YÑD£Q6TεóÖ°ÌË>ù”E‡νÎ2®˜[Æ‘³fp¾YÄ%ó+™‘ãbѶ¬j1p»SøñıœoLëJxhéFÞ¯ñ¡Å¤pzz/*ã¹çÈ‘Lл:ÝÏÒMk¸wc9¼11‰œ1v 'j,[:Ÿ»ƒÃyqV69*@嫿sC]ãç Ê™–åàóÂ2ŠpqâØ±œinçÞ5eââ¤ñ“¹eh,‘ÏWø¶ré—¥»í˹cÆpe–£‹AÖnZÊÿ­ pú¡S¹$Vï”sÝW_ÈϾÙÉô_mÙÁ† •q9ÃùýølòÚÊ´4îà‰ey»¢™fÍÁä¼Ü86“ºŽxøE ³;t·>þ™»Ž¾^×i|‰/ç².}š’ádiIk¼uSíX¢ŒÏ))A¾©‰>>ÞÚͶ,ܺ#J{Ýû51{8¿ŸÅ¥§þ·˜or§óÌðXl¦—÷¿þŠ?ú†ðô!C©ByÉR.YçàÆñ˜6l]ÃÅ¥e,máŽKåâIc9Û6ª}~¿¶³Ëœµ*aÿUÂÐDovÔã̚ȳÓÒHðv¯óë‚ &Ù£‰7¿øšG-ãyë°tâ#¿wݾ“ܺNšÝ†ÃªSål!°i=JÆIÏŠ¥²x ¶ŒË˜rÉe‘Þ£iõ¯YòÕ¬™3°ù{iSÇÈs>‚ ‚ ‚ ûžÞD‡@¯¢CAAˆ IUUTUò© ‚ Â@EUÕ¨´»¤ZH7ަæft‡‹ÃÍá`¨®ãŒÈjµÙð65É„ÚdƆåËIJKC³„åN£N9…Ïׯ'eäHfœ|2®äänõªw°¸„FOŠÕng ƒ‚@ÈD×¾¿cx¨KZù®¢C€~_!&ÇÇuzßUtà°ºØQºí€q´—ÉÉG0Ì¥€¢±ª’ õ*))ްÐP¬qLš>–#òãp ôuµe5ÕÝMmìä?ù%º÷Χ(zv.þдŒ²?ÝAërý‚ ß‚{ÇÓl}}1A€æ"êÖ:HþÝ{L|á5R†n¢êùhnêçSúÀÝÔÇ^@þãówÛØ×þ‰-û4Üvl¶r\NrwýNs13ÇM°¦œõ> PÇs V1×:”¿w_?žYMùõ²2vtÍ€¨ã¥¥«øÌ:„¿žrBç²¶4ž=†IÎx~uÜ1<•ãè‰Íl­áõ Ÿ~4ßœ~8¿Mlâù¥›Yꣵ’‡¬cyÜH^9õX^ëdEa5e=dán¨ÚÄ›üœ4c6ßžy,ieÌmÑéÁ^WƲöüÞÁ&¾*24;‘ h­å݆xn:úhþ>ÚÆ×˾åæÊn;ñX^mcþºÍ,lÝý°GëËË+7³8Rýe†Ø\´‚_®måØiSøEŠ -Zc­µ¼T¢pÁGóé1£Q³žëVVPe¶ùåëÕ̳ á©SŽgîìäU®å—»õ.f IDATËvFõMO>^¬¦q߬Q½ŽÏ?«tΟqT纾èã³j[ÏãiKíuéWNõºp¿T'Ó’u**š¨53‹ü´6×Rä3[Ë›°z’¢&>­Ô8wÖlœ~¿ó4òÌ’-¬ tžßÝæl»í¾F)Ùú&õeG“ÜeJÙS¸û¨p˜Úæ£ +Ä8¸Œ&vø jê·ñŸV¿94›QªÃ–Ìù£ÓùïÂbæ·¤qjDÍšêmü×çášiYŒ±«@ç²§õz6áäÄ1Ã8Þm¬ÌÎKå¹²:¶úBŒ¨ÛÎWf*·ŒÉd„ÈÎõ5U\½3zS­͆‚MÓÐ5 #‡Lâ£!Ðì5P¬éL³¬æ£ªVNqâk¬ä›@ ç%;°Âv5<“q6 $'‘emeâðLÆÛu¼)Idl¬ Ägô»/ÏÐg0€ÅÛWsMQ#3&O續p”?_m2¡€9ñ62øù¸Jæ/-fY~–ÆmÌ %sÓøÆ;pdñË u,úvŸ7¥rf}\è3Õ‡ñ9vÄPމµâ°Ú#ê†È­ï>>¿ª¬äºÊÞ}tL¬%J{Ýûõó1µ\¶,ܯãSã±í¬f[ wK-[µ8Fš^–µ8ÉÞÂâ:1*–8j@srò¸áœîó‘CÒøÛÎ:¶ú F5íšßcìt›³§¶Ù9sH ÃlÖð<߽ΠЙߒÎY1jÏß;oØ’¹ó¨¶®‡p"`ºï$¿â¬çMLk>M®LŒ1§“Ó&uáö#\@¨*Š_£´)‚ ‚ ‚ Z[|ضݖ2´ó½¾@ ˆ®ïþÖ¢Å&7óAŠ¢`šf‡!R” ª*š¦¡ª*¿ÿýï …BB¡†at¼LÓìx 4º®ËDÿ Zö h(Â.‚ AÐkyׇ4MÃb±túÛuïÚÆÁ‚ÍéÄßÚÿæt«Ÿ×+n?‘ž—dž¥KINOÇêg´X­Êø}>¶®[‡·¹™ìü|<©©â8á ">&fënÚ¸>|.éóã´Y{-ßéî n·èåÀjuªø[Œ~–›Jycùþõ¬îfÊ¡™haãêM|½\áè©$*Aº@ñ6‚•«(¼üãΛ´aø–mLj„-V¢Œ¥-[\Dz^ÝB€P ‰@ñNH:[ì®KÚxlê|¼µ^b’c÷ÈjÓ40P°(!ªê›¨h®ãšÿìèr¦ËvŸ1kÃe«Zê¸þã2®V¶·k\‹•lÛ®˜š¦cSLfŠº G.™ß#LwÂäÄ\N‹YÂ=s?æ¯qI‘•Áé¹i¨*['$kÜZRKY®¦òJݹLq*Ph:iÖ°ªªbÑt’õ6Y¬¢¢)``îa_LP#ÿÜØª›ãœ:ÖÝÑ™kíˆ@èvÅ‘bSØê'¯Á‹éÌ"7"íu\L™T²±5ö~ØEïã“ÙñÉHpâ®Ü…¨ŒÒ/·+LªØØ䜸d†QÈÊæ éõu´Æerœo+ŸÖµÒàh`iÐÉ™ñV”V@ë²Õ‚¯ÑÇù­é¤w¤IîC˜ï_P±#çÄOIÿ&…_µÏëëÝ·¾€IT±à®½Ñ0Q²/&ï–ŸãptAZ7†IŸÏ@µtnÏð›(f‡= ‰iBÀoà š˜¡pÝŽj~ƒ© »µ¯Õn'0ð”ˆråõ^šUI&xƒàtã‰ÃF0Ü4±éOt¼ &&¿7ŽØ¡üyÆ&GÉ‘ím40̶²>]ïMÃ#Þàõ‡Ëƒ&­A0 ƒVŸ·m}Áð“š>¿×è: \zèQœT[Åe;ù´p5—l,æòi“ùqœÎ4¶å;XTí¢fG€ÜÜxâý^¿‰˜_@Dÿ| >¿¹ËfÂÛ‚A³ÃÖÝõ¥}ܼСèL9†£Öó×Û8rÆPFZÀ4ÚN&ÃýïL¿×nËï3™„Ç>¦aÒêßåÃoB~¯¶¥7üþÇ'JŸÌP›_0:Õ6>þ ƧÓ\ðï²ÅgéÞ^´~ùfG¿|J,3ì!æVד]å#.1I­¥¼]ÝÀz[5¶dò3<Ïéy^EÎï±QDÏÞ†®õëøáïÇîŽ]Çw7· Ù‡`?–ÔC„ÿ«³Ø¼ìsÒR~€=â«eÚægÀèõ˜Õûñª?öõ­½½]NìûÄ>±Oìûľ½kŸ ‚0xhì’¥«èÑ¡ Â¥kÆvÑBdDÃörÁ`°c{×h‡Mxhš&6›M&€øoÐàóùöèû/ã(sín'rýVU‹Å5âad¹®i—&Z››Ù´|9F(DÀï' bFø¡ ÃÀ¢ëhºŽÚæ?›ÃªiäŽ%o?’–“úE‹È:´CXX½s'%……ÄÆÅQ0y2ŽˆôØ‚ € aZ¢kõl¾`3;+Ãi0«k*ih©ÇíÜýý½n²«Ã‚ß»+½ÅbÁÛP‡îì_Æææ\.wÛu-Ô§vöF¹–ò-|´^aâ´á q†Ë…̆¢`× tm×ÅoP ÿ¯i¡NŸï‹~8l}(½”s`ÉÍDùÏ*BMAñ]ãÚÙѳ²P›¶€l¥S{!«‚ª(èVµãó EAQ@·ºˆÉKGùj øÁÑe-X³Š ™Œ'Å…MWz´Ï°†Û±èjçr¡f–•5aOÊcœ[Ç’àDß\Ç–ŒµuoOµ*¨(èÖp„;}s=…A“Y¶î_ͧ¢EôÇoaWÿLµ[_±†?³Xt²Xv6P­¨Œ¶©kòÒ¤Äb³ª8ôhãa%?=ƒüô .[ÍýŸ-cA½Ÿ$éd$gp¨¾ŠÏ*Êh¸87݉˦ EøÜ¦+¨¡öþ…íR#Ç„ð6‹EÁaU{íKxÜTŠŠª»8,;sÔ_þoÝ™Æ#Ãb° ª»æŸjUPƒ­l œa /ÒMª´FÅØÈ2¨%õ”£0Ö>­­«g§iç·Žµ}¿»ñ±nU±”Nã£ùº÷É¢EÌ—Žº}ŸÈ¡Q;ù¹k{Yžîýªó×íê—]gr†•ì(瓀Ƥ‚X ‚Å;ø¸ÔO\fy• WA¡§y¥µÍÙðüžæêþ]Q­Ê®q³©€º›:F¯Ç £Ëøî¿‚®‚ÕîÆêv¡Tz±ZUUCzÛüÔÕ>´¹—íëC{{»œØ'ö‰}bŸØ'ö‰}ýÝoß®A„ÁKey9É’ÂHaÀÒUt™¦±«è°=šR{ºå,:l·Y"ö‰ÿ"<„ƒs ïšnYÓ´N¢ÃöW׈‡«øpâ‘G ë:´‹5%BÞÕf#%+‹M+VŸOáš5¨ ùcÇâr»ÅA‚AC}3î8W¢C CtØ•ÞD‡Ex):ƒý»îkñIdjE¬.¬&aD,¶ÖZVl¬ƒÄ\2ƒmñTÐ ÎÄ-e/¼„í²óˆqî¤þ›)^6’Ü;n&.ÿ4âc¯§ìõwH?ïx¬úVjž¿‘òà• ›³»¶U¬cÏ"Þv¥/¿þ“ã±6|IÙ‹a޹wš#Ô('¦A“·Oׯæ‰7—‘LºfR'8óäòBÒÆå0Ÿ¯]Î];ÝÜqÔxfF4‘””Ã1¶E<³ºüiC™`ñv*{¤ª¡›A*}ZŒþ¥£MKÉá°µ+øóÚ¤IÂV[ÄÃ[ivD»yn°µp1—n°ò‡Žæd·Fmm5«:Ãc­á´Æ67ǧh\½~+qi˜´ŸæžÍÅÕù¥\¾n§Mâèhn 6ñöÊ-L›>”±Á [U‰#cì ©¶\fkKyhåv’Çgá«àñ;ð§Œáˆšún‹¥ËøXú1Ï£Ïc[ivîÙ©ÉÝûõäš²]ý2±®ÞÈgŽÎqi¸$†E¼[ãæÊ Nl@°—ý$EÌïÜ)yÝæìÌ~Ô¹³ÌͳÇ3û»Ì%c+¥ïÿ¡ )˜6 Ãl¥µäUÊ6Õ3e:vAAAaaø5Tëî…à%ÛK‰w㎥°¨ˆ¡C†ìµý‹èPapÐ5ZÐMt¨ª*†at¼"…‡‘åÌj"¸ÿ *¬VëÕ“q„K¤€0šø0šðð`ŽvˆHm“ž—GÙöílZµŠÜ‚<))âAˆ‚;®ç蟙™™”––ö©Ô”dÊ+º§^¶ NTlqLš˜ÍÒ5Å|4ÏGÈb#%#‡£†{p FQMì’¯ý#ú«OPtÍ“„ ÖQ'’ñë_àNP)düæ&xö1¶ÿâ. KÎC~LîÅ'`­~v÷mÇÍ$ãºQž{’ÍW݃áÈ"æˆëvî Ø,àí-ÀI ‘g>ûˆgÚo^Xì OÎà·Gäsj|x:*ÖD®ž9}ùnútXÈLÊàÚ#9Ò¡ðGŒ­5‘+¦NÀºv×}¸‰†.eÕ‡ÓR ¹ë‹ÏY7áPðôãÆŠ=™kÁýKÖpñiœ”˶z­Û¹—J^îXnhZÍ#ŸÏ忉ÙÀÉc&rEbû…•‚¬DR ýäg'ºßÎß,Œ6‚S·/á±µŒ“BZ×"º“i1<¥}·ñ9>-–â¦hãÓÇöºôkRÖ(î€3&‘IN…1‰äè±Ìp[ù¸ÙÃŒ˜¾N#ç÷unè6gþ¾×¹zêŽt(`4ñæ_ó¨e§bÜöY¹z>¿©ÎãÙ#²ÉUúo_sÍF.[ÔÌÏŽ˜È1Q¢ÔþóÕò³/˘}Ø ~¯  ñ ²hÅ7ÜT7¤c|äûÑOûR:ÿsa àE×{¿ŸdÙ¢CAÔW®á'ók9zÚ®HµÒ\[ÂóÛü )H ­ŸçZ¦ià¶òuáN‚©c˜â“µïc|^.ö3ddÿÇGhÃ:üã?‚ ‚ ‚   ´´”áÇc³Ù:DA»ã£O>aõÚõ¸Ý"8„ƒ™HÑA{šåv"Ó+wr8P‡íƒA‰ô&þTèºÞï:¦iîqŠfAœ5¼ýÿhâÃÈ(‡ÑD‡‚ Âà¤?¢Ã𹤣Oå,âZAˆN\â0nÈ_ßý¿ù t››Ù#&pçÐú{éì­/ä—ó·P7„»f$ k¾Ÿñ9bèø=AAAAºãH¶ã­lº­±¦‰XOŒ8馲²’‚‚B¡Þ#ÿëÝ÷øêëo°Ûm\}ÕUâ@A8iO·Üþ¤P!r»ªªBÃÈh‡‘"º®ï‘PKÿÈcÒ_LÓ”q„A°žGþm_Ç#×ó®‚î‚EAáàÁâÔ ¶ö¼~mM ž¤}bl“¯…›„YªY£§0kôwoÊŸÏ«gŒݶŠå•S‡Èññú ªL]AAAAèt ­fÿ/˜#E‡îø8êê;Þ‹èp`ЛèÐ4MÞyï=æ/ø6<®11̘6…ÔÔ”>µÜþ¿¿ý+»å.NËÙóg܃Ûßã÷·}É¡7ßÉyeIö'Ñ暦u o«>{ýgkªS9å–ÛùÉÈ®¿ý©]ý!/ÿý¾-¬ÅôŒäès.â¼#òpE[’|[yçö[x}‹¿û6ç8®¼çFŽJíR±n)Þú¶ŸÝÎãÝáãZó&ÞyànÞ žÁ-7ŸÎïR½é~¾©ÙUÍžTÀ¬3/æüÙy¸"´‹e¿ ® o«þ÷ÿþଭNáä›oç§£\=”®âë{~Ç_V4E߬esÚ-·qAAß— –~Ì÷~ÅÔëþÀ©¹ý;÷ä¿þõ)LkÙÞ{ým>X¸/ ÅçsørþñÃqïÇß‚ÅrÇ}ó™v}ÿý³?°Xú¿6‡B¡=ª'³Ž÷ô4¡¡ˆA„ï":°ôEt˜“@íöÚïll»èÐesÉÈ ‚ ‚ ‚ ‚ Â>À0U|F›Ú]  š†Ò{D¼HÑa'üXCâäuìw“bÙ4MÞþ÷»,Z¼WŒ‹+/¿”Â-[Äq‚pÓU|‰¦iøËóñÂ&FŸr&ÚóQT­C¨®¢zÁ߸ý© äÿèW<ü»ZÖ}Ä ÏÝß½7óÛSs±wÝ©sgÝû*gu:ˆUòÕÃ7ó¢o£St4­K‹ŠŠ‚¢YÐ4 ü;ùßsò¡y7ýþ ò*TT=£o¾‹«ÆÇh,§hÉ¿yòågøhÈ­œïèÔ7­ÛNö-Š¥Ìý¶‰Ñ'ÿˇ PwkS*GüáyŽ{žÊ/ïæ–w†ðë;Ïg¸cÏö¯åœÄOœ´gu{°µ}jk }ØYÜrÑx²cLªV¾ËãO=ÎëwrÕ¤¸ý6>¦Ö5ì˜+}“½5Ž‚ ¬u¼ëÿ½ý¶æ ‚ ƒÕnÃhõQ]YMbrb§mÍ-M¸œýиO¬|WÑᬡ•î2Ö×,£)€o›?Ÿ‡çÈßâ‘ܸƒœÁÆŽÀ+OÊ ‚ ‚ ‚ ¾&šèè“è0;wÅÛº‹Ñbcil¬çÀ´G<üý­·0uÊ$Î8í4þõïwY²l9.—“+/ýñqqâ4A€žE ¦iâv7ÞÔ/呹 PT­#""Þ">}{Î97qÕÉùa‘ááðK³œ›_}‡U‡_Ë Oïâ_ñB>Z«3íšCȲEB©*  ¨*šÒÈò×âå­¹â–2&ÎÒ½ŒfA‹ÏdÔ!G0îݵ”7‡: ¬Á•køvùöÓ…¾íUUPPÚDqûÞöžü·'}råÅ9¹»ÞçLœÁ8Ï×6P4ýôÐÔ©IŠð°=­jëˆðP×:ÞõóhÛDt(‚0x1ƒ Š%|­f´úº‰=B…‡ß•-E›PõÎ'©Pï'­!£o'Ä})j­eõÚíÖ¶Òddç017g[Õ@S%«6”²µÎGP±’’Τ©$Y•}b„ÓÄöz¡0Ý—3K^gëýÿÅý›§HL-¥öo7R± #éd²ÿx1÷›J—qÏó_³%žñ§ñ‡³rqwiÏ4ÚN6úo_Cõ:.]XÅ¡‡Q¿f E¹‡ðT~+MËoeûêOhj  lýϘ›ÈŸt v B±üÝGhŠÜæÁ™~ÙÓ~MjrÍÄ™ÇbUw¯Qõ ‹ç~IòÉÿ AÙÖ}ÌF¸qtØ×ξÁ#+›@OãœËÎàøTËnýl–ý‹âûÿƒëWOhU1¶ü•m/Äõë'Hjßíœú.óo_”ûÄ>±OìûÄ>±Oìûú^NAØx²=Ô×ìQÝh¢C@D‡€öˆ‡6› ŸÏÇâ%ËPP ý,_± §ÓÉ•—]Š'!¡÷ÔÌ­;XðæÓ<ÿï¥ìôƒ=ÑþTkÛ¬[Ç/<Ï??ßHMÈJÚ¤Ó¸ð²s™™eGŒ¦-Ì}é^Ÿ»–ª ÄŒ;—›wÃ;ß©£fñ Ü~ßgÄ\þ ·—ŽQ³‚wž|Š×–â·f1ëÇ?çŠÓÆSö·ß3WR-ó—U@öÜ}ÿ%ŒŽH¸,ù€ÛïùÝ]Íâ55˜j<#fŸÇeŸH[%¸ý=n`ã¬ùt>Û¼ ±¹Gpþ5Wrr¾+|Ò_Áâ=ÃßÞ\H©ßNæÈa¨u'þáß)Å´ èô$Lèø\U JÚÆ`õFV7¥qÄ!y8;„O*ic _y™å¥ÍÌLr÷²÷Ö<—Òôã¸|lQõSªÞ?>¶ô4O,Hæü›/eVªµ{EEU ¼u;XýÑ›,QÆse~\'a–ªª{$Ôú^PÕ6ŸöÕ&3ì#EAQÕ6ùÙúέÜýí,þpÛ©äè@Ë:^ºñV¾È½Žû=,ù/¼m.ãw'gÚæqËíŸsÈM·sŠú1wüic¬ýlAÛññp~tõœÔ~|ìdr/¶ö»O@ÈGCÕ6–¾ûó‚c¸tl2–nuûßÏs†Ù Ö¬àßO=Í?¾ ¯-3/¸’ËOK¼FÛb”°¸3Ü“š%/rçýóp]v?·OÉ—¯ñÌ«ÿeU¹ì¹}Ùõ\qLÝbo4mà‡æ­%;ñÎŒ)̹üœ=1­mÝYòγ<÷Ö·mëÎPÔ:nº•Ss,ëÖðß_äí/ÚÖÛ‰§òÓKÏáжõ6rLú?õ ï ßÛzÞŸí‚ Â_ÚD‡ßûä®HWÑ!€®õ-Ë^)jaóš"JíÙwT¶–*­ØÂbëŽÊq úëY¶j;Õ‰Ù=6g¨Íë Y°^åØ ‰Äªß³}m8l}9‘7z/7ì|†¾š±7ü…‹§zPýÛøÏƒæÓ”ó¹÷…™x*?ã‰çÅô»¸*µêÑÀ£ IDATh§ÝÀs¿Ž¡dc%ÉQnqššH9ç6^¾%™`é|^{äî}ÜÎ=×Mà«+¡Ú}1Wýé*rckøú¯wñê _0á'‘ei`åKwòȪQ\rß LORºè ~©X&˜pPÐUŒÐù8¡„£ v‰žäo®¢Eóo#²ºâŒ'ݤ¸Ùß«È!´s |ÛÊØ‹'Ï® D7… Õß>Ï_UqøõwrBngኂØÁÜ?þ”¹:>ç$Òìj·ÈŽŒøB‰îÛÞǪ] `#sÒ¡$~0ŸÕå'‘›mÁ[²”••Ðà_ȶúCHŒR±v> 3˜ší@©ì¼_])5qsåƒáãã7OßÍ«/}Å„[O$ËÒ}ÿ»µµß}jfíË7ðûwŠ1”dÿ¿_0%E§{Õ=èg`ÿ}èQ>K9Ÿ{ž?Oå<ž|ðI^θ“_LlìqÛiíÑ? ê–ý»ŸXÃØå¢)Ìâxúù…$]p//–Z¹žE›kiecïâ« ßOÊaWpßUù¤ZkYþÚŸx쉗ñÀ5L‰o`å+wóèªQ\rïóLKRºøMþüRqØwb>úóü““ùåc73B/ã«Wâñû‚ÄÜ} Üß-mêõ=aŸ¬í‚ ÂÁ‡7Äaé|’ªiZ¯¤Fã xd%ÐTK‘×NA^ V g¼‡aqÐPëÃøj) Å0vH"qV «3‚!q(õµÔú^Íâ×ÙzÍE”þ÷>Ö_w?MuETÜqë^\¶~ ²íó7¸øwrA§×ãÜüY¾.¥­º·®“f·‘fÕq;[”¬GI¿„¬ìl,ª[Æeü?{÷Guöqü»³]»’V«fUY–m\± Ř^^L %¡B¨ ¤ÐB(L‡„ 0¡…L(6î½Û’-Y}%­´ýýÃUV·eY¶ŸstŽvçÎÜgîÌîÝ}æÞ¿ú‘õnþ„4Y±¸‡‘uÄßè—¶‚µ³>ÂÂK)üêQêÒïdð‘—‘êMÁlqãH=‰¾'Ûëêk Éõ}'«›?¹›3+m΄ZMémã™ÿÐiRÅ笚ô µå Ùpý‰¬øzÃæç£5¾~€eWÎOgfÞo da9[/[E˾aãýg±ââQ,¾äÿXúwð×m>ÑUϲ䷗°áÕÉ,½â°ÍëÿáZÊ”CDDDDDDäÀåv·>U®)¶û?2Õ5ÔÐûˆh4J4%=-__|vûö«X+×SÕT,âÃÿ…wñyLÈóâJH£W^6ñèPP¦F#n{²Ñóf«s,H(jjR>3a1[vz~ç¿«¿|Ÿ%®Cù¿=°´XÀŒ+£7Y–Rfÿ°‚šX3e¬™{çK¼ûî¿yû—øÇ}¿¦ï¢¿sÛ£_P1µËÞúk¾m[ýkæÙ³†3.¹Œ™ Jˆ˜(üq!ÖÃÎáçJ¾_[ƒ)ZÊ¢™ÅxÆŒ$DZs½ÛßÊIÂíÉÛöþXèŠ}rsÐEðòÔǹ󲡬~~´ž`3e;ºŸ k¾ÞÖ·ä'»IoYCi+ËêL[ú«9/q϶þ*‹É„Ù™@¢5Då¦Rj#6<=æØ£‡’bm¯5e(G=‚¼´DÜž^Œ:~<Ù±Jj#˜*óÑÖ~§o2îÄtzoíwL&êW}±½¿ÍJ$>­ÿ¶þö£…•Ýô|ÖŸþô×þDDdÿ沸Ú,ã´X×oÏîY»fý.%:möÍy^ ñÎýºQ­‰Yœ4¾€<— bjÊJYZm–æÄ8Rzqêø¾än/JÀ$lX°î陿þ¿£ÿƒ×ãN>ˆÌ¿aàÅ#0ïöV-ô6Ïßw /ßw /ß{9“ŽÉ >)ã‡&7IP³;ÜäºâÈqÅ‘ï¢w\"o2‘Ò(¯òw,IÌÜ›”~‰–|B?F¤r:ËÜ$cçãd@!c¡ø-Ê}¡ÝhÄÆu¶r—XtÇ¡¸~7ѯW-%ß?Eµ gþ•*ï5 2h7C”XdSHLÒÆN&Û6¥_¾Bm¸i‘¦ÇÌÚv†²µ7©w~ÉàëŽÄºó2ïÑô¹cëyø!}ÏÜò+Åjj–Ä‘ú§÷6õ²ó—QüÌóÔÕþ”<|•ñç‘ýð—Üw ÅO±úÙÏnÝõŠ9”΋'ýæ÷úÜ?Éî·’òç§P[£ŽDDDDDDD\µµÕÛþ¯ñ5MŒ™:~Ë^nFn£Ç.‡] ½‰D"R’½\rÑ…¤¤$“–šÊ¯µ9é0 ‰DÚ¼À¬-¥*æ!'9®Ù‘Ç‚µ›¨³¥‘íÙ>„¡áN#'!Ju¥ŸÚª"jÌ)¤ºZ¸2 °ié"69ú2(ϳmªž€o#U¿åKNeâĉLœx>“>-¢¶&@xÛ$.%‡$£ŽŠºæ¯ 1b@з‘²HÙÞ8L"ídO'!VEaeC£ç£þ26¤'¶ÞĪðÑôRr?Ž‚ø¶j3áìu"WÿñD,Ÿ?Ê#ÿYM}+eÍö2ÃÅWMijüS~ÜÞ¿†-“a㼔͘GqM!?.ˆÑÿ¨Ã™0Ð`ÙÿÖQµi3Š“7"‹öôî;¾?v Ê˛˰“¯äÚs{°æ³ï( ìþ~¶Ö·øÛêwZ诌ÔC¹zÒ Úð 7\ð ®~à_üPÒÂÍQ?ë¿}•{¯>‡‰'rÖï§±¬&J4Öv¿ÓVÖ[ˆˆˆÈÁ06òsš_g© ×µk}‹s{vOÏ^9»C}0°ù󰯦¾Õ‚ÉññØ#N6ø7íÛ­òñãìå,ó…±$eph’­Ù„ªpm)³Wù‰ËÊ"Ù¦“µeQ*—Ìäéo8䜓›l&ØiX@{*w™ºùÿ1£9ˆ%ÜEÏ¿aáëÿ"jëK­+‹èA§’ìqÓú=,®L,‘•Ô‚„ë )îæ®<XÂ{_]-$%íâ>6®³Ù‹ ‘JêÖ>Ê••¸†'nëkÓÜ“Œq7²ñÍÛY6ý;b¾ô=õ»u7ôÖºÖ®®Ä5|s]ý‚orM ï‘QùÞƒ,šw0ýԸݛ9f{„5‹„³ER®ðxÔє̞OCuGÉTTLÖu§buÄ0Œ1¤u,•¼oÓQxlÙ${žDâ„ XœGCuøx½pEDDDDDDâ:'ApÝÆujÌ}T,Ã0 Âá0Á`d¯—kw ~¿Ÿ`pûõ.‹ÅB,kq«ÓC\´ŠÂòzèÓôܲºR‰ .¢°*Ȩ-ÉѺRŠj <^g"ÖúUV…ž`mZÉEÁW1òí»øÇ#ïÑãæÓèã‹ÓC|æ\qÏuŒñ6^%\øÁ.µK]éZ*I$=Ám àiq&â W°¦´r=:©DÚÁH-`tÚ?ùìk95¿€ÍC_„)™÷5kl8%»µ8Âlüßø!:”ËÇeÓ¾+½‰CÁW”sË“÷ólÊd®—Jk—âM†Ã0°ì÷ó‚YÉ~(Þ÷¿å‡Ÿ*™-à‚ž=È ÷‡©ßñSBJ’ÆrpVw¿©À„ÙfÆhq¤®Žígk}Kí‚-÷;ëÞk±¿ƒ¸œ1œsÃά^ÎçSäáûLºç<úí4þ‹oþTî}j-‡\v/S÷ÀYú)“ïÙ®~§­þVòŠˆˆˆ¢ÑÍŸüê#‘Nßvaá:²³sÛùml'õÍÄS^S³ï'X1vç5!Ö2fÌÙHy£[b}Å|?{‰YŒíãFéK- •/eÚ;ËpŒ9гû»Ú=ŠŸÉ>˜¬c>ãÈs¤G¢•`Ñߘýê™,YWÖv],LŒ-Ã@ÇBÄ0ZzË]w»{ëÝŽu„³ê|ô·¾|º'?9„ŸOÇ>ä1†<´Ñ—:#ñTzCdcñ‡ÜF–×ÑÁFÞ^×GËÙV—mÐ#ÛëêðˆØ¶ìßqÐȾøfÝLÑ&ßÞ9ìIضÛ6Y˜ ù ­_KhÓǬºl$K/ÅâóG1wÒ?ið•ðm¹KÖæÁ¾ãú6&#B4¢É–EDDDDDDÚkSUÇ® øwºé´hc±±›JNN¦ªª Ã0p»ÝÄÇÇãt:‰ÅbÄb1œN'ñññÄÇÇãv»1 ƒêêj’““›Ýž‘:„ã†Äøî…—ø|Eõ >6®]ÏÖÉF\y86·˜wž‡Ù}Ô•/ãÓiÓ˜ë:Œ“y‰Ï›À‘éëxý¯0ceõu™7ke;ÞëkËd¿e|í›üå…YTDÁw$‡ºçòÜ”w™·ÁGC ŽMK¿eÆ‚rÚ=ÏI¸–k ©¨«£|ù§L›2ÓˆšÚvÆ‘‘:Œ†Ç˜ñìT>Z¼ Ÿ¯”µ+×ãÓR"-³dsø¹‡ýðžxo*JYñÕ‹<úÂ*úžq:ƒZY·~%Ÿ¿¿œÄ#NfXJG²­¤q7ž›Æÿžü+o/­kþ§H•k¾å)ïQž{ƒÓöÿ4-kÆ0M.âÍW§ÊMOÄ÷C¿È×¼öÆZ<ã&³[ýVÏšO^æÕé X_QG ¡Šuß½Êß_+!︱äØw?[ë[ìíéwšé¯ê gðñ‹)©m b¸ð&ÇAC-&¿»ÆT—Ó`M!;;W¤ŒÅ³æPÜо~§­þVDDDDdwµ7éhzã‹Ó¼ÿ7ÉGï^^–Í©¦¤¾Éñ¥¶¤ˆ¯”LîÉQƒ’ñð·5°ð׹绪- çá¸KÏæ—}Ä›øä­oX’z7•…»ÃÉo¬ y¸¼Çsøyþ{:Kæ~E¯œ3°¶¸NˆPMKN» ‹{ Þ ®®’vþ2%ä[L€ âÝîÝhƒÆu¬èsÆ[ôëGmÙW”̼‰õácÈ4§¥éÅ[RlöuÄ'§Ñá›'w¨+âû†5ÿ½‘õácȰ½.“‡A°Ùépb‘Z¢Ø0›ÍÐèwx<Ãî¡oÑ9,ûæ1Ü£öÂÉn2 ¥¤ÑX £ç%äO¾ ˆbà´oo½è*c’.EDDDDDD$ cµn¾ÐPçOÓ 8Gë×­!9-­ñóöÆW7²2z4Y7ÜÁâ0«¡÷²ììl–.]J$iåÆÝí¢Ñ(••• 8°ùæTÆ]~#µSŸá¥ë/âш‰¤#HsoÉâ°÷âäk¯'úÜs<|ÕKTEld޽í|>ÝZΞÅȉ—rûãȲîkm» ¬ —ÎKSªé?¦.€„>ŒÍ·óÑW^Nž¹áhÇ>59¢Äbu,}÷!^¤‚0`Ỉü™ŸOheÌŽì§³å¾el+ËF¶Ò_Ýrˆyo<̃ÄÞ‡rÖoÎa`“îÂDê¨ 8wÎ#<Íy¸ãìP½ó—ðäŒÿ›Þ¼å?öèL>ìP‚ KV¦Š¹øËƒÄ%kb‘δ5é0 ›•Ýlƒ¿IÒa{¥ç$S^Z¥†Þ˼^/¬_¿žÊÊJb±–/¼™L&¼^/Äãiy:a#¾'\ý '\Ýür‹w§_÷§_×ür{úHιi$çì¼Àu ÷O9e{¹Ü¹åÅw8©Fpö#8»ÉOâÞgOjü”9‹î~•¶< 8{1ñ–»8­WÓ ™–ÜÆuxFÝÈÓ;d5šœ¹L¸ü.&\¾ùq`åëÜt÷l Ý+$ 9ÿw¯ÿ_Ûå’Mä÷Lä÷Í-Þ鵺å]†ô wòò„v†âÅuOlö2겿ñæe[ŸÅuÏ¿ËuûUÛ6ûNNÚøÛ™2¾ÙžŸÜSîåµFou ÿíÓ¼ûÛ"ÈÞñ}µí÷ÇNÙ§&ç‚‹ÞÇ_Ƥã/ëè'œvïçæ>©¥¾¥µe­õWy\ÿä‰\ßžP½8îšG8fýN[ý­ˆˆˆˆH×}‹iA(Àjµ·ºr0Ô€ÍêèÖI‡NO YæÕ,XUNR¿xì •Ì]VÉ=Étš×lâû%ÕØzæqXo{$ol¿¡|Á7<;+ÊçŽç°”&…E×PôþÏX¾!‡D4Ö@CáËl\^{Ä!8ŒffFŽ…×. äÇ›YQ1ˆ¼ÓŽÂi,dñ;6ýûæÿ·ŠƒÆœMR¢ƒpÕ ¿»ÕU£)8õ4\»rƒ},D¸fQ“:›»ÚäE¥ê­{Xðí ,ö=tm­«ü­{XðíàÍu¹Ç’Ó'‘¹3'±Úþ'²²ú`¥‚ºuÓX9oqÝB¢“¦‰‡€9élòFÏ`Þß#`²çNk¦Xáꢡ¶2UMX Î Éó6NF ÎÆå*¦ò¥I¬ŸÝŸž“oE7퉈ˆˆˆˆˆìšPЌնù†[«Í¾GêØšthÅDˆ˜}/òz½x½šv±sEñ-§<š@Rœn˜õ;""""²oŠÄbÄY-Â휯¶Ú‡;qûì)-~Bm+éÀfu4zœìM¤¼¢ºÙ² ñv|5½ÒP&{"ÇåðÓÂõ|üE€ˆÅNZf.Gæ{qÊ6–±)!¶zï®ÞaEKcÆæ“§[W·¿©aÁÿV²©>ÈGÏOá£ÅåË­¿( Õ™¾^dLx˜Ú¯îeÁ›¡!Å´®€´ƒcР~˜Ù’ÜZ̪7°jë1´õÀy ýOý™)®­ÏbI¹˜ûR2÷ ¿õ0þúF\I}¯äàñçàuwàz»êlž9ù<úßÿ÷f–d0¸ —=•¿jN>üÑß2÷›íu¥þ"Cãïgå—§³Üç#†«g$)?Ç€¡#±ÒÒ´1V}n¦oñ<-ß B«)|Å wÐÿº#›¾“†âëï:ÿ…Sè3 íÅ ó†;0=ÿoü;‘¨ Û€ÈüãoIH2ˆUê¥(""""""²+¬¶¡p«Å¶ÇëRÒ¡ìÂT,ø†¹á<îç¡~Åçŧøß_Ç}‡Ùd‰5¾±61ÑCuõæi•—/^H¼'š*ŸKºKöIÜûìI»±¸û¹‹Ô˜""ÒÔˆˆH×hoÒ!ÐlÒ!ìx¸;I‡@£¤C Õ¤Céfü%¼öØ“|6|"“ÏéEâ~¶{¡¢[ùî­©ÔµT þLFœó©Î;¦œ0ÌyíUœ] Ö Æx~=I¯%‘ýÔ¶¤Ã­wí¶¤Ã­vN:LNqS^V«ÆÙGYâL„ýÍÏxÕdnݨ͆ ªÕ¶ôáÜ>yÄ~½Ö¬É~õdêí±¥ëbÚQw‰¯uq ;çW¼|Ž^?"""""""Sû§øSÒ¡ˆˆˆˆˆˆˆˆH×qÄ9ið× °YíD£Q c×s‘ZJ:h²U%ŠˆˆˆˆˆˆˆˆÈ΂¡°ADDDDDDDDd/s'Ø›}¾Á_°-騭¤ÃæÔ4Ôlßvgn¸6T¯#+{^`+>y€Š€šBDDDDDDD¤«Ø¬–V—×ïpÑQDDDDDDDDDöŒZßî'M­ZµªÝe×®Ûö¼#~Ûÿ–]©8'»'ë ×6yÞmuvÛÔW1a!+*ˆXd÷ÌaD¯âŒ–/ZϲòkÙ=³-—N,çó·>æÕyø=ý¹îªã¾ý¼ÄWºˆ ¾)eô°}ú´»lNvn³ÏïRZÝŽI‡†±9wÑáv¬ë†S5Gü,›¿–õ¶LŽ=r8§O!º~5ßÖÙaù:[G6’“‡¤6^..\]ÄŒUpį~Í´ëeØN×¥M¦Í&ÀD˜†åfþ\=Ž|ˆ^ù—2ä˜_À¢Y¾b5ÑmkF —½Â‚÷n¤¸:Ðt›ì¸Mi¯™Ùj‘ýŒÇíÙ¥õÚ=âaQQYYYÛÇÛ¬ÔCTøªð¸Ý4Ô6`sÙº]ã„j+Y]ï   I¶(ؼä%3«2@0׉eËò%ã±™1Ù½ä%nضü@/ºö%–ßÿ>Ž~qøf-Á4êrNXǺǿÁ=&ßgŸÒíIÒ/n$9úë_ÿ”@´IÞGêá½ÛܾÍ7L~ú'Š¢°tʳÌ=ôLî8% ×elV' V+é~›•²8?¡åK0eÞNvN"ëW­Àžy)#~u)uõÑ-´õÔ.ø#?~ó¶¬18§÷Ù¼M =vœ6+eqVìzï‘ýLñ¦z¤¥ïòúþº0q®Æ— áV6)›‘ÀFŸO.""""""""Ò…j~âíq²­ªÚª]Z¯Ý‰‡;&ÔCxÜîU˜šœBiyÁ°¹Í²‘¨A,Æî—sårÌ¡›ËCQj+ÊYRe’ïÆ6Û² ŽRWYÖhypOÇ·E]}´Í2Áp”hÛÅv«\,%Z½_lÙ!ä·®[K¤r.åk"ó¾k1}û' §\MÍȫɼ÷ðÝ-¾9kÁÒF¥éã¸þ×q<þêr†üütNèaú(u‚ˆ#Óé$Ýâ G•9žX¼—ðâ÷ÙP2‘`ê£ÔE!Œb2  Ó`>œ^'O&Éx“ÿ‡` º½]·l3Íì 1.Ž*³™úÚ¼3Ûy{|t‹ã«øŸâS|ŠOñ)>ŧøßÞŠODDºÆî$M’,Vk³e7ú|Ôûêq&8Õð"""""""""] 3ˆÔ„èȈknwµµ»w±Õ°ŠnŸÖÒÕ;^Z^lŸF·5;N·Û)åÂÕÌ™»Œ•¾0fO&c’¬˜w\/äcþOËYUÓÂò=Ÿa´g[¦=^.flY¸ÆŠ#ÑÎ(øM˜,Y¸O8 W’‡è€C°ºËˆ;þ$â¼ D‚õ£oûƹ]õb“ÑÂ~;S™th*P ûÈC8ˆ%N¦gÙÕ,ÿ÷¿ˆÙúâweBÿ‰8œq[öÃ…«Ï¹¸€hÅ–zvܾ3•?NÁn5Á–mvE;›Œ®9nŠOñ)>ŧø|i4ž IDATŸâS|ŠOñu÷øDDdï0[­DB¡FÏõïSÀ’UK·_—2™ˆ¶çÎÙæ.ã$8q™ÔEÔØ¤¢¢‚¢¢"ÊËˉµr\L&^¯—œœ’’’Ôp""""""""³)Š'%±Å凕††Æ×[J:LÉΡ¬p}»êÝ1éöBâáVVs¤ëËÙã9dì0F…ü,[°œïçÁQ#3IÞÚ fÃÁðH«-mº|Çç´·ç—ºè/µ¶âŧøŸâS|ŠOñ)¾=_û¾‰ˆH×Ú9éà‹o¦“‘¹}†“]M:ÜJI‡§²²’Õ«W3pà@Üfùúúz-ZD^^G ("""""""r€Û9épGa“Klûòö&6§ÃcR”n,mW¹€¿ñD‚ݧqMÖ8z÷ò⨯¦¤™©vMW«Ë&;Ó¸Ós¦-­ŸÊ,|gçýé±Í7Mã…U»s!Ú‚5!—÷òOy“A=+)[ø5˜Þ4DDDDDDDDÚkǤCé^ŠŠŠÈÏÏÇn·FÛü³ÛíäççSXX¨Æ9À…ZÏËZ½lQ«Ë{ôÎnw]ñ05#µ]åìqV/ ˜m{¯Aý%+ùx‰‰a£òé·ù¹h8L«aÚ¶|äè>¤[š.—Ýáà Ó.äåÓ?[³¾6m¸±»]Pç'ªÄCJ7n$5#£ÍrUåx¼Éj°îx KK)(( iÿH‡ƒŠŠ 5žˆˆˆˆˆˆˆÈÈ‚0›G´8xR½T•V૪!Á¿­l~~~«Û*^Ýþ›[Û5âa4´ëÃÚ¬{Ä@§'…,³«Ê© F¨÷•1gY$§’é4m[>wUÕ¡ ¾ÒFË¥ˆ®¡è½‘|ñÎß(óùˆÆh(|™ÕË«‰ë5 ‡¡&iOÒ! ¤Ãn.‰tè/kaºìȆO¸ùò›ø 0¬†‘N­ßÀì÷þÎÍ¿>“‰§ý†) ëv©ÌNkP³ü#žºýj~yúD&NœÈ™—Nâ…™ ´´JÕ,ºì þ6Ç·í©XÝR^¿é\νîMV¶”¹xóö¶þ}É<ñÉ*êbݫ͚®XÀOÞ̯ÏÜÿÏ.å–§>bQåö÷ôðº÷¸ñ’xgM°[ö»²ï fðÏû®áÜ-Çìô_^ÇcÿYŠo/ÿäØV[‹ˆˆˆˆìµÏª4ýŒZUºù&Õ“ÛË›Ût`B·ÇÓä¹vxhXw}¸B_MÕ¶ÿ<‰øªª»¼qMöD†Ëá§…ëùø‹‹´Ì\ŽÌ÷â2€-Ëç,*dúW«š.—½ÏèEÆ„‡ |s/ Þ|ˆ†PÓºÒ~Œ‚þýÐaÙ5UUx›¹p¸£Ò²M¤¦¤µ{›N»ú€~”ßUÑhÇ2+ZJ:0gÇÝÿ8N*"&¸á{>˜écà)?ÃüŸ™»\¦1È×ÿ,þ|å0rãÃ~5•Ÿ¸SÒÝ\8ÀÕŽÀ62ýÉy/z*·M:<;PX39öθzXλ½ïæçùÎnÓf; ÿ—Çn}’ùÙ§sÙƒdH†ÿ†9|üÂÓÜ~ã~;ù·‘ÞöÏ|ÓD)™~;~·€ï=~Î=»ïDBXúžÍäK†‘¥tÎÛ<òø_y!ã~®áÑ‹PDDDDd'Y={R´ví.¯oóØ Vm¿í«b]i“2µUUMž³tåNš‚{ïV$«;™ƒG¦1Úiqù¨C’6c2Õ9`OF£çùt7§äîáŸ#|ekùñßÏðyh—”ÜLÒa5oßÊ]߯m“O!× øó·òe¯ëyèÚÑxpá‡Lšô)Cþ|çä9Zm‡––¹GÅS¹óþé¸/{ˆ;ñPØÞ>¶v)¯ýõ/¼ñC1A .s$§^q5gK ÜÄo?Ô7¾§(è «F•™n¹Sr-„«òáÔçyóËeTDlô~ ¿¼ôÆe;0éCDDDä€TVSµWêíÒÄÃÙsæ2|ØPm‘=(®¦¢¦oüžOt»]Ø“ÝÊkÕðÀaãÆ4›|XPÐñ‡Öæ6öÔˆ‡áÂé<õÜw¤œw?/ž‰Qº„ÿ-¯ 6œÝ¢c'"ݪ'cÝWo2#x¿:8£•³Â”}7…û¿)åðîæøÜfÒ¨Cøô¶óùtÛqäO<ö¬*¢4êåì„fíÌxròHŠÎ¦¨:VÀšÊØKnàìƒS‰Íä•Ggrµ…{sHãƒkùà¡Gø<íÜ7uÞÒé<ùà¼q7W0ýÑ{y=vW?vý|,^TIŠÍMê¥OðtÞ®Mµ¼ëêXô üùõDM©þ›«ÑlR©ÌácI~&óŠO$7ÇBýú˜[ ¾àw¬®×¦dÁLJ’Æ02ÛÑz; ¯iqÙÛzj*|‰»žXÀ ÿÆÅ#½D׿ßî>6zèåé¶Jfÿó!üòú=#=>æM»‹GçàW÷OåÔ0E³^çáië·Ãu|ø×ûù'qÍ·Q`ÝÈ×/þ…Çï á¾÷†&(õPDDDDºN—ŽF®¤C‘®áw‘š´y4§Êjß­KI‡6nöoô\{“aóˆ‡ýkOò¡áH Ñ¢rÓ&jÂVs‡sìÑCHVÒ¡ˆt+Q|s_á¯/­ã Ÿ_ÀØ4s+e͸2z“e)eö¬åøš0֚ɱw¾Ä»ïþ›·ßx‰Ü÷kú.ú;·>2áý¤É,nzädâu¹Héw,\<šØìOXXÞ¸o¨_ýÓËûqÞyÇÐ×ëÂ[0ž“‡Â♫ٴú Þ_•ÁÙ—œÎðìDœ 9Η eýó·ñÀ‡ëhn8[æpÆ%—1s~1aêYÿÃB¬‡ÃΕ|¿Æ‘M,œYŒgÌH²ímµCËË6Ú S9ûEî~|.ý¯¸…‹Fz1w°µ$ᨣGÐ'5WbOF?žìX %5a¨Xćÿ 3îâó˜çÅ•F¯¼lâ·lÇ¿r:Ÿ¬Nç´_ÁˆÌÜ©Á… ñÏäÃzû‘=.!% €ÚÚöÚ%¥PÄÜf™H´}y‘Y.50µóf Îޝ>Ðö*P èÚrÁp“ÉÔåõ*>ŧøŸâS|ŠOñ)>ŧøö¯øDD¤ë•VÖ0xÄÁ®XÑáõ=i Tmò©!wÁŽ#v$ép«ŽŒzhí»þh¤ÊÕ“¬¼÷Ê?¹á‚‡Iw6¿üå)ŒL×DË"Ò}Ö}Âã|ŠùÄ›¸|BÖVK›pö:‘ËÿäŽûå‘´;¸qboœ-”5ÛÈx _UÎò{>åÇãù¿œî—}mKÌ$ÅTΊBÑ|çN£ˆD¨Z·‚J#•ÌDø›®—’K"3ØTdÇy~¾Tmü–.9•v(Ÿ02@mU5æR]æîÓ†—7—a'_ɵá[¸ý³ï(<:—¼»-[&ÃÆyyÆ<ŠÏçÇ1ú_p8#m3˜ò¿uT¥3£8‰qgaªZi+˱›–.b“£/gäy¶ýÐÚ¡>6êgý÷ïòÒ?ßæÛµõ›Ÿs `| ‚¾”Eèkþ;}í&êlid{lÛ›ÉFNB”…•~Â$£û DDDD¤³8œñ4Ô×4zÎWV €ÛíèøgO¯ÝNE Ðá@êjêpí0µ‹Õܾ g]].“iïÄç´·ça´ËËE£`ŠOñ)>ŧøŸâS|ŠOñ)>Å×V¹ŽM )""]gW’6“K7–š‘®nÁaãÆ‘žšF~~ß­‹Å0 ƒp¸í¡¸, ±XlËm1ˆËÃ97ŒáÌêå|>åA¾/À¤{ºjÚL‘Ö6Lç‰ÉSY3ôJî:bGÃJ*Ÿ8›¹gà§«n£jþ«,»âBŠ×4èU!""""""""íb6·=â‘’ÛÖѤÃäädªªª0 ·ÛM|||‹n·Ã0ðù|$''·¹íúÂ|üÅbJjˆ.¼ÉqÐPK@÷ˆH7*ùЧî|š%/çŽ+ÇÓÃÚ‘µ­¤q7ž›Æÿžü+o/­£Ù¹H•k¾å)ïQž{ƒÓºiš–‘ʘ /`dõÛÜ÷à+|·¦ ŽòU3yùø ¿¼à’·&N†|®-Æ×POÅÊé¼×VÒ!€¥¬¼zíXf›)ÙDzzÚÞkሟeóײޑñG&b÷—1kîj¾µôãÈ\';^B},^ZBuĵϞP±²ð-‚ä[>!kP&ÃÀóÔ¹z¥‰ˆˆˆˆˆˆˆH»•n܈7­ùkzG" Û¯+.^¾œùùj´NÍÒ¥K‰D"íÅ0‹QYYIÿþýÛ,kŠú˜÷ÆÃ<ñp0Hì}(gýæºÕî"Ò^aÖÿç®}zÛ†:¸éçü3=ϼ—ûÙŸ¸ö”‰ñÑm×2•‹øË'eö±ðõù|ƒ6<Ìå_<¼­Fïá·òÈõ£ð´ù&G߉¿çšÒIÜwÛØîŸÌ© ´Oo;ŸO·–³g1râ¥Ü~Æ8²¬Ý¥Íš²fÅïîOå£WÿÉ3×¾Bi°¦1ø˜s˜ôûã8È»=iÒævSñá­\ð—Jbæd Žú%7ür©ÆNãÒ;ûqúõ¿Ç˜:ó,Õ n §ßô'Æ:ó9íú?ÂsÓxêÚQ…øáçsûÀA¤ØÀ3`"ÿ×ïA¦\sOÆ âª¿L&?©ö½É¹%«cé»ñú#„Kê`N¼àÏü|B6¶–ª²f0t\:/M©¦ÿ˜^¸ú06ßÎG_y9yxæöu[m‡–—Ü¡:#qçýñl¸ù¯Ü“r·ÒÞ>ÖDê¨ 8wÎ#<Íy€þ Q DáœEÌ2õä„¡¶p S¸d9³J£D"fÙñÆo«Ä„„6ËÔZŸê,²äQ–Ý>úÈæ//Ž“þAþ1ËY}÷$üéizôrth{uõÑvOÅÖžíuv9ŧøŸâS|ŠOñ)>ŧø_÷ˆoý¦Ž—ä÷ûIO×hY""ág?ûY·ŒëøƒNUTT°~ýz***Ú,›œœLNNIIÍgD6|Ìmwü—CoÌIÙš€QDÚ¯¶¶·Û­ýÝÇuU?p /])°òunº{6Gß1™“sÚ KKK;^W €ÇãQ£‹ˆˆˆtsÏ<óL·ˆÃ´˜tè°Zi…öùƶ&fqÒxEL‹PS^ÊÒjƒ´~Nv‘=XY̼R}]¬_^µOÿïèÿ`:Kîþ€¤-‰†±õËõŠÙGx½^¼ÞΙ.1XWN]ĆÓjVʈ€Ôìë¢øŠ–SM )N7ˆˆˆˆH÷Òê'ÔÎL: ‡°X6¶5{goC>~œ½œe¾0–¤ M²±-’P-K–WáÈíGOWëunˆˆˆˆˆˆˆˆÈÂç«'!Á©†ØÏD«fóÚ?> &ÿW H6©ADDÔH·¦bÁ7Ì çqp?õ+>çù©sqŒºžI]Á¬Y³tDDDD¤‰Êò*’’ŽÝá[câ,ø}á—'{S)¯hÀ€À>{â1. cöôfôÉ×sÇi#Iê¢q]F¥Ã """ÒÍÍ™3§Cå{öLgíڒݪsç¤CØ)ñ°ª®+¾ÕlM:ì‘—GñÊ•TÖV‘äÞ¼ñ­I‡ =ðû%v&k½{yY6§š’ú$DKøiƒAÁð ˆêü‘}”Õæh6é è¯Å•褮º^ u°¤Žâ´3Õ""êdßaàqw?w‘šBDDDDÚ%ìb‰³µZfw“[þôºƒ¶’}u5Ûþßšt¸råòmI‡eåå›ËnI:lNÔֵùûKVòö—«( ìC8L«£¦¼š ¿füÄŸϛ߭£¬¡–ŸfÎá£U~Â:GEDDDDDDDd 6‹Åš]®¤C‘ýC[I‡ÍY½fMçÔÝV¼ÞÙ¬\]@B3‰‰yyù§$'·Y©ŒŠ˜Û,‰¶oÌð¶ÊYÒÈ0V²`Uñ}±×W0i1ooRm6\=qfÏÍeÃhݾžWNö°¸ bíÁø¶ª´=Öb £­1cÁ(±„ƒQêQbÁ(¶?îèö‚á(&“‰öŒÙžíuv9ŧøŸâS|ŠOñ)>ŧøß¾Ÿˆˆìyuuu¸\.€-ï÷›%{“(¯¨ìôúÖ­ZEnŸ>jx‘}Dï^½:e;m&nM:ìlVs¤ëÊ9ã1<‡Ÿ®ãó/D,vÒ2s™ïÁci¼^,&#† 0¬æX—í‡ÓÞžÅh›åb6“ ,6§Ý f30³ýqG·‚at^|]Nñ)>ŧøŸâS|ŠOñ)>Å×]âkß÷#Ùs¶&îlw“7lØ@fff“ç•t(""""""""²wTûkHŒ‹§¡Æ#>®Ó·_ðooy»–¥¡­îd™Æèv$šÝ?>mŸÝWSιôzôìm?šrÎ¥ßSçêÕ&"""""""²sX4„öȶ›K:l—Ž‹ˆˆˆˆˆˆˆˆÈž·yöâŽ&öЋ—µY®µ¤Cðw<ñÐd1 ÇtäDDDDDDDDDº‘æ’ÝqVjýÍgÿ…‚¬6óž ʪã""""²?ˆD"S\\L4= Û ==ŒŒ ¬V}È‘½¯>æ‹Ù«ùü§5„šhb6Ì68›ãGåávÚöHíI:lK4h_â¡;ÑEmu½ bõ‚›W6±¦*#10›tˆˆˆˆˆˆˆˆˆì ½ó³zå|€“=Ÿt(""""û¢¢"3f v»}¯ÄðÅ_0a„½Rw]]‹-bÆ ôìÙS'„ˆˆìu~¿‚9kª9ã„#Ht9Ô û‘’ Ÿ;h Î?`ÏÔQ¸‘ôìŒFÏmÚPBZfz“²eexSRšÝN»k«ë¶%xl.|š&ewN:ÜTQJš7Ug…ˆˆˆˆˆˆˆˆÈ¬±zå|B1è•Ý¢¢öݽì°ÅhvîÝÄ æ/fÐà:(""""ûòòrF…Ùl&ïµ8öV݇ƒAƒñã?*ñPDDº…ïqÌcY¶)L8Z«Ù¸ì&ŒÊ3fu(ñÐg§ÖhWÙ“CS³I‡@“¤Ã¸¸8ü~?@ǧZÞjç¤ÃWO(1ˆˆˆt°úÅý•?íPùdO åUeÛ·7éh×µ ­I‡[U——“˜œ¼Sâ¡Å´ßH}ó²¢¢ˆÕIvÏFôJ ÎØrÀŠWðáÜ*vlޤ\N™F¢Ñ•‘Öãër–ÿ«÷/ ×ÉšL_-""""""""Òµ5~Üñq»¼¾’÷=•••¬Y³†àt:Û,ï÷ûyéŸÿdÑÒåÄ¢ýËCjDiD‰‡"""Ý­oVÈf;&vD(Àj±wx½Ääd`ˈ‡ ñø|ûñˆ…?Ëæ¯e½#‡cLÄî/cÖÜÕ|kéÇ‘¹NÌD¨«`MÏã˜A)Ä™ÀjŽì¥`ÄþrîeÅ‹/S{ø]$&ê"""""""""m³óü&ÛìNÒ¡ì›ŠŠŠÈÏÏÇn·¶}—üÇŸ~Ê‚EK€Í׋EDDDv¦ÄC‘î%ªnQvR]æ#1%ôÌ~𵄬¬ÌVËï˜txð€Aü´xAóŸÁˆb¢éÈ}`¯$†"æ6ËD¢íj°­ráêjVùä¤á6Ç >…ž %üTŸåÆ Qé‹aOqaŽDÚ9Â`gÅ·Uý¶a2 bÞ>˜"ßP_ÆæØ¾~ Ú¾PØ™å‚á(&“©ËëU|ŠOñ)>ŧøŸâS|ŠOñí_ñ‰ˆÈfÙ³›FÆEí¼(--¥  €H¤í¬ß~÷=¾™1‡ÃÎÕW^©éæb(óð@Uî«"9¡éɉ) 4øë™ûã¦6“wöîGï“ݳg³ËšK:„6.G®]»–ž-lpwµwDÁÎ(gõfpò‘„"1¬FšòVúL¤÷³ã2G0‚õT6„¨/YÉç«ýÔFÌ$¥g0²i6S—í‡Ó¾ý ÅìV̦fs¬ÑóÝéqK:¯\4 †A—׫øŸâS|ŠOñ)>ŧøŸâÛ×âÛ[#Ç‹ˆHs<^/U¶½Ž$:â¬4øC:{Y[I‡±XŒwÞ{o¿ûñn7cF ==­IÙpáÜzû}Ë]œÖ˶϶I,PÌï½Î;Ÿü¢†ÍO:s9ì¿ç7§öŵ·ŽÕ†O¸íŽ/8ôÖÉœ”mé²uEvE´~s?û7ÿú÷gÌ/ëÁ©;£¡ä IDATw?À%¹:\fçï5Ë?áå—ßçÛ¹k©Œ€5}8/¾‚sÇeÐìÄ_U³xè†)دz€«‡%l~×-å»&ñVè,î¾ûLòêgñÐ&óUù}TêÆŸs9Û—ißkÛíJùêößóÐO- .bîÉ÷ÜÏEÚ?êñžx¯ïø¹ fðÖ´×xwæü€9©κ”‹N* ÁØ{Ç'¼î=n¾ãkÆÞºo÷…»Õî'#–•WìMâñ¿?Ào¯¼‚òŠJR’½z“‘}¬oîXùµß¾ÙêòžcÏT£î#šK:Üö'ÎI8'¹¹Y¬[WÔîmfïBŽ`«W!ZJ:,ܸŽìŒÜ× E°šݯÕC>~œ½œe¾0–¤ M²a‘@=U! ™™ Ëò`V²xáj¾Y`p̰Խò%ÆdOÄ05 †«^1""""""""Ò¦êêj¨ª¨Àlu 5tyJ:ìZ›b9‹ñÖ¿ßeÖ?àr»¸â²_³jåÊfË[²OâÞgOÚ§Û#\ò5¿ó ~ðÇ…¿}˜ëú¤á2”¯üùµnöÕ”=sæqÜýãtÂK— nøžfúxÊÏ0ÿgæ.—iÌÀ0¢Äõ?‹?_9ŒÜø0…_MåÁ'îÇ”t7hGZpp#ÓŸ|÷¢§rÛ¤Óɳõ€5“cï|€«‡Åò³rÖ[ümêã¼Ûûn~žïÜçÚv»TޏýeŽØü®Î¦/ïà¦õáÿÙ;ï8¹ªºÿ¿§×ÝÙ¾›²É¦7’]Ä‚ˆHyQ@ºÀ£òøSAšPA)"¡(MDà¤*%„Rw³½ÎNŸ;÷þþØÝl¶;ÛÂ÷ýzíëµ3÷̹ß{îéçs¾ç‡·|“9#|¬±¨ë3Ï @<†qÖ\÷í¥Tæ¨4o|š;î¼Knæòån)„H¦¢¿®®.Þ^»–­m£¥µ Ððx<,Z°€Õ‡­ÂápŒ¹ ƒimkãŽ;ïÄb±ÒÕs*àõ7ßB$æ»—]F¾Gć‚ ÂTj›3 ÿ»k/KzýÆçë%Q"‰n7ŽŽ¬Ü#á\JÕŒiìܽ_ „ËÑ7J™9­šh4ñ„夘\,?|)‡Ä‚lß²ƒ77êøÌŠRòsŠøügŠº@Š)ŸEs|ÔÐÂþ@>®œ Pºg“[ÜEÛ»›É/_‰É¤“!‚ ‚ ‚ ‚ $¥WtØËDˆ…ÉC¯ÇÃ_} +–/㔓Nàégžeý†8v.>ÿÛ¸埃 µ™w|€wœ§qÍONcÖénÅó¥X²‹ ¤µê+üøF s=·¿øöˆÃ ÆQu"߬êû<û3§òÅ—¯æê9cÞ,’®<©lxøfؽŒK¯9ùîëè0¹J˜»êh?½…_°M¹´=óËßTË}ŸË—ÆbÏìôEP½Ã)Áû6òôsÏ ÜÒØØDcc¯ÿëßœqÚ©,^¸p\íòäåaµØðù|¾ëòuár¹ðäåÉ‹A¦Ú$O˜œôÐÔÒ2¢xfÏœXxØ+:ˆ¤¢Ã©€ÎdgÆtÛ7vÒ*&˜¨ÑlÁB!e‚Š•i&ùgŸIçϾÏNýÝTŸ¾@R‚ ‚ ‚ ‚ ˜ÐÔÔDaa¡$ÄAF¯ÇC‹ÅB$aÝú èÐS¢lü`3v»‹/8O^^Ò£™û¿y²õ_\Ó«äO‹óö«âÏÅqgžÉ!/pßãïÓa-æ¯\ÆwÏ\Œ³îy®½ñeL®VÖ}؆¦wS}ÜrÁ¹_`ŽKRû<×Þø*Ž‚vÞÞЧðó[Σ:òýÝÝ<¶v?Qs9G|ãR.:i!n}ˆ}oü‰{yMQ°Nãø ¯äâÏ–cÑ_3µnåµã,8ÿf&Ñ)òšxêõí´ÅÍ/;‰o]p&«Ë­Ä÷=ǵ¿xÒE6>|ùmö†täL;š¯ÿ×Åœ8Ë.Éý-)âÖ–¶i`nÀQËe±¤6”"ê§%v·5¹GR-Äžçïá7oy9ëêóYíMZSuÔ±ùï󋹤*ç`O@ö<ýS®_{$W]w•& ø^ùS^Ÿþnýþ*<€RûW_ý‹ÿßÏùªå•uýèÿ‘¼ÎGˆGðµìeý3÷ñrl!,Èf­,óç<³Êš´ŽMtÍ9Ð8ÚÖ­áÚ›_Áyá­\ûY7µéÖ¿þyü¶_ò亢€½t_¾ørÎXš‡ Úĺ§ïãþ'ײ?j¥lnú_øÉÏ8©Ò˜´=ë÷’®·Áuïoà©§ŸFÓÀh2²|ÙR¦UT‚NGMm ëßß@4ãÑÇŸ  ³rÅò¬Ûˆ»î¾÷€èð¿.ÿ¨¿ºë·ø|>îºû^¾sñ…Rÿ ‚ S†tšÅ¦­¯ö5pQš{[¬./…óIÐͬ§uó›úí-Й<ØË–W”~,:$ÁOhü¸ûœ£È±&Ï í¤qÛ>ìsŽž\v%Àhw óÇE‡;víH}zDnžÎöД.hÁÆüc›Ž¥+g3ÃÞ3é¦(ÄÑcÒë6|Âß·ÁòÃfQÒ“"ÑPˆÎD®e‚ä~±Ý´>üñÏÿ’ªSæ‹èPAAAA3‹+ËÊØ·ÒßT”WRS»OoÓ+$<ÿÜoñû$‰ðÞúõ®ÛlV.:ÿ¬¨tÏ™¬Ž]Ö•¸ *9ÐÂÒ¾þ®¿k ¯ü ç®ð Öü-íúW‰Dðq·\2›"s;þt+wÞù ³oý.+Ü>6=t=¿Ú<ón^á^…ýï=ÁíÕ¤ÕV-qm¾N§¯ÐÞÞÎ3Ïýš…^/n·ûÀ†ˆCW,ç„ãç¾?<@}}Ïüío̘>¸§ÐëÍŠ ­­mx—-k£lŠNžô7,⾿ŠíïµðŽ/åÛBiþ7M  æ/À<:ÅÁ¢Ã^9.]¾Å™RÏ6ÕE‡6we[vµÒòµ°q{ä{)µé°¹ (Õw±ygïõ&6|Ü¡°ˆRÛ <Û·ÑYï$÷ÐÅr̲ ‚ ‚ ‚ ‚u›^Û±û“”¿ÑáäGUUTU¥¨°óÏ=‹¥Oc³Z¸ðÛçáÎÍEQ”aÓ^l·°`å¦{ÜL_vUùyÌ\º€òÜJÎ\»šöž“sL¹”O+Áe³ã™u<ß8÷(L½Â¦¦‹f³æNÓ[Ââ•‹qÖ½Á+­ÕœuÖg™åqà™s _Z½µ›€ÕE®)F{S]ЉÜÊeœpübò Or­'APÔÄÜù /î.â”óNey© §wŸ?û›,¾Å [Úºœ2°à°UÌ/wãÈÉŠ£fbj¯¡#œüþiÅÝÐîÄiЕ䵤LA˜µ¾å¶Gö±àkgsxa²9Ž’”›ÙðÞ|ÕqS)'\ûÏ>û O?ù÷Üt>³¶þŽŸÞñ õÊÁ’æÒe¬Îoá­Í („¨Y÷!¦#ÏähÛNÖîñA¼‰ßjÀ}Ø Ê‡s‹š¤Î{Ì?çþ¸æN®½p 5\Å-/ì#’…çLVÇ6%¹æ@¡}ÃÃÜpç̽ø'œ³Âƒ!Ãúט¿˜Ï¿œ™^ŽÜi¬üü1”k4v)ж•ÞUX}îYWåÁá*dzU99ÆôÚªÉ@Ss N‡“ÉÄEç‡ÃA4EQE!‹a·Ù8ÿÜs°Z,(1…»î¹‡§Ÿ}.+÷ommå׿û-7þâVj÷×Q»¿Žq+¿þÝoimmåŠK/Áårð»{ïãîû~€ËåâŠK/‘*XA˜Z=g-õ_¦¢CèþMÂ8â>Þyy×>WÏ Ï7rχ¥ÇÃɹ¡´lÉt -ÕIôë ²æŸ-¼Õ™^x÷ìc¸á¼*ÊŒé?óx0RÑ!À¨§Z:Ú)pç%¼®i*:ÝÄúëÓYrY¶´‚÷?¬á¯Fˆ-–Vrìl=`Íå¥lüh?¯ük7ªÑJqy%GÏÊe¢t‡Z´ +F³AjJAAAA!ë%ö(c1­Ýá HâM!âñ8ñxœ‚|ß>ç›<ñÔ_Ðëôœyúi¸ss‰Fû\èõ#œÇÕ1êûyZÐ0éu„ˆíäé?¡-ƒa²ZÄWOGýÛÜòí/sK¿ï]+"hÞ#¸üjÏ=ú'~xöíxWŸÁ·¾u+Š,è“\³æUâ5>ÏŽ=m(sʆú›˜ )w›ûÍYH…KåÃö JùpnD†IïŸ2îéé§A2T2aªÙ÷"wÞñ†/þˆ‹Ž+Á”4´Ûô/rÑG¹æ¦_qGá5\yò l Â,.Jæ–s/meÇÏ_b}ý1üGÅA¬Ì5—²tµ‡¿½¹‰†£f³~‹ÆÜ³b…ùMîwE ¼ÙÇês˺„OYÝ÷Õyã‚Þ„ÃSÉÒ/]Â÷•Ÿð³¾Cíñ•TYF÷œIêØ`ªúW‹ÐôñVš¬³8µÊ} =ɨþUƒÔ¬}–Gþô4oïíqcÇ1D}õ´Ä]Ì÷؇M’”í ùŒeŽNgƒÂ¼¹sX´p-­­Øí¶ž”óH„_ú'ªÖ}- 3·zvZñ§ ãñx°ZlŽSèêòãr¹ðx<üó•Wðû}8œþî~­Íf% SßÐ@¾Ç#± ‚ d4ï Ò\ßÉ+9yœ8ˆíZ´‘®=ñµuÁ…­|î"/úÈ'´ì¨Çè2mÞO,®Cg¯ ·j)NGO'ÞE¨î:ˆÇÁT¾m•‹ÞŽhâ¸wÒ²c/zs„PGì³ñÎ_2е#Öº•ŽÚ]DÂq0äbŸ¾ ·×…Дv‚5àkn!®‚Î5‚ê˜cCã.˜éÄ·c¶9GãÔí¡eÇ^tÆa_tVLópO›Å¨ÙóMÑÏ UµÐ¶þj•Ü Âi›Úº°Q÷={E‡Q³sh'8öc·¹&üAMÎ|YQÈ*C|ØÁ¦ÙUÀ¡« XªÐéÀ4l¸ñCS@Î ‡, ‚ ‚ ‚ ‚ “ƒ^Ñamm-ååUX9v]AŸ$Ò$BÓ4ôz=Š¢FÉ÷xøþ]Ñý.ƒÁ¢C£Ñˆ¦iètc¿;м—vr)r™!6ôºÑæ&§ôh.þùÿpØpkÿ‡qæã«;xùþ_pûM®þùYTÛôØ]Ë_ÀñËlÜúÔÓ¬[q ‡åØ79¼Ø£[©íˆ²²GСšÙߥÇíq¤1™žøþeéÄ­e#°¡Ú&eB˜üDê^á®ëÖ°gÉ%\ûŸ qéÓË÷¹K¾Î•·ò“ßÞÌï ®ã’ÕÞ¤eV§7 ×ë1ôK0&J—çoo³îýv6©s8{Z1Ê\Xóï×Ò˜w8‡”Mvq²ƒÙ€>a•Ùs&«cý[¶$¼¦ì{tæœz)+ž¾ž{îxŽâŸÂL[fõ¯oón¼{/‡^x#÷/*ÆÖü×ÝøVm¹8”6ö4û¡Ò=mÕèû©®ÿ~̓ºb9K-Vt`6›9æ¨#ñuùùhÛ6fWÍÊŠððw÷ýþ€èð¿.»MÓøõ]¿ÃçóñÛ{´Uå€è`é’Å|æ˜cq: mA„Ɉªiã·Ö3|UUT5j˜hÛnÓCçp¢×â¨j'á†:Ž:åL¾Teññ•×yªÁÑ[Êe̤¹ÉÎì¹y!Ô²“gž¯çC[%BDê63mé±üà0/=Ä‚4-h¨ñŽ„q J¸ì¢9„"n–”™ ³™ûÿ£¶¿,\‹5·œ+Nû<³st „X÷Î^^hÕˆã'\·ƒ…ÇžÈÉ sÉÕC¨¡‘GÞSo÷k}ýŹ|ôN˜ Z —]4%îfA‘´û6¯å±×ÐU6ÙÿqçÌ0ü誕ò÷7Zy§kü\6µ·S˜——Õ8³ÖÿNt$F•Ԋ͸ªOë<òl†Sâzt:Æý¾POGVSPöm'Š]ß÷@TQI§¿›Íp‘¨ŠNϸßWìûÄ>±OìûÄ>±OìûľƒË>Aaü™3»šwlO;|(Àfw¤ 7Xtˆèp’‘ŸŸOGG§Óy@PØ»Xo³õ© 4M#ÒÖÖF~~~öQüÔï­¥Í[„V÷¼ÿ-t˿˯ê†wVËÎëøÃýÏb?ëXªó øölbG¬šEîm¼½ÃÃÒ•3pëxòí°ÃO$¡Ú7y#Á5ôVž}Ÿ¿þ—Üö£.Nýæ©·xkœ®º­¼û±‘åGÇ •¯ð—þÊô‹¿@µ¹?ô8ŽäG =èÚS”Ÿ$÷wT%Û4cŠwÑP_ËÇ1¼‰Ó`ÕÂÄÞ¬’¦ Lrbop÷µ÷²mþE\sÉ1›2ùµ‰¢£/æÊ¶›¸æ··QœÿN›ã`ˆL-¦½f»ÿ9Z+¿Æ¢ÂƒÿrSÉRŽÈÿ+O±OìûÄ>±OìûľƒË>AaüIWtèïôãÌu¦%:ì%®Æ1è ’È“”òòr>þøcâñxZ^ UU¥½½ùóçgߘX ï=ø¿¼ðË0˜‹9äËWpõé‡âÑ'8ÖÓVÍW~ð]ôkâßù=qÀ>Ÿ¯üèY¦úØôäíÜu{Г;ãNÿΙÌwB¬-ñ5CþJ.¸é׬xþ žýó͇Z§ó¥ïÿõàöK¡#n¦tÅ)\ñÿNgQ()„‡:5Ùý“ÇmŸ;ä)î¸î ^˜s.¿¸á+ Óàðø~þ~Õ÷YÃ9üòÚ/Pœ¶ ‚ jþï'|ÿÞ­„{¿úÑ×xÓ¾z#7k.öt ÊÇe>ñ0/סîv.zõöwôõSîøÁJÜ)&vfü]®h¾š›®ºóÍ×ñe7«ã¥«¾ÁK½á,e¬8ù~vêjÊLS-mG€©„%«‹xäþNæ6€k&‡Ï¶ð÷7<|iY)æ‰|¦!yAEÓ|üì­ëëk)))Ïøw6‡ƒP ÀSÞ™z>*nHëÈãl†‹fpÔr¶íËu¥>’:Q±Yôã.RÑë÷ûŠ}bŸØ'ö‰}bŸØ'ö‰}bŸØ7µì«iÊÜ•N0¤¨¨HfˆA²Ài§6a÷ŽÇc8ÝnB]!×¾÷½ïÉË™ ÚÚÚ¨©©¡½½=©w N‡Ç㡲²·ÛU”ÚçùéÏ^cÕO®ç”éfy)cQþêþÁU×¼Æ?½ŽË’ BÖðûý8Ny^AÒo‚‰ì|‚ݰ㯹Ž/U¤_Ï777g~¯H$a_à½÷ÞcùòåIÿƒÒÚÚŽÏçÃd2ñßÿu9Îá7¶tú|üê®»p»Ü|鋟§jæÌ”ö­_¿>¥ mmmÜuϽX,ÖG.»\.B¡ŠCÓàÇÿûCì=ÞŸÃá0×Ýx3—_z1E……)mX¹r¥dLAa¹â7§|þêŒ~3}镽3ìÙxSÏw?¢W·gãÍ©#чøòQ^¢ë:x!`fú<7§ç|Ä=ÿg Ý[€Av—ŽKŽ+!wÐOƒmܳ¾“ÌåÃ7ì‹v¯?Øœ,QøËÛ&, ß:ÜÆ¦×¼§vÏ#èM!Î^íbó[¶Ù ã¾{};'¯ÎeëÛ}q‡%ÇÊás]Qª§mûþü’º’9äæé¸pi˜?¿f¤vÐf[½)Ä7ÅÝÿ»÷µÈÐë´sögÊØ¹6È¿.·‘óæxt­•Æ4Ôzµ[ßâ×—aØk÷Ýw߈ò>¦G5eOö8âYˆ‘ˆB€”~AAAAABj ›~ ‡³¢Y:vµ­¡O±ƒÁ4¬èP˜X<Gâ 'h%7c3‰RA„ƒßþ´ª.òì/.OuÌñ×Ï8½^ÇÍ¿¼h4Æý¬á_ÿùž¼á:;;yøOÄhïhÇãñ¤uÌr:6x<¾ÿÝÿ“—ǯïü-W\v)~´5=ÔÝvF£X-–žÿc~«(ñ´íA„ÉÀHÚ­ö½nv½]Í»tÞûã**ù„¢yÍiÆ×{Ö²†¦ÅÙóIï¶€3ç½Êow;ÑçXP V‚í;ùÓµìÉ­ÀhÖ£›‰iy8òulr?M#Ž…¨ÁF~pA¥ ‹Uª†W·§@ƒ%aÜöün‰ÃÆÝÛ» ï§µÙÊKm¹¼f%Õs8ï« <°Vç·¢Xtä¶ma»u‹BÌÆè*ÀdbHܽ§8kšÖó¿†ö¡ÄíÙ†rõz|*h`ДÄ">Ts>fóÈ“ª.¯f{íöŒ~“ŽèЈ…hZñ °ÞlÎòŽS“ÒÓI“Â.‚ ‚ ‚ ‚ ãÍ`Ñ!€Ùž›µø=Å^IdA˜@ÔŽ <~ÏótÍ>†yù:IA„)BÛ–×xuc Á.6=Ëï×|€uåg™—7úž6+‹…3¾úUôz=-­­Üù»ßñÔ_ÿÊ»ëÖñÞºõüõÙç¸ãλhlêöÈxÊÉ'“—EËš¦a·Ù…B\qÙ¥\qÙ¥„B!žÿûßéÕ<ûÜÿÑÕÕEWW}}â©§$ ‚ S -Ã?€¼i,9eFþŽ^ye§®£h^sFñõ¿¿òïCè—¯âxu¡ˆFÈg«63޵SXÿ ›^D †YPhÂ0Œýý?ÇCð~«…CN¨b¡ïu:¶¼ŒAo#ÇÔsÚ´W IDAT=æM·1´±ää°Òû Ú¶çiÙô/ê[töBl&vÅÙöòŸ+fvÇëtl{—âœ89º¡vg;yÚ‡D·½H´Kã¤/ÌBßcW¨[˜¨èLàÌÁÓð j¸³.­tND¯è0Ï[åi},=Q뀭1Ñh4»9<Ö½qœîu°ùÃZ>i 7Ù(ŸVÁòé.ì=ÒKM ±{Ç>6íï"7àÈËgñü2f8 Èt ‚ ‚ ‚ ‚p°àïê“xN'~¿_XÆ5¦à>üb®úâjŠå”eA„ƒ=DöðÏ»~Íí- ÷ V}é\sÊ òôo]*/H½×ÌŸÇyßú&|ì1B¡0?ØÌÆ6k6›8õ”/³dÑ"b±XÖlè& øî¸cŽfß¾6|°‰w|Â-·ÝqàšÕbaùòeT”—‹ÇCAaJ1ÒfËhQ}üΑÅgô`2ÙÁ@ów{Ï ¶ùÛ¾Îûúé|µ…÷Qþµ®má2.þîJ:@‰òïµmì »1™lX¬Q´H÷ u‹ŠÑÐUøpsÖœzñyœ£[˜vU‡ÙEõ%‹;“Ù> î!XKX¸j_ûr÷Ç€/Ä›:Ù(ÿZ׋æòï,Ä„š|¬y·‹%hÜý¾# ,ùÂisªÔ8;>éäÁÃtö8ô·Çx×WÂ×.?£á™×Ziî}ßCf¿£¨šÒSË%œŠ°ç8 vù).tÓÐÔ1µKZ<ÈöÍ{©±Vp±¹X‚-¼÷ÁnÞ6Vsl¥ ƒ¥æ£¬ëÈaéŠåTX¢ÔïÜÁ†-&Ü+KðÈ ‚ ‚ ‚ ‚ ‚ÐÎZdÈ×":†ÃX~"7þþDIˆ±J_ïJNùª¤ƒ ÂÁƒÏòs¸áçL駈Åb̘>_ùCÞ^û.?ø€æ–4 ò™?w.G±«Å’‘èp4,Y´ˆeK–`2™xý_ÿpíeK8ùK_BUÕq³GA&‚ïß4úHÂ!14èK•½[›¸zk¿þ@ Ì«kü:$?÷ü}àRW}·Ö÷}ŽG¢¼û~3゚ ¯‘0î÷ý#Ôüˆ/Àc/xŒÄq¿òN˜W†^wÜ×÷Þ D:xý­ïF†j±(ÿz§eá]†BQl¶î“;;›Æ5ù‚!\v[÷¼D¢@Á®î—<Ña}í>JÊ+'¾sëogwÈÊœ¹ä™U0{¨Êmà½öÑJæ@·è¨\XÎ4§½ÎÈÌ… ™)uŽ ‚ ‚ ‚ ‚0…ÑͨJòSNª«ç ‡Ù½o³H4˜<ÒaD‡‚ ‚ ÂÁO&ÞEA§ÓqäêÃ9Ñë»àUUEQ¢ÑèˆNã©GÂÞ{àñäqÖ×þð§ÇŸ ¸¨˜p8,/XA˜zm3â©w2¾‹ñx/^wþÈÄÌÑõŠ!‰ð0LÑ!€)·ŒX\Zœ®Öf>îÔSXmÄ>ü'ó]&9VYAAAA8hH%:ؾ}ÛÿS‰=mm>IXAA!%š¦X`8V,_¶”Õ‡­"êöÔô¿ÿó}b±Ø¤²QAÒok% &ÏËß÷2¢C«ÁL8žYŸÈ8Qéí ;Ò JÓ›uÚá°‚ÓÅÊU³»_DÈ]Âñ‡vg‚°2F÷¥“&ñ4SOÂI8 'á$œ„“pNÂI8 'á¦j8Aa*#¢CAA„O/Ú$P7ŒÖ†ÁBH¿ß//VA˜Â³$Á¤Á\€ÉlÇdŽ@hì_Œ¢(éÉþ*f—Q³cÿ€ï¨Xé;Ú•“‡¯«ýÀg“ÅD,’ZìvÀ‚˜Ãd4eõ!]#¾ˆ"™KAAAAAAAA!KˆÇÃɃâós÷óã·¡Áh4âï ¡ÄB¸=ž¤akvìÇŠà´Y|×_t ˜Œö„qvCäØm}±d[tˆèPAAAA&s§ÏÍZ\ÞòФ×#1™ýAAAA+4ù;¨ÿRá̱áöxpÛl ÃTVTv‡í':L‡d¢C€{÷=Çä¨å=;w3½jFF¿iïè µ­P(,5ƒ ÂqØíäå¹És»%1AAA„!lÛ³-kq5×Ö$½n1é$ÁAA"†£–AA":‹Öío°#Jî±'gõá‡ú~6K.¡HçÏeWxhÔô(:5cÑak[uõ ’+AFI $ ¢ª*ù)Üé ‚ ‚ ‚ @y‰‡Úú6IAA!)"<A„ÉÖ6K|Z馢Wt¨5š;)Ì™«þ¢C€¢¢"ô#}€hl¨ZRÑ©”º‹2Š«­½]r„ B‘zUAAáÓMQi9¡pz'‹ˆèPAAAaê!ǺZ΢±è°ý0*Ã{<4›Ÿ]×Ñ8àsGW;„á#‘¨Ô‚ YDêUAAA„O7uµØ¬VIˆ)J[[û÷ï§µµ5©WN‡Çã¡¢¢‚¼¼·Lã îwh£ìM›?Ÿ½[·Ž©„‡J\ÅhèS=#aìëØŒ6BJhT 3yn·eAAAAaŒ‰Fb˜- v6g8™9œèP=™zÑQUMÓ$áA˜pÂuoò—‡çÙ·ö yÕwúœsâ\ o„¨ý×£ÜûÇ—ø .®i¬úÒ9\púr¼Ã¹Ïèx[x?–Koáò¥®îæ+ð1O^5‰Î 7|•ªÐ{Üú½ëx£µïgVï<Ž9ó"Î9a&Ýø¦‹ªãƒ>ߟù'›[Šùò ·ðí©ÃSÚ¶ðâcò——7ÓÌE,þìWùú™Ÿe~^wâ(ûžãÇ×ü‹Ãz=§L7mSê^äªk^刟^ljåÆqÏ#yö‘壱'UZìhšF$!‰He'‚ Ò6 S€±êÐÐÐq {Þ_tPQZ6üðo„¢CÉè‚ ‚ ‚ ‚ ‚0¶´ú:S†I(:Å…ù’èc€ªªý‰èP„IC<†qÖ\wÿŸxò‰GøÍ%‹Ø÷Øm<¸¡#áO=Á/îYOá©Wsï#p÷ÿMôwq÷ë ¤%ÃŽÖóÊoÁsê—¹êê¯PeéùÞTÊ ×>³Ï>ÃSÜõ_¯dëÃwòì'¡qO–hÝZžËÇü“Nc©7=åœÒð¿¾òZžl^È·ñ>þ(÷ß|sëågWÞÉJZñJ?Ç ÷Ü8JÑ¡Jã+Wñíïþ‘í¡±ö‘ä#AAAø4aÕiDü]Y‹O g¶ V£{7WÂQFkkkVØb±È[AAAA„1$ß•;à³Ë•ƒÏ—xÒb4QO,j: :-ñ†â†¦VIô~ìÛ·íŸìL®zV••• ¯gêñP„‡‚ L¬ÇrFEßçò%‡±Øó;}T`¨ìL#Ø´ÞJŽ?r.Ev`ÉÑ3í<ÛÜEŒb Én¨v°áá›y`÷2.½ætæç 'lÓar•0wÕÑ,~z ¾(`ßt©ú ?¾è\Ïí/¾új3ï<ôïæžÊ5?øOæØ»¿vTÁ7~˜KüÇ×±æ‘U,øÞáäNö<‘é³( ‚ ‚ §‹°¦ÃâÌÉZ|z«!y€˜¦¡2Ã1ó©nµ[ à ¯Ÿ{î¹í †1Ù»v®o¨§¤¸$+v¸rhñeGá© bDO0ª!Ž>nŸ™ÍL8•’3¨j½~¨‹|“ÑHLIoa}S%……cbŸÍj%î.[f³9áñå½´t´Ràîó>0»´’uûÆ=]J €·¨„æÆzÉlé¾s“P,ù‚Cn®ÎÎàÀ<«ÓfáA‰Æ0š“{·Pµ(z]vŽŠ0ØíăÁa¯õºß(*)¦±¾aÔ÷‹Çã †)õŽÝ+‘áÛ̹¥Õl«Û>)í6:í(þ`Ò0^OÍm-)ã*-* ®±e\íÏq˜é d¯mµÚŒ„CÊ„¾_¤ —eøæÎ½{™>½ ƒ–½£Ú]ÇXôF"êø={K[3ªÒÕÞ”õ¸cš†I7²ó–:|AÜ.{ê€Âj´{þEãØÌÝõ£Çk§­yøòkvåõuMh^Îózion>ðYÓÙÐi}.œnþŽùE´¶4P^VNíþÚ1³Éžë ØŽI&õDÐÑî<¨Ÿ1Ç™C—¿ëSÿ®&J,>©mŒÆ£˜ é÷oC?6Gwþ †ÂØmÖ)ñ.>Ù¾ƒYÕ³‡o§ü~ÜÎѕɥ‹½lÜÔ|Pæãw×®åÐU«FžÇÂ~ÌÖì×yZ<†Î0:íz2ÑaWs9^4jPYYɾÚZ¶nÝ–0Ìœ9ÕIE‡Ðíñ0£¼’Bx¨úwòχîã±n¥Eç¢3ùéÿžÅ«½ –¼4…PG›ÿþ8ﱘKªr&}ò©­ñú‡ Î9ŽÙƒ§œóøÜIóøçï±­í0V„vóôϾÁÚÂ`.æ“ÏáüӧܦrÔ²ÒöýÝÝ<¶v?Qs9G|ãR.:i!nC¢öâËÄû?~n?ùŸ3ë<.¸õNª4N‚|eÏÓ?åúµGrÕu'Qi‚ñà•?åõé?àÖï¯Â(µ/põÕ/±øÿýœ3«¬IÓ!ѵ½½8mëÖpíͯà¼ðV®ý¬›ÚtÛMÿÇ<~Û/yr]QÀ^º‚/_|9g,ÍëÚF›X÷ô}ÜÿäZöG­”Í­Bßaà ?ù'UQ:>ä…5ðÔëÛi‹›)^vߺàLV—[ÑIí#‚ ‚ $BEU¬Å."mþÌl2ÒÞÑFž{à\áˆ6Í®¨J&™èpXûì}ÃÇl‰¬‰Œ=ÉÕ+gɆèÐëuùÎ`:PK&:´ÛÓ[ijjOÛ®pD™²Å f>¬2éúŠ‚^o&º¨œ®è3Ñ!p@t vt}ÇýE‡µ­ÙüéÍ©' ž¢Cà v´g÷¸‡P‹¸ƒE‡À°¢C ¥èÈšèH(:„>÷»@VD‡ÀÑ¡Ëîšty#^°’Ht$66NpÕå}>M%:Ò´û’{I±:ó²þ>‰çU–Ž(>Ož«_>œ˜}×sÊ«^«š6 ‡-{b·^Ñ!0®¢C€O!]íM”v¿«ö¦Ôù, ¦w[k_]Ó¶©¤¤$-Ñ!0!¢Cà€èH(:(v§øý}"ÀÚÚº¬ÛÚ_t ø;ºëÓ^Ñ!0¦¢C€`g€Ž–άÆiVÇÞ3ÑîÝ{GnŸyt’‚^Ñ¡#/ýE=‹qè=wìÚ=|¹‡™hÆRtØÙÜ6eú¿“]t`6˜©p§'žRôñ¢C ¥è°©©qBŸÍÓWÆfUϦ#Á1»£)E‡•UU#Š78̘¡¦¦&«é¤K±±`4¢C`€è0/Cѵ՜8e":Ì+ìžc F|YK7ŽŒ#W¯fþü¹Ã÷ÙçTsÌQG¦KÇãÿ%®ØêyåW7òDÛ .ÿõÃ<þÈ]üÏI‹(0ƒRû wÿá<§ß̃?Î÷žÇ|]~%ù5A„äØúàsÿŸþƯ^è`áWNe¹7ñ<²¡p5ç~ëÚþvÏüá>ž|?Šó ßàs3’õÃZÞ¹Ÿ›mæ¨+.çó•ÃŒ_bu(¯ÞÏíwü†¿üý5ÞlÈ'wé"Š-“_šíØO³ê¡ªÜ5ÌBžwEyj3û;{æ·L^ÿö-¬yôQþðóÓÉ_{'×ýþ=ÚëØ£{yþÖ;xÙq*7­y”57|‘ØÿÝŃëÚP¶N^p÷~w)Þ™grëãÏòì7½è0í|d¦tÙá䷼Ŧ†îF*T³ŽšÁ·ývwtç—Æ-oјw+Ê­ÉÓ!ɵ¾Ö6Nûú¹þ®-,¼ò7\sB jí¦‰à=â"n¹ÿ}ø7\¶¤™gî|}lzèz~õ–‡3n^ãÜÉ÷>_†éYc‰îã…ÛnæÏm+¸ü®GøÓý7ð•Ü7¹óÆGØäÈ‚ ‚ ŸFÜyi…Ó™õ#öPà-çqÇ—µ^hSC3…ÅÞ)“ð奕ÔN€ç·É†×k§¹98æ÷Ñ»ô¨¾Ìvk···‘——Þ$·3'×Ж–ÖN òs™6£š½»·Óê÷“?hÁÅa6ˆ¦ïõ*Ô`öÜ…ÔîßÑó8N¿´÷ÒÜœ=o:ƒ -Þ=ølëlÇ“;r¡Î’… ù`Ë>úè#æÍ›ŠŒzƒŠŸøƒ b1SW»ÑFPé$ø#]8-9M5š (Ñ8ÂÈpyøÚ{¨òºÜ4§!ÂËÉuÒÕ9|#Üë·££·{¨ Ü¤3Óü¾Nœ®Ü)“v΂|ü-™›ÖÑÚ‰;ès:¬6ádÊ$XNÂÿØÝÀ¤ƒØð]?MQÑ'¶~×Åâh¦ÑoìÐâhlÑ¡G#qÅf´R&WÞ=zõ±¼ñÖk)Ãùƒ~œv'%Þ2ê›÷'  G°[³ï·¦­¥OAÁä/{V3áðè< ¶·´’WŸ4Lie)uûêÆõÙÊË*©Ýß=æÉuXè D¤²†@ ŠÃ1pãEܤ`ˆ?5i Fbè-¦¬Å§h FÝäJ¿xrÝ®)ŸOì&+ÁX}\E£Íþy…%´7Ô\«‹Îðð›Ãv`lDñší&¢ý~ksæÊâÙýû›¨¬(#®ÆÆý½Ï­,fÛ¾ÔÎJÖ®}‡U«Ë(îíÛ·³pá\¢Ñô¬Î€\GöËSck3EùcÛß7› šåW¨™M袱)Q‡´·ûÉËËþé~ÅÓèDÄÑ[F·¦UY>}µ{>µý˲Ê"öïK¼©[ÓÑõœäÖéë"וƒ¤ŸÑÕ…-'½NAÕŒ †äU³Ä¨[èiU³ü?Þ¢C‹at»Ò2:¬SãEˬ’×âJBÑa}C=åÓ§ìÝØ‡¦W"Ña0‰7´tE‡ÀÑ¡Ål‡žÁXAøeïîîIüa¼0ˆ S±x2Š뛚¦Lú z zÕmNÓó_Ñ¡ßß-Ú°9º½–õzÄu»Ýä#:‰õtˆ²-:4礞 Ð #Ÿá‰èVtd$:\ºtéÐw‹ j?ÆF ç˜Ho™¡ÄZlø¶*®Å'äEzµOªH&:ˆ :¬“_ôhëɪÖ=7?¢CƒqhnÔ­ôÞŸ$½îÔ=r®¬$Å3ùÞU^ã­jÝ•h|ä[§ÔxêÁŽ®_=ww| úÌ:£Î±óZTS?tlÔeÖÙÕ%e•—P»gdG³E‚é¸ívû eú6š@0‰!¦Nh¡ni›Aoàë`hlv¼nß»9í°ÞÂÌX”A üëÐê(¿<õDHs{99I: q{Éäò0g¶L !s2z÷¸<ÔÕ6L)Û›[F¿sÍéì~‡¡ÀÐÁEç ±žÏç³g‰v¥ÊèâcwtŒ/x¡×lÝ$üÆLç˜LƒÚ±™” GöÎ,ŽÑ—í°šø}éz&ûë È :Ö$G¨OïY¬Rb}óù3ft—aw~Æ6Λ=›ÍÛ·íˆf=í»2“êSwcsó²[ÿ——Ufý™wm8@dž8Ä#ËTl“RåÙ€FÃ}ŸM]C7 TΚ=àsë(w 7%8ªÞËlB-Ç2t¼ Œ½çïñÄÙsäw88²0£qä›6eô °É'Êó+2ŠoæÌê1OóŽž¶¾±m¨íÇ|Æñù»ü“:å•—Œê÷Šnêxò¶8²Ó׈†—G›yôý‡h$ù˜pãú ¯9r2[DiîÙôëÙ¢ÑÝw úæ[#&B¡À¨ŸÍ]2t¬YZ\Ú¯­O޶ŵÑõWtúÔub(Üݵ·g¾!¯­¹OH§…ºÓ°Ð[„·lx!³! ¸±@·áÈвVW7¼>7ÍÍÞ/žœ¾4/-¹(Ê×>0ÏXm‰Ó:âËlÞÃ`LœN‘`_ž°&›B“·.ÞW[ƒ–f›;­Û€9™á(rdwácëG[Gõ{ƒ©/O˜Òð¬T9m&mm‰7):l©ã(ô LÍØ7§\äíkKõZ÷¸Æ¢KÁÊ£¹w(·{®MI!€)zêêÇ4/ûc}í£Á<´=êhK.öõ° Ê IDAT¸òúµ§}ég²ÙƼF#º„õëìªôûJ©6~4êëwmß3fÏØPÓ-ú‹Æ²7ö×H\'}´í£î±_ÓÀ9õò™³’·M…éoþqÚm”——þ9´¾öÃhK¿/·»&ñfÆvßÐv§«=CI«}­MÙó lFÔe0]?Ó¢éµYªaà|H Hé¸!Jo<ß11[]Ãþ÷ì·î¤Yùè]×Rô1”@vD=ƒÇ.6sæu¡Óâ$é{&]Á‘Ç—²’÷ÚSç=‡ÅˆÓ™z æÉM,¨S¼’Ö¶¾ùÞ˜.q¨ªÃ×SmÛ$“ÚWàšëG·>¢³)œžý9ÇɆ/8|»n1öÕ£®4ær‹G!¨l÷g¶qÍ éé ¤'0ÓiÃWÂÁ$õÔd<ŒÉ{È÷–NÜ‹nä­˜?õ˜0YÝ”¬ï”(o&Ãh·kÚíoùƉxϦœÒ‚BŠgQ=½*aØ‚‚>†Íf£ewâ9ýyóŒm~1›˜hšR8sH{ÜÓocÔ঵­µ¯¿§ì3E•(Þ™Ålܹ“ò’>äÜ9ó»ãíÙ8Z³ghݦ†Æ~þuwÍÐò -«%ûþÎÔuq(89Oi ô̰lñŠaØÌöäc ]zëöe©Ç•ŠO™tˆ+CßϨŽZÖëm¨êøïš™Y5‹])qz*¢\§™NÿÐÞsg—ÜœÄ.»ÅI0’ùk_Í*+¦ °ÙIÃZ­Âa9¾m2a·;SÒvG®…@g„Ås±éãÍ“ÒÆ¢’2ëw<]8rF'|‰êUÌjövså—L£µ>µ¨Øjsõ Ès¼¹t5wJ¡à̵ãï[ÑNå̹ìÛµmJ¤‡Å”K$6¨œDU0_†wíü„™U³$#6«™P8zP>[a^>Mí©=”–W–P»/{dž˜-:¢‘ÔC‰\—‹Î1a¸LèâÙÛ»¯f•éO;-Nü¿º, ´a…€A‰…0šz&•8ÇÞã^n¡ƒÎ¦î>x—?HŽÓNÁ4/-{›§ì{ð¹ikì§‚¬‚îàÁ'#û#~œ–âr½A‡OOªTS_OEII–Fßݯöî­eÚ´Ì6ÀÔ××SRRB8Æj±"€Ëƒ¯#»Þ]-:=m`>ÈÍË¥³}dšˆ–¦& Íý†b`eÃfS …2k÷®ü¾ñ9ÙdT=’d¢Ãܼ±ŒŽµèЕÂc‘e üþ‘5z†~Áp¢C ©è ñ“cÍ|PRY1½;3Û˜¬Ég&Óª=»òìÝù$¬ŸœªåÉNg"uÐñ‘‡,X–VÜ…zÁ2Í„²ìá3ÐÙŸ’‰ý¡ÑW–±BÒñT—LtŒZtÐÞ–|¡ª¡føuù¶áßa:¢C`€èH(:TÔ M Ó¢Z÷;l$_¤.«,Ë8]ÌôyÄØ²u똖5N“ P•¡ðш«Ë¦¥n²ˆ›úylÛ¿¯fØ0ýE‡‘pwÚhI<;¥#: E¦ž7¶h q™‰«39=RÑa¢õ©\wÒ¤w:¢C ©è°w–Òs·.ÁQ>ѨÒoR'½º1]Ñ¡¢|Ÿãê럧¦òœ2´/7XtH£ Ñ!@\éÎãƒE‡–žÖ&Rtè ¥7–ôµ´bÇúÁ¢Ã`gæ"ƒPdø±N6E‡ú~Þô\=kN55c#›hÑ!Ñá´™ûƒE‡ û³ßž':ˆ¢C{Šõz;ózÊ0Œ‡¸t<ýNeÑ!€Ùb±èpnõLìƒËÖ.öŠsóÜYy®m @Ô7´^2ëm æ^†¯3'ZthµZ‡ˆ”hwÙhLÃ#óôʾþ{‡ïÿ³÷–OŽ¤Ùšçã 1C0$tUÃ…Y³»m6öší^[›™KMÕU•!f¹œçƒ”)rI‘ï§„Éá…¿óœÆýŠW]ú!ª´êt˜ÜÍàù7Îl¤Ê´ôÒÄzº/:Q2ÝÉYïCv£±ÃóÞt˜äWÏ1ž3¢A^ªÛîbè17›7ˆý’ša'·Ð!€èðÕ«7¡ÌA˜ØA¦Š‡‘ƒ7¯~ÁÉR›4s댈Ʉ` $Ea,øW•9ûp†“Ó“PÂ`ÐC’ Í‚Ü=ÚÁÍy8sÀîL"é4e1*[­Vq°QzØIc†'! þæÕÙû3œ<™Äi–€.ºÊ·ï[È”íq,å<Žõ£lç­ÙÙØív·b€^ˆd"¶u÷•ÉeÑn†wæçÊ%4ïƒoKå)Œ¦-’(>Uè¯í™‰£بuŸ³á@$ }Cê%û/+¸zåÌÞÝßÅÍ•»V\™xíÁú”²#L ²´9›<=y>2Ù×IB…¦SØÖÑn5Éæ†/h”+eÜ´De’D@+ˆpÛÿ! º\§(Š`Ùð“Ñ÷W×(ïïmÝó¼¿o \^]ÛG»EœßÌbE£¡ˆhÌÛs‹ 8ÖÛ\’5ÒºJ`ÿèWççky^{û{Ÿÿu 2B@“ù¤JA£¼åÂÚ§iÊ´x¿u_ÅéË´ÛÁå·bÙ,†­ÇãMÕARÄãƒjïaÌÛµ?ŽÍ†A‚õcz‚€$LË숨@vpî×kw(+êÙ×;ÒáæØ\bó‘ùù4âI ƒ^x.ùýWÁǯL¯X–%çÐ!ž®%IÅX0úoÃ<êš½q–)8¯ü4ƒl=txpè_ªw:Tˆõðæ¡Ã†Åò׿.B$ÙIåÇ'è@àС>§Zñá<üêziœ³± ö}ƒÅìÙçòO-FDY…¨¹»îeèpà’ßvèP”úãcª3£áêsJÅcÐU{«÷øèt:` @œB‡6 @8Id¸<èprv‘Ê:{ÆQÚ0¾èÀtÀtx=»¶ÜÒÞaXe )ÊDýÃ:à:L¤œ9+½xO$·h–IŽæaß{"2èðèôÀ⹓P2‚B‡#}õ}8Ké`ö=¿Ð!É/ž3n ÃÉþé/IWÐáÞScÛ0¡CEžœ #µ¬Ý]sEÝf§å :ö6tXv .F±ì tù´q`Â)tÀ:`Øt`}Ðár}´>Ù·¶:,|R§¤ü%e5™B¿ÐáÇ=ŸIËÐ!0)¢X†wwöñІ_èÀgè€'è€#è€kè°²sˆÇáÀî³Pr9oµÐ¼ŸÅÄ>A‡ó1ËÀB‡\A‡„‡íÍ :lwí‹D%É\ót`­Ð![èp,C‡x‚9:˜X€Sè€)txa†8…}mÞ žt®îä:¼¾ .F.Cù €¦SPGëËî’.A«¯ :”|¨·(€Ÿb¥ä黨¹Ž$ í^ùåþî²»·G:k¯êÀFtŒ†«ÖèÇo êUC(3~Q“'(ÚÒ»¼»^t >ž°|DX<ŽÅÑïßÊVƒ³ G“HM·Õvôó#Å}pŽb7S­=OhÑÙÚ-ïÍŒîfÛ›¡!íïUUÃõ £ñÉùf×AUWÍ0m< L}¼ãáµÅ‰`%“@Ø“'«0ž¤Ìö¤ó—Œz_ľP혯Éñh„R>'±Z]m4AG.SÚØsÐ5ë=§2-†©O[î^¿s¦òR 0øEG&ÉÖ(· :ÜÜÜ„ölâ¼{›&‰ãÞ‡ÚR¿·Øv‚g&þÏóxž#[54MƒB|V¯mÝÂA••¥¿;ûÜz»±öçÒj·]ÿÎññj±mK6ZÖÁ–T*µÒƱ2…/on××jñS›³ G­l…ëþ~°0æ›îÚ€ÜÝ^€‹l'øfûì*;öq Ÿ+—Wæµ›Ÿ÷SЉÍAÔEïAyØêVuÕ]À=“²øƼPPÜ’ä×Ë/ b ÜÖ®§±âüÁEcæ>TiÏÀæ'ÝÅóŽ|ßÏ7KçÐÂ<ï…«˜¸WYÝš­à”ò©è"½’Ë,Æíƒ,G&†ÂÚçb­îïYE™ÅçA¨ÆÕ§rd¿Ûöü»´êþ»kwöö‡¢(÷IÌÅ"ŒU¨“sŠ,…ìª/-Œ4«÷;ö¡¢s~{¶W†t~Æ]ßQˆ¼¸"/Û3šs@“ ç ‘t~ö®™˜ó$*næüŽr“ZœM„ú=ÙrͶÿ³}Ô &aS½™óäÜÖ¤»T‹=9^Ï%q}kÜ*%b{ÿ~58ÏЋ{R<š äúZýí¹hÕÆÌñmõ¬Ï‹7¯C¥Ò*tÐl¯&ehz;Ú?ÝM‹a wpd1€àË-&+qw*•ïß¾C.·^Eßž<@6™ ìó„iQƒ 8K¢²‰æZm’t %$KnÝ$µíQŒðþ÷¼ti–Pv“<´ÉLÊ•OC­)ÿ—ð ÞœÍd°¿ãßPÔ%ØRÒ‘˜Bjf ©Ýn¯—”¦î|—,mŸ –üqÉ—¢5ãç(Ù–ÅÜ$ÑY̻ؿeûϾº 6¹ôüø¹{ÿZNe76- ƒk±ÍDcèV?ïêÎ>`ÿɼLì–b2Ö~Ó¼‚á:Ƴý“9ÿ+¼sÄnÏŒÓ 5Ø3ƒ˜ªŠ”ÒëQf„¢dpþ,Eû-¯^¿ÚêÐe¡|vzúýÌn7P  ûøîÛScßîÚ Ù¥…×™ƒ&Ão;ÜÛé‚óBýÜ,Ón¸ƒëZóBÃeß>È'¢ÒÁîG*T*‹öƒ¢Ovê£ã‰ºHq©;ÓÙ;ãk¤¨i$->ZïHÒ” Òp¡’Kù÷Q!XRÚ«ÏÛëÌâÓuƒ“djâþæÛE0ãý.hs:XÖ>faŒm¹ÒÜúJfÊ=Ͻ Š'·§5z*ü3¿ýîGg~VÚÛzUoödùÅÑç?g²ÖðFÌ£òt*íNµ­×oöýg躀>$ U£VÇ!x-¬æ¾RFùži»n&“F*a/8{ÿaj3+.ŸÁª°‹<^üŒƒgÞ•¥¡ó\ÞxhSß?Ü|‡Bò—;Üÿqu_–|sŠ\ŸÐÉ„¸‘%Éðù5këmÚjuÖú}² âéËß.üÛîîbŒ^"ÆHDØÖA²ÁÏCvº‡½¿*vS™Æè*eãÊX4 ΠIY3^§•ÝUÛ…T­?syœEES·ãÝ»w`¢îŸ÷o¾}ÿößþiæ7¨þ "øxËßÿ>ë2G³ÎòÐ…ò®íÏ9ýR4ãûé÷œ}ÜÖ‚éú÷׿ZÇ@(…žÿ_ÚØ}2±;—•Õ¯nÍ•²óÓ.œÄÿøÇµk´¾?{''O: 4 ²ždØH aã#ðñ(‡Í†ôí œÿò:ÏÒX ¤h(¬7ë(ä [ùÒ±:ÃpÚF˜˜§¶+Û0$eì©ÅÆ»^^>Áù«÷+ÿÞiv‘ÎM‚#j ÿüO?âýù%ÈHÚ†Û\xzï"°\ cy EçUìñDƒ¾ ”¡ {àj £ ÊzÛƒ?©”ðþ.X¥šŸ~ú ¿qXöúÝk¼xºª¾pu~ý£CŒIœ6 F »]Ħ푬 êäîÆHD½­÷»ÛTvv]ýNéå)ª¯>ldŽW ;¸«[$¡IМ™rªªš*¾bQÔ-ÀçJ´„»Qu#÷Lj4›$²¤)`¦•Yƒîñ”÷­ëPbkö5:p%cµZE©T‚Në¶Õi®A²ù$Fý>¢Š›:1¹%–J@TýŸ0|l¡­‚(j`×ÅÝÝÝ¡R±OÔTpwqþ ÎÒJ±ˆ»Z-°ÏSH ´‹„|©´‡jõÚÑÏŠ£1Øèô÷¾yù¿¾r!óé"„Nmí׸{´‹›sÿ*¡¥RÕê—¡~{uuåKÁo ¨ˆó(Š‚ª:[!A×<ŽðG4Çh´š$+ïìàþ6üvïT‚†ÚW¶þ9ýúË+|ó­¿Jo•P@­±ÓF wV vvy†á°ï_þðEÍoq(€ ¸M±PD­îÿ|êv»¶ª›A Žc0o_Ï4BS¡“Ô5çdZAD¡£i •Íím²®#²MþÝÜèI=$™äƒ{·éDçב^Óº5ål÷­`íK]¼ Œ½üýK¼ú“s ;“N Ý _%i8"f£ÊËÄ1lOìŸl*ƒ–Ú¥"Ž@³ëÍW%Riô»Îu6BB”½,Èšâ¨K˜#•Ï¢Û0/ÎN³1tÄ!x–`#«üÍ‹oðëë_·{ƒ’4€± $ѹBL]& È2¢Qxõú¼|ñ­ïÏÙ9|‚Û‹ÕœT"¡/t>%ÃC•ìsa$E@›pÉ—JhT«ðü.n7ùne8mÒ¹/Âóç9Z…P!ðìÃèÖwpô .Ï·ë|Çà¸Å˜yk8DÖÄ.T% ã=¯"K:"Ѝ…*ÚçÝ_<×o^öâé,g"5ª®rn&+ ôî³ãت–êåR÷Uó‚ûF§†|Úâõ•©{÷îƒÁ!gOÛkƒ„xPÐ!˰8=>ðõ*¼ÁMAA‡,¡CC‡ÉTpÁÞÎpˆÃ¹*7ÛÍ_tnÐ;…û£õ¸hÄñµ˜A‡ÑiëŸ0[-:‚4{ûyãjU‰tv°´ýÏA‡>C‡ç"‹÷çþ‡«Ð!K谜ʣß[4–¡ÃnÏx~GèiXRLTÍ7txXY¬.½½¶Ÿ·AC‡C‡ ¡CØŸV¯pÚìôüÔ@|†'ëÓ[pÇ:L&ŒÿÿééKèp÷äÄðßÍ ÃB)ü 7Kè4ñ©2mSK͵™«Û¨­šA‡ÅÔRÙ¿zœæ@í+?ÆS1$3C÷òÒ Úi672f6³ èpoÑÀ/¦Œçw©4Q³ :€l~’8‹š´ùþä3¹…ãÉUûXZj}å:”§íêÇ¢»sÏ :T”Å5a*òê9qusáû=|zÇžö™Z ûGÁ)iØA‡OÛ8…³¹üÆ¡ÃDÒÇ2txoÐîèÕkãx 1õ]ij™UÅ#'Ðá_~ý:&NN>C‡/>lt-wT×|ÀAC‡C‡þU8޶ÙKÇcçI¢OСNº¿Æ³÷æûÓ .ÐÖé·\C‡Ñ¸³ž³ý™n8t89£¼ÿ®t˜È,Ún ÃLÑ"/a/1ƒãs`À'è€!t \èФxÖ-t(Kî[§W¬»f™A‡vþp\$tèðù³g m:àXA‡Ð'{¹t`:¬Þ¯¿0ÎÑpMð||:œØ\z(Ðáqå`ë‘$ZwøQEÍt8§ˆd@_ƒœËßeb«þøÈM§…X,ŽáÐ<@F1˜î™cEç¢ÑN¡„ÛºuAètÀ[ g?âäø8Ðw´[9ÀÍÝ%ºí6R{‘„ ä·~š†°RHœg1Áž÷3:­ÒÙ`U?z£¨H±Èú|„(E@b#PFÒ3;½!þûÿuˆŸvÞRÖNuX“hŒbñÿp±$9˜*¿ˆFB&×w]×ñ¥^·‹äoüŽB6z«ƒ¯}h²2¾ª(Še«Äf»ƒ\Æ=lJ°*tq1ö A Ãboï NÓša9HâÐkjÇã ÄCŠ÷åciüëý¿øv©V·ßGÊAl†d h¢þ8¡60’±(zÑëßÓuýsâØËàxã-³£íF*•B·ë¬%U£ZC¾ä¼õ˜(Ëõù7×·ØÝÛÙNÛ¥?B2ažåc<„áĆͥò¨·ë mà@y(!3‡Sé<ºs;:HåOY">kÌ2\í±qn¦zÛ@igV(›ˆgд{?þé„¿6Çõv…Lf-ó)žˆ‚b’è6ï¿Ú½8šŠ£ßî‚ò Q÷Ý·øùç_þíÍ›3<¾Z<’D÷v¢ŽASö°ÈN¾„Û†sG§IJp¾æó§Gxóî|mï°Qm#_ ~Í*òf#õZ-$³ÎãíºFƒ “xFéiá`_ ÁÇäZób³Qâh=vª(ŒÁòÞ ÄøA–lÿíq,Í q„¸8œ§hª·x³¤©`¦û~QŒàÞ&Åb ¨( `Ùɧ“,”žøø’= ‚t‡GR­]C1S\ïõÑ tÅÙÚæ3Yí–§ïùøñŽOMÿÿtÿ®Î6òŽD]`[ä^¿‡dÂ8§¡YÈŠˆJ¥‚»»»­·š¤ƒdÂ)vQ¯ æ&ã)ô3ÿZ§êúòûõF±xQÎZ´k0R¡¸"™L¢×ëYØÌfZ-¯käóy4¹yˆ8Ããp8qôúƒ/þ>Gƒ¢SÕI]§@Æj:H04ÙFÑŒÐeèDdc÷ÃP€r§×«« ìïnô½ýåOÆoÿ»­›O<ËC˜&Üo¯ØÙË;áС!œU–D ’ˆ’"ƒ¡Íçæþ^ W×ÁV:5]äòöT&ÊB=,§"ã1ÎàŠB±„zmòü®®¯°¿·È÷Të7(v!ŠâgåÀÏû—8@”5œH’†añÐÆõÍ övwÜu34IY_`$Ïb8°vÀô"ä6„JA§TTk5”ŠEœž>ŇïV¯7Êa8òw-‡»;¸¸¹]Û3Ö¤1H&u¥A§‹xÚx/ì%$¸õ«[5:äÓiD"4dyûªvùá+nÃrxxˆ‹ s%ÄH„‚,Û|ºlHÑsØ!“KC’Œ÷ÅDŒCèþýîíåq}ÝØÈ=ÕÛ5Ö˜³§§§øð!Xe.]Ó@|RQ!ˆÉZÇ| ‹oŸÞv‘ŒMöìL®„vÓ¹}|þáG§GÁ‹‘ЧÑ|½àg£ÓÁÑa ƒîÔ÷Ñ9€p¹Ê2 .æ@I(ÜvÛJ9Ô«MŒÛcp™àT/ÿôú'<ÝÙG2¹špÿxñLJO¿M–@:Tel„ý"æ<£1ȯ#üôù¼{óþ«ÝßÎÏÏqtd}ÆÓÇV‹f£?”0yž „·–"4Y±¶ý}°¶ÙȈM§0p0–Øw…XÞ;Àq´Œó«¦ÿ/Œ$ðÑÍ«Y“,m®T9SÀ}»¾xN)$H:{€`¢Ð¥‘çß?}òÞ¿Þú5;èvO¥×þ½»»»¸¹¹EjPµ`ÖÛÍí=v-ÔÀ4UI=Leö OQTï ¸z¯…B2k'I ?\TUʦ³h™¨7‰ª –rÿR´ UY_±V2•@oN™÷x¯Œ;_ˆ–4¶éLvÓ÷5© JU'³ÁpñÍ‹=…çÎÅshœÏ%±/M¬îd<m`ÍQB<ï­è¾Óé8ê RÊ¥Q5Q‡ÌåRh6‹‘–….†Ÿ%"*©n·>×,Jµ·ƒ‚­»³eZ­ö÷KÃ{Ía¹Xn«×~w0DjC±Ù|6Æc¸»51"@EÍ}·ý£<®ÎÃÉ¡D£QŒæÄtUAEÐÆ€‡º á)QŽÅh¼…eYˆâ—CÓ³\ âxÈg œ½~‹D.³µ÷O$1è÷Öö}1žÅp˪5]¹¡sP£Ýn!“É®ý{3™ ÚíöÚ¾o¿RÁ•ÇJƒl>…V£‹Çñ8,zA…Î{;ŸùTB·ù î“„ ´Á~8é^ÄÇ3á¯ýåj>KIVAGìß]Œc1œÚHªªƒ¢H’† &¨êšc¹ñm Å@RÃOrær'h6+åòù û5”Mòhõœ·ˆ¥2vÛ+:8úaŸ÷_Ò`#,DùaøñƒAW²­P3ïÞ½ÃÓ§O‘Ëå0Œ¶È×2˜ É% üöõ[<{ñÌû¤ (¡ £¢°Gˆ£®Ûï {}ĒΔè‹Éj½z ×™Îòè´fçÏPcÃK.|ûò9þýþâYg÷|R>ÄÙ½¿6ô"D°X}ÿVÅnǸÝç@]iog×·Wè FHÆÍá†t>Nc³ÁÖN¯t2ó ö(«J³ñç_ÿ‚ÃÒr¹Õv–¿¾úß¼\l7W¯ÕP(ñЇ,ˈD"ø’F2‘F¯¿þu“I¦Ñî9ûÞB6‹zË^µãŸ¿ûÿöóÏ+ÿ.Quó°‡Dj`´Íú‡nùTÞÑÏÞU›¨”rxë­NÙôä¹¹½ÀîŽyáú ÛF<åíÌáù »îY4(|&t@'ìb4›mPŠ•^ïe¢ )=¡÷EÏgQ”À²á<[MƒœSb, xýæWä²…ßw­ÙD1·ÙýS‘EÐap‡ñx{À÷Z½ƒÝ#Œ%çÂ/­nÙ9Ðõæê»û;zõû]° &î½Àˆæ9(‚ûwÛnµ‘ÉnŸßÓ¬Ý!W¬<x°š‘Ü|N%·SBóv»Zjó A6~ã± Ž‹|5sRÓ¤{¼oŸ>Ç/6]ßÚ`XÒ»\&<úý`ç¼N ´àÅTå³í³ÿ·2 t¨Z$—­Zû|Ÿû~êH„›0luœ‘¥J@mõÜ@‡Å²µ!S¯×Cƒ;ÍI ×³ï‘NrÔôwV“ùaA‡]Áøº–¡ÃNË2H3¨*LºÀ8…µ:¶u,C‡Ñ˜wÂ^cœaC‡åLiáïW>äB‡¬O&e¨µˆcë|¡[£fóô­­˜Ç¢-¯å¼B‡V Ã»ÛYEGo—ò†t8ÙÞë`=À±tøâh¦ªâ:ð:ŠšÜpPÐ!Sè0“Kÿ|¤àƒë€¬@‡A‡ CÆÁ>ì¶§ëð:oè÷ ÃÃÃCÄ¢Y ºÒÔîvg7S…§OŸNç|Ó7tX*¸KbˆÒÃPƹ¼¼œøs²ÿF޵£²)5œ€ÎΜ"äAÕt8™sþ(Ÿ C»íU“ÿÎéÎÃ$‰ì~èLüœ@‡C‡ì¡Ãi«£~§Rq8mÖPæž‹[èðì죫ŸÿåÕÇÐá»×ï|C‡ ¡ÃýJÑtèÔžú&³%À¢½ÊõíÕäçâÖŠJ›†ØB‡j@û±"J(UŽ‚±#Gî;uè p~n<Ïø(‹¿8Žð% ¯Ð¡hÐò®ë¤K¦­á‰nwæ#õG“s‡fÜ]£Wè„? 3èШ•£è€!t`:,”ÇRj­Úêu8€y6Ø5sB13ù\§Ð!Ë/t¨ªÞãÝfvZÐaµQs~OÓ`2÷ü}¥½ÒV®‘DbÑ›oÌ©*îm‹Ñh„_Þ½Aa'øûM&½Û‡Ù¼µ/|rrblOÈ%QC>–\Û{ :$ ˜B‡Ößyê:üîèî~‰¤ýBͼ*i§,¤¾ça¾r|1Hñ÷æß×2¹²é<ê5ë`S¦±„$„÷^í~s=ÞÓS 1é ù¢Õéï¸w~hÊÚcO%Œ¿?Å; š¥¨F#•Õ%ÙëÅä‹›«œ;rØ¢¹?>GC÷Î}lúÎHÉ~‹“Hª§RQß÷}ß^e‰hqFd—”ºÝU€ fðe<‚ ,7Ùß==qôó7׋ÒÛ5?×ÿ»wïˆg±Ù1¹P6E2e|&~üpÿùϺÎá!ŒÊÎ,1VD4ÁÏg* @ÿÕíuàן;¨^Ÿo®%e`vÜߘÛí¦±q{{ç¹z8棥q°¾ {=@Þ¯/,&+%]‡"Ë^o"cnÃÄqô $ìGÃ>ÔÐâ˜s„Nçœ'?‰>S±øV<¯‹‹ G‹~ÍFQ¯[·ºøT Úiš»„ýÝ\áPµîNU—e‚=/ÿòç?‡òœ& n:BN}Љ-%j²É}™ÏϦh w¶ºfm¬ƒ)K§‚ƪq€ÅíüÑ|?ì:F“ ^›œ{½v cB³ðf×­ª*úÓäM:¾þ x&>ݧÏ2‘N@£#E^z.W77Ž¿ûääØÛ¼JÚCO_L“þâì^ \0óñên®Vï­}DÉ]¢¶×ª”÷Ò«k÷öë ßC„ ¿EÃ-î¿T@û1Í2¨ÞOÎ_ƒ‚·½£E`H•Ì“•’³¤kdN5K#¯n××8>|‚áR;Óù62› ±‰r9¸‚7Ö Et*kï{÷:u›XË,¾ˆNÖ¹"y³‡OOœCÝnܯŸBÖ>١σú}øÅÄŬ7…OAìv ú`Œ§/'zµ¶ûÏv†øþèg?¬ª¡>Ï¡q€WWÁû¯Êòù|[§76Ýž>ö]Ÿ/—÷ïÖƒáýN-âÍM¦&IÓòDרͳ‹1àçÏŸ»÷ÆáÅkšK‰ÜBÙb\6ðø5·dP`zv2ÐT"­mâ>,ÎÉœ9Þq!úpyw¿ûCåÀ`wEö>L9›_Ûý,¾+ÂøËÕæÚ¸Öç }d~¾Rð¾L”·¾%óýý™_›KûS7ÿçþ—µ¼Gð;–Uy½ ) k<¶>ÃvöB¹üôRޝ·á®™µzY‡J{ÇOþž+í¯EÅ8FQÞpžw›ŒÇýÅÎKù"4‡¶Ëþ0(6œíkí<†ÖojüX\oË?u¼èw’ÕÒ{ÝIÒôþÆÙ¼dYw`‘ .Ú]oÞ„×jÜp÷uÝëONNùF³Î¸Ÿžž:ß+2ÁwS£óä;ÇZ£~AVÛÞøð ¿ß?Ú›ø»¤ œ#K£@ü\(Lã_œª¾Îý﹫f§æë»ÿíßþuq¯'ÌïïêÜ{±©{‹íT«Æ±¢Ra5—¢¨šçó1µ\ü47Rœ½¯ ÜÙ?üÓ·€ÛË뵬¯$ëÎßѦBS*¥¬}/¸þ¸hG7«ÆÅ¦:íÿ æxg\‰Ì?ø·QI‹}Ë‹PF9wÈ;ØÛ™Àͺ>y>…ò,Fr°çï;jíú4ưúþX]Gµ[E³iî¿ææŠ²*­.ÄÕÙÝyÃÇïUNÖU§ßDĤpƒ™»‰”‹:g hÍþ^ª76k#Åq–5χäòÖñÜÖ …¡äŸsQ䂈ßÿãïõ¤¤äÕí öwÂBÛÞ Ð&÷Ôi4Îçñ5ŽD:‡Ò‚>°®»é<šóW$,‡[ñJÆÑí ðŸÿù_ø‡øÃƒ{Þ’ª.$œü žæ!(«Æ›F õ‡·0\Òx²™å£i4FqݧÇøðѽ”~4ÁbÔ1p¦h†‰:CÇ[Ñ .ý,ÏP$s‡§7è!"À£ÈèÈlŸâ£œ-˜<$D æf­\1þd T@§ì¡-,(Êø’ÇqžUõ\¯é4QGØêçKF1ìYù“"gµõžÉvwJxýÚ8Ñtùñs F¡\p(&IʵâÖ:MÓ¶‰ämTŒƒ:ãkš®€$èÐ>ÿââ#ÿÜd2Ž^Ï 'SÌ£]›Aù4·ëµï:Cé˜u€"h¨úö¬#¦@(³ý¦ßé!á²X¬Ñn!Ÿñ§ì\¿«£P Fùœ$Hhú—ã—²%T[U<Ž/o\ß`ÿ(üxV¹TÆ}õòXGĪ€N%—­Äކ4~O«>ÅÝE0êN²¨ Âú?“1½áú`•$ñ÷Ÿÿ:â\Â\5Œ¬öeß฼¼ÆAHª+¶LfJˆ@åå¯nÏ!"4tÙ|½Vk5”Š›-Hц"ÈX°h%—Ç]³ñàÞ— H< \J㾺j×Çù4Bxöþ ;@ŒÆËßàÕë_C¹Žg0$ïϽÝD.³¨›Èrè·Vƒ¶ín™TøEYÑ‘.ÔM*€FoלÚÛ-áúf&;I|dzI Z½­´­Y™Õ1žÃPØLɳƒ¼½tWðÉEhŒ=ÌAq,€åx“ÿ‚å‚?Wvöq{uá~¾í—q}5S«Ü/pU5.°¢Ù…†cUG}±1NU1vQLÞì´‘KÛï¯Ýn©TEC7‰{ÜWïP.U¶úùˆ¢–%1”úˆ1î ¥~µŠDɾ;Æßúßÿæ»à/^€9¥íÌNíÛÇlœ>Ž!ª~iƒ%!{¡~G’‹¢TÞÇ»óíz/Š$ƒö¨˜áHÈãõ¨1QÒ(Äâ•„ªA§sQa\ßÞcÏÄWÏÆRh 7Ë (”zg²´’×÷·Ø+Oºô†’±àâÀL6©åîÙä’)4{Á<ÏJ)‹»jk+æÐÓïžàÝÏ•º ÐÝùdív™©’ìû³÷xrò$¸ó‹Aû¼ϯq|4)IÅ8t·@ 'Œä£kÿÞL>vãaˆ-ídr¸m/ªæË4î- )T "`¢<$›<µ,ȈðövÃpØB,æXÎçrh4¿¬Î­^Ù¤óÞ ;Fè{¸½¯bç¬Å Ç°×@,¹½J¶§§øpùÁÿºÎeÐmz_×,ËB7Ó¢æhwç7W¡|6IˆÐôE€å›—¿Å¯¯þ²ú³<Mļf¸4¤q¸Iʼ~†ªª¾Ûs¸V鬷¶iA@×½Õâ %ÔêëQÉz¨vÀ¿ýÿÿÿ÷H¤¢[{ªP›ÀXœªƒvñLø-ÁIš‚¦ø+*bù(Ä-GÀgÃA’‚ v»#¤–Ö÷N¹ˆÛûÅdïNq7˜‰: úÄÞ!9Šc¡nQÛ¾µÅ (Ê´e–ÑÈd³h·Z ÁÁ Šäòp ·õ”Jy£¹"‡qm¶¦5QÉF¾º÷EÒhÊì9ö‡±ÍXììàêò6´Ï†cð1îq‘>ŽÍØÍ½1¨¥8¹. ˜‰?E’$4Mû¢ŸA>›@£5±÷ïîê¨Ø(J·[]d²)DsIŒšÖ S2“E¯½]ç´F —„žþ€7[<Ï( ªnWûÛ”· 3×¶awˆXj Që$@„¿³ù$Z óùÌóI‚ñÿS UU¾ø÷¥ã)ƒµ}_gØE:f_0ÔovÈ¥QÜ©@W Ô«·‹hn$²qô[ƒ­¾FQÁºPTD 4ë-ÇL‚€ó˜i*_A·1²«*¸ Ç¥5•I9ÛeaŒ¿=vu6›EË¡¿Þï¶‘pY€¦F" ìz8’$D™ _ñâ»xýóë­y–#qŒh¢C'§eœ}¸·w©"ZÝÅ8X‚£Ð;·E ¤õ±Õepœ»xA„a0èõÀr‹Ï“$Thºÿõž'ÐX‹=lºà}ãþÇN [ï9(MANÅVÔ±ŠûòÀxq8 /ÿôë¯oðÍ7Ï-æàå>._]måó‰0:d)\@ÑÕ¬š‡,@‡ƒ¹“1p²ñà'ÈGR ÐáÕíúËýËÏž¡C:‘XË5Rª+ÍC‡L¡CšŽXØnî×±_èÀÖC‡j@[5€ÒgŒdðÆÎîb"<›M X¬@‡p[»±ÌÎC‡¢âþ?A‡œà*—xxjŠN Cznº® :ŒÓÁÞ§^pŒ Œ×³èðþfz®zØŠÝB‡Wçç‹çNm¼àñÛA‡•Tz=ðçÈF×›°ë´:KçàâsÜtà3tXÉÞúòl#¸!k_GkèXÌü¬“eG3?FÒVc”Aqþ'èÀƒýt¿ù°… 3mØA‡A‡É|zmωá¢+Ð!€ÏÐááááÌ~[CQlPСbñ vÆÎ®í C¾¡ÃaˆjÛaC‡ÀxØí¬Â1#P¶idræ`\¿7szI-ØóWÕgɈNw€öhòžý´#4_ŸÎ0·Ùüä,{ûË»Ug°Ñð}ýóö! rÚ_-?^|ôüYa&•¾÷uódïÈÕφëU¶V”U_K©SÛMÅCÙìzƒÖëtñ$g¼ÆÑÚ'o.µ$"Èí‡5‚ñ„·Â¦ˆ‡˜A­öðZ¹ÎÇ –-N.ÅåùÌaÈðbÍÞfUýdq U4Y[ž‹ëùhëFÐîlÉÔ¹¸˜u¢i÷Õ\Qv3Å<‘øb R³ˆû‹Ö ‹¢&žp¾ÿó¼ñçä Y<º˜èàí\J¥fgäÑ·ÞÚ2þr3É!=û½7Ÿ»;×JS¢üíK——áûÉɶ} ÇÖ~ß³ÃãÕ­ÑBi*_΂ Ì÷€‹sÿ€#ûwßîšÇ’Y.º“ñæ?$<ÈRK6Fo$ Z·¬8¨¸_£¹”sARŸ<ÏryÖb¸Ý°>›#.‹ÝoïÏ\ÄiFásvÖEi÷EÄDë Åü¹ç ΋ê阷}¯¸7™»»Æs·nÂBÜ·mŠóÉÙ{úx碕ü&Éü3˜Èä<ŽÇžæó ê\Ç·¿ùÎÑïã^÷C§#ã’µ}&7ë÷%DÁ̃½–kí«þB’Ë@Ѷ£%¯›ñæ|±¹ ÇAœté5i.øÒXðVÔ‹-^ ËlNø Yw/‚²Ðj9ŸH¢Ñ·NDèCiŒc¼!FQŒúáªeÜ\Ý`wß_…[¯ßEÒE0ªR©àîîÎöç’™&‘€Ô_/°Õjµ‘Í®n>~|ãã'¾?ÿ¨r„ó»sW¿“ÈeÐo¶1‹ˆ9<³v %Ü„PT‹F19›»úH¥U¨p÷Ñ(Ëa$ZªJ;;¨ÎÃд(á¦" 9À6Å'''8;sždˆòý>vÇNÞ4’Sµ4AšÙ1Â`°A‡VâÐAB‡A‡ fI¯Ð!&×þ¥@‡ ¡CZÍ‹v§‹ã'{Ž?/_ñ¯VªlY a:TTãk‹NAB' ?;èp#¼×h!™_u:G‚Œ(ïÌäsh7Œµ›ë;ìZ%‰8 /Ú ÛZãøyäоlnŵĒQ {#|­CÑdˆ#±ø,!\H¤QïÛìn éÔâš IÒS+äV»lÆ­Š2(`—¥)ˆ>“š¦$ƒ7¥ñ ç^K×UÄ$±X:,¡z1ç£>âÑÄ—7up°¯EH²A»SYU ‹*¢Ñ‡Uqzºó nßÚþÜåùŽC»Žl6‹V˺…EðPuïðKÓåÁOÕ7oÞàùóçxÀáþ..®n„Õ¹%© ˜U'žLcÐ3 cOb8xØöfƒR¨ýø ¾òÑn5ÉÚCÌV9ªMŒA»‹ø”íP@‚F0‚ ÃXpŸóÏ hÔëk}‚$€gܳïßáÉӓljÿ8Ö2h‚BÌrIbO›äA$Tñ¦A_ '7Mª4JßÚçŲ,Dq;ŠÃ?{NCqðà&_Ð!GÐ!OÐ!€è€'èp§òšüŠÆ§‚ è°´¿þjwQ\A‡ÞOhj;E´° Ã(¿z­›‚„¦R¹O^G¨×î:,8T¥9:Të &]V\5Ö R›S:£¦U‚FÐ!ˇ},C‡ÍVpÿDs¯Ýš%—¬ºOÐ!×Ðád-.B‡üô»üB‡$WEßüðɾëN©Ð,xÀ:d©¹}}:L—' ØmöŽ>ÿù¹‹ê­ê:h]ìU±7Lèðè`g+ÞÓíùÙVo4 C¦Ð!€è€'è0‹¹‚S©ÉÞH™¨„úc‘h(Ð!OÐádÏ`“yè@èÐáXt¶&º]ﶦ,ÏÎÕÏU­Ó}Ín“54±:ç"m ö»î n®ªÕWàªêßF1ƒo¯¯þ&t¨ŠŠ-t`Î)ˆÄãÎçã6A‡íŽ{øý“j¤[è0 &1·_ .«ëþ€¶deb»,C‡~Ôóothvfó´°³µE5ž·'ÇÇÎü ÆøY[A‡tø§?ÿej_ÏÅol CÆ¡R£t89Gœì9ö{ô'è°7=Óæ¡Cž›œËÐ!Eù{7µxVÝ×gOtyÑï|ùò›`ìÓýl°„‰êX`¶Çx»Š¥Í C†Ð!ÇСJm¯B¹è0Giêý« ÈBÃaÏ5tØty¦û… –˜<‡m€àŸø½¯ß?<ð§Læ:à:à:à:<9ò¦ðËM;fE8çÏ{§±¨}ünÞmâ33¿EcÝù(N C+Ð!€À C¶Ðá]£ê:`èç8{•·iÛf:L¦“k…‡#÷g´jñ+Ÿ C¡@‡À$nzrj¬tf:à :€¾8 :ð®ØK³uU,Úø ç€"lä~(æá‰ Gáæÿ²qûýÜ tç¨øäz ¶Ó±Ù¹Ÿc;ÜB‡ÅCs…?3èP…µslvwûN§Ùrü³n¡C+ÐáÉa8’„)86N: ]Ý#Dä$®ºõ{¯úð‹ÅÍÆÞîâÚš‡€Ú†ªEÇȰ CÐ(]‡y‹¸EgÁC·ŸÑÈ>Çã:Ü;blc)@ÒlnÝ5ÝÞ½I¯2¸_”Õ«Ù¦¯®©½k„¶$'æ§ÓªÒuõYï ;HFgБ°9õÈb¶€ÄREg*? Ķêî )³–iû‹}‹'àï0Ýl‡ÔÎÖðù‡ÕIJ û Ö÷ú›qJ»ý5‚‡ªÿ V>míÈÜÞ·ÌP5óïn¶Ö£î›Kõšþ ÄþÐ$’-¥,¾ÌF朠YW{ôZÎæ¤é´ó×7›i%ª’a²´s?»žtjâ@Çc,"êfª@ϯÏ?ÿùÍçɆ®Ë¢ˆReɤ5hm÷ÿN‡Î¯ÚCÅ›ýq~9{_LÚ8FDìƒ^~lÅãcìTÌ‹8*ÅòFæN×Á~4ßÁ¸ÛõçøÊ´nèÊÖ‰+ÛÑêÛÍ àŠàXg¶R*åfDfë[j=è¤õ¤¢“È{HÜ$RHCçvóxÎY‰Õ}‹¢Hä|¶E6ûþÃ(ι_B±ægˆQ—à's„Šh ܵ¯7¶£5q&íþ½y œ@Ëäµ\—\ÕŒÏÙâžûÖKáÞ)ïVPÌMu½» (/žmåÕ¤¥èhwf¶6c”ì–w÷‹¹¢œÜ\ë£úíì35=hÉdë¡M”6Î>~ôô5äôÜWÇë èÞÝ…gËþþw¿µztKûþä,•U5ø-›\Mj s½ãɹ]ªªBÐT ºÞ ã¹6Ý’(£\¨ÌÙ…‹ëãÕ«_}æÛ·o=] ÅzW•ë5Ícß;_à<-ìW}x°g~ÎñÖàÕ¿üÁ À¬Z½s}=ñ¥¤p,fìÓUoªæ6SÅüžhÂØ×â¨Å9W,¹³ êÝ®g4 ÞvlÝÅè2;‹{ÞÅ¥wûìþ~31“Ìn°­'ÏÎ=îésàôÑñQ`×3tœw›„¹öœ¤.àÜ“Vý©ùB¾hÌìQ´iaYɯW-0s–SØ6½Îzã÷øÑ¾`éèèhÉ· çZ.àgÞâ¡xÔØW(í–Þ½d+[y]µÚäœéçR¤¿¸­t„TƒüôÙÙ»ÐïA•&v‘ñwv©äú XNŽ õó[Â9ïßûß „^?ÔëOЋ±ÓÎ0v¡vQå—ìVë8-ûÜBÒàlNñÎl×ä´"Ë®uíŸ]|åsy:2õ;&Ïd7_+›u÷|úýÚíY\«Rؼ€5ÿê}a¯oŒÜL&œy­ÙDÊö+«©”³ÜûÀråù„'Néÿþ‡?$†k8-Üûé§¿Z?ã‹óµ¼Kò¡OF’öÈ,8Lfär9Œ†›¯îÕYû»áÈØ?y̦á×þ\bœ1,Û—6û‰êÉX½ÑÄa-är7µVýñâ³è6fI´lÁ1}rb<N&ŠæA'jEÂxD–öÏÞÈ›+;U0ûÞ³øH0^}½U[ë{O%Rw—׿ê '´ÑZšvvÝ+¦4jë®&s«ë‰á€±A Äý£cWßÓª®•µjm#ïºÛw¶6“Yû9iÆùrôâÙ".)7æ©„KÒF­c­÷´Nwâ@†"dJ™:ÛWÌ`z~¸„OŒT”†Bð꾄°:Qb´ûCêÛzºÉžœ³þãí*q8§&9Kô’¤}CQ¼™ýCa¾yÿá=—G¤á9(„7¹zÚ£;s¸Èw2žœSÍ©"…è—Gû+Îü–°Õ‹ÕÅôPrv^0±`[ 5Î÷ÝýçÉUóg#ªã`‚ž„ø¯O«UÙýÚ(äU¬;›So€›“èó*žõ¹–®Ùl0 óÚµ;€QÒ¼íi÷7w¨5uƒÁâ: VסJȤ‹sßïno0j­¾rFΡ¥hÂäL_“…6=÷)n1I9’©œ®T‚ ^Ë#÷×'гw'Ëá„ý¨òs#Â|Ït¶¦JÓî2’¾š£zõöÂö÷ÏÏÏ×ò¬ãàÉl°ž>n;ö¦‰BÁög#ÅÀÆdQ½¹·öÉ$ïñ’úœzY¾à8hÝáÕ¯¿üŸöÎã¹m+ã:@¬Õ-E¶Æ²“xÆ™ñ)ãƒÿvßœƒO‰“‘l+¢ÕH‰ D%J¤Ä"€(›Â=é@¡<¼²oßo¿]¨ùF¤ûûܵ¹½âD+D‚uÅ Xsìñ>åÄŸ\7ÚyöÍÍãx²1F©2ý" ‰ÉêÅ 3^{´Û“û$²ý|ø0õ¢ÔÓÃŽp…½=ÔÊå¹wtÃê`³”A½öxÑÕ[øL|¥ÁÒú*Õð¦ŠbAéù z! EëC.,˜îóܵ(¦»‡<ÅBw>dðÞÞ3”Ôw÷fBëÊ R.9U>¶áö‚ñ®K‚˜zcM°$ܘšeu@Ó CÇ¥æÖT¥”˜Ã2˜cX }Te‡cã z'xA!må?ùë ^½~±X„ÒS×’e’Ä-Lû]œŸaçÙAàïNOOðâÅÑD÷Ú;ø å³ï ñÞ,Ëœ2ìܨÝ!•Iƒ¥§÷½ ôQÄlJsx³ÍPþpàß''8> þ¦»;;øqq•-‡ém|š_5D [+®áöîvÕ `WÕ+l­ÇÏ WyH‚£YÖl\H‚£Å;p)eЍ´–v.òEÜéw«ÎºÀÖR d|KeÛ¨¥x’¡átæ[šäòúÛ=õÀL¦ˆVk9û¾nÚàYj58¦h4MÀ²Ü'ñ.ù"ê7Éöužd ;Ñ€Ëá‚-I9rCƒæ"TQe)I\˜öNq$TcþŠÐº¦t[ T‰Ø.¡|Š!)(fÛ¶ŠzÜožïàë€}èösuðÄÓÛ‹U*7(•6f~_Çq¢¥Lr«=—÷'m59M_.—±×›É8F„щ– "B¬²có2—pA¸Ä“$EÁ ©Nüùóg¼}ûöñzÌóImºe€O n™sh+…o?U–‘’üd ÙmÔšÁ S‚(ASd#1–¬$¡)Ë0] ,1}¶êýûwøøñÅü¨„¸Û@WMð©ð¢¦eDff¢xH :ìôê¾ÖÈ”•å\IDATâ•›ähÆ: :¤©þ»A‡ß¿ KÓŠ"µõR"íR“£;mƒÐ!€©A‡Ô@@·˜Îì©ÌÝq4¡C`v¡IB‡ C g::º§Ð5OèÀT¡CŽ ?&5¥³c•S&Ç”²ÓbRõa Cc¡Cxõº«Lª ”ô…¿ýÓŸCZòì4a CÐ!Éפ C’™< –t¨dqç Å©B‡Àp¶{è&7þÿ{2H±¬Ð¡ÒVðT-+ùÏÑAÐáÙÙü¿ç½ºÆþîþÜŸåp·?¢B‡º ° UW—º¿Äd2ã ëá¯3 ¦rÞ`@ÚG™u´•a™ B(’ílÅËl/Hý=Ì t(pÎÊáUÞ¡Ãz½¾ÐýbQ¡Ã¼4Ù>ìòòñ÷Š›‘:h÷‡Ì91äòëñËP¿“•~yѵ­áqãËR´8wèÀt`,th¨“ÀÓ#¥*ANîKf6ºãbС¬.÷—ˆ?îö×—§€yç ø8vpŸ¬V½K¸zA‡÷û²ç­~Ÿ²eW¹ÑwÉ¡¡ü×8èÐõqX‚Z{Ï :¬4†UWy%/èðàÙd¥õ¶:¦ð„Ä‚€'xXfgáÇ·¦†Œ‡¸Ýu#)èðùA´ª@ƒUXæð„{÷{l0Ší¾ôWo¯µ“)5:MÓ`™³ñÑLmòøÝ4¡ÃóóóÙöG;|’›t +éB‡rÄRšžò´txøóqøõèv6êŒã CžÐ¡b?îƒQ¡C9à÷•úÍB®Ó€<‚»m-rZîˆÿbÏ#×úg¨ªn‚äãÍa¡ÃeÅL–‹oH :^¤¾~;}ø»)˽XËlæ½qСªHg¢¯‡k Í5®wDs©ÜX&¡qãÍ4üi‰õ{a†&»IEND®B`‚rmlint-2.6.1/docs/_static/screenshot.png000066400000000000000000001761011312046612000202670ustar00rootroot00000000000000‰PNG  IHDRžÚήbKGDÿÿÿ ½§“ pHYs  šœtIMEß'4ÓÈ IDATxÚì½y”Õy/úÛ»êœÓ£Ô’ZR«ÕÝj M¨5#$  „›gìÄwÝ877Y×ñ[ë­8wzYY7yËqŒ—ŸãÜàlcb 1K fÐ<Ïckjõ ©çᜪ½÷û£jWí]U§ûô ±ki©»Oª]{ß·¿y“öövAç\X”²,0ÆŽã •J8ç ”Ÿ¹ŒÁ¶,¨B€B„Úgò9òJ)sáä\dŠ2ãJ(²¹ŠŠ2p–ÿyM*•‚ã8±1ùþ³ågò”Rp.mŒê} Ô{!$¸Oô}äûªŸ'GþMBhp=c.(± ‚{ ÁA©¥Í—ú\ù‹Z`œùƒ¨Eƒ¹ ¡áµrÌ–e%®ç”zs`Û6˜Ë üyúyÞýˆ¿$þœsjyïA)g’ä;•‚ëºÚXH0Oqz£Þ$ho)¼y²¬pœÞŸóÒ(”ÐA߇s õ²à=z‘kå:.¨E5Z‘´,Ç%iZþï­;æ=J×rüŒ1ضY3o¾!„w½:Æ@óð¦G÷„Òàsù}¾B¼gPJÁ8ƒEÃ9VéŸ1Ë¢ƒË¸êø=š£ ß„ã?sPx÷q]7˜SêÏœ[×uA ¯‰À²,8Ž<+¿7¿œsm:£ó2Ôïrþ9g Ô8ó¤ld¢ßK§ÓÈåržœ&\Ha ÔÒæD•Û®ë¶m¸®‹T*ДÊóBpPbùrƒ‹ ç\Êé`ìB25—s`ÛV\îFä]LöøïK)¥NΡ$XkuJúž>—\ã9•÷!È “Îh|¯Þ':×Ìe°m Âß+lÛæ,i\êó-ËŠñ‹*WÕ÷àœ2•"‡¦ÈW\òþìÓ´eYž PæÁ{µì€•䨣´Aˆ'ÓÕwOZ/u®¼g»°íâÓ‹wˊ˽|÷QçLÎQT~EevT<BÀ\bMOÉÇ×Ñu“óìy”‚¹,ÐÔ¹WïA)…ëºyi>:—ê{Z–×qa§ìPÏò×̶SàŒú4$ßXå?m#r=Êê÷b²€m[>ß%ËåBd™&×,ÿÎ÷y‚ž ï©~¦ÊB 8ã!ÝÈtù.B–E5>“º’”y’ß„àI^ŠÊÄ‚AXdN¥.î`º­¾§º' ¶¿/'ͱ”Ã)_R©˜1yãïßÞ¾LòÊcožå~Fb{ô{ªÎè–åÑ,¥¾‘o=å÷¥üŠÒCTBA)cÜßçÂw”{Zmzk)½ŠLu]ÇÿŸùò…úúU²N¯Ž5ÊgQ¹Hã4‡¶eÃen0†\.§­eYÁ>-÷ì€ $òŽ:&U¯ÔuJoŸ‰¾£*Ë$Ï…û¢&^z<Ü;,‹D•¶ˆœ `Ü%4à5ê2O¡' °ü‰È岩 #„@QQ‘¶ˆòB¤üI‹.Zð¹o°Ê¿ÉÉÍ9N 0„Ré„Ú&á¸R);˜ O ù=µF§”Š2Ìžb8ËÍLþ™lÊÑqJ`YÞýâ +S…$¢`ကàÅ x܃zÆ”¼%àLßDTW‰^„€ø%Úæ-‘Ëå4³„sîÝ[„KZGBˆ§ŒÉg2ÏèT ìà9BßÞ寖mû‚_a^ª+= ¾±ï3¼4:åsÎÁO4^¼k„&ÌÂçI¡9Š@eÜ›©üä3:¥Q.àÁwä¼kJ'¸àÞYT7‰}FÌfs‰L*° ›¸"€ƒ±ðˆb%Êú{Ê.¾Ÿ$lá;$¤CIå •v¼M-äg¢Í½tîx?SÝ`÷7')À¼gúŽ“@(û¼î¶QúWùTòÆŸGŠœ¯|Fg ¬Q+&Ì%=z·Ñ Ÿ¨ ÷Æ,åA(ÈmÛ¥rŽçzšj%Í·ä[Jˆæœb¾R&ÇhYÞ|Éï§R©@©w™«9ôäs(µ`§ìÀ1$¿®¥)o\‘Íét*Pn¤CG®©·_Å M™h3tZ‘Èš¨Îî¤ç©²EuZ©²qè?Ìç+ËòùOSZ•}&A t•}[¥åÀ!-e® ͇ïÃ9/„@6›Õ•hÜÇã²I•%NΉéPò! 9%Ô{I^’üÌ¥Ž× ÎÒYªŽ)t ðÈó<ÃCê†áçD38g`œûŽ@8QyžÀ‚jüЈ“¢é¢žÓ›{®Í—÷=Û¦m«Ž%Mç ¡üu£Ö£/}Lò^-ÒA÷UÞkûiDŽÉý#IsÆB¨5…æ¥n$ß_ҾܷÔªîáíÝRFªúµn|CÓÁ™ï`ˆ:±c!ÑéÑ8Þ1æQ WBB]KSõg/¡ÉuÝÀPÁ*ÏÊwq]7ø9*yÄ9 ùé82é4¸õ· C–m)΅䈕º7«Ä$þȧ·¨<©Fƒ†Ì˜Ò¢õ$à™¥`Ù–¾§ù9ÏVÊÒ¾¥U&j¼G„/£òEé(µ|Px넵N’»ùt¢¨~›O'SçO^“/[$ß¾¤f‰ ¦ûÅ¿/àºLÛ›£ŽÇ|ë7Ø>’ôM¹ D3GÔì+©[%ß›øüÒ¸4<Õ¨ptÎõ{yQX'ç¾!*3=¤Ì‘¶…ô}æ“áÂ4!4Œ £÷jTUÊ>@0¡Ùƒe™2/„1Áqݘ̋Π‰‡;A(Q2TY°ï$¾c„v;;;=ž‘p5 æyºIf§Fƒô¡êÁ•×yOèÙR#sj4’RKó”ÉûeÏ ¬æ}KP(ÔÍšsæ2=Âç+åªê1¨ˆyM¤×ÖxdDèQ‚ˆ Õø 6q%íÁ#6ïZ™¦Í1 =œ…ŒÆ8Ë“ò(À¸«u„‘¢ÂU( KÔ@ÖÖZó.’À{ªÑ® ê“ ì17ÙÈñ¼69î1•fZ çH¥¬˜gÙâqÃÇÛ@”¨n <XD@Fé‰(›šˆ¤jBN§A©å§‚°˜7±ÕSŒCQH5¾«çÝ&„@PÝ‹«Ò!ó½±M"ï¦A’Ò…cë-£ÊU)•©:ê]]eΤN¦²xòÅÖ¢ÑLÙ ™›ì”Šf#D7è€ç"›­æT‘›ˆU°¨3:“6fÁxÂ*Jä Êýó •J!e§üÌS`b>ÄB 0Y¶F mCKÌhR•-U‡‹˜7Wåk5…PuèÈÏcèžYñj‡Ï$±qÉç«Ù*]¨´ëº,È*ðèƒë¤yò#ãÉù‘B×uú¸“%IATçÙ¶mOÑ<â  çBî;"PN8\×Á@6ëÍO»Ê—NUº‚h©Ñ”¯¡:î¢cŽ:®¢©•$Ì%×e ã±4­P ¶¼a¦¦k‹Èþò ÜsÀPEÑ$¥:0ègžã—+ïUÈ“"Úê}ít:&½µZDT•e”Bsœ1Æ#CçËò]RPù9Ø+-ÛL¥ñ@H(,ËBIII`t†ªd;X^:¾U ²»àeF¤R©0’oGJXˆ×"™Žƒì@6œÛ”˜v™d¬'EFmÛ¾“ÍeµhsÝXS ¾ÆŽãèò‹Å1ÀÇœ‡²A@’åJ¶–Êßáœ,ËF*•òö\Å™¦é² â'"Nõg™V©Êù|{šÔÃÏIlsNN‹às%(yÊuYl—{5"ò•sj¶” @åßbQɈÓÀ÷ÂÅöµ$×·”-ª³Áæ¬ê°°”)nœzT”Íf• Ë0$óX£º«Mö£¿); a™ÁD)ÑZ2}YÓé" ¯ŒÎãQÛ²}Ý8äCÕž ôwßøS÷SUfGSnÃLHï³TÄé!?—™=RG‹Þ'(9¡~&÷—¨î¢:¬d6 4:…à ÍÍ„$l©å÷9Ľ‚–ey/¯¤a©Â(_T&©F"4EÒÔ¬ÛWúTå]MeÉ—>'k³TÚSª=%Qõò&¾$ô¸'ëç -F’—Tî{F¬XúBR„,)rj)Æ"s]?mÕ»‡£xŒeÍ—¬…PSyi$­•P’©R½-ê«‚6\ã| º¼9j¤W]/ê Jµ>Q{÷pеQF=k¡‡OOQÒæ-[[®mt}Cšhâ;:ŽjY·»ïSbÄ)¡VGÎw´®8THV®zð òæ¹¶/$w]PÅ)@( ÒmT%\UfÃTgWsü$=Snl„­>;ilQ¹¢^cÛ–·á*©Û\x©"Þþß»;Xmv¾ï¨ëå똷_ÙÖx@>WñòÛ~m¥Ê˜rƒQ:„)QaÔV5‚¢‘@Õ;¬z1CO±¤%’èA‚"¦WŽëúµ8£Z~Q; d³>Á³@øŒ‘‘ÞGÖcñè¢L-ÏG[Ò蔊BRdJõ¦ªü8_¢ÍZMCBÔ‘úµ Z9ÓS“R=ãÕxT3æyU^‰(´&£²æ:)òn¸^Ýl4ƒ"©‘‰T6£iójÝaÔ‹Îüt£°VQeù’µd-zÊyܨë×C>ÒSÒåÞ/ æ¨zW4ÁFís¡ÕÎÙ¶Ÿñ„Xµh†[ŒNIh¬Êru-òí}ÁYÎuô«rHîíIM¼R©t,ºC-ê96"û–6wÕäƒÔ#­”—¾È#¹Ð‚²´&ªè‡û”Þ³BÕo¢Í‡JK”{KtOø"OY‚ÜóÂŒKs3U&æ1L×KÂyO)Ù2«$Ɉ“Ymr-CˆìËD©Áôu,Ï`JâM5½SêNª®Dçñd·äy—©„R-¥Tøeáï¡@û$_i¡¦C0r*³aÔ}"ÜRœ£¥ 6‚œ7ek•%&Ñý€GÒä¡”8 ïãï¡ó)¢»H§^bfŒOÿ²É«œ£ÎÎNXŠÜgŒ†넞 oQQ‘–r¤ojúÆ!Óþ£D%ð Ø5Ú‘UW`½çsÍpD+³Ðë©3p´y‘ºñIãG*³SïýåÄÊÍ#``$×'$¥úE½uò{NÎñà˜1ƒ…ÊÇÄÑF7ÑζR‰ æEIðЍC…(›ÍÅæGÖkÈÍO* –ï=Îæ²A¨^FDÔ¨v=0Û¨Õ5V×'Ú5O:d“ 9‡©”T*FRðØþ÷(%È99­VYUØÔõwýtÎhê^˜ÒGcMB¦uâ)áòó\.—Ø ˜pÅà–)€þ¬Ö´ê†ÆtvUñkÑ„t ¡­ ! ™NMåɗƧFžÕ LÝP´‹ iËÝeµ4Ǥbö˜âë¸ÚûÉ9æA·>1 í ‘…àLKßÓ<ñJôUWl¹b(‘˜‘:Ä’S~ƒC[‡HC0£‘õqQšQ7£P°Ç½¤ÑhžŒ,k‘JjiåQ™©JsæG§¢uq É ¥ìh«¦¨ fÐçK“V£ r¯šÐxšhRzx(Ó•4`µ‡æt Ò¿ˆN/m ¯WS`}ÇÖ`,’–íˆ5–$Ÿ2‘’€ÿõ4nKUKI ºãI(]Í“R¸¥’&"'J=/|¥Ÿþ.@@Ç—ÚDñêûʪ”#étFË^Òj ]'––¦¼S½âTyŒÄPÔÞœ…†Žå;B§ š®éû¬Öéz9CTÖȵŠ:F$ýS¢gt Å¡îE-¡èÒ“DË<LâC51T±ªì”<¸Ì–é›Iݸձ¨ÎÑhƒµážäoNrÊ´Û ÙJ¤yŠ|¿¬Ÿ’žTjE}c"Z[*#;!¿ë)»ñlQþ£e’ Õa%ui,qε=FІÎ#ÙL'p”ú)ZÉ‘ÚpKácÛ¶"™¡Q!õº¨nÕËôwd1g£”}Üoü£7’#~oK žÈr7—ˆšÙ;… Ì zÔ=Á‘‘¤yÝ©ãM}’ }æ2¿QZ¨Ë©¥yª#TîÅj†h¾ ­¼±¼yõYj`*ZÛɵfš¡îJ•ŽÈj×g€(åmndÖuË¢¾óE¯E§ «Î¢(¯$Û‡@WW—gó ”¾ùc#gCë"ëºëºƒ¤/ ˜ZUZãaÚÁ¼º²q‡·¹ÙvØ^zXÔ{è GÜð)°$¾ù ¥F ~8žÊIõ;¡R¡t\£$&ü£J—ŒryÇW赞gé‘ ’a ˆ˜³D¯vŽl^ÔÒ•Ýt:l~^}+šB¨éÂÒAÀ9je¢Qkuó‘ šjÑÒH[’†ÝxõŽœ¶mÇÒNdC©¤t§À€$Ts¨J~4Ê+åäZ3¡5»!J”Ík¾`+ÌOcžÂh \À´TOo'0¢¼…W½x2òN}O¿ªP…йîýëx…ÒdÀSæ¤ãBÞ+š’•䵋6vb‘Ô+•>ÕȸÊ7^*c.¦ åSŒÕÚTYGípJ} 㵬€ Å`UO¯ó»ïgä%½÷`÷PÇ®¦Ú$¥1EÓ¡T$æ¤üv®´…×ϲÒÏAKªˆÖ#D£¦–oø1æyŠ ôº<™F&¥VìܪA!Ϫó#ͪgh¨4Û²Àƒt/·j÷Y=µ)4¬íØ*ëV}åT=_5i},jÁq½®fÝÆ;³Vã%ÿ9N.8– Z÷X…ž }Þäyºƒu½ ÎÜS<»1>á~Çe+M¦Zä)ÏV$ª7x-Hô­Hc•h·Í|ó“ôMø)©Û_¾8µƒf´Ñµl¯Ö5ð½~\QvljyuÆð<¬Am‘ÒÔ+&Ä—¾ãË?çO%%‚³NIbóÐ]ÃO÷ŒÒµšÉ¡núÑZhj£ìÖç:n,UhÔ¢Á~ ×” rìO4õ*&ûýã°¢û‡wž¡rtBä?• !ÈærȤӃžC¨½ë¯K´Ä]¡¡î…£:ºB™íäì‡F£ã°lOA‹uâõebàÄÊSÒr$¥fªÍx,ƒ"Ÿî©Êä!ë{ Á¥K—b$ôó©5'ÒÛ+)¢¿¯œsär¹X›aÏ+g^YÂ…îiÐò÷Õˆ¡J¸Îyj+âis<1J)•Æ\_˜é)OTOmÍ£¸å[í¼P O­f<ZMÒnÛ©`¥ZÝ ÃäxS²|^¼ CiÄé%»Ÿr¦x«Â4*á§·+²MFk¦A IDATèëë 6š|Ǩs¥ÍÒµÌb£:2)ؘHœ†¢M>ô(6ËgræOµ#áý‹‹‹u9é¦=s“s†t&í¯Õ`y¯@5oqRý¡ˆlò¡§^OOjö" Ñ”zÕè ê’üïùQDÕ{®ÖZªûœ×9TÄ:Àz†¥~Ð8 ¯‰êˆS£2ÌR */ê¡Ëɲ.UUêÕyRi"Z‡¨ž%©# ;fJç–ª;h{¢òÝh&„”§êñAºR‡«Õ$^Ã-xr]j4/0Ø”³uÕì–èƒò>®Nµšå“$ÿ¤s\êj—\ý.õ¶…TÚSÕúu¿ ŸÚ4—P­S“†Œ(D›/©c‰ŸRÖ3GKgÔô}¢«B‰-“G8QBc{¾Ü×TCs\m:†U‡U:ºF»¿Ù$–B"Ž(%ãÃ;Þû™%œ ÓåHò¸Tã?¬á¦±šI5ãA½6ª+zßå1:WçÌS }^òÊÚxDÜYšJ¥=2e§’õV’¬›†ôž|n²œï`ÿU2¬òéÁ²éc(‹…~uxV«*Y‚Ñ©G¡EA5ÓŠ8Îdƒ¡¨GóœØ¡jsSU×F^Ôè´, ˆ”¿Hš(]Ýeêk4 É#ý:$ÝHg~4º«eI7eÈQÊ^ô,Vª5ÏÓSxãg“&ELc½"èèèðö.f’©%o@ÚÚÚDâÑ‘¿M*ËÂÀÀÀÀÀÀÀÀÀÀÀÀÀ@ât³ãG³…Vþ­I¦I)Ii1*,?ûCöŸÝâÕ,ÆXhxj‡°s®åeä«53000000000000øô"šn/\ÉT]Çõê­m™'.›ÍB"’pöÄ$<×Äð•Uh°¯Í‹vŸþ!^>Øü^2ãËøÂ‚iy¯?±ûÿÅ{­4¬ø?pÛÄŒ¡ƒ‚Pªôqñz‰¸®œ'Ka{µå²±ˆ¥tÜ$ÒV7 u¯a@´hÒ]XÝðÜ1)ʇºØ=ãÍ]ଠ§Ú:Fü̾ÖñÛ=¿5Tf``````````ð醆¶ñ”€•¦‰~6*ÿ B¶ú ¿Þ7 ßk¢RøÉæÉøû‹¯É{¦Êæb~Ýr,¨²¡.¶o¢Y31aÜ|,ªž4âgö^܉#MgpÚ5tf``````````ð)†<ºñcp\×…€w­ x­¼]æw#ò/â‘¶À*vì«Ä; +gõ`Q±€“³q&÷ɰªç>'æú0000000000005dÏ È1”Ô;7ÞOÁµïÌ itÊ:O9¸XÅž.‚’)=ø½éŽÿ—–Œpœ§OþÇZÑÒ݉~×k¹›*¿Ï®¾`-ؽëß°÷âeäh¦×4 ´sŽw0TÔ|/j(ø9g·ÿ-~ÓѱZPÖ‚={×ãX{+:³9•ÏÅ›ÄÒI%¾É~ ÿ¾á\ô`Æÿ¥<¡ëÖ}3Ƹֵ¯é0^Ù°ÛÎõÂ`—”£¦nžyt!jlCç×ê¹ØÞùöÊ9ÐÊ™¢¶àÞA¢ÑÃÌ“—H ¯'…fî ŠŽb”î1ì?²230§¶EE°øúE•?ˆ.œo» ·| –V4cïéòÅXX}{Ïý¦Îº)…¥øN¬wNa¬ûïFìØtÑ…sÍçÐUÖ€ÅõU(âí8{z'¶oïGñÝ¿yŰç`ñµ˜|þ=ìm/Åüù·a¢œ"2nÌN§m¾ûÂ4–×à¾5 ¨´иg¶>‡KÃÓÀÀÀÀÀÀÀÀÀÀàÚBˆðit2Æ`Y–b Ø„zƦeYA”Sœœó ÁŠ»¦1ì>WŠoíHឺ>|vª3ªÁ–TÝ‹{æçïD[4q–ÎnÇ…³¿DßäX>³ÍM¯ãÒå. @ó´r nöÝS‡w£3ß³&­ÄÊYÞXæMtñ¯[öâðÅ^Ì«õZÕÖ®DQ÷fìm‡ÚÚåcnlª8°i­j|åË÷ã¶r€¡±ë8¶^4n``````````p=žžÍ(L˲ €HÚ- ÏñTk9óâÔïN­óœ1ó2þóì~Ìäi¼w´ߨ<ë;è•}#šÀhVdÌWé²zŒÐßÛwõWÐiÁÞ³.ì󱨜Š60000000000¸.!Óme0Ó ºÜ"(Ý´ !Ñô[X–Ÿ$±ÎsÆ´ü§i=hj+Å/—`ýþq(_ÑUE7Ò ^a7{ßþÖF þP…¯}ãA,Éà9´%Å0µ×#ñŽK±mœqJÀ9 LiKÙ”RPJáºaWZZCÑY=¹_›Ü‹ÿû·“±¥bÕ´+d¤‘2TO›‹ŠñE èI¾zH7ï­à…„G3¹@ÐÀiäÈÔáñ§ïG· -Æ¢Œ|ˆÒ4íuÀ =\§†'ç ŒA9%Œj¦R)8Ž[pW‰èq!ô!žñ­ñLB.®\J¨mMò¥Ox¿¸IEŽ)d,ÀèbfR(²\ïˆÇ’ʤô¢3ÇÔèRŒëoªMþ = &ÛOÇñþj,ƒcRnz ?Ú3€™÷܇¯.g¸ÄÀÀÀÀÀÀÀÀÀÀ` ŒO Á˜`AÏ &£žŽBl´£”€sª™étŽoôÂö à9Ì,æ°9Å©–´‚á3×06g×cz9pªu6½ˆÉ´]´wΪү³ê1½œàdÛ;xçh;&“nô¤–à¶šÂU:i&J±;v½ gz5Š‘EWwu7¯ÁôÔØßKîšò—Žã/ Ü×0vW+vìî0£1{ë77ã.}t¿³h)ª-Ã$#‡L¥U›ÖB`Q+HõºÚúˆ8×óF…ÑxÖ–4—à ÿ;ãà®ùÝXW"®éKÏ^ô šwoÂñq’–cêŒ9‰×Ý´ðA\ؽÇOlÄ):Óf5`8#·Ç¯ÃÚ›ûñÁ‰ƒØ}ø€J',FõÛÝ¥³VãÏ?ká'›Žaý»§@K*P[F€n ÃŽ³fjp×¢q8¼{³–Ö£ÓÀÀÀÀÀÀÀÀÀÀ` 6 ’Gtzö¥Ÿr+¸×´öbÛE‘sØ‘3;mÛF.—  M*ËÆqöÄ$<×Äð•Uh0p® ¶ÿìÇxþÒÍø‹¯­D™sƒkˆ³­lH“”R › Û² 8Qº×ªÍ† ® úwâ•#À” ÅÈÏĦSÓï™]°ÑùGýÂ×üà›_6“m``````````0lPJÁ8 "žò'Î9Hkk« ”Bp‚&u†MŠx\Y\>øþiã)4v:2ã&cÉ-ËðwT›É10000000000¸æÈñ”F(çétÚ3<9g ÔKµå‚ƒ/ò)ós 5;~¢µbúç^;ãš½3ûõ÷ÁÎSЇÿö´T|¬¿Û²¼ÛJª@—®½`ê #Æ|>†¿Æ’¿ žŸ+$3Gº¦c…’ú;±ºêÇø÷_¼…ô3ŸÅS3Fç´qv*⟲•-¥Ô7>-á––¨ëº) @ t#"dê°îáÛq ào<]µ ñhC™çÕ³Ênl£25x`U5ÚO¤±zÑøëbH]‡6á·u¡ú·ñõUº÷™ ìÅþ–ækGë¥÷‘#ë°°¼$®ÔônÅöö¸~ n´\ Lå ¬®ô*;Þ>Š–«ðÌËGŽâ”(ÇC_X‡G§Zæ±k1æá¢ùàYtÚU¸}ú0»ž}p?Þ‡ Àû N~„\·…ô£Ë#ž”³`ë_kUN#¸V mûa¸7€·sy„_ó{pßÞ±¯ü£ŸÃµ¾{Þ¸O¼ü¹ž`øk æç:“™c‰‡Ÿºí?|_Ý‚´ ‹Gnïe2™ CÖe,8¦Sžå)›vsk[àÜû£l…+üШIµ5000H¢¥ó½üÇ©ªÇý·T~ªæ`ÞšðßÖ\'ƒÉµàõ蛲ßX÷€_j?‰VÉr,<}—6áPOíÇòźméœÄ‘¶ó‰^l!ržá™jÀêš¹†FˆÞ®€q˜1ÞúäÐØ0±ãH/¬Ú•XZ<Œ/•-‚}K'ø¤y°j'C}Îû'¶}tÓmø7°VÕÂZ¹Ö¼ºkòžâÐ/á|Ø8äu|ûÏè¬]‹ÔšZˆÍ/Ã=Ö¾s0ïžO¶ü1üõÉà¯aÎÏ ZZƒß}l>üä0^ÞÜ€…÷ŽŸ”RpνϤÊ×RjðšÛ“jk```0Jìùh3>>Ö„“m½èÊzÝߊ¦4àϾ¼3S€è;‡Ÿ½ô!¶6÷# ©RÜ´`žZ732½G߯ÿõóf4üÞSø£Ù¡g7wî#|óG'P÷äSøÏó¼CöâI¼±a><Ù‰~¤Q5çf<ùÐ,,§Çí<ƒ7ßÚ‰Nv ‡°Ò˜X5Ï>}+æy÷Øÿ/?Æ÷N„ŽÉ¤ú–·^ý¶œ»ŒæneSêpÿºUx¨¾H»®¯é0^Ù°ÛÎõÂ`—”£¦nžyt!jìÂç¹ûÄ^lîIãÖÏÎGuÂ÷.çŠqåÕ(¦)dÆ×£¨çX+Î95©pŽÎµîA§H¡¢¼ÝÝmP›Å >àýNG‘žä§j·¨ó–ð·BÖb(ú æçøüõ¡K8ÛÑ™P{î¿Ï+þÐ  ±BÞÝKSïÃþîåÃ0E½«12ÏÃ…Û¶ ;; nZ3ü4R²t5¤úFêæà$²p[\ØS=â§^ká@j&ÒÏ|nô‚*‰& o™Ïp•ÕÀŦ䋜3à— ôæÙ ™ È¢… ǶBôžÖó ¥¡dK¡2ª÷ü!¼²~/¶5õÃMÂeËð§kgKÎÊ;—îÀ‹oÂÁv¤df¤ûŒö:þÝüºî… 5½Z{·ŠâºÛñhÝüxç¹ó.ÌÅ–&;ÚR páý΃mÛAÓ†¨EcV«46å F®Ì½óîa-¯Âª¥³PUžÍ³èæ•2BJjPwÓLl(B‘ÅÑÝrïíÙŒïäJñ÷×¢¤zf’s8v¸˜n²-G›ÐM*±ÒO3rÛãû?ÜŒ#öÜy× Lu/âÃÍ{ð½—(þë,Át»°ñlüùF¼Õ:Ën]ŽÙã-äz{ÐÜUŒe;˜~ë*üþ¤; ï}ðP+Z&ÏÂgVLB)ëÆþí‡ñËÉ¢ük`õxoŸqÚöá»/ì@cy î[Ó€Jk{öaëás¸ôÈð Ï{šá”ÌÂÝIMFx3˜ðª~¶µÆ! `9 0øïß×ñ.Nç»ìÌ.=ÝÝú­ïóÞ×9ã—P’™‚êÒ+S_VÈZ E?Á´÷£léB<6ãÌÞXÿÊ[p¾ô(~¯6U¸²W …LÖ=|+ê÷îÄú³EX½v!jå÷”õ!il Ç\È<6¢ “ñÐŒ¢QÑ?ä§¦Ò‰Ñ âàiÿ/xGÚÑR›V"uÏ’«/çj†ý™K S:áü¤)9ÛW0xPß!R2Éÿp@3ª‡B!´1¤la…ʨ½øîvâLEÖÞ;™Ž3ظå=|½“àÛOÔ,ç ¡Ã³[ðw??„öIõxàÞI í°uwûðÖÂðטÌOAë^ YÓ«¹wG±è–*Ð×Îc[«‹y5#_!8¡ðhƒ(c,°+mP4’i·òC×uaÛ–9NÅÀÀÀ` 0~þ <»6¿7ù®5j ÝBÌq~†çNœÄ‘\-æ•ÍÂÊiïãèÉF4ºSQïï »÷€L_‚ÛË<ù}hãÁ4<ó‡ë°º‚XUÍñ—¿8ˆ·›ðl=ôx²çp¤ (iX…ÿ¸¶*ïx'Ìšƒ{|…k°ú–òúxìï9wÕ¹øËãƒSýX½Ôë¤w`Ó4ZÕøÊ—ïÇmåCc×ql½8ü9>ÚÊ@§Ô`v’E«Pfí.CG×9ôej‘f~äÂW•…{ÇÛ;ZÙ«rÎ'èÏþ÷x+š;[ÂI»«kWŒ±Ó¢°µ’~䚯\ƒ?~ )béT<ÿïàý÷Ïâ÷¾8«à! ‡Æ⥠PÞºëÏ–aÑÒù‰õÐ…ÒØ¨Ç<µ¹àyöèªWáŽò‘ÕN‰mÿ gOWè`Xª¤¢ºüZJ¯Zæ½Ç6!7Aú3ó‡ý¼Îž,\<70¢ñÒÚI@®3ÿé™ ¥º]ðƒG!¦Ìéï•o Cß,„6 •-Cɨƒ›öâtª_ýÒ½XQFÜŒeãÞÀ_½·¯µÔâóJ}à`r¾ÞÙûþ\*ªÇé,.!`iêø›mÃ[ Ã_£ŸŸá¬û ã,`M¯æÞEñÔi˜‚ 8Ý<Ô”x=¼FBñ³ë"5cÊä},T5ÌAõ{Û°¿±ŸŸZ>6t8­š9Ru³1§äÒØóâ¯è{ͺ7½¦×xï¶ŠËQàrWn”“FØÙŒx-k-‹úçx2⚎ÃA# …\ÇŠ`````p…°û?ÃK‡›nYÇëÊQ$úqbë6¼£”JUÌž‹Yø;v≪‰¸°ÿÚ¬j<6ÓÐ<‡Î,àœ|ÿý»ñgLè)<‘jÅ_@ñGïã—›7ã¹í›QV=¯[{kF·Û† €1Œ¹}(©(ÆXupžI„âñ÷b¡ØŒ“ÐÇ ,*À8:u) ðf\èõºƒö\Þ€/«ß¾ˆNýV;.¥¼x:Ê‹§c‚ý.¶_ê8`l¡BÖ¢úI0PZžrýÈÚCp i쪡€1s2+{Å[vŒÍwœ8s˜€'n*9¿¬ü Ò+qù$øæß€5µ}° ÖS«´uDi)`§Aæ,ÙzÝ…§­fêðøÓ÷£›pÚðêk{Ñ>{%ž]>6-Æ¢1îÌM= Û}lßIˆRp¤&ùºD¶$ɨÎ,P<.5¾e•¢À¥îÜØÑ!wЕŠËõg]×øóW!ï5úu/`M¯ùÞíåûÐQø:d„Ó²,8Ž“ØH€øÿm‚ 0Æ`Y^j-”ÐÀR50000¸BÈ5aóñ2ó×â?}¦žS”aâù½šá@ÇÍÅšúÍøÿœÀ™U íïAñÜU¸¥Ô—Ñ4Š" 5å|å¶ è~N‚ÌÄòa «áŽ»ÑpÇݸØxÞ݆—Ô‚KÏ~OÖD=¨ž7Sð”e¥i ÛëŒþx’L &‡;ÏЩ¨¸Ë+¼ŸÏœ gr€]2SÛ€‡‹Tª:À„;ŒoQ¤(àô»£[‹é'AÛAOWÈ” ˜¸žcLcà ”!hltcö”¡RožW­ÂÅÓ'‡ ù¡qpß%`Òr,?údâ,XKjÁšN=~B$-òN,éw zrÒ—´d\+ õ7ùuÀY ú&LŲ9W®;7]öYÐeÞÏìÕçÀ.¨_4¶´1V²…¦1>ëÎj Æø@/ú—§ ¾ÏtH]TÇ»¼”ç4®>Ýü5úuz~]Ók¶wû<Ø×neGîX¶, œs­ž3É0µÀqrH¥2"dMBL'[ƒ«µé[´0Ãmámu(zù~½¥ Gº‹qÛmJ7¿ÔT,«³ñqS/ÊjaîeªTÖÏÃÓORœþî‡Øy´OÖLŒ)xei ¯£ø7OOÂÉÀöÓÇq¼¿ ‹G7Ö9“€ÚšÐèÖu°Ièî=‚¦ŽÃhË S0s‚¯dÓiX4óóú¦<°Û.œ…‹J-Ú©âBG‹§œ 'j“©Áôrà@S šXª­‘®Eáô£™]gðî)†Ì¬:½&–X(Mý] ü¢±BƒÒØŒY!’𿇀è>ŽÍMÀä;kQ5ÂÐ?yt–oö6íõ»¾ûÍxìi •øY±oDÝrà¨T‰=õº—zâä6°Ý[À/°ë¾§vlic¬dKj*–ÖÚø¸ñ(öN÷} Íá<Êð™ú’‚ï34NÅ’Ÿ:ˆ=ÕX5žþºBü5¦ë>Äü ¹¦×jïöÑÓtm(ź©#OoB€PâŠt·¥Amp|'PË ŒNi‘ÒHa¨ÁBznŸÆŽƒïã»oÜŒåÓJYœ=3€h»õ’Ùkp{ù ØôáY r9ÖTéÖÕ‚{oÁÜç·àÛÿ»«NGÍ8"Û‡‹ÙIxú¾úÂÆ3pÿðüväfÔbî”R!‹¦c‡Ñ‹¦•$SvœØŠÿý^êI.ÍÁ6Ö\r×l”¿t?xQ྆‰°»Z±cw†u|€4<*·ñQórÔ'xwC#R* Q[µSíÂ3{„{ {ÎîŽÔR@1¦Nœ1¬ñÞ¶h<Ö° ßûE÷Ô—‚ô6£^¥LÁk1 úén<Œßl™ˆL¶{vÃqV‰Ï¯‰¤§«±`2°óØüÓ¦NÌ´ûÐFgá÷ï˜4v46E=}ë„Qù5õ˜˜;‹ ‡æ‡@÷™ã8)ʰvþë]Ïÿ îÆcÀÆè6èÒð¼Yºt1ÈÙ]Ûáüt{¨/¾ýê˱Üi¸?<'ãCYð_ý#r”éHñßKóäþý°òJÓ`=øÐ¡±’- Ö,ÁŒÚç¼ §—NA¦ý 6îê@Éü57˜)”wî]‚úã;ð£^S+jQ•rqîtÿˆä¡á¯Ñ¡àub~ YÓk²wûص½b\VTŽÜŠBåÒ~TË6e?!Ïðô› qÁ½/ =ÕÈ W‹>ÿ<“y ¿9´¯îã(ŠJKQ{ÓTD¤÷Þ:›ÞéÂÍwΉy{íI7ãOþC Þzw/>ܶ»ìbLŸSФ#ÕbÞÌØtø~¹×“ÿEã§à¶µ·à+7'»bW>¼ G^ÝŽ­lÇN»soŸUpz[é¬ÕøóÏZøÉ¦cXÿî)Ð’ Ô– ÛÂpýýæ/Äâw6áƒwNà Ï&5W!  H¥&¢¢¤ó†i(úZƇ“íB– )UcÚ„L/^rÜô{>ÿ} ¿Øu¯ å§bquѰÖbHúIÕáæ¹ÑvúÞ|û8“êæá‹koÁ]“ãDqëëpôßv`ë‡Û°Ã*Á앵cKc#@Řï#£ùÁp|o+xù|Ü2i„“‘™ZÛÑÚ ‘õhŒTÖ.¾Ö¬ñáuSÎÛ¶¼# ¤*@®½|„i²™:|ý›_á 1ˆhÚ¸<>¥?«ñ ¡ĸ*Ð `¯\pÅhc¬dKjò"üé—(^^¿oo< ž*Çü[ïÆïß;Ô¤Ú|ú`Rm >½8ÓâjJÆ\Ȧ‚¯Ã‚`aN®ÞYžBX–í‘ùÑOƒѳ;m;˲àº^Ã1"ç°A)(µàº!ð³n!; â…I×̪Á0±õµŸã…£iÜ÷…‡ðdmúº×þ oâåîüÕã3¯Êóξû*þúã|íÏÄ’Ì'{M»OïÇËïÂþæ^  ¥˜9g!þä™C®û¥m¯ã›ë/¿_ùþöJÃ(×^üÎ Ø^·ßy|ú¡k…‰ó"{ßûÎÛ8·ìüÍuÀWÃå÷«µ_ô5~ˆÿùR3}þA<3¿tÔ÷ :Úz¿˜ëÂòûi5žÌuä× ñ»é720000¸kÁK?zµÀ“üe“§á¶ÛWàw›º§+¡m9Ü Î{±óXž¬x] ëÈúWñ½m}˜{_ùU{&s\àP)XûA|ÿ§Ûqª¸ «ï¼U†žÎ49¤ u/›¹Ï<Øæ^Ɔ·Â¹NÞ«ãø¼q€cõï,ÃÌÔ•{w[ÐÔ~Í}1À ,»Ç-ļñ¾2Î/`ßéÍèLüv%Vϼ+öמžChêiBG¶¼xnŸ2eä"òüfìëµ1ñä+C×’vGȃâÀ¸{Bôº-™±©ûoßÿ×ß;OAþCØÓR׈V9rב¨¿Ñ~Q/—Ô߉ÕU?Æ¿ÿâ-¤Ÿù,žš16F.@(c –m§£pÎ!<ćUËîCŽã@áw"2ƧÁ ‘Å…Ö ¦¿»°ÔéǹcGðÎoâlî1|}E¹™£±D¦¬ªFû‰4V/] ©ëÐ&üã¶.Tßù0¾¾ÊDÚ†‹ËGŽâ”(ÇC_X‡Góu­dÝ3•3°º@ö v¼}-׋áyò>Ü?‹¼’–Ï9¿—‚C~˜ÛŽ¶Ë¿EŸ¸Ë*†â‘¸רô:ÎeÃ’0:Ê€IóÁ³è´«pûôô•¡OÚ–±ç%8ÛZ»®âÔÇÈý«ƒôSwzk? wãðv scÐêXmÃá÷1Ú/ Ÿ‡Ÿºí?|_Ý‚´ ‹Gç ‘Ç¦!@)!$h,äÕzò°«­ŒlRJ‘Ëå‚bPÏB5†§Á„’i3q÷-•HÀ­7¡ê‡¯âÆ™¥æl»±Æ¼5à¿­¹N“kÁëÑ7e9¾±Úœ7ôvåŒÃŒñÖ'gݯXÓ0½lzÝZ¬˜:ÐÒúï8Ö›Co×) b)@§aÑÌÏësÞ¾»:z*›£ýý|Ó/q.Ëk2¦O˜‹™åSF=ÄGzaÕ®ÄÒâ+GŸ¸Í`<£“Ìö­5Àéwà¼w è: àNˆC¿„óa£¡íOà~AKkð»ÍÇŸÆË›°ðÞÑeä¨gv2ÆN§ƒ>A^ã! Âk«¶»µ¨¥›Ñ‚Qƒ´7Õ»;ÐÉ sa°ç£ÍøøXN¶õ¢Ë(MiÀŸ}ye¾“½xol؃Ov¢iT͹O>´ ˽}ã­WÞÀgÚq±Ÿ°QYw\w VWéÑ„BžÕ{þ^Y¿Ûšúá¦ÇaÁ²eøÓµzÝë¾€ïíÁo´ u@4Êš¹øòS+0;SؘÝÎ3xó­øàdz8+‰U³ñìÓ·b^ ¾fÿ¿üß;„vk{ÞzõWØrî2š»]”M©ÃýëVá¡ú"íº¾¦ÃxeÃ>l;× €]RŽšºyxæÑ…¨†£ ûÄ^lîIãÖÏÎGužïźÀå£;ðâÛ‡p°Ý)™€é~ãüœÁ·¿µ-êœ$ýí*®éðÇwÔ[üàï^P>¬Â×¾áÕͲî…âZ¼×?|+ù½ åÁ¡0nÒýX¡ü^Y^‰“½M`¼/ù ¬gºzT ¶"t–8½ãt–´ «ëVÕ¶ ;; nZ3u˜ Um 9‡òE¡rcP,|¤¾$jf‚àXÊJÊ|ARY \l½c§€ù”Výß:÷nÄ7võ¡ÇJ&×aíwàw"óSˆ+DŽÆd¿/K×ÝŽGëŽàÇ;àÈwaÞh2nIh€RBÁWÍRø”äýÌ9”x~ÊNDj4ÔÀÀÀÀà„pqùr(*E ©wÞ=Œ£åUXµtªÊ3°yݼ2ØlÝöÃøþ7ãˆ=wÞµSÝ‹øpó|ï%ŠÿúK0ÁÁ#—pyÊl|öÎIÈdÛ±{û¼øÏ—ÑÿÄ:yvXÏrÚöâ»?Ú‰3uX{ïd:Î`ã–÷ðõN‚o?QïéH]'ðüó¿Å®þÌ]²wN.qúp©oÊíÇl¾oµŽÇ²[—cöx ¹Þ4w£D1Ô ¹fú­«ðûs¯¶'{µ¢eò,|fÅ$”²nìß~¿ü—,Ê¿öV§þ»ïÃw_ØÆòÜ·¦•Ö÷ìÃÖÃçpé‘áž'ö4Ã)™…»ó5­‹u·³[ðw??„öIõxàÞI í°uwû°Iój®éÈÔaÝ÷¢~ïN¬?[„Õk¢V~ß* º!×½P#è:{¯Bxp$èè¾édc/Ûw—8@Kæ¡:]-àÀ/ããS¯‘"”—ÎÒɳF<–‹GцÉxhFÑð¾x5ç°@¹1&<˜®BÁ›]ðÍ€¯½äÜ>Ï„Hû—j†ý™K S:áü¤iTµ•CÎÏó\k#ì…Z\‰ÛOAéÁ¾m‡ñú¿¸˜ðÇë°j)˜¿ ‘‡c…1Ù/ ¤Ã(ÝRúÚylku1¯f)O𢞞ê7€G—6c,H«¥Úù+,8E=—ÅÀÀÀÀà“ž@gOè@NÜ—9&¬˜›"›éøù+ðìÚähÍ¡;pÓðÌ®Ãê @`U5Ç_þâ ÞnjÀ³¾Y>c>¸ÍKë½wñ$<÷ƒñæ¦&¬{²¶àgÜ´§Sµøê—îÅŠ2àf,÷þê½íx­¥ŸŸjáà;[°«<|öf)¬ªªÑ<ì=Ð T¯ÂåäÚÌaEáÏJnŒÒû> kÛ`mûྲOZÚ w®¯©ä:G½/BcCγoxŽŸ³¿{—??5¾ùÓøàôV-*.XŽ"Ç cµ_B‡QO†)¸€ÓÍ@MÙÈ­Np.JÙà‚Ãu\߯ôø‰sjYVkû-oej­48MÄÓÀÀÀàÆB÷ž·ñ—Ïý+þâ…úm3ÊÜŽ?¹oõQN v4:HÕÍÁ+‹Îž~tö €Mœ†©ÈâtS’N€¶*fbíL Ù3§qÜ)üY»ÏºH͘‡†2©Z¨j˜ƒjô`c¸Ó‚í§r õËò(9=«æ¦Ñ·ÿ]|ë7‡qèr 35C_3Bd*«1@×¥`Ì{Ϻ°gÌÇ¢òQ:³çÐÖ”Tü…̡ӌÍ©ºÙ˜SBFõ¬«¶¦×®·÷*€Gbtîmo‡EÙ„Û0»8¾ÆÂ9‚æ2óÕÏy3PTT®ÃíõcÉĉ Xÿq\p‡¯·òŽƒØÚÔ.œ~Íæ™Ü#§¢‹()“Î…,ø¾×=…ó3 S´·õÌ_ŸÄÖ}„°ŠËQY£<2È´ZËò:Ú .`YVP÷ɹWÖi«†¦<äSÖz ?DJ-Sãi```p#¡höJ<{ËxdRE˜4y¦– 3ZÁsèÌÎÉ÷ñß¿ÿxB“G‰¢(—Nö¡ŸïYÅã2PGi•¢À¥îÏ¡s(X:º1“qXñØ£(Þ²¿Ü¼Ïmߌ²êÙxxÝ Ü[¦ß­xâ (þèýA¯ ˆmÃÀ˜ÆÜ>à‹cÑó‰ `TIL…Ì!wЕŠËõõѳ®âš^W¸ÞÞ«úº>À>ßè,¯¸ K*’rè;‡>¤¨&Î+€ °ì"ØÄFyÙ,”]¾Œnô£×å€=<êë8qç0OÜTrE×tP96frcŒxÿà]ð,@–=†Ô-M{ÁÞû-øÅ]Ƚ5éç]—4¦ÏO)Ìåó×'±u1<‹Žbo ”G§hw„xŸ !Â}LmëE: C£ŒÃÀÀÀÀàÆAfÂT,›=ŠÔ!šFEšr ¾r[ôXAfb9lô&ièëq€t12´ðgÏǺ³šbÆzÑ ¸< ‹º¨(Žuôr̬R4Üq7V­ÂÅÓ'±áÝmxùG-¸ôìçð¤yk¸ãn4Üq7.6É{¼7 Fr4±Qš²½F½gj0¡8Ü™½²ëî¯Åñ®,\é<ˆœ~wÈg]Í5cµpˆuäókð^a–ÛÈx°P°ì~¼Ô düj,™¿“fWo ¤8’ƒJ«<ùÁ²®L†KF¤@Üw ˜´‹Æ_¡`K!r ýCóÅ0øtp,¹Óà­@ ¤j¤z9ìÕçûÍ)àÂó®ÚüD«É¬6lþºúò` ö‹ÎëëF7€²‰#wXQjÅŒÎÀ%ÌuaQ TµHåEÉ«d`````à#5Ëêl8—{QV[‹EsÔ5˜;)¸‹ˆ¾|tÆ…U5sS…?ki­ §ñ(öÊ”¡ùà1œGÖ—€¦¦by ÷äüªÙÕ˜ƒÍš¤PY?O?yêÑG»o;ä5ÄFYèëèþ<§§aÁd {ú8Ž÷~ÙæLX[Ý+¸î©©øÿÙ{ó訮+Ñûw‡ªÒS*Kº"?zp{ÕóbœòémºÌ")L VcD”«iÚP jšÞ휨ӢþàÓ_»SV”a ‡@ ð3{õ" 7æg¿¼Jéœ 2cTLW?m®DÖ­ÊÁ?Ñul/¯êyÆÔWœ¦l ŠÕ+ƒKþ1{Õ<¦ÿªŒMoì¡n~ ŽÎzv¸JĬUƒIMŠî_ÂìKùø×R5/¢”l†›ÎN™+R)ýÝ ¼ºéîéY¦D†‹¦êsÔ¢R2Í7ðhàc32xL‘(»x„_îí&Gê§#¬€'æYkû¼{ò‰~篾ir_qjw+e'û ª,‚?ð,N‚­µh^HÎ8gún$çîË xõ'8*ùxó>æ&ƒ›+­JÖ,¦(Üš Z <]¾Á¨§’}—*_á°"÷ž¡`P¿J¿ Nä(Ëfããòs^`ÀsžSõçÿWtÛ{ê/PcF±fVÌäúL 2´bV°bƒc¢f ÌŒÃ¨¸ u»ñÔíŒæ,wÚ{Ÿ`¸ý‘² ãÿ‰[–À>ûW ©|ÆÔU9t~,´þàÆöªç…[ɉc­˜1Å,Nÿ[ ïä¥?9­ä›È”% ÷¢$Ôë%ReX0*Á°1IbßýV[wW°ÿh5@ '£ ’Õ9ÖA{e9:ÁŸÎºËùbVpA-¹„ï=+óî¶SìØU‡a‹fÖÒ•|eõÐAŸÉ ÁöÝì¯<ÅïËâÒsÉôøzc}ç°,fæžaϹ3|TámDXl ËÖ,âëE¾eHVÎÁ’ ¥T}pŒ#ûŽq\¤ð®<ËKg#óVðƒ‡~»§šm»/!GÄ‘%AOÀ²%«’Ys˜»sûv^äéçf…¼ß[tHU|ýõuî¨àðÞ£¸ÙIVa: ¾±Mƽó-×V6Ÿ8ÇÕÞ¾ŠNHenzØÔ÷é$1Z¿²tC)ç_Æ‘ýG)S"È_’eݾBÜ.{ú2¾½ÖÅ[û/ñ§5€J|f>…šWÎVlpLŒf¬nG3õ~_‚R•tõÚ°K +¡$UábG ÈQ$ÄÌev\lÐm¿PÑŠ=‹E‰Ê¤êƒZ± Ë÷Ã-KŸÃ¹íÌLÿl]l6ʼ(…Þl¶æÈ¥Á¦:àt…\>cêª=t~,ÔÜÈÞCõ¼°bËô^ø”O>“È]7‹ì &ðÇŒªª‚GÃ0t ¤€Õ´&RKK‹©iÞt·þ}žåSLÓ@’d£ÆV÷¦øì‘¿#2àaÚÇÿýùï A®e´bè‚pìí7ØÔ^Äß¿°$èÁBË¡Oø?;;È[óÿkYœ¦àŽÆtÖóÊK»¨›·_Ÿ,"¸c0ºkøÕ¦O91—¿ÿæB²'°Ý½¾EC’$üÕRü1%x'3 Ã@’$TI’°Ùl˜¦9x 0õ­$]›¡H ÁÔÐ_{œ÷« %>‡é¡­±†=— 2îÍ×êÔ»⫵oñæŽ?³)rÏωBܱ8/_à¼Æ¢âx! ÁƒÞ]Ç;o~Ê OOnœ7¡ Ó\ú«£`šƒ%Tüe;³ÚúƒNÝ0À—ö6pæshŠT ÁT2Ð?ÀgÕ—8ØåÁ1É,Z½Žo,ÿ@yÅS_¥ÿ­·ùøH--Es&eY™@p;P[ñ®°l–¥ªB‚;'ðtvÒ`dðij«¸/iâÃ0†­š?š¦‰ÔÚÚjÈŠ‚á‹HýÑ©ªªhš†iš$E]?G,µî<ÄR[@ ‚;—†V}Ô`Ô|*Š2¼Ž§¡ëƒõVt]Çļf¿§@ @ # LJ+Ë2’ºnø¶pž²,cš&þDCþ”¸@ \ƒ«‘—¾ƒÆñc ‰ƒŽ|ø¯·sßÓ²1Ë~Ë4ãôöOx·§˜ýbîm%þ†Ýðo#xáë™çøü«[OÝiÞÝYÉéæ>L…ȸ8r æðÝu¹Ÿû¶‡Êv&ÛÛ~̶u þ+’Š nQ]½Y>êzíº¶Ó_»Ÿy§™’Ç×ó̬ÈÐ\;aišø&6½[9Õ‘Qª*ÔÔ½–eo„*‚›K÷é?ò¿?ê`þ—ŸäÛùއ־߼ƛ-™üÍÿ\CIÙö¯^(g˃_X@ ¸5°ôtp5rø\†ÑÇñê^6f%Üò¬Úö/í§ð¾èQëzý²Œ¼á›¨Ón,$³ü]êíº¶‘s7+ÒÞà›·bæažœ>±ß¿jvp„°ÌÖ–‚4xš¦ &ƒ‘ªé+ö)Ú Á­A{c qá\'ä§bö×RÖ W¹Ø¥Sf=AÀÕš*öŸŽaîú)øâŽLÖ•¦ÓyÑΊ’Ø[B–Ý•{øÏ£Ý¤ß½¿+ñf¹óÚ®í0öt¢YóG_Ð926ׄ҆€Žªó\2£yðéµ<Š,H}ô”<‡ÛÈv¦ÀIÓY‘¸ê)Ûqž–[@wL½‰ê¦2ÚücYs€ÞÞ h˧åY»ˆñý.'Ö¬k´u䨾’%‰‰ÁžSé{oG¦èyÝÆGÝ ]7Ëv6þ—yEQPUu°tJà²[Ó4QUÕxú—×"’„é+©âÿ°@ n>ÍÍØb¨k AK%¹¥ŽF{4a}4tORÅë1sÕ:þiÕ-òeÜ-lÙVKÊB~¸bxÝ>³ò#<ûk­_««moõèÇ´ïÿãîÆ¾q±PàñƉÝn †é±!ÐoO9ò•ꉟsÚÎ-eƒS„³ûŒ7°ÓÈO_D¼ç4å-u¸*©Ȧ ,˜L¶6’ÓÖSèpÑÙñÎö8qõ^‚ OÁ­¡«¡Ô «>êV³A92“/=6‹3¿=Ç»‡Š™³zü³ËŠ¢  ×,·Å;±©iš7ðô/¯EÉ{ÙWÇS ·—{LÂ3gtñ2•ÝsÑÏ_AÍË!ñìiº»Ü€³¿‘·ßÙÏ‘f'.[$3f—ðäÚ™LwHàªçg?ÙÅyúùÅO^ ¸C/üphÏ Þó»ö–ó—ªZLí$eòµ'“ï»*vñÃýôj‘œÍšuËùBÎКßÓ¿{ƒ—/=KFÛ»²õƒ?r¸±ƒæ ‰¨”lî_[ʃ9Ã×÷7ãýí§8ÚØ‡P#¢ÉÌžÉ3Î!3ˆñcÏÅ õÚYúð,ÒG|NŠòý!)ښƼ–¾{¦î@.Jƨlàöyÿ¯†M¸ï;ΗñæŽJÎvjHñL·;ïA_Ÿ¶Êv”¿m} ûê;is€JRö Ö¯]ÄŠ´áK¬\m5lÙ^Îþš.œØI+(bãƒó˜í]6¥uÕóÉÖã쫹J¯(vÒòyî©¥Ì ²©}—+y[G›œhöf/XÀ÷Öäkƒ_W_ýéõuÕ*Rë0˜ÑÉH=ã>gBíòQ~à«›¨¹ÒG·Ë›S#,¥˜ïm ¹6k¶cÅ.Beƒcú‹£?ø_žt’·z=·<øAñÕþ^ìQ³H±Ù‘Õ™dØë¸äv{…ŧ?Hr$±‘ñ(=Nt3ˆE‘Aø^+ú*9ßÐÏ;¬õ»U>¡|^L‰nXôQVmÙ’…Ø?‡gßÅ£ÙU¼qü UwßÃÌ ¬¸•$ Ó·ÄŸ VòÖèô¾=ž‘éà @ ¸up7Ñî)<•e)ÕºÔ†«V§àÞx®ž…Ž^ïHŠÈ${F Åa„)=- ì-?ÄÏÝ‘üdzÀ‘ÍÚ KÉ©8ζ†0V¬™C–?øR¢>F÷E6mú 'œΛÃÝÉáHž~ÚûcˆVapÝYxËæ¦'õrêè9>þFüwÖRã}®d,-å+:\ož³•­´$çñÀâD"õN;ÇG¿sýÂ:VÄz¦ž+§xéµ2j£3¹oU1Iʵå§8r®‘ö‡‚ ÐŽœÒ…ç·M7ÜFi–¿ÞÌX‡’[Q9²m=ÞÏ÷T£îCJžŽ’üž°†Ãüô½J:sX·:¹ó3Žœì r´RÏÙªv:RòyøîD®NN«âÍßtàüÖzÖúê¸içxåׇ¨RS¸ûžÅ¤jmì?TÎËïÈüã7摡®÷v±µ5–K’«àî륹;œˆ Ë z®TðÒëÇ©ËfÍêWëÙux/×%ñ³'r,ëªõ‘æÛHn jfd5RÏ8Ï™h»|ý±svQÑa IDAT÷9ÎG§Q:?´hªá¢ÇHÜ÷7¦íX´‹PÙà˜¾Å"–õÇÕȧ§ºÐ€ó'ëiZ–@z“Þ½€DxX$2€ä Ên··»ˆ ºM£›+ÝWÐ%Üz»­ê³%ý ‘œÇôóVúÝ¢þX!Tº:eºa±O­Ø²¥— “äŸK¥!x™£­33ÇWÏvpO§ ’<Wú—Ûú÷€ª#?à?a0ÉBàæcê h€ÎÌ91|tä=É|9ÍÆv@÷ ½M½gÕ€ΡÀó6/^¬¡ÊÅL;”ÌŸMtëi¶5DQ2Ö¨ø³;sÂËúçâÑL×ÌgøÏØ‚¹|éï›Û{2=üè­‹ì« ´$€ø¼îõ n´w%:g6-÷]'[ãÞ¼À¾KNVÌ÷fÛ;³§œZ%¯í~–EK€Nm÷Ž´/Êó­:rJ&ù×Iì!g%‚»ëÆé)G+»¶¨wå"]ei¦«wp°dœª¡™…ý©‚ú¾ŸVÑ–Ãwž½—¹0›ù¶Íüøhðmž>‹uË’°«ç&òâ«ùdOk7zЕ»Ê¨bÏ|s-+âdÀ¤4Ýà6ŸeGS1Ï¥6Su"ŠKùë5iRé³{*¨³eñü³«Y%E,ˆÙ¿î=Ƈ-Y<žªXÒUk#¶räÎ+ ÏÀLÈOõøÎ Q»üÄÎZÌskFŸù°b;Vì"T6hÅ·Œý¤Ñºþ82YwWMå䕿tb4ãu‹ ªÑÀÙº ºìḚÛ¦áò‚Z?ÛB«ßO8Š(MÍ ê –|oú3Q9úùÇ2¯Ÿéè†ý„þŒE(uuªtÃJŸZm×XL–OF ŸQ×<™QãúnÞí™:Š¢ŒºbÖ¿ïSõG£þHÔŸH”R‚[*òD7$ârs‰ÿÓQšsWá_]d¼$Ü»å¶T´Ñ;ìóN¬¾Gô´pì’9g9÷gŒt^oœ˜4.ÒyÅ „»¥Ž¤tR¸ÀÕö <-T4h¨ÓgQ=ÁÚÒ®F®ôCÄŒð ]Æ8|ÓiÉ äp ®ŽrRîFìσy¹£ñ,Æ©ZÌÞs¸ÿœ‡ý‹}ÑÌ™f[v>¡­«­Äå²&÷¯Ô×qÁ“E>-”Õz°eP ¸èò)™0Tê©kêGÏJ ´ÐΙӻùIØ6,™AQÂ8RszZ8Ù a›>“â(»ÒŠ Hß{”Óµý<ž²¶J¼?Ä­ÀT$F›r°rÎ-Õ®PÚÅX6*ßâÈ J W­çÿ]*:ì?ÀÄdf¸.r¦kű!L€*ý±"ç?£ s<ý~=ý™ Bq¯PëÆ¤à™<ÿ¬„Gtt»Ço† ߦ9<Á‰i‚jæà”¨ÉíÈLD@ ¸u‹/fãz“δiDIÃßžÜü6‹óÅìhÂL'egS70Üt @dB$AlÝBRíØ]›X~É—ùN×ÍÁïÓ9qá¨!Ÿ1´Ýd|¸k0ê¼hóðë¸lĽió°r)RFJFrÔÛx^æjÀbàixèvAx´ƒÐ§Ž’‰Ž±CM?NÀM— <5ŸòÏ/]{v|¯CŠañc~¸ŒâÅc‡ˆJÏgÃÚŬΠNÇ\3¼]JX$‘@{;tÍ4j Ïw½Ž×‘;†÷—|i3fÖ‚1ϱTReJÛZ»¸¡ †Ê·‹ŸxšðŸNL,©w60t49‹’é3®+¼m”ƒ}ab#eÚz ==eœno¥³ãÍ‘÷’¦J!ëÓPéϘrðó7b<ý>šþLãºWÈuc 0&Ó?{wfÊPcI’ðx<Ȳ<8‰iš&ºa Èò`0¯úƒNY–ÐusØÉ†aúêxŠÙO@ ¸•(Z4Çûƒkèow‡.¸qÌZÃß<‰w‚L'árÅ5ƒ„¡ÒY£=”íÄ…AõÕ~<&Ø­>Œ¤”sÊ»¯·ÐþÜ#lÌ´YnW¬ª{\Ž0Œ>úðhûíi˜“Ò®ëØNÐv1 ·X¹Oñò•/_I[mÕøôÇ"Q*´ºMœ}‘vdÓE¯Ûkv{Ä8GØaDGN'²½•núèÑtÒTë¡ÿX¾7”úsC9øùÐô{HÃÉñëêÍÔ ·ëÇåÉóÏz=@TÂø_þ˜¦‰t‚oy­o&Ùô•씢’/“­É­,K×Á­Š„"[{X‡Eª€“–þQü»-•…Ù*ZM9{[4Bòè—T¢ìÐÕügíÓ˜ ®º \pNü«$‚~¥‰Úñ–Ù´ça{þûØÿm˜å;˜98ÛiÖdDu6¡Ÿ¬õþľ0[*ó2U<—ÎRÞe\7˜Îˆ†þ¦š‚xOlö·p ^CIË Ðæ½×‚lOGQYY”þˤ0Ñî ®F³‘”3“§6.#‡ŽŸï ª]ó³T<µç9Ûç¿ NóÙj.Åœœüä<ÌÜïcþ›6Ô_Fî˜êØçÜ´v]Ïv‚µ‹‰Ø`¾I!ÒÎî±_?þûm¾ýo¯ñ¯{ÛÇÕõ±ÞÙ/¦^7&nËcÚÎ$úçÇZ1cŠYœ41¿ë]-«#ËJÀ̾‰¦k`zgsU»Ýަiƒ3ž’$#‚Û‡’ÇŸæÇVþ\yšN€LXd$Y3R Ì4oO_Ʒ׺xkÿ%þ´£P‰Ï̧P3 5~&/üUÛwW°¿ò¿/PˆKÏ%Óc2žMeK6”RõÁ1Žì;Æq5’»ò,/Ì[ÁVøížj¶í¾„GV”= Á>©âgÍaîÎ=ìÛy‘§Ÿ›5⨎9rɪ©ƒ8ƒXžk†!g%c´´aºMÀ”–¼h9Ê´àÙ’KøÞ×|¸£‚Ã{âdG$Y…é$øÆ ÷>η\[Ù|â V{û*:!•¹é×NɱÚ+ËùÐ ŽøtÖm\ㆂo5±ˆï~+‚­»+Ø´Œƒ †“QÉjËbfîöœ;ÃGÞ°:,6…ekñõ¢°àÛõ¬Ì»ÛN±cW†-šYKWò•Õ9·÷  Ih×h¶3»˜ˆ Zõ-K7”rþ÷eÙ”2%‚ü%¾—Áè#ƒ‡WgQ¿£îè˜à³Ú’’Aá´…\j¯¤uÀ‰ƒ¨¨Bæ'çY¿ˆ<¨°Hú]}x|o’d%–¸¨f'dýÆò½!Ñ‹rÓÏ#Ýï“´(r"º:eºB[Óv&É?÷^ø”O>“È]7‹ì ÆÛ6›]×1MEQp¹Ý¨Š‚‰or³µµÕôO¡à­ÃâŸ*MŒûëÞô"Ÿ=ò·bô'Ü!Lûø?°?ÿ}!Á”sìí7ØÔ^Äß¿°$èfË¡Oø?;;È[óÿkYÜç_X¾Bç-(\.øüÛÅ­ÆÉ=[ùÍþn–~õ1¾šc+„£»†_mú”sùûo.${[¬ë[´a1d`L¸mó—XReÊ×t @0 ýµÇy¿ RâÃq˜ÚkØsÉ ãÞüq ®Sïzˆ¯Ö¾Å›;þÌ¦È  ¶§(­"‚›É@ÿŸU_â`—pÄ$³hõ:¾±<~Ü×\ñÔWéëm>>RKKÑnãm…a!³‹[…/}ïk|It±@09§³“#ƒ'ž]Å}I¡yøùãÅa«g% $ $Ó»ÔVQTt]6jbú’úzƒÑø§è%@ @  r¹Í¼&Ym`*I†®{÷žëº†¦iƒKleY :GN— @ @à‹,LY–1}+gý³ ƒu>ýKiUU ˆTM ͼ€®ëB @ @ †á‹ý¦?èôïûÐuÙ;Ëé?` ɾÙM 4M’@ Á¨¨êP63I’PeØïŠ¢x“ ɲ2•ú2ÙÊŠŒŒ,–Ú @ `T'+MÓuµ¬,ËÞ=žƒ …FL‰z£TDà)@ ‚kp»ÝC¦$zŽišÈ¦i¢(Ê`ÀiTO‘$Y”S@ Á5ØíöÁxÑ0€8RœÀÔ4 yp6ÓšÙ”»Ýî-øiBš@ @ ¸MÓ$ ÕfÌp ÞYÎÀ„C* _j‹$¡éú`\ïßEð)@ ‚áȾ䴺®AÀJYÿ6NY–½YmýëjýˆLÃD‘‡¯Í•®³VW @ w.’ä )MÃÄ$0W’„aÞÀÓ0† {†1±ú§FÅR[@ @ Œxzg5ý“˜þÐÓ0 dIBBBUUäÀ:+²,Î|ú7ƒÖe@ `Xð)Kèºî!bKÃ001‡²ÚzOöQ{EÌx @ àzø VK‘$ihá­„·Ž§,˘¦"+ƒn ‘XH @ ×aXiN†¶mJ¾Ÿ%$oàéÝÛ9”@Èåv ¦¾U|Ëo@ @ Äãñ ûÝ4M·s–ìôÿâNýû:M¼eT2â @ @0ˆªª îì4½“š†oûfàä¦ìŸ ŒP$†Ê¨˜"ú@ Á¼eS|%<%|aèÈ$¶òÈ’)æÈ‹À°dC@ @ "Kþ¤µ¾ÒГך†‰lúöwn B}S¤Ñª@ @ þ˜Ñ4Mü‘¤ÒRö­žõ—T‘%ߺ[ÿ©ÿÆiˆ:ž@ @ ¸.û8T›7~ôO^*Š‚,˨ºa È2Þ%¹Ò`*Ì}Ь¶·&íG?æGÛ:]òÿw]Òçª=u§ywg%§›û0"ãâÈ-˜Ãw×åžsäÃ÷xí¼ûž~YöÏ¿|\¼üó4.xˆ߆í±Ò§‚ÐÒ°ûþí`/ü`=ó7Çÿ\ÏNïîä¶ àóO`> I’0tïŠZå²!Uö×ëÔ Eø€#¢×[w ^ÏÏ~²‹ó×Hã…†n åçê…r¶œ1Xñ…äÚnÞu¢rçñÌz'ºÖÁöçñLTijÿ‚~¸£Gƒˆ4äù«Pg§^ÿüòwñm2±?ÿ„¯/.àùí¸6UÀ9Ñ;ÏòÊ[ǸžÆŠ»‹Hsèôv]¥É# ŸëÃ0ú8^ÝËÆ¬„I“Ï­ƒ[ƒÛ1å—¥>µz­?½‚~YFÞðMÔi76 ÉÖÕ[^îžÐ+LPöu; 5¡òÏ¡{>M]ÛÇÔùqœ#Á˜#SÃ@Um†>¸UÓ? :˜KÈ4QýëkÅ?ëéZeEñîù”$LÓ¸µ[ëÈf톻Xäò€º³æðhqªò àjMûOÇ0wýͽŽ#i:+’¼wÙŽó´LäË4ïEÛqrhlÚߌqà=4åYÔ™1×Xjþè°ŒÔ<-drî¨:Ï%3šŸ^Ë£©×ÙgìÈd]i:í¬(‰<ù¦®OÇ¢óÚ®í0¶O…®Þ‰e_7°Ó[Õ?‡NPS×ö1u>Ès@ °‚,Ëèºæ!eÙ[šÓ—ÀV’}+iMU–¥a%Tt]CQTúž·ÃRÛ’ù³@ž´î_”$´ ˜7ÇʽAgÖl«²0½‹VÝqü̼wøÉ]åh{«G¿6àýÜÝØ7.žÐwêëv1L½q€2sÕ:þi•èÃÛ«}zÝÁråGxö×ZÿÀéª`lîd;Ò¶ßHçƒ9G «ã³ÁÉJsXü¸÷SµÙP3ת šGL&äÿ¢*˜Æ$,êÓk:š0“WL‰@¶~ðG7vÐÜ£a"•’ÍýkKy0'ÌúE†-éíç?y-ààðe½}—+y[G›œhöf/XÀ÷Öäu³¿‘·ßÙÏ‘f'.[$3f—ðäÚ™Lw„ðe€§£Ýä¢|$‡©dRõ̾úk»n÷LÝ\”ŒQÙ8ü »Ï§]aãÿ>#äóêOG—Ïéß½Áˇfã'²‡ÓÕVÖíåì¯é‰´‚"6>89Ñ^ƒÑºêùdëqöÕ\¥×; iù<÷ÔRf†…®+*7¿É‹móø—o•:b¥û¾ÿz÷âàß7øÆŽ»øá‰~z5ˆHÎfͺå|a„>Õ.€ò‡8XÝDÍ•>º]Þ,da)Å|ÿkK—*Z¹N0:½> )Ê—ì,)ÚšÆv3“­«X·ÓPÉÙ çËxsG%g;5¤ˆx¦Û@̰¾h ´—Qþ¶õý-ì«ï¤Íi*IÙ3X¿v+Ò‚Û£hÕNõžÏص·œ¿TµÐ:`‚l')³¯=¹˜|+þ0ÿ3v1fTÚäHÃUÏÙÊVZ’óx`q"‘z§ã£ß¹ˆ~a+b-ê٬ݰ”œŠãlkcÅš9dù“þ,ëõ\©à¥×S—ÍšÕ)8®Ö³ëð^þ®KâgOäX¾Ž‘IöŒŠÃS zZØ[~ˆŸ»#ù/f…ð5…:€¾º;D$ú µh¨©Þ/h–¿ÞÌX‡’[Q9RÖ=Þ™Óžj´Ã}HÉÓQò‚ìW‹òÉXZÊW t˜àN­ó¯üúUj wß³˜T­ý‡Êyù™üÆ<2TØõÞ.¶¶Æ²`éBòcÜ}½4w‡â¤ÏQq¸ÜÓF¨eÇDÇ;Pü- ObÙÜâ¤^N=ÇǿӈÿÎZJc$ËíÂUÏÎÝç8Féü<Ò¢¨†‹#ip`hå:¡Òù1ÉÚ€ú@;rJžß6ÝpÛâ”èªU; ‘œ­0Ðp˜Ÿ¾WIgbëV'"w~Æ‘“Áû̪v:RòyøîD®NN«âÍßtàüÖzÖ&YŸ±¶b§F÷E6mú 'œΛÃÝÉáHž~ÚûcˆV-ÊÙ¢ŽM¥½ÙöP=›¬ê¼ÅsÆ|Wyå/½VFmt&÷­*&I ¶üGÎ5Òþ/ð´ ócúêêTùp@ ¸,Ë0ë9ò¸$I¨6›?û‚/É9­ú×çzƒÐÍÁŒr!õ¶€û"Ò•‹HíI˜1‹1ãgNŠP¢sfóØrïÒ{²5þáÍ ì»ädÅüHË×(™?›èÖÓlkˆ¢dþ¬QÌg÷TPgËâùgW³8JŠX³…Ý{Œ[²xD†îžN6hئϤ8Êí+¤¾÷(§kûy<5Úòåönù„-m¾PÓ¯~–g§¢núxÞØ()Ô4ï@Ð8|ÓiÉ äp ®ŽÖï±?æåjŒÆ³§j1{Ïáþsö n=Kñ´PVëÁ–]@â¢Ë'h3a©ÔS×Ôž•@i¡3§wó“°lX2ƒ¢„ÉI—E˜ÖC»KçjM µÎ.ú.ôðHl?ín©q¶QW8’¦‘ÂE:¯8pKí";&4ò™æ ©Î‡‚©ÖÕ ÛiÈú«™3Ͷì| "B»7_‰ËeMî^©¯ã‚'‹|[èlðØ%7rÎòS%ç©´÷P>›¬è¼%»° Ê uú,J¢¥ õûX~ãÑù!ÒUGæMíS@ ¸“ðÏzȾå{Š¢ éª¿¶Ê`â›í ü $MnY3f•7Øí8 `N~á IUQ]qg¸érAxŒƒÀÅhJX$‘@{Ûò¥Nn~›wÎÁŒE‹ùbv4a¦“‹G޲³iäQòª¶ýT ¦[› À–ì=Á]ƒQçýîæá×qüt#îM›‡¥ã—2 P2 £ÞÆsð 4W·`àéë/OͧüóK׎ïõ`H1,~ìQ—ñÑ¡C¼xìQéùlX»˜Õ™¡Ý¤D'K+Í=}¨g»‰N £³ê2m….ºˆdÁuöúIª k†åv…L>!Ôù0ź; YyèvAxôð¾Ñë)¢cìPã[ J€È„È[BÎSiï!{6YÐyõ©AÙÅdØ9qá¨!ð½7òzuuñO~àÓ›Ò§@ðyG–d Ó@Qt]GBBU†ò麎*«¨Aah®ÿgUUÑ´€e¶!Úãiä>á]bÛ}©' ¹œ‚»ð–ä½òMòvbPÝãöÐ4úè£íÖ®ãnâÐ7ŽYkø›2ñN^è$\®e %yËàL0 ”¼àaäÞŸõ^DïrJ†^ŒãòR\,pôÉ|™0Vûop\¶¶”E|}Y¶Ÿs$D{WJ$ÅËWR\ZJ[] ÛwåÝ×[hî6f†î͹•@Š:@Ssõmq<øD.ÿûåMzl±dDÊ£×c”‚o—5¥° Y³¬óSÅ”éjPv:19s Ý.4À~A¹M3Øíý½°‡ãÇã®sžï;W_퉜ÇòÏ7ÇÞCã£'ªóf(n/©DÚÁÕçaBï,<+œ!ÕÕâå+)^¾’¶ÚªIóá@p'bb›È41q{<ØTà-±"Iª®ë%sXÚ[ðf šŒr*R÷{Hí#{fìÂÉK0BÂ"UÀIK¿a#f l©ÌÏR9X{ž³},Šôîi>[Íe¢x 'ÂÚuPd‹I!ÒÎn×ħæ(úÉÀšý^ß^.{¶ç¿?üäÏþŒûç,>nÖ5"MÏôw6¡Ÿ¬õþ›9‰q§J”ú¯:ƒ—-•Ù*›úˆÊ*¡0ìú6I$I93yj£LÝKû9~¾‡™×„?ù‡Øtr€k6ð·Ë‚¨ÝçÈ$'Æ`û‘ Œ„ü0g$ç‡dÜ1ó)²VºÙb»Bsë:?%L©®a§SÔ_ó2U^:KyW:¥£%§qd’ gšZhÒÓH·85jö·p ^CIË Ð6ÿs=;µ¥²0[å`U9lÎà iê„ä<–ž {Ÿ°š"—-œ3ö½¦1;Žÿ6I IDATÕ]à‚39áã×Õ±ü†ìˆ­®ú«OÏïÙÊëåäÞ{ÏÏA 7&p"Ó0¼3Ÿv›Ó··Ó?©©ú#ÐÀLDÞc¾}Ÿ’„8Ū=žîH´BÄ|ŒÔ»'ÜàS'ÏÑáê p6ײ³¬ U‰âÞù¡xâsÒ‰£’7ïc`n21¸¹Òê¡dÍbŠÂaöªyLÿU›ÞØCÝüõì:q•ˆY«x̯öt‘«ösEÎã+Ë­7jpâC†²þÁàÓw mû®Qú= yéìI 4¦1;E¢ìâ~¹·›©ŸŽ°žZoI>³W/¢pÓa~öË«”ÎÉ 3FÅtõÓæJdݪÜ ¼ºéîéY¦D†‹¦êsÔ¢R2m” ÊÕÈþSÝh@ÕñK4-žoyÀ›¬2På&ÿ¡læ/ˆç¿ÿÔFĜĠÄr£v=u_NH¯cUç'Œ»í½O0Üþf.Œ?þ'nYûtì_}hjuÕ„NQ¯žGÎ…2^ÿÍ6.-Î"ͦÑXçö}–•IJmß ^ÞìæÞœH¤¾fš¹vâ¼ëØ^^Õó(Œ3¨¯8MÙ@«WfÏÿÜÀN‹î_ÂìKùø×R5/¢”l†›ÎN™+Ri]ÎcúçPÛû|ÔónÏƼ{ò‰~篾ir_qjw+e'ûƒ×y ~#$º:ÐÀ/¬ö©«‘m‡šiסý@ _( Î Áˆ$ åR¿Ó4‘diØqU ˆB!0Ñä›2•åÐÏxb_Ž‘»<4×rÕ³ý‡|õÛ€†Ó¼×F\Q&¡~¶ÛÓ—ñíµ.ÞÚ‰?í¨Tâ3ó)ÔL@–\Â÷ž•ywÛ)vìªÃ°E3kéJ¾²:'¨ë”<þ4Ï8¶òçÊÓ|pÊ[_#,2’¬©ŒœÈXº¡”ó¿/ãÈþ£”)ä/ ¶ÜŠ„$+˜1iÈÓg£.G h†!g%c´´aºMÀ”–¼h9Ê´ðIUø%J©úàGöã¸Iá]y–å£&ñÝoE°uwû–qPÔp2 "YmaYÌÌ=Þsgø¨Âk+a±),[³ˆ¯2eâÈdͲ.h¥?,"èAKÊôh¸Á}^™Å1óÏÁ5=¸AÝÚÕ¢ƒÕxÐÊu¬êüÄÑ1G.»ó—rºnŠ®c§SÑ_¶ä¾÷uî¨àðÞ£¸ÙIVa: ¾kdÜû8ßrmeó‰3|X  ÊÜôáú,Ç:h¯,çC'8âÓY·q9_̺v ɪÿ¹žªñ3yá¯"ؾ»‚ý•§ø}¹÷;Å¥ç’é ÎŽåWCnïðQ·'‘y+øÁà ¿ÝSͶݗ#âÈŠ’ G!˜ŒVüFHt5˜>udrOI çN7?[@`uhå‹'ýùƒü1¥ÿŸ®ëH­­­¦zÓ[NE’$TUe``¹•Ä(—¨@`‘šc»xåÏÍ<ñ8=+\Dp{áªçg?ÙEË’‡ø¿ë’„<crìí7ØÔ^Äß¿°„lUèª@ ÜI4´ŽLgbÞ}+²$¡ëªÍæÍ£ Ëò`t*KÞõ¹º®ûêwâÛì"¬ðÁÿ÷Û®†Srÿ:t ‚ÏýµÇy¿ RâÃq˜ÚkØsÉ ãÞü© :@pK`ª/£-xs%&¯UÍ£yO]ׇ•Pñ.¿UU‡-Ãc³ò‘õÜ•”Bz¸,„!>w ôðYõ%vy0GL2‹V¯ãËã…pà$0è„áA§ÿwÀ»Ô60Z9·)IÞ½žIÑn!U@ @  â_jë_A+I ë²¢ Öò’e90€9jÝÍ¡dC@ @  ÁR*þ¥¶¤ Ã@ŒHe]ÓPTu¨¼ #J©Ü®¸yùç;h\ð?¶|àȇïñÚy;÷=ý ³ìŸ{ei?ú1?ÚÖ1ø{¬HÒpÛÐSwšwwVrº¹S!2.ŽÜ‚9|w]ٰûþí`/ü`=ó7GÇî4¼åüX÷ºÝýXÐ:ïjä•wP?ÿö‘ÏíÂdø@ L.’$ Îv.¹5 I–ÁQªƒ…²Áw ®"£iÚ­=ãéËhwþº'¤ñÂÿ˜[ÃZíjäð¹> £ãÕ½lÌJøÜ+KTî<žYïD×:ؾã<ž)º¯þ§WÐ/ËȾ‰:Í6¾7,µA?\Ñ£ADòüU¨³SC~/³ìu<'®Bl)ö/-õ^óÝÑ{@Zú¶ÙýèŸlEïìݧiQ©È3—¡.Èùužå•·Žq)<w‘æÐéíºJ“gböª{¬Ë$éØÚàÕ ål9c°â ȵÝê–jL¡ â^Ÿ?¼Î x@d@˜¿æÑ„`à6Ä[†sY–1|q¥fØUÕú£ÕáÉP<²,ßÚ§#›µîb‘øÝYsx´8Ê›9I‰"K ¢Zš#“u¥ét^´³¢$öŽPGÒtV$yƒø²çi™ìvžCÛµ£Ó&ðJ»y/ÚŽ“Cc”þfŒï¡)ϢΌ é½Ìöï]µÀRè­ÀðýÉìèÃ…ÑÖ3üC½-eãq~ Ûòô‹±£ê<—Ìh|z-¦*Ÿ›B¼ZSÅþÓ1Ì]ÿy3jáÇZ@0ø·f¦‰¢È˜†9XËS–eì¾ÙPÕãñ f¯•$p»ÝØíöÁHÕ±[™’ù³¼?øž´î_°üÉUÔõf®ZÇ?­J4)ŠYùžýµ¡y³r¬Ütf­Á¶* óлhÕýÇOÀÌ{Cz/³Ç¿l  ­Ñ…ª] x»º0Mròƒß@MÀ8ò>Zeæ…S0 g_·ˆazìç¯Â¹°A!C@ ·þ½²$aêøª¤¨ªŠ¦i€w9®ª”L‘$°ÙlS“PH¯AêhÂL^1eBéªØÅOôÓ«ADr6kÖ-ç 9aƒÇOÿî ^¾84;:Ú!­«žO¶g_ÍUz @±“–ÏsO-efXpßÇÕVÖíåì¯é‰´‚"6>89ÑC3ÏÎæó|¸ã‡ëzp¶È²² ùê#sÈÐG)œ=J1m³¿‘·ßÙÏ‘f'.[$3f—ðäÚ™LwXïçP´]ŠòyKJ‡¶¦ñw¦§£Ýä¢|$‡©dRõ̾úÐÞKû s@FŠ’0/·a ´At4ôô€³Œ€ÀR–Àƒœ“ •= »‚*/Wòþ¶ Ž69Ñì1Ì^°€ï­ÉÖÇÞååý¼úÓ×>™Æ ? noTÇù2ÞÜQÉÙN )"žév's]}ío[ßß¾úNÚœ ’”=ƒõk±"-¸½…Vl@ïùŒ]{ËùKU ­&Èv’2 ùÚ“‹ÉwXÐù2üÅO®/ñì4vQ¹ùM^l›Ç¿|«„ÔUxöý×k¼÷ÿ¾!t~lLZô™–ÝýýeUçÇÒÃè|ô\8Ì¿U¶ÓÐkàˆOçÞû—óÅ™QAûy+”8ÄÁê&j®ôÑíò¾ K)æû_[2¸L|¬{ýéw°½¦›~[4³çåw¹ŠCM:Óæ•òåYò?}çwðÿ¼×Lñ—ŸäÛùCöín<À^¿HöÆ'ù3–Ûª¾ÁÍCQ&A|1dà^OðNdªÙ†tÝ;%êÍFdÖ`¶fרAªÛÂõÕL̬Ð0Æ9É2Ro=RoØg`Æ.ÆŒJ›\©„'±ln qR/§ŽžããßiÄg-¥1Þoš±´”¯èƒKvGÛ#´ë½]lmeÁÒ…äÇ*¸ûziî'"È¢ÙZç9^ùõ!ªÔî¾g1©Zû•óò;2ÿøyd¨ài;ÍK¿9Æ%G +î™EºC£±â$*iÛ0‡ ‹÷’"2ÉžQ@BqaŠAOK{Ëñsw$ÿñÅ,Ëß9$mÏÚ€ú@;rJžß6+©ƒ y=€ˆDßÁ´ 5T÷2ÜàP‘2b0êÏbèn¤ÌtÌs=àêÆ4FÌhºÛ0Î6xΘ\L}¥‚—^?N}\6kV§à¸ZÏ®Ã{ù».‰Ÿ=‘ã[^¾”œŠãlkcÅš9dùû@‰ *èh8ÌOß«¤31‡u«‘;?ãÈÉÎ ß Ôs¶ªŽ”|¾;‡«““Ǫxó78¿µžµIÖgd­Ø Ñ}‘M›þ g…óæpwr8’§Ÿöþ¢U‹:oQ†Vì4vç€Ëý8 `D<Ò1Ññ¿4BàÇÆ”¡fÍgZ2 ý5¦Î‡è¼¿mN¢æÏá±xƒúŠ3l{+žgåËY6ËúcÕÆvî>Çùè4Jçç‘í@5\ôIƒAç˜÷Ò멼ØÍ@j!¦·±íh9¤æ³¦¸•måøÅÌ ^(pŒÙéyäJTŸë„ü¡ýô-ç›è‘’X’a·ÜöPö…@ n#'- Ý@V†×òôÎxüôg$Ò4Uª»2)³Ÿ¶9˜Q.¤Þp_Dºr©= 3f1füÌIJlÁ\¾t÷Íø=™~ôÖEöÕ PZ@|^÷úò£îr5Ru"ŠKùë5 ’+w•QÅ4žùæZVÄy³=•¦üÃæ³ìh*æ¹l•Ê='¹$¥òô7`eœ èÔvUq 5øûݳjaÀos(ð¼Í‹k¨rg1ÓʤTÛ.g%‚»kbiÏEŠz4Œ³ç1Sf!9ûüê?T3(÷BÃä&d"UÄ %Áá}uW@2 Æ^a°êmê]Ø×u·³{*¨³eñü³«Y%E,ˆÙ¿î=Ƈ-Y<žªP26Ñ­§ÙÖEÉüYãÎþXñiía9|çÙ{™!³™oÛÌ­èé³X·, °zn"/¾zOö4±v£õ—cÚ pvçaN8cYÿÜC<–i·Î[‘á˜všÚ»ˆN g/}:h]§ùÉëÕ<õO$]¡Í)ŽBohüØ>ši»ö%¡fÍgZÒg ý5¦ÎÇ…î9J]²Šï¬óê¼9?•M¿ØÉ§Ÿ6ð坿YöóAÝoÖbž[“4¾gŠ/FŒÎ.äÁÓ8b/Wófóð²t.œù”†ú^(pXð?y,™ö)çkj©ÕRÉñ5áĹ^¤ŒyÜ%Yn{(ûB 7]×QUïÁ0¼A§a¨ªŠËíÆæ;¦úƒN \UUÐ<T›íÚ SÎÃÌýþسGVÎI.ÀL©{tŸFò´!]ÝŠÔU…‘óȤ È‘4.ÒyÅ XD92)-´sæôn~¶€ KfP”0ŽT˜žÊj=ز (P\tõúÂ¥„i¤RO]S?ú4''ê5Ôœ9,Ž“'ÜÞ½[>aKE›oèêÇÉ€ÕiÀPµ=„ȳSÑ·@ýN iŤï=ÊéÚ~OM£<Íœi6°eçSÚ—KJ\.krðJ}·ø‰§ ?ð):ċǕžÏ†µ‹Yľ'ÃM— <5ŸòÏ/]{8¾×ƒá;'". u‚m=¹ùmÞ93-æ‹ÙÑ„™N.9ÊÎ ·=†¤í¡ìÃ’§Pµ-è§j0ÝØLð¶äI´¬Dä¼tL¹I­mxî-Ù’ìÁ<÷g<‡ê1í„9_J7Âc.PUÂ"‰Ú{Ü¡k‹á¡ÛáÑÃï¢×DÇØ¡Æ·|4dßÙM×D&DN¾Î[±S)†Å=Jøá² Ù…@,­4÷ô¡ží&:%ŒÎªË´ºè"’×Ù8.? à ¶xOø^Ñyý6ÑùÈh;¸¸ €±õ'¤v1–®†ÐÿÄå’ÇÊÎvñDZŸ¾È%ÇrÂxÆMf_`* \j;øÿ1¤aC1$I¾Òž›Ñ‚Îíñ4rŸð.±í>‰ÔÓðìNÁŒ]8QËJ€iŒ>5R¼|%ÅËWÒV[ÅöÝGy÷õÚŸ{„™g:d;qa`KYÄ×—ÅaqoGB4ªì!ÚÎ× ]26Z|gõÇ4AǼP²ì!ÝXQ¬¼zÆH¿ët5^¤d––%ƯžŽ\–©¯4rzؘ‡ŽÍÐÞnÞkÕPò ©rÌAÇn4¹¬*QÑšOó‡.mÞ:ïNRÝ^cnã4Úh•s®"ÊR ®­§5c!•Õ°!s]‡{¤d³ÄÇy,ª ÷wkÜÒ˲ìô— —cÑÛ队ë\5ÒÊÞ+:®â+´Ü†þijíèj4OmŒç—y¦DÔ8b˜–®/Á=r™·ŽÔst4õëscüŽ‹­/.ì{›¯¿ø[^:5"Vx@p—a 5LÓœÌh+I†Ž:渚Ïv†]¤á»;Ãa·’D/àâuÆ3ð=¸#÷¡»«õœùTçHÔ]>Ê÷÷P&ypWò̲1^zé8Òbªr’pã§ãây®¢R››AP½y5U/á…ï±ai!E)*¦ßKŸ?“O>Vf}±?²„¬Ÿåû?ÝÏÖåYÈC;é%:ÕüúÚTv<É·_ ðhYÒx]D9'œù<°ÐI]ã¾µc «òqš~ÚZ'¸.e½³€êl8qñ?Ø7L¹ê¥W®àù3a¢ïÆCö@ Ú+ob«G?Æþ€,³ç§ŸŽzö*ÆÙ^Ëi8k§eŽí|‡ÀïÏOþ®æ£l{rnŸ7üø.Sb WǦ›–Súƒ:^úÉ>ZVäàleÏÉ!ob{n|ƒÒj6/§ìR?þÏ\YSLžCãZ‹/6 1||?ßÓ+¨J3h­o n"™ÍÛ×1cð“ëÒYòøZª¯¼Ï?|¦å,ÉIÄaÔXôÈ*j“ìë|zYiœãW2±,›ôö©Ý²†% 7§[7•‘hã{qšʳU&š,|º€+Óùõ[}$.ÍŒëp¥°õÙùDñõžÞê˜1 ¦/âKÿ%‘]{ë9tî ¿=mÕ)­ œ¢  H¶uÞY°ž¿|ÂÏÏ]á­ÝÍ€JzÑBª4«œ›ÓÍf<Çä”zàr"U†²ÓV-aÑ;Ä_š×yÌVÆÑð´Ó_vtÞ®Φcvt~V\%,©Ê ·å2od–,âÓ[Vóp¶Ó<·vžMWoÁü³y]:ûÞaÉC•ä)±ÇÙî WצpþÔ+J„Ñ)w’$¡:†a H2о5Åœb„J]]]¦|ÃÒ4­;@u]''U­zpuç¯ùÇR¦\pÿÆ×Œö›i[p~¤F(À݈¿•¾¹‡îµOóÏ[³D{@ ÜG´õ\Æ0M$ÓŒ80E™ µ ßµbí?‡­Wëë^ax n/æé·Ð/bú3…Ñ)@ Ü…(Š‚ßïG _‚Žª5 ë®O]בe9ré§•,ÃŒœñTUM×E‹ n?ãýà©ÆùüÑ@ Á]ˆ®ë8+Y-Ô‚(Š‚¢X!·‘ĵ===SNH’„$˺²VÁÄ$3Ù/ZU @ Úz4¦'d‘$"‘´¦i]¹¢Îd±Ê!kÕÄœr!¨@ @ Qf&†a]%ÉV¨møº9-Êã©|íÿþÚ31QII’#„¯W1M“D§·þk|û_^ã5o[$Šö¸ G_…zã¾Ò ªS•;^ν({¼iØõ&ÿ봃ǖ¤Çü^ïÕC|ã»ÇèÎ.eYÖüî1mi৯íç'oã·ΰ÷L+‡œ¬[~ÇÛ¨mïk|íåŠ×-$O½{ç–y阘Çļñ{@c> E±æx‡ê¸îªÎ°á)¦¦éQÿ¬$Bj( nØz½Û1Ïî"øòÿ&ðÒ‹þãß=:ãsú[ß!ðÒ÷Ð:ƒ·´>C—NóÓßäÊŒcиµ·@ ô#çÇ1´AN\»óåÜe²ß\Çn M;_ãÛG‡HÏ÷Ìéý‰e±1oœƒ¯¾Í¯[s®‡>ØÈw~~œãÃÖ<´†g_ÆÃ SƒwGt†¼S<†¹eÞãBÌcØ9óƒZ@ ÜšÕG(Q-„sq]Ĭ$IVV[E1­{W%’yH _þæön5:O¿LðXO”ô^Ì+ïøuçsY¯ žGÛ³ cÐný=$CÍMjHaÙ6¡ŒsÆUÄÖ  ^v²±6õΗs—É~»uläÜ>þýØ=ÅW7ÌýÚ”§ž{ŒÁîfÏkG¨þË,Mˆ}‚hºÀÓÓŸz‚å /Ê}3.÷VŸ ‚ûÓ4§8,%I" âr¹&oP1 Y–-#S’0C¿‡3…³ÛÞµh]èg-£SZü4êº"hy—àþ‹0rxóÜïº*4âdѦ­üý¦»§œ{Qö¸èfÇΫxsVñ·³çU”œTÄŸ||1gzž_®aéæŒ˜Ë )”ŠÐ½ûn\î­>:&÷º®GÂmƨªª˜¦•3ÓD•$ UU5§@MÓÄ0 œªóÖz3Ò@föÆù•cLÀ€ŠTVŒätBQ9#!`RrèUVôuÌ»êãíçøÍÎzŽuøÐœ)T¯\ÉW¶”[ô·òÂ7÷p/ßýæ¢Þ™Ç—þvËC¿ ×ïáoOzÓ 1»„-[äÃeî)ŸåïkfÇ®ÓjƇ“¼Ê%<ûär–zäÈ3§ß;Ìû;hîgÄoÅuçÔð7¶–r‡Mû}¸•7ß>ÁÁæ!Æ @q’‘·Ï}r‹Ü“ru¯}šÞš5EÖè×f-xû7;8Ø:HŸÏT²J°í‰ÕlÌ›<ó×ðËŸðíË“»&©ÑŸ­F£ìÙš?6uÓ3a‚ì$«¨Š?{n ]ö˱ӧñݳÖÙŽŽ¹ìéÏ[¿|]Í#xª—WÖÞÄáüåø»XêÌ( IDAT§+"¥Ž^®çð˜“uYL:ý™FBÉ|¬¤‰Ÿœ8KÓC³ÈîqÏi²ï_n,{<úôí×þÀ‘ktj˜H$ç”ðøxrÚ8¸PÇÏvŸ£qPCJL§ÔéRâ:ež{õg¼Ø·œÿäÊSÿvð?~Ä+iâ>eon‰ËøŠa› ;zhz¯ñ‹—q´Ë‡À‘Ä‚êZž{b¥. Ó{•ÿõ­}\®ÜÊ‹ÏDÊ9ó_{cœ'þb;Ÿ°á¿°›ÿç•.jþô9þrá¤b®½Ç×|™’gŸãÿ\äšµ>væç²`|êl·Oíêó¼¿/bžÇ¸á8¶û=(‚;‹Ãá˜ñˆ¦išÈ²Œ¨¦i j×y6eIžù|§ÑŒÔ²ã&Ñ·E˜Å+¡m–g²e¤±V¤±:p.ÀL]ƒ™œ»”Î2ä£KÃ8|c˃H×ÎXF§³Ðz¦ø)Ôõ#ç üiǼÎ${ëùÖOКV–Í9¸†ZÙsd?_–xá™2p•ðÄSë(«?ÁÎ67·,¥8¼PW’­Ÿµðê;‹õËrH“Æ8sì>Í·_–ù»?_N¡j}y¿»÷<ÏN9³öémnÃYë<‹Ž…l³êÞʹË#LäVñdA;†Ü…l©éaçé÷øî¢B¾TivùtÁÄ )vÆMöÚÕyȯ·s¬GcQ‘ÍF²){\úÔßJ㹺³+øÐšL’ôQŽŸçw¿ôãùÒV6¦Z‹Þ‰¶#üË+çÌ,cëæLäÁNŽžŒû„žœæ‚v/>˜¶Þ˜Oº %¬-³Ì-q_6ç1;ílG¥Ä"JT’QãÆ­Œv·±ÿôaþ-Ä¿~¢)±Œ5yÐx­•+Zå!½h¿8€é.aiº=.± ‚réÏÂÂÜÈëÝ:•²X[hÙê–í¦ó³#>u¶Õ§6õ9^s½yìVëáMŽ6Þ<ÔŽ7'Ÿì¨rl} àŽ>ª –çSU´T–etÚìÕhk4Y¶¾„ Ó@–nÁ®¢c)f²i¬—‘z/#õga¦¬ÁL_SQòcAÙõ&zï´ßœ «!?4éM•‹3!0<ïj7î«§ÅQÌ_|v3k’%` +Svðûózw1ÛsjWTãéi`g[2µ+OÙ¹µ¾IC;À•Ëø“‡­à‡‹‚|ýç—9Ø2Á†ÚÎí©£‰|>ó…'ؘ&& ¾ñj#»;jø\Éä7nêâ5|nËÏÝù¯ÑÔ ‰5ø¯[òæÞ81”ã)]ÌÖõY8€ÍË2yñ{ïóæ¾žxÖZ°¥WTòhh±T·ûÝ3õÅ»G8éKeÛçžæãE3[Ù¶Ê™­OÓncÚ¬ó¬:fGBkjOIOnÌçÂÉý UTó‘õ\:{€¶Ö1žztäœ":â'{Bn>9tÒÒ5EɶßgGö¸ôiXW˪ùøƒ¡qZ¢ñŸ]âàW$P ‰~wõÙGY–(Õ¬p¼Êÿ8ß)Ó“™¾1ÆuІøæ/RùÉòLV/}> Of c¶æ–XÇ×ÇŠ×o$ÚœÇlËgCÞ´*êK© þ‚/7Ó(f‘ª–fÂ;×8Õ¯Sò6¶Q J¨²éU—’+X›€ ÍW¹ªåRšfOžC*\ÎÉ“-1[}ìÌÏñ¨³Ý>µ£ÏñšëìÍc‹#?ïÿé1¼jÏ?[KÃ]Yùäp™Á^Ánê®q”TR©ø%43òÉ¥•–/”Ä)”ÏUĆ*'göòM÷JžZ»€%ŽÛVŽ’VΖò£|§µ…KÁâ™›úâø•rÙƒ74:ãÕ§[qÛ0Žº:›þè¹Q‹mEA4ÍUEtÝŒ,4{½¸ !¾ýžà! Ä]ö¸ôéŒã´€.1Ô?$A°‹³]Ž’…T&ÞÚ,l iɸµQúý:CÍÍ\õ 3~i”¦zé8ÈMsÌerÝÜBlãëñB‡íürsú,lê!°Ç›ì¨ïcj~T¡G2*+){ç0'šFÙž›†1tŽs#PúHlç’k–gÁ[­Ôõ­¡,OAë9ɱA‰ÊGЦ<7[}ì¯:ÇEŸ¹3s]_Ý[¼Ò*³üãðhºÓ<·ïA@ Ì™°Ñ©ªÖf ¦iSìÇpN!UVd ݸ.y­"«èº¹ƒåVb¦l²>cà€ÛýÆÁ½~V~Çê4ÌŽzôýÄè;Iàí\œÛŧ¢F€a?$¤¸ˆ€RÜI$ý£s_@Kª kÆ”Ï 6à¾uýóécñ½CcÍ3Ÿ"á½üîða^<~˜ä‚…<õÄ6¹oC92ž'4‡ÂíöÅ$e$Ýò>ÕosÆSWo¦?±\”d˜p³i`n²›˜€,ÝÙãѧ×ÓiÆdÄ ž©Ÿu+P<¤ÒC×è8jãž7ƒMíôUù&‰•78ïvÝÜãørIó˜ÇâÈ©WÁËçaÁê5|¢ÄƒÛôqùè1Þ:¶/§.æá¢#üôL3í­Äs­…2x¶4¶1˜¶°Š Þ£®q˜gò2èl¸L¯RÀÇËÝ1ÕÇÖ—uœê}¾s1|ŸìêÆUý_ªIŒyÁÝCøZÎ)ÞOӌؔj0D–ddYÁ4­ÅBø¼gøz]ZDÄ錧QþŒb;r iôZÔ·pfê*ûZ0z À”—¨H«P7^#ðÎèlâdxÊNR]pqÔ?eájLŒã<“qQacÝvn&éúÏJsƒ#g5Ÿ_Ÿ†cÚî OÜ•¥æÁG¨yðú®6±kï1~õãnú?÷Qž-r2‚>mžå̸ôÀ;g.ùú†‘Ó0glŸ‹C^Û |£rfëSß-”}u¶£c6ôGe<òŠÃU¢êòó\HLkSWén8?ì«ìºw”Q 9#Î ì8÷élŸ•æ†K#~4Ày 's59ƒu‚Ž®6ZûÒxò™rÞÿõNw¸u¤R˜$Ï|©¦4·q_AœÒç±¹‘¾Àµx ý¡",ç²NF{ýu†Þ²õE8_½Ì{Ý‹Yt®#{¥Åv\DN©bSÙaþãìeZ7è¼×0FBÕV'…Œ¡>vˆGíηçûÂ~}N¼s” ® þêCÅsšÇ@pç ;*ÃgØÛi˜& *ŠålPE±ŒÎ°¡þ)HŽ¿ÇSy¹ýÍI£ÓY‰™ý§¥Ïc¦•ǰBPCÃAŒÆó˜> &z0š:C+™ÄøUÚ‘ËŠb•àÕ 4އ¿Duº/ÒN2KË&?ˤ>º½Æœ?ke‰Jp`œäâbj+£ÿQ•yë–¸Ye‹øä³ë)c”F#ÆG¡¼Ýtèó(g&eõvó^«†’WHÕuk•d'x‡|׵Ϫ­ù4è²a<ܤœÙúT¾…²Ï©Îvt̆þLÕOmŒç—y˜éÄTe&è½\Õâ'ûXG;½$Q•ç{uoQŸÞè³–©¯4rzØÞX?õû×øò?ý‚=ã™sWe)WÖÓš±ÇÊjØ9È®Ã=R²Y⌣ŽE¯ýÝ·óB­™õPB‘íSžŠÖ$Žóþϲ÷ªFÁ²’9ÕcéúÜ#—yëH=GGX¿>wNõ±C¼êlgÞ¸-ß6ëãm>È//J¬Ø¶6t>z~߃ö½Í×_ü-/«@@ ¸„íFÃ0Ð 3äå {;5M·’…/û ß݉ -€êP‘‘­`¸[qÆ3ð=¸#÷¡¹Kª¢,Jè‚–½[öNYHKWB í•71á¦ãÿN@–ÀYŠóÓOÛþ¸êMË)ýA/ýd-+rp ¶²ç䉋7±=*í}zYiœãW2±,›ôö©Ý²†%67²«7¯¦ê¥#¼ðý!6,-¤(EÅô{éógòÉÇÊâ§-m|÷¥ãJ‹©ÊIÂŸŽ‹ç¹ŠJmþ¤1½¾6•OòíWVöºÏáHÚvöæH(0µeùF”*+›­9=¤ÎÔA|þØ@Ùµ|å³2¿Úy†Ý{Z0¯{„ç7O5ëùË'üüüÐÞÚÝ ¨¤-¤J3mÇã©™Køòy{o=‡ŽÕñ¾¨ V&Ñ­Cn¼¾TÝÅ,*?˾ógù]½µ]àNÍaý–Õ|~Éddá£Ûù¢ÿm^=y–×/(x2rYVàŽ©9ÕEÿ¹Ó¼îWz[Ÿ}OÏ’¹ö© 4½vœ£sBM¢êë^?5}_ú/‰ìÚ[Ï¡sgøíi«NiåÍëLˆ•c§Oã){,ܨγêÒMõgsŒŽšôÅKYöî>¾{™O}nñœô'š±Kx³S¢|ëbnERʸôi,Ÿõy¯ï®çÈþcøÙ•DqUÓǨ«ˆ-ës¸ü^^wbÌ ãœR\Nä±ÊPvÚª%,zçøKSâ®c³Ž¯ÛœL´vû§øŒëmÞ9×Àkg¬;eÜII/ÈeúM ¹+V²ìÐ^òªç² ›×¥³ïÝ–3“ý¢Uó'tix÷ .¬ܽt~“ÿöî[>Êÿµ>mÎå#Íüड़L\Æÿû…U”8î¯vl>¾‡ï¼ÓEå3Ûù¯‹„bÝ´¾3üóÈ{î|aKÔY ‚[H[9ªi†¡cà&œL§jš†ªZ[ƒ‘»;#W«˜¢%¹<ͧ¯þœŸí~‡—’žâ/–ƨ´ðòÏp2˜ÇsÏ.¿ïŒÎ×þ÷Ø9”@íã[…Ñy 8zúZ`ˆã‡è*~€¯ßܽXg@ ¦ŽžE’e0È¡[UUŒW3’(tæóv\¥"î6~òÓxþ Þ8z•î%Kc÷Ö}ƒ´…<óÙM<–uÿÅÂ=òÑm<•CA‚,”)Îø¯fÇïÏÓk:)X¼†¿ùð"Qg@ nᣛ˜fäÌgØ®D’À4‘zzzL]×Qd%r$.üFY–1B™‰²<Ñ¢@ @ ˆÐÖ£G˜§¥i`˜ (r$O­ŽÇÕ =b¥†ß¶T…×S @ Ó1BQ²ªje´¼œr(‚v2ªV5M3t礇@7 Àœt› @ @…²!uݺºR–edEÝw=yÓÄ É’‘ E@ @ Dv`FcèÖqÍHÒZSš4<%IЄֆ—•É3ž@ @ Ìd|΄$…<Ÿ’‰Î^;ÝRÕ´ ðt @ `Vdiæ`ZI…Úêšæd¡ðÿN§ 3”W @ ‚a˜“烂yDßõy}$%çμÉah¡õ8CÃG©“cuºµ›`›iì8ÍpdèiLø.sðê…)PºôY›#€æï ?²¾Ê±þ2Öf¦cj­œo¯cÀ˜áÁ`7×zö3‘»…ʼn.[uîézƒK¾è -ØÏhÔK’,ˆ¼Þ ¼&±±¨Ú¶ì1éQp<ôÓ££'8Jë²²ì÷…ÑIÇà•ëCDÍ tÙitÚjçølv20ÞÏsÈcpøuÒã¬NO‰¯Þ²Ï;:ogœÞmr @p+Qk1.IŠ6@±¼ &LYâO™Ò”ßonëë¯ç7a Ë>f½æH˜j5¤.^Ãç¶ÌìkÜWO‹£˜¿øìfÖ$KÀV¦ìà÷çõîb¶ç*Ô®¨ÆÓÓÀζdjW,ŽÑœÛSGù|æ O°1ML6|ãÕFvwÔð¹ûç€ÞÝp)•Á_ðâåfšÅ,rÚ+#w©o,üý›¯&21홳!kÑSîç +tt‰¾™1Ϥ¡ép‚et&jüÉ#*d…}tqdTf_ƒÂº zÄ ¨Þ8Á'rM'ðÛv‰þ…îE¹6';íœ^QÉ£¡M…ùœáŒWÙ©³³ Ù"¶>GÇé *6TÌËè4ôk²f–däl¡:)‘¾ž79?Ä7v BÆ×ààYk1«–³$)iôÓÚõíÁ~ZzÈÉ—ã =%…¡‘~L¹€w/­Þ þÀ8Îðà pyÖ±4#7 ½OÃð}ƒ× qÁìu6ºé %^qzd]–eÀŒûÚIJHŠÚêʧ¦l{Ô&Ê Îô´^£%°˜RuvÙÃgõ‰ãëlC»ùÞiY±8ÙÁØài#0v¦ž³÷…U§ôìÍÔ$O;ˆmŒØjçÙˆM.•¬¼m,NpÐÛó&MãA|cm^r>µåÛ£¼7Î"{¿Ën§NpƒzÙÔyûãô&r @ð@’¬cš†¡G2ØêºŽÃá  FÎyª–Ùb¸ÓD’¥H!Sþ†2K /·0šGrg3-þ ’öjìæT›†£t5ÉRd”WSIÁþc4\õ²=×c«œº«A%•T*~†C‰VÍŒ|ri¥¥Ã %öw–÷ïx“õ}LÍ×êc"Î7Êä'Â¥1mq°+Ö–éåêDû%ÎõZíRT¤* $t\lpä˜L O¡Õµ|”­ V–Èí Æ„̨mÃó¶çþЧŽUmÚÆß4ÿð¶[ ŽBŠòŒF“ªX»iÉHãݘú¤ï©ßg-ƒ=é‹ÉTU ‡¢´LÚ{ûÑ':ðš“×QȲÐ’â‚`X¾èÞPRÿèQêF§·M°`ö:˹xT B`¬&5À¢´b’ ¯“ª³ïíãƒLHá2‚ø öì1ì©át$ J*©)$ ×3nŽpůSîRbè «N5áæfîMÚ9ÎS7rh£/}^ísË>/lê¼ýqz—È%Á-ÂŒÊ`m8†NÓ4Ñ´ ex̃Þä IDATJHSgFgµ ƒ8Ž)‹§>šÇ(ZÿŇq¬»$•Ôd›;ÐF€a?$¤¸ˆ¶wI@ÿh ¦r‚Íø‡o]ÿçô1û ¤S¯þ‚—ÏÂÕkøD‰·éãòÑc¼ÛÿzôC^Fv'rzXæl£‹³–dÛÊ CëÀÑ µ-š`FºÇá6qþ „cØ•ïÇI"wç•qì¯Û¦c1Ò?fYÓîÄÙÏqI²ÐÌ÷ÚèÂo¨¸uráª$ ºÎ “C׈”ǯwá¿Ù1_3h»ÎE¹«ð÷ÔÓ¡wð8½ƒu¸±&w2mV_÷.{£üF¦©‹mÙçj®È ¡Ð mÚÑ€Xúb›hÆv¾¥»‡ólŸûYöù2«ÎÇ:Nï¹@ ¸Ȳl]Ív^Z§:Ñu E±Vá’$£ªªJ0¨!I–›Ô0 ]G ]¡âp8Ш/IW).0½ÝíOf}Y6Em&?l"UqQšh39Œì$ÕGýL9I31ŽHðLƵ†C}gïy¶«l,¬´BCÞŸ¤´‡©NÍÀi¶s¦õ8#s›¾b2nL}wDæRȵ8ÇzíÚ9Í>Œ+8g½Ç•£Sì¾C»æ’J²¼C¾­TIr‚oÄ ûËžnØÕ1€ ûÞæë/þ–—N̹iü¾6Æ”ü)!Ÿ±:·62t‘AMC×:i@q†6E äræ¬gIv5ÉÓº™n0ê?Á5ßdðø˜¯3¦:w]¶šÓ™K~ÆzzB.ù`è ²œ½€,IH’Â\×ݲœÚ¥iÜwcÃÃÓ£oè’•ÀEΤÔ)ǵ/ì´ó” ‚Œzç%×ì•ÉÇŠœ 2:>xËôð^•`¨/ï_yƒ}]sú˜Yu>Æq*Á9´ùoHÒ”µao¨:=s­¦é« SG NM Q”¡ ]˜ eu! ˜ùeú[¹ ”`ÿÛ¶zÓrJPÇK?ÙGËŠ\ƒ­ì99DââM“I_€ô²Ò8ǯdbY6)èí R»e K zójª^: ßbÃÒBŠRTL¿—>&Ÿ|¬Ì^eœù<°ÐI]ã¾µc «òqš~ÚZ'€øg«Ýþ)>³2“ñ‹ ¼¶ó0¿Üušº±$Šä’:°VÃZëOñ­©ÔÉKˆ^И”–øì†©Fþÿñq/ërLÂ~À´l<6ÁÚä;«\kŸÚÀºì'çµ÷[èðMmèuOm`]ŽŸºCÇøÍÁ+´û&ÏÆ«¿ìè†]ÃUÄõ)¨8©ZQ2'£ÓÔZèñ8IONsÛJŽ ª VS:›ªàN¨ ²`ù9†rÊ©.z²ä,d)b 9Ù$K†­:Kjù©ù$+“ "Éɤz–ñPAE䵬ÜRžœAôu·²œ@¢;Ÿ%öÁS’»œlgXë\®lË›)瓞”Ž[™ô¨*Žlò³7S›’÷¾ˆià ûiJ“"ç‰G6Ó¯¥½¡\±zÙk(p'Nž]–œ¸Ý)÷½ì–âåQàIAF!1¹|–A>·*Ǭóñ§@ |PT%bKN…3C‰…,ûFêéé1-ãÓ ³ ß·2Ìd¿hQ›t]vÐáÑX•cÒRŸÀO/JàÖøómy]Ó!¸» Œàho?ÈEl,]+ê,ä²ß…ŒœgÌQD^B2ÃïpfØ JK–‹Æ`\í´Žn*Š‚ªªCsÓJ.db¢ÈòŒ…Ý£¦iŠ÷Ï:8tð‡¨×RŠ4at~À Ÿï*ur ÙïRÚÏÑkœ#*8W’h+@ 抱5&½›áp[°œ²l"Ë’Œz(Ú-:ÝØgÑ‚p­lRXà+Ë Ñ0dôvº'L@!Õ“!ê,ä²ß¥d¦áQà ôÜx<«X›)ÚJ ‚¹bšf(©Ðd¨mØ~ ;2%Iš µ…iw°HÒ/¨µ@ A4ý&ºnLñr†mË@0€Óá´’ E¿É0ŒÁiíë†.Âl@ @0#€•Dtz”¬a¨Š¹çS…©1¸’$¡ë–z»î´¼9ðž›3ƒeë}<•5ÿòF[øÕ»çhègÂTHJK£¼r)_Þ:™Õñèë¯ð£ NûÔ“<[ìaÍCkxöñe<¼09µëà¿Æ‘óãÚ '.ŽMyrùr>³ížßRÅí27ïæ>ëA$WIh»¦“aﺟ»õ¤îuuŽve7ºèÃ@Ç;veîåÜ.¹lË?‹\±ö“·Î¡‹Bö[Rß»œ @ðA$|Ž3|D3lp‘ÄÑ.~G ªkyî‰E”ºbk']¾¦0`9-HH2X¼ÄÏS¥æ”Öj<œÀ™€ªIyy€O/ÓíÈ´öùÞ¿ÌÜ> ¿ü ß¾<|6Ÿ3œónçúô¦ºEýï_çû§|TlÞÆWœß*y|¬‹€³„Þ‡Ï0Õ‘NVÚj&'Y:¯µs©ç ý_(ìÛIbb«rklË~ý™Á,6–?|ƒ2з‡ÃÁq4Üx<Õ,Ï*¹/ú‡NÑãíe$0F0<¤$7žÔ ,OO³ÝÎ7Õ›rµ÷ Û?‚O Z1#r2éžj2 B9ݳ¤§s=7)÷~–ýf̦ÏvÇ©@ ‚ø¡i†aLqbJ’„a˜èº±+Õp&[L®;ßi‡†ã ŒUñ@ºõ»¢Êãݽç¹àÉcÊ ò<.TÃϨ‘1:ƒ½õ|ëÇ'hM+aËæ\C­ì9²Ÿ¯K¼ðL¸Jxâ©u”ÕŸ`g››[–RŽÐR’#Š6xžïüð0Mj=¼†\­C‡Oóí—eþîÏ—Sh3ªKJ,¢dA%5nÜŠÁhwûOæßIüë'ì_0~æ`"˜¯ê—i\ÿ¬-*5‰+]|WàKÕ6ûÁfû®ÛÀó•:hìÚ}¹«ŒK;Û¬ó¬º1d¯qàÌ0páT+ë3(Pæ>pú¼>’’sgÞœ0B»9Æ8CÃG©“cuººl›iì8ÍpdoAcÂw™ƒW‡¨(ÜHÒÍ wˆðÅDš¿ƒþˆ\åXk3Ó1µVη×1Q“`°›k=û™ÈÝÂâD—­:÷t½Á%_ôF†ìg4ê%I– DŒN€^ï^“ØXTm[ö˜ô(8úi‚ÑÑ%‰uYYöûÂè¤cðÊõ!¢æºìÀ4:mµs\0:ïÇ;åµ1‡P'=Îêô”øêá} û°£ÏñÖU@ öˆ6:!=‹9ë)IjÄE)M>¤(r$³-˜Ü(ÜÖ×_ÏoÞ9Aÿ–}ÌzÍ‘0ÕúH]¼†Ïm™Ù»Ö¸¯žG1ñÙͬI–€%¬LÙÁ?î?ÎëÝÅlÏU¨]Q§§mÉÔ®X1L¢9·§Ž&òùÌž`cš ˜l(0øÆ«ìî¨ás%öÏ=¼iUÔoK© þ‚/7Ó(f‘Ó^g{­ÿ=å~¾°B'A—èó\ŸI¨r½?-2i<œÀkíý- Ý‹ rmOvÚ'½¢’GC›ó9ïv¶Sg;ºa²El} ŽÓTl¨˜—Ñié×-‘–õ‹“Œ þ‘†á1cašá9{_XuJÏÞLM²gZGŽØjçÙˆM.•¬¼m,NpÐÛó&MãA|cm^r>µåÛ£¼7Î"{¿Ë~ãÁiSŸmŒS@ ·Ã4%9tSв-+¹")æT›a˜`š˜†t]z\)d† ^na4;äÎfZü$$9ìÕ*ØÍ©6 Gé"j’¥È‚!¯¦’‚ýÇh¸êe{®ÇV9uWƒ8J*©Tü ‡¶šùäÒJK‡Jìï¼ïßñ&;êû˜š÷ÕÇD ÙgóáÒŒ¶8Ø•kËtŠru®÷¡™¸]VÁ J ävcBfÔÀ¶áyÛˆs;ÇS7ª6mã¿ošÿÇNxÛ™pRìg4šTÅÚ}HKÎ@ïÆÔ'}Oý>kyîI_L¦ª9¥eÒÞÛ>Ñ×ÌÚr"º@R@ ËÝJ*ã=JÝèô¶éÌ^g9 ƒAŒ5ФX”VLRÂõ!‡}hdÂ0 ’H,ˆJÄÍe·‚Ó‘€*©¤¦T4\ϸ9¿N¹K‰¡/¬:9Ô„YvßnÜÎñÅ:®>¯ö¹¿e¿±0öõ9~º* æ¯lÉ:º)ËrÔ1N$PÇن½œ’,GRßN_d8ÀðÑÔ8FÑúG(>tˆcÝÅ ©¤&ÛÜÉ6 û!!ÅE´¥¸“HúG1•l>À?|ëú?§Ù_hzõ¼|¬^Ã'J<¸M—ãÝŽØüÑyÙÈéa™³.Î6BZ~m+ƒ,¼ÁZÑ•ïÇI"wçUqlçÛ¦1Ò?fYÓîĂٗڲÐÌPœŸÑ…ßPq+êä‚\I@tÃ7õê‰ÈNt^i¿Þ…ÿfÇ|Í í:å®ÂßSOw`„ÞÁãôÖáN\ÄšÜ%‘gúºwpÙåÏŠlB™öeŸ«¹"'„™khÓæ™Xúb›hÆv¾•Ì·}îgÙo†}¾õ@0m o(²Œ²-u]GUÕˆ=©¦dL ¥5 Yž4:§œýt‘âÓÛÍÑþdÖ—eSÔfòÃÆ!R¥‰6“ÌÈNR]pqÔÏ”S;ãxÏd\kø@ªiÎ\Nš9«ùüú4ÓV^® ½ú:8|)€kñþúCE$J:íõ1žÙâå#@ÝG/)ôw:ø¥¾ñø¼¸ÒòV›†ûßãÕÎ6ûÔ®nÄ 3x‘¾ @™3$ð™]Ÿóp)€®á×5@LtÍkÉ $#FR2ÉJ’J\RÛäðRòpÊ€!‘–ó$K“\s®³ì(¥²°”²@7}cWééÀç=ÏÁv•…•VøbÈK›”ö0Õ©8Ívδgdn{\17¦>:oìÀQ{¾}Áìí<]ço^ëØä²%û­ÒÃ{XöYµk6}@pÇeU¶²ÛÊ’„$‡×úfdí/‡WÑÆ¥,ËSÂo¥i‡EsÁÛÞL[b1UÉN g¸|•.ÃEV‚MÃÓ‘ËŠb•àÕ 4އ—":]i'™¥e‰‘GÝI*à£ÛkÌXÎÊ•àÀ8ÉÅÅÔVFÿ+¢*Ó®‘"¡È73Êìsê¼Êù~«V×úy²F€„“€@Ì¡Ì ¦üø ¢L2 ‹ Ó„@h ¡ AŽCì<DZ}ÏÞUÅ j­ZkUísï3‘àì(ò}÷žfïjVó­o}õ}OÞ¡\á ÿþ€ûë]üä?¦>î‘„o_¾‰«âð$Þ÷6‡Oýó_â×ÿø<å^ÃK—ïÆÏ=×ÄFwñ¾;À§?û üÆÝÃÓñ5|Ù?ƒŸÿ¡·ÖùúFŒóMçô†kWÿßÿ‹ð•|åÏ>=û=oJ`èåWkØrëíozxßòÈwâá×>ƒ{ëçð_øœ˜øÇðÔ#wo(ëôè£Ïâ-¯ÿ ¾š^À¿¾ðþUìćßö!<ûàáÚ{.ÛçñŸ/ÿ->ûòߎëððÿ|瀯¼–ðõ—ÿŸxùˆkÞ‹Gã?á‹Û_~ñwQÓñŽoýq!R´âË/| =Uðxø‘÷~Ãçâ~®;,øÒ«+Þ¸÷<ž¿Wïé‘Ç?„ï¼µÜÇsÝìzôàñ_od¼ñÊóxžq’;øàÓüÿìÈ/à‹_û*€×^ý<ðØ÷½žÏ×ù:_çë|¯óõ¿É\Ò9‡mK _ÕcU2BðÄ¿¥æO¬<´w=ñÔüû=o©øà3ø¾ÇÜ~ ¾ ¹ó,~õÃïÇû/¾„ÿá'ñ±¿ ïxîGñk?£“˜ÃÝÄ/ÿÄ3¸ûê¿àw>þ üÖÇÿýÒ†«Ö4ßúø•_ú1|è[Wüã'?…ßþ½Oà#ÏŸýêøÒ}´ö<û³¿€_üÞ·âëŸý{|ô÷ÿ¿ùŸÁ§^}ïø¶ÇñðÍż;á‰d`Tð®§Žøð¶oúÂxÿO~ÏÝ9âÓÏÿ>úçÿ†ÿ|]Ðs?ù<÷¶+|êO?‰<ÿ/øâë½Dûç›ÌéM×.ÞŽyö!Dðžïyç›J:Ëöoxñ xäö›W¾tË3xßÝïÇÝl½©—<ƒwßýž\ü}|ÎÓxßÛOÝ~ xÇ Ú²ÜÁm—otÏ.>ƒ'~·…8˜ó·ñð·|~øî3ü»Çÿi<}ûQÈcj½·.ŸÄCÁß÷¼óñïÆU¿..îÔj¦<ø.C¯¨†åž¼ócxö¡¿ásq_€ÁŸÂ;o=ÈýÄa¹{,íîsÝo¢wçp÷òVï]v\^>ôÿþÙëÂ{w¿å!xܺýô›ZÏçë|¯óu¾Î×ùúfdž²®žâ½G!ÄXÑj÷â‹/–ú"¨¾NÊNéCÞzûê<¨çëÿäu|õOð—_þ àߎ¾ëýç{>?×ùÙÏ×ù:_çë|¯óu¾nx}áÅ^’â´Î9À9±í‰gQeÒœ3ZrÁcÏ£z¾Î×ù:_çë|¯óu¾Î×ù:_çkHu98¡å˜KiçÞéq((ð®–¦å8İšûäsqÚ{ä½…øýÎ9”\RBˆ¡ifÁ(‰JØÅB@Î 7ylZ7òóh|K)È)÷²{åyë¹’÷BÏÏg9‡”s]Gm¸¶u…kçÙuGëW@^èç’ +nÙ+xd·RJÌ qâõU â2oà¥ùè ‚¦ô5X Ùu³÷ºS¨ÍÜ!ulÒÞýÑxJ¶ƒT¹–È•µÇã˲À9”6,ËÂß½m+r®O×q)H[_£³õ!çWÞŸ¼ŽÇ#*Ÿ7·5_NŒ“ýl¹fãnç@ÎCJ7]Ÿ³}JŸ|@AÑöÆAÙPZ·dAfsO{‡žgv¯vßÑÏòÙh,ƒ¹ÔsžkKFl¹5ïtôìJàª}PkÃõýAóXÚ!`ÎÜç°7ÚøÐøzïÙÎË–’’ |¨« ‡Û:ðšÆ·”Ì[6儺<¼|-ÍYު͓ã\í¦kˆ¾‡üƒW»éßÛº!.q˜Ë6³¾Æñ/zLÌkì‘jµogã¹²ïÝ{Ÿ]o»sW bHͮҸZçœGÎiwM¯Ž8\¦{Xí·°­[=>Nú½”¦–·”ŒG„ø9¥í¬Ï5‹q2¼¯{¦û‘êx¿¥/Æ–üK=Ž °M™ù3G `×†Íæ™âœ:¦~úšmMð¡Ç†Þ{88¤œvíš3Ÿ)ÿNc@¯‹1`Û’Šßz|VPµ0õs;›‘OJ)Á;ÀùÐâ¤æÓSšÆ ÖNÚq-9¢G-¥ÃŒ÷‰Á¿Ég¤{“÷OvÐ9òSNÅ´¶È6ÍÖ}ýUû\ïPR©v¨Ù_i‹÷ì¯SçªsM÷BÏ{Êïù»œ2–CÝ?ÖWÔ8aãçÕG<:8‡ª?3ñuÒ¦\¯pyqɱO¿¿ïÃpO´庚ùTçÚis¼V‡˜ªùê™msmLÙÎĈu]›¨c½wȹÇ̳}Ey•\Ot\IJBˆC¬§Š‰pEnµK~ôe¨çoÊßÑ>°ó¿´XÆÇ*—l{ÀÛ œý÷å—_æ`ßûЋÒÖ“ï똧€I. zkÐ¥±RA‹{Bû[€>(8顇¥$ |ÚXp"qŸiÛØ ¥¬?_?S3nÃs6–4žžŸO'K\XJ¾?‰ Ÿ6%Z8ä¼ ãå†÷;ç8 ¯@B7BrƒØVcû›ë ‰6gJЃ½»zIDAT ˆ  T~Þº­(¥àx<ÂßÐÔ„µw1JÛôüh? û¶´ä‚怜_ÝÀ¹GÞýœRBÊ iGÅxK‰×.Aô]˲´„<7#•òsJÝ8ZÇïš‘q;—ëÐ&Ò¸Á(º H§ÙŒ­‰”Fu KcÝ×¹¦0I¾ȩ뿴u)“ï{£@ÕD0ê½\„ããyŽW:c &Uà ´ä¯ÿ> ¢ûÉ€,eø®Ybzu<ò½‘3Œqó|˜€nb_›€°]&ˆjÿSë ®…¶¸ÜÏ€»ždàfæ5½m(Ízçxœk²Å{3ïS^“®'ßò¿ÕÁ9 ùZ¥6|hŽì߉à¹2ÇÁ:9û"þº®üÙÎ9,Kd»m’i7‘~+7|0Á® @ ¨E¾ÈO‚Ü~Û^y…þº¬öv6~(.q°odÃ8hk> Tæ\z 8ILcŒ¦o'¨¿oÛ†u]ÛýŒÒùCbÔæƒÆdœåö=S„•m£ä85þ‡‹»½W>«Ü9¤-Õõ)loJ ØÙW9*!û¡œpò!°-å 7Þ·Þ§R_SPŸŸžÇ{[·nñgÊ9ÇÏ#øÀ1Â^Ò=¼¿Í ÅZ CAŒq &+"é,S?U׸ߵ;r]n[j g}ýÕÕ•ø,§’NŠ'¶cÈÏáñq2NB:Abb:;µß_\ä 1è ž¬Cml}máõÒ?¿ÆF!ÐZN2›dBÓ~,ÞPÒT 6ÀºnˆkëÎ;?ôv]ÄÀ×6²™rOí¯ÖÖ@* )mH9÷¤S»œ3Öã ïµÝm}³w¾Îù˜qslvyqÉñÙú¬a ÊkÐ(«ý¡À™Òc2H¬-¹'­³¹ä>fÇã±µÀId?ÊQ4X+m™&èÞÇ#ÇZÃ}‰Ø¨-75d;äºÈüÝNûÒ|‘o¿/ÝwÈ}›Í¦uKÛÒVOÄZäóÞ½{ü`Ër@J[ÍÆ³F¨s3r΢í)#åÄ _Î1FžpkÉÑÿ9ðØ©ädá€lEnxÞ”%7DP£³¾ °EÀTõ©BNhQ6g‚Uml0 2h*o "%*³À¢ßcè(»A \Ër"¡+2AÚÒ`4hsxÚ†nÊPá 1¡&º„æÊï¦Äïp8 µà\VÁªƒÍú¹ ÚUJÆ&Ö ¾e°JDýÇ—Dìx‘Œ‡ÅÕèf42ª ÕÊ9cY!b=®(ÐÁ˜÷k­ôå!·œ^£¡¡ä›+h&±”ŸKwu¾Ž“¹6(` £3«*ؤïT•B‚$¥Ä%î>N€0Þ«»ä^i¢õÍÕ.ìк“N‚ÖI5ŠžŸ™íM)ØÄ•–É}.%ÁÒÙzïEðNc{u¼RûŽlk¯\r VFV„¬þʽkýÃá Æ|àÏÀ<ë\½i*šª×$=#}_Úúž”ö-ç2wtrzEµpð±®ÛWNœ[¢çŒ"À‚«^ª:!Ÿ”<µß3¡Û²ŠäR@òWríòs_é§§ÆOŽ5‚j?™„½¿¶û×ÎE“A¡ß{F ’HK­¢ïW¤¤½¶ÏLòøT‘Q~6ÄE‘&àBÆŒl’9g^ŒMðÛz̧öbÎÕ§“—¶‹Æšì&Uk¤.¹ðQµÛ¶¶Qr À­k>q2L‰‡ÌòóòT2”3Ò¶© ›*Sõ%}ãàLR±m+ uX;cP~ΙmcŸÇÒ*mÏ®"&IÙéSÈÇ[û›KV‰á,ñ¤õ&}ž]§2ð±8O,F&ØiŽì›&¼õÞM¹$ü¬Œ7g r6°‚¥òô‡¢e náZ1$±_*Í4ê5åðXëÀÄs$P͇Ð*`öøDYa&ÛÌcã{æ½eA?0{±ÖêÏ¥û¾‚UAŒ%¢÷AE—m–À­ “þ3™T0;EÄ0KvDÎ5˜,¥·µ~˪rVm5†=Jq‡ÝWªwÚ9®ìXjm)…ƒÕÒžWV“èH4$H὇^$§Té(‚´R À%+mš+ãi©5d¢Î­ÛÚc¬IâäƒîÝ›1[ Šö…e´KE€©íI›túŠºdKØ@ZVö‡*¿s“6“ž Z}‘¡·óDÒYÚß%½=›j§üL›JöžôÅ]ó`c…Oª>Óž"`ºnrë«—´{¹^kO_Æ#—Ò“Î\Tq…AÀ=ßŬE(­²'f¹Ù­ïI]]>Þ7²WÛûN%_´m[ö¶¶·-#¥Œì{Ä‘´€¾WrÎHܘQ‰~_×î2ŒgiÌn›°l-¹rÑaçÄgfÑ–cäjº¬’“v5Æ)ëüÇ2 T¼%%¢äÊÍÌ=¿´§Š‰‡Da‚‚^NǦ0Èš3ÖÆîȦÿÛû@­nàüß»woØHÒÑJšÛÌ€:è g š4rÇãq0D‹è%ø1˜–;7ö^f)Ôƒ ÎæÆ«£¸F.pň@J&] o[âÀG%¡%à@ß_󺿎‘¢)•^-äLŒUÚÒàØ¬a$tÞR£lðKYÙ;ÇERpr ËAu©‘x1ôîÕÒY,E™ ó²,Š|8º ‰Ø°3„5Ä8 U¶O‡ž“)SeU ƒƒ¢`x§©v³JßnITT´Ì{ÚŠ Rmxäg_¯†D…î[‚À\hÆ®.¨ MUÒ›³¶Á}˜ôZˆ‚Nrv©%#´W”`˜ƒ jÅ&ñßÔ3  ôÜ“B¢‰‚[L_άo»ŽõHë«ýb}Œµ`NM®¥ó¡5l[$ H”²½€‰ö|¯ ̬%pµÄ@ÑåñULIg•v‡{ˆ=b)/zDdàoÁ+\ÄïiB?ë¶2øâ»EVƸçco%œ4&ÇF¬BBA©í¦÷½—B$Ê º#!ívt„¹cÇ£Z^Pz½þ!DV-äÏî*hœUi¨ËëtÜÃ1D&¨ª/â$fÊÌì”ô'vO—ÒƒTKY”t¿,ªN2yî`Ϙ½qÛ6¶É^€]³>3Qó¢@íw„gn ¡ê¯Œ-äý™e…;wÚ"û3cô²Í‘eîP_š?›Ì6ÅK`K€Ÿ[áStÓ”T ¤¾¸hÒ‘ë{ˆz{sX‚Wã!m³¥úQ°<£!Rj‹!3ðC‚ýX§8O÷Ÿ®ÖØê^ò¾­HŸì%·qt}Éòó×VA¦¾e©m`}1ÇÀüÝ7çºá}/Ôd­÷y."¾ >öhü‹Ÿ1|²x‹õɹ;×VIj,¤ÿˆÅ ã=ü¨pa*¢=Ç+£‚éµ!TêY•ëGƬ´oRÓ¨ýÓEûnëk[+¡dµ ôTô±9ƒª©hC€Ôþ²ˆäÐû];>gæéÜ@1½ü¬‹‹ ÔäÒß\Šjw’€7Å`E‰Néö ŽÍ@H‡Ó^0Rm¿öµ¯]ûÀ6‹ž"?nF$Ö”ÄSey ôÙˆ5ZT´Më³DÐÞ§T‡³êUrƒP/¢­NÌhƒR‰•* moÕÏœ3.//¹¢@AôuÔÙ=Z›ìíÙ+Ÿ[uK4Œ‚Ñ­ áÌ(3{tPR9¥§KF‘Rªs®ÛÊ¢ID}–HÉu”—èËTÁµïK-ø²m’²4î›}{“rÆ"WÄä:µ”ÑR´p–nØosÙ§•¸ž¢G×>´¬ÚsdeÔyßú‡ôzòÞaM© _8Ö™u”’çÏÆ+mi`gØÞ&ª>K ©¥ÛÑßµo.ÚΚ€ZÞed¯f"c³=JMôŒ§S÷.Rd¿nÏØJˆd³Í43¨Àž¨~Šý Ĭ¬ ‰9Õ·Ç`à¶q¡PĹ}Š®õ©Qµ68öWZ¹dó¬Ù¡ØW²÷x'VðÁ3Û ¨{ªÑtÂÀ^ §h¸pƒ -¥`‰ ¶´ ôñ9¹jpHj±Ò7S¢wl­{±Õ©v!IÕ’Åø¿ÔE³ÚwËvéØf@š/I—½I,=[#³ý¼4‘% lKŸ•SÂÒèþÄ‚¬I[cC ˜ñ#ðɲ2n~ÕyK95Åx¡Š,ÅTEÁHשó_ ïÑòíé`—ë“ó!à•W^Ñ_ä0­ÈÀ¾h³QAL”Ô ô±ÒK£JuÑ À=£r9oÖ•·y/`ˆ+!šÕÐgÕ*©9§ÊØ´P5]QŠU”¤Vr:?~YMyk‰–D‰f4N´ZÓ¿D ÷’Ö.ó/h”¡w¡Ò>4¡Åeò=NIù“¡&µ¹(úÌdÒ)Ç4Æ8å·KAƒªôVvóö$úe¥Ú‹#!‚ÓÔ”bÐÓÙ&œõ/åvÌ„ %¢o÷µ´¹3ujùö ¨‚DÅ÷ÞãªU6¼ôÅ%)õ³Ïf°­hÅ`>¼’s—JU°``ÒÐ<ËJ-÷RŠùô¾«ÛyPI¦¨¼I”jtS¨-ÅP(S{Ñ«Ï%ŸÜ÷¿nsèUü¤T}¥Í^·ãËv–¾îªŠÿ±)²“ØTR§žhJØmœB÷@…”ÙÂÊ9ãÐÔ)ï’m):áöÜA)Û>^?~§03æfbOÎZo¼nÝaûä±µ/=6Åú8|°P¨½Û]&£‹[퉷–2#šé㌶¢ðøQß©­ðkÌ{‹‹ åAezôdŽæÒÙc„—*»µ:¿²v®‰ …ðÒK/ Þù3S‡¢Åj¥ŠO!P=ØLý¼7?x`8‹¯IB-µ–²7¦7© è¹d´s²ÑD8äÙEVôã¢v¸8%\?7HÇA ÕŒ.<[_òüÇmÛàà°–IÂê®­,Ÿªz¦ÔÎñGåHžÏ%‡zçÏÝ{¹_$Æ}*ü°sîœDÚgÓæl–”Ë÷Ýô>=SúYyÒƒq’žKíÿ äúÔÙˆ7=Çrv~ä „8^[P§Ãí}ǶnXQ #Xá4{Ï3šö áŸíƒÙ}DZnÛ(‚fÞBÀq]ùè»o‚„2SEˆYÐÙt{ë‘{™[•Êl;0L|'òÛóB¥U\ps~G!¼Wëåyˆ{¢`ö»UŸÆK5t>ä,° TºìˆqKÆ ÏË´ÏÖEʲ:S×!dÙ+3vö+Ö±g7%‡˜ETÍÎgdêmŽ1ø?еR–phàÔuc´÷wû,ŠüÚÊÚLi_ -qÎUÖ‘«€®¹Op¡Ò®É‡F¡^®Ÿ£ë¤­³HæçþVÓ'|f`Ó^åÝ/ÜìsöÄkäE÷Nk!´Êcâ„ÉÕ½(œò¿&”r;îÏŸ`vðÐVsm%í~ö´½¯YjvŽ3‰EÎÖùì{{…¿°=÷fV*ô{ãz“¸‹CQöÃZ×A ÈÉ2„XO1pšâOÌ»£l—1Ðü›¤ÔJ!¹­õÂà;ë&1F+à6;¯—DÜöò«qm”a—‚GE0åÔ:˜Ù8:C²Õˆm8[ç³#÷ÆxYjªÀI§¥ÆJ:β,L à3¬xᆉSMS!€à«wz—æj;ƒ¶Õê„W¢;äĨÿÉž¿×EˆºÈ†®Dö^˜ ´çÍŒĉ‡snJ£‘A&9Níxö[¹ÖàIÇB˜"(’‹n8ÑÈI W#²É¡~2 4$VRÄ9ytÌÉìqh3öêLR‡µK¹süÐ;TÁ)K÷€èÓÆÅåÓà0ÅæÆ*§Ûéy°¨céHÖQ;Ók˜ÅÙ¨2AVg,9<í£¡wRŽ{é=ªÅ8‹xõÊHÖ7õ Ì*y\iô#j¨ƒð¢û¡¸A}å` #íJoí; ÔUnu¸ìJ×;=òìZJx*½f¬úºçùøŽ(æ|”:—ÉAiU²5r]Xf„uh”¼° µó Ee—’ ’PÜTÂA¢j°òó95·4œhQ¿9ª—áL8îAJëq=9ò\ºœ²ê1µ•Œ"Ž´±I§ªøÊcµ DÄD‚aí…u~eÎ8…åÚ“UÇ·Ñ™!&×ܤ®‚\3ûÖÏyµÀ9S—l׎M!b Ǫ4%}þo? lvLG=„}ëóâuu¶c_k‚Ù£ƒHäCŽé²DUA°”ke“wèn²B§ž×y•<1ÕάQ7é;¥³cùh-WULk•Gøz7Þ ÛÅÜÇ3 : ¬ZKSVr§^Ú¹%AU&›tR…ßöž1rBÄM²|fŠæS îä¨>¾©×õ î±ÒLÕ}ÚëëZ[B4 ¢7ÛŠÜœb;ÉùT¶eðû‡p{Ê(:C Ô¬_uƒÙïUýÿpÓ}+m•NøÝ”¹'2}¦©½ì°,uåñˆ+¥÷Ñ@A Ðq/nAÚÎâ³~Ø À•<6¥¯×‡¬’m)þÓÁ³ë©­«ˆOí¼RJV…y¯ Ö”C8œ…^(×ã x9ë×Z]Ä9N3‡ÛÖ”¶&ÎD=ÐÒFJtÀ‹€]ùÇ”±(Yç^ýuÀ±I«Ä¿º£IEND®B`‚rmlint-2.6.1/docs/_static/shredder.svg000066400000000000000000001222551312046612000177260ustar00rootroot00000000000000 image/svg+xml rmlint-2.6.1/docs/_templates/000077500000000000000000000000001312046612000161055ustar00rootroot00000000000000rmlint-2.6.1/docs/_templates/layout.html000066400000000000000000000013351312046612000203120ustar00rootroot00000000000000{# Import the theme's layout. #} {% extends "!layout.html" %} {% block header %} {% endblock %} {# Custom CSS overrides #} {% set bootswatch_css_custom = ['_static/custom.css'] %} rmlint-2.6.1/docs/benchmarks.rst000066400000000000000000000145731312046612000166310ustar00rootroot00000000000000.. _benchmark_ref: Benchmarks ========== This page contains the images that our _`benchmark suite` renders for the current release. Inside the benchmark suite, ``rmlint`` is *challenged* against other popular and some less known duplicate finders. Apart from that a very dumb duplicate finder called ``baseline.py`` is used to see how slow a program would be that would blindly hash all files it finds. Luckily none of the programs is *that* slow. We'll allow us a few remarks on the plots, although we focus a bit on ``rmlint``. You're of course free to interpret something different or re-run_ the benchmarks on your own machine. The exact version of each program is given in the plots. It should be noted that it is very hard to compare these tools, since *each* tool investigated a slightly different amount of data and produces different results on the dataset below. This is partly due to the fact that some tools count empty files and hardlinks as duplicates, while ``rmlint`` does not. Partly it might also be false positives, missed files or, in some tools, `paths that contain a ','`_. For ``rmlint`` we verified that no false positives are in the set. .. _`benchmark suite`: https://github.com/sahib/rmlint/tree/develop/tests/test_speed .. _re-run: https://github.com/sahib/rmlint/issues/131 .. _`paths that contain a ','`: https://github.com/jvirkki/dupd/blob/master/src/scan.c#L83 Here are some statistics on the datasets ``/usr`` and ``/mnt/music``. ``/usr`` is on a ``btrfs`` filesystem that is located on an SSD with many small files, while ``/mnt/music`` is located on a rotational disk with ``ext4`` as filesystem. The amount of available memory was *8GB*. .. code-block:: bash $ du -hs /usr 7,8G /usr $ du -hs /mnt/music 213G /mnt/music $ find /usr -type f ! -empty | wc -l 284075 $ find /mnt/music -type f ! -empty | wc -l 37370 $ uname -a Linux werkstatt 3.14.51-1-lts #1 SMP Mon Aug 17 19:21:08 CEST 2015 x86_64 GNU/Linux .. image:: _static/benchmarks/timing.svg :width: 75% :align: center *Note:* This plot uses logarithmic scaling for the time. It should be noted that the first run is the most important run. At least for a rather large amount of data (here 211 GB), it is unlikely that the file system has all relevant files in its cache. You can see this with the second run of ``baseline.py`` - when reading all files the cache won't be useful at such large file quantities. The other tools read only a partial set of files and can thus benefit from caching on the second run. However ``rmlint`` (and also ``dupd``) support fast re-running (see ``rmlint-replay``) which makes repeated runs very fast. It is interesting to see ``rmlint-paranoid`` (no hash, incremental byte-by-byte comparison) to be mostly equally fast as the vanilla ``rmlint``. .. image:: _static/benchmarks/cpu_usage.svg :width: 75% :align: center ``rmlint`` has the highest CPU footprint here, mostly due to its multithreaded nature. Higher CPU usage is not a bad thing since it might indicate that the program spends more time hashing files instead of switching between hashing and reading. ``dupd`` seems to be pretty efficient here, especially on re-runs. ``rmlint-replay`` has a high CPU usage here, but keep in mind that it does (almost) no IO and only has to repeat previous outputs. .. image:: _static/benchmarks/memory.svg :width: 75% :align: center The most memory efficient program here seems to be ``rdfind`` which uses even less than the bare bone ``baseline.py`` (which does not much more than holding a hashtable). The well known ``fdupes`` is also low on memory footprint. Before saying that the paranoid mode of ``rmlint`` is a memory hog, it should be noted (since this can't be seen on those plots) that the memory consumption scales very well. Partly because ``rmlint`` saves all paths in a Trie_, making it usable for :math:`\geq` `5M files`_. Also it is able to control the amount of memory it uses (``--limit-mem``). Due to the high amount of internal data structures it however has a rather large base memory footprint. ``dupd`` uses direct file comparison for groups of two and three files and hash functions for the rest. It seems to have a rather high memory footprint in any case. .. _Trie: https://en.wikipedia.org/wiki/Radix_tree .. _`5M files`: https://github.com/sahib/rmlint/issues/109 .. raw:: html :file: _static/benchmarks/found_items.html | Surprisingly each tool found a different set of files. As stated above, direct comparison may not be possible here. For most tools except ``rdfind`` and ``baseline.py`` it's about in the same magnitude of files. ``fdupes`` seems to find about the same amount as ``rmlint`` (with small differences). The reasons for this are not clear yet, but we're looking at it currently_. .. _currently: https://github.com/sahib/rmlint/issues/131#issuecomment-143387431 User benchmarks --------------- If you like, you can add your own benchmarks below. Maybe include the following information: - ``rmlint --version`` - ``uname -a`` or similar. - Hardware setup, in particular the filesystem. - The summary printed by ``rmlint`` in the end. - Did it match your expectations? If you have longer output you might want to use a pastebin like gist_. .. _gist: https://gist.github.com/ .. raw:: html

rmlint-2.6.1/docs/cautions.rst000066400000000000000000000350301312046612000163300ustar00rootroot00000000000000=================================================== Cautions (or *why it's hard to write a dupefinder*) =================================================== This section covers good practice for safe duplicate removal. It is not intended to be specifically related to ``rmlint``. It includes general discussion on duplicate detection and shows, by example, some of the traps that duplicate finders can fall into. This section might not only be useful for developers of dupe finders, but also educational for users that strive for best practices regarding deduplication. Good Practice when Deleting Duplicates -------------------------------------- Backup your data ~~~~~~~~~~~~~~~~ There is a wise adage, *"if it's not backed up, it's not important"*. It's just good practice to keep your important data backed up. In particular, any time you are contemplating doing major file reorganisations or deletions, that's a good time to make sure that your backups are up to date. What about when you want to clean up your backups by deleting duplicate files from your backup drive? Well as long as your duplicate file finder is reliable, you shouldn't have any problems. Consider replacing the duplicate with a link (hardlink, symlink or reflink) to the original data. This still frees up the space, but makes it easier to find the file if and when it comes time to restore files from backup. Measure twice, cut once ~~~~~~~~~~~~~~~~~~~~~~~ This is a popular saying amongst builders; the same goes for your files. Do at least some sort of sanity check on which files are going to be deleted. All duplicate file finders (including ``rmlint``) are capable of identifying false positives or more serious bugs. Beware of unusual filename characters ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Even a space in a filename is capable of `causing grief`_. Make sure your file deletion command (or the one used by your duplicate finder) has the filename properly escaped. .. _`causing grief`: https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/issues/123 Consider safe removal options ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Rather than deleting duplicates, consider moving them to a holding area or trash folder. The `trash-cli utility`_ is one option for this. Alternatively if using the ``rmlint`` shell script you can replace the ``remove_cmd`` section as follows to move the files to */tmp*: .. _`trash-cli utility`: http://github.com/andreafrancia/trash-cli .. code-block:: bash remove_cmd() { echo 'Deleting:' "$1" if original_check "$1" "$2"; then if [ -z "$DO_DRY_RUN" ]; then # was: rm -rf "$1" mv -p "$1" "/tmp$1" fi fi } Another safe alternative, if your files are on a ``btrfs`` filesystem and you have linux kernel 4.2 or higher, is to reflink the duplicate to the original. You can do this via ``cp --reflink`` or using ``rmlint --btrfs-clone``: .. code-block:: bash $ cp --reflink=always original duplicate # deletes duplicate and replaces it with reflink copy of original $ rmlint --btrfs-clone original duplicate # does and in-place clone If you pass ``-c sh:link`` to ``rmlint``, it will even check for you if your filesystem is capable of reflinks and emit the correct command conveniently. The second option is actually safer because it verifies (via the kernel) that the files are identical before creating the reflink. Also it does not change the mtime or other metadata of the duplicate. You might think hardlinking as a safe alternative to deletion, but in fact hardlinking first deletes the duplicate and then creates a hardlink to the original in its place. If your duplicate finder has found a false positive, it is possible that you may lose your data. Attributes of a Robust Duplicate Finder --------------------------------------- (also known as *"Traps for young dupe finders"*) Traversal Robustness ~~~~~~~~~~~~~~~~~~~~ **Path Doubles** One simple trap for a dupe finder is to not realise that it has reached the same file via two different paths. This can happen due to user inputting overlapping paths to traverse, or due to symlinks or other filesystem loops such as bind mounts. Here's a simple "path double" example trying to trick a duplicate file finder by "accidentally" feeding it the same path twice. We'll use fdupes_ for this example: .. _fdupes: https://github.com/adrianlopezroche/fdupes .. code-block:: bash $ mkdir dir $ echo "important" > dir/file $ fdupes -r --delete --noprompt dir dir [no output] $ ls dir file So far so good, ``fdupes`` didn't fall for the trick. It has a check built-in which looks at the files' device and inode numbers, which automatically filters out path doubles. Let's try again using the -H option to find hardlinked duplicates: .. code-block:: bash $ fdupes -r -H --delete --noprompt dir dir [+] dir/file [-] dir/file $ ls -l dir/ total 0 Oh dear, our file is gone! The problem is that hardlinks share the same device and inode numbers, so the inode check is turned off for this option. Dupe finders ``rdfind`` and ``dupd`` can also be tricked with the right combination of settings: .. code-block:: bash $ rdfind -removeidentinode false -deleteduplicates true a a [snip] Now deleting duplicates: Deleted 1 files. $ ls -l dir/ total 0 $ dupd scan --path /home/foo/a --path /home/foo/a Files scanned: 2 Total duplicates: 2 Run 'dupd report' to list duplicates. $ dupd report Duplicate report from database /home/foo/.dupd_sqlite: 20 total bytes used by duplicates: /home/foo/a/data /home/foo/a/data *Solution:* For a duplicate finder to be able to find hardlinked duplicates, without also inadvertently identifying a file as a duplicate or itself, a more sophisticated test is required. Path doubles will always have: - matching device and inode. - matching basename. - parent directories also have matching device and inode. That **seems** pretty fool-proof (see ``rmlint`` example below) but please file an issue on our `Issue Tracker`_ if you find an exception. .. _`Issue Tracker`: https://github.com/sahib/rmlint/issues .. code-block:: bash $ echo "data" > dir/file $ # rmlint with default settings: $ rmlint dir dir ==> In total 2 files, whereof 0 are duplicates in 0 groups. ==> This equals 0 B of duplicates which could be removed. $ $ # rmlint with hardlink duplicate detection enabled: $ rmlint --hardlinked dir dir ==> In total 2 files, whereof 0 are duplicates in 0 groups. ==> This equals 0 B of duplicates which could be removed. $ ls dir file **Symlinks:** *"Ah but I'm not silly enough to enter the same path twice"* you say. Well maybe so, but there are other ways that folder traversal can reach the same path twice, for example via symbolic links: .. code-block:: bash $ mkdir dir $ echo "important" > dir/file $ ln -s dir link $ fdupes -r --delete --noprompt . $ ls -l dir/ total 0 Symlinks can make a real mess out of filesystem traversal: .. code-block:: bash $ mkdir dir $ cd dir $ ln -s . link $ cd .. $ echo "data" > dir/file $ fdupes -rHs dir dir/file dir/link/file dir/link/link/file [snip] dir/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/link/file Set 1 of 1, preserve files [1 - 41, all]: *Solution:* During traversal, the duplicate finder should keep track of all folders visited (by device and inode number). Don't re-traverse folders that were already traversed. **Hardlinks:** Also as noted above, replacing duplicates with hardlinks can still end badly if there are false positives. For example, using ``rdfind``'s the ``-makehardlinks`` option: .. code-block:: bash $ echo "data" > dir/file $ rdfind -removeidentinode false -makehardlinks true dir dir [snip] It seems like you have 2 files that are not unique Totally, 5 b can be reduced. Now making results file results.txt Now making hard links. failed to make hardlink dir/file to dir/file $ ls -l dir total 0 *Solution:* Don't find false positives. Check files are on same filesystem before trying to create hardlink. Temporarily rename the duplicate before creating the hardlink and then deleting the renamed file. Collision Robustness ~~~~~~~~~~~~~~~~~~~~ **Duplicate detection by file hash** If a duplicate finder uses file hashes to identify duplicates, there is a very small risk that two different files have the same hash value. This is called a *hash collision* and can result in the two files being falsely flagged as duplicates. Several duplicate finders use the popular MD5 Hash, which is 128 bits long. With a 128-bit hash, if you have a million sets of same-size files, each set containing a million different files, the chance of a hash collision is about ``0.000 000 000 000 000 000 147%``. To get a ``0.1%`` chance of a hash collision you would need nine hundred thousand million (:math:`9\times10^{11}`) groups of (:math:`9\times10^{11}`) files each, or one group of eight hundred thousand million million (:math:`8\times10^{17}`) files. If someone had access to your files, and *wanted* to create a malicious duplicate, they could potentially do something like this (based on http://web.archive.org/web/20071226014140/http://www.cits.rub.de/MD5Collisions/): .. code-block:: bash $ mkdir test && cd test $ # get two different files with same md5 hash: $ wget http://web.archive.org/web/20071226014140/http://www.cits.rub.de/imperia/md/content/magnus/order.ps $ wget http://web.archive.org/web/20071226014140/http://www.cits.rub.de/imperia/md/content/magnus/letter_of_rec.ps $ md5sum * # verify that they have the same md5sum a25f7f0b29ee0b3968c860738533a4b9 letter_of_rec.ps a25f7f0b29ee0b3968c860738533a4b9 order.ps $ sha1sum * # verify that they are not actually the same 07835fdd04c9afd283046bd30a362a6516b7e216 letter_of_rec.ps 3548db4d0af8fd2f1dbe02288575e8f9f539bfa6 order.ps $ rmlint -a md5 . -o pretty # run rmlint using md5 hash for duplicate file detection # Duplicate(s): ls '/home/foo/test/order.ps' rm '/home/foo/test/letter_of_rec.ps' $ rmlint test -a sha1 -o summary # run using sha1 hash ==> In total 2 files, whereof 0 are duplicates in 0 groups. If your intention was to free up space by hardlinking the duplicate to the original, you would end up with two hardlinked files, one called ``order.ps`` and the other called ``letter_of_rec.ps``, both containing the contents of ``order.ps``. *Solution:* ``fdupes`` detects duplicates using MD5 Hashes, but eliminates the collision risk by doing a byte-wise comparison of the duplicates detected. This means each file is read twice, which can tend to slow things down. ``dupd`` uses direct file comparison, unless there are more than 3 files in a set of duplicates, in which case it uses MD5 only. If you use ``rmlint``'s ``sha1`` hash features, which features 160 bit output, you need at least :math:`5.4\times10^{22}` files before you get a :math:`0.1\%` probability of collision. ``rmlint``'s ``-p`` option uses ``SHA512`` (:math:`5.2\times10^{75}` files for :math:`0.1\%` risk), while ``rmlint``'s ``-pp`` option uses direct file comparison to eliminate the risk altogether. Refer to the :ref:`benchmark_ref` chapter for speed and memory overhead implications. Unusual Characters Robustness ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Spaces, commas, nonprinting characters etc can all potentially trip up a duplicate finder or the subsequent file deletion command. For example: .. code-block:: bash $ mkdir test $ echo "data" > 'test/\t\r\"\b\f\\,.' $ cp test/\\t\\r\\\"\\b\\f\\\\\,. test/copy # even just copying filenames like this is ugly! $ ls -1 test/ copy \t\r\"\b\f\\,. $ md5sum test/* # md5's output gets a little bit mangled by the odd characters 6137cde4893c59f76f005a8123d8e8e6 test/copy \6137cde4893c59f76f005a8123d8e8e6 test/\\t\\r\\"\\b\\f\\\\,. $ dupd scan --path /home/foo/test SKIP (comma) [/home/foo/test/\t\r\"\b\f\\,.] Files scanned: 1 Total duplicates: 0 *Solution:* Be careful! *"Seek Thrash"* Robustness ~~~~~~~~~~~~~~~~~~~~~~~~~~ Duplicate finders use a range of strategies to find duplicates. It is common to reading and compare small increments of potential duplicates. This avoids the need to read the whole file if the files differ in the first few megabytes, so this can give a major speedup in some cases. However, in the case of hard disk drives, constantly reading small increments from several files at the same time causes the hard drive head to have to jump around ("seek thrash"). Here are some speed test results showing relative speed for scanning my ``/usr`` folder (on SSD) and an HDD copy of same. The speed ratio gives an indication of how effectively the search algorithm manages disk seek overheads: +----------------+----------------+---------------------+---------+ | Program | ``/usr`` (SSD) | ``/mnt/usr`` (HDD) | *Ratio* | +================+================+=====================+=========+ | ``dupd`` | 48s | 1769s | 36.9 | +----------------+----------------+---------------------+---------+ | ``fdupes`` | 65s | 486s | 7.5 | +----------------+----------------+---------------------+---------+ | ``rmlint`` | 38s | 106s | 2.8 | +----------------+----------------+---------------------+---------+ | ``rmlint -pp`` | 40s | 139s | 3.5 | +----------------+----------------+---------------------+---------+ .. note:: Before each run, disk caches were cleared: .. code-block:: bash $ sync && echo 3 | sudo tee /proc/sys/vm/drop_caches *Solution:* Achieving good speeds on HDD's requires a balance between small file increments early on, then switching to bigger file increments. Fiemap information (physical location of files on the disk) can be used to sort the files into an order that reduces disk seek times. Memory Usage Robustness ~~~~~~~~~~~~~~~~~~~~~~~ When scanning very large filesystems, duplicate finders may have to hold a large amount of information in memory at the same time. Once this information exceeds the computers' RAM, performance will suffer significantly. ``dupd`` handles this quite nicely by storing a lot of the data in a sqlite database file, although this may have a slight performance penalty due to disk read/write time to the database file. ``rmlint`` uses a path tree structure to reduce the memory required to store all traversed paths. rmlint-2.6.1/docs/conf.py000066400000000000000000000272311312046612000152540ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # # libmunin api doc documentation build configuration file, created by # sphinx-quickstart on Mon Oct 21 16:42:48 2013. # # 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 import os # 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('./')) try: import sphinx_bootstrap_theme # Activate the theme. templates_path = ['_templates'] html_theme = 'bootstrap' html_theme_path = sphinx_bootstrap_theme.get_html_theme_path() except ImportError: print('Cannot import `sphinx_bootstrap_theme`; falling back to `nature`.') print('^ This is no error, will cause only slightly different html output.') html_theme = 'nature' # -- 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', 'sphinx.ext.doctest', 'sphinx.ext.intersphinx', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.mathjax', 'sphinx.ext.ifconfig', 'sphinx.ext.graphviz', 'sphinx.ext.viewcode' ] # 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' todo_include_todos = True # General information about the project. project = 'rmlint documentation' copyright = '2014-2015, Christopher Pahl & Daniel Thomas' # 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. # 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', '_themes/armstrong/README.rst'] # 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 = True # The name of the Pygments (syntax highlighting) style to use. pygments_style = "default" # A list of ignored prefixes for module index sorting. #modindex_common_prefix = [] # -- Options for HTML output --------------------------------------------------- # 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. # (Optional) Logo. Should be small enough to fit the navbar (ideally 24x24). # Path should be relative to the ``_static`` files directory. html_logo = "logo.png" # Theme options are theme-specific and customize the look and feel of a # theme further. if html_theme == 'bootstrap': html_theme_options = { # Navigation bar title. (Default: ``project`` value) 'navbar_title': " ", # Tab name for entire site. (Default: "Site") 'navbar_site_name': "Topics", # A list of tuples containing pages or urls to link to. # Valid tuples should be in the following forms: # (name, page) # a link to a page # (name, "/aa/bb", 1) # a link to an arbitrary relative url # (name, "http://example.com", True) # arbitrary absolute url # Note the "1" or "True" value above as the third argument to indicate # an arbitrary url. 'navbar_links': [ ("GitHub", "https://github.com/sahib/rmlint", True), ("Travis", "https://travis-ci.org/sahib/rmlint", True) ], # Render the next and previous page links in navbar. (Default: true) 'navbar_sidebarrel': False, # Render the current pages TOC in the navbar. (Default: true) 'navbar_pagenav': True, # Tab name for the current pages TOC. (Default: "Page") 'navbar_pagenav_name': "Chapters", # Global TOC depth for "site" navbar tab. (Default: 1) # Switching to -1 shows all levels. 'globaltoc_depth': 2, # Include hidden TOCs in Site navbar? # # Note: If this is "false", you cannot have mixed ``:hidden:`` and # non-hidden ``toctree`` directives in the same page, or else the build # will break. # # Values: "true" (default) or "false" 'globaltoc_includehidden': "true", # HTML navbar class (Default: "navbar") to attach to
element. # For black navbar, do "navbar navbar-inverse" 'navbar_class': "navbar", # Fix navigation bar to top of page? # Values: "true" (default) or "false" 'navbar_fixed_top': "true", # Location of link to source. # Options are "nav" (default), "footer" or anything else to exclude. 'source_link_position': "footer", # Bootswatch (http://bootswatch.com/) theme. # # Options are nothing with "" (default) or the name of a valid theme # such as "amelia" or "cosmo". # 'bootswatch_theme': "simplex", # 'bootswatch_theme': "journal", # 'bootswatch_theme': "readable", #'bootswatch_theme': "sandstone", 'bootswatch_theme': "readable", # Choose Bootstrap version. # Values: "3" (default) or "2" (in quotes) 'bootstrap_version': "3", } # Add any paths that contain custom themes here, relative to this directory. # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". try: with open('../.version', 'r') as handle: version_string = handle.read().strip() except OSError: version_string = '2.x.x' html_title = 'rmlint ({v}) documentation'.format(v=version_string) # 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. github_fork = 'sahib' # 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 = '_static/logo.ico' # 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 = False # smart_quotes = True # Custom sidebar templates, maps document names to template names. html_default_sidebars = ['localtoc.html', 'sourcelink.html', 'searchbox.html'] html_sidebars = { 'tutorial': html_default_sidebars, 'developers': html_default_sidebars, 'install': html_default_sidebars, 'translators': html_default_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 = False # 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 = 'rmlint' # -- 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', 'libmuninapidoc.tex', 'libmunin api doc Documentation', # 'Christopher Pahl', '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 = [ ('rmlint.1', 'rmlint', 'find duplicate files and other space waste efficiently', ['Christopher Pahl', 'Daniel Thomas'], 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', 'libmuninapidoc', 'libmunin api doc Documentation', # 'Christopher Pahl', 'libmuninapidoc', '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' # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = { 'python': ('http://python.readthedocs.org/en/latest/', None), 'sphinx': ('http://sphinx.readthedocs.org/en/latest/', None) } # Make __init__ and Class.__doc__ visible: autoclass_content = 'both' rmlint-2.6.1/docs/developers.rst000066400000000000000000000216751312046612000166650ustar00rootroot00000000000000Developer's Guide ================= This guide is targeted to people that want to write new features or fix bugs in rmlint. Bugs ---- Please use the issue tracker to post and discuss bugs and features: https://github.com/sahib/rmlint/issues Philosophy ---------- We try to adhere to some principles when adding features: * Try to stay compatible to standard unix' tools and ideas. * Try to stay out of the users way and never be interactive. * Try to make scripting as easy as possible. * **Never** make ``rmlint`` modify the filesystem itself, only produce output to let the user easily do it. Also keep this in mind, if you want to make a feature request. Making contributions -------------------- The code is hosted on GitHub, therefore our preferred way of receiving patches is using GitHub's pull requests (normal git pull requests are okay too of course). .. note:: ``origin/master`` should always contain working software. Base your patches and pull requests always on ``origin/develop``. Here's a short step-by-step: 1. `Fork it`_. 2. Create a branch from develop. (``git checkout develop && git checkout -b my_feature``) 3. Commit your changes. (``git commit -am "Fixed it all."``) 4. Check if your commit message is good. (If not: ``git commit --amend``) 5. Push to the branch (``git push origin my_feature``) 6. Open a `Pull Request`_. 7. Enjoy a refreshing Tea and wait until we get back to you. .. _`Fork it`: https://github.com/sahib/rmlint .. _`Pull Request`: http://github.com/sahib/rmlint/pulls Here are some other things to check before submitting your contribution: - Does your code look alien to the other code? Is the style the same? You can run this command to make sure it is the same: .. code-block:: bash $ clang-format -style=file -i $(find lib src -iname '*.[ch]') - Do all tests run? Go to the `test documentation`_ for more info. Also after opening the pull request, your code will be checked via `TravisCI`_. - Is your commit message descriptive? `whatthecommit.com`_ has some good examples how they should **not** look like. - Is ``rmlint`` running okay inside of ``valgrind`` (i.e. no leaks and no memory violations)? .. _`TravisCI`: https://travis-ci.org/sahib/rmlint .. _`test documentation`: https://github.com/sahib/rmlint/blob/develop/tests/README.rst .. _`whatthecommit.com`: http://whatthecommit.com/ For language-translations/updates it is also okay to send the ``.po`` files via mail at sahib@online.de, since not every translator is necessarily a software developer. .. include:: testing.rst Buildsystem Helpers ------------------- Environment Variables ~~~~~~~~~~~~~~~~~~~~~~ :CFLAGS: Extra flags passed to the compiler. :LDFLAGS: Extra flags passed to the linker. :CC: Which compiler to use? .. code-block:: bash # Use clang and enable profiling, verbose build and enable debugging CC=clang CFLAGS='-pg' LDFLAGS='-pg' scons VERBOSE=1 DEBUG=1 Variables ~~~~~~~~~ :DEBUG: Enable debugging symbols for ``rmlint``. This should always be enabled during development. Backtraces wouldn't be useful elsewhise. :VERBOSE: Print the exact compiler and linker commands. Useful for troubleshooting build errors. Arguments ~~~~~~~~~ :--prefix: Change the installation prefix. By default this is ``/usr``, but some users might prefer ``/usr/local`` or ``/opt``. :--actual-prefix: This is mainly useful for packagers. The ``rmlint`` binary knows where it is installed (which is needed to set e.g. the path to the gettext files). When installing a package, most of the time the build is installed to a local test environment first before being packed to ``/usr``. In this case the ``--prefix`` would be set to the path of the temporary build env, while ``--actual-prefix`` would be set to ``/usr``. :--libdir: Some distributions like Fedora use separate libdirectories for 64/32 bit. If this happens, you should set the correct one for 64 bit with ``--libdir=lib64``. :--without-libelf: Do not link with ``libelf``, which is needed for nonstripped binary detection. :--without-blkid: Do not link with ``libblkid``, which is needed to differentiate between normal rotational harddisks and non-rotational disks. :--without-json-glib: Do not link with ``libjson-glib``, which is needed to load json-cache files. Without this library a warning is printed when using ``--replay``. :--without-fiemap: Do not attempt to use the ``FIEMAP ioctl(2)``. :--without-gettext: Do not link with ``libintl`` and do not compile any message catalogs. All ``--without-*`` options come with a ``--with-*`` option that inverses its effect. By default ``rmlint`` is built with all features available on the system, so you do not need to specify any ``--with-*`` option normally. Notable targets ~~~~~~~~~~~~~~~ :install: Install all program parts system-wide. :config: Print a summary of all features that will be compiled and what the environment looks like. :man: Build the manpage. :docs: Build the online html docs (which you are reading now). :test: Build the tests (requires ``python`` and ``nosetest`` installed). Optionally ``valgrind`` can be installed to run the tests through valgrind: .. code-block:: bash $ USE_VALGRIND=1 nosetests # or nosetests-3.3, python3 needed. :xgettext: Extract a gettext ``.pot`` template from the source. :dist: Build a tarball suitable for release. Save it under ``rmlint-$major-$minor-$patch.tar.gz``. :release: Same as ``dist``, but reads the ``.version`` file and replaces the current version in the files that are not built by *scons*. Sourcecode layout ----------------- - All C-source lives in ``lib``, the file names should be self explanatory. - As an exception, the main lives in ``src/rmlint.c``. - All documentation is inside ``docs``. - All translation stuff should go to ``po``. - All packaging should be done in ``pkg/``. - Tests are written in Python and live in ``tests``. Hashfunctions ------------- Here is a short comparison of the existing hashfunctions_ in ``rmlint`` (linear_ scale). For reference: Those plots were rendered with these_ sources - which are very ugly, sorry. If you want to add new hashfunctions, you should have some arguments why it is valuable and possibly even benchmark it with the above scripts to see if it's really that much faster. Also keep in mind that most of the time the hashfunction is not the bottleneck. .. _these: https://github.com/sahib/rmlint/tree/gh-pages/plots .. _linear: https://raw.githubusercontent.com/sahib/rmlint/gh-pages/plots/hash_comparasion_lin.png .. _hashfunctions: https://raw.githubusercontent.com/sahib/rmlint/gh-pages/plots/hash_comparasion_log.png Optimizations ------------- For sake of overview, here is a short list of optimizations implemented in ``rmlint``: Obvious ones ~~~~~~~~~~~~ - Do not compare each file with each other by content, use a hashfunction to reduce comparison overhead drastically (introduces possibility of collisions though). - Only compare files of same size with each other. - Use incremental hashing, i.e. hash block-wise each size group and stop as soon a difference occurs or the file is read fully. - Create one reading thread for each physical disk. This gives a big speedup if files are roughly evenly spread over multiple physical disks [note: currently using 2 reading threads per disk as a workaround for a speed regression but hoping to fix this for rmlint 2.5]. - Disk traversal is similarly multi-threaded, one thread per disk. - Create separate hashing threads (one for each file) so that the reader threads don't have to wait for hashing to catch up. Subtle ones ~~~~~~~~~~~ - Check only executable files to be non-stripped binaries. - Use ``preadv(2)`` based reading for small speeedups. - Every thread in rmlint is shared, so only few calls to ``pthread_create`` are made. Insane ones ~~~~~~~~~~~ - Use ``fiemap ioctl(2)`` to analyze the harddisk layout of each file, so each block can read it in *perfect* order on a rotational device. - Check the device ID of each file to see if it on a rotational (normal hard disks) or on a non-rotational device (like an SSD). On the latter the fiemap optimisation is bypassed. - Use a common buffer pool for IO buffers and recycle used buffers to reduce memory allocation overheads. - Use only one hashsum per group of same-sized files. - Implement paranoia check using the same algorithm as the incremental hash. The difference is that large chunks of the file are read and kept in memory instead of just keeping the hash in memory. This avoids the need for a two-pass algorithm (find matches using hashes then confirm via bytewise comparison). Each file is read once only. This achieves bytewise comparison in O(N) time, even if there are large clusters of same-size files. The downside is that it is somewhat memory-intensive (can be configured by ``--limit-mem`` option). rmlint-2.6.1/docs/doc_requirements.txt000066400000000000000000000000361312046612000200600ustar00rootroot00000000000000sphinx_bootstrap_theme>=0.4.3 rmlint-2.6.1/docs/faq.rst000066400000000000000000000057671312046612000152700ustar00rootroot00000000000000Frequently Asked Questions ========================== ``rmlint`` finds more/less dupes than tool ``X``! ------------------------------------------------- Make sure that *none* of the following applies to you: Both tools might investigate a different number of files. ``rmlint`` e.g. does not look through hidden files by default, while other tools might follow symlinks by default. Suspicious options you should look into are: * ``--hidden``: Disabled by default, since it might screw up ``.git/`` and similar directories. * ``--hardlinked``: Might find larger amount files, but not more lint itself. * ``--followlinks``: Might lead ``rmlint`` to different places on the filesystem. * ``--merge-directories``: pulls in both ``--hidden`` and ``--hardlinked``. If there's still a difference, check with another algorithm. In particular use ``-pp`` to enable paranoid mode. Also make sure to have ``-D`` (``--merge-directories``) disabled to see the raw number of duplicate files. Still here? Maybe talk to us on the `issue tracker`_. Can you implement feature ``X``? -------------------------------- Depends. Go to to the `issue tracker`_ and open a feature request. Here is a list of features where you probably have no chance: - Port it to Windows. - Find similar files like ``ssdeep`` does. .. _`issue tracker`: https://github.com/sahib/rmlint/issues I forgot to add some options before running on a large dataset. Do I need to re-run it? --------------------------------------------------------------------------------------- Probably not. Since ``rmlint 2.3.0`` there is ``--replay`` which can be used to to re-output a json file of a prior run. If you have changed the filesystem that might not be a good idea of course. In this case you'll have to re-run, but it's not as bad as it sounds though. Your filesystem is probably very good at caching. If you only want to see the difference to what changed since last time you can look into ``-n --newer-than-stamp / -N --newer-than``. In some cases you might really need to re-run, but if that happens often, you might look into ``--xattr-write`` and ``--xattr-read`` which is capable of writing finished checksums to extended attributes of each processed file. I have a very large number of files and I run out of memory and patience. ------------------------------------------------------------------------- As a rule of thumb, ``rmlint`` will allocate *~150 bytes* for every file it will investigate. Additionally paths are stored in a patricia trie, which will compress paths and save memory therefore. The memory peak is usually shortly after it finished traversing all files. For example, 5 million files will result in a memory footprint of roughly 1.0GB of memory in average. *Some things to consider:* - Enable the progress bar with ``-g`` to keep track of how much data is left to scan. *Also:* ``rmlint`` have been successfully used on datasets of 5 million files. See this bug report for more information: `#109`_. .. _`#109`: https://github.com/sahib/rmlint/issues/109 rmlint-2.6.1/docs/gui.rst000066400000000000000000000102541312046612000152700ustar00rootroot00000000000000Graphical user interface ======================== As of ``rmlint`` :math:`\geq 2.4.0` a GUI frontend called ``Shredder`` is shipped alongside of ``rmlint``. It is written in Python and uses no external dependencies beside ``gtk+`` :math:`\geq 3.14` and ``PyGObject``. .. raw:: html
.. warning:: The user interface is still in development. Use at your own risk! There is a safety net though: Every file will be re-checked before its deletion. Installation ------------ If you compiled ``rmlint`` from source, ``scons`` will try to build and install the GUI, except you pass ``--without-gui`` to it. Usage ----- The GUI can be started via ``rmlint --gui``.The application is divided into several views that guide you through the duplicate finding process. Developers ---------- Location view ~~~~~~~~~~~~~ .. image:: _static/gui_locations.png :width: 70% :align: center | Shows a list of locations the user might want to scan. A number of locations is guessed from the list of mounted volumes, recently used files and a static set of paths. The user can of course add a new location via a filebrowser. The user can select one or multiple paths and hit *Scan*. In prior he might choose to prefer certain paths, so only files in non-preferred paths are deleted if they have a twin in a preferred path. Runner view ~~~~~~~~~~~ .. image:: _static/gui_runner.png :width: 70% :align: center | After hitting scan in the locations view, the application will start ``rmlint`` in the background. The output will be shown live in the treeview on the left. Once finished, a chart will be shown on the right that shows how the duplicates are distributed over the scanned directories. The treeview will show the detailed list of found files. A red cross will indicate that ``Shredder`` wants to delete this file, a green checkmark will make it keep it. The user can edit those to his liking. Additionally, the view can be filtered after a search query. In the simplest case this filters by a path element, in more complex usecases you can also filter by size, mtime and twincount. The latter can be done by adding ``size:10K`` or ``size:1M-2M,3M-4M`` to the query (similar with ``mtime:`` and ``count:``) Once happy with the results, the user can generate a script out of the results (all or just those that are visible). Editor view ~~~~~~~~~~~ .. image:: _static/gui_editor.png :width: 70% :align: center | A source editor will show the generated script. It can be edited and searched through. Apart from that, the file can be saved not only a ``.sh`` file, but also as ``.csv`` and ``.json`` file. The user can now choose to save the script and execute it himself, or to click the ``Run Script`` button. If this button is blue, it indicates a dry run, where nothing will be deleted. A red button however will kill your files. In any way, a running counter of deleted bytes will be shown. Settings view ~~~~~~~~~~~~~ .. image:: _static/gui_settings.png :width: 70% :align: center | The settings view is the leftmost view and will not be shown by default in the process. It can always be accessed by: - Going to the leftmost view. - Hitting the ``Settings`` menu entry. - Hit the gear button in the runner view. Normal user probably do not need to adjust anything. The options shown here, resemble the option that may be given to the commandline of ``rmlint``. Design ~~~~~~ The design loosely follows the Gnome Human Interface Guidelines. [*]_ Beside the appearance, this means that the program should be easy and intuitive to use. Suggested actions should be clear to recognize and the application should always be responsive and never just *do work in the background*. .. [*] https://developer.gnome.org/hig/stable/ Internal ~~~~~~~~ ``Shredder`` works by forking off ``rmlint`` and reading its json output in parallel. The script generation works by calling ``rmlint --replay`` on the generated ``json`` file, since this is the only sane way to filter the results of all formats properly. rmlint-2.6.1/docs/index.rst000066400000000000000000000126201312046612000156120ustar00rootroot00000000000000| ``rmlint`` finds space waste and other broken things on your filesystem and offers to remove it. It is able to find: .. hlist:: :columns: 2 + Duplicate files & directories. + Nonstripped Binaries + Broken symlinks. + Empty files. + Recursive empty directories. + Files with broken user or group id. .. raw:: html | **Key Features:** .. hlist:: :columns: 3 + Extremely fast. + Flexible and easy commandline options. + Choice of several hashes for hash-based duplicate detection + Option for exact byte-by-byte comparison (only slightly slower). + Numerous output options. + Option to store time of last run; next time will only scan new files. + Many options for original selection / prioritisation. + Can handle very large file sets (millions of files). + Colorful progressbar. (😃) ---- .. .. image:: https://raw.githubusercontent.com/sahib/rmlint/develop/docs/_static/logo.png .. :align: left .. :width: 150 .. raw:: html
.. image:: https://readthedocs.org/projects/rmlint/badge/?version=latest :target: http://rmlint.rtfd.org :width: 8% .. image:: https://img.shields.io/travis/sahib/rmlint/develop.svg?style=flat :target: https://travis-ci.org/sahib/rmlint :width: 8% .. image:: https://img.shields.io/github/issues/sahib/rmlint.svg?style=flat :target: https://github.com/sahib/rmlint/issues :width: 8% .. image:: https://img.shields.io/github/release/sahib/rmlint.svg?style=flat :target: https://github.com/sahib/rmlint/releases :width: 8% .. image:: https://badge.waffle.io/sahib/rmlint.svg?label=ready&title=Ready :target: https://waffle.io/sahib/rmlint :width: 7% .. image:: http://img.shields.io/badge/license-GPLv3-4AC51C.svg?style=flat :target: https://www.gnu.org/licenses/quick-guide-gplv3.html.en :width: 8% .. raw:: html
User manual ----------- Although ``rmlint`` is easy to use, you might want to read these chapters first. They show you the basic principles and most of the advanced options: .. toctree:: :maxdepth: 2 install tutorial gui cautions faq If you have usage questions or find weird behaviour, you can also try to reach us via *IRC* in ``#rmlint`` on ``irc.freenode.net``. Since version ``2.4.0`` we also feature an optional graphical user interface: .. raw:: html
Informative reference --------------------- These chapters are informative and are not essential for the average user. People that want to extend ``rmlint`` might want to read this though: .. toctree:: :maxdepth: 1 developers translators benchmarks Online-manpage of rmlint(1) The Changelog_ is also updated with new and futures features, fixes and overall changes. .. _Changelog: https://github.com/sahib/rmlint/blob/develop/CHANGELOG.md Authors ------- ``rmlint`` was and is written by: =================================== ============================= =========================================== *Christopher Pahl* https://github.com/sahib 2010-2015 *Daniel Thomas* https://github.com/SeeSpotRun 2014-2015 =================================== ============================= =========================================== Additional thanks to: .. hlist:: :columns: 3 - qitta_ (Ideas & Testing) - `vvs-`_ (Scalability testing) - `My cats`_. - *Attila* Toth - All sane bugreporters (there are not many) - All packagers, porters and patchers. .. _qitta: https://github.com/qitta .. _dieterbe: https://github.com/Dieterbe .. _`My cats`: http://imgur.com/gallery/rims0yl .. _`vvs-`: https://github.com/vvs-?tab=activity License ------- ``rmlint`` is licensed under the terms of GPLv3_. .. _GPLv3: http://www.gnu.org/copyleft/gpl.htm .. _sahib: https://github.com/sahib .. _SeeSpotRun: https://github.com/SeeSpotRun Donations --------- If you think rmlint saved [*]_ you some serious time and/or space, you might consider a donation. You can donate either via *Flattr* or via *PayPal*: .. image:: http://api.flattr.com/button/flattr-badge-large.png :target: http://flattr.com/thing/302682/libglyr :align: center :width: 9% .. raw:: html

Or just buy us a beer if we ever meet. Nice emails are okay too. .. [*] If it freed you from your beloved data: *Sorry.* [*]_ .. [*] Please file a bug or read the source and provide a patch. [*]_ .. [*] For more than 100GB of data loss we owe you one beer. [*]_ .. [*] If you don't like beer or there's only Budweiser available, you can order a Club Mate. rmlint-2.6.1/docs/install.rst000066400000000000000000000126361312046612000161600ustar00rootroot00000000000000Installation ============ Many major Linux distribution might already package ``rmlint`` -- but watch out for the version. This manual describes the rewrite of ``rmlint`` (i.e. version :math:`\geq 2`). Old versions before this might contain bugs, have design flaws or might eat your hamster. We recommend using the newest version. If there is no package yet or you want to try a development version, you gonna need to compile ``rmlint`` from source. Dependencies ------------ Hard dependencies: ~~~~~~~~~~~~~~~~~~ * **glib** :math:`\geq 2.32` (general C Utility Library) Soft dependencies: ~~~~~~~~~~~~~~~~~~ * **libblkid** (detecting mountpoints) * **libelf** (nonstripped binary detection) * **libjson-glib** (parsing rmlint's own json as caching layer) Build dependencies: ~~~~~~~~~~~~~~~~~~~ * **git** (version control) * **scons** (build system) * **sphinx** (manpage/documentation generation) * **gettext** (support for localization) Here's a list of readily prepared commands for known operating systems: * **Fedora** :math:`\geq 21`: .. code-block:: bash $ yum -y install git scons python3-sphinx gettext json-glib-devel $ yum -y install glib2-devel libblkid-devel elfutils-libelf-devel # Optional dependencies for the GUI: $ yum -y install pygobject3 gtk3 librsvg2 There are also pre-built packages on `Fedora Copr`_: .. code-block:: bash $ dnf copr enable sahib/rmlint $ dnf install rmlint Those packages are built from master snapshots and might be outdated. .. _`Fedora Copr`: https://copr.fedoraproject.org/coprs/sahib/rmlint/ * **ArchLinux:** There is an official package in ``[community]`` here_: .. code-block:: bash $ pacman -S rmlint Alternatively you can use ``rmlint-git`` in the AUR: .. code-block:: bash $ pacman -S git scons python-sphinx $ pacman -S glib2 libutil-linux elfutils json-glib # Optional dependencies for the GUI: $ pacman -S gtk3 python-gobject librsvg There is also a `PKGBUILD`_ on the `ArchLinux AUR`_: .. code-block:: bash $ # Use your favourite AUR Helper. $ yaourt -S rmlint-git It is built from git ``master``, not from the ``develop`` branch. .. _here: https://www.archlinux.org/packages/?name=rmlint .. _`PKGBUILD`: https://aur.archlinux.org/packages/rm/rmlint-git/PKGBUILD .. _`ArchLinux AUR`: https://aur.archlinux.org/packages/rmlint-git * **Ubuntu** :math:`\geq 12.04`: This most likely applies to most distributions that are derived from Ubuntu. Note that the ``GUI`` depends on ``GTK+ >= 3.12``! Ubuntu 14.04 LTS and earlier `still ships`_ with ``3.10``. .. code-block:: bash $ apt-get install git scons python3-sphinx python3-nose gettext build-essential # Optional dependencies for more features: $ apt-get install libelf-dev libglib2.0-dev libblkid-dev libjson-glib-1.0 libjson-glib-dev # Optional dependencies for the GUI: $ apt-get install python3-gi gir1.2-rsvg gir1.2-gtk-3.0 python-cairo gir1.2-polkit-1.0 gir1.2-gtksource-3.0 .. _`still ships`: https://github.com/sahib/rmlint/issues/171#issuecomment-199070974 * **macOS** ``rmlint`` can be installed via `homebrew`_: Prerequisite: If homebrew has not already been installed on the system, execute: .. code-block:: bash $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)". With homebrew installed, execute: .. code-block:: bash $ brew install rmlint See also this `issue`_ for more information on the homebrew formula. .. _homebrew: http://brew.sh .. _issue: https://github.com/sahib/rmlint/issues/175#issuecomment-253186769 * **FreeBSD** :math:`\geq 10.1`: .. code-block:: bash $ pkg install git scons py27-sphinx pkgconf $ pkg install glib gettext libelf json-glib ----- Send us a note if you want to see your distribution here or the instructions need an update. The commands above install the full dependencies, therefore some packages might be stripped if you do not need the feature they enable. Only hard requirement for the commandline is ``glib``. Also be aware that the GUI needs at least :math:`gtk \geq 3.12` to work! Compilation ----------- Compilation consists of getting the source and translating it into a usable binary. We use the build system ``scons``. Note that the following instructions build the software from the potentially unstable ``develop`` branch: .. code-block:: bash $ # Omit -b develop if you want to build from the stable master $ git clone -b develop https://github.com/sahib/rmlint.git $ cd rmlint/ $ scons config # Look what features scons would compile $ scons DEBUG=1 -j4 # Optional, build locally. # Install (and build if necessary). For releases you can omit DEBUG=1 $ sudo scons DEBUG=1 -j4 --prefix=/usr install Done! You should be now able to see the manpage with ``rmlint --help`` or ``man 1 rmlint``. Uninstall with ``sudo scons uninstall`` and clean with ``scons -c``. You can also only type the ``install`` command above. The buildsystem is clever enough to figure out which targets need to be built beforehand. Troubleshooting --------------- On some distributions (especially Debian derived) ``rmlint --gui`` might fail with ``/usr/bin/python3: No module named shredder`` (or similar). This is due some incompatible changes on Debian's side. See `this thread`_ for a workaround using ``PYTHONPATH``. .. _`this thread`: https://github.com/sahib/rmlint/issues/171#issuecomment-199070974 rmlint-2.6.1/docs/rmlint.1.rst000066400000000000000000001025721312046612000161550ustar00rootroot00000000000000====== rmlint ====== ------------------------------------------------------ find duplicate files and other space waste efficiently ------------------------------------------------------ .. Stuff in curly braces gets replaced by SCons SYNOPSIS ======== rmlint [TARGET_DIR_OR_FILES ...] [//] [TAGGED_TARGET_DIR_OR_FILES ...] [-] [OPTIONS] DESCRIPTION =========== ``rmlint`` finds space waste and other broken things on your filesystem. Types of waste include: * Duplicate files and directories. * Nonstripped Binaries (Binaries with debug symbols). * Broken links. * Empty files and directories. * Files with broken user or group id. ``rmlint`` will not delete any files. It does however produce executable output (for example a shell script) to help you delete the files if you want to. In order to find the lint, ``rmlint`` is given one or more directories to traverse. If no directories or files were given, the current working directory is assumed. By default, ``rmlint`` will ignore hidden files and will not follow symlinks (see traversal options below). ``rmlint`` will first find "other lint" and then search the remaining files for duplicates. Duplicate sets will be displayed as an original and one or more duplicates. You can set criteria for how ``rmlint`` chooses using the `-S` option (by default it chooses the first-named path on the command line, or if that is equal then the oldest file based on mtime). You can also specify that certain paths **only** contain originals by naming the path after the special path separator **//**. Examples are given at the end of this manual. OPTIONS ======= General Options --------------- :``-T --types="list"`` (**default\:** *defaults*): Configure the types of lint rmlint will look for. The `list` string is a comma-separated list of lint types or lint groups (other separators like semicolon or space also work). One of the following groups can be specified at the beginning of the list: * ``all``: Enables all lint types. * ``defaults``: Enables all lint types, but ``nonstripped``. * ``minimal``: ``defaults`` minus ``emptyfiles`` and ``emptydirs``. * ``minimaldirs``: ``defaults`` minus ``emptyfiles``, ``emptydirs`` and ``duplicates``, but with ``duplicatedirs``. * ``none``: Disable all lint types [default]. Any of the following lint types can be added individually, or deselected by prefixing with a **-**: * ``badids``, ``bi``: Find bad UID, GID or files with both. * ``badlinks``, ``bl``: Find bad symlinks pointing nowhere. * ``emptydirs``, ``ed``: Find empty directories. * ``emptyfiles``, ``ef``: Find empty files. * ``nonstripped``, ``ns``: Find nonstripped binaries. * ``duplicates``, ``df``: Find duplicate files. * ``duplicatedirs``, ``dd``: Find duplicate directories. **WARNING:** It is good practice to enclose the description in quotes. In obscure cases argument parsing might fail in weird ways. :``-o --output=spec`` / ``-O --add-output=spec`` (**default\:** *-o sh\:rmlint.sh -o pretty\:stdout -o summary\:stdout*): Configure the way ``rmlint`` outputs its results. A ``spec`` is in the form ``format:file`` or just ``format``. A file might either be an arbitrary path or ``stdout`` or ``stderr``. If file is omitted, ``stdout`` is assumed. If ``-o`` is specified, rmlint's defaults are overwritten. With ``--O`` the defaults are preserved. Either ``-o`` or ``-O`` may be specified multiple times to get multiple outputs, including multiple outputs of the same format. For a list of formatters and their options, refer to the **Formatters** section below. :``-c --config=spec[=value]`` (**default\:** *none*): Configure a format. This option can be used to fine-tune the behaviour of the existing formatters. See the **Formatters** section for details on the available keys. If the value is omitted it is set to a true value. :``-z --perms[=[rwx]]`` (**default\:** *no check*): Only look into file if it is readable, writable or executable by the current user. Which one of the can be given as argument as one of *"rwx"*. If no argument is given, *"rw"* is assumed. Note that *r* does basically nothing user-visible since ``rmlint`` will ignore unreadable files anyways. It's just there for the sake of completeness. By default this check is not done. :``-a --algorithm=name`` (**default\:** *blake2b*): Choose the algorithm to use for finding duplicate files. The algorithm can be either **paranoid** (byte-by-byte file comparison) or use one of several file hash algorithms to identify duplicates. The following well-known algorithms are available: **spooky**, **city**, **murmur**, **xxhash**, **md5**, **sha1**, **sha256**, **sha512**, **farmhash**, **sha3**, **sha3-256**, **sha3-384**, **sha3-512**, **blake2s**, **blake2b**, **blake2sp**, **blake2bp**. There are also some compound variations of the above functions: * **bastard:** 256bit, combining **city**, and **murmur**. * **city256, city512, murmur256, murmur512:** Use multiple 128-bit hashes with different seeds. * **spooky32, spooky64:** Faster version of **spooky** with less bits. :``-p --paranoid`` / ``-P --less-paranoid`` (**default**): Increase or decrease the paranoia of ``rmlint``'s duplicate algorithm. Use ``-pp`` if you want byte-by-byte comparison without any hashing. * **-p** is equivalent to **--algorithm=sha512** * **-pp** is equivalent to **--algorithm=paranoid** * **-P** is equivalent to **--algorithm bastard** * **-PP** is equivalent to **--algorithm spooky** :``-v --loud`` / ``-V --quiet``: Increase or decrease the verbosity. You can pass these options several times. This only affects ``rmlint``'s logging on *stderr*, but not the outputs defined with **-o**. Passing either option more than three times has no effect. :``-g --progress`` / ``-G --no-progress`` (**default**): Convenience shortcut for ``-o progressbar -o summary -o sh:rmlint.sh -VVV``. Note: This flag clears all previous outputs. Specify any additional outputs after this flag! :``-D --merge-directories`` (**default\:** *disabled*): Makes rmlint use a special mode where all found duplicates are collected and checked if whole directory trees are duplicates. Use with caution: You always should make sure that the investigated directory is not modified during ``rmlint``'s or its removal scripts run. IMPORTANT: Definition of equal: Two directories are considered equal by ``rmlint`` if they contain the exact same data, no matter how are the files contaning the data are named. Imagine that ``rmlint`` creates a long, sorted stream out of the data found in the directory and compares this in a magic way. This means that the layout of the directory is not considered to be important by ``rmlint``. This might be surprising to some users, but remember that ``rmlint`` generally cares only about content, not about any other metadata or layout. Output is deferred until all duplicates were found. Duplicate directories are printed first, followed by any remaining duplicate files. **--rank-by** applies for directories too, but 'p' or 'P' (path index) has no defined (i.e. useful) meaning. Sorting takes only place when the number of preferred files in the directory differs. **NOTES:** * This option enables ``--partial-hidden`` and ``-@`` (``--see-symlinks``) for convenience. If this is not desired, you should change this after specifying ``-D``. * This feature might not deliver perfect result in corner cases, but should never report false positives. * This feature might add some runtime for large datasets. * When using this option, you will not be able to use the ``-c sh:clone`` option. Use ``-c sh:link`` as a good alternative. :``-j --honour-dir-layout`` (**default\:** *disabled*): Only recognize directories as duplicates that have the same path layout. In other words: All duplicates that build the duplicate directory must have the same path from the root of the directory. This flag has no effect without ``--merge-directories``. :``-y --sort-by=order`` (**default\:** *none*): During output, sort the found duplicate groups by criteria described by `order`. `order` is a string that may consist of one or more of the following letters: * `s`: Sort by size of group. * `a`: Sort alphabetically by the basename of the original. * `m`: Sort by mtime of the original. * `p`: Sort by path-index of the original. * `o`: Sort by natural found order (might be different on each run). * `n`: Sort by number of files in the group. The letter may also be written uppercase (similar to ``-S / --rank-by``) to reverse the sorting. Note that ``rmlint`` has to hold back all results to the end of the run before sorting and printing. :``--gui``: Start the optional graphical frontend to ``rmlint`` called ``Shredder``. This will only work when ``Shredder`` and its dependencies were installed. See also: http://rmlint.readthedocs.org/en/latest/gui.html The gui has its own set of options, see ``--gui --help`` for a list. These should be placed at the end, ie ``rmlint --gui [options]`` when calling it from commandline. :``--hash [paths...]``: Make ``rmlint`` work as a multi-threaded file hash utility, similar to the popular ``md5sum`` or ``sha1sum`` utilities, but faster and with more algorithms. A set of paths given on the commandline or from *stdin* is hashed using one of the available hash algorithms. Use ``rmlint --hash -h`` to see options. :``--equal [paths...]``: Check if the paths given on the commandline all have equal content. If all paths are equal and no other error happened, rmlint will exit with an exit code 0. Otherwise it will exit with a nonzero exit code. All other options can be used as normal, but note that no other formatters (``sh``, ``csv`` etc.) will be executed by default. At least two paths need to be passed. Note: This even works for directories and also in combination with paranoid mode (pass ``-pp`` for byte comparison); remember that rmlint does not care about the layout of the directory, but only about the content of the files in it. At least two paths need to be given to the commandline. By default this will use hashing to compare the files and/or directories. :``-w --with-color`` (**default**) / ``-W --no-with-color``: Use color escapes for pretty output or disable them. If you pipe `rmlints` output to a file ``-W`` is assumed automatically. :``-h --help`` / ``-H --show-man``: Show a shorter reference help text (``-h``) or this full man page (``-H``). :``--version``: Print the version of rmlint. Includes git revision and compile time features. Traversal Options ----------------- :``-s --size=range`` (**default\:** "1"): Only consider files as duplicates in a certain size range. The format of `range` is `min-max`, where both ends can be specified as a number with an optional multiplier. The available multipliers are: - *C* (1^1), *W* (2^1), B (512^1), *K* (1000^1), KB (1024^1), *M* (1000^2), *MB* (1024^2), *G* (1000^3), *GB* (1024^3), - *T* (1000^4), *TB* (1024^4), *P* (1000^5), *PB* (1024^5), *E* (1000^6), *EB* (1024^6) The size format is about the same as `dd(1)` uses. A valid example would be: **"100KB-2M"**. This limits duplicates to a range from 100 Kilobyte to 2 Megabyte. It's also possible to specify only one size. In this case the size is interpreted as *"bigger or equal"*. If you want to to filter for files *up to this size* you can add a ``-`` in front (``-s -1M`` == ``-s 0-1M``). **NOTE:** The default excludes empty files from the duplicate search. Normally these are treated specially by ``rmlint`` by handling them as *other lint*. If you want to include empty files as duplicates you should lower the limit to zero: ``$ rmlint -T df --size 0`` :``-d --max-depth=depth`` (**default\:** *INF*): Only recurse up to this depth. A depth of 1 would disable recursion and is equivalent to a directory listing. :``-l --hardlinked`` (**default**) / ``-L --no-hardlinked``: Whether to report hardlinked files as duplicates. :``-f --followlinks`` / ``-F --no-followlinks`` / ``-@ --see-symlinks`` (**default**): ``-f`` will always follow symbolic links. If file system loops occurs ``rmlint`` will detect this. If `-F` is specified, symbolic links will be ignored completely, if ``-@`` is specified, ``rmlint`` will see symlinks and treats them like small files with the path to their target in them. The latter is the default behaviour, since it is a sensible default for ``--merge-directories``. :``-x --no-crossdev`` / ``-X --crossdev`` (**default**): Stay always on the same device (``-x``), or allow crossing mountpoints (``-X``). The latter is the default. :``-r --hidden`` / ``-R --no-hidden`` (**default**) / ``--partial-hidden``: Also traverse hidden directories? This is often not a good idea, since directories like ``.git/`` would be investigated. With ``--partial-hidden`` hidden files and folders are only considered if they're inside duplicate directories (see --merge-directories). :``-b --match-basename``: Only consider those files as dupes that have the same basename. See also ``man 1 basename``. The comparison of the basenames is case-insensitive. :``-B --unmatched-basename``: Only consider those files as dupes that do not share the same basename. See also ``man 1 basename``. The comparison of the basenames is case-insensitive. :``-e --match-with-extension`` / ``-E --no-match-with-extension`` (**default**): Only consider those files as dupes that have the same file extension. For example two photos would only match if they are a ``.png``. The extension is compared case-insensitive, so ``.PNG`` is the same as ``.png``. :``-i --match-without-extension`` / ``-I --no-match-without-extension`` (**default**): Only consider those files as dupes that have the same basename minus the file extension. For example: ``banana.png`` and ``banana.jpeg`` would be considered, while ``apple.png`` and ``peach.png`` won't. The comparison is case-insensitive. :``-n --newer-than-stamp=`` / ``-N --newer-than=``: Only consider files (and their size siblings for duplicates) newer than a certain modification time (*mtime*). The age barrier may be given as seconds since the epoch or as ISO8601-Timestamp like *2014-09-08T00:12:32+0200*. ``-n`` expects a file from which it can read the timestamp. After rmlint run, the file will be updated with the current timestamp. If the file does not initially exist, no filtering is done but the stampfile is still written. ``-N``, in contrast, takes the timestamp directly and will not write anything. Note that ``rmlint`` will find duplicates newer than ``timestamp``, even if the original is older. If you want only find duplicates where both original and duplicate are newer than ``timestamp`` you can use ``find(1)``: * ``find -mtime -1 | rmlint - # find all files younger than a day`` *Note:* you can make rmlint write out a compatible timestamp with: * ``-O stamp:stdout # Write a seconds-since-epoch timestamp to stdout on finish.`` * ``-O stamp:stdout -c stamp:iso8601 # Same, but write as ISO8601.`` Original Detection Options -------------------------- :``-k --keep-all-tagged`` / ``-K --keep-all-untagged``: Don't delete any duplicates that are in tagged paths (``-k``) or that are in non-tagged paths (``-K``). (Tagged paths are those that were named after **//**). :``-m --must-match-tagged`` / ``-M --must-match-untagged``: Only look for duplicates of which at least one is in one of the tagged paths. (Paths that were named after **//**). :``-S --rank-by=criteria`` (**default\:** *pOma*): Sort the files in a group of duplicates into originals and duplicates by one or more criteria. Each criteria is defined by a single letter (except **r** and **x** which expect a regex pattern after the letter). Multiple criteria may be given as string, where the first criteria is the most important. If one criteria cannot decide between original and duplicate the next one is tried. - **m**: keep lowest mtime (oldest) **M**: keep highest mtime (newest) - **a**: keep first alphabetically **A**: keep last alphabetically - **p**: keep first named path **P**: keep last named path - **d**: keep path with lowest depth **D**: keep path with highest depth - **l**: keep path with shortest basename **L**: keep path with longest basename - **r**: keep paths matching regex **R**: keep path not matching regex - **x**: keep basenames matching regex **X**: keep basenames not matching regex - **h**: keep file with lowest hardlink count **H**: keep file with highest hardlink count - **o**: keep file with lowest number of hardlinks outside of the paths traversed by ``rmlint``. - **O**: keep file with highest number of hardlinks outside of the paths traversed by ``rmlint``. Alphabetical sort will only use the basename of the file and ignore its case. One can have multiple criteria, e.g.: ``-S am`` will choose first alphabetically; if tied then by mtime. **Note:** original path criteria (specified using `//`) will always take first priority over `-S` options. For more fine grained control, it is possible to give a regular expression to sort by. This can be useful when you know a common fact that identifies original paths (like a path component being ``src`` or a certain file ending). To use the regular expression you simply enclose it in the criteria string by adding `` after specifying `r` or `x`. Example: ``-S 'r<.*\.bak$>'`` makes all files that have a ``.bak`` suffix original files. Warning: When using **r** or **x**, try to make your regex to be as specific as possible! Good practice includes adding a ``$`` anchor at the end of the regex. Tips: - **l** is useful for files like `file.mp3 vs file.1.mp3 or file.mp3.bak`. - **a** can be used as last criteria to assert a defined order. - **o/O** and **h/H** are only useful if there any hardlinks in the traversed path. - **o/O** takes the number of hardlinks outside the traversed paths (and thereby minimizes/maximizes the overall number of hardlinks). **h/H** in contrast only takes the number of hardlinks *inside* of the traversed paths. When hardlinking files, one would like to link to the original file with the highest outer link count (**O**) in order to maximise the space cleanup. **H** does not maximise the space cleanup, it just selects the file with the highest total hardlink count. You usually want to specify **O**. - **pOma** is the default since **p** ensures that first given paths rank as originals, **O** ensures that hardlinks are handled well, **m** ensures that the oldest file is the original and **a** simply ensures a defined ordering if no other criteria applies. Caching ------- :``--replay``: Read an existing json file and re-output it. When ``--replay`` is given, ``rmlint`` does **no input/output on the filesystem**, even if you pass additional paths. The paths you pass will be used for filtering the ``--replay`` output. This is very useful if you want to reformat, refilter or resort the output you got from a previous run. Usage is simple: Just pass ``--replay`` on the second run, with other changed to the new formatters or filters. Pass the ``.json`` files of the previous runs additionally to the paths you ran ``rmlint`` on. You can also merge several previous runs by specifying more than one ``.json`` file, in this case it will merge all files given and output them as one big run. If you want to view only the duplicates of certain subdirectories, just pass them on the commandline as usual. The usage of ``//`` has the same effect as in a normal run. It can be used to prefer one ``.json`` file over another. However note that running ``rmlint`` in ``--replay`` mode includes no real disk traversal, i.e. only duplicates from previous runs are printed. Therefore specifying new paths will simply have no effect. As a security measure, ``--replay`` will ignore files whose mtime changed in the meantime (i.e. mtime in the ``.json`` file differes from the current one). These files might have been modified and are silently ignored. By design, some options will not have any effect. Those are: - `--followlinks` - `--algorithm` - `--paranoid` - `--clamp-low` - `--hardlinked` - `--write-unfinished` - ... and all other caching options below. *NOTE:* In ``--replay`` mode, a new ``.json`` file will be written to ``rmlint.replay.json`` in order to avoid overwriting ``rmlint.json``. :``--xattr-read`` / ``--xattr-write`` / ``--xattr-clear``: Read or write cached checksums from the extended file attributes. This feature can be used to speed up consecutive runs. **CAUTION:** This could potentially lead to false positives if file contents are somehow modified without changing the file mtime. **NOTE:** Many tools do not support extended file attributes properly, resulting in a loss of the information when copying the file or editing it. Also, this is a linux specific feature that works not on all filesystems and only if you have write permissions to the file. Usage example: :: $ rmlint large_file_cluster/ -U --xattr-write # first run. $ rmlint large_file_cluster/ --xattr-read # second run. :``-U --write-unfinished``: Include files in output that have not been hashed fully (i.e. files that do not appear to have a duplicate). This is mainly useful in conjunction with ``--xattr-write/read``. When re-running rmlint on a large dataset this can greatly speed up a re-run in some cases. Rarely used, miscellaneous options ---------------------------------- :``-t --threads=N`` (*default\:* 16): The number of threads to use during file tree traversal and hashing. ``rmlint`` probably knows better than you how to set the value. :``-u --max-paranoid-mem=size``: Apply a maximum number of bytes to use for **--paranoid**. The ``size``-description has the same format as for **--size**. :``-q --clamp-low=[fac.tor|percent%|offset]`` (**default\:** *0*) / ``-Q --clamp-top=[fac.tor|percent%|offset]`` (**default\:** *1.0*): The argument can be either passed as factor (a number with a ``.`` in it), a percent value (suffixed by ``%``) or as absolute number or size spec, like in ``--size``. Only look at the content of files in the range of from ``low`` to (including) ``high``. This means, if the range is less than ``-q 0%`` to ``-Q 100%``, than only partial duplicates are searched. If the file size is less than the clamp limits, the file is ignored during traversing. Be careful when using this function, you can easily get dangerous results for small files. This is useful in a few cases where a file consists of a constant sized header or footer. With this option you can just compare the data in between. Also it might be useful for approximate comparison where it suffices when the file is the same in the middle part. :``-Z --mtime-window=T`` (**default\:** *-1*): Only consider those files as duplicates that have the same content and the same modification time (mtime) within a certain window of *T* seconds. If *T* is 0, both files need to have the same mtime. For *T=1* they may differ one second and so on. If the window size is negative, the mtime of duplicates will not be considered. *T* may be a floating point number. However, with three (or more) files, the mtime difference between two duplicates can be bigger than the mtime window *T*, i.e. several files may be chained together by the window. Example: If *T* is 1, the four files fooA (mtime: 00:00:00), fooB (00:00:01), fooC (00:00:02), fooD (00:00:03) would all belong to the same duplicate group, although the mtime of fooA and fooD differs by 3 seconds. :``--with-fiemap`` (**default**) / ``--without-fiemap``: Enable or disable reading the file extents on rotational disk in order to optimize disk access patterns. FORMATTERS ========== * ``csv``: Output all found lint as comma-separated-value list. Available options: * *no_header*: Do not write a first line describing the column headers. * ``sh``: Output all found lint as shell script This formatter is activated as default. Available options: * *cmd*: Specify a user defined command to run on duplicates. The command can be any valid ``/bin/sh``-expression. The duplicate path and original path can be accessed via ``"$1"`` and ``"$2"``. The command will be written to the ``user_command`` function in the ``sh``-file produced by rmlint. * *handler* Define a comma separated list of handlers to try on duplicate files in that given order until one handler succeeds. Handlers are just the name of a way of getting rid of the file and can be any of the following: * ``clone``: ``btrfs`` only. Try to clone both files with the BTRFS_IOC_FILE_EXTENT_SAME ``ioctl(3p)``. This will physically delete duplicate extents. Needs at least kernel 4.2. * ``reflink``: Try to reflink the duplicate file to the original. See also ``--reflink`` in ``man 1 cp``. Fails if the filesystem does not support it. * ``hardlink``: Replace the duplicate file with a hardlink to the original file. The resulting files will have the same inode number. Fails if both files are not on the same partition. You can use ``ls -i`` to show the inode number of a file and ``find -samefile `` to find all hardlinks for a certain file. * ``symlink``: Tries to replace the duplicate file with a symbolic link to the original. Never fails. * ``remove``: Remove the file using ``rm -rf``. (``-r`` for duplicate dirs). Never fails. * ``usercmd``: Use the provided user defined command (``-c sh:cmd=something``). Never fails. Default is ``remove``. * *link*: Shortcut for ``-c sh:handler=clone,reflink,hardlink,symlink``. * *hardlink*: Shortcut for ``-c sh:handler=hardlink,symlink``. * *symlink*: Shortcut for ``-c sh:handler=symlink``. * ``json``: Print a JSON-formatted dump of all found reports. Outputs all finds as a json document. The document is a list of dictionaries, where the first and last element is the header and the footer respectively, everything between are data-dictionaries. Available options: - *no_header=[true|false]:* Print the header with metadata. - *no_footer=[true|false]:* Print the footer with statistics. - *oneline=[true|false]:* Print one json document per line. * ``py``: Outputs a python script and a JSON document, just like the **json** formatter. The JSON document is written to ``.rmlint.json``, executing the script will make it read from there. This formatter is mostly intented for complex use-cases where the lint needs special handling. Therefore the python script can be modified to do things standard ``rmlint`` is not able to do easily. * ``stamp``: Outputs a timestamp of the time ``rmlint`` was run. Available options: - *iso8601=[true|false]:* Write an ISO8601 formatted timestamps or seconds since epoch? * ``progressbar``: Shows a progressbar. This is meant for use with **stdout** or **stderr** [default]. See also: ``-g`` (``--progress``) for a convenience shortcut option. Available options: * *update_interval=number:* Number of milliseconds to wait between updates. Higher values use less resources (default 50). * *ascii:* Do not attempt to use unicode characters, which might not be supported by some terminals. * *fancy:* Use a more fancy style for the progressbar. * ``pretty``: Shows all found items in realtime nicely colored. This formatter is activated as default. * ``summary``: Shows counts of files and their respective size after the run. Also list all written output files. * ``fdupes``: Prints an output similar to the popular duplicate finder **fdupes(1)**. At first a progressbar is printed on **stderr.** Afterwards the found files are printed on **stdout;** each set of duplicates gets printed as a block separated by newlines. Originals are highlighted in green. At the bottom a summary is printed on **stderr**. This is mostly useful for scripts that were set up for parsing fdupes output. We recommend the ``json`` formatter for every other scripting purpose. Available options: * *omitfirst:* Same as the ``-f / --omitfirst`` option in ``fdupes(1)``. Omits the first line of each set of duplicates (i.e. the original file. * *sameline:* Same as the ``-1 / --sameline`` option in ``fdupes(1)``. Does not print newlines between files, only a space. Newlines are printed only between sets of duplicates. EXAMPLES ======== This is a collection of common usecases and other tricks: * Check the current working directory for duplicates. ``$ rmlint`` * Show a progressbar: ``$ rmlint -g`` * Quick re-run on large datasets using different ranking criteria on second run: ``$ rmlint large_dir/ # First run; writes rmlint.json`` ``$ rmlint --replay rmlint.json large_dir -S MaD`` * Merge together previous runs, but prefer the originals to be from ``b.json`` and make sure that no files are deleted from ``b.json``: ``$ rmlint --replay a.json // b.json -k`` * Search only for duplicates and duplicate directories ``$ rmlint -T "df,dd" .`` * Compare files byte-by-byte in current directory: ``$ rmlint -pp .`` * Find duplicates with same basename (excluding extension): ``$ rmlint -e`` * Do more complex traversal using ``find(1)``. ``$ find /usr/lib -iname '*.so' -type f | rmlint - # find all duplicate .so files`` ``$ find ~/pics -iname '*.png' | ./rmlint - # compare png files only`` * Limit file size range to investigate: ``$ rmlint -s 2GB # Find everything >= 2GB`` ``$ rmlint -s 0-2GB # Find everything < 2GB`` * Only find writable and executable files: ``$ rmlint --perms wx`` * Reflink on btrfs, else try to hardlink duplicates to original. If that does not work, replace duplicate with a symbolic link: ``$ rmlint -c sh:link`` * Inject user-defined command into shell script output: ``$ rmlint -o sh -c sh:cmd='echo "original:" "$2" "is the same as" "$1"'`` * Use *data* as master directory. Find **only** duplicates in *backup* that are also in *data*. Do not delete any files in *data*: ``$ rmlint backup // data --keep-all-tagged --must-match-tagged`` * Compare if the directories a b c and are equal ``$ rmlint --equal a b c; echo $? # Will print 0 if they are equal`` PROBLEMS ======== 1. **False Positives:** Depending on the options you use, there is a very slight risk of false positives (files that are erroneously detected as duplicate). The default hash function (SHA1) is pretty safe but in theory it is possible for two files to have then same hash. This happens about once in 2 ** 80 files, so it is very very unlikely. If you're concerned just use the ``--paranoid`` (``-pp``) option. This will compare all the files byte-by-byte and is not much slower than SHA1. 2. **File modification during or after rmlint run:** It is possible that a file that ``rmlint`` recognized as duplicate is modified afterwards, resulting in a different file. If you use the rmlint-generated shell script to delete the duplicates, you can run it with the ``-p`` option to do a full re-check of the duplicate against the original before it deletes the file. When using ``-c sh:hardlink`` or ``-c sh:symlink`` care should be taken that a modification of one file will now result in a modification of all files. This is not the case for ``-c sh:reflink`` or ``-c sh:clone``. Use ``-c sh:link`` to minimise this risk. SEE ALSO ======== * `find(1)` * `rm(1)` * `cp(1)` Extended documentation and an in-depth tutorial can be found at: * http://rmlint.rtfd.org BUGS ==== If you found a bug, have a feature requests or want to say something nice, please visit https://github.com/sahib/rmlint/issues. Please make sure to describe your problem in detail. Always include the version of ``rmlint`` (``--version``). If you experienced a crash, please include at least one of the following information with a debug build of ``rmlint``: * ``gdb --ex run -ex bt --args rmlint -vvv [your_options]`` * ``valgrind --leak-check=no rmlint -vvv [your_options]`` You can build a debug build of ``rmlint`` like this: * ``git clone git@github.com:sahib/rmlint.git`` * ``cd rmlint`` * ``scons DEBUG=1`` * ``sudo scons install # Optional`` LICENSE ======= ``rmlint`` is licensed under the terms of the GPLv3. See the COPYRIGHT file that came with the source for more information. PROGRAM AUTHORS =============== ``rmlint`` was written by: * Christopher Pahl 2010-2017 (https://github.com/sahib) * Daniel T. 2014-2017 (https://github.com/SeeSpotRun) Also see the http://rmlint.rtfd.org for other people that helped us. If you consider a donation you can use *Flattr* or buy us a beer if we meet: https://flattr.com/thing/302682/libglyr rmlint-2.6.1/docs/testing.rst000066400000000000000000000104161312046612000161610ustar00rootroot00000000000000Testsuite --------- ``rmlint`` has a not yet complete but quite powerful testsuite. It is not complete yet (and probably never will), but it's already a valuable boost of confidence in ``rmlint's`` correctness. The tests are based on ``nosetest`` and are written in ``python>=3.0``. Every testcase just runs the (previously built) ``rmlint`` binary a and parses its json output. So they are technically blackbox-tests. On every commit, those tests are additionally run on `TravisCI`_. .. _`TravisCI`: https://travis-ci.org/sahib/rmlint Control Variables ~~~~~~~~~~~~~~~~~ The behaviour of the testsuite can be controlled by certain environment variables which are: - ``RM_TS_DIR``: Testdir to create files in. Can be very large with some tests, sometimes ``tmpfs`` might therefore slow down your computer. By default ``/tmp`` will be used. - ``RM_TS_USE_VALGRIND``: Run each test inside of valgrind's memcheck. *(slow)* - ``RM_TS_CHECK_LEAKS``: Fail test if valgrind indicates (definite) memory leak. - ``RM_TS_USE_GDB``: Run tests inside of ``gdb``. Fatal signals will trigger a backtrace. - ``RM_TS_PEDANTIC``: Run each test several times with different optimization options and check for errors between the runs. *(slow)*. - ``RM_TS_SLEEP``: Waits a long time before executing a command. Useful for starting the testcase and manually running `rmlint` on the priorly generated testdir. - ``RM_TS_PRINT_CMD``: Print the command that is currently run. - ``RM_TS_KEEP_TESTDIR``: If a test failed, keep the test files. Additionally slow tests can be omitted with by appending ``-a '!slow'`` to the commandline. More information on this syntax can be found on the `nosetest documentation`_. .. _`nosetest documentation`: http://nose.readthedocs.org/en/latest/plugins/attrib.html Before each release we call the testsuite (at least) like this: .. code-block:: bash $ sudo RM_TS_USE_VALGRIND=1 RM_TS_PRINT_CMD=1 RM_TS_PEDANTIC=1 nosetests-3.4 -s -a '!slow !known_issue' The ``sudo`` here is there for executing some tests that need root access (like the creating of bad user and group ids). Most tests will work without. Coverage ~~~~~~~~ To see which functions need more testcases we use ``gcov`` to detect which lines were executed (and how often) by the testsuite. Here's a short quickstart using ``lcov``: .. code-block:: bash $ CFLAGS="-fprofile-arcs -ftest-coverage" LDFLAGS="-fprofile-arcs -ftest-coverage" scons -j4 DEBUG=1 $ sudo RM_TS_USE_VALGRIND=1 RM_TS_PRINT_CMD=1 RM_TS_PEDANTIC=1 nosetests-3.4 -s -a '!slow !known_issue' $ lcov --capture --directory . --output-file coverage.info $ genhtml coverage.info --output-directory out The coverage results are updated from time to time here: http://sahib.github.io/rmlint/gcov/index.html Structure ~~~~~~~~~ .. code-block:: bash tests ├── test_formatters # Tests for output formatters (like sh or json) ├── test_options # Tests for normal options like --merge-directories etc. ├── test_types # Tests for all lint types rmlint can find └── utils.py # Common utilities shared among tests. Templates ~~~~~~~~~ A template for a testcase looks like this: .. code-block:: python from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_basic(): create_file('xxx', 'a') create_file('xxx', 'b') head, *data, footer = run_rmlint('-a city -S a') assert footer['duplicate_sets'] == 1 assert footer['total_lint_size'] == 3 assert footer['total_files'] == 2 assert footer['duplicates'] == 1 Rules ~~~~~ * Test should be able to run as normal user. * If that's not possible, check at the beginning of the testcase with this: .. code-block:: python if not runs_as_root(): return * Regressions in ``rmlint`` should get their own testcase so they do not appear again. * Slow tests can be marked with a slow attribute: .. code-block:: python from nose.plugins.attrib import attr @attr('slow') @with_setup(usual_setup_func, usual_teardown_func) def test_debian_support(): assert random.choice([True, False]): * Unresolved issues can be marked with `known_issue` attribute to avoid failing automated travis testing rmlint-2.6.1/docs/translators.rst000066400000000000000000000046341312046612000170650ustar00rootroot00000000000000Translating ``rmlint`` ====================== Rudimentary support for internationalization is provided via ``gettext``. Also see this Issue_ for a list of translators, current translations and a wish-list of new translations. .. _Issue: https://github.com/sahib/rmlint/issues/146 Adding new languages -------------------- .. code-block:: bash # Fork a new .po file from the po-template (here swedish): $ msginit -i po/rmlint.pot -o po/se.po --locale se --no-translator # Edit the po/se.po file, the format is self describing $ vim po/se.po # .po files need to be compiled, but that's handled by scons already. $ scons $ scons install # You should see your changes now: $ LANG=se ./rmlint If you'd like to contribute your new translation you want to do a pull request (if you really dislike that, you may also send the translation to us via mail). Here_ is a small introduction on Pull Requests. .. _Here: http://rmlint.readthedocs.org/en/latest/developers.html Updating existing languages --------------------------- .. code-block:: bash # Edit the file to your needs: $ vim po/xy.po # Install: $ scons install # Done $ LANG=xy ./rmlint Marking new strings for translations ------------------------------------ If you want to mark strings in the C-code to be translated, you gonna need to mark them so the ``xgettext`` can find it. The latter tool goes through the source and creates a template file with all translations left out. .. code-block:: c /* Mark the string with the _() macro */ fprintf(out, _("Stuff is alright: %s\n"), (alright) ? "yes" : "no"); It gets a little harder when static strings need to be marked, since they cannot be translated during compile time. You have to mark them first and translate them at a later point: .. code-block:: c static const char * stuff = _N("Hello World"); void print_world(void) { printf("World is %s\n", _(stuff)); } After you're done with marking the new strings, you have to update the template: .. code-block:: bash # scons can do this for you already: $ scons xgettext You need to add the new strings to the existing translations now: .. code-block:: bash $ msgmerge po/de.po po/rmlint.pot > po/de_new.po $ EDITOR po/de_new.po # check if everything was merged alright. $ mv po/de_new.po po/de.po After that you can translate the new strings and proceed like in the upper steps. rmlint-2.6.1/docs/tutorial.rst000066400000000000000000000757631312046612000163670ustar00rootroot00000000000000========================== Gentle Guide to ``rmlint`` ========================== Welcome to the Tutorial of ``rmlint``. .. image:: _static/shredder.svg :width: 45% :align: center We use a few terms that might not be obvious to you at first, so we gonna explain them to you here. :*Original*: In a group of *duplicate* files, one file is said to be the original file. It might not, strictly speaking, be the original from which the copies where created, but is a convenient terminology for selecting which files to keep and which to delete. :*Duplicate*: A file that matches the original. Note that depending on rmlint settings, "match" may mean an exact match or just that the files have matching hash values (see XXX) Beginner Examples ----------------- Let's just dive in into some examples: .. code-block:: bash $ rmlint This simply scans your current working directory for lint and reports them in your terminal. Note that **nothing will be removed** (even if it prints ``rm``). Despite its name, ``rmlint`` just finds suspicious files, but never modifies the filesystem itself [*]_. Instead it gives you detailed reports in different formats to get rid of them yourself. These reports are called *outputs*. By default a shellscript will be written to ``rmlint.sh`` that contains readily prepared shell commands to remove duplicates and other finds, .. [*] You could say it should be named ``findlint``. So for the above example the full process, if you want to actually delete the lint that was found, would be: .. code-block:: bash $ rmlint some/path # (wait for rmlint to finish running) $ gedit rmlint.sh # (or any editor you prefer... review the content of rmlint.sh to # check what it plans to delete; make any edits as necessary) $ ./rmlint.sh # (the rmlint.sh script will ask for confirmation, then delete the # appropriate lint, then delete itself) On larger runs, it might be more preferable to show a progressbar instead of a long list of files. You can do this easily with the ``-g`` switch: .. code-block:: bash $ rmlint -g It will look like this: .. image:: _static/screenshot.png :align: center Filtering input files --------------------- What if we do not want to check all files as dupes? ``rmlint`` has a good repertoire of options to select only certain files. We won't cover all options, but will get you started with a few useful ones. Note if you want a more do-it-yourself approach to file filtering, you can also use external tools to feed ``rmlint's stdin``: .. code-block:: bash $ find pics/ -iname '*.png' | rmlint - Limit files by size using ``--size`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: bash # only check files between 20 MB and 1 Gigabyte: $ rmlint --size 20M-1G # short form (-s) works just as well: $ rmlint -s 20M-1G # only check files bigger than 4 kB: $ rmlint -s 4K # only check files smaller than 1234 bytes: $ rmlint -s 0-1234 # Find empty files and handle them as duplicates: $ rmlint -T df --size 0-1 Valid units include: | K,M,G,T,P for powers of 1000 | KB, MB, GB etc for powers of 1024 If no units are given, ``rmlint`` will assume bytes. Limit duplicate matching according to basename ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ By default, ``rmlint`` compares file contents, regardless of file name. So if *afile.jpg* has the same content as *bfile.txt* (which is unlikely!), then ``rmlint`` will find and report this as a duplicate. You can speed things up a little bit by telling rmlint not to try to match files unless they have the same or similar file names. The three options here are: | ``-b`` (``--match-basename``) | ``-e`` (``--match-extension``) | ``-i`` (``--match-without-extension``) . Examples: .. code-block:: bash # Find all duplicate files with the same basename: $ rmlint -b some_dir/ ls some_dir/one/hello.c rm some_dir/two/hello.c # Find all duplicate files that have the same extension: $ rmlint -e some_dir/ ls some_dir/hello.c rm some_dir/hello_copy.c # Find all duplicate files that have the same basename: # minus the extension $ rmlint -e some_dir/ ls some_dir/hello.c rm some_dir/hello.bak Limit files by their modification time ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is a useful feature if you want to investigate only files newer than a certain date or if you want to progressively update the results, i.e. when you run ``rmlint`` in a script that watches a directory for duplicates. The manual way is using ``-N`` (``--newer-than=``): .. code-block:: bash # Use a Unix-UTC Timestamp (seconds since epoch) $ rmlint -N 1414755960 # Find all files newer than file.png $ rmlint -N $(stat --print %Y file.png) # Alternatively use an ISO8601 formatted Timestamp $ rmlint -N 2014-09-08T00:12:32+0200 If you are periodically checking the same directory tree for duplicates, you can get a substantial speedup by creating an automatic timestamp file each time you run rmlint. To do this, use command line options: ``-n`` (``--newer-than-stamp``) and ``-O stamp:stamp.file`` (we'll come to outputs in a minute): Here's an example for incrementally scanning your home folder: .. code-block:: bash # First run of rmlint: $ rmlint /home/foobar -O stamp:/home/foobar/.rmlint.stamp ls /home/foobar/a.file rm /home/foobar/b.file # Second run, no changes: $ rmlint /home/foobar -n /home/foobar/.rmlint.stamp # Second run, new file copied: $ cp /home/foobar/a.file /home/foobar/c.file $ rmlint /home/foobar -n /home/foobar/.rmlint.stamp ls /home/foobar/a.file rm /home/foobar/b.file rm /home/foobar/c.file Note that ``-n`` updates the timestamp file each time it is run. Outputs & Formatters -------------------- ``rmlint`` is capable of creating reports in several output formats, to either your screen or to a file. If you run it with the default options you already see two of those output formatters on your screen, namely ``pretty`` and ``summary``. Extra output formats can be added via either the ``-O`` (``--add-output``) or ``-o`` (``--output``) switch. The only difference is the ``-o`` clears all the default outputs while ``-O`` just adds to the defaults. .. note:: If you just came here to learn how to print a nice progressbar: Just use the ``-g`` (``--progress``) option: .. code-block:: bash $ rmlint -g /usr Here's an example: .. code-block:: bash $ rmlint -o json:stderr Here you would get this output printed on ``stderr``: .. code-block:: javascript [{ "description": "rmlint json-dump of lint files", "cwd": "/home/user/", "args": "rmlint -o json:stderr" }, { "type": "duplicate_file", "path": "/home/user/test/b/one", "size": 2, "inode": 2492950, "disk_id": 64771, "progress": 100, "is_original": true, "mtime": 1414587002 }, ... snip ... { "aborted": false, "total_files": 145, "ignored_files": 9, "ignored_folders": 4, "duplicates": 11, "duplicate_sets": 2, "total_lint_size": 38 }] You probably noticed the colon in the commandline above. Everything before it is the name of the output-format, everything behind is the path where the output should land. Instead of a path you can also use ``stdout`` and ``stderr``, as we did above or just omit the colon which will print everything to ``stdout``. Some formatters can be customised using the ``-c`` (``--config``) command. Here's the list of currently available formatters and their config options: :json: Outputs all finds as a json document. The document is a list of dictionaries, where the first and last element is the header and the footer respectively, everything between are data-dictionaries. This format was chosen to allow application to parse the output in realtime while ``rmlint`` is still running. The header contains information about the program invocation, while the footer contains statistics about the program-run. Every data element has a type which identifies its lint type (you can lookup all types here_). **Config values:** - *use_header=[true|false]:* Print the header with metadata. - *use_footer=[true|false]:* Print the footer with statistics. - *oneline=[true|false]:* Print one json document per line. :sh: Outputs a shell script defines a command function for each lint type, which it then calls for each file of each type. The script can be executed (it is already ``chmod +x``'d by ``rmlint``). By default it will ask you if you really want to proceed. If you do not want that confirmation prompt you can pass the ``-d``. Additionally it will delete itself after running, unless you pass the ``-x`` switch to the ``sh`` script. It is enabled by default and writes to ``rmlint.sh``. Example output: .. code-block:: bash $ rmlint -o sh:stdout #!/bin/sh # This file was autowritten by rmlint # rmlint was executed from: /home/user/ # You command line was: ./rmlint -o sh:rmlint.sh # ... snip ... echo '/home/user/test/b/one' # original remove_cmd '/home/user/test/b/file' # duplicate remove_cmd '/home/user/test/a/two' # duplicate remove_cmd '/home/user/test/a/file' # duplicate if [ -z $DO_REMOVE ] then rm -f 'rmlint.sh'; fi **Config values:** - *clone*: ``btrfs`` only. Try to clone both files with the BTRFS_IOC_FILE_EXTENT_SAME ``ioctl(3p)``. This will physically delete duplicate extents. Needs at least kernel 4.2. - *reflink*: Try to reflink the duplicate file to the original. See also ``--reflink`` in ``man 1 cp``. Fails if the filesystem does not support it. - *hardlink*: Replace the duplicate file with a hardlink to the original file. Fails if both files are not on the same partition. - *symlink*: Tries to replace the duplicate file with a symbolic link to the original. Never fails. - *remove*: Remove the file using ``rm -rf``. (``-r`` for duplicate dirs). Never fails. - *usercmd*: Use the provided user defined command (``-c sh:cmd='*user command*'``). Use "$1" within '*user command*' to refer to the duplicate file and (optionally) "$2" to refer to the original. **Example (predefined config):** .. code-block:: bash $ rmlint -o sh:stdout -o sh:rmlint.sh -c sh:symlink ... echo '/home/user/test/b/one' # original cp_symlink '/home/user/test/b/file' '/home/user/test/b/one' # duplicate $ ./rmlint.sh -d Keeping: /home/user/test/b/one Symlinking to original: /home/user/test/b/file **Example (custom command):** The following example uses the trash-put command from the `trash-cli `_ utility to move duplicate files to trash: .. code-block:: bash $ rmlint -o sh -c sh:cmd='echo "Trashing $1" && trash-put "$1"' :py: Outputs a python script and a JSON file. The json file is the same as that produced by the **json** formatter. The JSON file is written to ``.rmlint.json``, executing the python script will find it there. The default python script produced by rmlint does pretty much the same thing as the shell script described above (although not reflinking or hardlinking or symlinking at the moment). You can customise the python script for just about any usecase (Python is a simple and extremely powerful programming language). **Example:** .. code-block:: bash $ rmlint -o py:remover.py $ ./remover.py --dry-run # Needs Python3 Deleting twins of /home/user/sub2/a Handling (duplicate_file): /home/user/sub1/a Handling (duplicate_file): /home/user/a Deleting twins of /home/user/sub2/b Handling (duplicate_file): /home/user/sub1/b :csv: Outputs a csv formatted dump of all lint files. Handy for all the spreadsheet-jockeys out there! It looks like this: .. code-block:: bash $ rmlint -o csv -D type,path,size,checksum emptydir,"/home/user/tree2/b",0,00000000000000000000000000000000 duplicate_dir,"/home/user/test/b",4,f8772f6fda08bbc826543334663d6f13 duplicate_dir,"/home/user/test/a",4,f8772f6fda08bbc826543334663d6f13 duplicate_dir,"/home/user/tree/b",8,62202a79add28a72209b41b6c8f43400 duplicate_dir,"/home/user/tree/a",8,62202a79add28a72209b41b6c8f43400 duplicate_dir,"/home/user/tree2/a",4,311095bc5669453990cd205b647a1a00 **Config values:** - *use_header=[true|false]:* Print the column name headers. :stamp: Outputs a timestamp of the time ``rmlint`` was run. **Config values:** - *iso8601=[true|false]:* Write an ISO8601 formatted timestamps or seconds since epoch? :pretty: Pretty-prints the found files in a colorful output (intended to be printed on *stdout* or *stderr*). This is enabled by default. :summary: Sums up the run in a few lines with some statistics. This enabled by default too. :progressbar: Prints a progressbar during the run of ``rmlint``. This is recommended for large runs where the ``pretty`` formatter would print thousands of lines. Not recommended in combination with ``pretty`` **Config values:** - *update_interval=number:* Number of milliseconds to wait between updates. Higher values use less resources. :fdupes: A formatter that behaves similar to **fdupes(1)** - another duplicate finder. This is mostly indented for compatibility (e.g. scripts that relied on that format). Duplicate set of files are printed as block, each separated by a newline. Original files are highlighted in green (this is an addition). During scanning a progressbar and summary are printed, followed by the fdupes output. The first two are printed to ``stderr``, while the parseable lines will be printed to ``stdout``. Consider using the far more powerful ``json`` output for scripting purposes, unless you already have a script that expects fdupes output. Paranoia mode ------------- Let's face it, why should you trust ``rmlint``? Technically it only computes a hash of your file which might, by its nature, collide with the hash of a totally different file. If we assume a *perfect* hash function (i.e. one that distributes its hash values perfectly even over all possible values), the probability of having a hash-collision is :math:`\frac{1}{2^{160}}` for the default 160-bit hash. Of course hash functions are not totally random, so the collision probability is slightly higher. Due to the "birthday paradox", collision starts to become a real risk if you have more than about :math:`2^{80}` files of the same size. If you're wary, you might want to make a bit more paranoid than the default. By default the ``blake2b`` (previously ``sha1`` was the default) hash algorithm is used, which we consider a good trade-off of speed and accuracy. ``rmlint``'s paranoia level can be easily inc/decreased using the ``-p`` (``--paranoid``)/ ``-P`` (``--less-paranoid``) option (which might be given twice each). Here's what they do in detail: * ``-p`` is equivalent to ``--algorithm=sha512`` * ``-pp`` is equivalent to ``--algorithm=paranoid`` As you see, it just enables a certain duplicate detection algorithm to either use a stronger hash function or to do a byte-by-byte comparison. While this might sound slow it's often only a few seconds slower than the default behaviour. There is a bunch of other hash functions you can lookup in the manpage. We recommend never to use the ``-P`` option. .. note:: Even with the default options, the probability of a false positive doesn't really start to get significant until you have around 1,000,000,000,000,000,000,000,000 different files all of the same file size. Bugs in ``rmlint`` are sadly (or happily?) more likely than hash collisions. See http://preshing.com/20110504/hash-collision-probabilities/ for discussion. Original detection / selection ------------------------------ As mentioned before, ``rmlint`` divides a group of dupes in one original and one or more duplicates of that one. While the chosen original might not be the one that was there first, you generally want to select one file to keep from each duplicate set. By default, if you specify multiple paths in the rmlint command, the files in the first-named paths are treated as more "original" than the later named paths. If there are two files in the same path, then the older one will be treated as the original. If they have the same modification time then it's just a matter of chance which one is selected as the original. The way ``rmlint`` chooses the original can be customised by the ``-S`` (``--rank-by``) option. Here's an example: .. code-block:: bash # Normal run: $ rmlint ls c rm a rm b # Use alphabetically first one as original $ rmlint -S a ls a rm b rm c Alphabetically first makes sense in the case of backup files, ie **a.txt.bak** comes after **a.txt**. Here's a table of letters you can supply to the ``-S`` option: ===== ========================================================================================== ===== ================================= **m** keep lowest mtime (oldest) **M** keep highest mtime (newest) **a** keep first alphabetically **A** keep last alphabetically **p** keep first named path **P** keep last named path **d** keep path with lowest depth **D** keep path with highest depth **l** keep path with shortest basename **L** keep path with longest basename **r** keep paths matching regex **R** keep path not matching regex **x** keep basenames matching regex **X** keep basenames not matching regex **h** keep file with lowest hardlink count **H** keep file with highest hardlink count **o** keep file with lowest number of hardlinks outside of the paths traversed by ``rmlint``. **O** keep file with highest number of hardlinks outside of the paths traversed by ``rmlint``. ===== ========================================================================================== ===== ================================= The default setting is ``-S pOma``. Multiple sort criteria can be specified, eg ``-S mpa`` will sort first by mtime, then (if tied), based on which path you specified first in the rmlint command, then finally based on alphabetical order of file name. Note that "original directory" criteria (see below) take precedence over any ``-S`` options. Alphabetical sort will only use the basename of the file and ignore its case. One can have multiple criteria, e.g.: ``-S am`` will choose first alphabetically; if tied then by mtime. **Note:** original path criteria (specified using `//`) will always take first priority over `-S` options. For more fine grained control, it is possible to give a regular expression to sort by. This can be useful when you know a common fact that identifies original paths (like a path component being ``src`` or a certain file ending). To use the regular expression you simply enclose it in the criteria string by adding `` after specifying `r` or `x`. Example: ``-S 'r<.*\.bak$>'`` makes all files that have a ``.bak`` suffix original files. Warning: When using **r** or **x**, try to make your regex to be as specific as possible! Good practice includes adding a ``$`` anchor at the end of the regex. **Tips:** - **l** is useful for files like `file.mp3 vs file.1.mp3 or file.mp3.bak`. - **a** can be used as last criteria to assert a defined order. - **o/O** and **h/H** are only useful if there any hardlinks in the traversed path. - **o/O** takes the number of hardlinks outside the traversed paths (and thereby minimizes/maximizes the overall number of hardlinks). **h/H** in contrast only takes the number of hardlinks *inside* of the traversed paths. When hardlinking files, one would like to link to the original file with the highest outer link count (**O**) in order to maximise the space cleanup. **H** does not maximise the space cleanup, it just selects the file with the highest total hardlink count. You usually want to specify **O**. - **pOma** is the default since **p** ensures that first given paths rank as originals, **O** ensures that hardlinks are handled well, **m** ensures that the oldest file is the original and **a** simply ensures a defined ordering if no other criteria applies. Flagging original directories ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sometimes you have a specific path that **only** contains originals, or **only** contains backups. In this case you can flag directories on the commandline by using a special separator (//) between the duplicate and original paths. Every path after the // separator is considered to be "tagged" and will be treated as an original where possible. Tagging always takes precedence over the ``-S`` options above. .. code-block:: bash $ rmlint a // b ls b/file rm a/file If there are more than one tagged files in a duplicate group then the highest ranked (per ``-S`` options) will be kept. In order to never delete any tagged files, there is the ``-k`` (``--keep-all-tagged``) option. A slightly more esoteric option is ``-m`` (``--must-match-tagged``), which only looks for duplicates where there is an original in a tagged path. Here's a real world example using these features: You have a portable backup drive with some old backups on it. You have just backed up your home folder to a new backup drive. You want to reformat the old backup drive and use it for something else. But first you want to check that there is nothing on the old drive that you don't have somewhere else. The old drive is mounted at /media/portable. .. code-block:: bash # Find all files on /media/portable that can be safely deleted: $ rmlint --keep-all-tagged --must-match-tagged /media/portable // ~ # check the shellscript looks ok: $ less ./rmlint.sh # or use gedit or any other viewer/editor # run the shellscript to delete the redundant backups $ ./rmlint.sh # run again (to delete empty dirs) $ rmlint -km /media/portable // ~ $ ./rmlint.sh # see what files are left: $ tree /media/portable # recover any files that you want to save, then you can safely reformat the drive In the case of nested mountpoints, it may sometimes makes sense to use the opposite variations, ``-K`` (``--keep-all-untagged``) and ``-M`` (``--must-match-untagged``). Finding duplicate directories ----------------------------- .. note:: ``--merge-directories`` is still an experimental option that is non-trivial to implement. Please double check the output and report any possible bugs. As far as we know, ``rmlint`` is the only duplicate finder that can do this. Basically, all you have to do is to specify the ``-D`` (``--merge-directories``) option and ``rmlint`` will cache all duplicates until everything is found and then merge them into full duplicate directories (if any). All other files are printed normally. This may sound simple after all, but there are some caveats you should know of. Let's create a tricky folder structure to demonstrate the feature: .. code-block:: bash $ mkdir -p fake/one/two/ fake/one/two_copy fake/one_copy/two fake/one_copy/two_copy $ echo xxx > fake/one/two/file $ echo xxx > fake/one/two_copy/file $ echo xxx > fake/one_copy/two/file $ echo xxx > fake/one_copy/two_copy/file $ echo xxx > fake/file $ echo xxx > fake/another_file Now go run ``rmlint`` on it like that: .. code-block:: bash $ rmlint fake -D -S a # Duplicate Directorie(s): ls -la /home/sahib/rmlint/fake/one rm -rf /home/sahib/rmlint/fake/one_copy ls -la /home/sahib/rmlint/fake/one/two rm -rf /home/sahib/rmlint/fake/one/two_copy # Duplicate(s): ls /home/sahib/rmlint/fake/another_file rm /home/sahib/rmlint/fake/one/two/file rm /home/sahib/rmlint/fake/file ==> In total 6 files, whereof 5 are duplicates in 1 groups. ==> This equals 20 B of duplicates which could be removed. As you can see it correctly recognized the copies as duplicate directories. Also, it did not stop at ``fake/one`` but also looked at what parts of this original directory could be possibly removed too. Files that could not be merged into directories are printed separately. Note here, that the original is taken from a directory that was preserved. So exactly one copy of the ``xxx``-content file stays on the filesystem in the end. ``rmlint`` finds duplicate directories by counting all files in the directory tree and looking up if there's an equal amount of duplicate and empty files. If so, it tries the same with the parent directory. Some file like hidden files will not be recognized as duplicates, but still added to the count. This will of course lead to unmerged directories. That's why the ``-D`` option implies the ``-r`` (``--hidden``) and ``-l`` (``--hardlinked``) option in order to make this convenient. A note to symbolic links: The default behaviour with --merge-directories is to not follow symbolic links, but to compare the link targets. If the target is the same, the link will be the same. This is a sane default for duplicate directories, since twin copies often are created by doing a backup of some files. In this case any symlinks in the backed-up data will still point to the same target. If you have symlinks that reference a file in each respective directory tree, consider using ``-f``. .. warning:: Do *never ever* modify the filesystem (especially deleting files) while running with the ``-D`` option. This can lead to mismatches in the file count of a directory, possibly causing dataloss. **You have been warned!** Sometimes it might be nice to only search for duplicate directories, banning all the sole files from littering the screen. While this will not delete all files, it will give you a nice overview of what you copied where. Since duplicate directories are just a lint type as every other, you can just pass it to ``-T``: ``-T "none +dd"`` (or ``-T "none +duplicatedirs"``). There's also a preset of it to save you some typing: ``-T minimaldirs``. .. warning:: Also take note that ``-D`` will cause a higher memory footprint and might add a bit of processing time. This is due to the fact that all files need to be cached till the end and some other internal data structures need to be created. Replaying results ----------------- Often it is useful to just re-output the results you got from ``rmlint``. That's kind of annoying for large datasets, especially when you have big files. For this, ``rmlint`` features a special mode, where it re-outputs the result of previous runs. By default, ``rmlint`` will spit out a ``.json`` file (ususally called ``rmlint.json``). When ``--replay`` is given, you can pass one or more of those ``.json`` files to the commandline as they would be normal directories. ``rmlint`` will then merge and re-output then. Note however, that no filesystem input/output is done. The usage of the ``--replay`` feature is best understood by example: .. code-block:: bash $ rmlint real-large-dir --progress # ... lots of output ... $ cp rmlint.json large.json # Save json, so we don't overwrite it. $ rmlint --replay large.json real-large-dir # ... same output, just faster ... $ rmlint --replay large.json --size 2M-512M --sort-by sn real-large-dir # ... filter stuff; and rank by size and by size and groupsize .... $ rmlint --replay large.json real-large-dir/subdir # ... only show stuff in /subdir ... .. warning:: Details may differ The generated output might differ slightly in order and details. For example the total number of files in the replayed runs will be the total of entries in the json document, not the total number of traversed files. Also be careful when replaying on a modified filesystem. ``rmlint`` will ignore files with newer mtime than in the ``.json`` file for safety reason. .. warning:: Not all options might work Options that are related to traversing and hashing/reading have no effect. Those are: * `--followlinks` * `--algorithm and --paranoid` * `--clamp-low` * `--hardlinked` * `--write-unfinished` * all other caching options. Miscellaneous options --------------------- If you read so far, you know ``rmlint`` pretty well by now. Here's just a list of options that are nice to know, but not essential: - Consecutive runs of ``rmlint`` can be speed up by using ``--xattr-read``. .. code-block:: python $ rmlint large_dataset/ --xattr-write --write-unfinished $ rmlint large_dataset/ --xattr-read Here, the second run should (or *might*) run a lot faster. But be sure to read the caveats stated in the `manpage`_! - ``-r`` (``--hidden``): Include hidden files and directories. The default is to ignore these, to save you from destroying git repositories (or similar programs) that save their information in a ``.git`` directory where ``rmlint`` often finds duplicates. If you want to be safe you can do something like this: .. code-block:: bash $ # find all files except everything under .git or .svn folders $ find . -type d | grep -v '\(.git\|.svn\)' | rmlint - --hidden But you would have checked the output anyways, wouldn't you? - If something ever goes wrong, it might help to increase the verbosity with ``-v`` (up to ``-vvv``). - Usually the commandline output is colored, but you can disable it explicitly with ``-w`` (``--with-color``). If *stdout* or *stderr* is not a terminal anyways, ``rmlint`` will disable colors itself. - You can limit the traversal depth with ``-d`` (``--max-depth``): .. code-block:: bash $ rmlint -d 0 - If you want to prevent ``rmlint`` from crossing mountpoints (e.g. scan a home directory, but no the HD mounted in there), you can use the ``-x`` (``--no-crossdev``) option. - It is possible to tell ``rmlint`` that it should not scan the whole file. With ``-q`` (``--clamp-low``) / ``-Q`` (``--clamp-top``) it is possible to limit the range to a starting point (``-q``) and end point (``-Q``). The point where to start might be either given as percent value, factor (percent / 100) or as an absolute offset. If the file size is lower than the absolute offset, the file is simply ignored. This feature might prove useful if you want to examine files with a constant header. The constant header might be different, i.e. by a different ID, but the content might be still the same. In any case it is advisable to use this option with care. Example: .. code-block:: bash # Start hashing at byte 100, but not more than 90% of the filesize. $ rmlint -q 100 -Q .9 .. _manpage: http://rmlint.readthedocs.org/en/latest/rmlint.1.html rmlint-2.6.1/gui/000077500000000000000000000000001312046612000136045ustar00rootroot00000000000000rmlint-2.6.1/gui/Makefile000066400000000000000000000005451312046612000152500ustar00rootroot00000000000000resources: @glib-compile-resources shredder/resources/shredder.gresource.xml --sourcedir shredder/resources schema: @mkdir -p ~/.glib-schemas @cp shredder/resources/org.gnome.Shredder.gschema.xml ~/.glib-schemas @glib-compile-schemas ~/.glib-schemas run: resources schema @GSETTINGS_SCHEMA_DIR=~/.glib-schemas/ python3 shredder/__main__.py all: run rmlint-2.6.1/gui/SConscript000066400000000000000000000032371312046612000156230ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 import os Import('env') def which(program): def is_exe(fpath): return os.path.isfile(fpath) and os.access(fpath, os.X_OK) fpath, fname = os.path.split(program) if fpath: if is_exe(program): return program else: for path in os.environ["PATH"].split(os.pathsep): path = path.strip('"') exe_file = os.path.join(path, program) if is_exe(exe_file): return exe_file return None if 'install' in COMMAND_LINE_TARGETS and GetOption('with_gui'): if not which('python3'): print('!! Unable to find python3 executable.') print('!! Will build no GUI.') else: py_install = env.Command( 'always.install', ['setup.py'], 'cd gui && python3 setup.py install --prefix {} --record .files.txt'.format( GetOption('prefix') ) ) env.Alias('install', py_install) if 'uninstall' in COMMAND_LINE_TARGETS and GetOption('with_gui'): def uninstall_python_module(**kwargs): try: with open('gui/.files.txt') as handle: for path in handle: path = path.strip() try: os.remove(path) except OSError as err: print('Unable to delete', path, ':', err) except OSError as err: print('Could not open .files.txt: ', err) env.Alias('uninstall', env.Command( 'gui/.files.txt', '', Action(uninstall_python_module , "Uninstalling recorded files...") ) ) rmlint-2.6.1/gui/TODO000066400000000000000000000001641312046612000142750ustar00rootroot00000000000000- Design: Make searching for size:/mtime:/ etc. more obvious. - Translation: Mark strings/use more standard buttons rmlint-2.6.1/gui/setup.py000066400000000000000000000060051312046612000153170ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 #!/usr/bin/env python from distutils.core import setup from distutils.command.install import install import os import sys import subprocess def read_version(): with open('../.version', 'r') as handle: version_string = handle.read() return version_string.strip() def get_prefix(): # distutils apparently has no sane way to get the install prefix early. # (I realize that this is a stupid hack to do something obvious) for idx, arg in enumerate(sys.argv): if arg == '--user': return os.path.expanduser('~/.local') if arg.startswith('--prefix'): if '=' in arg: _, path = arg.split('=', 1) return path else: return sys.argv[idx + 1] return '/usr' PREFIX = get_prefix() class PrePlusPostInstall(install): def run(self): # Compile the resource bundle freshly print('==> Compiling resource bundle') if os.access('shredder/resources/shredder.gresource', os.R_OK): print('==> Using existing. Lucky boy.') else: print('==> Calling glib-compile-resources') try: subprocess.call([ 'glib-compile-resources', 'shredder/resources/shredder.gresource.xml', '--sourcedir', 'shredder/resources' ]) except subprocess.CalledProcessError as err: print('==> Failed :(') # Run the usual distutils install routine: install.run(self) # Make sure the schema file is updated. # Otherwise the gui will trace trap. print('==> Compiling GLib Schema files') try: subprocess.call([ 'glib-compile-schemas', os.path.join(PREFIX, 'share/glib-2.0/schemas') ]) except subprocess.CalledProcessError as err: print('==> Could not update schemas: ', err) print('==> Please run the following manually:\n') print(' sudo glib-compile-schemas {prefix}'.format( prefix=os.path.join(PREFIX, 'share/glib-2.0/schemas') )) else: print('==> OK!') setup( name='Shredder', version=read_version(), description='A gui frontend to rmlint', author='Christopher Pahl', author_email='sahib@online.de', url='https://rmlint.rtfd.org', cmdclass={'install': PrePlusPostInstall}, packages=['shredder', 'shredder.views'], package_data={'': [ 'resources/*.gresource' ]}, data_files=[ ( os.path.join(PREFIX, 'share/icons/hicolor/scalable/apps'), ['shredder/resources/shredder.svg'] ), ( os.path.join(PREFIX, 'share/glib-2.0/schemas'), ['shredder/resources/org.gnome.Shredder.gschema.xml'] ), ( os.path.join(PREFIX, 'share/applications'), ['shredder.desktop'] ), ] ) rmlint-2.6.1/gui/shredder.desktop000066400000000000000000000003631312046612000170010ustar00rootroot00000000000000[Desktop Entry] Type=Application Name=Shredder Duplicate Finder GenericName=Duplicate Finder Comment=Find and delete duplicates TryExec=rmlint Exec=rmlint --gui Icon=shredder Categories=System; Keywords=remove;duplicate;files;filesystem;lint; rmlint-2.6.1/gui/shredder/000077500000000000000000000000001312046612000154045ustar00rootroot00000000000000rmlint-2.6.1/gui/shredder/__init__.py000066400000000000000000000017751312046612000175270ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """Common constants.""" import gi gi.require_version('Gtk', '3.0') gi.require_version('Rsvg', '2.0') gi.require_version('PangoCairo', '1.0') gi.require_version('Polkit', '1.0') gi.require_version('GtkSource', '3.0') # Name of your application: APP_TITLE = 'Shredder' # One sentence description of the application: APP_DESCRIPTION = 'Find & clean duplicate files' # Use boxy old menus or new popovers? APP_USE_TRADITIONAL_MENU = False def run_gui(): """Fully take over and run the gui code.""" # Stdlib: import sys # Internal: from shredder.cmdline import parse_arguments from shredder.logger import create_logger ROOT_LOGGER = create_logger(None) OPTIONS = parse_arguments(ROOT_LOGGER) # Later import due to logging. from shredder.application import Application if OPTIONS: # Gtk will take over now. APP = Application(OPTIONS) ROOT_LOGGER.info('Starting up.') sys.exit(APP.run([sys.argv[0]])) rmlint-2.6.1/gui/shredder/__main__.py000066400000000000000000000002701312046612000174750ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """Init triggering goes here. This code will be executed first when doing: $ python -m shredder """ import shredder shredder.run_gui() rmlint-2.6.1/gui/shredder/about.py000066400000000000000000000050361312046612000170740ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """Own module for the about dialog.""" # Stdlib: import re import logging # Internal from shredder import APP_TITLE, APP_DESCRIPTION # External: from gi.repository import Gtk, Gio LOGGER = logging.getLogger('about') MAIN_AUTHORS = [ 'Christopher Pahl ', 'Daniel Thomas ' ] # Change when needed. DOCUMENTERS = MAIN_AUTHORS def _guess_rmlint_version(): """Execute rmlint --version to extract the version. Shredder is always versioned the same way as rmlint. This is to make version problems less likely. """ proc = Gio.Subprocess.new( ['rmlint', '--version'], Gio.SubprocessFlags.STDERR_PIPE ) result, _, data = proc.communicate_utf8() if result and data: match = re.search(r'version (\d.\d.\d)', data) if match: return match.group(1) return '?.?.?' class AboutDialog(Gtk.AboutDialog): """GtkAboutDialog for Shreddder""" def __init__(self, app_win): Gtk.AboutDialog.__init__(self) try: buttons = list(self.get_action_area()) close_button = buttons[2] close_button.connect('clicked', lambda _: self.destroy()) license_button = buttons[1] license_button.set_no_show_all(True) except IndexError: LOGGER.error('GtkAboutDialog layout changed...') self.set_transient_for(app_win) self.set_modal(True) self.set_license_type(Gtk.License.GPL_3_0) self.set_comments(APP_DESCRIPTION) self.set_wrap_license(True) self.set_program_name(APP_TITLE) self.set_version(_guess_rmlint_version()) self.set_authors(MAIN_AUTHORS) self.set_documenters(DOCUMENTERS) self.set_website('http://rmlint.rtfd.org') self.set_website_label('rmlint.rtfd.org') self.set_logo(None) self.show_all() if __name__ == '__main__': def main(): """Show the about dialog as modal window.""" import os from shredder.application import _load_app_icon win = Gtk.Window() win.connect('destroy', Gtk.main_quit) win.show_all() rel_dir = os.path.dirname(__file__) resource_file = os.path.join(rel_dir, 'resources/shredder.gresource') resource_bundle = Gio.Resource.load(resource_file) Gio.resources_register(resource_bundle) win.set_default_icon(_load_app_icon()) about = AboutDialog(win) about.show() Gtk.main() main() rmlint-2.6.1/gui/shredder/application.py000066400000000000000000000132061312046612000202630ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """Shredder's GtkApplication implementation. It loads all initially required resources and triggers the gui build by instancing the MainWindow. """ # Stdlib: import os import sys import gettext import logging # External: from gi.repository import Gtk, Gio, Rsvg, GdkPixbuf # Internal from shredder import APP_TITLE from shredder.util import load_css_from_data from shredder.about import AboutDialog from shredder.runner import Script from shredder.window import MainWindow from shredder.views.settings import SettingsView from shredder.views.locations import LocationView from shredder.views.runner import RunnerView from shredder.views.editor import EditorView LOGGER = logging.getLogger('application') def have_feature(feature): """Execute rmlint --version to check for some feature. --version will print the compile time configuration of rmlint. If a feature is missing, -somefeature is printed. A + in front else. """ proc = Gio.Subprocess.new( ['rmlint', '--version'], Gio.SubprocessFlags.STDERR_PIPE ) result, _, data = proc.communicate_utf8() if not result or not data: return False return '+' + feature in data def _create_action(name, callback=None): """Create a named GAction with a callback for its activation""" action = Gio.SimpleAction.new(name, None) if callback is not None: action.connect('activate', callback) return action def _load_app_icon(): """Load & render the application svg icon from the resource bundle""" logo_svg = Gio.resources_lookup_data('/org/gnome/shredder/shredder.svg', 0) logo_handle = Rsvg.Handle.new_from_data(logo_svg.get_data()) logo_handle.set_dpi_x_y(75, 75) return logo_handle.get_pixbuf().scale_simple( 200, 200, GdkPixbuf.InterpType.HYPER ) class Application(Gtk.Application): """GtkApplication implementation of Shredder.""" def __init__(self, options): Gtk.Application.__init__( self, application_id='org.gnome.Shredder', flags=Gio.ApplicationFlags.FLAGS_NONE ) self.cmd_opts = options self.settings = self.win = None # Check compile time features of rmlint that we need later. if not have_feature('replay'): LOGGER.error('No support for +replay in rmlint binary.') LOGGER.error('Please recompile with --with-json-glib…') LOGGER.error('…and `json-glib-1.0` installed on your system.') sys.exit(-1) def do_activate(self, **kw): Gtk.Application.do_activate(self, **kw) self.win.present() def do_startup(self, **kw): Gtk.Application.do_startup(self, **kw) # Make tranlsating strings possible: # (We use the same message catalouge as rmlint) gettext.install('rmlint') rel_dir = os.path.dirname(__file__) resource_file = os.path.join(rel_dir, 'resources/shredder.gresource') LOGGER.info('Loading resources from: ' + resource_file) resource_bundle = Gio.Resource.load(resource_file) Gio.resources_register(resource_bundle) # Load the application CSS files. css_data = Gio.resources_lookup_data( '/org/gnome/shredder/shredder.css', 0 ) try: load_css_from_data(css_data.get_data()) except Exception as err: LOGGER.warning("Failed to load css data: " + str(err)) # Init the config system self.settings = Gio.Settings.new('org.gnome.Shredder') self.win = MainWindow(self) self.add_action(_create_action( 'settings', lambda *_: self.win.views.switch('settings') )) self.add_action(_create_action( 'about', lambda *_: AboutDialog(self.win).show_all() )) self.add_action(_create_action( 'search', lambda *_: self.win.views.set_search_mode(True) )) self.add_action(_create_action( 'activate', lambda *_: self.win.views.do_default_action() )) self.add_action(_create_action( 'quit', lambda *_: self.quit() )) self.set_accels_for_action('app.quit', ['Q']) self.set_accels_for_action('app.search', ['F']) self.set_accels_for_action('app.activate', ['Return']) # Set the fallback window title. # This is only used if no .desktop file is provided. self.win.set_wmclass(APP_TITLE, APP_TITLE) # Load the application icon self.win.set_default_icon(_load_app_icon()) LOGGER.debug('Instancing views.') self.win.views.add_view(SettingsView(self), 'settings') self.win.views.add_view(LocationView(self), 'locations') self.win.views.add_view(RunnerView(self), 'runner') self.win.views.add_view(EditorView(self), 'editor') LOGGER.debug('Done instancing views.') initial_view = 'locations' if self.cmd_opts.tagged or self.cmd_opts.untagged: self.win.views['runner'].trigger_run( self.cmd_opts.untagged or [], self.cmd_opts.tagged or [] ) initial_view = 'runner' if self.cmd_opts.show_settings: initial_view = 'settings' for path in self.cmd_opts.locations or []: self.win.views['locations'].add_recent_item(path) if self.cmd_opts.script: self.win.views['editor'].override_script( Script(self.cmd_opts.script) ) initial_view = 'editor' # Set the default view visible at startup self.win.views.switch(initial_view) self.win.show_all() rmlint-2.6.1/gui/shredder/chart.py000066400000000000000000000452311312046612000170640ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """ Chart rendering code and relevant Gtk widgets. The chart is drawn via cairo and a tiny bit of math. """ # Stdlib: import math import colorsys # Internal: from shredder.util import size_to_human_readable from shredder.tree import Column # External: import cairo from gi.repository import Gtk from gi.repository import Gdk from gi.repository import GLib from gi.repository import Pango from gi.repository import PangoCairo ANGLE_LIMIT_TOOLTIP = math.pi / 32 ANGLE_LIMIT_VISIBLE = math.pi / 256 ########################################################### # NOTE: This code is inspired by the baobab code, # # since it's very clean and a good read. # # However this code is not ported, but rewritten. # ########################################################### def _draw_center_text(ctx, x, y, text, font_size=10, do_draw=True): '''Draw a text at the center of ctx/alloc. ctx: a cairo Context to draw to alloc: size of area. text: Actual text as unicode string font_size: Size of the font to take ''' layout = PangoCairo.create_layout(ctx) font = Pango.FontDescription.from_string('Ubuntu Light') font.set_size(font_size * Pango.SCALE) layout.set_font_description(font) layout.set_markup(text, -1) layout.set_alignment(Pango.Alignment.CENTER) fw, fh = (num / Pango.SCALE / 2 for num in layout.get_size()) if do_draw: ctx.move_to(x - fw, y - fh) PangoCairo.show_layout(ctx, layout) ctx.stroke() return fw, fh def _draw_rounded(ctx, area, radius): """draws rectangles with rounded (circular arc) corners""" a, b, c, d = area mpi2 = math.pi / 2 ctx.arc(a + radius, c + radius, radius, 2 * mpi2, 3 * mpi2) ctx.arc(b - radius, c + radius, radius, 3 * mpi2, 4 * mpi2) ctx.arc(b - radius, d - radius, radius, 0 * mpi2, 1 * mpi2) ctx.arc(a + radius, d - radius, radius, 1 * mpi2, 2 * mpi2) ctx.close_path() TANGO_TABLE = [ (0.000, 0.829, 0.94), (0.096, 0.747, 0.99), (0.104, 0.527, 0.91), (0.251, 0.775, 0.89), (0.590, 0.451, 0.82), (0.850, 0.279, 0.68) ] def _hsv_by_degree(degree): """Convert degree (in rad) to a predefined color. Currently only one colorscheme is supported (Tango) """ percent = max(0.0, min(1.0, degree / (2 * math.pi))) idx = percent * len(TANGO_TABLE) h, s, v = TANGO_TABLE[max(0, int(idx) - 1)] return h, s, v def _draw_segment( ctx, alloc, layer, max_layers, deg_a, deg_b, is_selected, bg_col): """Draw a radial segment on the context ctx with the following params: layer: The segment layer to draw (or "how far from the midpoint we are") max_layers: How many layerst there are at max. deg_a: Starting angle of the segment in degree. deg_b: Ending angle of the segment in degree. The dimensions of ctx are given by size in pixels. """ mid_x, mid_y = alloc.width / 2, alloc.height / 2 mid = min(mid_x, mid_y) radius_a_px = (layer / (max_layers + 1)) * mid radius_b_px = radius_a_px + (1 / (max_layers + 1)) * mid if layer is 1: radius_a_px += (radius_b_px - radius_a_px) / 2 # Draw the actual segment path ctx.arc(mid_x, mid_y, radius_a_px, deg_a, deg_b) ctx.arc_negative(mid_x, mid_y, radius_b_px, deg_b, deg_a) ctx.close_path() # Calculate the color as HSV h, s, v = _hsv_by_degree(deg_a / 2 + deg_b / 2) # "Fix" the color for some special cases s += 0.2 if is_selected else -0.07 # Make more distant segments darker v *= 1.25 - (layer / max_layers / 1.5) if is_selected: v += 0.2 # Fill it with the color: Add a bit of highlight on start & end # to round it up. This should stay rather subtle of course. pattern = cairo.RadialGradient( mid_x, mid_y, radius_a_px, mid_x, mid_y, radius_b_px ) rn, gn, bn = colorsys.hsv_to_rgb(h, s, v) rh, gh, bh = colorsys.hsv_to_rgb(h, s + 0.05, v + 0.15) rl, gl, bl = colorsys.hsv_to_rgb(h, s - 0.05, v - 0.25) off = 42 / min(alloc.width, alloc.height) pattern.add_color_stop_rgb(0.0, rl, gl, bl) pattern.add_color_stop_rgb(off * 2, rn, gn, bn) pattern.add_color_stop_rgb(1 - off, rn, gn, bn) pattern.add_color_stop_rgb(1.0, rh, gh, bh) ctx.set_source(pattern) ctx.fill_preserve() # Draw a little same colored border around. thickness = min(alloc.width, alloc.height) / 160 r, g, b = colorsys.hsv_to_rgb(h, s, v - 0.5) ctx.set_source_rgba(r, g, b, 0.5) ctx.set_line_width(thickness * 1.5) ctx.stroke_preserve() # Draw a (probably) white border around ctx.set_source_rgb(bg_col.red, bg_col.green, bg_col.blue) ctx.set_line_width(thickness) ctx.stroke() ctx.set_line_width(1) def _draw_tooltip(ctx, alloc, x, y, dist, angle, text): """Draw a tooltip rooting at (x,y) and hitting the bounding box with `text` """ # Draw the anchor circle on the segment ctx.set_source_rgba(0, 0, 0, 1.0) ctx.arc(x, y, 3, 0, 2 * math.pi) ctx.fill() # Guess the font width used for the tooltip text. fw, fh = _draw_center_text(ctx, 0, 0, text, do_draw=False) # Bounding box onto which the tooltips will be projected w2, h2 = alloc.width / 2 - dist - fw, alloc.height / 2 - dist - fh angle_norm = math.fmod(math.fabs(angle), math.pi / 2) # Check if we are in the second or last quadrant. # In that case we flip the dimensions in order # to make the flipping logic below work. if math.floor(angle / (math.pi / 2)) % 2: w2, h2 = h2, w2 # Check where to paint the new point if angle_norm < math.atan2(h2, w2): new_x = w2 new_y = math.tan(angle_norm) * new_x else: new_y = h2 new_x = new_y / math.tan(angle_norm) # Flip the x/y into the right quadrant if angle < math.pi / 2: pass # already in the right angle. elif angle < math.pi: new_x, new_y = -new_y, new_x elif angle < (math.pi + math.pi / 2): new_x, new_y = -new_x, -new_y elif angle < 2 * math.pi: new_x, new_y = new_y, -new_x # Finally, move from first quadrant to the whole. new_x += alloc.width / 2 new_y += alloc.height / 2 ctx.set_source_rgba(0, 0, 0, 0.3) ctx.move_to(x, y) ctx.line_to(new_x, new_y) ctx.stroke() ctx.set_source_rgba(0, 0, 0, 1.0) tip_w, tip_h = fw + 5, fh + 3 _draw_rounded( ctx, (new_x - tip_w, new_x + tip_w, new_y - tip_h, new_y + tip_h), 3 ) ctx.fill_preserve() ctx.set_source_rgba(0.3, 0.3, 0.3, 1.0) ctx.stroke() ctx.set_source_rgba(0.8, 0.8, 0.8, 1.0) _draw_center_text(ctx, new_x, new_y, text, do_draw=True) class Chart(Gtk.DrawingArea): """Base class for charts providing the basic interfaces and signals.""" def __init__(self): Gtk.DrawingArea.__init__(self) self.connect('draw', self.on_draw) self.add_events( self.get_events() | Gdk.EventMask.POINTER_MOTION_MASK | Gdk.EventMask.BUTTON_PRESS_MASK ) self.connect('motion-notify-event', self.on_motion) self.connect('button-press-event', self.on_button_press_event) ############################## # TO BE OVERWRITTEN BY CHILD # ############################## def on_draw(self, area, ctx): """Put your subclass draw code here.""" pass def on_motion(self, area, event): """Executed on ever pointer motion.""" pass def on_button_press_event(self, area, event): """Executed on every pointer or keyboard press.""" pass class Segment: """Helper and data class for a single segment in a RingChart.""" def __init__(self, node, layer, degree, size, tooltip=None): self.node = node self.children = [] self.layer, self.degree, self.size = layer, degree, size self.degree = math.fmod(self.degree, math.pi * 2) self.is_selected = False # Cut off too long tooltips: if len(tooltip) > 60: self.tooltip = tooltip[:60] + '...' else: self.tooltip = tooltip def draw(self, ctx, alloc, max_layers, bg_col): """Trigger the actual drawing of the segment.""" _draw_segment( ctx, alloc, self.layer, max_layers, self.degree, self.degree + self.size, self.is_selected, bg_col ) def hit(self, layer, deg): """Check if the segment was hit by a click, depending on a certain layer and angle. """ if self.layer != layer: self.is_selected = False else: self.is_selected = self.degree <= deg <= self.degree + self.size return self.is_selected def middle_point(self, alloc, max_layers): """Calculate the middle point of the segment. The middle point is here defined as the mid between start and end degree with the radius between both ends. This is used to determine the place where to stick the tooltip. """ # Middle point of the whole diagram mid_x, mid_y = alloc.width / 2, alloc.height / 2 # Distance from (mid_x, mid_y) to middle point if self.layer is 1: offset = 0.75 else: offset = 0.5 rad = ((self.layer + offset) / (max_layers + 1)) * min(mid_x, mid_y) # Half of the degree range + start deg = self.degree + self.size / 2 return mid_x + rad * math.cos(deg), mid_y + rad * math.sin(deg) def middle_angle(self): """Calculate an angle that goes through the mid of the segment.""" return self.degree + self.size / 2 class RingChart(Chart): """Chart type for visualizing the node-tree as segmented ring. Each depth becomes one ring. Each segment has 0 to one parent. Size of the node determines the size of the segment. """ def __init__(self): Chart.__init__(self) # Id of the tooltip timeout self._timeout_id = None self._segment_list = [] self.max_layers = 0 self.total_size = 1 self._selected_segment = None self._last_root = None def recursive_angle(self, node, angle, offset, layer_offset=0): """Calculates the angles of the segments and stores them in a list that is ordered by Z-Depth, so the plot appears to be layered with the root circle on top. This resembles a depth first traversal. """ self._segment_list.append(Segment( node, node.depth - layer_offset, offset, angle, node[Column.PATH] )) child_offset = offset for child in node.indices: node_size = node[Column.SIZE] if node_size is not 0: child_angle = (child[Column.SIZE] / node_size) * angle else: child_angle = angle # Do not investigate smaller nodes: if child_angle > ANGLE_LIMIT_VISIBLE: self.recursive_angle( child, child_angle, child_offset, layer_offset ) # Remember deepest layer: self.max_layers = max( child.depth - layer_offset + 1, self.max_layers ) child_offset += child_angle def find_root(self, node): """Iterate to the first child that has more than one children""" if len(node.children) > 1: return node for child in node.children.values(): return self.find_root(child) # Default to the actual root: return node def render(self, root, overwrite_root=True): """Render `root` and all children of it as chart.""" # Skip over duplicate full circles: virt_root = self.find_root(root) # Reset the segment list, fill it again by dfs and sort it. self._segment_list = [] self.max_layers = 0 self.recursive_angle(virt_root, 2 * math.pi, 0, virt_root.depth - 1) self._segment_list.sort(key=lambda node: node.layer) # Make sure we show the right total size self.total_size = virt_root[Column.SIZE] if overwrite_root: self._last_root = root # Make sure it gets rendered soon: self.queue_draw() def on_draw(self, area, ctx): """Actual signal callback that triggers all the drawing.""" # May happen on empty charts: max_layers = self.max_layers if max_layers <= 0: max_layers = 1 draw_empty = True else: draw_empty = False # Figure out the background color of the drawing area alloc = area.get_allocation() # Caluclate the font size of the inner label. # Make it smaller if not enough place but cut off at a size of 12 inner_circle = (1.4 / max_layers) inner_circle *= min(alloc.width, alloc.height) / 2 font_size = min(12, inner_circle / 3) # Draw the center text: _draw_center_text( ctx, alloc.width / 2, alloc.height / 2, '{size}'.format( size=size_to_human_readable(self.total_size) ), font_size=font_size ) bg = self.get_toplevel().get_style_context().get_background_color(0) if not draw_empty: for segment in reversed(self._segment_list): segment.draw(ctx, alloc, max_layers, bg) else: ctx.arc( alloc.width / 2, alloc.height / 2, inner_circle / 2, 0, 2 * math.pi ) ctx.stroke() if self._selected_segment is None or draw_empty: return for segment in self._segment_list: if segment.layer != self._selected_segment.layer: continue if segment is not self._selected_segment: if segment.size < ANGLE_LIMIT_TOOLTIP: continue x, y = segment.middle_point(alloc, max_layers) _draw_tooltip( ctx, alloc, x, y, 8, segment.middle_angle(), segment.tooltip ) def on_tooltip_timeout(self, segment): """Called once the mouse stayed over a segment for a longer time. """ if self._timeout_id: self._selected_segment = segment else: self._selected_segment = None self.queue_draw() self._timeout_id = None def _hit(self, area, event, click_only=False): """Check what segments were hitten by a GdkEvent""" alloc = area.get_allocation() mid_x, mid_y = alloc.width / 2, alloc.height / 2 # Calculate the degree between the vectors # a = (event.x + m, event.y + m) and (0, 1) x, y = event.x - mid_x, event.y - mid_y xy_abs = math.sqrt(x * x + y * y) cos = x / xy_abs if y < 0: # upper half selected_deg = (2 * math.pi) - math.acos(cos) else: # lower half selected_deg = math.acos(cos) # Check which layer we are operating on. selected_layer = (self.max_layers + 1) / min(mid_x, mid_y) selected_layer = math.floor(xy_abs * selected_layer) if selected_layer is 0: return (True, None) hit_segment = None for segment in self._segment_list: if segment.hit(selected_layer, selected_deg): hit_segment = segment if click_only: break return bool(hit_segment), hit_segment def on_motion(self, area, event): """Called on pointer motion.""" hit, segment = self._hit(area, event) if self._timeout_id is not None: GLib.source_remove(self._timeout_id) self._timeout_id = None self._selected_segment = None if hit and segment: id_ = GLib.timeout_add( 250, self.on_tooltip_timeout, segment ) self._timeout_id = id_ self.queue_draw() def on_button_press_event(self, area, event): """Called on pointer and keyboard events""" hit, segment = self._hit(area, event, click_only=True) if hit: if segment is not None: self.render(segment.node, overwrite_root=False) elif self._last_root: self.render(self._last_root, overwrite_root=False) class ChartStack(Gtk.Stack): """Wrapper around the chart drawing area. Provides a loading screen and "nothing" found screen. Change between those are crossfaded. """ LOADING = 'loading' CHART = 'chart' EMPTY = 'empty' def __init__(self): Gtk.Stack.__init__(self) self.set_transition_duration(750) self.set_transition_type(Gtk.StackTransitionType.CROSSFADE) # Make sure we don't stick on the border: self.set_border_width(5) self.spinner = Gtk.Spinner() self.spinner.start() self.add_named(self.spinner, ChartStack.LOADING) self.chart = RingChart() self.add_named(self.chart, ChartStack.CHART) self.empty_label = Gtk.Label( '✔\nNothing found!' ) self.empty_label.set_use_markup(True) self.empty_label.get_style_context().add_class( Gtk.STYLE_CLASS_DIM_LABEL ) self.add_named(self.empty_label, ChartStack.EMPTY) def render(self, root): """Trigger all render procedure""" self.chart.render(root) if __name__ == '__main__': def main(): """Stupid test main""" from shredder.tree import PathTreeModel model = PathTreeModel(['/home/sahib']) def push(size, path): """Helper for pushing a dummy path""" model.add_path(path, Column.make_row({'size': size}), True) push(500, '/home/sahib/docs/stuff.pdf') for idx, size in enumerate((700, 600, 200)): push(size, '/home/sahib/docs/more/' + 'stuff.pdf-' + str(idx)) for idx in range(50): push(10, '/home/sahib/docs/more/' + 'small.pdf-' + str(idx)) for idx in range(10): push(100, '/home/sahib/' + 'dummy-' + str(idx)) push(1000, '/home/sahib/music/1.mp3') push(1200, '/home/sahib/music/sub/2.mp3') push(1200, '/home/sahib/music/sub/3.mp3') push(600, '/home/sahib/music/sub/4.mp3') model.trie.sort(Column.SIZE) print(model.trie) area = RingChart() area.render(model.trie.root) win = Gtk.Window() win.set_size_request(300, 500) win.connect('destroy', Gtk.main_quit) win.add(area) win.show_all() Gtk.main() main() rmlint-2.6.1/gui/shredder/cmdline.py000066400000000000000000000074671312046612000174070ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """Commandline parsing facility for Shredder. Produces an option dict that can be used by shredder.application. Some options are processed immediately however. """ # Stdlib: import os import sys import logging # External: from gi.repository import Gio from gi.repository import GLib def show_version(): """Print the version as shown by `rmlint --version`""" proc = Gio.Subprocess.new( ['rmlint', '--version'], Gio.SubprocessFlags.STDERR_PIPE ) *_, data = proc.communicate_utf8() # Shredder version is always the same as rmlint. # So, let's just replace `rmlint` with `Shredder` :-) print(data.replace('rmlint', 'Shredder', 1), end='') sys.exit(-1) def adjust_loglevel(root_logger, count): """Convert a -v count to a python loglevel.""" count = max(0, min(4, count)) root_logger.setLevel({ 0: logging.CRITICAL, 1: logging.ERROR, 2: logging.WARNING, 3: logging.INFO, 4: logging.DEBUG, }[count]) def parse_arguments(root_logger): """Parse the cmdline options using GOption.""" sys.argv[0] = 'shredder' parser = GLib.option.OptionParser( "PATHS ...", description="A gui frontend to rmlint.", option_list=[ GLib.option.make_option( "--add-location", "-a", type="filename", action="append", dest="locations", help="Add locations to locations view." ), GLib.option.make_option( "--scan", "-s", type="filename", action="append", dest="untagged", help="Add location to scan (as untagged path)." ), GLib.option.make_option( "--scan-tagged", "-S", type="filename", action="append", dest="tagged", help="Add location to scan (as tagged path)." ), GLib.option.make_option( "--load-script", "-l", type="filename", action="store", dest="script", help="Show `script` in editor view." ), GLib.option.make_option( "--verbose", "-v", action="count", dest='more_verbosity', help="Be more verbose." ), GLib.option.make_option( "--less-verbose", "-V", action="count", dest='less_verbosity', help="Be less verbose." ), GLib.option.make_option( "--show-settings", "-c", action="store_true", dest='show_settings', help="Show the settings view." ), GLib.option.make_option( "--version", "", action="store_true", dest="show_version", help="Show the version of Shredder." ), ] ) try: parser.parse_args() except GLib.Error as err: root_logger.error(str(err)) return None vals = parser.values if parser.values.show_version: show_version() adjust_loglevel( root_logger, (vals.more_verbosity or 0) + (vals.less_verbosity or 0) + 4 # Default loglevel: info. ) # Check paths to be valid: paths = (vals.tagged or []) + (vals.untagged or []) + [vals.script] for path in (path for path in paths if path): if not os.path.exists(path): root_logger.error('`%s` does not exist.', path) sys.exit(-1) return vals if __name__ == '__main__': LOGGER = logging.getLogger('test-cmdline') print(parse_arguments(LOGGER)) rmlint-2.6.1/gui/shredder/logger.py000066400000000000000000000056231312046612000172430ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """ General purpose logger, used in many python projects by @sahib. It has colors and symbols! Enough reasoning. """ # Stdlib: import logging import logging.handlers COLORED_FORMAT = "%(asctime)s%(reset)s %(log_color)s[logsymbol] \ %(levelname)-8s%(reset)s \ %(bold_black)s%(name)s:%(lineno)d:%(reset)s %(message)s" SIMPLE_FORMAT = "%(asctime)s %(levelname)-8s [%(filename)s:%(lineno)3d] \ %(name)s: %(message)s" DATE_FORMAT = "%H:%M:%S" UNICODE_ICONS = { logging.DEBUG: 'âš™', logging.INFO: 'âš', logging.WARNING: 'âš ', logging.ERROR: 'âš¡', logging.CRITICAL: '☠' } def create_logger(name=None, path=None, verbosity=logging.DEBUG): '''Create a new Logger configured with moosecat's defaults. :name: A user-define name that describes the logger :path: Path to store a log file. :return: A new logger . ''' logger = logging.getLogger(name) # This is hack to see if this function was already called if len(logging.getLogger(None).handlers) is 2: return logger # Defaultformatter, used for File logging, # and for stdout if colorlog is not available formatter = logging.Formatter( SIMPLE_FORMAT, datefmt=DATE_FORMAT ) # Try to load the colored log and use it on success. # Else we'll use the SIMPLE_FORMAT try: import colorlog class SymbolFormatter(colorlog.ColoredFormatter): """Hack to replace the symbol marker with the actual icon.""" def format(self, record): result = colorlog.ColoredFormatter.format(self, record) return result.replace( '[logsymbol]', UNICODE_ICONS[record.levelno] ) except ImportError: print('Could not import colorlog. This is not an error.') print('You just will not have colors in the logging output...') col_formatter = formatter else: col_formatter = SymbolFormatter( COLORED_FORMAT, datefmt=DATE_FORMAT, reset=False ) # Stdout-Handler stream = logging.StreamHandler() stream.setFormatter(col_formatter) # Rotating File-Handler file_stream = logging.handlers.RotatingFileHandler( filename=path or '/tmp/app.log', maxBytes=(1024 ** 2 * 10), # 10 MB backupCount=2, delay=True ) file_stream.setFormatter(formatter) # Create the logger and configure it. logger.addHandler(file_stream) logger.addHandler(stream) logger.setLevel(verbosity) return logger if __name__ == '__main__': LOGGER = create_logger('Marc') LOGGER.setLevel(logging.DEBUG) LOGGER.critical('A clitical error.') LOGGER.error('Bad, but not clitical.') LOGGER.warning('I think stackoverflow is down?!') LOGGER.info('Ah, back again.') LOGGER.debug('Oh, you can see debug messages too?') rmlint-2.6.1/gui/shredder/query.py000066400000000000000000000132331312046612000171250ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """Implement a very small query language useful for filtering. Beside simple string matching the search should be able to select files with a certain size or in a certain size range. This is a valid example for example: Hello world size:2K-3M count:2,4-10 mtime:today """ # Stdlib: import re import logging from collections import defaultdict try: from parsedatetime import Calendar HAS_PARSEDATETIME = True except ImportError: HAS_PARSEDATETIME = False LOGGER = logging.getLogger('query') def check_numeric(matches, value): """Check if numeric `value` matches one of the values (single lis) and ranges (two-item list) in `matches` """ if not matches: return True for match in matches: if len(match) is 1 and match[0] == value: return True elif len(match) is 2: vmin, vmax = match if vmin <= value <= vmax: return True elif len(match) > 2: LOGGER.warning('Too long match: %s', match) return False class Query: """Query is able to parse and evaluate a small query language. It should not be directly instantiated. """ def __init__(self): """You should not use this.""" self.name = self.sizes = self.mtimes = self.amounts = None @staticmethod def parse(query_input): """Parse a query and return a fresh Query object.""" result = parse(query_input) qry = Query() qry.name = result['name'] qry.sizes = result['size'] qry.mtimes = result['mtime'] qry.amounts = result['count'] return qry def issubset(self, other_query): """Check if this query will yield a subset of other_query""" if other_query is None or not other_query.name: return False if self.sizes or self.mtimes or self.amounts: # Do not even bother checking: # This is gonna go error prone with little effect. return False # Check if previous query is a prefix to this one. return self.name.startswith(other_query.name) def matches(self, leaf_node, size, mtime, count): """Check if a node matches to this query. Returns True on match""" for node in leaf_node.up(): if self.name in node.name.lower(): break else: return False if not check_numeric(self.sizes, size): return False if not check_numeric(self.mtimes, mtime): return False if not check_numeric(self.amounts, count): return False return True def parse_generic_range(value, converter): """Parse number collections in the form N[-N[,N[-N]]]... For the actual conversion, `converter` will be called. It may raise ValueError on invalid input. """ parts = value.split(',') results = [] for part in parts: sub_results = [] for sub in part.split('-', maxsplit=1): try: parsed = converter(sub) except ValueError as err: LOGGER.warning('Could not convert value: %s', str(err)) else: if parsed: sub_results.append(parsed) results.append(sub_results) return results EXPONENTS = { 'B': 0, 'K': 1, 'M': 2, 'G': 3, 'T': 4, 'P': 5 } def parse_size_single(value): """Convert a size description to a byte amount.""" value = value.upper() for suffix, exponent in EXPONENTS.items(): if value.endswith(suffix): value = value[:-len(suffix)] break else: exponent = 0 return int(value) * (1024 ** exponent) def parse_mtime_single(value): """Convert a human readable time description to a """ if not HAS_PARSEDATETIME: return int(value) calendar = Calendar() guess, rc = calendar.parseDT(value) if rc is 0: LOGGER.warning('Could not parse date: %s', value) return int(value) return guess.timestamp() def parse_size(value): """Parse size values and ranges.""" return parse_generic_range(value, parse_size_single) def parse_mtime(value): """Parse mtime values and time ranges.""" return parse_generic_range(value, parse_mtime_single) def parse_count(value): """Parse count values and ranges.""" return parse_generic_range(value, int) VALID_ATTRS = { 'size': parse_size, 'mtime': parse_mtime, 'count': parse_count } ATTR_PATTERN = re.compile( r'({attrs}):(.*?)(?=\s|$)'.format( attrs='|'.join(VALID_ATTRS.keys()) ) ) def parse(query): """Actual lowlevel parsing function. Extracts arbitary text and attr-value pairs. """ attrs = ATTR_PATTERN.finditer(query) results = defaultdict(list) indices = [0] for match in attrs: attr, value = match.groups() indices.extend(match.span()) if not value: continue parser = VALID_ATTRS.get(attr) if parser is None: LOGGER.warning('Invalid parser: %s', parser) continue parsed_value = parser(value) if parsed_value: results[attr].extend(parsed_value) indices.append(-1) # Extract the rest of the text (for string matching) parts = [] query += ' ' for cnt, idx in enumerate(indices[::2]): part = query[idx:indices[2 * cnt+1]].strip() if part: parts.append(part) results['name'] = ' '.join(parts).strip().lower() return results ############### # DEBUG MAIN # ############### if __name__ == '__main__': import sys print('`{}`'.format(parse(sys.argv[1]))) rmlint-2.6.1/gui/shredder/resources/000077500000000000000000000000001312046612000174165ustar00rootroot00000000000000rmlint-2.6.1/gui/shredder/resources/org.gnome.Shredder.gschema.xml000066400000000000000000000104771312046612000252110ustar00rootroot00000000000000 true Report duplicate hardlinks Duplicate files might have hardlinked twins 'See symbolic links' Symbolic link handling What to do with symbolic links? 'Use for duplicate directories only' Find hidden files and directories Hidden files and directories begin with a ».« (1, 18446744073709551615) [2] Size limits What size the duplicate files may have 512 Traversal depth »1« is only the current directory's files true Cross mountpoints Traverse over mount borders? 'No limitation' Path limitations Only find twins with a certain limitation 'blake2b' Hash algorithm Which hash algorithm to use 'No restriction' Keep all tagged Keep all files that lie in tagged directories 'No restriction' Must match tagged Duplicates must have twins in tagged directories rmlint-2.6.1/gui/shredder/resources/shredder.css000066400000000000000000000061011312046612000217260ustar00rootroot00000000000000#ShredderProgress { border-width: 0; border-radius: 0; -GtkProgressBar-min-horizontal-bar-height: 10px; -GtkProgressBar-xpadding: 0; -GtkProgressBar-ypadding: 0; /* background: linear-gradient(alpha(black, 0.1), transparent); background: linear-gradient(transparent, alpha(black, 0.1)); */ } /* This will look pretty much like a normal label. * Just include a fix for doing the blending right. */ #ShredderIndicatiorLabelEmpty { border-color: alpha(white, 0); /* Keep the padding of the colored version. * That way the size won't change, possibly leading to jumpy layout. */ padding: 1px 6px; border-width: 2px; } /* That's probably a dumb way to find the colors. * We inherit the theme colors and try to modify them * so they fit our needs. A hue-changing functions would be nice. * * See here for reference on the used theme colors: * https://gitorious.org/gtk-theme/adwaita-clean-dark/source/master:gtk-3.0/gtk.css */ @define-color indicator_label_error alpha(mix(@error_color, @theme_selected_fg_color, 0.3), 0.9); @define-color indicator_label_success alpha(mix(shade(@success_color, 0.85), @theme_selected_fg_color, 0.3), 0.9); @define-color indicator_label_warning alpha(mix(@warning_color, @theme_selected_fg_color, 0.3), 0.9); @define-color indicator_label_theme mix(@theme_selected_bg_color, @theme_selected_fg_color, 0.3); #ShredderIndicatorLabelError { background-color: @indicator_label_error; border-color: alpha(mix(@indicator_label_error, @theme_selected_fg_color, 0.66), 0.5); } #ShredderIndicatorLabelSuccess { background-color: @indicator_label_success; border-color: alpha(mix(@indicator_label_success, @theme_selected_fg_color, 0.66), 0.5); } #ShredderIndicatorLabelWarning { background-color: @indicator_label_warning; border-color: alpha(mix(@indicator_label_warning, @theme_selected_fg_color, 0.66), 0.5); } #ShredderIndicatorLabelTheme { background-color: @indicator_label_theme; border-color: alpha(mix(@indicator_label_theme, @theme_selected_fg_color, 0.66), 0.5); } /* Color of the background grid (should be a slight gray) */ @define-color script_editor rgb(220, 220, 220); #ShredderScriptEditor { font-family: "Monospaced"; font-size: 9pt; } #ShredderLocationEntry { padding: 0px; transition-property: background-color, background-image; transition: 200ms ease-in-out; } #ShredderLocationEntry.original { /* Draw a grid, like on mm paper */ background-size: 20px 20px, 20px 20px, 5px 5px, 5px 5px; background-position: -2px -2px, -2px -2px, -1px -1px, -1px -1px; background-image: linear-gradient(alpha(@theme_fg_color, 0.066) 1px, transparent 1px), linear-gradient(90deg, alpha(@theme_fg_color, 0.066) 1px, transparent 1px), linear-gradient(alpha(@theme_fg_color, 0.02) 1px, transparent 1px), linear-gradient(90deg, alpha(@theme_fg_color, 0.02) 1px, transparent 1px); } #ShredderLocationEntry.selected { background-color: alpha(@theme_selected_bg_color, 0.4); } rmlint-2.6.1/gui/shredder/resources/shredder.gresource.xml000066400000000000000000000003501312046612000237330ustar00rootroot00000000000000 shredder.css shredder.svg rmlint-2.6.1/gui/shredder/resources/shredder.svg000066400000000000000000001222551312046612000217460ustar00rootroot00000000000000 image/svg+xml rmlint-2.6.1/gui/shredder/runner.py000066400000000000000000000404731312046612000172770ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """ This module coordinates the actual running of the `rmlint` utility. For running GLib's GSuprocess is used, which provides a nice API. Before running, the command will be constructed according to the options set in prior by GSettings (e.g. from the Settings view). The settings are described and defined in the settings schema. """ # Stdlib: import os import re import json import errno import shutil import codecs import logging import tempfile from enum import Enum # External: from gi.repository import Gio from gi.repository import GLib from gi.repository import GObject LOGGER = logging.getLogger('runner') ASCII_COLOR_REGEX = re.compile(r'\x1B\[\d+(.*?)m') class AlgorithmType(Enum): """Key: computation-algorithm""" SPOOKY, CITY, SHA1, SHA256, SHA512, SHA3, MD5, \ BLAKE2B, BLAKE2S, PARANOID = range(1, 11) MAPPING = { SPOOKY: ['--algorithm', 'spooky'], CITY: ['--algorithm', 'city'], SHA1: ['--algorithm', 'sha1'], SHA256: ['--algorithm', 'sha256'], SHA512: ['--algorithm', 'sha512'], SHA3: ['--algorithm', 'sha3'], MD5: ['--algorithm', 'md5'], BLAKE2B: ['--algorithm', 'blake2b'], BLAKE2S: ['--algorithm', 'blake2sp'], PARANOID: ['--algorithm', 'paranoid'] } class MatchType(Enum): """Key: traverse-match""" NONE, BASENAME, EXTENSION, WITHOUT_EXTENSION = range(1, 5) MAPPING = { NONE: '', BASENAME: '--match-basename', EXTENSION: '--match-with-extension', WITHOUT_EXTENSION: '--match-without-extension' } class SymlinkType(Enum): """Key: general-find-symlinks""" IGNORE, SEE, FOLLOW = range(1, 4) MAPPING = { IGNORE: '--no-followlinks', SEE: '--see-symlinks', FOLLOW: '--followlinks' } class HiddenType(Enum): """Key: traverse-hidden""" IGNORE, PARTIAL, FOLLOW = range(1, 4) MAPPING = { IGNORE: '--no-hidden', PARTIAL: '--partial-hidden', FOLLOW: '--hidden' } class KeepAllType(Enum): """Key: computation-keep-all-tagged""" NONE, TAGGED, UNTAGGED = range(1, 4) MAPPING = { NONE: '', TAGGED: '--keep-all-tagged', UNTAGGED: '--keep-all-untagged' } class MustMatchType(Enum): """Key: computation-must-match-tagged""" NONE, TAGGED, UNTAGGED = range(1, 4) MAPPING = { NONE: '', TAGGED: '--must-match-tagged', UNTAGGED: '--must-match-untagged' } class HardlinkType(Enum): """Key: "general-find-hardlinks""" OFF, ACTIVE = False, True MAPPING = { ACTIVE: '--hardlinked', OFF: '--no-hardlinked' } class CrossMountType(Enum): """Key: traverse-cross-mounts""" OFF, ACTIVE = False, True MAPPING = { ACTIVE: '--crossdev', OFF: '--no-crossdev' } def map_cfg(option, val): """Helper function to save some characters""" return option.MAPPING.value.get(val) def _create_rmlint_process( cfg, cwd, untagged, tagged, replay_path=None, outputs=None ): """Create a correctly configured rmlint GSuprocess for gui purposes. If `replay_path` is not None, "--replay `replay_path`" will be appended. """ try: launcher = Gio.SubprocessLauncher.new( Gio.SubprocessFlags.STDOUT_PIPE | Gio.SubprocessFlags.STDERR_PIPE ) launcher.set_cwd(cwd) extra_options = [ map_cfg(MatchType, cfg.get_enum('traverse-match')), map_cfg(SymlinkType, cfg.get_enum('general-find-symlinks')), map_cfg(HiddenType, cfg.get_enum('traverse-hidden')), map_cfg(KeepAllType, cfg.get_enum('computation-keep-all-tagged')), map_cfg(MustMatchType, cfg.get_enum('computation-must-match-tagged')), map_cfg(HardlinkType, cfg.get_boolean('general-find-hardlinks')), map_cfg(CrossMountType, cfg.get_boolean('traverse-cross-mounts')) ] min_size, max_size = cfg.get_value('traverse-size-limits') extra_options += [ '--size', '{a}M-{b}M'.format( a=min_size // (1024 ** 2), b=max_size // (1024 ** 2) ) ] extra_options += map_cfg( AlgorithmType, cfg.get_enum('computation-algorithm') ) extra_options += [ '--max-depth', str(cfg.get_int('traverse-max-depth')) ] if replay_path: extra_options += ['--replay', replay_path] if outputs: for output, path in outputs or []: extra_options += [ '-o', ':'.join([output, path]) ] else: # Default to json parsing. extra_options += [ '-o', 'json', '-c', 'json:oneline', ] # Get rid of empty options: extra_options = [opt for opt in extra_options if opt] cmdline = [ 'rmlint', '--no-with-color', '-T', 'duplicates' ] + extra_options + untagged if tagged: cmdline.append('//') cmdline += tagged LOGGER.info('Running: ' + ' '.join(cmdline)) process = launcher.spawnv(cmdline) except GLib.Error as err: if err.code == errno.ENOEXEC: LOGGER.error('Error: rmlint does not seem to be installed.') else: LOGGER.exception('Process failed') # No point in going any further return None else: return process class Runner(GObject.Object): """Wrapper class for a process of rmlint.""" __gsignals__ = { 'lint-added': (GObject.SIGNAL_RUN_FIRST, None, ()), 'replay-finished': (GObject.SIGNAL_RUN_FIRST, None, ()), 'process-finished': (GObject.SIGNAL_RUN_FIRST, None, (str, )) } def __init__(self, settings, untagged_paths, tagged_paths): GObject.Object.__init__(self) self.settings = settings self.tagged_paths = tagged_paths self.untagged_paths = untagged_paths self._data_stream = self.process = self._message = None # Temporary directory for storing formatted files self._tmpdir = tempfile.TemporaryDirectory(prefix='shredder-') # Metadata about the run: self.element, self.header, self.footer = {}, {}, {} self.objects = [] self.was_replayed = False def on_process_termination(self, process, result): """Called once GSuprocess sees its child die.""" # We dont emit process-finished yet here. # We still might get some items from the stream. # Call process-finished once we hit EOF. try: process.wait_check_finish(result) except GLib.Error as err: # Try to read what went wrong from stderr. # Do not read everything - cut after 4096 bytes. bytes_ = process.get_stderr_pipe().read_bytes(4096) if bytes_ and bytes_.get_size(): self._message = bytes_.get_data().decode('utf-8') else: # Nothing concrete to say it seems self._message = err.message def on_replay_finish(self, process, result): """Called once rmlint --replay finished running.""" try: process.wait_check_finish(result) LOGGER.info('`rmlint --replay` finished.') except GLib.Error: LOGGER.exception('Replay process failed') finally: self.emit('replay-finished') def _queue_read(self): """Schedule an async read on process's stdout""" if self.process is None: return self._data_stream.read_line_async( io_priority=GLib.PRIORITY_HIGH, cancellable=None, callback=self.on_io_event ) def on_io_event(self, source, result): """Called on every async io event.""" line, _ = source.read_line_finish_utf8(result) # last block of data it seems: if not line: self.emit('process-finished', self._message) self._message = None self.process = None return line = line.strip(', ') if line in ['[', ']']: self._queue_read() return try: json_doc = json.loads(line) except ValueError: LOGGER.exception('Parsing json document failed') else: if 'path' in json_doc: self.element = json_doc self.emit('lint-added') elif 'description' in json_doc: self.header = json_doc elif 'aborted' in json_doc: self.footer = json_doc self.objects.append(json_doc) # Schedule another read: self._queue_read() def run(self): """Trigger the run of the rmlint process. Returns: a `Script` instance. """ self.was_replayed = False self.process = _create_rmlint_process( self.settings, self._tmpdir.name, self.untagged_paths, self.tagged_paths ) self._data_stream = Gio.DataInputStream.new( self.process.get_stdout_pipe() ) # We want to get notified once the child dies self.process.wait_check_async(None, self.on_process_termination) # Schedule some reads from stdout (where the json gets written) self._queue_read() def get_json_path(self): """Return /tmp/.../shredder.json if replay() was called in prior.""" return os.path.join(self._tmpdir.name, 'shredder.json') def get_csv_path(self): """Return /tmp/.../shredder.csv if replay() was called in prior.""" return os.path.join(self._tmpdir.name, 'shredder.csv') def get_sh_path(self): """Return /tmp/.../shredder.sh if replay() was called in prior.""" return os.path.join(self._tmpdir.name, 'shredder.sh') def replay(self, allowed_paths=None): """Replay the last run using --replay. Together with `allowed_paths` this allows easy filtering and re-formatting of the outputted files. `allowed_paths` is a dictionary of paths to booleans (is_original). """ # Filter the data points we want in the result. try: header, *data, footer = self.objects except ValueError: # Not enough values to unpack: LOGGER.exception('Could not replay') return self.was_replayed = True results = [header] for point in data: path = point['path'] if path is None: continue if allowed_paths is None or path in allowed_paths: point['is_original'] = allowed_paths[path] results.append(point) results.append(footer) # Write the replay script to filter the input. replay_path = os.path.join(self._tmpdir.name, 'shredder.replay.json') with open(replay_path, 'w') as handle: handle.write(json.dumps(results)) process = _create_rmlint_process( self.settings, self._tmpdir.name, self.untagged_paths, self.tagged_paths, replay_path=replay_path, outputs=[ ('sh', self.get_sh_path()), ('csv', self.get_csv_path()), ('json', self.get_json_path()) ] ) process.wait_check_async(None, self.on_replay_finish) def save(self, dest_path, file_type='sh'): """Save the output to `path`. The script can be converted to a different format if necessary. Valid formats are: - sh - json - csv """ if not self.was_replayed: LOGGER.error('Cannot save. replay() was not called.') return source_path_func = { 'sh': self.get_sh_path, 'csv': self.get_csv_path, 'json': self.get_json_path }.get(file_type) if source_path_func is None: LOGGER.error('No valid file type `%s`.', file_type) return try: shutil.copy(source_path_func(), dest_path) except OSError: LOGGER.exception('Could not save') def _strip_ascii_colors(text): """Strip ascii colors from `text`""" return ASCII_COLOR_REGEX.sub('', text) class Script(GObject.Object): """Wrapper around the shell script generated by an rmlint run. `run()` will execute the script (either dry or for real) """ __gsignals__ = { 'line-read': (GObject.SIGNAL_RUN_FIRST, None, (str, str)), 'script-finished': (GObject.SIGNAL_RUN_FIRST, None, ()) } def __init__(self, script_file): GObject.Object.__init__(self) self._incomplete_chunk = self._process = self._stream = None self.script_file = script_file @staticmethod def create_dummy(): """Create an empty dummy script for testing purpose""" _, path = tempfile.mkstemp(prefix='.') with open(path, 'w') as handle: handle.write('#!/bin/sh\n\nBleep!\nBlop!\nIm a bot!') return Script(path) def read(self): """Read the script from disk and return it as string. """ # Do not reuse the file descriptor, since it is only valid once. # Be a bit careful, since the script might contain weird encoding, # since there is no path encoding guaranteed in Unix usually: opts = dict(encoding='utf-8', errors='ignore') with codecs.open(self.script_file, 'r', **opts) as handle: return _strip_ascii_colors(handle.read()) def read_bytes(self): """Same as read() but do not not attempt conversion to string. Return raw bytes instead. """ with open(self.script_file, 'rb') as handle: return handle.read() def run(self, dry_run=True): """Run the script. Will trigger a `line-read` signal for each line it processed and one `script-finished` signal once all lines are done. """ flags = Gio.SubprocessFlags self._process = Gio.Subprocess.new( [self.script_file, '-d', '-x', '-q', '-p', '-n' if dry_run else ''], flags.STDERR_SILENCE | flags.STDOUT_PIPE ) self._stream = None self._queue_read() def _queue_read(self): """Schedule a read from rmlint's stdout stream.""" if self._stream is None: self._stream = Gio.DataInputStream.new( self._process.get_stdout_pipe() ) self._stream.read_line_async( io_priority=GLib.PRIORITY_HIGH, cancellable=None, callback=self._read_chunk ) def _report_line(self, line): """Postprocess and signal the receival of a single line.""" if not line or line.strip().startswith("#"): return line_split = line.split(':', maxsplit=1) if len(line_split) < 2: LOGGER.warning('Invalid line fed: ' + line) return prefix, path = line_split prefix = _strip_ascii_colors(prefix) path = _strip_ascii_colors(path) self.emit('line-read', prefix.strip(), path.strip()) def _read_chunk(self, source, result): """Called once a new line is ready to be read.""" try: line, _ = source.read_line_finish_utf8(result) except GLib.Error: LOGGER.exception('Could not read line from script:') self.emit('script-finished') return if line: self._report_line(line) self._queue_read() else: self.emit('script-finished') if __name__ == '__main__': def main(): """Stupid test main: Run on /usr.""" settings = Gio.Settings.new('org.gnome.Shredder') loop = GLib.MainLoop() runner = Runner(settings, ['/usr/'], []) runner.connect('lint-added', lambda _: print(runner.element)) runner.connect( 'process-finished', lambda _, msg: print('Status:', msg) ) runner.connect('process-finished', lambda *_: loop.quit()) runner.run() try: loop.run() except KeyboardInterrupt: pass main() rmlint-2.6.1/gui/shredder/tree.py000066400000000000000000001035621312046612000167240ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """ GtkTreeModel Implementation for a directory tree and accompanying classes. We use an own Model implementation instead of GtkTreeStore for sake of clean code and more fine-grained control over the performance. Since this is pure python the performance might not be 100% optimal but we try to make the ui rendering as fluid as possible by making most of the costly operations non-blocking. Most of the code should be very clean but some vodoo is hidden. If you don't find it, that's good. If you do, blame @sahib. """ # Stdlib: import os import time import logging from collections import OrderedDict, defaultdict, deque # External: from gi.repository import Gtk from gi.repository import Gdk from gi.repository import Gio from gi.repository import GLib from gi.repository import GObject # Internal: from shredder.util import CellRendererSize from shredder.util import CellRendererModifiedTime from shredder.util import CellRendererCount from shredder.util import CellRendererLint from shredder.util import PopupMenu, NodeState from shredder.query import Query LOGGER = logging.getLogger('tree') # Unique ID used for PathTreeModel's GtkTreeIters: # Useful for debugging, sometimes iters will # not come from our own model and may be invalid. PATH_MODEL_STAMP = 0xDEAD # Process at max work items before letting the # mainloop run for a short time. This is to prevent # lagging in the user interface. # This does not speed up the operation itself of course. PATH_MODEL_CHUNK_SIZE = 500 # Wait this much ms before processing the next chunk. PATH_MODEL_TIMEOUT_MS = 50 class Column: """Column Enumeration to avoid using direct indices. Only this class needs to be changed when adding/modifying columns. """ SIZE, COUNT, MTIME, TAG, CKSUM, PATH, TOOLTIP = range(7) TYPES = [float, int, int, int, int, str, str] @staticmethod def make_row(md_map): """Convert an rmlint json dict to a tree row""" is_original = md_map.get('is_original', False) if md_map.get('type', '').startswith('duplicate_'): if is_original: tag = NodeState.ORIGINAL else: tag = NodeState.DUPLICATE else: tag = NodeState.NONE # Use a list so we can update the counts and size later: # Note1: PATH and TOOLTIP are not included. # Those are generated on demand. # Note2: Twins is negative, to differentiate between # directory count and number of twins (!= 0) return [ md_map.get('size', 0), -md_map.get('twins', 0), md_map.get('mtime', 0), tag, md_map.get('checksum', '') ] class PathNode: """A single node in the PathTrie.""" # Save a bit of memory: __slots__ = [ # Public: 'name', 'parent', 'children', 'row', # Private: 'is_leaf', 'idx', 'indices', 'depth' ] def __init__(self, name, parent, metadata=None, children=None): # Public: self.name = name self.parent = parent self.children = children or OrderedDict() # If None probably a directory node, show the bare minimum: self.row = Column.make_row(metadata or {}) # Private: self.indices = deque() self.idx = 0 self.is_leaf = False self.depth = (parent.depth + 1) if parent else 0 def __getitem__(self, idx): """Get a column value by its column index. Some values might get freshly constructed on this call. """ if idx is Column.PATH: return self.name elif idx is Column.TOOLTIP: return self.build_path() else: return self.row[idx] def append(self, name): """Append a node as child of this node. If is_leaf is True the size/count of all intermediate non-leaf nodes above are updated. """ node = PathNode(name, self) node.idx = len(self.indices) self.children[name] = node self.indices.append(node) return node def make_leaf(self, row): """Convert the node to a leaf node. Metadata will be copied to the node and intermediate directories above will be updated with count & size. """ self.is_leaf = True self.row = row # Update intermediate directories top of it: for parent in (node for node in self.up() if not node.is_leaf): parent.row[Column.COUNT] += 1 parent.row[Column.SIZE] += row[Column.SIZE] def up(self): """Iterate the trie up to root.""" yield self if self.parent is not None: yield from self.parent.up() def build_path(self): """Recursively build the absolute path of this node""" return os.path.join(*reversed([n.name for n in self.up()])) def build_iter_path(self): """Recursively build an iter path suitable for GtkTreePath""" return list(reversed([n.idx for n in self.up()])) def neighbor(self, offset): """Get the neighbor of this node by a certain offset""" if self.parent is None: return None neighbor_idx = self.idx + offset if 0 <= neighbor_idx < len(self.parent.indices): return self.parent.indices[neighbor_idx] return None def _create_root_path_index(index, path, node): """Create a (trie-like) recursive dict as fast root path lookup.""" curr_map, last_map, name = index, None, '' for name in (comp for comp in path.split('/') if comp): last_map = curr_map curr_map = curr_map.setdefault(name, {}) last_map[name] = node def _lookup_root_path_index(index, components): """Lookup a node in the recursive dict by a split path, if found the node is returned and components is modified. """ curr_map = index for idx, name in enumerate(components): curr_map = curr_map.get(name) if curr_map is None: return None if isinstance(curr_map, PathNode): del components[:idx + 1] return curr_map return None class PathTrie(GObject.Object): """Python version of rmlint's pathtricia trie.""" __gsignals__ = { 'node-updated': (GObject.SIGNAL_RUN_FIRST, None, (GObject.TYPE_UINT64, )) } def __init__(self, root_paths=None): GObject.Object.__init__(self) self.root = PathNode('/', None, {}) self.sub_roots = [] self.nodes = {id(self.root): self.root} self.max_depth = 0 self.root_paths = {} for root_path in root_paths or []: # Append the sub root node manually: sub_root_node = self.root.append(root_path.strip('/')) self.nodes[id(sub_root_node)] = sub_root_node self.sub_roots.append(sub_root_node) # Also add it to the "special" index. _create_root_path_index(self.root_paths, root_path, sub_root_node) self._groups = defaultdict(list) def __iter__(self): return self.iterate(None) def __len__(self): return len(self.nodes) def __repr__(self): """Return a simple string version of the trie""" view = [] for node in self: view.append((' ' * node.depth * 2) + node.name) return '\n'.join(view) def __getitem__(self, path): return self.find(path) def __setitem__(self, path, value): self.insert(path, value) def iterate(self, node=None): """Iterate trie down from node. If node is None, root is assumed; """ node = node or self.root yield node for child in node.indices: yield from self.iterate(child) def lookup_node_id(self, node_id): """Lookup a node by its id.""" return self.nodes.get(node_id) def update_node(self, node, column_id, value): """Update a PathNode *and* emit a node-updated signal.""" node.row[column_id] = value self.emit('node-updated', id(node)) def group(self, cksum): """Get a list of nodes that have the same checksum.""" return self._groups.get(cksum, []) def insert(self, path, row): """Insert a path into the trie, with metadata in `row`""" components = [comp for comp in path.split('/') if comp] curr = _lookup_root_path_index( self.root_paths, components) or self.root new_nodes = [(curr, False)] for idx, name in enumerate(components): node = curr.children.get(name) if node is None: node = curr.append(name) self.nodes[id(node)] = node new_nodes.append((node, True)) else: new_nodes.append((node, False)) curr = node curr.make_leaf(row) self._groups[row[Column.CKSUM]].append(curr) self.max_depth = max(self.max_depth, curr.depth) return new_nodes def find(self, path): """Find a PathNode in the trie by its path""" curr = self.root for name in (comp for comp in path.split('/') if comp): curr = curr.children.get(name) if curr is None: return None return curr def resolve(self, iter_path): """Resolve a list of indices to a node from root. The list might be for example [0, 0, 2] to go two layers down on the left and select the third node on this layer. The root path is located at [0]. This is similar to GtkTreePath by purpose. """ curr = self.root # [0] refers to root, strip first index: for idx in iter_path[1:]: curr = curr.indices[idx] return curr def sort(self, column_id, reverse=False, root=None): """Sort the trie nodes by their value in at `column_id`. If reverse is True, biger values appear first. This implementation is a generator that yields each visited node after sorting and a mapping from the new position to their old position """ # Do the actual sorting: root = root or self.root children = deque(root.children.values()) root.indices = sorted( children, key=lambda node: node[column_id], reverse=reverse ) # Remember what changed: old_indices = [] for idx, child in enumerate(root.indices): old_indices.append(child.idx) child.idx = idx yield root, old_indices # Propagate to children: for child in children: yield from self.sort(column_id, reverse, child) def has_leaves(self): """Check if this trie has any leaf nodes. This might be different from nodes that are inserted as sub root nodes, or as intermediate directories. """ for node in self: if node.is_leaf: return True return False def make_iter(node): """Make a GtkTreeIter, suitable for our PathTreeModel.""" iter_ = Gtk.TreeIter() iter_.stamp = PATH_MODEL_STAMP iter_.user_data = id(node) return iter_ class PathTreeModel(GObject.GObject, Gtk.TreeModel, Gtk.TreeSortable): """Pack lint nodes into a tree structure compatible with Gtk This implements Gtk.TreeModel and can be therefore used as backend of Gtk.TreeView. It is backed up by a PathTrie as internal datastructure. Technical note: PyGObject prohibits storing pointers in Gtk.TreeIter.user_data. Therefore we store a hashtable with the id of our nodes and set the id as user_data as workaround. (see make_iter()) """ def __init__(self, paths): super(PathTreeModel, self).__init__() # Actual data storage: self.paths = paths self.trie = PathTrie(paths) # Manually insert the root path (we need one for working normally): path = Gtk.TreePath.new_from_indices([0]) self.row_inserted(path, make_iter(self.trie.root)) # Pack of files that are inserted to the trie at once. # This is a speed optimization to make the ui less blocking. self._file_pack, self._pack_timeout_id = [], None # Search optimization: # When typing '.pyo' after searching for '.py' we # can just filter the previous results. self._partial_model, self._last_query = None, None # Last column we sorted by or None (needed for GtkTreeSortable) self._sort_last_id = None self._sort_last_order = Gtk.SortType.DESCENDING # Set of nodes that need to get updated periodically. # It would be expensive to do that on every insert # (causing one row redraw each), therefore we do it every second. self._intermediate_nodes = set() self._mtime_cache = set() GLib.timeout_add(1000, self._update_intermediate_nodes) # A node was updated from the outside, i.e. by another model, # or by directly modifiying a PathNode or PathTrie. self.trie.connect('node-updated', self.on_node_updated) def _update_intermediate_nodes(self): """Make sure the intermediate nodes get updated in a slow but sufficient interval. """ self._intermediate_nodes.update(self.trie.sub_roots) self._intermediate_nodes.add(self.trie.root) for node in self._intermediate_nodes: indices = node.build_iter_path() path = Gtk.TreePath.new_from_indices(indices) if id(node.row) not in self._mtime_cache: self._update_mtime(node.build_path(), node.row) self.row_changed(path, make_iter(node)) # Reset for next time: self._intermediate_nodes = set() return True ######################## # Append Machinery # ######################## def add_path(self, path, row, immediately=False): """Add a path, including metadata, to the model. If immediately is False, the path will be cached and added after a small timeout as performance optimization. """ self._update_mtime(path, row) if immediately: # Add it it immediately. self._add_and_signal(path, row) else: # Defer the addition a bit more. self._file_pack.append((path, row)) if self._pack_timeout_id is None: self._pack_timeout_id = GLib.timeout_add( PATH_MODEL_TIMEOUT_MS, self._add_defer ) def _update_mtime(self, path, row): """Update the mtime by reading it from disk.""" if row[Column.MTIME] <= 0 and id(row) not in self._mtime_cache: # Attempt to read the mtime from file: try: row[Column.MTIME] = os.stat(path).st_mtime except OSError as err: LOGGER.debug('stat: %s', str(err)) self._mtime_cache.add(id(row)) def _add_and_signal(self, path, row): """Actually add the path and its metadata here. Also signal the GtkTreeView to update if necessary. """ parents = self.trie.insert(path, row) for node, was_new in parents: indices = node.build_iter_path() path = Gtk.TreePath.new_from_indices(indices) if was_new: self.row_inserted(path, make_iter(node)) self._intermediate_nodes.add(node) def _add_defer(self): """Add a pack of paths to the trie, max 500 at the same time.""" LOGGER.info( 'Adding pack: %d/%d', min(PATH_MODEL_CHUNK_SIZE, len(self._file_pack)), PATH_MODEL_CHUNK_SIZE ) for path, row in self._file_pack[:PATH_MODEL_CHUNK_SIZE]: self._add_and_signal(path, row) self._file_pack = self._file_pack[PATH_MODEL_CHUNK_SIZE:] if self._file_pack: # If we had some leftovers we need to schedule a new _add_defer. self._pack_timeout_id = GLib.timeout_add( PATH_MODEL_TIMEOUT_MS, self._add_defer ) else: # Finished for now, new paths might come later. self._pack_timeout_id = None return False def lookup_by_path(self, path): """Calls trie.find() to find the node attached to a path""" return self.trie.find(path) ################################## # Filter Implementation # ################################## def filter_model(self, term): """Filter the model (and thus update the view) by `query`. Instead of modifying the model, a new model is returned, which shows only contains the filtered nodes. This is surprisingly the most efficient method here, and comes with very little effort. Small drawback: External code cannot rely on a single model """ if len(term) < 2: LOGGER.debug('too short, showing full model') return self term = term.lower() partial_model = PathTreeModel(self.paths) partial_model._mtime_cache = self._mtime_cache query = Query.parse(term) if query is None: return # Find out which trie to filter. # If we had a search query with matching prefix before we can just # use the previous resulting model. base_trie = self.trie if self._partial_model and query.issubset(self._last_query): base_trie = self._partial_model.trie # Iterate over the trie; do not add unmatched. for node in base_trie: # For now we only search through leafs. if not node.is_leaf: continue if not query.matches( node, node[Column.SIZE], node[Column.MTIME], -node[Column.COUNT] ): continue # Do not copy the rows, just ref them. path = node.build_path() partial_model.add_path(path, node.row, True) # Remember for the next step: self._partial_model, self._last_query = partial_model, query return partial_model ################################### # PyGObject convinience interface # ################################### def set_value(self, iter_, column, value): """Set the value of a cell. PyGObject seems to expect a method with this name, when setting the value of a row. """ node = self.trie.nodes[iter_.user_data] node.row[column] = value # Find out which path to update: indices = node.build_iter_path() path = Gtk.TreePath.new_from_indices(indices) # Signal our change: self.row_changed(path, iter_) def __len__(self): return len(self.trie) def on_node_updated(self, trie, node_id): """Called when a node was changed on the outside.""" node = trie.lookup_node_id(node_id) # Mark for updating: if node is not None: self._intermediate_nodes.add(node) def mark_for_update(self, node): """Mark this node to be updated soon.""" self._intermediate_nodes.add(node) ################################## # Tree Model Spec Implementation # ################################## def do_get_iter(self, path): """Returns a new TreeIter that points at path. The implementation returns a 2-tuple (bool, TreeIter|None). """ node = self.trie.resolve(path.get_indices()) if node is not None: return (True, make_iter(node)) else: return (False, None) def _iter_move(self, iter_, offset): """Move iter_ by a certain offset.""" node = self.trie.nodes[iter_.user_data] next_node = node.neighbor(offset) if next_node is None: return (False, None) else: iter_.user_data = id(next_node) return (True, iter_) def do_iter_next(self, iter_): """Returns an iter pointing to the next row or None. The implementation returns a 2-tuple (bool, TreeIter|None). """ return self._iter_move(iter_, +1) def do_iter_previous(self, iter_): """Returns an iter pointing to the previous row or None. The implementation returns a 2-tuple (bool, TreeIter|None). """ return self._iter_move(iter_, -1) def do_iter_parent(self, child_iter): """Returns an iter pointing to the parent of child_iter or None.""" node = self.trie.nodes[child_iter.user_data] if node.parent: return (True, make_iter(node.parent)) else: return (False, None) def do_iter_has_child(self, iter_): """True if iter has children.""" return len(self.trie.nodes[iter_.user_data].children) > 0 def do_iter_n_children(self, iter_): """Returns the number of children of iter_""" if iter_ is None: return 0 else: return len(self.trie.nodes[iter_.user_data].children) def do_iter_children(self, parent): """Return first child or (False|None)""" return self.do_iter_nth_child(parent, 0) def do_iter_nth_child(self, parent, nth): """Return iter that is set to the nth child of iter.""" if parent is None: node = self.trie.root elif parent.user_data is 0: # Sometimes an invalid iterator lands here. # It has no user_data and an invalid stamp field. return (False, None) else: node = self.trie.nodes[parent.user_data] if nth < len(node.indices): return (True, make_iter(node.indices[nth])) return (False, None) def do_get_path(self, iter_): """Returns tree path references by iter.""" node = self.trie.nodes[iter_.user_data] return Gtk.TreePath(reversed([parent.idx for parent in node.up()])) def do_get_value(self, iter_, column): """Returns the value for iter and column.""" node = self.trie.nodes[iter_.user_data] return Column.TYPES[column](node[column]) def do_get_n_columns(self): """Returns the number of columns.""" return len(Column.TYPES) def do_get_column_type(self, column_idx): """Returns the type of the column.""" return Column.TYPES[column_idx] def do_get_flags(self): """Returns the flags supported by this interface.""" return Gtk.TreeModelFlags.ITERS_PERSIST ######################## # Misc utility methods # ######################## def iter_to_node(self, iter_): """Convert a GtkTreeIter to the related PathNode""" return self.trie.nodes.get(iter_.user_data) ########################### # GtkTreeSortable methods # ########################### def do_get_sort_column_id(self): """Return the column the model is sorted by. Returns (True if sorted, columnd id, order) """ # Assume no initial sort order. if self._sort_last_id is None: id_ = Gtk.TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID return (False, id_, self._sort_last_order) else: return (True, self._sort_last_id, self._sort_last_order) def do_set_sort_column_id(self, id_, order): """Sort this model by the values in the column `id_` by `order`. The changes should be visible in the treeview immediately. """ if id_ is Gtk.TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID: return if id_ is Gtk.TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: id_ = Column.PATH self._sort_last_id = id_ self._sort_last_order = order # Indicate the sort column was changed *before* sorting. self.emit('sort-column-changed') # Do the actual sort: reverse = order is Gtk.SortType.DESCENDING for node, old_ind in self.trie.sort(id_, reverse): indices = node.build_iter_path() path = Gtk.TreePath.new_from_indices(indices) # Update the treeview: if old_ind: self.rows_reordered(path, make_iter(node), old_ind) def do_set_sort_func(self, id_, func): """Custom sort functions are hard to implement with tries.""" raise NotImplementedError('Custom sort funcs are not supported.') def do_set_default_sort_func(self, id_, func): """Custom sort functions are hard to implement with tries.""" raise NotImplementedError('Custom sort funcs are not supported.') def do_has_default_sort_func(self): """See above, not supported.""" return False def sort(self, id_, order=Gtk.SortType.ASCENDING): """Convinience method for do_set_sort_column_id.""" self.do_set_sort_column_id(id_, order) def _create_column(title, id_, renderers, fixed_width=100): """Convinience method for creating a TreeView Column. Several renderers can be given with certain options. """ column = Gtk.TreeViewColumn() column.set_title(title) column.set_resizable(True) column.set_sizing(Gtk.TreeViewColumnSizing.FIXED) column.set_fixed_width(fixed_width) if id_ is not None: column.set_sort_column_id(id_) for renderer, pack_end, expand, kwargs in renderers: renderer.set_alignment(1.0 if pack_end else 0.0, 0.5) pack_func = column.pack_end if pack_end else column.pack_start pack_func(renderer, expand) column.set_attributes(cell_renderer=renderer, **kwargs) column.set_expand(expand) return column class PathTreeView(Gtk.TreeView): """A GtkTreeView that is readily configured for using PathTreeModel""" def __init__(self): Gtk.TreeView.__init__(self) # Enable separator lines: self.set_grid_lines(Gtk.TreeViewGridLines.NONE) self.set_enable_tree_lines(True) # Make selecting multiple rows possible: self.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE) # Small spedup: self.set_fixed_height_mode(True) # Enable querying of the tooltip column: self.set_tooltip_column(Column.TOOLTIP) # Configure the column rendering: self.append_column(_create_column( 'Path', Column.PATH, [ (CellRendererLint(), False, False, dict(tag=Column.TAG)), (Gtk.CellRendererText(), False, True, dict(text=Column.PATH)), ], 240 )) self.append_column(_create_column( 'Size', Column.SIZE, [(CellRendererSize(), True, False, dict(size=Column.SIZE))], 70 )) self.append_column(_create_column( 'Count', Column.COUNT, [(CellRendererCount(), True, False, dict(count=Column.COUNT))], 90 )) self.append_column( _create_column( 'Changed', Column.MTIME, [ (CellRendererModifiedTime(), True, False, dict( mtime=Column.MTIME))], 100)) self.connect( 'button-press-event', PathTreeView.on_button_press_event ) # Shut up, pylint. self._menu = None def set_model(self, model): """Overwrite Gtk.TreeView.set_model, but expand sub root paths""" Gtk.TreeView.set_model(self, model) self.expand_all() def get_selected_nodes(self): """Extra convinience method for getting the currently selected nodes""" model, rows = self.get_selection().get_selected_rows() for tp_path in rows: node = model.trie.resolve(tp_path.get_indices()) yield node def get_selected_node(self): """Return thefirst selected node or None.""" try: return next(self.get_selected_nodes()) except StopIteration: return None def on_button_press_event(self, event): """Callback handler only used for mouse clicks.""" if event.button != 3: return menu = self.on_show_menu() if menu: menu.simple_popup(event) ####################### # MENU ENTRY HANDLING # ####################### def on_show_menu(self): """Called during the button-press-event to show the actual menu.""" # HACK: bind to self, since the ref would get lost. self._menu = PopupMenu() self._menu.simple_add('Toggle all', self.on_toggle_all) self._menu.simple_add('Toggle selected', self.on_toggle_selected) self._menu.simple_add_separator() self._menu.simple_add('Expand all', self.on_expand_all) self._menu.simple_add('Collapse all', self.on_collapse_all) self._menu.simple_add_separator() self._menu.simple_add('Open item', self.on_open_folder) self._menu.simple_add( 'Copy path to clipboard', self.on_copy_to_clipboard ) return self._menu def on_open_folder(self, _): """Open the selected item or folder via xdg-open.""" node = self.get_selected_node() if node is None: return try: LOGGER.info('Calling xdg-open %s', node.build_path()) Gio.Subprocess.new( ['xdg-open', node.build_path()], 0 ) except GLib.Error as err: LOGGER.exception('Could not open directory via xdg-open') def on_copy_to_clipboard(self, _): """Copy the currently selected full path to the clipboard.""" node = self.get_selected_node() if node is None: return path = node.build_path() clipboard = Gtk.Clipboard.get_default(Gdk.Display.get_default()) clipboard.set_text(path, len(path)) def _toggle_tag_state(self, node_iter): """Iterate over `node_iter` and toggle the `tag` state.""" model = self.get_model() for node in node_iter: current, new = node[Column.TAG], NodeState.NONE if current is NodeState.DUPLICATE: new = NodeState.ORIGINAL elif current is NodeState.ORIGINAL: new = NodeState.DUPLICATE self.update_node(node, Column.TAG, new) def on_toggle_all(self, _): """Toggle all nodes in the current visible model.""" model = self.get_model() self._toggle_tag_state(model.trie) def on_toggle_selected(self, _): """Toggle all selected nodes in the current visible model.""" nodes = list(self.get_selected_nodes()) self._toggle_tag_state(nodes) # Note: this is the *full* trie. model = self.get_model() trie = model.trie for node in nodes: # Json documents with all related twins: group = trie.group(node[Column.CKSUM]) if not group: continue # List of PathNodes which are twins: has_original = False for twin_node in group: if twin_node[Column.TAG] is NodeState.ORIGINAL: has_original = True break # All good: if has_original: continue # No original in group, set first twin as original. for twin_node in group: if twin_node is not node: self.update_node(twin_node, Column.TAG, NodeState.ORIGINAL) break def on_expand_all(self, _): """Just expand everything in the tree.""" self.expand_all() def on_collapse_all(self, _): """Just collpase everything in the tree.""" self.collapse_all() def set_twin(self, view): self.twin_view = view def update_node(self, node, column_id, value): main_model, twin_model = self.get_model(), self.twin_view.get_model() for model in [m for m in (main_model, twin_model) if m]: model.trie.update_node(node, column_id, value) for child in model.trie.group(node[Column.CKSUM]): model.mark_for_update(child) if __name__ == '__main__': def main(): """Show a window with the dupe-contents of a user specified path.""" import sys model = PathTreeModel(sys.argv[1:]) for arg_path in sys.argv[1:]: model.add_path( arg_path, Column.make_row({'mtime': time.time(), 'size': 0})) from shredder.runner import Runner settings = Gio.Settings.new('org.gnome.Shredder') runner = Runner(settings, sys.argv[1:], []) runner.connect( 'lint-added', lambda *_: model.add_path( runner.element['path'], Column.make_row( runner.element))) runner.connect( 'process-finished', lambda _, msg: print( 'Status:', msg)) runner.run() view = PathTreeView() view.set_model(model) runner.connect( 'process-finished', lambda _, msg: GLib.timeout_add( 500, view.expand_all)) runner.connect( 'process-finished', lambda *_: GLib.timeout_add( 500, lambda: model.sort(Column.SIZE) ) ) runner.connect( 'process-finished', lambda *_: GLib.timeout_add( 600, lambda: print(model.trie) ) ) def _search_changed(entry): view.set_model(model.filter_model(entry.get_text())) view.expand_all() entry = Gtk.SearchEntry() entry.connect('search-changed', _search_changed) scw = Gtk.ScrolledWindow() scw.add(view) win = Gtk.Window() win.set_default_size(640, 480) win.connect('destroy', Gtk.main_quit) box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) box.pack_start(scw, True, True, 0) box.pack_start(entry, False, False, 0) win.add(box) win.show_all() Gtk.main() main() rmlint-2.6.1/gui/shredder/util.py000066400000000000000000000700231312046612000167350ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """ Misc widgets used throughout the code. This code here is supposed to be drop-in able into other projects if necessary. Also included: Various specialised GtkCellRenderer implementation. Reason for special derivates are given in the respective class. """ # Stdlib: import math from datetime import datetime from operator import itemgetter from enum import Enum # External: from gi.repository import Gtk from gi.repository import Gdk from gi.repository import Gio from gi.repository import GObject from gi.repository import Pango, PangoCairo from gi.repository import GLib def size_to_human_readable(size): """Convert a size in bytes to a human readable string.""" human_readable = '' if size > 0: for unit in ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z']: if abs(size) >= 1024.0: size /= 1024.0 continue # Hack to split off the unneeded .0 size = round(size, 1) if size % 1 else int(size) human_readable = "{s} {f}B".format(s=size, f=unit) break else: human_readable = '0 Byte' return human_readable def load_css_from_data(css_data): """Load css customizations from a bytestring. """ style_provider = Gtk.CssProvider() style_provider.load_from_data(css_data) Gtk.StyleContext.add_provider_for_screen( Gdk.Screen.get_default(), style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION ) def scrolled(widget): """Return a Gtk.ScrolledWindow with `widget` inside""" scw = Gtk.ScrolledWindow() scw.add(widget) return scw def get_theme_color(widget, background=True, state=Gtk.StateFlags.SELECTED): """Get current theme's color for a certain widget being in `state`""" color = None sctx = widget.get_style_context() if background: color = sctx.get_background_color(state) else: color = sctx.get_color(state) return '#{r:0^2x}{g:0^2x}{b:0^2x}'.format( r=int(255 * color.red), g=int(255 * color.green), b=int(255 * color.blue) ) class IconButton(Gtk.Button): """Button with easy icon support.""" def __init__(self, icon_name, label=None): Gtk.Button.__init__(self) box = Gtk.Box() box.add( Gtk.Image.new_from_gicon( Gio.ThemedIcon(name=icon_name), Gtk.IconSize.BUTTON ), ) self.label = None if label is not None: self.label = Gtk.Label(label) self.label.set_margin_start(5) box.add(self.label) box.show_all() self.add(box) def set_markup(self, text): """Same function as Gtk.Label.set_markup.""" if self.label is not None: self.label.set_markup(text) class SuggestedButton(IconButton): """Gtk.Button with suggested-action style class pre-added.""" def __init__(self, text=None): IconButton.__init__(self, 'object-select-symbolic', text or 'Apply') self.get_style_context().add_class( Gtk.STYLE_CLASS_SUGGESTED_ACTION ) class DestructiveButton(IconButton): """Gtk.Button with destructive style class pre-added.""" def __init__(self, text=None): IconButton.__init__(self, 'user-trash-symbolic', text or 'Cancel') self.get_style_context().add_class( Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION ) def create_searchbar(win): """Create a searchbar that takes the keyboard events of `win`""" search_bar = Gtk.SearchBar() search_entry = Gtk.SearchEntry() # Box that shows search_box = Gtk.Box( orientation=Gtk.Orientation.HORIZONTAL, spacing=6 ) search_box.pack_start(search_entry, True, True, 0) search_bar.add(search_box) search_bar.connect_entry(search_entry) search_bar.set_search_mode(False) search_bar.set_show_close_button(True) search_bar.set_no_show_all(True) search_bar.hide() search_box.show_all() def _hide_search_bar(): """Called on timeout after pressing ESC""" if not search_bar.get_search_mode(): search_bar.hide() return False def _key_press_event(_, event, search_bar): """Called on keyboard input with search entry in focus""" search_bar.handle_event(event) if event.keyval == Gdk.KEY_Escape: search_bar.set_search_mode(False) GLib.timeout_add(250, _hide_search_bar) win.connect('key-press-event', _key_press_event, search_bar) return search_bar, search_entry class InfoBar(Gtk.InfoBar): """Easier to use version Gtk.InfoBar.""" def __init__(self): Gtk.InfoBar.__init__(self) self._label = Gtk.Label() self.set_show_close_button(True) self.get_content_area().add(self._label) self.get_content_area().show_all() self.set_no_show_all(True) self.connect('response', self.on_response) def show(self, message, message_type): """Show with a certain message and severity level.""" self.set_message_type(message_type) self._label.set_markup(GLib.markup_escape_text(message, -1)) Gtk.InfoBar.show(self) def on_response(self, _, response_id): """Just hide once an action was done.""" if response_id == Gtk.ResponseType.CLOSE: self.hide() class View(Gtk.Grid): """Default View class that has some utility extras. """ __gsignals__ = { 'view-enter': (GObject.SIGNAL_RUN_FIRST, None, ()), 'view-leave': (GObject.SIGNAL_RUN_FIRST, None, ()) } def __init__(self, app, sub_title=None): Gtk.Grid.__init__(self) self.scw = Gtk.ScrolledWindow() self.scw.set_hexpand(True) self._app = app self._sub_title = sub_title or View.sub_title.default self._is_visible = False self._header_widgets = [] self.progressbar = Gtk.ProgressBar() self.progressbar.set_name('ShredderProgress') self.progressbar.set_pulse_step(0.1) # This is a workaround for removing a small gap at the bottom # of the application. Set the widget to be a backdrop always. def on_state_cange(pgb, flags): """Hack: Make progressbar to be always appear as backdrop.""" pgb.set_state_flags(flags | Gtk.StateFlags.BACKDROP, True) self.progressbar.connect('state-flags-changed', on_state_cange) self.progressbar_revealer = Gtk.Revealer() self.progressbar_revealer.add(self.progressbar) self.progressbar_revealer.show_all() self.progressbar_revealer.set_transition_type( Gtk.RevealerTransitionType.SLIDE_UP ) self.progressbar_revealer.set_transition_duration(500) self.search_bar, self.search_entry = create_searchbar(self) self.infobar = InfoBar() self.attach(self.infobar, 0, 0, 1, 1) self.attach(self.search_bar, 0, 1, 1, 1) self.attach(self.progressbar_revealer, 0, 2, 1, 1) self.attach(self.scw, 0, 3, 1, 1) self.connect('view-enter', self._on_view_enter) self.connect('view-leave', self._on_view_leave) def add(self, widget): """Add the root widget to the view. It will be placed inside a scrolled window. """ self.scw.add(widget) def _on_view_enter(self, _): """Hidden method that is called once a view change is detected. The change will be propagated to the underlying view. """ self._is_visible = True if hasattr(self, 'on_view_enter'): self.on_view_enter() # Restore the sub_title. View.sub_title.fset(self, self._sub_title) def _on_view_leave(self, _): """Hidden method that is called once the view gets out of sight. If possible the change will be propagated down. """ self.clear_header_widgets() self._is_visible = False if hasattr(self, 'on_view_leave'): self.on_view_leave() def show_progress(self, percent): """Set a percentage value to display as progress. If percent is None, the progressbar will pulse without a goal. """ self.progressbar_revealer.set_reveal_child(True) if percent is not None: self.progressbar.set_fraction(percent) def hide_progress(self): """Hide the progressbar from the user. """ self.progressbar_revealer.set_reveal_child(False) def show_infobar(self, message, message_type=Gtk.MessageType.INFO): """Show an infobar with a text message in it. Note: Latest gtk version color the infobar always blue. This is slightly retarted and basically makes the message_type parameter useless. """ self.infobar.show(message, message_type) def hide_infobar(self): """Hide an infobar (if displayed) """ self.infobar.hide() def set_search_mode(self, active): """Show the search bar. """ # Trigger a fake keypress event on the search bar. if active: self.search_bar.show() else: GLib.timeout_add(150, self.search_bar.hide) self.search_bar.set_search_mode(active) @property def app_window(self): """The associated Gtk.ApplicationWindow.""" return self._app.win @property def app(self): """The associated GtkApplication instance.""" return self._app @GObject.Property(type=str, default='') def sub_title(self): """Title shown below the main title in the main window.""" return self._sub_title @sub_title.setter def sub_title(self, new_sub_title): """Setter for sub_title. Use to describe current step.""" self.app_window.headerbar.set_subtitle(new_sub_title) self._sub_title = new_sub_title @property def is_visible(self): """Is the view currently visible to the user?""" return self._is_visible def add_header_widget(self, widget, align=Gtk.Align.END): """Add a widget to the header, either left or right of the title. """ self.app_window.add_header_widget(widget, align) self._header_widgets.append(widget) def remove_header_widget(self, widget): """Remove a previously added headerwidget. Noop if it did not exist""" self._header_widgets.remove(widget) self.app_window.remove_header_widget(widget) def clear_header_widgets(self): """Clear all widget headers of this view""" for widget in self._header_widgets: self.app_window.remove_header_widget(widget) self._header_widgets = [] class PopupMenu(Gtk.Menu): '''Just a simpler version of Gtk.Menu with quicker to type methods. Otherwise it is a normal Gtk.Menu and can be used as such. ''' def __init__(self): Gtk.Menu.__init__(self) def _add_item(self, item): """Append and show_all for safety""" self.append(item) self.show_all() def simple_add(self, name, callback=None): '''Add a Gtk.MenuItem() with a certain name. :param callback: Callback that is called when the item is activated ''' item = Gtk.MenuItem() item.set_label(name) if callable(callback): item.connect('activate', callback) self._add_item(item) def simple_add_checkbox(self, name, toggled=None): '''Add a Gtk.CheckMenuItem to the Menu with the initial *state* and the callable *toggled* that is called when the state changes. ''' item = Gtk.CheckMenuItem() item.set_label(name) if callable(toggled): item.connect('toggled', toggled) self._add_item(item) def simple_add_separator(self): '''Add a Gtk.SeparatorMenuItem to the Menu. ''' self._add_item(Gtk.SeparatorMenuItem()) def simple_popup(self, button_event): 'A simpler version of GtkMenu.popup(); only requiring GdkEventButton.' self.popup( None, None, None, None, button_event.button, button_event.time ) ######################## # -- CELL RENDERERS -- # ######################## class CellRendererSize(Gtk.CellRendererText): """Render the byte size in a human readable form""" size = GObject.Property(type=float, default=0) def __init__(self, **kwargs): Gtk.CellRendererText.__init__(self, **kwargs) self.connect('notify::size', CellRendererSize._transform_size) def _transform_size(self, _): """Convert bytes to human readable sizes on size property changes""" self.set_property( 'text', size_to_human_readable(self.get_property('size')) ) def _rnd(num): """Round to minimal decimal places & convert to str""" if round(num, 1) % 1: return str(round(num, 1)) else: return str(int(num)) def pretty_seconds(second_diff): """Convert a second difference to sub-day human readable string""" if second_diff < 10: return "just now" elif second_diff < 60: return _rnd(second_diff) + " seconds ago" elif second_diff < 120: return "a minute ago" elif second_diff < 3600: return _rnd(second_diff / 60) + " minutes ago" elif second_diff < 7200: return "an hour ago" elif second_diff < 86400: return _rnd(second_diff / 3600) + " hours ago" def pretty_date(time=False): """Get a datetime object or an int() Epoch timestamp and return a pretty string like 'an hour ago', 'Yesterday', '3 months ago', 'just now', etc """ diff = datetime.now() - time second_diff = diff.seconds day_diff = diff.days if day_diff <= 0: return pretty_seconds(second_diff) elif day_diff == 1: return "Yesterday" elif day_diff < 7: return _rnd(day_diff) + " days ago" elif day_diff < 31: return _rnd(day_diff / 7) + " weeks ago" elif day_diff < 365: return _rnd(day_diff / 30) + " months ago" return _rnd(day_diff / 365) + " years ago" class CellRendererModifiedTime(Gtk.CellRendererText): """Display an mtime (unix timestamp) as readable difference to now""" mtime = GObject.Property(type=int, default=0) def __init__(self, **kwargs): Gtk.CellRendererText.__init__(self, **kwargs) self.connect( 'notify::mtime', CellRendererModifiedTime._transform_mtime ) def _transform_mtime(self, _): """Convert the modification time to a human readable form on change""" mtime = self.get_property('mtime') if mtime <= 0: pretty_date_str = '' else: pretty_date_str = pretty_date(time=datetime.fromtimestamp(mtime)) self.set_property('text', pretty_date_str) class CellRendererCount(Gtk.CellRendererText): """Render a count of objects (1 Object, 2 Objects...)""" count = GObject.Property(type=int, default=-1) def __init__(self, **kwargs): Gtk.CellRendererText.__init__(self, **kwargs) self.connect( 'notify::count', CellRendererCount._transform_count ) def _transform_count(self, _): """Convert the count property to a meaningful message. Negative numbers are regarded as twins, positive numbers as objects in a directory. """ count = self.get_property('count') is_plural = abs(count) is not 1 if count > 0: name = 'Objects' if is_plural else 'Object' text = '{} {}'.format(count, name) elif count < 0: name = 'Twins' if is_plural else 'Twin' text = '{} {}'.format(-count, name) else: text = '' self.set_property('text', text) class NodeState: NONE = 0 ORIGINAL = 1 DUPLICATE = 2 @staticmethod def should_keep(state): """Check if we should keep a file with this state""" return state is NodeState.ORIGINAL or state is NodeState.NONE STATE_TO_SYMBOL = { NodeState.NONE: '', NodeState.ORIGINAL: '✔', NodeState.DUPLICATE: '✗', } class CellRendererLint(Gtk.CellRendererPixbuf): """Render the lint tag (checkmark, error, warning icon) in a cell. This cellrenderer caches previously rendered buffers. """ ICON_SIZE = 10 tag = GObject.Property(type=int, default=NodeState.DUPLICATE) def __init__(self, **kwargs): Gtk.CellRendererPixbuf.__init__(self, **kwargs) self.set_alignment(0.0, 0.6) def do_render(self, ctx, widget, bg, cell, *_): """Render a unicode symbol using Pango.""" tag = self.get_property('tag') if tag is NodeState.NONE: return text = STATE_TO_SYMBOL.get(tag) if not text: return layout = PangoCairo.create_layout(ctx) font = Pango.FontDescription.new() font.set_size(6 * Pango.SCALE) layout.set_markup(text, -1) layout.set_alignment(Pango.Alignment.CENTER) xpad = self.get_property('xpad') ypad = self.get_property('ypad') - 10 fw, fh = [num / Pango.SCALE / 2 for num in layout.get_size()] ctx.move_to(cell.x - fw + xpad, cell.y + fh + ypad) PangoCairo.show_layout(ctx, layout) def do_get_size(self, _, cell_area): xpad = self.get_property('xpad') width = height = xpad * 2 + CellRendererLint.ICON_SIZE x_loc, y_loc = 0, 0 if cell_area: xalign = self.get_property('xalign') yalign = self.get_property('yalign') x_loc = max(0, xalign * (cell_area.width - width)) y_loc = max(0, yalign * (cell_area.height - height)) return x_loc, y_loc, width, height ############################### # Multiple Choice List Widget # ############################### class ChoiceRow(Gtk.ListBoxRow): """Row representing a single choice""" def __init__(self, value, is_default, capitalize=False): Gtk.ListBoxRow.__init__(self) self.value, self.is_default = value, is_default self.set_can_focus(False) self.set_margin_start(3) self.set_margin_end(3) self.symbol = Gtk.Image.new_from_gicon( Gio.ThemedIcon(name='emblem-ok-symbolic'), Gtk.IconSize.BUTTON ) self.symbol.props.margin_start = 10 self.symbol.set_no_show_all(True) if capitalize: display_value = value.capitalize() else: display_value = value label = Gtk.Label(display_value) label.props.xalign = 0 box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) box.pack_start(label, True, True, 0) box.pack_start(self.symbol, False, False, 0) self.add(box) def set_show_checkmark(self, state): """Choose an icon based on the current `state`""" self.symbol.set_visible(state or self.is_default) checkmark_table = { (False, False): (None, False), (False, True): ('emblem-ok-symbolic', False), (True, False): ('non-starred-symbolic', True), (True, True): ('starred-symbolic', False) } icon_name, dim_down = checkmark_table[(self.is_default, bool(state))] if icon_name is not None: self.symbol.set_from_gicon( Gio.ThemedIcon(name=icon_name), Gtk.IconSize.MENU ) ctx = self.symbol.get_style_context() if dim_down: ctx.add_class(Gtk.STYLE_CLASS_DIM_LABEL) self.symbol.set_opacity(0.5) else: ctx.remove_class(Gtk.STYLE_CLASS_DIM_LABEL) self.symbol.set_opacity(0.7) class CurrentChoiceLabel(Gtk.Label): """Helper class for displaying the current choice as label""" def __init__(self, text): Gtk.Label.__init__(self) self.set_use_markup(True) self.set_choice(text) @GObject.Property(type=str, default='') def choice(self): """Currently active choice""" return self._choice def set_choice(self, new_value): """Set choice to a markup'd form of `new_value`""" self._choice = new_value display_value = new_value self.set_markup( '{v}'.format( v=display_value ) ) self.notify('choice') class MultipleChoiceButton(Gtk.Button): """Button that offers a selection of different choices. - Only one choice can be active at the same time. - The button will look like an underlined label. - Default values are marked with a separate icon. - The popup is a GtkPopover. """ __gsignals__ = { 'row-selected': (GObject.SIGNAL_RUN_FIRST, None, ()), } def __init__(self, values, default, selected): Gtk.Button.__init__(self) self._selected_choice = selected self.set_relief(Gtk.ReliefStyle.NONE) self.set_can_focus(False) # Visible part when not selected: self.value_label = CurrentChoiceLabel(default) self.value_label.set_choice(selected) self.add(self.value_label) popover = Gtk.Popover.new(self) popover.set_modal(True) self.connect('clicked', lambda *_: popover.show_all()) self.listbox = Gtk.ListBox() self.listbox.set_border_width(10) self.listbox.set_selection_mode(Gtk.SelectionMode.NONE) self.listbox.set_activate_on_single_click(True) self.listbox.connect('row-activated', self.on_update_value, popover) # Add a decorative frame: frame = Gtk.Frame() frame.add(self.listbox) frame.set_border_width(5) popover.add(frame) # Populate the rows: for choice in values: row = ChoiceRow(choice, default == choice) self.listbox.add(row) if choice == selected: self.listbox.select_row(row) row.set_show_checkmark(True) # Show the popup once the button was clicked: self.connect('clicked', lambda *_: popover.show_all()) def _set_current_row(self, row): """Set current row & update checkmarks accordingly""" for other_row in self.listbox: # Might be a different type: if isinstance(other_row, ChoiceRow): other_row.set_show_checkmark(row is other_row) self.value_label.set_choice(row.value) self._selected_choice = row.value def get_selected_choice(self): """Return the currently selected label text""" return self._selected_choice def set_selected_choice(self, value): """Set the choice of the widget by name""" for row in self.listbox: if isinstance(row, ChoiceRow): if row.value == value: self._set_current_row(row) def on_update_value(self, _, row, popover): """Called on a click on a row. Will hide the popover.""" self._set_current_row(row) popover.hide() # Notify users: self.emit('row-selected') ############################ # File size ranger chooser # ############################ EXPONENTS = { 'Byte': 0, 'Kilobyte': 1, 'Megabyte': 2, 'Gigabyte': 3, 'Terrabye': 4, 'Petabyte': 5 } MAX_EXPONENT = max(EXPONENTS.values()) SORTED_KEYS = sorted(EXPONENTS.items(), key=itemgetter(1)) class FileSizeSpinButton(Gtk.Box): """Widget to choose a file size in the usual units. Works mostly like a GtkSpinButon (and consists of one). """ __gsignals__ = { 'value-changed': (GObject.SIGNAL_RUN_FIRST, None, (int, )) } def __init__(self): Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL) self._last_val, self._curr_exp = 1, 1 self._units = MultipleChoiceButton( [label for label, _ in SORTED_KEYS], 'MB', 'MB' ) self._entry = Gtk.SpinButton.new_with_range(1, 1023, 1) self._entry.set_wrap(True) # Make the buttons appear to be joined together: self.get_style_context().add_class( Gtk.STYLE_CLASS_LINKED ) self._entry.set_hexpand(True) self.pack_start(self._entry, True, True, 0) self.pack_start(self._units, False, False, 0) self._entry.connect('value-changed', self.on_value_changed) self._units.connect('row-selected', self.on_unit_changed) def get_bytes(self): """Get the current number of displayed bytes""" return self._last_val * (1024 ** self._curr_exp) def set_bytes(self, size): """Set the current number of displayed bytes""" # Find out what unit to use: if size is 0: exponent = 1 else: exponent = math.floor(math.log(size, 1024)) # Convert raw size to a factor display_size = size / (1024 ** exponent) # Update state: self._entry.set_value(display_size) self._set_exponent(exponent) self._last_val = display_size def _set_exponent(self, exponent): """Remember the exponent and select the fitting unit.""" # linear search for the correct label key, value = None, None for key, value in EXPONENTS.items(): if value == exponent: break self._units.set_selected_choice(key) self._curr_exp = value def on_value_changed(self, spbtn): """Called upon a change in the spinbutton""" curr = spbtn.get_value_as_int() if curr == 1023 and self._last_val == 1: # Wrap from max to min self._set_exponent(self._curr_exp - 1) if curr == 1 and self._last_val == 1023: # Wrap from min to max self._set_exponent(self._curr_exp + 1) self._last_val = curr self.emit('value-changed', curr) def on_unit_changed(self, _): """Called upon a change in the combobox""" label = self._units.get_selected_choice() exponent = EXPONENTS.get(label, MAX_EXPONENT) self._set_exponent(exponent) self.emit('value-changed', self.get_bytes()) class FileSizeRange(Gtk.Grid): """Display a range of file sizes. The minimum may not be higher or eqal than than the maximum. """ __gsignals__ = { 'value-changed': (GObject.SIGNAL_RUN_FIRST, None, ()) } def __init__(self, min_val, max_val): Gtk.Grid.__init__(self) self._min_wdgt = FileSizeSpinButton() self._max_wdgt = FileSizeSpinButton() self._min_wdgt.set_bytes(min_val) self._max_wdgt.set_bytes(max_val) self._min_wdgt.set_hexpand(True) self._max_wdgt.set_hexpand(True) self.attach(self._min_wdgt, 0, 0, 1, 1) self.attach(Gtk.Label(' to '), 1, 0, 1, 1) self.attach(self._max_wdgt, 2, 0, 1, 1) self._min_wdgt.connect('value-changed', self.on_value_changed) self._max_wdgt.connect('value-changed', self.on_value_changed) @property def min_value(self): """Minimum value the widget (i.e. left side)""" return self._min_wdgt.get_bytes() @min_value.setter def min_value(self, val): """Set the minum value.""" self._min_wdgt.set_bytes(val) @property def max_value(self): """Maximum value of the widget (i.e. right side)""" return self._max_wdgt.get_bytes() @max_value.setter def max_value(self, val): """Set the maximum value.""" self._max_wdgt.set_bytes(val) def on_value_changed(self, wdgt, _): """Called when any of the both sides change.""" min_val = self._min_wdgt.get_bytes() max_val = self._max_wdgt.get_bytes() # Add constraint to ensure min < max # by at least one byte (not always visible) if min_val >= max_val: if wdgt is self._max_wdgt: self._max_wdgt.set_bytes(min_val + 1) else: self._min_wdgt.set_bytes(max_val - 1) self.emit('value-changed') if __name__ == '__main__': def main(): """Test main.""" win = Gtk.Window() win.connect('destroy', Gtk.main_quit) win.add(FileSizeRange(1, 1024 ** MAX_EXPONENT)) win.show_all() Gtk.main() main() rmlint-2.6.1/gui/shredder/views/000077500000000000000000000000001312046612000165415ustar00rootroot00000000000000rmlint-2.6.1/gui/shredder/views/__init__.py000066400000000000000000000000511312046612000206460ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 rmlint-2.6.1/gui/shredder/views/editor.py000066400000000000000000000624401312046612000204070ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """ Editor view. Provides means to view the generated script and edit it. Also contains the dangerous run button that triggers the final run. Once clicked, a counter will be shown, showing the total number of killed files in terms of size. """ # Stdlib: import os import time import logging # External: from gi.repository import Gtk from gi.repository import GLib from gi.repository import Pango from gi.repository import GObject try: from gi.repository import Polkit except ImportError: Polkit = None # Internal: from shredder.util import View, IconButton, scrolled, size_to_human_readable from shredder.util import MultipleChoiceButton, SuggestedButton from shredder.runner import Script LOGGER = logging.getLogger('editor') REMOVED_LABEL = '''{s} {n} removed Currently {t} {p} ''' ############################# # Try to load GtkSourceView # ############################# try: from gi.repository import GtkSource def _create_source_view(): """Create a suitable text view + buffer for showing a sh script.""" LOGGER.info('Using GtkSourceView since we have it.') buffer_ = GtkSource.Buffer() buffer_.set_highlight_syntax(True) view = GtkSource.View() view.set_buffer(buffer_) view.set_show_line_numbers(True) view.set_show_line_marks(True) view.set_auto_indent(True) return view, buffer_ class _SearchRun: """Represent a run through all matches relative a query.""" def __init__(self, buffer_, query): settings = GtkSource.SearchSettings() settings.set_search_text(query) settings.set_case_sensitive(False) self.ctx = GtkSource.SearchContext.new(buffer_, settings) self.ctx.set_highlight(True) self.ctx.set_match_style(GtkSource.Style(underline=True)) self._last_mark = None @property def query(self): """Query of this search run""" return self.ctx.get_settings().get_search_text() def next_hop(self, view): """Return a GtkTextMark pointing at the next find or None. All matching items will be highlighted by default. """ # Find out at which position we were last: buffer_ = self.ctx.props.buffer if self._last_mark is None: offset = buffer_.get_start_iter() else: offset = buffer_.get_iter_at_mark(self._last_mark) # Trigger actual searching: self.ctx.forward_async(offset, None, self.on_forward_finish, view) def on_forward_finish(self, source, result, view): """Called once GtkSourceSearchContext has finished processing.""" valid, start, end = self.ctx.forward_finish(result) self._last_mark = None # Select & remember mark for next hop if valid: buffer_ = self.ctx.props.buffer buffer_.select_range(start, end) self._last_mark = buffer_.create_mark(None, end, True) view.scroll_mark_onscreen(self._last_mark) def _set_source_style(view, style_name): """If supported, set a color scheme by name.""" style = GtkSource.StyleSchemeManager.get_default().get_scheme( style_name ) if style: buffer_ = view.get_buffer() buffer_.set_style_scheme(style) def _set_source_lang(view, lang): """If supported, set a syntax highlighter to use.""" language = GtkSource.LanguageManager.get_default().get_language(lang) buffer_ = view.get_buffer() buffer_.set_language(language) # Fallback to the normal Gtk.TextView if no GtkSource.View could be imported # This is the bare minimum we support. It's neither pretty nor very useful. except ImportError: def _create_source_view(): """Create a suitable text view + buffer for showing a sh script.""" LOGGER.info('No GtkSourceView found.') buffer_ = Gtk.TextBuffer() view = Gtk.TextView() return view, buffer_ class _SearchRun: """Dummy search functor that does nothing.""" def __init__(self, *_): self.query = None def next_hop(self, *_): """No-op""" pass def _set_source_style(*_): """If supported, set a color scheme by name.""" pass # Not supported. def _set_source_lang(*_): """If supported, set a syntax highlighter to use.""" pass # Not supported. def _create_running_screen(): """Helper to configure a spinner for the delete screen.""" spinner = Gtk.Spinner() spinner.start() return spinner def _create_finished_screen(callback): """Give the user a nice, warm feeling.""" control_grid = Gtk.Grid() control_grid.set_hexpand(False) control_grid.set_vexpand(False) control_grid.set_halign(Gtk.Align.CENTER) control_grid.set_valign(Gtk.Align.CENTER) # Lies make the user feel comfortable: label = Gtk.Label( use_markup=True, label='''✔ All went well! ''', justify=Gtk.Justification.CENTER ) label.get_style_context().add_class('dim-label') go_back = IconButton('go-jump-symbolic', 'Go back to Script') go_back.set_halign(Gtk.Align.CENTER) go_back.connect( 'clicked', lambda _: callback() ) control_grid.attach(label, 0, 0, 1, 1) control_grid.attach_next_to( go_back, label, Gtk.PositionType.BOTTOM, 1, 1 ) return control_grid class RunningLabel(Gtk.Label): """Centered large label showing a size sum and the current deleted path.""" def __init__(self): Gtk.Label.__init__(self) # Basename is more important: self.set_ellipsize(Pango.EllipsizeMode.START) # Make it appeared a bit dimmed: self.get_style_context().add_class( Gtk.STYLE_CLASS_DIM_LABEL ) self.set_justify(Gtk.Justification.CENTER) self._is_dry_run = False self.reset() def set_is_dry_run(self, is_it): """If it is a dry run, don't scare the user""" self._is_dry_run = is_it def push(self, prefix, path): """Push a new path to the label, removing the old one.""" if prefix.lower() == 'keeping': return try: buf = os.stat(path) self._size_sum += buf.st_size except OSError: pass text = REMOVED_LABEL.format( t=prefix.lower(), s=size_to_human_readable(self._size_sum), p=GLib.markup_escape_text(path), n="would be" if self._is_dry_run else "" ) self.set_markup(text) def reset(self): """Reset the counter to initial state (zero)""" self._size_sum = 0 self.push('', '') class RunButton(IconButton): """Customized run button that can change color.""" dry_run = GObject.Property(type=bool, default=True) def __init__(self, icon, label, state_btn): IconButton.__init__(self, icon, label) self.state = state_btn self.state.connect('notify::active', self._toggle_dry_run) self.bind_property( 'dry_run', self.state, 'active', GObject.BindingFlags.BIDIRECTIONAL | GObject.BindingFlags.SYNC_CREATE ) self.state.set_active(True) self._toggle_dry_run(self.state) def set_sensitive(self, mode): btn_ctx = self.get_style_context() if mode: btn_ctx.add_class(Gtk.STYLE_CLASS_SUGGESTED_ACTION) else: btn_ctx.remove_class(Gtk.STYLE_CLASS_SUGGESTED_ACTION) IconButton.set_sensitive(self, mode) self.state.set_sensitive(mode) def _toggle_dry_run(self, *_): """Change the color and severeness of the button.""" ctx = self.get_style_context() if not self.state.get_state(): ctx.remove_class(Gtk.STYLE_CLASS_SUGGESTED_ACTION) ctx.add_class(Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION) self.set_markup("Go delete some files!") else: ctx.remove_class(Gtk.STYLE_CLASS_DESTRUCTIVE_ACTION) ctx.add_class(Gtk.STYLE_CLASS_SUGGESTED_ACTION) self.set_markup("Run in dry mode") def _create_icon_stack(): """Create a small widget that shows alternating icons.""" icon_stack = Gtk.Stack() icon_stack.set_transition_type( Gtk.StackTransitionType.CROSSFADE ) icon_stack.set_transition_duration(100) for name, symbol in (('warning', 'âš '), ('danger', '☠'), ('info', 'ℹ')): icon_label = Gtk.Label( use_markup=True, justify=Gtk.Justification.CENTER ) icon_label.get_style_context().add_class( Gtk.STYLE_CLASS_DIM_LABEL ) icon_label.set_markup( '{symbol}'.format(symbol=symbol) ) icon_stack.add_named(icon_label, name) return icon_stack class ScriptSaverDialog(Gtk.FileChooserWidget): """GtkFileChooserWidget tailored for saving a `Script` instance.""" __gsignals__ = { 'saved': (GObject.SIGNAL_RUN_FIRST, None, ()), } def __init__(self, editor_view): Gtk.FileChooserWidget.__init__(self) self.editor_view = editor_view self.set_select_multiple(False) self.set_create_folders(False) self.set_action(Gtk.FileChooserAction.SAVE) self.set_do_overwrite_confirmation(True) self.file_type = MultipleChoiceButton( ['sh', 'json', 'csv'], 'sh', 'sh' ) self.file_type.set_halign(Gtk.Align.START) self.file_type.set_hexpand(True) self.file_type.connect('row-selected', self.on_file_type_changed) self.file_type.props.margin_end = 10 self.confirm = SuggestedButton('Save') self.confirm.connect('clicked', self.on_save_clicked) self.confirm.set_halign(Gtk.Align.END) self.confirm.set_hexpand(False) self.confirm.set_sensitive(False) self.confirm.props.margin_end = 10 self.cancel_button = IconButton('window-close-symbolic', 'Cancel') self.cancel_button.connect('clicked', self.on_cancel_clicked) self.cancel_button.set_halign(Gtk.Align.END) self.cancel_button.set_hexpand(False) self.connect('selection-changed', self.on_selection_changed) file_type_label = Gtk.Label('Filetype') file_type_label.set_use_markup(True) file_type_label.props.margin_end = 5 file_type_label.get_style_context().add_class( Gtk.STYLE_CLASS_DIM_LABEL ) self.extra_box = Gtk.Grid() self.extra_box.attach(self.file_type, 0, 0, 1, 1) self.extra_box.attach(self.confirm, 1, 0, 1, 1) self.extra_box.attach_next_to( file_type_label, self.file_type, Gtk.PositionType.LEFT, 1, 1 ) self.extra_box.set_hexpand(True) self.extra_box.set_halign(Gtk.Align.FILL) def show_controls(self): """Show cancel, save and file type chooser buttons.""" self.editor_view.add_header_widget(self.extra_box) self.editor_view.add_header_widget( self.cancel_button, align=Gtk.Align.START ) self.update_file_suggestion() def update_file_suggestion(self): """Suggest a name for the script to save.""" file_type = self.file_type.get_selected_choice() or 'sh' self.set_current_name(time.strftime('rmlint-%FT%T%z.' + file_type)) def on_file_type_changed(self, _): """Called once the user chose a different format""" current_path = self.get_filename() if not current_path: self.update_file_suggestion() else: try: path, _ = current_path.rsplit('.', 1) self.set_current_name( path + '.' + self.file_type.get_selected_choice() or '' ) except ValueError: # No extension. Leave it. pass def _exit_from_save(self): """Preparation to go back to script view.""" self.emit('saved') self.editor_view.clear_header_widgets() def on_cancel_clicked(self, _): """Signal handler for the cancel button.""" self._exit_from_save() def on_save_clicked(self, _): """Called once the user clicked the `Save` button""" file_type = self.file_type.get_selected_choice() abs_path = self.get_filename() runner = self.editor_view.app_window.views['runner'].runner LOGGER.info('Saving script as `%s` to: %s', file_type, abs_path) runner.save(abs_path, file_type) self._exit_from_save() def on_selection_changed(self, _): """Called once a file or directory was clicked""" filename = self.get_filename() self.confirm.set_sensitive(bool(filename)) # Make sure the user-typed extension gets set in teh type chooser also. name = self.get_current_name() *_, extension = name.rsplit('.', 1) self.file_type.set_selected_choice(extension) class OverlaySaveButton(Gtk.Overlay): """Button box that contains two buttons in an overlay. The overlay is shown on top of the script editor. Buttons are: A unlock button for asking for root permissions and a save button to save the script somewhere. """ __gsignals__ = { 'save-clicked': (GObject.SIGNAL_RUN_FIRST, None, ()), 'unlock-clicked': (GObject.SIGNAL_RUN_FIRST, None, ()) } def __init__(self): Gtk.Overlay.__init__(self) self._box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) self._box.get_style_context().add_class( Gtk.STYLE_CLASS_LINKED ) self._lock_button = Gtk.LockButton() self._lock_button.props.margin = 20 self._lock_button.props.margin_end = 0 self._lock_button.connect( 'clicked', lambda _: self.emit('unlock-clicked') ) if Polkit is not None: try: perm = Polkit.Permission.new_sync( 'org.freedesktop.accounts.user-administration', Polkit.UnixProcess.new_for_owner(os.getpid(), 0, -1), None ) self._lock_button.set_permission(perm) except GLib.Error as err: LOGGER.warning('Unable to get polkit permissions: ' + str(err)) self._save_button = IconButton( 'folder-download-symbolic', 'Save to file' ) self._save_button.props.margin = 20 self._save_button.props.margin_start = 0 self._save_button.connect( 'clicked', lambda _: self.emit('save-clicked') ) # Note: we're not showing the lock button yet, # since we did not yet a policy for it. # # self._box.pack_start(self._lock_button, False, True, 0) self._box.pack_start(self._save_button, False, True, 0) self._box.set_hexpand(False) self._box.set_vexpand(False) self._box.set_halign(Gtk.Align.END) self._box.set_valign(Gtk.Align.END) self.add_overlay(self._box) class EditorView(View): """Actual view class.""" def __init__(self, win): View.__init__(self, win) self._last_runner = None self.script = Script.create_dummy() control_grid = Gtk.Grid() control_grid.set_hexpand(False) control_grid.set_vexpand(False) control_grid.set_halign(Gtk.Align.CENTER) control_grid.set_valign(Gtk.Align.CENTER) self.info_label = Gtk.Label( use_markup=True, justify=Gtk.Justification.CENTER ) self.info_label.get_style_context().add_class( Gtk.STYLE_CLASS_DIM_LABEL ) self.state_label = Gtk.Label( use_markup=True, justify=Gtk.Justification.CENTER ) self.state_label.get_style_context().add_class( Gtk.STYLE_CLASS_DIM_LABEL ) self.icon_stack = _create_icon_stack() self.text_view, buffer_ = _create_source_view() self.text_view.set_name('ShredderScriptEditor') self.text_view.set_vexpand(True) self.text_view.set_valign(Gtk.Align.FILL) self.text_view.set_hexpand(True) self.text_view.set_halign(Gtk.Align.FILL) self.save_button = OverlaySaveButton() self.save_button.add(scrolled(self.text_view)) self.save_chooser = ScriptSaverDialog(self) def on_save_button_clicked(_): """Switch to the save dialog in the stack.""" self.set_search_mode(False) self.left_stack.set_visible_child_name('chooser') self.save_chooser.show_controls() self.set_info_help_text() self.set_correct_icon() self.run_button.set_sensitive(False) def on_save_clicked(_): """Switch back when the user has saved.""" self.left_stack.set_visible_child_name('script') self.set_info_review_text() self.set_correct_icon() self.run_button.set_sensitive(True) self.save_button.connect( 'save-clicked', on_save_button_clicked ) self.save_chooser.connect( 'saved', on_save_clicked ) buffer_.create_tag("original", weight=Pango.Weight.BOLD) buffer_.create_tag("normal") self.run_label = RunningLabel() self.run_label.set_hexpand(False) self.run_label.set_halign(Gtk.Align.FILL) self.left_stack = Gtk.Stack() self.left_stack.set_transition_type( Gtk.StackTransitionType.SLIDE_UP ) spinner = Gtk.Spinner() spinner.start() self.left_stack.add_named(spinner, 'loading') self.left_stack.add_named(self.save_button, 'script') self.left_stack.add_named(self.save_chooser, 'chooser') self.left_stack.add_named(scrolled(self.run_label), 'list') separator = Gtk.Separator(orientation=Gtk.Orientation.VERTICAL) left_pane = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) left_pane.pack_start(self.left_stack, True, True, 0) left_pane.pack_start(separator, False, False, 0) self.state_btn = Gtk.Switch() self.state_btn.set_hexpand(False) self.state_btn.set_halign(Gtk.Align.CENTER) self.run_button = RunButton( 'user-trash-symbolic', 'Run Script!', self.state_btn ) self.run_button.connect('clicked', self.on_run_script_clicked) self.run_button.set_halign(Gtk.Align.CENTER) self.set_info_review_text() def on_dry_run_changed(*_): self.set_correct_icon() self.set_info_review_text() self.run_button.connect('notify::dry-run', on_dry_run_changed) control_grid.attach(self.info_label, 0, 0, 1, 1) control_grid.attach_next_to( self.run_button, self.info_label, Gtk.PositionType.BOTTOM, 1, 1 ) control_grid.attach_next_to( self.icon_stack, self.info_label, Gtk.PositionType.TOP, 1, 1 ) control_grid.attach_next_to( self.state_label, self.run_button, Gtk.PositionType.BOTTOM, 1, 1 ) control_grid.attach_next_to( self.state_btn, self.state_label, Gtk.PositionType.BOTTOM, 1, 1 ) control_grid.set_border_width(15) self.stack = Gtk.Stack() self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_UP) self.stack.add_named(control_grid, 'danger') self.stack.add_named(_create_running_screen(), 'progressing') self.stack.add_named( _create_finished_screen(self._switch_back), 'finished' ) self.left_stack.set_visible_child_name('script') paned = Gtk.Paned() paned.pack1(left_pane, True, True) paned.pack2(self.stack, True, True) paned.props.position = 920 self.add(paned) self._last_search = None self.search_entry.connect( 'search-changed', self.on_search_changed ) try: self.search_entry.connect( 'next-match', self.on_search_changed ) except TypeError: LOGGER.warning('Old gtk version; skipping through matches will not work.') def set_correct_icon(self): """Set the correct icon of icon_stack (either warning, skull or info)""" icon_name = 'info' if self.left_stack.get_visible_child_name() == 'script': if self.run_button.dry_run: icon_name = 'warning' else: icon_name = 'danger' self.icon_stack.set_visible_child_name(icon_name) def set_info_review_text(self): """Set the normal 'Review the script' text.""" self.state_btn.show_all() self.info_label.set_markup(''' Review the script on the left! When done, click the `Run Script` button below. \n\n''') if self.run_button.dry_run: self.state_label.set_markup(''' I will currently only do a dry run. Please toggle the switch below to actually delete files: ''') else: self.state_label.set_markup(''' Will run in destructive mode and will delete files! Please toggle the switch below to go back to dry run: ''') def set_info_help_text(self): """Be a bit more helpful on the help dialog.""" self.info_label.set_markup(''' Save the script for later! It can be executed via ./rmlint.sh Or you can replay the output later with: rmlint --replay /path/to/file.json ''') self.state_label.set_markup(''' Note: You can select the filetype in the header. ''') self.state_btn.hide() def _switch_back(self): """Switch back from delete-view to script view""" self.switch_to_script() def switch_to_script(self): """Read and show the script.""" self.sub_title = 'Check the results' GLib.idle_add( lambda: self.left_stack.set_visible_child_name('script') ) buffer_ = self.text_view.get_buffer() buffer_.set_text(self.script.read()) # Make sure it gets colored again: _set_source_style(self.text_view, 'solarized-light') _set_source_lang(self.text_view, 'sh') self.stack.set_visible_child_name('danger') self.stack.set_sensitive(True) def on_search_changed(self, _): """Called once the user enteres a new search query.""" query = self.search_entry.get_text().lower() buffer_ = self.text_view.get_buffer() # If query is empty, just deselect everything. if not query: buffer_.select_range( buffer_.get_start_iter(), buffer_.get_start_iter() ) # Check if query changed and if we need to get a new search ctx if self._last_search is None or self._last_search.query != query: self._last_search = _SearchRun(buffer_, query) # Jump one position ahead (or do initial search) self._last_search.next_hop(self.text_view) def on_run_script_clicked(self, _): """The critical function callback that is run when action is done.""" self.set_search_mode(False) self.sub_title = 'Shreddering. Cross fingers!' self.stack.set_visible_child_name('progressing') self.left_stack.set_visible_child_name('list') LOGGER.info('Running script.') self.run_label.reset() self.run_label.set_is_dry_run(self.run_button.dry_run) self.script.run(dry_run=self.run_button.dry_run) def on_view_enter(self): """Called once the view becomes visible.""" self.run_button.set_sensitive(True) # Re-read the script. runner = self.app_window.views['runner'].runner if runner is not None and self._last_runner is not runner: runner.connect('replay-finished', self.on_replay_finish, runner) self._last_runner = runner self.left_stack.set_visible_child_name('loading') self.stack.set_sensitive(False) def on_replay_finish(self, _, runner): """Called once ``rmlint --replay`` finished running.""" LOGGER.info('Loading script from temporary directory') self.override_script(Script(runner.get_sh_path())) def on_default_action(self): """Called on Ctrl-Enter""" visible_screen = self.stack.get_visible_child_name() if visible_screen == 'danger': self.on_run_script_clicked(None) elif visible_screen == 'finished': self.switch_to_script() def override_script(self, script): """This method is for testing and cmdline use only.""" LOGGER.info('Loading developer-defined script.') self.script = script self.script.connect( 'line-read', lambda _, prefix, line: self.run_label.push(prefix, line) ) self.script.connect( 'script-finished', lambda *_: self.stack.set_visible_child_name('finished') ) self.switch_to_script() rmlint-2.6.1/gui/shredder/views/locations.py000066400000000000000000000443101312046612000211100ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """Location view. Give the users a list of directories he might want to scan. Also give him the choice of adding new directories. Integrate with GtkRecentManager and detect mounted volumes. Also show the directory size alongside. """ # Stdlib: import os import logging # External: from gi.repository import Gtk from gi.repository import Gio from gi.repository import GLib from gi.repository import GObject # Internal: from shredder.util import View, IconButton, size_to_human_readable LOGGER = logging.getLogger('locations') class DeferSizeLabel(Gtk.Bin): """Recursively calculates the size of a directory in a non-blocking way. While calculating the widget will look like a spinner, when done the size is displayed as normal text label. """ def __init__(self, path): Gtk.Bin.__init__(self) spinner = Gtk.Spinner() spinner.start() self.add(spinner) # `du` still seems to be the fastest way to do the job. # All self-implemented ways in python were way slower. du_proc = Gio.Subprocess.new( ['du', '-s', path], Gio.SubprocessFlags.STDERR_SILENCE | Gio.SubprocessFlags.STDOUT_PIPE ) du_proc.communicate_utf8_async(None, None, self._du_finished) def _du_finished(self, du_proc, result): """Called when the coreutil du finished running. Harvest results.""" result, du_data, _ = du_proc.communicate_utf8_finish(result) if du_data: kbytes = int(''.join([num for num in du_data if num.isdigit()])) text = size_to_human_readable(kbytes * 1024) else: text = '' self.remove(self.get_child()) self.add(Gtk.Label(text)) self.show_all() class LocationEntry(Gtk.ListBoxRow): """A single entry representing an existing file system location.""" preferred = GObject.Property(type=bool, default=False) __gsignals__ = { 'shortcut': (GObject.SIGNAL_RUN_FIRST, None, ()) } def __init__(self, name, path, themed_icon, fill_level=None): Gtk.ListBoxRow.__init__(self) self.set_size_request(-1, 80) self.set_can_focus(False) # CSS Name self.set_name('ShredderLocationEntry') self.path, self.name = path, name name_label = Gtk.Label( '{}'.format(GLib.markup_escape_text(name)) ) name_label.set_use_markup(True) name_label.set_hexpand(True) name_label.set_halign(Gtk.Align.START) path_label = Gtk.Label( '{}'.format(GLib.markup_escape_text(path)) ) path_label.set_use_markup(True) path_label.set_hexpand(True) path_label.set_halign(Gtk.Align.START) icon_img = Gtk.Image.new_from_gicon( themed_icon, Gtk.IconSize.DIALOG ) icon_img.props.pixel_size = 64 icon_img.set_halign(Gtk.Align.START) icon_img.set_margin_start(3) icon_img.set_margin_end(10) icon_img.set_vexpand(True) icon_img.set_valign(Gtk.Align.FILL) self.check_box = Gtk.Switch() self.check_box.connect('notify::active', self.on_check_box_toggled) self.check_box.set_tooltip_text('Prefer this directory?') self.check_box.set_margin_end(5) self.check_box.set_margin_top(13) self.check_box.set_can_focus(False) self.separator = Gtk.Separator() self.separator.set_hexpand(True) self.separator.set_halign(Gtk.Align.FILL) ####################### # Put it all together # ####################### grid = Gtk.Grid() self.add(grid) # Quick-select button with arrow inside: shortcut_btn = Gtk.Button() shortcut_btn.add(Gtk.Arrow(Gtk.ArrowType.RIGHT, Gtk.ShadowType.NONE)) shortcut_btn.set_relief(Gtk.ReliefStyle.NONE) shortcut_btn.set_vexpand(False) shortcut_btn.set_valign(Gtk.Align.START) shortcut_btn.set_margin_top(17) shortcut_btn.set_margin_end(15) shortcut_btn.set_opacity(0.7) shortcut_btn.set_can_focus(False) shortcut_btn.set_size_request(-1, 28) shortcut_btn.connect('clicked', lambda *_: self.emit('shortcut')) grid.attach(icon_img, 0, 0, 5, 5) grid.attach(name_label, 5, 2, 1, 1) grid.attach(path_label, 5, 3, 1, 1) grid.attach(self.check_box, 7, 2, 1, 1) grid.attach(shortcut_btn, 8, 2, 1, 1) grid.attach(self.separator, 0, 8, 9, 1) if fill_level is not None: level_bar = Gtk.LevelBar() level_bar.set_valign(Gtk.Align.START) level_bar.set_halign(Gtk.Align.END) level_bar.set_vexpand(False) level_bar.set_size_request(150, 10) level_bar.set_margin_end(20) level_bar.set_margin_top(20) # Define new values for 'high' and 'low' level_bar.remove_offset_value(Gtk.LEVEL_BAR_OFFSET_HIGH) level_bar.remove_offset_value(Gtk.LEVEL_BAR_OFFSET_LOW) level_bar.add_offset_value(Gtk.LEVEL_BAR_OFFSET_LOW, 0.75) level_bar.add_offset_value(Gtk.LEVEL_BAR_OFFSET_HIGH, 0.25) level_label = Gtk.Label() level_label.set_valign(Gtk.Align.START) level_label.set_halign(Gtk.Align.END) level_label.set_margin_end(20) level_label.set_vexpand(False) used, total = fill_level # Watch for zero division: if total > 0: percent = int(used / total * 100) else: percent = 100 level_label.set_markup( '{f} / {t} - {p}%'.format( f=size_to_human_readable(used), t=size_to_human_readable(total), p=percent ) ) level_bar.set_value(percent / 100) grid.attach(level_label, 6, 3, 1, 1) grid.attach(level_bar, 6, 2, 1, 1) else: size_widget = DeferSizeLabel(path) size_widget.set_margin_top(15) size_widget.set_margin_end(20) grid.attach(size_widget, 6, 2, 1, 1) def on_check_box_toggled(self, btn, _): """Called once the `original` checkbox was hit.""" ctx = self.get_style_context() if btn.get_active(): ctx.add_class('original') else: ctx.remove_class('original') self.props.preferred = btn.get_active() class LocationView(View): """The actual view instance.""" def __init__(self, app): View.__init__(self, app) self.selected_locations = [] self.known_paths = set() self._set_title() self.box = Gtk.ListBox() self.box.set_selection_mode(Gtk.SelectionMode.NONE) self.box.set_hexpand(True) self.box.set_placeholder(Gtk.Label('No locations mounted.')) self.box.set_valign(Gtk.Align.FILL) self.box.set_vexpand(True) self.chooser_button = IconButton( 'list-add-symbolic', 'Add Location' ) self.chooser_button.connect( 'clicked', self.on_chooser_button_clicked ) self.file_chooser = Gtk.FileChooserWidget() self.file_chooser.set_select_multiple(True) self.file_chooser.set_action(Gtk.FileChooserAction.SELECT_FOLDER) self.file_chooser.set_create_folders(False) self.stack = Gtk.Stack() self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_UP) scw = Gtk.ScrolledWindow() scw.add(self.box) self.stack.add_named(scw, 'list') self.stack.add_named(self.file_chooser, 'chooser') self.box.set_activate_on_single_click(True) self.box.set_filter_func(self._filter_func) self.box.connect('row-activated', self.on_row_clicked) self.search_entry.connect( 'search-changed', self.on_search_changed ) self.volume_monitor = Gio.VolumeMonitor.get() self.recent_mgr = Gtk.RecentManager.get_default() self.recent_mgr.connect('changed', self.refill_entries) self.volume_monitor.connect('volume-changed', self.refill_entries) self.volume_monitor.connect('drive-changed', self.refill_entries) self.volume_monitor.connect('mount-changed', self.refill_entries) self.refill_entries() run_button = IconButton('edit-find-symbolic', 'Scan folders') run_button.connect('clicked', self._run_clicked) run_button.get_style_context().add_class( Gtk.STYLE_CLASS_SUGGESTED_ACTION ) del_button = IconButton('user-trash-symbolic', 'Remove from list') del_button.connect('clicked', self._del_clicked) self.selected_label = Gtk.Label() self.selected_label.get_style_context().add_class( Gtk.STYLE_CLASS_DIM_LABEL ) action_bar = Gtk.ActionBar() action_bar.pack_start(del_button) action_bar.set_center_widget(self.selected_label) action_bar.pack_end(run_button) self.revealer = Gtk.Revealer() self.revealer.add(action_bar) self.revealer.set_hexpand(True) self.revealer.set_halign(Gtk.Align.FILL) grid = Gtk.Grid() grid.attach(self.stack, 0, 0, 1, 1) grid.attach(self.revealer, 0, 1, 1, 1) self.add(grid) def _set_title(self): """Make it an own method, so we don't need to retype it.""" self.sub_title = 'Click locations to scan' def add_recent_item(self, path): """Add item to GtkRecentManager""" data = Gtk.RecentData() data.is_private = False data.app_exec = 'gedit %s' data.app_name = 'gedit' data.description = path data.display_name = path data.mime_type = 'inode/directory' if not self.recent_mgr.add_full(path, data): LOGGER.warning('Could not add to recently used: ' + path) def refill_entries(self, *_): """Re-read all LocationEntries from every possible source.""" LOGGER.info('Refilling location entries') for child in list(self.box): self.box.remove(child) self.known_paths = set() # Static entries: self.add_entry( 'Personal directory', os.path.expanduser('~'), Gio.ThemedIcon(name='user-home') ) self.add_entry( 'Cache and logs', '/var', Gio.ThemedIcon(name='folder-templates') ) # Mounted volumes: for mount in self.volume_monitor.get_mounts(): if mount.get_root().get_path() is None: continue info = mount.get_root().query_filesystem_info( ','.join([ Gio.FILE_ATTRIBUTE_FILESYSTEM_SIZE, Gio.FILE_ATTRIBUTE_FILESYSTEM_USED ]) ) self.add_entry( mount.get_name(), mount.get_root().get_path(), mount.get_icon(), fill_level=( info.get_attribute_uint64( Gio.FILE_ATTRIBUTE_FILESYSTEM_USED), info.get_attribute_uint64( Gio.FILE_ATTRIBUTE_FILESYSTEM_SIZE))) # Recently used items: for item in self.recent_mgr.get_items(): # Note: item.get_exists() tells us bullshit sometimes. if item.get_mime_type() != 'inode/directory': continue path = item.get_uri() if path.startswith('file://'): path = path[7:] self.add_entry( os.path.basename(path), path, item.get_gicon() ) self.show_all() def add_entry(self, name, path, icon, fill_level=None, idx=-1): """Add a new LocationEntry to the list""" path = path.strip() if path == '/': return if path in self.known_paths: LOGGER.info('In known paths: ' + path) return entry = LocationEntry(name, path, icon, fill_level) self.known_paths.add(path) self.box.insert(entry, idx) entry.connect( 'notify::preferred', lambda *_: self._update_selected_label() ) entry.connect( 'shortcut', self._shortcut_clicked ) return entry def on_row_clicked(self, _, row): """Highlight an entry when a row was clicked.""" style_ctx = row.get_style_context() if style_ctx.has_class('selected'): style_ctx.remove_class('selected') self.selected_locations.remove(row) else: style_ctx.add_class('selected') self.selected_locations.append(row) self._update_selected_label() def _update_selected_label(self): """Update the lower count of selected LocationEntries.""" prefd_paths = sum(rw.props.preferred for rw in self.selected_locations) count = len(self.selected_locations) self.selected_label.set_markup( '{sel} {dirs} ï¼ {pref} of them preferred'.format( sel=count, dirs='directory' if count is 1 else 'directories', pref=prefd_paths ) ) self.revealer.set_reveal_child(bool(self.selected_locations)) def on_search_changed(self, _): """Called once the user enteres a new search query.""" if self.is_visible: self.box.invalidate_filter() def _filter_func(self, row): """Decide if a row shoul be visible depending on the search term.""" query = self.search_entry.get_text().lower() if query in row.path.lower(): return True return query in row.name.lower() def on_view_enter(self): """Called when the view gets visible.""" self.add_header_widget(self.chooser_button) self.chooser_button.show_all() # If no process is currently running it should not be # possible to go right from locations view. main_view = self.app_window.views['runner'] if not main_view.is_running: GLib.idle_add( lambda: self.app_window.views.go_right.set_sensitive(False) ) def on_chooser_button_clicked(self, _): """Button click on the location chooser.""" self.stack.set_visible_child_name('chooser') self.app_window.remove_header_widget(self.chooser_button) self.app_window.views.go_right.set_sensitive(False) self.app_window.views.go_left.set_sensitive(False) self.revealer.set_reveal_child(False) self.sub_title = 'Choose a new location' open_button = IconButton('emblem-ok-symbolic', 'Add selected') open_button.get_style_context().add_class( Gtk.STYLE_CLASS_SUGGESTED_ACTION ) close_button = IconButton('window-close-symbolic', 'Cancel') self.add_header_widget(open_button) self.add_header_widget(close_button, align=Gtk.Align.START) def _go_back(): """Switch back to the LocationEntry list.""" self.app_window.remove_header_widget(open_button) self.app_window.remove_header_widget(close_button) self.add_header_widget(self.chooser_button) self.stack.set_visible_child_name('list') self.app_window.views.go_right.set_sensitive(True) self.app_window.views.go_left.set_sensitive(True) self.revealer.set_reveal_child(True) self.selected_locations = [] self._update_selected_label() self._set_title() def _open_clicked(_): """The open file button was clicked. Add paths.""" for path in self.file_chooser.get_filenames(): name = os.path.basename(path) # self.recent_mgr.add_item(path) self.add_recent_item(path) entry = self.add_entry( name, path, Gio.ThemedIcon( name='folder-new' ), idx=0 ) self.box.select_row(entry) self.box.show_all() _go_back() def _close_clicked(_): """Abort choosing.""" _go_back() def _selection_changed(_): """Make the open button sensitive when something is selected.""" is_sensitive = bool(self.file_chooser.get_filenames()) open_button.set_sensitive(is_sensitive) open_button.connect('clicked', _open_clicked) close_button.connect('clicked', _close_clicked) self.file_chooser.connect('selection-changed', _selection_changed) open_button.show_all() close_button.show_all() def _run_clicked(self, _): """Switch one view further to the runner view.""" tagged, untagged = [], [] for row in self.selected_locations: if row.props.preferred: tagged.append(row.path) else: untagged.append(row.path) self.scan_paths(untagged, tagged) def _shortcut_clicked(self, row): """User clicked on one of the row side arrows.""" # It's only one path. Do not worry about tagged/untagged. self.scan_paths([row.path], []) def scan_paths(self, untagged, tagged): """Actually go to the main view and trigger scan.""" main_view = self.app_window.views['runner'] if tagged or untagged: main_view.trigger_run(untagged, tagged) self.app_window.views.switch('runner') def _del_clicked(self, _): """Delete all selected LocationEntries.""" for row in self.selected_locations: LOGGER.debug('Removing location entry:' + row.path) self.box.remove(row) try: Gtk.RecentManager.get_default().remove_item(row.path) except GLib.Error: LOGGER.warning('Could not remove recent item: %s', row.path) if row.path in self.known_paths: self.known_paths.remove(row.path) self.selected_locations = [] self._update_selected_label() def on_default_action(self): """Executed on Ctrl-Enter""" self._run_clicked(None) rmlint-2.6.1/gui/shredder/views/runner.py000066400000000000000000000346631312046612000204400ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """ Main view of Shredder. Shows the chart and a treeview of suspicious files. """ # Stdlib: import logging # External: from gi.repository import Gtk from gi.repository import GLib from gi.repository import GObject # Internal: from shredder.util import View, IconButton, NodeState from shredder.util import MultipleChoiceButton, scrolled from shredder.chart import ChartStack from shredder.tree import PathTreeView, PathTreeModel, Column from shredder.runner import Runner LOGGER = logging.getLogger('runview') RENDER_CHOICES = ['All', 'Selected', 'Filtered'] class ResultActionBar(Gtk.ActionBar): """Down right bar with the controls""" __gsignals__ = { 'generate-all-script': (GObject.SIGNAL_RUN_FIRST, None, ()), 'generate-filtered-script': (GObject.SIGNAL_RUN_FIRST, None, ()), 'generate-selection-script': (GObject.SIGNAL_RUN_FIRST, None, ()) } def __init__(self, view): Gtk.ActionBar.__init__(self) left_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) left_box.get_style_context().add_class("linked") self.pack_start(left_box) self.refresh_button = IconButton('view-refresh-symbolic') self.settings_button = IconButton('system-run-symbolic') self.refresh_button.connect( 'clicked', lambda _: view.app_window.views['runner'].rerun() ) self.settings_button.connect( 'clicked', lambda _: view.app_window.views.switch('settings') ) left_box.pack_start(self.refresh_button, False, False, 0) left_box.pack_start(self.settings_button, False, False, 0) right_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) right_box.get_style_context().add_class( Gtk.STYLE_CLASS_LINKED ) self.script_btn = IconButton( 'emblem-documents-symbolic', 'Render script from' ) self.script_btn.connect( 'clicked', self.on_generate_script ) self.script_type_btn = MultipleChoiceButton( RENDER_CHOICES, 'All', 'All' ) self.script_type_btn.set_relief(Gtk.ReliefStyle.NORMAL) right_box.pack_start(self.script_btn, True, True, 0) right_box.pack_start(self.script_type_btn, True, False, 0) self.pack_end(right_box) self.set_sensitive(False) def set_choice(self, choice): """Set the current choice. Might be one of RENDER_CHOICES""" if choice not in RENDER_CHOICES: raise ValueError("Bad choice for button: " + choice) self.script_type_btn.set_selected_choice(choice) def on_generate_script(self, _): """Called when the left side of the compound button was clicked.""" choice = self.script_type_btn.get_selected_choice().lower() if choice == 'all': self.emit('generate-all-script') elif choice == 'filtered': self.emit('generate-filtered-script') elif choice == 'selected': self.emit('generate-selection-script') else: LOGGER.error('Bug: bad choice selection: %s', choice) def set_sensitive(self, mode): """Set the gen-script button (non)-sensitive and (non)-suggested""" btn_ctx = self.script_btn.get_style_context() type_ctx = self.script_type_btn.get_style_context() if mode: btn_ctx.add_class(Gtk.STYLE_CLASS_SUGGESTED_ACTION) type_ctx.add_class(Gtk.STYLE_CLASS_SUGGESTED_ACTION) else: btn_ctx.remove_class(Gtk.STYLE_CLASS_SUGGESTED_ACTION) type_ctx.remove_class(Gtk.STYLE_CLASS_SUGGESTED_ACTION) self.script_btn.set_sensitive(mode) self.script_type_btn.set_sensitive(mode) def is_sensitive(self): return self.script_btn.is_sensitive() class RunnerView(View): """Main action View. Public attributes: - script: A Script instance. - runner: The current run-instance. - model: The data. """ def __init__(self, app): View.__init__(self, app, 'Running…') # Public: The runner. self.runner = None self.last_paths = [] # Disable scrolling for the main view: self.scw.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER) # Public flag for checking if the view is still # in running mode (thus en/disabling certain features) self.is_running = False self._script_generated = False self._is_filtered = False self.model = PathTreeModel([]) self.treeview = PathTreeView() self.treeview.set_model(self.model) self.treeview.get_selection().connect( 'changed', self.on_selection_changed ) self.group_treeview = PathTreeView() self.group_treeview.set_vexpand(True) self.group_treeview.set_valign(Gtk.Align.FILL) # This is needed to make sure operations on the one update # the other. Interally the same nodes are updated, but it has # to be made sure that the models get updated. self.group_treeview.set_twin(self.treeview) self.treeview.set_twin(self.group_treeview) group_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) group_box.pack_start(scrolled(self.group_treeview), True, True, 0) group_box.pack_start(Gtk.HSeparator(), False, False, 0) self.group_revealer = Gtk.Revealer() self.group_revealer.set_vexpand(True) self.group_revealer.set_valign(Gtk.Align.FILL) self.group_revealer.add(group_box) self.group_revealer.set_no_show_all(True) self.group_revealer.set_size_request(-1, 70) for column in self.treeview.get_columns(): column.connect( 'clicked', lambda _: self.rerender_chart() ) self.chart_stack = ChartStack() self.actionbar = ResultActionBar(self) self.actionbar.set_valign(Gtk.Align.END) self.actionbar.set_halign(Gtk.Align.FILL) # Right part of the view stats_box = Gtk.Paned(orientation=Gtk.Orientation.VERTICAL) stats_box.pack1(self.group_revealer, True, True) stats_box.pack2(self.chart_stack, True, True) stats_box.props.position = 200 # Separator container for separator|chart (could have used grid) separator = Gtk.Separator(orientation=Gtk.Orientation.VERTICAL) right_pane = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) right_pane.pack_start(separator, False, False, 0) right_pane.pack_start(stats_box, True, True, 0) right_pane.set_size_request(100, -1) scw = scrolled(self.treeview) scw.set_size_request(200, -1) paned = Gtk.Paned(orientation=Gtk.Orientation.HORIZONTAL) paned.set_vexpand(True) paned.set_valign(Gtk.Align.FILL) paned.pack1(scw, True, True) paned.pack2(right_pane, True, True) paned.props.position = 720 paned.set_hexpand(True) grid = Gtk.Grid() grid.attach(paned, 0, 0, 1, 1) grid.attach(self.actionbar, 0, 1, 1, 1) self.add(grid) self.search_entry.connect( 'search-changed', self.on_search_changed ) self.actionbar.connect( 'generate-all-script', self.on_generate_script ) self.actionbar.connect( 'generate-filtered-script', self.on_generate_filtered_script ) self.actionbar.connect( 'generate-selection-script', self.on_generate_selection_script ) self._menu = None def reset(self): """Reset internally to freshly initialized.""" self.is_running = False self._script_generated = False self.runner = None self.last_paths = [] self.chart_stack.set_visible_child_name(ChartStack.LOADING) self.actionbar.set_sensitive(False) def trigger_run(self, untagged_paths, tagged_paths): """Trigger a new run on all paths in `paths`""" # Remember last paths for rerun() self.reset() self.last_paths = (untagged_paths, tagged_paths) # Make sure it looks busy: self.sub_title = 'Running…' # Fork off the rmlint process: self.runner = Runner(self.app.settings, untagged_paths, tagged_paths) self.runner.connect('lint-added', self.on_add_elem) self.runner.connect('process-finished', self.on_process_finish) self.runner.run() # Make sure the previous run is not visible anymore: self.model = PathTreeModel(untagged_paths + tagged_paths) self.treeview.set_model(self.model) # Indicate that we're in a fresh run: self.is_running = True self.show_progress(0) def rerun(self): """Rerun with last given paths.""" self.trigger_run(*self.last_paths) ########################### # SIGNAL CALLBACKS # ########################### def on_search_changed(self, entry): """Called once the user entered a new query.""" text = entry.get_text() if text != "": self._is_filtered, choice = True, "Filtered" else: self._is_filtered, choice = False, "All" self.actionbar.set_choice(choice) sub_model = self.model.filter_model(text) if sub_model is not self.treeview.get_model(): self.chart_stack.render(sub_model.trie.root) self.treeview.set_model(sub_model) def on_add_elem(self, runner): """Called once the runner found a new element.""" elem = runner.element self.model.add_path(elem['path'], Column.make_row(elem)) # Decide how much progress to show (or just move a bit) tick = (elem.get('progress', 0) / 100.0) or None self.show_progress(tick) def on_process_finish(self, _, error_msg): """Called once self.runner finished running.""" # Make sure we end up at 100% progress and show # the progress for a short time after (for the nice cozy feeling) LOGGER.info('`rmlint` finished.') self.show_progress(100) GLib.timeout_add(300, self.hide_progress) GLib.timeout_add(350, self.treeview.expand_all) self.sub_title = 'Finished scanning.' if error_msg is not None: self.app_window.show_infobar( error_msg, message_type=Gtk.MessageType.WARNING ) GLib.timeout_add(1000, self.on_delayed_chart_render, -1) def on_delayed_chart_render(self, last_size): """Called after a short delay to reduce chart redraws.""" model = self.treeview.get_model() current_size = len(model) if current_size == last_size: # Come back later: return False if model.trie.has_leaves(): self.chart_stack.set_visible_child_name(ChartStack.CHART) self.rerender_chart() self.actionbar.set_sensitive(True) else: self.chart_stack.set_visible_child_name(ChartStack.EMPTY) GLib.timeout_add(1500, self.on_delayed_chart_render, current_size) return False def rerender_chart(self): """Re-render the chart from the current model root.""" LOGGER.info('Refreshing chart.') model = self.treeview.get_model() self.chart_stack.render(model.trie.root) def on_view_enter(self): """Called when the view enters sight.""" GLib.idle_add( lambda: self.app_window.views.go_right.set_sensitive( self._script_generated ) ) def on_view_leave(self): """Called when the view leaves sight.""" self.app_window.views.go_right.set_sensitive(True) def on_selection_changed(self, _): """Called when the user clicks a specific row.""" node = self.treeview.get_selected_node() # Nothing selected: if node is None: # "Filtered" trumps "All" if not self._is_filtered: self.actionbar.set_choice("All") return self.actionbar.set_choice("Selected") if not node.children: # It is a single file. # Show a chart containing all twins of this file. # This is helpful to see quickly where those lie. cksum = node[Column.CKSUM] group = self.model.trie.group(cksum) paths = [] if len(self.last_paths) > 1: paths = self.last_paths[0] + self.last_paths[1] group_model = PathTreeModel(paths) for twin_node in group or []: group_model.add_path( twin_node.build_path(), twin_node.row, immediately=True ) self.group_treeview.set_model(group_model) self.group_revealer.show() self.group_revealer.get_child().show_all() self.group_revealer.set_reveal_child(True) self.chart_stack.render(group_model.trie.root) else: self.group_revealer.hide() self.group_revealer.set_reveal_child(False) self.chart_stack.render(node) def _generate_script(self, trie, node): """Do the actual generation work, starting at `node` in `trie`.""" self._script_generated = True gen = trie.iterate(node=node) self.runner.replay({ ch.build_path(): NodeState.should_keep(ch[Column.TAG]) for ch in gen if ch.is_leaf }) self.app_window.views.go_right.set_sensitive(True) self.app_window.views.switch('editor') def on_generate_script(self, _): """Generate the full script.""" self._generate_script(self.model.trie, self.model.trie.root) def on_generate_filtered_script(self, _): """Generate the script with only the visible content.""" model = self.treeview.get_model() self._generate_script(model.trie, model.trie.root) def on_generate_selection_script(self, _): """Generate the script only from the current selected dir or files.""" model = self.treeview.get_model() selected_node = self.treeview.get_selected_node() if selected_node is None: LOGGER.info('Nothing selected to make script from.') return self._generate_script(model.trie, selected_node) def on_default_action(self): """Called on Ctrl-Enter""" if self.actionbar.is_sensitive(): trie = self.model.trie self._generate_script(trie, trie.root) rmlint-2.6.1/gui/shredder/views/settings.py000066400000000000000000000304221312046612000207540ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """ This is a rather generic interface for building a settings view from a GSettingsSchema, which is (usually) defined as XML File. For shredder this file is `org.gnome.Shredder.gschema.xml` and contains a description of all keys used by Shredder. Keys are typed in GSettings, so depending on the type a suitable widget is constructed. Changes from outside are displayed by the widget and changes of the widget cause a change of the key's value. For reference, keys can be changed on the commandline too: $ gsettings --schemadir ~/.glib-schemas set org.gnome.Shredder traverse-depth 2 """ # Stdlib: import re import logging from operator import itemgetter from functools import partial # External: from gi.repository import Gtk from gi.repository import GLib # Internal: from shredder.util import View, SuggestedButton, DestructiveButton from shredder.util import FileSizeRange, MultipleChoiceButton LOGGER = logging.getLogger('settings') ################ # TYPE WIDGETS # ################ def boolean_widget(settings, key_name, *_): """Provide a simple widget for a boolean option key""" switch = Gtk.Switch() settings.bind(key_name, switch, 'active', 0) switch.set_active(settings.get_boolean(key_name)) return switch def numeric_widget(settings, key_name, *_, step=1): """Provide a single widget to change a numeric key""" # Use GSetting's "reflection" to get key metadata: schema = settings.get_property('settings-schema') key = schema.get_key(key_name) range_type, range_variant = key.get_range() range_wdgt = Gtk.SpinButton.new_with_range(0, 10 ** 10, step) # Configure the range of the values if given: if range_type == 'range': min_val, max_val = range_variant range_wdgt.set_range(min_val, max_val) settings.bind(key_name, range_wdgt, 'value', 0) func = settings.get_int if step is 1 else settings.get_double range_wdgt.set_value(func(key_name)) return range_wdgt def range_widget(settings, key_name, *_): """Create a range widget for key types like (tt)""" min_val, max_val = settings.get_value(key_name) widget = FileSizeRange(min_val, max_val) def setting_changed(*_): """GSettings -> Widget callback.""" min_val, max_val = settings.get_value(key_name) widget.min_value = min_val widget.max_value = max_val def widget_changed(*_): """Widget -> GSettings callback.""" min_val, max_val = widget.min_value, widget.max_value settings.set_value(key_name, GLib.Variant('(tt)', (min_val, max_val))) # Bind manually: settings.connect('changed::' + key_name, setting_changed) widget.connect('value-changed', widget_changed) return widget def choice_widget(settings, key_name, summary, _): """Create a widget for choosing between a list of selections""" schema = settings.props.settings_schema key = schema.get_key(key_name) selected = settings.get_string(key_name) default = key.get_default_value().get_string() range_type, range_variant = key.get_range() if range_type != 'enum': LOGGER.warning('%s is not an enum.', key_name) return choices = list(range_variant) button = MultipleChoiceButton(choices, default, selected) button.connect( 'row-selected', lambda _: settings.set_string(key_name, button.get_selected_choice()) ) settings.bind(key_name, button.value_label, 'choice', 0) return button VARIANT_TO_WIDGET = { 'b': boolean_widget, 'i': partial(numeric_widget), 'd': partial(numeric_widget, step=0.1), 's': choice_widget, '(ii)': range_widget, '(tt)': range_widget } ##################### # ACTUAL VIEW # ##################### class SettingsView(View): """Generic GSettingsView in a modern Gnome like appearance.""" def __init__(self, app): View.__init__( self, app, sub_title='Configure how duplicates are searched' ) self._grid = Gtk.Grid() self._grid.set_margin_start(30) self._grid.set_margin_end(40) self._grid.set_margin_top(5) self._grid.set_margin_bottom(15) self._grid.set_hexpand(True) self._grid.set_vexpand(True) self._grid.set_halign(Gtk.Align.FILL) self._grid.set_valign(Gtk.Align.FILL) self.add(self._grid) self.save_settings = False self.sections = {} self.metadata = {} self.appy_btn = SuggestedButton() self.deny_btn = DestructiveButton('Reset to defaults') self.appy_btn.connect('clicked', self.on_apply_settings) self.deny_btn.connect('clicked', self.on_reset_to_defaults) self.search_entry.connect( 'search-changed', self.on_search_changed ) # Initialize from current settings: self.build() def append_section(self, heading): """Append a new named section for multiple entries with `heading`""" box = Gtk.ListBox() box.set_selection_mode(Gtk.SelectionMode.NONE) box.set_size_request(350, -1) box.set_hexpand(True) frame = Gtk.Frame() frame.set_halign(Gtk.Align.FILL) frame.add(box) label = Gtk.Label() label.set_margin_top(30) label.set_markup( '{}:'.format(GLib.markup_escape_text(heading, -1)) ) label.set_halign(Gtk.Align.START) label.set_margin_bottom(2) self.sections[heading.lower()] = box self.metadata[heading.lower()] = { 'label': label, 'frame': frame } self._grid.attach(label, 0, len(self._grid), 1, 1) self._grid.attach(frame, 0, len(self._grid), 1, 1) def append_entry(self, section, val_widget, key_name, summary, desc=None): """Append an entry to a named section. section: A previously inserted section name. val_widget: The widget to show the key in. summary: A short summary to show. desc: A longer description. """ desc_label = Gtk.Label(desc or '') summ_label = Gtk.Label(summary or '') desc_label.get_style_context().add_class( Gtk.STYLE_CLASS_DIM_LABEL ) for label in desc_label, summ_label: label.set_use_markup(True) label.set_halign(Gtk.Align.FILL) label.set_hexpand(True) label.set_halign(Gtk.Align.START) val_widget.set_halign(Gtk.Align.END) sub_grid = Gtk.Grid() sub_grid.attach(summ_label, 0, 0, 1, 1) sub_grid.attach(desc_label, 0, 1, 1, 1) sub_grid.attach(val_widget, 1, 0, 1, 2) sub_grid.set_border_width(3) listbox = self.sections[section.lower()] if len(listbox): sep_row = Gtk.ListBoxRow() # Needs gtk >= 3.14 if hasattr(sep_row, 'set_activatable'): sep_row.set_activatable(False) sep_row.add(Gtk.Separator()) listbox.insert(sep_row, -1) row = Gtk.ListBoxRow() row.add(sub_grid) row.set_can_focus(False) listbox.insert(row, -1) self.metadata[section.lower()][key_name] = { 'summary': '' if summary is None else summary.lower(), 'description': '' if desc is None else desc.lower(), 'widget': row } def reset_to_defaults(self): """Reset whole view and keys to their defaults""" for key_name in self.app.settings.list_keys(): self.app.settings.reset(key_name) def build(self): """Built all entries and sections""" gst = self.app.settings entry_rows = [] for key_name in gst.list_keys(): key = gst.get_property('settings-schema').get_key(key_name) variant_key = gst.get_value(key_name) # Try to find a way to render this option: constructor = VARIANT_TO_WIDGET.get(variant_key.get_type_string()) if constructor is None: continue # Get the key summary and description: summary = '{}'.format(key.get_summary()) # This is an extension of this code: if summary.startswith('[hidden]'): continue order, order_grep = 0, re.match(r'\[(\d+)]\s(.*)', summary) if order_grep is not None: order, summary = int(order_grep.group(1)), order_grep.group(2) description = key.get_description() if description: description = '{desc}'.format( desc=key.get_description() ) # Get a fitting, readily prepared configure widget val_widget = constructor(gst, key_name, summary, description) # Try to find the section name by the keyname. # This is an extension made by this code and not part of GSettings. section = '' if '-' in key_name: section, _ = key_name.split('-', maxsplit=1) entry_rows.append( (order, section, val_widget, key_name, summary, description) ) for section in sorted(set([entry[1] for entry in entry_rows])): self.append_section(section.capitalize()) for entry in sorted(entry_rows, key=itemgetter(0, 2)): self.append_entry(*entry[1:]) #################### # SIGNAL CALLBACKS # #################### def on_search_changed(self, _): """Called once the user enteres a new search query.""" query = self.search_entry.get_text().lower() def _set_vis(widget, state, lower): """Set opacity and sensitivity in one.""" widget.set_sensitive(state) widget.set_opacity(1.0 if state else lower) for _, metadata in self.metadata.items(): section_visible = 0 for key_name, info in metadata.items(): if key_name in ['label', 'frame']: continue row = info['widget'] if query in info['summary'] or query in info['description']: section_visible += 1 _set_vis(row, True, 0.5) else: _set_vis(row, False, 0.5) section_frame = metadata['frame'] section_label = metadata['label'] _set_vis(section_frame, section_visible > 0, 0.2) _set_vis(section_label, section_visible > 0, 0.2) def on_view_enter(self): """Called once the view is visible. Delay save of settings.""" self.save_settings = False self.app.settings.delay() # Give the buttons a specific context meaning: self.on_key_changed(self.app.settings, None) self.app.settings.connect('changed', self.on_key_changed) self.add_header_widget(self.appy_btn) self.add_header_widget(self.deny_btn, Gtk.Align.START) # It's usually more useful when switching back to the latest view, # not to the view to the right since user might just have wanted # to have a quick settings change from anywhere in the application. self.app_window.views.switch_to_previous_next() def on_view_leave(self): """Called once the view gets out of sight. Revert or apply.""" if self.save_settings: self.app.settings.apply() else: self.app.settings.revert() self.clear_header_widgets() def on_apply_settings(self, *_): """Callback for the apply button.""" self.save_settings = True self.app_window.views.switch_to_previous() def on_reset_to_defaults(self, *_): """Callback for the reset button.""" self.app.settings.revert() GLib.timeout_add( 100, lambda: self.reset_to_defaults() or self.app.settings.delay() ) self.save_settings = False self.app_window.views.switch_to_previous() def on_key_changed(self, settings, _): """Called when a key in GSettings changes.""" is_sensitive = settings.get_has_unapplied() self.appy_btn.set_sensitive(is_sensitive) self.deny_btn.set_sensitive(is_sensitive) def on_default_action(self): """Called on Ctrl-Enter""" if self.appy_btn.is_sensitive(): self.on_apply_settings() else: self.app_window.views.switch_to_previous() rmlint-2.6.1/gui/shredder/window.py000066400000000000000000000210701312046612000172650ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 """ Shredder's implementation og GtkApplicationWindow. Notable classes: - ViewSwitcher: Logic for switching main content. - HeaderBar: Logic for the upper header. - MainWindow: Window with HeaderBar and View stack. """ # Stdlib: import logging from functools import partial from gettext import gettext # External: from gi.repository import Gtk from gi.repository import Gio # Internal: import shredder _ = gettext LOGGER = logging.getLogger('window') class ViewSwitcher(Gtk.Box): """Implements the logic for switching through views. Looks like a linked two button box on the outside. """ def __init__(self, stack): Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL) self._stack = stack self._prev = None self._switch_to_previous_next = False # Make the buttons appear connected: self.get_style_context().add_class('linked') self.go_left, self.go_right = Gtk.Button(), Gtk.Button() for btn, arrow, direction in ( (self.go_left, Gtk.ArrowType.LEFT, -1), (self.go_right, Gtk.ArrowType.RIGHT, +1) ): btn.add(Gtk.Arrow(arrow, Gtk.ShadowType.NONE)) btn.connect('clicked', partial( self._set_widget_at, step=direction )) btn.set_sensitive(False) self.add(btn) self.show_all() def __getitem__(self, name): return self._stack.get_child_by_name(name) def _find_curr_index(self): """Find the numeric index where the current view lies""" visible = self._stack.get_visible_child() widgets = list(self._stack) try: return widgets.index(visible) except ValueError: return 0 def _get_widget_at(self, idx): """Return the widgets at a certain numeric index""" idx = max(0, min(len(self._stack) - 1, idx)) return list(self._stack)[idx] def _set_widget_at(self, _=None, step=+1): """Step right (or left if step is negative) from current view""" if self._switch_to_previous_next: self._switch_to_previous_next = False if self._prev: self.switch_to_previous() return current_idx = self._find_curr_index() next_widget = self._get_widget_at(current_idx + step) self._set_visible_child(next_widget) self._update_sensitivness() def _set_visible_child(self, child, update_prev=True): """Set and notify about the changed view""" prev = self._stack.get_visible_child() self._stack.set_visible_child(child) try: child.emit('view-enter') except TypeError: pass try: prev.emit('view-leave') except TypeError: pass if update_prev: self._prev = prev def _update_sensitivness(self): """Check if we need to grey out left/right buttons""" idx = self._find_curr_index() self.go_left.set_sensitive(idx != 0) self.go_right.set_sensitive(idx != len(self._stack) - 1) def add_view(self, view, name): """Add a new `view` widget to the view switcher. It will be selectable by `name`. """ view.set_hexpand(True) view.set_vexpand(True) view.set_halign(Gtk.Align.FILL) view.set_valign(Gtk.Align.FILL) view.show_all() self._stack.add_named(view, name) def switch(self, name): """Switch to a certain view by name.""" if name == self._stack.get_visible_child_name(): LOGGER.warning('view `%s` already visible.', name) return widget = self._stack.get_child_by_name(name) self._set_visible_child(widget) self._update_sensitivness() def switch_to_previous(self): """Switch to last visible view.""" if self._prev is None: return self._set_visible_child(self._prev, update_prev=False) self._update_sensitivness() def switch_to_previous_next(self): """Next click on direction buttons will call switch_to_previous()""" self._switch_to_previous_next = True def set_search_mode(self, mode): """Activate or deactivate search bar for current view.""" view = self._stack.get_visible_child() view.set_search_mode(mode) def do_default_action(self): """Emits the default action on the current view. This is usually equal to clicking the suggested button. """ view = self._stack.get_visible_child() if view and hasattr(view, 'on_default_action'): LOGGER.info( 'Doing default action for `%s`', self._stack.get_visible_child_name() ) view.on_default_action() class HeaderBar(Gtk.HeaderBar): """Container for the headerbar logic.""" def __init__(self): Gtk.HeaderBar.__init__(self) self.set_title(shredder.APP_TITLE) self.set_subtitle(shredder.APP_DESCRIPTION) # This is a hack to get a small annoying bug under control: # If adding buttons to the headerbar, its size will increase # This sometimes lead to small drawing errors and jumpy interface. # This fix is not very clever but works at least. self.set_size_request(-1, 46) def _create_item(name, action, icon, variant=None): """Create a GMenuItem from an action, optionally with an icon""" if variant is not None: name = '{n} ({v})'.format(n=name, v=str(variant)) item = Gio.MenuItem.new(name, action) item.set_icon(Gio.ThemedIcon.new(icon)) if variant: item.set_action_and_target_value(action, variant) return item class MainWindow(Gtk.ApplicationWindow): """Shredder's top level GtkApplicationWindow""" def __init__(self, application): Gtk.ApplicationWindow.__init__( self, title='Shredder', application=application ) # Set the css name: self.set_name('ShredderWindow') self.set_title(shredder.APP_TITLE) self.set_default_size(1280, 660) self.view_stack = Gtk.Stack() self.view_stack.set_transition_type( Gtk.StackTransitionType.SLIDE_LEFT_RIGHT ) self.views = ViewSwitcher(self.view_stack) self.headerbar = HeaderBar() self.headerbar.pack_start(self.views) self.set_titlebar(self.headerbar) main_menu = Gio.Menu() main_menu.append_item( _create_item(_('Settings'), 'app.settings', 'emblem-system') ) main_menu.append_item( _create_item(_('About'), 'app.about', 'help-about') ) main_menu.append_item( _create_item(_('Search'), 'app.search', 'find-location-symbolic') ) main_menu.append_item( _create_item(_('Quit'), 'app.quit', 'window-close') ) # Add the menu button up right: menu_button = Gtk.MenuButton() menu_button.add( Gtk.Image.new_from_gicon( Gio.ThemedIcon(name="emblem-system-symbolic"), Gtk.IconSize.BUTTON ) ) menu_button.set_menu_model(main_menu) # Add the symbolic search button: search_button = Gtk.ToggleButton() search_button.add( Gtk.Image.new_from_gicon( Gio.ThemedIcon(name="edit-find-symbolic"), Gtk.IconSize.BUTTON ) ) application = Gio.Application.get_default() search_button.connect( 'clicked', lambda btn: self.views.set_search_mode(btn.get_active()) ) if shredder.APP_USE_TRADITIONAL_MENU: menu_button.set_use_popover(False) self.main_grid = Gtk.Grid() self.main_grid.attach(self.view_stack, 0, 3, 1, 1) self.headerbar.pack_end(menu_button) self.headerbar.pack_end(search_button) self.add(self.main_grid) def add_header_widget(self, widget, align=Gtk.Align.END): """Add a widget to the header, either left or right of the title. """ if align is Gtk.Align.END: self.headerbar.pack_end(widget) elif align is Gtk.Align.START: self.headerbar.pack_start(widget) else: raise ValueError('{align} not supported here.'.format(align=align)) widget.show_all() def remove_header_widget(self, widget): """Remove a previously added headerwidget. Noop if it did not exist""" if widget in self.headerbar: self.headerbar.remove(widget) rmlint-2.6.1/lib/000077500000000000000000000000001312046612000135665ustar00rootroot00000000000000rmlint-2.6.1/lib/SConscript000066400000000000000000000074561312046612000156140ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 Import('env') Import('VERSION_MAJOR') Import('VERSION_MINOR') Import('VERSION_PATCH') Import('VERSION_NAME') Import('create_uninstall_target') import os import codecs def build_config_template(target, source, env): text = source[0].get_text_contents() with codecs.open(target[0].get_abspath(), 'w') as handle: config_h = text.format( INSTALL_PREFIX=GetOption('actual_prefix') or GetOption('prefix'), HAVE_LIBINTL=env['HAVE_GETTEXT'], HAVE_LIBELF=env['HAVE_LIBELF'], HAVE_JSON_GLIB=env['HAVE_JSON_GLIB'], HAVE_GIO_UNIX=env['HAVE_GIO_UNIX'], HAVE_FIEMAP=env['HAVE_FIEMAP'], HAVE_XATTR=env['HAVE_XATTR'], HAVE_SHA512=env['HAVE_SHA512'], HAVE_BIGFILES=env['HAVE_BIGFILES'], HAVE_STAT64=env['HAVE_BIG_STAT'], HAVE_POSIX_FADVISE=env['HAVE_POSIX_FADVISE'], HAVE_BIG_OFF_T=env['HAVE_BIG_OFF_T'], HAVE_BLKID=env['HAVE_BLKID'], HAVE_SYSBLOCK=env['HAVE_SYSBLOCK'], HAVE_LINUX_LIMITS=env['HAVE_LINUX_LIMITS'], HAVE_BTRFS_H=env['HAVE_BTRFS_H'], HAVE_FACCESSAT=env['HAVE_FACCESSAT'], HAVE_UNAME=env['HAVE_UNAME'], HAVE_SYSMACROS_H=env['HAVE_SYSMACROS_H'], VERSION_MAJOR=VERSION_MAJOR, VERSION_MINOR=VERSION_MINOR, VERSION_PATCH=VERSION_PATCH, VERSION_NAME=VERSION_NAME, VERSION_GIT_REVISION=env['gitrev'].strip() ) handle.write(config_h) def prepare_c_source(text): # Prepare the Python source to be compatible with C-strings text = text.replace('"', '\\"') text = text.replace('\\n', '\\\\n') text = text.replace('%', '%%') text = text.replace('%%s', '%s') text = '\\n"\n"'.join(text.splitlines()) return text def build_python_formatter(target, source, env): text = source[0].get_text_contents() with codecs.open('lib/formats/py.py', 'r') as handle: py_source = prepare_c_source(handle.read()) with codecs.open(target[0].get_abspath(), 'w') as handle: handle.write(text.replace('<>', py_source)) def build_sh_formatter(target, source, env): text = source[0].get_text_contents() with codecs.open('lib/formats/sh.sh', 'r') as handle: sh_source = prepare_c_source(handle.read()) with codecs.open(target[0].get_abspath(), 'w') as handle: handle.write(text.replace('<>', sh_source)) config = env.Command( 'config.h', 'config.h.in', build_config_template ) py_formatter = env.Command( 'formats/py.c', 'formats/py.c.in', build_python_formatter ) sh_formatter = env.Command( 'formats/sh.c', 'formats/sh.c.in', build_sh_formatter ) library = env.Library( '../rmlint', Glob('*.c') + Glob('checksums/*.c') + Glob('checksums/xxhash/*.c') + Glob('checksums/blake2/*.c') + Glob('checksums/sha3/*.c') + Glob('formats/*.c') + Glob('fts/*.c') ) headers = Glob('*.h') env.Depends(library, [config, py_formatter, sh_formatter]) env.AlwaysBuild(config) env.AlwaysBuild(py_formatter) env.AlwaysBuild(sh_formatter) # Disable this for now until someone # announces interest in this. INSTALL_LIBRARY = False if 'install' in COMMAND_LINE_TARGETS and INSTALL_LIBRARY: env.Alias('install', env.Install('$PREFIX/' + GetOption('libdir'), [library])) for header in headers: env.Alias('install', env.Install('$PREFIX/include/rmlint', [header])) if 'uninstall' in COMMAND_LINE_TARGETS and INSTALL_LIBRARY: create_uninstall_target(env, "$PREFIX/{}/{}".format( GetOption('libdir'), os.path.basename(str(library[0])) )) for header in headers: create_uninstall_target(env, "$PREFIX/include/rmlint/" + str(header)) Return('library') rmlint-2.6.1/lib/api.h000066400000000000000000000020021312046612000145020ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ /* GLib types are part of the API */ #include #include "cfg.h" #include "cmdline.h" #include "config.h" #include "session.h" rmlint-2.6.1/lib/cfg.c000066400000000000000000000073641312046612000145030ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint **/ #include #include #include #include "cfg.h" static void rm_path_free(RmPath *rmpath) { free(rmpath->path); g_slice_free(RmPath, rmpath); } /* Options not specified by commandline get a default option - * this is usually called before rm_cmd_parse_args */ void rm_cfg_set_default(RmCfg *cfg) { /* Set everything to 0 at first, * only non-null options are listed below. */ memset(cfg, 0, sizeof(RmCfg)); /* Traversal options */ cfg->depth = PATH_MAX / 2; cfg->limits_specified = true; cfg->minsize = 1; cfg->maxsize = G_MAXUINT64; /* Lint Types */ cfg->ignore_hidden = true; cfg->find_emptydirs = true; cfg->find_emptyfiles = true; cfg->find_duplicates = true; cfg->find_badids = true; cfg->find_badlinks = true; cfg->find_hardlinked_dupes = true; cfg->build_fiemap = true; cfg->crossdev = true; cfg->list_mounts = true; /* Misc options */ cfg->sort_criteria = g_strdup("pOma"); cfg->checksum_type = RM_DEFAULT_DIGEST; cfg->with_color = true; cfg->with_stdout_color = true; cfg->with_stderr_color = true; cfg->threads = 16; cfg->threads_per_disk = 2; cfg->verbosity = G_LOG_LEVEL_INFO; cfg->follow_symlinks = false; cfg->total_mem = (RmOff)1024 * 1024 * 1024; cfg->sweep_size = 1024 * 1024 * 1024; cfg->sweep_count = 1024 * 16; cfg->skip_start_factor = 0.0; cfg->skip_end_factor = 1.0; cfg->use_absolute_start_offset = false; cfg->use_absolute_end_offset = false; cfg->skip_start_offset = 0; cfg->skip_end_offset = 0; cfg->mtime_window = -1; rm_trie_init(&cfg->file_trie); } guint rm_cfg_add_path(RmCfg *cfg, bool is_prefd, const char *path) { int rc = 0; #if HAVE_FACCESSAT rc = faccessat(AT_FDCWD, path, R_OK, AT_EACCESS); #else rc = access(path, R_OK); #endif if(rc != 0) { rm_log_warning_line(_("Can't open directory or file \"%s\": %s"), path, strerror(errno)); return 0; } char *real_path = realpath(path, NULL); if(real_path == NULL) { rm_log_warning_line(_("Can't get real path for directory or file \"%s\": %s"), path, strerror(errno)); return 0; } RmPath *rmpath = g_slice_new(RmPath); rmpath->path = real_path; rmpath->idx = cfg->path_count++; rmpath->is_prefd = is_prefd; rmpath->treat_as_single_vol = strncmp(path, "//", 2) == 0; if(cfg->replay && g_str_has_suffix(rmpath->path, ".json")) { cfg->json_paths = g_slist_prepend(cfg->json_paths, rmpath); return 1; } cfg->paths = g_slist_prepend(cfg->paths, rmpath); return 1; } void rm_cfg_free_paths(RmCfg *cfg) { g_slist_free_full(cfg->paths, (GDestroyNotify)rm_path_free); cfg->paths = NULL; g_slist_free_full(cfg->json_paths, (GDestroyNotify)rm_path_free); cfg->json_paths = NULL; } rmlint-2.6.1/lib/cfg.h000066400000000000000000000105311312046612000144760ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint **/ #ifndef RM_SETTINGS_H #define RM_SETTINGS_H #include #include "checksum.h" #include "pathtricia.h" #include "utilities.h" /* Struct for paths passed to rmlint from command line (or stdin) */ typedef struct RmPath { /* the RealPath of the passed string */ char *path; /* index number (command line order) */ guint idx; /* whether path was tagged as preferred path */ bool is_prefd; /* whether to treat all files under path as one filesystem */ bool treat_as_single_vol; } RmPath; /* Storage struct for all options settable in cmdline. */ typedef struct RmCfg { gboolean with_color; gboolean with_stdout_color; gboolean with_stderr_color; gboolean crossdev; gboolean ignore_hidden; gboolean partial_hidden; gboolean follow_symlinks; gboolean see_symlinks; gboolean find_badids; gboolean find_badlinks; gboolean find_duplicates; gboolean find_emptydirs; gboolean find_nonstripped; gboolean find_emptyfiles; gboolean keep_all_tagged; gboolean keep_all_untagged; gboolean must_match_tagged; gboolean must_match_untagged; gboolean find_hardlinked_dupes; gboolean limits_specified; gboolean filter_mtime; gboolean match_basename; gboolean unmatched_basenames; gboolean match_with_extension; gboolean match_without_extension; gboolean merge_directories; gboolean honour_dir_layout; gboolean write_cksum_to_xattr; gboolean read_cksum_from_xattr; gboolean clear_xattr_fields; gboolean write_unfinished; gboolean build_fiemap; gboolean use_buffered_read; gboolean fake_fiemap; gboolean progress_enabled; gboolean list_mounts; gboolean replay; int permissions; gdouble min_mtime; gdouble mtime_window; gint depth; gint verbosity; gdouble skip_start_factor; gdouble skip_end_factor; gboolean use_absolute_start_offset; gboolean use_absolute_end_offset; RmOff skip_start_offset; RmOff skip_end_offset; /* paths passed by command line */ GSList *paths; GSList *json_paths; guint path_count; /* working dir rmlint called from */ char *iwd; /* Path to the rmlint binary of this run */ char *full_argv0_path; /* the full command line */ char *joined_argv; char *sort_criteria; char rank_criteria[64]; RmTrie file_trie; RmOff minsize; RmOff maxsize; RmOff threads; guint threads_per_disk; RmDigestType checksum_type; /* total number of bytes we are allowed to use (target only) */ RmOff total_mem; /* number of bytes to read before going back to start of disk * (too big a sweep risks metadata getting pushed out of ram)*/ RmOff sweep_size; RmOff sweep_count; gboolean shred_always_wait; gboolean shred_never_wait; gboolean fake_pathindex_as_disk; gboolean fake_abort; /* If true, files are hold back to * the end of the program run and printed then. */ gboolean cache_file_structs; /* Instead of running in duplicate detection mode, * check if the passed arguments are equal files * (or directories) */ gboolean run_equal_mode; } RmCfg; /** * @brief Reset RmCfg to default cfg and all other vars to 0. */ void rm_cfg_set_default(RmCfg *cfg); /** * @brief check and add a path to cfg->paths. */ guint rm_cfg_add_path(RmCfg *cfg, bool is_prefd, const char *path); /** * @brief free all data associated with cfg->paths. */ void rm_cfg_free_paths(RmCfg *cfg); #endif /* end of include guard */ rmlint-2.6.1/lib/checksum.c000066400000000000000000001034141312046612000155370ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ /* Welcome to hell! * * This file is 90% boring switch statements with innocent, but insane code * squashed between. Modify this file with care and make sure to test all * checksums afterwards. **/ #include #include #include #include #include #include #include #include "checksum.h" #include "checksums/blake2/blake2.h" #include "checksums/cfarmhash.h" #include "checksums/city.h" #include "checksums/citycrc.h" #include "checksums/murmur3.h" #include "checksums/sha3/sha3.h" #include "checksums/spooky-c.h" #include "checksums/xxhash/xxhash.h" #include "utilities.h" #define _RM_CHECKSUM_DEBUG 0 /////////////////////////////////////// // BUFFER POOL IMPLEMENTATION // /////////////////////////////////////// RmOff rm_buffer_size(RmBufferPool *pool) { return pool->buffer_size; } static RmBuffer *rm_buffer_new(RmBufferPool *pool) { RmBuffer *self = g_slice_new0(RmBuffer); self->pool = pool; self->data = g_slice_alloc(pool->buffer_size); return self; } static void rm_buffer_free(RmBuffer *buf) { g_slice_free1(buf->pool->buffer_size, buf->data); g_slice_free(RmBuffer, buf); } RmBufferPool *rm_buffer_pool_init(gsize buffer_size, gsize max_mem) { RmBufferPool *self = g_slice_new0(RmBufferPool); self->buffer_size = buffer_size; self->avail_buffers = max_mem ? MAX(max_mem / buffer_size, 1) : (gsize)-1; g_cond_init(&self->change); g_mutex_init(&self->lock); return self; } void rm_buffer_pool_destroy(RmBufferPool *pool) { g_slist_free_full(pool->stack, (GDestroyNotify)rm_buffer_free); g_mutex_clear(&pool->lock); g_cond_clear(&pool->change); g_slice_free(RmBufferPool, pool); } RmBuffer *rm_buffer_get(RmBufferPool *pool) { RmBuffer *buffer = NULL; g_mutex_lock(&pool->lock); { while(!buffer) { buffer = rm_util_slist_pop(&pool->stack, NULL); if(!buffer && pool->avail_buffers > 0) { buffer = rm_buffer_new(pool); } if(!buffer) { if(!pool->mem_warned) { rm_log_warning_line( "read buffer limit reached - waiting for " "processing to catch up"); pool->mem_warned = true; } g_cond_wait(&pool->change, &pool->lock); } } pool->avail_buffers--; } g_mutex_unlock(&pool->lock); rm_assert_gentle(buffer); return buffer; } void rm_buffer_release(RmBuffer *buf) { RmBufferPool *pool = buf->pool; g_mutex_lock(&pool->lock); { pool->avail_buffers++; g_cond_signal(&pool->change); pool->stack = g_slist_prepend(pool->stack, buf); } g_mutex_unlock(&pool->lock); } static gboolean rm_buffer_equal(RmBuffer *a, RmBuffer *b) { return (a->len == b->len && memcmp(a->data, b->data, a->len) == 0); } /////////////////////////////////////// // RMDIGEST IMPLEMENTATION // /////////////////////////////////////// static gpointer rm_init_digest_type_table(GHashTable **code_table) { static struct { char *name; RmDigestType code; } code_entries[] = { {"md5", RM_DIGEST_MD5}, {"city512", RM_DIGEST_CITY512}, {"xxhash", RM_DIGEST_XXHASH}, {"farmhash", RM_DIGEST_XXHASH}, {"murmur", RM_DIGEST_MURMUR}, {"murmur128", RM_DIGEST_MURMUR}, {"murmur256", RM_DIGEST_MURMUR256}, {"murmur512", RM_DIGEST_MURMUR512}, {"sha1", RM_DIGEST_SHA1}, {"sha256", RM_DIGEST_SHA256}, {"sha3", RM_DIGEST_SHA3_256}, {"sha3-256", RM_DIGEST_SHA3_256}, {"sha3-384", RM_DIGEST_SHA3_384}, {"sha3-512", RM_DIGEST_SHA3_512}, {"blake2s", RM_DIGEST_BLAKE2S}, {"blake2b", RM_DIGEST_BLAKE2B}, {"blake2sp", RM_DIGEST_BLAKE2SP}, {"blake2bp", RM_DIGEST_BLAKE2BP}, {"city256", RM_DIGEST_CITY256}, {"murmur256", RM_DIGEST_MURMUR256}, {"spooky32", RM_DIGEST_SPOOKY32}, {"spooky64", RM_DIGEST_SPOOKY64}, {"spooky128", RM_DIGEST_SPOOKY}, {"spooky", RM_DIGEST_SPOOKY}, {"ext", RM_DIGEST_EXT}, {"cumulative", RM_DIGEST_CUMULATIVE}, {"paranoid", RM_DIGEST_PARANOID}, {"bastard", RM_DIGEST_BASTARD}, {"bastard256", RM_DIGEST_BASTARD}, {"city", RM_DIGEST_CITY}, {"city128", RM_DIGEST_CITY}, {"city256", RM_DIGEST_CITY256}, {"city512", RM_DIGEST_CITY512}, #if HAVE_SHA512 {"sha512", RM_DIGEST_SHA512}, #endif }; *code_table = g_hash_table_new(g_str_hash, g_str_equal); const size_t n_codes = sizeof(code_entries) / sizeof(code_entries[0]); for(size_t idx = 0; idx < n_codes; idx++) { g_hash_table_insert(*code_table, code_entries[idx].name, GUINT_TO_POINTER(code_entries[idx].code)); } return NULL; } RmDigestType rm_string_to_digest_type(const char *string) { static GHashTable *code_table = NULL; static GOnce table_once = G_ONCE_INIT; if(string == NULL) { return RM_DIGEST_UNKNOWN; } g_once(&table_once, (GThreadFunc)rm_init_digest_type_table, &code_table); gchar *lower_key = g_utf8_strdown(string, -1); RmDigestType code = GPOINTER_TO_UINT(g_hash_table_lookup(code_table, lower_key)); g_free(lower_key); return code; } const char *rm_digest_type_to_string(RmDigestType type) { static const char *names[] = {[RM_DIGEST_UNKNOWN] = "unknown", [RM_DIGEST_MURMUR] = "murmur", [RM_DIGEST_SPOOKY] = "spooky", [RM_DIGEST_SPOOKY32] = "spooky32", [RM_DIGEST_SPOOKY64] = "spooky64", [RM_DIGEST_CITY] = "city", [RM_DIGEST_MD5] = "md5", [RM_DIGEST_SHA1] = "sha1", [RM_DIGEST_SHA256] = "sha256", [RM_DIGEST_SHA512] = "sha512", [RM_DIGEST_SHA3_256] = "sha3-256", [RM_DIGEST_SHA3_384] = "sha3-384", [RM_DIGEST_SHA3_512] = "sha3-512", [RM_DIGEST_BLAKE2S] = "blake2s", [RM_DIGEST_BLAKE2B] = "blake2b", [RM_DIGEST_BLAKE2SP] = "blake2sp", [RM_DIGEST_BLAKE2BP] = "blake2bp", [RM_DIGEST_MURMUR256] = "murmur256", [RM_DIGEST_CITY256] = "city256", [RM_DIGEST_BASTARD] = "bastard", [RM_DIGEST_MURMUR512] = "murmur512", [RM_DIGEST_CITY512] = "city512", [RM_DIGEST_EXT] = "ext", [RM_DIGEST_CUMULATIVE] = "cumulative", [RM_DIGEST_PARANOID] = "paranoid", [RM_DIGEST_FARMHASH] = "farmhash", [RM_DIGEST_XXHASH] = "xxhash"}; return names[MIN(type, sizeof(names) / sizeof(names[0]))]; } /* TODO: remove? */ int rm_digest_type_to_multihash_id(RmDigestType type) { static int ids[] = {[RM_DIGEST_UNKNOWN] = -1, [RM_DIGEST_MURMUR] = 17, [RM_DIGEST_SPOOKY] = 14, [RM_DIGEST_SPOOKY32] = 16, [RM_DIGEST_SPOOKY64] = 18, [RM_DIGEST_CITY] = 15, [RM_DIGEST_MD5] = 1, [RM_DIGEST_SHA1] = 2, [RM_DIGEST_SHA256] = 4, [RM_DIGEST_SHA512] = 6, [RM_DIGEST_MURMUR256] = 7, [RM_DIGEST_CITY256] = 8, [RM_DIGEST_BASTARD] = 9, [RM_DIGEST_MURMUR512] = 10, [RM_DIGEST_CITY512] = 11, [RM_DIGEST_EXT] = 12, [RM_DIGEST_FARMHASH] = 19, [RM_DIGEST_CUMULATIVE] = 13, [RM_DIGEST_PARANOID] = 14}; return ids[MIN(type, sizeof(ids) / sizeof(ids[0]))]; } #define ADD_SEED(digest, seed) \ { \ if(seed) { \ g_checksum_update(digest->glib_checksum, (const guchar *)&seed, \ sizeof(RmOff)); \ } \ } #define BLAKE_INIT(ALGO, ALGO_BIG) \ { \ digest->ALGO##_state = g_slice_alloc0(sizeof(ALGO##_state)); \ ALGO##_init(digest->ALGO##_state, ALGO_BIG##_OUTBYTES); \ if(seed1) { \ ALGO##_update(digest->ALGO##_state, &seed1, sizeof(RmOff)); \ } \ if(seed2) { \ ALGO##_update(digest->ALGO##_state, &seed2, sizeof(RmOff)); \ } \ digest->bytes = ALGO_BIG##_OUTBYTES; \ } #define SHA3_INIT(SIZE) \ digest->sha3_ctx = g_slice_alloc0(sizeof(sha3_context)); \ sha3_Init##SIZE(digest->sha3_ctx); \ if(seed1) { \ sha3_Update(digest->sha3_ctx, &seed1, sizeof(RmOff)); \ } \ if(seed2) { \ sha3_Update(digest->sha3_ctx, &seed2, sizeof(RmOff)); \ } \ digest->bytes = (SIZE) / 8; RmDigest *rm_digest_new(RmDigestType type, RmOff seed1, RmOff seed2, RmOff ext_size, bool use_shadow_hash) { RmDigest *digest = g_slice_new0(RmDigest); digest->checksum = NULL; digest->type = type; digest->bytes = 0; switch(type) { case RM_DIGEST_SPOOKY32: /* cannot go lower than 64, since we read 8 byte in some places. * simulate by leaving the part at the end empty */ digest->bytes = 64 / 8; break; case RM_DIGEST_XXHASH: case RM_DIGEST_FARMHASH: case RM_DIGEST_SPOOKY64: digest->bytes = 64 / 8; break; case RM_DIGEST_MD5: digest->glib_checksum = g_checksum_new(G_CHECKSUM_MD5); ADD_SEED(digest, seed1); digest->bytes = 128 / 8; return digest; #if HAVE_SHA512 case RM_DIGEST_SHA512: digest->glib_checksum = g_checksum_new(G_CHECKSUM_SHA512); ADD_SEED(digest, seed1); digest->bytes = 512 / 8; return digest; #endif case RM_DIGEST_SHA256: digest->glib_checksum = g_checksum_new(G_CHECKSUM_SHA256); ADD_SEED(digest, seed1); digest->bytes = 256 / 8; return digest; case RM_DIGEST_SHA1: digest->glib_checksum = g_checksum_new(G_CHECKSUM_SHA1); ADD_SEED(digest, seed1); digest->bytes = 160 / 8; return digest; case RM_DIGEST_SHA3_256: SHA3_INIT(256); return digest; case RM_DIGEST_SHA3_384: SHA3_INIT(384); return digest; case RM_DIGEST_SHA3_512: SHA3_INIT(512); return digest; case RM_DIGEST_BLAKE2S: BLAKE_INIT(blake2s, BLAKE2S); return digest; case RM_DIGEST_BLAKE2B: BLAKE_INIT(blake2b, BLAKE2B); return digest; case RM_DIGEST_BLAKE2SP: BLAKE_INIT(blake2sp, BLAKE2S); return digest; case RM_DIGEST_BLAKE2BP: BLAKE_INIT(blake2bp, BLAKE2B); return digest; case RM_DIGEST_MURMUR512: case RM_DIGEST_CITY512: digest->bytes = 512 / 8; break; case RM_DIGEST_EXT: /* gets allocated on rm_digest_update() */ digest->bytes = ext_size; break; case RM_DIGEST_MURMUR256: case RM_DIGEST_CITY256: case RM_DIGEST_BASTARD: digest->bytes = 256 / 8; break; case RM_DIGEST_SPOOKY: case RM_DIGEST_MURMUR: case RM_DIGEST_CITY: case RM_DIGEST_CUMULATIVE: digest->bytes = 128 / 8; break; case RM_DIGEST_PARANOID: digest->bytes = 0; digest->paranoid = g_slice_new0(RmParanoid); digest->paranoid->incoming_twin_candidates = g_async_queue_new(); if(use_shadow_hash) { digest->paranoid->shadow_hash = rm_digest_new(RM_DIGEST_XXHASH, seed1, seed2, 0, false); } break; default: rm_assert_gentle_not_reached(); } /* starting values to let us generate up to 4 different hashes in parallel with * different starting seeds: * */ static const RmOff seeds[4] = {0x0000000000000000, 0xf0f0f0f0f0f0f0f0, 0x3333333333333333, 0xaaaaaaaaaaaaaaaa}; if(digest->bytes > 0 && type != RM_DIGEST_PARANOID) { const int n_seeds = sizeof(seeds) / sizeof(seeds[0]); /* checksum type - allocate memory and initialise */ digest->checksum = g_slice_alloc0(digest->bytes); for(gsize block = 0; block < (digest->bytes / 16); block++) { digest->checksum[block].first = seeds[block % n_seeds] ^ seed1; digest->checksum[block].second = seeds[block % n_seeds] ^ seed2; } } if(digest->type == RM_DIGEST_BASTARD) { /* bastard type *always* has *pure* murmur hash for first checksum * and seeded city for second checksum */ digest->checksum[0].first = digest->checksum[0].second = 0; } return digest; } void rm_digest_paranoia_shrink(RmDigest *digest, gsize new_size) { rm_assert_gentle(digest->type == RM_DIGEST_PARANOID); digest->bytes = new_size; } void rm_digest_release_buffers(RmDigest *digest) { if(digest->paranoid && digest->paranoid->buffers) { g_slist_free_full(digest->paranoid->buffers, (GDestroyNotify)rm_buffer_free); digest->paranoid->buffers = NULL; } } void rm_digest_free(RmDigest *digest) { switch(digest->type) { case RM_DIGEST_MD5: case RM_DIGEST_SHA512: case RM_DIGEST_SHA256: case RM_DIGEST_SHA1: g_checksum_free(digest->glib_checksum); digest->glib_checksum = NULL; break; case RM_DIGEST_PARANOID: if(digest->paranoid->shadow_hash) { rm_digest_free(digest->paranoid->shadow_hash); } rm_digest_release_buffers(digest); if(digest->paranoid->incoming_twin_candidates) { g_async_queue_unref(digest->paranoid->incoming_twin_candidates); } g_slist_free(digest->paranoid->rejects); g_slice_free(RmParanoid, digest->paranoid); break; case RM_DIGEST_SHA3_256: case RM_DIGEST_SHA3_384: case RM_DIGEST_SHA3_512: g_slice_free(sha3_context, digest->sha3_ctx); break; case RM_DIGEST_BLAKE2S: g_slice_free(blake2s_state, digest->blake2s_state); break; case RM_DIGEST_BLAKE2B: g_slice_free(blake2b_state, digest->blake2b_state); break; case RM_DIGEST_BLAKE2SP: g_slice_free(blake2sp_state, digest->blake2sp_state); break; case RM_DIGEST_BLAKE2BP: g_slice_free(blake2bp_state, digest->blake2bp_state); break; case RM_DIGEST_EXT: case RM_DIGEST_CUMULATIVE: case RM_DIGEST_MURMUR512: case RM_DIGEST_XXHASH: case RM_DIGEST_CITY512: case RM_DIGEST_MURMUR256: case RM_DIGEST_CITY256: case RM_DIGEST_BASTARD: case RM_DIGEST_SPOOKY: case RM_DIGEST_SPOOKY32: case RM_DIGEST_SPOOKY64: case RM_DIGEST_FARMHASH: case RM_DIGEST_MURMUR: case RM_DIGEST_CITY: if(digest->checksum) { g_slice_free1(digest->bytes, digest->checksum); digest->checksum = NULL; } break; default: rm_assert_gentle_not_reached(); } g_slice_free(RmDigest, digest); } void rm_digest_update(RmDigest *digest, const unsigned char *data, RmOff size) { switch(digest->type) { case RM_DIGEST_EXT: /* Data is assumed to be a hex representation of a checksum. * Needs to be compressed in pure memory first. * * Checksum is not updated but rather overwritten. * */ #define CHAR_TO_NUM(c) (unsigned char)(g_ascii_isdigit(c) ? c - '0' : (c - 'a') + 10) rm_assert_gentle(data); digest->bytes = size / 2; digest->checksum = g_slice_alloc0(digest->bytes); for(unsigned i = 0; i < digest->bytes; ++i) { ((guint8 *)digest->checksum)[i] = (CHAR_TO_NUM(data[2 * i]) << 4) + CHAR_TO_NUM(data[2 * i + 1]); } break; case RM_DIGEST_MD5: case RM_DIGEST_SHA512: case RM_DIGEST_SHA256: case RM_DIGEST_SHA1: g_checksum_update(digest->glib_checksum, (const guchar *)data, size); break; case RM_DIGEST_SHA3_256: case RM_DIGEST_SHA3_384: case RM_DIGEST_SHA3_512: sha3_Update(digest->sha3_ctx, data, size); break; case RM_DIGEST_BLAKE2S: blake2s_update(digest->blake2s_state, data, size); break; case RM_DIGEST_BLAKE2B: blake2b_update(digest->blake2b_state, data, size); break; case RM_DIGEST_BLAKE2SP: blake2sp_update(digest->blake2sp_state, data, size); break; case RM_DIGEST_BLAKE2BP: blake2bp_update(digest->blake2bp_state, data, size); break; case RM_DIGEST_SPOOKY32: digest->checksum[0].first = spooky_hash32(data, size, digest->checksum[0].first); break; case RM_DIGEST_SPOOKY64: digest->checksum[0].first = spooky_hash64(data, size, digest->checksum[0].first); break; case RM_DIGEST_SPOOKY: spooky_hash128(data, size, (uint64_t *)&digest->checksum[0].first, (uint64_t *)&digest->checksum[0].second); break; case RM_DIGEST_XXHASH: digest->checksum[0].first = XXH64(data, size, digest->checksum[0].first); break; case RM_DIGEST_FARMHASH: digest->checksum[0].first = cfarmhash((const char *)data, size); break; case RM_DIGEST_MURMUR512: case RM_DIGEST_MURMUR256: case RM_DIGEST_MURMUR: for(guint8 block = 0; block < (digest->bytes / 16); block++) { #if RM_PLATFORM_32 MurmurHash3_x86_128(data, size, (uint32_t)digest->checksum[block].first, &digest->checksum[block]); #elif RM_PLATFORM_64 MurmurHash3_x64_128(data, size, (uint32_t)digest->checksum[block].first, &digest->checksum[block]); #else #error "Probably not a good idea to compile rmlint on 16bit." #endif } break; case RM_DIGEST_CITY: case RM_DIGEST_CITY256: case RM_DIGEST_CITY512: for(guint8 block = 0; block < (digest->bytes / 16); block++) { /* Opt out for the more optimized version. * This needs the crc command of sse4.2 * (available on Intel Nehalem and up; my amd box doesn't have this though) */ uint128 old = {digest->checksum[block].first, digest->checksum[block].second}; old = CityHash128WithSeed((const char *)data, size, old); memcpy(&digest->checksum[block], &old, sizeof(uint128)); } break; case RM_DIGEST_BASTARD: MurmurHash3_x86_128(data, size, (uint32_t)digest->checksum[0].first, &digest->checksum[0]); uint128 old = {digest->checksum[1].first, digest->checksum[1].second}; old = CityHash128WithSeed((const char *)data, size, old); memcpy(&digest->checksum[1], &old, sizeof(uint128)); break; case RM_DIGEST_CUMULATIVE: { /* This only XORS the two checksums. */ for(gsize i = 0; i < digest->bytes; ++i) { ((guint8 *)digest->checksum)[i] ^= ((guint8 *)data)[i % size]; } } break; case RM_DIGEST_PARANOID: default: rm_assert_gentle_not_reached(); } } void rm_digest_buffered_update(RmBuffer *buffer) { RmDigest *digest = buffer->digest; if(digest->type != RM_DIGEST_PARANOID) { rm_digest_update(digest, buffer->data, buffer->len); rm_buffer_release(buffer); } else { RmParanoid *paranoid = digest->paranoid; /* efficiently append buffer to buffers GSList */ if(!paranoid->buffers) { /* first buffer */ paranoid->buffers = g_slist_prepend(NULL, buffer); paranoid->buffer_tail = paranoid->buffers; } else { paranoid->buffer_tail = g_slist_append(paranoid->buffer_tail, buffer)->next; } digest->bytes += buffer->len; if(paranoid->shadow_hash) { rm_digest_update(paranoid->shadow_hash, buffer->data, buffer->len); } if(paranoid->twin_candidate) { /* do a running check that digest remains the same as its candidate twin */ if(rm_buffer_equal(buffer, paranoid->twin_candidate_buffer->data)) { /* buffers match; move ptr to next one ready for next buffer */ paranoid->twin_candidate_buffer = paranoid->twin_candidate_buffer->next; } else { /* buffers don't match - delete candidate (new candidate might be added on * next * call to rm_digest_buffered_update) */ paranoid->twin_candidate = NULL; paranoid->twin_candidate_buffer = NULL; #if _RM_CHECKSUM_DEBUG rm_log_debug_line("Ejected candidate match at buffer #%u", g_slist_length(paranoid->buffers)); #endif } } while(!paranoid->twin_candidate && paranoid->incoming_twin_candidates && (paranoid->twin_candidate = g_async_queue_try_pop(paranoid->incoming_twin_candidates))) { /* validate the new candidate by comparing the previous buffers (not * including current)*/ paranoid->twin_candidate_buffer = paranoid->twin_candidate->paranoid->buffers; GSList *iter_self = paranoid->buffers; gboolean match = TRUE; while(match && iter_self) { match = (rm_buffer_equal(paranoid->twin_candidate_buffer->data, iter_self->data)); iter_self = iter_self->next; paranoid->twin_candidate_buffer = paranoid->twin_candidate_buffer->next; } if(paranoid->twin_candidate && !match) { /* reject the twin candidate, also add to rejects list to speed up rm_digest_equal() */ #if _RM_CHECKSUM_DEBUG rm_log_debug_line("Rejected twin candidate %p for %p", paranoid->twin_candidate, paranoid); #endif if(!paranoid->shadow_hash) { /* we use the rejects file to speed up rm_digest_equal */ paranoid->rejects = g_slist_prepend(paranoid->rejects, paranoid->twin_candidate); } paranoid->twin_candidate = NULL; paranoid->twin_candidate_buffer = NULL; } else { #if _RM_CHECKSUM_DEBUG rm_log_debug_line("Added twin candidate %p for %p", paranoid->twin_candidate, paranoid); #endif } } } } #define BLAKE_COPY(ALGO) \ { \ self = g_slice_new0(RmDigest); \ self->bytes = digest->bytes; \ self->type = digest->type; \ self->ALGO##_state = g_slice_alloc0(sizeof(ALGO##_state)); \ memcpy(self->ALGO##_state, digest->ALGO##_state, sizeof(ALGO##_state)); \ } RmDigest *rm_digest_copy(RmDigest *digest) { rm_assert_gentle(digest); RmDigest *self = NULL; switch(digest->type) { case RM_DIGEST_MD5: case RM_DIGEST_SHA512: case RM_DIGEST_SHA256: case RM_DIGEST_SHA1: self = g_slice_new0(RmDigest); self->bytes = digest->bytes; self->type = digest->type; self->glib_checksum = g_checksum_copy(digest->glib_checksum); break; case RM_DIGEST_SHA3_256: case RM_DIGEST_SHA3_384: case RM_DIGEST_SHA3_512: self = g_slice_new0(RmDigest); self->bytes = digest->bytes; self->type = digest->type; self->sha3_ctx = g_slice_alloc0(sizeof(sha3_context)); memcpy(self->sha3_ctx, digest->sha3_ctx, sizeof(sha3_context)); break; case RM_DIGEST_BLAKE2S: BLAKE_COPY(blake2s); break; case RM_DIGEST_BLAKE2B: BLAKE_COPY(blake2b); break; case RM_DIGEST_BLAKE2SP: BLAKE_COPY(blake2sp); break; case RM_DIGEST_BLAKE2BP: BLAKE_COPY(blake2bp); break; case RM_DIGEST_SPOOKY: case RM_DIGEST_SPOOKY32: case RM_DIGEST_SPOOKY64: case RM_DIGEST_MURMUR: case RM_DIGEST_CITY: case RM_DIGEST_CITY256: case RM_DIGEST_MURMUR256: case RM_DIGEST_CITY512: case RM_DIGEST_MURMUR512: case RM_DIGEST_XXHASH: case RM_DIGEST_FARMHASH: case RM_DIGEST_BASTARD: case RM_DIGEST_CUMULATIVE: case RM_DIGEST_EXT: self = rm_digest_new(digest->type, 0, 0, digest->bytes, FALSE); if(self->checksum && digest->checksum) { memcpy((char *)self->checksum, (char *)digest->checksum, self->bytes); } break; case RM_DIGEST_PARANOID: default: rm_assert_gentle_not_reached(); } return self; } static gboolean rm_digest_needs_steal(RmDigestType digest_type) { switch(digest_type) { case RM_DIGEST_MD5: case RM_DIGEST_SHA512: case RM_DIGEST_SHA256: case RM_DIGEST_SHA1: case RM_DIGEST_SHA3_256: case RM_DIGEST_SHA3_384: case RM_DIGEST_SHA3_512: case RM_DIGEST_BLAKE2S: case RM_DIGEST_BLAKE2B: case RM_DIGEST_BLAKE2SP: case RM_DIGEST_BLAKE2BP: /* for all of the above, reading the digest is destructive, so we * need to take a copy */ return TRUE; case RM_DIGEST_SPOOKY32: case RM_DIGEST_SPOOKY64: case RM_DIGEST_SPOOKY: case RM_DIGEST_MURMUR: case RM_DIGEST_CITY: case RM_DIGEST_CITY256: case RM_DIGEST_CITY512: case RM_DIGEST_XXHASH: case RM_DIGEST_FARMHASH: case RM_DIGEST_MURMUR256: case RM_DIGEST_MURMUR512: case RM_DIGEST_BASTARD: case RM_DIGEST_CUMULATIVE: case RM_DIGEST_EXT: case RM_DIGEST_PARANOID: return FALSE; default: rm_assert_gentle_not_reached(); return FALSE; } } #define BLAKE_STEAL(ALGO) \ { \ RmDigest *copy = rm_digest_copy(digest); \ ALGO##_final(copy->ALGO##_state, result, buflen); \ rm_assert_gentle(buflen == digest->bytes); \ rm_digest_free(copy); \ } guint8 *rm_digest_steal(RmDigest *digest) { guint8 *result = g_slice_alloc0(digest->bytes); gsize buflen = digest->bytes; if(rm_digest_needs_steal(digest->type)) { /* reading the digest is destructive, so we need to take a copy */ switch(digest->type) { case RM_DIGEST_SHA3_256: case RM_DIGEST_SHA3_384: case RM_DIGEST_SHA3_512: { RmDigest *copy = rm_digest_copy(digest); memcpy(result, sha3_Finalize(copy->sha3_ctx), digest->bytes); rm_assert_gentle(buflen == digest->bytes); rm_digest_free(copy); break; } case RM_DIGEST_BLAKE2S: BLAKE_STEAL(blake2s); break; case RM_DIGEST_BLAKE2B: BLAKE_STEAL(blake2b); break; case RM_DIGEST_BLAKE2SP: BLAKE_STEAL(blake2sp); break; case RM_DIGEST_BLAKE2BP: BLAKE_STEAL(blake2bp); break; default: { RmDigest *copy = rm_digest_copy(digest); g_checksum_get_digest(copy->glib_checksum, result, &buflen); rm_assert_gentle(buflen == digest->bytes); rm_digest_free(copy); break; } } } else { /* Stateless checksum, just copy it. */ memcpy(result, digest->checksum, digest->bytes); } return result; } guint rm_digest_hash(RmDigest *digest) { guint8 *buf = NULL; gsize bytes = 0; guint hash = 0; if(digest->type == RM_DIGEST_PARANOID) { if(digest->paranoid->shadow_hash) { buf = rm_digest_steal(digest->paranoid->shadow_hash); bytes = digest->paranoid->shadow_hash->bytes; } else { /* steal the first few bytes of the first buffer */ if(digest->paranoid->buffers) { RmBuffer *buffer = digest->paranoid->buffers->data; if(buffer->len >= sizeof(guint)) { hash = *(guint *)buffer->data; return hash; } } } } else { buf = rm_digest_steal(digest); bytes = digest->bytes; } if(buf != NULL) { rm_assert_gentle(bytes >= sizeof(guint)); hash = *(guint *)buf; g_slice_free1(bytes, buf); } return hash; } gboolean rm_digest_equal(RmDigest *a, RmDigest *b) { rm_assert_gentle(a && b); if(a->type != b->type) { return false; } if(a->bytes != b->bytes) { return false; } if(a->type == RM_DIGEST_PARANOID) { if(!a->paranoid->buffers) { /* buffers have been freed so we need to rely on shadow hash */ return rm_digest_equal(a->paranoid->shadow_hash, b->paranoid->shadow_hash); } /* check if pre-matched twins */ if(a->paranoid->twin_candidate == b || b->paranoid->twin_candidate == a) { return true; } /* check if already rejected */ if(g_slist_find(a->paranoid->rejects, b) || g_slist_find(b->paranoid->rejects, a)) { return false; } /* all the "easy" ways failed... do manual check of all buffers */ GSList *a_iter = a->paranoid->buffers; GSList *b_iter = b->paranoid->buffers; guint bytes = 0; while(a_iter && b_iter) { if(!rm_buffer_equal(a_iter->data, b_iter->data)) { rm_log_error_line( "Paranoid digest compare found mismatch - must be hash collision in " "shadow hash"); return false; } bytes += ((RmBuffer *)a_iter->data)->len; a_iter = a_iter->next; b_iter = b_iter->next; } return (!a_iter && !b_iter && bytes == a->bytes); } else if(rm_digest_needs_steal(a->type)) { guint8 *buf_a = rm_digest_steal(a); guint8 *buf_b = rm_digest_steal(b); gboolean result = !memcmp(buf_a, buf_b, a->bytes); g_slice_free1(a->bytes, buf_a); g_slice_free1(b->bytes, buf_b); return result; } else { return !memcmp(a->checksum, b->checksum, a->bytes); } } int rm_digest_hexstring(RmDigest *digest, char *buffer) { static const char *hex = "0123456789abcdef"; guint8 *input = NULL; gsize bytes = 0; if(digest == NULL) { return 0; } if(digest->type == RM_DIGEST_PARANOID) { if(digest->paranoid->shadow_hash) { input = rm_digest_steal(digest->paranoid->shadow_hash); bytes = digest->paranoid->shadow_hash->bytes; } } else { input = rm_digest_steal(digest); bytes = digest->bytes; } for(gsize i = 0; i < bytes; ++i) { buffer[0] = hex[input[i] / 16]; buffer[1] = hex[input[i] % 16]; if(i == bytes - 1) { buffer[2] = '\0'; } buffer += 2; } g_slice_free1(bytes, input); return bytes * 2 + 1; } int rm_digest_get_bytes(RmDigest *self) { if(self == NULL) { return 0; } if(self->type != RM_DIGEST_PARANOID) { return self->bytes; } if(self->paranoid->shadow_hash) { return self->paranoid->shadow_hash->bytes; } return 0; } void rm_digest_send_match_candidate(RmDigest *target, RmDigest *candidate) { if(!target->paranoid->incoming_twin_candidates) { target->paranoid->incoming_twin_candidates = g_async_queue_new(); } g_async_queue_push(target->paranoid->incoming_twin_candidates, candidate); } guint8 *rm_digest_sum(RmDigestType algo, const guint8 *data, gsize len, gsize *out_len) { RmDigest *digest = rm_digest_new(algo, 0, 0, 0, false); rm_digest_update(digest, data, len); guint8 *buf = rm_digest_steal(digest); if(out_len != NULL) { *out_len = digest->bytes; } rm_digest_free(digest); return buf; } rmlint-2.6.1/lib/checksum.h000066400000000000000000000236241312046612000155500ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #ifndef RM_CHECKSUM_H #define RM_CHECKSUM_H #include #include #include "config.h" #include "checksums/blake2/blake2.h" #include "checksums/sha3/sha3.h" typedef enum RmDigestType { RM_DIGEST_UNKNOWN = 0, RM_DIGEST_MURMUR, RM_DIGEST_SPOOKY, RM_DIGEST_SPOOKY32, RM_DIGEST_SPOOKY64, RM_DIGEST_CITY, RM_DIGEST_MD5, RM_DIGEST_SHA1, RM_DIGEST_SHA256, RM_DIGEST_SHA512, RM_DIGEST_SHA3_256, RM_DIGEST_SHA3_384, RM_DIGEST_SHA3_512, RM_DIGEST_BLAKE2S, RM_DIGEST_BLAKE2B, RM_DIGEST_BLAKE2SP /* Parallel version of BLAKE2P */, RM_DIGEST_BLAKE2BP /* Parallel version of BLAKE2S */, RM_DIGEST_BLAKE2XS, RM_DIGEST_MURMUR256, RM_DIGEST_CITY256, RM_DIGEST_BASTARD, RM_DIGEST_MURMUR512, RM_DIGEST_CITY512, RM_DIGEST_XXHASH, RM_DIGEST_FARMHASH, /* special kids in town */ RM_DIGEST_CUMULATIVE, /* hash([a, b]) = hash([b, a]) */ RM_DIGEST_EXT, /* read hash as string */ RM_DIGEST_PARANOID /* direct block comparisons */ } RmDigestType; typedef struct RmUint128 { guint64 first; guint64 second; } RmUint128; typedef struct RmParanoid { /* the buffers containing file data byte-by-byte */ GSList *buffers; /* pointer to the last buffer (for efficient appends) */ GSList *buffer_tail; /* A hash is built for every paranoid digest. * So we can make rm_digest_hash() and rm_digest_hexstring() work. */ struct RmDigest *shadow_hash; /* Optional: if known, a potentially matching *completed* RMDigest * can be provided and will be progressively compared against * this RmDigest *during* rm_digest_buffered_update(); this speeds * up subsequent calls to rm_digest_equal() significantly. */ struct RmDigest *twin_candidate; /* Pointer to current buffer in twin_candidate->paranoid->buffers */ GSList *twin_candidate_buffer; GSList *rejects; /* Optional: incoming queue for additional twin candidate RmDigest's */ GAsyncQueue *incoming_twin_candidates; } RmParanoid; typedef struct RmDigest { /* Different storage structures are used depending on digest type: */ union { GChecksum *glib_checksum; blake2s_state *blake2s_state; blake2b_state *blake2b_state; blake2sp_state *blake2sp_state; blake2bp_state *blake2bp_state; sha3_context *sha3_ctx; RmUint128 *checksum; RmParanoid *paranoid; }; /* digest type */ RmDigestType type; /* digest size in bytes */ gsize bytes; } RmDigest; /////////// RmBufferPool and RmBuffer //////////////// typedef struct RmBufferPool { /* Place where recycled buffers are stored */ GSList *stack; /* size of each buffer */ gsize buffer_size; /* how many new buffers can we allocate before hitting mem limit? */ gsize avail_buffers; /* Buffers that were kept for paranoia (internal) */ gsize kept_buffers; gsize min_kept_buffers; gsize max_kept_buffers; /* Flag to prevent double warnings. */ bool mem_warned; /* concurrent accesses may happen */ GMutex lock; GCond change; } RmBufferPool; /* Represents one block of read data */ typedef struct RmBuffer { /* note that first (sizeof(pointer)) bytes of this structure get overwritten * when it gets pushed to the RmBufferPool stack, so first couple of * elements can't be reused */ /* checksum the data belongs to */ struct RmDigest *digest; /* len of the data actually filled */ guint32 len; /* user utility data field */ gpointer user_data; /* the pool the buffer belongs to */ RmBufferPool *pool; /* pointer to the data block */ unsigned char *data; } RmBuffer; /** * @brief Convert a string like "md5" to a RmDigestType member. * * @param string A valid digest type. * * @return RM_DIGEST_UNKNOWN on error, the type otherwise. */ RmDigestType rm_string_to_digest_type(const char *string); /* Hash type to MultiHash ID. * Idea of Multihash to encode hash algorithm and size into * the first two bytes of the hash. * * There is no standard yet, I used this one and randomly assigned * the other numbers: * * https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-18 */ int rm_digest_type_to_multihash_id(RmDigestType type); /** * @brief Convert a RmDigestType to a human readable string. * * @param type the type to convert. * * @return a statically allocated string. */ const char *rm_digest_type_to_string(RmDigestType type); /** * @brief Allocate and initialise a RmDigest. * * @param type Which algorithm to use for hashing. * @param seed Initial seed. Pass 0 if not interested. * @param ext_size Size of the digest in case on RM_DIGEST_EXT * @param use_shadow_hash. Keep a shadow hash for lookup purposes. */ RmDigest *rm_digest_new(RmDigestType type, RmOff seed1, RmOff seed2, RmOff ext_size, bool use_shadow_hash); /** * @brief Deallocate memory assocated with a RmDigest. */ void rm_digest_free(RmDigest *digest); /** * @brief Hash a datablock and add it to the current checksum. * * @param digest a pointer to a RmDigest * @param data a block of data. * @param size the size of data */ void rm_digest_update(RmDigest *digest, const unsigned char *data, RmOff size); /** * @brief Hash a datablock and add it to the current checksum. * * @param digest a pointer to a RmDigest * @param buffer a RmBuffer of data. */ void rm_digest_buffered_update(RmBuffer *buffer); /** * @brief Convert the checksum to a hexstring (like `md5sum`) * * rm_digest_update is not allowed to be called after finalizing. * * If the type is RM_DIGEST_PARANOID, this will return the hexstring * of the shadow digest built in the background. * * @param digest a pointer to a RmDigest * @param input The input buffer to convert * @param buflen Size of the buffer. * @param buffer The buffer to write the hexadecimal checksum to. * * @return how many bytes were written. (for md5sum: 32) */ int rm_digest_hexstring(RmDigest *digest, char *buffer); /** * @brief steal digest result into allocated memory slice. * * @param digest a pointer to a RmDigest * * Steal the internal buffer of the digest. For RM_DIGEST_PARANOID, * this will be the actual file data. * * @return pointer to result (note: result length will = digest->bytes) */ guint8 *rm_digest_steal(RmDigest *digest); /** * @brief Hash `length` bytes of `data` with the algorithm `algo`. * * @return a newly allocated checksum with the length of *out_len. * Free with g_slice_free1 **/ guint8 *rm_digest_sum(RmDigestType algo, const guint8 *data, gsize len, gsize *out_len); /** * @brief Hash a Digest, suitable for GHashTable. * * For RM_DIGEST_PARANOID this is basically the same * as rm_digest_hash(digest->shadow_hash); */ guint rm_digest_hash(RmDigest *digest); /** * @brief Compare two RmDigest checksums (without modifying them). * * @param a a pointer to a RmDigest * @param b a pointer to another RmDigest. * * The checksums are compared byte for byte, even * for RM_DIGEST_PARANOID. * * @return true if digests match */ gboolean rm_digest_equal(RmDigest *a, RmDigest *b); /** * @brief Make a copy of a RMDigest. * * @param digest a pointer to a RmDigest * * @return copy of digest */ RmDigest *rm_digest_copy(RmDigest *digest); /** * For RM_DIGEST_PARANOID this is the number of bytes in the * shadow hash. * * @return The number of bytes used for storing the checksum. */ int rm_digest_get_bytes(RmDigest *self); /** * Shrink the paranoid checksum buffer to new_size. * * This is mainly useful for using an adjusted buffer for symlinks. */ void rm_digest_paranoia_shrink(RmDigest *digest, gsize new_size); /** * Release any kept (paranoid) buffers. */ void rm_digest_release_buffers(RmDigest *digest); /** * @brief Return the size of an individual buffer. */ RmOff rm_buffer_size(RmBufferPool *pool); /** * @brief Create a new buffer pool. * * A buffer pool holds a number of same-sized RmBuffer structs * up to a maximum number of bytes. * * If the limit is hit, rm_buffer_get() will block till * other buffers were released. * * @param buffer_size The size of each buffer. * @param max_mem Maxmimum number of bytes the pool may allocate; 0 for no limit. * * @return A readily usable RmBufferPool. */ RmBufferPool *rm_buffer_pool_init(gsize buffer_size, gsize max_mem); /** * @brief Destroy a RmBufferPool. * * This can only be safely called when no parallel access to the pool is done. */ void rm_buffer_pool_destroy(RmBufferPool *pool); /** * @brief Retrieve a RmBuffer. * * This might be either a previously used one or initially allocate one. */ RmBuffer *rm_buffer_get(RmBufferPool *pool); /** * @brief Release a previously retrieved buffer. * * It will be either cached or freed if over the limit. */ void rm_buffer_release(RmBuffer *buf); /** * @brief Send a new (pending) paranoid digest match `candidate` for `target`. */ void rm_digest_send_match_candidate(RmDigest *target, RmDigest *candidate); #endif /* end of include guard */ rmlint-2.6.1/lib/checksums/000077500000000000000000000000001312046612000155535ustar00rootroot00000000000000rmlint-2.6.1/lib/checksums/blake2/000077500000000000000000000000001312046612000167135ustar00rootroot00000000000000rmlint-2.6.1/lib/checksums/blake2/.gitignore000066400000000000000000000004331312046612000207030ustar00rootroot00000000000000b2sum/b2sum bench/blake2b bench/blake2b.data bench/blake2s bench/blake2s.data bench/md5 bench/md5.data bench/plotcycles.pdf ref/blake2b ref/blake2bp ref/blake2s ref/blake2sp sse/blake2b sse/blake2bp sse/blake2s sse/blake2sp ref/blake2xs ref/blake2xb sse/blake2xs sse/blake2xb **tags rmlint-2.6.1/lib/checksums/blake2/COPYING000066400000000000000000000156101312046612000177510ustar00rootroot00000000000000Creative Commons Legal Code CC0 1.0 Universal CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER. Statement of Purpose The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. 1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; ii. moral rights retained by the original author(s) and/or performer(s); iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; v. rights protecting the extraction, dissemination, use and reuse of data in a Work; vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. 2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. 3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. 4. Limitations and Disclaimers. a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. rmlint-2.6.1/lib/checksums/blake2/README.md000066400000000000000000000016041312046612000201730ustar00rootroot00000000000000# BLAKE2 This is the reference source code package of BLAKE2, which includes * `ref/`: C implementations of BLAKE2b, BLAKE2bp, BLAKE2s, BLAKE2sp, aimed at portability and simplicity. * `sse/`: C implementations of BLAKE2b, BLAKE2bp, BLAKE2s, BLAKE2sp, optimized for speed on CPUs supporting SSE2, SSSE3, SSE4.1, AVX, or XOP. * `csharp/`: C# implementation of BLAKE2b. * `b2sum/`: Command line utility to hash files, based on the `sse/` implementations. * `bench/`: Benchmark tool to measure cycles-per-byte speeds and produce graphs copyright. All code is triple-licensed under the [CC0](http://creativecommons.org/publicdomain/zero/1.0), the [OpenSSL Licence](https://www.openssl.org/source/license.html), or the [Apache Public License 2.0](http://www.apache.org/licenses/LICENSE-2.0), at your choosing. More: [https://blake2.net](https://blake2.net). Contact: contact@blake2.net rmlint-2.6.1/lib/checksums/blake2/blake2-impl.h000066400000000000000000000076411312046612000211730ustar00rootroot00000000000000/* BLAKE2 reference source code package - reference C implementations Copyright 2012, Samuel Neves . You may use this under the terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at your option. The terms of these licenses can be found at: - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 - OpenSSL license : https://www.openssl.org/source/license.html - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 More information about the BLAKE2 hash function can be found at https://blake2.net. */ #ifndef BLAKE2_IMPL_H #define BLAKE2_IMPL_H #include #include #if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) #if defined(_MSC_VER) #define BLAKE2_INLINE __inline #elif defined(__GNUC__) #define BLAKE2_INLINE __inline__ #else #define BLAKE2_INLINE #endif #else #define BLAKE2_INLINE inline #endif static BLAKE2_INLINE uint32_t load32(const void *src) { #if defined(NATIVE_LITTLE_ENDIAN) uint32_t w; memcpy(&w, src, sizeof w); return w; #else const uint8_t *p = (const uint8_t *)src; return ((uint32_t)(p[0]) << 0) | ((uint32_t)(p[1]) << 8) | ((uint32_t)(p[2]) << 16) | ((uint32_t)(p[3]) << 24); #endif } static BLAKE2_INLINE uint64_t load64(const void *src) { #if defined(NATIVE_LITTLE_ENDIAN) uint64_t w; memcpy(&w, src, sizeof w); return w; #else const uint8_t *p = (const uint8_t *)src; return ((uint64_t)(p[0]) << 0) | ((uint64_t)(p[1]) << 8) | ((uint64_t)(p[2]) << 16) | ((uint64_t)(p[3]) << 24) | ((uint64_t)(p[4]) << 32) | ((uint64_t)(p[5]) << 40) | ((uint64_t)(p[6]) << 48) | ((uint64_t)(p[7]) << 56); #endif } static BLAKE2_INLINE uint16_t load16(const void *src) { #if defined(NATIVE_LITTLE_ENDIAN) uint16_t w; memcpy(&w, src, sizeof w); return w; #else const uint8_t *p = (const uint8_t *)src; return ((uint16_t)(p[0]) << 0) | ((uint16_t)(p[1]) << 8); #endif } static BLAKE2_INLINE void store16(void *dst, uint16_t w) { #if defined(NATIVE_LITTLE_ENDIAN) memcpy(dst, &w, sizeof w); #else uint8_t *p = (uint8_t *)dst; *p++ = (uint8_t)w; w >>= 8; *p++ = (uint8_t)w; #endif } static BLAKE2_INLINE void store32(void *dst, uint32_t w) { #if defined(NATIVE_LITTLE_ENDIAN) memcpy(dst, &w, sizeof w); #else uint8_t *p = (uint8_t *)dst; p[0] = (uint8_t)(w >> 0); p[1] = (uint8_t)(w >> 8); p[2] = (uint8_t)(w >> 16); p[3] = (uint8_t)(w >> 24); #endif } static BLAKE2_INLINE void store64(void *dst, uint64_t w) { #if defined(NATIVE_LITTLE_ENDIAN) memcpy(dst, &w, sizeof w); #else uint8_t *p = (uint8_t *)dst; p[0] = (uint8_t)(w >> 0); p[1] = (uint8_t)(w >> 8); p[2] = (uint8_t)(w >> 16); p[3] = (uint8_t)(w >> 24); p[4] = (uint8_t)(w >> 32); p[5] = (uint8_t)(w >> 40); p[6] = (uint8_t)(w >> 48); p[7] = (uint8_t)(w >> 56); #endif } static BLAKE2_INLINE uint64_t load48(const void *src) { const uint8_t *p = (const uint8_t *)src; return ((uint64_t)(p[0]) << 0) | ((uint64_t)(p[1]) << 8) | ((uint64_t)(p[2]) << 16) | ((uint64_t)(p[3]) << 24) | ((uint64_t)(p[4]) << 32) | ((uint64_t)(p[5]) << 40); } static BLAKE2_INLINE void store48(void *dst, uint64_t w) { uint8_t *p = (uint8_t *)dst; p[0] = (uint8_t)(w >> 0); p[1] = (uint8_t)(w >> 8); p[2] = (uint8_t)(w >> 16); p[3] = (uint8_t)(w >> 24); p[4] = (uint8_t)(w >> 32); p[5] = (uint8_t)(w >> 40); } static BLAKE2_INLINE uint32_t rotr32(const uint32_t w, const unsigned c) { return (w >> c) | (w << (32 - c)); } static BLAKE2_INLINE uint64_t rotr64(const uint64_t w, const unsigned c) { return (w >> c) | (w << (64 - c)); } /* prevents compiler optimizing out memset() */ static BLAKE2_INLINE void secure_zero_memory(void *v, size_t n) { static void *(*const volatile memset_v)(void *, int, size_t) = &memset; memset_v(v, 0, n); } #endif rmlint-2.6.1/lib/checksums/blake2/blake2.h000066400000000000000000000154211312046612000202270ustar00rootroot00000000000000/* BLAKE2 reference source code package - reference C implementations Copyright 2012, Samuel Neves . You may use this under the terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at your option. The terms of these licenses can be found at: - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 - OpenSSL license : https://www.openssl.org/source/license.html - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 More information about the BLAKE2 hash function can be found at https://blake2.net. */ #ifndef BLAKE2_H #define BLAKE2_H #include #include #if defined(_MSC_VER) #define BLAKE2_PACKED(x) __pragma(pack(push, 1)) x __pragma(pack(pop)) #else #define BLAKE2_PACKED(x) x __attribute__((packed)) #endif #if defined(__cplusplus) extern "C" { #endif enum blake2s_constant { BLAKE2S_BLOCKBYTES = 64, BLAKE2S_OUTBYTES = 32, BLAKE2S_KEYBYTES = 32, BLAKE2S_SALTBYTES = 8, BLAKE2S_PERSONALBYTES = 8 }; enum blake2b_constant { BLAKE2B_BLOCKBYTES = 128, BLAKE2B_OUTBYTES = 64, BLAKE2B_KEYBYTES = 64, BLAKE2B_SALTBYTES = 16, BLAKE2B_PERSONALBYTES = 16 }; typedef struct blake2s_state__ { uint32_t h[8]; uint32_t t[2]; uint32_t f[2]; uint8_t buf[BLAKE2S_BLOCKBYTES]; size_t buflen; size_t outlen; uint8_t last_node; } blake2s_state; typedef struct blake2b_state__ { uint64_t h[8]; uint64_t t[2]; uint64_t f[2]; uint8_t buf[BLAKE2B_BLOCKBYTES]; size_t buflen; size_t outlen; uint8_t last_node; } blake2b_state; typedef struct blake2sp_state__ { blake2s_state S[8][1]; blake2s_state R[1]; uint8_t buf[8 * BLAKE2S_BLOCKBYTES]; size_t buflen; size_t outlen; } blake2sp_state; typedef struct blake2bp_state__ { blake2b_state S[4][1]; blake2b_state R[1]; uint8_t buf[4 * BLAKE2B_BLOCKBYTES]; size_t buflen; size_t outlen; } blake2bp_state; BLAKE2_PACKED(struct blake2s_param__ { uint8_t digest_length; /* 1 */ uint8_t key_length; /* 2 */ uint8_t fanout; /* 3 */ uint8_t depth; /* 4 */ uint32_t leaf_length; /* 8 */ uint32_t node_offset; /* 12 */ uint16_t xof_length; /* 14 */ uint8_t node_depth; /* 15 */ uint8_t inner_length; /* 16 */ /* uint8_t reserved[0]; */ uint8_t salt[BLAKE2S_SALTBYTES]; /* 24 */ uint8_t personal[BLAKE2S_PERSONALBYTES]; /* 32 */ }); typedef struct blake2s_param__ blake2s_param; BLAKE2_PACKED(struct blake2b_param__ { uint8_t digest_length; /* 1 */ uint8_t key_length; /* 2 */ uint8_t fanout; /* 3 */ uint8_t depth; /* 4 */ uint32_t leaf_length; /* 8 */ uint32_t node_offset; /* 12 */ uint32_t xof_length; /* 16 */ uint8_t node_depth; /* 17 */ uint8_t inner_length; /* 18 */ uint8_t reserved[14]; /* 32 */ uint8_t salt[BLAKE2B_SALTBYTES]; /* 48 */ uint8_t personal[BLAKE2B_PERSONALBYTES]; /* 64 */ }); typedef struct blake2b_param__ blake2b_param; typedef struct blake2xs_state__ { blake2s_state S[1]; blake2s_param P[1]; } blake2xs_state; typedef struct blake2xb_state__ { blake2b_state S[1]; blake2b_param P[1]; } blake2xb_state; /* Padded structs result in a compile-time error */ enum { BLAKE2_DUMMY_1 = 1 / (sizeof(blake2s_param) == BLAKE2S_OUTBYTES), BLAKE2_DUMMY_2 = 1 / (sizeof(blake2b_param) == BLAKE2B_OUTBYTES) }; /* Streaming API */ int blake2s_init(blake2s_state *S, size_t outlen); int blake2s_init_key(blake2s_state *S, size_t outlen, const void *key, size_t keylen); int blake2s_init_param(blake2s_state *S, const blake2s_param *P); int blake2s_update(blake2s_state *S, const void *in, size_t inlen); int blake2s_final(blake2s_state *S, void *out, size_t outlen); int blake2b_init(blake2b_state *S, size_t outlen); int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key, size_t keylen); int blake2b_init_param(blake2b_state *S, const blake2b_param *P); int blake2b_update(blake2b_state *S, const void *in, size_t inlen); int blake2b_final(blake2b_state *S, void *out, size_t outlen); int blake2sp_init(blake2sp_state *S, size_t outlen); int blake2sp_init_key(blake2sp_state *S, size_t outlen, const void *key, size_t keylen); int blake2sp_update(blake2sp_state *S, const void *in, size_t inlen); int blake2sp_final(blake2sp_state *S, void *out, size_t outlen); int blake2bp_init(blake2bp_state *S, size_t outlen); int blake2bp_init_key(blake2bp_state *S, size_t outlen, const void *key, size_t keylen); int blake2bp_update(blake2bp_state *S, const void *in, size_t inlen); int blake2bp_final(blake2bp_state *S, void *out, size_t outlen); /* Variable output length API */ int blake2xs_init(blake2xs_state *S, const size_t outlen); int blake2xs_init_key(blake2xs_state *S, const size_t outlen, const void *key, size_t keylen); int blake2xs_update(blake2xs_state *S, const void *in, size_t inlen); int blake2xs_final(blake2xs_state *S, void *out, size_t outlen); int blake2xb_init(blake2xb_state *S, const size_t outlen); int blake2xb_init_key(blake2xb_state *S, const size_t outlen, const void *key, size_t keylen); int blake2xb_update(blake2xb_state *S, const void *in, size_t inlen); int blake2xb_final(blake2xb_state *S, void *out, size_t outlen); /* Simple API */ int blake2s(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen); int blake2b(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen); int blake2sp(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen); int blake2bp(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen); int blake2xs(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen); int blake2xb(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen); /* This is simply an alias for blake2b */ int blake2(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen); #if defined(__cplusplus) } #endif #endif rmlint-2.6.1/lib/checksums/blake2/blake2b-ref.c000066400000000000000000000246011312046612000211360ustar00rootroot00000000000000/* BLAKE2 reference source code package - reference C implementations Copyright 2012, Samuel Neves . You may use this under the terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at your option. The terms of these licenses can be found at: - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 - OpenSSL license : https://www.openssl.org/source/license.html - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 More information about the BLAKE2 hash function can be found at https://blake2.net. */ #include #include #include #include "blake2-impl.h" #include "blake2.h" static const uint64_t blake2b_IV[8] = {0x6a09e667f3bcc908ULL, 0xbb67ae8584caa73bULL, 0x3c6ef372fe94f82bULL, 0xa54ff53a5f1d36f1ULL, 0x510e527fade682d1ULL, 0x9b05688c2b3e6c1fULL, 0x1f83d9abfb41bd6bULL, 0x5be0cd19137e2179ULL}; static const uint8_t blake2b_sigma[12][16] = { {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3}, {11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4}, {7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8}, {9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13}, {2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9}, {12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11}, {13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10}, {6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5}, {10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0}, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3}}; static void blake2b_set_lastnode(blake2b_state *S) { S->f[1] = (uint64_t)-1; } /* Some helper functions, not necessarily useful */ static int blake2b_is_lastblock(const blake2b_state *S) { return S->f[0] != 0; } static void blake2b_set_lastblock(blake2b_state *S) { if(S->last_node) blake2b_set_lastnode(S); S->f[0] = (uint64_t)-1; } static void blake2b_increment_counter(blake2b_state *S, const uint64_t inc) { S->t[0] += inc; S->t[1] += (S->t[0] < inc); } static void blake2b_init0(blake2b_state *S) { size_t i; memset(S, 0, sizeof(blake2b_state)); for(i = 0; i < 8; ++i) S->h[i] = blake2b_IV[i]; } /* init xors IV with input parameter block */ int blake2b_init_param(blake2b_state *S, const blake2b_param *P) { const uint8_t *p = (const uint8_t *)(P); size_t i; blake2b_init0(S); /* IV XOR ParamBlock */ for(i = 0; i < 8; ++i) S->h[i] ^= load64(p + sizeof(S->h[i]) * i); S->outlen = P->digest_length; return 0; } int blake2b_init(blake2b_state *S, size_t outlen) { blake2b_param P[1]; if((!outlen) || (outlen > BLAKE2B_OUTBYTES)) return -1; P->digest_length = (uint8_t)outlen; P->key_length = 0; P->fanout = 1; P->depth = 1; store32(&P->leaf_length, 0); store32(&P->node_offset, 0); store32(&P->xof_length, 0); P->node_depth = 0; P->inner_length = 0; memset(P->reserved, 0, sizeof(P->reserved)); memset(P->salt, 0, sizeof(P->salt)); memset(P->personal, 0, sizeof(P->personal)); return blake2b_init_param(S, P); } int blake2b_init_key(blake2b_state *S, size_t outlen, const void *key, size_t keylen) { blake2b_param P[1]; if((!outlen) || (outlen > BLAKE2B_OUTBYTES)) return -1; if(!key || !keylen || keylen > BLAKE2B_KEYBYTES) return -1; P->digest_length = (uint8_t)outlen; P->key_length = (uint8_t)keylen; P->fanout = 1; P->depth = 1; store32(&P->leaf_length, 0); store32(&P->node_offset, 0); store32(&P->xof_length, 0); P->node_depth = 0; P->inner_length = 0; memset(P->reserved, 0, sizeof(P->reserved)); memset(P->salt, 0, sizeof(P->salt)); memset(P->personal, 0, sizeof(P->personal)); if(blake2b_init_param(S, P) < 0) return -1; { uint8_t block[BLAKE2B_BLOCKBYTES]; memset(block, 0, BLAKE2B_BLOCKBYTES); memcpy(block, key, keylen); blake2b_update(S, block, BLAKE2B_BLOCKBYTES); secure_zero_memory(block, BLAKE2B_BLOCKBYTES); /* Burn the key from stack */ } return 0; } #define G(r, i, a, b, c, d) \ do { \ a = a + b + m[blake2b_sigma[r][2 * i + 0]]; \ d = rotr64(d ^ a, 32); \ c = c + d; \ b = rotr64(b ^ c, 24); \ a = a + b + m[blake2b_sigma[r][2 * i + 1]]; \ d = rotr64(d ^ a, 16); \ c = c + d; \ b = rotr64(b ^ c, 63); \ } while(0) #define ROUND(r) \ do { \ G(r, 0, v[0], v[4], v[8], v[12]); \ G(r, 1, v[1], v[5], v[9], v[13]); \ G(r, 2, v[2], v[6], v[10], v[14]); \ G(r, 3, v[3], v[7], v[11], v[15]); \ G(r, 4, v[0], v[5], v[10], v[15]); \ G(r, 5, v[1], v[6], v[11], v[12]); \ G(r, 6, v[2], v[7], v[8], v[13]); \ G(r, 7, v[3], v[4], v[9], v[14]); \ } while(0) static void blake2b_compress(blake2b_state *S, const uint8_t block[BLAKE2B_BLOCKBYTES]) { uint64_t m[16]; uint64_t v[16]; size_t i; for(i = 0; i < 16; ++i) { m[i] = load64(block + i * sizeof(m[i])); } for(i = 0; i < 8; ++i) { v[i] = S->h[i]; } v[8] = blake2b_IV[0]; v[9] = blake2b_IV[1]; v[10] = blake2b_IV[2]; v[11] = blake2b_IV[3]; v[12] = blake2b_IV[4] ^ S->t[0]; v[13] = blake2b_IV[5] ^ S->t[1]; v[14] = blake2b_IV[6] ^ S->f[0]; v[15] = blake2b_IV[7] ^ S->f[1]; ROUND(0); ROUND(1); ROUND(2); ROUND(3); ROUND(4); ROUND(5); ROUND(6); ROUND(7); ROUND(8); ROUND(9); ROUND(10); ROUND(11); for(i = 0; i < 8; ++i) { S->h[i] = S->h[i] ^ v[i] ^ v[i + 8]; } } #undef G #undef ROUND int blake2b_update(blake2b_state *S, const void *pin, size_t inlen) { const unsigned char *in = (const unsigned char *)pin; if(inlen > 0) { size_t left = S->buflen; size_t fill = BLAKE2B_BLOCKBYTES - left; if(inlen > fill) { S->buflen = 0; memcpy(S->buf + left, in, fill); /* Fill buffer */ blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES); blake2b_compress(S, S->buf); /* Compress */ in += fill; inlen -= fill; while(inlen > BLAKE2B_BLOCKBYTES) { blake2b_increment_counter(S, BLAKE2B_BLOCKBYTES); blake2b_compress(S, in); in += BLAKE2B_BLOCKBYTES; inlen -= BLAKE2B_BLOCKBYTES; } } memcpy(S->buf + S->buflen, in, inlen); S->buflen += inlen; } return 0; } int blake2b_final(blake2b_state *S, void *out, size_t outlen) { uint8_t buffer[BLAKE2B_OUTBYTES] = {0}; size_t i; if(out == NULL || outlen < S->outlen) return -1; if(blake2b_is_lastblock(S)) return -1; blake2b_increment_counter(S, S->buflen); blake2b_set_lastblock(S); memset(S->buf + S->buflen, 0, BLAKE2B_BLOCKBYTES - S->buflen); /* Padding */ blake2b_compress(S, S->buf); for(i = 0; i < 8; ++i) /* Output full hash to temp buffer */ store64(buffer + sizeof(S->h[i]) * i, S->h[i]); memcpy(out, buffer, S->outlen); secure_zero_memory(buffer, sizeof(buffer)); return 0; } /* inlen, at least, should be uint64_t. Others can be size_t. */ int blake2b(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) { blake2b_state S[1]; /* Verify parameters */ if(NULL == in && inlen > 0) return -1; if(NULL == out) return -1; if(NULL == key && keylen > 0) return -1; if(!outlen || outlen > BLAKE2B_OUTBYTES) return -1; if(keylen > BLAKE2B_KEYBYTES) return -1; if(keylen > 0) { if(blake2b_init_key(S, outlen, key, keylen) < 0) return -1; } else { if(blake2b_init(S, outlen) < 0) return -1; } blake2b_update(S, (const uint8_t *)in, inlen); blake2b_final(S, out, outlen); return 0; } int blake2(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) { return blake2b(out, outlen, in, inlen, key, keylen); } #if defined(SUPERCOP) int crypto_hash(unsigned char *out, unsigned char *in, unsigned long long inlen) { return blake2b(out, BLAKE2B_OUTBYTES, in, inlen, NULL, 0); } #endif #if defined(BLAKE2B_SELFTEST) #include #include "blake2-kat.h" int main(void) { uint8_t key[BLAKE2B_KEYBYTES]; uint8_t buf[BLAKE2_KAT_LENGTH]; size_t i, step; for(i = 0; i < BLAKE2B_KEYBYTES; ++i) key[i] = (uint8_t)i; for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) buf[i] = (uint8_t)i; /* Test simple API */ for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) { uint8_t hash[BLAKE2B_OUTBYTES]; blake2b(hash, BLAKE2B_OUTBYTES, buf, i, key, BLAKE2B_KEYBYTES); if(0 != memcmp(hash, blake2b_keyed_kat[i], BLAKE2B_OUTBYTES)) { goto fail; } } /* Test streaming API */ for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) { uint8_t hash[BLAKE2B_OUTBYTES]; blake2b_state S; uint8_t *p = buf; size_t mlen = i; int err = 0; if((err = blake2b_init_key(&S, BLAKE2B_OUTBYTES, key, BLAKE2B_KEYBYTES)) < 0) { goto fail; } while(mlen >= step) { if((err = blake2b_update(&S, p, step)) < 0) { goto fail; } mlen -= step; p += step; } if((err = blake2b_update(&S, p, mlen)) < 0) { goto fail; } if((err = blake2b_final(&S, hash, BLAKE2B_OUTBYTES)) < 0) { goto fail; } if(0 != memcmp(hash, blake2b_keyed_kat[i], BLAKE2B_OUTBYTES)) { goto fail; } } } puts("ok"); return 0; fail: puts("error"); return -1; } #endif rmlint-2.6.1/lib/checksums/blake2/blake2bp-ref.c000066400000000000000000000234511312046612000213200ustar00rootroot00000000000000/* BLAKE2 reference source code package - reference C implementations Copyright 2012, Samuel Neves . You may use this under the terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at your option. The terms of these licenses can be found at: - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 - OpenSSL license : https://www.openssl.org/source/license.html - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 More information about the BLAKE2 hash function can be found at https://blake2.net. */ #include #include #include #include #if defined(_OPENMP) #include #endif #include "blake2-impl.h" #include "blake2.h" #define PARALLELISM_DEGREE 4 /* blake2b_init_param defaults to setting the expecting output length from the digest_length parameter block field. In some cases, however, we do not want this, as the output length of these instances is given by inner_length instead. */ static int blake2bp_init_leaf_param(blake2b_state *S, const blake2b_param *P) { int err = blake2b_init_param(S, P); S->outlen = P->inner_length; return err; } static int blake2bp_init_leaf(blake2b_state *S, size_t outlen, size_t keylen, uint64_t offset) { blake2b_param P[1]; P->digest_length = (uint8_t)outlen; P->key_length = (uint8_t)keylen; P->fanout = PARALLELISM_DEGREE; P->depth = 2; store32(&P->leaf_length, 0); store32(&P->node_offset, offset); store32(&P->xof_length, 0); P->node_depth = 0; P->inner_length = BLAKE2B_OUTBYTES; memset(P->reserved, 0, sizeof(P->reserved)); memset(P->salt, 0, sizeof(P->salt)); memset(P->personal, 0, sizeof(P->personal)); return blake2bp_init_leaf_param(S, P); } static int blake2bp_init_root(blake2b_state *S, size_t outlen, size_t keylen) { blake2b_param P[1]; P->digest_length = (uint8_t)outlen; P->key_length = (uint8_t)keylen; P->fanout = PARALLELISM_DEGREE; P->depth = 2; store32(&P->leaf_length, 0); store32(&P->node_offset, 0); store32(&P->xof_length, 0); P->node_depth = 1; P->inner_length = BLAKE2B_OUTBYTES; memset(P->reserved, 0, sizeof(P->reserved)); memset(P->salt, 0, sizeof(P->salt)); memset(P->personal, 0, sizeof(P->personal)); return blake2b_init_param(S, P); } int blake2bp_init(blake2bp_state *S, size_t outlen) { size_t i; if(!outlen || outlen > BLAKE2B_OUTBYTES) return -1; memset(S->buf, 0, sizeof(S->buf)); S->buflen = 0; S->outlen = outlen; if(blake2bp_init_root(S->R, outlen, 0) < 0) return -1; for(i = 0; i < PARALLELISM_DEGREE; ++i) if(blake2bp_init_leaf(S->S[i], outlen, 0, i) < 0) return -1; S->R->last_node = 1; S->S[PARALLELISM_DEGREE - 1]->last_node = 1; return 0; } int blake2bp_init_key(blake2bp_state *S, size_t outlen, const void *key, size_t keylen) { size_t i; if(!outlen || outlen > BLAKE2B_OUTBYTES) return -1; if(!key || !keylen || keylen > BLAKE2B_KEYBYTES) return -1; memset(S->buf, 0, sizeof(S->buf)); S->buflen = 0; S->outlen = outlen; if(blake2bp_init_root(S->R, outlen, keylen) < 0) return -1; for(i = 0; i < PARALLELISM_DEGREE; ++i) if(blake2bp_init_leaf(S->S[i], outlen, keylen, i) < 0) return -1; S->R->last_node = 1; S->S[PARALLELISM_DEGREE - 1]->last_node = 1; { uint8_t block[BLAKE2B_BLOCKBYTES]; memset(block, 0, BLAKE2B_BLOCKBYTES); memcpy(block, key, keylen); for(i = 0; i < PARALLELISM_DEGREE; ++i) blake2b_update(S->S[i], block, BLAKE2B_BLOCKBYTES); secure_zero_memory(block, BLAKE2B_BLOCKBYTES); /* Burn the key from stack */ } return 0; } int blake2bp_update(blake2bp_state *S, const void *pin, size_t inlen) { const unsigned char *in = (const unsigned char *)pin; size_t left = S->buflen; size_t fill = sizeof(S->buf) - left; size_t i; if(left && inlen >= fill) { memcpy(S->buf + left, in, fill); for(i = 0; i < PARALLELISM_DEGREE; ++i) blake2b_update(S->S[i], S->buf + i * BLAKE2B_BLOCKBYTES, BLAKE2B_BLOCKBYTES); in += fill; inlen -= fill; left = 0; } #if defined(_OPENMP) #pragma omp parallel shared(S), num_threads(PARALLELISM_DEGREE) #else for(i = 0; i < PARALLELISM_DEGREE; ++i) #endif { #if defined(_OPENMP) size_t i = omp_get_thread_num(); #endif size_t inlen__ = inlen; const unsigned char *in__ = (const unsigned char *)in; in__ += i * BLAKE2B_BLOCKBYTES; while(inlen__ >= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES) { blake2b_update(S->S[i], in__, BLAKE2B_BLOCKBYTES); in__ += PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; inlen__ -= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; } } in += inlen - inlen % (PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES); inlen %= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; if(inlen > 0) memcpy(S->buf + left, in, inlen); S->buflen = left + inlen; return 0; } int blake2bp_final(blake2bp_state *S, void *out, size_t outlen) { uint8_t hash[PARALLELISM_DEGREE][BLAKE2B_OUTBYTES]; size_t i; if(out == NULL || outlen < S->outlen) { return -1; } for(i = 0; i < PARALLELISM_DEGREE; ++i) { if(S->buflen > i * BLAKE2B_BLOCKBYTES) { size_t left = S->buflen - i * BLAKE2B_BLOCKBYTES; if(left > BLAKE2B_BLOCKBYTES) left = BLAKE2B_BLOCKBYTES; blake2b_update(S->S[i], S->buf + i * BLAKE2B_BLOCKBYTES, left); } blake2b_final(S->S[i], hash[i], BLAKE2B_OUTBYTES); } for(i = 0; i < PARALLELISM_DEGREE; ++i) blake2b_update(S->R, hash[i], BLAKE2B_OUTBYTES); return blake2b_final(S->R, out, S->outlen); } int blake2bp(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) { uint8_t hash[PARALLELISM_DEGREE][BLAKE2B_OUTBYTES]; blake2b_state S[PARALLELISM_DEGREE][1]; blake2b_state FS[1]; size_t i; /* Verify parameters */ if(NULL == in && inlen > 0) return -1; if(NULL == out) return -1; if(NULL == key && keylen > 0) return -1; if(!outlen || outlen > BLAKE2B_OUTBYTES) return -1; if(keylen > BLAKE2B_KEYBYTES) return -1; for(i = 0; i < PARALLELISM_DEGREE; ++i) if(blake2bp_init_leaf(S[i], outlen, keylen, i) < 0) return -1; S[PARALLELISM_DEGREE - 1]->last_node = 1; /* mark last node */ if(keylen > 0) { uint8_t block[BLAKE2B_BLOCKBYTES]; memset(block, 0, BLAKE2B_BLOCKBYTES); memcpy(block, key, keylen); for(i = 0; i < PARALLELISM_DEGREE; ++i) blake2b_update(S[i], block, BLAKE2B_BLOCKBYTES); secure_zero_memory(block, BLAKE2B_BLOCKBYTES); /* Burn the key from stack */ } #if defined(_OPENMP) #pragma omp parallel shared(S, hash), num_threads(PARALLELISM_DEGREE) #else for(i = 0; i < PARALLELISM_DEGREE; ++i) #endif { #if defined(_OPENMP) size_t i = omp_get_thread_num(); #endif size_t inlen__ = inlen; const unsigned char *in__ = (const unsigned char *)in; in__ += i * BLAKE2B_BLOCKBYTES; while(inlen__ >= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES) { blake2b_update(S[i], in__, BLAKE2B_BLOCKBYTES); in__ += PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; inlen__ -= PARALLELISM_DEGREE * BLAKE2B_BLOCKBYTES; } if(inlen__ > i * BLAKE2B_BLOCKBYTES) { const size_t left = inlen__ - i * BLAKE2B_BLOCKBYTES; const size_t len = left <= BLAKE2B_BLOCKBYTES ? left : BLAKE2B_BLOCKBYTES; blake2b_update(S[i], in__, len); } blake2b_final(S[i], hash[i], BLAKE2B_OUTBYTES); } if(blake2bp_init_root(FS, outlen, keylen) < 0) return -1; FS->last_node = 1; /* Mark as last node */ for(i = 0; i < PARALLELISM_DEGREE; ++i) blake2b_update(FS, hash[i], BLAKE2B_OUTBYTES); return blake2b_final(FS, out, outlen); ; } #if defined(BLAKE2BP_SELFTEST) #include #include "blake2-kat.h" int main(void) { uint8_t key[BLAKE2B_KEYBYTES]; uint8_t buf[BLAKE2_KAT_LENGTH]; size_t i, step; for(i = 0; i < BLAKE2B_KEYBYTES; ++i) key[i] = (uint8_t)i; for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) buf[i] = (uint8_t)i; /* Test simple API */ for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) { uint8_t hash[BLAKE2B_OUTBYTES]; blake2bp(hash, BLAKE2B_OUTBYTES, buf, i, key, BLAKE2B_KEYBYTES); if(0 != memcmp(hash, blake2bp_keyed_kat[i], BLAKE2B_OUTBYTES)) { goto fail; } } /* Test streaming API */ for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) { uint8_t hash[BLAKE2B_OUTBYTES]; blake2bp_state S; uint8_t *p = buf; size_t mlen = i; int err = 0; if((err = blake2bp_init_key(&S, BLAKE2B_OUTBYTES, key, BLAKE2B_KEYBYTES)) < 0) { goto fail; } while(mlen >= step) { if((err = blake2bp_update(&S, p, step)) < 0) { goto fail; } mlen -= step; p += step; } if((err = blake2bp_update(&S, p, mlen)) < 0) { goto fail; } if((err = blake2bp_final(&S, hash, BLAKE2B_OUTBYTES)) < 0) { goto fail; } if(0 != memcmp(hash, blake2bp_keyed_kat[i], BLAKE2B_OUTBYTES)) { goto fail; } } } puts("ok"); return 0; fail: puts("error"); return -1; } #endif rmlint-2.6.1/lib/checksums/blake2/blake2s-ref.c000066400000000000000000000237611312046612000211650ustar00rootroot00000000000000/* BLAKE2 reference source code package - reference C implementations Copyright 2012, Samuel Neves . You may use this under the terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at your option. The terms of these licenses can be found at: - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 - OpenSSL license : https://www.openssl.org/source/license.html - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 More information about the BLAKE2 hash function can be found at https://blake2.net. */ #include #include #include #include "blake2-impl.h" #include "blake2.h" static const uint32_t blake2s_IV[8] = {0x6A09E667UL, 0xBB67AE85UL, 0x3C6EF372UL, 0xA54FF53AUL, 0x510E527FUL, 0x9B05688CUL, 0x1F83D9ABUL, 0x5BE0CD19UL}; static const uint8_t blake2s_sigma[10][16] = { {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3}, {11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4}, {7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8}, {9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13}, {2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9}, {12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11}, {13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10}, {6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5}, {10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0}, }; static void blake2s_set_lastnode(blake2s_state *S) { S->f[1] = (uint32_t)-1; } /* Some helper functions, not necessarily useful */ static int blake2s_is_lastblock(const blake2s_state *S) { return S->f[0] != 0; } static void blake2s_set_lastblock(blake2s_state *S) { if(S->last_node) blake2s_set_lastnode(S); S->f[0] = (uint32_t)-1; } static void blake2s_increment_counter(blake2s_state *S, const uint32_t inc) { S->t[0] += inc; S->t[1] += (S->t[0] < inc); } static void blake2s_init0(blake2s_state *S) { size_t i; memset(S, 0, sizeof(blake2s_state)); for(i = 0; i < 8; ++i) S->h[i] = blake2s_IV[i]; } /* init2 xors IV with input parameter block */ int blake2s_init_param(blake2s_state *S, const blake2s_param *P) { const unsigned char *p = (const unsigned char *)(P); size_t i; blake2s_init0(S); /* IV XOR ParamBlock */ for(i = 0; i < 8; ++i) S->h[i] ^= load32(&p[i * 4]); S->outlen = P->digest_length; return 0; } /* Sequential blake2s initialization */ int blake2s_init(blake2s_state *S, size_t outlen) { blake2s_param P[1]; /* Move interval verification here? */ if((!outlen) || (outlen > BLAKE2S_OUTBYTES)) return -1; P->digest_length = (uint8_t)outlen; P->key_length = 0; P->fanout = 1; P->depth = 1; store32(&P->leaf_length, 0); store32(&P->node_offset, 0); store16(&P->xof_length, 0); P->node_depth = 0; P->inner_length = 0; /* memset(P->reserved, 0, sizeof(P->reserved) ); */ memset(P->salt, 0, sizeof(P->salt)); memset(P->personal, 0, sizeof(P->personal)); return blake2s_init_param(S, P); } int blake2s_init_key(blake2s_state *S, size_t outlen, const void *key, size_t keylen) { blake2s_param P[1]; if((!outlen) || (outlen > BLAKE2S_OUTBYTES)) return -1; if(!key || !keylen || keylen > BLAKE2S_KEYBYTES) return -1; P->digest_length = (uint8_t)outlen; P->key_length = (uint8_t)keylen; P->fanout = 1; P->depth = 1; store32(&P->leaf_length, 0); store32(&P->node_offset, 0); store16(&P->xof_length, 0); P->node_depth = 0; P->inner_length = 0; /* memset(P->reserved, 0, sizeof(P->reserved) ); */ memset(P->salt, 0, sizeof(P->salt)); memset(P->personal, 0, sizeof(P->personal)); if(blake2s_init_param(S, P) < 0) return -1; { uint8_t block[BLAKE2S_BLOCKBYTES]; memset(block, 0, BLAKE2S_BLOCKBYTES); memcpy(block, key, keylen); blake2s_update(S, block, BLAKE2S_BLOCKBYTES); secure_zero_memory(block, BLAKE2S_BLOCKBYTES); /* Burn the key from stack */ } return 0; } #define G(r, i, a, b, c, d) \ do { \ a = a + b + m[blake2s_sigma[r][2 * i + 0]]; \ d = rotr32(d ^ a, 16); \ c = c + d; \ b = rotr32(b ^ c, 12); \ a = a + b + m[blake2s_sigma[r][2 * i + 1]]; \ d = rotr32(d ^ a, 8); \ c = c + d; \ b = rotr32(b ^ c, 7); \ } while(0) #define ROUND(r) \ do { \ G(r, 0, v[0], v[4], v[8], v[12]); \ G(r, 1, v[1], v[5], v[9], v[13]); \ G(r, 2, v[2], v[6], v[10], v[14]); \ G(r, 3, v[3], v[7], v[11], v[15]); \ G(r, 4, v[0], v[5], v[10], v[15]); \ G(r, 5, v[1], v[6], v[11], v[12]); \ G(r, 6, v[2], v[7], v[8], v[13]); \ G(r, 7, v[3], v[4], v[9], v[14]); \ } while(0) static void blake2s_compress(blake2s_state *S, const uint8_t in[BLAKE2S_BLOCKBYTES]) { uint32_t m[16]; uint32_t v[16]; size_t i; for(i = 0; i < 16; ++i) { m[i] = load32(in + i * sizeof(m[i])); } for(i = 0; i < 8; ++i) { v[i] = S->h[i]; } v[8] = blake2s_IV[0]; v[9] = blake2s_IV[1]; v[10] = blake2s_IV[2]; v[11] = blake2s_IV[3]; v[12] = S->t[0] ^ blake2s_IV[4]; v[13] = S->t[1] ^ blake2s_IV[5]; v[14] = S->f[0] ^ blake2s_IV[6]; v[15] = S->f[1] ^ blake2s_IV[7]; ROUND(0); ROUND(1); ROUND(2); ROUND(3); ROUND(4); ROUND(5); ROUND(6); ROUND(7); ROUND(8); ROUND(9); for(i = 0; i < 8; ++i) { S->h[i] = S->h[i] ^ v[i] ^ v[i + 8]; } } #undef G #undef ROUND int blake2s_update(blake2s_state *S, const void *pin, size_t inlen) { const unsigned char *in = (const unsigned char *)pin; if(inlen > 0) { size_t left = S->buflen; size_t fill = BLAKE2S_BLOCKBYTES - left; if(inlen > fill) { S->buflen = 0; memcpy(S->buf + left, in, fill); /* Fill buffer */ blake2s_increment_counter(S, BLAKE2S_BLOCKBYTES); blake2s_compress(S, S->buf); /* Compress */ in += fill; inlen -= fill; while(inlen > BLAKE2S_BLOCKBYTES) { blake2s_increment_counter(S, BLAKE2S_BLOCKBYTES); blake2s_compress(S, in); in += BLAKE2S_BLOCKBYTES; inlen -= BLAKE2S_BLOCKBYTES; } } memcpy(S->buf + S->buflen, in, inlen); S->buflen += inlen; } return 0; } int blake2s_final(blake2s_state *S, void *out, size_t outlen) { uint8_t buffer[BLAKE2S_OUTBYTES] = {0}; size_t i; if(out == NULL || outlen < S->outlen) return -1; if(blake2s_is_lastblock(S)) return -1; blake2s_increment_counter(S, (uint32_t)S->buflen); blake2s_set_lastblock(S); memset(S->buf + S->buflen, 0, BLAKE2S_BLOCKBYTES - S->buflen); /* Padding */ blake2s_compress(S, S->buf); for(i = 0; i < 8; ++i) /* Output full hash to temp buffer */ store32(buffer + sizeof(S->h[i]) * i, S->h[i]); memcpy(out, buffer, outlen); secure_zero_memory(buffer, sizeof(buffer)); return 0; } int blake2s(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) { blake2s_state S[1]; /* Verify parameters */ if(NULL == in && inlen > 0) return -1; if(NULL == out) return -1; if(NULL == key && keylen > 0) return -1; if(!outlen || outlen > BLAKE2S_OUTBYTES) return -1; if(keylen > BLAKE2S_KEYBYTES) return -1; if(keylen > 0) { if(blake2s_init_key(S, outlen, key, keylen) < 0) return -1; } else { if(blake2s_init(S, outlen) < 0) return -1; } blake2s_update(S, (const uint8_t *)in, inlen); blake2s_final(S, out, outlen); return 0; } #if defined(SUPERCOP) int crypto_hash(unsigned char *out, unsigned char *in, unsigned long long inlen) { return blake2s(out, BLAKE2S_OUTBYTES in, inlen, NULL, 0); } #endif #if defined(BLAKE2S_SELFTEST) #include #include "blake2-kat.h" int main(void) { uint8_t key[BLAKE2S_KEYBYTES]; uint8_t buf[BLAKE2_KAT_LENGTH]; size_t i, step; for(i = 0; i < BLAKE2S_KEYBYTES; ++i) key[i] = (uint8_t)i; for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) buf[i] = (uint8_t)i; /* Test simple API */ for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) { uint8_t hash[BLAKE2S_OUTBYTES]; blake2s(hash, BLAKE2S_OUTBYTES, buf, i, key, BLAKE2S_KEYBYTES); if(0 != memcmp(hash, blake2s_keyed_kat[i], BLAKE2S_OUTBYTES)) { goto fail; } } /* Test streaming API */ for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) { uint8_t hash[BLAKE2S_OUTBYTES]; blake2s_state S; uint8_t *p = buf; size_t mlen = i; int err = 0; if((err = blake2s_init_key(&S, BLAKE2S_OUTBYTES, key, BLAKE2S_KEYBYTES)) < 0) { goto fail; } while(mlen >= step) { if((err = blake2s_update(&S, p, step)) < 0) { goto fail; } mlen -= step; p += step; } if((err = blake2s_update(&S, p, mlen)) < 0) { goto fail; } if((err = blake2s_final(&S, hash, BLAKE2S_OUTBYTES)) < 0) { goto fail; } if(0 != memcmp(hash, blake2s_keyed_kat[i], BLAKE2S_OUTBYTES)) { goto fail; } } } puts("ok"); return 0; fail: puts("error"); return -1; } #endif rmlint-2.6.1/lib/checksums/blake2/blake2sp-ref.c000066400000000000000000000232251312046612000213400ustar00rootroot00000000000000/* BLAKE2 reference source code package - reference C implementations Copyright 2012, Samuel Neves . You may use this under the terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at your option. The terms of these licenses can be found at: - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 - OpenSSL license : https://www.openssl.org/source/license.html - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 More information about the BLAKE2 hash function can be found at https://blake2.net. */ #include #include #include #if defined(_OPENMP) #include #endif #include "blake2-impl.h" #include "blake2.h" #define PARALLELISM_DEGREE 8 /* blake2sp_init_param defaults to setting the expecting output length from the digest_length parameter block field. In some cases, however, we do not want this, as the output length of these instances is given by inner_length instead. */ static int blake2sp_init_leaf_param(blake2s_state *S, const blake2s_param *P) { int err = blake2s_init_param(S, P); S->outlen = P->inner_length; return err; } static int blake2sp_init_leaf(blake2s_state *S, size_t outlen, size_t keylen, uint64_t offset) { blake2s_param P[1]; P->digest_length = (uint8_t)outlen; P->key_length = (uint8_t)keylen; P->fanout = PARALLELISM_DEGREE; P->depth = 2; store32(&P->leaf_length, 0); store32(&P->node_offset, offset); store16(&P->xof_length, 0); P->node_depth = 0; P->inner_length = BLAKE2S_OUTBYTES; memset(P->salt, 0, sizeof(P->salt)); memset(P->personal, 0, sizeof(P->personal)); return blake2sp_init_leaf_param(S, P); } static int blake2sp_init_root(blake2s_state *S, size_t outlen, size_t keylen) { blake2s_param P[1]; P->digest_length = (uint8_t)outlen; P->key_length = (uint8_t)keylen; P->fanout = PARALLELISM_DEGREE; P->depth = 2; store32(&P->leaf_length, 0); store32(&P->node_offset, 0); store16(&P->xof_length, 0); P->node_depth = 1; P->inner_length = BLAKE2S_OUTBYTES; memset(P->salt, 0, sizeof(P->salt)); memset(P->personal, 0, sizeof(P->personal)); return blake2s_init_param(S, P); } int blake2sp_init(blake2sp_state *S, size_t outlen) { size_t i; if(!outlen || outlen > BLAKE2S_OUTBYTES) return -1; memset(S->buf, 0, sizeof(S->buf)); S->buflen = 0; S->outlen = outlen; if(blake2sp_init_root(S->R, outlen, 0) < 0) return -1; for(i = 0; i < PARALLELISM_DEGREE; ++i) if(blake2sp_init_leaf(S->S[i], outlen, 0, i) < 0) return -1; S->R->last_node = 1; S->S[PARALLELISM_DEGREE - 1]->last_node = 1; return 0; } int blake2sp_init_key(blake2sp_state *S, size_t outlen, const void *key, size_t keylen) { size_t i; if(!outlen || outlen > BLAKE2S_OUTBYTES) return -1; if(!key || !keylen || keylen > BLAKE2S_KEYBYTES) return -1; memset(S->buf, 0, sizeof(S->buf)); S->buflen = 0; S->outlen = outlen; if(blake2sp_init_root(S->R, outlen, keylen) < 0) return -1; for(i = 0; i < PARALLELISM_DEGREE; ++i) if(blake2sp_init_leaf(S->S[i], outlen, keylen, i) < 0) return -1; S->R->last_node = 1; S->S[PARALLELISM_DEGREE - 1]->last_node = 1; { uint8_t block[BLAKE2S_BLOCKBYTES]; memset(block, 0, BLAKE2S_BLOCKBYTES); memcpy(block, key, keylen); for(i = 0; i < PARALLELISM_DEGREE; ++i) blake2s_update(S->S[i], block, BLAKE2S_BLOCKBYTES); secure_zero_memory(block, BLAKE2S_BLOCKBYTES); /* Burn the key from stack */ } return 0; } int blake2sp_update(blake2sp_state *S, const void *pin, size_t inlen) { const unsigned char *in = (const unsigned char *)pin; size_t left = S->buflen; size_t fill = sizeof(S->buf) - left; size_t i; if(left && inlen >= fill) { memcpy(S->buf + left, in, fill); for(i = 0; i < PARALLELISM_DEGREE; ++i) blake2s_update(S->S[i], S->buf + i * BLAKE2S_BLOCKBYTES, BLAKE2S_BLOCKBYTES); in += fill; inlen -= fill; left = 0; } #if defined(_OPENMP) #pragma omp parallel shared(S), num_threads(PARALLELISM_DEGREE) #else for(i = 0; i < PARALLELISM_DEGREE; ++i) #endif { #if defined(_OPENMP) size_t i = omp_get_thread_num(); #endif size_t inlen__ = inlen; const unsigned char *in__ = (const unsigned char *)in; in__ += i * BLAKE2S_BLOCKBYTES; while(inlen__ >= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES) { blake2s_update(S->S[i], in__, BLAKE2S_BLOCKBYTES); in__ += PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; inlen__ -= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; } } in += inlen - inlen % (PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES); inlen %= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; if(inlen > 0) memcpy(S->buf + left, in, inlen); S->buflen = left + inlen; return 0; } int blake2sp_final(blake2sp_state *S, void *out, size_t outlen) { uint8_t hash[PARALLELISM_DEGREE][BLAKE2S_OUTBYTES]; size_t i; if(out == NULL || outlen < S->outlen) { return -1; } for(i = 0; i < PARALLELISM_DEGREE; ++i) { if(S->buflen > i * BLAKE2S_BLOCKBYTES) { size_t left = S->buflen - i * BLAKE2S_BLOCKBYTES; if(left > BLAKE2S_BLOCKBYTES) left = BLAKE2S_BLOCKBYTES; blake2s_update(S->S[i], S->buf + i * BLAKE2S_BLOCKBYTES, left); } blake2s_final(S->S[i], hash[i], BLAKE2S_OUTBYTES); } for(i = 0; i < PARALLELISM_DEGREE; ++i) blake2s_update(S->R, hash[i], BLAKE2S_OUTBYTES); return blake2s_final(S->R, out, S->outlen); } int blake2sp(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) { uint8_t hash[PARALLELISM_DEGREE][BLAKE2S_OUTBYTES]; blake2s_state S[PARALLELISM_DEGREE][1]; blake2s_state FS[1]; size_t i; /* Verify parameters */ if(NULL == in && inlen > 0) return -1; if(NULL == out) return -1; if(NULL == key && keylen > 0) return -1; if(!outlen || outlen > BLAKE2S_OUTBYTES) return -1; if(keylen > BLAKE2S_KEYBYTES) return -1; for(i = 0; i < PARALLELISM_DEGREE; ++i) if(blake2sp_init_leaf(S[i], outlen, keylen, i) < 0) return -1; S[PARALLELISM_DEGREE - 1]->last_node = 1; /* mark last node */ if(keylen > 0) { uint8_t block[BLAKE2S_BLOCKBYTES]; memset(block, 0, BLAKE2S_BLOCKBYTES); memcpy(block, key, keylen); for(i = 0; i < PARALLELISM_DEGREE; ++i) blake2s_update(S[i], block, BLAKE2S_BLOCKBYTES); secure_zero_memory(block, BLAKE2S_BLOCKBYTES); /* Burn the key from stack */ } #if defined(_OPENMP) #pragma omp parallel shared(S, hash), num_threads(PARALLELISM_DEGREE) #else for(i = 0; i < PARALLELISM_DEGREE; ++i) #endif { #if defined(_OPENMP) size_t i = omp_get_thread_num(); #endif size_t inlen__ = inlen; const unsigned char *in__ = (const unsigned char *)in; in__ += i * BLAKE2S_BLOCKBYTES; while(inlen__ >= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES) { blake2s_update(S[i], in__, BLAKE2S_BLOCKBYTES); in__ += PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; inlen__ -= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES; } if(inlen__ > i * BLAKE2S_BLOCKBYTES) { const size_t left = inlen__ - i * BLAKE2S_BLOCKBYTES; const size_t len = left <= BLAKE2S_BLOCKBYTES ? left : BLAKE2S_BLOCKBYTES; blake2s_update(S[i], in__, len); } blake2s_final(S[i], hash[i], BLAKE2S_OUTBYTES); } if(blake2sp_init_root(FS, outlen, keylen) < 0) return -1; FS->last_node = 1; for(i = 0; i < PARALLELISM_DEGREE; ++i) blake2s_update(FS, hash[i], BLAKE2S_OUTBYTES); return blake2s_final(FS, out, outlen); } #if defined(BLAKE2SP_SELFTEST) #include #include "blake2-kat.h" int main(void) { uint8_t key[BLAKE2S_KEYBYTES]; uint8_t buf[BLAKE2_KAT_LENGTH]; size_t i, step; for(i = 0; i < BLAKE2S_KEYBYTES; ++i) key[i] = (uint8_t)i; for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) buf[i] = (uint8_t)i; /* Test simple API */ for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) { uint8_t hash[BLAKE2S_OUTBYTES]; blake2sp(hash, BLAKE2S_OUTBYTES, buf, i, key, BLAKE2S_KEYBYTES); if(0 != memcmp(hash, blake2sp_keyed_kat[i], BLAKE2S_OUTBYTES)) { goto fail; } } /* Test streaming API */ for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) { uint8_t hash[BLAKE2S_OUTBYTES]; blake2sp_state S; uint8_t *p = buf; size_t mlen = i; int err = 0; if((err = blake2sp_init_key(&S, BLAKE2S_OUTBYTES, key, BLAKE2S_KEYBYTES)) < 0) { goto fail; } while(mlen >= step) { if((err = blake2sp_update(&S, p, step)) < 0) { goto fail; } mlen -= step; p += step; } if((err = blake2sp_update(&S, p, mlen)) < 0) { goto fail; } if((err = blake2sp_final(&S, hash, BLAKE2S_OUTBYTES)) < 0) { goto fail; } if(0 != memcmp(hash, blake2sp_keyed_kat[i], BLAKE2S_OUTBYTES)) { goto fail; } } } puts("ok"); return 0; fail: puts("error"); return -1; } #endif rmlint-2.6.1/lib/checksums/blake2/blake2xb-ref.c000066400000000000000000000147121312046612000213300ustar00rootroot00000000000000/* BLAKE2 reference source code package - reference C implementations Copyright 2016, JP Aumasson . Copyright 2016, Samuel Neves . You may use this under the terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at your option. The terms of these licenses can be found at: - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 - OpenSSL license : https://www.openssl.org/source/license.html - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 More information about the BLAKE2 hash function can be found at https://blake2.net. */ #include #include #include #include "blake2-impl.h" #include "blake2.h" int blake2xb_init(blake2xb_state *S, const size_t outlen) { return blake2xb_init_key(S, outlen, NULL, 0); } int blake2xb_init_key(blake2xb_state *S, const size_t outlen, const void *key, size_t keylen) { if(outlen == 0 || outlen > 0xFFFFFFFFUL) { return -1; } if(NULL != key && keylen > BLAKE2B_KEYBYTES) { return -1; } if(NULL == key && keylen > 0) { return -1; } /* Initialize parameter block */ S->P->digest_length = BLAKE2B_OUTBYTES; S->P->key_length = keylen; S->P->fanout = 1; S->P->depth = 1; store32(&S->P->leaf_length, 0); store32(&S->P->node_offset, 0); store32(&S->P->xof_length, outlen); S->P->node_depth = 0; S->P->inner_length = 0; memset(S->P->reserved, 0, sizeof(S->P->reserved)); memset(S->P->salt, 0, sizeof(S->P->salt)); memset(S->P->personal, 0, sizeof(S->P->personal)); if(blake2b_init_param(S->S, S->P) < 0) { return -1; } if(keylen > 0) { uint8_t block[BLAKE2B_BLOCKBYTES]; memset(block, 0, BLAKE2B_BLOCKBYTES); memcpy(block, key, keylen); blake2b_update(S->S, block, BLAKE2B_BLOCKBYTES); secure_zero_memory(block, BLAKE2B_BLOCKBYTES); } return 0; } int blake2xb_update(blake2xb_state *S, const void *in, size_t inlen) { return blake2b_update(S->S, in, inlen); } int blake2xb_final(blake2xb_state *S, void *out, size_t outlen) { blake2b_state C[1]; blake2b_param P[1]; uint32_t xof_length = load32(&S->P->xof_length); uint8_t root[BLAKE2B_BLOCKBYTES]; size_t i; if(NULL == out) { return -1; } /* outlen must match the output size defined in xof_length, */ /* unless it was -1, in which case anything goes except 0. */ if(xof_length == 0xFFFFFFFFUL) { if(outlen == 0) { return -1; } } else { if(outlen != xof_length) { return -1; } } /* Finalize the root hash */ if(blake2b_final(S->S, root, BLAKE2B_OUTBYTES) < 0) { return -1; } /* Set common block structure values */ /* Copy values from parent instance, and only change the ones below */ memcpy(P, S->P, sizeof(blake2b_param)); P->key_length = 0; P->fanout = 0; P->depth = 0; store32(&P->leaf_length, BLAKE2B_OUTBYTES); P->inner_length = BLAKE2B_OUTBYTES; P->node_depth = 0; for(i = 0; outlen > 0; ++i) { const size_t block_size = (outlen < BLAKE2B_OUTBYTES) ? outlen : BLAKE2B_OUTBYTES; /* Initialize state */ P->digest_length = block_size; store32(&P->node_offset, i); blake2b_init_param(C, P); /* Process key if needed */ blake2b_update(C, root, BLAKE2B_OUTBYTES); if(blake2b_final(C, (uint8_t *)out + i * BLAKE2B_OUTBYTES, block_size) < 0) { return -1; } outlen -= block_size; } secure_zero_memory(root, sizeof(root)); secure_zero_memory(P, sizeof(P)); secure_zero_memory(C, sizeof(C)); /* Put blake2xb in an invalid state? cf. blake2s_is_lastblock */ return 0; } int blake2xb(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) { blake2xb_state S[1]; /* Verify parameters */ if(NULL == in && inlen > 0) return -1; if(NULL == out) return -1; if(NULL == key && keylen > 0) return -1; if(keylen > BLAKE2B_KEYBYTES) return -1; if(outlen == 0) return -1; /* Initialize the root block structure */ if(blake2xb_init_key(S, outlen, key, keylen) < 0) { return -1; } /* Absorb the input message */ blake2xb_update(S, in, inlen); /* Compute the root node of the tree and the final hash using the counter construction */ return blake2xb_final(S, out, outlen); } #if defined(BLAKE2XB_SELFTEST) #include #include "blake2-kat.h" int main(void) { uint8_t key[BLAKE2B_KEYBYTES]; uint8_t buf[BLAKE2_KAT_LENGTH]; size_t i, step, outlen; for(i = 0; i < BLAKE2B_KEYBYTES; ++i) { key[i] = (uint8_t)i; } for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) { buf[i] = (uint8_t)i; } /* Testing length of outputs rather than inputs */ /* (Test of input lengths mostly covered by blake2b tests) */ /* Test simple API */ for(outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen) { uint8_t hash[BLAKE2_KAT_LENGTH] = {0}; if(blake2xb(hash, outlen, buf, BLAKE2_KAT_LENGTH, key, BLAKE2B_KEYBYTES) < 0) { goto fail; } if(0 != memcmp(hash, blake2xb_keyed_kat[outlen - 1], outlen)) { goto fail; } } /* Test streaming API */ for(step = 1; step < BLAKE2B_BLOCKBYTES; ++step) { for(outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen) { uint8_t hash[BLAKE2_KAT_LENGTH]; blake2xb_state S; uint8_t *p = buf; size_t mlen = BLAKE2_KAT_LENGTH; int err = 0; if((err = blake2xb_init_key(&S, outlen, key, BLAKE2B_KEYBYTES)) < 0) { goto fail; } while(mlen >= step) { if((err = blake2xb_update(&S, p, step)) < 0) { goto fail; } mlen -= step; p += step; } if((err = blake2xb_update(&S, p, mlen)) < 0) { goto fail; } if((err = blake2xb_final(&S, hash, outlen)) < 0) { goto fail; } if(0 != memcmp(hash, blake2xb_keyed_kat[outlen - 1], outlen)) { goto fail; } } } puts("ok"); return 0; fail: puts("error"); return -1; } #endif rmlint-2.6.1/lib/checksums/blake2/blake2xs-ref.c000066400000000000000000000146131312046612000213510ustar00rootroot00000000000000/* BLAKE2 reference source code package - reference C implementations Copyright 2016, JP Aumasson . Copyright 2016, Samuel Neves . You may use this under the terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at your option. The terms of these licenses can be found at: - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0 - OpenSSL license : https://www.openssl.org/source/license.html - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0 More information about the BLAKE2 hash function can be found at https://blake2.net. */ #include #include #include #include "blake2-impl.h" #include "blake2.h" int blake2xs_init(blake2xs_state *S, const size_t outlen) { return blake2xs_init_key(S, outlen, NULL, 0); } int blake2xs_init_key(blake2xs_state *S, const size_t outlen, const void *key, size_t keylen) { if(outlen == 0 || outlen > 0xFFFFUL) { return -1; } if(NULL != key && keylen > BLAKE2B_KEYBYTES) { return -1; } if(NULL == key && keylen > 0) { return -1; } /* Initialize parameter block */ S->P->digest_length = BLAKE2S_OUTBYTES; S->P->key_length = keylen; S->P->fanout = 1; S->P->depth = 1; store32(&S->P->leaf_length, 0); store32(&S->P->node_offset, 0); store16(&S->P->xof_length, outlen); S->P->node_depth = 0; S->P->inner_length = 0; memset(S->P->salt, 0, sizeof(S->P->salt)); memset(S->P->personal, 0, sizeof(S->P->personal)); if(blake2s_init_param(S->S, S->P) < 0) { return -1; } if(keylen > 0) { uint8_t block[BLAKE2S_BLOCKBYTES]; memset(block, 0, BLAKE2S_BLOCKBYTES); memcpy(block, key, keylen); blake2s_update(S->S, block, BLAKE2S_BLOCKBYTES); secure_zero_memory(block, BLAKE2S_BLOCKBYTES); } return 0; } int blake2xs_update(blake2xs_state *S, const void *in, size_t inlen) { return blake2s_update(S->S, in, inlen); } int blake2xs_final(blake2xs_state *S, void *out, size_t outlen) { blake2s_state C[1]; blake2s_param P[1]; uint16_t xof_length = load16(&S->P->xof_length); uint8_t root[BLAKE2S_BLOCKBYTES]; size_t i; if(NULL == out) { return -1; } /* outlen must match the output size defined in xof_length, */ /* unless it was -1, in which case anything goes except 0. */ if(xof_length == 0xFFFFUL) { if(outlen == 0) { return -1; } } else { if(outlen != xof_length) { return -1; } } /* Finalize the root hash */ if(blake2s_final(S->S, root, BLAKE2S_OUTBYTES) < 0) { return -1; } /* Set common block structure values */ /* Copy values from parent instance, and only change the ones below */ memcpy(P, S->P, sizeof(blake2s_param)); P->key_length = 0; P->fanout = 0; P->depth = 0; store32(&P->leaf_length, BLAKE2S_OUTBYTES); P->inner_length = BLAKE2S_OUTBYTES; P->node_depth = 0; for(i = 0; outlen > 0; ++i) { const size_t block_size = (outlen < BLAKE2S_OUTBYTES) ? outlen : BLAKE2S_OUTBYTES; /* Initialize state */ P->digest_length = block_size; store32(&P->node_offset, i); blake2s_init_param(C, P); /* Process key if needed */ blake2s_update(C, root, BLAKE2S_OUTBYTES); if(blake2s_final(C, (uint8_t *)out + i * BLAKE2S_OUTBYTES, block_size) < 0) { return -1; } outlen -= block_size; } secure_zero_memory(root, sizeof(root)); secure_zero_memory(P, sizeof(P)); secure_zero_memory(C, sizeof(C)); /* Put blake2xs in an invalid state? cf. blake2s_is_lastblock */ return 0; } int blake2xs(void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen) { blake2xs_state S[1]; /* Verify parameters */ if(NULL == in && inlen > 0) return -1; if(NULL == out) return -1; if(NULL == key && keylen > 0) return -1; if(keylen > BLAKE2S_KEYBYTES) return -1; if(outlen == 0) return -1; /* Initialize the root block structure */ if(blake2xs_init_key(S, outlen, key, keylen) < 0) { return -1; } /* Absorb the input message */ blake2xs_update(S, in, inlen); /* Compute the root node of the tree and the final hash using the counter construction */ return blake2xs_final(S, out, outlen); } #if defined(BLAKE2XS_SELFTEST) #include #include "blake2-kat.h" int main(void) { uint8_t key[BLAKE2S_KEYBYTES]; uint8_t buf[BLAKE2_KAT_LENGTH]; size_t i, step, outlen; for(i = 0; i < BLAKE2S_KEYBYTES; ++i) { key[i] = (uint8_t)i; } for(i = 0; i < BLAKE2_KAT_LENGTH; ++i) { buf[i] = (uint8_t)i; } /* Testing length of outputs rather than inputs */ /* (Test of input lengths mostly covered by blake2s tests) */ /* Test simple API */ for(outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen) { uint8_t hash[BLAKE2_KAT_LENGTH] = {0}; if(blake2xs(hash, outlen, buf, BLAKE2_KAT_LENGTH, key, BLAKE2S_KEYBYTES) < 0) { goto fail; } if(0 != memcmp(hash, blake2xs_keyed_kat[outlen - 1], outlen)) { goto fail; } } /* Test streaming API */ for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) { for(outlen = 1; outlen <= BLAKE2_KAT_LENGTH; ++outlen) { uint8_t hash[BLAKE2_KAT_LENGTH]; blake2xs_state S; uint8_t *p = buf; size_t mlen = BLAKE2_KAT_LENGTH; int err = 0; if((err = blake2xs_init_key(&S, outlen, key, BLAKE2S_KEYBYTES)) < 0) { goto fail; } while(mlen >= step) { if((err = blake2xs_update(&S, p, step)) < 0) { goto fail; } mlen -= step; p += step; } if((err = blake2xs_update(&S, p, mlen)) < 0) { goto fail; } if((err = blake2xs_final(&S, hash, outlen)) < 0) { goto fail; } if(0 != memcmp(hash, blake2xs_keyed_kat[outlen - 1], outlen)) { goto fail; } } } puts("ok"); return 0; fail: puts("error"); return -1; } #endif rmlint-2.6.1/lib/checksums/cfarmhash.c000066400000000000000000000131441312046612000176560ustar00rootroot00000000000000#include #include #include #define bswap32(x) __builtin_bswap32(x) #define bswap64(x) __builtin_bswap64(x) #ifdef FARMHASH_BIG_ENDIAN #define uint32_in_expected_order(x) bswap32(x) #define uint64_in_expected_order(x) bswap64(x) #else #define uint32_in_expected_order(x) (x) #define uint64_in_expected_order(x) (x) #endif // Some primes between 2^63 and 2^64 for various uses. static const uint64_t k0 = 0xc3a5c85c97cb3127ULL; static const uint64_t k1 = 0xb492b66fbe98f273ULL; static const uint64_t k2 = 0x9ae16a3b2f90404fULL; static inline uint32_t fetch32(const char *p) { uint32_t result; memcpy(&result, p, sizeof(result)); return uint32_in_expected_order(result); } static inline uint64_t fetch64(const char *p) { uint64_t result; memcpy(&result, p, sizeof(result)); return uint64_in_expected_order(result); } static inline uint64_t shift_mix(uint64_t v) { return v ^ (v >> 47); } static inline uint64_t rotate64(uint64_t v, int shift) { return ((v >> shift) | (v << (64 - shift))); } static inline uint64_t hash_len_16(uint64_t u, uint64_t v, uint64_t mul) { uint64_t a, b; a = (u ^ v) * mul; a ^= (a >> 47); b = (v ^ a) * mul; b ^= (b >> 47); b *= mul; return b; } static inline uint64_t hash_len_0_to_16(const char *s, size_t len) { if(len >= 8) { uint64_t mul = k2 + len * 2; uint64_t a = fetch64(s) + k2; uint64_t b = fetch64(s + len - 8); uint64_t c = rotate64(b, 37) * mul + a; uint64_t d = (rotate64(a, 25) + b) * mul; return hash_len_16(c, d, mul); } if(len >= 4) { uint64_t mul = k2 + len * 2; uint64_t a = fetch32(s); return hash_len_16(len + (a << 3), fetch32(s + len - 4), mul); } if(len > 0) { uint8_t a = s[0]; uint8_t b = s[len >> 1]; uint8_t c = s[len - 1]; uint32_t y = (uint32_t)a + ((uint32_t)b << 8); uint32_t z = len + ((uint32_t)c << 2); return shift_mix(y * k2 ^ z * k0) * k2; } return k2; } static inline uint64_t hash_len_17_to_32(const char *s, size_t len) { uint64_t mul = k2 + len * 2; uint64_t a = fetch64(s) * k1; uint64_t b = fetch64(s + 8); uint64_t c = fetch64(s + len - 8) * mul; uint64_t d = fetch64(s + len - 16) * k2; return hash_len_16(rotate64(a + b, 43) + rotate64(c, 30) + d, a + rotate64(b + k2, 18) + c, mul); } static inline uint64_t hash_len_33_to_64(const char *s, size_t len) { uint64_t mul = k2 + len * 2; uint64_t a = fetch64(s) * k2; uint64_t b = fetch64(s + 8); uint64_t c = fetch64(s + len - 8) * mul; uint64_t d = fetch64(s + len - 16) * k2; uint64_t y = rotate64(a + b, 43) + rotate64(c, 30) + d; uint64_t z = hash_len_16(y, a + rotate64(b + k2, 18) + c, mul); uint64_t e = fetch64(s + 16) * mul; uint64_t f = fetch64(s + 24); uint64_t g = (y + fetch64(s + len - 32)) * mul; uint64_t h = (z + fetch64(s + len - 24)) * mul; return hash_len_16(rotate64(e + f, 43) + rotate64(g, 30) + h, e + rotate64(f + a, 18) + g, mul); } #define swap(x, y) \ do { \ (x) = (x) ^ (y); \ (y) = (x) ^ (y); \ (x) = (x) ^ y; \ } while(0); typedef struct pair64 pair64; struct pair64 { uint64_t first; uint64_t second; }; static inline pair64 weak_hash_len_32_with_seeds2(uint64_t w, uint64_t x, uint64_t y, uint64_t z, uint64_t a, uint64_t b) { uint64_t c; pair64 result; a += w; b = rotate64(b + a + z, 21); c = a; a += x; a += y; b += rotate64(a, 44); result.first = a + z; result.second = b + c; return result; } static inline pair64 weak_hash_len_32_with_seeds(const char *s, uint64_t a, uint64_t b) { return weak_hash_len_32_with_seeds2(fetch64(s), fetch64(s + 8), fetch64(s + 16), fetch64(s + 24), a, b); } uint64_t cfarmhash(const char *s, size_t len) { uint64_t mul; const uint64_t seed = 81; if(len <= 16) return hash_len_0_to_16(s, len); if(len <= 32) return hash_len_17_to_32(s, len); if(len <= 64) return hash_len_33_to_64(s, len); uint64_t x = seed, y = seed * k1 + 113, z = shift_mix(y * k2 + 113) * k2; pair64 v = {0, 0}, w = {0, 0}; x = x * k2 + fetch64(s); const char *end = s + ((len - 1) / 64) * 64; const char *last64 = end + ((len - 1) & 63) - 63; do { x = rotate64(x + y + v.first + fetch64(s + 8), 37) * k1; y = rotate64(y + v.second + fetch64(s + 48), 42) * k1; x ^= w.second; y += v.first + fetch64(s + 40); z = rotate64(z + w.first, 33) * k1; v = weak_hash_len_32_with_seeds(s, v.second * k1, x + w.first); w = weak_hash_len_32_with_seeds(s + 32, z + w.second, y + fetch64(s + 16)); swap(z, x); s += 64; } while(s != end); mul = k1 + ((z & 0xff) << 1); s = last64; w.first += ((len - 1) & 63); v.first += w.first; w.first += v.first; x = rotate64(x + y + v.first + fetch64(s + 8), 37) * mul; y = rotate64(y + v.second + fetch64(s + 48), 42) * mul; x ^= w.second * 9; y += v.first * 9 + fetch64(s + 40); z = rotate64(z + w.first, 33) * mul; v = weak_hash_len_32_with_seeds(s, v.second * mul, x + w.first); w = weak_hash_len_32_with_seeds(s + 32, z + w.second, y + fetch64(s + 16)); swap(z, x); return hash_len_16(hash_len_16(v.first, w.first, mul) + shift_mix(y) * k0 + z, hash_len_16(v.second, w.second, mul) + x, mul); } rmlint-2.6.1/lib/checksums/cfarmhash.h000066400000000000000000000002101312046612000176510ustar00rootroot00000000000000#ifndef SHEEPHASH_H_INCLUDED #define SHEEPHASH_H_INCLUDED uint64_t cfarmhash(const char *, size_t); #endif /* SHEEPHASH_H_INCLUDED */ rmlint-2.6.1/lib/checksums/city.c000066400000000000000000000312611312046612000166720ustar00rootroot00000000000000// city.c - cityhash-c // CityHash on C // Copyright (c) 2011-2012, Alexander Nusov // // - original copyright notice - // Copyright (c) 2011 Google, Inc. // // 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. // // CityHash, by Geoff Pike and Jyrki Alakuijala // // This file provides CityHash64() and related functions. // // It's probably possible to create even faster hash functions by // writing a program that systematically explores some of the space of // possible hash functions, by using SIMD instructions, or by // compromising on hash quality. #include "city.h" #include static uint64 UNALIGNED_LOAD64(const char *p) { uint64 result; memcpy(&result, p, sizeof(result)); return result; } static uint32 UNALIGNED_LOAD32(const char *p) { uint32 result; memcpy(&result, p, sizeof(result)); return result; } #if !defined(WORDS_BIGENDIAN) #define uint32_in_expected_order(x) (x) #define uint64_in_expected_order(x) (x) #else #ifdef _MSC_VER #include #define bswap_32(x) _byteswap_ulong(x) #define bswap_64(x) _byteswap_uint64(x) #elif defined(__APPLE__) // Mac OS X / Darwin features #include #define bswap_32(x) OSSwapInt32(x) #define bswap_64(x) OSSwapInt64(x) #else #include #endif #define uint32_in_expected_order(x) (bswap_32(x)) #define uint64_in_expected_order(x) (bswap_64(x)) #endif // WORDS_BIGENDIAN #if !defined(LIKELY) #if HAVE_BUILTIN_EXPECT #define LIKELY(x) (__builtin_expect(!!(x), 1)) #else #define LIKELY(x) (x) #endif #endif static uint64 Fetch64(const char *p) { return uint64_in_expected_order(UNALIGNED_LOAD64(p)); } static uint32 Fetch32(const char *p) { return uint32_in_expected_order(UNALIGNED_LOAD32(p)); } // Some primes between 2^63 and 2^64 for various uses. static const uint64 k0 = 0xc3a5c85c97cb3127ULL; static const uint64 k1 = 0xb492b66fbe98f273ULL; static const uint64 k2 = 0x9ae16a3b2f90404fULL; static const uint64 k3 = 0xc949d7c7509e6557ULL; // Hash 128 input bits down to 64 bits of output. // This is intended to be a reasonably good hash function. static inline uint64 Hash128to64(const uint128 x) { // Murmur-inspired hashing. const uint64 kMul = 0x9ddfea08eb382d69ULL; uint64 a = (Uint128Low64(x) ^ Uint128High64(x)) * kMul; a ^= (a >> 47); uint64 b = (Uint128High64(x) ^ a) * kMul; b ^= (b >> 47); b *= kMul; return b; } // Bitwise right rotate. Normally this will compile to a single // instruction, especially if the shift is a manifest constant. static uint64 Rotate(uint64 val, int shift) { // Avoid shifting by 64: doing so yields an undefined result. return shift == 0 ? val : ((val >> shift) | (val << (64 - shift))); } // Equivalent to Rotate(), but requires the second arg to be non-zero. // On x86-64, and probably others, it's possible for this to compile // to a single instruction if both args are already in registers. static uint64 RotateByAtLeast1(uint64 val, int shift) { return (val >> shift) | (val << (64 - shift)); } static uint64 ShiftMix(uint64 val) { return val ^ (val >> 47); } static uint64 HashLen16(uint64 u, uint64 v) { uint128 result; result.first = u; result.second = v; return Hash128to64(result); } static uint64 HashLen0to16(const char *s, size_t len) { if(len > 8) { uint64 a = Fetch64(s); uint64 b = Fetch64(s + len - 8); return HashLen16(a, RotateByAtLeast1(b + len, len)) ^ b; } if(len >= 4) { uint64 a = Fetch32(s); return HashLen16(len + (a << 3), Fetch32(s + len - 4)); } if(len > 0) { uint8 a = s[0]; uint8 b = s[len >> 1]; uint8 c = s[len - 1]; uint32 y = (uint32)(a) + ((uint32)(b) << 8); uint32 z = len + ((uint32)(c) << 2); return ShiftMix(y * k2 ^ z * k3) * k2; } return k2; } // This probably works well for 16-byte strings as well, but it may be overkill // in that case. static uint64 HashLen17to32(const char *s, size_t len) { uint64 a = Fetch64(s) * k1; uint64 b = Fetch64(s + 8); uint64 c = Fetch64(s + len - 8) * k2; uint64 d = Fetch64(s + len - 16) * k0; return HashLen16(Rotate(a - b, 43) + Rotate(c, 30) + d, a + Rotate(b ^ k3, 20) - c + len); } // Return a 16-byte hash for 48 bytes. Quick and dirty. // Callers do best to use "random-looking" values for a and b. // static pair WeakHashLen32WithSeeds( uint128 WeakHashLen32WithSeeds6(uint64 w, uint64 x, uint64 y, uint64 z, uint64 a, uint64 b) { a += w; b = Rotate(b + a + z, 21); uint64 c = a; a += x; a += y; b += Rotate(a, 44); uint128 result; result.first = (uint64)(a + z); result.second = (uint64)(b + c); return result; } // Return a 16-byte hash for s[0] ... s[31], a, and b. Quick and dirty. // static pair WeakHashLen32WithSeeds( uint128 WeakHashLen32WithSeeds(const char *s, uint64 a, uint64 b) { return WeakHashLen32WithSeeds6(Fetch64(s), Fetch64(s + 8), Fetch64(s + 16), Fetch64(s + 24), a, b); } // Return an 8-byte hash for 33 to 64 bytes. static uint64 HashLen33to64(const char *s, size_t len) { uint64 z = Fetch64(s + 24); uint64 a = Fetch64(s) + (len + Fetch64(s + len - 16)) * k0; uint64 b = Rotate(a + z, 52); uint64 c = Rotate(a, 37); a += Fetch64(s + 8); c += Rotate(a, 7); a += Fetch64(s + 16); uint64 vf = a + z; uint64 vs = b + Rotate(a, 31) + c; a = Fetch64(s + 16) + Fetch64(s + len - 32); z = Fetch64(s + len - 8); b = Rotate(a + z, 52); c = Rotate(a, 37); a += Fetch64(s + len - 24); c += Rotate(a, 7); a += Fetch64(s + len - 16); uint64 wf = a + z; uint64 ws = b + Rotate(a, 31) + c; uint64 r = ShiftMix((vf + ws) * k2 + (wf + vs) * k0); return ShiftMix(r * k0 + vs) * k2; } uint64 CityHash64(const char *s, size_t len) { if(len <= 32) { if(len <= 16) { return HashLen0to16(s, len); } else { return HashLen17to32(s, len); } } else if(len <= 64) { return HashLen33to64(s, len); } // For strings over 64 bytes we hash the end first, and then as we // loop we keep 56 bytes of state: v, w, x, y, and z. uint64 x = Fetch64(s + len - 40); uint64 y = Fetch64(s + len - 16) + Fetch64(s + len - 56); uint64 z = HashLen16(Fetch64(s + len - 48) + len, Fetch64(s + len - 24)); uint64 temp; uint128 v = WeakHashLen32WithSeeds(s + len - 64, len, z); uint128 w = WeakHashLen32WithSeeds(s + len - 32, y + k1, x); x = x * k1 + Fetch64(s); // Decrease len to the nearest multiple of 64, and operate on 64-byte chunks. len = (len - 1) & ~(size_t)(63); do { x = Rotate(x + y + v.first + Fetch64(s + 8), 37) * k1; y = Rotate(y + v.second + Fetch64(s + 48), 42) * k1; x ^= w.second; y += v.first + Fetch64(s + 40); z = Rotate(z + w.first, 33) * k1; v = WeakHashLen32WithSeeds(s, v.second * k1, x + w.first); w = WeakHashLen32WithSeeds(s + 32, z + w.second, y + Fetch64(s + 16)); temp = z; z = x; x = temp; s += 64; len -= 64; } while(len != 0); return HashLen16(HashLen16(v.first, w.first) + ShiftMix(y) * k1 + z, HashLen16(v.second, w.second) + x); } uint64 CityHash64WithSeed(const char *s, size_t len, uint64 seed) { return CityHash64WithSeeds(s, len, k2, seed); } uint64 CityHash64WithSeeds(const char *s, size_t len, uint64 seed0, uint64 seed1) { return HashLen16(CityHash64(s, len) - seed0, seed1); } // A subroutine for CityHash128(). Returns a decent 128-bit hash for strings // of any length representable in signed long. Based on City and Murmur. static uint128 CityMurmur(const char *s, size_t len, uint128 seed) { uint64 a = Uint128Low64(seed); uint64 b = Uint128High64(seed); uint64 c = 0; uint64 d = 0; signed long l = len - 16; if(l <= 0) { // len <= 16 a = ShiftMix(a * k1) * k1; c = b * k1 + HashLen0to16(s, len); d = ShiftMix(a + (len >= 8 ? Fetch64(s) : c)); } else { // len > 16 c = HashLen16(Fetch64(s + len - 8) + k1, a); d = HashLen16(b + len, c + Fetch64(s + len - 16)); a += d; do { a ^= ShiftMix(Fetch64(s) * k1) * k1; a *= k1; b ^= a; c ^= ShiftMix(Fetch64(s + 8) * k1) * k1; c *= k1; d ^= c; s += 16; l -= 16; } while(l > 0); } a = HashLen16(a, c); b = HashLen16(d, b); uint128 result; result.first = (uint64)(a ^ b); result.second = (uint64)(HashLen16(b, a)); return result; } uint128 CityHash128WithSeed(const char *s, size_t len, uint128 seed) { if(len < 128) { return CityMurmur(s, len, seed); } // We expect len >= 128 to be the common case. Keep 56 bytes of state: // v, w, x, y, and z. uint128 v, w; uint64 x = Uint128Low64(seed); uint64 y = Uint128High64(seed); uint64 z = len * k1; uint64 temp; v.first = Rotate(y ^ k1, 49) * k1 + Fetch64(s); v.second = Rotate(v.first, 42) * k1 + Fetch64(s + 8); w.first = Rotate(y + z, 35) * k1 + x; w.second = Rotate(x + Fetch64(s + 88), 53) * k1; // This is the same inner loop as CityHash64(), manually unrolled. do { x = Rotate(x + y + v.first + Fetch64(s + 8), 37) * k1; y = Rotate(y + v.second + Fetch64(s + 48), 42) * k1; x ^= w.second; y += v.first + Fetch64(s + 40); z = Rotate(z + w.first, 33) * k1; v = WeakHashLen32WithSeeds(s, v.second * k1, x + w.first); w = WeakHashLen32WithSeeds(s + 32, z + w.second, y + Fetch64(s + 16)); temp = z; z = x; x = temp; s += 64; x = Rotate(x + y + v.first + Fetch64(s + 8), 37) * k1; y = Rotate(y + v.second + Fetch64(s + 48), 42) * k1; x ^= w.second; y += v.first + Fetch64(s + 40); z = Rotate(z + w.first, 33) * k1; v = WeakHashLen32WithSeeds(s, v.second * k1, x + w.first); w = WeakHashLen32WithSeeds(s + 32, z + w.second, y + Fetch64(s + 16)); temp = z; z = x; x = temp; s += 64; len -= 128; } while(LIKELY(len >= 128)); x += Rotate(v.first + z, 49) * k0; z += Rotate(w.first, 37) * k0; // If 0 < len < 128, hash up to 4 chunks of 32 bytes each from the end of s. size_t tail_done; for(tail_done = 0; tail_done < len;) { tail_done += 32; y = Rotate(x + y, 42) * k0 + v.second; w.first += Fetch64(s + len - tail_done + 16); x = x * k0 + w.first; z += w.second + Fetch64(s + len - tail_done); w.second += v.first; v = WeakHashLen32WithSeeds(s + len - tail_done, v.first + z, v.second); } // At this point our 56 bytes of state should contain more than // enough information for a strong 128-bit hash. We use two // different 56-byte-to-8-byte hashes to get a 16-byte final result. x = HashLen16(x, v.first); y = HashLen16(y + z, w.first); uint128 result; result.first = (uint64)(HashLen16(x + v.second, w.second) + y); result.second = (uint64)HashLen16(x + w.second, y + v.second); return result; } uint128 CityHash128(const char *s, size_t len) { uint128 r; if(len >= 16) { r.first = (uint64)(Fetch64(s) ^ k3); r.second = (uint64)(Fetch64(s + 8)); return CityHash128WithSeed(s + 16, len - 16, r); } else if(len >= 8) { r.first = (uint64)(Fetch64(s) ^ (len * k0)); r.second = (uint64)(Fetch64(s + len - 8) ^ k1); return CityHash128WithSeed(NULL, 0, r); } else { r.first = (uint64)k0; r.second = (uint64)k1; return CityHash128WithSeed(s, len, r); } } rmlint-2.6.1/lib/checksums/city.h000066400000000000000000000063661312046612000167070ustar00rootroot00000000000000// city.h - cityhash-c // CityHash on C // Copyright (c) 2011-2012, Alexander Nusov // // - original copyright notice - // Copyright (c) 2011 Google, Inc. // // 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. // // CityHash, by Geoff Pike and Jyrki Alakuijala // // This file provides a few functions for hashing strings. On x86-64 // hardware in 2011, CityHash64() is faster than other high-quality // hash functions, such as Murmur. This is largely due to higher // instruction-level parallelism. CityHash64() and CityHash128() also perform // well on hash-quality tests. // // CityHash128() is optimized for relatively long strings and returns // a 128-bit hash. For strings more than about 2000 bytes it can be // faster than CityHash64(). // // Functions in the CityHash family are not suitable for cryptography. // // WARNING: This code has not been tested on big-endian platforms! // It is known to work well on little-endian platforms that have a small penalty // for unaligned reads, such as current Intel and AMD moderate-to-high-end CPUs. // // By the way, for some hash functions, given strings a and b, the hash // of a+b is easily derived from the hashes of a and b. This property // doesn't hold for any hash functions in this file. #ifndef CITY_HASH_H_ #define CITY_HASH_H_ #include #include typedef uint8_t uint8; typedef uint32_t uint32; typedef uint64_t uint64; typedef struct _uint128 uint128; struct _uint128 { uint64 first; uint64 second; }; #define Uint128Low64(x) (x).first #define Uint128High64(x) (x).second // Hash function for a byte array. uint64 CityHash64(const char *buf, size_t len); // Hash function for a byte array. For convenience, a 64-bit seed is also // hashed into the result. uint64 CityHash64WithSeed(const char *buf, size_t len, uint64 seed); // Hash function for a byte array. For convenience, two seeds are also // hashed into the result. uint64 CityHash64WithSeeds(const char *buf, size_t len, uint64 seed0, uint64 seed1); // Hash function for a byte array. uint128 CityHash128(const char *s, size_t len); // Hash function for a byte array. For convenience, a 128-bit seed is also // hashed into the result. uint128 CityHash128WithSeed(const char *s, size_t len, uint128 seed); #endif // CITY_HASH_H_ rmlint-2.6.1/lib/checksums/citycrc.h000066400000000000000000000037011312046612000173650ustar00rootroot00000000000000// citycrc.h - cityhash-c // CityHash on C // Copyright (c) 2011-2012, Alexander Nusov // // - original copyright notice - // Copyright (c) 2011 Google, Inc. // // 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. // // CityHash, by Geoff Pike and Jyrki Alakuijala // // This file declares the subset of the CityHash functions that require // _mm_crc32_u64(). See the CityHash README for details. // // Functions in the CityHash family are not suitable for cryptography. #ifndef CITY_HASH_CRC_H_ #define CITY_HASH_CRC_H_ #include "city.h" // Hash function for a byte array. uint128 CityHashCrc128(const char *s, size_t len); // Hash function for a byte array. For convenience, a 128-bit seed is also // hashed into the result. uint128 CityHashCrc128WithSeed(const char *s, size_t len, uint128 seed); // Hash function for a byte array. Sets result[0] ... result[3]. void CityHashCrc256(const char *s, size_t len, uint64 *result); #endif // CITY_HASH_CRC_H_ rmlint-2.6.1/lib/checksums/murmur3.c000066400000000000000000000205221312046612000173320ustar00rootroot00000000000000//----------------------------------------------------------------------------- // MurmurHash3 was written by Austin Appleby, and is placed in the public // domain. The author hereby disclaims copyright to this source code. // Note - The x86 and x64 versions do _not_ produce the same results, as the // algorithms are optimized for their respective platforms. You can still // compile and run any of them on any platform, but your performance with the // non-native version will be less than optimal. #include "murmur3.h" //----------------------------------------------------------------------------- // Platform-specific functions and macros #ifdef __GNUC__ #define FORCE_INLINE __attribute__((always_inline)) inline #else #define FORCE_INLINE inline #endif static FORCE_INLINE uint32_t rotl32(uint32_t x, int8_t r) { return (x << r) | (x >> (32 - r)); } static FORCE_INLINE uint64_t rotl64(uint64_t x, int8_t r) { return (x << r) | (x >> (64 - r)); } #define ROTL32(x, y) rotl32(x, y) #define ROTL64(x, y) rotl64(x, y) #define BIG_CONSTANT(x) (x##LLU) //----------------------------------------------------------------------------- // Block read - if your platform needs to do endian-swapping or can only // handle aligned reads, do the conversion here #define getblock(p, i) (p[i]) //----------------------------------------------------------------------------- // Finalization mix - force all bits of a hash block to avalanche static FORCE_INLINE uint32_t fmix32(uint32_t h) { h ^= h >> 16; h *= 0x85ebca6b; h ^= h >> 13; h *= 0xc2b2ae35; h ^= h >> 16; return h; } //---------- static FORCE_INLINE uint64_t fmix64(uint64_t k) { k ^= k >> 33; k *= BIG_CONSTANT(0xff51afd7ed558ccd); k ^= k >> 33; k *= BIG_CONSTANT(0xc4ceb9fe1a85ec53); k ^= k >> 33; return k; } //----------------------------------------------------------------------------- void MurmurHash3_x86_32(const void *key, int len, uint32_t seed, void *out) { const uint8_t *data = (const uint8_t *)key; const int nblocks = len / 4; int i; uint32_t h1 = seed; uint32_t c1 = 0xcc9e2d51; uint32_t c2 = 0x1b873593; //---------- // body const uint32_t *blocks = (const uint32_t *)(data + nblocks * 4); for(i = -nblocks; i; i++) { uint32_t k1 = getblock(blocks, i); k1 *= c1; k1 = ROTL32(k1, 15); k1 *= c2; h1 ^= k1; h1 = ROTL32(h1, 13); h1 = h1 * 5 + 0xe6546b64; } //---------- // tail const uint8_t *tail = (const uint8_t *)(data + nblocks * 4); uint32_t k1 = 0; switch(len & 3) { case 3: k1 ^= tail[2] << 16; case 2: k1 ^= tail[1] << 8; case 1: k1 ^= tail[0]; k1 *= c1; k1 = ROTL32(k1, 15); k1 *= c2; h1 ^= k1; }; //---------- // finalization h1 ^= len; h1 = fmix32(h1); *(uint32_t *)out = h1; } //----------------------------------------------------------------------------- void MurmurHash3_x86_128(const void *key, const int len, uint32_t seed, void *out) { const uint8_t *data = (const uint8_t *)key; const int nblocks = len / 16; int i; uint32_t h1 = seed; uint32_t h2 = seed; uint32_t h3 = seed; uint32_t h4 = seed; uint32_t c1 = 0x239b961b; uint32_t c2 = 0xab0e9789; uint32_t c3 = 0x38b34ae5; uint32_t c4 = 0xa1e38b93; //---------- // body const uint32_t *blocks = (const uint32_t *)(data + nblocks * 16); for(i = -nblocks; i; i++) { uint32_t k1 = getblock(blocks, i * 4 + 0); uint32_t k2 = getblock(blocks, i * 4 + 1); uint32_t k3 = getblock(blocks, i * 4 + 2); uint32_t k4 = getblock(blocks, i * 4 + 3); k1 *= c1; k1 = ROTL32(k1, 15); k1 *= c2; h1 ^= k1; h1 = ROTL32(h1, 19); h1 += h2; h1 = h1 * 5 + 0x561ccd1b; k2 *= c2; k2 = ROTL32(k2, 16); k2 *= c3; h2 ^= k2; h2 = ROTL32(h2, 17); h2 += h3; h2 = h2 * 5 + 0x0bcaa747; k3 *= c3; k3 = ROTL32(k3, 17); k3 *= c4; h3 ^= k3; h3 = ROTL32(h3, 15); h3 += h4; h3 = h3 * 5 + 0x96cd1c35; k4 *= c4; k4 = ROTL32(k4, 18); k4 *= c1; h4 ^= k4; h4 = ROTL32(h4, 13); h4 += h1; h4 = h4 * 5 + 0x32ac3b17; } //---------- // tail const uint8_t *tail = (const uint8_t *)(data + nblocks * 16); uint32_t k1 = 0; uint32_t k2 = 0; uint32_t k3 = 0; uint32_t k4 = 0; switch(len & 15) { case 15: k4 ^= tail[14] << 16; case 14: k4 ^= tail[13] << 8; case 13: k4 ^= tail[12] << 0; k4 *= c4; k4 = ROTL32(k4, 18); k4 *= c1; h4 ^= k4; case 12: k3 ^= tail[11] << 24; case 11: k3 ^= tail[10] << 16; case 10: k3 ^= tail[9] << 8; case 9: k3 ^= tail[8] << 0; k3 *= c3; k3 = ROTL32(k3, 17); k3 *= c4; h3 ^= k3; case 8: k2 ^= tail[7] << 24; case 7: k2 ^= tail[6] << 16; case 6: k2 ^= tail[5] << 8; case 5: k2 ^= tail[4] << 0; k2 *= c2; k2 = ROTL32(k2, 16); k2 *= c3; h2 ^= k2; case 4: k1 ^= tail[3] << 24; case 3: k1 ^= tail[2] << 16; case 2: k1 ^= tail[1] << 8; case 1: k1 ^= tail[0] << 0; k1 *= c1; k1 = ROTL32(k1, 15); k1 *= c2; h1 ^= k1; }; //---------- // finalization h1 ^= len; h2 ^= len; h3 ^= len; h4 ^= len; h1 += h2; h1 += h3; h1 += h4; h2 += h1; h3 += h1; h4 += h1; h1 = fmix32(h1); h2 = fmix32(h2); h3 = fmix32(h3); h4 = fmix32(h4); h1 += h2; h1 += h3; h1 += h4; h2 += h1; h3 += h1; h4 += h1; ((uint32_t *)out)[0] = h1; ((uint32_t *)out)[1] = h2; ((uint32_t *)out)[2] = h3; ((uint32_t *)out)[3] = h4; } //----------------------------------------------------------------------------- void MurmurHash3_x64_128(const void *key, const int len, const uint32_t seed, void *out) { const uint8_t *data = (const uint8_t *)key; const int nblocks = len / 16; int i; uint64_t h1 = seed; uint64_t h2 = seed; uint64_t c1 = BIG_CONSTANT(0x87c37b91114253d5); uint64_t c2 = BIG_CONSTANT(0x4cf5ad432745937f); //---------- // body const uint64_t *blocks = (const uint64_t *)(data); for(i = 0; i < nblocks; i++) { uint64_t k1 = getblock(blocks, i * 2 + 0); uint64_t k2 = getblock(blocks, i * 2 + 1); k1 *= c1; k1 = ROTL64(k1, 31); k1 *= c2; h1 ^= k1; h1 = ROTL64(h1, 27); h1 += h2; h1 = h1 * 5 + 0x52dce729; k2 *= c2; k2 = ROTL64(k2, 33); k2 *= c1; h2 ^= k2; h2 = ROTL64(h2, 31); h2 += h1; h2 = h2 * 5 + 0x38495ab5; } //---------- // tail const uint8_t *tail = (const uint8_t *)(data + nblocks * 16); uint64_t k1 = 0; uint64_t k2 = 0; switch(len & 15) { case 15: k2 ^= (uint64_t)(tail[14]) << 48; case 14: k2 ^= (uint64_t)(tail[13]) << 40; case 13: k2 ^= (uint64_t)(tail[12]) << 32; case 12: k2 ^= (uint64_t)(tail[11]) << 24; case 11: k2 ^= (uint64_t)(tail[10]) << 16; case 10: k2 ^= (uint64_t)(tail[9]) << 8; case 9: k2 ^= (uint64_t)(tail[8]) << 0; k2 *= c2; k2 = ROTL64(k2, 33); k2 *= c1; h2 ^= k2; case 8: k1 ^= (uint64_t)(tail[7]) << 56; case 7: k1 ^= (uint64_t)(tail[6]) << 48; case 6: k1 ^= (uint64_t)(tail[5]) << 40; case 5: k1 ^= (uint64_t)(tail[4]) << 32; case 4: k1 ^= (uint64_t)(tail[3]) << 24; case 3: k1 ^= (uint64_t)(tail[2]) << 16; case 2: k1 ^= (uint64_t)(tail[1]) << 8; case 1: k1 ^= (uint64_t)(tail[0]) << 0; k1 *= c1; k1 = ROTL64(k1, 31); k1 *= c2; h1 ^= k1; }; //---------- // finalization h1 ^= len; h2 ^= len; h1 += h2; h2 += h1; h1 = fmix64(h1); h2 = fmix64(h2); h1 += h2; h2 += h1; ((uint64_t *)out)[0] = h1; ((uint64_t *)out)[1] = h2; } //----------------------------------------------------------------------------- rmlint-2.6.1/lib/checksums/murmur3.h000066400000000000000000000013231312046612000173350ustar00rootroot00000000000000//----------------------------------------------------------------------------- // MurmurHash3 was written by Austin Appleby, and is placed in the // public domain. The author hereby disclaims copyright to this source // code. #ifndef _MURMURHASH3_H_ #define _MURMURHASH3_H_ #include //----------------------------------------------------------------------------- void MurmurHash3_x86_32(const void *key, int len, uint32_t seed, void *out); void MurmurHash3_x86_128(const void *key, int len, uint32_t seed, void *out); void MurmurHash3_x64_128(const void *key, int len, uint32_t seed, void *out); //----------------------------------------------------------------------------- #endif // _MURMURHASH3_H_ rmlint-2.6.1/lib/checksums/sha3/000077500000000000000000000000001312046612000164115ustar00rootroot00000000000000rmlint-2.6.1/lib/checksums/sha3/README.md000066400000000000000000000060461312046612000176760ustar00rootroot00000000000000# A single-file C implementation of SHA-3 with Init/Update/Finalize API The purpose of this project is: * provide an API that hashes bytes, not bits * provide a simple __single-file__ reference implementation of a SHA-3 message digest algorithm, as defined in the [FIPS 202][fips202_standard] standard; * implement the hashing API that employs the __IUF__ paradigm (or `Init`, `Update`, `Finalize` style). * answer the design questions, such as: * what does the state for IUF look like? * how small can the state be (224 bytes on a 64-bit system for a unified SHA-3 algorithm) * what is the incremental cost of adding e.g. SHA3-384 to a SHA3-256 implementation? The implementation is written in C and uses `uint64_t` types to manage the state. The code will compile and run on 64-bit and 32-bit architectures (`gcc` and `gcc -m32` on `x86_64` were tested). [fips202_standard]: http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf "FIPS 202 standard" ## License, prior work This work is in public domain. I would appreciate any attribution to this work if you used the code or ideas. I thank you for this in advance. This is a clean-room implementation of IUF API for SHA3. The `keccakf()` is based on the code from [keccak.noekeon.org](http://keccak.noekeon.org/). 1600-bit message hashing test vectors are [NIST test vectors](http://csrc.nist.gov/groups/ST/toolkit/examples.html). ## Overview of the API Let's hash 'abc' with SHA3-256 using two methods: single buffer (but using IUF paradigm), and using the IUF API. sha3_context c; uint8_t *hash; Single-buffer hashing: sha3_Init256(&c); sha3_Update(&c, "abc", 3); hash = sha3_Finalize(&c); // 'hash' points to a buffer inside 'c' // with the value of SHA3-256 Alternatively, IUF hashing: sha3_Init256(&c); sha3_Update(&c, "a", 1); sha3_Update(&c, "bc", 2); hash = sha3_Finalize(&c); // no free for 'c' is needed The `hash` points to the same `256/8=32` bytes in both cases. ## Self-tests $ gcc -Wall sha3.c -o _ && ./_ SHA3-256, SHA3-384, SHA3-512 tests passed OK or $ gcc -m32 Wall sha3.c -o _ && ./_ SHA3-256, SHA3-384, SHA3-512 tests passed OK ## API * the same `sha3_context` object maintains the state for SHA3-256, SHA3-384, or SHA3-512 algorithm; * the hash algorithm used is determined by how the context was initialized with `sha3_InitX`, e.g. `sha3_Init256`, `sha3_Init384`, or `sha3_Init512` call; * `sha3_Update` and `sha3_Finalize` are the same for regardless the type of the algorithm (`X`); * the buffer returned by `sha3_Finalize` will have `X` bits of hash; * `sha3_InitX` works also as Reset or Free (zeroization) of the hash context. See [`sha3.c`](sha3.c) for details. ## Notes SHA3-224 is not supported, but can easily be added. The code was written to work with the Microsoft Visual Studio compiler (under `_MSC_VER`), but this build target was not tested. This project was created to support [SHA3 in OpenPGP](https://tools.ietf.org/html/draft-jivsov-openpgp-sha3) work, but it applies to other protocols and formats, e.g. TLS. rmlint-2.6.1/lib/checksums/sha3/sha3.c000066400000000000000000000210471312046612000174170ustar00rootroot00000000000000/* ------------------------------------------------------------------------- * Works when compiled for either 32-bit or 64-bit targets, optimized for * 64 bit. * * Canonical implementation of Init/Update/Finalize for SHA-3 byte input. * * SHA3-256, SHA3-384, SHA-512 are implemented. SHA-224 can easily be added. * * Based on code from http://keccak.noekeon.org/ . * * I place the code that I wrote into public domain, free to use. * * I would appreciate if you give credits to this work if you used it to * write or test * your code. * * Aug 2015. Andrey Jivsov. crypto@brainhub.org * ---------------------------------------------------------------------- */ #include #include #include #include "sha3.h" #ifndef SHA3_ROTL64 #define SHA3_ROTL64(x, y) (((x) << (y)) | ((x) >> ((sizeof(uint64_t) * 8) - (y)))) #endif static const uint64_t keccakf_rndc[24] = { SHA3_CONST(0x0000000000000001UL), SHA3_CONST(0x0000000000008082UL), SHA3_CONST(0x800000000000808aUL), SHA3_CONST(0x8000000080008000UL), SHA3_CONST(0x000000000000808bUL), SHA3_CONST(0x0000000080000001UL), SHA3_CONST(0x8000000080008081UL), SHA3_CONST(0x8000000000008009UL), SHA3_CONST(0x000000000000008aUL), SHA3_CONST(0x0000000000000088UL), SHA3_CONST(0x0000000080008009UL), SHA3_CONST(0x000000008000000aUL), SHA3_CONST(0x000000008000808bUL), SHA3_CONST(0x800000000000008bUL), SHA3_CONST(0x8000000000008089UL), SHA3_CONST(0x8000000000008003UL), SHA3_CONST(0x8000000000008002UL), SHA3_CONST(0x8000000000000080UL), SHA3_CONST(0x000000000000800aUL), SHA3_CONST(0x800000008000000aUL), SHA3_CONST(0x8000000080008081UL), SHA3_CONST(0x8000000000008080UL), SHA3_CONST(0x0000000080000001UL), SHA3_CONST(0x8000000080008008UL)}; static const unsigned keccakf_rotc[24] = {1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 2, 14, 27, 41, 56, 8, 25, 43, 62, 18, 39, 61, 20, 44}; static const unsigned keccakf_piln[24] = {10, 7, 11, 17, 18, 3, 5, 16, 8, 21, 24, 4, 15, 23, 19, 13, 12, 2, 20, 14, 22, 9, 6, 1}; /* generally called after SHA3_KECCAK_SPONGE_WORDS-ctx->capacityWords words * are XORed into the state s */ static void keccakf(uint64_t s[25]) { int i, j, round; uint64_t t, bc[5]; #define KECCAK_ROUNDS 24 for(round = 0; round < KECCAK_ROUNDS; round++) { /* Theta */ for(i = 0; i < 5; i++) bc[i] = s[i] ^ s[i + 5] ^ s[i + 10] ^ s[i + 15] ^ s[i + 20]; for(i = 0; i < 5; i++) { t = bc[(i + 4) % 5] ^ SHA3_ROTL64(bc[(i + 1) % 5], 1); for(j = 0; j < 25; j += 5) s[j + i] ^= t; } /* Rho Pi */ t = s[1]; for(i = 0; i < 24; i++) { j = keccakf_piln[i]; bc[0] = s[j]; s[j] = SHA3_ROTL64(t, keccakf_rotc[i]); t = bc[0]; } /* Chi */ for(j = 0; j < 25; j += 5) { for(i = 0; i < 5; i++) bc[i] = s[j + i]; for(i = 0; i < 5; i++) s[j + i] ^= (~bc[(i + 1) % 5]) & bc[(i + 2) % 5]; } /* Iota */ s[0] ^= keccakf_rndc[round]; } } /* *************************** Public Inteface ************************ */ /* For Init or Reset call these: */ void sha3_Init256(sha3_context *ctx) { memset(ctx, 0, sizeof(*ctx)); ctx->capacityWords = 2 * 256 / (8 * sizeof(uint64_t)); } void sha3_Init384(sha3_context *ctx) { memset(ctx, 0, sizeof(*ctx)); ctx->capacityWords = 2 * 384 / (8 * sizeof(uint64_t)); } void sha3_Init512(sha3_context *ctx) { memset(ctx, 0, sizeof(*ctx)); ctx->capacityWords = 2 * 512 / (8 * sizeof(uint64_t)); } void sha3_Update(sha3_context *ctx, void const *bufIn, size_t len) { /* 0...7 -- how much is needed to have a word */ unsigned old_tail = (8 - ctx->byteIndex) & 7; size_t words; unsigned tail; size_t i; const uint8_t *buf = bufIn; SHA3_TRACE_BUF("called to update with:", buf, len); SHA3_ASSERT(ctx->byteIndex < 8); SHA3_ASSERT(ctx->wordIndex < sizeof(ctx->s) / sizeof(ctx->s[0])); if(len < old_tail) { /* have no complete word or haven't started * the word yet */ SHA3_TRACE("because %d<%d, store it and return", (unsigned)len, (unsigned)old_tail); /* endian-independent code follows: */ while(len--) ctx->saved |= (uint64_t)(*(buf++)) << ((ctx->byteIndex++) * 8); SHA3_ASSERT(ctx->byteIndex < 8); return; } if(old_tail) { /* will have one word to process */ SHA3_TRACE("completing one word with %d bytes", (unsigned)old_tail); /* endian-independent code follows: */ len -= old_tail; while(old_tail--) ctx->saved |= (uint64_t)(*(buf++)) << ((ctx->byteIndex++) * 8); /* now ready to add saved to the sponge */ ctx->s[ctx->wordIndex] ^= ctx->saved; SHA3_ASSERT(ctx->byteIndex == 8); ctx->byteIndex = 0; ctx->saved = 0; if(++ctx->wordIndex == (SHA3_KECCAK_SPONGE_WORDS - ctx->capacityWords)) { keccakf(ctx->s); ctx->wordIndex = 0; } } /* now work in full words directly from input */ SHA3_ASSERT(ctx->byteIndex == 0); words = len / sizeof(uint64_t); tail = len - words * sizeof(uint64_t); SHA3_TRACE("have %d full words to process", (unsigned)words); for(i = 0; i < words; i++, buf += sizeof(uint64_t)) { const uint64_t t = (uint64_t)(buf[0]) | ((uint64_t)(buf[1]) << 8 * 1) | ((uint64_t)(buf[2]) << 8 * 2) | ((uint64_t)(buf[3]) << 8 * 3) | ((uint64_t)(buf[4]) << 8 * 4) | ((uint64_t)(buf[5]) << 8 * 5) | ((uint64_t)(buf[6]) << 8 * 6) | ((uint64_t)(buf[7]) << 8 * 7); #if defined(__x86_64__) || defined(__i386__) SHA3_ASSERT(memcmp(&t, buf, 8) == 0); #endif ctx->s[ctx->wordIndex] ^= t; if(++ctx->wordIndex == (SHA3_KECCAK_SPONGE_WORDS - ctx->capacityWords)) { keccakf(ctx->s); ctx->wordIndex = 0; } } SHA3_TRACE("have %d bytes left to process, save them", (unsigned)tail); /* finally, save the partial word */ SHA3_ASSERT(ctx->byteIndex == 0 && tail < 8); while(tail--) { SHA3_TRACE("Store byte %02x '%c'", *buf, *buf); ctx->saved |= (uint64_t)(*(buf++)) << ((ctx->byteIndex++) * 8); } SHA3_ASSERT(ctx->byteIndex < 8); SHA3_TRACE("Have saved=0x%016" PRIx64 " at the end", ctx->saved); } /* This is simply the 'update' with the padding block. * The padding block is 0x01 || 0x00* || 0x80. First 0x01 and last 0x80 * bytes are always present, but they can be the same byte. */ void const *sha3_Finalize(sha3_context *ctx) { SHA3_TRACE("called with %d bytes in the buffer", ctx->byteIndex); /* Append 2-bit suffix 01, per SHA-3 spec. Instead of 1 for padding we * use 1<<2 below. The 0x02 below corresponds to the suffix 01. * Overall, we feed 0, then 1, and finally 1 to start padding. Without * M || 01, we would simply use 1 to start padding. */ #ifndef SHA3_USE_KECCAK /* SHA3 version */ ctx->s[ctx->wordIndex] ^= (ctx->saved ^ ((uint64_t)((uint64_t)(0x02 | (1 << 2)) << ((ctx->byteIndex) * 8)))); #else /* For testing the "pure" Keccak version */ ctx->s[ctx->wordIndex] ^= (ctx->saved ^ ((uint64_t)((uint64_t)1 << (ctx->byteIndex * 8)))); #endif ctx->s[SHA3_KECCAK_SPONGE_WORDS - ctx->capacityWords - 1] ^= SHA3_CONST(0x8000000000000000UL); keccakf(ctx->s); /* Return first bytes of the ctx->s. This conversion is not needed for * little-endian platforms e.g. wrap with #if !defined(__BYTE_ORDER__) * || !defined(__ORDER_LITTLE_ENDIAN__) || \ * __BYTE_ORDER__!=__ORDER_LITTLE_ENDIAN__ ... the conversion below ... * #endif */ { unsigned i; for(i = 0; i < SHA3_KECCAK_SPONGE_WORDS; i++) { const unsigned t1 = (uint32_t)ctx->s[i]; const unsigned t2 = (uint32_t)((ctx->s[i] >> 16) >> 16); ctx->sb[i * 8 + 0] = (uint8_t)(t1); ctx->sb[i * 8 + 1] = (uint8_t)(t1 >> 8); ctx->sb[i * 8 + 2] = (uint8_t)(t1 >> 16); ctx->sb[i * 8 + 3] = (uint8_t)(t1 >> 24); ctx->sb[i * 8 + 4] = (uint8_t)(t2); ctx->sb[i * 8 + 5] = (uint8_t)(t2 >> 8); ctx->sb[i * 8 + 6] = (uint8_t)(t2 >> 16); ctx->sb[i * 8 + 7] = (uint8_t)(t2 >> 24); } } SHA3_TRACE_BUF("Hash: (first 32 bytes)", ctx->sb, 256 / 8); return (ctx->sb); } rmlint-2.6.1/lib/checksums/sha3/sha3.h000066400000000000000000000034541312046612000174260ustar00rootroot00000000000000#ifndef _RM_CHECKSUM_SHA3 #define _RM_CHECKSUM_SHA3 #include #define SHA3_ASSERT(x) #if defined(_MSC_VER) #define SHA3_TRACE(format, ...) #define SHA3_TRACE_BUF(format, buf, l, ...) #else #define SHA3_TRACE(format, args...) #define SHA3_TRACE_BUF(format, buf, l, args...) #endif //#define SHA3_USE_KECCAK /* * Define SHA3_USE_KECCAK to run "pure" Keccak, as opposed to SHA3. * The tests that this macro enables use the input and output from [Keccak] * (see the reference below). The used test vectors aren't correct for SHA3, * however, they are helpful to verify the implementation. * SHA3_USE_KECCAK only changes one line of code in Finalize. */ #if defined(_MSC_VER) #define SHA3_CONST(x) x #else #define SHA3_CONST(x) x##L #endif /* 'Words' here refers to uint64_t */ #define SHA3_KECCAK_SPONGE_WORDS (((1600) / 8 /*bits to byte*/) / sizeof(uint64_t)) typedef struct sha3_context_ { uint64_t saved; /* the portion of the input message that we * didn't consume yet */ union { /* Keccak's state */ uint64_t s[SHA3_KECCAK_SPONGE_WORDS]; uint8_t sb[SHA3_KECCAK_SPONGE_WORDS * 8]; }; unsigned byteIndex; /* 0..7--the next byte after the set one * (starts from 0; 0--none are buffered) */ unsigned wordIndex; /* 0..24--the next word to integrate input * (starts from 0) */ unsigned capacityWords; /* the double size of the hash output in * words (e.g. 16 for Keccak 512) */ } sha3_context; void sha3_Init256(sha3_context *ctx); void sha3_Init384(sha3_context *ctx); void sha3_Init512(sha3_context *ctx); void sha3_Update(sha3_context *ctx, void const *bufIn, size_t len); void const *sha3_Finalize(sha3_context *ctx); #endif /* _RM_CHECKSUM_SHA3 */ rmlint-2.6.1/lib/checksums/spooky-c.c000066400000000000000000000272041312046612000174700ustar00rootroot00000000000000// A C version of Bob Jenkins' spooky hash // Spooky Hash // A 128-bit noncryptographic hash, for checksums and table lookup // By Bob Jenkins. Public domain. // Oct 31 2010: published framework, disclaimer ShortHash isn't right // Nov 7 2010: disabled ShortHash // Oct 11 2011: C version ported by Andi Kleen (andikleen@github) // Oct 31 2011: replace End, ShortMix, ShortEnd, enable ShortHash again // Apr 10 2012: buffer overflow on platforms without unaligned reads // Apr 27 2012: C version updated by Ziga Zupanec ziga.zupanec@gmail.com (agiz@github) // Assumes little endian ness. Caller has to check this case. #include #include "spooky-c.h" #if defined(__i386__) || defined(__x86_64__) // add more architectures here #define ALLOW_UNALIGNED_READS 1 #else #define ALLOW_UNALIGNED_READS 0 #endif // SC_CONST: a constant which: // * is not zero // * is odd // * is a not-very-regular mix of 1's and 0's // * does not need any other special mathematical properties #define SC_CONST 0xdeadbeefdeadbeefLL static inline uint64_t rot64(uint64_t x, int k) { return (x << k) | (x >> (64 - k)); } // // This is used if the input is 96 bytes long or longer. // // The internal state is fully overwritten every 96 bytes. // Every input bit appears to cause at least 128 bits of entropy // before 96 other bytes are combined, when run forward or backward // For every input bit, // Two inputs differing in just that input bit // Where "differ" means xor or subtraction // And the base value is random // When run forward or backwards one Mix // I tried 3 pairs of each; they all differed by at least 212 bits. // static inline void mix(const uint64_t *data, uint64_t *s0, uint64_t *s1, uint64_t *s2, uint64_t *s3, uint64_t *s4, uint64_t *s5, uint64_t *s6, uint64_t *s7, uint64_t *s8, uint64_t *s9, uint64_t *s10, uint64_t *s11) { *s0 += data[0]; *s2 ^= *s10; *s11 ^= *s0; *s0 = rot64(*s0, 11); *s11 += *s1; *s1 += data[1]; *s3 ^= *s11; *s0 ^= *s1; *s1 = rot64(*s1, 32); *s0 += *s2; *s2 += data[2]; *s4 ^= *s0; *s1 ^= *s2; *s2 = rot64(*s2, 43); *s1 += *s3; *s3 += data[3]; *s5 ^= *s1; *s2 ^= *s3; *s3 = rot64(*s3, 31); *s2 += *s4; *s4 += data[4]; *s6 ^= *s2; *s3 ^= *s4; *s4 = rot64(*s4, 17); *s3 += *s5; *s5 += data[5]; *s7 ^= *s3; *s4 ^= *s5; *s5 = rot64(*s5, 28); *s4 += *s6; *s6 += data[6]; *s8 ^= *s4; *s5 ^= *s6; *s6 = rot64(*s6, 39); *s5 += *s7; *s7 += data[7]; *s9 ^= *s5; *s6 ^= *s7; *s7 = rot64(*s7, 57); *s6 += *s8; *s8 += data[8]; *s10 ^= *s6; *s7 ^= *s8; *s8 = rot64(*s8, 55); *s7 += *s9; *s9 += data[9]; *s11 ^= *s7; *s8 ^= *s9; *s9 = rot64(*s9, 54); *s8 += *s10; *s10 += data[10]; *s0 ^= *s8; *s9 ^= *s10; *s10 = rot64(*s10, 22); *s9 += *s11; *s11 += data[11]; *s1 ^= *s9; *s10 ^= *s11; *s11 = rot64(*s11, 46); *s10 += *s0; } // // Mix all 12 inputs together so that h0, h1 are a hash of them all. // // For two inputs differing in just the input bits // Where "differ" means xor or subtraction // And the base value is random, or a counting value starting at that bit // The final result will have each bit of h0, h1 flip // For every input bit, // with probability 50 +- .3% // For every pair of input bits, // with probability 50 +- 3% // // This does not rely on the last Mix() call having already mixed some. // Two iterations was almost good enough for a 64-bit result, but a // 128-bit result is reported, so End() does three iterations. // static inline void endPartial(uint64_t *h0, uint64_t *h1, uint64_t *h2, uint64_t *h3, uint64_t *h4, uint64_t *h5, uint64_t *h6, uint64_t *h7, uint64_t *h8, uint64_t *h9, uint64_t *h10, uint64_t *h11) { *h11 += *h1; *h2 ^= *h11; *h1 = rot64(*h1, 44); *h0 += *h2; *h3 ^= *h0; *h2 = rot64(*h2, 15); *h1 += *h3; *h4 ^= *h1; *h3 = rot64(*h3, 34); *h2 += *h4; *h5 ^= *h2; *h4 = rot64(*h4, 21); *h3 += *h5; *h6 ^= *h3; *h5 = rot64(*h5, 38); *h4 += *h6; *h7 ^= *h4; *h6 = rot64(*h6, 33); *h5 += *h7; *h8 ^= *h5; *h7 = rot64(*h7, 10); *h6 += *h8; *h9 ^= *h6; *h8 = rot64(*h8, 13); *h7 += *h9; *h10 ^= *h7; *h9 = rot64(*h9, 38); *h8 += *h10; *h11 ^= *h8; *h10 = rot64(*h10, 53); *h9 += *h11; *h0 ^= *h9; *h11 = rot64(*h11, 42); *h10 += *h0; *h1 ^= *h10; *h0 = rot64(*h0, 54); } static inline void end(uint64_t *h0, uint64_t *h1, uint64_t *h2, uint64_t *h3, uint64_t *h4, uint64_t *h5, uint64_t *h6, uint64_t *h7, uint64_t *h8, uint64_t *h9, uint64_t *h10, uint64_t *h11) { endPartial(h0, h1, h2, h3, h4, h5, h6, h7, h8, h9, h10, h11); endPartial(h0, h1, h2, h3, h4, h5, h6, h7, h8, h9, h10, h11); endPartial(h0, h1, h2, h3, h4, h5, h6, h7, h8, h9, h10, h11); } // // The goal is for each bit of the input to expand into 128 bits of // apparent entropy before it is fully overwritten. // n trials both set and cleared at least m bits of h0 h1 h2 h3 // n: 2 m: 29 // n: 3 m: 46 // n: 4 m: 57 // n: 5 m: 107 // n: 6 m: 146 // n: 7 m: 152 // when run forwards or backwards // for all 1-bit and 2-bit diffs // with diffs defined by either xor or subtraction // with a base of all zeros plus a counter, or plus another bit, or random // static inline void short_mix(uint64_t *h0, uint64_t *h1, uint64_t *h2, uint64_t *h3) { *h2 = rot64(*h2, 50); *h2 += *h3; *h0 ^= *h2; *h3 = rot64(*h3, 52); *h3 += *h0; *h1 ^= *h3; *h0 = rot64(*h0, 30); *h0 += *h1; *h2 ^= *h0; *h1 = rot64(*h1, 41); *h1 += *h2; *h3 ^= *h1; *h2 = rot64(*h2, 54); *h2 += *h3; *h0 ^= *h2; *h3 = rot64(*h3, 48); *h3 += *h0; *h1 ^= *h3; *h0 = rot64(*h0, 38); *h0 += *h1; *h2 ^= *h0; *h1 = rot64(*h1, 37); *h1 += *h2; *h3 ^= *h1; *h2 = rot64(*h2, 62); *h2 += *h3; *h0 ^= *h2; *h3 = rot64(*h3, 34); *h3 += *h0; *h1 ^= *h3; *h0 = rot64(*h0, 5); *h0 += *h1; *h2 ^= *h0; *h1 = rot64(*h1, 36); *h1 += *h2; *h3 ^= *h1; } // // Mix all 4 inputs together so that h0, h1 are a hash of them all. // // For two inputs differing in just the input bits // Where "differ" means xor or subtraction // And the base value is random, or a counting value starting at that bit // The final result will have each bit of h0, h1 flip // For every input bit, // with probability 50 +- .3% (it is probably better than that) // For every pair of input bits, // with probability 50 +- .75% (the worst case is approximately that) // static inline void short_end(uint64_t *h0, uint64_t *h1, uint64_t *h2, uint64_t *h3) { *h3 ^= *h2; *h2 = rot64(*h2, 15); *h3 += *h2; *h0 ^= *h3; *h3 = rot64(*h3, 52); *h0 += *h3; *h1 ^= *h0; *h0 = rot64(*h0, 26); *h1 += *h0; *h2 ^= *h1; *h1 = rot64(*h1, 51); *h2 += *h1; *h3 ^= *h2; *h2 = rot64(*h2, 28); *h3 += *h2; *h0 ^= *h3; *h3 = rot64(*h3, 9); *h0 += *h3; *h1 ^= *h0; *h0 = rot64(*h0, 47); *h1 += *h0; *h2 ^= *h1; *h1 = rot64(*h1, 54); *h2 += *h1; *h3 ^= *h2; *h2 = rot64(*h2, 32); *h3 += *h2; *h0 ^= *h3; *h3 = rot64(*h3, 25); *h0 += *h3; *h1 ^= *h0; *h0 = rot64(*h0, 63); *h1 += *h0; } void spooky_shorthash(const void *message, size_t length, uint64_t *hash1, uint64_t *hash2) { uint64_t buf[2 * SC_NUMVARS]; union { const uint8_t *p8; uint32_t *p32; uint64_t *p64; size_t i; } u; size_t remainder; uint64_t a, b, c, d; u.p8 = (const uint8_t *)message; if(!ALLOW_UNALIGNED_READS && (u.i & 0x7)) { memcpy(buf, message, length); u.p64 = buf; } remainder = length % 32; a = *hash1; b = *hash2; c = SC_CONST; d = SC_CONST; if(length > 15) { const uint64_t *endp = u.p64 + (length / 32) * 4; // handle all complete sets of 32 bytes for(; u.p64 < endp; u.p64 += 4) { c += u.p64[0]; d += u.p64[1]; short_mix(&a, &b, &c, &d); a += u.p64[2]; b += u.p64[3]; } // Handle the case of 16+ remaining bytes. if(remainder >= 16) { c += u.p64[0]; d += u.p64[1]; short_mix(&a, &b, &c, &d); u.p64 += 2; remainder -= 16; } } // Handle the last 0..15 bytes, and its length d = ((uint64_t)length) << 56; switch(remainder) { case 15: d += ((uint64_t)u.p8[14]) << 48; case 14: d += ((uint64_t)u.p8[13]) << 40; case 13: d += ((uint64_t)u.p8[12]) << 32; case 12: d += u.p32[2]; c += u.p64[0]; break; case 11: d += ((uint64_t)u.p8[10]) << 16; case 10: d += ((uint64_t)u.p8[9]) << 8; case 9: d += (uint64_t)u.p8[8]; case 8: c += u.p64[0]; break; case 7: c += ((uint64_t)u.p8[6]) << 48; case 6: c += ((uint64_t)u.p8[5]) << 40; case 5: c += ((uint64_t)u.p8[4]) << 32; case 4: c += u.p32[0]; break; case 3: c += ((uint64_t)u.p8[2]) << 16; case 2: c += ((uint64_t)u.p8[1]) << 8; case 1: c += (uint64_t)u.p8[0]; break; case 0: c += SC_CONST; d += SC_CONST; } short_end(&a, &b, &c, &d); *hash1 = a; *hash2 = b; } void spooky_hash128(const void *message, size_t length, uint64_t *hash1, uint64_t *hash2) { uint64_t h0, h1, h2, h3, h4, h5, h6, h7, h8, h9, h10, h11; uint64_t buf[SC_NUMVARS]; uint64_t *endp; union { const uint8_t *p8; uint64_t *p64; uintptr_t i; } u; size_t remainder; if(length < SC_BUFSIZE) { spooky_shorthash(message, length, hash1, hash2); return; } h0 = h3 = h6 = h9 = *hash1; h1 = h4 = h7 = h10 = *hash2; h2 = h5 = h8 = h11 = SC_CONST; u.p8 = (const uint8_t *)message; endp = u.p64 + (length / SC_BLOCKSIZE) * SC_NUMVARS; // handle all whole blocks of SC_BLOCKSIZE bytes if(ALLOW_UNALIGNED_READS || (u.i & 0x7) == 0) { while(u.p64 < endp) { mix(u.p64, &h0, &h1, &h2, &h3, &h4, &h5, &h6, &h7, &h8, &h9, &h10, &h11); u.p64 += SC_NUMVARS; } } else { while(u.p64 < endp) { memcpy(buf, u.p64, SC_BLOCKSIZE); mix(buf, &h0, &h1, &h2, &h3, &h4, &h5, &h6, &h7, &h8, &h9, &h10, &h11); u.p64 += SC_NUMVARS; } } // handle the last partial block of SC_BLOCKSIZE bytes remainder = (length - ((const uint8_t *)endp - (const uint8_t *)message)); memcpy(buf, endp, remainder); memset(((uint8_t *)buf) + remainder, 0, SC_BLOCKSIZE - remainder); ((uint8_t *)buf)[SC_BLOCKSIZE - 1] = remainder; mix(buf, &h0, &h1, &h2, &h3, &h4, &h5, &h6, &h7, &h8, &h9, &h10, &h11); // do some final mixing end(&h0, &h1, &h2, &h3, &h4, &h5, &h6, &h7, &h8, &h9, &h10, &h11); *hash1 = h0; *hash2 = h1; } uint64_t spooky_hash64(const void *message, size_t length, uint64_t seed) { uint64_t hash1 = seed; spooky_hash128(message, length, &hash1, &seed); return hash1; } uint32_t spooky_hash32(const void *message, size_t length, uint32_t seed) { uint64_t hash1 = seed, hash2 = seed; spooky_hash128(message, length, &hash1, &hash2); return (uint32_t)hash1; } rmlint-2.6.1/lib/checksums/spooky-c.h000066400000000000000000000045511312046612000174750ustar00rootroot00000000000000// SpookyHash: a 128-bit noncryptographic hash function // By Bob Jenkins, public domain // Oct 31 2010: alpha, framework + SpookyHash::Mix appears right // Oct 11 2011: C version ported by Andi Kleen (andikleen@github) // Oct 31 2011: alpha again, Mix only good to 2^^69 but rest appears right // Dec 31 2011: beta, improved Mix, tested it for 2-bit deltas // Feb 2 2012: production, same bits as beta // Feb 5 2012: adjusted definitions of uint* to be more portable // Mar 30 2012: 3 bytes/cycle, not 4. Alpha was 4 but wasn't thorough enough. // Apr 27 2012: C version updated by Ziga Zupanec ziga.zupanec@gmail.com (agiz@github) // // Up to 3 bytes/cycle for long messages. Reasonably fast for short messages. // All 1 or 2 bit deltas achieve avalanche within 1% bias per output bit. // // This was developed for and tested on 64-bit x86-compatible processors. // It assumes the processor is little-endian. There is a macro // controlling whether unaligned reads are allowed (by default they are). // This should be an equally good hash on big-endian machines, but it will // compute different results on them than on little-endian machines. // // Google's CityHash has similar specs to SpookyHash, and CityHash is faster // on some platforms. MD4 and MD5 also have similar specs, but they are orders // of magnitude slower. CRCs are two or more times slower, but unlike // SpookyHash, they have nice math for combining the CRCs of pieces to form // the CRCs of wholes. There are also cryptographic hashes, but those are even // slower than MD5. // #include #include #define SC_NUMVARS 12 #define SC_BLOCKSIZE (8 * SC_NUMVARS) #define SC_BUFSIZE (2 * SC_BLOCKSIZE) struct spooky_state { uint64_t m_data[2 * SC_NUMVARS]; uint64_t m_state[SC_NUMVARS]; size_t m_length; unsigned char m_remainder; }; void spooky_copy(struct spooky_state *dest, struct spooky_state *src); void spooky_shorthash(const void *message, size_t length, uint64_t *hash1, uint64_t *hash2); // hash1/2 doubles as input parameter for seed1/2 and output for hash1/2 void spooky_hash128(const void *message, size_t length, uint64_t *hash1, uint64_t *hash2); uint64_t spooky_hash64(const void *message, size_t len, uint64_t seed); uint32_t spooky_hash32(const void *message, size_t len, uint32_t seed); rmlint-2.6.1/lib/checksums/xxhash/000077500000000000000000000000001312046612000170565ustar00rootroot00000000000000rmlint-2.6.1/lib/checksums/xxhash/LICENSE000066400000000000000000000024421312046612000200650ustar00rootroot00000000000000xxHash Library Copyright (c) 2012-2014, Yann Collet 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. 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. rmlint-2.6.1/lib/checksums/xxhash/xxhash.c000066400000000000000000000646621312046612000205430ustar00rootroot00000000000000/* xxHash - Fast Hash algorithm Copyright (C) 2012-2015, Yann Collet BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) 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. 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 OWNER 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. You can contact the author at : - xxHash source repository : https://github.com/Cyan4973/xxHash */ /************************************** * Tuning parameters **************************************/ /* Unaligned memory access is automatically enabled for "common" CPU, such as x86. * For others CPU, the compiler will be more cautious, and insert extra code to ensure * aligned access is respected. * If you know your target CPU supports unaligned memory access, you want to force this * option manually to improve performance. * You can also enable this parameter if you know your input data will always be aligned * (boundaries of 4, for U32). */ #if defined(__ARM_FEATURE_UNALIGNED) || defined(__i386) || defined(_M_IX86) || \ defined(__x86_64__) || defined(_M_X64) #define XXH_USE_UNALIGNED_ACCESS 1 #endif /* XXH_ACCEPT_NULL_INPUT_POINTER : * If the input pointer is a null pointer, xxHash default behavior is to trigger a memory * access error, since it is a bad pointer. * When this option is enabled, xxHash output for null input pointers will be the same as * a null-length input. * By default, this option is disabled. To enable it, uncomment below define : */ /* #define XXH_ACCEPT_NULL_INPUT_POINTER 1 */ /* XXH_FORCE_NATIVE_FORMAT : * By default, xxHash library provides endian-independant Hash values, based on * little-endian convention. * Results are therefore identical for little-endian and big-endian CPU. * This comes at a performance cost for big-endian CPU, since some swapping is required to * emulate little-endian format. * Should endian-independance be of no importance for your application, you may set the * #define below to 1. * It will improve speed for Big-endian CPU. * This option has no impact on Little_Endian CPU. */ #define XXH_FORCE_NATIVE_FORMAT 0 /************************************** * Compiler Specific Options ***************************************/ #ifdef _MSC_VER /* Visual Studio */ #pragma warning(disable : 4127) /* disable: C4127: conditional expression is constant */ #define FORCE_INLINE static __forceinline #else #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 */ #ifdef __GNUC__ #define FORCE_INLINE static inline __attribute__((always_inline)) #else #define FORCE_INLINE static inline #endif #else #define FORCE_INLINE static #endif /* __STDC_VERSION__ */ #endif /************************************** * Includes & Memory related functions ***************************************/ #include "xxhash.h" /* Modify the local functions below should you wish to use some other memory routines */ /* for malloc(), free() */ #include static void* XXH_malloc(size_t s) { return malloc(s); } static void XXH_free(void* p) { free(p); } /* for memcpy() */ #include static void* XXH_memcpy(void* dest, const void* src, size_t size) { return memcpy(dest, src, size); } /************************************** * Basic Types ***************************************/ #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 */ #include typedef uint8_t BYTE; typedef uint16_t U16; typedef uint32_t U32; typedef int32_t S32; typedef uint64_t U64; #else typedef unsigned char BYTE; typedef unsigned short U16; typedef unsigned int U32; typedef signed int S32; typedef unsigned long long U64; #endif static U32 XXH_read32(const void* memPtr) { U32 val32; memcpy(&val32, memPtr, 4); return val32; } static U64 XXH_read64(const void* memPtr) { U64 val64; memcpy(&val64, memPtr, 8); return val64; } /****************************************** * Compiler-specific Functions and Macros ******************************************/ #define GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__) /* Note : although _rotl exists for minGW (GCC under windows), performance seems poor */ #if defined(_MSC_VER) #define XXH_rotl32(x, r) _rotl(x, r) #define XXH_rotl64(x, r) _rotl64(x, r) #else #define XXH_rotl32(x, r) ((x << r) | (x >> (32 - r))) #define XXH_rotl64(x, r) ((x << r) | (x >> (64 - r))) #endif #if defined(_MSC_VER) /* Visual Studio */ #define XXH_swap32 _byteswap_ulong #define XXH_swap64 _byteswap_uint64 #elif GCC_VERSION >= 403 #define XXH_swap32 __builtin_bswap32 #define XXH_swap64 __builtin_bswap64 #else static U32 XXH_swap32(U32 x) { return ((x << 24) & 0xff000000) | ((x << 8) & 0x00ff0000) | ((x >> 8) & 0x0000ff00) | ((x >> 24) & 0x000000ff); } static U64 XXH_swap64(U64 x) { return ((x << 56) & 0xff00000000000000ULL) | ((x << 40) & 0x00ff000000000000ULL) | ((x << 24) & 0x0000ff0000000000ULL) | ((x << 8) & 0x000000ff00000000ULL) | ((x >> 8) & 0x00000000ff000000ULL) | ((x >> 24) & 0x0000000000ff0000ULL) | ((x >> 40) & 0x000000000000ff00ULL) | ((x >> 56) & 0x00000000000000ffULL); } #endif /*************************************** * Architecture Macros ***************************************/ typedef enum { XXH_bigEndian = 0, XXH_littleEndian = 1 } XXH_endianess; #ifndef XXH_CPU_LITTLE_ENDIAN /* XXH_CPU_LITTLE_ENDIAN can be defined externally, for \ example using a compiler switch */ static const int one = 1; #define XXH_CPU_LITTLE_ENDIAN (*(const char*)(&one)) #endif /***************************** * Memory reads *****************************/ typedef enum { XXH_aligned, XXH_unaligned } XXH_alignment; FORCE_INLINE U32 XXH_readLE32_align(const void* ptr, XXH_endianess endian, XXH_alignment align) { if(align == XXH_unaligned) return endian == XXH_littleEndian ? XXH_read32(ptr) : XXH_swap32(XXH_read32(ptr)); else return endian == XXH_littleEndian ? *(const U32*)ptr : XXH_swap32(*(const U32*)ptr); } FORCE_INLINE U32 XXH_readLE32(const void* ptr, XXH_endianess endian) { return XXH_readLE32_align(ptr, endian, XXH_unaligned); } FORCE_INLINE U64 XXH_readLE64_align(const void* ptr, XXH_endianess endian, XXH_alignment align) { if(align == XXH_unaligned) return endian == XXH_littleEndian ? XXH_read64(ptr) : XXH_swap64(XXH_read64(ptr)); else return endian == XXH_littleEndian ? *(const U64*)ptr : XXH_swap64(*(const U64*)ptr); } FORCE_INLINE U64 XXH_readLE64(const void* ptr, XXH_endianess endian) { return XXH_readLE64_align(ptr, endian, XXH_unaligned); } /*************************************** * Macros ***************************************/ #define XXH_STATIC_ASSERT(c) \ { \ enum { XXH_static_assert = 1 / (!!(c)) }; \ } /* use only *after* variable declarations */ /*************************************** * Constants ***************************************/ #define PRIME32_1 2654435761U #define PRIME32_2 2246822519U #define PRIME32_3 3266489917U #define PRIME32_4 668265263U #define PRIME32_5 374761393U #define PRIME64_1 11400714785074694791ULL #define PRIME64_2 14029467366897019727ULL #define PRIME64_3 1609587929392839161ULL #define PRIME64_4 9650029242287828579ULL #define PRIME64_5 2870177450012600261ULL /***************************** * Simple Hash Functions *****************************/ FORCE_INLINE U32 XXH32_endian_align(const void* input, size_t len, U32 seed, XXH_endianess endian, XXH_alignment align) { const BYTE* p = (const BYTE*)input; const BYTE* bEnd = p + len; U32 h32; #define XXH_get32bits(p) XXH_readLE32_align(p, endian, align) #ifdef XXH_ACCEPT_NULL_INPUT_POINTER if(p == NULL) { len = 0; bEnd = p = (const BYTE*)(size_t)16; } #endif if(len >= 16) { const BYTE* const limit = bEnd - 16; U32 v1 = seed + PRIME32_1 + PRIME32_2; U32 v2 = seed + PRIME32_2; U32 v3 = seed + 0; U32 v4 = seed - PRIME32_1; do { v1 += XXH_get32bits(p) * PRIME32_2; v1 = XXH_rotl32(v1, 13); v1 *= PRIME32_1; p += 4; v2 += XXH_get32bits(p) * PRIME32_2; v2 = XXH_rotl32(v2, 13); v2 *= PRIME32_1; p += 4; v3 += XXH_get32bits(p) * PRIME32_2; v3 = XXH_rotl32(v3, 13); v3 *= PRIME32_1; p += 4; v4 += XXH_get32bits(p) * PRIME32_2; v4 = XXH_rotl32(v4, 13); v4 *= PRIME32_1; p += 4; } while(p <= limit); h32 = XXH_rotl32(v1, 1) + XXH_rotl32(v2, 7) + XXH_rotl32(v3, 12) + XXH_rotl32(v4, 18); } else { h32 = seed + PRIME32_5; } h32 += (U32)len; while(p + 4 <= bEnd) { h32 += XXH_get32bits(p) * PRIME32_3; h32 = XXH_rotl32(h32, 17) * PRIME32_4; p += 4; } while(p < bEnd) { h32 += (*p) * PRIME32_5; h32 = XXH_rotl32(h32, 11) * PRIME32_1; p++; } h32 ^= h32 >> 15; h32 *= PRIME32_2; h32 ^= h32 >> 13; h32 *= PRIME32_3; h32 ^= h32 >> 16; return h32; } unsigned XXH32(const void* input, size_t len, unsigned seed) { #if 0 /* Simple version, good for code maintenance, but unfortunately slow for small inputs */ XXH32_state_t state; XXH32_reset(&state, seed); XXH32_update(&state, input, len); return XXH32_digest(&state); #else XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN; #if !defined(XXH_USE_UNALIGNED_ACCESS) if((((size_t)input) & 3) == 0) /* Input is 4-bytes aligned, leverage the speed benefit */ { if((endian_detected == XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH32_endian_align(input, len, seed, XXH_littleEndian, XXH_aligned); else return XXH32_endian_align(input, len, seed, XXH_bigEndian, XXH_aligned); } #endif if((endian_detected == XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH32_endian_align(input, len, seed, XXH_littleEndian, XXH_unaligned); else return XXH32_endian_align(input, len, seed, XXH_bigEndian, XXH_unaligned); #endif } FORCE_INLINE U64 XXH64_endian_align(const void* input, size_t len, U64 seed, XXH_endianess endian, XXH_alignment align) { const BYTE* p = (const BYTE*)input; const BYTE* bEnd = p + len; U64 h64; #define XXH_get64bits(p) XXH_readLE64_align(p, endian, align) #ifdef XXH_ACCEPT_NULL_INPUT_POINTER if(p == NULL) { len = 0; bEnd = p = (const BYTE*)(size_t)32; } #endif if(len >= 32) { const BYTE* const limit = bEnd - 32; U64 v1 = seed + PRIME64_1 + PRIME64_2; U64 v2 = seed + PRIME64_2; U64 v3 = seed + 0; U64 v4 = seed - PRIME64_1; do { v1 += XXH_get64bits(p) * PRIME64_2; p += 8; v1 = XXH_rotl64(v1, 31); v1 *= PRIME64_1; v2 += XXH_get64bits(p) * PRIME64_2; p += 8; v2 = XXH_rotl64(v2, 31); v2 *= PRIME64_1; v3 += XXH_get64bits(p) * PRIME64_2; p += 8; v3 = XXH_rotl64(v3, 31); v3 *= PRIME64_1; v4 += XXH_get64bits(p) * PRIME64_2; p += 8; v4 = XXH_rotl64(v4, 31); v4 *= PRIME64_1; } while(p <= limit); h64 = XXH_rotl64(v1, 1) + XXH_rotl64(v2, 7) + XXH_rotl64(v3, 12) + XXH_rotl64(v4, 18); v1 *= PRIME64_2; v1 = XXH_rotl64(v1, 31); v1 *= PRIME64_1; h64 ^= v1; h64 = h64 * PRIME64_1 + PRIME64_4; v2 *= PRIME64_2; v2 = XXH_rotl64(v2, 31); v2 *= PRIME64_1; h64 ^= v2; h64 = h64 * PRIME64_1 + PRIME64_4; v3 *= PRIME64_2; v3 = XXH_rotl64(v3, 31); v3 *= PRIME64_1; h64 ^= v3; h64 = h64 * PRIME64_1 + PRIME64_4; v4 *= PRIME64_2; v4 = XXH_rotl64(v4, 31); v4 *= PRIME64_1; h64 ^= v4; h64 = h64 * PRIME64_1 + PRIME64_4; } else { h64 = seed + PRIME64_5; } h64 += (U64)len; while(p + 8 <= bEnd) { U64 k1 = XXH_get64bits(p); k1 *= PRIME64_2; k1 = XXH_rotl64(k1, 31); k1 *= PRIME64_1; h64 ^= k1; h64 = XXH_rotl64(h64, 27) * PRIME64_1 + PRIME64_4; p += 8; } if(p + 4 <= bEnd) { h64 ^= (U64)(XXH_get32bits(p)) * PRIME64_1; h64 = XXH_rotl64(h64, 23) * PRIME64_2 + PRIME64_3; p += 4; } while(p < bEnd) { h64 ^= (*p) * PRIME64_5; h64 = XXH_rotl64(h64, 11) * PRIME64_1; p++; } h64 ^= h64 >> 33; h64 *= PRIME64_2; h64 ^= h64 >> 29; h64 *= PRIME64_3; h64 ^= h64 >> 32; return h64; } unsigned long long XXH64(const void* input, size_t len, unsigned long long seed) { #if 0 /* Simple version, good for code maintenance, but unfortunately slow for small inputs */ XXH64_state_t state; XXH64_reset(&state, seed); XXH64_update(&state, input, len); return XXH64_digest(&state); #else XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN; #if !defined(XXH_USE_UNALIGNED_ACCESS) if((((size_t)input) & 7) == 0) /* Input is aligned, let's leverage the speed advantage */ { if((endian_detected == XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH64_endian_align(input, len, seed, XXH_littleEndian, XXH_aligned); else return XXH64_endian_align(input, len, seed, XXH_bigEndian, XXH_aligned); } #endif if((endian_detected == XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH64_endian_align(input, len, seed, XXH_littleEndian, XXH_unaligned); else return XXH64_endian_align(input, len, seed, XXH_bigEndian, XXH_unaligned); #endif } /**************************************************** * Advanced Hash Functions ****************************************************/ /*** Allocation ***/ typedef struct { U64 total_len; U32 seed; U32 v1; U32 v2; U32 v3; U32 v4; U32 mem32[4]; /* defined as U32 for alignment */ U32 memsize; } XXH_istate32_t; typedef struct { U64 total_len; U64 seed; U64 v1; U64 v2; U64 v3; U64 v4; U64 mem64[4]; /* defined as U64 for alignment */ U32 memsize; } XXH_istate64_t; XXH32_state_t* XXH32_createState(void) { XXH_STATIC_ASSERT(sizeof(XXH32_state_t) >= sizeof(XXH_istate32_t)); /* A compilation error here means XXH32_state_t is not large enough */ return (XXH32_state_t*)XXH_malloc(sizeof(XXH32_state_t)); } XXH_errorcode XXH32_freeState(XXH32_state_t* statePtr) { XXH_free(statePtr); return XXH_OK; } XXH64_state_t* XXH64_createState(void) { XXH_STATIC_ASSERT(sizeof(XXH64_state_t) >= sizeof(XXH_istate64_t)); /* A compilation error here means XXH64_state_t is not large enough */ return (XXH64_state_t*)XXH_malloc(sizeof(XXH64_state_t)); } XXH_errorcode XXH64_freeState(XXH64_state_t* statePtr) { XXH_free(statePtr); return XXH_OK; } /*** Hash feed ***/ XXH_errorcode XXH32_reset(XXH32_state_t* state_in, U32 seed) { XXH_istate32_t* state = (XXH_istate32_t*)state_in; state->seed = seed; state->v1 = seed + PRIME32_1 + PRIME32_2; state->v2 = seed + PRIME32_2; state->v3 = seed + 0; state->v4 = seed - PRIME32_1; state->total_len = 0; state->memsize = 0; return XXH_OK; } XXH_errorcode XXH64_reset(XXH64_state_t* state_in, unsigned long long seed) { XXH_istate64_t* state = (XXH_istate64_t*)state_in; state->seed = seed; state->v1 = seed + PRIME64_1 + PRIME64_2; state->v2 = seed + PRIME64_2; state->v3 = seed + 0; state->v4 = seed - PRIME64_1; state->total_len = 0; state->memsize = 0; return XXH_OK; } FORCE_INLINE XXH_errorcode XXH32_update_endian(XXH32_state_t* state_in, const void* input, size_t len, XXH_endianess endian) { XXH_istate32_t* state = (XXH_istate32_t*)state_in; const BYTE* p = (const BYTE*)input; const BYTE* const bEnd = p + len; #ifdef XXH_ACCEPT_NULL_INPUT_POINTER if(input == NULL) return XXH_ERROR; #endif state->total_len += len; if(state->memsize + len < 16) /* fill in tmp buffer */ { XXH_memcpy((BYTE*)(state->mem32) + state->memsize, input, len); state->memsize += (U32)len; return XXH_OK; } if(state->memsize) /* some data left from previous update */ { XXH_memcpy((BYTE*)(state->mem32) + state->memsize, input, 16 - state->memsize); { const U32* p32 = state->mem32; state->v1 += XXH_readLE32(p32, endian) * PRIME32_2; state->v1 = XXH_rotl32(state->v1, 13); state->v1 *= PRIME32_1; p32++; state->v2 += XXH_readLE32(p32, endian) * PRIME32_2; state->v2 = XXH_rotl32(state->v2, 13); state->v2 *= PRIME32_1; p32++; state->v3 += XXH_readLE32(p32, endian) * PRIME32_2; state->v3 = XXH_rotl32(state->v3, 13); state->v3 *= PRIME32_1; p32++; state->v4 += XXH_readLE32(p32, endian) * PRIME32_2; state->v4 = XXH_rotl32(state->v4, 13); state->v4 *= PRIME32_1; p32++; } p += 16 - state->memsize; state->memsize = 0; } if(p <= bEnd - 16) { const BYTE* const limit = bEnd - 16; U32 v1 = state->v1; U32 v2 = state->v2; U32 v3 = state->v3; U32 v4 = state->v4; do { v1 += XXH_readLE32(p, endian) * PRIME32_2; v1 = XXH_rotl32(v1, 13); v1 *= PRIME32_1; p += 4; v2 += XXH_readLE32(p, endian) * PRIME32_2; v2 = XXH_rotl32(v2, 13); v2 *= PRIME32_1; p += 4; v3 += XXH_readLE32(p, endian) * PRIME32_2; v3 = XXH_rotl32(v3, 13); v3 *= PRIME32_1; p += 4; v4 += XXH_readLE32(p, endian) * PRIME32_2; v4 = XXH_rotl32(v4, 13); v4 *= PRIME32_1; p += 4; } while(p <= limit); state->v1 = v1; state->v2 = v2; state->v3 = v3; state->v4 = v4; } if(p < bEnd) { XXH_memcpy(state->mem32, p, bEnd - p); state->memsize = (int)(bEnd - p); } return XXH_OK; } XXH_errorcode XXH32_update(XXH32_state_t* state_in, const void* input, size_t len) { XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN; if((endian_detected == XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH32_update_endian(state_in, input, len, XXH_littleEndian); else return XXH32_update_endian(state_in, input, len, XXH_bigEndian); } FORCE_INLINE U32 XXH32_digest_endian(const XXH32_state_t* state_in, XXH_endianess endian) { const XXH_istate32_t* state = (const XXH_istate32_t*)state_in; const BYTE* p = (const BYTE*)state->mem32; const BYTE* bEnd = (const BYTE*)(state->mem32) + state->memsize; U32 h32; if(state->total_len >= 16) { h32 = XXH_rotl32(state->v1, 1) + XXH_rotl32(state->v2, 7) + XXH_rotl32(state->v3, 12) + XXH_rotl32(state->v4, 18); } else { h32 = state->seed + PRIME32_5; } h32 += (U32)state->total_len; while(p + 4 <= bEnd) { h32 += XXH_readLE32(p, endian) * PRIME32_3; h32 = XXH_rotl32(h32, 17) * PRIME32_4; p += 4; } while(p < bEnd) { h32 += (*p) * PRIME32_5; h32 = XXH_rotl32(h32, 11) * PRIME32_1; p++; } h32 ^= h32 >> 15; h32 *= PRIME32_2; h32 ^= h32 >> 13; h32 *= PRIME32_3; h32 ^= h32 >> 16; return h32; } U32 XXH32_digest(const XXH32_state_t* state_in) { XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN; if((endian_detected == XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH32_digest_endian(state_in, XXH_littleEndian); else return XXH32_digest_endian(state_in, XXH_bigEndian); } FORCE_INLINE XXH_errorcode XXH64_update_endian(XXH64_state_t* state_in, const void* input, size_t len, XXH_endianess endian) { XXH_istate64_t* state = (XXH_istate64_t*)state_in; const BYTE* p = (const BYTE*)input; const BYTE* const bEnd = p + len; #ifdef XXH_ACCEPT_NULL_INPUT_POINTER if(input == NULL) return XXH_ERROR; #endif state->total_len += len; if(state->memsize + len < 32) /* fill in tmp buffer */ { XXH_memcpy(((BYTE*)state->mem64) + state->memsize, input, len); state->memsize += (U32)len; return XXH_OK; } if(state->memsize) /* some data left from previous update */ { XXH_memcpy(((BYTE*)state->mem64) + state->memsize, input, 32 - state->memsize); { const U64* p64 = state->mem64; state->v1 += XXH_readLE64(p64, endian) * PRIME64_2; state->v1 = XXH_rotl64(state->v1, 31); state->v1 *= PRIME64_1; p64++; state->v2 += XXH_readLE64(p64, endian) * PRIME64_2; state->v2 = XXH_rotl64(state->v2, 31); state->v2 *= PRIME64_1; p64++; state->v3 += XXH_readLE64(p64, endian) * PRIME64_2; state->v3 = XXH_rotl64(state->v3, 31); state->v3 *= PRIME64_1; p64++; state->v4 += XXH_readLE64(p64, endian) * PRIME64_2; state->v4 = XXH_rotl64(state->v4, 31); state->v4 *= PRIME64_1; p64++; } p += 32 - state->memsize; state->memsize = 0; } if(p + 32 <= bEnd) { const BYTE* const limit = bEnd - 32; U64 v1 = state->v1; U64 v2 = state->v2; U64 v3 = state->v3; U64 v4 = state->v4; do { v1 += XXH_readLE64(p, endian) * PRIME64_2; v1 = XXH_rotl64(v1, 31); v1 *= PRIME64_1; p += 8; v2 += XXH_readLE64(p, endian) * PRIME64_2; v2 = XXH_rotl64(v2, 31); v2 *= PRIME64_1; p += 8; v3 += XXH_readLE64(p, endian) * PRIME64_2; v3 = XXH_rotl64(v3, 31); v3 *= PRIME64_1; p += 8; v4 += XXH_readLE64(p, endian) * PRIME64_2; v4 = XXH_rotl64(v4, 31); v4 *= PRIME64_1; p += 8; } while(p <= limit); state->v1 = v1; state->v2 = v2; state->v3 = v3; state->v4 = v4; } if(p < bEnd) { XXH_memcpy(state->mem64, p, bEnd - p); state->memsize = (int)(bEnd - p); } return XXH_OK; } XXH_errorcode XXH64_update(XXH64_state_t* state_in, const void* input, size_t len) { XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN; if((endian_detected == XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH64_update_endian(state_in, input, len, XXH_littleEndian); else return XXH64_update_endian(state_in, input, len, XXH_bigEndian); } FORCE_INLINE U64 XXH64_digest_endian(const XXH64_state_t* state_in, XXH_endianess endian) { const XXH_istate64_t* state = (const XXH_istate64_t*)state_in; const BYTE* p = (const BYTE*)state->mem64; const BYTE* bEnd = (const BYTE*)state->mem64 + state->memsize; U64 h64; if(state->total_len >= 32) { U64 v1 = state->v1; U64 v2 = state->v2; U64 v3 = state->v3; U64 v4 = state->v4; h64 = XXH_rotl64(v1, 1) + XXH_rotl64(v2, 7) + XXH_rotl64(v3, 12) + XXH_rotl64(v4, 18); v1 *= PRIME64_2; v1 = XXH_rotl64(v1, 31); v1 *= PRIME64_1; h64 ^= v1; h64 = h64 * PRIME64_1 + PRIME64_4; v2 *= PRIME64_2; v2 = XXH_rotl64(v2, 31); v2 *= PRIME64_1; h64 ^= v2; h64 = h64 * PRIME64_1 + PRIME64_4; v3 *= PRIME64_2; v3 = XXH_rotl64(v3, 31); v3 *= PRIME64_1; h64 ^= v3; h64 = h64 * PRIME64_1 + PRIME64_4; v4 *= PRIME64_2; v4 = XXH_rotl64(v4, 31); v4 *= PRIME64_1; h64 ^= v4; h64 = h64 * PRIME64_1 + PRIME64_4; } else { h64 = state->seed + PRIME64_5; } h64 += (U64)state->total_len; while(p + 8 <= bEnd) { U64 k1 = XXH_readLE64(p, endian); k1 *= PRIME64_2; k1 = XXH_rotl64(k1, 31); k1 *= PRIME64_1; h64 ^= k1; h64 = XXH_rotl64(h64, 27) * PRIME64_1 + PRIME64_4; p += 8; } if(p + 4 <= bEnd) { h64 ^= (U64)(XXH_readLE32(p, endian)) * PRIME64_1; h64 = XXH_rotl64(h64, 23) * PRIME64_2 + PRIME64_3; p += 4; } while(p < bEnd) { h64 ^= (*p) * PRIME64_5; h64 = XXH_rotl64(h64, 11) * PRIME64_1; p++; } h64 ^= h64 >> 33; h64 *= PRIME64_2; h64 ^= h64 >> 29; h64 *= PRIME64_3; h64 ^= h64 >> 32; return h64; } unsigned long long XXH64_digest(const XXH64_state_t* state_in) { XXH_endianess endian_detected = (XXH_endianess)XXH_CPU_LITTLE_ENDIAN; if((endian_detected == XXH_littleEndian) || XXH_FORCE_NATIVE_FORMAT) return XXH64_digest_endian(state_in, XXH_littleEndian); else return XXH64_digest_endian(state_in, XXH_bigEndian); } rmlint-2.6.1/lib/checksums/xxhash/xxhash.h000066400000000000000000000135341312046612000205400ustar00rootroot00000000000000/* xxHash - Extremely Fast Hash algorithm Header File Copyright (C) 2012-2015, Yann Collet. BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) 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. 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 OWNER 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. You can contact the author at : - xxHash source repository : https://github.com/Cyan4973/xxHash */ /* Notice extracted from xxHash homepage : xxHash is an extremely fast Hash algorithm, running at RAM speed limits. It also successfully passes all tests from the SMHasher suite. Comparison (single thread, Windows Seven 32 bits, using SMHasher on a Core 2 Duo @3GHz) Name Speed Q.Score Author xxHash 5.4 GB/s 10 CrapWow 3.2 GB/s 2 Andrew MumurHash 3a 2.7 GB/s 10 Austin Appleby SpookyHash 2.0 GB/s 10 Bob Jenkins SBox 1.4 GB/s 9 Bret Mulvey Lookup3 1.2 GB/s 9 Bob Jenkins SuperFastHash 1.2 GB/s 1 Paul Hsieh CityHash64 1.05 GB/s 10 Pike & Alakuijala FNV 0.55 GB/s 5 Fowler, Noll, Vo CRC32 0.43 GB/s 9 MD5-32 0.33 GB/s 10 Ronald L. Rivest SHA1-32 0.28 GB/s 10 Q.Score is a measure of quality of the hash function. It depends on successfully passing SMHasher test set. 10 is a perfect score. A 64-bits version, named XXH64, is available since r35. It offers much better speed, but for 64-bits applications only. Name Speed on 64 bits Speed on 32 bits XXH64 13.8 GB/s 1.9 GB/s XXH32 6.8 GB/s 6.0 GB/s */ #pragma once #if defined(__cplusplus) extern "C" { #endif /***************************** * Definitions *****************************/ #include /* size_t */ typedef enum { XXH_OK = 0, XXH_ERROR } XXH_errorcode; /***************************** * Simple Hash Functions *****************************/ unsigned int XXH32(const void* input, size_t length, unsigned seed); unsigned long long XXH64(const void* input, size_t length, unsigned long long seed); /* XXH32() : Calculate the 32-bits hash of sequence "length" bytes stored at memory address "input". The memory between input & input+length must be valid (allocated and read-accessible). "seed" can be used to alter the result predictably. This function successfully passes all SMHasher tests. Speed on Core 2 Duo @ 3 GHz (single thread, SMHasher benchmark) : 5.4 GB/s XXH64() : Calculate the 64-bits hash of sequence of length "len" stored at memory address "input". Faster on 64-bits systems. Slower on 32-bits systems. */ /***************************** * Advanced Hash Functions *****************************/ typedef struct { long long ll[6]; } XXH32_state_t; typedef struct { long long ll[11]; } XXH64_state_t; /* These structures allow static allocation of XXH states. States must then be initialized using XXHnn_reset() before first use. If you prefer dynamic allocation, please refer to functions below. */ XXH32_state_t* XXH32_createState(void); XXH_errorcode XXH32_freeState(XXH32_state_t* statePtr); XXH64_state_t* XXH64_createState(void); XXH_errorcode XXH64_freeState(XXH64_state_t* statePtr); /* These functions create and release memory for XXH state. States must then be initialized using XXHnn_reset() before first use. */ XXH_errorcode XXH32_reset(XXH32_state_t* statePtr, unsigned seed); XXH_errorcode XXH32_update(XXH32_state_t* statePtr, const void* input, size_t length); unsigned int XXH32_digest(const XXH32_state_t* statePtr); XXH_errorcode XXH64_reset(XXH64_state_t* statePtr, unsigned long long seed); XXH_errorcode XXH64_update(XXH64_state_t* statePtr, const void* input, size_t length); unsigned long long XXH64_digest(const XXH64_state_t* statePtr); /* These functions calculate the xxHash of an input provided in multiple smaller packets, as opposed to an input provided as a single block. XXH state space must first be allocated, using either static or dynamic method provided above. Start a new hash by initializing state with a seed, using XXHnn_reset(). Then, feed the hash state by calling XXHnn_update() as many times as necessary. Obviously, input must be valid, meaning allocated and read accessible. The function returns an error code, with 0 meaning OK, and any other value meaning there is an error. Finally, you can produce a hash anytime, by using XXHnn_digest(). This function returns the final nn-bits hash. You can nonetheless continue feeding the hash state with more input, and therefore get some new hashes, by calling again XXHnn_digest(). When you are done, don't forget to free XXH state space, using typically XXHnn_freeState(). */ #if defined(__cplusplus) } #endif rmlint-2.6.1/lib/cmdline.c000066400000000000000000002137161312046612000153570ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "config.h" #include #include #include #include #include #include #include #include #include #include #include #include #include "cmdline.h" #include "formats.h" #include "hash-utility.h" #include "md-scheduler.h" #include "preprocess.h" #include "replay.h" #include "shredder.h" #include "traverse.h" #include "treemerge.h" #include "utilities.h" #if HAVE_BTRFS_H #include #include #endif static void rm_cmd_show_version(void) { fprintf(stderr, "version %s compiled: %s at [%s] \"%s\" (rev %s)\n", RM_VERSION, __DATE__, __TIME__, RM_VERSION_NAME, RM_VERSION_GIT_REVISION); /* Make a list of all supported features from the macros in config.h */ /* clang-format off */ struct { bool enabled : 1; const char *name; } features[] = {{.name = "mounts", .enabled = HAVE_BLKID & HAVE_GIO_UNIX}, {.name = "nonstripped", .enabled = HAVE_LIBELF}, {.name = "fiemap", .enabled = HAVE_FIEMAP}, {.name = "sha512", .enabled = HAVE_SHA512}, {.name = "bigfiles", .enabled = HAVE_BIGFILES}, {.name = "intl", .enabled = HAVE_LIBINTL}, {.name = "replay", .enabled = HAVE_JSON_GLIB}, {.name = "xattr", .enabled = HAVE_XATTR}, {.name = "btrfs-support", .enabled = HAVE_BTRFS_H}, {.name = NULL, .enabled = 0}}; /* clang-format on */ fprintf(stderr, _("compiled with:")); for(int i = 0; features[i].name; ++i) { fprintf(stderr, " %c%s", (features[i].enabled) ? '+' : '-', features[i].name); } fprintf(stderr, RESET "\n\n"); fprintf(stderr, _("rmlint was written by Christopher Pahl and Daniel " " Thomas.")); fprintf(stderr, "\n"); fprintf(stderr, _("The code at https://github.com/sahib/rmlint is licensed under the " "terms of the GPLv3.")); fprintf(stderr, "\n"); exit(0); } static void rm_cmd_show_manpage(void) { static const char *commands[] = {"man %s docs/rmlint.1.gz 2> /dev/null", "man %s rmlint", NULL}; bool found_manpage = false; for(int i = 0; commands[i] && !found_manpage; ++i) { char cmd_buf[512] = {0}; if(snprintf(cmd_buf, sizeof(cmd_buf), commands[i], (RM_MANPAGE_USE_PAGER) ? "" : "-P cat") == -1) { continue; } if(system(cmd_buf) == 0) { found_manpage = true; } } if(!found_manpage) { rm_log_warning_line(_("You seem to have no manpage for rmlint.")); rm_log_warning_line(_("Please run rmlint --help to show the regular help.")); rm_log_warning_line(_( "Alternatively, visit https://rmlint.rtfd.org for the online documentation")); } exit(0); } /* * Debian and Ubuntu based distributions fuck up setuptools * by expecting packages to be installed to dist-packages and not site-packages * like expected by setuptools. This breaks a lot of packages with the reasoning * to reduce conflicts between system and user packages: * * https://stackoverflow.com/questions/9387928/whats-the-difference-between-dist-packages-and-site-packages * * We try to work around this by manually installing dist-packages to the * sys.path by first calling a small bootstrap script. */ static const char RM_PY_BOOTSTRAP[] = "" "# This is a bootstrap script for the rmlint-gui. \n" "# See the src/rmlint.c in rmlint's source for more info. \n" "import sys, os, site \n" " \n" "# Also default to dist-packages on debian(-based): \n" "sites = site.getsitepackages() \n" "sys.path.extend([d.replace('dist-packages', 'site-packages') for d in sites]) \n" "sys.path.extend(sites) \n" " \n" "# Cleanup self: \n" "try: \n" " os.remove(sys.argv[0]) \n" "except: \n" " print('Note: Could not remove bootstrap script at ', sys.argv[0]) \n" " \n" "# Run shredder by importing the main: \n" "try: \n" " import shredder \n" " shredder.run_gui() \n" "except ImportError as err: \n" " print('Failed to load shredder:', err) \n" " print('This might be due to a corrupted install; try reinstalling.') \n"; static void rm_cmd_start_gui(int argc, const char **argv) { const char *commands[] = {"python3", "python", NULL}; const char **command = &commands[0]; GError *error = NULL; gchar *bootstrap_path = NULL; int bootstrap_fd = g_file_open_tmp(".shredder-bootstrap.py.XXXXXX", &bootstrap_path, &error); if(bootstrap_fd < 0) { rm_log_warning("Could not bootstrap gui: Unable to create tempfile: %s", error->message); g_error_free(error); return; } if(write(bootstrap_fd, RM_PY_BOOTSTRAP, sizeof(RM_PY_BOOTSTRAP)) < 0) { rm_log_warning_line("Could not bootstrap gui: Unable to write to tempfile: %s", g_strerror(errno)); return; } close(bootstrap_fd); while(*command) { const char *all_argv[512]; const char **argp = &all_argv[0]; memset(all_argv, 0, sizeof(all_argv)); *argp++ = *command; *argp++ = bootstrap_path; for(size_t i = 0; i < (size_t)argc && i < sizeof(all_argv) / 2; i++) { *argp++ = argv[i]; } if(execvp(*command, (char *const *)all_argv) == -1) { rm_log_warning("Executed: %s ", *command); for(int j = 0; j < (argp - all_argv); j++) { rm_log_warning("%s ", all_argv[j]); } rm_log_warning("\n"); rm_log_error_line("%s %d", g_strerror(errno), errno == ENOENT); } else { /* This is not reached anymore when execve suceeded */ break; } /* Try next command... */ command++; } } static int rm_cmd_maybe_switch_to_gui(int argc, const char **argv) { for(int i = 0; i < argc; i++) { if(g_strcmp0("--gui", argv[i]) == 0) { argv[i] = "shredder"; rm_cmd_start_gui(argc - i - 1, &argv[i + 1]); /* We returned? Something's wrong */ return EXIT_FAILURE; } } return EXIT_SUCCESS; } static int rm_cmd_maybe_switch_to_hasher(int argc, const char **argv) { for(int i = 0; i < argc; i++) { if(g_strcmp0("--hash", argv[i]) == 0) { argv[i] = argv[0]; exit(rm_hasher_main(argc - i, &argv[i])); } } return EXIT_SUCCESS; } static void rm_cmd_btrfs_clone_usage(void) { rm_log_error(_("Usage: rmlint --btrfs-clone [-r] source dest\n")); } static void rm_cmd_btrfs_clone(const char *source, const char *dest, const gboolean read_only) { #if HAVE_BTRFS_H struct { struct btrfs_ioctl_same_args args; struct btrfs_ioctl_same_extent_info info; } extent_same; memset(&extent_same, 0, sizeof(extent_same)); int source_fd = rm_sys_open(source, O_RDONLY); if(source_fd < 0) { rm_log_error_line(_("btrfs clone: failed to open source file")); return; } extent_same.info.fd = rm_sys_open(dest, read_only ? O_RDONLY : O_RDWR); if(extent_same.info.fd < 0) { rm_log_error_line(_("btrfs clone: error %i: failed to open dest file.%s"), errno, read_only ? "" : _("\n\t(if target is a read-only snapshot " "then -r option is required)")); rm_sys_close(source_fd); return; } struct stat source_stat; fstat(source_fd, &source_stat); guint64 bytes_deduped = 0; gint64 bytes_remaining = source_stat.st_size; int ret = 0; while(bytes_deduped < (guint64)source_stat.st_size && ret == 0 && extent_same.info.status == 0 && bytes_remaining) { extent_same.args.dest_count = 1; extent_same.args.logical_offset = bytes_deduped; extent_same.info.logical_offset = bytes_deduped; /* BTRFS_IOC_FILE_EXTENT_SAME has an internal limit at 16MB */ extent_same.args.length = MIN(16 * 1024 * 1024, bytes_remaining); if(extent_same.args.length == 0) { extent_same.args.length = bytes_remaining; } ret = ioctl(source_fd, BTRFS_IOC_FILE_EXTENT_SAME, &extent_same); if(ret == 0 && extent_same.info.status == 0) { bytes_deduped += extent_same.info.bytes_deduped; bytes_remaining -= extent_same.info.bytes_deduped; } } rm_sys_close(source_fd); rm_sys_close(extent_same.info.fd); if(ret < 0) { ret = errno; rm_log_error_line(_("BTRFS_IOC_FILE_EXTENT_SAME returned error: (%d) %s"), ret, strerror(ret)); } else if(extent_same.info.status == -22 && read_only && getuid()) { rm_log_error_line(_("Need to run as root user to clone to a read-only snapshot")); } else if(extent_same.info.status < 0) { rm_log_error_line(_("BTRFS_IOC_FILE_EXTENT_SAME returned status %d for file %s"), extent_same.info.status, dest); } else if(bytes_remaining > 0) { rm_log_info_line(_("Files don't match - not cloned")); } #else (void)source; (void)dest; (void)read_only; rm_log_error_line(_("rmlint was not compiled with btrfs support.")) #endif } static int rm_cmd_maybe_btrfs_clone(RmSession *session, int argc, const char **argv) { if(argc > 0 && g_strcmp0("--btrfs-clone", argv[1]) == 0) { /* treat as a btrfs clone subcommand... */ if(!rm_session_check_kernel_version(session, 4, 2)) { rm_log_warning_line("This needs at least linux >= 4.2."); } else if(argc == 5 && g_strcmp0("-r", argv[2]) == 0) { /* -r option for deduping read-only snapshots */ /* TODO: add check for root user permissions */ rm_cmd_btrfs_clone(argv[3], argv[4], TRUE); } else if(argc == 4) { rm_cmd_btrfs_clone(argv[2], argv[3], FALSE); } else { /* malformed command */ rm_cmd_btrfs_clone_usage(); } /* return EXIT_FAILURE to indicate not to go ahead with main rmlint call */ return EXIT_FAILURE; } return EXIT_SUCCESS; } /* clang-format off */ static const struct FormatSpec { const char *id; unsigned base; unsigned exponent; } SIZE_FORMAT_TABLE[] = { /* This list is sorted, so bsearch() can be used */ {.id = "b", .base = 512, .exponent = 1}, {.id = "c", .base = 1, .exponent = 1}, {.id = "e", .base = 1000, .exponent = 6}, {.id = "eb", .base = 1024, .exponent = 6}, {.id = "g", .base = 1000, .exponent = 3}, {.id = "gb", .base = 1024, .exponent = 3}, {.id = "k", .base = 1000, .exponent = 1}, {.id = "kb", .base = 1024, .exponent = 1}, {.id = "m", .base = 1000, .exponent = 2}, {.id = "mb", .base = 1024, .exponent = 2}, {.id = "p", .base = 1000, .exponent = 5}, {.id = "pb", .base = 1024, .exponent = 5}, {.id = "t", .base = 1000, .exponent = 4}, {.id = "tb", .base = 1024, .exponent = 4}, {.id = "w", .base = 2, .exponent = 1} }; /* clang-format on */ typedef struct FormatSpec FormatSpec; static const int SIZE_FORMAT_TABLE_N = sizeof(SIZE_FORMAT_TABLE) / sizeof(FormatSpec); static int rm_cmd_compare_spec_elem(const void *fmt_a, const void *fmt_b) { return strcasecmp(((FormatSpec *)fmt_a)->id, ((FormatSpec *)fmt_b)->id); } static RmOff rm_cmd_size_string_to_bytes(const char *size_spec, GError **error) { if(size_spec == NULL) { g_set_error(error, RM_ERROR_QUARK, 0, _("Input size is empty")); return 0; } char *format = NULL; long double decimal = strtold(size_spec, &format); if(decimal == 0 && format == size_spec) { g_set_error(error, RM_ERROR_QUARK, 0, _("This does not look like a number")); return 0; } else if(decimal < 0) { g_set_error(error, RM_ERROR_QUARK, 0, _("Negativ sizes are no good idea")); return 0; } else if(*format) { format = g_strstrip(format); } else { return round(decimal); } FormatSpec key = {.id = format}; FormatSpec *found = bsearch(&key, SIZE_FORMAT_TABLE, SIZE_FORMAT_TABLE_N, sizeof(FormatSpec), rm_cmd_compare_spec_elem); if(found != NULL) { /* No overflow check */ return decimal * pow(found->base, found->exponent); } else { g_set_error(error, RM_ERROR_QUARK, 0, _("Given format specifier not found")); return 0; } } /* Size spec parsing implemented by qitta (http://github.com/qitta) * Thanks and go blame him if this breaks! */ static gboolean rm_cmd_size_range_string_to_bytes(const char *range_spec, RmOff *min, RmOff *max, GError **error) { *min = 0; *max = G_MAXULONG; range_spec = (const char *)g_strstrip((char *)range_spec); gchar **split = g_strsplit(range_spec, "-", 2); if(*range_spec == '-') { /* Act like it was "0-..." */ split[0] = g_strdup("0"); } if(split[0] != NULL) { *min = rm_cmd_size_string_to_bytes(split[0], error); } if(split[1] != NULL && *error == NULL) { *max = rm_cmd_size_string_to_bytes(split[1], error); } g_strfreev(split); if(*error == NULL && *max < *min) { g_set_error(error, RM_ERROR_QUARK, 0, _("Max is smaller than min")); } return (*error == NULL); } static gboolean rm_cmd_parse_limit_sizes(_UNUSED const char *option_name, const gchar *range_spec, RmSession *session, GError **error) { if(!rm_cmd_size_range_string_to_bytes(range_spec, &session->cfg->minsize, &session->cfg->maxsize, error)) { g_prefix_error(error, _("cannot parse --size: ")); return false; } else { session->cfg->limits_specified = true; return true; } } static GLogLevelFlags VERBOSITY_TO_LOG_LEVEL[] = {[0] = G_LOG_LEVEL_CRITICAL, [1] = G_LOG_LEVEL_ERROR, [2] = G_LOG_LEVEL_WARNING, [3] = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO, [4] = G_LOG_LEVEL_DEBUG}; static bool rm_cmd_read_paths_from_stdin(RmSession *session, bool is_prefd) { char path_buf[PATH_MAX]; char *tokbuf = NULL; bool all_paths_read = true; /* Still read all paths on errors, so the user knows all paths that failed */ while(fgets(path_buf, PATH_MAX, stdin)) { all_paths_read &= rm_cfg_add_path(session->cfg, is_prefd, strtok_r(path_buf, "\n", &tokbuf)); } return all_paths_read; } static bool rm_cmd_parse_output_pair(RmSession *session, const char *pair, GError **error) { rm_assert_gentle(session); rm_assert_gentle(pair); char *separator = strchr(pair, ':'); char *full_path = NULL; char format_name[100]; memset(format_name, 0, sizeof(format_name)); if(separator == NULL) { /* default to stdout */ char *extension = strchr(pair, '.'); if(extension == NULL) { full_path = "stdout"; strncpy(format_name, pair, strlen(pair)); } else { extension += 1; full_path = (char *)pair; strncpy(format_name, extension, strlen(extension)); } } else { full_path = separator + 1; strncpy(format_name, pair, MIN((long)sizeof(format_name), separator - pair)); } if(!rm_fmt_add(session->formats, format_name, full_path)) { g_set_error(error, RM_ERROR_QUARK, 0, _("Adding -o %s as output failed"), pair); return false; } return true; } static bool rm_cmd_parse_config_pair(RmSession *session, const char *pair, GError **error) { char *domain = strchr(pair, ':'); if(domain == NULL) { g_set_error(error, RM_ERROR_QUARK, 0, _("No format (format:key[=val]) specified in '%s'"), pair); return false; } char *key = NULL, *value = NULL; char **key_val = g_strsplit(&domain[1], "=", 2); int len = g_strv_length(key_val); bool result = true; if(len < 1) { g_set_error(error, RM_ERROR_QUARK, 0, _("Missing key (format:key[=val]) in '%s'"), pair); g_strfreev(key_val); return false; } key = g_strdup(key_val[0]); if(len == 2) { value = g_strdup(key_val[1]); } else { value = g_strdup("1"); } char *formatter = g_strndup(pair, domain - pair); if(!rm_fmt_is_valid_key(session->formats, formatter, key)) { g_set_error(error, RM_ERROR_QUARK, 0, _("Invalid key `%s' for formatter `%s'"), key, formatter); g_free(key); g_free(value); result = false; } else { rm_fmt_set_config_value(session->formats, formatter, key, value); } g_free(formatter); g_strfreev(key_val); return result; } static gboolean rm_cmd_parse_config(_UNUSED const char *option_name, const char *pair, RmSession *session, _UNUSED GError **error) { return rm_cmd_parse_config_pair(session, pair, error); } static double rm_cmd_parse_clamp_factor(const char *string, GError **error) { char *error_loc = NULL; gdouble factor = g_strtod(string, &error_loc); if(error_loc != NULL && *error_loc != '\0' && *error_loc != '%') { g_set_error(error, RM_ERROR_QUARK, 0, _("Unable to parse factor \"%s\": error begins at %s"), string, error_loc); return 0; } if(error_loc != NULL && *error_loc == '%') { factor /= 100; } if(0 > factor || factor > 1) { g_set_error(error, RM_ERROR_QUARK, 0, _("factor value is not in range [0-1]: %f"), factor); return 0; } return factor; } static RmOff rm_cmd_parse_clamp_offset(const char *string, GError **error) { RmOff offset = rm_cmd_size_string_to_bytes(string, error); if(*error != NULL) { g_prefix_error(error, _("Unable to parse offset \"%s\": "), string); return 0; } return offset; } static void rm_cmd_parse_clamp_option(RmSession *session, const char *string, bool start_or_end, GError **error) { if(strchr(string, '.') || g_str_has_suffix(string, "%")) { gdouble factor = rm_cmd_parse_clamp_factor(string, error); if(start_or_end) { session->cfg->use_absolute_start_offset = false; session->cfg->skip_start_factor = factor; } else { session->cfg->use_absolute_end_offset = false; session->cfg->skip_end_factor = factor; } } else { RmOff offset = rm_cmd_parse_clamp_offset(string, error); if(start_or_end) { session->cfg->use_absolute_start_offset = true; session->cfg->skip_start_offset = offset; } else { session->cfg->use_absolute_end_offset = true; session->cfg->skip_end_offset = offset; } } } /* parse comma-separated strong of lint types and set cfg accordingly */ typedef struct RmLintTypeOption { const char **names; gboolean **enable; } RmLintTypeOption; /* compare function for parsing lint type arguments */ int rm_cmd_find_line_type_func(const void *v_input, const void *v_option) { const char *input = v_input; const RmLintTypeOption *option = v_option; for(int i = 0; option->names[i]; ++i) { if(strcmp(option->names[i], input) == 0) { return 0; } } return 1; } #define OPTS (gboolean *[]) #define NAMES (const char *[]) static char rm_cmd_find_lint_types_sep(const char *lint_string) { if(*lint_string == '+' || *lint_string == '-') { lint_string++; } while(isalpha((unsigned char)*lint_string)) { lint_string++; } return *lint_string; } static gboolean rm_cmd_parse_lint_types(_UNUSED const char *option_name, const char *lint_string, RmSession *session, _UNUSED GError **error) { RmCfg *cfg = session->cfg; RmLintTypeOption option_table[] = { {.names = NAMES{"all", 0}, .enable = OPTS{&cfg->find_badids, &cfg->find_badlinks, &cfg->find_emptydirs, &cfg->find_emptyfiles, &cfg->find_nonstripped, &cfg->find_duplicates, &cfg->merge_directories, 0}}, { .names = NAMES{"minimal", 0}, .enable = OPTS{&cfg->find_badids, &cfg->find_badlinks, &cfg->find_duplicates, 0}, }, { .names = NAMES{"minimaldirs", 0}, .enable = OPTS{&cfg->find_badids, &cfg->find_badlinks, &cfg->merge_directories, 0}, }, { .names = NAMES{"defaults", 0}, .enable = OPTS{&cfg->find_badids, &cfg->find_badlinks, &cfg->find_emptydirs, &cfg->find_emptyfiles, &cfg->find_duplicates, 0}, }, { .names = NAMES{"none", 0}, .enable = OPTS{0}, }, {.names = NAMES{"badids", "bi", 0}, .enable = OPTS{&cfg->find_badids, 0}}, {.names = NAMES{"badlinks", "bl", 0}, .enable = OPTS{&cfg->find_badlinks, 0}}, {.names = NAMES{"emptydirs", "ed", 0}, .enable = OPTS{&cfg->find_emptydirs, 0}}, {.names = NAMES{"emptyfiles", "ef", 0}, .enable = OPTS{&cfg->find_emptyfiles, 0}}, {.names = NAMES{"nonstripped", "ns", 0}, .enable = OPTS{&cfg->find_nonstripped, 0}}, {.names = NAMES{"duplicates", "df", "dupes", 0}, .enable = OPTS{&cfg->find_duplicates, 0}}, {.names = NAMES{"duplicatedirs", "dd", "dupedirs", 0}, .enable = OPTS{&cfg->merge_directories, 0}}}; RmLintTypeOption *all_opts = &option_table[0]; /* initialize all options to disabled by default */ for(int i = 0; all_opts->enable[i]; i++) { *all_opts->enable[i] = false; } /* split the comma-separates list of options */ char lint_sep[2] = {0, 0}; lint_sep[0] = rm_cmd_find_lint_types_sep(lint_string); if(lint_sep[0] == 0) { lint_sep[0] = ','; } char **lint_types = g_strsplit(lint_string, lint_sep, -1); /* iterate over the separated option strings */ for(int index = 0; lint_types[index]; index++) { char *lint_type = lint_types[index]; int sign = 0; if(*lint_type == '+') { sign = +1; } else if(*lint_type == '-') { sign = -1; } if(sign == 0) { sign = +1; } else { /* get rid of prefix. */ lint_type += ABS(sign); } /* use lfind to find matching option from array */ size_t elems = sizeof(option_table) / sizeof(RmLintTypeOption); RmLintTypeOption *option = lfind(lint_type, &option_table, &elems, sizeof(RmLintTypeOption), rm_cmd_find_line_type_func); /* apply the found option */ if(option == NULL) { rm_log_warning(_("lint type '%s' not recognised"), lint_type); continue; } /* enable options as appropriate */ for(int i = 0; option->enable[i]; i++) { *option->enable[i] = (sign == -1) ? false : true; } } if(cfg->merge_directories) { cfg->ignore_hidden = false; cfg->find_hardlinked_dupes = true; cfg->cache_file_structs = true; } /* clean up */ g_strfreev(lint_types); return true; } static bool rm_cmd_timestamp_is_plain(const char *stamp) { return strchr(stamp, 'T') ? false : true; } static gboolean rm_cmd_parse_timestamp(_UNUSED const char *option_name, const gchar *string, RmSession *session, GError **error) { gdouble result = 0; bool plain = rm_cmd_timestamp_is_plain(string); session->cfg->filter_mtime = false; if(plain) { /* timespec might include sub-second fraction */ result = strtod(string, NULL); } else { /* Parse ISO8601 timestamps like 2006-02-03T16:45:09.000Z */ result = rm_iso8601_parse(string); /* debug */ { char time_buf[256]; memset(time_buf, 0, sizeof(time_buf)); rm_iso8601_format(time(NULL), time_buf, sizeof(time_buf)); rm_log_debug_line("timestamp %s understood as %f", time_buf, result); } } if(FLOAT_SIGN_DIFF(result, 0.0, MTIME_TOL) != 1) { g_set_error(error, RM_ERROR_QUARK, 0, _("Unable to parse time spec \"%s\""), string); return false; } /* Some sort of success. */ session->cfg->filter_mtime = true; time_t now = time(NULL); if((time_t)result > now) { /* Not critical, maybe there are some uses for this, * but print at least a small warning as indication. * */ if(plain) { rm_log_warning_line(_("-n %lu is newer than current time (%lu)."), (long)result, (long)now); } else { char time_buf[256]; memset(time_buf, 0, sizeof(time_buf)); rm_iso8601_format(time(NULL), time_buf, sizeof(time_buf)); rm_log_warning_line("-N %s is newer than current time (%s) [%lu > %lu]", string, time_buf, (time_t)result, now); } } /* Remember our result */ session->cfg->min_mtime = result; return true; } static gboolean rm_cmd_parse_timestamp_file(const char *option_name, const gchar *timestamp_path, RmSession *session, GError **error) { bool plain = true, success = false; FILE *stamp_file = fopen(timestamp_path, "r"); /* Assume failure */ session->cfg->filter_mtime = false; if(stamp_file) { char stamp_buf[1024]; memset(stamp_buf, 0, sizeof(stamp_buf)); if(fgets(stamp_buf, sizeof(stamp_buf), stamp_file) != NULL) { success = rm_cmd_parse_timestamp(option_name, g_strstrip(stamp_buf), session, error); plain = rm_cmd_timestamp_is_plain(stamp_buf); } fclose(stamp_file); } else { /* Cannot read... */ plain = false; } if(!success) { return false; } rm_fmt_add(session->formats, "stamp", timestamp_path); if(!plain) { /* Enable iso8601 timestamp output */ rm_fmt_set_config_value(session->formats, "stamp", g_strdup("iso8601"), g_strdup("true")); } return success; } static void rm_cmd_set_verbosity_from_cnt(RmCfg *cfg, int verbosity_counter) { cfg->verbosity = VERBOSITY_TO_LOG_LEVEL[CLAMP( verbosity_counter, 1, (int)(sizeof(VERBOSITY_TO_LOG_LEVEL) / sizeof(GLogLevelFlags)) - 1)]; } static void rm_cmd_set_paranoia_from_cnt(RmCfg *cfg, int paranoia_counter, GError **error) { /* Handle the paranoia option */ switch(paranoia_counter) { case -2: cfg->checksum_type = RM_DIGEST_XXHASH; break; case -1: cfg->checksum_type = RM_DIGEST_BASTARD; break; case 0: /* leave users choice of -a (default) */ break; case 1: #if HAVE_SHA512 cfg->checksum_type = RM_DIGEST_SHA512; #else cfg->checksum_type = RM_DIGEST_SHA256; #endif break; case 2: cfg->checksum_type = RM_DIGEST_PARANOID; break; default: if(error && *error == NULL) { g_set_error(error, RM_ERROR_QUARK, 0, _("Only up to -pp or down to -PP flags allowed")); } break; } } static void rm_cmd_on_error(_UNUSED GOptionContext *context, _UNUSED GOptionGroup *group, RmSession *session, GError **error) { if(error != NULL) { rm_log_error_line("%s.", (*error)->message); g_clear_error(error); session->cmdline_parse_error = true; } } static gboolean rm_cmd_parse_algorithm(_UNUSED const char *option_name, const gchar *value, RmSession *session, GError **error) { RmCfg *cfg = session->cfg; cfg->checksum_type = rm_string_to_digest_type(value); if(cfg->checksum_type == RM_DIGEST_UNKNOWN) { g_set_error(error, RM_ERROR_QUARK, 0, _("Unknown hash algorithm: '%s'"), value); return false; } else if(cfg->checksum_type == RM_DIGEST_BASTARD) { session->hash_seed1 = time(NULL) * (GPOINTER_TO_UINT(session)); session->hash_seed2 = GPOINTER_TO_UINT(&session); } return true; } static gboolean rm_cmd_parse_small_output(_UNUSED const char *option_name, const gchar *output_pair, RmSession *session, _UNUSED GError **error) { session->output_cnt[0] = MAX(session->output_cnt[0], 0); session->output_cnt[0] += rm_cmd_parse_output_pair(session, output_pair, error); return true; } static gboolean rm_cmd_parse_large_output(_UNUSED const char *option_name, const gchar *output_pair, RmSession *session, _UNUSED GError **error) { session->output_cnt[1] = MAX(session->output_cnt[1], 0); session->output_cnt[1] += rm_cmd_parse_output_pair(session, output_pair, error); return true; } static gboolean rm_cmd_parse_mem(const gchar *size_spec, GError **error, RmOff *target) { RmOff size = rm_cmd_size_string_to_bytes(size_spec, error); if(*error != NULL) { g_prefix_error(error, _("Invalid size description \"%s\": "), size_spec); return false; } else { *target = size; return true; } } static gboolean rm_cmd_parse_limit_mem(_UNUSED const char *option_name, const gchar *size_spec, RmSession *session, GError **error) { return (rm_cmd_parse_mem(size_spec, error, &session->cfg->total_mem)); } static gboolean rm_cmd_parse_sweep_size(_UNUSED const char *option_name, const gchar *size_spec, RmSession *session, GError **error) { return (rm_cmd_parse_mem(size_spec, error, &session->cfg->sweep_size)); } static gboolean rm_cmd_parse_sweep_count(_UNUSED const char *option_name, const gchar *size_spec, RmSession *session, GError **error) { return (rm_cmd_parse_mem(size_spec, error, &session->cfg->sweep_count)); } static gboolean rm_cmd_parse_clamp_low(_UNUSED const char *option_name, const gchar *spec, RmSession *session, _UNUSED GError **error) { rm_cmd_parse_clamp_option(session, spec, true, error); return (error && *error == NULL); } static gboolean rm_cmd_parse_clamp_top(_UNUSED const char *option_name, const gchar *spec, RmSession *session, _UNUSED GError **error) { rm_cmd_parse_clamp_option(session, spec, false, error); return (error && *error == NULL); } static gboolean rm_cmd_parse_progress(_UNUSED const char *option_name, _UNUSED const gchar *value, RmSession *session, _UNUSED GError **error) { rm_fmt_clear(session->formats); rm_fmt_add(session->formats, "progressbar", "stdout"); rm_fmt_add(session->formats, "summary", "stdout"); session->cfg->progress_enabled = true; return true; } static void rm_cmd_set_default_outputs(RmSession *session) { rm_fmt_add(session->formats, "pretty", "stdout"); rm_fmt_add(session->formats, "summary", "stdout"); if(session->cfg->replay) { rm_fmt_add(session->formats, "sh", "rmlint.replay.sh"); rm_fmt_add(session->formats, "json", "rmlint.replay.json"); } else { rm_fmt_add(session->formats, "sh", "rmlint.sh"); rm_fmt_add(session->formats, "json", "rmlint.json"); } } static gboolean rm_cmd_parse_no_progress(_UNUSED const char *option_name, _UNUSED const gchar *value, RmSession *session, _UNUSED GError **error) { rm_fmt_clear(session->formats); rm_cmd_set_default_outputs(session); rm_cmd_set_verbosity_from_cnt(session->cfg, session->verbosity_count); return true; } static gboolean rm_cmd_parse_loud(_UNUSED const char *option_name, _UNUSED const gchar *count, RmSession *session, _UNUSED GError **error) { rm_cmd_set_verbosity_from_cnt(session->cfg, ++session->verbosity_count); return true; } static gboolean rm_cmd_parse_quiet(_UNUSED const char *option_name, _UNUSED const gchar *count, RmSession *session, _UNUSED GError **error) { rm_cmd_set_verbosity_from_cnt(session->cfg, --session->verbosity_count); return true; } static gboolean rm_cmd_parse_paranoid(_UNUSED const char *option_name, _UNUSED const gchar *count, RmSession *session, _UNUSED GError **error) { rm_cmd_set_paranoia_from_cnt(session->cfg, ++session->paranoia_count, error); return true; } static gboolean rm_cmd_parse_less_paranoid(_UNUSED const char *option_name, _UNUSED const gchar *count, RmSession *session, _UNUSED GError **error) { rm_cmd_set_paranoia_from_cnt(session->cfg, --session->paranoia_count, error); return true; } static gboolean rm_cmd_parse_partial_hidden(_UNUSED const char *option_name, _UNUSED const gchar *count, RmSession *session, _UNUSED GError **error) { RmCfg *cfg = session->cfg; cfg->ignore_hidden = false; cfg->partial_hidden = true; return true; } static gboolean rm_cmd_parse_see_symlinks(_UNUSED const char *option_name, _UNUSED const gchar *count, RmSession *session, _UNUSED GError **error) { RmCfg *cfg = session->cfg; cfg->see_symlinks = true; cfg->follow_symlinks = false; return true; } static gboolean rm_cmd_parse_follow_symlinks(_UNUSED const char *option_name, _UNUSED const gchar *count, RmSession *session, _UNUSED GError **error) { RmCfg *cfg = session->cfg; cfg->see_symlinks = false; cfg->follow_symlinks = true; return true; } static gboolean rm_cmd_parse_no_partial_hidden(_UNUSED const char *option_name, _UNUSED const gchar *count, RmSession *session, _UNUSED GError **error) { RmCfg *cfg = session->cfg; cfg->ignore_hidden = true; cfg->partial_hidden = false; return true; } static gboolean rm_cmd_parse_merge_directories(_UNUSED const char *option_name, _UNUSED const gchar *_, RmSession *session, _UNUSED GError **error) { RmCfg *cfg = session->cfg; cfg->merge_directories = true; /* Pull in some options for convinience, * duplicate dir detection works better with them. * * They may be disabled explicitly though. */ cfg->follow_symlinks = false; cfg->see_symlinks = true; rm_cmd_parse_partial_hidden(NULL, NULL, session, error); /* Keep RmFiles after shredder. */ cfg->cache_file_structs = true; return true; } static gboolean rm_cmd_parse_honour_dir_layout(_UNUSED const char *option_name, _UNUSED const gchar *_, RmSession *session, _UNUSED GError **error) { session->cfg->honour_dir_layout = true; return true; } static gboolean rm_cmd_parse_permissions(_UNUSED const char *option_name, const gchar *perms, RmSession *session, GError **error) { RmCfg *cfg = session->cfg; if(perms == NULL) { cfg->permissions = R_OK | W_OK; } else { while(*perms) { switch(*perms++) { case 'r': cfg->permissions |= R_OK; break; case 'w': cfg->permissions |= W_OK; break; case 'x': cfg->permissions |= X_OK; break; default: g_set_error(error, RM_ERROR_QUARK, 0, _("Permissions string needs to be one or many of [rwx]")); return false; } } } return true; } static gboolean rm_cmd_check_lettervec(const char *option_name, const char *criteria, const char *valid, GError **error) { for(int i = 0; criteria[i]; ++i) { if(strchr(valid, criteria[i]) == NULL) { g_set_error(error, RM_ERROR_QUARK, 0, _("%s may only contain [%s], not `%c`"), option_name, valid, criteria[i]); return false; } } return true; } static gboolean rm_cmd_parse_sortby(_UNUSED const char *option_name, const gchar *criteria, RmSession *session, GError **error) { RmCfg *cfg = session->cfg; if(!rm_cmd_check_lettervec(option_name, criteria, "moanspMOANSP", error)) { return false; } /* Remember the criteria string */ strncpy(cfg->rank_criteria, criteria, sizeof(cfg->rank_criteria)); /* ranking the files depends on caching them to the end of the program */ cfg->cache_file_structs = true; return true; } static gboolean rm_cmd_parse_rankby(_UNUSED const char *option_name, const gchar *criteria, RmSession *session, GError **error) { RmCfg *cfg = session->cfg; g_free(cfg->sort_criteria); cfg->sort_criteria = rm_pp_compile_patterns(session, criteria, error); if(error && *error != NULL) { return false; } if(!rm_cmd_check_lettervec(option_name, cfg->sort_criteria, "dlamprxhoDLAMPRXHO", error)) { return false; } return true; } static gboolean rm_cmd_parse_replay(_UNUSED const char *option_name, _UNUSED const gchar *x, RmSession *session, _UNUSED GError **error) { session->cfg->replay = true; session->cfg->cache_file_structs = true; return true; } static gboolean rm_cmd_parse_equal(_UNUSED const char *option_name, _UNUSED const gchar *x, RmSession *session, _UNUSED GError **error) { rm_cmd_parse_merge_directories(NULL, NULL, session, error); rm_cmd_parse_lint_types(NULL, "df,dd", session, error); session->cfg->run_equal_mode = true; /* See issue #233; partial hidden needs to be disabled */ session->cfg->partial_hidden = false; session->cfg->ignore_hidden = false; /* See issue #234 fore more discussion on this */ session->cfg->limits_specified = true; session->cfg->minsize = 0; rm_fmt_clear(session->formats); rm_fmt_add(session->formats, "_equal", "stdout"); return true; } static bool rm_cmd_set_cwd(RmCfg *cfg) { /* Get current directory */ char cwd_buf[PATH_MAX + 1]; memset(cwd_buf, 0, sizeof(cwd_buf)); if(getcwd(cwd_buf, PATH_MAX) == NULL) { rm_log_perror(""); return false; } cfg->iwd = g_strdup_printf("%s%s", cwd_buf, G_DIR_SEPARATOR_S); return true; } static bool rm_cmd_set_cmdline(RmCfg *cfg, int argc, char **argv) { /* Copy commandline rmlint was invoked with by copying argv into a * NULL padded array and join that with g_strjoinv. GLib made me lazy. */ const char *argv_nul[argc + 1]; memset(argv_nul, 0, sizeof(argv_nul)); memcpy(argv_nul, argv, argc * sizeof(const char *)); cfg->joined_argv = g_strjoinv(" ", (gchar **)argv_nul); /* This cannot fail currently */ return true; } static bool rm_cmd_set_paths(RmSession *session, char **paths) { bool is_prefd = false; bool all_paths_valid = true; RmCfg *cfg = session->cfg; /* Check the directory to be valid */ for(int i = 0; paths && paths[i]; ++i) { if(strcmp(paths[i], "-") == 0) { /* option '-' means read paths from stdin */ all_paths_valid &= rm_cmd_read_paths_from_stdin(session, is_prefd); } else if(strcmp(paths[i], "//") == 0) { /* the '//' separator separates non-preferred paths from preferred */ is_prefd = !is_prefd; } else { all_paths_valid &= rm_cfg_add_path(cfg, is_prefd, paths[i]); } } g_strfreev(paths); if(cfg->path_count == 0 && all_paths_valid) { /* Still no path set? - use `pwd` */ rm_cfg_add_path(session->cfg, is_prefd, cfg->iwd); } /* Only return success if everything is fine. */ return all_paths_valid; } static bool rm_cmd_set_outputs(RmSession *session, GError **error) { if(session->output_cnt[0] >= 0 && session->output_cnt[1] >= 0) { g_set_error(error, RM_ERROR_QUARK, 0, _("Specifiyng both -o and -O is not allowed")); return false; } else if(session->output_cnt[0] < 0 && session->output_cnt[1] < 0 && !rm_fmt_len(session->formats)) { rm_cmd_set_default_outputs(session); } return true; } static char * rm_cmd_find_own_executable_path(RmSession *session, char **argv) { RmCfg *cfg = session->cfg; if(cfg->full_argv0_path == NULL) { /* Note: this check will only work on linux! */ char exe_path[PATH_MAX] = {0}; if(readlink("/proc/self/exe", exe_path, sizeof(exe_path)) != -1) { return g_strdup(exe_path); } if(strchr(argv[0], '/')) { return realpath(argv[0], NULL); } /* More checks might be added here in future. */ } return NULL; } /* Parse the commandline and set arguments in 'settings' (glob. var accordingly) */ bool rm_cmd_parse_args(int argc, char **argv, RmSession *session) { RmCfg *cfg = session->cfg; gboolean clone = FALSE; /* Handle --gui before all other processing, * since we need to pass other args to the python interpreter. * This is not possible with GOption alone. */ if(rm_cmd_maybe_switch_to_gui(argc, (const char **)argv) == EXIT_FAILURE) { rm_log_error_line(_("Could not start graphical user interface.")); return false; } if(rm_cmd_maybe_switch_to_hasher(argc, (const char **)argv) == EXIT_FAILURE) { return false; } if(rm_cmd_maybe_btrfs_clone(session, argc, (const char **)argv) == EXIT_FAILURE) { return false; } /* List of paths we got passed (or NULL) */ char **paths = NULL; /* General error variable */ GError *error = NULL; GOptionContext *option_parser = NULL; #define FUNC(name) ((GOptionArgFunc)rm_cmd_parse_##name) const int DISABLE = G_OPTION_FLAG_REVERSE, EMPTY = G_OPTION_FLAG_NO_ARG, HIDDEN = G_OPTION_FLAG_HIDDEN, OPTIONAL = G_OPTION_FLAG_OPTIONAL_ARG; /* Free/Used Options: Used: abBcCdDeEfFgGHhiI kKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ| Free: jJ | */ /* clang-format off */ const GOptionEntry main_option_entries[] = { /* Option with required arguments */ {"max-depth" , 'd' , 0 , G_OPTION_ARG_INT , &cfg->depth , _("Specify max traversal depth") , "N"} , {"rank-by" , 'S' , 0 , G_OPTION_ARG_CALLBACK , FUNC(rankby) , _("Select originals by given criteria") , "[dlamprxDLAMPRX]"} , {"sort-by" , 'y' , 0 , G_OPTION_ARG_CALLBACK , FUNC(sortby) , _("Sort rmlint output by given criteria") , "[moansMOANS]"} , {"types" , 'T' , 0 , G_OPTION_ARG_CALLBACK , FUNC(lint_types) , _("Specify lint types") , "T"} , {"size" , 's' , 0 , G_OPTION_ARG_CALLBACK , FUNC(limit_sizes) , _("Specify size limits") , "m-M"} , {"algorithm" , 'a' , 0 , G_OPTION_ARG_CALLBACK , FUNC(algorithm) , _("Choose hash algorithm") , "A"} , {"output" , 'o' , 0 , G_OPTION_ARG_CALLBACK , FUNC(small_output) , _("Add output (override default)") , "FMT[:PATH]"} , {"add-output" , 'O' , 0 , G_OPTION_ARG_CALLBACK , FUNC(large_output) , _("Add output (add to defaults)") , "FMT[:PATH]"} , {"newer-than-stamp" , 'n' , 0 , G_OPTION_ARG_CALLBACK , FUNC(timestamp_file) , _("Newer than stamp file") , "PATH"} , {"newer-than" , 'N' , 0 , G_OPTION_ARG_CALLBACK , FUNC(timestamp) , _("Newer than timestamp") , "STAMP"} , {"config" , 'c' , 0 , G_OPTION_ARG_CALLBACK , FUNC(config) , _("Configure a formatter") , "FMT:K[=V]"} , /* Non-trvial switches */ {"progress" , 'g' , EMPTY , G_OPTION_ARG_CALLBACK , FUNC(progress) , _("Enable progressbar") , NULL} , {"loud" , 'v' , EMPTY , G_OPTION_ARG_CALLBACK , FUNC(loud) , _("Be more verbose (-vvv for much more)") , NULL} , {"quiet" , 'V' , EMPTY , G_OPTION_ARG_CALLBACK , FUNC(quiet) , _("Be less verbose (-VVV for much less)") , NULL} , {"replay" , 'Y' , EMPTY , G_OPTION_ARG_CALLBACK , FUNC(replay) , _("Re-output a json file") , "path/to/rmlint.json"} , {"equal" , 0 , EMPTY , G_OPTION_ARG_CALLBACK , FUNC(equal) , _("Test for equality of PATHS") , "PATHS"} , /* Trivial boolean options */ {"no-with-color" , 'W' , DISABLE , G_OPTION_ARG_NONE , &cfg->with_color , _("Be not that colorful") , NULL} , {"hidden" , 'r' , DISABLE , G_OPTION_ARG_NONE , &cfg->ignore_hidden , _("Find hidden files") , NULL} , {"followlinks" , 'f' , EMPTY , G_OPTION_ARG_CALLBACK , FUNC(follow_symlinks) , _("Follow symlinks") , NULL} , {"no-followlinks" , 'F' , DISABLE , G_OPTION_ARG_NONE , &cfg->follow_symlinks , _("Ignore symlinks") , NULL} , {"paranoid" , 'p' , EMPTY , G_OPTION_ARG_CALLBACK , FUNC(paranoid) , _("Use more paranoid hashing") , NULL} , {"no-crossdev" , 'x' , DISABLE , G_OPTION_ARG_NONE , &cfg->crossdev , _("Do not cross mounpoints") , NULL} , {"keep-all-tagged" , 'k' , 0 , G_OPTION_ARG_NONE , &cfg->keep_all_tagged , _("Keep all tagged files") , NULL} , {"keep-all-untagged" , 'K' , 0 , G_OPTION_ARG_NONE , &cfg->keep_all_untagged , _("Keep all untagged files") , NULL} , {"must-match-tagged" , 'm' , 0 , G_OPTION_ARG_NONE , &cfg->must_match_tagged , _("Must have twin in tagged dir") , NULL} , {"must-match-untagged" , 'M' , 0 , G_OPTION_ARG_NONE , &cfg->must_match_untagged , _("Must have twin in untagged dir") , NULL} , {"match-basename" , 'b' , 0 , G_OPTION_ARG_NONE , &cfg->match_basename , _("Only find twins with same basename") , NULL} , {"match-extension" , 'e' , 0 , G_OPTION_ARG_NONE , &cfg->match_with_extension , _("Only find twins with same extension") , NULL} , {"match-without-extension" , 'i' , 0 , G_OPTION_ARG_NONE , &cfg->match_without_extension , _("Only find twins with same basename minus extension") , NULL} , {"merge-directories" , 'D' , EMPTY , G_OPTION_ARG_CALLBACK , FUNC(merge_directories) , _("Find duplicate directories") , NULL} , {"honour-dir-layout" , 'j' , EMPTY , G_OPTION_ARG_CALLBACK , FUNC(honour_dir_layout) , _("Only find directories with same file layout") , NULL} , {"perms" , 'z' , OPTIONAL , G_OPTION_ARG_CALLBACK , FUNC(permissions) , _("Only use files with certain permissions") , "[RWX]+"} , {"no-hardlinked" , 'L' , DISABLE , G_OPTION_ARG_NONE , &cfg->find_hardlinked_dupes , _("Ignore hardlink twins") , NULL} , {"partial-hidden" , 0 , EMPTY , G_OPTION_ARG_CALLBACK , FUNC(partial_hidden) , _("Find hidden files in duplicate folders only") , NULL} , {"mtime-window" , 'Z' , 0 , G_OPTION_ARG_DOUBLE , &cfg->mtime_window , _("Consider duplicates only equal when mtime differs at max. T seconds") , "T"} , /* Callback */ {"show-man" , 'H' , EMPTY , G_OPTION_ARG_CALLBACK , rm_cmd_show_manpage , _("Show the manpage") , NULL} , {"version" , 0 , EMPTY , G_OPTION_ARG_CALLBACK , rm_cmd_show_version , _("Show the version & features") , NULL} , /* Dummy option for --help output only: */ {"gui" , 0 , 0 , G_OPTION_ARG_NONE , NULL , _("If installed, start the optional gui with all following args") , NULL}, {"hash" , 0 , 0 , G_OPTION_ARG_NONE , NULL , _("Work like sha1sum for all supported hash algorithms (see also --hash --help)") , NULL} , {"btrfs-clone" , 0 , 0 , G_OPTION_ARG_NONE , &clone , _("Clone extents from source to dest, if extents match") , NULL} , /* Special case: accumulate leftover args (paths) in &paths */ {G_OPTION_REMAINING , 0 , 0 , G_OPTION_ARG_FILENAME_ARRAY , &paths , "" , NULL} , {NULL , 0 , 0 , 0 , NULL , NULL , NULL} }; const GOptionEntry inversed_option_entries[] = { {"no-hidden" , 'R' , HIDDEN , G_OPTION_ARG_NONE , &cfg->ignore_hidden , "Ignore hidden files" , NULL} , {"with-color" , 'w' , HIDDEN , G_OPTION_ARG_NONE , &cfg->with_color , "Be colorful like a unicorn" , NULL} , {"hardlinked" , 'l' , HIDDEN , G_OPTION_ARG_NONE , &cfg->find_hardlinked_dupes , _("Report hardlinks as duplicates") , NULL} , {"crossdev" , 'X' , HIDDEN , G_OPTION_ARG_NONE , &cfg->crossdev , "Cross mountpoints" , NULL} , {"less-paranoid" , 'P' , EMPTY | HIDDEN , G_OPTION_ARG_CALLBACK , FUNC(less_paranoid) , "Use less paranoid hashing algorithm" , NULL} , {"see-symlinks" , '@' , EMPTY | HIDDEN , G_OPTION_ARG_CALLBACK , FUNC(see_symlinks) , "Treat symlinks a regular files" , NULL} , {"unmatched-basename" , 'B', HIDDEN , G_OPTION_ARG_NONE , &cfg->unmatched_basenames , "Only find twins with differing names", NULL} , {"no-match-extension" , 'E' , DISABLE | HIDDEN , G_OPTION_ARG_NONE , &cfg->match_with_extension , "Disable --match-extension" , NULL} , {"no-match-extension" , 'E' , DISABLE | HIDDEN , G_OPTION_ARG_NONE , &cfg->match_with_extension , "Disable --match-extension" , NULL} , {"no-match-without-extension" , 'I' , DISABLE | HIDDEN , G_OPTION_ARG_NONE , &cfg->match_without_extension , "Disable --match-without-extension" , NULL} , {"no-progress" , 'G' , EMPTY | HIDDEN , G_OPTION_ARG_CALLBACK , FUNC(no_progress) , "Disable progressbar" , NULL} , {"no-xattr-read" , 0 , DISABLE | HIDDEN , G_OPTION_ARG_NONE , &cfg->read_cksum_from_xattr , "Disable --xattr-read" , NULL} , {"no-xattr-write" , 0 , DISABLE | HIDDEN , G_OPTION_ARG_NONE , &cfg->write_cksum_to_xattr , "Disable --xattr-write" , NULL} , {"no-partial-hidden" , 0 , EMPTY | HIDDEN , G_OPTION_ARG_CALLBACK , FUNC(no_partial_hidden) , "Invert --partial-hidden" , NULL} , {NULL , 0 , 0 , 0 , NULL , NULL , NULL} }; const GOptionEntry unusual_option_entries[] = { {"clamp-low" , 'q' , HIDDEN , G_OPTION_ARG_CALLBACK , FUNC(clamp_low) , "Limit lower reading barrier" , "P"} , {"clamp-top" , 'Q' , HIDDEN , G_OPTION_ARG_CALLBACK , FUNC(clamp_top) , "Limit upper reading barrier" , "P"} , {"limit-mem" , 'u' , HIDDEN , G_OPTION_ARG_CALLBACK , FUNC(limit_mem) , "Specify max. memory usage target" , "S"} , {"sweep-size" , 'u' , HIDDEN , G_OPTION_ARG_CALLBACK , FUNC(sweep_size) , "Specify max. bytes per pass when scanning disks" , "S"} , {"sweep-files" , 'u' , HIDDEN , G_OPTION_ARG_CALLBACK , FUNC(sweep_count) , "Specify max. file count per pass when scanning disks" , "S"} , {"threads" , 't' , HIDDEN , G_OPTION_ARG_INT64 , &cfg->threads , "Specify max. number of hasher threads" , "N"} , {"threads-per-disk" , 0 , HIDDEN , G_OPTION_ARG_INT , &cfg->threads_per_disk , "Specify number of reader threads per physical disk" , NULL} , {"write-unfinished" , 'U' , HIDDEN , G_OPTION_ARG_NONE , &cfg->write_unfinished , "Output unfinished checksums" , NULL} , {"xattr-write" , 0 , HIDDEN , G_OPTION_ARG_NONE , &cfg->write_cksum_to_xattr , "Cache checksum in file attributes" , NULL} , {"xattr-read" , 0 , HIDDEN , G_OPTION_ARG_NONE , &cfg->read_cksum_from_xattr , "Read cached checksums from file attributes" , NULL} , {"xattr-clear" , 0 , HIDDEN , G_OPTION_ARG_NONE , &cfg->clear_xattr_fields , "Clear xattrs from all seen files" , NULL} , {"with-fiemap" , 0 , HIDDEN , G_OPTION_ARG_NONE , &cfg->build_fiemap , "Use fiemap(2) to optimize disk access patterns" , NULL} , {"without-fiemap" , 0 , DISABLE | HIDDEN , G_OPTION_ARG_NONE , &cfg->build_fiemap , "Do not use fiemap(2) in order to save memory" , NULL} , {"shred-always-wait" , 0 , HIDDEN , G_OPTION_ARG_NONE , &cfg->shred_always_wait , "Always waits for file increment to finish hashing" , NULL} , {"fake-pathindex-as-disk" , 0 , HIDDEN , G_OPTION_ARG_NONE , &cfg->fake_pathindex_as_disk , "Pretends each input path is a separate physical disk" , NULL} , {"fake-holdback" , 0 , HIDDEN , G_OPTION_ARG_NONE , &cfg->cache_file_structs , "Hold back all files to the end before outputting." , NULL} , {"fake-fiemap" , 0 , HIDDEN , G_OPTION_ARG_NONE , &cfg->fake_fiemap , "Create faked fiemap data for all files" , NULL} , {"fake-abort" , 0 , HIDDEN , G_OPTION_ARG_NONE , &cfg->fake_abort , "Simulate interrupt after 10% shredder progress" , NULL} , {"buffered-read" , 0 , HIDDEN , G_OPTION_ARG_NONE , &cfg->use_buffered_read , "Default to buffered reading calls (fread) during reading." , NULL} , {"shred-never-wait" , 0 , HIDDEN , G_OPTION_ARG_NONE , &cfg->shred_never_wait , "Never waits for file increment to finish hashing" , NULL} , {"no-mount-table" , 0 , DISABLE | HIDDEN , G_OPTION_ARG_NONE , &cfg->list_mounts , "Do not try to optimize by listing mounted volumes" , NULL} , {NULL , 0 , HIDDEN , 0 , NULL , NULL , NULL} }; /* clang-format on */ /* Initialize default verbosity */ rm_cmd_set_verbosity_from_cnt(cfg, session->verbosity_count); if(!rm_cmd_set_cwd(cfg)) { g_set_error(&error, RM_ERROR_QUARK, 0, _("Cannot set current working directory")); goto failure; } if(!rm_cmd_set_cmdline(cfg, argc, argv)) { g_set_error(&error, RM_ERROR_QUARK, 0, _("Cannot join commandline")); goto failure; } /* Attempt to find out path to own executable. * This is used in the shell script to call the executable * for special modes like --btrfs-clone or --equal. * We want to make sure the installed version has this * */ cfg->full_argv0_path = rm_cmd_find_own_executable_path(session, argv); //////////////////// // OPTION PARSING // //////////////////// option_parser = g_option_context_new( _("[TARGET_DIR_OR_FILES …] [//] [TAGGED_TARGET_DIR_OR_FILES …] [-]")); g_option_context_set_translation_domain(option_parser, RM_GETTEXT_PACKAGE); GOptionGroup *main_group = g_option_group_new("rmlint", "main", "Most useful main options", session, NULL); GOptionGroup *inversion_group = g_option_group_new( "inversed", "inverted", "Options that enable defaults", session, NULL); GOptionGroup *unusual_group = g_option_group_new("unusual", "unusual", "Unusual options", session, NULL); g_option_group_add_entries(main_group, main_option_entries); g_option_group_add_entries(main_group, inversed_option_entries); g_option_group_add_entries(main_group, unusual_option_entries); g_option_context_add_group(option_parser, inversion_group); g_option_context_add_group(option_parser, unusual_group); g_option_context_set_main_group(option_parser, main_group); g_option_context_set_summary(option_parser, _("rmlint finds space waste and other broken things on " "your filesystem and offers to remove it.\n" "It is especially good at finding duplicates and " "offers a big variety of options to handle them.")); g_option_context_set_description( option_parser, _("Only the most important options and options that alter the defaults are shown " "above.\n" "See the manpage (man 1 rmlint or rmlint --show-man) for far more detailed " "usage information,\n" "or http://rmlint.rtfd.org/en/latest/rmlint.1.html for the online manpage.\n" "Complementary tutorials can be found at: http://rmlint.rtfd.org")); g_option_group_set_error_hook(main_group, (GOptionErrorFunc)rm_cmd_on_error); if(!g_option_context_parse(option_parser, &argc, &argv, &error)) { goto failure; } if(clone) { /* should not get here */ rm_cmd_btrfs_clone_usage(); session->cmdline_parse_error = TRUE; } /* Silent fixes of invalid numeric input */ cfg->threads = CLAMP(cfg->threads, 1, 128); cfg->depth = CLAMP(cfg->depth, 1, PATH_MAX / 2 + 1); if(cfg->partial_hidden && !cfg->merge_directories) { /* --partial-hidden only makes sense with --merge-directories. * If the latter is not specfified, ignore it all together */ cfg->ignore_hidden = true; cfg->partial_hidden = false; } if(cfg->honour_dir_layout && !cfg->merge_directories) { rm_log_warning_line(_("--honour-dir-layout (-j) makes no sense without --merge-directories (-D)")); } if(cfg->progress_enabled) { if(!rm_fmt_has_formatter(session->formats, "sh")) { rm_fmt_add(session->formats, "sh", "rmlint.sh"); } if(!rm_fmt_has_formatter(session->formats, "json")) { rm_fmt_add(session->formats, "json", "rmlint.json"); } } /* Overwrite color if we do not print to a terminal directly */ if(cfg->with_color) { cfg->with_stdout_color = isatty(fileno(stdout)); cfg->with_stderr_color = isatty(fileno(stderr)); cfg->with_color = (cfg->with_stdout_color | cfg->with_stderr_color); } else { cfg->with_stdout_color = cfg->with_stderr_color = 0; } if(cfg->keep_all_tagged && cfg->keep_all_untagged) { error = g_error_new( RM_ERROR_QUARK, 0, _("can't specify both --keep-all-tagged and --keep-all-untagged")); } else if(cfg->skip_start_factor >= cfg->skip_end_factor) { error = g_error_new(RM_ERROR_QUARK, 0, _("-q (--clamp-low) should be lower than -Q (--clamp-top)")); } else if(!rm_cmd_set_paths(session, paths)) { error = g_error_new(RM_ERROR_QUARK, 0, _("Not all given paths are valid. Aborting")); } else if(!rm_cmd_set_outputs(session, &error)) { /* Something wrong with the outputs */ } else if(cfg->follow_symlinks && cfg->see_symlinks) { rm_log_error("Program error: Cannot do both follow_symlinks and see_symlinks"); rm_assert_gentle_not_reached(); } failure: if(error != NULL) { rm_cmd_on_error(NULL, NULL, session, &error); } if(cfg->progress_enabled) { /* Set verbosity to minimal */ rm_cmd_set_verbosity_from_cnt(session->cfg, 1); } g_option_context_free(option_parser); return !(session->cmdline_parse_error); } static int rm_cmd_replay_main(RmSession *session) { /* User chose to replay some json files. */ RmParrotCage cage; rm_parrot_cage_open(&cage, session); bool one_valid_json = false; RmCfg *cfg = session->cfg; for(GSList *iter = cfg->json_paths; iter; iter = iter->next) { RmPath *jsonpath = iter->data; if(!rm_parrot_cage_load(&cage, jsonpath->path, jsonpath->is_prefd)) { rm_log_warning_line("Loading %s failed.", jsonpath->path); } else { one_valid_json = true; } } if(!one_valid_json) { rm_log_error_line(_("No valid .json files given, aborting.")); return EXIT_FAILURE; } rm_parrot_cage_close(&cage); rm_fmt_flush(session->formats); rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_PRE_SHUTDOWN); rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_SUMMARY); return EXIT_SUCCESS; } int rm_cmd_main(RmSession *session) { int exit_state = EXIT_SUCCESS; RmCfg *cfg = session->cfg; rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_INIT); if(session->cfg->replay) { return rm_cmd_replay_main(session); } rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_TRAVERSE); if(cfg->list_mounts) { session->mounts = rm_mounts_table_new(cfg->fake_fiemap); } if(session->mounts == NULL) { rm_log_debug_line("No mount table created."); } session->mds = rm_mds_new(cfg->threads, session->mounts, cfg->fake_pathindex_as_disk); rm_traverse_tree(session); rm_log_debug_line("List build finished at %.3f with %d files", g_timer_elapsed(session->timer, NULL), session->total_files); if(cfg->merge_directories) { rm_assert_gentle(cfg->cache_file_structs); /* Currently we cannot use -D and the cloning on btrfs, since this assumes the same layout * on two dupicate directories which is likely not a valid assumption. * Emit a warning if the raw -D is used in conjunction with that. * */ const char *handler_key = rm_fmt_get_config_value(session->formats, "sh", "handler"); const char *clone_key = rm_fmt_get_config_value(session->formats, "sh", "clone"); if( cfg->honour_dir_layout == false && ( (handler_key != NULL && strstr(handler_key, "clone") != NULL) || clone_key != NULL ) ) { rm_log_error_line(_("Using -D together with -c sh:clone is currently not possible. Sorry.")); rm_log_error_line(_("Either do not use -D, or attempt to run again with -Dj.")); return EXIT_FAILURE; } session->dir_merger = rm_tm_new(session); } if(session->total_files < 2 && session->cfg->run_equal_mode) { rm_log_warning_line(_("Not enough files for --equal (need at least two to compare)")); return EXIT_FAILURE; } if(session->total_files >= 1) { rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_PREPROCESS); rm_preprocess(session); if(cfg->find_duplicates || cfg->merge_directories) { rm_shred_run(session); rm_log_debug_line("Dupe search finished at time %.3f", g_timer_elapsed(session->timer, NULL)); } else { /* Clear leftovers */ rm_file_tables_clear(session); } } if(cfg->merge_directories) { rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_MERGE); rm_tm_finish(session->dir_merger); } rm_fmt_flush(session->formats); rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_PRE_SHUTDOWN); rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_SUMMARY); if(session->shred_bytes_remaining != 0) { rm_log_error_line("BUG: Number of remaining bytes is %" LLU " (not 0). Please report this.", session->shred_bytes_remaining); exit_state = EXIT_FAILURE; } if(session->shred_files_remaining != 0) { rm_log_error_line("BUG: Number of remaining files is %" LLU " (not 0). Please report this.", session->shred_files_remaining); exit_state = EXIT_FAILURE; } if(exit_state == EXIT_SUCCESS && cfg->run_equal_mode) { return session->equal_exit_code; } return exit_state; } rmlint-2.6.1/lib/cmdline.h000066400000000000000000000024321312046612000153530ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * **/ #ifndef RM_CMDLINE_H #define RM_CMDLINE_H #include "session.h" /** * @brief Parse all arguments specified in argc/argv and set the aprop. cfg * in session->cfg. * * @return false on parse error (running makes no sense then) */ bool rm_cmd_parse_args(int argc, char **argv, RmSession *session); /** * @brief Trigger the main method of rmlint. * * @return exit_status for exit() */ int rm_cmd_main(RmSession *session); #endif rmlint-2.6.1/lib/config.h.in000066400000000000000000000117651312046612000156230ustar00rootroot00000000000000#ifndef RM_CONFIG_H #define RM_CONFIG_H #define INSTALL_PREFIX "{INSTALL_PREFIX}" #define HAVE_BLKID ({HAVE_BLKID}) #define HAVE_LIBINTL ({HAVE_LIBINTL}) #define HAVE_LIBELF ({HAVE_LIBELF}) #define HAVE_JSON_GLIB ({HAVE_JSON_GLIB}) #define HAVE_GIO_UNIX ({HAVE_GIO_UNIX}) #define HAVE_FIEMAP ({HAVE_FIEMAP}) #define HAVE_XATTR ({HAVE_XATTR}) #define HAVE_SHA512 ({HAVE_SHA512}) #define HAVE_BIGFILES ({HAVE_BIGFILES}) #define HAVE_STAT64 ({HAVE_STAT64}) #define HAVE_BIG_OFF_T ({HAVE_BIG_OFF_T}) #define HAVE_SYSBLOCK ({HAVE_SYSBLOCK}) #define HAVE_LINUX_LIMITS ({HAVE_LINUX_LIMITS}) #define HAVE_POSIX_FADVISE ({HAVE_POSIX_FADVISE}) #define HAVE_BTRFS_H ({HAVE_BTRFS_H}) #define HAVE_FACCESSAT ({HAVE_FACCESSAT}) #define HAVE_UNAME ({HAVE_UNAME}) #define HAVE_SYSMACROS_H ({HAVE_SYSMACROS_H}) #define RM_DEFAULT_DIGEST RM_DIGEST_BLAKE2B #define RM_VERSION "{VERSION_MAJOR}.{VERSION_MINOR}.{VERSION_PATCH}" #define RM_VERSION_MAJOR {VERSION_MAJOR} #define RM_VERSION_MINOR {VERSION_MINOR} #define RM_VERSION_PATCH {VERSION_PATCH} #define RM_VERSION_NAME "{VERSION_NAME}" #define RM_VERSION_GIT_REVISION "{VERSION_GIT_REVISION}" #define RM_MANPAGE_USE_PAGER (1) /* Might come in useful */ #define RM_CHECK_VERSION(X,Y,Z) (0 \ || X <= RM_VERSION_MAJOR \ || Y <= RM_VERSION_MINOR \ || Z <= RM_VERSION_MICRO \ ) /* These colors should only be used with the rm_log_* macros below */ #define RED "\x1b[31;01m" #define YELLOW "\x1b[33;01m" #define RESET "\x1b[0m" #define GREEN "\x1b[32;01m" #define BLUE "\x1b[34;01m" #include #if HAVE_LINUX_LIMITS #include #else # ifndef PATH_MAX # define PATH_MAX 4096 # endif #endif #define rm_log_debug(...) \ g_log("rmlint", G_LOG_LEVEL_DEBUG, __VA_ARGS__) #define rm_log_info(...) \ g_log("rmlint", G_LOG_LEVEL_INFO, __VA_ARGS__) #define rm_log_warning(...) \ g_log("rmlint", G_LOG_LEVEL_WARNING, __VA_ARGS__) #define rm_log_error(...) \ g_log("rmlint", G_LOG_LEVEL_CRITICAL, __VA_ARGS__) #define rm_log_perror(message) \ if(errno) {{ \ rm_log_error_line("%s:%d: %s: %s", __FILE__, __LINE__, message, g_strerror(errno)); \ }} \ #define _UNUSED G_GNUC_UNUSED #define LLU G_GUINT64_FORMAT #define LLI G_GINT64_FORMAT #define RM_PLATFORM_32 (UINTPTR_MAX == 0xffffffff) #define RM_PLATFORM_64 (UINTPTR_MAX == 0xffffffffffffffff) #ifdef __APPLE__ # ifdef __MACH__ # define RM_IS_APPLE 1 # endif #endif #ifdef __CYGWIN__ # define RM_IS_CYGWIN 1 #endif #include /* Printf formatting for large integers */ #include #define RM_GETTEXT_PACKAGE "rmlint" #if HAVE_LIBINTL # define _(String) gettext (String) # define gettext_noop(String) String # define N_(String) gettext_noop (String) # include #else # define _(String) (String) # define gettext_noop(String) String # define N_(String) gettext_noop (String) #endif typedef guint64 RmOff; /* Stupid macros to make printing error lines easier */ #define rm_log_error_prefix() \ rm_log_error(RED); \ rm_log_error(_("ERROR")); \ rm_log_error(": "RESET); \ #define rm_log_warning_prefix() \ rm_log_warning(YELLOW); \ rm_log_warning(_("WARNING")); \ rm_log_warning(": "RESET); \ #define rm_log_info_prefix() \ rm_log_warning(GREEN); \ rm_log_warning(_("INFO")); \ rm_log_warning(": "RESET); \ #define rm_log_debug_prefix() \ rm_log_debug(BLUE); \ rm_log_debug(_("DEBUG")); \ rm_log_debug(": "RESET); \ /////////////// #define rm_log_error_line(...) \ rm_log_error_prefix() \ rm_log_error(__VA_ARGS__); \ rm_log_error("\n"); \ #define rm_log_warning_line(...) \ rm_log_warning_prefix() \ rm_log_warning(__VA_ARGS__); \ rm_log_warning("\n"); \ #define rm_log_info_line(...) \ rm_log_info_prefix() \ rm_log_warning(__VA_ARGS__); \ rm_log_warning("\n"); \ #define rm_log_debug_line(...) \ rm_log_debug_prefix() \ rm_log_debug(__VA_ARGS__); \ rm_log_debug("\n"); \ /* Domain for reporting errors. Needed by GOptions */ #define RM_ERROR_QUARK (g_quark_from_static_string("rmlint")) #define rm_assert_gentle(cond) \ if(!(cond)) {{ \ rm_log_error_line("BUG: Assertion failed at `%s@%d`: %s", __FILE__, __LINE__, #cond); \ rm_log_error_line(" Will try to continue in 2 seconds. Expect crashes."); \ g_usleep(2 * 1000 * 1000); \ }} #define RM_NOT_REACHED (0) #define rm_assert_gentle_not_reached() rm_assert_gentle(RM_NOT_REACHED) #endif rmlint-2.6.1/lib/file.c000066400000000000000000000173071312046612000146610ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint */ #include "file.h" #include "session.h" #include "utilities.h" #include #include #include #include RmFile *rm_file_new(struct RmSession *session, const char *path, RmStat *statp, RmLintType type, bool is_ppath, unsigned path_index, short depth) { RmCfg *cfg = session->cfg; RmOff actual_file_size = statp->st_size; RmOff start_seek = 0; /* Allow an actual file size of 0 for empty files */ if(actual_file_size != 0) { if(cfg->use_absolute_start_offset) { start_seek = cfg->skip_start_offset; if(cfg->skip_start_offset >= actual_file_size) { return NULL; } } else { start_seek = cfg->skip_start_factor * actual_file_size; if((int)(actual_file_size * cfg->skip_end_factor) == 0) { return NULL; } if(start_seek >= actual_file_size) { return NULL; } } } RmFile *self = g_slice_new0(RmFile); self->session = session; rm_file_set_path(self, (char *)path); self->depth = depth; self->path_depth = rm_util_path_depth(path); self->file_size = 0; self->actual_file_size = 0; self->inode = statp->st_ino; self->dev = statp->st_dev; self->mtime = rm_sys_stat_mtime_float(statp); self->is_new = (self->mtime >= cfg->min_mtime); if(type == RM_LINT_TYPE_DUPE_CANDIDATE) { if(cfg->use_absolute_end_offset) { self->file_size = CLAMP(actual_file_size, 1, cfg->skip_end_offset); } else { self->file_size = actual_file_size * cfg->skip_end_factor; } /* Check if the actual slice the file will be > 0; we don't want empty files in shredder */ if((self->file_size - start_seek) == 0 && actual_file_size != 0) { return NULL; } self->actual_file_size = actual_file_size; } self->hash_offset = start_seek; self->lint_type = type; self->is_prefd = is_ppath; self->is_original = false; self->is_symlink = false; self->path_index = path_index; self->outer_link_count = -1; return self; } void rm_file_set_path(RmFile *file, char *path) { file->folder = rm_trie_insert(&file->session->cfg->file_trie, path, NULL); } void rm_file_build_path(RmFile *file, char *buf) { rm_assert_gentle(file); rm_trie_build_path(&file->session->cfg->file_trie, file->folder, buf, PATH_MAX); } void rm_file_destroy(RmFile *file) { if(file->hardlinks) { g_queue_remove(file->hardlinks, file); if(file->hardlinks->length == 0) { g_queue_free(file->hardlinks); } } if(file->ext_cksum) { g_free(file->ext_cksum); } if(file->free_digest) { rm_digest_free(file->digest); } g_slice_free(RmFile, file); } static const char *LINT_TYPES[] = {[RM_LINT_TYPE_UNKNOWN] = "", [RM_LINT_TYPE_EMPTY_DIR] = "emptydir", [RM_LINT_TYPE_NONSTRIPPED] = "nonstripped", [RM_LINT_TYPE_BADLINK] = "badlink", [RM_LINT_TYPE_BADUID] = "baduid", [RM_LINT_TYPE_BADGID] = "badgid", [RM_LINT_TYPE_BADUGID] = "badugid", [RM_LINT_TYPE_EMPTY_FILE] = "emptyfile", [RM_LINT_TYPE_DUPE_CANDIDATE] = "duplicate_file", [RM_LINT_TYPE_DUPE_DIR_CANDIDATE] = "duplicate_dir", [RM_LINT_TYPE_UNIQUE_FILE] = "unfinished_cksum"}; /* TODO: rename 'unfinished_cksum; to 'unique_file' and update nosetests accordingly */ const char *rm_file_lint_type_to_string(RmLintType type) { return LINT_TYPES[MIN(type, sizeof(LINT_TYPES) / sizeof(const char *))]; } RmLintType rm_file_string_to_lint_type(const char *type) { const int N = sizeof(LINT_TYPES) / sizeof(const char *); for(int i = 0; i < N; ++i) { if(g_strcmp0(type, LINT_TYPES[i]) == 0) { return (RmLintType)i; } } return RM_LINT_TYPE_UNKNOWN; } gint rm_file_basenames_cmp(const RmFile *file_a, const RmFile *file_b) { return g_ascii_strcasecmp(file_a->folder->basename, file_b->folder->basename); } void rm_file_hardlink_add(RmFile *head, RmFile *link) { if(!head->hardlinks) { head->hardlinks = g_queue_new(); } link->hardlinks = head->hardlinks; g_queue_push_tail(head->hardlinks, link); } static gint rm_file_foreach_hardlink(RmFile *f, RmRFunc func, gpointer user_data) { if(!f->hardlinks) { return func(f, user_data); } gint result = 0; for(GList *iter = f->hardlinks->head; iter; iter = iter->next) { result += func(iter->data, user_data); } return result; } void rm_file_cluster_add(RmFile *host, RmFile *guest) { rm_assert_gentle(!guest->cluster || host == guest); if(!host->cluster) { host->cluster = g_queue_new(); if(guest != host) { rm_file_cluster_add(host, host); } } guest->cluster = host->cluster; g_queue_push_tail(host->cluster, guest); } void rm_file_cluster_remove(RmFile *file) { rm_assert_gentle(file->cluster); g_queue_remove(file->cluster, file); if(file->cluster->length == 0) { g_queue_free(file->cluster); } file->cluster = NULL; } gint rm_file_foreach(RmFile *f, RmRFunc func, gpointer user_data) { if(!f->cluster) { return rm_file_foreach_hardlink(f, func, user_data); } gint result = 0; for(GList *iter = f->cluster->head; iter; iter = iter->next) { result += rm_file_foreach_hardlink(iter->data, func, user_data); } return result; } enum RmFileCountType { RM_FILE_COUNT_FILES, RM_FILE_COUNT_PREFD, RM_FILE_COUNT_NPREFD, RM_FILE_COUNT_NEW, }; static gint rm_file_count(RmFile *file, gint type) { switch(type) { case RM_FILE_COUNT_FILES: return 1; case RM_FILE_COUNT_PREFD: return file->is_prefd; case RM_FILE_COUNT_NPREFD: return !file->is_prefd; case RM_FILE_COUNT_NEW: return file->is_new; default: rm_assert_gentle(FALSE); return 0; } } gint rm_file_n_files(RmFile *file) { return rm_file_foreach(file, (RmRFunc)rm_file_count, GINT_TO_POINTER(RM_FILE_COUNT_FILES)); } gint rm_file_n_new(RmFile *file) { return rm_file_foreach(file, (RmRFunc)rm_file_count, GINT_TO_POINTER(RM_FILE_COUNT_NEW)); } gint rm_file_n_prefd(RmFile *file) { return rm_file_foreach(file, (RmRFunc)rm_file_count, GINT_TO_POINTER(RM_FILE_COUNT_PREFD)); } gint rm_file_n_nprefd(RmFile *file) { return rm_file_foreach(file, (RmRFunc)rm_file_count, GINT_TO_POINTER(RM_FILE_COUNT_NPREFD)); } rmlint-2.6.1/lib/file.h000066400000000000000000000250201312046612000146550ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * **/ #ifndef RM_FILE_H #define RM_FILE_H #include #include #include #include "cfg.h" #include "pathtricia.h" #include "utilities.h" typedef enum RmFileState { /* File still processing */ RM_FILE_STATE_NORMAL, /* File can be ignored, has a unique hash, gets read failure * or is elsewhise not noteworthy. */ RM_FILE_STATE_IGNORE, } RmFileState; /* types of lint */ typedef enum RmLintType { RM_LINT_TYPE_UNKNOWN = 0, RM_LINT_TYPE_BADLINK, RM_LINT_TYPE_EMPTY_DIR, RM_LINT_TYPE_EMPTY_FILE, RM_LINT_TYPE_NONSTRIPPED, RM_LINT_TYPE_BADUID, RM_LINT_TYPE_BADGID, RM_LINT_TYPE_BADUGID, /* note: this needs to be after all non-duplicate lint type item in list */ RM_LINT_TYPE_DUPE_CANDIDATE, /* Directories are no "normal" RmFiles, they are actual * different structs that hide themselves as RmFile to * be compatible with the output system. * * Also they only appear at the very end of processing temporarily. * So it does not matter if this type is behind RM_LINT_TYPE_DUPE_CANDIDATE. */ RM_LINT_TYPE_DUPE_DIR_CANDIDATE, /* Special type for files that got sieved out during shreddering. * if cfg->write_unfinished is true, those may be included in the * json/xattr/csv output. * * This is mainly useful for caching. */ RM_LINT_TYPE_UNIQUE_FILE, } RmLintType; struct RmSession; typedef guint16 RmPatternBitmask; /* Get the number of usable fields in a RmPatternBitmask */ #define RM_PATTERN_N_MAX (sizeof(RmPatternBitmask) * 8 / 2) /* Check if a field has been set already in the RmPatternBitmask */ #define RM_PATTERN_IS_CACHED(mask, idx) (!!((*mask) & (1 << (idx + RM_PATTERN_N_MAX)))) /* If the field was set, this will retrieve the previous result */ #define RM_PATTERN_GET_CACHED(mask, idx) (!!((*mask) & (1 << idx))) /* Set a field and remember that it was set. */ #define RM_PATTERN_SET_CACHED(mask, idx, match) \ ((*mask) |= ((!!match << idx) | (1 << (idx + RM_PATTERN_N_MAX)))) /** * RmFile structure; used by pretty much all rmlint modules. */ typedef struct RmFile { /* file path lookup ID (if using swap table) * */ RmOff path_id; /* file folder as node of folder n-ary tree * */ RmNode *folder; /* File modification date/time * */ gdouble mtime; /* Depth of the file, relative to the path it was found in. */ gint16 depth; /* Link count (number of hardlinks + 1) of the file as told by stat() * This is used for the 'hH'-sortcriteria. */ gint16 link_count; /* Hardlinks to this file *outside* of the paths that rmlint traversed. * This is used for the 'oO'-sortcriteria. * */ gint16 outer_link_count; /* Depth of the path of this file. */ guint8 path_depth; /* The inode and device of this file. * Used to filter double paths and hardlinks. */ ino_t inode; dev_t dev; struct _RmMDSDevice *disk; /* True if the file is a symlink * shredder needs to know this, since the metadata might be about the * symlink file itself, while open() returns the pointed file. * Chaos would break out in this case. */ bool is_symlink : 1; /* True if this file is in one of the preferred paths, * i.e. paths prefixed with // on the commandline. * In the case of hardlink clusters, the head of the cluster * contains information about the preferred path status of the other * files in the cluster */ bool is_prefd : 1; /* In the late processing, one file of a group may be set as original file. * With this flag we indicate this. */ bool is_original : 1; /* True if this file, or at least one of its embedded hardlinks, are newer * than cfg->min_mtime */ bool is_new : 1; /* True if this file, or at least one its path's componennts, is a hidden * file. This excludes files above the directory rmlint was started on. * This is relevant to --partial-hidden. */ bool is_hidden : 1; /* If false rm_file_destroy will not destroy the digest. This is useful * for sharing the digest of duplicates in a group. */ bool free_digest : 1; /* If true, the file will be request to be pre-cached on the next read */ bool fadvise_requested : 1; /* Set to true if rm_shred_process_file() for hash increment */ bool shredder_waiting : 1; /* Set to true if file belongs to a subvolume-capable filesystem eg btrfs */ bool is_on_subvol_fs : 1; /* The pre-matched file cluster that this file belongs to (or NULL) */ GQueue *cluster; /* pointer to hardlinks collection (or NULL); one list shared between hardlink twin * set */ GQueue *hardlinks; /* The index of the path this file belongs to. */ RmOff path_index; /* Filesize in bytes; this may be less than actual_file_size, * since -q / -Q may limit this number. */ RmOff file_size; /* Filesize of a file when it was traversed by rmlint. */ RmOff actual_file_size; /* How many bytes were already read. * (lower or equal file_size) */ RmOff hash_offset; /* Flag for when we do intermediate steps within a hash increment because the file is * fragmented */ RmFileState status; /* digest of this file updated on every hash iteration. Use a pointer so we can share * with RmShredGroup */ RmDigest *digest; /* digest of this file read from file extended attributes (previously written by * rmlint) */ char *ext_cksum; /* Those are never used at the same time. * disk_offset is used during computation, * twin_count during output. */ union { /* Count of twins of this file. * (i.e. length of group of this file) */ gint64 twin_count; /* Disk fiemap / physical offset at start of file (tests mapping subsequent * file fragements did not deliver any significant additionl benefit) */ RmOff disk_offset; }; /* What kind of lint this file is. */ RmLintType lint_type; /* Link to the RmShredGroup that the file currently belongs to */ struct RmShredGroup *shred_group; /* Required for rm_file_equal and for RM_DEFINE_PATH */ const struct RmSession *session; struct RmSignal *signal; /* Caching bitmasks to ensure each file is only matched once * for every GRegex combination. * See also preprocess.c for more explanation. * */ RmPatternBitmask pattern_bitmask_path; RmPatternBitmask pattern_bitmask_basename; } RmFile; /* Defines a path variable containing the file's path */ #define RM_DEFINE_PATH_IF_NEEDED(file, needed) \ char file##_path[PATH_MAX]; \ if(needed) { \ rm_file_build_path((RmFile *)file, file##_path); \ } /* Fill path always */ #define RM_DEFINE_PATH(file) RM_DEFINE_PATH_IF_NEEDED(file, true) #define RM_FILE_HARDLINK_HEAD(file) \ (file->hardlinks ? (RmFile *)file->hardlinks->head->data : NULL) #define RM_FILE_IS_CLUSTERED(file) (file->cluster && file != file->cluster->head->data) /* for lint counting, we only count the first hardlink: */ #define RM_FILE_IS_HARDLINK(file) (file->hardlinks && file != RM_FILE_HARDLINK_HEAD(file)) #define RM_FILE_HARDLINK_COUNT(file) ((file->hardlinks) ? file->hardlinks->length - 1 : 0) #define RM_FILE_HAS_HARDLINKS(file) \ (file->hardlinks && file == RM_FILE_HARDLINK_HEAD(file)) #define RM_FILE_CLUSTER_HEAD(file) \ ((file->cluster) ? (RmFile *)file->cluster->head->data : NULL) #define RM_FILE_INODE_COUNT(file) ((file->cluster) ? file->cluster->length : 1) #define RM_FILE_HAS_PREFD(file) (!!rm_file_n_prefd(file)) #define RM_FILE_HAS_NPREFD(file) (!!rm_file_n_nprefd(file)) /** * @brief Create a new RmFile handle. */ RmFile *rm_file_new(struct RmSession *session, const char *path, RmStat *statp, RmLintType type, bool is_ppath, unsigned pnum, short depth); /** * @brief Deallocate the memory allocated by rm_file_new. * @note does not deallocate file->digest since this is handled by shredder.c */ void rm_file_destroy(RmFile *file); /** * @brief add link to head's hardlinks (create hardlinks queue if necessary) */ void rm_file_hardlink_add(RmFile *head, RmFile *link); /** * @brief add guest to host's cluster (create cluster if necessary) */ void rm_file_cluster_add(RmFile *host, RmFile *guest); void rm_file_cluster_remove(RmFile *file); /** * @brief call func(file) for each clustered file in f including f * retval: sum of returned values from func() */ gint rm_file_foreach(RmFile *f, RmRFunc func, gpointer user_data); /** * @brief count number of files of various type including clustered files */ gint rm_file_n_files(RmFile *file); gint rm_file_n_new(RmFile *file); gint rm_file_n_prefd(RmFile *file); gint rm_file_n_nprefd(RmFile *file); /** * @brief Convert RmLintType to a human readable short string. */ const char *rm_file_lint_type_to_string(RmLintType type); /** * @brief Convert a string to a RmLintType * * @param type a string description. * * @return a valid lint type or RM_LINT_TYPE_UNKNOWN */ RmLintType rm_file_string_to_lint_type(const char *type); /** * @brief Set a path to the file. Normally, you should never do this since the * path is immutable. */ void rm_file_set_path(RmFile *file, char *path); /** * @brief Internal helper function for RM_DEFINE_PATH using folder tree and basename. */ void rm_file_build_path(RmFile *file, char *buf); /** * @brief Compare basenames of two files * @retval true if basenames match. */ gint rm_file_basenames_cmp(const RmFile *file_a, const RmFile *file_b); #endif /* end of include guard */ rmlint-2.6.1/lib/formats.c000066400000000000000000000354311312046612000154130ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include #include #include #include #include "file.h" #include "formats.h" /* A group of output files. * These are only created when caching to the end of the run is requested. * Otherwise, files are directly outputed and not stored in groups. */ typedef struct RmFmtGroup { GQueue files; int index; } RmFmtGroup; static RmFmtGroup *rm_fmt_group_new(void) { RmFmtGroup *self = g_slice_new(RmFmtGroup); g_queue_init(&self->files); return self; } static void rm_fmt_group_destroy(RmFmtTable *self, RmFmtGroup *group) { RmCfg *cfg = self->session->cfg; /* Special case: treemerge.c has to manage memory itself, * since it omits some files or may even print them twice. */ bool needs_free = true; if(cfg->merge_directories) { needs_free = false; } /* Unique files are not fed to treemerge.c, * therefore we need to free them here. * Can't free them earlier, since '-o uniques' still need * to output them if requested. * */ if(needs_free == false && group->files.length == 1) { RmFile *file = (RmFile *)group->files.head->data; if(file && file->lint_type == RM_LINT_TYPE_UNIQUE_FILE) { needs_free = true; } } if(needs_free) { for(GList *iter = group->files.head; iter; iter = iter->next) { RmFile *file = iter->data; rm_file_destroy(file); } } g_queue_clear(&group->files); g_slice_free(RmFmtGroup, group); } static void rm_fmt_handler_free(RmFmtHandler *handler) { rm_assert_gentle(handler); g_free(handler->path); g_free(handler); } RmFmtTable *rm_fmt_open(RmSession *session) { RmFmtTable *self = g_slice_new0(RmFmtTable); self->name_to_handler = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL); self->path_to_handler = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL); /* Set of registered handler names */ self->handler_set = g_hash_table_new(g_str_hash, g_str_equal); self->handler_to_file = g_hash_table_new_full(NULL, NULL, (GDestroyNotify)rm_fmt_handler_free, NULL); self->config = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)g_hash_table_unref); self->handler_order = g_queue_new(); self->session = session; g_queue_init(&self->groups); g_rec_mutex_init(&self->state_mtx); extern RmFmtHandler *PROGRESS_HANDLER; rm_fmt_register(self, PROGRESS_HANDLER); extern RmFmtHandler *CSV_HANDLER; rm_fmt_register(self, CSV_HANDLER); extern RmFmtHandler *PRETTY_HANDLER; rm_fmt_register(self, PRETTY_HANDLER); extern RmFmtHandler *SH_SCRIPT_HANDLER; rm_fmt_register(self, SH_SCRIPT_HANDLER); extern RmFmtHandler *SUMMARY_HANDLER; rm_fmt_register(self, SUMMARY_HANDLER); extern RmFmtHandler *TIMESTAMP_HANDLER; rm_fmt_register(self, TIMESTAMP_HANDLER); extern RmFmtHandler *JSON_HANDLER; rm_fmt_register(self, JSON_HANDLER); extern RmFmtHandler *PY_HANDLER; rm_fmt_register(self, PY_HANDLER); extern RmFmtHandler *FDUPES_HANDLER; rm_fmt_register(self, FDUPES_HANDLER); extern RmFmtHandler *UNIQUES_HANDLER; rm_fmt_register(self, UNIQUES_HANDLER); extern RmFmtHandler *NULL_HANDLER; rm_fmt_register(self, NULL_HANDLER); extern RmFmtHandler *STATS_HANDLER; rm_fmt_register(self, STATS_HANDLER); extern RmFmtHandler *EQUAL_HANDLER; rm_fmt_register(self, EQUAL_HANDLER); return self; } int rm_fmt_len(RmFmtTable *self) { if(self == NULL) { return -1; } else { return g_hash_table_size(self->handler_to_file); } } bool rm_fmt_is_valid_key(RmFmtTable *self, const char *formatter, const char *key) { RmFmtHandler *handler = g_hash_table_lookup(self->name_to_handler, formatter); if(handler == NULL) { return false; } for(int i = 0; handler->valid_keys[i]; ++i) { if(g_strcmp0(handler->valid_keys[i], key) == 0) { return true; } } return false; } void rm_fmt_clear(RmFmtTable *self) { if(rm_fmt_len(self) <= 0) { return; } g_hash_table_remove_all(self->handler_set); g_hash_table_remove_all(self->handler_to_file); g_hash_table_remove_all(self->path_to_handler); g_hash_table_remove_all(self->config); g_queue_clear(self->handler_order); } void rm_fmt_register(RmFmtTable *self, RmFmtHandler *handler) { g_hash_table_insert(self->name_to_handler, (char *)handler->name, handler); g_mutex_init(&handler->print_mtx); } #define RM_FMT_FOR_EACH_HANDLER_BEGIN(self) \ for(GList *iter = self->handler_order->head; iter; iter = iter->next) { \ RmFmtHandler *handler = iter->data; \ FILE *file = g_hash_table_lookup(self->handler_to_file, handler); #define RM_FMT_FOR_EACH_HANDLER_END } #define RM_FMT_CALLBACK(func, ...) \ if(func) { \ g_mutex_lock(&handler->print_mtx); \ { \ if(!handler->was_initialized && handler->head) { \ if(handler->head) { \ handler->head(self->session, handler, file); \ } \ handler->was_initialized = true; \ } \ func(self->session, handler, file, ##__VA_ARGS__); \ } \ g_mutex_unlock(&handler->print_mtx); \ } bool rm_fmt_add(RmFmtTable *self, const char *handler_name, const char *path) { RmFmtHandler *new_handler = g_hash_table_lookup(self->name_to_handler, handler_name); if(new_handler == NULL) { rm_log_warning_line(_("No such new_handler with this name: %s"), handler_name); return false; } g_return_val_if_fail(path, false); FILE *file_handle = NULL; bool needs_full_path = false; bool file_existed_already = false; if(g_strcmp0(path, "stdout") == 0) { file_handle = stdout; file_existed_already = true; } else if(g_strcmp0(path, "stderr") == 0) { file_handle = stderr; file_existed_already = true; } else if(g_strcmp0(path, "stdin") == 0) { /* I bet someone finds a use for this :-) */ file_handle = stdin; file_existed_already = true; } else { needs_full_path = true; if(access(path, F_OK) == 0) { file_existed_already = true; } file_handle = fopen(path, "w"); } if(file_handle == NULL) { rm_log_warning_line(_("Unable to open file for writing: %s"), path); return false; } /* Make a copy of the handler so we can more than one per handler type. * Plus we have to set the handler specific path. */ RmFmtHandler *new_handler_copy = g_malloc0(new_handler->size); memcpy(new_handler_copy, new_handler, new_handler->size); g_mutex_init(&new_handler->print_mtx); new_handler_copy->file_existed_already = file_existed_already; if(needs_full_path == false) { new_handler_copy->path = g_strdup(path); } else { /* See this issue for more information: * https://github.com/sahib/rmlint/issues/212 * * Anonymous pipes will fail realpath(), this means that actually * broken paths may fail later with this fix. The path for * pipes is for example "/proc/self/fd/12". * */ char *full_path = realpath(path, NULL); if(full_path != NULL) { new_handler_copy->path = full_path; } else { new_handler_copy->path = g_strdup(path); } } g_hash_table_insert(self->handler_to_file, new_handler_copy, file_handle); g_hash_table_insert(self->path_to_handler, new_handler_copy->path, new_handler); g_hash_table_add(self->handler_set, (char *)new_handler_copy->name); g_queue_push_tail(self->handler_order, new_handler_copy); return true; } static void rm_fmt_write_impl(RmFile *result, RmFmtTable *self) { RM_FMT_FOR_EACH_HANDLER_BEGIN(self) { RM_FMT_CALLBACK(handler->elem, result); } RM_FMT_FOR_EACH_HANDLER_END } static gint rm_fmt_rank_size(const RmFmtGroup *ga, const RmFmtGroup *gb) { RmFile *fa = ga->files.head->data; RmFile *fb = gb->files.head->data; RmOff sa = fa->actual_file_size * (ga->files.length - 1); RmOff sb = fb->actual_file_size * (gb->files.length - 1); /* Better do not compare big unsigneds via a - b... */ return SIGN_DIFF(sa, sb); } static gint rm_fmt_rank(const RmFmtGroup *ga, const RmFmtGroup *gb, RmFmtTable *self) { const char *rank_order = self->session->cfg->rank_criteria; RmFile *fa = ga->files.head->data; RmFile *fb = gb->files.head->data; if(fa->lint_type != RM_LINT_TYPE_DUPE_CANDIDATE && fa->lint_type != RM_LINT_TYPE_DUPE_DIR_CANDIDATE) { return -1; } if(fb->lint_type != RM_LINT_TYPE_DUPE_CANDIDATE && fb->lint_type != RM_LINT_TYPE_DUPE_DIR_CANDIDATE) { return +1; } for(int i = 0; rank_order[i]; ++i) { gint r = 0; switch(tolower((unsigned char)rank_order[i])) { case 's': r = rm_fmt_rank_size(ga, gb); break; case 'a': r = strcasecmp(fa->folder->basename, fb->folder->basename); break; case 'm': r = FLOAT_SIGN_DIFF(fa->mtime, fb->mtime, MTIME_TOL); break; case 'p': r = SIGN_DIFF(fa->path_index, fb->path_index); break; case 'n': r = SIGN_DIFF(ga->files.length, gb->files.length); break; case 'o': r = SIGN_DIFF(ga->index, gb->index); break; } if(r != 0) { return isupper((unsigned char)rank_order[i]) ? -r : r; } } return 0; } void rm_fmt_flush(RmFmtTable *self) { RmCfg *cfg = self->session->cfg; if(!cfg->cache_file_structs) { return; } if(*(cfg->rank_criteria)) { g_queue_sort(&self->groups, (GCompareDataFunc)rm_fmt_rank, self); } for(GList *iter = self->groups.head; iter; iter = iter->next) { RmFmtGroup *group = iter->data; g_queue_foreach(&group->files, (GFunc)rm_fmt_write_impl, self); } } void rm_fmt_close(RmFmtTable *self) { for(GList *iter = self->groups.head; iter; iter = iter->next) { RmFmtGroup *group = iter->data; rm_fmt_group_destroy(self, group); } g_queue_clear(&self->groups); RM_FMT_FOR_EACH_HANDLER_BEGIN(self) { RM_FMT_CALLBACK(handler->foot); fclose(file); g_mutex_clear(&handler->print_mtx); } RM_FMT_FOR_EACH_HANDLER_END g_hash_table_unref(self->name_to_handler); g_hash_table_unref(self->handler_to_file); g_hash_table_unref(self->path_to_handler); g_hash_table_unref(self->config); g_hash_table_unref(self->handler_set); g_queue_free(self->handler_order); g_rec_mutex_clear(&self->state_mtx); g_slice_free(RmFmtTable, self); } void rm_fmt_write(RmFile *result, RmFmtTable *self, gint64 twin_count) { bool direct = !(self->session->cfg->cache_file_structs); result->twin_count = twin_count; if(direct) { rm_fmt_write_impl(result, self); } else { if(result->is_original || self->groups.length == 0) { g_queue_push_tail(&self->groups, rm_fmt_group_new()); } RmFmtGroup *group = self->groups.tail->data; group->index = self->groups.length - 1; g_queue_push_tail(&group->files, result); } } void rm_fmt_lock_state(RmFmtTable *self) { g_rec_mutex_lock(&self->state_mtx); } void rm_fmt_unlock_state(RmFmtTable *self) { g_rec_mutex_unlock(&self->state_mtx); } void rm_fmt_set_state(RmFmtTable *self, RmFmtProgressState state) { rm_fmt_lock_state(self); { RM_FMT_FOR_EACH_HANDLER_BEGIN(self) { RM_FMT_CALLBACK(handler->prog, state); } RM_FMT_FOR_EACH_HANDLER_END } rm_fmt_unlock_state(self); } void rm_fmt_set_config_value(RmFmtTable *self, const char *formatter, const char *key, const char *value) { GHashTable *key_to_vals = g_hash_table_lookup(self->config, formatter); if(key_to_vals == NULL) { key_to_vals = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); g_hash_table_insert(self->config, (char *)g_strdup(formatter), key_to_vals); } g_hash_table_insert(key_to_vals, (char *)key, (char *)value); } const char *rm_fmt_get_config_value(RmFmtTable *self, const char *formatter, const char *key) { GHashTable *key_to_vals = g_hash_table_lookup(self->config, formatter); if(key_to_vals == NULL) { return NULL; } return g_hash_table_lookup(key_to_vals, key); } bool rm_fmt_is_a_output(RmFmtTable *self, const char *path) { return g_hash_table_contains(self->path_to_handler, path); } void rm_fmt_get_pair_iter(RmFmtTable *self, GHashTableIter *iter) { g_hash_table_iter_init(iter, self->path_to_handler); } bool rm_fmt_has_formatter(RmFmtTable *self, const char *name) { GHashTableIter iter; char *handler_name = NULL; g_hash_table_iter_init(&iter, self->handler_set); while(g_hash_table_iter_next(&iter, (gpointer *)&handler_name, NULL)) { if(!g_strcmp0(handler_name, name)) { return true; } } return false; } bool rm_fmt_is_stream(_UNUSED RmFmtTable *self, RmFmtHandler *handler) { if(handler->path == NULL || strcmp(handler->path, "stdout") == 0 || strcmp(handler->path, "stderr") == 0 || strcmp(handler->path, "stdin") == 0) { return true; } return access(handler->path, W_OK) == -1; } rmlint-2.6.1/lib/formats.h000066400000000000000000000203071312046612000154140ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #ifndef RM_OUTPUTS_H #define RM_OUTPUTS_H #include #include #include #include "file.h" #include "session.h" //////////////////// // PUBLIC TYPES // //////////////////// /* Current state of rmlint */ typedef enum RmFmtProgressState { RM_PROGRESS_STATE_INIT, RM_PROGRESS_STATE_TRAVERSE, RM_PROGRESS_STATE_PREPROCESS, RM_PROGRESS_STATE_SHREDDER, RM_PROGRESS_STATE_MERGE, RM_PROGRESS_STATE_PRE_SHUTDOWN, RM_PROGRESS_STATE_SUMMARY, RM_PROGRESS_STATE_N } RmFmtProgressState; /* Container and API-endpoint for individual RmFmtHandlers */ typedef struct RmFmtTable { GHashTable *name_to_handler; GHashTable *path_to_handler; GHashTable *handler_to_file; GHashTable *handler_set; GHashTable *config; GQueue *handler_order; GRecMutex state_mtx; RmSession *session; /* Group of RmFiles that will be cached until exit */ GQueue groups; } RmFmtTable; /* Callback definitions */ struct RmFmtHandler; typedef void (*RmFmtHeadCallback)(RmSession *session, struct RmFmtHandler *self, FILE *out); typedef void (*RmFmtFootCallback)(RmSession *session, struct RmFmtHandler *self, FILE *out); typedef void (*RmFmtElemCallback)(RmSession *session, struct RmFmtHandler *self, FILE *out, RmFile *file); typedef void (*RmFmtProgCallback)(RmSession *session, struct RmFmtHandler *self, FILE *out, RmFmtProgressState state); /* Parent "class" for output handlers */ typedef struct RmFmtHandler { /* Name of the Handler */ const char *name; /* Size in bytes of the *real* handler */ const int size; /* Path to which the Handler is pointed or * NULL if it the original template. */ char *path; /* False at beginnging, is set to true once * the head() callback was called, i.e. on the * first write(). Used for lazy init. */ bool was_initialized; /* Set to true (prior to calling head) if * the file of this handler already existed * on disk. */ bool file_existed_already; /* Callbacks, might be NULL */ RmFmtHeadCallback head; RmFmtElemCallback elem; RmFmtProgCallback prog; RmFmtFootCallback foot; /* mutex to protect against parallel calls. * Handlers do not need to care about it. */ GMutex print_mtx; /* A list of valid keys that may be passed to * --config fmt:key. */ const char *valid_keys[32]; } RmFmtHandler; //////////////////// // PUBLIC API // //////////////////// /** * @brief Allocate a new RmFmtTable. * * The table can be used to multiplex a finished RmFile to several output files * with different formats for each. * * @return A newly allocated RmFmtTable. */ RmFmtTable *rm_fmt_open(RmSession *session); /** * @brief Close all open file, but write a footer to them if the handler wants it. */ void rm_fmt_close(RmFmtTable *self); /** * @brief If cfg->cache_file_structs is true, * all files written by rm_fmt_write can * be flushed at once with this function. * * @param self */ void rm_fmt_flush(RmFmtTable *self); /** * @brief Get the number of added formatters. * * @param self The table. * * @return -1 or error, number on success */ int rm_fmt_len(RmFmtTable *self); /** * @brief Clear all previously added formatters. * * @param self table to clear. */ void rm_fmt_clear(RmFmtTable *self); /** * @brief Register a new handle to the table. * * This is only interesting to add new Handlers for new formats. */ void rm_fmt_register(RmFmtTable *self, RmFmtHandler *handler); /** * @brief Register a new handler that handles writing to path when getting input. */ bool rm_fmt_add(RmFmtTable *self, const char *handler_name, const char *path); /** * @brief Make all handlers write a ouput line to their respective file. * * The actual content of the line (or even lines) is subject to the * implementation of the handler - it might also do just nothing. * @note argument order is to enable calling via g_queue_foreach() */ void rm_fmt_write(RmFile *result, RmFmtTable *self, gint64 twin_count); /** * @brief Change the state of rmlint. * * Some handlers might require this in order to print a progress indicator. * Calling the same state several times is allowed in order to update numbers * * Callers should make sure that this function is not called on every increment, * as it needs to iterate over all handlers: */ void rm_fmt_set_state(RmFmtTable *self, RmFmtProgressState state); /** * @brief Convert state to a human readable string. Static storage, do not free. */ const char *rm_fmt_progress_to_string(RmFmtProgressState state); /** * @brief Set a configuration value. Overwrites previously set. * * @param formatter Name of the formatter to configure. * @param key The key to set. * @param value The value to set. */ void rm_fmt_set_config_value(RmFmtTable *self, const char *formatter, const char *key, const char *value); /** * @brief Get a configuration value. * * @return NULL if not foumd, the value for this key. Memory owned by RmFmtTable. */ const char *rm_fmt_get_config_value(RmFmtTable *self, const char *formatter, const char *key); /** * @brief Check if the formatter "formatter" has a config value called key. * * @return true if yes, false otherwise. */ bool rm_fmt_is_valid_key(RmFmtTable *self, const char *formatter, const char *key); /** * @brief Check if path is a set output of RmFmtTable. * * @return true if it is. */ bool rm_fmt_is_a_output(RmFmtTable *self, const char *path); /** * @brief Initialize a GHashTableIter with the pairs of registerd * paths/handlers. * * Call g_hash_table_iter_next() to retrieve the values. * * Key is the path, value the handler name. */ void rm_fmt_get_pair_iter(RmFmtTable *self, GHashTableIter *iter); /** * @brief Lock the state mutex. * * Use this to threadsafely update statistic counters. */ void rm_fmt_lock_state(RmFmtTable *self); /** * @brief Pendant to rm_fmt_lock_state() */ void rm_fmt_unlock_state(RmFmtTable *self); /** * @brief Check if a certain handler is writting to a stream. */ bool rm_fmt_is_stream(RmFmtTable *self, RmFmtHandler *handler); /** * @brief Check if there is at least one formatter with `name`. */ bool rm_fmt_has_formatter(RmFmtTable *self, const char *name); /** * You can use this template for implementing new RmFmtHandlers. * All callbacks are not required to be implemented, leave them to NULL if * you do not implement them: typedef struct RmFmtHandlerProgress { RmFmtHandler parent; guint8 percent; } RmFmtHandlerProgress; static void rm_fmt_head(RmSession *session, RmFmtHandler *parent, FILE *out) { } static void rm_fmt_elem(RmSession *session, RmFmtHandler *parent, FILE *out, RmFile *file) { } static void rm_fmt_prog(RmSession *session, RmFmtHandler *parent, FILE *out, RmFmtProgressState state) { } static void rm_fmt_foot(RmSession *session, RmFmtHandler *parent, FILE *out) { } static RmFmtHandlerProgress PROGRESS_HANDLER = { .parent = { .size = sizeof(PROGRESS_HANDLER), .name = "progressbar", .head = rm_fmt_head, .elem = rm_fmt_elem, .prog = rm_fmt_prog, .foot = rm_fmt_foot }, .percent = 0 }; */ #endif /* end of include guard */ rmlint-2.6.1/lib/formats/000077500000000000000000000000001312046612000152415ustar00rootroot00000000000000rmlint-2.6.1/lib/formats/_equal.c000066400000000000000000000103231312046612000166520ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" #include "../utilities.h" #include "../preprocess.h" #include #include #include typedef struct RmFmtHandlerEqual { /* must be first */ RmFmtHandler parent; /* Checksum of the last checked file (or NULL) */ char *last_checksum; /* Set to true once a mismatch (colliding cksum) was found */ bool mismatch_found; /* session->cfg->paths turned to a set for efficient member test */ GHashTable *input_paths; } RmFmtHandlerEqual; ///////////////////////// // ACTUAL CALLBACKS // ///////////////////////// static void rm_fmt_report_failure(RmFmtHandlerEqual *self, RmSession *session) { session->equal_exit_code = EXIT_FAILURE; self->mismatch_found = true; rm_session_abort(); } static void rm_fmt_head(RmSession *session, RmFmtHandler *parent, _UNUSED FILE *out) { GHashTable *input_paths = g_hash_table_new(g_str_hash, g_str_equal); GSList *paths = session->cfg->paths; for(GSList *iter = paths; iter; iter = iter->next) { RmPath *path = iter->data; g_hash_table_add(input_paths, path->path); } RmFmtHandlerEqual *self = (RmFmtHandlerEqual *)parent; self->input_paths = input_paths; } static void rm_fmt_elem( RmSession *session, RmFmtHandler *self_ref, _UNUSED FILE *out, RmFile *file ) { RmFmtHandlerEqual *self = (RmFmtHandlerEqual *)self_ref; /* No need to check anymore, it's not equal. */ if(self->mismatch_found) { rm_fmt_report_failure(self, session); return; } if(file->digest == NULL) { /* We do not want to handle unique files here. * If it is unique, it will be not equal... * */ rm_fmt_report_failure(self, session); return; } RM_DEFINE_PATH(file); if(g_hash_table_contains(self->input_paths, file_path) == false) { /* Ignore; this path was not given explicitly on the cmdline */ return; } size_t cksum_bytes = rm_digest_get_bytes(file->digest) * 2 + 1; char *checksum = g_malloc0(cksum_bytes); memset(checksum, '0', cksum_bytes); checksum[cksum_bytes - 1] = 0; rm_digest_hexstring(file->digest, checksum); if(self->last_checksum != NULL) { if(!strncmp(checksum, self->last_checksum, cksum_bytes)) { session->equal_exit_code = EXIT_SUCCESS; } else { rm_fmt_report_failure(self, session); rm_log_debug_line( "First differing items:\n\t%s (%s)\n\tlast checksum: (%s)", file_path, checksum, self->last_checksum ); } g_free(self->last_checksum); } self->last_checksum = checksum; } static void rm_fmt_foot( _UNUSED RmSession *session, RmFmtHandler *parent, _UNUSED FILE *out) { RmFmtHandlerEqual *self = (RmFmtHandlerEqual *)parent; g_hash_table_unref(self->input_paths); g_free(self->last_checksum); } static RmFmtHandlerEqual EQUAL_HANDLE_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(EQUAL_HANDLE_IMPL), .name = "_equal", .head = rm_fmt_head, .elem = rm_fmt_elem, .prog = NULL, .foot = rm_fmt_foot, .valid_keys = {NULL}, }, .last_checksum = NULL, .mismatch_found = false }; RmFmtHandler *EQUAL_HANDLER = (RmFmtHandler *) &EQUAL_HANDLE_IMPL; rmlint-2.6.1/lib/formats/csv.c000066400000000000000000000055241312046612000162060ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" #include "../utilities.h" #include #include #include #define CSV_SEP "," #define CSV_QUOTE "\"" #define CSV_FORMAT \ "%s" CSV_SEP "" CSV_QUOTE "%s" CSV_QUOTE "" CSV_SEP "%" LLU "" CSV_SEP "%s\n" typedef struct RmFmtHandlerCSV { /* must be first */ RmFmtHandler parent; } RmFmtHandlerProgress; static void rm_fmt_head(_UNUSED RmSession *session, _UNUSED RmFmtHandler *parent, FILE *out) { if(rm_fmt_get_config_value(session->formats, "csv", "no_header")) { return; } fprintf(out, "%s%s%s%s%s%s%s\n", "type", CSV_SEP, "path", CSV_SEP, "size", CSV_SEP, "checksum"); } static void rm_fmt_elem(_UNUSED RmSession *session, _UNUSED RmFmtHandler *parent, FILE *out, RmFile *file) { if(file->lint_type == RM_LINT_TYPE_UNIQUE_FILE && (!file->digest || !session->cfg->write_unfinished)) { /* unique file with no partial checksum */ return; } char checksum_str[rm_digest_get_bytes(file->digest) * 2 + 1]; memset(checksum_str, '0', sizeof(checksum_str)); checksum_str[sizeof(checksum_str) - 1] = 0; if(file->digest) { rm_digest_hexstring(file->digest, checksum_str); } /* Escape quotes in the path (refer http://tools.ietf.org/html/rfc4180, item 6)*/ RM_DEFINE_PATH(file); char *clean_path = rm_util_strsub(file_path, CSV_QUOTE, CSV_QUOTE "" CSV_QUOTE); fprintf(out, CSV_FORMAT, rm_file_lint_type_to_string(file->lint_type), clean_path, file->actual_file_size, checksum_str); g_free(clean_path); } static RmFmtHandlerProgress CSV_HANDLER_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(CSV_HANDLER_IMPL), .name = "csv", .head = rm_fmt_head, .elem = rm_fmt_elem, .prog = NULL, .foot = NULL, .valid_keys = {"no_header", NULL}, }}; RmFmtHandler *CSV_HANDLER = (RmFmtHandler *)&CSV_HANDLER_IMPL; rmlint-2.6.1/lib/formats/fdupes.c000066400000000000000000000070321312046612000166750ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" #include #include #include typedef struct RmFmtHandlerFdupes { /* must be first */ RmFmtHandler parent; /* Do not print original (fdupes emulation) */ bool omit_first_line; /* Do not print newlines between files */ bool use_same_line; } RmFmtHandlerFdupes; static void rm_fmt_elem(_UNUSED RmSession *session, _UNUSED RmFmtHandler *parent, _UNUSED FILE *out, RmFile *file) { RmFmtHandlerFdupes *self = (RmFmtHandlerFdupes *)parent; if(file->lint_type == RM_LINT_TYPE_UNIQUE_FILE) { /* we do not want to list unfinished files. */ return; } char line[512 + 32]; memset(line, 0, sizeof(line)); RM_DEFINE_PATH(file); switch(file->lint_type) { case RM_LINT_TYPE_DUPE_DIR_CANDIDATE: case RM_LINT_TYPE_DUPE_CANDIDATE: if(self->omit_first_line && file->is_original) { strcpy(line, "\n"); } else { g_snprintf(line, sizeof(line), "%s%s%s%s%c", (file->is_original) ? "\n" : "", (file->is_original) ? MAYBE_GREEN(out, session) : "", file_path, (file->is_original) ? MAYBE_RESET(out, session) : "", (self->use_same_line) ? ' ' : '\n'); } break; default: g_snprintf(line, sizeof(line), "%s%s%s%c", MAYBE_BLUE(out, session), file_path, MAYBE_RESET(out, session), (self->use_same_line) ? ' ' : '\n'); break; } fputs(line, out); } static void rm_fmt_prog(RmSession *session, _UNUSED RmFmtHandler *parent, FILE *out, RmFmtProgressState state) { RmFmtHandlerFdupes *self = (RmFmtHandlerFdupes *)parent; if(state == RM_PROGRESS_STATE_INIT) { session->cfg->cache_file_structs = true; self->omit_first_line = (rm_fmt_get_config_value(session->formats, "fdupes", "omitfirst") != NULL); self->use_same_line = (rm_fmt_get_config_value(session->formats, "fdupes", "sameline") != NULL); } if(state == RM_PROGRESS_STATE_PRE_SHUTDOWN) { fprintf(out, "\n"); } } static RmFmtHandlerFdupes FDUPES_HANDLER_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(FDUPES_HANDLER_IMPL), .name = "fdupes", .head = NULL, .elem = rm_fmt_elem, .prog = rm_fmt_prog, .foot = NULL, .valid_keys = {"omitfirst", "sameline", NULL}, }, .use_same_line = false, .omit_first_line = false }; RmFmtHandler *FDUPES_HANDLER = (RmFmtHandler *)&FDUPES_HANDLER_IMPL; rmlint-2.6.1/lib/formats/json.c000066400000000000000000000301611312046612000163570ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../checksums/spooky-c.h" #include "../formats.h" #include "../preprocess.h" #include "../utilities.h" #include #include #include typedef struct RmFmtHandlerJSON { /* must be first */ RmFmtHandler parent; /* More human readable output? */ bool pretty; /* set of already existing ids */ GHashTable *id_set; } RmFmtHandlerJSON; ////////////////////////////////////////// // FILE ID GENERATOR // ////////////////////////////////////////// static guint32 rm_fmt_json_generate_id(RmFmtHandlerJSON *self, RmFile *file, const char *file_path, char *cksum) { guint32 hash = 0; hash = file->inode ^ file->dev; hash ^= file->actual_file_size; for(int i = 0; i < 8192; ++i) { hash ^= spooky_hash32(file_path, strlen(file_path), i); hash ^= spooky_hash32(cksum, strlen(cksum), i); if(!g_hash_table_contains(self->id_set, GUINT_TO_POINTER(hash))) { break; } } g_hash_table_add(self->id_set, GUINT_TO_POINTER(hash)); return hash; } ////////////////////////////////////////// // POOR MAN'S JSON FORMATTING TOOLBOX // ////////////////////////////////////////// static void rm_fmt_json_key(FILE *out, const char *key, const char *value) { fprintf(out, "\"%s\": \"%s\"", key, value); } static void rm_fmt_json_key_bool(FILE *out, const char *key, bool value) { fprintf(out, "\"%s\": %s", key, value ? "true" : "false"); } static void rm_fmt_json_key_int(FILE *out, const char *key, RmOff value) { fprintf(out, "\"%s\": %" LLU "", key, value); } static void rm_fmt_json_key_float(FILE *out, const char *key, gdouble value) { // Make sure that the floating point number gets printed with a '.', // not with a comma as usual in e.g. the german language. gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; fprintf(out, "\"%s\": %s", key, g_ascii_dtostr(buf, sizeof(buf) - 1, value)); } static bool rm_fmt_json_fix(const char *string, char *fixed, size_t fixed_len) { /* More information here: * * http://stackoverflow.com/questions/4901133/json-and-escaping-characters/4908960#4908960 */ int n = strlen(string); char *safe_iter = fixed; for(int i = 0; i < n && (size_t)(safe_iter - fixed) < fixed_len; ++i) { unsigned char *curr = (unsigned char *)&string[i]; char text[20]; memset(text, 0, sizeof(text)); if(*curr == '"' || *curr == '\\') { /* Printable, but needs to be escaped */ text[0] = '\\'; text[1] = *curr; } else if((*curr > 0 && *curr < 0x1f) || *curr == 0x7f) { /* Something unprintable */ switch(*curr) { case '\b': g_snprintf(text, sizeof(text), "\\b"); break; case '\f': g_snprintf(text, sizeof(text), "\\f"); break; case '\n': g_snprintf(text, sizeof(text), "\\n"); break; case '\r': g_snprintf(text, sizeof(text), "\\r"); break; case '\t': g_snprintf(text, sizeof(text), "\\t"); break; default: g_snprintf(text, sizeof(text), "\\u00%02x", (guint)*curr); break; } } else { /* Take it unmodified */ text[0] = *curr; } safe_iter = g_stpcpy(safe_iter, text); } return (size_t)(safe_iter - fixed) < fixed_len; } static void rm_fmt_json_key_unsafe(FILE *out, const char *key, const char *value) { char safe_value[PATH_MAX + 4 + 1]; memset(safe_value, 0, sizeof(safe_value)); if(rm_fmt_json_fix(value, safe_value, sizeof(safe_value))) { fprintf(out, "\"%s\": \"%s\"", key, safe_value); } else { /* This should never happen but give at least means of debugging */ fprintf(out, "\"%s\": \"\"", key); } } static void rm_fmt_json_open(RmFmtHandlerJSON *self, FILE *out) { fprintf(out, "{%s", self->pretty ? "\n " : ""); } static void rm_fmt_json_close(RmFmtHandlerJSON *self, FILE *out) { if(self->pretty) { fprintf(out, "\n}, "); } else { fprintf(out, "},\n"); } } static void rm_fmt_json_sep(RmFmtHandlerJSON *self, FILE *out) { fprintf(out, ",%s", self->pretty ? "\n " : ""); } ///////////////////////// // ACTUAL CALLBACKS // ///////////////////////// static void rm_fmt_head(RmSession *session, _UNUSED RmFmtHandler *parent, FILE *out) { fprintf(out, "[\n"); RmFmtHandlerJSON *self = (RmFmtHandlerJSON *)parent; self->id_set = g_hash_table_new(NULL, NULL); if(rm_fmt_get_config_value(session->formats, "json", "oneline")) { self->pretty = false; } if(!rm_fmt_get_config_value(session->formats, "json", "no_header")) { rm_fmt_json_open(self, out); { rm_fmt_json_key(out, "description", "rmlint json-dump of lint files"); rm_fmt_json_sep(self, out); rm_fmt_json_key(out, "cwd", session->cfg->iwd); rm_fmt_json_sep(self, out); rm_fmt_json_key(out, "args", session->cfg->joined_argv); rm_fmt_json_sep(self, out); rm_fmt_json_key(out, "version", RM_VERSION); rm_fmt_json_sep(self, out); rm_fmt_json_key(out, "rev", RM_VERSION_GIT_REVISION); rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "progress", 0); /* Header is always first. */ rm_fmt_json_sep(self, out); rm_fmt_json_key(out, "checksum_type", rm_digest_type_to_string(session->cfg->checksum_type)); if(session->hash_seed1 && session->hash_seed2) { rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "hash_seed1", session->hash_seed1); rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "hash_seed2", session->hash_seed2); } } rm_fmt_json_close(self, out); } } static void rm_fmt_foot(_UNUSED RmSession *session, RmFmtHandler *parent, FILE *out) { RmFmtHandlerJSON *self = (RmFmtHandlerJSON *)parent; if(rm_fmt_get_config_value(session->formats, "json", "no_footer")) { fprintf(out, "{}"); } else { rm_fmt_json_open(self, out); { rm_fmt_json_key_bool(out, "aborted", rm_session_was_aborted()); rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "progress", 100); /* Footer is always last. */ rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "total_files", session->total_files); rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "ignored_files", session->ignored_files); rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "ignored_folders", session->ignored_folders); rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "duplicates", session->dup_counter); rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "duplicate_sets", session->dup_group_counter); rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "total_lint_size", session->total_lint_size); } if(self->pretty) { fprintf(out, "\n}"); } else { fprintf(out, "}\n"); } } fprintf(out, "]\n"); g_hash_table_unref(self->id_set); } static void rm_fmt_json_cksum(RmFile *file, char *checksum_str, size_t size) { memset(checksum_str, '0', size); checksum_str[size - 1] = 0; rm_digest_hexstring(file->digest, checksum_str); } static void rm_fmt_elem(RmSession *session, _UNUSED RmFmtHandler *parent, FILE *out, RmFile *file) { if(rm_fmt_get_config_value(session->formats, "json", "no_body")) { return; } if(file->lint_type == RM_LINT_TYPE_UNIQUE_FILE && (!file->digest || !session->cfg->write_unfinished)) { /* unique file with no partial checksum */ return; } char checksum_str[rm_digest_get_bytes(file->digest) * 2 + 1]; rm_fmt_json_cksum(file, checksum_str, sizeof(checksum_str)); RmFmtHandlerJSON *self = (RmFmtHandlerJSON *)parent; /* Make it look like a json element */ rm_fmt_json_open(self, out); { RM_DEFINE_PATH(file); rm_fmt_json_key_int(out, "id", rm_fmt_json_generate_id(self, file, file_path, checksum_str)); rm_fmt_json_sep(self, out); rm_fmt_json_key(out, "type", rm_file_lint_type_to_string(file->lint_type)); rm_fmt_json_sep(self, out); gdouble progress = 0; if(session->shred_bytes_after_preprocess) { progress = CLAMP(100 - 100 * ((gdouble)session->shred_bytes_remaining / (gdouble)session->shred_bytes_after_preprocess), 0, 100); } rm_fmt_json_key_int(out, "progress", progress); rm_fmt_json_sep(self, out); if(file->digest) { rm_fmt_json_key(out, "checksum", checksum_str); rm_fmt_json_sep(self, out); } rm_fmt_json_key_unsafe(out, "path", file_path); rm_fmt_json_sep(self, out); if(file->lint_type != RM_LINT_TYPE_UNIQUE_FILE) { rm_fmt_json_key_int(out, "size", file->actual_file_size); rm_fmt_json_sep(self, out); if(file->twin_count >= 0) { rm_fmt_json_key_int(out, "twins", file->twin_count); rm_fmt_json_sep(self, out); } rm_fmt_json_key_int(out, "depth", file->depth); rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "inode", file->inode); rm_fmt_json_sep(self, out); rm_fmt_json_key_int(out, "disk_id", file->dev); rm_fmt_json_sep(self, out); rm_fmt_json_key_bool(out, "is_original", file->is_original); rm_fmt_json_sep(self, out); if(session->cfg->find_hardlinked_dupes) { RmFile *hardlink_head = RM_FILE_HARDLINK_HEAD(file); if(hardlink_head && hardlink_head != file) { char orig_checksum_str[rm_digest_get_bytes(file->digest) * 2 + 1]; rm_fmt_json_cksum(hardlink_head, orig_checksum_str, sizeof(orig_checksum_str)); RM_DEFINE_PATH(hardlink_head); guint32 orig_id = rm_fmt_json_generate_id( self, hardlink_head, hardlink_head_path, orig_checksum_str); rm_fmt_json_key_int(out, "hardlink_of", orig_id); rm_fmt_json_sep(self, out); } } } rm_fmt_json_key_float(out, "mtime", file->mtime); } rm_fmt_json_close(self, out); } static RmFmtHandlerJSON JSON_HANDLER_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(JSON_HANDLER_IMPL), .name = "json", .head = rm_fmt_head, .elem = rm_fmt_elem, .prog = NULL, .foot = rm_fmt_foot, .valid_keys = {"no_header", "no_footer", "no_body", "oneline", NULL}, }, .pretty = true}; RmFmtHandler *JSON_HANDLER = (RmFmtHandler *)&JSON_HANDLER_IMPL; rmlint-2.6.1/lib/formats/null.c000066400000000000000000000026171312046612000163650ustar00rootroot00000000000000 /* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" /* You guessed it: it does nothing. */ typedef struct RmFmtHandlerNull { RmFmtHandler parent; } RmFmtHandlerNull; static RmFmtHandlerNull NULL_HANDLER_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(NULL_HANDLER_IMPL), .name = "null", .head = NULL, .elem = NULL, .prog = NULL, .foot = NULL, .valid_keys = {NULL}, }, }; RmFmtHandler *NULL_HANDLER = (RmFmtHandler *)&NULL_HANDLER_IMPL; rmlint-2.6.1/lib/formats/pretty.c000066400000000000000000000130211312046612000167310ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" #include "../preprocess.h" #include #include static const char *RM_LINT_TYPE_TO_DESCRIPTION[] = {[RM_LINT_TYPE_UNKNOWN] = "", [RM_LINT_TYPE_BADLINK] = N_("Bad symlink(s)"), [RM_LINT_TYPE_EMPTY_DIR] = N_("Empty dir(s)"), [RM_LINT_TYPE_NONSTRIPPED] = N_("Non stripped binarie(s)"), [RM_LINT_TYPE_BADUID] = N_("Bad UID(s)"), [RM_LINT_TYPE_BADGID] = N_("Bad GID(s)"), [RM_LINT_TYPE_BADUGID] = N_("Bad UID and GID(s)"), [RM_LINT_TYPE_EMPTY_FILE] = N_("Empty file(s)"), [RM_LINT_TYPE_DUPE_CANDIDATE] = N_("Duplicate(s)"), [RM_LINT_TYPE_DUPE_DIR_CANDIDATE] = N_("Duplicate Directorie(s)")}; static const char *RM_LINT_TYPE_TO_COMMAND[] = {[RM_LINT_TYPE_UNKNOWN] = "", [RM_LINT_TYPE_BADLINK] = "rm", [RM_LINT_TYPE_EMPTY_DIR] = "rmdir", [RM_LINT_TYPE_NONSTRIPPED] = "strip --strip-debug", [RM_LINT_TYPE_BADUID] = "chown %s", [RM_LINT_TYPE_BADGID] = "chgrp %s", [RM_LINT_TYPE_BADUGID] = "chown %s:%s", [RM_LINT_TYPE_EMPTY_FILE] = "rm", [RM_LINT_TYPE_DUPE_CANDIDATE] = "rm", [RM_LINT_TYPE_DUPE_DIR_CANDIDATE] = "rm -rf"}; static const char *rm_fmt_command_color(RmSession *session, RmFile *file, FILE *out) { switch(file->lint_type) { case RM_LINT_TYPE_NONSTRIPPED: case RM_LINT_TYPE_BADUID: case RM_LINT_TYPE_BADGID: case RM_LINT_TYPE_BADUGID: return MAYBE_BLUE(out, session); case RM_LINT_TYPE_DUPE_CANDIDATE: case RM_LINT_TYPE_DUPE_DIR_CANDIDATE: if(file->is_original) { return MAYBE_GREEN(out, session); } else { return MAYBE_RED(out, session); } default: return MAYBE_RED(out, session); } } typedef struct RmFmtHandlerPretty { /* must be first */ RmFmtHandler parent; /* user data */ RmLintType last_lint_type; const char *user; const char *group; int elems_written; } RmFmtHandlerProgress; static void rm_fmt_head(_UNUSED RmSession *session, RmFmtHandler *parent, _UNUSED FILE *out) { RmFmtHandlerProgress *self = (RmFmtHandlerProgress *)parent; self->user = rm_util_get_username(); self->group = rm_util_get_groupname(); } static void rm_fmt_elem(_UNUSED RmSession *session, RmFmtHandler *parent, FILE *out, RmFile *file) { RmFmtHandlerProgress *self = (RmFmtHandlerProgress *)parent; if(file->lint_type == RM_LINT_TYPE_UNIQUE_FILE) { /* pretty output should not contain this */ return; } self->elems_written++; if(file->lint_type != self->last_lint_type) { fprintf(out, "\n%s#%s %s:\n", MAYBE_YELLOW(out, session), MAYBE_RESET(out, session), _(RM_LINT_TYPE_TO_DESCRIPTION[file->lint_type])); self->last_lint_type = file->lint_type; } fprintf(out, " %s", rm_fmt_command_color(session, file, out)); const char *format = RM_LINT_TYPE_TO_COMMAND[file->lint_type]; switch(file->lint_type) { case RM_LINT_TYPE_BADUID: fprintf(out, format, self->user); break; case RM_LINT_TYPE_BADGID: fprintf(out, format, self->group); break; case RM_LINT_TYPE_BADUGID: fprintf(out, format, self->user, self->group); break; case RM_LINT_TYPE_DUPE_CANDIDATE: if(file->is_original) { fprintf(out, "ls"); } else { fprintf(out, "%s", format); } break; case RM_LINT_TYPE_DUPE_DIR_CANDIDATE: if(file->is_original) { fprintf(out, "ls -la"); } else { fprintf(out, "%s", format); } break; default: fprintf(out, "%s", format); } RM_DEFINE_PATH(file); char *esc_path = rm_util_strsub(file_path, "'", "'\"'\"'"); fprintf(out, "%s '%s'\n", MAYBE_RESET(out, session), esc_path); g_free(esc_path); } static void rm_fmt_prog(_UNUSED RmSession *session, RmFmtHandler *parent, FILE *out, RmFmtProgressState state) { RmFmtHandlerProgress *self = (RmFmtHandlerProgress *)parent; if(state == RM_PROGRESS_STATE_PRE_SHUTDOWN && self->elems_written) { fprintf(out, "\n"); } } static RmFmtHandlerProgress PRETTY_HANDLER_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(PRETTY_HANDLER_IMPL), .name = "pretty", .head = rm_fmt_head, .elem = rm_fmt_elem, .prog = rm_fmt_prog, .foot = NULL, .valid_keys = {NULL}, }, /* Initialize own stuff */ .last_lint_type = RM_LINT_TYPE_UNKNOWN, .elems_written = 0}; RmFmtHandler *PRETTY_HANDLER = (RmFmtHandler *)&PRETTY_HANDLER_IMPL; rmlint-2.6.1/lib/formats/progressbar.c000066400000000000000000000424761312046612000177530ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" #include "../utilities.h" #include #include #include #include #include typedef struct RmFmtHandlerProgress { /* must be first */ RmFmtHandler parent; /* Current progress value */ gdouble percent; /* Colorstripe offset of the progressbar */ int stripe_offset; /* Text printed on the right side */ char text_buf[1024]; guint32 text_len; /* Config keys: */ guint32 update_interval; guint8 use_unicode_glyphs; bool plain; /* Bookkeeping */ RmFmtProgressState last_state; struct winsize terminal; GTimer *timer; /* Estimated Time of Arrival calculation */ RmRunningMean read_diff_mean; RmRunningMean eta_mean; RmOff last_shred_bytes_remaining; } RmFmtHandlerProgress; static void rm_fmt_progress_format_preprocess(RmSession *session, char *buf, size_t buf_len, FILE *out) { if(session->offsets_read > 0) { g_snprintf(buf, buf_len, "fiemap: %s+%" LLU "%s %s-%" LLU "%s %s#%" LLU "%s", MAYBE_GREEN(out, session), session->offsets_read, MAYBE_RESET(out, session), MAYBE_RED(out, session), session->offset_fails, MAYBE_RESET(out, session), MAYBE_BLUE(out, session), session->total_filtered_files, MAYBE_RESET(out, session)); } else { g_snprintf(buf, buf_len, "%s %s%" LLU "%s", _("reduces files to"), MAYBE_GREEN(out, session), session->total_filtered_files, MAYBE_RESET(out, session)); } } static gdouble rm_fmt_progress_calculated_eta( RmSession *session, RmFmtHandlerProgress *self, gdouble elapsed_sec, RmFmtProgressState state) { if(self->last_shred_bytes_remaining == 0) { self->last_shred_bytes_remaining = session->shred_bytes_remaining; return -1.0; } if(state != RM_PROGRESS_STATE_SHREDDER) { return -1.0; } RmOff last_diff = self->last_shred_bytes_remaining - session->shred_bytes_remaining; self->last_shred_bytes_remaining = session->shred_bytes_remaining; rm_running_mean_add(&self->read_diff_mean, last_diff); gdouble avg_bytes_read = rm_running_mean_get(&self->read_diff_mean); gdouble throughput = avg_bytes_read / elapsed_sec; gdouble eta_sec = 0; if(throughput != 0.0) { eta_sec = session->shred_bytes_remaining / throughput; } rm_running_mean_add(&self->eta_mean, eta_sec); return rm_running_mean_get(&self->eta_mean); } static void rm_fmt_progress_format_text( RmSession *session, RmFmtHandlerProgress *self, int max_len, gdouble elapsed_sec, FILE *out ) { /* This is very ugly, but more or less required since we need to translate * the text to different languages and still determine the right textlength. */ char num_buf[32] = {0}; char preproc_buf[128] = {0}; memset(num_buf, 0, sizeof(num_buf)); memset(preproc_buf, 0, sizeof(preproc_buf)); switch(self->last_state) { case RM_PROGRESS_STATE_TRAVERSE: self->percent = 2.0; self->text_len = g_snprintf( self->text_buf, sizeof(self->text_buf), "%s (%s%d%s %s / %s%d%s + %s%d%s %s)", _("Traversing"), MAYBE_GREEN(out, session), session->total_files, MAYBE_RESET(out, session), _("usable files"), MAYBE_RED(out, session), session->ignored_files, MAYBE_RESET(out, session), MAYBE_RED(out, session), session->ignored_folders, MAYBE_RESET(out, session), _("ignored files / folders")); break; case RM_PROGRESS_STATE_PREPROCESS: self->percent = 2.0; rm_fmt_progress_format_preprocess(session, preproc_buf, sizeof(preproc_buf), out); self->text_len = g_snprintf( self->text_buf, sizeof(self->text_buf), "%s (%s / %s %s%" LLU "%s %s)", _("Preprocessing"), preproc_buf, _("found"), MAYBE_RED(out, session), session->other_lint_cnt, MAYBE_RESET(out, session), _("other lint")); break; case RM_PROGRESS_STATE_SHREDDER: self->percent = 1.0 - ((gdouble)session->shred_bytes_remaining / (gdouble)session->shred_bytes_after_preprocess); gdouble eta_sec = rm_fmt_progress_calculated_eta(session, self, elapsed_sec, self->last_state); char *eta_info = NULL; if(eta_sec >= 0) { eta_info = rm_format_elapsed_time(eta_sec, 0); } rm_util_size_to_human_readable( session->shred_bytes_remaining, num_buf, sizeof(num_buf) ); self->text_len = g_snprintf( self->text_buf, sizeof(self->text_buf), "%s (%s%" LLU "%s %s %s%" LLU "%s %s; %s%s%s %s %s%" LLU "%s %s, ETA: %s%s%s)", _("Matching"), MAYBE_RED(out, session), session->dup_counter, MAYBE_RESET(out, session), _("dupes of"), MAYBE_YELLOW(out, session), session->dup_group_counter, MAYBE_RESET(out, session), _("originals"), MAYBE_GREEN(out, session), num_buf, MAYBE_RESET(out, session), _("to scan in"), MAYBE_GREEN(out, session), session->shred_files_remaining, MAYBE_RESET(out, session), _("files"), MAYBE_GREEN(out, session), (eta_info) ? eta_info : "0s", MAYBE_RESET(out, session) ); g_free(eta_info); break; case RM_PROGRESS_STATE_MERGE: self->percent = 1.0; self->text_len = g_snprintf(self->text_buf, sizeof(self->text_buf), _("Merging files into directories (stand by...)")); break; case RM_PROGRESS_STATE_INIT: case RM_PROGRESS_STATE_PRE_SHUTDOWN: case RM_PROGRESS_STATE_SUMMARY: default: self->percent = 0; memset(self->text_buf, 0, sizeof(self->text_buf)); break; } /* Support unicode messages - tranlsated text might contain some. */ self->text_len = g_utf8_strlen(self->text_buf, self->text_len); /* Get rid of colors to get the correct length of the text. This is * necessary to correctly guess the length of the displayed text in cells. */ int text_iter = 0; for(char *iter = &self->text_buf[0]; *iter; iter++) { if(*iter == '\x1b') { char *jump = strchr(iter, 'm'); if(jump != NULL) { self->text_len -= jump - iter + 1; iter = jump; continue; } } if(text_iter >= max_len) { *iter = 0; self->text_len = text_iter; break; } text_iter++; } } static void rm_fmt_progress_print_text(RmFmtHandlerProgress *self, int width, FILE *out) { if(self->text_len < (unsigned)width) { for(guint32 i = 0; i < width - self->text_len; ++i) { fprintf(out, " "); } } fprintf(out, "%s", self->text_buf); } typedef enum RmProgressBarGlyph { PROGRESS_ARROW, PROGRESS_TICK_LOW, PROGRESS_TICK_HIGH, PROGRESS_TICK_SPACE, PROGRESS_EMPTY, PROGRESS_FULL, PROGRESS_LEFT_BRACKET, PROGRESS_RIGHT_BRACKET } RmProgressBarGlyph; static const char *PROGRESS_FANCY_UNICODE_TABLE[] = {[PROGRESS_ARROW] = "➤", [PROGRESS_TICK_LOW] = "â–¡", [PROGRESS_TICK_HIGH] = "â–¢", [PROGRESS_TICK_SPACE] = " ", [PROGRESS_EMPTY] = "⌿", [PROGRESS_FULL] = "—", [PROGRESS_LEFT_BRACKET] = "⦃", [PROGRESS_RIGHT_BRACKET] = "⦄"}; static const char *PROGRESS_FANCY_ASCII_TABLE[] = {[PROGRESS_ARROW] = ">", [PROGRESS_TICK_LOW] = "o", [PROGRESS_TICK_HIGH] = "O", [PROGRESS_TICK_SPACE] = " ", [PROGRESS_EMPTY] = "/", [PROGRESS_FULL] = "_", [PROGRESS_LEFT_BRACKET] = "{", [PROGRESS_RIGHT_BRACKET] = "}"}; static const char *PROGRESS_PLAIN_UNICODE_TABLE[] = {[PROGRESS_ARROW] = "â–’", [PROGRESS_TICK_LOW] = "â–‘", [PROGRESS_TICK_HIGH] = "â–’", [PROGRESS_TICK_SPACE] = "â–‘", [PROGRESS_EMPTY] = "â–‘", [PROGRESS_FULL] = "â–“", [PROGRESS_LEFT_BRACKET] = "â–•", [PROGRESS_RIGHT_BRACKET] = "â–"}; static const char *PROGRESS_PLAIN_ASCII_TABLE[] = {[PROGRESS_ARROW] = "_", [PROGRESS_TICK_LOW] = " ", [PROGRESS_TICK_HIGH] = "_", [PROGRESS_TICK_SPACE] = " ", [PROGRESS_EMPTY] = "\\", [PROGRESS_FULL] = "/", [PROGRESS_LEFT_BRACKET] = "|", [PROGRESS_RIGHT_BRACKET] = "|"}; static const char *rm_fmt_progressbar_get_glyph(RmFmtHandlerProgress *self, RmProgressBarGlyph type) { if(self->plain && self->use_unicode_glyphs) { return PROGRESS_PLAIN_UNICODE_TABLE[type]; } else if(self->plain) { return PROGRESS_PLAIN_ASCII_TABLE[type]; } else if(self->use_unicode_glyphs) { return PROGRESS_FANCY_UNICODE_TABLE[type]; } else { return PROGRESS_FANCY_ASCII_TABLE[type]; } } static void rm_fmt_progressbar_print_glyph(FILE *out, RmSession *session, RmFmtHandlerProgress *self, RmProgressBarGlyph type, const char *color) { fprintf(out, "%s%s%s", MAYBE_COLOR(out, session, color), rm_fmt_progressbar_get_glyph(self, type), MAYBE_COLOR(out, session, RESET)); } static void rm_fmt_progress_print_bar(RmSession *session, RmFmtHandlerProgress *self, int width, FILE *out) { int cells = width * self->percent; /* true when we do not know when 100% is reached. * Show a moving something in this case. * */ rm_fmt_progressbar_print_glyph(out, session, self, PROGRESS_LEFT_BRACKET, RED); bool is_unknown = self->percent > 1.1; if(g_timer_elapsed(self->timer, NULL) * 1000.0 >= self->update_interval) { self->stripe_offset++; } for(int i = 0; i < width - 2; ++i) { if(i < cells) { if(is_unknown) { static const int glyphs[3] = {PROGRESS_TICK_LOW, PROGRESS_TICK_HIGH, PROGRESS_TICK_SPACE}; static const char *colors[3] = { BLUE, BLUE, GREEN, }; int index = (i + self->stripe_offset) % 3; rm_fmt_progressbar_print_glyph(out, session, self, glyphs[index], colors[index]); } else { const char *color = (self->percent > 1.01) ? BLUE : GREEN; RmProgressBarGlyph glyph = (self->percent > 1.01) ? PROGRESS_EMPTY : PROGRESS_FULL; rm_fmt_progressbar_print_glyph(out, session, self, glyph, color); } } else if(i == cells) { rm_fmt_progressbar_print_glyph(out, session, self, PROGRESS_ARROW, YELLOW); } else { rm_fmt_progressbar_print_glyph(out, session, self, PROGRESS_EMPTY, BLUE); } } rm_fmt_progressbar_print_glyph(out, session, self, PROGRESS_RIGHT_BRACKET, RED); } static void rm_fmt_prog(RmSession *session, RmFmtHandler *parent, FILE *out, RmFmtProgressState state) { RmFmtHandlerProgress *self = (RmFmtHandlerProgress *)parent; bool force_draw = false; if(self->timer == NULL) { self->timer = g_timer_new(); force_draw = true; } if(state == RM_PROGRESS_STATE_SUMMARY) { return; } if(session->cfg->replay) { /* Makes not much sense to print a progressbar with --replay */ return; } if(state == RM_PROGRESS_STATE_INIT) { /* Do initializiation here */ const char *update_interval_str = rm_fmt_get_config_value(session->formats, "progressbar", "update_interval"); rm_running_mean_init(&self->read_diff_mean, 10); rm_running_mean_init(&self->eta_mean, 50); self->last_shred_bytes_remaining = 0; self->plain = true; if(rm_fmt_get_config_value(session->formats, "progressbar", "fancy") != NULL) { self->plain = false; } self->use_unicode_glyphs = true; if(rm_fmt_get_config_value(session->formats, "progressbar", "ascii") != NULL) { self->use_unicode_glyphs = false; } if(update_interval_str) { self->update_interval = g_ascii_strtoull(update_interval_str, NULL, 10); } if(self->update_interval == 0) { self->update_interval = 50; /* milliseconds */ } fprintf(out, "\e[?25l"); /* Hide the cursor */ fflush(out); return; } if(state == RM_PROGRESS_STATE_PRE_SHUTDOWN || rm_session_was_aborted()) { fprintf(out, "\e[?25h"); /* show the cursor */ fflush(out); if(rm_session_was_aborted()) { return; } } if(self->last_state != state && self->last_state != RM_PROGRESS_STATE_INIT) { self->percent = 1.05; if(state != RM_PROGRESS_STATE_PRE_SHUTDOWN) { rm_fmt_progress_print_bar(session, self, self->terminal.ws_col * 0.3, out); fprintf(out, "\n"); } g_timer_start(self->timer); force_draw = true; } /* Restart the time after these stages finished */ if((state == RM_PROGRESS_STATE_TRAVERSE && session->traverse_finished) || (state == RM_PROGRESS_STATE_SHREDDER && session->shredder_finished)) { g_timer_start(self->timer); force_draw = true; } /* Try to get terminal width, might fail on some terminals. */ ioctl(fileno(out), TIOCGWINSZ, &self->terminal); self->last_state = state; // g_printerr(".\n"); gdouble elapsed_sec = g_timer_elapsed(self->timer, NULL); if(force_draw || elapsed_sec * 1000.0 >= self->update_interval) { /* Max. 70% (-1 char) are allowed for the text */ int text_width = MAX(self->terminal.ws_col * 0.7 - 1, 0); rm_fmt_progress_format_text(session, self, text_width, elapsed_sec, out); if(state == RM_PROGRESS_STATE_PRE_SHUTDOWN) { /* do not overwrite last messages */ self->percent = 1.05; text_width = 0; } rm_fmt_progress_print_bar(session, self, self->terminal.ws_col * 0.3, out); rm_fmt_progress_print_text(self, text_width, out); fprintf(out, "%s\r", MAYBE_RESET(out, session)); g_timer_start(self->timer); } if(state == RM_PROGRESS_STATE_PRE_SHUTDOWN) { fprintf(out, "\n\n"); g_timer_destroy(self->timer); } } static RmFmtHandlerProgress PROGRESS_HANDLER_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(PROGRESS_HANDLER_IMPL), .name = "progressbar", .head = NULL, .elem = NULL, .prog = rm_fmt_prog, .foot = NULL, .valid_keys = {"update_interval", "ascii", "fancy", NULL}, }, /* Initialize own stuff */ .percent = 0.0f, .text_len = 0, .text_buf = {0}, .timer = NULL, .use_unicode_glyphs = true, .plain = true, .stripe_offset = 0, .last_state = RM_PROGRESS_STATE_INIT}; RmFmtHandler *PROGRESS_HANDLER = (RmFmtHandler *)&PROGRESS_HANDLER_IMPL; rmlint-2.6.1/lib/formats/py.c.in000066400000000000000000000057321312046612000164510ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" #include "../utilities.h" #include "../preprocess.h" #include #include #include static const char *PY_SOURCE = "<>"; typedef struct RmFmtHandlerPy { /* must be first */ RmFmtHandler parent; /* HACK: Actual handler might be bigger, add padding. */ char _dummy[1024]; /* Filehandle to pass to the JSON Formatter. */ FILE *json_out; } RmFmtHandlerPy; ///////////////////////// // ACTUAL CALLBACKS // ///////////////////////// static void rm_fmt_head(RmSession *session, RmFmtHandler *parent, FILE *out) { RmFmtHandlerPy *self = (RmFmtHandlerPy *)parent; fprintf(out, "%s", PY_SOURCE); if(fchmod(fileno(out), S_IRUSR | S_IWUSR | S_IXUSR) == -1) { rm_log_perror("Could not chmod +x python-script"); } self->json_out = fopen(".rmlint.json", "w"); if(self->json_out == NULL) { return; } /* Delegate */ extern RmFmtHandler *JSON_HANDLER; JSON_HANDLER->head(session, (RmFmtHandler *)self, self->json_out); } static void rm_fmt_foot(RmSession *session, RmFmtHandler *parent, _UNUSED FILE *out) { RmFmtHandlerPy *self = (RmFmtHandlerPy *)parent; if(self->json_out == NULL) { return; } /* Delegate */ extern RmFmtHandler *JSON_HANDLER; JSON_HANDLER->foot(session, (RmFmtHandler *)self, self->json_out); fclose(self->json_out); } static void rm_fmt_elem( RmSession *session, RmFmtHandler *parent, _UNUSED FILE *out, RmFile *file ) { RmFmtHandlerPy *self = (RmFmtHandlerPy *)parent; if(self->json_out == NULL) { return; } /* Delegate */ extern RmFmtHandler *JSON_HANDLER; JSON_HANDLER->elem(session, (RmFmtHandler *)self, self->json_out, file); } static RmFmtHandlerPy PY_HANDLER_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(PY_HANDLER_IMPL), .name = "py", .head = rm_fmt_head, .elem = rm_fmt_elem, .prog = NULL, .foot = rm_fmt_foot, .valid_keys = {NULL}, } }; RmFmtHandler *PY_HANDLER = (RmFmtHandler *) &PY_HANDLER_IMPL; rmlint-2.6.1/lib/formats/py.py000066400000000000000000000157211312046612000162510ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 """ This file is part of rmlint. rmlint is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. rmlint is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with rmlint. If not, see . Authors: - Christopher Pahl 2010-2017 (https://github.com/sahib) - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) """ # This is the python remover utility shipped inside the rmlint binary. # The 200 lines source presented below is meant to be clean and hackable. # It is intented to be used for corner cases where the built-in sh formatter # is not enough or as an alternative to it. By default it works the same. # Python2 compat: from __future__ import print_function import os import sys import pwd import json import shutil import filecmp import argparse import subprocess USE_COLOR = sys.stdout.isatty() and sys.stderr.isatty() COLORS = { 'red': "\x1b[31;01m" if USE_COLOR else "", 'yellow': "\x1b[33;01m" if USE_COLOR else "", 'reset': "\x1b[0m" if USE_COLOR else "", 'green': "\x1b[32;01m" if USE_COLOR else "", 'blue': "\x1b[34;01m" if USE_COLOR else "" } def original_check(path, original, be_paranoid=True): try: stat_p, stat_o = os.stat(path), os.stat(original) if (stat_p.st_dev, stat_p.st_ino) == (stat_o.st_dev, stat_o.st_ino): print('{c[red]}Same inode; ignoring:{c[reset]} {o} <=> {p}'.format( c=COLORS, o=original, p=path )) return False if stat_p.st_size != stat_o.st_size: print('{c[red]}Size differs; ignoring:{c[reset]} {o} <=> {p}'.format( c=COLORS, o=original, p=path )) return False if be_paranoid and not filecmp.cmp(path, original): print('{c[red]}Content differs; ignoring:{c[reset]} {o} <=> {p}'.format( c=COLORS, o=original, p=path )) return False return True except OSError as exc: print('{c[red]}{exc}{c[reset]}'.format(c=COLORS, exc=exc)) return False def handle_duplicate_dir(path, original, **kwargs): shutil.rmtree(path) def handle_duplicate_file(path, original, args, **kwargs): if original_check(path, original['path'], be_paranoid=args.paranoid): os.remove(path) def handle_unfinished_cksum(path, **kwargs): pass # doesn't need any handling. def handle_empty_dir(path, **kwargs): os.rmdir(path) def handle_empy_file(path, **kwargs): os.remove(path) def handle_nonstripped(path, **kwargs): subprocess.call(["strip", "--strip-debug", path]) def handle_badlink(path, **kwargs): os.remove(path) CURRENT_UID = os.geteuid() CURRENT_GID = pwd.getpwuid(CURRENT_UID).pw_gid def handle_baduid(path, **kwargs): os.chmod(path, CURRENT_UID, -1) def handle_badgid(path, **kwargs): os.chmod(path, -1, CURRENT_GID) def handle_badugid(path, **kwargs): os.chmod(path, CURRENT_UID, CURRENT_GID) OPERATIONS = { "duplicate_dir": handle_duplicate_dir, "duplicate_file": handle_duplicate_file, "unfinished_cksum": handle_unfinished_cksum, "emptydir": handle_empty_dir, "emptyfile": handle_empy_file, "nonstripped": handle_nonstripped, "badlink": handle_badlink, "baduid": handle_baduid, "badgid": handle_badgid, "badugid": handle_badugid, } MESSAGES = { "duplicate_dir": "removing tree", "duplicate_file": "removing", "unfinished_cksum": "checking", "emptydir": "removing", "emptyfile": "removing", "nonstripped": "stripping", "badlink": "removing", "baduid": "changing uid", "badgid": "changing gid", "badugid": "changing uid & gid", } def exec_operation(item, original=None, args=None): try: OPERATIONS[item['type']](item['path'], original=original, item=item, args=args) except OSError as err: print( '{c[red]}#{c[reset]} Error on `{item[path]}`:\n{c[red]}#{c[reset]} {err}'.format( item=item, err=err, c=COLORS ), file=sys.stderr ) def main(args, header, data, footer): seen_cksums = set() last_original_item = None for item in data: if item['type'].startswith('duplicate_') and item['is_original']: print( "\n{c[green]}#{c[reset]} Deleting twins of {item[path]} ".format( item=item, c=COLORS ) ) last_original_item = item # Do not handle originals. continue if not args.dry_run: exec_operation(item, original=last_original_item, args=args) print('{c[blue]}#{c[reset]} Handling ({t} -> {v}): {p}'.format( c=COLORS, t=item['type'], v=MESSAGES[item['type']], p=item['path']) ) if __name__ == '__main__': parser = argparse.ArgumentParser( description='Handle the files stored in rmlints json output' ) parser.add_argument( 'json_docs', metavar='json_doc', type=open, nargs='*', help='A json output of rmlint to handle (can be given many times)' ) parser.add_argument( '-n', '--dry-run', action='store_true', help='Only print what would be done.' ) parser.add_argument( '-d', '--no-ask', action='store_true', default=False, help='ask for confirmation before running (does nothing for -n)' ) parser.add_argument( '-p', '--paranoid', action='store_true', default=False, help='Do an extra byte-by-byte compare before deleting duplicates' ) try: args = parser.parse_args() except OSError as err: print(err) sys.exit(-1) if not args.json_docs: # None given on the commandline try: args.json_docs.append(open('.rmlint.json', 'r')) except OSError as err: print('Cannot load default json document: ', str(err), file=sys.stderr) sys.exit(-2) json_docus = [json.load(doc) for doc in args.json_docs] json_elems = [item for sublist in json_docus for item in sublist] try: if not args.no_ask and not args.dry_run: print('\nPlease hit any key before continuing to shredder your data.', file=sys.stderr) sys.stdin.read(1) for json_doc in json_docus: main(args, json_doc[0], json_doc[1:-1], json_doc[-1]) if args.dry_run: print( '\n{c[green]}#{c[reset]} This was a dry run. Nothing modified.'.format( c=COLORS ) ) except KeyboardInterrupt: print('canceled.') rmlint-2.6.1/lib/formats/sh.c.in000066400000000000000000000377651312046612000164460ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" #include "../preprocess.h" #include #include #include typedef struct RmFmtHandlerShScript { RmFmtHandler parent; RmFile *last_original; RmSession *session; bool allow_user_cmd : 1; bool allow_clone : 1; bool allow_reflink : 1; bool allow_symlink : 1; bool allow_hardlink : 1; bool allow_remove : 1; const char *user_cmd; GByteArray *order; RmOff line_count; } RmFmtHandlerShScript; static const char *SH_SCRIPT_TEMPLATE_HEAD = "<>"; static const char *SH_SCRIPT_TEMPLATE_FOOT = " \n" " \n" " \n" "######### END OF AUTOGENERATED OUTPUT #########\n" " \n" "if [ $PROGRESS_CURR -le $PROGRESS_TOTAL ]; then\n" " print_progress_prefix \n" " echo \"${COL_BLUE}Done!${COL_RESET}\" \n" "fi \n" " \n" "if [ -z $DO_REMOVE ] && [ -z $DO_DRY_RUN ] \n" "then \n" " echo \"Deleting script \" \"$0\" \n" " %s '%s'; \n" "fi \n" ; typedef bool (* RmShOrderEmitFunc)(RmFmtHandlerShScript *self, char **out, RmFile *file, char *dupe_path, char *orig_path, char *dupe_escaped, char *orig_escaped); static bool rm_sh_emit_handler_user(RmFmtHandlerShScript *self, char **out, _UNUSED RmFile *file, _UNUSED char *dupe_path, _UNUSED char *orig_path, char *dupe_escaped, char *orig_escaped) { if(self->user_cmd == NULL || !self->allow_user_cmd) { return false; } *out = g_strdup_printf("user_command '%s' '%s'", dupe_escaped, orig_escaped); return true; } static bool rm_sh_emit_handler_clone(RmFmtHandlerShScript *self, char **out, RmFile *file, char *dupe_path, char *orig_path, char *dupe_escaped, char *orig_escaped) { if(!self->allow_clone || self->session->mounts == NULL) { return false; } if (!rm_mounts_can_reflink(self->session->mounts, file->dev, self->last_original->dev) ) { return false; } /* Needs to have at least kernel 4.2 */ if(!rm_session_check_kernel_version(self->session, 4, 2)) { return false; } bool offsets_match = rm_offsets_match(dupe_path, orig_path); char *reflink_type = g_hash_table_lookup( self->session->mounts->reflinkfs_table, GUINT_TO_POINTER(file->dev) ); if (offsets_match) { *out = g_strdup_printf("skip_reflink '%s' '%s'", dupe_escaped, orig_escaped); } else if(!g_strcmp0("btrfs", reflink_type)) { *out = g_strdup_printf("clone '%s' '%s'", dupe_escaped, orig_escaped); } else { return false; } return true; } static bool rm_sh_emit_handler_reflink(RmFmtHandlerShScript *self, char **out, RmFile *file, char *dupe_path, char *orig_path, char *dupe_escaped, char *orig_escaped) { if(!self->allow_reflink || self->session->mounts == NULL) { return false; } if(!rm_mounts_can_reflink(self->session->mounts, self->last_original->dev, file->dev)) { return false; } if (rm_offsets_match(dupe_path, orig_path)) { *out = g_strdup_printf("skip_reflink '%s' '%s'", dupe_escaped, orig_escaped); } else { *out = g_strdup_printf("cp_reflink '%s' '%s'", dupe_escaped, orig_escaped); } return true; } static bool rm_sh_emit_handler_symlink(RmFmtHandlerShScript *self, char **out, _UNUSED RmFile *file, _UNUSED char *dupe_path, _UNUSED char *orig_path, char *dupe_escaped, char *orig_escaped) { if(!self->allow_symlink) { return false; } *out = g_strdup_printf("cp_symlink '%s' '%s'", dupe_escaped, orig_escaped); return true; } static bool rm_sh_emit_handler_hardlink(RmFmtHandlerShScript *self, char **out, _UNUSED RmFile *file, _UNUSED char *dupe_path, _UNUSED char *orig_path, char *dupe_escaped, char *orig_escaped) { if(!self->allow_hardlink || self->last_original->dev != file->dev) { return false; } if (self->last_original && RM_FILE_HARDLINK_HEAD(file) == self->last_original) { *out = g_strdup_printf("skip_hardlink '%s' '%s'", dupe_escaped, orig_escaped); } else { *out = g_strdup_printf("cp_hardlink '%s' '%s'", dupe_escaped, orig_escaped); } return true; } static bool rm_sh_emit_handler_remove(RmFmtHandlerShScript *self, char **out, _UNUSED RmFile *file, _UNUSED char *dupe_path, _UNUSED char *orig_path, char *dupe_escaped, char *orig_escaped) { if(!self->allow_remove) { return false; } *out = g_strdup_printf("remove_cmd '%s' '%s'", dupe_escaped, orig_escaped); return true; } typedef enum RmShHandler { RM_SH_HANDLER_UNKNOWN = 0, RM_SH_HANDLER_USER_COMMAND, RM_SH_HANDLER_CLONE, RM_SH_HANDLER_REFLINK, RM_SH_HANDLER_SYMLINK, RM_SH_HANDLER_HARDLINK, RM_SH_HANDLER_REMOVE, RM_SH_HANDLER_N } RmShHandler; static const char *ORDER_TO_STRING[] = { [RM_SH_HANDLER_UNKNOWN] = NULL, [RM_SH_HANDLER_USER_COMMAND] = "cmd", [RM_SH_HANDLER_CLONE] = "clone", [RM_SH_HANDLER_REFLINK] = "reflink", [RM_SH_HANDLER_SYMLINK] = "symlink", [RM_SH_HANDLER_HARDLINK] = "hardlink", [RM_SH_HANDLER_REMOVE] = "remove", [RM_SH_HANDLER_N] = NULL }; static const RmShOrderEmitFunc ORDER_TO_FUNC[] = { [RM_SH_HANDLER_UNKNOWN] = NULL, [RM_SH_HANDLER_USER_COMMAND] = rm_sh_emit_handler_user, [RM_SH_HANDLER_CLONE] = rm_sh_emit_handler_clone, [RM_SH_HANDLER_REFLINK] = rm_sh_emit_handler_reflink, [RM_SH_HANDLER_SYMLINK] = rm_sh_emit_handler_symlink, [RM_SH_HANDLER_HARDLINK] = rm_sh_emit_handler_hardlink, [RM_SH_HANDLER_REMOVE] = rm_sh_emit_handler_remove }; static void rm_sh_parse_handlers(RmFmtHandlerShScript *self, const char *handler_cfg) { self->order = g_byte_array_new(); char **order_vec = g_strsplit(handler_cfg, ",", -1); for(int i = 0; order_vec && order_vec[i]; ++i) { bool found = false; for(RmShHandler n = 0; n < RM_SH_HANDLER_N; ++n) { if(ORDER_TO_STRING[n] == NULL) { continue; } if(strcasecmp(order_vec[i], ORDER_TO_STRING[n]) == 0) { switch(n) { case RM_SH_HANDLER_USER_COMMAND: self->allow_user_cmd = true; break; case RM_SH_HANDLER_CLONE: self->allow_clone = true; break; case RM_SH_HANDLER_REFLINK: self->allow_reflink = true; break; case RM_SH_HANDLER_SYMLINK: self->allow_symlink = true; break; case RM_SH_HANDLER_HARDLINK: self->allow_hardlink = true; break; case RM_SH_HANDLER_REMOVE: self->allow_remove = true; break; default: g_assert_not_reached(); } /* we found the id */ g_byte_array_append(self->order, (guint8 *)&n, 1); found = true; break; } } if(!found) { rm_log_error_line(_("%s is an invalid handler."), order_vec[i]); } } g_strfreev(order_vec); } static char *rm_fmt_sh_get_extra_equal_args(RmSession *session) { RmCfg *cfg = session->cfg; GString *buf = g_string_new(NULL); if(cfg->see_symlinks == false) { if(cfg->follow_symlinks) { g_string_append(buf, " --followlinks"); } else { g_string_append(buf, " --no-followlinks"); } } if(cfg->find_hardlinked_dupes == false) { g_string_append(buf, " --no-hardlinked"); } if(cfg->honour_dir_layout == true) { g_string_append(buf, " --honour-dir-layout"); } return g_string_free(buf, false); } static void rm_fmt_head(RmSession *session, RmFmtHandler *parent, FILE *out) { RmFmtHandlerShScript *self = (RmFmtHandlerShScript *)parent; self->line_count = 0; self->session = session; self->user_cmd = rm_fmt_get_config_value(session->formats, "sh", "cmd"); const char *handler_cfg = rm_fmt_get_config_value(session->formats, "sh", "handler"); if(handler_cfg != NULL) { /* user specified handlers */ rm_sh_parse_handlers(self, handler_cfg); } else if(rm_fmt_get_config_value(session->formats, "sh", "clone") != NULL) { /* Preset: try clone, then reflinks, then symlinks then hardlinks */ rm_sh_parse_handlers(self, "clone,reflink,hardlink,symlink"); } else if(rm_fmt_get_config_value(session->formats, "sh", "link") != NULL) { /* Preset: try reflinks, then symlinks then hardlinks */ rm_sh_parse_handlers(self, "reflink,hardlink,symlink"); } else if(rm_fmt_get_config_value(session->formats, "sh", "hardlink") != NULL) { /* Preset: try symlinks before using hardlinks */ rm_sh_parse_handlers(self, "hardlink,symlink"); } else if(rm_fmt_get_config_value(session->formats, "sh", "symlink") != NULL) { /* Preset: only do hardlinks */ rm_sh_parse_handlers(self, "symlink"); } else { /* Default: remove the file */ rm_sh_parse_handlers(self, "cmd,remove"); } if(parent->file_existed_already == false) { if(fchmod(fileno(out), S_IRUSR | S_IWUSR | S_IXUSR) == -1) { rm_log_perror("Could not chmod +x sh script"); } } char *equal_extra_args = rm_fmt_sh_get_extra_equal_args(session); /* Fill in all placeholders in the script template */ fprintf( out, SH_SCRIPT_TEMPLATE_HEAD, session->cfg->iwd, (session->cfg->joined_argv) ? (session->cfg->joined_argv) : "[unknown]", (session->cfg->full_argv0_path) ? (session->cfg->full_argv0_path) : "$(which rmlint)", equal_extra_args, rm_util_get_username(), rm_util_get_groupname(), (self->user_cmd) ? self->user_cmd : "echo 'no user command defined.'", (session->cfg->joined_argv) ? (session->cfg->joined_argv) : "unknown_commandline" ); g_free(equal_extra_args); } static char *rm_fmt_sh_escape_path(char *path) { /* See http://stackoverflow.com/questions/1250079/bash-escaping-single-quotes-inside-of-single-quoted-strings * for more info on this * */ return rm_util_strsub(path, "'", "'\"'\"'"); } static void rm_fmt_write_duplicate(RmFmtHandlerShScript *self, FILE *out, RmFile *file) { bool is_dir = (file->lint_type == RM_LINT_TYPE_DUPE_DIR_CANDIDATE); RM_DEFINE_PATH(file); char *file_escaped = rm_fmt_sh_escape_path(file_path); char *prefix = NULL; const char *comment = NULL; if(file->is_original) { if(is_dir) { comment = "# original directory"; } else { comment = "# original"; } prefix = g_strdup_printf("original_cmd '%s'", file_escaped); self->last_original = file; } else if(self->last_original) { RmFile *last_original = self->last_original; RM_DEFINE_PATH(last_original); char *orig_escaped = rm_fmt_sh_escape_path(last_original_path); if(is_dir) { comment = "# duplicate directory"; } else { comment = "# duplicate"; } for(gsize n = 0; n < self->order->len; ++n) { RmShOrderEmitFunc func = ORDER_TO_FUNC[self->order->data[n]]; if(func == NULL) { rm_log_error_line("null-func in sh formatter. Should not happen."); continue; } if(func(self, &prefix, file, file_path, last_original_path, file_escaped, orig_escaped) && prefix) { break; } } g_free(orig_escaped); } if(prefix != NULL) { fprintf(out, "%s %s\n", prefix, comment); g_free(prefix); } g_free(file_escaped); } static void rm_fmt_elem(_UNUSED RmSession *session, _UNUSED RmFmtHandler *parent, FILE *out, RmFile *file) { RmFmtHandlerShScript *self = (RmFmtHandlerShScript *)parent; if(file->lint_type == RM_LINT_TYPE_UNIQUE_FILE) { return; } RM_DEFINE_PATH(file); char *path = rm_fmt_sh_escape_path(file_path); switch(file->lint_type) { case RM_LINT_TYPE_EMPTY_DIR: fprintf(out, "handle_emptydir '%s' # empty folder\n", path); break; case RM_LINT_TYPE_EMPTY_FILE: fprintf(out, "handle_emptyfile '%s' # empty file\n", path); break; case RM_LINT_TYPE_BADLINK: fprintf(out, "handle_bad_symlink '%s' # bad symlink pointing nowhere\n", path); break; case RM_LINT_TYPE_NONSTRIPPED: fprintf(out, "handle_unstripped_binary '%s' # binary with debugsymbols\n", path); break; case RM_LINT_TYPE_BADUID: fprintf(out, "handle_bad_user_id '%s' # bad uid\n", path); break; case RM_LINT_TYPE_BADGID: fprintf(out, "handle_bad_group_id '%s' # bad gid\n", path); break; case RM_LINT_TYPE_BADUGID: fprintf(out, "handle_bad_user_and_group_id '%s' # bad gid\n", path); break; case RM_LINT_TYPE_DUPE_DIR_CANDIDATE: case RM_LINT_TYPE_DUPE_CANDIDATE: rm_fmt_write_duplicate(self, out, file); break; default: rm_log_warning("Warning: unknown type in encountered: %d\n", file->lint_type); break; } self->line_count++; g_free(path); } static void rm_fmt_foot(_UNUSED RmSession *session, RmFmtHandler *parent, FILE *out) { RmFmtHandlerShScript *self = (RmFmtHandlerShScript *)parent; g_byte_array_free(self->order, true); if(rm_fmt_is_stream(session->formats, parent)) { /* You will have a hard time deleting standard streams. */ return; } char *escaped_path = rm_fmt_sh_escape_path(parent->path); fprintf(out, SH_SCRIPT_TEMPLATE_FOOT, "rm -f", escaped_path); const char progress_marker_text[] = "PROGRESS_TOTAL="; char *progress_marker = strstr(SH_SCRIPT_TEMPLATE_HEAD, progress_marker_text); if(progress_marker != NULL) { gsize offset = (progress_marker - SH_SCRIPT_TEMPLATE_HEAD) + sizeof(progress_marker_text) - 1; /* Go to the exact write position */ if(fseek(out, offset, SEEK_SET) != -1) { if(fprintf(out, "%"LLU, self->line_count) < 0) { rm_log_perror("writing total progress failed; there will be no proress bar"); } } else { rm_log_perror("Seeking in script failed; there will be no progress bar"); } } g_free(escaped_path); } static RmFmtHandlerShScript SH_SCRIPT_HANDLER_IMPL = { .parent = { .size = sizeof(SH_SCRIPT_HANDLER_IMPL), .name = "sh", .head = rm_fmt_head, .elem = rm_fmt_elem, .prog = NULL, .foot = rm_fmt_foot, .valid_keys = {"handler", "cmd", "clone", "link", "hardlink", "symlink", NULL}, }, .last_original = NULL, .line_count = 0 }; RmFmtHandler *SH_SCRIPT_HANDLER = (RmFmtHandler *) &SH_SCRIPT_HANDLER_IMPL; rmlint-2.6.1/lib/formats/sh.sh000066400000000000000000000200561312046612000162120ustar00rootroot00000000000000#!/bin/sh PROGRESS_CURR=0 PROGRESS_TOTAL= # This file was autowritten by rmlint # rmlint was executed from: %s # Your command line was: %s RMLINT_BINARY="%s" # In special cases --equal needs special args to mimic # the behaviour that lead to finding the duplicates below. RMLINT_EQUAL_EXTRA_ARGS="%s" USER='%s' GROUP='%s' # Set to true on -n DO_DRY_RUN= # Set to true on -p DO_PARANOID_CHECK= # Set to true on -r DO_CLONE_READONLY= # Set to true on -q DO_SHOW_PROGRESS=true # Set to true on -c DO_DELETE_EMPTY_DIRS= ################################## # GENERAL LINT HANDLER FUNCTIONS # ################################## COL_RED='\e[0;31m' COL_BLUE='\e[1;34m' COL_GREEN='\e[0;32m' COL_YELLOW='\e[0;33m' COL_RESET='\e[0m' print_progress_prefix() { if [ -n "$DO_SHOW_PROGRESS" ]; then PROGRESS_PERC=0 if [ $((PROGRESS_TOTAL)) -gt 0 ]; then PROGRESS_PERC=$((PROGRESS_CURR * 100 / PROGRESS_TOTAL)) fi printf "$COL_BLUE[% 3d%%]$COL_RESET " $PROGRESS_PERC PROGRESS_CURR=$((PROGRESS_CURR+1)) fi } handle_emptyfile() { print_progress_prefix echo "${COL_GREEN}Deleting empty file:${COL_RESET}" "$1" if [ -z "$DO_DRY_RUN" ]; then rm -f "$1" fi } handle_emptydir() { print_progress_prefix echo "${COL_GREEN}Deleting empty directory: ${COL_RESET}" "$1" if [ -z "$DO_DRY_RUN" ]; then rmdir "$1" fi } handle_bad_symlink() { print_progress_prefix echo "${COL_GREEN} Deleting symlink pointing nowhere: ${COL_RESET}" "$1" if [ -z "$DO_DRY_RUN" ]; then rm -f "$1" fi } handle_unstripped_binary() { print_progress_prefix echo "${COL_GREEN} Stripping debug symbols of: ${COL_RESET}" "$1" if [ -z "$DO_DRY_RUN" ]; then strip -s "$1" fi } handle_bad_user_id() { print_progress_prefix echo "${COL_GREEN}chown ${USER}${COL_RESET}" "$1" if [ -z "$DO_DRY_RUN" ]; then chown "$USER" "$1" fi } handle_bad_group_id() { print_progress_prefix echo "${COL_GREEN}chgrp ${GROUP}${COL_RESET}" "$1" if [ -z "$DO_DRY_RUN" ]; then chgrp "$GROUP" "$1" fi } handle_bad_user_and_group_id() { print_progress_prefix echo "${COL_GREEN}chown ${USER}:${GROUP}${COL_RESET}" "$1" if [ -z "$DO_DRY_RUN" ]; then chown "$USER:$GROUP" "$1" fi } ############################### # DUPLICATE HANDLER FUNCTIONS # ############################### check_for_equality() { if [ -f "$1" ]; then # Use the more lightweight builtin `cmp` for regular files: cmp -s "$1" "$2" echo $? else # Fallback to `rmlint --equal` for directories: $RMLINT_BINARY -pp --equal $RMLINT_EQUAL_EXTRA_ARGS "$1" "$2" echo $? fi } original_check() { if [ ! -e "$2" ]; then echo $COL_RED "^^^^^^ Error: original has disappeared - cancelling....." $COL_RESET return 1 fi if [ ! -e "$1" ]; then echo $COL_RED "^^^^^^ Error: duplicate has disappeared - cancelling....." $COL_RESET return 1 fi # Check they are not the exact same file (hardlinks allowed): if [ "$1" = "$2" ]; then echo $COL_RED "^^^^^^ Error: original and duplicate point to the *same* path - cancelling....." $COL_RESET return 1 fi # Do double-check if requested: if [ -z "$DO_PARANOID_CHECK" ]; then return 0 else if [ $(check_for_equality "$1" "$2") -ne 0 ]; then echo $COL_RED "^^^^^^ Error: files no longer identical - cancelling....." $COL_RESET fi fi } cp_hardlink() { print_progress_prefix echo "${COL_YELLOW}Hardlinking to original: ${COL_RESET}" "$1" if original_check "$1" "$2"; then if [ -z "$DO_DRY_RUN" ]; then # If it's a directory cp will create a new copy into # the destination path. This would lead to more wasted space... if [ -d "$1" ]; then rm -rf "$1" fi cp --remove-destination --archive --link "$2" "$1" fi fi } cp_symlink() { print_progress_prefix echo "${COL_YELLOW}Symlinking to original: ${COL_RESET}" "$1" if original_check "$1" "$2"; then if [ -z "$DO_DRY_RUN" ]; then touch -mr "$1" "$0" if [ -d "$1" ]; then rm -rf "$1" fi cp --remove-destination --archive --symbolic-link "$2" "$1" touch -mr "$0" "$1" fi fi } cp_reflink() { print_progress_prefix # reflink $1 to $2's data, preserving $1's mtime echo "${COL_YELLOW}Reflinking to original: ${COL_RESET}" "$1" if original_check "$1" "$2"; then if [ -z "$DO_DRY_RUN" ]; then touch -mr "$1" "$0" if [ -d "$1" ]; then rm -rf "$1" fi cp --archive --reflink=always "$2" "$1" touch -mr "$0" "$1" fi fi } clone() { print_progress_prefix # clone $1 from $2's data echo "${COL_YELLOW}Cloning to: ${COL_RESET}" "$1" if [ -z "$DO_DRY_RUN" ]; then if [ -n "$DO_CLONE_READONLY" ]; then sudo $RMLINT_BINARY --btrfs-clone -r "$2" "$1" else $RMLINT_BINARY --btrfs-clone "$2" "$1" fi fi } skip_hardlink() { print_progress_prefix echo "${COL_BLUE}Leaving as-is (already hardlinked to original): ${COL_RESET}" "$1" } skip_reflink() { print_progress_prefix echo "{$COL_BLUE}Leaving as-is (already reflinked to original): ${COL_RESET}" "$1" } user_command() { print_progress_prefix # You can define this function to do what you want: %s } remove_cmd() { print_progress_prefix echo "${COL_YELLOW}Deleting: ${COL_RESET}" "$1" if original_check "$1" "$2"; then if [ -z "$DO_DRY_RUN" ]; then rm -rf "$1" if [ ! -z "$DO_DELETE_EMPTY_DIRS" ]; then DIR=$(dirname "$1") while [ ! "$(ls -A $DIR)" ]; do rmdir "$DIR" DIR=$(dirname "$DIR") done fi fi fi } original_cmd() { print_progress_prefix echo "${COL_GREEN}Keeping: ${COL_RESET}" "$1" } ################## # OPTION PARSING # ################## ask() { cat << EOF This script will delete certain files rmlint found. It is highly advisable to view the script first! Rmlint was executed in the following way: $ %s Execute this script with -d to disable this informational message. Type any string to continue; CTRL-C, Enter or CTRL-D to abort immediately EOF read eof_check if [ -z "$eof_check" ] then # Count Ctrl-D and Enter as aborted too. echo $COL_RED "Aborted on behalf of the user." $COL_RESET exit 1; fi } usage() { cat << EOF usage: $0 OPTIONS OPTIONS: -h Show this message. -d Do not ask before running. -x Keep rmlint.sh; do not autodelete it. -p Recheck that files are still identical before removing duplicates. -r Allow btrfs-clone to clone to read-only snapshots. (requires sudo) -n Do not perform any modifications, just print what would be done. (implies -d and -x) -c Clean up empty directories while deleting duplicates. -q Do not show progress. EOF } DO_REMOVE= DO_ASK= while getopts "dhxnrpqc" OPTION do case $OPTION in h) usage exit 1 ;; d) DO_ASK=false ;; x) DO_REMOVE=false ;; n) DO_DRY_RUN=true DO_REMOVE=false DO_ASK=false ;; r) DO_CLONE_READONLY=true ;; p) DO_PARANOID_CHECK=true ;; c) DO_DELETE_EMPTY_DIRS=true ;; q) DO_SHOW_PROGRESS= ;; esac done if [ -z $DO_ASK ] then usage ask fi if [ ! -z $DO_DRY_RUN ] then echo "#$COL_YELLOW ////////////////////////////////////////////////////////////" $COL_RESET echo "#$COL_YELLOW ///" $COL_RESET "This is only a dry run; nothing will be modified! " $COL_YELLOW "///" $COL_RESET echo "#$COL_YELLOW ////////////////////////////////////////////////////////////" $COL_RESET fi ######### START OF AUTOGENERATED OUTPUT ######### rmlint-2.6.1/lib/formats/stats.c000066400000000000000000000122111312046612000165400ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" #include #include #include #include #include #define ARROW \ fprintf(out, "%s==>%s ", MAYBE_YELLOW(out, session), MAYBE_RESET(out, session)); typedef struct RmFmtHandlerStats { /* must be first */ RmFmtHandler parent; } RmFmtHandlerStats; static void rm_fmt_prog(RmSession *session, _UNUSED RmFmtHandler *parent, _UNUSED FILE *out, RmFmtProgressState state) { if(state != RM_PROGRESS_STATE_SUMMARY) { return; } if(session->duplicate_bytes == 0 && session->shred_bytes_read == 0) { fprintf(out, _("No shred stats.\n")); return; } if(rm_session_was_aborted()) { /* Clear the whole terminal line. * Progressbar might leave some junk. */ struct winsize terminal; ioctl(fileno(out), TIOCGWINSZ, &terminal); for(int i = 0; i < terminal.ws_col; ++i) { fprintf(out, " "); } fprintf(out, "\n"); } char numbers[64]; ARROW fprintf(out, _("%sDuplicate finding stats (includes hardlinks):%s\n\n"), MAYBE_BLUE(out, session), MAYBE_RESET(out, session)); rm_util_size_to_human_readable(session->original_bytes, numbers, sizeof(numbers)); fprintf(out, _("%s%15s%s bytes of originals\n"), MAYBE_RED(out, session), numbers, MAYBE_RESET(out, session)); rm_util_size_to_human_readable(session->duplicate_bytes, numbers, sizeof(numbers)); fprintf(out, _("%s%15s%s bytes of duplicates\n"), MAYBE_RED(out, session), numbers, MAYBE_RESET(out, session)); rm_util_size_to_human_readable(session->unique_bytes, numbers, sizeof(numbers)); fprintf(out, _("%s%15s%s bytes of non-duplicates\n"), MAYBE_RED(out, session), numbers, MAYBE_RESET(out, session)); rm_util_size_to_human_readable(session->shred_bytes_read, numbers, sizeof(numbers)); fprintf(out, _("%s%15s%s bytes of files data actually read\n"), MAYBE_RED(out, session), numbers, MAYBE_RESET(out, session)); fprintf(out, _("%s%15d%s Files in total\n"), MAYBE_RED(out, session), session->total_files, MAYBE_RESET(out, session)); fprintf(out, _("%s%15ld%s Duplicate files\n"), MAYBE_RED(out, session), (long)session->dup_counter, MAYBE_RESET(out, session)); fprintf(out, _("%s%15ld%s Groups in total\n"), MAYBE_RED(out, session), (long)session->dup_group_counter, MAYBE_RESET(out, session)); fprintf(out, _("%s%15ld%s Other lint items\n"), MAYBE_RED(out, session), (long)session->other_lint_cnt, MAYBE_RESET(out, session)); gfloat elapsed = g_timer_elapsed(session->timer_since_proc_start, NULL); char *elapsed_time = rm_format_elapsed_time(elapsed, 5); fprintf( out, _("%s%15s%s of time spent scanning\n"), MAYBE_RED(out, session), elapsed_time, MAYBE_RESET(out, session) ); g_free(elapsed_time); char eff_total[64] = "NaN"; char eff_dupes[64] = "NaN"; if(session->shred_bytes_read != 0) { gfloat efficiency = 100 * (0 + session->duplicate_bytes + session->original_bytes + session->unique_bytes) / session->shred_bytes_read; snprintf(eff_total, sizeof(eff_total), "%.0f%%", efficiency); efficiency = 100 * (0 + session->duplicate_bytes + session->original_bytes) / session->shred_bytes_read; snprintf(eff_dupes, sizeof(eff_dupes), "%.1f%%", efficiency); } fprintf(out, _("%s%15s%s Algorithm efficiency on total files basis\n"), MAYBE_RED(out, session), eff_total, MAYBE_RESET(out, session)); fprintf(out, _("%s%15s%s Algorithm efficiency on duplicate file basis\n"), MAYBE_RED(out, session), eff_dupes, MAYBE_RESET(out, session)); } static RmFmtHandlerStats STATS_HANDLER_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(STATS_HANDLER_IMPL), .name = "stats", .head = NULL, .elem = NULL, .prog = rm_fmt_prog, .foot = NULL, .valid_keys = {NULL}, }, }; RmFmtHandler *STATS_HANDLER = (RmFmtHandler *)&STATS_HANDLER_IMPL; rmlint-2.6.1/lib/formats/summary.c000066400000000000000000000131111312046612000170770ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" #include #include #include #include #include typedef struct RmFmtHandlerSummary { /* must be first */ RmFmtHandler parent; } RmFmtHandlerSummary; #define ARROW \ fprintf(out, "%s==>%s ", MAYBE_YELLOW(out, session), MAYBE_RESET(out, session)); static void rm_fmt_prog(RmSession *session, _UNUSED RmFmtHandler *parent, _UNUSED FILE *out, RmFmtProgressState state) { if(state != RM_PROGRESS_STATE_SUMMARY) { return; } if(session->total_files <= 1) { ARROW fprintf(out, "%s%d%s", MAYBE_RED(out, session), session->total_files, MAYBE_RESET(out, session)); fprintf(out, _(" file(s) after investigation, nothing to search through.\n")); return; } if(rm_session_was_aborted()) { /* Clear the whole terminal line. * Progressbar might leave some junk. */ struct winsize terminal; ioctl(fileno(out), TIOCGWINSZ, &terminal); for(int i = 0; i < terminal.ws_col; ++i) { fprintf(out, " "); } fprintf(out, "\n"); ARROW fprintf(out, _("Early shutdown, probably not all lint was found.\n")); } if(rm_fmt_has_formatter(session->formats, "pretty") && rm_fmt_has_formatter(session->formats, "sh")) { ARROW fprintf(out, _("Note: Please use the saved script below for removal, not " "the above output.")); fprintf(out, "\n"); } char numbers[3][512]; snprintf(numbers[0], sizeof(numbers[0]), "%s%d%s", MAYBE_RED(out, session), session->total_files, MAYBE_RESET(out, session)); snprintf(numbers[1], sizeof(numbers[1]), "%s%" LLU "%s", MAYBE_RED(out, session), session->dup_counter, MAYBE_RESET(out, session)); snprintf(numbers[2], sizeof(numbers[2]), "%s%" LLU "%s", MAYBE_RED(out, session), session->dup_group_counter, MAYBE_RESET(out, session)); ARROW fprintf(out, _("In total %s files, whereof %s are duplicates in %s groups.\n"), numbers[0], numbers[1], numbers[2]); /* log10(2 ** 64) + 2 = 21; */ char size_string_buf[22] = {0}; rm_util_size_to_human_readable(session->total_lint_size, size_string_buf, sizeof(size_string_buf)); ARROW fprintf(out, _("This equals %s%s%s of duplicates which could be removed.\n"), MAYBE_RED(out, session), size_string_buf, MAYBE_RESET(out, session)); if(session->other_lint_cnt > 0) { ARROW fprintf(out, "%s%" LLU "%s ", MAYBE_RED(out, session), session->other_lint_cnt, MAYBE_RESET(out, session)); fprintf(out, _("other suspicious item(s) found, which may vary in size.\n")); } gfloat elapsed = g_timer_elapsed(session->timer_since_proc_start, NULL); char *elapsed_time = rm_format_elapsed_time(elapsed, 3); ARROW fprintf(out, _("Scanning took in total %s%s%s. Is that good enough?\n"), MAYBE_RED(out, session), elapsed_time, MAYBE_RESET(out, session)); g_free(elapsed_time); bool first_print_flag = true; GHashTableIter iter; char *path = NULL; RmFmtHandler *handler = NULL; rm_fmt_get_pair_iter(session->formats, &iter); while(g_hash_table_iter_next(&iter, (gpointer *)&path, (gpointer *)&handler)) { static const char *forbidden[] = {"stdout", "stderr", "stdin"}; gsize forbidden_len = sizeof(forbidden) / sizeof(forbidden[0]); bool forbidden_found = false; for(gsize i = 0; i < forbidden_len; i++) { if(g_strcmp0(forbidden[i], path) == 0) { forbidden_found = true; break; } } if(forbidden_found) { continue; } /* Check if the file really exists, so we can print it for sure */ if(access(path, R_OK) == -1) { continue; } if(first_print_flag) { fprintf(out, "\n"); first_print_flag = false; } fprintf(out, _("Wrote a %s%s%s file to: %s%s%s\n"), MAYBE_BLUE(out, session), handler->name, MAYBE_RESET(out, session), MAYBE_GREEN(out, session), path, MAYBE_RESET(out, session)); } } static RmFmtHandlerSummary SUMMARY_HANDLER_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(SUMMARY_HANDLER_IMPL), .name = "summary", .head = NULL, .elem = NULL, .prog = rm_fmt_prog, .foot = NULL, .valid_keys = {NULL}, }, }; RmFmtHandler *SUMMARY_HANDLER = (RmFmtHandler *)&SUMMARY_HANDLER_IMPL; rmlint-2.6.1/lib/formats/timestamp.c000066400000000000000000000041661312046612000174170ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" #include #include #include #include typedef struct RmFmtHandlerTimestamp { /* must be first */ RmFmtHandler parent; } RmFmtHandlerSummary; static void rm_fmt_prog(RmSession *session, _UNUSED RmFmtHandler *parent, _UNUSED FILE *out, RmFmtProgressState state) { if(state != RM_PROGRESS_STATE_INIT) { return; } if(rm_fmt_get_config_value(session->formats, "stamp", "iso8601")) { char time_buf[256]; memset(time_buf, 0, sizeof(time_buf)); rm_iso8601_format(time(NULL), time_buf, sizeof(time_buf)); fprintf(out, "%s", time_buf); } else { /* Just write out current time */ fprintf(out, "%" LLU "", (guint64)time(NULL)); } } static RmFmtHandlerSummary TIMESTAMP_HANDLER_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(TIMESTAMP_HANDLER_IMPL), .name = "stamp", .head = NULL, .elem = NULL, .prog = rm_fmt_prog, .foot = NULL, .valid_keys = {"iso8601", NULL}, }, }; RmFmtHandler *TIMESTAMP_HANDLER = (RmFmtHandler *)&TIMESTAMP_HANDLER_IMPL; rmlint-2.6.1/lib/formats/uniques.c000066400000000000000000000040341312046612000170770ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "../formats.h" #include #include #include typedef struct RmFmtHandlerUniques { /* must be first */ RmFmtHandler parent; } RmFmtHandlerUniques; static void rm_fmt_elem(_UNUSED RmSession *session, _UNUSED RmFmtHandler *parent, _UNUSED FILE *out, RmFile *file) { if(file->lint_type != RM_LINT_TYPE_UNIQUE_FILE) { /* we only not want to list unfinished files. */ return; } if(session->cfg->keep_all_tagged && !file->is_prefd) { /* don't list 'untagged' files as unique */ return; } if(session->cfg->keep_all_untagged && file->is_prefd) { /* don't list 'tagged' files as unique */ return; } RM_DEFINE_PATH(file); fputs(file_path, out); fputc('\n', out); } static RmFmtHandlerUniques UNIQUES_HANDLER_IMPL = { /* Initialize parent */ .parent = { .size = sizeof(UNIQUES_HANDLER_IMPL), .name = "uniques", .head = NULL, .elem = rm_fmt_elem, .prog = NULL, .foot = NULL, .valid_keys = {NULL}, }}; RmFmtHandler *UNIQUES_HANDLER = (RmFmtHandler *)&UNIQUES_HANDLER_IMPL; rmlint-2.6.1/lib/fts/000077500000000000000000000000001312046612000143625ustar00rootroot00000000000000rmlint-2.6.1/lib/fts/fts.c000066400000000000000000001073231312046612000153300ustar00rootroot00000000000000/* $NetBSD: fts.c,v 1.48 2015/01/29 15:55:21 manu Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 * The Regents of the University of California. All rights reserved. * * 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. * 3. Neither the name of the University 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 REGENTS 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 REGENTS 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. */ #if defined(LIBC_SCCS) && !defined(lint) #if 0 static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94"; #else __RCSID("$NetBSD: fts.c,v 1.48 2015/01/29 15:55:21 manu Exp $"); #endif #endif /* LIBC_SCCS and not lint */ #include #include #include #define _DIAGASSERT(e) #include #include #include #include #include #include #include "fts.h" #include "../config.h" #ifndef FTS_PATH_MAX #define FTS_PATH_MAX PATH_MAX #endif static FTSENT *fts_alloc(FTS *, const char *, size_t); static FTSENT *fts_build(FTS *, int); static void fts_free(FTSENT *); static void fts_lfree(FTSENT *); static void fts_load(FTS *, FTSENT *); static size_t fts_maxarglen(char *const *); static size_t fts_pow2(size_t); static int fts_palloc(FTS *, size_t); static void fts_padjust(FTS *, FTSENT *); static FTSENT *fts_sort(FTS *, FTSENT *, size_t); static unsigned short fts_stat(FTS *, FTSENT *, int); static int fts_safe_changedir(const FTS *, const FTSENT *, int, const char *); #if defined(ALIGNBYTES) && defined(ALIGN) #define FTS_ALLOC_ALIGNED 1 #else #undef FTS_ALLOC_ALIGNED #endif #ifndef ftsent_namelen_truncate #define ftsent_namelen_truncate(a) ((a) > UINT_MAX ? UINT_MAX : (unsigned int)(a)) #endif #ifndef ftsent_pathlen_truncate #define ftsent_pathlen_truncate(a) ((a) > UINT_MAX ? UINT_MAX : (unsigned int)(a)) #endif #ifndef fts_pathlen_truncate #define fts_pathlen_truncate(a) ((a) > UINT_MAX ? UINT_MAX : (unsigned int)(a)) #endif #ifndef fts_nitems_truncate #define fts_nitems_truncate(a) ((a) > UINT_MAX ? UINT_MAX : (unsigned int)(a)) #endif #define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2]))) #define CLR(opt) (sp->fts_options &= ~(opt)) #define ISSET(opt) (sp->fts_options & (opt)) #define SET(opt) (sp->fts_options |= (opt)) #define CHDIR(sp, path) (!ISSET(FTS_NOCHDIR) && chdir(path)) #define FCHDIR(sp, fd) (!ISSET(FTS_NOCHDIR) && fchdir(fd)) /* fts_build flags */ #define BCHILD 1 /* fts_children */ #define BNAMES 2 /* fts_children, names only */ #define BREAD 3 /* fts_read */ #ifndef DTF_HIDEW #undef FTS_WHITEOUT #endif FTS *fts_open(char *const *argv, int options, int (*compar)(const FTSENT **, const FTSENT **)) { FTS *sp; FTSENT *p, *root; size_t nitems; FTSENT *parent, *tmp = NULL; /* pacify gcc */ size_t len; _DIAGASSERT(argv != NULL); /* Options check. */ if(options & ~FTS_OPTIONMASK) { errno = EINVAL; return (NULL); } /* Allocate/initialize the stream */ if((sp = malloc(sizeof(FTS))) == NULL) return (NULL); memset(sp, 0, sizeof(FTS)); sp->fts_compar = compar; sp->fts_options = options; /* Logical walks turn on NOCHDIR; symbolic links are too hard. */ if(ISSET(FTS_LOGICAL)) SET(FTS_NOCHDIR); /* * Start out with 1K of path space, and enough, in any case, * to hold the user's paths. */ if(fts_palloc(sp, MAX(fts_maxarglen(argv), FTS_PATH_MAX))) goto mem1; /* Allocate/initialize root's parent. */ if((parent = fts_alloc(sp, "", 0)) == NULL) goto mem2; parent->fts_level = FTS_ROOTPARENTLEVEL; /* Allocate/initialize root(s). */ for(root = NULL, nitems = 0; *argv; ++argv, ++nitems) { /* Don't allow zero-length paths. */ if((len = strlen(*argv)) == 0) { errno = ENOENT; goto mem3; } if((p = fts_alloc(sp, *argv, len)) == NULL) goto mem3; p->fts_level = FTS_ROOTLEVEL; p->fts_parent = parent; p->fts_accpath = p->fts_name; p->fts_info = fts_stat(sp, p, ISSET(FTS_COMFOLLOW)); /* Command-line "." and ".." are real directories. */ if(p->fts_info == FTS_DOT) p->fts_info = FTS_D; /* * If comparison routine supplied, traverse in sorted * order; otherwise traverse in the order specified. */ if(compar) { p->fts_link = root; root = p; } else { p->fts_link = NULL; if(root == NULL) tmp = root = p; else { tmp->fts_link = p; tmp = p; } } } if(compar && nitems > 1) root = fts_sort(sp, root, nitems); /* * Allocate a dummy pointer and make fts_read think that we've just * finished the node before the root(s); set p->fts_info to FTS_INIT * so that everything about the "current" node is ignored. */ if((sp->fts_cur = fts_alloc(sp, "", 0)) == NULL) goto mem3; sp->fts_cur->fts_link = root; sp->fts_cur->fts_info = FTS_INIT; /* * If using chdir(2), grab a file descriptor pointing to dot to ensure * that we can get back here; this could be avoided for some paths, * but almost certainly not worth the effort. Slashes, symbolic links, * and ".." are all fairly nasty problems. Note, if we can't get the * descriptor we run anyway, just more slowly. */ #ifndef O_CLOEXEC #define O_CLOEXEC 0 #endif if(!ISSET(FTS_NOCHDIR)) { if((sp->fts_rfd = open(".", O_RDONLY | O_CLOEXEC, 0)) == -1) SET(FTS_NOCHDIR); } if(nitems == 0) fts_free(parent); return (sp); mem3: fts_lfree(root); fts_free(parent); mem2: free(sp->fts_path); mem1: free(sp); return (NULL); } static void fts_load(FTS *sp, FTSENT *p) { size_t len; char *cp; _DIAGASSERT(sp != NULL); _DIAGASSERT(p != NULL); /* * Load the stream structure for the next traversal. Since we don't * actually enter the directory until after the preorder visit, set * the fts_accpath field specially so the chdir gets done to the right * place and the user can access the first node. From fts_open it's * known that the path will fit. */ len = p->fts_pathlen = p->fts_namelen; memmove(sp->fts_path, p->fts_name, len + 1); if((cp = strrchr(p->fts_name, '/')) && (cp != p->fts_name || cp[1])) { len = strlen(++cp); memmove(p->fts_name, cp, len + 1); p->fts_namelen = ftsent_namelen_truncate(len); } p->fts_accpath = p->fts_path = sp->fts_path; sp->fts_dev = p->fts_dev; } int fts_close(FTS *sp) { FTSENT *freep, *p; int saved_errno = 0; _DIAGASSERT(sp != NULL); /* * This still works if we haven't read anything -- the dummy structure * points to the root list, so we step through to the end of the root * list which has a valid parent pointer. */ if(sp->fts_cur) { if(sp->fts_cur->fts_flags & FTS_SYMFOLLOW) (void)close(sp->fts_cur->fts_symfd); for(p = sp->fts_cur; p->fts_level >= FTS_ROOTLEVEL;) { freep = p; p = p->fts_link ? p->fts_link : p->fts_parent; fts_free(freep); } fts_free(p); } /* Free up child linked list, sort array, path buffer. */ if(sp->fts_child) fts_lfree(sp->fts_child); if(sp->fts_array) free(sp->fts_array); free(sp->fts_path); /* Return to original directory, save errno if necessary. */ if(!ISSET(FTS_NOCHDIR)) { if(fchdir(sp->fts_rfd) == -1) saved_errno = errno; (void)close(sp->fts_rfd); } /* Free up the stream pointer. */ free(sp); if(saved_errno) { errno = saved_errno; return -1; } return 0; } #if !defined(__FTS_COMPAT_TAILINGSLASH) /* * Special case of "/" at the end of the path so that slashes aren't * appended which would cause paths to be written as "....//foo". */ #define NAPPEND(p) \ (p->fts_path[p->fts_pathlen - 1] == '/' ? p->fts_pathlen - 1 : p->fts_pathlen) #else /* !defined(__FTS_COMPAT_TAILINGSLASH) */ /* * compatibility with the old behaviour. * * Special case a root of "/" so that slashes aren't appended which would * cause paths to be written as "//foo". */ #define NAPPEND(p) \ (p->fts_level == FTS_ROOTLEVEL && p->fts_pathlen == 1 && p->fts_path[0] == '/' \ ? 0 \ : p->fts_pathlen) #endif /* !defined(__FTS_COMPAT_TAILINGSLASH) */ FTSENT *fts_read(FTS *sp) { FTSENT *p, *tmp; int instr; char *t; int saved_errno; _DIAGASSERT(sp != NULL); /* If finished or unrecoverable error, return NULL. */ if(sp->fts_cur == NULL || ISSET(FTS_STOP)) return (NULL); /* Set current node pointer. */ p = sp->fts_cur; /* Save and zero out user instructions. */ instr = p->fts_instr; p->fts_instr = FTS_NOINSTR; /* Any type of file may be re-visited; re-stat and re-turn. */ if(instr == FTS_AGAIN) { p->fts_info = fts_stat(sp, p, 0); return (p); } /* * Following a symlink -- SLNONE test allows application to see * SLNONE and recover. If indirecting through a symlink, have * keep a pointer to current location. If unable to get that * pointer, follow fails. */ if(instr == FTS_FOLLOW && (p->fts_info == FTS_SL || p->fts_info == FTS_SLNONE)) { p->fts_info = fts_stat(sp, p, 1); if(p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { if((p->fts_symfd = open(".", O_RDONLY | O_CLOEXEC, 0)) == -1) { p->fts_errno = errno; p->fts_info = FTS_ERR; } else p->fts_flags |= FTS_SYMFOLLOW; } return (p); } /* Directory in pre-order. */ if(p->fts_info == FTS_D) { /* If skipped or crossed mount point, do post-order visit. */ if(instr == FTS_SKIP || (ISSET(FTS_XDEV) && p->fts_dev != sp->fts_dev)) { if(p->fts_flags & FTS_SYMFOLLOW) (void)close(p->fts_symfd); if(sp->fts_child) { fts_lfree(sp->fts_child); sp->fts_child = NULL; } p->fts_info = FTS_DP; return (p); } /* Rebuild if only read the names and now traversing. */ if(sp->fts_child && ISSET(FTS_NAMEONLY)) { CLR(FTS_NAMEONLY); fts_lfree(sp->fts_child); sp->fts_child = NULL; } /* * Cd to the subdirectory. * * If have already read and now fail to chdir, whack the list * to make the names come out right, and set the parent errno * so the application will eventually get an error condition. * Set the FTS_DONTCHDIR flag so that when we logically change * directories back to the parent we don't do a chdir. * * If haven't read do so. If the read fails, fts_build sets * FTS_STOP or the fts_info field of the node. */ if(sp->fts_child) { if(fts_safe_changedir(sp, p, -1, p->fts_accpath)) { p->fts_errno = errno; p->fts_flags |= FTS_DONTCHDIR; for(p = sp->fts_child; p; p = p->fts_link) p->fts_accpath = p->fts_parent->fts_accpath; } } else if((sp->fts_child = fts_build(sp, BREAD)) == NULL) { if(ISSET(FTS_STOP)) return (NULL); return (p); } p = sp->fts_child; sp->fts_child = NULL; goto name; } next: /* Move to the next node on this level. */ tmp = p; /* * We are going to free sp->fts_cur, set it to NULL so * that fts_close() does not attempt to free it again * if we exit without setting it to a new value because * FCHDIR() failed below. */ assert(tmp == sp->fts_cur); sp->fts_cur = NULL; if((p = p->fts_link) != NULL) { fts_free(tmp); /* * If reached the top, return to the original directory, and * load the paths for the next root. */ if(p->fts_level == FTS_ROOTLEVEL) { if(FCHDIR(sp, sp->fts_rfd)) { SET(FTS_STOP); return (NULL); } fts_load(sp, p); return (sp->fts_cur = p); } /* * User may have called fts_set on the node. If skipped, * ignore. If followed, get a file descriptor so we can * get back if necessary. */ if(p->fts_instr == FTS_SKIP) goto next; if(p->fts_instr == FTS_FOLLOW) { p->fts_info = fts_stat(sp, p, 1); if(p->fts_info == FTS_D && !ISSET(FTS_NOCHDIR)) { if((p->fts_symfd = open(".", O_RDONLY | O_CLOEXEC, 0)) == -1) { p->fts_errno = errno; p->fts_info = FTS_ERR; } else p->fts_flags |= FTS_SYMFOLLOW; } p->fts_instr = FTS_NOINSTR; } name: t = sp->fts_path + NAPPEND(p->fts_parent); *t++ = '/'; memmove(t, p->fts_name, (size_t)(p->fts_namelen + 1)); return (sp->fts_cur = p); } /* Move up to the parent node. */ p = tmp->fts_parent; fts_free(tmp); if(p->fts_level == FTS_ROOTPARENTLEVEL) { /* * Done; free everything up and set errno to 0 so the user * can distinguish between error and EOF. */ fts_free(p); errno = 0; return (sp->fts_cur = NULL); } /* NUL terminate the pathname. */ sp->fts_path[p->fts_pathlen] = '\0'; /* * Return to the parent directory. If at a root node or came through * a symlink, go back through the file descriptor. Otherwise, cd up * one directory. */ if(p->fts_level == FTS_ROOTLEVEL) { if(FCHDIR(sp, sp->fts_rfd)) { SET(FTS_STOP); return (NULL); } } else if(p->fts_flags & FTS_SYMFOLLOW) { if(FCHDIR(sp, p->fts_symfd)) { saved_errno = errno; (void)close(p->fts_symfd); errno = saved_errno; SET(FTS_STOP); return (NULL); } (void)close(p->fts_symfd); } else if(!(p->fts_flags & FTS_DONTCHDIR) && fts_safe_changedir(sp, p->fts_parent, -1, "..")) { SET(FTS_STOP); return (NULL); } p->fts_info = p->fts_errno ? FTS_ERR : FTS_DP; return (sp->fts_cur = p); } /* * Fts_set takes the stream as an argument although it's not used in this * implementation; it would be necessary if anyone wanted to add global * semantics to fts using fts_set. An error return is allowed for similar * reasons. */ /* ARGSUSED */ int fts_set(FTS *sp, FTSENT *p, int instr) { (void)sp; _DIAGASSERT(sp != NULL); _DIAGASSERT(p != NULL); if(instr && instr != FTS_AGAIN && instr != FTS_FOLLOW && instr != FTS_NOINSTR && instr != FTS_SKIP) { errno = EINVAL; return (1); } p->fts_instr = instr; return (0); } FTSENT *fts_children(FTS *sp, int instr) { FTSENT *p; int fd; _DIAGASSERT(sp != NULL); if(instr && instr != FTS_NAMEONLY) { errno = EINVAL; return (NULL); } /* Set current node pointer. */ p = sp->fts_cur; /* * Errno set to 0 so user can distinguish empty directory from * an error. */ errno = 0; /* Fatal errors stop here. */ if(ISSET(FTS_STOP)) return (NULL); /* Return logical hierarchy of user's arguments. */ if(p->fts_info == FTS_INIT) return (p->fts_link); /* * If not a directory being visited in pre-order, stop here. Could * allow FTS_DNR, assuming the user has fixed the problem, but the * same effect is available with FTS_AGAIN. */ if(p->fts_info != FTS_D /* && p->fts_info != FTS_DNR */) return (NULL); /* Free up any previous child list. */ if(sp->fts_child) fts_lfree(sp->fts_child); if(instr == FTS_NAMEONLY) { SET(FTS_NAMEONLY); instr = BNAMES; } else instr = BCHILD; /* * If using chdir on a relative path and called BEFORE fts_read does * its chdir to the root of a traversal, we can lose -- we need to * chdir into the subdirectory, and we don't know where the current * directory is, so we can't get back so that the upcoming chdir by * fts_read will work. */ if(p->fts_level != FTS_ROOTLEVEL || p->fts_accpath[0] == '/' || ISSET(FTS_NOCHDIR)) return (sp->fts_child = fts_build(sp, instr)); if((fd = open(".", O_RDONLY | O_CLOEXEC, 0)) == -1) return (sp->fts_child = NULL); sp->fts_child = fts_build(sp, instr); if(fchdir(fd)) { (void)close(fd); return (NULL); } (void)close(fd); return (sp->fts_child); } /* * This is the tricky part -- do not casually change *anything* in here. The * idea is to build the linked list of entries that are used by fts_children * and fts_read. There are lots of special cases. * * The real slowdown in walking the tree is the stat calls. If FTS_NOSTAT is * set and it's a physical walk (so that symbolic links can't be directories), * we can do things quickly. First, if it's a 4.4BSD file system, the type * of the file is in the directory entry. Otherwise, we assume that the number * of subdirectories in a node is equal to the number of links to the parent. * The former skips all stat calls. The latter skips stat calls in any leaf * directories and for any files after the subdirectories in the directory have * been found, cutting the stat calls by about 2/3. */ static FTSENT *fts_build(FTS *sp, int type) { struct dirent *dp; FTSENT *p, *head; size_t nitems; FTSENT *cur, *tail; DIR *dirp; void *oldaddr; size_t dnamlen; int cderrno, descend, level, nlinks, saved_errno, nostat, doadjust; size_t len, maxlen; #ifdef FTS_WHITEOUT int oflag; #endif char *cp = NULL; /* pacify gcc */ _DIAGASSERT(sp != NULL); /* Set current node pointer. */ cur = sp->fts_cur; /* * Open the directory for reading. If this fails, we're done. * If being called from fts_read, set the fts_info field. */ #ifdef FTS_WHITEOUT if(ISSET(FTS_WHITEOUT)) oflag = DTF_NODUP | DTF_REWIND; else oflag = DTF_HIDEW | DTF_NODUP | DTF_REWIND; #else #define __opendir2(path, flag) opendir(path) #endif if((dirp = __opendir2(cur->fts_accpath, oflag)) == NULL) { if(type == BREAD) { cur->fts_info = FTS_DNR; cur->fts_errno = errno; } return (NULL); } /* * Nlinks is the number of possible entries of type directory in the * directory if we're cheating on stat calls, 0 if we're not doing * any stat calls at all, -1 if we're doing stats on everything. */ if(type == BNAMES) { nlinks = 0; nostat = 1; } else if(ISSET(FTS_NOSTAT) && ISSET(FTS_PHYSICAL)) { nlinks = cur->fts_nlink - (ISSET(FTS_SEEDOT) ? 0 : 2); nostat = 1; } else { nlinks = -1; nostat = 0; } #ifdef notdef (void)printf("nlinks == %d (cur: %d)\n", nlinks, cur->fts_nlink); (void)printf("NOSTAT %d PHYSICAL %d SEEDOT %d\n", ISSET(FTS_NOSTAT), ISSET(FTS_PHYSICAL), ISSET(FTS_SEEDOT)); #endif /* * If we're going to need to stat anything or we want to descend * and stay in the directory, chdir. If this fails we keep going, * but set a flag so we don't chdir after the post-order visit. * We won't be able to stat anything, but we can still return the * names themselves. Note, that since fts_read won't be able to * chdir into the directory, it will have to return different path * names than before, i.e. "a/b" instead of "b". Since the node * has already been visited in pre-order, have to wait until the * post-order visit to return the error. There is a special case * here, if there was nothing to stat then it's not an error to * not be able to stat. This is all fairly nasty. If a program * needed sorted entries or stat information, they had better be * checking FTS_NS on the returned nodes. */ cderrno = 0; if(nlinks || type == BREAD) { if(fts_safe_changedir(sp, cur, dirfd(dirp), NULL)) { if(nlinks && type == BREAD) cur->fts_errno = errno; cur->fts_flags |= FTS_DONTCHDIR; descend = 0; cderrno = errno; } else descend = 1; } else descend = 0; /* * Figure out the max file name length that can be stored in the * current path -- the inner loop allocates more path as necessary. * We really wouldn't have to do the maxlen calculations here, we * could do them in fts_read before returning the path, but it's a * lot easier here since the length is part of the dirent structure. * * If not changing directories set a pointer so that can just append * each new name into the path. */ len = NAPPEND(cur); if(ISSET(FTS_NOCHDIR)) { cp = sp->fts_path + len; *cp++ = '/'; } len++; maxlen = sp->fts_pathlen - len; #if defined(__FTS_COMPAT_LEVEL) if(cur->fts_level == SHRT_MAX) { (void)closedir(dirp); cur->fts_info = FTS_ERR; SET(FTS_STOP); errno = ENAMETOOLONG; return (NULL); } #endif level = cur->fts_level + 1; /* Read the directory, attaching each entry to the `link' pointer. */ doadjust = 0; for(head = tail = NULL, nitems = 0; (dp = readdir(dirp)) != NULL;) { if(!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name)) continue; #if defined(HAVE_STRUCT_DIRENT_D_NAMLEN) dnamlen = dp->d_namlen; #else dnamlen = strlen(dp->d_name); #endif if((p = fts_alloc(sp, dp->d_name, dnamlen)) == NULL) goto mem1; if(dnamlen >= maxlen) { /* include space for NUL */ oldaddr = sp->fts_path; if(fts_palloc(sp, dnamlen + len + 1)) { /* * No more memory for path or structures. Save * errno, free up the current structure and the * structures already allocated. */ mem1: saved_errno = errno; if(p) fts_free(p); fts_lfree(head); (void)closedir(dirp); errno = saved_errno; cur->fts_info = FTS_ERR; SET(FTS_STOP); return (NULL); } /* Did realloc() change the pointer? */ if(oldaddr != sp->fts_path) { doadjust = 1; if(ISSET(FTS_NOCHDIR)) cp = sp->fts_path + len; } maxlen = sp->fts_pathlen - len; } #if defined(__FTS_COMPAT_LENGTH) if(len + dnamlen >= USHRT_MAX) { /* * In an FTSENT, fts_pathlen is an unsigned short * so it is possible to wraparound here. * If we do, free up the current structure and the * structures already allocated, then error out * with ENAMETOOLONG. */ fts_free(p); fts_lfree(head); (void)closedir(dirp); cur->fts_info = FTS_ERR; SET(FTS_STOP); errno = ENAMETOOLONG; return (NULL); } #endif p->fts_level = level; p->fts_pathlen = ftsent_pathlen_truncate(len + dnamlen); p->fts_parent = sp->fts_cur; #ifdef FTS_WHITEOUT if(dp->d_type == DT_WHT) p->fts_flags |= FTS_ISW; #endif if(cderrno) { if(nlinks) { p->fts_info = FTS_NS; p->fts_errno = cderrno; } else p->fts_info = FTS_NSOK; p->fts_accpath = cur->fts_accpath; } else if(nlinks == 0 #ifdef DT_DIR || (nostat && dp->d_type != DT_DIR && dp->d_type != DT_UNKNOWN) #endif ) { p->fts_accpath = ISSET(FTS_NOCHDIR) ? p->fts_path : p->fts_name; p->fts_info = FTS_NSOK; } else { /* Build a file name for fts_stat to stat. */ if(ISSET(FTS_NOCHDIR)) { p->fts_accpath = p->fts_path; memmove(cp, p->fts_name, (size_t)(p->fts_namelen + 1)); } else p->fts_accpath = p->fts_name; /* Stat it. */ p->fts_info = fts_stat(sp, p, 0); /* Decrement link count if applicable. */ if(nlinks > 0 && (p->fts_info == FTS_D || p->fts_info == FTS_DC || p->fts_info == FTS_DOT)) --nlinks; } /* We walk in directory order so "ls -f" doesn't get upset. */ p->fts_link = NULL; if(head == NULL) head = tail = p; else { tail->fts_link = p; tail = p; } ++nitems; } (void)closedir(dirp); /* * If had to realloc the path, adjust the addresses for the rest * of the tree. */ if(doadjust) fts_padjust(sp, head); /* * If not changing directories, reset the path back to original * state. */ if(ISSET(FTS_NOCHDIR)) { if(len == sp->fts_pathlen || nitems == 0) --cp; *cp = '\0'; } /* * If descended after called from fts_children or after called from * fts_read and nothing found, get back. At the root level we use * the saved fd; if one of fts_open()'s arguments is a relative path * to an empty directory, we wind up here with no other way back. If * can't get back, we're done. */ if(descend && (type == BCHILD || !nitems) && (cur->fts_level == FTS_ROOTLEVEL ? FCHDIR(sp, sp->fts_rfd) : fts_safe_changedir(sp, cur->fts_parent, -1, ".."))) { cur->fts_info = FTS_ERR; SET(FTS_STOP); return (NULL); } /* If didn't find anything, return NULL. */ if(!nitems) { if(type == BREAD) cur->fts_info = FTS_DP; return (NULL); } /* Sort the entries. */ if(sp->fts_compar && nitems > 1) head = fts_sort(sp, head, nitems); return (head); } static unsigned short fts_stat(FTS *sp, FTSENT *p, int follow) { FTSENT *t; dev_t dev; __fts_ino_t ino; __fts_stat_t *sbp, sb; int saved_errno; _DIAGASSERT(sp != NULL); _DIAGASSERT(p != NULL); /* If user needs stat info, stat buffer already allocated. */ sbp = ISSET(FTS_NOSTAT) ? &sb : p->fts_statp; #ifdef FTS_WHITEOUT /* check for whiteout */ if(p->fts_flags & FTS_ISW) { if(sbp != &sb) { memset(sbp, '\0', sizeof(*sbp)); sbp->st_mode = S_IFWHT; } return (FTS_W); } #endif /* * If doing a logical walk, or application requested FTS_FOLLOW, do * a stat(2). If that fails, check for a non-existent symlink. If * fail, set the errno from the stat call. */ if(ISSET(FTS_LOGICAL) || follow) { if(stat(p->fts_accpath, sbp)) { saved_errno = errno; if(!lstat(p->fts_accpath, sbp)) { errno = 0; return (FTS_SLNONE); } p->fts_errno = saved_errno; goto err; } } else if(lstat(p->fts_accpath, sbp)) { p->fts_errno = errno; err: memset(sbp, 0, sizeof(*sbp)); return (FTS_NS); } if(S_ISDIR(sbp->st_mode)) { /* * Set the device/inode. Used to find cycles and check for * crossing mount points. Also remember the link count, used * in fts_build to limit the number of stat calls. It is * understood that these fields are only referenced if fts_info * is set to FTS_D. */ dev = p->fts_dev = sbp->st_dev; ino = p->fts_ino = sbp->st_ino; p->fts_nlink = sbp->st_nlink; if(ISDOT(p->fts_name)) return (FTS_DOT); /* * Cycle detection is done by brute force when the directory * is first encountered. If the tree gets deep enough or the * number of symbolic links to directories is high enough, * something faster might be worthwhile. */ for(t = p->fts_parent; t->fts_level >= FTS_ROOTLEVEL; t = t->fts_parent) if(ino == t->fts_ino && dev == t->fts_dev) { p->fts_cycle = t; return (FTS_DC); } return (FTS_D); } if(S_ISLNK(sbp->st_mode)) return (FTS_SL); if(S_ISREG(sbp->st_mode)) return (FTS_F); return (FTS_DEFAULT); } static FTSENT *fts_sort(FTS *sp, FTSENT *head, size_t nitems) { FTSENT **ap, *p; _DIAGASSERT(sp != NULL); _DIAGASSERT(head != NULL); /* * Construct an array of pointers to the structures and call qsort(3). * Reassemble the array in the order returned by qsort. If unable to * sort for memory reasons, return the directory entries in their * current order. Allocate enough space for the current needs plus * 40 so don't realloc one entry at a time. */ if(nitems > sp->fts_nitems) { FTSENT **new; new = realloc(sp->fts_array, sizeof(FTSENT *) * (nitems + 40)); if(new == 0) return (head); sp->fts_array = new; sp->fts_nitems = fts_nitems_truncate(nitems + 40); } for(ap = sp->fts_array, p = head; p; p = p->fts_link) *ap++ = p; qsort((void *)sp->fts_array, nitems, sizeof(FTSENT *), (int (*)(const void *, const void *))sp->fts_compar); for(head = *(ap = sp->fts_array); --nitems; ++ap) ap[0]->fts_link = ap[1]; ap[0]->fts_link = NULL; return (head); } static FTSENT *fts_alloc(FTS *sp, const char *name, size_t namelen) { FTSENT *p; #if defined(FTS_ALLOC_ALIGNED) size_t len; #endif _DIAGASSERT(sp != NULL); _DIAGASSERT(name != NULL); #if defined(FTS_ALLOC_ALIGNED) /* * The file name is a variable length array and no stat structure is * necessary if the user has set the nostat bit. Allocate the FTSENT * structure, the file name and the stat structure in one chunk, but * be careful that the stat structure is reasonably aligned. Since the * fts_name field is declared to be of size 1, the fts_name pointer is * namelen + 2 before the first possible address of the stat structure. */ len = sizeof(FTSENT) + namelen; if(!ISSET(FTS_NOSTAT)) len += sizeof(*(p->fts_statp)) + ALIGNBYTES; if((p = malloc(len)) == NULL) return (NULL); if(!ISSET(FTS_NOSTAT)) p->fts_statp = (__fts_stat_t *)ALIGN((unsigned long)(p->fts_name + namelen + 2)); #else if((p = malloc(sizeof(FTSENT) + namelen)) == NULL) return (NULL); if(!ISSET(FTS_NOSTAT)) if((p->fts_statp = malloc(sizeof(*(p->fts_statp)))) == NULL) { free(p); return (NULL); } #endif if(ISSET(FTS_NOSTAT)) p->fts_statp = NULL; /* Copy the name plus the trailing NULL. */ memmove(p->fts_name, name, namelen + 1); p->fts_namelen = ftsent_namelen_truncate(namelen); p->fts_path = sp->fts_path; p->fts_errno = 0; p->fts_flags = 0; p->fts_instr = FTS_NOINSTR; p->fts_number = 0; p->fts_pointer = NULL; return (p); } static void fts_free(FTSENT *p) { #if !defined(FTS_ALLOC_ALIGNED) if(p->fts_statp) free(p->fts_statp); #endif free(p); } static void fts_lfree(FTSENT *head) { FTSENT *p; /* XXX: head may be NULL ? */ /* Free a linked list of structures. */ while((p = head) != NULL) { head = head->fts_link; fts_free(p); } } static size_t fts_pow2(size_t x) { x--; x |= x >> 1; x |= x >> 2; x |= x >> 4; x |= x >> 8; x |= x >> 16; #if LONG_BIT > 32 x |= x >> 32; #endif #if LONG_BIT > 64 x |= x >> 64; #endif x++; return (x); } /* * Allow essentially unlimited paths; find, rm, ls should all work on any tree. * Most systems will allow creation of paths much longer than MAXPATHLEN, even * though the kernel won't resolve them. Round up the new size to a power of 2, * so we don't realloc the path 2 bytes at a time. */ static int fts_palloc(FTS *sp, size_t size) { char *new; _DIAGASSERT(sp != NULL); #ifdef __FTS_COMPAT_LENGTH /* Protect against fts_pathlen overflow. */ if(size > USHRT_MAX + 1) { errno = ENAMETOOLONG; return (1); } #endif size = fts_pow2(size); new = realloc(sp->fts_path, size); if(new == 0) return (1); sp->fts_path = new; sp->fts_pathlen = fts_pathlen_truncate(size); return (0); } /* * When the path is realloc'd, have to fix all of the pointers in structures * already returned. */ static void fts_padjust(FTS *sp, FTSENT *head) { FTSENT *p; char *addr; _DIAGASSERT(sp != NULL); #define ADJUST(p) \ do { \ if((p)->fts_accpath != (p)->fts_name) \ (p)->fts_accpath = addr + ((p)->fts_accpath - (p)->fts_path); \ (p)->fts_path = addr; \ } while(/*CONSTCOND*/ 0) addr = sp->fts_path; /* Adjust the current set of children. */ for(p = sp->fts_child; p; p = p->fts_link) ADJUST(p); /* Adjust the rest of the tree, including the current level. */ for(p = head; p->fts_level >= FTS_ROOTLEVEL;) { ADJUST(p); p = p->fts_link ? p->fts_link : p->fts_parent; } } static size_t fts_maxarglen(char *const *argv) { size_t len, max; _DIAGASSERT(argv != NULL); for(max = 0; *argv; ++argv) if((len = strlen(*argv)) > max) max = len; return (max + 1); } /* * Change to dir specified by fd or p->fts_accpath without getting * tricked by someone changing the world out from underneath us. * Assumes p->fts_dev and p->fts_ino are filled in. */ static int fts_safe_changedir(const FTS *sp, const FTSENT *p, int fd, const char *path) { int oldfd = fd, ret = -1; __fts_stat_t sb; if(ISSET(FTS_NOCHDIR)) return 0; if(oldfd < 0 && (fd = open(path, O_RDONLY | O_CLOEXEC)) == -1) return -1; if(fstat(fd, &sb) == -1) goto bail; if(sb.st_ino != p->fts_ino || sb.st_dev != p->fts_dev) { errno = ENOENT; goto bail; } ret = fchdir(fd); bail: if(oldfd < 0) { int save_errno = errno; (void)close(fd); errno = save_errno; } return ret; } rmlint-2.6.1/lib/fts/fts.h000066400000000000000000000137061312046612000153360ustar00rootroot00000000000000/* $NetBSD: fts.h,v 1.19 2009/08/16 19:33:38 christos Exp $ */ /* * Copyright (c) 1989, 1993 * The Regents of the University of California. All rights reserved. * * 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. * 3. Neither the name of the University 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 REGENTS 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 REGENTS 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. * * @(#)fts.h 8.3 (Berkeley) 8/14/94 */ #ifndef _FTS_H_ #define _FTS_H_ #include #include #ifndef __fts_stat_t #define __fts_stat_t struct stat #endif #ifndef __fts_nlink_t #define __fts_nlink_t nlink_t #endif #ifndef __fts_ino_t #define __fts_ino_t ino_t #endif #ifndef __fts_length_t #define __fts_length_t unsigned int #endif #ifndef __fts_number_t #define __fts_number_t int64_t #endif #ifndef __fts_dev_t #define __fts_dev_t dev_t #endif #ifndef __fts_level_t #define __fts_level_t int #endif typedef struct { struct _ftsent *fts_cur; /* current node */ struct _ftsent *fts_child; /* linked list of children */ struct _ftsent **fts_array; /* sort array */ dev_t fts_dev; /* starting device # */ char *fts_path; /* path for this descent */ int fts_rfd; /* fd for root */ unsigned int fts_pathlen; /* sizeof(path) */ unsigned int fts_nitems; /* elements in the sort array */ int(*fts_compar) /* compare function */ (const struct _ftsent **, const struct _ftsent **); #define FTS_COMFOLLOW 0x001 /* follow command line symlinks */ #define FTS_LOGICAL 0x002 /* logical walk */ #define FTS_NOCHDIR 0x004 /* don't change directories */ #define FTS_NOSTAT 0x008 /* don't get stat info */ #define FTS_PHYSICAL 0x010 /* physical walk */ #define FTS_SEEDOT 0x020 /* return dot and dot-dot */ #define FTS_XDEV 0x040 /* don't cross devices */ #define FTS_WHITEOUT 0x080 /* return whiteout information */ #define FTS_OPTIONMASK 0x0ff /* valid user option mask */ #define FTS_NAMEONLY 0x100 /* (private) child names only */ #define FTS_STOP 0x200 /* (private) unrecoverable error */ int fts_options; /* fts_open options, global flags */ } FTS; typedef struct _ftsent { struct _ftsent *fts_cycle; /* cycle node */ struct _ftsent *fts_parent; /* parent directory */ struct _ftsent *fts_link; /* next file in directory */ __fts_number_t fts_number; /* local numeric value */ void *fts_pointer; /* local address value */ char *fts_accpath; /* access path */ char *fts_path; /* root path */ int fts_errno; /* errno for this node */ int fts_symfd; /* fd for symlink */ __fts_length_t fts_pathlen; /* strlen(fts_path) */ __fts_length_t fts_namelen; /* strlen(fts_name) */ __fts_ino_t fts_ino; /* inode */ __fts_dev_t fts_dev; /* device */ __fts_nlink_t fts_nlink; /* link count */ #define FTS_ROOTPARENTLEVEL -1 #define FTS_ROOTLEVEL 0 __fts_level_t fts_level; /* depth (-1 to N) */ #define FTS_D 1 /* preorder directory */ #define FTS_DC 2 /* directory that causes cycles */ #define FTS_DEFAULT 3 /* none of the above */ #define FTS_DNR 4 /* unreadable directory */ #define FTS_DOT 5 /* dot or dot-dot */ #define FTS_DP 6 /* postorder directory */ #define FTS_ERR 7 /* error; errno is set */ #define FTS_F 8 /* regular file */ #define FTS_INIT 9 /* initialized only */ #define FTS_NS 10 /* stat(2) failed */ #define FTS_NSOK 11 /* no stat(2) requested */ #define FTS_SL 12 /* symbolic link */ #define FTS_SLNONE 13 /* symbolic link without target */ #define FTS_W 14 /* whiteout object */ unsigned short fts_info; /* user flags for FTSENT structure */ #define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */ #define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */ #define FTS_ISW 0x04 /* this is a whiteout object */ unsigned short fts_flags; /* private flags for FTSENT structure */ #define FTS_AGAIN 1 /* read node again */ #define FTS_FOLLOW 2 /* follow symbolic link */ #define FTS_NOINSTR 3 /* no instructions */ #define FTS_SKIP 4 /* discard node */ unsigned short fts_instr; /* fts_set() instructions */ __fts_stat_t *fts_statp; /* stat(2) information */ char fts_name[1]; /* file name */ } FTSENT; #ifdef __cplusplus extern "C" { #endif FTSENT *fts_children(FTS *, int); int fts_close(FTS *); FTS *fts_open(char *const *, int, int (*)(const FTSENT **, const FTSENT **)); FTSENT *fts_read(FTS *); int fts_set(FTS *, FTSENT *, int); #ifdef __cplusplus } #endif #endif /* !_FTS_H_ */ rmlint-2.6.1/lib/hash-utility.c000066400000000000000000000236261312046612000163670ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * ** Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * ** Hosted on http://github.com/sahib/rmlint * **/ #include #include #include #include #include "../lib/config.h" #include "../lib/hasher.h" #include "../lib/utilities.h" typedef struct RmHasherSession { /* Internal */ char **paths; gint path_index; GMutex lock; RmDigest **completed_digests_buffer; bool *read_succesful; /* Options */ RmDigestType digest_type; gboolean print_in_order; gboolean print_multihash; } RmHasherSession; static gboolean rm_hasher_parse_type(_UNUSED const char *option_name, const gchar *value, RmHasherSession *session, GError **error) { session->digest_type = rm_string_to_digest_type(value); if(session->digest_type == RM_DIGEST_UNKNOWN) { g_set_error(error, RM_ERROR_QUARK, 0, _("Unknown hash algorithm: '%s'"), value); return FALSE; } return TRUE; } static void rm_hasher_print(RmDigest *digest, char *path, bool print_multihash) { gsize size = rm_digest_get_bytes(digest) * 2 + 1; char checksum_str[size]; memset(checksum_str, '0', size); checksum_str[size - 1] = 0; rm_digest_hexstring(digest, checksum_str); if(print_multihash) { g_print("%02x%02x@", rm_digest_type_to_multihash_id(digest->type), rm_digest_get_bytes(digest)); } g_print("%s %s\n", checksum_str, path); } static int rm_hasher_callback(_UNUSED RmHasher *hasher, RmDigest *digest, RmHasherSession *session, gpointer index_ptr) { gint index = GPOINTER_TO_INT(index_ptr); g_mutex_lock(&session->lock); { if(session->print_in_order && digest) { /* add digest in buffer array */ session->completed_digests_buffer[index] = digest; /* check if the next due digest has been completed; if yes then print * it (and possibly any following digests) */ while(session->completed_digests_buffer[session->path_index]) { if(session->paths[session->path_index]) { if(session->read_succesful[session->path_index]) { rm_hasher_print( session->completed_digests_buffer[session->path_index], session->paths[session->path_index], session->print_multihash); } rm_digest_free( session->completed_digests_buffer[session->path_index]); } session->completed_digests_buffer[session->path_index] = NULL; session->path_index++; } } else if(digest) { if(session->read_succesful[session->path_index]) { rm_hasher_print(digest, session->paths[index], session->print_multihash); } } } g_mutex_unlock(&session->lock); return 0; } int rm_hasher_main(int argc, const char **argv) { RmHasherSession tag; /* List of paths we got passed (or NULL) */ tag.paths = NULL; /* Print hashes in the same order as files in command line args */ tag.print_in_order = TRUE; /* Print a hash with builtin identifier */ tag.print_multihash = FALSE; /* Digest type */ tag.digest_type = RM_DEFAULT_DIGEST; gint threads = 8; gint64 buffer_mbytes = 256; ////////////// Option Parsing /////////////// /* clang-format off */ const GOptionEntry entries[] = { {"digest-type" , 'd' , 0 , G_OPTION_ARG_CALLBACK , (GOptionArgFunc)rm_hasher_parse_type , _("Digest type [BLAKE2B]") , "[TYPE]"} , {"num-threads" , 't' , 0 , G_OPTION_ARG_INT , &threads , _("Number of hashing threads [8]") , "N"} , {"multihash" , 'm' , 0 , G_OPTION_ARG_NONE , &tag.print_multihash , _("Print hash as self identifying multihash") , NULL} , {"buffer-mbytes" , 'b' , 0 , G_OPTION_ARG_INT64 , &buffer_mbytes , _("Megabytes read buffer [256 MB]") , "MB"} , {"ignore-order" , 'i' , G_OPTION_FLAG_REVERSE , G_OPTION_ARG_NONE , &tag.print_in_order , _("Print hashes in order completed, not in order entered (reduces memory usage)") , NULL} , {"" , 0 , 0 , G_OPTION_ARG_FILENAME_ARRAY , &tag.paths , _("Space-separated list of files") , "[FILE…]"} , {NULL , 0 , 0 , 0 , NULL , NULL , NULL}}; /* clang-format on */ GError *error = NULL; GOptionContext *context = g_option_context_new(_("Hash a list of files")); GOptionGroup *main_group = g_option_group_new(argv[0], _("Hash a list of files"), "", &tag, NULL); char summary[4096]; memset(summary, 0, sizeof(summary)); g_snprintf(summary, sizeof(summary), _("Multi-threaded file digest (hash) calculator.\n" "\n Available digest types:" "\n %s\n" "\n Versions with different bit numbers:" "\n %s\n" "\n Supported, but not useful:" "\n %s\n"), "spooky, city, xxhash, sha{1,256,512}, md5, murmur", "spooky{32,64,128}, city{128,256,512}, murmur{512}", "farmhash, cumulative, paranoid, ext, bastard"); g_option_group_add_entries(main_group, entries); g_option_context_set_main_group(context, main_group); g_option_context_set_summary(context, summary); if(!g_option_context_parse(context, &argc, (char ***)&argv, &error)) { /* print g_option error message */ rm_log_error_line("%s", error->message); exit(EXIT_FAILURE); } if(tag.paths == NULL) { /* read paths from stdin */ char path_buf[PATH_MAX]; char *tokbuf = NULL; GPtrArray *paths = g_ptr_array_new(); while(fgets(path_buf, PATH_MAX, stdin)) { char *abs_path = realpath(strtok_r(path_buf, "\n", &tokbuf), NULL); g_ptr_array_add(paths, abs_path); } tag.paths = (char **)g_ptr_array_free(paths, FALSE); } if(tag.paths == NULL || tag.paths[0] == NULL) { rm_log_error_line(_("No valid paths given")); exit(EXIT_FAILURE); } g_option_context_free(context); ////////// Implementation ////// int buf_size = (g_strv_length(tag.paths) + 1) * sizeof(RmDigest *); tag.read_succesful = g_slice_alloc0(buf_size); if(tag.print_in_order) { /* allocate buffer to collect results */ tag.completed_digests_buffer = g_slice_alloc0(buf_size); tag.path_index = 0; } /* initialise structures */ g_mutex_init(&tag.lock); RmHasher *hasher = rm_hasher_new(tag.digest_type, threads, FALSE, 4096, 1024 * 1024 * buffer_mbytes, (RmHasherCallback)rm_hasher_callback, &tag); /* Iterate over paths, pushing to hasher threads */ for(int i = 0; tag.paths && tag.paths[i]; ++i) { /* check it is a regular file */ RmStat stat_buf; if(rm_sys_stat(tag.paths[i], &stat_buf) == -1) { rm_log_warning_line(_("Can't open directory or file \"%s\": %s"), tag.paths[i], strerror(errno)); } else if(S_ISDIR(stat_buf.st_mode)) { rm_log_warning_line(_("Directories are not supported: %s"), tag.paths[i]); } else if(S_ISREG(stat_buf.st_mode)) { RmHasherTask *task = rm_hasher_task_new(hasher, NULL, GINT_TO_POINTER(i)); tag.read_succesful[i] = rm_hasher_task_hash(task, tag.paths[i], 0, stat_buf.st_size, FALSE, NULL); rm_hasher_task_finish(task); continue; } else { rm_log_warning_line(_("%s: Unknown file type"), tag.paths[i]); } /* dummy callback for failed paths */ g_free(tag.paths[i]); tag.paths[i] = NULL; rm_hasher_callback(hasher, NULL, &tag, GINT_TO_POINTER(i)); } /* wait for all hasher threads to finish... */ rm_hasher_free(hasher, TRUE); /* tidy up */ g_slice_free1(buf_size, tag.read_succesful); if(tag.print_in_order) { g_slice_free1(buf_size, tag.completed_digests_buffer); } g_strfreev(tag.paths); return EXIT_SUCCESS; } rmlint-2.6.1/lib/hash-utility.h000066400000000000000000000020551312046612000163650ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * **/ #ifndef RM_HASH_UTILITY_H #define RM_HASH_UTILITY_H /** * @brief Trigger the main method of rmlint. * * @return exit_status for exit() */ int rm_hasher_main(int argc, const char **argv); #endif rmlint-2.6.1/lib/hasher.c000066400000000000000000000365301312046612000152130ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include #include #include #include #include "hasher.h" #include "utilities.h" /* Flags for the fadvise() call that tells the kernel * what we want to do with the file. */ const int HASHER_FADVISE_FLAGS = 0 #ifdef POSIX_FADV_SEQUENTIAL | POSIX_FADV_SEQUENTIAL /* Read from 0 to file-size */ #endif #ifdef POSIX_FADV_WILLNEED | POSIX_FADV_WILLNEED /* Tell the kernel to readhead */ #endif #ifdef POSIX_FADV_NOREUSE | POSIX_FADV_NOREUSE /* We will not reuse old data */ #endif ; #define DIVIDE_CEIL(n, m) ((n) / (m) + !!((n) % (m))) struct _RmHasher { RmDigestType digest_type; gboolean use_buffered_read; guint64 cache_quota_bytes; gpointer session_user_data; RmBufferPool *mem_pool; RmHasherCallback callback; GAsyncQueue *hashpipe_pool; gint unalloc_hashpipes; GAsyncQueue *return_queue; GMutex lock; GCond cond; gsize buf_size; guint active_tasks; }; struct _RmHasherTask { /* pointer back to hasher main */ RmHasher *hasher; /* single-thread threadpool to send buffers to */ GThreadPool *hashpipe; /* checksum to update with read data */ RmDigest *digest; /* user data associated with this specific task */ gpointer task_user_data; /* if true then hasher->callback will be called by rm_hashpipe_worker() */ gboolean finalise; }; static void rm_hasher_task_free(RmHasherTask *self) { g_async_queue_push(self->hasher->hashpipe_pool, self->hashpipe); g_slice_free(RmHasherTask, self); } /* GThreadPool Worker for hashing */ static void rm_hasher_hashpipe_worker(RmBuffer *buffer, RmHasher *hasher) { if(buffer->len > 0) { /* Update digest with buffer->data */ rm_assert_gentle(buffer->user_data == NULL); rm_digest_buffered_update(buffer); } else if(buffer->user_data) { /* finalise via callback */ RmHasherTask *task = buffer->user_data; rm_assert_gentle(task->digest == buffer->digest); hasher->callback(hasher, task->digest, hasher->session_user_data, task->task_user_data); rm_hasher_task_free(task); rm_buffer_release(buffer); g_mutex_lock(&hasher->lock); { /* decrease active task count and signal same */ hasher->active_tasks--; g_cond_signal(&hasher->cond); } g_mutex_unlock(&hasher->lock); } } ////////////////////////////////////// // File Reading Utilities // ////////////////////////////////////// static void rm_hasher_request_readahead(int fd, RmOff seek_offset, RmOff bytes_to_read) { /* Give the kernel scheduler some hints */ #if HAVE_POSIX_FADVISE && HASHER_FADVISE_FLAGS RmOff readahead = bytes_to_read * 8; posix_fadvise(fd, seek_offset, readahead, HASHER_FADVISE_FLAGS); #else (void)fd; (void)seek_offset; (void)bytes_to_read; #endif } static gint64 rm_hasher_symlink_read(RmHasher *hasher, RmDigest *digest, char *path) { /* Fake an IO operation on the symlink. */ RmBuffer *buf = rm_buffer_get(hasher->mem_pool); buf->len = 256; memset(buf->data, 0, buf->len); RmStat stat_buf; if(rm_sys_stat(path, &stat_buf) == -1) { /* Oops, that did not work out, report as an error */ rm_log_perror("Cannot stat symbolic link"); return -1; } gint data_size = snprintf((char *)buf->data, rm_buffer_size(hasher->mem_pool), "%ld:%ld", (long)stat_buf.st_dev, (long)stat_buf.st_ino); buf->len = data_size; buf->digest = digest; rm_digest_buffered_update(buf); /* In case of paranoia: shrink the used data buffer, so comparasion works * as expected. Otherwise a full buffer is used with possibly different * content */ if(digest->type == RM_DIGEST_PARANOID) { rm_digest_paranoia_shrink(digest, data_size); } return 0; } /* Reads data from file and sends to hasher threadpool * returns number of bytes successfully read */ static gint64 rm_hasher_buffered_read(RmHasher *hasher, GThreadPool *hashpipe, RmDigest *digest, char *path, gsize start_offset, gsize bytes_to_read) { FILE *fd = NULL; if(bytes_to_read == 0) { bytes_to_read = G_MAXSIZE; } gsize total_bytes_read = 0; if((fd = fopen(path, "rb")) == NULL) { rm_log_info("fopen(3) failed for %s: %s\n", path, g_strerror(errno)); goto finish; } gint32 bytes_read = 0; rm_hasher_request_readahead(fileno(fd), start_offset, bytes_to_read); if(fseek(fd, start_offset, SEEK_SET) == -1) { rm_log_perror("fseek(3) failed"); goto finish; } RmBuffer *buffer = rm_buffer_get(hasher->mem_pool); while((bytes_read = fread(buffer->data, 1, MIN(bytes_to_read, hasher->buf_size), fd)) > 0) { bytes_to_read -= bytes_read; buffer->len = bytes_read; buffer->digest = digest; buffer->user_data = NULL; rm_util_thread_pool_push(hashpipe, buffer); total_bytes_read += bytes_read; buffer = rm_buffer_get(hasher->mem_pool); } rm_buffer_release(buffer); if(ferror(fd) != 0) { rm_log_perror("fread(3) failed"); if(total_bytes_read == bytes_to_read) { /* signal error to caller */ total_bytes_read++; } } finish: if(fd != NULL) { fclose(fd); } return total_bytes_read; } /* Reads data from file and sends to hasher threadpool * returns number of bytes successfully read */ static gint64 rm_hasher_unbuffered_read(RmHasher *hasher, GThreadPool *hashpipe, RmDigest *digest, char *path, gint64 start_offset, gint64 bytes_to_read) { gint32 bytes_read = 0; gint64 total_bytes_read = 0; guint64 file_offset = start_offset; if(bytes_to_read == 0) { RmStat stat_buf; if(rm_sys_stat(path, &stat_buf) != -1) { bytes_to_read = MAX(stat_buf.st_size - start_offset, 0); } } /* how many buffers to read? */ const gint16 N_BUFFERS = MIN(4, DIVIDE_CEIL(bytes_to_read, hasher->buf_size)); struct iovec readvec[N_BUFFERS + 1]; int fd = 0; fd = rm_sys_open(path, O_RDONLY); if(fd == -1) { rm_log_info("open(2) failed for %s: %s\n", path, g_strerror(errno)); goto finish; } /* preadv() is beneficial for large files since it can cut the * number of syscall heavily. I suggest N_BUFFERS=4 as good * compromise between memory and cpu. * * With 16 buffers: 43% cpu 33,871 total * With 8 buffers: 43% cpu 32,098 total * With 4 buffers: 42% cpu 32,091 total * With 2 buffers: 44% cpu 32,245 total * With 1 buffers: 45% cpu 34,491 total */ /* Give the kernel scheduler some hints */ rm_hasher_request_readahead(fd, start_offset, bytes_to_read); /* Initialize the buffers to begin with. * After a buffer is full, a new one is retrieved. */ RmBuffer **buffers; buffers = g_slice_alloc(sizeof(*buffers) * N_BUFFERS); memset(readvec, 0, sizeof(readvec)); for(int i = 0; i < N_BUFFERS; ++i) { /* buffer is one contignous memory block */ buffers[i] = rm_buffer_get(hasher->mem_pool); readvec[i].iov_base = buffers[i]->data; readvec[i].iov_len = hasher->buf_size; } while((bytes_to_read == 0 || total_bytes_read < bytes_to_read) && (bytes_read = rm_sys_preadv(fd, readvec, N_BUFFERS, file_offset)) > 0) { bytes_read = MIN(bytes_read, bytes_to_read - total_bytes_read); /* ignore over-reads */ int blocks = DIVIDE_CEIL(bytes_read, hasher->buf_size); rm_assert_gentle(blocks <= N_BUFFERS); total_bytes_read += bytes_read; file_offset += bytes_read; for(int i = 0; i < blocks; ++i) { /* Get the RmBuffer from the datapointer */ RmBuffer *buffer = buffers[i]; buffer->len = MIN(hasher->buf_size, bytes_read - i * hasher->buf_size); buffer->digest = digest; buffer->user_data = NULL; /* Send it to the hasher */ rm_util_thread_pool_push(hashpipe, buffer); /* Allocate a new buffer - hasher will release the old buffer */ buffers[i] = rm_buffer_get(hasher->mem_pool); readvec[i].iov_base = buffers[i]->data; readvec[i].iov_len = hasher->buf_size; } } if(bytes_read == -1) { rm_log_perror("preadv failed"); } else if(total_bytes_read != bytes_to_read) { rm_log_error_line(_("Something went wrong reading %s; expected %li bytes, " "got %li; ignoring"), path, (long int)bytes_to_read, (long int)total_bytes_read); } /* Release the rest of the buffers */ for(int i = 0; i < N_BUFFERS; ++i) { rm_buffer_release(buffers[i]); } g_slice_free1(sizeof(*buffers) * N_BUFFERS, buffers); finish: if(fd > 0) { rm_sys_close(fd); } return total_bytes_read; } ////////////////////////////////////// // RmHasher // ////////////////////////////////////// static void rm_hasher_hashpipe_free(GThreadPool *hashpipe) { /* free the GThreadPool; wait for any in-progress jobs to finish */ g_thread_pool_free(hashpipe, FALSE, TRUE); } /* local joiner if user provides no joiner to rm_hasher_new() */ static RmHasherCallback *rm_hasher_joiner(RmHasher *hasher, RmDigest *digest, _UNUSED gpointer session_user_data, _UNUSED gpointer task_user_data) { g_async_queue_push(hasher->return_queue, digest); return 0; } ////////////////////////////////////// // API ////////////////////////////////////// RmHasher *rm_hasher_new(RmDigestType digest_type, guint num_threads, gboolean use_buffered_read, gsize buf_size, guint64 cache_quota_bytes, RmHasherCallback joiner, gpointer session_user_data) { RmHasher *self = g_slice_new0(RmHasher); self->digest_type = digest_type; self->use_buffered_read = use_buffered_read; self->buf_size = buf_size; self->cache_quota_bytes = cache_quota_bytes; if(joiner) { self->callback = joiner; } else { self->callback = (RmHasherCallback)rm_hasher_joiner; self->return_queue = g_async_queue_new(); } self->session_user_data = session_user_data; /* initialise mutex & cond */ g_mutex_init(&self->lock); g_cond_init(&self->cond); /* Create buffer mem pool */ self->mem_pool = rm_buffer_pool_init(buf_size, cache_quota_bytes); /* Create a pool of hashing thread "pools" - each "pool" can only have * one thread because hashing must be done in order */ self->hashpipe_pool = g_async_queue_new_full((GDestroyNotify)rm_hasher_hashpipe_free); rm_assert_gentle(num_threads > 0); self->unalloc_hashpipes = num_threads; return self; } void rm_hasher_free(RmHasher *hasher, gboolean wait) { /* Note that hasher may be multi-threaded, both at the reader level and at * the hashpipe level. To ensure graceful exit, the hasher is reference counted * via hasher->active_tasks. */ if(wait) { g_mutex_lock(&hasher->lock); { while(hasher->active_tasks > 0) { g_cond_wait(&hasher->cond, &hasher->lock); } } g_mutex_unlock(&hasher->lock); } g_async_queue_unref(hasher->hashpipe_pool); rm_buffer_pool_destroy(hasher->mem_pool); g_cond_clear(&hasher->cond); g_mutex_clear(&hasher->lock); g_slice_free(RmHasher, hasher); } RmHasherTask *rm_hasher_task_new(RmHasher *hasher, RmDigest *digest, gpointer task_user_data) { g_mutex_lock(&hasher->lock); { hasher->active_tasks++; } g_mutex_unlock(&hasher->lock); RmHasherTask *self = g_slice_new0(RmHasherTask); self->hasher = hasher; if(digest) { self->digest = digest; } else { self->digest = rm_digest_new(hasher->digest_type, 0, 0, 0, hasher->digest_type == RM_DIGEST_PARANOID); } /* get a recycled hashpipe if available */ self->hashpipe = g_async_queue_try_pop(hasher->hashpipe_pool); if(!self->hashpipe) { if(g_atomic_int_get(&hasher->unalloc_hashpipes) > 0) { /* create a new hashpipe */ g_atomic_int_dec_and_test(&hasher->unalloc_hashpipes); self->hashpipe = rm_util_thread_pool_new((GFunc)rm_hasher_hashpipe_worker, hasher, 1); } else { /* already at thread limit - wait for a hashpipe to come available */ self->hashpipe = g_async_queue_pop(hasher->hashpipe_pool); } } rm_assert_gentle(self->hashpipe); self->task_user_data = task_user_data; return self; } gboolean rm_hasher_task_hash(RmHasherTask *task, char *path, guint64 start_offset, guint64 bytes_to_read, gboolean is_symlink, RmOff *bytes_read_out) { guint64 bytes_read = 0; if(is_symlink) { bytes_read = rm_hasher_symlink_read(task->hasher, task->digest, path); } else if(task->hasher->use_buffered_read) { bytes_read = rm_hasher_buffered_read(task->hasher, task->hashpipe, task->digest, path, start_offset, bytes_to_read); } else { bytes_read = rm_hasher_unbuffered_read(task->hasher, task->hashpipe, task->digest, path, start_offset, bytes_to_read); } if(bytes_read_out != NULL) { *bytes_read_out = bytes_to_read; } return ((is_symlink && bytes_read == 0) || bytes_read == bytes_to_read); } RmDigest *rm_hasher_task_finish(RmHasherTask *task) { /* get a dummy buffer to use to signal the hasher thread that this increment is * finished */ RmHasher *hasher = task->hasher; RmBuffer *finisher = rm_buffer_get(task->hasher->mem_pool); finisher->digest = task->digest; finisher->len = 0; finisher->user_data = task; rm_util_thread_pool_push(task->hashpipe, finisher); if(hasher->return_queue) { return g_async_queue_pop(hasher->return_queue); } else { return NULL; } } rmlint-2.6.1/lib/hasher.h000066400000000000000000000127541312046612000152220ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #ifndef RM_HASHER_H #define RM_HASHER_H #include #include "checksum.h" #include "config.h" /** * @file hasher.h * @brief High level API for file hashing * * Provides a high-level API for rmlint's low-level checksum.h API. * * File reading is done in the foreground thread (multi-threading of * file reading is generally a bad idea because it tends to lead to * disk thrash for rotational disks, and gives little or no benefit * for non-rotational devices. * * File checksum calculation is done in one or more background threads, * so that file reading can proceed uninterrupted. This should give * faster performance than conventional (single-threaded) checksum * calculating utilities * * **/ /** * @struct RmHasher * * RmHasher is an opaque data structure to represent a hashing engine. * It should be created and destroyed via rm_hasher_new() and rm_hasher_free(). * File hashing tasks are carried out via RmHasherTask objects. **/ typedef struct _RmHasher RmHasher; /** * @struct RmHasherTask * RmHasherTask is an opaque data structure for carrying out file hashing. * Individual tasks are created, executed and finalised via rm_hasher_task_new(), * rm_hasher_task_hash() and rm_hasher_task_finish(). **/ typedef struct _RmHasherTask RmHasherTask; /** * @brief RmHasherCallback function prototype for rm_hasher_task_finish() * * @param digest The finished RmDigest * @param session_user_data User data passed to rm_hasher_new() * @param file_user_data User data passed to rm_hasher_task_new() * @retval (UNUSED) **/ typedef int (*RmHasherCallback)(RmHasher *hasher, RmDigest *digest, gpointer session_user_data, gpointer task_user_data); /** * @brief Allocate and initialise a new hashing object * * @param digest_type The type of digest * @param num_threads The maximum number of hashing threads * @param use_buffered_read If TRUE, read using preadv() * @param buf_size Size of each read buffer size in bytes * @param cache_quota_bytes Total bytes to allocate for read buffers * @param target_kept_bytes Target number of bytes to be stored in paranoid digest buffers * @param joiner The callback function for completed digests, triggered by *rm_hasher_task_finish() * If joiner is NULL then rm_hasher_task_finish() will wait for (background) hashing to *finish * and return the completed digest to the caller. * * @param session_user_data Pointer to user data associated with the session; will be *passed to joiner. * **/ RmHasher *rm_hasher_new(RmDigestType digest_type, uint num_threads, gboolean use_buffered_read, gsize buf_size, guint64 cache_quota_bytes, RmHasherCallback joiner, gpointer session_user_data); /** * @brief Free a hashing object * * @param wait Wait for pending tasks to finish. **/ void rm_hasher_free(RmHasher *hasher, gboolean wait); /** * @brief Allocate and initialise a new hashing task. * * @param hasher The hashing object * @param digest An existing digest to update. If NULL passed, will allocate a new *digest. * @param task_user_data Pointer to user data associated with the task; will be passed to *session->joiner by rm_hasher_task_finish(). **/ RmHasherTask *rm_hasher_task_new(RmHasher *hasher, RmDigest *digest, gpointer task_user_data); /** * @brief Read data from a file and send it for hashing in separate thread * * @param task An existing RmHasherTask * @param path The file path to read from * @param start_offset Where to start reading the file (number of bytes from start) * @param bytes_to_read How many bytes to read (pass 0 to read whole file) * @param is_symlink If path is a symlink, pass TRUE to read the symlink itself rather * @param bytes_read_out Out parameter for the number of bytes physically read. *than the linked file * @retval FALSE if read errors occurred **/ gboolean rm_hasher_task_hash(RmHasherTask *task, char *path, guint64 start_offset, guint64 bytes_to_read, gboolean is_symlink, RmOff *bytes_read_out); /** * @brief Finalise a hashing task * * @param task An existing RmHasherTask * * If a NULL callback passed, will wait for the task to finish and return the finalised *RmDigest to caller. **/ RmDigest *rm_hasher_task_finish(RmHasherTask *task); #endif /* end of include guard */ rmlint-2.6.1/lib/md-scheduler.c000066400000000000000000000306111312046612000163070ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include "md-scheduler.h" /* How many milliseconds to sleep if we encounter an empty file queue. * This prevents a "starving" RmShredDevice from hogging cpu and cluttering up * debug messages by continually recycling back to the joiner. */ #if _RM_MDS_DEBUG #define MDS_EMPTYQUEUE_SLEEP_US (60 * 1000 * 1000) /* 60 seconds */ #else #define MDS_EMPTYQUEUE_SLEEP_US (50 * 1000) /* 0.05 second */ #endif /////////////////////////////////////// // Structures // /////////////////////////////////////// struct _RmMDS { /* Structure for RmMDS object/session */ /* The function called for each task */ RmMDSFunc func; /* Threadpool for device workers */ GThreadPool *pool; /* Sorting function for device task queues */ RmMDSSortFunc prioritiser; /* Mounts table for grouping dev's by physical devices * and identifying rotationality */ RmMountTable *mount_table; /* If true then don't use mount table; interpret user-supplied dev as disk id */ bool fake_disk; /* Table of physical disk/devices */ GHashTable *disks; /* Lock for access to: * self->disks */ GMutex lock; GCond cond; /* flag for whether threadpool is running */ gboolean running; /* quota to limit number of tasks per pass of each device */ gint pass_quota; /* maximum number of threads and threads per disk */ gint max_threads; gint threads_per_disk; /* pointer to user data to be passed to func */ gpointer user_data; }; struct _RmMDSDevice { /* Structure containing data associated with one Device worker thread */ /* The RmMDS session parent */ RmMDS *mds; /* Device's physical disk ID (only used for debug info) */ dev_t disk; /* Sorted list of tasks queued for execution */ GSList *sorted_tasks; /* Stack for tasks that will be sorted and carried out next pass */ GSList *unsorted_tasks; /* Lock for access to: * self->sorted_tasks * self->unsorted_tasks * self->ref_count */ GMutex lock; GCond cond; /* Reference count for self */ gint ref_count; /* Number of running threads for self */ gint threads; /* is disk rotational? */ gboolean is_rotational; }; ////////////////////////////////////////////// // Internal Structure Init's & Destroyers // ////////////////////////////////////////////// /* RmMDSTask */ static RmMDSTask *rm_mds_task_new(const dev_t dev, const guint64 offset, const gpointer task_data) { RmMDSTask *self = g_slice_new0(RmMDSTask); self->dev = dev; self->offset = offset; self->task_data = task_data; return self; } static void rm_mds_task_free(RmMDSTask *task) { g_slice_free(RmMDSTask, task); } /* RmMDSDevice */ static RmMDSDevice *rm_mds_device_new(RmMDS *mds, const dev_t disk) { RmMDSDevice *self = g_slice_new0(RmMDSDevice); g_mutex_init(&self->lock); g_cond_init(&self->cond); self->mds = mds; self->ref_count = 0; self->threads = 0; self->disk = disk; if(mds->fake_disk) { self->is_rotational = (disk % 2 == 0); } else { self->is_rotational = !rm_mounts_is_nonrotational(mds->mount_table, disk); } rm_log_debug_line("Created new RmMDSDevice for %srotational disk #%" LLU, self->is_rotational ? "" : "non-", (RmOff)disk); return self; } /** @brief Free mem allocated to an RmMDSDevice **/ static void rm_mds_device_free(RmMDSDevice *self) { g_mutex_clear(&self->lock); g_cond_clear(&self->cond); g_slice_free(RmMDSDevice, self); } /////////////////////////////////////// // RmMDSDevice Implementation // /////////////////////////////////////// /** @brief Mutex-protected task pusher **/ static void rm_mds_push_task_impl(RmMDSDevice *device, RmMDSTask *task) { g_mutex_lock(&device->lock); { device->unsorted_tasks = g_slist_prepend(device->unsorted_tasks, task); g_cond_signal(&device->cond); } g_mutex_unlock(&device->lock); } /** @brief GCompareDataFunc wrapper for mds->prioritiser **/ static gint rm_mds_compare(const RmMDSTask *a, const RmMDSTask *b, RmMDSSortFunc prioritiser) { gint result = prioritiser(a, b); return result; } /** @brief RmMDSDevice worker thread **/ static void rm_mds_factory(RmMDSDevice *device, RmMDS *mds) { /* rm_mds_factory processes tasks from device->task_list. * After completing one pass of the device, returns self to the * mds->pool threadpool. */ gint processed = 0; g_mutex_lock(&device->lock); { /* check for empty queues - if so then wait a little while before giving up */ if(!device->sorted_tasks && !device->unsorted_tasks && device->ref_count > 0) { /* timed wait for signal from rm_mds_push_task_impl() */ gint64 end_time = g_get_monotonic_time() + MDS_EMPTYQUEUE_SLEEP_US; g_cond_wait_until(&device->cond, &device->lock, end_time); } /* sort and merge task lists */ if(device->unsorted_tasks) { if(mds->prioritiser) { device->sorted_tasks = g_slist_concat( g_slist_sort_with_data(device->unsorted_tasks, (GCompareDataFunc)rm_mds_compare, (RmMDSSortFunc)mds->prioritiser), device->sorted_tasks); } else { device->sorted_tasks = g_slist_concat(device->unsorted_tasks, device->sorted_tasks); } device->unsorted_tasks = NULL; } } g_mutex_unlock(&device->lock); /* process tasks from device->sorted_tasks */ RmMDSTask *task = NULL; while(processed < mds->pass_quota && (task = rm_util_slist_pop(&device->sorted_tasks, &device->lock))) { if(mds->func(task->task_data, mds->user_data)) { /* task succeeded; update counters */ ++processed; } rm_mds_task_free(task); } if(rm_mds_device_ref(device, 0) > 0) { /* return self to pool for further processing */ if(processed == 0) { /* stalled queue; chill for a bit */ g_usleep(1000); } rm_util_thread_pool_push(mds->pool, device); } else if(g_atomic_int_dec_and_test(&device->threads)) { /* free self and signal to rm_mds_free() */ g_mutex_lock(&mds->lock); { rm_log_debug_line("Freeing device %" LLU " (pointer %p)", (RmOff)device->disk, device); g_hash_table_remove(mds->disks, GINT_TO_POINTER(device->disk)); rm_mds_device_free(device); g_cond_signal(&mds->cond); } g_mutex_unlock(&mds->lock); } } /** @brief Push an RmMDSDevice to the threadpool **/ void rm_mds_device_start(RmMDSDevice *device, RmMDS *mds) { rm_assert_gentle(device->threads == 0); device->threads = mds->threads_per_disk; g_mutex_lock(&device->lock); { for(int i = 0; i < mds->threads_per_disk; ++i) { rm_log_debug_line("Starting disk %" LLU " (pointer %p) thread #%i", (RmOff)device->disk, device, i + 1); rm_util_thread_pool_push(mds->pool, device); } } g_mutex_unlock(&device->lock); } void rm_mds_start(RmMDS *mds) { guint disk_count = g_hash_table_size(mds->disks); guint threads = CLAMP(mds->threads_per_disk * disk_count, 1, (guint)mds->max_threads); rm_log_debug_line("Starting MDS scheduler with %i threads", threads); mds->pool = rm_util_thread_pool_new((GFunc)rm_mds_factory, mds, threads); mds->running = TRUE; GList *disks = g_hash_table_get_values(mds->disks); g_list_foreach(disks, (GFunc)rm_mds_device_start, mds); g_list_free(disks); } static RmMDSDevice *rm_mds_device_get_by_disk(RmMDS *mds, const dev_t disk) { RmMDSDevice *result = NULL; g_mutex_lock(&mds->lock); { rm_assert_gentle(mds->disks); result = g_hash_table_lookup(mds->disks, GINT_TO_POINTER(disk)); if(!result) { result = rm_mds_device_new(mds, disk); g_hash_table_insert(mds->disks, GINT_TO_POINTER(disk), result); if(g_atomic_int_get(&mds->running) == TRUE) { rm_mds_device_start(result, mds); } } } g_mutex_unlock(&mds->lock); return result; } ////////////////////////// // API Implementation // ////////////////////////// RmMDS *rm_mds_new(const gint max_threads, RmMountTable *mount_table, bool fake_disk) { RmMDS *self = g_slice_new0(RmMDS); g_mutex_init(&self->lock); g_cond_init(&self->cond); self->max_threads = max_threads; if(!mount_table && !fake_disk) { self->mount_table = rm_mounts_table_new(FALSE); } else { self->mount_table = mount_table; } self->fake_disk = fake_disk; self->disks = g_hash_table_new(g_direct_hash, g_direct_equal); self->running = FALSE; return self; } void rm_mds_configure(RmMDS *self, const RmMDSFunc func, const gpointer user_data, const gint pass_quota, const gint threads_per_disk, RmMDSSortFunc prioritiser) { rm_assert_gentle(self->running == FALSE); self->func = func; self->user_data = user_data; self->threads_per_disk = threads_per_disk; self->pass_quota = (pass_quota > 0) ? pass_quota : G_MAXINT; self->prioritiser = prioritiser; } void rm_mds_finish(RmMDS *mds) { g_mutex_lock(&mds->lock); /* wait for any pending threads to finish */ { while(g_hash_table_size(mds->disks) > 0) { /* wait for a device to finish */ { g_cond_wait(&mds->cond, &mds->lock); } } } g_mutex_unlock(&mds->lock); mds->running = FALSE; if(mds->pool) { g_thread_pool_free(mds->pool, false, true); } } void rm_mds_free(RmMDS *mds, gboolean free_mount_table) { rm_mds_finish(mds); g_hash_table_destroy(mds->disks); if(free_mount_table && mds->mount_table) { rm_mounts_table_destroy(mds->mount_table); } g_mutex_clear(&mds->lock); g_cond_clear(&mds->cond); g_slice_free(RmMDS, mds); } gint rm_mds_device_ref(RmMDSDevice *device, const gint ref_count) { gint result = 0; g_mutex_lock(&device->lock); { device->ref_count += ref_count; result = device->ref_count; } g_mutex_unlock(&device->lock); return result; } RmMDSDevice *rm_mds_device_get(RmMDS *mds, const char *path, dev_t dev) { dev_t disk = 0; if(dev == 0) { dev = rm_mounts_get_disk_id_by_path(mds->mount_table, path); } if(mds->fake_disk) { disk = dev; } else { disk = rm_mounts_get_disk_id(mds->mount_table, dev, path); } return rm_mds_device_get_by_disk(mds, disk); } gboolean rm_mds_device_is_rotational(RmMDSDevice *device) { return device->is_rotational; } void rm_mds_push_task(RmMDSDevice *device, dev_t dev, gint64 offset, const char *path, const gpointer task_data) { if(device->is_rotational && offset == -1) { offset = rm_offset_get_from_path(path, 0, NULL); } RmMDSTask *task = rm_mds_task_new(dev, offset, task_data); rm_mds_push_task_impl(device, task); } /** * @brief prioritiser function for basic elevator algorithm **/ gint rm_mds_elevator_cmp(const RmMDSTask *task_a, const RmMDSTask *task_b) { return (2 * SIGN_DIFF(task_a->dev, task_b->dev) + 1 * SIGN_DIFF(task_a->offset, task_b->offset)); } rmlint-2.6.1/lib/md-scheduler.h000066400000000000000000000154641312046612000163250ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #ifndef RM_MD_SCHEDULER_H #define RM_MD_SCHEDULER_H #include #include "config.h" #include "session.h" #include "utilities.h" /** * @file md-scheduler.h * @brief Multi-disk scheduler/optimiser API for IO related tasks. * * A multi-disk scheduler for improving speed of IO-related tasks. * Tasks pushed to the scheduler are sorted according to associated * physical disk/device. A worker thread is created for each physical * disk. * * Tasks sent to each worker thread are queued and processed in order * according to a prioritisation function (eg an elevator algorithm * based on disk offsets). * * Device workers are reference-counted, which may be useful eg in cases * where there are known future tasks on a device, eg tasks which can't * be started until other tasks have completed. * * Typical workflow: * * RmMDS *mds = rm_mds_new(task_callback, max_threads, sorter, user_data); * while (task) { * rm_mds_push_path(mds, path, task_user_data); * } * rm_mds_free(mds); * * * If the tasks inode, dev and disk are known, * then rm_mds_push_dev(mds, disk, dev, node, user_data) may be * used instead of rm_mds_push_path(). * **/ /** * @struct RmMDS * * RmMDS is an opaque data structure to represent a scheduling engine. * It should be created and destroyed via rm_mds_new() and * rm_mds_free(). * **/ typedef struct _RmMDS RmMDS; /** * @struct RmMDSDevice * * RmMDSDevice is an opaque data structure to represent a disk/device * on the scheduling engine. The device carries on reference count for * each file associated with it; it will destroy itself once it has * no more references. * **/ typedef struct _RmMDSDevice RmMDSDevice; /** * @struct RmTask * **/ typedef struct RmMDSTask { dev_t dev; guint64 offset; gpointer task_data; } RmMDSTask; /** * @brief RmMDSFunc function prototype, called for each task * * @param task_user_data User data passed via rm_mds_push_...() * @param session_user_data User data passed to rm_mds_new() * @retval amount to decrement device worker's per-pass quota * * The number of tasks processed on each pass through a device can be * limited by a quota. This may be useful in cases where the same file * is accessed several times in quick succession, since the file * metadata and data may still be cached. * **/ typedef gint (*RmMDSFunc)(RmMDSTask *task, gpointer session_user_data); /** * @brief RmMDSTask task prioritisation function prototype * * @param dev_a Device number for task a * @param dev_b Device number for task b * @param off_a Device offset bytes for task a * @param dev_a Device offset bytes for task b * @param data_a User data for task a * @param data_b User data for task b * @retval negative value or zero if a should be processed before b, positive value if b *should be processed before a **/ typedef gint (*RmMDSSortFunc)(const RmMDSTask *task_a, const RmMDSTask *task_b); /** * @brief Allocate and initialise a new MDS scheduler * * @param max_threads Maximum number of concurrent device threads * @param mount_table RmMountTable to use; if NULL then will create new one * @param fake_disk Don't use mount table; use user-supplied dev as disk number * * Scheduler is initially paused. * session_user_data will be passed to task callback. * **/ RmMDS *rm_mds_new(const gint max_threads, RmMountTable *mount_table, bool fake_disk); /** * @brief Configure or reconfigure an MDS scheduler * * @param func The callback function called for each task * @param user_data Pointer to user data associated with the scheduler * @param pass_quota Quota tasks per pass (refer RmMDSTask) * @param prioritiser Compare function for prioritising * **/ void rm_mds_configure(RmMDS *self, const RmMDSFunc func, const gpointer user_data, const gint pass_quota, const gint threads_per_disk, RmMDSSortFunc prioritiser); /** * @brief start a paused MDS scheduler **/ void rm_mds_start(RmMDS *mds); /** * @brief Wait for all RmMDS scheduler tasks to finish * * @param mds Pointer to the MDS scheduler **/ void rm_mds_finish(RmMDS *mds); /** * @brief Wait for all tasks to finish then free the RmMDS scheduler * * @param mds Pointer to the MDS scheduler * @param free_mount_table Whether to free the scheduler's mount table **/ void rm_mds_free(RmMDS *mds, const gboolean free_mount_table); /** * @brief get pointer to the appropriate RmMDSDevice for a file * * @param mds Pointer to the MDS scheduler * @param path The file of folder path * @param dev If known, the stat(1) device of the path; **/ RmMDSDevice *rm_mds_device_get(RmMDS *mds, const char *path, dev_t dev); /** * @brief return rotationality of device * */ gboolean rm_mds_device_is_rotational(RmMDSDevice *device); /** * @brief increase or decrease MDS reference count for an RmMDSDevice * * @param device Pointer to the RmMDSDevice * @param ref_count The amount to increase/decrease reference count * @retval the resultant reference count for the device **/ gint rm_mds_device_ref(RmMDSDevice *device, const gint ref_count); /** * @brief Push a new task to an RmMDS scheduler, based on file/folder path. * * The scheduler will look up the path's dev and disk. If these are already known, it * is more efficient to use rm_mds_push_dev(). * * @param device Pointer to the RmMDSDevice * @param offset Physical offset of file on dev (-1 triggers lookup) * @param path Path to the file (used for offset lookup) * @param task_user_data Pointer to user data associated with the task. **/ void rm_mds_push_task(RmMDSDevice *device, dev_t dev, gint64 offset, const char *path, const gpointer task_data); /** * @brief prioritiser function for basic elevator algorithm **/ gint rm_mds_elevator_cmp(const RmMDSTask *task_a, const RmMDSTask *task_b); #endif /* end of include guard */ rmlint-2.6.1/lib/pathtricia.c000066400000000000000000000222031312046612000160610ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * **/ #include #include #include #include #include "config.h" #include "pathtricia.h" ////////////////////////// // RmPathNode Methods // ////////////////////////// static RmNode *rm_node_new(RmTrie *trie, const char *elem) { RmNode *self = g_slice_alloc0(sizeof(RmNode)); if(elem != NULL) { /* Note: We could use g_string_chunk_insert_const here. * That would keep a hash table with all strings internally though, * but would sort out storing duplicate path elements. In normal * setups this will not happen that much though I guess. */ self->basename = g_string_chunk_insert(trie->chunks, elem); } return self; } static void rm_node_free(RmNode *node) { if(node->children) { g_hash_table_unref(node->children); } memset(node, 0, sizeof(RmNode)); g_slice_free(RmNode, node); } static RmNode *rm_node_insert(RmTrie *trie, RmNode *parent, const char *elem) { if(parent->children == NULL) { parent->children = g_hash_table_new(g_str_hash, g_str_equal); } RmNode *exists = g_hash_table_lookup(parent->children, elem); if(exists == NULL) { RmNode *node = rm_node_new(trie, elem); node->parent = parent; g_hash_table_insert(parent->children, node->basename, node); return node; } return exists; } /////////////////////////// // RmTrie Methods // /////////////////////////// void rm_trie_init(RmTrie *self) { rm_assert_gentle(self); self->root = rm_node_new(self, NULL); /* Average path len is 93.633236. * I did ze science! :-) */ self->chunks = g_string_chunk_new(100); g_mutex_init(&self->lock); } /* Path iterator that works with absolute paths. * Absolute paths are required to start with a / */ typedef struct RmPathIter { char *curr_elem; char path_buf[PATH_MAX]; } RmPathIter; void rm_path_iter_init(RmPathIter *iter, const char *path) { if(*path == '/') { path++; } memset(iter->path_buf, 0, PATH_MAX); strncpy(iter->path_buf, path, PATH_MAX); iter->curr_elem = iter->path_buf; } char *rm_path_iter_next(RmPathIter *iter) { char *elem_begin = iter->curr_elem; if(elem_begin && (iter->curr_elem = strchr(elem_begin, '/'))) { *(iter->curr_elem) = 0; iter->curr_elem += 1; } return elem_begin; } RmNode *rm_trie_insert(RmTrie *self, const char *path, void *value) { rm_assert_gentle(self); rm_assert_gentle(path); RmPathIter iter; rm_path_iter_init(&iter, path); g_mutex_lock(&self->lock); char *path_elem = NULL; RmNode *curr_node = self->root; while((path_elem = rm_path_iter_next(&iter))) { curr_node = rm_node_insert(self, curr_node, path_elem); } if(curr_node != NULL) { curr_node->has_value = true; curr_node->data = value; self->size++; } g_mutex_unlock(&self->lock); return curr_node; } RmNode *rm_trie_search_node(RmTrie *self, const char *path) { rm_assert_gentle(self); rm_assert_gentle(path); RmPathIter iter; rm_path_iter_init(&iter, path); g_mutex_lock(&self->lock); char *path_elem = NULL; RmNode *curr_node = self->root; while(curr_node && (path_elem = rm_path_iter_next(&iter))) { if(curr_node->children == NULL) { /* Can't go any further */ g_mutex_unlock(&self->lock); return NULL; } curr_node = g_hash_table_lookup(curr_node->children, path_elem); } g_mutex_unlock(&self->lock); return curr_node; } void *rm_trie_search(RmTrie *self, const char *path) { RmNode *find = rm_trie_search_node(self, path); return (find) ? find->data : NULL; } bool rm_trie_set_value(RmTrie *self, const char *path, void *data) { RmNode *find = rm_trie_search_node(self, path); if(find == NULL) { return false; } else { find->data = data; return true; } } char *rm_trie_build_path_unlocked(RmNode *node, char *buf, size_t buf_len) { if(node == NULL) { return NULL; } size_t n_elements = 1; char *elements[PATH_MAX / 2 + 1] = {node->basename, NULL}; /* walk up the folder tree, collecting path elements into a list */ for(RmNode *folder = node->parent; folder && folder->parent; folder = folder->parent) { elements[n_elements++] = folder->basename; if(n_elements >= sizeof(elements)) { break; } } /* copy collected elements into *buf */ char *buf_ptr = buf; while(n_elements && (size_t)(buf_ptr - buf) < buf_len) { *buf_ptr = '/'; buf_ptr = g_stpcpy(buf_ptr + 1, (char *)elements[--n_elements]); } return buf; } char *rm_trie_build_path(RmTrie *self, RmNode *node, char *buf, size_t buf_len) { if(node == NULL) { return NULL; } char *result = NULL; g_mutex_lock(&self->lock); { result = rm_trie_build_path_unlocked(node, buf, buf_len); } g_mutex_unlock(&self->lock); return result; } size_t rm_trie_size(RmTrie *self) { return self->size; } static void _rm_trie_iter(RmTrie *self, RmNode *root, bool pre_order, bool all_nodes, RmTrieIterCallback callback, void *user_data, int level) { GHashTableIter iter; gpointer key, value; if(root == NULL) { root = self->root; } if(pre_order && (all_nodes || root->has_value)) { if(callback(self, root, level, user_data) != 0) { return; } } if(root->children != NULL) { g_hash_table_iter_init(&iter, root->children); while(g_hash_table_iter_next(&iter, &key, &value)) { _rm_trie_iter(self, value, pre_order, all_nodes, callback, user_data, level + 1); } } if(!pre_order && (all_nodes || root->has_value)) { if(callback(self, root, level, user_data) != 0) { return; } } } void rm_trie_iter(RmTrie *self, RmNode *root, bool pre_order, bool all_nodes, RmTrieIterCallback callback, void *user_data) { g_mutex_lock(&self->lock); _rm_trie_iter(self, root, pre_order, all_nodes, callback, user_data, 0); g_mutex_unlock(&self->lock); } static int rm_trie_destroy_callback(_UNUSED RmTrie *self, RmNode *node, _UNUSED int level, _UNUSED void *user_data) { rm_node_free(node); return 0; } void rm_trie_destroy(RmTrie *self) { rm_trie_iter(self, NULL, false, true, rm_trie_destroy_callback, NULL); g_string_chunk_free(self->chunks); g_mutex_clear(&self->lock); } #ifdef _RM_PATHTRICIA_BUILD_MAIN #include static int rm_trie_print_callback(_UNUSED RmTrie *self, RmNode *node, int level, _UNUSED void *user_data) { for(int i = 0; i < level; ++i) { g_printerr(" "); } g_printerr("%s %s\n", (char *)((node->basename) ? node->basename : "[root]"), (node->data) ? "[leaf]" : ""); return 0; } void rm_trie_print(RmTrie *self) { rm_trie_iter(self, NULL, true, true, rm_trie_print_callback, NULL); } int main(void) { RmTrie trie; rm_trie_init(&trie); GTimer *timer = g_timer_new(); g_timer_start(timer); char buf[1024]; int i = 0; while(fgets(buf, sizeof(buf), stdin)) { buf[strlen(buf) - 1] = 0; rm_trie_insert(&trie, buf, GUINT_TO_POINTER(++i)); memset(buf, 0, sizeof(buf)); } g_printerr("Took %2.5f to insert %d items\n", g_timer_elapsed(timer, NULL), i); rm_trie_print(&trie); memset(buf, 0, sizeof(buf)); rm_trie_build_path(&trie, rm_trie_search_node(&trie, "/usr/bin/rmlint"), buf, sizeof(buf)); g_printerr("=> %s\n", buf); g_timer_start(timer); const int N = 10000000; for(int x = 0; x < N; x++) { rm_trie_search(&trie, "/usr/bin/rmlint"); } g_printerr("Took %2.5f to search\n", g_timer_elapsed(timer, NULL)); g_printerr("%u\n", GPOINTER_TO_UINT(rm_trie_search(&trie, "/usr/bin/rmlint"))); g_printerr("%u\n", GPOINTER_TO_UINT(rm_trie_search(&trie, "/a/b/c"))); rm_trie_destroy(&trie); g_timer_destroy(timer); return 0; } #endif rmlint-2.6.1/lib/pathtricia.h000066400000000000000000000073111312046612000160710ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * **/ #ifndef RM_PATHTRICIA_H #define RM_PATHTRICIA_H #include #include typedef struct _RmNode { /* Element of the path */ char *basename; /* Parent node or NULL */ struct _RmNode *parent; /* Array of children nodes */ GHashTable *children; /* data was set explicitly */ char has_value : 1; /* User specific data */ gpointer data; } RmNode; typedef struct _RmTrie { /* Root node or NULL if empty */ RmNode *root; /* chunk storage for strings */ GStringChunk *chunks; /* size of the trie */ size_t size; /* read write lock for insert/search */ GMutex lock; } RmTrie; /* Callback to rm_trie_iter */ typedef int (*RmTrieIterCallback)(RmTrie *self, RmNode *node, int level, void *user_data); /** * rm_trie_init: * Initialize a trie. */ void rm_trie_init(RmTrie *self); /** * rm_trie_destroy: * Free all resources associated with the trie */ void rm_trie_destroy(RmTrie *self); /** * rm_trie_insert: * Insert a path to the trie and associate a value with it. * The value can be later requested with rm_trie_search*. */ RmNode *rm_trie_insert(RmTrie *self, const char *path, void *value); RmNode *rm_trie_insert_unlocked(RmTrie *self, const char *path, void *value); /** * rm_trie_search_node: * Search a node in the trie by path. */ RmNode *rm_trie_search_node(RmTrie *self, const char *path); /** * rm_trie_search: * As rm_trie_search_node but returns node->value if node is not NULL. */ void *rm_trie_search(RmTrie *self, const char *path); /** * rm_trie_set_value: * Search a node in the trie and set its value. * If node does not exist, no value is set and false is returned.. */ bool rm_trie_set_value(RmTrie *self, const char *path, void *data); /** * rm_trie_build_path: * Take a node and go up till parent while writing all nodes * in buf (or until buf_len is reached). * * Returns the input buffer for chaining calls. */ char *rm_trie_build_path(RmTrie *self, RmNode *node, char *buf, size_t buf_len); char *rm_trie_build_path_unlocked(RmNode *node, char *buf, size_t buf_len); /** * rm_trie_size: * Return the size of the trie. */ size_t rm_trie_size(RmTrie *self); /** * rm_trie_iter: * Iterate over all nodes in the trie starting on root calling `callback` on * each. If root is NULL, self->root is assumed. * * If pre_order is true, the trie is iterated top-down (i.e. for printing) * if pre_order is false, the trie is iterated bottom-up (i.e. for freeing) * * If all_nodes is true all nodes are traversed. * If all_nodes is false only nodes that were explicitly inserted are traversed. * * user_data will be passed to the callback. */ void rm_trie_iter(RmTrie *self, RmNode *root, bool pre_order, bool all_nodes, RmTrieIterCallback callback, void *user_data); #endif rmlint-2.6.1/lib/preprocess.c000066400000000000000000000562611312046612000161310ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint */ #include #include #include #include #include #include "cmdline.h" #include "formats.h" #include "preprocess.h" #include "shredder.h" #include "utilities.h" static gint rm_file_cmp_with_extension(const RmFile *file_a, const RmFile *file_b) { char *ext_a = rm_util_path_extension(file_a->folder->basename); char *ext_b = rm_util_path_extension(file_b->folder->basename); if(ext_a && ext_b) { return g_ascii_strcasecmp(ext_a, ext_b); } else { /* file with an extension outranks one without */ return (!!ext_a - !!ext_b); } } static gint rm_file_cmp_without_extension(const RmFile *file_a, const RmFile *file_b) { const char *basename_a = file_a->folder->basename; const char *basename_b = file_b->folder->basename; char *ext_a = rm_util_path_extension(basename_a); char *ext_b = rm_util_path_extension(basename_b); /* Check length till extension, or full length if none present */ size_t a_len = (ext_a) ? (ext_a - basename_a) : (int)strlen(basename_a); size_t b_len = (ext_b) ? (ext_b - basename_b) : (int)strlen(basename_a); RETURN_IF_NONZERO(SIGN_DIFF(a_len, b_len)); return g_ascii_strncasecmp(basename_a, basename_b, a_len); } /* test if two files qualify for the same "group"; if not then rank them by * size and then other factors depending on settings */ gint rm_file_cmp(const RmFile *file_a, const RmFile *file_b) { gint result = SIGN_DIFF(file_a->file_size, file_b->file_size); RETURN_IF_NONZERO(result); RmCfg *cfg = file_a->session->cfg; if(cfg->match_basename) { result = rm_file_basenames_cmp(file_a, file_b); RETURN_IF_NONZERO(result); } if(cfg->match_with_extension) { result = rm_file_cmp_with_extension(file_a, file_b); RETURN_IF_NONZERO(result); } if(cfg->match_without_extension) { result = rm_file_cmp_without_extension(file_a, file_b); } return result; } static gint rm_file_cmp_full(const RmFile *file_a, const RmFile *file_b, const RmSession *session) { gint result = rm_file_cmp(file_a, file_b); RETURN_IF_NONZERO(result); if(session->cfg->mtime_window >= 0) { result = FLOAT_SIGN_DIFF(file_a->mtime, file_b->mtime, MTIME_TOL); RETURN_IF_NONZERO(result); } return rm_pp_cmp_orig_criteria(file_a, file_b, session); } static gint rm_file_cmp_split(const RmFile *file_a, const RmFile *file_b, const RmSession *session) { gint result = rm_file_cmp(file_a, file_b); RETURN_IF_NONZERO(result); /* If --mtime-window is specified, we need to check if the mtime is inside * the window. The file list was sorted by rm_file_cmp_full by taking the * diff of mtimes, therefore we have to define the split criteria * differently. */ if(session->cfg->mtime_window >= 0) { /* this will split group (return +/-1) if mtime difference is larger than * mtime window */ return FLOAT_SIGN_DIFF(file_a->mtime, file_b->mtime, session->cfg->mtime_window); } return 0; } static guint rm_node_hash(const RmFile *file) { return file->inode ^ file->dev; } static gboolean rm_node_equal(const RmFile *file_a, const RmFile *file_b) { return (file_a->inode == file_b->inode) && (file_a->dev == file_b->dev); } /* GHashTable key tuned to recognize duplicate paths. * i.e. RmFiles that are not only hardlinks but * also point to the real path */ typedef struct RmPathDoubleKey { /* stat(dirname(file->path)).st_ino */ ino_t parent_inode; /* File the key points to */ RmFile *file; } RmPathDoubleKey; static guint rm_path_double_hash(const RmPathDoubleKey *key) { /* depend only on the always set components, never change the hash duringthe run */ return rm_node_hash(key->file); } static ino_t rm_path_parent_inode(RmFile *file) { char parent_path[PATH_MAX]; rm_trie_build_path((RmTrie *)&file->session->cfg->file_trie, file->folder->parent, parent_path, PATH_MAX); RmStat stat_buf; int retval = rm_sys_stat(parent_path, &stat_buf); if(retval == -1) { rm_log_error_line("Failed to get parent path: stat failed: %s", g_strerror(errno)); return 0; } return stat_buf.st_ino; } static bool rm_path_have_same_parent(RmPathDoubleKey *key_a, RmPathDoubleKey *key_b) { RmFile *file_a = key_a->file, *file_b = key_b->file; return (file_a->folder->parent == file_b->folder->parent || rm_path_parent_inode(file_a) == rm_path_parent_inode(file_b)); } static gboolean rm_path_double_equal(RmPathDoubleKey *key_a, RmPathDoubleKey *key_b) { if(key_a->file->inode != key_b->file->inode) { return FALSE; } if(key_a->file->dev != key_b->file->dev) { return FALSE; } RmFile *file_a = key_a->file; RmFile *file_b = key_b->file; if(!rm_path_have_same_parent(key_a, key_b)) { return FALSE; } return g_strcmp0(file_a->folder->basename, file_b->folder->basename) == 0; } static RmPathDoubleKey *rm_path_double_new(RmFile *file) { RmPathDoubleKey *key = g_malloc0(sizeof(RmPathDoubleKey)); key->file = file; return key; } static void rm_path_double_free(RmPathDoubleKey *key) { g_free(key); } RmFileTables *rm_file_tables_new(_UNUSED const RmSession *session) { RmFileTables *tables = g_slice_new0(RmFileTables); tables->all_files = g_queue_new(); tables->node_table = g_hash_table_new_full((GHashFunc)rm_node_hash, (GEqualFunc)rm_node_equal, NULL, (GDestroyNotify)g_queue_free); tables->unique_paths_table = g_hash_table_new_full((GHashFunc)rm_path_double_hash, (GEqualFunc)rm_path_double_equal, (GDestroyNotify)rm_path_double_free, NULL); g_mutex_init(&tables->lock); return tables; } void rm_file_tables_destroy(RmFileTables *tables) { g_queue_free(tables->all_files); if(tables->size_groups) { g_slist_free(tables->size_groups); tables->size_groups = NULL; } if(tables->node_table) { g_hash_table_unref(tables->node_table); } g_hash_table_unref(tables->unique_paths_table); g_mutex_clear(&tables->lock); g_slice_free(RmFileTables, tables); } static size_t rm_pp_parse_pattern(const char *pattern, GRegex **regex, GError **error) { if(*pattern != '<') { g_set_error(error, RM_ERROR_QUARK, 0, _("Pattern has to start with `<`")); return 0; } /* Balance of start and end markers */ int balance = 1; char *iter = (char *)pattern; char *last = iter; while((iter = strpbrk(&iter[1], "<>"))) { if(iter[-1] == '\\') { /* escaped, skip */ break; } if(iter && *iter == '<') { ++balance; } else if(iter) { --balance; last = iter; } if(balance == 0) { break; } } if(balance != 0) { g_set_error(error, RM_ERROR_QUARK, 0, _("`<` or `>` imbalance: %d"), balance); return 0; } size_t src_len = (last - pattern - 1); if(src_len == 0) { g_set_error(error, RM_ERROR_QUARK, 0, _("empty pattern")); return 0; } GString *part = g_string_new_len(&pattern[1], src_len); rm_log_debug_line("Compiled pattern: %s\n", part->str); /* Actually compile the pattern: */ *regex = g_regex_new(part->str, G_REGEX_RAW | G_REGEX_OPTIMIZE, 0, error); g_string_free(part, TRUE); /* Include <> in the result len */ return src_len + 2; } /* Compile all regexes inside a sortcriteria string. * Every regex (enclosed in <>) will be removed from the * sortcriteria spec, so that the returned string will * consist only of single letters. */ char *rm_pp_compile_patterns(RmSession *session, const char *sortcrit, GError **error) { /* Total of encountered patterns */ int pattern_count = 0; /* Copy of the sortcriteria without pattern specs in <> */ size_t minified_cursor = 0; char *minified_sortcrit = g_strdup(sortcrit); for(size_t i = 0; sortcrit[i]; i++) { /* Copy everything that is not a regex pattern */ minified_sortcrit[minified_cursor++] = sortcrit[i]; char curr_crit = tolower((unsigned char)sortcrit[i]); /* Check if it's a non-regex sortcriteria */ if(!(curr_crit == 'r' || curr_crit == 'x')) { continue; } if(sortcrit[i + 1] != '<') { g_set_error(error, RM_ERROR_QUARK, 0, _("no pattern given in <> after 'r' or 'x'")); break; } GRegex *regex = NULL; /* Jump over the regex pattern part */ i += rm_pp_parse_pattern(&sortcrit[i + 1], ®ex, error); if(regex != NULL) { if(pattern_count < (int)RM_PATTERN_N_MAX && pattern_count != -1) { /* Append to already compiled patterns */ g_ptr_array_add(session->pattern_cache, regex); pattern_count++; } else if(pattern_count != -1) { g_set_error(error, RM_ERROR_QUARK, 0, _("Cannot add more than %lu regex patterns."), (unsigned long)RM_PATTERN_N_MAX); /* Make sure to set the warning only once */ pattern_count = -1; g_regex_unref(regex); } else { g_regex_unref(regex); } } } g_prefix_error(error, _("Error while parsing sortcriteria patterns: ")); minified_sortcrit[minified_cursor] = 0; return minified_sortcrit; } static int rm_pp_cmp_by_regex(GRegex *regex, int idx, RmPatternBitmask *mask_a, const char *path_a, RmPatternBitmask *mask_b, const char *path_b) { int result = 0; if(RM_PATTERN_IS_CACHED(mask_a, idx)) { /* Get the previous match result */ result = RM_PATTERN_GET_CACHED(mask_a, idx); } else { /* Match for the first time */ result = g_regex_match(regex, path_a, 0, NULL); RM_PATTERN_SET_CACHED(mask_a, idx, result); } if(result) { return -1; } if(RM_PATTERN_IS_CACHED(mask_b, idx)) { /* Get the previous match result */ result = RM_PATTERN_GET_CACHED(mask_b, idx); } else { /* Match for the first time */ result = g_regex_match(regex, path_b, 0, NULL); RM_PATTERN_SET_CACHED(mask_b, idx, result); } if(result) { return +1; } /* Both match or none of the both match */ return 0; } /* * Sort two files in accordance with single criterion */ static int rm_pp_cmp_criterion(unsigned char criterion, const RmFile *a, const RmFile *b, const char *a_path, const char *b_path, int *regex_cursor, const RmSession *session) { int sign = (isupper(criterion) ? -1 : 1); switch(tolower(criterion)) { case 'm': return sign * FLOAT_SIGN_DIFF(a->mtime, b->mtime, MTIME_TOL); case 'a': return sign * g_ascii_strcasecmp(a->folder->basename, b->folder->basename); case 'l': return sign * SIGN_DIFF(strlen(a->folder->basename), strlen(b->folder->basename)); case 'd': return sign * SIGN_DIFF(a->depth, b->depth); case 'h': return sign * SIGN_DIFF(a->link_count, b->link_count); case 'o': return sign * SIGN_DIFF(a->outer_link_count, b->outer_link_count); case 'p': return sign * SIGN_DIFF(a->path_index, b->path_index); case 'x': { int cmp = rm_pp_cmp_by_regex( g_ptr_array_index(session->pattern_cache, *regex_cursor), *regex_cursor, (RmPatternBitmask *)&a->pattern_bitmask_basename, a->folder->basename, (RmPatternBitmask *)&b->pattern_bitmask_basename, b->folder->basename); (*regex_cursor)++; return sign * cmp; } case 'r': { int cmp = rm_pp_cmp_by_regex( g_ptr_array_index(session->pattern_cache, *regex_cursor), *regex_cursor, (RmPatternBitmask *)&a->pattern_bitmask_path, a_path, (RmPatternBitmask *)&b->pattern_bitmask_path, b_path); (*regex_cursor)++; return sign * cmp; } default: rm_assert_gentle_not_reached(); return 0; } } /* Sort criteria for sorting by preferred path (first) then user-input criteria */ /* Return: * a negative integer file 'a' outranks 'b', * 0 if they are equal, * a positive integer if file 'b' outranks 'a' */ int rm_pp_cmp_orig_criteria(const RmFile *a, const RmFile *b, const RmSession *session) { /* "other" lint outranks duplicates and has lower ENUM */ RETURN_IF_NONZERO(SIGN_DIFF(a->lint_type, b->lint_type)) RETURN_IF_NONZERO(SIGN_DIFF(a->is_symlink, b->is_symlink)) RETURN_IF_NONZERO(SIGN_DIFF(b->is_prefd, a->is_prefd)) /* Only fill in path if we have a pattern in sort_criteria */ bool path_needed = (session->pattern_cache->len > 0); RM_DEFINE_PATH_IF_NEEDED(a, path_needed); RM_DEFINE_PATH_IF_NEEDED(b, path_needed); RmCfg *cfg = session->cfg; for(int i = 0, regex_cursor = 0; cfg->sort_criteria[i]; i++) { int res = rm_pp_cmp_criterion(cfg->sort_criteria[i], a, b, a_path, b_path, ®ex_cursor, session); RETURN_IF_NONZERO(res); } return 0; } void rm_file_list_insert_file(RmFile *file, const RmSession *session) { g_mutex_lock(&session->tables->lock); { g_queue_push_tail(session->tables->all_files, file); } g_mutex_unlock(&session->tables->lock); } void rm_file_tables_clear(const RmSession *session) { GHashTableIter iter; gpointer key; g_hash_table_iter_init(&iter, session->tables->node_table); while(g_hash_table_iter_next(&iter, &key, NULL)) { RmFile *file = key; if(file) { rm_file_destroy(file); } } } /* if file is not DUPE_CANDIDATE then send it to session->tables->other_lint and * return 1; else return 0 */ static gboolean rm_pp_handle_other_lint(RmFile *file, const RmSession *session) { if(file->lint_type == RM_LINT_TYPE_DUPE_CANDIDATE) { return FALSE; } if(session->cfg->filter_mtime && file->mtime < session->cfg->min_mtime) { rm_file_destroy(file); } else if((session->cfg->keep_all_tagged && file->is_prefd) || (session->cfg->keep_all_untagged && !file->is_prefd)) { /* "Other" lint protected by --keep-all-{un,}tagged */ rm_file_destroy(file); } else { session->tables->other_lint[file->lint_type] = g_list_prepend(session->tables->other_lint[file->lint_type], file); } return TRUE; } static gboolean rm_pp_check_path_double(RmFile *file, GHashTable *unique_paths_table) { RmPathDoubleKey *key = rm_path_double_new(file); /* Lookup if there is a file with the same path */ RmPathDoubleKey *match_double_key = g_hash_table_lookup(unique_paths_table, key); if(match_double_key == NULL) { g_hash_table_add(unique_paths_table, key); return FALSE; } RmFile *match_double = match_double_key->file; rm_assert_gentle(match_double != file); rm_path_double_free(key); rm_file_destroy(file); return TRUE; } static gint rm_pp_handle_hardlink(RmFile *file, RmFile *head) { if(file == head) { return FALSE; } if(head->hardlinks) { /* bundle hardlink */ rm_file_hardlink_add(head, file); } /* remove file from inode_cluster queue */ return TRUE; } /* Preprocess files, including embedded hardlinks. Any embedded hardlinks * that are "other lint" types are sent to rm_pp_handle_other_lint. If the * file itself is "other lint" types it is likewise sent to rm_pp_handle_other_lint. * If there are no files left after this then return TRUE so that the * cluster can be deleted from the node_table hash table. * NOTE: we rely on rm_file_list_insert to select an RM_LINT_TYPE_DUPE_CANDIDATE as * head * file (unless ALL the files are "other lint"). */ static gboolean rm_pp_handle_inode_clusters(_UNUSED gpointer key, GQueue *inode_cluster, RmSession *session) { RmCfg *cfg = session->cfg; if(inode_cluster->length > 1) { /* there is a cluster of inode matches */ /* remove path doubles. * Special case for --equal; consider this: * $ rmlint --equal link_to_xyz other_link_to_xyz * * Two symbolic links to the same file should be seen as equal. * Normally rmlint will use realpath() to resolve explicitly given symlinks * and remove the paths double later on here. Disable for --equal therefore. * */ if(!session->cfg->run_equal_mode) { session->total_filtered_files -= rm_util_queue_foreach_remove(inode_cluster, (RmRFunc)rm_pp_check_path_double, session->tables->unique_paths_table); } /* clear the hashtable ready for the next cluster */ g_hash_table_remove_all(session->tables->unique_paths_table); } /* process and remove other lint */ session->total_filtered_files -= rm_util_queue_foreach_remove( inode_cluster, (RmRFunc)rm_pp_handle_other_lint, (RmSession *)session); if(inode_cluster->length > 1) { /* bundle or free the non-head files */ RmFile *headfile = inode_cluster->head->data; if(cfg->find_hardlinked_dupes) { /* prepare to bundle files under the hardlink head */ rm_file_hardlink_add(headfile, headfile); } /* hardlink cluster are counted as filtered files since they are either * ignored or treated as automatic duplicates depending on settings (so * no effort eaither way); rm_pp_handle_hardlink will either free or bundle * the hardlinks depending on value of headfile->hardlinks.is_head. */ session->total_filtered_files -= rm_util_queue_foreach_remove( inode_cluster, (RmRFunc)rm_pp_handle_hardlink, headfile); } /* update counters */ rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_PREPROCESS); rm_assert_gentle(inode_cluster->length <= 1); if(inode_cluster->length == 1) { session->tables->size_groups->data = g_slist_prepend( session->tables->size_groups->data, inode_cluster->head->data); } return TRUE; } static int rm_pp_cmp_reverse_alphabetical(const RmFile *a, const RmFile *b) { RM_DEFINE_PATH(a); RM_DEFINE_PATH(b); return g_strcmp0(b_path, a_path); } static RmOff rm_pp_handler_other_lint(const RmSession *session) { RmOff num_handled = 0; RmFileTables *tables = session->tables; for(RmOff type = 0; type < RM_LINT_TYPE_DUPE_CANDIDATE; ++type) { if(type == RM_LINT_TYPE_EMPTY_DIR) { tables->other_lint[type] = g_list_sort( tables->other_lint[type], (GCompareFunc)rm_pp_cmp_reverse_alphabetical); } GList *list = tables->other_lint[type]; for(GList *iter = list; iter; iter = iter->next) { RmFile *file = iter->data; rm_assert_gentle(file); rm_assert_gentle(type == file->lint_type); num_handled++; rm_fmt_write(file, session->formats, -1); } if(!session->cfg->cache_file_structs) { g_list_free_full(list, (GDestroyNotify)rm_file_destroy); } else { g_list_free(list); } } return num_handled; } /* This does preprocessing including handling of "other lint" (non-dupes) * After rm_preprocess(), all remaining duplicate candidates are in * a jagged GSList of GSLists as follows: * session->tables->size_groups->group1->file1a * ->file1b * ->file1c * ->group2->file2a * ->file2b * etc */ void rm_preprocess(RmSession *session) { RmFileTables *tables = session->tables; GQueue *all_files = tables->all_files; session->total_filtered_files = session->total_files; /* initial sort by size */ g_queue_sort(all_files, (GCompareDataFunc)rm_file_cmp_full, session); rm_log_debug_line("initial size sort finished at time %.3f; sorted %d files", g_timer_elapsed(session->timer, NULL), session->total_files); /* split into file size groups; for each size, remove path doubles and bundle * hardlinks */ rm_assert_gentle(all_files->head); RmFile *file = g_queue_pop_head(all_files); RmFile *current_size_file = file; guint removed = 0; GHashTable *node_table = tables->node_table; while(file && !rm_session_was_aborted()) { /* group files into inode clusters */ GQueue *inode_cluster = rm_hash_table_setdefault(node_table, file, (RmNewFunc)g_queue_new); g_queue_push_tail(inode_cluster, file); /* get next file and check if it is part of the same group */ file = g_queue_pop_head(all_files); if(!file || rm_file_cmp_split(file, current_size_file, session) != 0) { /* process completed group (all same size & other criteria)*/ /* remove path doubles and handle "other" lint */ /* add an empty GSlist to our list of lists */ tables->size_groups = g_slist_prepend(tables->size_groups, NULL); removed += g_hash_table_foreach_remove( node_table, (GHRFunc)rm_pp_handle_inode_clusters, session); /* free up the node table for the next group */ g_hash_table_steal_all(node_table); if(tables->size_groups->data == NULL) { /* zero size group after handling other lint; remove it */ tables->size_groups = g_slist_delete_link(tables->size_groups, tables->size_groups); } } current_size_file = file; } session->other_lint_cnt += rm_pp_handler_other_lint(session); rm_log_debug_line( "path doubles removal/hardlink bundling/other lint finished at %.3f; removed " "%u " "of %d", g_timer_elapsed(session->timer, NULL), removed, session->total_files); rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_PREPROCESS); } rmlint-2.6.1/lib/preprocess.h000066400000000000000000000044541312046612000161330ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * ** Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * ** Hosted on http://github.com/sahib/rmlint * **/ #ifndef RM_PREPROCESS_H #define RM_PREPROCESS_H #include "file.h" #include "session.h" /** * @brief Do some pre-processing (eg remove path doubles) and process "other lint". * * Returns: number of other lint items found. */ void rm_preprocess(RmSession *session); /** * @brief Create a new RmFileTable object. * * @return A newly allocated RmFileTable. */ RmFileTables *rm_file_tables_new(const RmSession *session); /** * @brief Free a previous RmFileTable */ void rm_file_tables_destroy(RmFileTables *list); /** * @brief Appends a file in RmFileTables->all_files. * @param file The file to insert; ownership is taken. */ void rm_file_list_insert_file(RmFile *file, const RmSession *session); /** * @brief Clear potential leftover files when shredder was not used. */ void rm_file_tables_clear(const RmSession *session); /** * @brief Compare two files in order to find out which file is the * higher ranked (ie original). * * Returns: -1 if a > b, 0 if a == b and +1 else. */ int rm_pp_cmp_orig_criteria(const RmFile *a, const RmFile *b, const RmSession *session); /** * @brief: Check if two files are equal in terms of size, and match_* options. */ gint rm_file_cmp(const RmFile *file_a, const RmFile *file_b); /** * @brief: Compile all r constructs in `sortcrit` to a GRegex * and store them into session->pattern_cache. */ char *rm_pp_compile_patterns(RmSession *session, const char *sortcrit, GError **error); #endif rmlint-2.6.1/lib/replay.c000066400000000000000000000431541312046612000152350ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ /* Internal headers */ #include "replay.h" #include "config.h" #include "file.h" #include "formats.h" #include "preprocess.h" #include "session.h" #include "shredder.h" /* External libraries */ #include #include #include #include #if HAVE_JSON_GLIB #include ///////////////////////////////////////////////// // POLLY THE PARROT REPEATS WHAT RMLINT SAID // ///////////////////////////////////////////////// typedef struct RmParrot { /* Global session */ RmSession *session; /* Json parser instance */ JsonParser *parser; /* Root array of the json document */ JsonArray *root; /* Last original file that we encountered */ RmFile *last_original; /* Index inside the document * (0 is header, 1 first element, len(root) is footer) * */ guint index; /* Set of diskids in cfg->paths */ GHashTable *disk_ids; /* true if the .json file came after a // * on the commandline. */ bool is_prefd; } RmParrot; static void rm_parrot_close(RmParrot *polly) { if(polly->parser) { g_object_unref(polly->parser); } g_hash_table_unref(polly->disk_ids); g_free(polly); } static RmParrot *rm_parrot_open(RmSession *session, const char *json_path, bool is_prefd, GError **error) { RmParrot *polly = g_malloc0(sizeof(RmParrot)); polly->session = session; polly->parser = json_parser_new(); polly->disk_ids = g_hash_table_new(NULL, NULL); polly->index = 1; polly->is_prefd = is_prefd; for(GSList *iter = session->cfg->paths; iter; iter = iter->next) { RmPath *rmpath = iter->data; RmStat stat_buf; if(rm_sys_stat(rmpath->path, &stat_buf) != -1) { g_hash_table_add(polly->disk_ids, GUINT_TO_POINTER(stat_buf.st_dev)); } } if(!json_parser_load_from_file(polly->parser, json_path, error)) { goto failure; } JsonNode *root = json_parser_get_root(polly->parser); if(JSON_NODE_TYPE(root) != JSON_NODE_ARRAY) { g_set_error(error, RM_ERROR_QUARK, 0, _("No valid json cache (no array in /)")); goto failure; } polly->root = json_node_get_array(root); return polly; failure: rm_parrot_close(polly); return NULL; } static bool rm_parrot_has_next(RmParrot *polly) { return (polly->index < json_array_get_length(polly->root)); } static RmFile *rm_parrot_try_next(RmParrot *polly) { if(!rm_parrot_has_next(polly)) { return NULL; } RmFile *file = NULL; const char *path = NULL; JsonObject *object = json_array_get_object_element(polly->root, polly->index); /* Deliver a higher index the next time, even if it fails */ polly->index += 1; /* Read the path (without generating a warning if it's not there) */ JsonNode *path_node = json_object_get_member(object, "path"); if(path_node == NULL) { return NULL; } path = json_node_get_string(path_node); if(rm_trie_search_node(&polly->session->cfg->file_trie, path)) { /* We have this node already */ return NULL; } /* Check for the lint type */ RmLintType type = rm_file_string_to_lint_type(json_object_get_string_member(object, "type")); if(type == RM_LINT_TYPE_UNKNOWN) { rm_log_warning_line(_("lint type '%s' not recognised"), json_object_get_string_member(object, "type")); return NULL; } /* Collect file information (for rm_file_new) */ RmStat lstat_buf, stat_buf; RmStat *stat_info = &lstat_buf; if(rm_sys_lstat(path, &lstat_buf) == -1) { return NULL; } /* use stat() after lstat() to find out if it's an symlink. * If it's a bad link, this will fail with stat_info still pointing to lstat. * */ if(rm_sys_stat(path, &stat_buf) != -1) { stat_info = &stat_buf; } /* Check if we're late and issue an warning */ JsonNode *mtime_node = json_object_get_member(object, "mtime"); if(mtime_node) { gdouble stat_mtime = rm_sys_stat_mtime_float(stat_info); gdouble json_mtime = json_node_get_double(mtime_node); /* Allow them a rather large span to deviate to account for inaccuracies */ if(fabs(stat_mtime - json_mtime) > 0.05) { rm_log_warning_line(_("modification time of `%s` changed. Ignoring."), path); return NULL; } } /* Fill up the RmFile */ file = rm_file_new(polly->session, path, stat_info, type, 0, 0, 0); file->is_original = json_object_get_boolean_member(object, "is_original"); file->is_symlink = (lstat_buf.st_mode & S_IFLNK); file->digest = rm_digest_new(RM_DIGEST_EXT, 0, 0, 0, FALSE); file->free_digest = true; if(file->is_original) { polly->last_original = file; } JsonNode *depth_node = json_object_get_member(object, "depth"); if(depth_node != NULL) { file->depth = json_node_get_int(depth_node); } /* Fake the checksum using RM_DIGEST_EXT */ JsonNode *cksum_node = json_object_get_member(object, "checksum"); if(cksum_node != NULL) { const char *cksum = json_object_get_string_member(object, "checksum"); if(cksum != NULL) { rm_digest_update(file->digest, (unsigned char *)cksum, strlen(cksum)); } } /* Fix the hardlink relationship */ JsonNode *hardlink_of = json_object_get_member(object, "hardlink_of"); if(hardlink_of != NULL) { rm_file_hardlink_add(polly->last_original, file); } else { rm_assert_gentle(!file->hardlinks); } return file; } static RmFile *rm_parrot_next(RmParrot *polly) { /* Skip NULL entries */ while(rm_parrot_has_next(polly)) { RmFile *file = NULL; if((file = rm_parrot_try_next(polly))) { return file; } } return NULL; } ////////////////////////////////// // OPTION FILTERING CHECKS // ////////////////////////////////// #define FAIL_MSG(msg) rm_log_debug(RED "[" msg "]\n" RESET) static bool rm_parrot_check_depth(RmCfg *cfg, RmFile *file) { return (file->depth == 0 || file->depth <= cfg->depth); } static bool rm_parrot_check_size(RmCfg *cfg, RmFile *file) { if(cfg->limits_specified == false) { return true; } return ((cfg->minsize == (RmOff)-1 || cfg->minsize <= file->actual_file_size) && (cfg->maxsize == (RmOff)-1 || file->actual_file_size <= cfg->maxsize)); } static bool rm_parrot_check_hidden(RmCfg *cfg, _UNUSED RmFile *file, const char *file_path) { if(!cfg->ignore_hidden) { return true; } if(rm_util_path_is_hidden(file_path)) { FAIL_MSG("nope: hidden"); return false; } return true; } static bool rm_parrot_check_permissions(RmCfg *cfg, _UNUSED RmFile *file, const char *file_path) { if(!cfg->permissions) { return true; } if(g_access(file_path, cfg->permissions) == -1) { FAIL_MSG("nope: permissions"); return false; } return true; } static bool rm_parrot_check_crossdev(RmParrot *polly, _UNUSED RmFile *file) { if(polly->session->cfg->crossdev) { return true; } if(!g_hash_table_contains(polly->disk_ids, GUINT_TO_POINTER(file->dev))) { FAIL_MSG("nope: on other device"); return false; } return true; } static bool rm_parrot_check_path(RmParrot *polly, RmFile *file, const char *file_path) { RmCfg *cfg = polly->session->cfg; size_t highest_match = 0; /* Find the highest matching path given on the commandline. * If found, the path_index and is_prefd information is taken from it. * If not found, the file will be discarded. * * If this turns out to be an performance problem, we could turn cfg->paths * into a RmTrie and use it to find the longest prefix easily. */ /* iterate through cmdline paths */ for(GSList *iter = cfg->paths; iter; iter = iter->next) { RmPath *rmpath = iter->data; size_t path_len = strlen(rmpath->path); if(strncmp(file_path, rmpath->path, path_len) == 0) { if(path_len > highest_match) { highest_match = path_len; file->is_prefd = rmpath->is_prefd || polly->is_prefd; file->path_index = rmpath->idx; } } } if(highest_match == 0) { FAIL_MSG("nope: no prefix"); } return (highest_match > 0); } static bool rm_parrot_check_types(RmCfg *cfg, RmFile *file) { switch(file->lint_type) { case RM_LINT_TYPE_DUPE_CANDIDATE: return cfg->find_duplicates; case RM_LINT_TYPE_DUPE_DIR_CANDIDATE: return cfg->merge_directories; case RM_LINT_TYPE_BADLINK: return cfg->find_badlinks; case RM_LINT_TYPE_EMPTY_DIR: return cfg->find_emptydirs; case RM_LINT_TYPE_EMPTY_FILE: return cfg->find_emptyfiles; case RM_LINT_TYPE_NONSTRIPPED: return cfg->find_nonstripped; case RM_LINT_TYPE_BADUID: case RM_LINT_TYPE_BADGID: case RM_LINT_TYPE_BADUGID: return cfg->find_badids; case RM_LINT_TYPE_UNIQUE_FILE: return cfg->write_unfinished; case RM_LINT_TYPE_UNKNOWN: default: FAIL_MSG("nope: invalid lint type."); return false; } } ///////////////////////////////////////////// // GROUPWISE FIXES (SORT, FILTER, ...) // ///////////////////////////////////////////// /* RmHRFunc to remove file unless it has a twin in group */ static int rm_parrot_fix_match_opts(RmFile *file, GQueue *group) { int remove = 1; for(GList *iter = group->head; iter; iter = iter->next) { if(file != iter->data && rm_file_cmp(file, iter->data) == 0) { remove = 0; break; } } if(remove) { rm_file_destroy(file); } return remove; } static void rm_parrot_fix_must_match_tagged(RmParrotCage *cage, GQueue *group) { RmCfg *cfg = cage->session->cfg; if(!(cfg->must_match_tagged || cfg->must_match_untagged)) { return; } bool has_prefd = false, has_non_prefd = false; for(GList *iter = group->head; iter; iter = iter->next) { RmFile *file = iter->data; has_prefd |= file->is_prefd; has_non_prefd |= !file->is_prefd; if(has_prefd && has_non_prefd) { break; } } if((!has_prefd && cfg->must_match_tagged) || (!has_non_prefd && cfg->must_match_untagged)) { g_queue_foreach(group, (GFunc)rm_file_destroy, NULL); g_queue_clear(group); } } static void rm_parrot_update_stats(RmParrotCage *cage, RmFile *file) { RmSession *session = cage->session; session->total_files += 1; if(file->lint_type == RM_LINT_TYPE_DUPE_CANDIDATE) { session->dup_group_counter += file->is_original; if(!file->is_original) { session->dup_counter += 1; if(!RM_FILE_IS_HARDLINK(file)) { session->total_lint_size += file->actual_file_size; } } } else { session->other_lint_cnt += 1; } } static void rm_parrot_write_group(RmParrotCage *cage, GQueue *group) { RmCfg *cfg = cage->session->cfg; if(cfg->filter_mtime) { gsize older = 0; for(GList *iter = group->head; iter; iter = iter->next) { RmFile *file = iter->data; older += (file->mtime >= cfg->min_mtime); } if(older == group->length) { g_queue_foreach(group, (GFunc)rm_file_destroy, NULL); g_queue_clear(group); return; } } if(cfg->match_with_extension || cfg->match_without_extension || cfg->match_basename || cfg->unmatched_basenames) { /* This is probably a sucky way to do it, due to n^2, * but I doubt that will make a large performance difference. */ rm_util_queue_foreach_remove(group, (RmRFunc)rm_parrot_fix_match_opts, group); } rm_parrot_fix_must_match_tagged(cage, group); g_queue_sort(group, (GCompareDataFunc)rm_shred_cmp_orig_criteria, cage->session); for(GList *iter = group->head; iter; iter = iter->next) { RmFile *file = iter->data; if(file == group->head->data || (cfg->keep_all_tagged && file->is_prefd) || (cfg->keep_all_untagged && !file->is_prefd)) { file->is_original = true; } else { file->is_original = false; } RM_DEFINE_PATH(file); rm_parrot_update_stats(cage, file); rm_fmt_write(file, cage->session->formats, group->length); } } ///////////////////////////////////////// // ENTRY POINT TO TRIGGER THE PARROT // ///////////////////////////////////////// static void rm_parrot_cage_push_group(RmParrotCage *cage, GQueue **group_ref, bool is_last) { GQueue *group = *group_ref; if(group->length > 1) { g_queue_push_tail(cage->groups, group); } else { g_queue_free_full(group, (GDestroyNotify)rm_file_destroy); } if(!is_last) { *group_ref = g_queue_new(); } } bool rm_parrot_cage_load(RmParrotCage *cage, const char *json_path, bool is_prefd) { GError *error = NULL; rm_log_info_line(_("Loading json-results `%s'"), json_path); RmParrot *polly = rm_parrot_open(cage->session, json_path, is_prefd, &error); if(polly == NULL || error != NULL) { rm_log_warning_line("Error: %s", error->message); g_error_free(error); return false; } RmCfg *cfg = cage->session->cfg; GQueue *group = g_queue_new(); RmDigest *last_digest = NULL; /* group of files; first group is "other lint" */ while(rm_parrot_has_next(polly)) { RmFile *file = rm_parrot_next(polly); if(file == NULL) { continue; } RM_DEFINE_PATH(file); rm_log_debug("Checking `%s`: ", file_path); /* Check --size, --perms, --hidden */ if(!(rm_parrot_check_depth(cfg, file) && rm_parrot_check_size(cfg, file) && rm_parrot_check_hidden(cfg, file, file_path) && rm_parrot_check_permissions(cfg, file, file_path) && rm_parrot_check_types(cfg, file) && rm_parrot_check_crossdev(polly, file) && rm_parrot_check_path(polly, file, file_path))) { rm_file_destroy(file); continue; } if(last_digest == NULL) { last_digest = rm_digest_copy(file->digest); } rm_log_debug("[okay]\n"); if(!rm_digest_equal(file->digest, last_digest)) { rm_digest_free(last_digest); last_digest = rm_digest_copy(file->digest); rm_parrot_cage_push_group(cage, &group, false); } g_queue_push_tail(group, file); } if(last_digest != NULL) { rm_digest_free(last_digest); } rm_parrot_cage_push_group(cage, &group, true); rm_parrot_close(polly); return true; } void rm_parrot_cage_open(RmParrotCage *cage, RmSession *session) { cage->session = session; cage->groups = g_queue_new(); } static void rm_parrot_merge_identical_groups(RmParrotCage *cage) { GHashTable *digest_to_group = g_hash_table_new((GHashFunc)rm_digest_hash, (GEqualFunc)rm_digest_equal); for(GList *iter = cage->groups->head; iter; iter = iter->next) { GQueue *group = iter->data; RmFile *head_file = group->head->data; GQueue *existing_group = g_hash_table_lookup(digest_to_group, head_file->digest); if(existing_group != NULL) { // Merge the two groups and get rid of the old one. rm_util_queue_push_tail_queue(existing_group, group); g_queue_free(group); GList *old_iter = iter; iter = iter->prev; g_queue_delete_link(cage->groups, old_iter); continue; } // No such group, but remember it. g_hash_table_insert(digest_to_group, head_file->digest, group); } g_hash_table_unref(digest_to_group); } void rm_parrot_cage_close(RmParrotCage *cage) { rm_parrot_merge_identical_groups(cage); for(GList *iter = cage->groups->head; iter; iter = iter->next) { GQueue *group = iter->data; if(group->length > 1) { rm_parrot_write_group(cage, group); } else { g_queue_free_full(group, (GDestroyNotify)rm_file_destroy); } } g_queue_free_full(cage->groups, (GDestroyNotify)g_queue_free); } #else bool rm_parrot_cage_load(_UNUSED RmParrotCage *cage, _UNUSED const char *json_path, _UNUSED bool is_prefd) { return false; } void rm_parrot_cage_open(_UNUSED RmParrotCage *cage, _UNUSED RmSession *session) { rm_log_error_line(_("json-glib is needed for using --replay.")); rm_log_error_line(_("Please recompile `rmlint` with it installed.")); } void rm_parrot_cage_close(_UNUSED RmParrotCage *cage) { } #endif rmlint-2.6.1/lib/replay.h000066400000000000000000000041561312046612000152410ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #ifndef RM_REPLAY_H #define RM_REPLAY_H #include "session.h" #include "stdbool.h" /** * @brief Load a json file from disk and output it to the output module. * * Most relevant options are supported as far as possible. * Options that alter the hashing/reading of duplicates will have no * effect since almost no IO will be done except for some lstat/stat. * * Additionally, --followlinks, --crossdev, --hardlink (as well as their * negative pendants) and --write-unfinished will have no effect. * * Only paths are printed that are given on the commandline. * * @param session Global session. * @param json_path Absolute path to the json file. */ typedef struct RmParrotCage { RmSession *session; GQueue *groups; } RmParrotCage; /** * @brief Open a ParrotCage. * * A ParrotCage is where the json file will get accumulated. */ void rm_parrot_cage_open(RmParrotCage *cage, RmSession *session); /** * @brief Load a single json file to the cage. * * @return true on (partial) success. */ bool rm_parrot_cage_load(RmParrotCage *cage, const char *json_path, bool is_prefd); /** * @brief Close the cage, frees resources, but does not do rm_fmt_flush(). */ void rm_parrot_cage_close(RmParrotCage *cage); #endif /* end of include guard */ rmlint-2.6.1/lib/session.c000066400000000000000000000103161312046612000154160ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * ** Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * ** Hosted on http://github.com/sahib/rmlint * **/ #include #include #include #include "config.h" #include "formats.h" #include "preprocess.h" #include "session.h" #include "traverse.h" #if HAVE_UNAME #include "sys/utsname.h" void rm_session_read_kernel_version(RmSession *session) { struct utsname buf; if(uname(&buf) == -1) { return; } if(sscanf(buf.release, "%d.%d.*", &session->kernel_version[0], &session->kernel_version[1]) == EOF) { session->kernel_version[0] = -1; session->kernel_version[1] = -1; return; } rm_log_debug_line("Linux kernel version is %d.%d.", session->kernel_version[0], session->kernel_version[1]); } #else void rm_session_read_kernel_version(RmSession *session) { (void)session; } #endif bool rm_session_check_kernel_version(RmSession *session, int major, int minor) { int found_major = session->kernel_version[0]; int found_minor = session->kernel_version[1]; /* Could not read kernel version: Assume failure on our side. */ if(found_major <= 0 && found_minor <= 0) { return true; } /* Lower is bad. */ if(found_major < major || found_minor < minor) { return false; } return true; } void rm_session_init(RmSession *session, RmCfg *cfg) { memset(session, 0, sizeof(RmSession)); session->timer = g_timer_new(); session->cfg = cfg; session->tables = rm_file_tables_new(session); session->formats = rm_fmt_open(session); session->pattern_cache = g_ptr_array_new_full(0, (GDestroyNotify)g_regex_unref); session->verbosity_count = 2; session->paranoia_count = 0; session->output_cnt[0] = -1; session->output_cnt[1] = -1; session->offsets_read = 0; session->offset_fragments = 0; session->offset_fails = 0; rm_session_read_kernel_version(session); session->timer_since_proc_start = g_timer_new(); g_timer_start(session->timer_since_proc_start); /* Assume that files are not equal */ session->equal_exit_code = EXIT_FAILURE; } void rm_session_clear(RmSession *session) { RmCfg *cfg = session->cfg; rm_cfg_free_paths(cfg); g_timer_destroy(session->timer_since_proc_start); g_free(cfg->sort_criteria); g_timer_destroy(session->timer); rm_file_tables_destroy(session->tables); rm_fmt_close(session->formats); g_ptr_array_free(session->pattern_cache, TRUE); if(session->mounts) { rm_mounts_table_destroy(session->mounts); } if(session->dir_merger) { rm_tm_destroy(session->dir_merger); } g_free(cfg->joined_argv); g_free(cfg->full_argv0_path); g_free(cfg->iwd); rm_trie_destroy(&cfg->file_trie); } volatile int SESSION_ABORTED; void rm_session_abort(void) { g_atomic_int_add(&SESSION_ABORTED, 1); } static gpointer rm_session_print_first_abort_warn(_UNUSED gpointer data) { rm_log_warning("\r"); rm_log_warning_line(_("Received Interrupt, stopping...")); return NULL; } bool rm_session_was_aborted() { gint rc = g_atomic_int_get(&SESSION_ABORTED); static GOnce print_once = G_ONCE_INIT; switch(rc) { case 1: g_once(&print_once, rm_session_print_first_abort_warn, NULL); break; case 2: rm_log_warning_line(_("Received second Interrupt, stopping hard.")); exit(EXIT_FAILURE); break; } return rc; } rmlint-2.6.1/lib/session.h000066400000000000000000000127371312046612000154340ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * ** Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * ** Hosted on http://github.com/sahib/rmlint * **/ #ifndef RM_SESSION_H #define RM_SESSION_H #include #include #include #include /* Needed for RmTreeMerger */ #include "treemerge.h" typedef struct RmFileTables { /* List of all files found during traversal */ GQueue *all_files; /* GSList of GList's, one for each file size */ GSList *size_groups; /* Used for finding inode matches */ GHashTable *node_table; /* Used for finding path doubles */ GHashTable *unique_paths_table; /*array of lists, one for each "other lint" type */ GList *other_lint[RM_LINT_TYPE_DUPE_CANDIDATE]; /* lock for access to *list during traversal */ GMutex lock; } RmFileTables; struct RmFmtTable; typedef struct RmSession { RmCfg *cfg; /* Stores for RmFile during traversal, preproces and shredder */ struct RmFileTables *tables; /* Table of mountpoints used in the system */ struct RmMountTable *mounts; /* Output formatting control */ struct RmFmtTable *formats; /* Treemerging for -D */ struct RmTreeMerger *dir_merger; /* Shredder session */ struct RmShredTag *shredder; /* Disk Scheduler */ struct _RmMDS *mds; /* Cache of already compiled GRegex patterns */ GPtrArray *pattern_cache; /* Counters for printing useful statistics */ volatile gint total_files; volatile gint ignored_files; volatile gint ignored_folders; RmOff total_filtered_files; RmOff total_lint_size; RmOff shred_bytes_remaining; RmOff shred_bytes_total; RmOff shred_files_remaining; RmOff shred_bytes_after_preprocess; RmOff dup_counter; RmOff dup_group_counter; RmOff other_lint_cnt; RmOff duplicate_bytes; RmOff unique_bytes; RmOff original_bytes; RmOff shred_bytes_read; GTimer *timer_since_proc_start; /* flag indicating if rmlint was aborted early */ volatile gint aborted; /* timer used for debugging and profiling messages */ GTimer *timer; /* Debugging counters */ RmOff offset_fragments; RmOff offsets_read; RmOff offset_fails; /* Daniels paranoia */ RmOff hash_seed1; RmOff hash_seed2; /* count used for determining the verbosity level */ int verbosity_count; /* count used for determining the paranoia level */ int paranoia_count; /* count for -o and -O; initialized to -1 */ int output_cnt[2]; /* true if a cmdline parse error happened */ bool cmdline_parse_error; /* true once shredder finished running */ bool shredder_finished; /* true once traverse finished running */ bool traverse_finished; /* Version of the linux kernel (0 on other operating systems) */ int kernel_version[2]; /* When run with --equal this holds the exit code for rmlint * (the exit code is determined by the _equal formatter) */ int equal_exit_code; } RmSession; /** * @brief Initialize session according to cfg. */ void rm_session_init(RmSession *session, RmCfg *cfg); /** * @brief Clear all memory allocated by rm_session_init. */ void rm_session_clear(RmSession *session); /** * @brief Set the global abort flag. * * This flag is checked periodically on strategic points, * leading to an early but planned exit. * * Threadsafe. */ void rm_session_abort(void); /** * @brief Check if rmlint was aborted early. * * Threadsafe. */ bool rm_session_was_aborted(void); /** * @brief Check the kernel version of the Linux kernel. * * @param session Session to ask. Version is cached in the session. * @param major The major version it should have at least. * @param minor The minor version it should have at least. * * @return True if the kernel is recent enough. */ bool rm_session_check_kernel_version(RmSession *session, int major, int minor); /* Maybe colors, for use outside of the rm_log macros, * in order to work with the --with-no-color option * * MAYBE_COLOR checks the file we output too. * If it is stderr or stdout it consults the respective setting automatically. * */ #define MAYBE_COLOR(o, s, col) \ (!s->cfg->with_color \ ? "" \ : (fileno(o) == 1 \ ? (s->cfg->with_stdout_color ? col : "") \ : (fileno(o) == 2 ? (s->cfg->with_stderr_color ? col : "") : ""))) #define MAYBE_RED(o, s) MAYBE_COLOR(o, s, RED) #define MAYBE_YELLOW(o, s) MAYBE_COLOR(o, s, YELLOW) #define MAYBE_RESET(o, s) MAYBE_COLOR(o, s, RESET) #define MAYBE_GREEN(o, s) MAYBE_COLOR(o, s, GREEN) #define MAYBE_BLUE(o, s) MAYBE_COLOR(o, s, BLUE) #endif /* end of include guard */ rmlint-2.6.1/lib/shredder.c000066400000000000000000002033101312046612000155310ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include #include #include #include #include #include "checksum.h" #include "hasher.h" #include "formats.h" #include "preprocess.h" #include "utilities.h" #include "md-scheduler.h" #include "shredder.h" #include "xattr.h" /* Enable extra debug messages? */ #define _RM_SHRED_DEBUG 0 /* This is the engine of rmlint for file duplicate matching. * * Files are compared in progressive "generations" to identify matching * clusters termed "ShredGroup"s: * Generation 0: Same size files * Generation 1: Same size and same hash of first ~16kB * Generation 2: Same size and same hash of first ~50MB * Generation 3: Same size and same hash of first ~100MB * Generation 3: Same size and same hash of first ~150MB * ... and so on until the end of the file is reached. * * The default step size can be configured below. * * * The clusters and generations look something like this: * *+-------------------------------------------------------------------------+ *| Initial list after filtering and preprocessing | *+-------------------------------------------------------------------------+ * | same size | same size | same size * +------------------+ +------------------+ +----------------+ * | ShredGroup 1 | | ShredGroup 2 | | ShredGroup 3 | * |F1,F2,F3,F4,F5,F6 | |F7,F8,F9,F10,F11 | | F12,F13 | * +------------------+ +------------------+ +----------------+ * | | | | * +------------+ +----------+ +------------+ +---------+ +----+ +----+ * | Child 1.1 | |Child 1.2 | | Child 2.1 | |Child 2.2| |3.1 | |3.2 | * | F1,F3,F6 | |F2,F4,F5 | |F7,F8,F9,F10| | F11 | |F12 | |F13 | * |(hash=hash1 | |(hash=h2) | |(hash=h3) | |(hash=h4)| |(h5)| |(h6)| * +------------+ +----------+ +------------+ +---------+ +----+ +----+ * | | | | \ \ * +----------+ +-----------+ +-----------+ +-----------+ free! free! * |Child1.1.1| |Child 1.2.1| |Child 2.2.1| |Child 2.2.2| * |F1,F3,F6 | |F2,F4,F5 | |F7,F9,F10 | | F8 | * +----------+ +-----------+ +-----------+ +-----------+ * \ \ \ \ * rm! rm! rm! free! * * * The basic workflow is: * 1. One worker thread is established for each physical device * 2. The device thread picks a file from its queue, reads the next increment of that * file, and sends it to a hashing thread. * 3. Depending on some logic ("shredder_waiting"), the device thread may wait for the * file increment to finish hashing, or may move straight on to the next file in * the queue. The "shredder_waiting" logic aims to reduce disk seeks on rotational * devices. * 4. The hashed fragment result is "sifted" into a child RmShredGroup of its parent * group, and unlinked it from its parent. * 5. (a) If the child RmShredGroup needs hashing (ie >= 2 files and not completely hashed * yet) then the file is pushed back to the device queue for further hashing; * (b) If the file is not completely hashed but is the only file in the group (or * otherwise fails criteria such as --must-match-tagged) then it is retained by the * child RmShredGroup until a suitable sibling arrives, whereupon it is released to * the device queue. * (c) If the file has finished hashing, it is retained by the child RmShredGroup * until its parent and all ancestors have finished processing, whereupon the file * is sent to the "result factory" (if >= 2 files in the group) or discarded. * * In the above example, the hashing order will depend on the "shredder_waiting" logic. * On a rotational device the hashing order should end up being something like: * F1.1 F2.1 (F3.1,F3.2), (F4.1,F4.2), (F5.1,F5.2,F5.3)... * ^ ^ ^ ^ * (^ indicates where hashing could continue on to a second increment (avoiding a * disk seek) because there was already a matching file after the first * increment) * * On a non-rotational device where there is no seek penalty, the hashing order is: * F1.1 F2.1 F3.1 F4.1 F5.1... * * * The threading looks somewhat like this for two devices: * * +----------+ * | Result | * | Factory | * | Pipe | * +----------+ * ^ * | * +--------------+ * | Matched | * | fully-hashed | * | dupe groups | * Device #1 +--------------+ Device #2 * ^ * +-------------------+ | +-------------------+ * | RmShredDevice | | | RmShredDevice | * | Worker | | | Worker | * | +-------------+ | | | +-------------+ | * | | File Queue |<--+----+ | +----+>| File Queue | | * | +-------------+ | | | | | +-------------+ | * | pop from | | | | | pop from | * | queue | | | | | queue | * | | | | | | | | | * | |<--Continue | | | | | Continue-->| | * | | ^ | | | | | ^ | | * | v | | | | | | | v | * | Read | | | | | | | Read | * | | | | | | | | | | | * | | | | | | | | | | | * | | | | Device | Device | | | | * | [1] | | Not | Not | | [1] | * +-----|-----+-------+ Waiting | Waiting +------|-----|------+ * | | | | | | | * | | | | | | | * | Device +-------+-----+-----+------+ Device | * | Waiting | Sifting | Waiting | * | | | (Identifies which | | | * | -----+ partially-hashed files +----+ | * | | qualify for further | | * | +--->| hashing) |<--+ | * | | | | | | * | | +--------------------------+ | | * | | ^ | | | * | | | v | | * | | +----------+ +----------+ | | * | | |Initial | | Rejects | | | * | | |File List | | | | | * | | +----------+ +----------+ | | * | | | | * +----+-----+-----------------------------------+------+----+ * | v | Hashing Pool | v | * | +----------+ +----------+ | * | |Hash Pipe | |Hash Pipe | | * | +----------+ +----------+ | * +----------------------------------------------------------+ * * Note [1] - at this point the read results are sent to the hashpipe * and the Device must decide if it is worth waiting for * the hashing/sifting result; if not then the device thread * will immediately pop the next file from its queue. * * * * Every subbox left and right are the task that are performed. * * The Device Workers, Hash Pipes and Finisher Pipe run as separate threads * managed by GThreadPool. Note that while they are implemented as * GThreadPools, the hashers and finisher are limited to 1 thread eash * hence the term "pipe" is more appropriate than "pool". This is * particularly important for hashing because hash functions are generally * order-dependent, ie hash(ab) != hash(ba); the only way to ensure hashing * tasks are complete in correct sequence is to use a single pipe. * * The Device Workers work sequentially through the queue of hashing * jobs; if the device is rotational then the files are sorted in order of * disk offset in order to reduce seek times. * * The Devlist Manager calls the hasher library (see hasher.c) to read one * file at a time. The hasher library takes care of read buffers, hash * pipe allocation, etc. Once the hasher is done, the result is sent back * via callback to rm_shred_hash_callback. * * If "shredder_waiting" has been flagged then the callback sends the file * back to the Device Worker thread via a GAsyncQueue, whereupon the Device * Manager does a quick check to see if it can continue with the same file; * if not then a new file is taken from the device queue. * * The RmShredGroups don't have a thread managing them, instead the individual * Device Workers and/or hash pipe callbacks write to the RmShredGroups * under mutex protection. * * * The main ("foreground") thread waits for the Devlist Managers to * finish their sequential walk through the files. If there are still * files to process on the device, the initial thread sends them back to * the GThreadPool for another pass through the files. * * * * Additional notes regarding "paranoid" hashing: * * The default file matching method uses the BLAKE2B cryptographic hash; there are * several other hash functions available as well. The data hashing is somewhat * cpu-intensive but this is handled by separate threads (the hash pipes) so * generally doesn't bottleneck rmlint (as long as CPU exceeds disk reading * speed). The subsequent hash matching is very fast because we only * need to compare 32 bytes (in the case of BLAKE2B) to find matching files. * * The "paranoid" method uses byte-by-byte comparison. In the implementation, * this is masqueraded as a hash function, but there is no hashing involved. * Instead, the whole data increment is kept in memory. This introduces 2 new * challenges: * * (1) Memory management. In order to avoid overflowing mem availability, we * limit the number of concurrent active RmShredGroups and also limit the size * of each file increment. * * (2) Matching time. Unlike the conventional hashing strategy (CPU-intensive * hashing followed by simple matching), the paranoid method requires * almost no CPU during reading/hashing, but requires a large memcmp() at the * end to find matching files/groups. * * That would not be a bottleneck as long as the reader thread still has other * files that it can go and read while the hasher/sorter does the memcmp in * parallel... but unfortunately the memory management issue means that's not * always an option and so reading gets delayed while waiting for the memcmp() * to catch up. Two strategies are used to speed this up: * * (a) Pre-matching of candidate digests. During reading/hashing, as each * buffer (4096 bytes) is read in, it can be checked against a "twin candidate". * We can send twin candidates to the hash pipe at any time via * rm_digest_send_match_candidate(). If the correct twin candidate has been * sent, then when the increment is finished the matching has already been done, * and rm_digest_equal() is almost instantaneous. * * (b) Shadow hash. A lightweight hash (Murmor) is calculated and used for * hashtable lookup to quickly identify potential matches. This saves time in * the case of RmShredGroups with large number of child groups and where the * pre-matching strategy failed. * */ /* * Below some performance controls are listed that may impact performance. * Controls are sorted by subjectve importanceness. */ //////////////////////////////////////////// // OPTIMISATION PARAMETERS FOR DECIDING // // HOW MANY BYTES TO READ BEFORE STOPPING // // TO COMPARE PROGRESSIVE HASHES // //////////////////////////////////////////// /* how many pages can we read in (seek_time)/(CHEAP)? (use for initial read) */ #define SHRED_BALANCED_PAGES (4) /* How large a single page is (typically 4096 bytes but not always)*/ #define SHRED_PAGE_SIZE (sysconf(_SC_PAGESIZE)) #define SHRED_MAX_READ_FACTOR \ ((256 * 1024 * 1024) / SHRED_BALANCED_PAGES / SHRED_PAGE_SIZE) /* Maximum increment size for paranoid digests. This is smaller than for other * digest types due to memory management issues. * 16MB should be big enough buffer size to make seek time fairly insignificant * relative to sequential read time, eg 16MB read at typical 100 MB/s read * rate = 160ms read vs typical seek time 10ms*/ #define SHRED_PARANOID_BYTES (16 * 1024 * 1024) /* When paranoid hashing, if a file increments is larger * than SHRED_PREMATCH_THRESHOLD, we take a guess at the likely * matching file and do a progressive memcmp() on each buffer * rather than waiting until the whole increment has been read * */ #define SHRED_PREMATCH_THRESHOLD (0) /* empirical estimate of mem usage per file (excluding read buffers and * paranoid digests) */ #define SHRED_AVERAGE_MEM_PER_FILE (100) /* Maximum number of bytes before worth_waiting becomes false */ #define SHRED_TOO_MANY_BYTES_TO_WAIT (64 * 1024 * 1024) /////////////////////////////////////////////////////////////////////// // INTERNAL STRUCTURES, WITH THEIR INITIALISERS AND DESTROYERS // /////////////////////////////////////////////////////////////////////// /////////* The main extra data for the duplicate finder */////////// typedef struct RmShredTag { RmSession *session; GMutex hash_mem_mtx; gint64 paranoid_mem_alloc; /* how much memory to allocate for paranoid checks */ gint32 active_groups; /* how many shred groups active (only used with paranoid) */ RmHasher *hasher; GThreadPool *result_pool; /* threadpool for progress counters to avoid blocking delays in * rm_shred_adjust_counters */ GThreadPool *counter_pool; gint32 page_size; bool mem_refusing; GMutex lock; gint32 remaining_files; gint64 remaining_bytes; bool after_preprocess : 1; } RmShredTag; #define NEEDS_PREF(group) \ (group->session->cfg->must_match_tagged || group->session->cfg->keep_all_untagged) #define NEEDS_NPREF(group) \ (group->session->cfg->must_match_untagged || group->session->cfg->keep_all_tagged) #define NEEDS_NEW(group) \ (group->session->cfg->min_mtime) /* There does not seem to be an performance advance here, * but for paranoid mode it's useful to have a checksum in the json output. * */ #define NEEDS_SHADOW_HASH(cfg) \ (TRUE || cfg->merge_directories || cfg->read_cksum_from_xattr) typedef struct RmShredGroup { /* holding queue for files; they are held here until the group first meets * criteria for further hashing (normally just 2 or more files, but sometimes * related to preferred path counts) * */ GQueue *held_files; /* link(s) to next generation of RmShredGroups(s) which have this RmShredGroup as * parent*/ GHashTable *children; /* RmShredGroup of the same size files but with lower RmFile->hash_offset; * getsset to null when parent dies * */ struct RmShredGroup *parent; /* total number of files that have passed through this group (including * bundled hardlinked files and ext_cksum twins) */ gsize num_files; /* number of file clusters */ gsize n_clusters; /* number of distinct inodes */ gsize n_inodes; /* number of pending digests (ignores clustered files)*/ gsize num_pending; /* list of in-progress paranoid digests, used for pre-matching */ GList *in_progress_digests; /* number of files from "preferred" paths */ gsize n_pref; /* number of files from "non-preferred" paths */ gsize n_npref; /* number of files newer than cfg->min_mtime */ gsize n_new; /* set if group has been greenlighted by paranoid mem manager */ bool is_active : 1; /* if whole group has same basename, pointer to first file, else null */ RmFile *unique_basename; /* initially RM_SHRED_GROUP_DORMANT; triggered as soon as we have >= 2 files * and meet preferred path and will go to either RM_SHRED_GROUP_HASHING or * RM_SHRED_GROUP_FINISHING. When switching from dormant to hashing, all * held_files are released and future arrivals go straight to hashing * */ RmShredGroupStatus status; /* file size of files in this group */ RmOff file_size; /* file hash_offset when files arrived in this group */ RmOff hash_offset; /* file hash_offset for next increment */ RmOff next_offset; /* Factor of SHRED_BALANCED_PAGES to read next time */ gint64 offset_factor; /* allocated memory for paranoid hashing */ RmOff mem_allocation; /* checksum structure taken from first file to enter the group. This allows * digests to be released from RmFiles and memory freed up until they * are required again for further hashing.*/ RmDigestType digest_type; RmDigest *digest; /* lock for access to this RmShredGroup */ GMutex lock; /* Reference to main */ const RmSession *session; } RmShredGroup; typedef struct RmSignal { GMutex lock; GCond cond; gboolean done; } RmSignal; static RmSignal *rm_signal_new(void) { RmSignal *self = g_slice_new(RmSignal); g_mutex_init(&self->lock); g_cond_init(&self->cond); self->done = FALSE; return self; } static void rm_signal_wait(RmSignal *signal) { g_mutex_lock(&signal->lock); { while(!signal->done) { g_cond_wait(&signal->cond, &signal->lock); } } g_mutex_unlock(&signal->lock); g_mutex_clear(&signal->lock); g_cond_clear(&signal->cond); g_slice_free(RmSignal, signal); } static void rm_signal_done(RmSignal *signal) { g_mutex_lock(&signal->lock); { signal->done = TRUE; g_cond_signal(&signal->cond); } g_mutex_unlock(&signal->lock); } /////////// RmShredGroup //////////////// /* allocate and initialise new RmShredGroup; uses file's digest type if available */ static RmShredGroup *rm_shred_group_new(RmFile *file) { RmShredGroup *self = g_slice_new0(RmShredGroup); if(file->digest) { self->digest_type = file->digest->type; self->digest = file->digest; file->digest = NULL; } self->parent = file->shred_group; self->session = file->session; if(self->parent) { self->offset_factor = MIN(self->parent->offset_factor * 8, SHRED_MAX_READ_FACTOR); } else { self->offset_factor = 1; } self->held_files = g_queue_new(); self->file_size = file->file_size; self->hash_offset = file->hash_offset; self->session = file->session; g_mutex_init(&self->lock); return self; } ////////////////////////////////// // OPTIMISATION AND MEMORY // // MANAGEMENT ALGORITHMS // ////////////////////////////////// /* Compute optimal size for next hash increment call this with group locked */ static gint32 rm_shred_get_read_size(RmFile *file, RmShredTag *tag) { RmShredGroup *group = file->shred_group; rm_assert_gentle(group); gint32 result = 0; /* calculate next_offset property of the RmShredGroup */ RmOff balanced_bytes = tag->page_size * SHRED_BALANCED_PAGES; RmOff target_bytes = balanced_bytes * group->offset_factor; if(group->next_offset == 2) { file->fadvise_requested = 1; } /* round to even number of pages, round up to MIN_READ_PAGES */ RmOff target_pages = MAX(target_bytes / tag->page_size, 1); target_bytes = target_pages * tag->page_size; /* test if cost-effective to read the whole file */ if(group->hash_offset + target_bytes + (balanced_bytes) >= group->file_size) { group->next_offset = group->file_size; file->fadvise_requested = 1; } else { group->next_offset = group->hash_offset + target_bytes; } /* for paranoid digests, make sure next read is not > max size of paranoid buffer */ if(group->digest_type == RM_DIGEST_PARANOID) { group->next_offset = MIN(group->next_offset, group->hash_offset + SHRED_PARANOID_BYTES); } file->status = RM_FILE_STATE_NORMAL; result = (group->next_offset - file->hash_offset); return result; } /* Memory manager (only used for RM_DIGEST_PARANOID at the moment * but could also be adapted for other digests if very large * filesystems are contemplated) */ static void rm_shred_mem_return(RmShredGroup *group) { if(group->is_active) { RmShredTag *tag = group->session->shredder; g_mutex_lock(&tag->hash_mem_mtx); { tag->paranoid_mem_alloc += group->mem_allocation; tag->active_groups--; group->is_active = FALSE; #if _RM_SHRED_DEBUG rm_log_debug_line("Mem avail %" LLI ", active groups %d. " YELLOW "Returned %" LLU " bytes for paranoid hashing.", tag->paranoid_mem_alloc, tag->active_groups, group->mem_allocation); #endif tag->mem_refusing = FALSE; if(group->digest) { rm_assert_gentle(group->digest->type == RM_DIGEST_PARANOID); rm_digest_free(group->digest); group->digest = NULL; } } g_mutex_unlock(&tag->hash_mem_mtx); group->mem_allocation = 0; } } /* what is the maximum number of files that a group may end up with (including * parent, grandparent etc group files that haven't been hashed yet)? */ static gulong rm_shred_group_potential_file_count(RmShredGroup *group) { if(group) { return group->num_pending + rm_shred_group_potential_file_count(group->parent); } else { return 0; } } /* Governer to limit memory usage by limiting how many RmShredGroups can be * active at any one time * NOTE: group_lock must be held before calling rm_shred_check_paranoid_mem_alloc */ static bool rm_shred_check_paranoid_mem_alloc(RmShredGroup *group, int active_group_threshold) { if(group->status >= RM_SHRED_GROUP_HASHING) { /* group already committed */ return true; } gint64 mem_required = (rm_shred_group_potential_file_count(group) / 2 + 1) * MIN(group->file_size - group->hash_offset, SHRED_PARANOID_BYTES); bool result = FALSE; RmShredTag *tag = group->session->shredder; g_mutex_lock(&tag->hash_mem_mtx); { gint64 inherited = group->parent ? group->parent->mem_allocation : 0; if(mem_required <= tag->paranoid_mem_alloc + inherited || (tag->active_groups <= active_group_threshold)) { /* ok to proceed */ /* only take what we need from parent */ inherited = MIN(inherited, mem_required); if(inherited > 0) { group->parent->mem_allocation -= inherited; group->mem_allocation += inherited; } /* take the rest from bank */ gint64 borrowed = MIN(mem_required - inherited, (gint64)tag->paranoid_mem_alloc); tag->paranoid_mem_alloc -= borrowed; group->mem_allocation += borrowed; if(tag->mem_refusing) { rm_log_debug_line("Mem avail %" LLI ", active groups %d. Borrowed %" LLI ". Inherited: %" LLI " bytes for paranoid hashing", tag->paranoid_mem_alloc, tag->active_groups, borrowed, inherited); if(mem_required > borrowed + inherited) { rm_log_debug_line("...due to %i active group limit", active_group_threshold); } tag->mem_refusing = FALSE; } tag->active_groups++; group->is_active = TRUE; group->status = RM_SHRED_GROUP_HASHING; result = TRUE; } else { if(!tag->mem_refusing) { rm_log_debug_line( "Mem avail %" LLI ", active groups %d. " RED "Refused request for %" LLU " bytes for paranoid hashing.", tag->paranoid_mem_alloc, tag->active_groups, mem_required); tag->mem_refusing = TRUE; } result = FALSE; } } g_mutex_unlock(&tag->hash_mem_mtx); return result; } /////////////////////////////////// // Progress Reporting // /////////////////////////////////// typedef struct RmCounterBuffer { int files; gint64 bytes; } RmCounterBuffer; static RmCounterBuffer *rm_counter_buffer_new(int files, gint64 bytes) { RmCounterBuffer *self = g_slice_new(RmCounterBuffer); self->files = files; self->bytes = bytes; return self; } static void rm_shred_adjust_counters(RmShredTag *tag, int files, gint64 bytes) { g_thread_pool_push(tag->counter_pool, rm_counter_buffer_new(files, bytes), NULL); } static void rm_shred_counter_factory(RmCounterBuffer *buffer, RmShredTag *tag) { RmSession *session = tag->session; session->shred_files_remaining += buffer->files; if(buffer->files < 0) { session->total_filtered_files += buffer->files; } session->shred_bytes_remaining += buffer->bytes; rm_fmt_set_state(session->formats, (tag->after_preprocess) ? RM_PROGRESS_STATE_SHREDDER : RM_PROGRESS_STATE_PREPROCESS); /* fake interrupt option for debugging/testing: */ if(tag->after_preprocess && session->cfg->fake_abort && session->shred_bytes_remaining * 10 < session->shred_bytes_total * 9) { rm_session_abort(); /* prevent multiple aborts */ session->shred_bytes_total = 0; } g_slice_free(RmCounterBuffer, buffer); } static void rm_shred_write_cksum_to_xattr(const RmSession *session, RmFile *file) { if(session->cfg->write_cksum_to_xattr) { if(!file->ext_cksum) { rm_xattr_write_hash(file, (RmSession *)session); } } } /* Unlink RmFile from Shredder */ static void rm_shred_discard_file(RmFile *file, bool free_file) { const RmSession *session = file->session; RmShredTag *tag = session->shredder; /* update device counters (unless this file was a bundled hardlink) */ if(file->disk) { rm_mds_device_ref(file->disk, -1); file->disk = NULL; rm_shred_adjust_counters(tag, -1, -(gint64)(file->file_size - file->hash_offset)); } if(free_file) { /* toss the file (and any embedded hardlinks)*/ rm_file_destroy(file); } } /* Push file to scheduler queue. * */ static void rm_shred_push_queue(RmFile *file) { if(file->hash_offset == 0) { /* first-timer; lookup disk offset */ if(file->session->cfg->build_fiemap && !rm_mounts_is_nonrotational(file->session->mounts, file->dev)) { RM_DEFINE_PATH(file); file->disk_offset = rm_offset_get_from_path(file_path, 0, NULL); } else { /* use inode number instead of disk offset */ file->disk_offset = file->inode; } } rm_mds_push_task(file->disk, file->dev, file->disk_offset, NULL, file); } ////////////////////////////////// // RMSHREDGROUP UTILITIES // // AND SIFTING ALGORITHM // ////////////////////////////////// /* Free RmShredGroup and any dormant files still in its queue */ static void rm_shred_group_free(RmShredGroup *self, bool force_free) { rm_assert_gentle(self->parent == NULL); /* children should outlive their parents! */ rm_assert_gentle(self->num_pending == 0); RmCfg *cfg = self->session->cfg; bool needs_free = !(cfg->cache_file_structs) || force_free; /* May not free though when unfinished checksums are written. * Those are freed by the output module. */ if(cfg->write_unfinished) { needs_free = false; } if(self->held_files) { g_queue_foreach(self->held_files, (GFunc)rm_shred_discard_file, GUINT_TO_POINTER(needs_free)); g_queue_free(self->held_files); self->held_files = NULL; } if(self->digest && needs_free) { rm_digest_free(self->digest); self->digest = NULL; } if(self->children) { /* note: calls GDestroyNotify function rm_shred_group_make_orphan() * for each RmShredGroup member of self->children: */ g_hash_table_unref(self->children); } rm_assert_gentle(!self->in_progress_digests); g_mutex_clear(&self->lock); g_slice_free(RmShredGroup, self); } static gboolean rm_shred_group_qualifies(RmShredGroup *group) { return 1 && (group->num_files >= 2) /* it takes 2 to tango */ && (group->n_pref > 0 || !NEEDS_PREF(group)) /* we have at least one file from preferred path, or we don't care */ && (group->n_npref > 0 || !NEEDS_NPREF(group)) /* we have at least one file from non-pref path, or we don't care */ && (group->n_new > 0 || !NEEDS_NEW(group)) /* we have at least one file newer than cfg->min_mtime, or we don't care */ && (!group->unique_basename || !group->session->cfg->unmatched_basenames); /* we have more than one unique basename, or we don't care */ } /* call unlocked; should be no contention issues since group is finished */ static void rm_shred_group_finalise(RmShredGroup *self) { /* return any paranoid mem allocation */ rm_shred_mem_return(self); switch(self->status) { case RM_SHRED_GROUP_DORMANT: /* Group didn't need hashing, either because it didn't meet criteria, * or possible because all files were pre-matched */ if(rm_shred_group_qualifies(self)) { /* upgrade status */ self->status = RM_SHRED_GROUP_FINISHING; } rm_util_thread_pool_push(self->session->shredder->result_pool, self); break; case RM_SHRED_GROUP_START_HASHING: case RM_SHRED_GROUP_HASHING: /* intermediate increment group no longer required; force free */ rm_shred_group_free(self, TRUE); break; case RM_SHRED_GROUP_FINISHING: /* free any paranoid buffers held in group->digest (should not be needed for * results processing */ if(self->digest_type == RM_DIGEST_PARANOID) { rm_digest_release_buffers(self->digest); } /* send it to finisher (which takes responsibility for calling * rm_shred_group_free())*/ rm_util_thread_pool_push(self->session->shredder->result_pool, self); break; case RM_SHRED_GROUP_FINISHED: default: rm_assert_gentle_not_reached(); } } /* Checks whether group qualifies as duplicate candidate (ie more than * two members and meets has_pref and NEEDS_PREF criteria). * Assume group already protected by group_lock. * */ static void rm_shred_group_update_status(RmShredGroup *group) { if(group->status == RM_SHRED_GROUP_DORMANT && rm_shred_group_qualifies(group) && group->hash_offset < group->file_size && (group->n_clusters > 1 || (group->n_inodes == 1 && group->session->cfg->merge_directories))) { /* group can go active */ group->status = RM_SHRED_GROUP_START_HASHING; } } /* Only called by rm_shred_group_free (via GDestroyNotify of group->children). * Call with group->lock unlocked. */ static void rm_shred_group_make_orphan(RmShredGroup *self) { gboolean group_finished = FALSE; g_mutex_lock(&self->lock); { self->parent = NULL; group_finished = (self->num_pending == 0); } g_mutex_unlock(&self->lock); if(group_finished) { rm_shred_group_finalise(self); } } /* Call with shred_group->lock unlocked. */ static RmFile *rm_shred_group_push_file(RmShredGroup *shred_group, RmFile *file, gboolean initial) { RmFile *result = NULL; RmCfg *cfg = shred_group->session->cfg; file->shred_group = shred_group; if(file->digest) { rm_digest_free(file->digest); file->digest = NULL; } g_mutex_lock(&shred_group->lock); { if(cfg->unmatched_basenames) { /* do some fancy footwork for cfg->unmatched_basenames criterion */ if(shred_group->num_files == 0) { shred_group->unique_basename = file; } else if(shred_group->unique_basename && rm_file_basenames_cmp(file, shred_group->unique_basename) != 0) { shred_group->unique_basename = NULL; } if(file->cluster) { for(GList *iter = file->cluster->head; iter; iter = iter->next) { if(rm_file_basenames_cmp(iter->data, shred_group->unique_basename) != 0) { shred_group->unique_basename = NULL; break; } } } } /* update group counters */ shred_group->num_files += rm_file_n_files(file); shred_group->n_pref += rm_file_n_prefd(file); shred_group->n_npref += rm_file_n_nprefd(file); shred_group->n_new += rm_file_n_new(file); shred_group->n_clusters++; shred_group->n_inodes += RM_FILE_INODE_COUNT(file); rm_assert_gentle(file->hash_offset == shred_group->hash_offset); rm_shred_group_update_status(shred_group); switch(shred_group->status) { case RM_SHRED_GROUP_START_HASHING: /* clear the queue and push all its rmfiles to the md-scheduler */ if(shred_group->held_files) { shred_group->num_pending += g_queue_get_length(shred_group->held_files); g_queue_free_full(shred_group->held_files, (GDestroyNotify)rm_shred_push_queue); shred_group->held_files = NULL; /* won't need shred_group queue any more, since new arrivals will bypass */ } if(shred_group->digest_type == RM_DIGEST_PARANOID && !initial) { rm_shred_check_paranoid_mem_alloc(shred_group, 1); } /* FALLTHROUGH */ case RM_SHRED_GROUP_HASHING: shred_group->num_pending++; if(!file->shredder_waiting) { /* add file to device queue */ rm_shred_push_queue(file); } else { /* calling routine will handle the file */ result = file; } break; case RM_SHRED_GROUP_DORMANT: case RM_SHRED_GROUP_FINISHING: /* add file to held_files */ g_queue_push_head(shred_group->held_files, file); break; case RM_SHRED_GROUP_FINISHED: default: rm_assert_gentle_not_reached(); } } g_mutex_unlock(&shred_group->lock); return result; } /* After partial hashing of RmFile, add it back into the sieve for further * hashing if required. If waiting option is set, then try to return the * RmFile to the calling routine so it can continue with the next hashing * increment (this bypasses the normal device queue and so avoids an unnecessary * file seek operation ) returns true if the file can be immediately be hashed * some more. * */ static RmFile *rm_shred_sift(RmFile *file) { RmFile *result = NULL; gboolean current_group_finished = FALSE; rm_assert_gentle(file); RmShredGroup *current_group = file->shred_group; rm_assert_gentle(current_group); g_mutex_lock(¤t_group->lock); { current_group->num_pending--; if(current_group->in_progress_digests) { /* remove this file from current_group's pending digests list */ current_group->in_progress_digests = g_list_remove(current_group->in_progress_digests, file->digest); } if(file->status == RM_FILE_STATE_IGNORE) { /* reading/hashing failed somewhere */ if(file->digest) { rm_digest_free(file->digest); } rm_shred_discard_file(file, true); } else { rm_assert_gentle(file->digest); /* check is child group hashtable has been created yet */ if(current_group->children == NULL) { current_group->children = g_hash_table_new_full((GHashFunc)rm_digest_hash, (GEqualFunc)rm_digest_equal, NULL, (GDestroyNotify)rm_shred_group_make_orphan); } /* check if there is already a descendent of current_group which * matches snap... if yes then move this file into it; if not then * create a new group ... */ RmShredGroup *child_group = g_hash_table_lookup(current_group->children, file->digest); if(!child_group) { child_group = rm_shred_group_new(file); g_hash_table_insert(current_group->children, child_group->digest, child_group); /* signal any pending (paranoid) digests that there is a new match * candidate digest */ g_list_foreach(current_group->in_progress_digests, (GFunc)rm_digest_send_match_candidate, child_group->digest); } result = rm_shred_group_push_file(child_group, file, FALSE); } /* is current shred group needed any longer? */ current_group_finished = !current_group->parent && current_group->num_pending == 0; } g_mutex_unlock(¤t_group->lock); if(current_group_finished) { rm_shred_group_finalise(current_group); } return result; } /* Hasher callback when file increment hashing is completed. * */ static void rm_shred_hash_callback(_UNUSED RmHasher *hasher, RmDigest *digest, RmShredTag *tag, RmFile *file) { if(!file->digest) { file->digest = digest; } rm_assert_gentle(file->digest == digest); rm_assert_gentle(file->hash_offset == file->shred_group->next_offset); if(file->status != RM_FILE_STATE_IGNORE) { /* remember that checksum */ rm_shred_write_cksum_to_xattr(tag->session, file); } if(file->shredder_waiting) { /* MDS scheduler is waiting for result */ rm_signal_done(file->signal); } else { /* handle the file ourselves; MDS scheduler has moved on to the next file */ rm_shred_sift(file); } } //////////////////////////////////// // SHRED-SPECIFIC PREPROCESSING // //////////////////////////////////// /* Basically this unloads files from the initial list build (which has * hardlinks already grouped). * Outline: * 1. Use g_hash_table_foreach_remove to send RmFiles from node_table * to size_groups via rm_shred_file_preprocess. * 2. Use g_hash_table_foreach_remove to delete all singleton and other * non-qualifying groups from size_groups via rm_shred_group_preprocess. * 3. Use g_hash_table_foreach to do the FIEMAP lookup for all remaining * files via rm_shred_device_preprocess. * */ /* Called for each file; find appropriate RmShredGroup (ie files with same size) and * push the file to it. * */ static void rm_shred_file_preprocess(RmFile *file, RmShredGroup **group) { /* initial population of RmShredDevice's and first level RmShredGroup's */ RmSession *session = (RmSession *)file->session; RmShredTag *shredder = session->shredder; RmCfg *cfg = session->cfg; rm_assert_gentle(file); rm_assert_gentle(file->lint_type == RM_LINT_TYPE_DUPE_CANDIDATE); /* Create an empty checksum for empty files */ if(file->file_size == 0) { file->digest = rm_digest_new(cfg->checksum_type, 0, 0, 0, NEEDS_SHADOW_HASH(cfg)); } if(!(*group)) { /* create RmShredGroup using first file in size group as template*/ *group = rm_shred_group_new(file); (*group)->digest_type = cfg->checksum_type; } RM_DEFINE_PATH(file); /* add reference for this file to the MDS scheduler, and get pointer to its device */ file->disk = rm_mds_device_get(session->mds, file_path, (cfg->fake_pathindex_as_disk) ? file->path_index + 1 : file->dev); rm_mds_device_ref(file->disk, 1); rm_shred_adjust_counters(shredder, 1, (gint64)file->file_size - file->hash_offset); rm_shred_group_push_file(*group, file, true); } /* if file and prev are external checksum twins then cluster file into prev */ static gint rm_shred_cluster_ext(RmFile *file, RmFile *prev) { if(prev && file->ext_cksum && prev->ext_cksum && strcmp(file->ext_cksum, prev->ext_cksum) == 0) { /* ext_cksum match: cluster it */ #if _RM_SHRED_DEBUG RM_DEFINE_PATH(file); RM_DEFINE_PATH(prev); rm_log_debug_line("cluster %s <-- %s", prev_path, file_path); #endif rm_file_cluster_add(prev, file); return TRUE; } if(file->hardlinks) { /* create cluster based on files own hardlinks (does counting) */ #if _RM_SHRED_DEBUG RM_DEFINE_PATH(file); rm_log_debug_line("self cluster %s", file_path); #endif rm_file_cluster_add(file, file); } return FALSE; } /* sorting function to sort by external checksums */ static gint rm_shred_cmp_ext_cksum(RmFile *a, RmFile *b) { if(!a->ext_cksum && !b->ext_cksum) { return 0; } RETURN_IF_NONZERO(!a->ext_cksum - !b->ext_cksum); return strcmp(a->ext_cksum, b->ext_cksum); } static void rm_shred_process_group(GSList *files, _UNUSED RmShredTag *main) { rm_assert_gentle(files); rm_assert_gentle(files->data); /* cluster hardlinks and ext_cksum matches; * Initially I over-complicated this until I realised that hardlinks * share common extended attributes. So there is no need to * contemplate the case of xattr checksums that are "hidden" somewhere * in the hardlink cluster. Instead we only need to check the head * hardlink. */ /* sort list so that external checksums are grouped; with large sets * this is faster than a triangular search for twins */ files = g_slist_sort(files, (GCompareFunc)rm_shred_cmp_ext_cksum); /* cluster ext_cksum twins */ gboolean all_have_ext_cksums = TRUE; for(GSList *prev = NULL, *iter = files, *next = NULL; iter; iter = next) { next = iter->next; RmFile *file = iter->data; all_have_ext_cksums &= !!file->ext_cksum; RmFile *prev_file = prev ? prev->data : NULL; if(rm_shred_cluster_ext(file, prev_file)) { /* delete iter from GSList */ g_slist_free1(iter); if(prev) { prev->next = next; } else { files = next; } } else { prev = iter; } } /* push files to shred group */ RmShredGroup *group = NULL; RmFile *file = NULL; while((file = rm_util_slist_pop(&files, NULL))) { rm_shred_file_preprocess(file, &group); if(all_have_ext_cksums) { /* only one cluster per RmShredGroup */ rm_shred_group_finalise(group); group = NULL; } } /* remove group if it failed to launch (eg if only 1 file) */ if(group && group->status == RM_SHRED_GROUP_DORMANT) { rm_shred_group_finalise(group); } } static void rm_shred_preprocess_input(RmShredTag *main) { RmSession *session = main->session; guint removed = 0; /* move files from node tables into initial RmShredGroups */ rm_log_debug_line("preparing size groups for shredding (dupe finding)..."); RmFileTables *tables = session->tables; g_slist_foreach(tables->size_groups, (GFunc)rm_shred_process_group, main); g_slist_free(tables->size_groups); tables->size_groups = NULL; rm_log_debug_line("...done at time %.3f; removed %u of %" LLU, g_timer_elapsed(session->timer, NULL), removed, session->total_filtered_files); } ///////////////////////////////// // POST PROCESSING // ///////////////////////////////// /* post-processing sorting of files by criteria (-S and -[kmKM]) this is * slightly different to rm_shred_cmp_orig_criteria in the case of either -K or * -M options */ int rm_shred_cmp_orig_criteria(RmFile *a, RmFile *b, RmSession *session) { RmCfg *cfg = session->cfg; /* Make sure to *never* make a symlink to be the original */ if(a->is_symlink != b->is_symlink) { return a->is_symlink - b->is_symlink; } else if((a->is_prefd != b->is_prefd) && (cfg->keep_all_untagged || cfg->must_match_untagged)) { return (a->is_prefd - b->is_prefd); } else { int comparasion = rm_pp_cmp_orig_criteria(a, b, session); if(comparasion == 0) { return b->is_original - a->is_original; } return comparasion; } } /* iterate over group to find highest ranked; return it and tag it as original */ /* also in special cases (eg keep_all_tagged) there may be more than one original, * in which case tag them as well */ void rm_shred_group_find_original(RmSession *session, GQueue *files, RmShredGroupStatus status) { /* iterate over group, identifying "tagged" originals */ for(GList *iter = files->head; iter; iter = iter->next) { RmFile *file = iter->data; file->is_original = false; if(status == RM_SHRED_GROUP_FINISHING) { /* identify "tagged" originals: */ if(((file->is_prefd) && (session->cfg->keep_all_tagged)) || ((!file->is_prefd) && (session->cfg->keep_all_untagged))) { file->is_original = true; #if _RM_SHRED_DEBUG RM_DEFINE_PATH(file); rm_log_debug_line("tagging %s as original because %s", file_path, ((file->is_prefd) && (session->cfg->keep_all_tagged)) ? "tagged" : "untagged"); #endif } } else { file->lint_type = RM_LINT_TYPE_UNIQUE_FILE; session->unique_bytes += file->actual_file_size; } } /* sort the group (order probably changed since initial preprocessing sort) */ g_queue_sort(files, (GCompareDataFunc)rm_shred_cmp_orig_criteria, session); RmFile *headfile = files->head->data; if(!headfile->is_original && status == RM_SHRED_GROUP_FINISHING) { headfile->is_original = true; #if _RM_SHRED_DEBUG RM_DEFINE_PATH(headfile); rm_log_debug_line("tagging %s as original because it is highest ranked", headfile_path); #endif } } void rm_shred_forward_to_output(RmSession *session, GQueue *group) { rm_assert_gentle(group); rm_assert_gentle(group->head); #if _RM_SHRED_DEBUG RmFile *head = group->head->data; RM_DEFINE_PATH(head); rm_log_debug_line("Forwarding %s's group", head_path); #endif /* Hand it over to the printing module */ for(GList *iter = group->head; iter; iter = iter->next) { RmFile *file = iter->data; rm_fmt_write(file, session->formats, group->length); } } /* only called by rm_shred_result_factory() which is single-thread threadpool * so no lock required for session->dup_counter or session->total_lint_size */ static void rm_shred_dupe_totals(RmFile *file, RmSession *session) { if(!file->is_original) { session->dup_counter++; session->duplicate_bytes += file->actual_file_size; /* Only check file size if it's not a hardlink. Since deleting * hardlinks does not free any space they should not be counted unless * all of them would be removed. */ if(!RM_FILE_IS_HARDLINK(file) && file->outer_link_count == 0) { session->total_lint_size += file->actual_file_size; } } else { session->original_bytes += file->actual_file_size; } } static int rm_shred_sort_by_mtime(const RmFile *file_a, const RmFile *file_b, RmShredTag *tag) { if(tag->session->cfg->mtime_window >= 0) { return FLOAT_SIGN_DIFF(file_a->mtime, file_b->mtime, MTIME_TOL); } return 0; } static RmShredGroup *rm_shred_create_rejects(RmShredGroup *group, RmFile *file) { if(group->digest) { file->digest = rm_digest_copy(group->digest); } RmShredGroup *rejects = rm_shred_group_new(file); rejects->status = group->status; rejects->parent = group->parent; return rejects; } static void rm_shred_group_transfer(RmFile *file, RmShredGroup *source, RmShredGroup *dest) { rm_shred_group_push_file(dest, file, FALSE); rm_assert_gentle(g_queue_remove(source->held_files, file)); source->num_files--; source->n_pref -= file->is_prefd; source->n_npref -= !file->is_prefd; source->n_new -= !file->is_new; } static RmShredGroup *rm_shred_mtime_rejects(RmShredGroup *group, RmShredTag *tag) { RmShredGroup *rejects = NULL; gdouble mtime_window = tag->session->cfg->mtime_window; if(mtime_window >= 0) { g_queue_sort(group->held_files, (GCompareDataFunc)rm_shred_sort_by_mtime, tag); for(GList *iter = group->held_files->head, *next = NULL; iter; iter = next) { next = iter->next; RmFile *curr = iter->data, *next_file = next ? next->data : NULL; if(rejects) { /* move remaining files into a new group */ rm_shred_group_transfer(curr, group, rejects); } else if(next_file && next_file->mtime - curr->mtime > mtime_window + MTIME_TOL) { /* create new group for rejects */ rejects = rm_shred_create_rejects(group, next_file); } } } return rejects; } static RmShredGroup *rm_shred_basename_rejects(RmShredGroup *group, RmShredTag *tag) { RmShredGroup *rejects = NULL; if(tag->session->cfg->unmatched_basenames && group->status == RM_SHRED_GROUP_FINISHING) { /* remove files which match headfile's basename */ RmFile *headfile = group->held_files->head->data; for(GList *iter = group->held_files->head->next, *next = NULL; iter; iter = next) { next = iter->next; RmFile *curr = iter->data; if(rm_file_basenames_cmp(curr, headfile) == 0) { if(!rejects) { rejects = rm_shred_create_rejects(group, curr); } rm_shred_group_transfer(curr, group, rejects); } } } return rejects; } /* post-process a group: * decide which file(s) are originals * maybe split out mtime rejects (--mtime-window option) * maybe split out basename twins (--unmatched-basename option) */ static void rm_shred_group_postprocess(RmShredGroup *group, RmShredTag *tag) { if(!group) { return; } RmCfg *cfg = tag->session->cfg; rm_assert_gentle(group->held_files); /* Features like --mtime-window require post processing, i.e. the shred group * needs to be split up further by criteria like "mtime difference too high". * This is done here. * */ rm_shred_group_find_original(tag->session, group->held_files, group->status); rm_shred_group_postprocess(rm_shred_basename_rejects(group, tag), tag); rm_shred_group_postprocess(rm_shred_mtime_rejects(group, tag), tag); /* re-check whether what is left of the group still meets all criteria */ group->status = (rm_shred_group_qualifies(group)) ? RM_SHRED_GROUP_FINISHING : RM_SHRED_GROUP_DORMANT; /* find the original(s) (note this also sorts the group from highest * ranked to lowest ranked */ rm_shred_group_find_original(tag->session, group->held_files, group->status); /* Update statistics */ if(group->status == RM_SHRED_GROUP_FINISHING) { rm_fmt_lock_state(tag->session->formats); { tag->session->dup_group_counter++; g_queue_foreach(group->held_files, (GFunc)rm_shred_dupe_totals, tag->session); } rm_fmt_unlock_state(tag->session->formats); } gboolean treemerge = cfg->merge_directories && group->status == RM_SHRED_GROUP_FINISHING; for(GList *iter = group->held_files->head; iter; iter = iter->next) { /* link file to its (shared) digest */ RmFile *file = iter->data; file->digest = group->digest; /* Cache the files for merging them into directories */ if(treemerge) { rm_tm_feed(tag->session->dir_merger, file); } } if(!treemerge) { /* Output them directly, do not merge them first. */ rm_shred_forward_to_output(tag->session, group->held_files); } if(group->status == RM_SHRED_GROUP_FINISHING) { group->status = RM_SHRED_GROUP_FINISHED; } #if _RM_SHRED_DEBUG rm_log_debug_line("Free from rm_shred_group_postprocess"); #endif /* Do not force free files here, output module might need do that itself. */ rm_shred_group_free(group, false); } static void rm_shred_result_factory(RmShredGroup *group, RmShredTag *tag) { RmCfg *cfg = tag->session->cfg; /* maybe create group's digest from external checksums */ RmFile *headfile = group->held_files->head->data; char *cksum = headfile->ext_cksum; if(cksum && !group->digest) { group->digest = rm_digest_new(RM_DIGEST_EXT, 0, 0, 0, NEEDS_SHADOW_HASH(cfg)); rm_digest_update(group->digest, (unsigned char *)cksum, strlen(cksum)); } /* Unbundle the hardlinks and clusters of each file to a flattened list of files */ for(GList *iter = group->held_files->head; iter; iter = iter->next) { RmFile *file = iter->data; while(file->cluster) { /* unbundle ext_cksum twins */ RmFile *last = file->cluster->tail->data; rm_file_cluster_remove(last); if(last != file) { g_queue_push_tail(group->held_files, last); } } if(RM_FILE_HAS_HARDLINKS(file)) { /* if group member has a hardlink cluster attached to it then * unbundle the cluster and append it to the queue */ file->outer_link_count = file->link_count - file->hardlinks->length; for(GList *link = file->hardlinks->head; link; link = link->next) { RmFile *bundled_file = link->data; if(bundled_file != file) { bundled_file->outer_link_count = file->outer_link_count; g_queue_push_tail(group->held_files, bundled_file); } } } else if(file->outer_link_count < 0) { file->outer_link_count = file->link_count - 1; } } rm_shred_group_postprocess(group, tag); } ///////////////////////////////// // ACTUAL IMPLEMENTATION // ///////////////////////////////// static bool rm_shred_reassign_checksum(RmShredTag *main, RmFile *file) { RmCfg *cfg = main->session->cfg; RmShredGroup *group = file->shred_group; if(group->digest_type == RM_DIGEST_PARANOID) { /* check if memory allocation is ok */ if(!rm_shred_check_paranoid_mem_alloc(group, 0)) { return false; } /* get the required target offset into group->next_offset, so that * we can make the paranoid RmDigest the right size*/ g_mutex_lock(&group->lock); { if(group->next_offset == 0) { (void)rm_shred_get_read_size(file, main); } rm_assert_gentle(group->hash_offset == file->hash_offset); } g_mutex_unlock(&group->lock); file->digest = rm_digest_new(RM_DIGEST_PARANOID, 0, 0, 0, NEEDS_SHADOW_HASH(cfg)); if((file->is_symlink == false || cfg->see_symlinks == false) && (group->next_offset > file->hash_offset + SHRED_PREMATCH_THRESHOLD)) { /* send candidate twin(s) */ g_mutex_lock(&group->lock); { if(group->children) { GList *children = g_hash_table_get_values(group->children); while(children) { RmShredGroup *child = children->data; rm_digest_send_match_candidate(file->digest, child->digest); children = g_list_delete_link(children, children); } } /* store a reference so the shred group knows where to send any future * twin candidate digests */ group->in_progress_digests = g_list_prepend(group->in_progress_digests, file->digest); } g_mutex_unlock(&group->lock); } } else if(group->digest) { /* pick up the digest-so-far from the RmShredGroup */ file->digest = rm_digest_copy(group->digest); } else { /* this is first generation of RMGroups, so there is no progressive hash yet */ file->digest = rm_digest_new(cfg->checksum_type, main->session->hash_seed1, main->session->hash_seed2, 0, NEEDS_SHADOW_HASH(cfg)); } return true; } /* call with device unlocked */ static bool rm_shred_can_process(RmFile *file, RmShredTag *main) { if(file->digest) { return TRUE; } else { return rm_shred_reassign_checksum(main, file); } } /* Callback for RmMDS * Return value of 1 tells md-scheduler that we have processed the file and either * disposed of it or pushed it back to the scheduler queue. * Return value of 0 tells md-scheduler we can't process the file right now, and * have pushed it back to the queue. * */ static gint rm_shred_process_file(RmFile *file, RmSession *session) { RmShredTag *tag = session->shredder; if(rm_session_was_aborted()) { file->status = RM_FILE_STATE_IGNORE; rm_shred_sift(file); return 1; } gint result = 0; RM_DEFINE_PATH(file); while(file && rm_shred_can_process(file, tag)) { result = 1; /* hash the next increment of the file */ RmCfg *cfg = session->cfg; RmOff bytes_to_read = rm_shred_get_read_size(file, tag); gboolean shredder_waiting = (file->shred_group->next_offset != file->file_size) && (cfg->shred_always_wait || (!cfg->shred_never_wait && rm_mds_device_is_rotational(file->disk) && bytes_to_read < SHRED_TOO_MANY_BYTES_TO_WAIT)); RmOff bytes_read = 0; RmHasherTask *task = rm_hasher_task_new(tag->hasher, file->digest, file); if(!rm_hasher_task_hash(task, file_path, file->hash_offset, bytes_to_read, file->is_symlink, &bytes_read)) { /* rm_hasher_start_increment failed somewhere */ file->status = RM_FILE_STATE_IGNORE; shredder_waiting = FALSE; } session->shred_bytes_read += bytes_read; /* Update totals for file, device and session*/ file->hash_offset += bytes_to_read; if(file->is_symlink) { rm_shred_adjust_counters(tag, 0, -(gint64)file->file_size); } else { rm_shred_adjust_counters(tag, 0, -(gint64)bytes_to_read); } if(shredder_waiting) { /* some final checks if it's still worth waiting for the hash result */ shredder_waiting = shredder_waiting && /* no point waiting if we have no siblings */ file->shred_group->children && /* no point waiting if paranoid digest with no twin candidates */ (file->digest->type != RM_DIGEST_PARANOID || file->digest->paranoid->twin_candidate); } file->signal = shredder_waiting ? rm_signal_new() : NULL; file->shredder_waiting = shredder_waiting; /* tell the hasher we have finished */ rm_hasher_task_finish(task); if(shredder_waiting) { /* wait until the increment has finished hashing; assert that we get the * expected file back */ rm_signal_wait(file->signal); file->signal = NULL; /* sift file; if returned then continue processing it */ file = rm_shred_sift(file); } else { /* rm_shred_hash_callback will take care of the file */ file = NULL; } } if(file) { /* file was not handled by rm_shred_sift so we need to add it back to the queue */ rm_mds_push_task(file->disk, file->dev, file->disk_offset, NULL, file); } return result; } void rm_shred_run(RmSession *session) { rm_assert_gentle(session); rm_assert_gentle(session->tables); RmCfg *cfg = session->cfg; RmShredTag tag; tag.active_groups = 0; tag.session = session; tag.mem_refusing = false; session->shredder = &tag; tag.page_size = SHRED_PAGE_SIZE; tag.after_preprocess = FALSE; /* would use g_atomic, but helgrind does not like that */ g_mutex_init(&tag.hash_mem_mtx); g_mutex_init(&tag.lock); rm_mds_configure(session->mds, (RmMDSFunc)rm_shred_process_file, session, session->cfg->sweep_count, session->cfg->threads_per_disk, (RmMDSSortFunc)rm_mds_elevator_cmp); /* Create a pool for progress counting */ tag.counter_pool = rm_util_thread_pool_new((GFunc)rm_shred_counter_factory, &tag, 1); /* Create a pool for results processing */ tag.result_pool = rm_util_thread_pool_new((GFunc)rm_shred_result_factory, &tag, 1); rm_shred_preprocess_input(&tag); rm_log_debug_line("Done shred preprocessing"); /* wait for counters to catch up */ while(g_thread_pool_unprocessed(tag.counter_pool) > 0) { g_usleep(10); } rm_log_debug_line("Byte and file counters up to date"); tag.after_preprocess = TRUE; session->shred_bytes_after_preprocess = session->shred_bytes_remaining; /* estimate mem used for RmFiles and allocate any leftovers to read buffer and/or * paranoid mem */ RmOff mem_used = SHRED_AVERAGE_MEM_PER_FILE * session->shred_files_remaining; RmOff read_buffer_mem = MAX(1024 * 1024, (gint64)cfg->total_mem - (gint64)mem_used); if(cfg->checksum_type == RM_DIGEST_PARANOID) { /* allocate any spare mem for paranoid hashing */ tag.paranoid_mem_alloc = (gint64)cfg->total_mem - (gint64)mem_used; tag.paranoid_mem_alloc = MAX(0, tag.paranoid_mem_alloc); rm_log_debug_line("Paranoid Mem: %" LLU, tag.paranoid_mem_alloc); /* paranoid memory manager takes care of memory load; */ read_buffer_mem = 0; } rm_log_debug_line("Read buffer Mem: %" LLU, read_buffer_mem); /* Initialise hasher */ /* Optimum buffer size based on /usr without dropping caches: * SHRED_PAGE_SIZE * 1 => 5.29 seconds * SHRED_PAGE_SIZE * 2 => 5.11 seconds * SHRED_PAGE_SIZE * 4 => 5.04 seconds * SHRED_PAGE_SIZE * 8 => 5.08 seconds * With dropped caches: * SHRED_PAGE_SIZE * 1 => 45.2 seconds * SHRED_PAGE_SIZE * 4 => 45.0 seconds * Optimum buffer size using a rotational disk and paranoid hash: * SHRED_PAGE_SIZE * 1 => 16.5 seconds * SHRED_PAGE_SIZE * 2 => 16.5 seconds * SHRED_PAGE_SIZE * 4 => 15.9 seconds * SHRED_PAGE_SIZE * 8 => 15.8 seconds */ tag.hasher = rm_hasher_new(cfg->checksum_type, cfg->threads, cfg->use_buffered_read, SHRED_PAGE_SIZE * 4, read_buffer_mem, (RmHasherCallback)rm_shred_hash_callback, &tag); rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_SHREDDER); session->shred_bytes_total = session->shred_bytes_remaining; rm_mds_start(session->mds); /* should complete shred session and then free: */ rm_mds_free(session->mds, FALSE); rm_hasher_free(tag.hasher, TRUE); session->shredder_finished = TRUE; rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_SHREDDER); /* This should not block, or at least only very short. */ g_thread_pool_free(tag.result_pool, FALSE, TRUE); rm_log_debug(BLUE "Waiting for progress counters to catch up..." RESET); g_thread_pool_free(tag.counter_pool, FALSE, TRUE); rm_log_debug(BLUE "Done\n" RESET); g_mutex_clear(&tag.hash_mem_mtx); rm_log_debug_line("Remaining %" LLU " bytes in %" LLU " files", session->shred_bytes_remaining, session->shred_files_remaining); } rmlint-2.6.1/lib/shredder.h000066400000000000000000000043631312046612000155450ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #ifndef RM_SHREDDER_H #define RM_SHREDDER_H #include #include "session.h" typedef enum RmShredGroupStatus { RM_SHRED_GROUP_DORMANT = 0, RM_SHRED_GROUP_START_HASHING, RM_SHRED_GROUP_HASHING, RM_SHRED_GROUP_FINISHING, RM_SHRED_GROUP_FINISHED } RmShredGroupStatus; /** * @brief Find duplicate RmFile and pass them to postprocess; free/destroy all other *RmFiles. * * @param session: rmlint session containing all cfg and pseudo-globals */ void rm_shred_run(RmSession *session); /** * @brief Forward a group of files to the outout module. * * @param session the output module's session. * @param group a group of dupes that should be reported. * * This function will determine the original of the group by using: * * - the is_original flag of the file, * - the is_prefd flag of the file * - otherwise sort by criteria */ void rm_shred_forward_to_output(RmSession *session, GQueue *group); /** * @brief Find the original file in a group and mark it. */ void rm_shred_group_find_original(RmSession *session, GQueue *group, RmShredGroupStatus status); /** * @brief post-processing sorting of files by criteria (-S and -[kmKM]) * * This is slightly different to rm_shred_cmp_orig_criteria in the case of * either -K or -M options */ int rm_shred_cmp_orig_criteria(RmFile *a, RmFile *b, RmSession *session); #endif rmlint-2.6.1/lib/traverse.c000066400000000000000000000460451312046612000155760ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include #include #include #include #include #include #include "file.h" #include "formats.h" #include "md-scheduler.h" #include "preprocess.h" #include "utilities.h" #include "xattr.h" #include "fts/fts.h" ////////////////////// // TRAVERSE SESSION // ////////////////////// typedef struct RmTravSession { RmUserList *userlist; RmSession *session; } RmTravSession; static RmTravSession *rm_traverse_session_new(RmSession *session) { RmTravSession *self = g_new0(RmTravSession, 1); self->session = session; self->userlist = rm_userlist_new(); return self; } static void rm_traverse_session_free(RmTravSession *trav_session) { rm_log_debug_line("Found %d files, ignored %d hidden files and %d hidden folders", trav_session->session->total_files, trav_session->session->ignored_files, trav_session->session->ignored_folders); rm_userlist_destroy(trav_session->userlist); g_free(trav_session); } /////////////////////////////////////////// // BUFFER FOR STARTING TRAVERSAL THREADS // /////////////////////////////////////////// typedef struct RmTravBuffer { RmStat stat_buf; /* rm_sys_stat(2) information about the directory */ RmPath *rmpath; /* Path and info passed via command line. */ RmMDSDevice *disk; /* md-scheduler device the buffer was pushed to */ } RmTravBuffer; static RmTravBuffer *rm_trav_buffer_new(RmSession *session, RmPath *rmpath) { RmTravBuffer *self = g_new0(RmTravBuffer, 1); self->rmpath = rmpath; int stat_state; if(session->cfg->follow_symlinks) { stat_state = rm_sys_stat(rmpath->path, &self->stat_buf); } else { stat_state = rm_sys_lstat(rmpath->path, &self->stat_buf); } if(stat_state == -1) { rm_log_perror("Unable to stat file"); } return self; } static void rm_trav_buffer_free(RmTravBuffer *self) { g_free(self); } ////////////////////// // ACTUAL WORK HERE // ////////////////////// static void rm_traverse_file(RmTravSession *trav_session, RmStat *statp, char *path, bool is_prefd, unsigned long path_index, RmLintType file_type, bool is_symlink, bool is_hidden, bool is_on_subvol_fs, short depth) { RmSession *session = trav_session->session; RmCfg *cfg = session->cfg; if(rm_fmt_is_a_output(session->formats, path)) { /* ignore files which are rmlint outputs */ return; } /* Try to autodetect the type of the lint */ if(file_type == RM_LINT_TYPE_UNKNOWN) { RmLintType gid_check; /* see if we can find a lint type */ if(statp->st_size == 0 && cfg->find_emptyfiles) { file_type = RM_LINT_TYPE_EMPTY_FILE; } else if(cfg->permissions && access(path, cfg->permissions) == -1) { /* bad permissions; ignore file */ trav_session->session->ignored_files++; return; } else if(cfg->find_badids && (gid_check = rm_util_uid_gid_check(statp, trav_session->userlist))) { file_type = gid_check; } else if(cfg->find_nonstripped && rm_util_is_nonstripped(path, statp)) { file_type = RM_LINT_TYPE_NONSTRIPPED; } else { RmOff file_size = statp->st_size; if(!cfg->limits_specified || ((cfg->minsize == (RmOff)-1 || cfg->minsize <= file_size) && (cfg->maxsize == (RmOff)-1 || file_size <= cfg->maxsize))) { if(rm_mounts_is_evil(trav_session->session->mounts, statp->st_dev) == false) { file_type = RM_LINT_TYPE_DUPE_CANDIDATE; } else { /* A file in an evil fs. Ignore. */ trav_session->session->ignored_files++; return; } } else { return; } } } RmFile *file = rm_file_new(session, path, statp, file_type, is_prefd, path_index, depth); if(file != NULL) { file->is_symlink = is_symlink; file->is_hidden = is_hidden; file->is_on_subvol_fs = is_on_subvol_fs; file->link_count = statp->st_nlink; rm_file_list_insert_file(file, session); g_atomic_int_add(&trav_session->session->total_files, 1); rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_TRAVERSE); if(file->lint_type == RM_LINT_TYPE_DUPE_CANDIDATE) { if(cfg->clear_xattr_fields) { rm_xattr_clear_hash(file, session); } if(cfg->read_cksum_from_xattr) { rm_xattr_read_hash(file, session); } } } } static bool rm_traverse_is_hidden(RmCfg *cfg, const char *basename, char *hierarchy, size_t hierarchy_len) { if(cfg->partial_hidden == false) { return false; } else if(*basename == '.') { return true; } else { return !!memchr(hierarchy, 1, hierarchy_len); } } /* Macro for rm_traverse_directory() for easy file adding */ #define _ADD_FILE(lint_type, is_symlink, stat_buf) \ rm_traverse_file( \ trav_session, (RmStat *)stat_buf, p->fts_path, is_prefd, path_index, lint_type, \ is_symlink, \ rm_traverse_is_hidden(cfg, p->fts_name, is_hidden, p->fts_level + 1), \ rmpath->treat_as_single_vol, p->fts_level); #if RM_PLATFORM_32 && HAVE_STAT64 static void rm_traverse_convert_small_stat_buf(struct stat *fts_statp, RmStat *buf) { /* Break a leg for supporting large files on 32 bit, * and convert the needed fields to the large version. * * We can't use memcpy here, since the layout might be (fatally) different. * Yes, this is stupid. *Sigh* * */ memset(buf, 0, sizeof(RmStat)); buf->st_dev = fts_statp->st_dev; buf->st_ino = fts_statp->st_ino; buf->st_mode = fts_statp->st_mode; buf->st_nlink = fts_statp->st_nlink; buf->st_uid = fts_statp->st_uid; buf->st_gid = fts_statp->st_gid; buf->st_rdev = fts_statp->st_rdev; buf->st_size = fts_statp->st_size; buf->st_blksize = fts_statp->st_blksize; buf->st_blocks = fts_statp->st_blocks; buf->st_atim = fts_statp->st_atim; buf->st_mtim = fts_statp->st_mtim; buf->st_ctim = fts_statp->st_ctim; } #define ADD_FILE(lint_type, is_symlink) \ { \ RmStat buf; \ rm_traverse_convert_small_stat_buf(p->fts_statp, &buf); \ _ADD_FILE(lint_type, is_symlink, &buf) \ } #else #define ADD_FILE(lint_type, is_symlink) \ _ADD_FILE(lint_type, is_symlink, (RmStat *)p->fts_statp) #endif static void rm_traverse_directory(RmTravBuffer *buffer, RmTravSession *trav_session) { RmSession *session = trav_session->session; RmCfg *cfg = session->cfg; RmPath *rmpath = buffer->rmpath; char is_prefd = rmpath->is_prefd; RmOff path_index = rmpath->idx; /* Initialize ftsp */ int fts_flags = FTS_PHYSICAL | FTS_COMFOLLOW | FTS_NOCHDIR; if(rmpath->treat_as_single_vol) { rm_log_debug_line("Treating files under %s as a single volume", rmpath->path); } FTS *ftsp = fts_open((char *[2]){rmpath->path, NULL}, fts_flags, NULL); if(ftsp == NULL) { rm_log_error_line("fts_open() == NULL"); goto done; } FTSENT *p, *chp; chp = fts_children(ftsp, 0); if(chp == NULL) { rm_log_warning_line("fts_children() == NULL"); goto done; } /* start main processing */ char is_emptydir[PATH_MAX / 2 + 1]; char is_hidden[PATH_MAX / 2 + 1]; bool have_open_emptydirs = false; bool clear_emptydir_flags = false; bool next_is_symlink = false; bool symlink_message_delivered = false; memset(is_emptydir, 0, sizeof(is_emptydir) - 1); memset(is_hidden, 0, sizeof(is_hidden) - 1); while(!rm_session_was_aborted() && (p = fts_read(ftsp)) != NULL) { /* check for hidden file or folder */ if(cfg->ignore_hidden && p->fts_level > 0 && p->fts_name[0] == '.') { /* ignoring hidden folders*/ if(p->fts_info == FTS_D) { fts_set(ftsp, p, FTS_SKIP); /* do not recurse */ g_atomic_int_inc(&trav_session->session->ignored_folders); } else { g_atomic_int_inc(&trav_session->session->ignored_files); } clear_emptydir_flags = true; /* flag current dir as not empty */ is_emptydir[p->fts_level] = 0; } else { switch(p->fts_info) { case FTS_D: /* preorder directory */ if(cfg->depth != 0 && p->fts_level >= cfg->depth) { /* continuing into folder would exceed maxdepth*/ fts_set(ftsp, p, FTS_SKIP); /* do not recurse */ clear_emptydir_flags = true; /* flag current dir as not empty */ rm_log_debug_line("Not descending into %s because max depth reached", p->fts_path); } else if(!(cfg->crossdev) && p->fts_dev != chp->fts_dev) { /* continuing into folder would cross file systems*/ fts_set(ftsp, p, FTS_SKIP); /* do not recurse */ clear_emptydir_flags = true; /*flag current dir as not empty*/ rm_log_info( "Not descending into %s because it is a different filesystem\n", p->fts_path); } else { /* recurse dir; assume empty until proven otherwise */ is_emptydir[p->fts_level + 1] = 1; is_hidden[p->fts_level + 1] = is_hidden[p->fts_level] | (p->fts_name[0] == '.'); have_open_emptydirs = true; } break; case FTS_DC: /* directory that causes cycles */ rm_log_warning_line(_("filesystem loop detected at %s (skipping)"), p->fts_path); clear_emptydir_flags = true; /* current dir not empty */ break; case FTS_DNR: /* unreadable directory */ rm_log_warning_line(_("cannot read directory %s: %s"), p->fts_path, g_strerror(p->fts_errno)); clear_emptydir_flags = true; /* current dir not empty */ break; case FTS_DOT: /* dot or dot-dot */ break; case FTS_DP: /* postorder directory */ if(is_emptydir[p->fts_level + 1] && cfg->find_emptydirs) { ADD_FILE(RM_LINT_TYPE_EMPTY_DIR, false); } is_hidden[p->fts_level + 1] = 0; break; case FTS_ERR: /* error; errno is set */ rm_log_warning_line(_("error %d in fts_read for %s (skipping)"), errno, p->fts_path); clear_emptydir_flags = true; /*current dir not empty*/ break; case FTS_INIT: /* initialized only */ break; case FTS_SLNONE: /* symbolic link without target */ if(cfg->find_badlinks) { ADD_FILE(RM_LINT_TYPE_BADLINK, false); } clear_emptydir_flags = true; /*current dir not empty*/ break; case FTS_W: /* whiteout object */ clear_emptydir_flags = true; /*current dir not empty*/ break; case FTS_NS: { /* rm_sys_stat(2) failed */ clear_emptydir_flags = true; /*current dir not empty*/ RmStat stat_buf; /* See if your stat can do better. */ if(rm_sys_stat(p->fts_path, &stat_buf) != -1) { /* normal stat failed but 64-bit stat worked * -> must be a big file on 32 bit. */ rm_traverse_file(trav_session, &stat_buf, p->fts_path, is_prefd, path_index, RM_LINT_TYPE_UNKNOWN, false, rm_traverse_is_hidden(cfg, p->fts_name, is_hidden, p->fts_level + 1), rmpath->treat_as_single_vol, p->fts_level); rm_log_warning_line(_("Added big file %s"), p->fts_path); } else { rm_log_warning_line(_("cannot stat file %s (skipping)"), p->fts_path); } } break; case FTS_SL: /* symbolic link */ clear_emptydir_flags = true; /* current dir not empty */ if(!cfg->follow_symlinks) { if(p->fts_level != 0 && !symlink_message_delivered) { rm_log_debug_line( "Not following symlink %s because of cfg\n" "\t(further symlink messages suppressed for this cmdline " "path)", p->fts_path); symlink_message_delivered = TRUE; } if(access(p->fts_path, R_OK) == -1 && errno == ENOENT) { /* Oops, that's a badlink. */ if(cfg->find_badlinks) { ADD_FILE(RM_LINT_TYPE_BADLINK, false); } } else if(cfg->see_symlinks) { ADD_FILE(RM_LINT_TYPE_UNKNOWN, true); } } else { if(!symlink_message_delivered) { rm_log_debug_line( "Following symlink %s\n" "\t(further symlink messages suppressed for this cmdline " "path)", p->fts_path); symlink_message_delivered = TRUE; } next_is_symlink = true; fts_set(ftsp, p, FTS_FOLLOW); /* do not recurse */ } break; case FTS_NSOK: /* no rm_sys_stat(2) requested */ case FTS_F: /* regular file */ case FTS_DEFAULT: /* any file type not explicitly described by one of the above*/ clear_emptydir_flags = true; /* current dir not empty*/ ADD_FILE(RM_LINT_TYPE_UNKNOWN, next_is_symlink); next_is_symlink = false; break; default: /* unknown case; assume current dir not empty but otherwise do nothing */ clear_emptydir_flags = true; rm_log_error_line(_("Unknown fts_info flag %d for file %s"), p->fts_info, p->fts_path); break; } if(clear_emptydir_flags) { /* non-empty dir found above; need to clear emptydir flags for all open * levels */ if(have_open_emptydirs) { memset(is_emptydir, 0, sizeof(is_emptydir) - 1); have_open_emptydirs = false; } clear_emptydir_flags = false; } /* current dir may not be empty; by association, all open dirs are non-empty */ } } if(errno != 0 && !rm_session_was_aborted()) { rm_log_error_line(_("'%s': fts_read failed on %s"), g_strerror(errno), ftsp->fts_path); } #undef ADD_FILE fts_close(ftsp); // rm_file_list_insert_queue(, session); rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_TRAVERSE); done: rm_mds_device_ref(buffer->disk, -1); rm_trav_buffer_free(buffer); } //////////////// // PUBLIC API // //////////////// void rm_traverse_tree(RmSession *session) { RmCfg *cfg = session->cfg; RmTravSession *trav_session = rm_traverse_session_new(session); RmMDS *mds = session->mds; rm_mds_configure(mds, (RmMDSFunc)rm_traverse_directory, trav_session, 0, session->cfg->threads_per_disk, NULL); /* iterate through paths */ for(GSList *iter = cfg->paths; iter && !rm_session_was_aborted(); iter = iter->next) { RmPath *rmpath = iter->data; RmTravBuffer *buffer = rm_trav_buffer_new(session, rmpath); if(S_ISREG(buffer->stat_buf.st_mode)) { /* Append normal paths directly */ bool is_hidden = false; /* The is_hidden information is only needed for --partial-hidden */ if(cfg->partial_hidden) { is_hidden = rm_util_path_is_hidden(rmpath->path); } rm_traverse_file(trav_session, &buffer->stat_buf, rmpath->path, rmpath->is_prefd, rmpath->idx, RM_LINT_TYPE_UNKNOWN, false, is_hidden, FALSE, 0); rm_trav_buffer_free(buffer); } else if(S_ISDIR(buffer->stat_buf.st_mode)) { /* It's a directory, traverse it. */ buffer->disk = rm_mds_device_get(mds, rmpath->path, (cfg->fake_pathindex_as_disk) ? rmpath->idx + 1 : buffer->stat_buf.st_dev); rm_mds_device_ref(buffer->disk, 1); rm_mds_push_task(buffer->disk, buffer->stat_buf.st_dev, 0, rmpath->path, buffer); } else { /* Probably a block device, fifo or something weird. */ rm_trav_buffer_free(buffer); } } rm_mds_start(mds); rm_mds_finish(mds); rm_traverse_session_free(trav_session); session->traverse_finished = TRUE; rm_fmt_set_state(session->formats, RM_PROGRESS_STATE_TRAVERSE); } rmlint-2.6.1/lib/traverse.h000066400000000000000000000020221312046612000155660ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * ** Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * ** Hosted on http://github.com/sahib/rmlint * **/ #ifndef RM_TRAVERSE_H #define RM_TRAVERSE_H #include "session.h" /** * @brief Traverse all specified paths. */ void rm_traverse_tree(RmSession *session); #endif rmlint-2.6.1/lib/treemerge.c000066400000000000000000001003251312046612000157120ustar00rootroot00000000000000/* * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ /* This is the treemerge algorithm. * * It tries to solve the following problem and sometimes even succeeds: * Take a list of duplicates (as RmFiles) and figure out which directories * consist fully out of equal duplicates and can be thus removed. * It does NOT care about paths or filesystem layout by default. * * The basic algorithm is split in four phases: * * - Counting: Walk through all directories given on the commandline and * traverse them. Count all files during traverse and safe it in * an radix-tree (libart is used here). The key is the path, the * value the count of files in it. Invalid directories and * directories above the given are set to -1. * This step happens before shreddering files. * * Result of this step: A trie that contains all directories with * the count of files in it. * * - Feeding: Collect all duplicates and store them in RmDirectory structures. * If a directory appears to consist of dupes only (num_dupes == num_files) * then it is remembered as valid directory. This step happens in parallel * to shreddering files. * * Result of this step: A list of directories that contain only duplicates * and duplicates that are separated from that. * * - Upcluster: Take all valid directories and cluster them up, so subdirs get * merged into the parent directory. Continue as long the parent * directory is full too. Remember full directories in a hashtable * with the hash of the directory (which is a hash of the file's * hashes) as key and a list of matching directories as value. * * Result of this step: A hashtable with equal directories * (that however may contain other equal directories) * * - Extract: Extract the result information out of the hashtable top-down. * If a directory is reported, mark all subdirs of it as finished * so they do not get reported twice. Files that could not be * grouped in directories are found and reported as usually. * Some ugly and tricky parts are in here due to the many options of rmlint. */ /* * Comment this out to see helpful extra debugging: */ // #define _RM_TREEMERGE_DEBUG #include #include #include #include #include "formats.h" #include "pathtricia.h" #include "preprocess.h" #include "shredder.h" #include "treemerge.h" #include "fts/fts.h" typedef struct RmDirectory { char *dirname; /* Path to this directory without trailing slash */ GQueue known_files; /* RmFiles in this directory */ GQueue children; /* Children for directories with subdirectories */ gint64 prefd_files; /* Files in this directory that are tagged as original */ gint64 dupe_count; /* Count of RmFiles actually in this directory */ gint64 file_count; /* Count of files actually in this directory (or -1 on error) */ gint64 mergeups; /* number of times this directory was merged up This is used to find the highest ranking directory. */ bool finished : 1; /* Was this dir or one of his parents already printed? */ bool was_merged : 1; /* true if this directory was merged up already (only once) */ bool was_inserted : 1; /* true if this directory was added to results (only once) */ unsigned short depth; /* path depth (i.e. count of / in path, no trailing /) */ GHashTable *hash_set; /* Set of hashes, used for true equality check */ RmDigest *digest; /* Common XOR digest of all RmFiles in this directory. note that this is only used as fast hash comparison. */ struct { gdouble dir_mtime; /* Directory Metadata: Modification Time */ ino_t dir_inode; /* Directory Metadata: Inode */ dev_t dir_dev; /* Directory Metadata: Device ID */ } metadata; } RmDirectory; struct RmTreeMerger { RmSession *session; /* Session state variables / Settings */ RmTrie dir_tree; /* Path-Trie with all RmFiles as value */ RmTrie count_tree; /* Path-Trie with all file's count as value */ GHashTable *result_table; /* {hash => [RmDirectory]} mapping */ GHashTable *file_groups; /* Group files by hash */ GHashTable *file_checks; /* Set of files that were handled already. */ GHashTable *known_hashs; /* Set of known hashes, only used for cleanup. */ GQueue *free_list; /* List of RmFiles that will be free'd at the end. */ GQueue valid_dirs; /* Directories consisting of RmFiles only */ }; ////////////////////////// // ACTUAL FILE COUNTING // ////////////////////////// int rm_tm_count_art_callback(_UNUSED RmTrie *self, RmNode *node, _UNUSED int level, void *user_data) { /* Note: this method has a time complexity of O(log(n) * m) which may result in a few seconds buildup time for large sets of directories. Since this will only happen when rmlint ran for long anyways and since we can keep the code easy and memory efficient this way, Im against more clever but longer solutions. (Good way of saying "Im just too stupid", eh?) */ RmTrie *count_tree = user_data; bool error_flag = GPOINTER_TO_INT(node->data); char path[PATH_MAX]; memset(path, 0, sizeof(path)); rm_trie_build_path_unlocked(node, path, sizeof(path)); /* Ascend the path parts up, add one for each part we meet. If a part was never found before, add it. This is the 'm' above: The count of separators in the path. Hack: path[key_len] is nul, at key_len it must be either an extra slash (bad) or the beginning of a file name. Therefore start at -2. */ for(int i = strlen(path) - 1; i >= 0; --i) { if(path[i] == G_DIR_SEPARATOR) { /* Do not use an empty path, use a slash for root */ if(i == 0) { path[0] = G_DIR_SEPARATOR; path[1] = 0; } else { path[i] = 0; } /* Include the nulbyte */ int new_count = -1; if(error_flag == false) { /* Lookup the count on this level */ int old_count = GPOINTER_TO_INT(rm_trie_search(count_tree, path)); /* Propagate old error up or just increment the count */ new_count = (old_count == -1) ? -1 : old_count + 1; } /* Accumulate the count ('n' above is the height of the trie) */ rm_trie_insert(count_tree, path, GINT_TO_POINTER(new_count)); } } return 0; } static bool rm_tm_count_files(RmTrie *count_tree, GSList *paths, RmSession *session) { /* put paths into format expected by fts */ guint path_count = g_slist_length(paths); char **path_vec = g_malloc0(sizeof(char *) * (path_count + 1)); for(guint idx = 0; paths && idx < path_count; idx++, paths = paths->next) { path_vec[idx] = ((RmPath *)paths->data)->path; } if(*path_vec == NULL) { rm_log_error("No paths passed to rm_tm_count_files\n"); g_free(path_vec); return false; } int fts_flags = FTS_COMFOLLOW; if(session->cfg->follow_symlinks) { fts_flags |= FTS_LOGICAL; } else { fts_flags |= FTS_PHYSICAL; } /* This tree stores the full file paths. It is joined into a full directory tree later. */ RmTrie file_tree; rm_trie_init(&file_tree); FTS *fts = fts_open(path_vec, fts_flags, NULL); if(fts == NULL) { rm_log_perror("fts_open failed"); g_free(path_vec); return false; } FTSENT *ent = NULL; while((ent = fts_read(fts))) { /* Handle large files (where fts fails with FTS_NS) */ if(ent->fts_info == FTS_NS) { RmStat stat_buf; if(rm_sys_stat(ent->fts_path, &stat_buf) == -1) { rm_log_perror("stat(2) failed"); continue; } else { /* Must be a large file (or followed link to it) */ ent->fts_info = FTS_F; } } switch(ent->fts_info) { case FTS_ERR: case FTS_DC: /* Save this path as an error */ rm_trie_insert(&file_tree, ent->fts_path, GINT_TO_POINTER(true)); break; case FTS_F: case FTS_SL: case FTS_NS: case FTS_SLNONE: case FTS_DEFAULT: /* Save this path as countable file, but only if we consider empty files */ if(!(session->cfg->find_emptyfiles) || ent->fts_statp->st_size > 0) { rm_trie_insert(&file_tree, ent->fts_path, GINT_TO_POINTER(false)); } case FTS_D: case FTS_DNR: case FTS_DOT: case FTS_DP: case FTS_NSOK: default: /* other fts states, that do not count as errors or files */ break; } } if(fts_close(fts) != 0) { rm_log_perror("fts_close failed"); g_free(path_vec); return false; } rm_trie_iter(&file_tree, NULL, true, false, rm_tm_count_art_callback, count_tree); /* Now flag everything as a no-go over the given paths, * otherwise we would continue merging till / with fatal consequences, * since / does not have more files as paths[0] */ for(int i = 0; path_vec[i]; ++i) { /* Just call the callback directly */ RmNode *node = rm_trie_search_node(&file_tree, path_vec[i]); if(node != NULL) { node->data = GINT_TO_POINTER(true); rm_tm_count_art_callback(&file_tree, node, 0, count_tree); } } rm_trie_destroy(&file_tree); g_free(path_vec); return true; } /////////////////////////////// // DIRECTORY STRUCT HANDLING // /////////////////////////////// static RmDirectory *rm_directory_new(char *dirname) { RmDirectory *self = g_new0(RmDirectory, 1); self->file_count = 0; self->dupe_count = 0; self->prefd_files = 0; self->was_merged = false; self->was_inserted = false; self->mergeups = 0; self->dirname = dirname; self->finished = false; self->depth = 0; for(char *s = dirname; *s; s++) { self->depth += (*s == G_DIR_SEPARATOR); } RmStat dir_stat; if(rm_sys_stat(self->dirname, &dir_stat) == -1) { rm_log_perror("stat(2) failed during sort"); } else { self->metadata.dir_mtime = rm_sys_stat_mtime_float(&dir_stat); self->metadata.dir_inode = dir_stat.st_ino; self->metadata.dir_dev = dir_stat.st_dev; } /* Special cumulative hashsum, that is not dependent on the * order in which the file hashes were added. * It is not used as full hash, but as sorting speedup. */ self->digest = rm_digest_new(RM_DIGEST_CUMULATIVE, 0, 0, 0, false); g_queue_init(&self->known_files); g_queue_init(&self->children); self->hash_set = g_hash_table_new((GHashFunc)rm_digest_hash, (GEqualFunc)rm_digest_equal); return self; } static void rm_directory_free(RmDirectory *self) { rm_digest_free(self->digest); g_hash_table_unref(self->hash_set); g_queue_clear(&self->known_files); g_queue_clear(&self->children); g_free(self->dirname); g_free(self); } static RmOff rm_tm_calc_file_size(const RmDirectory *directory) { RmOff acc = 0; for(GList *iter = directory->known_files.head; iter; iter = iter->next) { RmFile *file = iter->data; acc += file->actual_file_size; } /* Recursively propagate to children */ for(GList *iter = directory->children.head; iter; iter = iter->next) { acc += rm_tm_calc_file_size((RmDirectory *)iter->data); } return acc; } static void rm_directory_to_file(RmTreeMerger *merger, const RmDirectory *self, RmFile *file) { memset(file, 0, sizeof(RmFile)); /* Need to set session first, since set_path expects that */ file->session = merger->session; rm_file_set_path(file, self->dirname); file->lint_type = RM_LINT_TYPE_DUPE_DIR_CANDIDATE; file->digest = self->digest; /* Set these to invalid for now */ file->mtime = self->metadata.dir_mtime; file->inode = self->metadata.dir_inode; file->dev = self->metadata.dir_dev; file->depth = rm_util_path_depth(self->dirname); /* Recursively calculate the file size */ file->file_size = rm_tm_calc_file_size(self); file->actual_file_size = file->file_size; file->is_prefd = (self->prefd_files >= self->dupe_count); } static RmFile *rm_directory_as_new_file(RmTreeMerger *merger, const RmDirectory *self) { /* Masquerades an RmDirectory as RmFile for purpose of output */ RmFile *file = g_malloc0(sizeof(RmFile)); rm_directory_to_file(merger, self, file); return file; } static bool rm_directory_equal(RmDirectory *d1, RmDirectory *d2) { if(d1->dupe_count != d2->dupe_count) { return false; } if(rm_digest_equal(d1->digest, d2->digest) == false) { return false; } if(g_hash_table_size(d1->hash_set) != g_hash_table_size(d2->hash_set)) { return false; } /* Compare the exact contents of the hash sets */ gpointer digest_key; GHashTableIter iter; g_hash_table_iter_init(&iter, d1->hash_set); while(g_hash_table_iter_next(&iter, &digest_key, NULL)) { if(g_hash_table_contains(d2->hash_set, digest_key) == false) { return false; } } return true; } static guint rm_directory_hash(const RmDirectory *d) { /* This hash is used to quickly compare directories with each other. * Different directories might yield the same hash of course. * To prevent this case, rm_directory_equal really compares * all the file's hashes with each other. */ return rm_digest_hash(d->digest) ^ d->dupe_count; } static void rm_directory_add(RmTreeMerger *self, RmDirectory *directory, RmFile *file) { rm_assert_gentle(file); rm_assert_gentle(file->digest); rm_assert_gentle(directory); guint8 *file_digest = NULL; RmOff digest_bytes = 0; if(file->digest->type == RM_DIGEST_PARANOID) { file_digest = rm_digest_steal(file->digest->paranoid->shadow_hash); digest_bytes = file->digest->paranoid->shadow_hash->bytes; } else { file_digest = rm_digest_steal(file->digest); digest_bytes = file->digest->bytes; } /* Update the directorie's hash with the file's hash Since we cannot be sure in which order the files come in we have to add the hash cummulatively. */ rm_digest_update(directory->digest, file_digest, digest_bytes); /* Add the path to the checksum if we require the same layout too */ if(self->session->cfg->honour_dir_layout) { const char *basename = file->folder->basename; gsize basename_cksum_len = 0; guint8 *basename_cksum = rm_digest_sum( RM_DIGEST_BLAKE2B, (const guint8 *)basename, strlen(basename) + 1, /* include the nul-byte */ &basename_cksum_len ); rm_digest_update(directory->digest, basename_cksum, basename_cksum_len); g_slice_free1(basename_cksum_len, basename_cksum); } g_slice_free1(digest_bytes, file_digest); /* The file value is not really used, but we need some non-null value */ g_hash_table_add(directory->hash_set, file->digest); directory->dupe_count += 1; directory->prefd_files += file->is_prefd; } static void rm_directory_add_subdir(RmTreeMerger *self, RmDirectory *parent, RmDirectory *subdir) { if(subdir->was_merged) { return; } parent->mergeups = subdir->mergeups + parent->mergeups + 1; parent->dupe_count += subdir->dupe_count; g_queue_push_head(&parent->children, subdir); parent->prefd_files += subdir->prefd_files; #ifdef _RM_TREEMERGE_DEBUG g_printerr("%55s (%3ld/%3ld) <- %s (%3ld/%3ld)\n", parent->dirname, parent->dupe_count, parent->file_count, subdir->dirname, subdir->dupe_count, subdir->file_count); #endif /* Take over the child's digests */ for(GList *iter = subdir->known_files.head; iter; iter = iter->next) { RmFile *file = iter->data; g_hash_table_add(parent->hash_set, file->digest); } /* Inherit the child's checksum */ unsigned char *subdir_cksum = rm_digest_steal(subdir->digest); rm_digest_update(parent->digest, subdir_cksum, subdir->digest->bytes); g_slice_free1(subdir->digest->bytes, subdir_cksum); if(self->session->cfg->honour_dir_layout) { char *basename = g_path_get_basename(subdir->dirname); gsize basename_cksum_len = 0; guint8* basename_cksum = rm_digest_sum( RM_DIGEST_BLAKE2B, (const guint8 *)basename, strlen(basename) + 1, /* include the nul-byte */ &basename_cksum_len ); rm_digest_update(parent->digest, basename_cksum, basename_cksum_len); g_slice_free1(basename_cksum_len, basename_cksum); g_free(basename); } subdir->was_merged = true; } /////////////////////////// // TREE MERGER ALGORITHM // /////////////////////////// RmTreeMerger *rm_tm_new(RmSession *session) { RmTreeMerger *self = g_slice_new(RmTreeMerger); self->session = session; g_queue_init(&self->valid_dirs); self->free_list = g_queue_new(); self->result_table = g_hash_table_new_full((GHashFunc)rm_directory_hash, (GEqualFunc)rm_directory_equal, NULL, (GDestroyNotify)g_queue_free); self->file_groups = g_hash_table_new_full((GHashFunc)rm_digest_hash, (GEqualFunc)rm_digest_equal, NULL, (GDestroyNotify)g_queue_free); self->known_hashs = g_hash_table_new_full(NULL, NULL, NULL, NULL); rm_trie_init(&self->dir_tree); rm_trie_init(&self->count_tree); rm_tm_count_files(&self->count_tree, session->cfg->paths, session); return self; } int rm_tm_destroy_iter(_UNUSED RmTrie *self, RmNode *node, _UNUSED int level, _UNUSED RmTreeMerger *tm) { RmDirectory *directory = node->data; rm_directory_free(directory); return 0; } void rm_tm_destroy(RmTreeMerger *self) { g_hash_table_unref(self->result_table); g_hash_table_unref(self->file_groups); GList *digest_keys = g_hash_table_get_keys(self->known_hashs); g_list_free_full(digest_keys, (GDestroyNotify)rm_digest_free); g_hash_table_unref(self->known_hashs); g_queue_clear(&self->valid_dirs); /* Kill all RmDirectories stored in the tree */ rm_trie_iter(&self->dir_tree, NULL, true, false, (RmTrieIterCallback)rm_tm_destroy_iter, self); rm_trie_destroy(&self->dir_tree); rm_trie_destroy(&self->count_tree); g_queue_free_full(self->free_list, (GDestroyNotify)rm_file_destroy); g_slice_free(RmTreeMerger, self); } static void rm_tm_insert_dir(RmTreeMerger *self, RmDirectory *directory) { if(directory->was_inserted) { return; } GQueue *dir_queue = rm_hash_table_setdefault(self->result_table, directory, (RmNewFunc)g_queue_new); g_queue_push_head(dir_queue, directory); directory->was_inserted = true; } void rm_tm_feed(RmTreeMerger *self, RmFile *file) { RM_DEFINE_PATH(file); char *dirname = g_path_get_dirname(file_path); /* See if we know that directory already */ RmDirectory *directory = rm_trie_search(&self->dir_tree, dirname); if(directory == NULL) { /* Get the actual file count */ int file_count = GPOINTER_TO_INT(rm_trie_search(&self->count_tree, dirname)); if(file_count == 0) { rm_log_error( RED "Empty directory or weird RmFile encountered; rejecting.\n" RESET); file_count = -1; } directory = rm_directory_new(dirname); directory->file_count = file_count; /* Make the new directory known */ rm_trie_insert(&self->dir_tree, dirname, directory); g_queue_push_head(&self->valid_dirs, directory); } else { g_free(dirname); } g_queue_push_tail(self->free_list, file); rm_directory_add(self, directory, file); /* Add the file to this directory */ g_queue_push_head(&directory->known_files, file); /* Remember the digest (if only to free it later...) */ g_hash_table_replace(self->known_hashs, file->digest, NULL); /* Check if the directory reached the number of actual files in it */ if(directory->dupe_count == directory->file_count && directory->file_count > 0) { rm_tm_insert_dir(self, directory); } } static void rm_tm_mark_finished(RmTreeMerger *self, RmDirectory *directory) { if(directory->finished) { return; } directory->finished = true; /* Recursively propagate to children */ for(GList *iter = directory->children.head; iter; iter = iter->next) { rm_tm_mark_finished(self, (RmDirectory *)iter->data); } } static void rm_tm_mark_original_files(RmTreeMerger *self, RmDirectory *directory) { directory->finished = false; /* Recursively propagate to children */ for(GList *iter = directory->children.head; iter; iter = iter->next) { RmDirectory *child = iter->data; rm_tm_mark_original_files(self, child); } } static gint64 rm_tm_mark_duplicate_files(RmTreeMerger *self, RmDirectory *directory) { gint64 acc = 0; for(GList *iter = directory->known_files.head; iter; iter = iter->next) { RmFile *file = iter->data; acc += file->is_prefd; } /* Recursively propagate to children */ for(GList *iter = directory->children.head; iter; iter = iter->next) { RmDirectory *child = iter->data; acc += rm_tm_mark_duplicate_files(self, child); } return acc; } static void rm_tm_write_unfinished_cksums(RmTreeMerger *self, RmDirectory *directory) { for(GList *iter = directory->known_files.head; iter; iter = iter->next) { RmFile *file = iter->data; file->lint_type = RM_LINT_TYPE_UNIQUE_FILE; rm_fmt_write(file, self->session->formats, -1); } /* Recursively propagate to children */ for(GList *iter = directory->children.head; iter; iter = iter->next) { RmDirectory *child = iter->data; rm_tm_write_unfinished_cksums(self, child); } } static int rm_tm_sort_paths(const RmDirectory *da, const RmDirectory *db, _UNUSED RmTreeMerger *self) { return da->depth - db->depth; } static int rm_tm_sort_paths_reverse(const RmDirectory *da, const RmDirectory *db, _UNUSED RmTreeMerger *self) { return -rm_tm_sort_paths(da, db, self); } static int rm_tm_sort_orig_criteria(const RmDirectory *da, const RmDirectory *db, RmTreeMerger *self) { RmCfg *cfg = self->session->cfg; if(da->prefd_files - db->prefd_files) { if(cfg->keep_all_untagged) { return da->prefd_files - db->prefd_files; } else { return db->prefd_files - da->prefd_files; } } RmFile file_a, file_b; rm_directory_to_file(self, da, &file_a); rm_directory_to_file(self, db, &file_b); return rm_pp_cmp_orig_criteria(&file_a, &file_b, self->session); } static void rm_tm_forward_unresolved(RmTreeMerger *self, RmDirectory *directory) { if(directory->finished == true) { return; } else { directory->finished = true; } for(GList *iter = directory->known_files.head; iter; iter = iter->next) { RmFile *file = iter->data; GQueue *file_list = rm_hash_table_setdefault(self->file_groups, file->digest, (RmNewFunc)g_queue_new); g_queue_push_head(file_list, file); } /* Recursively propagate to children */ for(GList *iter = directory->children.head; iter; iter = iter->next) { rm_tm_forward_unresolved(self, (RmDirectory *)iter->data); } } static int rm_tm_iter_unfinished_files(_UNUSED RmTrie *trie, RmNode *node, _UNUSED int level, _UNUSED void *user_data) { RmTreeMerger *self = user_data; rm_tm_forward_unresolved(self, node->data); return 0; } static int rm_tm_cmp_directory_groups(GQueue *a, GQueue *b) { if(a->length == 0 || b->length == 0) { return b->length - a->length; } RmDirectory *first_a = a->head->data; RmDirectory *first_b = b->head->data; return first_b->mergeups - first_a->mergeups; } static int rm_tm_hidden_file(RmFile *file, _UNUSED gpointer user_data) { return file->is_hidden; } static void rm_tm_extract(RmTreeMerger *self) { /* Iterate over all directories per hash (which are same therefore) */ RmCfg *cfg = self->session->cfg; GList *result_table_values = g_hash_table_get_values(self->result_table); result_table_values = g_list_sort(result_table_values, (GCompareFunc)rm_tm_cmp_directory_groups); for(GList *iter = result_table_values; iter; iter = iter->next) { /* Needs at least two directories to be duplicate... */ GQueue *dir_list = iter->data; #ifdef _RM_TREEMERGE_DEBUG for(GList *i = dir_list->head; i; i = i->next) { RmDirectory *d = i->data; char buf[512]; memset(buf, 0, sizeof(buf)); rm_digest_hexstring(d->digest, buf); g_printerr(" mergeups=%" LLU ": %s - %s\n", d->mergeups, d->dirname, buf); } g_printerr("---\n"); #endif if(dir_list->length < 2) { continue; } if(rm_session_was_aborted()) { break; } /* List of result directories */ GQueue result_dirs = G_QUEUE_INIT; /* Sort the RmDirectory list by their path depth, lowest depth first */ g_queue_sort(dir_list, (GCompareDataFunc)rm_tm_sort_paths, self); /* Output the directories and mark their children to prevent * duplicate directory reports in lower levels. */ for(GList *iter = dir_list->head; iter; iter = iter->next) { RmDirectory *directory = iter->data; if(directory->finished == false) { rm_tm_mark_finished(self, directory); g_queue_push_head(&result_dirs, directory); } } /* Make sure the original directory lands as first * in the result_dirs queue. */ g_queue_sort(&result_dirs, (GCompareDataFunc)rm_tm_sort_orig_criteria, self); GQueue file_adaptor_group = G_QUEUE_INIT; for(GList *iter = result_dirs.head; iter; iter = iter->next) { RmDirectory *directory = iter->data; RmFile *mask = rm_directory_as_new_file(self, directory); g_queue_push_tail(self->free_list, mask); g_queue_push_tail(&file_adaptor_group, mask); if(iter == result_dirs.head) { /* First one in the group -> It's the original */ mask->is_original = true; rm_tm_mark_original_files(self, directory); } else { gint64 prefd = rm_tm_mark_duplicate_files(self, directory); if(prefd == directory->dupe_count && cfg->keep_all_tagged) { /* Mark the file as original when all files in it are preferred. */ mask->is_original = true; } else if(prefd == 0 && cfg->keep_all_untagged) { mask->is_original = true; } } if(self->session->cfg->write_unfinished) { rm_tm_write_unfinished_cksums(self, directory); } } if(result_dirs.length >= 2) { rm_shred_forward_to_output(self->session, &file_adaptor_group); } g_queue_clear(&file_adaptor_group); g_queue_clear(&result_dirs); } g_list_free(result_table_values); /* Iterate over all non-finished dirs in the tree, * and grab unfinished files that must be dupes elsewhise. */ rm_trie_iter(&self->dir_tree, NULL, true, false, rm_tm_iter_unfinished_files, self); /* Now here's a problem. Consider an input like this: * /root * ├── a * ├── sub1 * │   ├── a * │   └── b * └── sub2 *    ├── a *    └── b * * This yields two duplicate dirs (sub1, sub2) * and one duplicate, unmatched file (a). * * For outputting files we need groups, which consist of at least 2 files. * So how to group that, so we don't end up deleting a file many times? * We always choose which directories are originals first, so we flag all * files in it as originals. */ GHashTableIter iter; g_hash_table_iter_init(&iter, self->file_groups); GQueue *file_list = NULL; while(g_hash_table_iter_next(&iter, NULL, (void **)&file_list)) { if(self->session->cfg->partial_hidden) { /* with --partial-hidden we do not want to output */ rm_util_queue_foreach_remove(file_list, (RmRFunc)rm_tm_hidden_file, NULL); } if(file_list->length >= 2) { /* If no separate duplicate files are requested, we can stop here */ if(self->session->cfg->find_duplicates == false) { self->session->dup_group_counter -= 1; self->session->dup_counter -= file_list->length - 1; } else { rm_shred_group_find_original(self->session, file_list, RM_SHRED_GROUP_FINISHING); rm_shred_forward_to_output(self->session, file_list); } } } } static void rm_tm_cluster_up(RmTreeMerger *self, RmDirectory *directory) { char *parent_dir = g_path_get_dirname(directory->dirname); bool is_root = strcmp(parent_dir, "/") == 0; /* Lookup if we already found this parent before (if yes, merge with it) */ RmDirectory *parent = rm_trie_search(&self->dir_tree, parent_dir); if(parent == NULL) { /* none yet, basically copy child */ parent = rm_directory_new(parent_dir); rm_trie_insert(&self->dir_tree, parent_dir, parent); /* Get the actual file count */ parent->file_count = GPOINTER_TO_UINT(rm_trie_search(&self->count_tree, parent_dir)); } else { g_free(parent_dir); } rm_directory_add_subdir(self, parent, directory); if(parent->dupe_count == parent->file_count && parent->file_count > 0) { rm_tm_insert_dir(self, parent); if(!is_root) { rm_tm_cluster_up(self, parent); } } } void rm_tm_finish(RmTreeMerger *self) { /* Iterate over all valid directories and try to level them all layers up. */ g_queue_sort(&self->valid_dirs, (GCompareDataFunc)rm_tm_sort_paths_reverse, self); for(GList *iter = self->valid_dirs.head; iter; iter = iter->next) { RmDirectory *directory = iter->data; rm_tm_cluster_up(self, directory); #ifdef _RM_TREEMERGE_DEBUG g_printerr("###\n"); #endif } if(!rm_session_was_aborted()) { /* Recursively call self to march on */ rm_tm_extract(self); } } rmlint-2.6.1/lib/treemerge.h000066400000000000000000000036271312046612000157260ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #ifndef RM_TREEMERGE_INCLUDE #define RM_TREEMERGE_INCLUDE #include #include "file.h" /** * Module to cluster RmFiles to directories. * I.e. find duplicate directories. * * All API here is defined on the opaque RmTreeMerger structure. * Files are feeded and the finished directories are wrapped * as RmFiles and written to the output module. */ /* Opaque structure, details do not matter to caller */ struct RmTreeMerger; typedef struct RmTreeMerger RmTreeMerger; /* RmTreeMerger is part of RmSession, therefore prototype it here */ struct RmSession; /** * @brief Allocate a new RmTreeMerger structure. */ RmTreeMerger *rm_tm_new(struct RmSession *session); /** * @brief Add an RmFile to the pool of (to be) investigated files. */ void rm_tm_feed(RmTreeMerger *self, RmFile *file); /** * @brief Find duplicate directories through all feeded RmFiles. */ void rm_tm_finish(RmTreeMerger *self); /** * @brief Free all memory allocated previously. */ void rm_tm_destroy(RmTreeMerger *self); #endif /* RM_TREEMERGE_INCLUDE*/ rmlint-2.6.1/lib/utilities.c000066400000000000000000001115311312046612000157470ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #include #include #include #include #include #include #include "config.h" /* Be safe: This header is not essential and might be missing on some systems. * We only include it here, because it fixes some recent warning... * */ #if HAVE_SYSMACROS_H # include #endif #include #include #include #include #include #include /* Not available there, * but might be on other non-linux systems * */ #if HAVE_GIO_UNIX #include #endif #if HAVE_FIEMAP #include #include #endif /* Internal headers */ #include "config.h" #include "file.h" #include "utilities.h" /* External libraries */ #include #if HAVE_LIBELF #include #include #endif #if HAVE_BLKID #include #endif #if HAVE_JSON_GLIB #include #endif #define RM_MOUNTTABLE_IS_USABLE (HAVE_BLKID && HAVE_GIO_UNIX) //////////////////////////////////// // GENERAL UTILITES // //////////////////////////////////// char *rm_util_strsub(const char *string, const char *subs, const char *with) { gchar *result = NULL; if(string != NULL && string[0] != '\0') { gchar **split = g_strsplit(string, subs, 0); if(split != NULL) { result = g_strjoinv(with, split); } g_strfreev(split); } return result; } char *rm_util_basename(const char *filename) { char *base = strrchr(filename, G_DIR_SEPARATOR); if(base != NULL) { /* Return a pointer to the part behind it * (which may be the empty string) * */ return base + 1; } /* It's the full path anyway */ return (char *)filename; } char *rm_util_path_extension(const char *basename) { char *point = strrchr(basename, '.'); if(point) { return point + 1; } else { return NULL; } } bool rm_util_path_is_hidden(const char *path) { if(path == NULL) { return false; } if(*path == '.') { return true; } while(*path++) { /* Search for '/.' */ if(*path == G_DIR_SEPARATOR && *(path + 1) == '.') { return true; } } return false; } int rm_util_path_depth(const char *path) { int depth = 0; while(path) { /* Skip trailing slashes */ if(*path == G_DIR_SEPARATOR && path[1] != 0) { depth++; } path = strchr(&path[1], G_DIR_SEPARATOR); } return depth; } GQueue *rm_hash_table_setdefault(GHashTable *table, gpointer key, RmNewFunc default_func) { gpointer value = g_hash_table_lookup(table, key); if(value == NULL) { value = default_func(); g_hash_table_insert(table, key, value); } return value; } ino_t rm_util_parent_node(const char *path) { char *parent_path = g_path_get_dirname(path); RmStat stat_buf; if(!rm_sys_stat(parent_path, &stat_buf)) { g_free(parent_path); return stat_buf.st_ino; } else { g_free(parent_path); return -1; } } void rm_util_queue_push_tail_queue(GQueue *dest, GQueue *src) { g_return_if_fail(dest); g_return_if_fail(src); if(src->length == 0) { return; } src->head->prev = dest->tail; if(dest->tail) { dest->tail->next = src->head; } else { dest->head = src->head; } dest->tail = src->tail; dest->length += src->length; src->length = 0; src->head = src->tail = NULL; } gint rm_util_queue_foreach_remove(GQueue *queue, RmRFunc func, gpointer user_data) { gint removed = 0; for(GList *iter = queue->head, *next = NULL; iter; iter = next) { next = iter->next; if(func(iter->data, user_data)) { g_queue_delete_link(queue, iter); ++removed; } } return removed; } gint rm_util_list_foreach_remove(GList **list, RmRFunc func, gpointer user_data) { gint removed = 0; /* iterate over list */ for(GList *iter = *list, *next = NULL; iter; iter = next) { next = iter->next; if(func(iter->data, user_data)) { /* delete iter from GList */ if(iter->prev) { (iter->prev)->next = next; } else { *list = next; } g_list_free_1(iter); ++removed; } } return removed; } gint rm_util_slist_foreach_remove(GSList **list, RmRFunc func, gpointer user_data) { gint removed = 0; /* iterate over list, keeping track of previous and next entries */ for(GSList *prev = NULL, *iter = *list, *next = NULL; iter; iter = next) { next = iter->next; if(func(iter->data, user_data)) { /* delete iter from GSList */ g_slist_free1(iter); if(prev) { prev->next = next; } else { *list = next; } ++removed; } else { prev = iter; } } return removed; } gpointer rm_util_slist_pop(GSList **list, GMutex *lock) { gpointer result = NULL; if(lock) { g_mutex_lock(lock); } if(*list) { result = (*list)->data; *list = g_slist_delete_link(*list, *list); } if(lock) { g_mutex_unlock(lock); } return result; } /* checks uid and gid; returns 0 if both ok, else RM_LINT_TYPE_ corresponding * * to RmFile->filter types */ int rm_util_uid_gid_check(RmStat *statp, RmUserList *userlist) { bool has_gid = 1, has_uid = 1; if(!rm_userlist_contains(userlist, statp->st_uid, statp->st_gid, &has_uid, &has_gid)) { if(has_gid == false && has_uid == false) { return RM_LINT_TYPE_BADUGID; } else if(has_gid == false && has_uid == true) { return RM_LINT_TYPE_BADGID; } else if(has_gid == true && has_uid == false) { return RM_LINT_TYPE_BADUID; } } return RM_LINT_TYPE_UNKNOWN; } /* Method to test if a file is non stripped binary. Uses libelf*/ bool rm_util_is_nonstripped(_UNUSED const char *path, _UNUSED RmStat *statp) { bool is_ns = false; #if HAVE_LIBELF g_return_val_if_fail(path, false); if(statp && (statp->st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) == 0) { return false; } /* inspired by "jschmier"'s answer at http://stackoverflow.com/a/5159890 */ int fd; /* ELF handle */ Elf *elf; /* section descriptor pointer */ Elf_Scn *scn; /* section header */ GElf_Shdr shdr; /* Open ELF file to obtain file descriptor */ if((fd = rm_sys_open(path, O_RDONLY)) == -1) { rm_log_warning_line(_("cannot open file '%s' for nonstripped test: "), path); rm_log_perror(""); return 0; } /* Protect program from using an older library */ if(elf_version(EV_CURRENT) == EV_NONE) { rm_log_error_line(_("ELF Library is out of date!")); rm_sys_close(fd); return false; } /* Initialize elf pointer for examining contents of file */ elf = elf_begin(fd, ELF_C_READ, NULL); /* Initialize section descriptor pointer so that elf_nextscn() * returns a pointer to the section descriptor at index 1. * */ scn = NULL; /* Iterate through ELF sections */ while((scn = elf_nextscn(elf, scn)) != NULL) { /* Retrieve section header */ gelf_getshdr(scn, &shdr); /* If a section header holding a symbol table (.symtab) * is found, this ELF file has not been stripped. */ if(shdr.sh_type == SHT_SYMTAB) { is_ns = true; break; } } elf_end(elf); rm_sys_close(fd); #endif return is_ns; } char *rm_util_get_username(void) { struct passwd *user = getpwuid(geteuid()); if(user) { return user->pw_name; } else { return NULL; } } char *rm_util_get_groupname(void) { struct passwd *user = getpwuid(geteuid()); struct group *grp = getgrgid(user->pw_gid); if(grp) { return grp->gr_name; } else { return NULL; } } void rm_util_size_to_human_readable(RmOff num, char *in, gsize len) { if(num < 512) { snprintf(in, len, "%" LLU " B", num); } else if(num < 512 * 1024) { snprintf(in, len, "%.2f KB", num / 1024.0); } else if(num < 512 * 1024 * 1024) { snprintf(in, len, "%.2f MB", num / (1024.0 * 1024.0)); } else { snprintf(in, len, "%.2f GB", num / (1024.0 * 1024.0 * 1024.0)); } } ///////////////////////////////////// // UID/GID VALIDITY CHECKING // ///////////////////////////////////// static int rm_userlist_cmp_ids(gconstpointer a, gconstpointer b, _UNUSED gpointer ud) { return GPOINTER_TO_UINT(a) - GPOINTER_TO_UINT(b); } RmUserList *rm_userlist_new(void) { struct passwd *node = NULL; struct group *grp = NULL; RmUserList *self = g_malloc0(sizeof(RmUserList)); self->users = g_sequence_new(NULL); self->groups = g_sequence_new(NULL); setpwent(); while((node = getpwent()) != NULL) { g_sequence_insert_sorted(self->users, GUINT_TO_POINTER(node->pw_uid), rm_userlist_cmp_ids, NULL); g_sequence_insert_sorted(self->groups, GUINT_TO_POINTER(node->pw_gid), rm_userlist_cmp_ids, NULL); } endpwent(); /* add all groups, not just those that are user primary gid's */ while((grp = getgrent()) != NULL) { g_sequence_insert_sorted(self->groups, GUINT_TO_POINTER(grp->gr_gid), rm_userlist_cmp_ids, NULL); } endgrent(); g_mutex_init(&self->lock); return self; } bool rm_userlist_contains(RmUserList *self, unsigned long uid, unsigned gid, bool *valid_uid, bool *valid_gid) { rm_assert_gentle(self); bool gid_found = FALSE; bool uid_found = FALSE; g_mutex_lock(&self->lock); { gid_found = g_sequence_lookup(self->groups, GUINT_TO_POINTER(gid), rm_userlist_cmp_ids, NULL); uid_found = g_sequence_lookup(self->users, GUINT_TO_POINTER(uid), rm_userlist_cmp_ids, NULL); } g_mutex_unlock(&self->lock); if(valid_uid != NULL) { *valid_uid = uid_found; } if(valid_gid != NULL) { *valid_gid = gid_found; } return (gid_found && uid_found); } void rm_userlist_destroy(RmUserList *self) { rm_assert_gentle(self); g_sequence_free(self->users); g_sequence_free(self->groups); g_mutex_clear(&self->lock); g_free(self); } ///////////////////////////////////// // MOUNTTABLE IMPLEMENTATION // ///////////////////////////////////// typedef struct RmDiskInfo { char *name; bool is_rotational; } RmDiskInfo; typedef struct RmPartitionInfo { char *name; char *fsname; dev_t disk; } RmPartitionInfo; #if RM_MOUNTTABLE_IS_USABLE RmPartitionInfo *rm_part_info_new(char *name, char *fsname, dev_t disk) { RmPartitionInfo *self = g_new0(RmPartitionInfo, 1); self->name = g_strdup(name); self->fsname = g_strdup(fsname); self->disk = disk; return self; } void rm_part_info_free(RmPartitionInfo *self) { g_free(self->name); g_free(self->fsname); g_free(self); } RmDiskInfo *rm_disk_info_new(char *name, char is_rotational) { RmDiskInfo *self = g_new0(RmDiskInfo, 1); self->name = g_strdup(name); self->is_rotational = is_rotational; return self; } void rm_disk_info_free(RmDiskInfo *self) { g_free(self->name); g_free(self); } static gchar rm_mounts_is_rotational_blockdev(const char *dev) { gchar is_rotational = -1; #if HAVE_SYSBLOCK /* this works only on linux */ char sys_path[PATH_MAX]; snprintf(sys_path, PATH_MAX, "/sys/block/%s/queue/rotational", dev); FILE *sys_fdes = fopen(sys_path, "r"); if(sys_fdes == NULL) { return -1; } if(fread(&is_rotational, 1, 1, sys_fdes) == 1) { is_rotational -= '0'; } fclose(sys_fdes); #else (void)dev; #endif return is_rotational; } static bool rm_mounts_is_ramdisk(const char *fs_type) { const char *valid[] = {"tmpfs", "rootfs", "devtmpfs", "cgroup", "proc", "sys", "dev", NULL}; for(int i = 0; valid[i]; ++i) { if(strcmp(valid[i], fs_type) == 0) { return true; } } return false; } typedef struct RmMountEntry { char *fsname; /* name of mounted file system */ char *dir; /* file system path prefix */ char *type; /* Type of fs: ufs, nfs, etc */ } RmMountEntry; typedef struct RmMountEntries { GList *mnt_entries; GList *entries; GList *current; } RmMountEntries; static void rm_mount_list_close(RmMountEntries *self) { rm_assert_gentle(self); for(GList *iter = self->entries; iter; iter = iter->next) { RmMountEntry *entry = iter->data; g_free(entry->fsname); g_free(entry->dir); g_free(entry->type); g_slice_free(RmMountEntry, entry); } g_list_free_full(self->mnt_entries, (GDestroyNotify)g_unix_mount_free); g_list_free(self->entries); g_slice_free(RmMountEntries, self); } static RmMountEntry *rm_mount_list_next(RmMountEntries *self) { rm_assert_gentle(self); if(self->current) { self->current = self->current->next; } else { self->current = self->entries; } if(self->current) { return self->current->data; } else { return NULL; } } static RmMountEntries *rm_mount_list_open(RmMountTable *table) { RmMountEntries *self = g_slice_new(RmMountEntries); self->mnt_entries = g_unix_mounts_get(NULL); self->entries = NULL; self->current = NULL; for(GList *iter = self->mnt_entries; iter; iter = iter->next) { RmMountEntry *wrap_entry = g_slice_new(RmMountEntry); GUnixMountEntry *entry = iter->data; wrap_entry->fsname = g_strdup(g_unix_mount_get_device_path(entry)); wrap_entry->dir = g_strdup(g_unix_mount_get_mount_path(entry)); wrap_entry->type = g_strdup(g_unix_mount_get_fs_type(entry)); self->entries = g_list_prepend(self->entries, wrap_entry); } RmMountEntry *wrap_entry = NULL; while((wrap_entry = rm_mount_list_next(self))) { /* bindfs mounts mirror directory trees. * This cannot be detected properly by rmlint since * files in it have the same inode as their unmirrored file, but * a different dev_t. * * Also ignore kernel filesystems. * * So better go and ignore it. */ static struct RmEvilFs { /* fsname as show by `mount` */ const char *name; /* Wether to warn about the exclusion on this */ bool unusual; } evilfs_types[] = {{"bindfs", 1}, {"nullfs", 1}, /* Ignore the usual linux file system spam */ {"proc", 0}, {"cgroup", 0}, {"configfs", 0}, {"sys", 0}, {"devtmpfs", 0}, {"debugfs", 0}, {NULL, 0}}; /* btrfs and ocfs2 filesystems support reflinks for deduplication */ static const char *reflinkfs_types[] = {"btrfs", "ocfs2", NULL}; const struct RmEvilFs *evilfs_found = NULL; for(int i = 0; evilfs_types[i].name && !evilfs_found; ++i) { if(strcmp(evilfs_types[i].name, wrap_entry->type) == 0) { evilfs_found = &evilfs_types[i]; } } const char *reflinkfs_found = NULL; for(int i = 0; reflinkfs_types[i] && !reflinkfs_found; ++i) { if(strcmp(reflinkfs_types[i], wrap_entry->type) == 0) { reflinkfs_found = reflinkfs_types[i]; break; } } if(evilfs_found != NULL) { RmStat dir_stat; rm_sys_stat(wrap_entry->dir, &dir_stat); g_hash_table_insert(table->evilfs_table, GUINT_TO_POINTER(dir_stat.st_dev), GUINT_TO_POINTER(1)); GLogLevelFlags log_level = G_LOG_LEVEL_DEBUG; if(evilfs_found->unusual) { log_level = G_LOG_LEVEL_WARNING; rm_log_warning_prefix(); } else { rm_log_debug_prefix(); } g_log("rmlint", log_level, _("`%s` mount detected at %s (#%u); Ignoring all files in it.\n"), evilfs_found->name, wrap_entry->dir, (unsigned)dir_stat.st_dev); } rm_log_debug_line("Filesystem %s: %s", wrap_entry->dir, (reflinkfs_found) ? "reflink" : "normal"); if(reflinkfs_found != NULL) { RmStat dir_stat; rm_sys_stat(wrap_entry->dir, &dir_stat); g_hash_table_insert(table->reflinkfs_table, GUINT_TO_POINTER(dir_stat.st_dev), (gpointer)reflinkfs_found); } } return self; } int rm_mounts_devno_to_wholedisk(_UNUSED RmMountEntry *entry, _UNUSED dev_t rdev, _UNUSED char *disk, _UNUSED size_t disk_size, _UNUSED dev_t *result) { return blkid_devno_to_wholedisk(rdev, disk, disk_size, result); } static bool rm_mounts_create_tables(RmMountTable *self, bool force_fiemap) { /* partition dev_t to disk dev_t */ self->part_table = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, (GDestroyNotify)rm_part_info_free); /* disk dev_t to boolean indication if disk is rotational */ self->disk_table = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, (GDestroyNotify)rm_disk_info_free); self->nfs_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); /* Mapping dev_t => true (used as set) */ self->evilfs_table = g_hash_table_new(NULL, NULL); self->reflinkfs_table = g_hash_table_new(NULL, NULL); RmMountEntry *entry = NULL; RmMountEntries *mnt_entries = rm_mount_list_open(self); if(mnt_entries == NULL) { return false; } while((entry = rm_mount_list_next(mnt_entries))) { RmStat stat_buf_folder; if(rm_sys_stat(entry->dir, &stat_buf_folder) == -1) { continue; } dev_t whole_disk = 0; gchar is_rotational = true; char diskname[PATH_MAX]; memset(diskname, 0, sizeof(diskname)); RmStat stat_buf_dev; if(rm_sys_stat(entry->fsname, &stat_buf_dev) == -1) { char *nfs_marker = NULL; /* folder rm_sys_stat() is ok but devname rm_sys_stat() is not; this happens * for example * with tmpfs and with nfs mounts. Try to handle a few such cases. * */ if(rm_mounts_is_ramdisk(entry->fsname)) { strncpy(diskname, entry->fsname, sizeof(diskname)); is_rotational = false; whole_disk = stat_buf_folder.st_dev; } else if((nfs_marker = strstr(entry->fsname, ":/")) != NULL) { size_t until_slash = MIN((int)sizeof(entry->fsname), nfs_marker - entry->fsname); strncpy(diskname, entry->fsname, until_slash); is_rotational = true; /* Assign different dev ids (with major id 0) to different nfs servers */ if(!g_hash_table_contains(self->nfs_table, diskname)) { g_hash_table_insert(self->nfs_table, g_strdup(diskname), NULL); } whole_disk = makedev(0, g_hash_table_size(self->nfs_table)); } else { strncpy(diskname, "unknown", sizeof(diskname)); is_rotational = true; whole_disk = 0; } } else { if(rm_mounts_devno_to_wholedisk(entry, stat_buf_dev.st_rdev, diskname, sizeof(diskname), &whole_disk) == -1) { /* folder and devname rm_sys_stat() are ok but blkid failed; this happens * when? * Treat as a non-rotational device using devname dev as whole_disk key * */ rm_log_debug_line(RED "devno_to_wholedisk failed for %s" RESET, entry->fsname); whole_disk = stat_buf_dev.st_dev; strncpy(diskname, entry->fsname, sizeof(diskname)); is_rotational = false; } else { is_rotational = rm_mounts_is_rotational_blockdev(diskname); } } is_rotational |= force_fiemap; RmPartitionInfo *existing = g_hash_table_lookup( self->part_table, GUINT_TO_POINTER(stat_buf_folder.st_dev)); if(!existing || (existing->disk == 0 && whole_disk != 0)) { if(existing) { rm_log_debug_line("Replacing part_table entry %s for path %s with %s", existing->fsname, entry->dir, entry->fsname); } g_hash_table_insert(self->part_table, GUINT_TO_POINTER(stat_buf_folder.st_dev), rm_part_info_new(entry->dir, entry->fsname, whole_disk)); } else { rm_log_debug_line("Skipping duplicate mount entry for dir %s dev %02u:%02u", entry->dir, major(stat_buf_folder.st_dev), minor(stat_buf_folder.st_dev)); continue; } /* small hack, so also the full disk id can be given to the api below */ if(!g_hash_table_contains(self->part_table, GINT_TO_POINTER(whole_disk))) { g_hash_table_insert(self->part_table, GUINT_TO_POINTER(whole_disk), rm_part_info_new(entry->dir, entry->fsname, whole_disk)); } if(!g_hash_table_contains(self->disk_table, GINT_TO_POINTER(whole_disk))) { g_hash_table_insert(self->disk_table, GINT_TO_POINTER(whole_disk), rm_disk_info_new(diskname, is_rotational)); } rm_log_debug_line( "%02u:%02u %50s -> %02u:%02u %-12s (underlying disk: %s; rotational: %3s)", major(stat_buf_folder.st_dev), minor(stat_buf_folder.st_dev), entry->dir, major(whole_disk), minor(whole_disk), entry->fsname, diskname, is_rotational ? "yes" : "no"); } rm_mount_list_close(mnt_entries); return true; } ///////////////////////////////// // PUBLIC API // ///////////////////////////////// RmMountTable *rm_mounts_table_new(bool force_fiemap) { RmMountTable *self = g_slice_new(RmMountTable); if(rm_mounts_create_tables(self, force_fiemap) == false) { g_slice_free(RmMountTable, self); return NULL; } else { return self; } } void rm_mounts_table_destroy(RmMountTable *self) { g_hash_table_unref(self->part_table); g_hash_table_unref(self->disk_table); g_hash_table_unref(self->nfs_table); g_hash_table_unref(self->evilfs_table); g_hash_table_unref(self->reflinkfs_table); g_slice_free(RmMountTable, self); } #else /* probably FreeBSD */ RmMountTable *rm_mounts_table_new(_UNUSED bool force_fiemap) { return NULL; } void rm_mounts_table_destroy(_UNUSED RmMountTable *self) { /* NO-OP */ } #endif /* RM_MOUNTTABLE_IS_USABLE */ bool rm_mounts_is_nonrotational(RmMountTable *self, dev_t device) { if(self == NULL) { return true; } RmPartitionInfo *part = g_hash_table_lookup(self->part_table, GINT_TO_POINTER(device)); if(part) { RmDiskInfo *disk = g_hash_table_lookup(self->disk_table, GINT_TO_POINTER(part->disk)); if(disk) { return !disk->is_rotational; } else { rm_log_error_line("Disk not found in rm_mounts_is_nonrotational"); return true; } } else { rm_log_error_line("Partition not found in rm_mounts_is_nonrotational"); return true; } } dev_t rm_mounts_get_disk_id(RmMountTable *self, _UNUSED dev_t dev, _UNUSED const char *path) { if(self == NULL) { return 0; } #if RM_MOUNTTABLE_IS_USABLE RmPartitionInfo *part = g_hash_table_lookup(self->part_table, GINT_TO_POINTER(dev)); if(part != NULL) { return part->disk; } /* probably a btrfs subvolume which is not a mountpoint; * walk up tree until we get to a recognisable partition * */ char *prev = g_strdup(path); while(TRUE) { char *parent_path = g_path_get_dirname(prev); RmStat stat_buf; if(!rm_sys_stat(parent_path, &stat_buf)) { RmPartitionInfo *parent_part = g_hash_table_lookup(self->part_table, GINT_TO_POINTER(stat_buf.st_dev)); if(parent_part) { /* create new partition table entry for dev pointing to parent_part*/ rm_log_debug_line("Adding partition info for " GREEN "%s" RESET " - looks like subvolume %s on volume " GREEN "%s" RESET, path, prev, parent_part->name); part = rm_part_info_new(prev, parent_part->fsname, parent_part->disk); g_hash_table_insert(self->part_table, GINT_TO_POINTER(dev), part); /* if parent_part is in the reflinkfs_table, add dev as well */ char *parent_type = g_hash_table_lookup( self->reflinkfs_table, GUINT_TO_POINTER(stat_buf.st_dev)); if(parent_type) { g_hash_table_insert(self->reflinkfs_table, GUINT_TO_POINTER(dev), parent_type); } g_free(prev); g_free(parent_path); return parent_part->disk; } } if(strcmp(prev, "/") == 0) { g_free(prev); break; } g_free(prev); prev = parent_path; } return 0; #else (void)dev; (void)path; return 0; #endif } dev_t rm_mounts_get_disk_id_by_path(RmMountTable *self, const char *path) { if(self == NULL) { return 0; } RmStat stat_buf; if(rm_sys_stat(path, &stat_buf) == -1) { return 0; } return rm_mounts_get_disk_id(self, stat_buf.st_dev, path); } bool rm_mounts_is_evil(RmMountTable *self, dev_t to_check) { if(self == NULL) { return false; } return g_hash_table_contains(self->evilfs_table, GUINT_TO_POINTER(to_check)); } bool rm_mounts_can_reflink(RmMountTable *self, dev_t source, dev_t dest) { rm_assert_gentle(self); if(g_hash_table_contains(self->reflinkfs_table, GUINT_TO_POINTER(source))) { if(source == dest) { return true; } else { RmPartitionInfo *source_part = g_hash_table_lookup(self->part_table, GINT_TO_POINTER(source)); RmPartitionInfo *dest_part = g_hash_table_lookup(self->part_table, GINT_TO_POINTER(dest)); rm_assert_gentle(source_part); rm_assert_gentle(dest_part); return (strcmp(source_part->fsname, dest_part->fsname) == 0); } } else { return false; } } ///////////////////////////////// // FIEMAP IMPLEMENATION // ///////////////////////////////// #if HAVE_FIEMAP /* Return fiemap structure containing n_extents for file descriptor fd. * Return NULL if errors encountered. * Needs to be freed with g_free if not NULL. * */ static struct fiemap *rm_offset_get_fiemap(int fd, const int n_extents, const int file_offset) { /* struct fiemap does not allocate any extents by default, * so we allocate the nominated number * */ struct fiemap *fm = g_malloc0(sizeof(struct fiemap) + n_extents * sizeof(struct fiemap_extent)); fm->fm_flags = 0; fm->fm_extent_count = n_extents; fm->fm_length = FIEMAP_MAX_OFFSET; fm->fm_start = file_offset; if(ioctl(fd, FS_IOC_FIEMAP, (unsigned long)fm) == -1) { g_free(fm); fm = NULL; } return fm; } /* Return physical (disk) offset of the beginning of the file extent containing the * specified logical file_offset. * If a pointer to file_offset_next is provided then read fiemap extents until * the next non-contiguous extent (fragment) is encountered and writes the corresponding * file offset to &file_offset_next. * */ RmOff rm_offset_get_from_fd(int fd, RmOff file_offset, RmOff *file_offset_next) { RmOff result = 0; bool done = FALSE; /* used for detecting contiguous extents */ unsigned long expected = 0; while(!done) { /* read in one extent */ struct fiemap *fm = rm_offset_get_fiemap(fd, 1, file_offset); if(!fm) { done = TRUE; } else { if(!file_offset_next) { /* no need to find end of fragment so one loop is enough*/ done = TRUE; } if(fm->fm_mapped_extents > 0) { /* retrieve data from fiemap */ struct fiemap_extent *fm_ext = fm->fm_extents; file_offset += fm_ext[0].fe_length; if(result == 0) { /* this is the first extent */ result = fm_ext[0].fe_physical; if(result == 0) { /* looks suspicious - let's get out of here */ done = TRUE; } } else if(fm_ext[0].fe_physical > expected || fm_ext[0].fe_physical < result) { /* current extent is not contiguous with previous, so we can stop*/ done = TRUE; if(file_offset_next) { /* caller wants to know logical offset of next fragment */ *file_offset_next = fm_ext[0].fe_logical; } } if(fm_ext[0].fe_flags & FIEMAP_EXTENT_LAST) { if(!done) { done = TRUE; if(file_offset_next) { /* caller wants to know logical offset of next fragment - * signal * that it is EOF */ *file_offset_next = fm_ext[0].fe_logical + fm_ext[0].fe_length; } } } if(!done) { expected = fm_ext[0].fe_physical + fm_ext[0].fe_length; } } else { /* got no extents from rm_offset_get_fiemap */ done = true; if(file_offset_next) { /* caller wants to know logical offset of next fragment but * we have an error... */ *file_offset_next = 0; } } g_free(fm); } } return result; } RmOff rm_offset_get_from_path(const char *path, RmOff file_offset, RmOff *file_offset_next) { int fd = rm_sys_open(path, O_RDONLY); if(fd == -1) { rm_log_info("Error opening %s in rm_offset_get_from_path\n", path); return 0; } RmOff result = rm_offset_get_from_fd(fd, file_offset, file_offset_next); rm_sys_close(fd); return result; } bool rm_offsets_match(char *path1, char *path2) { bool result = FALSE; int fd1 = rm_sys_open(path1, O_RDONLY); if(fd1 == -1) { rm_log_info_line("Error opening %s in rm_offsets_match", path1); return FALSE; } int fd2 = rm_sys_open(path2, O_RDONLY); if(fd2 == -1) { rm_log_info_line("Error opening %s in rm_offsets_match", path2); rm_sys_close(fd1); return FALSE; } RmOff file1_offset_next = 0; RmOff file2_offset_next = 0; RmOff file_offset_current = 0; while(!result && (rm_offset_get_from_fd(fd1, file_offset_current, &file1_offset_next) == rm_offset_get_from_fd(fd2, file_offset_current, &file2_offset_next)) && file1_offset_next != 0 && file1_offset_next == file2_offset_next) { if(file1_offset_next == file_offset_current) { /* phew, we got to the end */ result = TRUE; break; } file_offset_current = file1_offset_next; } rm_sys_close(fd2); rm_sys_close(fd1); return result; } #else /* Probably FreeBSD */ RmOff rm_offset_get_from_fd(_UNUSED int fd, _UNUSED RmOff file_offset, _UNUSED RmOff *file_offset_next) { return 0; } RmOff rm_offset_get_from_path(_UNUSED const char *path, _UNUSED RmOff file_offset, _UNUSED RmOff *file_offset_next) { return 0; } bool rm_offsets_match(char *path1, char *path2) { return (path1 == path2); } #endif ///////////////////////////////// // GTHREADPOOL WRAPPERS // ///////////////////////////////// /* wrapper for g_thread_pool_push with error reporting */ bool rm_util_thread_pool_push(GThreadPool *pool, gpointer data) { GError *error = NULL; g_thread_pool_push(pool, data, &error); if(error != NULL) { rm_log_error_line("Unable to push thread to pool %p: %s", pool, error->message); g_error_free(error); return false; } else { return true; } } /* wrapper for g_thread_pool_new with error reporting */ GThreadPool *rm_util_thread_pool_new(GFunc func, gpointer data, int threads) { GError *error = NULL; GThreadPool *pool = g_thread_pool_new(func, data, threads, FALSE, &error); if(error != NULL) { rm_log_error_line("Unable to create thread pool."); g_error_free(error); } return pool; } ////////////////////////////// // TIMESTAMP HELPERS // ////////////////////////////// gdouble rm_iso8601_parse(const char *string) { GTimeVal time_result; if(!g_time_val_from_iso8601(string, &time_result)) { rm_log_perror("Converting time failed"); return 0; } return time_result.tv_sec + time_result.tv_usec / (gdouble)(G_USEC_PER_SEC); } bool rm_iso8601_format(time_t stamp, char *buf, gsize buf_size) { struct tm now_ctime; if(localtime_r(&stamp, &now_ctime) != NULL) { return (strftime(buf, buf_size, "%FT%T%z", &now_ctime) != 0); } return false; } #define SECONDS_PER_DAY (24 * 60 * 60) #define SECONDS_PER_HOUR (60 * 60) #define SECONDS_PER_MINUTE (60) char *rm_format_elapsed_time(gfloat elapsed_sec, int sec_precision) { GString *buf = g_string_new(NULL); if(elapsed_sec >= SECONDS_PER_DAY) { gint days = elapsed_sec / SECONDS_PER_DAY; elapsed_sec -= days * SECONDS_PER_DAY; g_string_append_printf(buf, "%dd ", days); } if(elapsed_sec >= SECONDS_PER_HOUR) { gint hours = elapsed_sec / SECONDS_PER_HOUR; elapsed_sec -= hours * SECONDS_PER_HOUR; g_string_append_printf(buf, "%dh ", hours); } if(elapsed_sec >= SECONDS_PER_MINUTE) { gint minutes = elapsed_sec / SECONDS_PER_MINUTE; elapsed_sec -= minutes * SECONDS_PER_MINUTE; g_string_append_printf(buf, "%dm ", minutes); } g_string_append_printf(buf, "%.*fs", sec_precision, elapsed_sec); return g_string_free(buf, FALSE); } void rm_running_mean_init(RmRunningMean *m, int max_values) { m->sum = 0; m->values = g_malloc0(max_values * sizeof(gdouble)); m->max_values = max_values; m->cursor = 0; } void rm_running_mean_add(RmRunningMean *m, gdouble value) { int pos = (++m->cursor) % m->max_values; m->sum += value; m->sum -= m->values[pos]; m->values[pos] = value; } gdouble rm_running_mean_get(RmRunningMean *m) { int n = MIN(m->max_values, m->cursor); if(n == 0) { return 0.0; } return m->sum / n; } rmlint-2.6.1/lib/utilities.h000066400000000000000000000317611312046612000157620ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * */ #ifndef RM_UTILITIES_H_INCLUDE #define RM_UTILITIES_H_INCLUDE #include #include #include #include #include #include #include /* Pat(h)tricia Trie implementation */ #include "pathtricia.h" #if HAVE_STAT64 && !RM_IS_APPLE typedef struct stat64 RmStat; #else typedef struct stat RmStat; #endif //////////////////////// // MATHS SHORTCUTS // //////////////////////// // Signum function #define SIGN(X) ((X) > 0 ? 1 : ((X) < 0 ? -1 : 0)) // Returns 1 if X>Y, -1 if X (Y)) - ((X) < (Y))) /* handy for comparing uint64's */ // Compare two floats; tolerate +/- tol when testing for equality // See also: // https://randomascii.wordpress.com/2012/02/25/comparing-floating-point-numbers-2012-edition #define FLOAT_SIGN_DIFF(X, Y, tol) ((X) - (Y) > (tol) ? 1 : ((Y) - (X) > (tol) ? -1 : 0)) // Time tolerance (seconds) when comparing two mtimes #define MTIME_TOL (0.00000001) #define RETURN_IF_NONZERO(X) \ if((X) != 0) { \ return (X); \ } //////////////////////////////////// // SYSCALL WRAPPERS // //////////////////////////////////// static inline int rm_sys_stat(const char *path, RmStat *buf) { #if HAVE_STAT64 && !RM_IS_APPLE return stat64(path, buf); #else return stat(path, buf); #endif } static inline int rm_sys_lstat(const char *path, RmStat *buf) { #if HAVE_STAT64 && !RM_IS_APPLE return lstat64(path, buf); #else return lstat(path, buf); #endif } static inline gdouble rm_sys_stat_mtime_float(RmStat *stat) { #if RM_IS_APPLE return (gdouble)stat->st_mtimespec.tv_sec + stat->st_mtimespec.tv_nsec / 1000000000.0; #else return (gdouble)stat->st_mtim.tv_sec + stat->st_mtim.tv_nsec / 1000000000.0; #endif } static inline int rm_sys_open(const char *path, int mode) { #if HAVE_STAT64 #ifdef O_LARGEFILE mode |= O_LARGEFILE; #endif #endif return open(path, mode, (S_IRUSR | S_IWUSR)); } static inline void rm_sys_close(int fd) { if(close(fd) == -1) { rm_log_perror("close(2) failed"); } } static inline gint64 rm_sys_preadv(int fd, const struct iovec *iov, int iovcnt, RmOff offset) { #if RM_IS_APPLE || RM_IS_CYGWIN if(lseek(fd, offset, SEEK_SET) == -1) { rm_log_perror("seek in emulated preadv failed"); } return readv(fd, iov, iovcnt); #elif RM_PLATFORM_32 if(lseek64(fd, offset, SEEK_SET) == -1) { rm_log_perror("seek in emulated preadv failed"); } return readv(fd, iov, iovcnt); #else return preadv(fd, iov, iovcnt, offset); #endif } ///////////////////////////////////// // UID/GID VALIDITY CHECKING // ///////////////////////////////////// typedef struct RmUserList { GSequence *users; GSequence *groups; GMutex lock; } RmUserList; /** * @brief Create a new list of users. */ RmUserList *rm_userlist_new(void); /** * @brief Check if a uid and gid is contained in the list. * * @param valid_uid (out) * @param valid_gid (out) * * @return true if both are valid. */ bool rm_userlist_contains(RmUserList *list, unsigned long uid, unsigned gid, bool *valid_uid, bool *valid_gid); /** * @brief Deallocate the memory allocated by rm_userlist_new() */ void rm_userlist_destroy(RmUserList *list); /** * @brief Get the name of the user running rmlint. */ char *rm_util_get_username(void); /** * @brief Get the group of the user running rmlint. */ char *rm_util_get_groupname(void); //////////////////////////////////// // GENERAL UTILITES // //////////////////////////////////// #define RM_LIST_NEXT(node) ((node) ? node->next : NULL) /** * @brief Replace {subs} with {with} in {string} * * @return a newly allocated string, g_free it. */ char *rm_util_strsub(const char *string, const char *subs, const char *with); /** * @brief Check if a file has an invalid gid/uid or both. * * @return the appropiate RmLintType for the file */ int rm_util_uid_gid_check(RmStat *statp, RmUserList *userlist); /** * @brief Check if a file is a binary that is not stripped. * * @path: Path to the file to be checked. * @statp: valid stat pointer with st_mode filled (allow-none). * * @return: if it is a binary with debug symbols. */ bool rm_util_is_nonstripped(const char *path, RmStat *statp); /** * @brief Get the basename part of the file. It does not change filename. * * @return NULL on failure, the pointer after the last / on success. */ char *rm_util_basename(const char *filename); /** * @brief Check if the file or any components of it are hidden. * * @return true if it is. */ bool rm_util_path_is_hidden(const char *path); /** * @brief Get the depth of a path * * @param path * * @return depth of path or 0. */ int rm_util_path_depth(const char *path); typedef gpointer (*RmNewFunc)(void); /** * @brief A setdefault supplementary function for GHashTable. * * This is about the same as dict.setdefault in python. * * @param table the table to use * @param key key to lookup * @param default_func if the key does not exist in table, return default_func * and insert it into table * * @return value, which may be default_func() if key does not exist. */ GQueue *rm_hash_table_setdefault(GHashTable *table, gpointer key, RmNewFunc default_func); /** * @brief Push all elements in `src` at the tail of `dst` * * @param dest The queue to append to. * @param src The queue to append from. Will be empty afterwards. */ void rm_util_queue_push_tail_queue(GQueue *dest, GQueue *src); /** * @brief Function prototype for remove-iterating over a GQueue/GList/GSList. * * @param data current element * @param user_data optional user_data * * @return True if the element should be removed. */ typedef gint (*RmRFunc)(gpointer data, gpointer user_data); /** * @brief Iterate over a GQueue and call `func` on each element. * * If func returns true, the element is removed from the queue. * * @param queue GQueue to iterate * @param func Function that evaluates the removal of the item * @param user_data optional user data * * @return Number of removed items. */ gint rm_util_queue_foreach_remove(GQueue *queue, RmRFunc func, gpointer user_data); /** * @brief Iterate over a GList and call `func` on each element. * * If func returns true, the element is removed from the GList. * * @param list pointer to GList to iterate * @param func Function that evaluates the removal of the item * @param user_data optional user data * * @return Number of removed items. */ gint rm_util_list_foreach_remove(GList **list, RmRFunc func, gpointer user_data); /** * @brief Iterate over a GSList and call `func` on each element. * * If func returns true, the element is removed from the GSList. * * @param list pointer to GSList to iterate * @param func Function that evaluates the removal of the item * @param user_data optional user data * * @return Number of removed items. */ gint rm_util_slist_foreach_remove(GSList **list, RmRFunc func, gpointer user_data); /** * @brief Pop the first element from a GSList * * @return pointer to the data associated with the popped element. * * Note this function returns null if the list is empty, or if the first item * has NULL as its data. */ gpointer rm_util_slist_pop(GSList **list, GMutex *lock); /** * @brief Return a pointer to the extension part of the file or NULL if none. * * @return: a pointer >= basename or NULL. */ char *rm_util_path_extension(const char *basename); /** * @brief Get the inode of the directory of the file specified in path. */ ino_t rm_util_parent_node(const char *path); /* * @brief Takes num and converts into some human readable string. 1024 -> 1KB */ void rm_util_size_to_human_readable(RmOff num, char *in, gsize len); ///////////////////////////////////// // MOUNTTABLE IMPLEMENTATION // ///////////////////////////////////// typedef struct RmMountTable { GHashTable *part_table; GHashTable *disk_table; GHashTable *nfs_table; GHashTable *evilfs_table; GHashTable *reflinkfs_table; } RmMountTable; /** * @brief Allocates a new mounttable. * @param force_fiemap Create random fiemap data always. Useful for testing. * * @return The mounttable. Free with rm_mounts_table_destroy. */ RmMountTable *rm_mounts_table_new(bool force_fiemap); /** * @brief Destroy a previously allocated mounttable. * * @param self the table to destroy. */ void rm_mounts_table_destroy(RmMountTable *self); /** * @brief Check if the device is or is part of a nonrotational device. * * This operation has constant time. * * @param self the table to lookup from. * @param device the dev_t of a file, e.g. looked up from rm_sys_stat(2) * * @return true if it is non a nonrational device. */ bool rm_mounts_is_nonrotational(RmMountTable *self, dev_t device); /** * @brief Get the disk behind the partition. * * @param self the table to lookup from. * @param partition the dev_t of a partition (sda1 -> 8:1), e.g. looked up from *rm_sys_stat(2) * * @return the dev_t of the whole disk. (sda 8:0) */ dev_t rm_mounts_get_disk_id(RmMountTable *self, dev_t dev, const char *path); /** * @brief Same as above, but calls rm_sys_stat(2) on path for you. */ dev_t rm_mounts_get_disk_id_by_path(RmMountTable *self, const char *path); /** * @brief Indicates true if dev_t points to a filesystem that might confuse * rmlint. */ bool rm_mounts_is_evil(RmMountTable *self, dev_t to_check); /** * @brief Indicates true if source and dest are on same partition, and the * partition supports reflink copies (cp --reflink). */ bool rm_mounts_can_reflink(RmMountTable *self, dev_t source, dev_t dest); ///////////////////////////////// // FIEMAP IMPLEMENATION // ///////////////////////////////// /** * @brief Lookup the physical offset of a file fd at any given offset. * * @return the physical offset starting from the disk. */ RmOff rm_offset_get_from_fd(int fd, RmOff file_offset, RmOff *file_offset_next); /** * @brief Lookup the physical offset of a file path at any given offset. * * @return the physical offset starting from the disk. */ RmOff rm_offset_get_from_path(const char *path, RmOff file_offset, RmOff *file_offset_next); /** * @brief Test if two files have identical fiemaps. */ bool rm_offsets_match(char *path1, char *path2); ////////////////////////////// // TIMESTAMP HELPERS // ////////////////////////////// /** * @brief Parse an ISO8601 timestamp to a unix timestamp. */ gdouble rm_iso8601_parse(const char *string); /** * @brief convert a unix timestamp as iso8601 timestamp string. * * @param stamp unix timestamp * @param buf result buffer to hold the string. * @param buf_size sizeof buf. * * @return true if conversion succeeded. */ bool rm_iso8601_format(time_t stamp, char *buf, gsize buf_size); /////////////////////////////// // THREADPOOL HELPERS // /////////////////////////////// /** * @brief Create a new GThreadPool with default cfg. * * @param func func to execute * @param data user_data to pass * @param threads how many threads at max to use. * * @return newly allocated GThreadPool */ GThreadPool *rm_util_thread_pool_new(GFunc func, gpointer data, int threads); /** * @brief Push a new job to a threadpool. * * @return true on success. */ bool rm_util_thread_pool_push(GThreadPool *pool, gpointer data); /** * @brief Format some elapsed seconds into a human readable timestamp. * * @return The formatted string, free with g_free. */ char *rm_format_elapsed_time(gfloat elapsed_sec, int sec_precision); typedef struct { gdouble sum; gdouble *values; int max_values; int cursor; } RmRunningMean; /** * @brief Initialize a running mean window. * * The window has a fixed length. rm_running_mean_get() can be used * to efficiently calculate the mean of this window. When new values * are added, the oldest values will be removed. */ void rm_running_mean_init(RmRunningMean *m, int max_values); /** * @brief Add a new value to the mean window. */ void rm_running_mean_add(RmRunningMean *m, gdouble value); /** * @brief Get the current mean. * * @return The current mean (0.0 if no values available) */ gdouble rm_running_mean_get(RmRunningMean *m); #endif /* RM_UTILITIES_H_INCLUDE*/ rmlint-2.6.1/lib/xattr.c000066400000000000000000000160611312046612000151000ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint * **/ #include "xattr.h" #include "config.h" #include #include #include #if HAVE_XATTR #include #endif #ifndef ENODATA #define ENODATA ENOMSG #endif //////////////////////////// // UTILITY FUNCTIONS // //////////////////////////// #if HAVE_XATTR /* Compat wrappers for MacOSX and other platforms. */ #if RM_IS_APPLE ssize_t rm_sys_getxattr(const char *path, const char *name, void *value, size_t size) { return getxattr(path, name, value, size, 0, 0); } ssize_t rm_sys_setxattr( const char *path, const char *name, const void *value, size_t size, int flags) { return setxattr(path, name, value, size, 0, flags); } int rm_sys_removexattr(const char *path, const char *name) { return removexattr(path, name, 0); } #else ssize_t rm_sys_getxattr(const char *path, const char *name, void *value, size_t size) { return getxattr(path, name, value, size); } ssize_t rm_sys_setxattr( const char *path, const char *name, const void *value, size_t size, int flags) { return setxattr(path, name, value, size, flags); } int rm_sys_removexattr(const char *path, const char *name) { return removexattr(path, name); } #endif static int rm_xattr_build_key(RmSession *session, const char *suffix, char *buf, size_t buf_size) { rm_assert_gentle(session); /* Be safe, assume caller is not concentrated. */ memset(buf, 0, sizeof(buf_size)); const char *digest_name = rm_digest_type_to_string(session->cfg->checksum_type); if(session->cfg->checksum_type == RM_DIGEST_PARANOID) { digest_name = rm_digest_type_to_string(RM_DEFAULT_DIGEST); } return snprintf(buf, buf_size, "user.rmlint.%s.%s", digest_name, suffix) < 0; } static int rm_xattr_build_cksum(RmFile *file, char *buf, size_t buf_size) { rm_assert_gentle(file); rm_assert_gentle(file->digest); memset(buf, '0', buf_size); buf[buf_size - 1] = 0; if(file->digest->type == RM_DIGEST_PARANOID) { rm_assert_gentle(file->digest->paranoid->shadow_hash); return rm_digest_hexstring(file->digest->paranoid->shadow_hash, buf); } else { return rm_digest_hexstring(file->digest, buf); } } static int rm_xattr_is_fail(const char *name, int rc) { if(rc != -1) { return 0; } if(errno != ENOTSUP && errno != ENODATA) { rm_log_perror(name); return errno; } return 0; } static int rm_xattr_set(RmFile *file, const char *key, const char *value, size_t value_size) { RM_DEFINE_PATH(file); return rm_xattr_is_fail("setxattr", rm_sys_setxattr(file_path, key, value, value_size, 0)); } static int rm_xattr_get(RmFile *file, const char *key, char *out_value, size_t value_size) { RM_DEFINE_PATH(file); return rm_xattr_is_fail("getxattr", rm_sys_getxattr(file_path, key, out_value, value_size)); } static int rm_xattr_del(RmFile *file, const char *key) { RM_DEFINE_PATH(file); return rm_xattr_is_fail("removexattr", rm_sys_removexattr(file_path, key)); } #endif //////////////////////////// // ACTUAL API FUNCTIONS // //////////////////////////// int rm_xattr_write_hash(RmFile *file, RmSession *session) { rm_assert_gentle(file); rm_assert_gentle(file->digest); rm_assert_gentle(session); #if HAVE_XATTR if(file->ext_cksum || session->cfg->write_cksum_to_xattr == false) { return EINVAL; } char cksum_key[64], mtime_key[64], cksum_hex_str[rm_digest_get_bytes(file->digest) * 2 + 1], timestamp[64] = {0}; int timestamp_bytes = 0; if(rm_xattr_build_key(session, "cksum", cksum_key, sizeof(cksum_key)) || rm_xattr_build_key(session, "mtime", mtime_key, sizeof(mtime_key)) || rm_xattr_build_cksum(file, cksum_hex_str, sizeof(cksum_hex_str)) <= 0 || rm_xattr_set(file, cksum_key, cksum_hex_str, sizeof(cksum_hex_str)) || (timestamp_bytes = snprintf( timestamp, sizeof(timestamp), "%.9f", file->mtime)) == -1 || rm_xattr_set(file, mtime_key, timestamp, timestamp_bytes)) { return errno; } #endif return 0; } gboolean rm_xattr_read_hash(RmFile *file, RmSession *session) { rm_assert_gentle(file); rm_assert_gentle(session); #if HAVE_XATTR if(session->cfg->read_cksum_from_xattr == false) { return FALSE; } char cksum_key[64] = {0}, mtime_key[64] = {0}, mtime_buf[64] = {0}, cksum_hex_str[512] = {0}; memset(cksum_hex_str, '0', sizeof(cksum_hex_str)); cksum_hex_str[sizeof(cksum_hex_str) - 1] = 0; if(0 || rm_xattr_build_key(session, "cksum", cksum_key, sizeof(cksum_key)) || rm_xattr_get(file, cksum_key, cksum_hex_str, sizeof(cksum_hex_str) - 1) || rm_xattr_build_key(session, "mtime", mtime_key, sizeof(mtime_key)) || rm_xattr_get(file, mtime_key, mtime_buf, sizeof(mtime_buf) - 1)) { return FALSE; } if(cksum_hex_str == NULL || strcmp(cksum_hex_str, "")==0) { return FALSE; } if(FLOAT_SIGN_DIFF(g_ascii_strtod(mtime_buf, NULL), file->mtime, MTIME_TOL) < 0) { /* Data is too old and not useful, autoclean it */ rm_log_debug_line("Checksum too old for %s, %li < %li", file->folder->basename, g_ascii_strtoll(mtime_buf, NULL, 10), (gint64)file->mtime); rm_xattr_clear_hash(file, session); return FALSE; } file->ext_cksum = g_strdup(cksum_hex_str); return TRUE; #else return FALSE; #endif } int rm_xattr_clear_hash(RmFile *file, RmSession *session) { rm_assert_gentle(file); rm_assert_gentle(session); #if HAVE_XATTR int error = 0; const char *keys[] = {"cksum", "mtime", NULL}; for(int i = 0; keys[i]; ++i) { char key[64] = {0}; if(rm_xattr_build_key(session, keys[i], key, sizeof(key))) { error = EINVAL; continue; } if(rm_xattr_del(file, key)) { error = errno; } } return error; #else return EXIT_FAILURE; #endif } rmlint-2.6.1/lib/xattr.h000066400000000000000000000036411312046612000151050ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * * Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * * Hosted on http://github.com/sahib/rmlint **/ #ifndef RM_XATTR_H #define RM_XATTR_H #include "file.h" #include "session.h" /** * @brief Write hash and timestamp to the xattr of a file. * * The checksum is read from the file->digest structure. * * @param session Session to validate cfg against. * @param file file to get data and write to. * * @return 0 on sucess, some errno on failure. */ int rm_xattr_write_hash(RmFile *file, RmSession *session); /** * @brief Read hash as hexstring from xattrs into file->ext_cksum. * * If the mtime of the file does not match, the checksum is discarded. * * @param session Session to validate cfg against. * @param file file to read the path from and to check the mtime. * * @return true if checksum read successfully. */ gboolean rm_xattr_read_hash(RmFile *file, RmSession *session); /** * @brief Clear all data that may have been writen to file. * * @param session Session to validate cfg against. * @param file to read the path to clear from. * * @return 0 on success, some errno on failure. */ int rm_xattr_clear_hash(RmFile *file, RmSession *session); #endif rmlint-2.6.1/pkg/000077500000000000000000000000001312046612000136015ustar00rootroot00000000000000rmlint-2.6.1/pkg/arch/000077500000000000000000000000001312046612000145165ustar00rootroot00000000000000rmlint-2.6.1/pkg/arch/PKGBUILD000066400000000000000000000020261312046612000156420ustar00rootroot00000000000000# Maintainer: SahibBommelig # rmlint PKBUILD for ArchLinux _pkgname=rmlint pkgname=${_pkgname}-git pkgver=2.2.0.r33 pkgrel=1 pkgdesc="Tool to remove duplicates and other lint, being much faster than fdupes" arch=('i686' 'x86_64') url="https://github.com/sahib/rmlint" license=('GPL3') depends=('glibc' 'glib2>=2.31' 'libutil-linux' 'libelf' 'binutils' 'json-glib') makedepends=('git' 'scons' 'python-sphinx' 'gettext') conflicts=("${_pkgname}") provides=("$_pkgname") source=("$pkgname"::"git+https://github.com/sahib/${_pkgname}.git") optdepends=('pygobject-devel: for the graphical user interface' 'gtk3: for the graphical user interface') md5sums=('SKIP') pkgver() { cd "${srcdir}/${pkgname}" git describe master --long --abbrev=6 | sed 's/^v//;s/-g[0-9a-z]\+$//g;s/-/.r/g' } build() { cd "${srcdir}/${pkgname}" scons -j4 DEBUG=1 --prefix=${pkgdir}/usr --actual-prefix=/usr } package() { cd "${srcdir}/${pkgname}" scons DEBUG=1 --prefix=${pkgdir}/usr install --actual-prefix=/usr } rmlint-2.6.1/pkg/debian/000077500000000000000000000000001312046612000150235ustar00rootroot00000000000000rmlint-2.6.1/pkg/debian/README.rst000066400000000000000000000003021312046612000165050ustar00rootroot00000000000000Debian package ============== It is maintained outside of the rmlint source tree by e7appew: https://github.com/e7appew/rmlint/tree/debian Please redirect any feedback to him. Thank you! rmlint-2.6.1/pkg/docker/000077500000000000000000000000001312046612000150505ustar00rootroot00000000000000rmlint-2.6.1/pkg/docker/.dockerignore000066400000000000000000000000061312046612000175200ustar00rootroot00000000000000.git/ rmlint-2.6.1/pkg/docker/Dockerfile000066400000000000000000000007461312046612000170510ustar00rootroot00000000000000# Rmlint # VERSION 0.0.1 # Website: https://github.com/sahib/rmlint FROM gliderlabs/alpine:3.1 MAINTAINER Christopher Pahl ENV PATH /rmlint:$PATH RUN apk-install build-base python RUN apk-install git scons glib glib-dev RUN apk-install libelf libelf-dev RUN apk-install sqlite-libs json-glib-dev RUN git clone -b develop https://github.com/sahib/rmlint.git WORKDIR rmlint RUN scons config RUN scons DEBUG=1 -j4 # For releases you can omit DEBUG=1 CMD ["/bin/sh"] rmlint-2.6.1/pkg/fedora/000077500000000000000000000000001312046612000150415ustar00rootroot00000000000000rmlint-2.6.1/pkg/fedora/rmlint.spec000066400000000000000000000034171312046612000172270ustar00rootroot00000000000000Name: rmlint Version: 2.2.0 Release: 0%{?dist} Summary: rmlint finds space waste and other broken things on your filesystem and offers to remove it. Group: Applications/System License: GPLv3 URL: http://rmlint.rtfd.org Source0: https://github.com/sahib/rmlint/archive/rmlint-%{version}.tar.gz Requires: glib2 libblkid elfutils-libelf json-glib BuildRequires: scons python3-sphinx gettext libblkid-devel elfutils-libelf-devel glib2-devel json-glib-devel %description rmlint finds space waste and other broken things and offers to remove it. It is especially an extremely fast tool to remove duplicates from your filesystem. %prep %autosetup -c rmlint-%{version} %build scons config; scons -j4 --prefix=%{buildroot}/usr --actual-prefix=/usr --libdir=lib64 %install # Build rmlint, install it into BUILDROOT/-/, # but take care rmlint thinks it's installed to /usr (--actual_prefix) scons install -j4 --prefix=%{buildroot}/usr --actual-prefix=/usr --libdir=lib64 # Find all rmlint.mo files and put them in rmlint.lang %find_lang %{name} %clean rm -rf %{buildroot} # List all files that will be in the packaget %files -f %{name}.lang %doc README.rst COPYING %{_bindir}/* %{_mandir}/man1/* # Not used yet: # %{_libdir}/* # %{_includedir}/* %changelog * Sun May 10 2015 Christopher Pahl - 2.2.0 - Update version to 2.2.0 * Sun Jan 12 2015 Christopher Pahl - 2.0.0 - Fix rpm for lib separation. * Sat Dec 20 2014 Christopher Pahl - 2.0.0 - Use autosetup instead of setup -q * Fri Dec 19 2014 Christopher Pahl - 2.0.0 - Updated wrong dependency list * Mon Dec 01 2014 Christopher Pahl - 2.0.0 - Initial release of RPM package rmlint-2.6.1/po/000077500000000000000000000000001312046612000134365ustar00rootroot00000000000000rmlint-2.6.1/po/SConscript000066400000000000000000000026161312046612000154550ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 Import('env') Import('create_uninstall_target') Import('VERSION_MAJOR') Import('VERSION_MINOR') Import('VERSION_PATCH') import os import subprocess if env['HAVE_MSGFMT']: for src in env.Glob('*.po'): lang = os.path.basename(src.get_abspath()[:-3]) dest = lang + '.mo' cmd = env.AlwaysBuild( env.Command(dest, src, 'msgfmt $SOURCE -o $TARGET') ) path = '$PREFIX/share/locale/%s/LC_MESSAGES/rmlint.mo' % lang if 'install' in COMMAND_LINE_TARGETS: target = env.InstallAs(path, dest) env.Depends(target, cmd) env.Alias('install', [target]) if 'uninstall' in COMMAND_LINE_TARGETS: create_uninstall_target(env, path) def xgettext(target=None, source=None, env=None): Exit(subprocess.call( 'xgettext --package-name rmlint -k_ -kN_ ' \ '--package-version {}.{}.{} --default-domain rmlint ' \ '--output po/rmlint.pot ' \ '--from-code UTF-8 ' \ '$(find src lib -iname "*.[ch]") &&' \ 'sed -i "s/CHARSET/UTF-8/g" po/rmlint.pot'.format( VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH ), shell=True )) if 'xgettext' in COMMAND_LINE_TARGETS: env.Alias( 'xgettext', env.Command('xgettext', None, Action(xgettext, "Running xgettext")) ) rmlint-2.6.1/po/de.po000066400000000000000000000635751312046612000144060ustar00rootroot00000000000000# German translation for rmlint # Copyright (C) 2014- Christopher Pahl # This file is distributed under the same license as the rmlint package. # Christopher Pahl , 2014. #, fuzzy msgid "" msgstr "" "Project-Id-Version: rmlint 2.0.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-06-03 22:16+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/rmlint.c:78 #, c-format msgid "Aborting due to a fatal error. (signal received: %s)" msgstr "Abbruch aufgrund eines fatalen Fehlers (exaktes Signal: %s)" #: src/rmlint.c:80 msgid "Please file a bug report (See rmlint -h)" msgstr "Mache bitte einen Bugreport auf (Mehr Infos unter man rmlint)" #: lib/formats/pretty.c:34 msgid "Bad symlink(s)" msgstr "Falsche Symlink(s)" #: lib/formats/pretty.c:35 msgid "Empty dir(s)" msgstr "Leere Verzeichnisse" #: lib/formats/pretty.c:36 msgid "Non stripped binarie(s)" msgstr "Programme mit Debuginformation(en)" #: lib/formats/pretty.c:37 msgid "Bad UID(s)" msgstr "Falsche UID(s)" #: lib/formats/pretty.c:38 msgid "Bad GID(s)" msgstr "Falsche GID(s)" #: lib/formats/pretty.c:39 msgid "Bad UID and GID(s)" msgstr "Falsche UID und GID(s)" #: lib/formats/pretty.c:40 msgid "Empty file(s)" msgstr "Leere Dateien" #: lib/formats/pretty.c:41 msgid "Duplicate(s)" msgstr "Duplikate" #: lib/formats/pretty.c:42 msgid "Duplicate Directorie(s)" msgstr "Doppelte Verzeichnisse" #: lib/formats/summary.c:54 #, fuzzy, c-format msgid " file(s) after investigation, nothing to search through.\n" msgstr " Dateien nach dem Traversieren; nichts zum durchsuchen.\n" #: lib/formats/summary.c:69 #, c-format msgid "Early shutdown, probably not all lint was found.\n" msgstr "Früher Abbruch, vermutlich wurde nicht alles gefunden.\n" #: lib/formats/summary.c:74 #, c-format msgid "" "Note: Please use the saved script below for removal, not the above output." msgstr "" "Beachte: Bitte benutze das Skript unten zum Löschen, nicht die Ausgabe." #: lib/formats/summary.c:87 #, c-format msgid "In total %s files, whereof %s are duplicates in %s groups.\n" msgstr "Insgesamt %s Dateien, von denen %s Duplikate in %s Gruppen sind.\n" #: lib/formats/summary.c:95 #, c-format msgid "This equals %s%s%s of duplicates which could be removed.\n" msgstr "Dies entspricht %s%s%s an Duplikaten die entfernt werden können.\n" #: lib/formats/summary.c:102 #, c-format msgid "other suspicious item(s) found, which may vary in size.\n" msgstr "andere merkwürdige Datei(en) gefunden, die in ihrer Größe variieren.\n" #: lib/formats/summary.c:107 #, c-format msgid "Scanning took in total %s%s%s. Is that good enough?\n" msgstr "Das ganze hat %s%s%s gedauert. War das ausreichend schnell?\n" #: lib/formats/summary.c:143 #, c-format msgid "Wrote a %s%s%s file to: %s%s%s\n" msgstr "Eine %s%s%s Datei wurde nach %s%s%s geschrieben.\n" #: lib/formats/stats.c:52 #, c-format msgid "No shred stats.\n" msgstr "Keine Statistiken verfügbar.\n" #: lib/formats/stats.c:71 #, c-format msgid "" "%sDuplicate finding stats (includes hardlinks):%s\n" "\n" msgstr "" "%sDuplikat Statistiken (enthält Hardlinks):%s\n" "\n" #: lib/formats/stats.c:75 #, c-format msgid "%s%15s%s bytes of originals\n" msgstr "%s%15s%s Originalbytes\n" #: lib/formats/stats.c:79 #, c-format msgid "%s%15s%s bytes of duplicates\n" msgstr "%s%15s%s Duplikatbytes\n" #: lib/formats/stats.c:83 #, c-format msgid "%s%15s%s bytes of non-duplicates\n" msgstr "%s%15s%s Nicht-Duplikatbytes\n" #: lib/formats/stats.c:87 #, c-format msgid "%s%15s%s bytes of files data actually read\n" msgstr "%s%15s%s gelesene Bytes insgesamt\n" #: lib/formats/stats.c:90 #, c-format msgid "%s%15d%s Files in total\n" msgstr "%s%15d%s Dateien insgesamt\n" #: lib/formats/stats.c:92 #, fuzzy, c-format msgid "%s%15ld%s Duplicate files\n" msgstr "%s%15ld%s Doppelte Dateien\n" #: lib/formats/stats.c:94 #, fuzzy, c-format msgid "%s%15ld%s Groups in total\n" msgstr "%s%15ld%s Dateien insgesamt\n" #: lib/formats/stats.c:96 #, fuzzy, c-format msgid "%s%15ld%s Other lint items\n" msgstr "%s%15ld%s Andere seltsame Dateien\n" #: lib/formats/stats.c:104 #, c-format msgid "%s%15s%s of time spent scanning\n" msgstr "%s%15s%s Zeitaufwand zum Scannen\n" #: lib/formats/stats.c:122 #, c-format msgid "%s%15s%s Algorithm efficiency on total files basis\n" msgstr "%s%15s%s Algorithmus-Effizienz auf Basis aller Dateien\n" #: lib/formats/stats.c:124 #, c-format msgid "%s%15s%s Algorithm efficiency on duplicate file basis\n" msgstr "%s%15s%s Algorithmus-Effizienz auf Basis doppelter Dateien\n" #: lib/formats/progressbar.c:76 msgid "reduces files to" msgstr "reduziere Dateien zu" #: lib/formats/progressbar.c:134 msgid "Traversing" msgstr "Traversiere" #: lib/formats/progressbar.c:135 msgid "usable files" msgstr "nutzbare Dateien" #: lib/formats/progressbar.c:138 msgid "ignored files / folders" msgstr "ignorierte Dateien / Verzeichnisse" #: lib/formats/progressbar.c:145 msgid "Preprocessing" msgstr "Bereite vor" # No translation needed / Translated #: lib/formats/progressbar.c:145 msgid "found" msgstr "fand" #: lib/formats/progressbar.c:146 msgid "other lint" msgstr "mal anderen Unsinn" #: lib/formats/progressbar.c:166 msgid "Matching" msgstr "Gleiche ab" #: lib/formats/progressbar.c:167 msgid "dupes of" msgstr "Duplikate von" #: lib/formats/progressbar.c:168 msgid "originals" msgstr "Originalen" #: lib/formats/progressbar.c:170 msgid "to scan in" msgstr "zum Scannen in" #: lib/formats/progressbar.c:171 msgid "files" msgstr "Dateien" #: lib/formats/progressbar.c:180 msgid "Merging files into directories (stand by...)" msgstr "Führe doppelte Dateien in doppelte Verzeichnisse zusammen..." #: lib/formats/sh.c:546 #, c-format msgid "%s is an invalid handler." msgstr "%s ist eine ungültiger Handler" #: lib/hasher.c:310 #, fuzzy, c-format msgid "Something went wrong reading %s; expected %li bytes, got %li; ignoring" msgstr "" "Irgendwas lief falsch beim Lesen von %s; habe %d Bytes erwartet, bekam %d. " "Datei wird ignoriert." #: lib/utilities.c:315 #, c-format msgid "cannot open file '%s' for nonstripped test: " msgstr "Kann Datei %s nicht öffnen um zu sehen ob sie Debugsymbole hat." #: lib/utilities.c:322 msgid "ELF Library is out of date!" msgstr "ELF Bibliothek ist extrem veraltet!" #: lib/utilities.c:662 #, fuzzy, c-format msgid "`%s` mount detected at %s (#%u); Ignoring all files in it.\n" msgstr "" "`%s` Einhängepunkt gefunden (zeigt auf %s, #%u). Ignoriere alle Dateien " "darin." #: lib/preprocess.c:236 msgid "Pattern has to start with `<`" msgstr "Muster muss mmit `<` beginnen" #: lib/preprocess.c:264 #, c-format msgid "`<` or `>` imbalance: %d" msgstr "`<` oder `>` unbalanciert: %d" #: lib/preprocess.c:271 msgid "empty pattern" msgstr "Leeres Muster" #: lib/preprocess.c:313 msgid "no pattern given in <> after 'r' or 'x'" msgstr "Kein Muster in <> gegeben, obwohl 'r' oder 'x' benutzt wurde" #: lib/preprocess.c:329 #, fuzzy, c-format msgid "Cannot add more than %lu regex patterns." msgstr "Kann nicht mehr als %ld Muster hinzufügen." #: lib/preprocess.c:341 msgid "Error while parsing sortcriteria patterns: " msgstr "Fehler beim parsen der Muster im Sortierkriterium: " #: lib/replay.c:107 msgid "No valid json cache (no array in /)" msgstr "Kein valider JSON Cache. (u.a. weil kein [] vorhanden)" # #: lib/cmdline.c:551 # #, c-format #: lib/replay.c:154 lib/cmdline.c:729 #, c-format msgid "lint type '%s' not recognised" msgstr "Typ \"%s\" nicht erkannt" #: lib/replay.c:181 #, c-format msgid "modification time of `%s` changed. Ignoring." msgstr "mtime Zeitstempel von `%s` hat sich geändert. Ignoriere Datei." #: lib/replay.c:486 #, fuzzy, c-format msgid "Loading json-results `%s'" msgstr "Lade JSON Cache: `%s'" #: lib/replay.c:597 msgid "json-glib is needed for using --replay." msgstr "json-glib wird zur Benutzung von `--replay` benötigt." #: lib/replay.c:598 msgid "Please recompile `rmlint` with it installed." msgstr "Bitte kompilieren Sie `rmlint` entsprechend neu." #: lib/traverse.c:318 #, c-format msgid "filesystem loop detected at %s (skipping)" msgstr "Dateisystemschleife entdeckt: %s (wird übersprungen)" #: lib/traverse.c:323 #, c-format msgid "cannot read directory %s: %s" msgstr "Kann Verzeichnis %s nicht lesen: %s" #: lib/traverse.c:336 #, c-format msgid "error %d in fts_read for %s (skipping)" msgstr "Fehler #%d in fts_read für %s (Überspringe...)" #: lib/traverse.c:365 #, c-format msgid "Added big file %s" msgstr "Füge sehr große Datei hinzu %s" #: lib/traverse.c:367 #, c-format msgid "cannot stat file %s (skipping)" msgstr "Kann stat(2) nicht auf Datei %s aufrufen (überspringe)" #: lib/traverse.c:414 #, c-format msgid "Unknown fts_info flag %d for file %s" msgstr "Unbekanntes fts_info flag %d für Datei %s" #: lib/traverse.c:434 #, c-format msgid "'%s': fts_read failed on %s" msgstr "'%s': fts_read schlug fehl bei Pfad %s" #: lib/cfg.c:99 lib/hash-utility.c:227 #, c-format msgid "Can't open directory or file \"%s\": %s" msgstr "Kann Verzeichnis oder Datei \"%s\" nicht öffnen: %s" #: lib/cfg.c:106 #, fuzzy, c-format msgid "Can't get real path for directory or file \"%s\": %s" msgstr "Kann Verzeichnis oder Datei \"%s\" nicht öffnen: %s" #: lib/session.c:142 msgid "Received Interrupt, stopping..." msgstr "Wurde unterbrochen, ich höre auf..." #: lib/session.c:156 msgid "Received second Interrupt, stopping hard." msgstr "Wurde nochmal unterbrochen, mache sofort Schluss." #: lib/formats.c:219 #, c-format msgid "No such new_handler with this name: %s" msgstr "Kein Formathandler mit diesen Namen: %s" #: lib/formats.c:249 #, c-format msgid "Unable to open file for writing: %s" msgstr "Kann Datei nicht zum lesen öffnen: %s" #: lib/hash-utility.c:56 lib/cmdline.c:904 #, c-format msgid "Unknown hash algorithm: '%s'" msgstr "Unbekannte Hashfunktion: \"%s\"" #: lib/hash-utility.c:139 msgid "Digest type [BLAKE2B]" msgstr "Prüfsummentyp [BLAKE2B]" #: lib/hash-utility.c:140 msgid "Number of hashing threads [8]" msgstr "Anzahl der Hashing Threads [8]" #: lib/hash-utility.c:141 msgid "Print hash as self identifying multihash" msgstr "Zeige Hash als selbstidentifizierenden Multihash an." #: lib/hash-utility.c:142 msgid "Megabytes read buffer [256 MB]" msgstr "Größe des Lesepuffers [256 MB]" #: lib/hash-utility.c:143 msgid "" "Print hashes in order completed, not in order entered (reduces memory usage)" msgstr "" "Zeige die Hashes in der Fertigstellungs-Reihenfolge, nicht in Eingabe-" "Reihenfolge (braucht weniger RAM)" #: lib/hash-utility.c:144 msgid "Space-separated list of files" msgstr "Leerzeichen-separierte Liste von Dateien" #: lib/hash-utility.c:150 lib/hash-utility.c:152 msgid "Hash a list of files" msgstr "Hashe eine Liste von Dateien" #: lib/hash-utility.c:158 #, c-format msgid "" "Multi-threaded file digest (hash) calculator.\n" "\n" " Available digest types:\n" " %s\n" "\n" " Versions with different bit numbers:\n" " %s\n" "\n" " Supported, but not useful:\n" " %s\n" msgstr "" "Paralleler Prüfsummen-Berechner für Dateien.\n" "\n" " Verfügbare Hashsummentypen sind:\n" " %s\n" "\n" " Versionen mit unterschiedlicher Anzahl von Bits:\n" " %s\n" "\n" " Unterstützt aber ziemlich sinnfrei:\n" " %s\n" #: lib/hash-utility.c:194 #, fuzzy msgid "No valid paths given" msgstr "Keine validen Pfade gegeben." #: lib/hash-utility.c:230 #, c-format msgid "Directories are not supported: %s" msgstr "Verzeichnisse werden nicht unterstützt: %s" #: lib/hash-utility.c:239 #, c-format msgid "%s: Unknown file type" msgstr "%s: Unbekannter Dateityp" #: lib/cmdline.c:79 #, c-format msgid "compiled with:" msgstr "kompiliert mit:" #: lib/cmdline.c:85 #, c-format msgid "" "rmlint was written by Christopher Pahl and Daniel " "Thomas." msgstr "" "rmlint wurde von Christopher Pahl und Daniel Thomas " "geschrieben." #: lib/cmdline.c:88 #, c-format msgid "" "The code at https://github.com/sahib/rmlint is licensed under the terms of " "the GPLv3." msgstr "" "Der Quelltext unter https://github.com/sahib/rmlint ist unter den " "Bedingungen der GPLv3 lizenziert" #: lib/cmdline.c:113 msgid "You seem to have no manpage for rmlint." msgstr "Scheinbar hast du keine Manpage für rmlint." #: lib/cmdline.c:114 msgid "Please run rmlint --help to show the regular help." msgstr "Bitte führe `rmlint --help` aus, um die reguläre Hilfe zu sehen" #: lib/cmdline.c:116 msgid "" "Alternatively, visit https://rmlint.rtfd.org for the online documentation" msgstr "" "Alternativ, kann man https://rmlint.rtfd.org für eine detailreichere " "Dokumentation besuchen" #: lib/cmdline.c:237 #, fuzzy msgid "Usage: rmlint --btrfs-clone [-r] source dest\n" msgstr "Benutzung: rmlint --btrfs-clone QUELLE ZIEL\n" #: lib/cmdline.c:251 msgid "btrfs clone: failed to open source file" msgstr "btrfs-clone: Konnte Quelldatei nicht öffnen" #: lib/cmdline.c:257 #, fuzzy, c-format msgid "btrfs clone: error %i: failed to open dest file.%s" msgstr "btrfs clone: Konnte Zieldatei nicht öffnen" #: lib/cmdline.c:259 msgid "" "\n" "\t(if target is a read-only snapshot then -r option is required)" msgstr "" "\n" "\t(wenn das Ziel ein read-only snapshot ist, muss -r benutzt werden)" #: lib/cmdline.c:295 #, c-format msgid "BTRFS_IOC_FILE_EXTENT_SAME returned error: (%d) %s" msgstr "BTRFS_IOC_FILE_EXTENT_SAME gab Fehler zurück: (%d) %s" #: lib/cmdline.c:298 msgid "Need to run as root user to clone to a read-only snapshot" msgstr "" "Muss als root Nutzer gestartet werden, um einen read-only Snapshot zu clonen" #: lib/cmdline.c:300 #, c-format msgid "BTRFS_IOC_FILE_EXTENT_SAME returned status %d for file %s" msgstr "BTRFS_IOC_FILE_EXTENT_SAME gab den Status %d für die Datei %s zurück" #: lib/cmdline.c:303 msgid "Files don't match - not cloned" msgstr "Dateien sind nicht gleich - nichts geklont" #: lib/cmdline.c:309 msgid "rmlint was not compiled with btrfs support." msgstr "rmlint wurde nicht mit `btrfs` Unterstützung kompiliert" #: lib/cmdline.c:370 msgid "Input size is empty" msgstr "Eingabegröße ist leer. Nicht gut." #: lib/cmdline.c:378 msgid "This does not look like a number" msgstr "Das schaut nicht wie eine Zahl aus" #: lib/cmdline.c:381 msgid "Negativ sizes are no good idea" msgstr "Negative Größen sind keine gute Idee" #: lib/cmdline.c:397 msgid "Given format specifier not found" msgstr "Gegebene Formatangabe ist unbekannt" #: lib/cmdline.c:429 msgid "Max is smaller than min" msgstr "Maximum ist kleiner als das Minimum. Macht leider keinen Sinn" #: lib/cmdline.c:441 msgid "cannot parse --size: " msgstr "Kann --size nicht parsen: " #: lib/cmdline.c:497 #, fuzzy, c-format msgid "Adding -o %s as output failed" msgstr "Konnte -o %s nicht als Ausgabe hinzufügen" #: lib/cmdline.c:509 #, fuzzy, c-format msgid "No format (format:key[=val]) specified in '%s'" msgstr "Kein Format (format:key[=val]) gegeben in '%s'" #: lib/cmdline.c:519 #, fuzzy, c-format msgid "Missing key (format:key[=val]) in '%s'" msgstr "Fehlender Key (format:key[=val]) in '%s'" #: lib/cmdline.c:534 #, fuzzy, c-format msgid "Invalid key `%s' for formatter `%s'" msgstr "Ungültiger Konfigschlüssel `%s` für den Formatter `%s`" #: lib/cmdline.c:561 #, c-format msgid "Unable to parse factor \"%s\": error begins at %s" msgstr "Konnte nicht den Faktor \"%s\" parsen: Fehler beginnt bei %s" #: lib/cmdline.c:571 #, c-format msgid "factor value is not in range [0-1]: %f" msgstr "Faktorwert liegt nicht im Bereich [0-1]: %f" #: lib/cmdline.c:583 #, fuzzy, c-format msgid "Unable to parse offset \"%s\": " msgstr "Kann Offset nicht parsen \"%s\": " #: lib/cmdline.c:778 #, c-format msgid "Unable to parse time spec \"%s\"" msgstr "Kann Zeitangabe nicht parsen: \"%s\"" #: lib/cmdline.c:792 #, c-format msgid "-n %lu is newer than current time (%lu)." msgstr "-n %lu ist neuer als jetzt (%lu) - ist das korrekt?" #: lib/cmdline.c:881 #, fuzzy msgid "Only up to -pp or down to -PP flags allowed" msgstr "Maximal zwei -p flags oder zwei -P Flag erlaubt" #: lib/cmdline.c:933 #, fuzzy, c-format msgid "Invalid size description \"%s\": " msgstr "Fehlerhafte Größenangabe \"%s\": " #: lib/cmdline.c:1125 msgid "Permissions string needs to be one or many of [rwx]" msgstr "Zugriffsrechte werden durch Kombinationen aus [rwx] ausgedrückt" #: lib/cmdline.c:1138 #, c-format msgid "%s may only contain [%s], not `%c`" msgstr "%s darf nur einen Buchstaben aus [%s] enthalten, aber doch nicht `%c`" #: lib/cmdline.c:1263 #, fuzzy msgid "Specifiyng both -o and -O is not allowed" msgstr "Gleichzeitige Angabe von -o und -O ist nicht möglich" #: lib/cmdline.c:1283 msgid "Could not start graphical user interface." msgstr "Konnte graphische Oberfläche nicht starten." #: lib/cmdline.c:1314 msgid "Specify max traversal depth" msgstr "Gibt die maximale Traversierungstiefe an" #: lib/cmdline.c:1315 #, fuzzy msgid "Select originals by given criteria" msgstr "Gibt das Original Kriterium an" #: lib/cmdline.c:1316 #, fuzzy msgid "Sort rmlint output by given criteria" msgstr "Ordne Gruppe nach einem bestimmten Kriterium" #: lib/cmdline.c:1317 msgid "Specify lint types" msgstr "Gibt an welche Art von Dateien gesucht werden" #: lib/cmdline.c:1318 msgid "Specify size limits" msgstr "Angabe der Größenbeschränkungen" #: lib/cmdline.c:1319 #, fuzzy msgid "Choose hash algorithm" msgstr "Wähle die Hashfunktion" #: lib/cmdline.c:1320 msgid "Add output (override default)" msgstr "Output hinzufügen (überschreibt die Standardoutputs)" #: lib/cmdline.c:1321 msgid "Add output (add to defaults)" msgstr "Output hinzufügen (fügt zu den Standardoutputs hinzu)" #: lib/cmdline.c:1322 msgid "Newer than stamp file" msgstr "Suche nur Dateien die neuer sind als Datum in der .stamp Datei" #: lib/cmdline.c:1323 msgid "Newer than timestamp" msgstr "Suchen nur Dateien die neuer sind als der Timestamp" #: lib/cmdline.c:1324 msgid "Configure a formatter" msgstr "Setze Werte für einen Formatter" #: lib/cmdline.c:1327 msgid "Enable progressbar" msgstr "Zeige Fortschrittsbalken" #: lib/cmdline.c:1328 msgid "Be more verbose (-vvv for much more)" msgstr "Sei gesprächiger (-vvv für Quasselstrippe)" #: lib/cmdline.c:1329 msgid "Be less verbose (-VVV for much less)" msgstr "Sei weniger gesprächig (-VVV für Totenstille)" #: lib/cmdline.c:1330 msgid "Re-output a json file" msgstr "Gebe json Datei erneut aus" #: lib/cmdline.c:1331 msgid "Test for equality of PATHS" msgstr "Teste die Gleichheit von der Pfade PATHS" #: lib/cmdline.c:1334 msgid "Be not that colorful" msgstr "Sei nicht farbenfroh" #: lib/cmdline.c:1335 msgid "Find hidden files" msgstr "Finde versteckte Dateien" #: lib/cmdline.c:1336 #, fuzzy msgid "Follow symlinks" msgstr "Folge symbolischen Links" #: lib/cmdline.c:1337 #, fuzzy msgid "Ignore symlinks" msgstr "Ignoriere symbolische Links" #: lib/cmdline.c:1338 msgid "Use more paranoid hashing" msgstr "Benutze immer paranoideren Hashalgorithmus" #: lib/cmdline.c:1339 msgid "Do not cross mounpoints" msgstr "Überquere keine Mountpoints" #: lib/cmdline.c:1340 msgid "Keep all tagged files" msgstr "Behalte alle markierten Dateien" #: lib/cmdline.c:1341 msgid "Keep all untagged files" msgstr "Behalte alle unmarkierten Dateien" #: lib/cmdline.c:1342 msgid "Must have twin in tagged dir" msgstr "Duplikat braucht einen Zwilling im markierten Verzeichnis" #: lib/cmdline.c:1343 msgid "Must have twin in untagged dir" msgstr "Duplikat braucht einen Zwilling im unmarkierten Verzeichnis" #: lib/cmdline.c:1344 msgid "Only find twins with same basename" msgstr "Finde nur Duplikate mit selben Dateinamen" #: lib/cmdline.c:1345 msgid "Only find twins with same extension" msgstr "Finde nur Duplikate mit selber Dateiendung" #: lib/cmdline.c:1346 msgid "Only find twins with same basename minus extension" msgstr "Finde nur Duplikate mit Dateinamen minus der Endung" #: lib/cmdline.c:1347 #, fuzzy msgid "Find duplicate directories" msgstr "Finde doppelte Verzeichnisse" #: lib/cmdline.c:1348 #, fuzzy msgid "Only find directories with same file layout" msgstr "Finde nur Duplikate mit selben Dateinamen" #: lib/cmdline.c:1349 msgid "Only use files with certain permissions" msgstr "Betrachte nur Dateien mit gewissen Zugriffsrechten" #: lib/cmdline.c:1350 #, fuzzy msgid "Ignore hardlink twins" msgstr "Ignoriere Hardlinks" #: lib/cmdline.c:1351 msgid "Find hidden files in duplicate folders only" msgstr "Finde versteckte Dateien nur in doppelten Verzeichnissen" #: lib/cmdline.c:1352 msgid "Consider duplicates only equal when mtime differs at max. T seconds" msgstr "" "Betrachte Duplikate nur als gleich wenn die mtime sich maximal T Sekunden " "unterscheidet" #: lib/cmdline.c:1355 msgid "Show the manpage" msgstr "Zeige das volle Handbuch" #: lib/cmdline.c:1356 msgid "Show the version & features" msgstr "Zeige die Version & alle einkompilierten Features" #: lib/cmdline.c:1358 msgid "If installed, start the optional gui with all following args" msgstr "Falls installiert, starte die optionale grafische Oberfläche" #: lib/cmdline.c:1359 msgid "" "Work like sha1sum for all supported hash algorithms (see also --hash --help)" msgstr "" "Funktioniere wie sha1sum für alle unterstützten Hashsummen (siehe auch --" "hash --help)" #: lib/cmdline.c:1360 msgid "Clone extents from source to dest, if extents match" msgstr "Klone Extents von Quell zu Zieldatei falls sie übereinstimmen" #: lib/cmdline.c:1370 msgid "Report hardlinks as duplicates" msgstr "Zeige Hardlinks als Duplikate an" #: lib/cmdline.c:1416 msgid "Cannot set current working directory" msgstr "Kann aktuelles Arbeitsverzeichnis nicht setzen" #: lib/cmdline.c:1421 msgid "Cannot join commandline" msgstr "Kann Kommandozeilenargumente nicht auslesen. (huh?)" #: lib/cmdline.c:1432 msgid "[TARGET_DIR_OR_FILES …] [//] [TAGGED_TARGET_DIR_OR_FILES …] [-]" msgstr "[ZIEL_ORDERN_ODER_DATEIEN …] [//] [ZIEL_ORDERN_ODER_DATEIEN …] [-]" #: lib/cmdline.c:1450 msgid "" "rmlint finds space waste and other broken things on your filesystem and " "offers to remove it.\n" "It is especially good at finding duplicates and offers a big variety of " "options to handle them." msgstr "" "rmlint findet unnütz verschwendeten Platz und andere eigenartige Dateien auf " "dem Dateisystem und bietet an sie zu entfernen.\n" "Es ist besonders gut darin Duplikate zu erkennen und bietet eine große " "Palette an Möglichkeiten an, um sie loszuwerden." #: lib/cmdline.c:1456 msgid "" "Only the most important options and options that alter the defaults are " "shown above.\n" "See the manpage (man 1 rmlint or rmlint --show-man) for far more detailed " "usage information,\n" "or http://rmlint.rtfd.org/en/latest/rmlint.1.html for the online manpage.\n" "Complementary tutorials can be found at: http://rmlint.rtfd.org" msgstr "" "Nur die wichtigsten Optionen und Optionen, die die Standardwerte ändern " "werden gezeigt.\n" "Siehe `man 1 rmlint` oder rmlint --show-man für weitaus mehr Details.\n" "Alternativ auch http://rmlint.rtfd.org/en/latest/rmlint.1.html für die " "Online-version des Manuals.\n" "Zudem gibt es unter http://rmlint.rtfd.org Einsteigerinformationen." #: lib/cmdline.c:1487 msgid "" "--honour-dir-layout (-j) makes no sense without --merge-directories (-D)" msgstr "--honour-dir-layout (-j) macht wenig Sinn ohne --merge-directories (-D)" #: lib/cmdline.c:1512 #, fuzzy msgid "can't specify both --keep-all-tagged and --keep-all-untagged" msgstr "" "Kann nicht gleichzeitig --keep-all-tagged und --keep-all-untagged annehmen" #: lib/cmdline.c:1515 #, fuzzy msgid "-q (--clamp-low) should be lower than -Q (--clamp-top)" msgstr "-q (--clamp-low) sollte kleiner sein als -Q (--clamp-top)!" #: lib/cmdline.c:1517 msgid "Not all given paths are valid. Aborting" msgstr "Nicht alle angegebenen Pfade sind valid. Breche ab." #: lib/cmdline.c:1558 #, fuzzy msgid "No valid .json files given, aborting." msgstr "Kein valider JSON Cache. (u.a. weil kein [] vorhanden)" #: lib/cmdline.c:1612 msgid "Using -D together with -c sh:clone is currently not possible. Sorry." msgstr "Die Nutzung von -D mit -c sh:clone ist derzeit nicht möglich. Entschuldigung." #: lib/cmdline.c:1613 msgid "Either do not use -D, or attempt to run again with -Dj." msgstr "Benutze entweder nicht -D oder versuche es mit -Dj erneut." #: lib/cmdline.c:1621 msgid "Not enough files for --equal (need at least two to compare)" msgstr "Nicht ausreichend viele Dateien für --equal (braucht mindestens zwei)" #: lib/config.h:115 msgid "ERROR" msgstr "FEHLER" #: lib/config.h:120 msgid "WARNING" msgstr "WARNUNG" #: lib/config.h:125 msgid "INFO" msgstr "INFO" #: lib/config.h:130 msgid "DEBUG" msgstr "DEBUG" #~ msgid "%s%15" #~ msgstr "%s%15" #~ msgid "caching is not supported due to missing json-glib library." #~ msgstr "" #~ "Caching ist nicht möglich, da rmlint ohne json-glib kompiliert wurde." #~ msgid "Loading json-cache `%s'" #~ msgstr "Lade JSON Cache: `%s'" #~ msgid "FAILED: %s\n" #~ msgstr "FEHLER: %s\n" #~ msgid "" #~ "BTRFS_IOC_FILE_EXTENT_SAME returned status -22 - you probably need kernel " #~ "> 4.2" #~ msgstr "" #~ "BTRFS_IOC_FILE_EXTENT_SAME gab Fehler -22 zurück - Sie brauchen wohl " #~ "einen Kernel >= 4.2" #~ msgid "--replay given; --with-metadata-cache will be ignored." #~ msgstr "--replay wurde angegebe; --with-metadata-cache wird ignoriert." #, fuzzy #~ msgid "Unable to open tmp cache: %s" #~ msgstr "Kann Zeitangabe nicht parsen: \"%s\"" #, fuzzy #~ msgid "Unable to create cache attr `%s`: %s" #~ msgstr "Kann Offset nicht parsen \"%s\": " #~ msgid "Add json cache file" #~ msgstr "Füge json-cache file als Caching-Layer hinzu" #~ msgid "cannot create metadata cache (see above)" #~ msgstr "Kann Metadatacache nicht erstellen (siehe oben)" #~ msgid "Cannot close tmp cache: %s\n" #~ msgstr "Kann temporären Cache nicht schließen: %s\n" #~ msgid "Hardlink file size changed during traversal: %s" #~ msgstr "" #~ "Hardlink Dateigrößen haben sich während der Traversierung geändert (%s). " #~ "Nicht gut." #~ msgid "Negative bytes_left_to_read for %s" #~ msgstr "Negative anzahl von lesbaren bytes in %s" #~ msgid "Cannot figure out terminal width." #~ msgstr "Kann Terminalgröße nicht herausfinden." rmlint-2.6.1/po/es.po000066400000000000000000000577371312046612000144300ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the rmlint package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: rmlint 2.4.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-06-03 22:16+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/rmlint.c:78 #, c-format msgid "Aborting due to a fatal error. (signal received: %s)" msgstr "Abortando debido a un error fatal. (señal recibida: %s)" #: src/rmlint.c:80 msgid "Please file a bug report (See rmlint -h)" msgstr "Por favor presente un reporte de error (Ver rmlint -h)" #: lib/formats/pretty.c:34 msgid "Bad symlink(s)" msgstr "Enlace(s) simbólico(s) incorrecto(s)" #: lib/formats/pretty.c:35 msgid "Empty dir(s)" msgstr "Directorio(s) vacío(s)" #: lib/formats/pretty.c:36 msgid "Non stripped binarie(s)" msgstr "Binario(s) sin depurar" #: lib/formats/pretty.c:37 msgid "Bad UID(s)" msgstr "UID(s) incorrecta(s)" #: lib/formats/pretty.c:38 msgid "Bad GID(s)" msgstr "GID(s) incorrecta(s)" #: lib/formats/pretty.c:39 msgid "Bad UID and GID(s)" msgstr "UID y GID(s) incorrecta(s)" #: lib/formats/pretty.c:40 msgid "Empty file(s)" msgstr "Archivo(s) vacío(s)" #: lib/formats/pretty.c:41 msgid "Duplicate(s)" msgstr "Duplicado(s)" #: lib/formats/pretty.c:42 msgid "Duplicate Directorie(s)" msgstr "Directorio(s) duplicado(s)" #: lib/formats/summary.c:54 #, c-format msgid " file(s) after investigation, nothing to search through.\n" msgstr "archivo(s) después de investigar, nada que buscar.\n" #: lib/formats/summary.c:69 #, c-format msgid "Early shutdown, probably not all lint was found.\n" msgstr "Apagado prematuro, probablemente no toda la pelusa fué encontrada.\n" #: lib/formats/summary.c:74 #, c-format msgid "" "Note: Please use the saved script below for removal, not the above output." msgstr "" "Nota: Por favor use el script guardado abajo para eliminar, no la respuesta " "de arriba." #: lib/formats/summary.c:87 #, c-format msgid "In total %s files, whereof %s are duplicates in %s groups.\n" msgstr "En total %s archivos, en donde %s son duplicados en %s grupos.\n" #: lib/formats/summary.c:95 #, c-format msgid "This equals %s%s%s of duplicates which could be removed.\n" msgstr "Esto equivale a %s%s%s de duplicados lo cual podría ser eliminado.\n" #: lib/formats/summary.c:102 #, c-format msgid "other suspicious item(s) found, which may vary in size.\n" msgstr "" "otro(s) artículo(s) sospechoso(s) encontrado(s), los cuales podrían variar " "en tamaño.\n" #: lib/formats/summary.c:107 #, c-format msgid "Scanning took in total %s%s%s. Is that good enough?\n" msgstr "" #: lib/formats/summary.c:143 #, c-format msgid "Wrote a %s%s%s file to: %s%s%s\n" msgstr "Escribió un archivo %s%s%s a: %s%s%s\n" #: lib/formats/stats.c:52 #, c-format msgid "No shred stats.\n" msgstr "" #: lib/formats/stats.c:71 #, c-format msgid "" "%sDuplicate finding stats (includes hardlinks):%s\n" "\n" msgstr "" #: lib/formats/stats.c:75 #, c-format msgid "%s%15s%s bytes of originals\n" msgstr "" #: lib/formats/stats.c:79 #, c-format msgid "%s%15s%s bytes of duplicates\n" msgstr "" #: lib/formats/stats.c:83 #, c-format msgid "%s%15s%s bytes of non-duplicates\n" msgstr "" #: lib/formats/stats.c:87 #, c-format msgid "%s%15s%s bytes of files data actually read\n" msgstr "" #: lib/formats/stats.c:90 #, c-format msgid "%s%15d%s Files in total\n" msgstr "" #: lib/formats/stats.c:92 #, c-format msgid "%s%15ld%s Duplicate files\n" msgstr "" #: lib/formats/stats.c:94 #, c-format msgid "%s%15ld%s Groups in total\n" msgstr "" #: lib/formats/stats.c:96 #, c-format msgid "%s%15ld%s Other lint items\n" msgstr "" #: lib/formats/stats.c:104 #, c-format msgid "%s%15s%s of time spent scanning\n" msgstr "" #: lib/formats/stats.c:122 #, c-format msgid "%s%15s%s Algorithm efficiency on total files basis\n" msgstr "" #: lib/formats/stats.c:124 #, c-format msgid "%s%15s%s Algorithm efficiency on duplicate file basis\n" msgstr "" #: lib/formats/progressbar.c:76 msgid "reduces files to" msgstr "reduce los archivos a" #: lib/formats/progressbar.c:134 msgid "Traversing" msgstr "Cruzando" #: lib/formats/progressbar.c:135 msgid "usable files" msgstr "archivos usables" #: lib/formats/progressbar.c:138 msgid "ignored files / folders" msgstr "archivos ignorados / carpetas" #: lib/formats/progressbar.c:145 msgid "Preprocessing" msgstr "Procesando" #: lib/formats/progressbar.c:145 msgid "found" msgstr "encontrado" #: lib/formats/progressbar.c:146 msgid "other lint" msgstr "otra pelusa" #: lib/formats/progressbar.c:166 msgid "Matching" msgstr "Cotejando" #: lib/formats/progressbar.c:167 msgid "dupes of" msgstr "duplicados de" #: lib/formats/progressbar.c:168 msgid "originals" msgstr "originales" #: lib/formats/progressbar.c:170 msgid "to scan in" msgstr "para escanear en" #: lib/formats/progressbar.c:171 msgid "files" msgstr "archivos" #: lib/formats/progressbar.c:180 msgid "Merging files into directories (stand by...)" msgstr "Combinando archivos en directorios (espere...)" #: lib/formats/sh.c:546 #, c-format msgid "%s is an invalid handler." msgstr "%s es un gestor inválido" #: lib/hasher.c:310 #, c-format msgid "Something went wrong reading %s; expected %li bytes, got %li; ignoring" msgstr "Algo falló leyendo %s; esperados %li bytes, obtenidos %li; ignorando" #: lib/utilities.c:315 #, c-format msgid "cannot open file '%s' for nonstripped test: " msgstr "no se puede abrir archivo '%s' para prueba sin depurar: " #: lib/utilities.c:322 msgid "ELF Library is out of date!" msgstr "La Librería ELF está fuera de fecha!" #: lib/utilities.c:662 #, c-format msgid "`%s` mount detected at %s (#%u); Ignoring all files in it.\n" msgstr "" "Montaje '%s' detectado en %s (#%u); Ignorando todos los archivos en él.\n" #: lib/preprocess.c:236 msgid "Pattern has to start with `<`" msgstr "El patrón debe empezar con `<`" #: lib/preprocess.c:264 #, c-format msgid "`<` or `>` imbalance: %d" msgstr "`<` o `>` desequilibran: %d" #: lib/preprocess.c:271 msgid "empty pattern" msgstr "patrón vacío" #: lib/preprocess.c:313 msgid "no pattern given in <> after 'r' or 'x'" msgstr "" #: lib/preprocess.c:329 #, fuzzy, c-format msgid "Cannot add more than %lu regex patterns." msgstr "No se puede añadir mas de %ld patrones de expresiones regulares" #: lib/preprocess.c:341 msgid "Error while parsing sortcriteria patterns: " msgstr "Error al analizar los patrones sortcriteria (criterio de órden)" #: lib/replay.c:107 msgid "No valid json cache (no array in /)" msgstr "No hay json en cache válido (no hay arreglo en /)" #: lib/replay.c:154 lib/cmdline.c:729 #, c-format msgid "lint type '%s' not recognised" msgstr "el tipo de pelusa '%s' no se reconoce" #: lib/replay.c:181 #, c-format msgid "modification time of `%s` changed. Ignoring." msgstr "el tiempo de modificación de '%s' ha cambiado. Ignorando." #: lib/replay.c:486 #, c-format msgid "Loading json-results `%s'" msgstr "Cargando json-results '%s'" #: lib/replay.c:597 msgid "json-glib is needed for using --replay." msgstr "json-glib es necesario para usar --replay." #: lib/replay.c:598 msgid "Please recompile `rmlint` with it installed." msgstr "Por favor recompile 'rmlint' con ello instalado." #: lib/traverse.c:318 #, c-format msgid "filesystem loop detected at %s (skipping)" msgstr "retroalimentación de sistema de archivos detectada en %s (descartando)" #: lib/traverse.c:323 #, c-format msgid "cannot read directory %s: %s" msgstr "no se puede leer el directorio %s: %s" #: lib/traverse.c:336 #, c-format msgid "error %d in fts_read for %s (skipping)" msgstr "error en %d en fts_read para %s (descartando)" #: lib/traverse.c:365 #, c-format msgid "Added big file %s" msgstr "Archivo grande %s añadido" #: lib/traverse.c:367 #, c-format msgid "cannot stat file %s (skipping)" msgstr "no se puede obtener informacion del archivo %s (descartando)" #: lib/traverse.c:414 #, c-format msgid "Unknown fts_info flag %d for file %s" msgstr "Bandera fts_info %d desconocida para archivo %s" #: lib/traverse.c:434 #, c-format msgid "'%s': fts_read failed on %s" msgstr "'%s': fts_read falló en %s" #: lib/cfg.c:99 lib/hash-utility.c:227 #, c-format msgid "Can't open directory or file \"%s\": %s" msgstr "No se puede abrir el directorio o archivo \"%s\": %s" #: lib/cfg.c:106 #, fuzzy, c-format msgid "Can't get real path for directory or file \"%s\": %s" msgstr "No se puede abrir el directorio o archivo \"%s\": %s" #: lib/session.c:142 msgid "Received Interrupt, stopping..." msgstr "Interrupción Recibida, deteniendo..." #: lib/session.c:156 msgid "Received second Interrupt, stopping hard." msgstr "Segunda Interrupción Recibida, deteniendo firmemente." #: lib/formats.c:219 #, c-format msgid "No such new_handler with this name: %s" msgstr "No hay tal new_handler con éste nombre: %s" #: lib/formats.c:249 #, c-format msgid "Unable to open file for writing: %s" msgstr "Incapaz de abrir archivo para escritura: %s" #: lib/hash-utility.c:56 lib/cmdline.c:904 #, c-format msgid "Unknown hash algorithm: '%s'" msgstr "Algoritmo de rastreo desconocido: '%s'" #: lib/hash-utility.c:139 msgid "Digest type [BLAKE2B]" msgstr "Asimilación tipo [BLAKE2B]" #: lib/hash-utility.c:140 msgid "Number of hashing threads [8]" msgstr "Número de hilos rastreados [8]" #: lib/hash-utility.c:141 msgid "Print hash as self identifying multihash" msgstr "Muestra el rastreo como un multirastreo auto identificado" #: lib/hash-utility.c:142 msgid "Megabytes read buffer [256 MB]" msgstr "Almacenamiento temporal de lectura de Megabytes [256]" #: lib/hash-utility.c:143 msgid "" "Print hashes in order completed, not in order entered (reduces memory usage)" msgstr "" "Muestra a los rastreos en el orden completado, no en el orden ingresado " "(reduce el uso de memoria)" #: lib/hash-utility.c:144 msgid "Space-separated list of files" msgstr "Enlistado de archivos separados-con-espacio" #: lib/hash-utility.c:150 lib/hash-utility.c:152 msgid "Hash a list of files" msgstr "Rastrea una lista de archivos" #: lib/hash-utility.c:158 #, c-format msgid "" "Multi-threaded file digest (hash) calculator.\n" "\n" " Available digest types:\n" " %s\n" "\n" " Versions with different bit numbers:\n" " %s\n" "\n" " Supported, but not useful:\n" " %s\n" msgstr "" "Calculadora de asimilación de archivos multi-hilo (rastreo).\n" "\n" " Asimilación disponible tipos:\n" " %s\n" "\n" " Versiones con diferente números de bit:\n" " %s\n" "\n" " Soportado, mas no útil:\n" " %s\n" #: lib/hash-utility.c:194 #, fuzzy msgid "No valid paths given" msgstr "Ubicaciones proporcionadas no son válidas" #: lib/hash-utility.c:230 #, c-format msgid "Directories are not supported: %s" msgstr "Los directorios no son soportados: %s" #: lib/hash-utility.c:239 #, c-format msgid "%s: Unknown file type" msgstr "%s: Tipo de archivo desconocido" #: lib/cmdline.c:79 #, c-format msgid "compiled with:" msgstr "compilado con:" #: lib/cmdline.c:85 #, c-format msgid "" "rmlint was written by Christopher Pahl and Daniel " "Thomas." msgstr "" "rmlint fué escrito por Christopher Pahl y Daniel Thomas." #: lib/cmdline.c:88 #, c-format msgid "" "The code at https://github.com/sahib/rmlint is licensed under the terms of " "the GPLv3." msgstr "" "El código en https://github.com/sahib/rmlint tiene licencia bajo los " "términos de el GPLv3." #: lib/cmdline.c:113 msgid "You seem to have no manpage for rmlint." msgstr "Parece que no tienes manpage (manual) para rmlint" #: lib/cmdline.c:114 msgid "Please run rmlint --help to show the regular help." msgstr "" #: lib/cmdline.c:116 msgid "" "Alternatively, visit https://rmlint.rtfd.org for the online documentation" msgstr "" #: lib/cmdline.c:237 #, fuzzy msgid "Usage: rmlint --btrfs-clone [-r] source dest\n" msgstr "Uso: rmlint --btrfs-clone fuente dest\n" #: lib/cmdline.c:251 msgid "btrfs clone: failed to open source file" msgstr "btrfs clone: no logró abrir el archivo fuente." #: lib/cmdline.c:257 #, fuzzy, c-format msgid "btrfs clone: error %i: failed to open dest file.%s" msgstr "btrfs clone: no logró abrir el archivo dest." #: lib/cmdline.c:259 msgid "" "\n" "\t(if target is a read-only snapshot then -r option is required)" msgstr "" #: lib/cmdline.c:295 #, c-format msgid "BTRFS_IOC_FILE_EXTENT_SAME returned error: (%d) %s" msgstr "BTRFS_IOC_FILE_EXTENT_SAME regresó un error: (%d) %s" #: lib/cmdline.c:298 msgid "Need to run as root user to clone to a read-only snapshot" msgstr "" #: lib/cmdline.c:300 #, c-format msgid "BTRFS_IOC_FILE_EXTENT_SAME returned status %d for file %s" msgstr "BTRFS_IOC_FILE_EXTENT_SAME regresó un estatus %d para el archivo %s" #: lib/cmdline.c:303 msgid "Files don't match - not cloned" msgstr "Los archivos no son iguales - no se clonó" #: lib/cmdline.c:309 msgid "rmlint was not compiled with btrfs support." msgstr "rmlint no fué compilado con soporte para btrfs" #: lib/cmdline.c:370 msgid "Input size is empty" msgstr "El tamaño de ingreso está vacío" #: lib/cmdline.c:378 msgid "This does not look like a number" msgstr "Estto no parece un número" #: lib/cmdline.c:381 msgid "Negativ sizes are no good idea" msgstr "Tamaños negativos no son una buena idea" #: lib/cmdline.c:397 msgid "Given format specifier not found" msgstr "Dicho especificador de formato no fué encontrado" #: lib/cmdline.c:429 msgid "Max is smaller than min" msgstr "Max es más pequeño que min" #: lib/cmdline.c:441 msgid "cannot parse --size: " msgstr "no se puede analizar --size: " #: lib/cmdline.c:497 #, c-format msgid "Adding -o %s as output failed" msgstr "Falló añadiendo -o %s como respuesta" #: lib/cmdline.c:509 #, c-format msgid "No format (format:key[=val]) specified in '%s'" msgstr "Sin formato (format:key[=val]) especificado en '%s'" #: lib/cmdline.c:519 #, c-format msgid "Missing key (format:key[=val]) in '%s'" msgstr "Llave perdida (format:key[=val]) en '%s'" #: lib/cmdline.c:534 #, c-format msgid "Invalid key `%s' for formatter `%s'" msgstr "Llave inválida '%s' para el formateador '%s'" #: lib/cmdline.c:561 #, c-format msgid "Unable to parse factor \"%s\": error begins at %s" msgstr "Incapaz de analizar el factor \"%s\": el error empieza en %s" #: lib/cmdline.c:571 #, c-format msgid "factor value is not in range [0-1]: %f" msgstr "el valor del factor no se encuentra dentro del rango [0-1]: %f" #: lib/cmdline.c:583 #, c-format msgid "Unable to parse offset \"%s\": " msgstr "Incapaz de analizar el offset \"%s\": " #: lib/cmdline.c:778 #, c-format msgid "Unable to parse time spec \"%s\"" msgstr "Incapaz de analizar la especificación de tiempo \"%s\"" #: lib/cmdline.c:792 #, c-format msgid "-n %lu is newer than current time (%lu)." msgstr "-n %lu es mas reciente que el tiempo actual (%lu)." #: lib/cmdline.c:881 msgid "Only up to -pp or down to -PP flags allowed" msgstr "Sólo banderas hasta -pp o menores a -PP está permitido" #: lib/cmdline.c:933 #, c-format msgid "Invalid size description \"%s\": " msgstr "Tamaño de descripción inválido \"%s\": " #: lib/cmdline.c:1125 msgid "Permissions string needs to be one or many of [rwx]" msgstr "La cadena de permisos necesita ser una o muchas de [rwx]" #: lib/cmdline.c:1138 #, c-format msgid "%s may only contain [%s], not `%c`" msgstr "%s puede únicamente contener [%s], no '%c'" #: lib/cmdline.c:1263 msgid "Specifiyng both -o and -O is not allowed" msgstr "Especificar -o y -O no está permitido" #: lib/cmdline.c:1283 msgid "Could not start graphical user interface." msgstr "No se pudo iniciar la interfase de usuario gráfica." #: lib/cmdline.c:1314 msgid "Specify max traversal depth" msgstr "Especificar la profundidad de recorrido máxima" #: lib/cmdline.c:1315 msgid "Select originals by given criteria" msgstr "Seleccionar los originales de acuerdo a el criterio dado" #: lib/cmdline.c:1316 msgid "Sort rmlint output by given criteria" msgstr "Ordenar la respuesta de rmlint de acuerdo a el criterio dado" #: lib/cmdline.c:1317 msgid "Specify lint types" msgstr "Especificar los tipos de pelusa" #: lib/cmdline.c:1318 msgid "Specify size limits" msgstr "Especificar el límite de tamaño" #: lib/cmdline.c:1319 msgid "Choose hash algorithm" msgstr "Escoger el algoritmo de rastreo" #: lib/cmdline.c:1320 msgid "Add output (override default)" msgstr "Añadir respuesta (anula el preestablecido)" #: lib/cmdline.c:1321 msgid "Add output (add to defaults)" msgstr "Añadir respuesta (añade a el preestablecido)" #: lib/cmdline.c:1322 msgid "Newer than stamp file" msgstr "Más nuevo que el archivo de sello" #: lib/cmdline.c:1323 msgid "Newer than timestamp" msgstr "Más nuevo que la marca de tiempo" #: lib/cmdline.c:1324 msgid "Configure a formatter" msgstr "Configurar un formateador" #: lib/cmdline.c:1327 msgid "Enable progressbar" msgstr "Habilitar la barra de progreso" #: lib/cmdline.c:1328 msgid "Be more verbose (-vvv for much more)" msgstr "Sé más explicativo (-vvv para mucho más)" #: lib/cmdline.c:1329 msgid "Be less verbose (-VVV for much less)" msgstr "Sé menos explicativo (-VVV para mucho menos)" #: lib/cmdline.c:1330 msgid "Re-output a json file" msgstr "Dar respuesta nuevamente de un archivo json" #: lib/cmdline.c:1331 msgid "Test for equality of PATHS" msgstr "" #: lib/cmdline.c:1334 msgid "Be not that colorful" msgstr "No seas tan colorido" #: lib/cmdline.c:1335 msgid "Find hidden files" msgstr "Encuentra archivos ocultos" #: lib/cmdline.c:1336 msgid "Follow symlinks" msgstr "Sigue los enlaces simbólicos" #: lib/cmdline.c:1337 msgid "Ignore symlinks" msgstr "Ignora los enlaces simbólicos" #: lib/cmdline.c:1338 msgid "Use more paranoid hashing" msgstr "Usa un ratreo más paranóico" #: lib/cmdline.c:1339 msgid "Do not cross mounpoints" msgstr "No cruza los puntos de montaje" #: lib/cmdline.c:1340 msgid "Keep all tagged files" msgstr "Mantiene todos los archivos etiquetados" #: lib/cmdline.c:1341 msgid "Keep all untagged files" msgstr "Mantiene todos los archivos sin etiquetar" #: lib/cmdline.c:1342 msgid "Must have twin in tagged dir" msgstr "Debe tener gemelo en directorio etiquetado" #: lib/cmdline.c:1343 msgid "Must have twin in untagged dir" msgstr "Debe tener gemelo en directorio sin etiquetar" #: lib/cmdline.c:1344 msgid "Only find twins with same basename" msgstr "Sólo encuentra gemelos con el mismo nombre base" #: lib/cmdline.c:1345 msgid "Only find twins with same extension" msgstr "Sólo encuentra gemelos con la misma extensión" #: lib/cmdline.c:1346 msgid "Only find twins with same basename minus extension" msgstr "Sólo encuentra gemelos con el mismo nombre base menos la extensión" #: lib/cmdline.c:1347 msgid "Find duplicate directories" msgstr "Encuentra directorios duplicados" #: lib/cmdline.c:1348 #, fuzzy msgid "Only find directories with same file layout" msgstr "Sólo encuentra gemelos con el mismo nombre base" #: lib/cmdline.c:1349 msgid "Only use files with certain permissions" msgstr "Sólo usa archivos con ciertos permisos" #: lib/cmdline.c:1350 msgid "Ignore hardlink twins" msgstr "Ignora gemelos con hardlink" #: lib/cmdline.c:1351 msgid "Find hidden files in duplicate folders only" msgstr "Encuentra archivos ocultos en carpetas duplicadas únicamente" #: lib/cmdline.c:1352 msgid "Consider duplicates only equal when mtime differs at max. T seconds" msgstr "" #: lib/cmdline.c:1355 msgid "Show the manpage" msgstr "Muestra el manpage (manual)" #: lib/cmdline.c:1356 msgid "Show the version & features" msgstr "Muestra la versión y características" #: lib/cmdline.c:1358 msgid "If installed, start the optional gui with all following args" msgstr "" "Si se instaló, inicie la interfaz gráfica de usuario (gui) opcional con " "todos los siguientes argumentos" #: lib/cmdline.c:1359 msgid "" "Work like sha1sum for all supported hash algorithms (see also --hash --help)" msgstr "" "Trabaja como sha1sum para todos los algoritmos de rastreo soportados (ver " "también --hash --help)" #: lib/cmdline.c:1360 msgid "Clone extents from source to dest, if extents match" msgstr "Clona los alcances de la fuente al destino, si los alcances coinciden" #: lib/cmdline.c:1370 msgid "Report hardlinks as duplicates" msgstr "Reporta hardlinks como duplicados" #: lib/cmdline.c:1416 msgid "Cannot set current working directory" msgstr "No se puede ajustar el directorio de trabajo actual" #: lib/cmdline.c:1421 msgid "Cannot join commandline" msgstr "No se puede añadir la línea de comandos" #: lib/cmdline.c:1432 msgid "[TARGET_DIR_OR_FILES …] [//] [TAGGED_TARGET_DIR_OR_FILES …] [-]" msgstr "[TARGET_DIR_OR_FILES …] [//] [TAGGED_TARGET_DIR_OR_FILES …] [-]" #: lib/cmdline.c:1450 msgid "" "rmlint finds space waste and other broken things on your filesystem and " "offers to remove it.\n" "It is especially good at finding duplicates and offers a big variety of " "options to handle them." msgstr "" "rmlint encuentra espacio desperdiciado y otras cosas rotas en tu sistema de " "archivos y te ofrece eliminarlas.\n" "Es especialmente bueno encontrando duplicados y ofrece una gran variedad de " "opciones para manejarlos." #: lib/cmdline.c:1456 msgid "" "Only the most important options and options that alter the defaults are " "shown above.\n" "See the manpage (man 1 rmlint or rmlint --show-man) for far more detailed " "usage information,\n" "or http://rmlint.rtfd.org/en/latest/rmlint.1.html for the online manpage.\n" "Complementary tutorials can be found at: http://rmlint.rtfd.org" msgstr "" "Sólo las opciones más importantes y las opciones que alteran los " "preestablecidos son mostradas arriba.\n" "Ver el manpage (manual) (man 1 rmlint o rmlint --show-man) para mucho más " "detalle en la información de su uso,\n" "o http://rmlint.rtfd.org/en/latest/rmlint.1.html para el manpage (manual) en " "línea.\n" "Tutoriales complementarios pueden encontrarse en: http://rmlint.rtfd.org" #: lib/cmdline.c:1487 msgid "" "--honour-dir-layout (-j) makes no sense without --merge-directories (-D)" msgstr "" #: lib/cmdline.c:1512 msgid "can't specify both --keep-all-tagged and --keep-all-untagged" msgstr "no se puede especificar ambas --keep-all-tagged y --keep-all-untagged" #: lib/cmdline.c:1515 msgid "-q (--clamp-low) should be lower than -Q (--clamp-top)" msgstr "-q (--clamp-low) debe ser menor que -Q (--clamp-top)" #: lib/cmdline.c:1517 msgid "Not all given paths are valid. Aborting" msgstr "" #: lib/cmdline.c:1558 #, fuzzy msgid "No valid .json files given, aborting." msgstr "No hay json en cache válido (no hay arreglo en /)" #: lib/cmdline.c:1612 msgid "Using -D together with -c sh:clone is currently not possible. Sorry." msgstr "" #: lib/cmdline.c:1613 msgid "Either do not use -D, or attempt to run again with -Dj." msgstr "" #: lib/cmdline.c:1621 msgid "Not enough files for --equal (need at least two to compare)" msgstr "" #: lib/config.h:115 msgid "ERROR" msgstr "ERROR" #: lib/config.h:120 msgid "WARNING" msgstr "ADVERTENCIA" #: lib/config.h:125 msgid "INFO" msgstr "INFO" #: lib/config.h:130 msgid "DEBUG" msgstr "DEPURAR" #~ msgid "caching is not supported due to missing json-glib library." #~ msgstr "" #~ "el cacheo no es soportado debido a la librería inexistente json-glib" #~ msgid "Loading json-cache `%s'" #~ msgstr "Cargando json-cache '%s" #~ msgid "FAILED: %s\n" #~ msgstr "FALLO: %s\n" #~ msgid "" #~ "BTRFS_IOC_FILE_EXTENT_SAME returned status -22 - you probably need kernel " #~ "> 4.2" #~ msgstr "" #~ "BTRFS_IOC_FILE_EXTENT_SAME regresó el estatus -22 - probablemente " #~ "necesitas un kernel > 4.2" #~ msgid "--replay given; --with-metadata-cache will be ignored." #~ msgstr "--replay dado; --with-metadata-cache será ignorado." #~ msgid "Unable to open tmp cache: %s" #~ msgstr "Incapaz de abrir cache tmp: %s" #~ msgid "Unable to create cache attr `%s`: %s" #~ msgstr "Incapaz de crear cache attr '%s': %s" #~ msgid "Add json cache file" #~ msgstr "Añadir un archivo de cache json" #~ msgid "cannot create metadata cache (see above)" #~ msgstr "no se puede crear cache de metainformación (ver arriba)" #~ msgid "Cannot close tmp cache: %s\n" #~ msgstr "No se puede cerrar el cache temporal: %s\n" rmlint-2.6.1/po/fr.po000066400000000000000000000613701312046612000144140ustar00rootroot00000000000000# French translations for rmlint package. # Copyright (C) 2014 THE rmlint'S COPYRIGHT HOLDER # This file is distributed under the same license as the rmlint package. # Automatically generated, 2014. # msgid "" msgstr "" "Project-Id-Version: rmlint 2.0.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-06-03 22:16+0200\n" "PO-Revision-Date: 2014-12-02 13:37+0100\n" "Last-Translator: F. \n" "Language-Team: none\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: src/rmlint.c:78 #, c-format msgid "Aborting due to a fatal error. (signal received: %s)" msgstr "Arrêt causé par une erreur fatale. (signal reçu: %s)" #: src/rmlint.c:80 msgid "Please file a bug report (See rmlint -h)" msgstr "Merci de remplir un rapport de bug (Voir rmlint -h)" #: lib/formats/pretty.c:34 msgid "Bad symlink(s)" msgstr "Mauvais lien(s) symbolique(s)" #: lib/formats/pretty.c:35 msgid "Empty dir(s)" msgstr "Répertoire(s) vide(s)" #: lib/formats/pretty.c:36 msgid "Non stripped binarie(s)" msgstr "Binaire(s) non stripped" #: lib/formats/pretty.c:37 msgid "Bad UID(s)" msgstr "Mauvais UID(s)" #: lib/formats/pretty.c:38 msgid "Bad GID(s)" msgstr "Mauvais GID(s)" #: lib/formats/pretty.c:39 msgid "Bad UID and GID(s)" msgstr "Mauvais UID et GID(s)" #: lib/formats/pretty.c:40 msgid "Empty file(s)" msgstr "Fichier(s) vide(s)" #: lib/formats/pretty.c:41 msgid "Duplicate(s)" msgstr "Doublon(s)" #: lib/formats/pretty.c:42 msgid "Duplicate Directorie(s)" msgstr "Répertoire(s) dupliqué(s)" #: lib/formats/summary.c:54 #, fuzzy, c-format msgid " file(s) after investigation, nothing to search through.\n" msgstr "fichier(s) après analyse, plus rien à rechercher\n" #: lib/formats/summary.c:69 #, c-format msgid "Early shutdown, probably not all lint was found.\n" msgstr "Arrêt prématuré, tous les doublons n'ont peut être pas été trouvés\n" #: lib/formats/summary.c:74 #, c-format msgid "" "Note: Please use the saved script below for removal, not the above output." msgstr "" "Note: S'il vous plaît utiliser le script enregistré ci-dessous " "pourl'enlèvement, pas la sortie ci-dessus." #: lib/formats/summary.c:87 #, c-format msgid "In total %s files, whereof %s are duplicates in %s groups.\n" msgstr "%s fichiers au total, dont %s doublons répartis en %s groupe(s).\n" #: lib/formats/summary.c:95 #, c-format msgid "This equals %s%s%s of duplicates which could be removed.\n" msgstr "Équivalent à %s%s%s de doublons qui peuvent être supprimés.\n" #: lib/formats/summary.c:102 #, c-format msgid "other suspicious item(s) found, which may vary in size.\n" msgstr "autre(s) éléments, dont la taille peut varier, trouvé(s).\n" #: lib/formats/summary.c:107 #, c-format msgid "Scanning took in total %s%s%s. Is that good enough?\n" msgstr "" #: lib/formats/summary.c:143 #, c-format msgid "Wrote a %s%s%s file to: %s%s%s\n" msgstr "Fichier %s%s%s écrit: %s%s%s\n" #: lib/formats/stats.c:52 #, c-format msgid "No shred stats.\n" msgstr "" #: lib/formats/stats.c:71 #, c-format msgid "" "%sDuplicate finding stats (includes hardlinks):%s\n" "\n" msgstr "" #: lib/formats/stats.c:75 #, c-format msgid "%s%15s%s bytes of originals\n" msgstr "" #: lib/formats/stats.c:79 #, c-format msgid "%s%15s%s bytes of duplicates\n" msgstr "" #: lib/formats/stats.c:83 #, c-format msgid "%s%15s%s bytes of non-duplicates\n" msgstr "" #: lib/formats/stats.c:87 #, c-format msgid "%s%15s%s bytes of files data actually read\n" msgstr "" #: lib/formats/stats.c:90 #, c-format msgid "%s%15d%s Files in total\n" msgstr "" #: lib/formats/stats.c:92 #, c-format msgid "%s%15ld%s Duplicate files\n" msgstr "" #: lib/formats/stats.c:94 #, c-format msgid "%s%15ld%s Groups in total\n" msgstr "" #: lib/formats/stats.c:96 #, c-format msgid "%s%15ld%s Other lint items\n" msgstr "" #: lib/formats/stats.c:104 #, c-format msgid "%s%15s%s of time spent scanning\n" msgstr "" #: lib/formats/stats.c:122 #, c-format msgid "%s%15s%s Algorithm efficiency on total files basis\n" msgstr "" #: lib/formats/stats.c:124 #, c-format msgid "%s%15s%s Algorithm efficiency on duplicate file basis\n" msgstr "" #: lib/formats/progressbar.c:76 msgid "reduces files to" msgstr "réduction des fichiers à" #: lib/formats/progressbar.c:134 msgid "Traversing" msgstr "Parcoure" #: lib/formats/progressbar.c:135 msgid "usable files" msgstr "fichiers utilisés" #: lib/formats/progressbar.c:138 msgid "ignored files / folders" msgstr "fichiers / répertoires ignorés" #: lib/formats/progressbar.c:145 msgid "Preprocessing" msgstr "Prétraitement" #: lib/formats/progressbar.c:145 msgid "found" msgstr "trouvé" #: lib/formats/progressbar.c:146 msgid "other lint" msgstr "autre double" #: lib/formats/progressbar.c:166 msgid "Matching" msgstr "Fichiers correspondants" #: lib/formats/progressbar.c:167 msgid "dupes of" msgstr "doubles de" #: lib/formats/progressbar.c:168 msgid "originals" msgstr "originaux" #: lib/formats/progressbar.c:170 #, fuzzy msgid "to scan in" msgstr "à examiner dans" #: lib/formats/progressbar.c:171 msgid "files" msgstr "fichiers" #: lib/formats/progressbar.c:180 msgid "Merging files into directories (stand by...)" msgstr "Fusion des fichiers dans les répertoires (attente...)" #: lib/formats/sh.c:546 #, c-format msgid "%s is an invalid handler." msgstr "%s est un handler invalide" #: lib/hasher.c:310 #, fuzzy, c-format msgid "Something went wrong reading %s; expected %li bytes, got %li; ignoring" msgstr "Problème lors de la lecture de %s; %d bytes attendus, %d reçus; ignoré" #: lib/utilities.c:315 #, c-format msgid "cannot open file '%s' for nonstripped test: " msgstr "impossible d'ouvrir '%s' pour le test non-stripped: " #: lib/utilities.c:322 msgid "ELF Library is out of date!" msgstr "La librairie ELF n'est plus à jour!" #: lib/utilities.c:662 #, fuzzy, c-format msgid "`%s` mount detected at %s (#%u); Ignoring all files in it.\n" msgstr "`%s` monté sur %s (#%u); ses fichiers seront ignorés." #: lib/preprocess.c:236 msgid "Pattern has to start with `<`" msgstr "Motif doit commencer par `<` ou `>`" #: lib/preprocess.c:264 #, c-format msgid "`<` or `>` imbalance: %d" msgstr "`<` ou `>` déséquilibre: %d" #: lib/preprocess.c:271 msgid "empty pattern" msgstr "motif vide" #: lib/preprocess.c:313 msgid "no pattern given in <> after 'r' or 'x'" msgstr "" #: lib/preprocess.c:329 #, fuzzy, c-format msgid "Cannot add more than %lu regex patterns." msgstr "Vous ne pouvez pas ajouter plus de modèles %ld regex." #: lib/preprocess.c:341 msgid "Error while parsing sortcriteria patterns: " msgstr "Erreur lors de l'analyse des critères de tri des modèles: " #: lib/replay.c:107 msgid "No valid json cache (no array in /)" msgstr "JSON cache est ne pas valide" #: lib/replay.c:154 lib/cmdline.c:729 #, c-format msgid "lint type '%s' not recognised" msgstr "doublon de type '%s' non reconnu" #: lib/replay.c:181 #, c-format msgid "modification time of `%s` changed. Ignoring." msgstr "la date de modification de `%s` a changé. Ignoré." #: lib/replay.c:486 #, fuzzy, c-format msgid "Loading json-results `%s'" msgstr "Chargement de JSON Cache `%s'" #: lib/replay.c:597 msgid "json-glib is needed for using --replay." msgstr "json-lib est nécessaire pour utiliser l'argument --replay" #: lib/replay.c:598 msgid "Please recompile `rmlint` with it installed." msgstr "Merci de recompiler `rmlint` une fois celui ci installé" #: lib/traverse.c:318 #, c-format msgid "filesystem loop detected at %s (skipping)" msgstr "boucle dans le système de fichiers détectée à %s (ignoré)" #: lib/traverse.c:323 #, c-format msgid "cannot read directory %s: %s" msgstr "impossible de lire le répertoire %s: %s" #: lib/traverse.c:336 #, c-format msgid "error %d in fts_read for %s (skipping)" msgstr "erreur %d dans fts_read pour %s (ignoré) " #: lib/traverse.c:365 #, c-format msgid "Added big file %s" msgstr "Fichier important %s ajouté" #: lib/traverse.c:367 #, c-format msgid "cannot stat file %s (skipping)" msgstr "impossible de définir le fichier %s (ignoré)" #: lib/traverse.c:414 #, c-format msgid "Unknown fts_info flag %d for file %s" msgstr "Drapeau fts_info %d inconnu pour le fichier %s" #: lib/traverse.c:434 #, c-format msgid "'%s': fts_read failed on %s" msgstr "'%s': échec de fts_read pour %s" #: lib/cfg.c:99 lib/hash-utility.c:227 #, fuzzy, c-format msgid "Can't open directory or file \"%s\": %s" msgstr "Impossible d'ouvrir le répertoire ou le fichier \"%s\": %s\n" #: lib/cfg.c:106 #, fuzzy, c-format msgid "Can't get real path for directory or file \"%s\": %s" msgstr "Impossible d'ouvrir le répertoire ou le fichier \"%s\": %s\n" #: lib/session.c:142 msgid "Received Interrupt, stopping..." msgstr "Interruption demandée, arrêt..." #: lib/session.c:156 msgid "Received second Interrupt, stopping hard." msgstr "Seconde interruption demandée, arrêt brutal" #: lib/formats.c:219 #, c-format msgid "No such new_handler with this name: %s" msgstr "Aucun new_handler ne correspond à ce nom: %s" #: lib/formats.c:249 #, c-format msgid "Unable to open file for writing: %s" msgstr "Impossible d'ouvrir le fichier en écriture: %s" #: lib/hash-utility.c:56 lib/cmdline.c:904 #, c-format msgid "Unknown hash algorithm: '%s'" msgstr "Algorithme de fonction de hachage inconnue: '%s'" #: lib/hash-utility.c:139 msgid "Digest type [BLAKE2B]" msgstr "Type digest [BLAKE2B]" #: lib/hash-utility.c:140 msgid "Number of hashing threads [8]" msgstr "Nombre de tâches de hachage [8]" #: lib/hash-utility.c:141 msgid "Print hash as self identifying multihash" msgstr "Affichage du hachage identifié comme une fonction multiple de hachage" #: lib/hash-utility.c:142 msgid "Megabytes read buffer [256 MB]" msgstr "Lecture du buffer en mégaoctets [256 MB]" #: lib/hash-utility.c:143 msgid "" "Print hashes in order completed, not in order entered (reduces memory usage)" msgstr "" "Afficher les hachages par ordre d'achévement et non par ordre d'entrée " "(réduit l'utilisation de la mémoire)" #: lib/hash-utility.c:144 msgid "Space-separated list of files" msgstr "Liste séparées par un espace de fichiers" #: lib/hash-utility.c:150 lib/hash-utility.c:152 msgid "Hash a list of files" msgstr "Hash une liste de fichiers" #: lib/hash-utility.c:158 #, c-format msgid "" "Multi-threaded file digest (hash) calculator.\n" "\n" " Available digest types:\n" " %s\n" "\n" " Versions with different bit numbers:\n" " %s\n" "\n" " Supported, but not useful:\n" " %s\n" msgstr "" #: lib/hash-utility.c:194 #, fuzzy msgid "No valid paths given" msgstr "Aucun chemin valide renseigné." #: lib/hash-utility.c:230 #, c-format msgid "Directories are not supported: %s" msgstr "Ces répertoires ne sont pas pris en charge: %s" #: lib/hash-utility.c:239 #, c-format msgid "%s: Unknown file type" msgstr "%s: Type de fichier inconnu" #: lib/cmdline.c:79 #, c-format msgid "compiled with:" msgstr "compilé par:" #: lib/cmdline.c:85 #, c-format msgid "" "rmlint was written by Christopher Pahl and Daniel " "Thomas." msgstr "" "rmlint est codé par Christopher Pahl et Daniel Thomas." #: lib/cmdline.c:88 #, c-format msgid "" "The code at https://github.com/sahib/rmlint is licensed under the terms of " "the GPLv3." msgstr "" "Le code disponible via https://github.com/sahib/rmlint est publié sous les " "termes de la licenceGPLv3." #: lib/cmdline.c:113 msgid "You seem to have no manpage for rmlint." msgstr "Aucune page de manuel disponible pour rmlint" #: lib/cmdline.c:114 msgid "Please run rmlint --help to show the regular help." msgstr "" #: lib/cmdline.c:116 msgid "" "Alternatively, visit https://rmlint.rtfd.org for the online documentation" msgstr "" #: lib/cmdline.c:237 #, fuzzy msgid "Usage: rmlint --btrfs-clone [-r] source dest\n" msgstr "Utilisation: rmlint --btrfs-clone source dest\n" #: lib/cmdline.c:251 msgid "btrfs clone: failed to open source file" msgstr "btrfs clone: échec de l'ouverture du fichier source." #: lib/cmdline.c:257 #, fuzzy, c-format msgid "btrfs clone: error %i: failed to open dest file.%s" msgstr "btrfs clone: échec de l'ouverture du fichier de destination." #: lib/cmdline.c:259 msgid "" "\n" "\t(if target is a read-only snapshot then -r option is required)" msgstr "" #: lib/cmdline.c:295 #, c-format msgid "BTRFS_IOC_FILE_EXTENT_SAME returned error: (%d) %s" msgstr "BTRFS_IOC_FILE_EXTENT_SAME a retourné l'erreur: (%d) %s" #: lib/cmdline.c:298 msgid "Need to run as root user to clone to a read-only snapshot" msgstr "" #: lib/cmdline.c:300 #, c-format msgid "BTRFS_IOC_FILE_EXTENT_SAME returned status %d for file %s" msgstr "BTRFS_IOC_FILE_EXTENT_SAME a retourné le status %d pour le fichier %s" #: lib/cmdline.c:303 msgid "Files don't match - not cloned" msgstr "Les fichiers ne correspondent pas - aucun clonage" #: lib/cmdline.c:309 msgid "rmlint was not compiled with btrfs support." msgstr "rmlint n'a pas été complié avec le support btrfs" #: lib/cmdline.c:370 msgid "Input size is empty" msgstr "Taille entrée vide" #: lib/cmdline.c:378 msgid "This does not look like a number" msgstr "Cela ne semble pas correspondre à un chiffre" #: lib/cmdline.c:381 msgid "Negativ sizes are no good idea" msgstr "Une taille négative n'est pas une bonne idée" #: lib/cmdline.c:397 msgid "Given format specifier not found" msgstr "Format spécifié inconnu" #: lib/cmdline.c:429 msgid "Max is smaller than min" msgstr "Le maxi est plus petit que le mini" #: lib/cmdline.c:441 #, fuzzy msgid "cannot parse --size: " msgstr "impossible d'analyser --size: %s" #: lib/cmdline.c:497 #, fuzzy, c-format msgid "Adding -o %s as output failed" msgstr "Ajouter -o %s a fait échoué la sortie" #: lib/cmdline.c:509 #, fuzzy, c-format msgid "No format (format:key[=val]) specified in '%s'" msgstr "Aucun format (format:key[=val]) spécifié dans '%s'." #: lib/cmdline.c:519 #, fuzzy, c-format msgid "Missing key (format:key[=val]) in '%s'" msgstr "Clef (format:key[=val]) absente dans '%s'." #: lib/cmdline.c:534 #, c-format msgid "Invalid key `%s' for formatter `%s'" msgstr "Clef invalide `%s' pour le format `%s'" #: lib/cmdline.c:561 #, c-format msgid "Unable to parse factor \"%s\": error begins at %s" msgstr "Incapable d'analyser le facteur \"%s\": l'erreur débute à %s" #: lib/cmdline.c:571 #, c-format msgid "factor value is not in range [0-1]: %f" msgstr "La valeur du facteur n'est pas dans une plage de [0-1]: %f" #: lib/cmdline.c:583 #, fuzzy, c-format msgid "Unable to parse offset \"%s\": " msgstr "Incapable d'analyser l'offset \"%s\": %s" #: lib/cmdline.c:778 #, c-format msgid "Unable to parse time spec \"%s\"" msgstr "Incapable d'interpréter le temps spécifié \"%s\"" #: lib/cmdline.c:792 #, c-format msgid "-n %lu is newer than current time (%lu)." msgstr "-n %lu est plus récent que le temps actuel (%lu)." #: lib/cmdline.c:881 #, fuzzy msgid "Only up to -pp or down to -PP flags allowed" msgstr "Seules les options de -ppp à -P sont autorisées" #: lib/cmdline.c:933 #, fuzzy, c-format msgid "Invalid size description \"%s\": " msgstr "Définition de taille invalide \"%s\": %s" #: lib/cmdline.c:1125 msgid "Permissions string needs to be one or many of [rwx]" msgstr "Les permissions doivent être parmi un ou plusieurs [rwx]" #: lib/cmdline.c:1138 #, c-format msgid "%s may only contain [%s], not `%c`" msgstr "%s ne peut contenir que [%s], `%c` pas." #: lib/cmdline.c:1263 #, fuzzy msgid "Specifiyng both -o and -O is not allowed" msgstr "Utiliser simultanément -o et -O n'est pas autorisé" #: lib/cmdline.c:1283 msgid "Could not start graphical user interface." msgstr "Impossible de démarer l'interface graphique." #: lib/cmdline.c:1314 msgid "Specify max traversal depth" msgstr "Spécifier la profondeur de traversée maximale" #: lib/cmdline.c:1315 #, fuzzy msgid "Select originals by given criteria" msgstr "Critères initiaux" #: lib/cmdline.c:1316 #, fuzzy msgid "Sort rmlint output by given criteria" msgstr "Trier les groupes par certains critères" #: lib/cmdline.c:1317 msgid "Specify lint types" msgstr "Spécifier les types de doublons" #: lib/cmdline.c:1318 msgid "Specify size limits" msgstr "Spécifier les limites de taille" #: lib/cmdline.c:1319 #, fuzzy msgid "Choose hash algorithm" msgstr "Fonction de hachage inconnue: '%s'" #: lib/cmdline.c:1320 msgid "Add output (override default)" msgstr "Ajouter une sortie (remplace la valeur par défaut)" #: lib/cmdline.c:1321 msgid "Add output (add to defaults)" msgstr "Ajouter une sortie (ajouter aux valeurs par défaut)" #: lib/cmdline.c:1322 msgid "Newer than stamp file" msgstr "Plus récent que l'horodatage fichier" #: lib/cmdline.c:1323 msgid "Newer than timestamp" msgstr "Plus récent que l'horodatage" #: lib/cmdline.c:1324 msgid "Configure a formatter" msgstr "Configurer un format" #: lib/cmdline.c:1327 msgid "Enable progressbar" msgstr "Activer la barre de progression" #: lib/cmdline.c:1328 msgid "Be more verbose (-vvv for much more)" msgstr "Être plus verbeux (-vvv pour l'être encore plus)" #: lib/cmdline.c:1329 msgid "Be less verbose (-VVV for much less)" msgstr "Être moins verbeux (-VVV pour l'être encore moins)" #: lib/cmdline.c:1330 msgid "Re-output a json file" msgstr "Resortir un fichier json" #: lib/cmdline.c:1331 msgid "Test for equality of PATHS" msgstr "" #: lib/cmdline.c:1334 msgid "Be not that colorful" msgstr "Ne pas utiliser la couleur" #: lib/cmdline.c:1335 msgid "Find hidden files" msgstr "Trouver les fichiers cachés" #: lib/cmdline.c:1336 #, fuzzy msgid "Follow symlinks" msgstr "Mauvais lien(s) symbolique(s)" #: lib/cmdline.c:1337 #, fuzzy msgid "Ignore symlinks" msgstr "Mauvais lien(s) symbolique(s)" #: lib/cmdline.c:1338 msgid "Use more paranoid hashing" msgstr "Utiliser une fonction de hachage paranoïaque" #: lib/cmdline.c:1339 msgid "Do not cross mounpoints" msgstr "Ne pas traverser les points de montages" #: lib/cmdline.c:1340 msgid "Keep all tagged files" msgstr "Conserver tous les fichiers marqués" #: lib/cmdline.c:1341 msgid "Keep all untagged files" msgstr "Conserver tous les fichiers non marqués" #: lib/cmdline.c:1342 msgid "Must have twin in tagged dir" msgstr "Il doit y avoir un doublon dans le répertoire marqué" #: lib/cmdline.c:1343 msgid "Must have twin in untagged dir" msgstr "Il doit y avoir un doublon dans le répertoire non marqué" #: lib/cmdline.c:1344 msgid "Only find twins with same basename" msgstr "Chercher uniquement les doublons avec le même nom de fichier" #: lib/cmdline.c:1345 msgid "Only find twins with same extension" msgstr "Chercher uniquement les doublons avec la même extension" #: lib/cmdline.c:1346 msgid "Only find twins with same basename minus extension" msgstr "" "Chercher uniquement les doublons avec le même nom de fichier hors extension" #: lib/cmdline.c:1347 #, fuzzy msgid "Find duplicate directories" msgstr "Répertoire(s) dupliqué(s)" #: lib/cmdline.c:1348 #, fuzzy msgid "Only find directories with same file layout" msgstr "Chercher uniquement les doublons avec le même nom de fichier" #: lib/cmdline.c:1349 msgid "Only use files with certain permissions" msgstr "Ne prendre en compte que les fichiers avec certaines permissions" #: lib/cmdline.c:1350 #, fuzzy msgid "Ignore hardlink twins" msgstr "Mauvais lien(s) symbolique(s)" #: lib/cmdline.c:1351 msgid "Find hidden files in duplicate folders only" msgstr "Traiter uniquement les fichiers cachés des répertoires en doubles" #: lib/cmdline.c:1352 msgid "Consider duplicates only equal when mtime differs at max. T seconds" msgstr "" #: lib/cmdline.c:1355 msgid "Show the manpage" msgstr "Afficher la page de manuel" #: lib/cmdline.c:1356 msgid "Show the version & features" msgstr "Afficher la version et les fonctionnalités" #: lib/cmdline.c:1358 msgid "If installed, start the optional gui with all following args" msgstr "" "Si installé, démarrer l'interface graphique avec les arguments suivants" #: lib/cmdline.c:1359 msgid "" "Work like sha1sum for all supported hash algorithms (see also --hash --help)" msgstr "" "Fonctionne comme sha1sum pour tous les algorithmes de hachage (voir --hash --" "help)" #: lib/cmdline.c:1360 msgid "Clone extents from source to dest, if extents match" msgstr "" "Clonage d'extents de la source vers la destinations si les extents " "correspondent" #: lib/cmdline.c:1370 msgid "Report hardlinks as duplicates" msgstr "Considérer les liens en dur comme des doubles" #: lib/cmdline.c:1416 msgid "Cannot set current working directory" msgstr "Ne peut pas définir le répertoire de travail courant" #: lib/cmdline.c:1421 msgid "Cannot join commandline" msgstr "Impossible de joindre la ligne de commande" #: lib/cmdline.c:1432 msgid "[TARGET_DIR_OR_FILES …] [//] [TAGGED_TARGET_DIR_OR_FILES …] [-]" msgstr "[RÉPERTOIRE_OU_FICHIER …] [//] [ORIGINAL_RÉPERTOIRE_OU_FICHIER …] [-]" #: lib/cmdline.c:1450 msgid "" "rmlint finds space waste and other broken things on your filesystem and " "offers to remove it.\n" "It is especially good at finding duplicates and offers a big variety of " "options to handle them." msgstr "" "rmlint vous propose de récupérer l'espace perdu et de réparer certaines " "choses de votre système de fichiers.\n" "Il est particulièrement efficace pour dénicher les doublons et vous offre " "une grande variété de possibilités pour les traiter." #: lib/cmdline.c:1456 msgid "" "Only the most important options and options that alter the defaults are " "shown above.\n" "See the manpage (man 1 rmlint or rmlint --show-man) for far more detailed " "usage information,\n" "or http://rmlint.rtfd.org/en/latest/rmlint.1.html for the online manpage.\n" "Complementary tutorials can be found at: http://rmlint.rtfd.org" msgstr "" "Seules les options les plus importantes et qui modifient les réglages par " "défaut sont présentées ci-dessous.\n" "Consultez la page de manuel (man 1 rmlint ou rmlint --show-man) pour plus de " "détails et d'informations sur son utilisation.\n" "La page de manuel est disponible en ligne: http://rmlint.rtfd.org/en/latest/" "rmlint.1.html\n" "En complément des exemples et des tutoriaux sont proposés sur le site http://" "rmlint.rtfd.org" #: lib/cmdline.c:1487 msgid "" "--honour-dir-layout (-j) makes no sense without --merge-directories (-D)" msgstr "" #: lib/cmdline.c:1512 #, fuzzy msgid "can't specify both --keep-all-tagged and --keep-all-untagged" msgstr "" "impossible d'utiliser simultanément --keep-all-tagged et --keep-all-untagged" #: lib/cmdline.c:1515 #, fuzzy msgid "-q (--clamp-low) should be lower than -Q (--clamp-top)" msgstr "-q (--clamp-low) doit être plus petit que -Q (--clamp-top)!" #: lib/cmdline.c:1517 msgid "Not all given paths are valid. Aborting" msgstr "" #: lib/cmdline.c:1558 #, fuzzy msgid "No valid .json files given, aborting." msgstr "JSON cache est ne pas valide" #: lib/cmdline.c:1612 msgid "Using -D together with -c sh:clone is currently not possible. Sorry." msgstr "" #: lib/cmdline.c:1613 msgid "Either do not use -D, or attempt to run again with -Dj." msgstr "" #: lib/cmdline.c:1621 msgid "Not enough files for --equal (need at least two to compare)" msgstr "" #: lib/config.h:115 msgid "ERROR" msgstr "ERREUR" #: lib/config.h:120 msgid "WARNING" msgstr "AVERTISSEMENT" #: lib/config.h:125 msgid "INFO" msgstr "INFO" #: lib/config.h:130 msgid "DEBUG" msgstr "DEBUG" #~ msgid "caching is not supported due to missing json-glib library." #~ msgstr "Cache non supporté, librairie json-glib manquante." #~ msgid "Loading json-cache `%s'" #~ msgstr "Chargement de JSON Cache `%s'" #~ msgid "FAILED: %s\n" #~ msgstr "ERREUR: %s\n" #~ msgid "" #~ "BTRFS_IOC_FILE_EXTENT_SAME returned status -22 - you probably need kernel " #~ "> 4.2" #~ msgstr "" #~ "BTRFS_IOC_FILE_EXTENT_SAME a retourné le status -22 - vous avez " #~ "probablement besoins d'un noyau > 4.2" #~ msgid "--replay given; --with-metadata-cache will be ignored." #~ msgstr "--replay given; --with-metadata-cache seront ignorés" #, fuzzy #~ msgid "Unable to open tmp cache: %s" #~ msgstr "Incapable d'interpréter le temps spécifié \"%s\"" #, fuzzy #~ msgid "Unable to create cache attr `%s`: %s" #~ msgstr "Incapable d'analyser l'offset \"%s\": %s" #~ msgid "Add json cache file" #~ msgstr "Ajouter un fichier de cache json" #~ msgid "cannot create metadata cache (see above)" #~ msgstr "impossible d'ouvrir la mémoire de metadata (voir plus haut)" #~ msgid "Cannot close tmp cache: %s\n" #~ msgstr "échec de fermer: %s\n" #~ msgid "Hardlink file size changed during traversal: %s" #~ msgstr "La taille du lien en dur à changé depuis la traversée: %s" #~ msgid "Negative bytes_left_to_read for %s" #~ msgstr "Bytes restants négatifs pour %s" #~ msgid "Cannot figure out terminal width." #~ msgstr "Impossible de déterminer la largeur du terminal" #~ msgid "lint types after first should be prefixed with '+' or '-'" #~ msgstr "" #~ "Les types de doublons après le premier doivent être préfixés par '+' ou " #~ "'-'" #~ msgid "or they would over-ride previously set options: [%s]" #~ msgstr "ou ils écraserons les options précédemment renseignées: [%s]" rmlint-2.6.1/po/rmlint.pot000066400000000000000000000374311312046612000154770ustar00rootroot00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the rmlint package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: rmlint 2.5.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-06-03 22:16+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: src/rmlint.c:78 #, c-format msgid "Aborting due to a fatal error. (signal received: %s)" msgstr "" #: src/rmlint.c:80 msgid "Please file a bug report (See rmlint -h)" msgstr "" #: lib/formats/pretty.c:34 msgid "Bad symlink(s)" msgstr "" #: lib/formats/pretty.c:35 msgid "Empty dir(s)" msgstr "" #: lib/formats/pretty.c:36 msgid "Non stripped binarie(s)" msgstr "" #: lib/formats/pretty.c:37 msgid "Bad UID(s)" msgstr "" #: lib/formats/pretty.c:38 msgid "Bad GID(s)" msgstr "" #: lib/formats/pretty.c:39 msgid "Bad UID and GID(s)" msgstr "" #: lib/formats/pretty.c:40 msgid "Empty file(s)" msgstr "" #: lib/formats/pretty.c:41 msgid "Duplicate(s)" msgstr "" #: lib/formats/pretty.c:42 msgid "Duplicate Directorie(s)" msgstr "" #: lib/formats/summary.c:54 #, c-format msgid " file(s) after investigation, nothing to search through.\n" msgstr "" #: lib/formats/summary.c:69 #, c-format msgid "Early shutdown, probably not all lint was found.\n" msgstr "" #: lib/formats/summary.c:74 #, c-format msgid "" "Note: Please use the saved script below for removal, not the above output." msgstr "" #: lib/formats/summary.c:87 #, c-format msgid "In total %s files, whereof %s are duplicates in %s groups.\n" msgstr "" #: lib/formats/summary.c:95 #, c-format msgid "This equals %s%s%s of duplicates which could be removed.\n" msgstr "" #: lib/formats/summary.c:102 #, c-format msgid "other suspicious item(s) found, which may vary in size.\n" msgstr "" #: lib/formats/summary.c:107 #, c-format msgid "Scanning took in total %s%s%s. Is that good enough?\n" msgstr "" #: lib/formats/summary.c:143 #, c-format msgid "Wrote a %s%s%s file to: %s%s%s\n" msgstr "" #: lib/formats/stats.c:52 #, c-format msgid "No shred stats.\n" msgstr "" #: lib/formats/stats.c:71 #, c-format msgid "" "%sDuplicate finding stats (includes hardlinks):%s\n" "\n" msgstr "" #: lib/formats/stats.c:75 #, c-format msgid "%s%15s%s bytes of originals\n" msgstr "" #: lib/formats/stats.c:79 #, c-format msgid "%s%15s%s bytes of duplicates\n" msgstr "" #: lib/formats/stats.c:83 #, c-format msgid "%s%15s%s bytes of non-duplicates\n" msgstr "" #: lib/formats/stats.c:87 #, c-format msgid "%s%15s%s bytes of files data actually read\n" msgstr "" #: lib/formats/stats.c:90 #, c-format msgid "%s%15d%s Files in total\n" msgstr "" #: lib/formats/stats.c:92 #, c-format msgid "%s%15ld%s Duplicate files\n" msgstr "" #: lib/formats/stats.c:94 #, c-format msgid "%s%15ld%s Groups in total\n" msgstr "" #: lib/formats/stats.c:96 #, c-format msgid "%s%15ld%s Other lint items\n" msgstr "" #: lib/formats/stats.c:104 #, c-format msgid "%s%15s%s of time spent scanning\n" msgstr "" #: lib/formats/stats.c:122 #, c-format msgid "%s%15s%s Algorithm efficiency on total files basis\n" msgstr "" #: lib/formats/stats.c:124 #, c-format msgid "%s%15s%s Algorithm efficiency on duplicate file basis\n" msgstr "" #: lib/formats/progressbar.c:76 msgid "reduces files to" msgstr "" #: lib/formats/progressbar.c:134 msgid "Traversing" msgstr "" #: lib/formats/progressbar.c:135 msgid "usable files" msgstr "" #: lib/formats/progressbar.c:138 msgid "ignored files / folders" msgstr "" #: lib/formats/progressbar.c:145 msgid "Preprocessing" msgstr "" #: lib/formats/progressbar.c:145 msgid "found" msgstr "" #: lib/formats/progressbar.c:146 msgid "other lint" msgstr "" #: lib/formats/progressbar.c:166 msgid "Matching" msgstr "" #: lib/formats/progressbar.c:167 msgid "dupes of" msgstr "" #: lib/formats/progressbar.c:168 msgid "originals" msgstr "" #: lib/formats/progressbar.c:170 msgid "to scan in" msgstr "" #: lib/formats/progressbar.c:171 msgid "files" msgstr "" #: lib/formats/progressbar.c:180 msgid "Merging files into directories (stand by...)" msgstr "" #: lib/formats/sh.c:546 #, c-format msgid "%s is an invalid handler." msgstr "" #: lib/hasher.c:310 #, c-format msgid "Something went wrong reading %s; expected %li bytes, got %li; ignoring" msgstr "" #: lib/utilities.c:315 #, c-format msgid "cannot open file '%s' for nonstripped test: " msgstr "" #: lib/utilities.c:322 msgid "ELF Library is out of date!" msgstr "" #: lib/utilities.c:662 #, c-format msgid "`%s` mount detected at %s (#%u); Ignoring all files in it.\n" msgstr "" #: lib/preprocess.c:236 msgid "Pattern has to start with `<`" msgstr "" #: lib/preprocess.c:264 #, c-format msgid "`<` or `>` imbalance: %d" msgstr "" #: lib/preprocess.c:271 msgid "empty pattern" msgstr "" #: lib/preprocess.c:313 msgid "no pattern given in <> after 'r' or 'x'" msgstr "" #: lib/preprocess.c:329 #, c-format msgid "Cannot add more than %lu regex patterns." msgstr "" #: lib/preprocess.c:341 msgid "Error while parsing sortcriteria patterns: " msgstr "" #: lib/replay.c:107 msgid "No valid json cache (no array in /)" msgstr "" #: lib/replay.c:154 lib/cmdline.c:729 #, c-format msgid "lint type '%s' not recognised" msgstr "" #: lib/replay.c:181 #, c-format msgid "modification time of `%s` changed. Ignoring." msgstr "" #: lib/replay.c:486 #, c-format msgid "Loading json-results `%s'" msgstr "" #: lib/replay.c:597 msgid "json-glib is needed for using --replay." msgstr "" #: lib/replay.c:598 msgid "Please recompile `rmlint` with it installed." msgstr "" #: lib/traverse.c:318 #, c-format msgid "filesystem loop detected at %s (skipping)" msgstr "" #: lib/traverse.c:323 #, c-format msgid "cannot read directory %s: %s" msgstr "" #: lib/traverse.c:336 #, c-format msgid "error %d in fts_read for %s (skipping)" msgstr "" #: lib/traverse.c:365 #, c-format msgid "Added big file %s" msgstr "" #: lib/traverse.c:367 #, c-format msgid "cannot stat file %s (skipping)" msgstr "" #: lib/traverse.c:414 #, c-format msgid "Unknown fts_info flag %d for file %s" msgstr "" #: lib/traverse.c:434 #, c-format msgid "'%s': fts_read failed on %s" msgstr "" #: lib/cfg.c:99 lib/hash-utility.c:227 #, c-format msgid "Can't open directory or file \"%s\": %s" msgstr "" #: lib/cfg.c:106 #, c-format msgid "Can't get real path for directory or file \"%s\": %s" msgstr "" #: lib/session.c:142 msgid "Received Interrupt, stopping..." msgstr "" #: lib/session.c:156 msgid "Received second Interrupt, stopping hard." msgstr "" #: lib/formats.c:219 #, c-format msgid "No such new_handler with this name: %s" msgstr "" #: lib/formats.c:249 #, c-format msgid "Unable to open file for writing: %s" msgstr "" #: lib/hash-utility.c:56 lib/cmdline.c:904 #, c-format msgid "Unknown hash algorithm: '%s'" msgstr "" #: lib/hash-utility.c:139 msgid "Digest type [BLAKE2B]" msgstr "" #: lib/hash-utility.c:140 msgid "Number of hashing threads [8]" msgstr "" #: lib/hash-utility.c:141 msgid "Print hash as self identifying multihash" msgstr "" #: lib/hash-utility.c:142 msgid "Megabytes read buffer [256 MB]" msgstr "" #: lib/hash-utility.c:143 msgid "" "Print hashes in order completed, not in order entered (reduces memory usage)" msgstr "" #: lib/hash-utility.c:144 msgid "Space-separated list of files" msgstr "" #: lib/hash-utility.c:150 lib/hash-utility.c:152 msgid "Hash a list of files" msgstr "" #: lib/hash-utility.c:158 #, c-format msgid "" "Multi-threaded file digest (hash) calculator.\n" "\n" " Available digest types:\n" " %s\n" "\n" " Versions with different bit numbers:\n" " %s\n" "\n" " Supported, but not useful:\n" " %s\n" msgstr "" #: lib/hash-utility.c:194 msgid "No valid paths given" msgstr "" #: lib/hash-utility.c:230 #, c-format msgid "Directories are not supported: %s" msgstr "" #: lib/hash-utility.c:239 #, c-format msgid "%s: Unknown file type" msgstr "" #: lib/cmdline.c:79 #, c-format msgid "compiled with:" msgstr "" #: lib/cmdline.c:85 #, c-format msgid "" "rmlint was written by Christopher Pahl and Daniel " "Thomas." msgstr "" #: lib/cmdline.c:88 #, c-format msgid "" "The code at https://github.com/sahib/rmlint is licensed under the terms of " "the GPLv3." msgstr "" #: lib/cmdline.c:113 msgid "You seem to have no manpage for rmlint." msgstr "" #: lib/cmdline.c:114 msgid "Please run rmlint --help to show the regular help." msgstr "" #: lib/cmdline.c:116 msgid "" "Alternatively, visit https://rmlint.rtfd.org for the online documentation" msgstr "" #: lib/cmdline.c:237 msgid "Usage: rmlint --btrfs-clone [-r] source dest\n" msgstr "" #: lib/cmdline.c:251 msgid "btrfs clone: failed to open source file" msgstr "" #: lib/cmdline.c:257 #, c-format msgid "btrfs clone: error %i: failed to open dest file.%s" msgstr "" #: lib/cmdline.c:259 msgid "" "\n" "\t(if target is a read-only snapshot then -r option is required)" msgstr "" #: lib/cmdline.c:295 #, c-format msgid "BTRFS_IOC_FILE_EXTENT_SAME returned error: (%d) %s" msgstr "" #: lib/cmdline.c:298 msgid "Need to run as root user to clone to a read-only snapshot" msgstr "" #: lib/cmdline.c:300 #, c-format msgid "BTRFS_IOC_FILE_EXTENT_SAME returned status %d for file %s" msgstr "" #: lib/cmdline.c:303 msgid "Files don't match - not cloned" msgstr "" #: lib/cmdline.c:309 msgid "rmlint was not compiled with btrfs support." msgstr "" #: lib/cmdline.c:370 msgid "Input size is empty" msgstr "" #: lib/cmdline.c:378 msgid "This does not look like a number" msgstr "" #: lib/cmdline.c:381 msgid "Negativ sizes are no good idea" msgstr "" #: lib/cmdline.c:397 msgid "Given format specifier not found" msgstr "" #: lib/cmdline.c:429 msgid "Max is smaller than min" msgstr "" #: lib/cmdline.c:441 msgid "cannot parse --size: " msgstr "" #: lib/cmdline.c:497 #, c-format msgid "Adding -o %s as output failed" msgstr "" #: lib/cmdline.c:509 #, c-format msgid "No format (format:key[=val]) specified in '%s'" msgstr "" #: lib/cmdline.c:519 #, c-format msgid "Missing key (format:key[=val]) in '%s'" msgstr "" #: lib/cmdline.c:534 #, c-format msgid "Invalid key `%s' for formatter `%s'" msgstr "" #: lib/cmdline.c:561 #, c-format msgid "Unable to parse factor \"%s\": error begins at %s" msgstr "" #: lib/cmdline.c:571 #, c-format msgid "factor value is not in range [0-1]: %f" msgstr "" #: lib/cmdline.c:583 #, c-format msgid "Unable to parse offset \"%s\": " msgstr "" #: lib/cmdline.c:778 #, c-format msgid "Unable to parse time spec \"%s\"" msgstr "" #: lib/cmdline.c:792 #, c-format msgid "-n %lu is newer than current time (%lu)." msgstr "" #: lib/cmdline.c:881 msgid "Only up to -pp or down to -PP flags allowed" msgstr "" #: lib/cmdline.c:933 #, c-format msgid "Invalid size description \"%s\": " msgstr "" #: lib/cmdline.c:1125 msgid "Permissions string needs to be one or many of [rwx]" msgstr "" #: lib/cmdline.c:1138 #, c-format msgid "%s may only contain [%s], not `%c`" msgstr "" #: lib/cmdline.c:1263 msgid "Specifiyng both -o and -O is not allowed" msgstr "" #: lib/cmdline.c:1283 msgid "Could not start graphical user interface." msgstr "" #: lib/cmdline.c:1314 msgid "Specify max traversal depth" msgstr "" #: lib/cmdline.c:1315 msgid "Select originals by given criteria" msgstr "" #: lib/cmdline.c:1316 msgid "Sort rmlint output by given criteria" msgstr "" #: lib/cmdline.c:1317 msgid "Specify lint types" msgstr "" #: lib/cmdline.c:1318 msgid "Specify size limits" msgstr "" #: lib/cmdline.c:1319 msgid "Choose hash algorithm" msgstr "" #: lib/cmdline.c:1320 msgid "Add output (override default)" msgstr "" #: lib/cmdline.c:1321 msgid "Add output (add to defaults)" msgstr "" #: lib/cmdline.c:1322 msgid "Newer than stamp file" msgstr "" #: lib/cmdline.c:1323 msgid "Newer than timestamp" msgstr "" #: lib/cmdline.c:1324 msgid "Configure a formatter" msgstr "" #: lib/cmdline.c:1327 msgid "Enable progressbar" msgstr "" #: lib/cmdline.c:1328 msgid "Be more verbose (-vvv for much more)" msgstr "" #: lib/cmdline.c:1329 msgid "Be less verbose (-VVV for much less)" msgstr "" #: lib/cmdline.c:1330 msgid "Re-output a json file" msgstr "" #: lib/cmdline.c:1331 msgid "Test for equality of PATHS" msgstr "" #: lib/cmdline.c:1334 msgid "Be not that colorful" msgstr "" #: lib/cmdline.c:1335 msgid "Find hidden files" msgstr "" #: lib/cmdline.c:1336 msgid "Follow symlinks" msgstr "" #: lib/cmdline.c:1337 msgid "Ignore symlinks" msgstr "" #: lib/cmdline.c:1338 msgid "Use more paranoid hashing" msgstr "" #: lib/cmdline.c:1339 msgid "Do not cross mounpoints" msgstr "" #: lib/cmdline.c:1340 msgid "Keep all tagged files" msgstr "" #: lib/cmdline.c:1341 msgid "Keep all untagged files" msgstr "" #: lib/cmdline.c:1342 msgid "Must have twin in tagged dir" msgstr "" #: lib/cmdline.c:1343 msgid "Must have twin in untagged dir" msgstr "" #: lib/cmdline.c:1344 msgid "Only find twins with same basename" msgstr "" #: lib/cmdline.c:1345 msgid "Only find twins with same extension" msgstr "" #: lib/cmdline.c:1346 msgid "Only find twins with same basename minus extension" msgstr "" #: lib/cmdline.c:1347 msgid "Find duplicate directories" msgstr "" #: lib/cmdline.c:1348 msgid "Only find directories with same file layout" msgstr "" #: lib/cmdline.c:1349 msgid "Only use files with certain permissions" msgstr "" #: lib/cmdline.c:1350 msgid "Ignore hardlink twins" msgstr "" #: lib/cmdline.c:1351 msgid "Find hidden files in duplicate folders only" msgstr "" #: lib/cmdline.c:1352 msgid "Consider duplicates only equal when mtime differs at max. T seconds" msgstr "" #: lib/cmdline.c:1355 msgid "Show the manpage" msgstr "" #: lib/cmdline.c:1356 msgid "Show the version & features" msgstr "" #: lib/cmdline.c:1358 msgid "If installed, start the optional gui with all following args" msgstr "" #: lib/cmdline.c:1359 msgid "" "Work like sha1sum for all supported hash algorithms (see also --hash --help)" msgstr "" #: lib/cmdline.c:1360 msgid "Clone extents from source to dest, if extents match" msgstr "" #: lib/cmdline.c:1370 msgid "Report hardlinks as duplicates" msgstr "" #: lib/cmdline.c:1416 msgid "Cannot set current working directory" msgstr "" #: lib/cmdline.c:1421 msgid "Cannot join commandline" msgstr "" #: lib/cmdline.c:1432 msgid "[TARGET_DIR_OR_FILES …] [//] [TAGGED_TARGET_DIR_OR_FILES …] [-]" msgstr "" #: lib/cmdline.c:1450 msgid "" "rmlint finds space waste and other broken things on your filesystem and " "offers to remove it.\n" "It is especially good at finding duplicates and offers a big variety of " "options to handle them." msgstr "" #: lib/cmdline.c:1456 msgid "" "Only the most important options and options that alter the defaults are " "shown above.\n" "See the manpage (man 1 rmlint or rmlint --show-man) for far more detailed " "usage information,\n" "or http://rmlint.rtfd.org/en/latest/rmlint.1.html for the online manpage.\n" "Complementary tutorials can be found at: http://rmlint.rtfd.org" msgstr "" #: lib/cmdline.c:1487 msgid "" "--honour-dir-layout (-j) makes no sense without --merge-directories (-D)" msgstr "" #: lib/cmdline.c:1512 msgid "can't specify both --keep-all-tagged and --keep-all-untagged" msgstr "" #: lib/cmdline.c:1515 msgid "-q (--clamp-low) should be lower than -Q (--clamp-top)" msgstr "" #: lib/cmdline.c:1517 msgid "Not all given paths are valid. Aborting" msgstr "" #: lib/cmdline.c:1558 msgid "No valid .json files given, aborting." msgstr "" #: lib/cmdline.c:1612 msgid "Using -D together with -c sh:clone is currently not possible. Sorry." msgstr "" #: lib/cmdline.c:1613 msgid "Either do not use -D, or attempt to run again with -Dj." msgstr "" #: lib/cmdline.c:1621 msgid "Not enough files for --equal (need at least two to compare)" msgstr "" #: lib/config.h:115 msgid "ERROR" msgstr "" #: lib/config.h:120 msgid "WARNING" msgstr "" #: lib/config.h:125 msgid "INFO" msgstr "" #: lib/config.h:130 msgid "DEBUG" msgstr "" rmlint-2.6.1/src/000077500000000000000000000000001312046612000136075ustar00rootroot00000000000000rmlint-2.6.1/src/SConscript000066400000000000000000000013031312046612000156160ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 import os Import('env') Import('VERSION_MAJOR') Import('VERSION_MINOR') Import('VERSION_PATCH') Import('VERSION_NAME') Import('create_uninstall_target') Import('library') programs = [] for progname in ['rmlint']: print("Building " + progname) program = env.Program( '../' + progname, [progname + '.c', library] ) env.Depends(program, [library]) programs.append(program) if 'uninstall' in COMMAND_LINE_TARGETS: create_uninstall_target(env, "$PREFIX/bin/" + progname) if 'install' in COMMAND_LINE_TARGETS: env.Alias('install', env.InstallPerm('$PREFIX/bin', programs, 0755)) env.Default(programs) Return('programs') rmlint-2.6.1/src/rmlint.c000066400000000000000000000074441312046612000152710ustar00rootroot00000000000000/** * This file is part of rmlint. * * rmlint is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * rmlint is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with rmlint. If not, see . * ** Authors: * * - Christopher Pahl 2010-2017 (https://github.com/sahib) * - Daniel T. 2014-2017 (https://github.com/SeeSpotRun) * ** Hosted on http://github.com/sahib/rmlint * **/ #include #include #include #include "../lib/api.h" #include "../lib/config.h" #if HAVE_JSON_GLIB && !GLIB_CHECK_VERSION(2, 36, 0) #include #endif static char *remove_color_escapes(char *message) { char *dst = message; for(char *src = message; src && *src; src++) { if(*src == '\x1b') { src = strchr(src, 'm'); } else { *dst++ = *src; } } if(dst) { *dst = 0; } return message; } static void logging_callback(_UNUSED const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer user_data) { RmSession *session = user_data; if(session->cfg->verbosity >= log_level) { if(!session->cfg->with_stderr_color) { message = remove_color_escapes((char *)message); } fputs(message, stderr); } } static void signal_handler(int signum) { switch(signum) { case SIGINT: rm_session_abort(); break; case SIGFPE: case SIGABRT: case SIGSEGV: /* logging messages might have unexpected effects in a signal handler, * but that's probably the least thing we have to worry about in case of * a segmentation fault. */ rm_log_error_line(_("Aborting due to a fatal error. (signal received: %s)"), g_strsignal(signum)); rm_log_error_line(_("Please file a bug report (See rmlint -h)")); exit(1); default: break; } } static void i18n_init(void) { #if HAVE_LIBINTL /* Tell gettext where to search for .mo files */ bindtextdomain(RM_GETTEXT_PACKAGE, INSTALL_PREFIX "/share/locale"); bind_textdomain_codeset(RM_GETTEXT_PACKAGE, "UTF-8"); /* Make printing umlauts work */ setlocale(LC_ALL, ""); /* Say we're the textdomain "rmlint" * so gettext can find us in * /usr/share/locale/de/LC_MESSAGEs/rmlint.mo * */ textdomain(RM_GETTEXT_PACKAGE); #endif } int main(int argc, const char **argv) { int exit_state = EXIT_FAILURE; RmCfg cfg; rm_cfg_set_default(&cfg); RmSession session; rm_session_init(&session, &cfg); /* call logging_callback on every message */ g_log_set_default_handler(logging_callback, &session); i18n_init(); struct sigaction sa; sigemptyset(&sa.sa_mask); sa.sa_flags = 0; sa.sa_handler = signal_handler; sigaction(SIGINT, &sa, NULL); sigaction(SIGSEGV, &sa, NULL); sigaction(SIGFPE, &sa, NULL); sigaction(SIGABRT, &sa, NULL); #if !GLIB_CHECK_VERSION(2, 36, 0) /* Very old glib. Debian, Im looking at you. */ g_type_init(); #endif /* Parse commandline */ if(rm_cmd_parse_args(argc, (char **)argv, &session) != 0) { /* Do all the real work */ exit_state = rm_cmd_main(&session); } rm_session_clear(&session); return exit_state; } rmlint-2.6.1/test-requirements.txt000066400000000000000000000000411312046612000172540ustar00rootroot00000000000000nose==1.3.7 parameterized==0.6.1 rmlint-2.6.1/tests/000077500000000000000000000000001312046612000141625ustar00rootroot00000000000000rmlint-2.6.1/tests/README.rst000077700000000000000000000000001312046612000212162../docs/testing.rstustar00rootroot00000000000000rmlint-2.6.1/tests/SConscript000066400000000000000000000012551312046612000161770ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 Import('env') Import('programs') import subprocess def run_tests(target=None, source=None, env=None): names = ['nosetests-3.3', 'nosetests-3', 'python3-nosetests', 'nosetests3', 'nosetests'] for name in names: print('Found nosetests as ,,{}"'.format(name)) if not subprocess.call(name + ' -s -v -a !slow', shell=True): Exit(0) print('Unable to find nosetests, tried these: ' + str(names)) Exit(-1) if 'test' in COMMAND_LINE_TARGETS: env.Alias('test', env.Depends( env.Command('run_tests', None, Action(run_tests, "Running tests")), programs ) ) rmlint-2.6.1/tests/__init__.py000066400000000000000000000003731312046612000162760ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 def teardown(): from .utils import usual_teardown_func try: usual_teardown_func() except OSError: pass def setup(): from .utils import usual_setup_func usual_setup_func() rmlint-2.6.1/tests/test_formatters/000077500000000000000000000000001312046612000174075ustar00rootroot00000000000000rmlint-2.6.1/tests/test_formatters/test_csv.py000066400000000000000000000020001312046612000216030ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * import csv def csv_string_to_data(csv_dump): data = list(csv.reader(csv_dump.splitlines())) return data[1:] @with_setup(usual_setup_func, usual_teardown_func) def test_simple(): create_file('1234', 'a') create_file('1234', 'b') create_file('1234', 'stupid\'file,name') head, *data, footer, csv = run_rmlint('-S a', outputs=['csv']) (type_1, path_1, size_1, cksum_1), \ (type_2, path_2, size_2, cksum_2), \ (type_3, path_3, size_3, cksum_3) = \ csv_string_to_data(csv) assert int(size_1) == 4 assert int(size_2) == 4 assert int(size_3) == 4 assert path_1.endswith('/a') assert path_2.endswith('/b') assert path_3.endswith('/stupid\'file,name') assert type_1 == 'duplicate_file' assert type_2 == 'duplicate_file' assert type_3 == 'duplicate_file' assert cksum_1 != '0' * 32 assert cksum_2 != '0' * 32 assert cksum_3 != '0' * 32 rmlint-2.6.1/tests/test_formatters/test_json.py000066400000000000000000000011401312046612000217650ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_simple(): full_path_a = create_file('x', '\t\r\"\b\f\\') full_path_b = create_file('x', '\"\t\n2134124') head, *data, footer = run_rmlint('-S a') assert len(data) == 2 for i in range(2): with open(data[i]['path']) as f: assert len(f.read()) == 1 assert os.stat(full_path_a).st_size == data[0]['size'] assert os.stat(full_path_b).st_size == data[1]['size'] assert footer['total_lint_size'] == 1 rmlint-2.6.1/tests/test_formatters/test_others.py000066400000000000000000000023131312046612000223230ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_just_call_it(): create_file('1234', 'a') create_file('1234', 'b') # This test is more or less here to make sure some util functions # are called from our tests. We don't test any results; basically # only if they fatally crash or create valgrind errors. # Also, you shouldn't see any output on the test run. run_rmlint( '-S a', outputs=['fdupes', 'stamp', 'progressbar', 'summary', 'pretty', 'py'] ) # Check if the -g option does weird things. (i.e. segfault) subprocess.check_output(['./rmlint', '-g', '-c', 'progressbar:ascii', TESTDIR_NAME]) subprocess.check_output(['./rmlint', '-g', '-c', 'progressbar:fancy', TESTDIR_NAME]) subprocess.check_output(['./rmlint', '-g', '-O' , 'fdupes', TESTDIR_NAME]) subprocess.check_output(['./rmlint', '-g', TESTDIR_NAME]) for silly_option in ['-ppp', '-PPP']: try: subprocess.check_output(['./rmlint', '-VVV', silly_option, TESTDIR_NAME]) except subprocess.CalledProcessError: pass else: assert False rmlint-2.6.1/tests/test_formatters/test_py.py000066400000000000000000000034221312046612000214510ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * import subprocess @with_setup(usual_setup_func, usual_teardown_func) def test_paranoia(): create_file('xxx', 'a') create_file('xxx', 'b') create_file('xxx', 'c') create_file('xxx', 'd') create_link('a', 'hardlink_a', symlink=False) head, *data, footer = run_rmlint('-S a -o py:{t}/rmlint.py'.format(t=TESTDIR_NAME)) # subprocess.call('cat ' + os.path.join(TESTDIR_NAME, 'rmlint.py'), shell=True) assert footer['duplicate_sets'] == 1 assert footer['total_lint_size'] == 9 assert footer['total_files'] == 5 # 1 is ignored as own output assert footer['duplicates'] == 4 with open(os.path.join(TESTDIR_NAME, 'b'), 'w') as handle: handle.write('yyy') with open(os.path.join(TESTDIR_NAME, 'c'), 'w') as handle: handle.write('xxxx') text = subprocess.check_output([os.path.join(TESTDIR_NAME, 'rmlint.py'), '-d', '-p']) text = text.decode('utf-8') # subprocess.call('ls -l ' + TESTDIR_NAME, shell=True) head, *data, footer = run_rmlint('-S a -o py:{t}/rmlint.py'.format(t=TESTDIR_NAME)) assert footer['duplicate_sets'] == 1 assert footer['total_lint_size'] == 0 assert footer['total_files'] == 4 # + 1 assert footer['duplicates'] == 1 assert 'Content differs' in text assert 'Size differs' in text assert 'Same inode' in text text = subprocess.check_output([os.path.join(TESTDIR_NAME, 'rmlint.py'), '-d', '-p']) head, *data, footer = run_rmlint('-S a -o py:{t}/rmlint.py'.format(t=TESTDIR_NAME)) # Nothing should change. assert footer['duplicate_sets'] == 1 assert footer['total_lint_size'] == 0 assert footer['total_files'] == 4 # + 1 assert footer['duplicates'] == 1 rmlint-2.6.1/tests/test_formatters/test_sh.py000066400000000000000000000156731312046612000214460ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * import subprocess from parameterized import parameterized def run_shell_script(shell, sh_path, *args): return subprocess.check_output([ os.path.join("/bin", shell), sh_path, ] + list(args), shell=False ).decode("utf-8") @with_setup(usual_setup_func, usual_teardown_func) @parameterized([("sh", ), ("bash", ), ("dash", )]) def test_basic(shell): create_file('xxx', 'a') create_file('xxx', 'b') create_file('yyy', 'dir_a/a') create_file('zzz', 'dir_a/b') create_file('zzz', 'dir_b/a') create_file('yyy', 'dir_b/b') create_file('', 'empty') create_file('aaa', 'aaa') create_link('aaa', 'link_aaa', symlink=True) os.remove(os.path.join(TESTDIR_NAME, 'aaa')) head, *data, footer = run_rmlint('-D -S a -o sh:{t}/rmlint.sh'.format(t=TESTDIR_NAME)) # subprocess.call('cat ' + os.path.join(TESTDIR_NAME, 'rmlint.sh'), shell=True) assert footer['duplicate_sets'] == 3 assert footer['total_lint_size'] == 9 assert footer['total_files'] == 8 # + 1 assert footer['duplicates'] == 3 # Dry run first; check if it did not accidentally delete something. sh_path = os.path.join(TESTDIR_NAME, 'rmlint.sh') text = run_shell_script(shell, sh_path, "-dn") head, *data, footer = run_rmlint('-D -S a') assert footer['duplicate_sets'] == 3 assert footer['total_lint_size'] == 9 assert footer['total_files'] == 9 assert footer['duplicates'] == 3 text = run_shell_script(shell, sh_path, "-d") head, *data, footer = run_rmlint('-D -S a') assert footer['duplicate_sets'] == 0 assert footer['total_lint_size'] == 0 assert footer['total_files'] == 3 assert footer['duplicates'] == 0 assert '/dir_a' in text assert '/a' in text @parameterized([("sh", ), ("bash", ), ("dash", )]) @with_setup(usual_setup_func, usual_teardown_func) def test_paranoia(shell): create_file('xxx', 'a') create_file('xxx', 'b') create_file('xxx', 'c') create_link('a', 'hardlink_a', symlink=False) head, *data, footer = run_rmlint( '-S a -o sh:{t}/rmlint.sh'.format(t=TESTDIR_NAME) ) assert footer['duplicate_sets'] == 1 assert footer['total_lint_size'] == 6 assert footer['total_files'] == 4 # + 1 assert footer['duplicates'] == 3 # Modify c after running rmlint: with open(os.path.join(TESTDIR_NAME, 'c'), 'w') as handle: handle.write('xxxx') sh_script = os.path.join(TESTDIR_NAME, 'rmlint.sh') text = run_shell_script(shell, sh_script, '-d', '-p', '-x') # Change back 'c': with open(os.path.join(TESTDIR_NAME, 'c'), 'w') as handle: handle.write('xxx') head, *data, footer = run_rmlint( '-S a -o sh:{t}/rmlint.sh'.format(t=TESTDIR_NAME) ) assert footer['duplicate_sets'] == 1 assert footer['total_lint_size'] == 3 assert footer['total_files'] == 2 # +1 assert footer['duplicates'] == 1 assert 'files no longer identical' in text # Remove original: os.remove(os.path.join(TESTDIR_NAME, 'a')) text = run_shell_script(shell, sh_script, '-d', '-p') head, *data, footer = run_rmlint('-S a -o sh:{t}/rmlint.sh'.format(t=TESTDIR_NAME)) assert 'original has disappeared' in text assert footer['duplicate_sets'] == 0 assert footer['total_lint_size'] == 0 assert footer['total_files'] == 1 # + 1 assert footer['duplicates'] == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_anon_pipe(): create_file('xxx', 'long-dummy-file-1') create_file('xxx', 'long-dummy-file-2') data = run_rmlint( "-o sh:>(cat)", force_no_pendantic=True, directly_return_output=True, use_shell=True ) assert b'/long-dummy-file-1' in data assert b'/long-dummy-file-2' in data @parameterized([("sh", ), ("bash", ), ("dash", )]) @with_setup(usual_setup_func, usual_teardown_func) def test_hardlink_duplicate_directories(shell): create_file('xxx', 'dir_a/x') create_file('xxx', 'dir_b/x') sh_path = os.path.join(TESTDIR_NAME, "result.sh") header, *data, footer = run_rmlint( "-D -S a -c sh:link -o sh:{}".format(sh_path), ) assert len(data) == 2 assert data[0]["path"].endswith("dir_a") assert data[1]["path"].endswith("dir_b") run_shell_script(shell, sh_path, "-d") full_dupe_a = os.path.join(TESTDIR_NAME, "dir_a/x") full_dupe_b = os.path.join(TESTDIR_NAME, "dir_b/x") assert os.stat(full_dupe_a).st_ino == os.stat(full_dupe_b).st_ino def _check_if_empty_dirs_deleted(shell, inverse_order, sh_path, data): run_shell_script(shell, sh_path, "-dc") if inverse_order: assert not os.path.exists(data[1]["path"]) assert not os.path.exists(os.path.join(TESTDIR_NAME, "deep/a")) assert os.path.exists(data[0]["path"]) else: assert os.path.exists(data[0]["path"]) assert not os.path.exists(data[1]["path"]) @parameterized([ ("sh", False), ("bash", False), ("dash", False), ("sh", True), ("bash", True), ("dash", True) ]) @with_setup(usual_setup_func, usual_teardown_func) def test_remove_empty_dirs(shell, inverse_order): create_file('xxx', 'deep/a/b/c/d/e/1') create_file('xxx', 'deep/x/2') sh_path = os.path.join(TESTDIR_NAME, "result.sh") header, *data, footer = run_rmlint( "-S {} -o sh:{}".format( "A" if inverse_order else "a", sh_path ), ) assert len(data) == 2 if inverse_order: assert data[0]["path"].endswith("x/2") assert data[0]["is_original"] is True assert data[1]["path"].endswith("e/1") assert data[1]["is_original"] is False else: assert data[0]["path"].endswith("e/1") assert data[0]["is_original"] is True assert data[1]["path"].endswith("x/2") assert data[1]["is_original"] is False _check_if_empty_dirs_deleted(shell, inverse_order, sh_path, data) @parameterized([ ("sh", False), ("bash", False), ("dash", False), ("sh", True), ("bash", True), ("dash", True) ]) @with_setup(usual_setup_func, usual_teardown_func) def test_remove_empty_dirs_with_dupe_dirs(shell, inverse_order): create_file('xxx', 'deep/a/b/c/d/e/1') create_file('xxx', 'deep/x/1') sh_path = os.path.join(TESTDIR_NAME, "result.sh") header, *data, footer = run_rmlint( "-S {} -Dj -o sh:{}".format( "A" if inverse_order else "a", sh_path ), ) assert len(data) == 2 if inverse_order: assert data[0]["path"].endswith("x") assert data[0]["is_original"] is True assert data[1]["path"].endswith("e") assert data[1]["is_original"] is False else: assert data[0]["path"].endswith("e") assert data[0]["is_original"] is True assert data[1]["path"].endswith("x") assert data[1]["is_original"] is False _check_if_empty_dirs_deleted(shell, inverse_order, sh_path, data) rmlint-2.6.1/tests/test_options/000077500000000000000000000000001312046612000167145ustar00rootroot00000000000000rmlint-2.6.1/tests/test_options/test_cache.py000066400000000000000000000040631312046612000213730ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * def create_files(): # Same size, different content. create_file('a', '1.a') create_file('b', '1.b') # Same size, same content. create_file('a', '2.a') create_file('a', '2.a_') # Different content and size create_file('a' * 3, '3.a') create_file('a' * 4, '3.a_') # Size group that will generate ext_cksums for all files create_file('b' * 2, '4.a') create_file('b' * 2, '4.b') create_file('c' * 2, '4.c') create_file('c' * 2, '4.d') # duplicate_dirs + with --write_unfinished create_file('x', 'dir_a/1') create_file('x', 'dir_b/1') def check(data, write_cache): unfinished = [p['path'] for p in data if p['type'] == 'unfinished_cksum'] dupe_files = [p['path'] for p in data if p['type'] == 'duplicate_file'] dupe_trees = [p['path'] for p in data if p['type'] == 'duplicate_dir'] path_in = lambda name, paths: os.path.join(TESTDIR_NAME, name) in paths if write_cache: assert len(unfinished) == 3 assert path_in('1.b', unfinished) assert path_in('dir_a/1', unfinished) assert path_in('dir_b/1', unfinished) assert len(dupe_trees) == 2 assert path_in('dir_a', dupe_trees) assert path_in('dir_b', dupe_trees) assert len(dupe_files) == 7 assert path_in('2.a', dupe_files) assert path_in('2.a_', dupe_files) assert path_in('1.a', dupe_files) assert path_in('4.a', dupe_files) assert path_in('4.b', dupe_files) assert path_in('4.c', dupe_files) assert path_in('4.d', dupe_files) @with_setup(usual_setup_func, usual_teardown_func) def test_xattr(): create_files() for _ in range(2): for write_cache in True, False: if write_cache: head, *data, footer = run_rmlint('-U -D -S pa --xattr-write') else: head, *data, footer = run_rmlint('-D -S pa --xattr-read') check(data, write_cache) head, *data, footer = run_rmlint('-D -S pa --xattr-clear') rmlint-2.6.1/tests/test_options/test_clamp.py000066400000000000000000000044551312046612000214310ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_simple(): create_file('1234567890', 'a10') create_file('x23456789x', 'b10') head, *data, footer = run_rmlint_pedantic('-D') assert len(data) == 0 for suffix in ['-Q .9 -q .1', '-Q 9 -q .1', '-Q .9 -q 1', '-Q 90% -q 10%']: head, *data, footer = run_rmlint('-D --rank-by a ' + suffix) assert data[0]['path'].endswith('a10') assert data[1]['path'].endswith('b10') assert len(data) == 2 @with_setup(usual_setup_func, usual_teardown_func) def test_almost_empty(): create_file('x', 'a1') create_file('x', 'b1') head, *data, footer = run_rmlint('-D -Q .5') assert len(data) == 0 assert footer['total_files'] == 0 head, *data, footer = run_rmlint('-D -q 1') assert len(data) == 0 assert footer['total_files'] == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_absolute(): data1 = ['x'] * 2048 data2 = ['x'] * 2048 data2[1023] = 'y' create_file(''.join(data1), 'a') create_file(''.join(data2), 'b') head, *data, footer = run_rmlint('-D') assert len(data) == 0 head, *data, footer = run_rmlint_pedantic('-D -q 1kb -S a') assert data[0]['path'].endswith('a') assert data[1]['path'].endswith('b') assert len(data) == 2 head, *data, footer = run_rmlint_pedantic('-D -q 1024 -S a') assert data[0]['path'].endswith('a') assert data[1]['path'].endswith('b') assert len(data) == 2 head, *data, footer = run_rmlint_pedantic('-D -q 1023 -S a') assert len(data) == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_clamped_to_empty(): create_file('x', 'empties/a') create_file('x', 'empties/b') head, *data, footer = run_rmlint('-q 0 -Q 0') assert len(data) == 0 assert footer['total_files'] == 0 head, *data, footer = run_rmlint('-q 1 -Q 1') assert len(data) == 0 assert footer['total_files'] == 0 head, *data, footer = run_rmlint('-q 10 -Q 1') assert len(data) == 0 assert footer['total_files'] == 0 # Just to check the test actually works normally: head, *data, footer = run_rmlint('-q 0 -Q 10') assert len(data) == 2 assert footer['total_files'] == 2 rmlint-2.6.1/tests/test_options/test_equal.py000066400000000000000000000105531312046612000214400ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 import os import json from nose import with_setup from contextlib import contextmanager from tests.utils import * @contextmanager def assert_exit_code(status_code): """ Assert that the with block yields a subprocess.CalledProcessError with a certain return code. If nothing is thrown, status_code is required to be 0 to survive the test. """ try: yield except subprocess.CalledProcessError as exc: assert exc.returncode == status_code else: # No exception? status_code should be fine. assert status_code == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_equal_files(): path_a = create_file('1234', 'a') path_b = create_file('1234', 'b') with assert_exit_code(0): head, *data, footer = run_rmlint( '--equal', path_a, path_b, use_default_dir=False ) with assert_exit_code(0): head, *data, footer = run_rmlint( '-pp', '--equal', path_a, path_b, use_default_dir=False ) # If --equal finds that both files are not equal, # it would return 1 as exit code which would cause # a CalledProcessError in run_rmlint assert data[0]['path'].endswith('a') assert data[1]['path'].endswith('b') path_c = create_file('1234', 'c') with assert_exit_code(0): head, *data, footer = run_rmlint( '--equal', path_a, path_b, path_c, use_default_dir=False ) path_d = create_file('diff', 'd') with assert_exit_code(1): head, *data, footer = run_rmlint( '--equal', path_a, path_b, path_d, path_c, use_default_dir=False ) @with_setup(usual_setup_func, usual_teardown_func) def test_no_arguments(): with assert_exit_code(1): head, *data, footer = run_rmlint( '--equal', use_default_dir=False ) @with_setup(usual_setup_func, usual_teardown_func) def test_one_arguments(): path = create_file('1234', 'a') with assert_exit_code(1): head, *data, footer = run_rmlint( '--equal', path, use_default_dir=False ) with assert_exit_code(1): head, *data, footer = run_rmlint( '--equal', path, "//", use_default_dir=False ) with assert_exit_code(1): head, *data, footer = run_rmlint( '--equal', "//", path, use_default_dir=False ) @with_setup(usual_setup_func, usual_teardown_func) def test_equal_directories(): path_a = os.path.dirname(create_file('xxx', 'dir_a/x')) path_b = os.path.dirname(create_file('xxx', 'dir_b/x')) with assert_exit_code(0): head, *data, footer = run_rmlint( '--equal', path_a, path_b, use_default_dir=False ) with assert_exit_code(0): head, *data, footer = run_rmlint( '-pp', '--equal', path_a, path_b, use_default_dir=False ) @with_setup(usual_setup_func, usual_teardown_func) def test_dir_and_file(): path_a = os.path.dirname(create_file('xxx', 'dir_a/x')) path_b = create_file('xxx', 'x') # This should fail since we should not mix directories with files, # even if they have the same content. with assert_exit_code(1): head, *data, footer = run_rmlint( '--equal', path_a, path_b, use_default_dir=False, ) # Regression test for Issue #233 @with_setup(usual_setup_func, usual_teardown_func) def test_equal_hidden_dirs(): path_a = os.path.dirname(create_file('xxx', 'dir_a/x')) path_b = os.path.dirname(create_file('xxx', '.dir_b/.x')) # This should fail since we should not mix directories with files, # even if they have the same content. with assert_exit_code(0): head, *data, footer = run_rmlint( '--equal', path_a, path_b, use_default_dir=False, ) # Regression test for Issue #234 @with_setup(usual_setup_func, usual_teardown_func) def test_equal_empty_files_or_other_lint(): path_a = create_file('', 'x') path_b = create_file('', 'y') # This should fail since we should not mix directories with files, # even if they have the same content. with assert_exit_code(0): head, *data, footer = run_rmlint( '--equal', path_a, path_b, use_default_dir=False, ) rmlint-2.6.1/tests/test_options/test_help.py000066400000000000000000000013031312046612000212520ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * # These tests are only here to check if printing help works. # Well, actually it's to increase coverage to be honest. @with_setup(usual_setup_func, usual_teardown_func) def test_help(): yelp = subprocess.check_output( ['./rmlint', '--help'], stderr=subprocess.STDOUT ).decode('utf-8') assert 'man 1 rmlint' in yelp assert '--show-man' in yelp @with_setup(usual_setup_func, usual_teardown_func) def test_man(): yelp = subprocess.check_output( ['./rmlint', '--show-man'], stderr=subprocess.STDOUT ).decode('utf-8') assert 'Pahl' in yelp assert 'Thomas' in yelp rmlint-2.6.1/tests/test_options/test_hidden_dirs.py000066400000000000000000000037251312046612000226100ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_simple(): create_file('xxx', '.a/1') create_file('xxx', '.b/1') create_file('xxx', '.1') head, *data, footer = run_rmlint('--hidden') assert footer['duplicates'] == 2 assert footer['ignored_folders'] == 0 assert footer['ignored_files'] == 0 assert footer['duplicate_sets'] == 1 @with_setup(usual_setup_func, usual_teardown_func) def test_hidden(): create_file('xxx', '.a/1') create_file('xxx', '.b/1') create_file('xxx', '.1') head, *data, footer = run_rmlint('--no-hidden') assert footer['duplicates'] == 0 assert footer['ignored_folders'] == 2 assert footer['ignored_files'] == 3 assert footer['duplicate_sets'] == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_explicit(): create_file('xxx', '.a/1') create_file('xxx', '.a/2') head, *data, footer = run_rmlint('--no-hidden', dir_suffix='.a') assert footer['duplicates'] == 1 assert footer['ignored_folders'] == 0 assert footer['ignored_files'] == 0 assert footer['duplicate_sets'] == 1 @with_setup(usual_setup_func, usual_teardown_func) def test_partial_hidden(): create_file('1', 'a/.hidden') create_file('1', 'b/.hidden') create_file('1', '.hidden') head, *data, footer = run_rmlint('--no-hidden') assert len(data) == 0 head, *data, footer = run_rmlint('--partial-hidden') assert len(data) == 0 head, *data, footer = run_rmlint('--hidden') assert len(data) == 3 assert all(p['path'].endswith('.hidden') for p in data) head, *data, footer = run_rmlint('--partial-hidden -D -S a') assert len(data) == 2 assert data[0]['path'].endswith('a') assert data[0]['type'] == 'duplicate_dir' assert data[1]['path'].endswith('b') head, *data, footer = run_rmlint('-D --no-partial-hidden -S a') assert len(data) == 0 rmlint-2.6.1/tests/test_options/test_km.py000066400000000000000000000074721312046612000207460ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_km(): # create some dupes with different paths, names and mtimes: create_file('xxx', 'stuff/a') create_file('yyy', 'stuff/b') create_file('yyy', 'stuff/b_dupe') create_file('xxx', 'morestuff/a_copy') create_file('yyy', 'morestuff/b_copy') create_file('xxx', 'backup/a_backup') create_file('xxx', 'backup/a_copy_backup') create_file('yyy+', 'backup/b_backup_changed') create_file('zzz', 'backup/d') create_file('zzz', 'backup/d_copy') # search path with backup folder tagged search_paths = TESTDIR_NAME + ' // ' + TESTDIR_NAME + '/backup' # 1. normal case - should find all dupes head, *data, footer = run_rmlint(search_paths, use_default_dir=False) assert len(data) == 4 + 2 + 3 # 4*'xxx' + 2*'zzz + 3*'yyy' assert footer['duplicates'] == (4 - 1) + (2 - 1) + (3 - 1) # 2. --keep-all-tagged case - should ignore 'zzz' pair since they are both tagged # should also treat 2 of the 'xxx' as originals since two are tagged head, *data, footer = run_rmlint('-k ' + search_paths, use_default_dir=False) assert len(data) == 4 + 3 assert footer['duplicates'] == (4 - 2) + (3 - 1) for file_dict in data: if file_dict['type'] == 'duplicate_file' and file_dict['is_original'] == False: # check no tagged files marked as duplicates assert 'backup/' not in file_dict['path'] # 3. --keep-all-untagged case - should ignore 'yyy' triple since they are all untagged # should also treat 2 of the 'xxx' as originals since two are untagged head, *data, footer = run_rmlint(' -K ' + search_paths, use_default_dir=False) assert len(data) == 4 + 2 assert footer['duplicates'] == (4 - 2) + (2 - 1) for file_dict in data: if file_dict['type'] == 'duplicate_file' and file_dict['is_original'] == False: # check no untagged files marked as duplicates assert 'backup/' in file_dict['path'] # 4. --must-match-tagged case - should ignore 'yyy' triple since they have no tagged copies head, *data, footer = run_rmlint(' -m ' + search_paths, use_default_dir=False) assert len(data) == 4 + 2 assert footer['duplicates'] == (4 - 1) + (2 - 1) # 5. --must-match-untagged case - should ignore 'zzz' pair since they have no untagged copies head, *data, footer = run_rmlint(' -M ' + search_paths, use_default_dir=False) assert len(data) == 4 + 3 assert footer['duplicates'] == (4 - 1) + (3 - 1) # 6. -km case: # should ignore 'zzz' pair since they are both tagged # should ignore 'yyy' triple since they have no tagged copies # should also treat 2 of the 'xxx' as originals since two are tagged head, *data, footer = run_rmlint(' -km ' + search_paths, use_default_dir=False) assert len(data) == 4 assert footer['duplicates'] == (4 - 2) for file_dict in data: if file_dict['type'] == 'duplicate_file' and file_dict['is_original'] == False: # check no tagged files marked as duplicates assert not 'backup/' in file_dict['path'] # 7. -KM case: # should ignore 'yyy' triple since they are all untagged # should ignore 'zzz' pair since they have no untagged copies # should also treat 2 of the 'xxx' as originals since two are untagged head, *data, footer = run_rmlint(' -KM ' + search_paths, use_default_dir=False) assert len(data) == 4 assert footer['duplicates'] == (4 - 2) for file_dict in data: if file_dict['type'] == 'duplicate_file' and file_dict['is_original'] == False: # check no tagged files marked as duplicates assert 'backup/' in file_dict['path'] rmlint-2.6.1/tests/test_options/test_match_basenames.py000066400000000000000000000025041312046612000234400ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_negative_with_basename(): create_file('xxx', 'a') create_file('xxx', 'b') head, *data, footer = run_rmlint('-b') assert footer['total_files'] == 2 assert footer['total_lint_size'] == 0 assert footer['duplicates'] == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_positive_with_basename(): create_file('xxx', 'a/test') create_file('xxx', 'b/test') head, *data, footer = run_rmlint('-b') assert footer['total_files'] == 2 assert footer['total_lint_size'] == 3 assert footer['duplicates'] == 1 @with_setup(usual_setup_func, usual_teardown_func) def test_negative_without_basename(): create_file('xxx', 'a/test') create_file('xxx', 'b/test') head, *data, footer = run_rmlint('-B') assert footer['total_files'] == 2 assert footer['total_lint_size'] == 0 assert footer['duplicates'] == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_positive_without_basename(): create_file('xxx', 'a/test1') create_file('xxx', 'b/test2') head, *data, footer = run_rmlint('-B') assert footer['total_files'] == 2 assert footer['total_lint_size'] == 3 assert footer['duplicates'] == 1 rmlint-2.6.1/tests/test_options/test_match_with_extension.py000066400000000000000000000013161312046612000245510ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_negative(): create_file('xxx', 'a.png') create_file('xxx', 'b.jpg') create_file('xxx', 'b') head, *data, footer = run_rmlint('-e') assert footer['total_files'] == 3 assert footer['total_lint_size'] == 0 assert footer['duplicates'] == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_positive(): create_file('xxx', 'a.png') create_file('xxx', 'b.png') head, *data, footer = run_rmlint('-e') assert footer['total_files'] == 2 assert footer['total_lint_size'] == 3 assert footer['duplicates'] == 1 rmlint-2.6.1/tests/test_options/test_match_without_extension.py000066400000000000000000000013161312046612000253010ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_negative(): create_file('xxx', 'b.png') create_file('xxx', 'a.png') create_file('xxx', 'a') head, *data, footer = run_rmlint('-i') assert footer['total_files'] == 3 assert footer['total_lint_size'] == 0 assert footer['duplicates'] == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_positive(): create_file('xxx', 'a.png') create_file('xxx', 'a.jpg') head, *data, footer = run_rmlint('-i') assert footer['total_files'] == 2 assert footer['total_lint_size'] == 3 assert footer['duplicates'] == 1 rmlint-2.6.1/tests/test_options/test_merge_directories.py000066400000000000000000000356221312046612000240300ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_simple(): create_file('xxx', '1/a') create_file('xxx', '2/a') create_file('xxx', 'a') head, *data, footer = run_rmlint('-pp -D --rank-by A') assert 2 == sum(find['type'] == 'duplicate_dir' for find in data) # One original, one dupe assert 1 == sum(find['type'] == 'duplicate_file' for find in data if find['is_original']) assert 1 == sum(find['type'] == 'duplicate_file' for find in data if not find['is_original']) assert data[0]['size'] == 3 # -S A should sort in reverse lexigraphic order. assert data[0]['is_original'] assert not data[1]['is_original'] assert data[0]['path'].endswith('2') assert data[1]['path'].endswith('1') @with_setup(usual_setup_func, usual_teardown_func) def test_diff(): create_file('xxx', '1/a') create_file('xxx', '2/a') create_file('xxx', '3/a') create_file('yyy', '3/b') head, *data, footer = run_rmlint('-pp -D --rank-by A') assert 2 == sum(find['type'] == 'duplicate_dir' for find in data) assert data[0]['size'] == 3 # -S A should sort in reverse lexigraphic order. assert data[0]['is_original'] assert not data[1]['is_original'] assert data[0]['path'].endswith('2') assert data[1]['path'].endswith('1') @with_setup(usual_setup_func, usual_teardown_func) def test_same_but_not_dupe(): create_file('xxx', '1/a') create_file('xxx', '2/a') create_file('xxx', '2/b') head, *data, footer = run_rmlint('-pp -D --rank-by A') # No duplicate dirs, but 3 duplicate files should be found. assert 0 == sum(find['type'] == 'duplicate_dir' for find in data) assert 3 == sum(find['type'] == 'duplicate_file' for find in data) @with_setup(usual_setup_func, usual_teardown_func) def test_hardlinks(): create_file('xxx', '1/a') create_link('1/a', '1/link1') create_link('1/a', '1/link2') create_file('xxx', '2/a') create_link('2/a', '2/link1') create_link('2/a', '2/link2') head, *data, footer = run_rmlint('-pp -D -l -S a') assert len(data) is 5 assert data[0]['type'] == 'duplicate_dir' assert data[0]['path'].endswith('1') assert data[1]['type'] == 'duplicate_dir' assert data[1]['path'].endswith('2') # Hardlink duplicates: assert data[2]['type'] == 'duplicate_file' assert data[2]['path'].endswith('1/a') assert data[2]['is_original'] assert data[3]['type'] == 'duplicate_file' assert data[3]['path'].endswith('1/link1') assert not data[3]['is_original'] assert data[4]['type'] == 'duplicate_file' assert data[4]['path'].endswith('1/link2') assert not data[4]['is_original'] head, *data, footer = run_rmlint('-D -S a -L') assert len(data) is 2 assert data[0]['type'] == 'duplicate_file' assert data[0]['path'].endswith('a') assert data[1]['type'] == 'duplicate_file' assert data[1]['path'].endswith('a') @with_setup(usual_setup_func, usual_teardown_func) def test_deep_simple(): create_file('xxx', 'deep/a/b/c/d/1') create_file('xxx', 'deep/e/f/g/h/1') head, *data, footer = run_rmlint('-D -S a') assert data[0]['path'].endswith('deep/a') assert data[1]['path'].endswith('deep/e') assert int(data[0]['checksum'], 16) > 0 assert int(data[1]['checksum'], 16) > 0 assert len(data) == 2 @with_setup(usual_setup_func, usual_teardown_func) def test_deep_simple(): create_file('xxx', 'd/a/1') create_file('xxx', 'd/b/empty') create_file('xxx', 'd/a/1') create_file('xxx', 'd/b/empty') head, *data, footer = run_rmlint('-pp -D -S a') assert data[0]['path'].endswith('d/a') assert data[1]['path'].endswith('d/b') assert len(data) == 2 @with_setup(usual_setup_func, usual_teardown_func) def test_dirs_with_empty_files_only(): create_file('', 'a/empty') create_file('', 'b/empty') head, *data, footer = run_rmlint('-pp -D -S a -T df,dd --size 0') assert len(data) == 2 assert data[0]['path'].endswith('a') assert data[0]['type'] == "duplicate_dir" assert data[1]['path'].endswith('b') assert data[1]['type'] == "duplicate_dir" head, *data, footer = run_rmlint('-pp -D -S a -T df,dd') assert len(data) == 0 head, *data, footer = run_rmlint('-pp -D -S a --size 0') assert len(data) == 2 data.sort(key=lambda elem: elem["path"]) assert data[0]['path'].endswith('a/empty') assert data[0]['type'] == "emptyfile" assert data[1]['path'].endswith('b/empty') assert data[1]['type'] == "emptyfile" def create_nested(root, letters): summed = [] for letter in letters: summed.append(letter) path = os.path.join(*([root] + summed + ['1'])) create_file('xxx', path) @with_setup(usual_setup_func, usual_teardown_func) def test_deep_full(): create_nested('deep', 'abcd') create_nested('deep', 'efgh') # subprocess.call('tree ' + TESTDIR_NAME, shell=True) # subprocess.call('./rmlint -p -S a -D ' + TESTDIR_NAME, shell=True) head, *data, footer = run_rmlint('-pp -D -S a') assert len(data) == 6 assert data[0]['path'].endswith('deep/a') assert data[0]['type'] == 'duplicate_dir' assert data[0]['is_original'] assert data[1]['path'].endswith('deep/e') assert not data[1]['is_original'] assert data[1]['type'] == 'duplicate_dir' for idx, ending in enumerate(['a/b/c/d/1', 'a/b/c/1', 'a/b/1', 'a/1']): assert data[idx + 2]['path'].endswith(ending) assert data[idx + 2]['type'] == 'duplicate_file' assert data[idx + 2]['is_original'] == (idx is 0) @with_setup(usual_setup_func, usual_teardown_func) def test_deep_full_twice(): create_nested('deep_a', 'abcd') create_nested('deep_a', 'efgh') create_nested('deep_b', 'abcd') create_nested('deep_b', 'efgh') head, *data, footer = run_rmlint( '-D -S a {t}/deep_a {t}/deep_b'.format( t=TESTDIR_NAME ), use_default_dir=False ) assert len(data) == 8 assert data[0]['path'].endswith('deep_a') assert data[0]['type'] == 'duplicate_dir' assert data[0]['is_original'] assert data[1]['path'].endswith('deep_b') assert data[1]['is_original'] == False assert data[1]['type'] == 'duplicate_dir' assert data[2]['path'].endswith('deep_a/a') assert data[2]['type'] == 'duplicate_dir' assert data[2]['is_original'] assert data[3]['path'].endswith('deep_a/e') assert data[3]['is_original'] == False assert data[3]['type'] == 'duplicate_dir' for idx, ending in enumerate(['a/b/c/d/1', 'a/b/c/1', 'a/b/1', 'a/1']): assert data[idx + 4]['path'].endswith(ending) assert data[idx + 4]['type'] == 'duplicate_file' assert data[idx + 4]['is_original'] == (idx is 0) assert data[0]['path'].endswith('deep_a') assert data[0]['is_original'] assert data[1]['path'].endswith('deep_b') assert not data[1]['is_original'] assert data[2]['path'].endswith('deep_a/a') assert data[2]['is_original'] assert data[3]['path'].endswith('deep_a/e') assert not data[3]['is_original'] @with_setup(usual_setup_func, usual_teardown_func) def test_symlinks(): create_file('xxx', 'a/z') create_link('a/z', 'a/x', symlink=True) create_file('xxx', 'b/z') create_link('b/z', 'b/x', symlink=True) head, *data, footer = run_rmlint('-pp -D -S a -F') assert len(data) == 2 assert data[0]['path'].endswith('z') assert data[0]['is_original'] assert data[1]['path'].endswith('z') assert not data[1]['is_original'] head, *data, footer = run_rmlint('-pp -D -S a -f') assert len(data) == 4 assert data[0]['path'].endswith('/a') assert data[0]['is_original'] assert data[1]['path'].endswith('/b') assert not data[1]['is_original'] # z must come first, since it's the physical real file assert data[2]['path'].endswith('/a/z') assert data[2]['is_original'] # x is a duplicate of z when following links assert data[3]['path'].endswith('/a/x') assert not data[3]['is_original'] def mount_bind_teardown_func(): if runs_as_root(): subprocess.call( 'umount {dst}'.format( dst=os.path.join(TESTDIR_NAME, 'a/b') ), shell=True ) usual_teardown_func() @with_setup(usual_setup_func, mount_bind_teardown_func) def test_mount_binds(): if not runs_as_root(): return create_file('xxx', 'a/b/1') create_file('xxx', 'c/2') subprocess.call( 'mount --rbind {src} {dst}'.format( src=TESTDIR_NAME, dst=os.path.join(TESTDIR_NAME, 'a/b') ), shell=True ) create_file('xxx', 'a/3') head, *data, footer = run_rmlint('-S a') assert data[0]['path'].endswith('c/2') assert data[1]['path'].endswith('a/3') assert len(data) == 2 @with_setup(usual_setup_func, usual_teardown_func) def test_keepall_tagged(): # Test for Issue #141: # https://github.com/sahib/rmlint/issues/141 # # Make sure -k protects duplicate directories too, # when they're in a pref'd path. create_file('test', 'origs/folder/subfolder/file') create_file('test', 'origs/samefolder/subfolder/file') create_file('test', 'dups/folder/subfolder/file') create_file('test', 'dups/samefolder/subfolder/file') create_file('abcd', 'unmatched/folder/subfolder/file') create_file('abcd', 'unmatched/samefolder/subfolder/unmatched') parentdir = TESTDIR_NAME dupedir = os.path.join(TESTDIR_NAME, 'dups') origdir = os.path.join(TESTDIR_NAME, 'origs') origsubdir = os.path.join(origdir, 'folder') unmatcheddir = os.path.join(TESTDIR_NAME, 'unmatched') def do_test(km_opts, untagged_path, tagged_path): options = '-D -S Ap {maybe_km} {untagged} // {tagged}'.format( maybe_km = km_opts, untagged = untagged_path, tagged = tagged_path) return run_rmlint(options, use_default_dir=False) ### test 1: simple -km test head, *data, footer = do_test('-k -m', dupedir, origdir) assert len(data) >= 2 assert footer['total_files'] == 4 assert footer['duplicates'] == 2 assert footer['duplicate_sets'] == 1 assert data[0]['path'].endswith(origdir) assert data[0]['is_original'] assert data[1]['path'].endswith(dupedir) assert not data[1]['is_original'] ### test 2: -km test with tagged originals dir nested under untagged dir # Files in origdir are traversed as both untagged (as parentdir/origs) and # tagged (as origdir) but the tagged traversal should take precedence # during preprocessing path double removal. Therefore should give same # result as previous, except for total file count. head, *data, footer = do_test('-k -m', parentdir, origdir) assert len(data) >= 2 assert footer['duplicates'] == 2 assert footer['duplicate_sets'] == 1 assert data[0]['path'].endswith(origdir) assert data[0]['is_original'] assert data[1]['path'].endswith(dupedir) assert not data[1]['is_original'] ### test 3: tag just part of a nested originals dir head, *data, footer = do_test('-k -m', parentdir, origsubdir) assert len(data) == 4 assert footer['duplicates'] == 3 assert footer['duplicate_sets'] == 1 ### test 4: test that tagging takes precedence over -S Ap option head, *data, footer = do_test('', dupedir, origdir) assert len(data) == 4 assert footer['total_files'] == 4 assert footer['duplicates'] == 3 assert footer['duplicate_sets'] == 1 assert data[0]['path'].endswith(origdir) assert data[0]['is_original'] assert data[1]['path'].endswith(dupedir) assert not data[1]['is_original'] ### test 5: test self-duplicates in untagged dir are preserved by -m option head, *data, footer = do_test('-k -m', unmatcheddir, origdir) # unmatcheddir contains self-duplicates but is protected by -m # -o pretty (partial) output as at rmlint 82f433a: # ==> In total 4 files, whereof 0 are duplicates in 0 groups. assert len(data) == 0 assert footer['total_files'] == 4 assert footer['duplicates'] == 0 assert footer['duplicate_sets'] == 0 ### test 6: simple -KM test head, *data, footer = do_test('-K -M', origdir, dupedir) assert len(data) >= 2 assert footer['total_files'] == 4 assert footer['duplicates'] == 2 assert footer['duplicate_sets'] == 1 assert data[0]['path'].endswith(origdir) assert data[0]['is_original'] assert data[1]['path'].endswith(dupedir) assert not data[1]['is_original'] ### test 7: -KM test with tagged duplicates dir nested under untagged dir # Files in origdir are traversed as both untagged (as parentdir/origs) and # tagged (as origdir) but the tagged traversal should take precedence # during preprocessing path double removal. Therefore should give same # result as previous, except for total file count. head, *data, footer = do_test('-K -M', parentdir, dupedir) assert len(data) >= 2 assert footer['duplicates'] == 2 assert footer['duplicate_sets'] == 1 assert data[0]['path'].endswith(origdir) assert data[0]['is_original'] assert data[1]['path'].endswith(dupedir) assert not data[1]['is_original'] ### test 8: test self-duplicates in untagged dir are preserved by -m option # unmatcheddir contains self-duplicates but is protected by -M # -o pretty (partial) output as at rmlint 82f433a: # ==> In total 4 files, whereof 0 are duplicates in 0 groups. head, *data, footer = do_test('-K -M', origdir, unmatcheddir) assert len(data) == 0 assert footer['total_files'] == 4 assert footer['duplicates'] == 0 assert footer['duplicate_sets'] == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_equal_content_different_layout(): # Different duplicates in different subdirs. create_file('xxx', "tree-a/sub2/x") create_file('yyy', "tree-a/sub1/y") # Same files but on top level. create_file('xxx', "tree-b/x") create_file('yyy', "tree-b/y") head, *data, footer = run_rmlint('-pp -D --rank-by a') assert data[0]["path"].endswith("tree-a") assert data[0]["is_original"] is True assert data[1]["path"].endswith("tree-b") assert data[1]["is_original"] is False # Now, try to honour the layout head, *data, footer = run_rmlint('-pp -Dj --rank-by a') for point in data: assert point["type"] == "duplicate_file" @with_setup(usual_setup_func, usual_teardown_func) def test_nested_content_with_same_layout(): create_nested('deep', 'xyzabc') create_nested('deep', 'uvwabc') head, *data, footer = run_rmlint('-Dj --rank-by a') assert len(data) == 10 assert data[0]["path"].endswith("deep/u/v/w") assert data[1]["path"].endswith("deep/x/y/z") # No need to test again what the functions above already test, # just check if those are duplicate files as expected. for point in data[2:]: assert point["type"] == "duplicate_file" rmlint-2.6.1/tests/test_options/test_mtime_window.py000066400000000000000000000071541312046612000230360ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose.plugins.attrib import attr from nose import with_setup from tests.utils import * import os import subprocess def set_mtime(path, mtime): full_path = os.path.join(TESTDIR_NAME, path) subprocess.call(['touch', '-m', '-d', str(mtime), full_path]) @with_setup(usual_setup_func, usual_teardown_func) def test_consider_mtime(): create_file('xxx', 'a') create_file('xxx', 'b') create_file('xxx', 'c') create_file('xxx', 'd') set_mtime('a', '2004-02-29 16:21:42') set_mtime('b', '2004-02-29 16:21:42') set_mtime('c', '2004-02-29 16:21:44') set_mtime('d', '2004-02-29 16:21:45') head, *data, footer = run_rmlint('--mtime-window=-1') assert len(data) == 4 assert footer['total_files'] == 4 assert footer['total_lint_size'] == 9 assert footer['duplicates'] == 3 assert footer['duplicate_sets'] == 1 head, *data, footer = run_rmlint('--mtime-window=0') assert len(data) == 2 assert footer['total_files'] == 4 assert footer['total_lint_size'] == 3 assert footer['duplicates'] == 1 assert footer['duplicate_sets'] == 1 head, *data, footer = run_rmlint('--mtime-window=+1') assert len(data) == 4 assert footer['total_files'] == 4 assert footer['total_lint_size'] == 6 # two originals. assert footer['duplicates'] == 2 assert footer['duplicate_sets'] == 2 head, *data, footer = run_rmlint('--mtime-window=+2') assert len(data) == 4 # '2' also chains up to d from c. assert footer['total_files'] == 4 assert footer['total_lint_size'] == 9 assert footer['duplicates'] == 3 assert footer['duplicate_sets'] == 1 @with_setup(usual_setup_func, usual_teardown_func) def test_consider_mtime_subsecond(): create_file('xxx', 'a') create_file('xxx', 'b') set_mtime('a', '2004-02-29 16:21:42.00') set_mtime('b', '2004-02-29 16:21:43.99') head, *data, footer = run_rmlint('--mtime-window=1.9') assert len(data) == 0 head, *data, footer = run_rmlint('--mtime-window=2.0') assert len(data) == 2 set_mtime('a', '2004-02-29 16:21:42.00') set_mtime('b', '2004-02-29 16:21:42.99') head, *data, footer = run_rmlint('--mtime-window=0') assert len(data) == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_consider_mtime_fail_by_association(): create_file('xxx', 'a') create_file('yyy', 'b') create_file('xxx', 'c') set_mtime('a', '2004-02-29 16:21:42') set_mtime('b', '2004-02-29 16:21:44') set_mtime('c', '2004-02-29 16:21:46') head, *data, footer = run_rmlint('--mtime-window=3') assert len(data) == 0 assert footer['total_files'] == 3 assert footer['total_lint_size'] == 0 assert footer['duplicates'] == 0 assert footer['duplicate_sets'] == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_mtime_and_unmatched_basenames(): create_file('xxx', 'dir1/a') create_file('xxx', 'dir1/c') create_file('xxx', 'dir2/a') create_file('yyy', 'dir1/b') create_file('yyy', 'dir2/b') create_file('yyy', 'dir2/c') set_mtime('dir1/a', '2004-02-29 16:21:42') set_mtime('dir1/c', '2004-02-29 16:21:44') set_mtime('dir2/a', '2004-02-29 16:21:48') set_mtime('dir1/b', '2004-02-29 16:21:46') set_mtime('dir2/b', '2004-02-29 16:21:48') set_mtime('dir2/c', '2004-02-29 16:21:50') head, *data, footer = run_rmlint('--mtime-window=3 --unmatched-basename -S m') assert len(data) == 2 assert footer['total_files'] == 6 assert footer['total_lint_size'] == 3 assert footer['duplicates'] == 1 assert footer['duplicate_sets'] == 1 rmlint-2.6.1/tests/test_options/test_newer_than.py000066400000000000000000000042201312046612000224550ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * import time # Note: This test has the assumpption that it runs fast enough. # The threshold should be 1 second, so rather hard to reach. # This will not work with PEDANTIC=1 & run_rmlint_pedantic: # -n will update the timestamp after each run, causing # unexpected results. def create_set(create_stamp, iso8601=False): # Basic case, should work always: create_file('xxx', 'a') create_file('xxx', 'b') arguments = '-S a' if iso8601: arguments += ' -c stamp:iso8601' head, *data, footer, stamp = run_rmlint_once( arguments, outputs=['stamp'] if create_stamp else ['pretty'] ) assert len(data) == 2 create_file('xxx', 'c') warp_file_to_future('c', 2) @with_setup(usual_setup_func, usual_teardown_func) def test_simple(): create_set(False) now = time.time() head, *data, footer = run_rmlint_once('-S a -N ' + str(time.time())) assert len(data) == 3 # Fake a wait of two seconds a try an ISO8601. # Should return all 3 files, since c is newer and pulls in a + b. for offset, expect in [(1, 3), (8, 0)]: iso_time = time.strftime( "%Y-%m-%dT%H:%M:%S%z", time.gmtime(now + offset) ) head, *data, footer = run_rmlint_once('-S a -N ' + iso_time) assert len(data) == expect @with_setup(usual_setup_func, usual_teardown_func) def test_stamp_file(): create_set(True, False) # Wait 3 seconds, so the new stamp file (written by -n) # will contain a more recent timestamp, which will yield to 0 results # in the third run. time.sleep(3) head, *data, footer = run_rmlint_once('-S a -n ' + os.path.join(TESTDIR_NAME, '.stamp-0')) assert len(data) == 3 head, *data, footer = run_rmlint_once('-S a -n ' + os.path.join(TESTDIR_NAME, '.stamp-0')) assert len(data) == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_stamp_file_iso8601(): create_set(True, True) head, *data, footer = run_rmlint_once('-S a -n ' + os.path.join(TESTDIR_NAME, '.stamp-0')) assert len(data) == 3 rmlint-2.6.1/tests/test_options/test_pass_files.py000066400000000000000000000011031312046612000224500ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * import json @with_setup(usual_setup_func, usual_teardown_func) def test_stdin_read(): path_a = create_file('1234', 'a') path_b = create_file('1234', 'b') path_c = create_file('1234', '.hidden') head, *data, footer = run_rmlint('-S a -D --partial-hidden', path_a, path_b, path_c) # Hidden is well, hidden due to --partial-hidden and -D. assert data[0]['path'].endswith('a') assert data[1]['path'].endswith('b') assert footer['total_lint_size'] == 8 rmlint-2.6.1/tests/test_options/test_perms.py000066400000000000000000000040461312046612000214570ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * import stat from itertools import chain, combinations def create_file_with_perms(content, path, permissions): perms = 0 if 'r' in permissions: perms |= stat.S_IRUSR if 'w' in permissions: perms |= stat.S_IWUSR if 'x' in permissions: perms |= stat.S_IXUSR create_file(content, path) os.chmod(os.path.join(TESTDIR_NAME, path), perms) @with_setup(usual_setup_func, usual_teardown_func) def test_combinations(): # This test does not work when run as root. # root can read the files anyways. if runs_as_root(): return # Generate all combinations of 'rwx' in a fun way: rwx = set( chain( "rwx", (''.join(s) for s in combinations('rwx', 2)), ["rwx"] ) ) create_file_with_perms('xxx', 'none', '') for perm in rwx: create_file_with_perms('xxx', perm, perm) files_created = len(rwx) + 1 head, *data, footer = run_rmlint('') assert footer['duplicate_sets'] == 1 assert footer['ignored_files'] == 0 assert footer['total_files'] == files_created assert footer['duplicates'] == 3 for perm_opt, dupes in zip('rwx', (3, 1, 1)): head, *data, footer = run_rmlint('--perms ' + perm_opt) assert footer['duplicate_sets'] == 1 assert footer['ignored_files'] == 4 assert footer['total_files'] == files_created - 4 assert footer['duplicates'] == dupes head, *data, footer = run_rmlint('--perms rwx') assert footer['duplicate_sets'] == 0 assert footer['ignored_files'] == 7 assert footer['total_files'] == 1 assert footer['duplicates'] == 0 for perm_opt, dupes in zip(["rw", "rx", "wx"], (1, 1, 0)): head, *data, footer = run_rmlint('--perms ' + perm_opt) assert footer['duplicate_sets'] == dupes assert footer['ignored_files'] == 6 assert footer['total_files'] == files_created - 6 assert footer['duplicates'] == dupes rmlint-2.6.1/tests/test_options/test_rankby.py000066400000000000000000000021211312046612000216070ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 import os from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_rankby_simple(): create_file('x', 'ax') create_file('x', 'ay') create_file('yyy', 'bx') create_file('yyy', 'by') head, *data, foot = run_rmlint('--sort-by a -S a') paths = [os.path.basename(p['path']) for p in data] assert paths == ['ax', 'ay', 'bx', 'by'] head, *data, foot = run_rmlint('--sort-by S -S A') paths = [os.path.basename(p['path']) for p in data] assert paths == ['by', 'bx', 'ay', 'ax'] @with_setup(usual_setup_func, usual_teardown_func) def test_rankby_dirs(): create_file('x', 'ax') create_file('x', 'ay') create_file('yyy', 'b/x') create_file('yyy', 'b/y') create_file('yyy', 'c/x') create_file('yyy', 'c/y') create_file('x' * 64, 'dx') create_file('x' * 64, 'dy') head, *data, foot = run_rmlint('--sort-by s -S a -D') paths = [os.path.basename(p['path']) for p in data] assert paths == ['ax', 'ay', 'x', 'y', 'b', 'c', 'dx', 'dy'] rmlint-2.6.1/tests/test_options/test_replay.py000066400000000000000000000175521312046612000216330ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * import time from itertools import permutations, combinations PATHS = ['b_dir/', 'a_dir/', 'c_dir/'] def path_index(file_path): for idx, path in enumerate(PATHS): if path in file_path: return idx assert False def path_depth(file_path): return len([c for c in file_path if c == '/']) # dispatcher for comparison tests def validate_order(data, tests): testfuncs = { 's': lambda g: sum([p['size'] for p in g]), 'a': lambda g: os.path.basename(g[0]['path']).lower(), 'm': lambda g: g[0]['mtime'], 'p': lambda g: path_index(g[0]['path']), 'n': lambda g: len(g) } groups, group = [], [] for point in data: if point['is_original']: group = [] groups.append(group) group.append(point) assert len(groups) == 2 for a, b in combinations(groups, 2): for test in tests: cmp_a, cmp_b = (testfuncs[test.lower()](e) for e in [a, b]) # Equal? Try again. if cmp_a == cmp_b: continue a_comes_first = test.islower() if (cmp_a < cmp_b) and a_comes_first: break if (cmp_b < cmp_a) and not a_comes_first: break # Something's wrong. assert False @with_setup(usual_setup_func, usual_teardown_func) def test_replay_match_basename(): create_file('xxx', 'test1/a') create_file('xxx', 'test1/b') create_file('xxx', 'test2/a') replay_path = '/tmp/replay.json' head, *data, footer = run_rmlint('-o json:{p}'.format( p=replay_path )) assert len(data) == 3 head, *data, footer = run_rmlint('--replay {p}'.format( p=replay_path )) assert len(data) == 3 head, *data, footer = run_rmlint('--replay {p} --match-basename'.format( p=replay_path )) assert len(data) == 2 paths = set([p['path'] for p in data]) assert os.path.join(TESTDIR_NAME, 'test1/a') in paths assert os.path.join(TESTDIR_NAME, 'test2/a') in paths head, *data, footer = run_rmlint('--replay {p} --unmatched-basename'.format( p=replay_path )) assert len(data) == 3 @with_setup(usual_setup_func, usual_teardown_func) def test_replay_hidden(): create_file('xxx', 'test/.a') create_file('xxx', 'test/.b') replay_path = '/tmp/replay.json' head, *data, footer = run_rmlint('--hidden -o json:{p}'.format( p=replay_path )) assert len(data) == 2 head, *data, footer = run_rmlint('--replay {p}'.format( p=replay_path )) assert len(data) == 0 head, *data, footer = run_rmlint('--replay {p} --hidden'.format( p=replay_path )) assert len(data) == 2 @with_setup(usual_setup_func, usual_teardown_func) def test_replay_must_match_tagged(): create_file('xxx', 'test_a/a') create_file('xxx', 'test_b/a') replay_path = '/tmp/replay.json' head, *data, footer = run_rmlint('-o json:{p}'.format( p=replay_path )) assert len(data) == 2 head, *data, footer = run_rmlint('--replay {p} {b} // {a} -m'.format( p=replay_path, a=os.path.join(TESTDIR_NAME, 'test_a'), b=os.path.join(TESTDIR_NAME, 'test_b') )) paths = set([(p['path'], p['is_original']) for p in data]) assert (os.path.join(TESTDIR_NAME, 'test_b/a'), False) in paths assert (os.path.join(TESTDIR_NAME, 'test_a/a'), True) in paths @with_setup(usual_setup_func, usual_teardown_func) def test_sorting(): # create some dupes with different PATHS, names and mtimes: create_file('xxx', PATHS[0] + 'a') create_file('xxx', PATHS[1] + 'bb') create_file('xxx', PATHS[2] + 'ccc') # Make sure it takes some time to re-reun time.sleep(1.25) create_file('xxxx', PATHS[0] + 'A') create_file('xxxx', PATHS[1] + 'B') create_file('xxxx', PATHS[2] + 'C') create_file('xxxx', PATHS[2] + 'D') joiner = ' ' + TESTDIR_NAME + '/' search_paths = joiner + joiner.join(PATHS) # Leave out 'o' for now, since its not really worth testing. opts = 'sampn' all_opts = opts + opts.upper() combos = [] is_legal_combo = lambda x: len(x) == len(set(x.lower())) # Limit to 3-tuple combinations. 4-5-tuple combinations (just do +1) # are possible if you have enough time (=> ~(10! / 2) tests). for n_terms in range(1, len(opts) - 1): combos += filter( is_legal_combo, (''.join(p) for p in permutations(all_opts, n_terms)) ) replay_path = '/tmp/replay.json' for combo in combos: combo_str = '-y ' + combo head, *data, footer = run_rmlint( combo_str + search_paths, '-o json:{p}'.format(p=replay_path), use_default_dir=False ) assert len(data) == 7 validate_order(data, combo) head, *data, footer = run_rmlint( combo_str + search_paths, ' --replay ' + replay_path, use_default_dir=False ) assert len(data) == 7 validate_order(data, combo) @with_setup(usual_setup_func, usual_teardown_func) def test_replay_unicode_fuckup(): names = '上野洋å­, å‰é‡Žè£•å¸, æµ…äº•è£•å­ & 河越é‡ç¾©', '天谷大輔', 'Ðркона' create_file('xxx', names[0]) create_file('xxx', names[1]) create_file('xxx', names[2]) replay_path = '/tmp/replay.json' head, *data, footer = run_rmlint('-o json:{p}'.format(p=replay_path)) assert len(data) == 3 assert set([os.path.basename(e['path']) for e in data]) == set(names) head, *data, footer = run_rmlint('--replay {p}'.format(p=replay_path)) assert len(data) == 3 assert set([os.path.basename(e['path']) for e in data]) == set(names) @with_setup(usual_setup_func, usual_teardown_func) def test_replay_tagged_order(): create_file('xxx', 'a/1') create_file('xxx', 'a/2') create_file('xxx', 'b/1') create_file('xxx', 'b/2') replay_path_a = '/tmp/replay-a.json' replay_path_b = '/tmp/replay-b.json' # Create replay-a.json head, *data, footer = run_rmlint( '-S a {r} -o json:{p}'.format(r=TESTDIR_NAME + '/a', p=replay_path_a), use_default_dir=False ) assert len(data) == 2 assert data[0]['path'].endswith('a/1') assert data[1]['path'].endswith('a/2') # Create replay-b.json head, *data, footer = run_rmlint( '{r} -o json:{p}'.format(r=TESTDIR_NAME + '/b', p=replay_path_b), use_default_dir=False ) assert len(data) == 2 assert data[0]['path'].endswith('b/1') assert data[1]['path'].endswith('b/2') # Check if b.json is preferred over a.json head, *data, footer = run_rmlint( '-S a --replay {a} // {b}'.format(a=replay_path_a, b=replay_path_b) ) assert len(data) == 4 assert [p['is_original'] for p in data] == [True, False, False, False] assert data[0]['path'].endswith('b/1') assert data[1]['path'].endswith('b/2') assert data[2]['path'].endswith('a/1') assert data[3]['path'].endswith('a/2') # Check if a.json is preferred over b.json head, *data, footer = run_rmlint( '-S a --replay {b} // {a}'.format(a=replay_path_a, b=replay_path_b) ) assert len(data) == 4 assert [p['is_original'] for p in data] == [True, False, False, False] assert data[0]['path'].endswith('a/1') assert data[1]['path'].endswith('a/2') assert data[2]['path'].endswith('b/1') assert data[3]['path'].endswith('b/2') head, *data, footer = run_rmlint( '-S a --replay {a} // {b} -k'.format(a=replay_path_a, b=replay_path_b) ) assert len(data) == 4 assert [p['is_original'] for p in data] == [True, True, False, False] assert data[0]['path'].endswith('b/1') assert data[1]['path'].endswith('b/2') assert data[2]['path'].endswith('a/1') assert data[3]['path'].endswith('a/2') rmlint-2.6.1/tests/test_options/test_size.py000066400000000000000000000027641312046612000213100ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * def create_set(): for suffix in 'abc': create_file('x' * 2048, 'big' + suffix) create_file('x' * 1024, 'middle' + suffix) create_file('x' * 512, 'small' + suffix) @with_setup(usual_setup_func, usual_teardown_func) def test_valid(): create_set() # Scalar: *_, footer = run_rmlint('--size 0') assert footer['duplicates'] == 6 *_, footer = run_rmlint('--size 1024') assert footer['duplicates'] == 4 *_, footer = run_rmlint('--size 2048') assert footer['duplicates'] == 2 *_, footer = run_rmlint('--size 2049') assert footer['duplicates'] == 0 # Ranges: *_, footer = run_rmlint('--size 1024-2048') assert footer['duplicates'] == 4 *_, footer = run_rmlint('--size 0-1024') assert footer['duplicates'] == 4 *_, footer = run_rmlint('--size 2048-2048') assert footer['duplicates'] == 2 *_, footer = run_rmlint('--size 2K-2KB') assert footer['duplicates'] == 2 @with_setup(usual_setup_func, usual_teardown_func) def test_invalid(): create_set() def trigger(*args): try: run_rmlint(*args) except subprocess.CalledProcessError: pass else: print(args, 'did not trigger an error exit.') assert False # Not a valid range: trigger('--size \-\-17') # max < min trigger('--size 10-9') # double min trigger('--size 10--10') rmlint-2.6.1/tests/test_options/test_sorting.py000066400000000000000000000133241312046612000220150ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * from itertools import permutations, combinations PATHS = ['b_dir/', 'a_dir/', 'c_dir/'] def path_index(file_path): for idx, path in enumerate(PATHS): if path in file_path: return idx assert False def path_depth(file_path): return len([c for c in file_path if c == '/']) def in_order(a, b, increasing): return (a < b) if increasing else (b < a) # dispatcher for comparison tests def validate_order(data, tests): testfuncs = { 'a': lambda p: os.path.basename(p['path']).lower(), 'm': lambda p: p['mtime'], 'p': lambda p: path_index(p['path']), 'd': lambda p: path_depth(p['path']), 'l': lambda p: len(os.path.basename(p['path'])) } for a, b in combinations(data, 2): for test in tests: cmp_a, cmp_b = (testfuncs[test.lower()](e) for e in [a, b]) # Equal? Go to next criterion. if cmp_a == cmp_b: continue # special handling for mtime rounding if (test.lower()=='m' and abs(cmp_a-cmp_b) < 0.00000001): continue if in_order(cmp_a, cmp_b, test.islower()): # order is correct; ignore any remaining (less important) criteria break # Order is incorrect. assert False @with_setup(usual_setup_func, usual_teardown_func) def test_sorting(): # create some dupes with different PATHS, names and mtimes: create_file('xxx', PATHS[1] + 'a', mtime='2004-02-29 16:21:42.4') create_file('xxx', PATHS[0] + 'c', mtime='2004-02-29 16:21:42.6') create_file('xxx', PATHS[2] + 'B', mtime='2004-02-29 16:21:43.1') create_file('xxx', PATHS[2] + 'b', mtime='2004-02-29 16:21:43.0') create_file('xxx', PATHS[1] + 'c', mtime='2004-02-29 16:21:41.5') create_file('xxx', PATHS[2] + 'c', mtime='2004-02-29 16:21:41.0') joiner = ' ' + TESTDIR_NAME + '/' search_paths = joiner + joiner.join(PATHS) opts = 'ampdl' all_opts = opts + opts.upper() combos = [] is_legal_combo = lambda x: len(x) == len(set(x.lower())) # Limit to 3-tuple combinations. 4-5-tuple combinations (just do +1) # are possible if you have enough time (=> ~(10! / 2) tests). for n_terms in range(1, len(opts) - 1): combos += filter( is_legal_combo, (''.join(p) for p in permutations(all_opts, n_terms)) ) for combo in combos: combo_str = '-S ' + combo head, *data, footer = run_rmlint(combo_str + search_paths, use_default_dir=False) assert len(data) == 6 validate_order(data, combo) @with_setup(usual_setup_func, usual_teardown_func) def test_sort_by_outlyer(): create_file('xxx', 'a/foo') create_file('xxx', 'b/foo') create_link('a/foo', 'b/foo-from-a') create_link('b/foo', 'b/foo-copy-1') create_link('b/foo', 'b/foo-copy-2') head, *data, footer = run_rmlint( "-S O {t}/b".format(t=TESTDIR_NAME), use_default_dir=False ) assert data[0]['path'].endswith('b/foo-from-a') head, *data, footer = run_rmlint('-S OHa') assert data[0]['path'].endswith('b/foo') # See this issue for more information. # https://github.com/sahib/rmlint/issues/196 # # Testsetup by "Awerick" @with_setup(usual_setup_func, usual_teardown_func) def test_sort_by_outlyer_hardcore(): for suffix in 'ABCD': create_file('xxx', 'inside/foo' + suffix) create_dirs('outside') # fooA: for i in range(2, 6): create_link('inside/fooA', 'inside/fooA_link_' + str(i)) # fooB: for i in range(2, 5): create_link('inside/fooB', 'inside/fooB_link_' + str(i)) create_link('inside/fooB', 'outside/fooB_link_5') # fooC: create_link('inside/fooC', 'inside/fooC_link_2') create_link('inside/fooC', 'outside/fooC_link_3') create_link('inside/fooC', 'outside/fooC_link_4') # fooD: create_link('inside/fooD', 'outside/fooD_link_2') create_link('inside/fooD', 'outside/fooD_link_3') def run_inside_job(crit): head, *data, footer = run_rmlint( "-S {c} {t}/inside".format( c=crit, t=TESTDIR_NAME, ), use_default_dir=False ) return data[0]['path'] assert run_inside_job('Ha').endswith('inside/fooA') assert run_inside_job('HOa').endswith('inside/fooB') assert run_inside_job('OHa').endswith('inside/fooC') assert run_inside_job('OA').endswith('inside/fooD') @with_setup(usual_setup_func, usual_teardown_func) def test_sort_by_regex(): create_file('xxx', 'aaaa') create_file('xxx', 'aaab') create_file('xxx', 'b') create_file('xxx', 'c') create_file('xxx', '1/c') create_file('xxx', 'd') head, *data, footer = run_rmlint("-S 'r<1/c>xa'") paths = [p['path'] for p in data] assert paths[0].endswith('1/c') assert paths[1].endswith('d') assert paths[2].endswith('aaaa') assert paths[3].endswith('aaab') assert paths[4].endswith('b') assert paths[5].endswith('c') @with_setup(usual_setup_func, usual_teardown_func) def test_sort_by_regex_bad_input(): create_file('xxx', 'aaaa') create_file('xxx', 'aaab') # Should work: run_rmlint("-S '{}'".format('r<.>' * 8)) # More than 8 is bad: try: run_rmlint("-S '{}'".format('r<.>' * 9)) assert False except subprocess.CalledProcessError: pass # Empty patterns are sill also: try: run_rmlint("-S 'r<>'") assert False except subprocess.CalledProcessError: pass # A bad regex is bad too: try: run_rmlint("-S 'r<*>'") assert False except subprocess.CalledProcessError: pass rmlint-2.6.1/tests/test_options/test_stdin.py000066400000000000000000000031461312046612000214520ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * from subprocess import STDOUT, check_output import json import os @with_setup(usual_setup_func, usual_teardown_func) def test_stdin_read(): path_a = create_file('1234', 'a') + '\n' path_b = create_file('1234', 'b') + '\n' path_c = create_file('1234', '.hidden') + '\n' subdir = 'look-in-here' create_file('1234', subdir + '/c') subdir_path = os.path.join(TESTDIR_NAME, subdir) proc = subprocess.Popen( ['./rmlint', '-', subdir_path, '-o', 'json', '-S', 'a', '--hidden'], stdin=subprocess.PIPE, stdout=subprocess.PIPE ) data, _ = proc.communicate((path_a + path_b + path_c).encode('utf-8')) head, *data, footer = json.loads(data.decode('utf-8')) assert data[0]['path'].endswith('.hidden') assert data[1]['path'].endswith('a') assert data[2]['path'].endswith('b') assert data[3]['path'].endswith('c') assert footer['total_lint_size'] == 12 @with_setup(usual_setup_func, usual_teardown_func) def test_path_starting_with_dash(): subdir = '-look-in-here' create_file('1234', subdir + '/a') create_file('1234', subdir + '/b') cwd = os.getcwd() try: os.chdir(TESTDIR_NAME) data = check_output( [cwd + '/rmlint', '-o', 'json', '-S', 'a', '--', subdir], stderr=STDOUT ) finally: os.chdir(cwd) head, *data, footer = json.loads(data.decode('utf-8')) assert data[0]['path'].endswith('a') assert data[1]['path'].endswith('b') assert footer['total_lint_size'] == 4 rmlint-2.6.1/tests/test_options/test_symlinks.py000066400000000000000000000027061312046612000222030ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_order(): create_file('xxx', 'a/z') create_link('a/z', 'a/x', symlink=True) create_file('xxx', 'b/z') create_link('b/z', 'b/x', symlink=True) create_link('b/z', 'b/y', symlink=True) head, *data, footer = run_rmlint('-F') assert len(data) == 2 assert data[0]['path'].endswith('z') assert data[0]['is_original'] assert data[1]['path'].endswith('z') head, *data, footer = run_rmlint('-f -S a') assert sum(p['is_original'] for p in data) == 1 assert len(data) == 5 assert data[0]['path'].endswith('z') assert data[0]['is_original'] assert data[1]['path'].endswith('z') assert data[2]['path'].endswith('x') assert data[3]['path'].endswith('x') assert data[4]['path'].endswith('y') head, *data, footer = run_rmlint('-@ -S a') assert sum(p['is_original'] for p in data) == 2 assert len(data) == 4 if data[0]['path'].endswith('x'): sym_idx, file_idx = 0, 2 else: sym_idx, file_idx = 2, 0 # Same symlink -> dupe assert data[sym_idx]['path'].endswith('x') assert data[sym_idx]['is_original'] assert data[sym_idx + 1]['path'].endswith('y') # Same file assert data[file_idx]['path'].endswith('z') assert data[file_idx]['is_original'] assert data[file_idx + 1]['path'].endswith('z') rmlint-2.6.1/tests/test_robustness/000077500000000000000000000000001312046612000174305ustar00rootroot00000000000000rmlint-2.6.1/tests/test_robustness/test_8Mlongpathfiles.py000066400000000000000000000030551312046612000241100ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose.plugins.attrib import attr from nose import with_setup from tests.utils import * import sys NUMPAIRS = 1024+1 def branch_tree(current_path, remaining_depth): if (remaining_depth > 0): for i in range(2): next_path = current_path + "long" * 4 + str(i) + "/" create_dirs (next_path) branch_tree (next_path, remaining_depth - 1) else: for i in range(NUMPAIRS): create_file(str(i).zfill(1 + i), current_path + 'a' + str(i).zfill(7)) create_file(str(i).zfill(1 + i), current_path + 'b' + str(i).zfill(7)) create_link(current_path + 'a' + str(i).zfill(7), current_path + 'c' + str(i).zfill(7)) create_link(current_path + 'a' + str(i).zfill(7), current_path + 'd' + str(i).zfill(7)) create_link(current_path + 'a' + str(i).zfill(7), current_path + 'e' + str(i).zfill(7)) create_link(current_path + 'a' + str(i).zfill(7), current_path + 'f' + str(i).zfill(7)) create_link(current_path + 'b' + str(i).zfill(7), current_path + 'g' + str(i).zfill(7)) create_link(current_path + 'b' + str(i).zfill(7), current_path + 'h' + str(i).zfill(7)) @attr('slow') @with_setup(usual_setup_func, usual_teardown_func) def test_manylongpathfiles(): max_depth = 10 # will give 8M files total if NUMPAIRS = 1024+1 branch_tree ("", max_depth) head, *data, footer = run_rmlint('-c json:no_body') assert footer['duplicates'] + footer['duplicate_sets'] == NUMPAIRS * 2 ** max_depth * 8 rmlint-2.6.1/tests/test_robustness/test_bigfiles.py000066400000000000000000000014161312046612000226270ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose.plugins.attrib import attr from nose import with_setup from tests.utils import * FILE_SIZE_KB = 10000 DIFFERENT_BYTES = 1 KBYTES_FROM_END = 10 @with_setup(usual_setup_func, usual_teardown_func) def test_bigfiles(): num_bytes = int(FILE_SIZE_KB * 1024) # create two identical files and a third one which differs near the end: create_file('x' * int(FILE_SIZE_KB * 1024), 'file1') create_file('x' * int(FILE_SIZE_KB * 1024), 'file2') create_file('x' * int((FILE_SIZE_KB - KBYTES_FROM_END )* 1024) + 'y' * int(DIFFERENT_BYTES) + 'x' * int(KBYTES_FROM_END * 1024 - DIFFERENT_BYTES), 'file3') *_, footer = run_rmlint('') assert footer['duplicates'] == 1 rmlint-2.6.1/tests/test_robustness/test_manyfiles.py000066400000000000000000000012271312046612000230320ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose.plugins.attrib import attr from nose import with_setup from tests.utils import * @attr('slow') @with_setup(usual_setup_func, usual_teardown_func) def test_manyfiles(): # create heaps of identical files: numfiles = 1024 * 32 + 1 for i in range(numfiles): create_file('xxx', 'file' + str(i).zfill(7)) # create heaps of identical pairs: numpairs = 1024 * 32 + 1 for i in range(numpairs): create_file(str(i), 'a' + str(i).zfill(7)) create_file(str(i), 'b' + str(i).zfill(7)) head, *data, footer = run_rmlint('') assert len(data) == numfiles + numpairs * 2 rmlint-2.6.1/tests/test_robustness/test_manylongpathfiles.py000066400000000000000000000014671312046612000245750ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose.plugins.attrib import attr from nose import with_setup from tests.utils import * @attr('slow') @with_setup(usual_setup_func, usual_teardown_func) def test_manylongpathfiles(): #create ~1000 character path, 4 dirs deep longpath = ("long" * (1000//4//4) + "/") * 4 create_dirs(longpath) # create heaps of identical files: numfiles = 1024 * 32 + 1 for i in range(numfiles): create_file('xxx', longpath + 'file' + str(i).zfill(7)) # create heaps of identical pairs: numpairs = 1024 * 32 + 1 for i in range(numpairs): create_file(str(i), longpath + 'a' + str(i).zfill(7)) create_file(str(i), longpath + 'b' + str(i).zfill(7)) head, *data, footer = run_rmlint('') assert len(data) == numfiles + numpairs * 2 rmlint-2.6.1/tests/test_robustness/test_path_doubles.py000066400000000000000000000066611312046612000235230ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_cmdline(): create_file('xxx', '1/a') # feed rmlint the same file twice via command line head, *data, footer = run_rmlint('{t}/1 {t}/1'.format(t=TESTDIR_NAME), use_default_dir=False) assert 0 == sum(find['type'] == 'duplicate_file' for find in data) head, *data, footer = run_rmlint('{t}/1/a {t}/1/a'.format(t=TESTDIR_NAME), use_default_dir=False) assert 0 == sum(find['type'] == 'duplicate_file' for find in data) head, *data, footer = run_rmlint('{t}/1 {t}/1/a'.format(t=TESTDIR_NAME), use_default_dir=False) assert 0 == sum(find['type'] == 'duplicate_file' for find in data) @with_setup(usual_setup_func, usual_teardown_func) def test_symlink_noloop(): create_file('xxx', '1/a') create_link('1/a', '1/link', symlink=True) head, *data, footer = run_rmlint('{t}/1'.format(t=TESTDIR_NAME), use_default_dir=False) assert 0 == sum(find['type'] == 'duplicate_file' for find in data) head, *data, footer = run_rmlint('{t}/1 {t}/1/a'.format(t=TESTDIR_NAME), use_default_dir=False) assert 0 == sum(find['type'] == 'duplicate_file' for find in data) head, *data, footer = run_rmlint('{t}/1 {t}/1/link'.format(t=TESTDIR_NAME), use_default_dir=False) assert 0 == sum(find['type'] == 'duplicate_file' for find in data) head, *data, footer = run_rmlint('{t}/1/a {t}/1/link'.format(t=TESTDIR_NAME), use_default_dir=False) assert 0 == sum(find['type'] == 'duplicate_file' for find in data) @with_setup(usual_setup_func, usual_teardown_func) def test_symlink_loop(): create_file('xxx', '1/a') create_link('1', '1/link', symlink=True) head, *data, footer = run_rmlint('{t}/1'.format(t=TESTDIR_NAME), use_default_dir=False) assert 0 == sum(find['type'] == 'duplicate_file' for find in data) head, *data, footer = run_rmlint('{t}/1 {t}/1/link'.format(t=TESTDIR_NAME), use_default_dir=False) assert 0 == sum(find['type'] == 'duplicate_file' for find in data) def mount_bind_teardown_func(): if runs_as_root(): subprocess.call( 'umount {dst}'.format( dst=os.path.join(TESTDIR_NAME, 'a/b') ), shell=True ) usual_teardown_func() @with_setup(usual_setup_func, mount_bind_teardown_func) def test_mount_binds(): if not runs_as_root(): return create_file('xxx', 'a/b/1') create_file('xxx', 'c/2') subprocess.call( 'mount --rbind {src} {dst}'.format( src=TESTDIR_NAME, dst=os.path.join(TESTDIR_NAME, 'a/b') ), shell=True ) create_file('xxx', 'a/3') head, *data, footer = run_rmlint('{t} {t}/a/b -S pa'.format(t=TESTDIR_NAME), use_default_dir=False) assert 3 == sum(find['type'] == 'duplicate_file' for find in data) # the actual order is a bit difficult to pin down since files 2 # and 3 can be reached 2 different ways: # /tmp/rmlint-unit-testdir # ├── a # │   ├── 3* # │   └── b # │   ├── a # │   │   ├── 3 # │   │   └── b # │   │   └── 1 # │   └── c # │   └── 2 # └── c # └── 2* assert data[0]['path'].endswith('/2') assert data[1]['path'].endswith('/3') assert len(data) == 3 rmlint-2.6.1/tests/test_speed/000077500000000000000000000000001312046612000163215ustar00rootroot00000000000000rmlint-2.6.1/tests/test_speed/bench-output-example/000077500000000000000000000000001312046612000223675ustar00rootroot00000000000000rmlint-2.6.1/tests/test_speed/bench-output-example/benchmark.json000066400000000000000000000175121312046612000252220ustar00rootroot00000000000000{ "programs": { "rmlint-spooky": { "numbers": { "1": [ 153.87294840812683, 32.5, 25512, 15236 ], "average": [ 92.68836971124013, 46.5, 25512, 15236 ], "3": [ 61.21797597408295, 53.5, 25512, 15236 ], "2": [ 62.97418475151062, 53.5, 25512, 15236 ] }, "version": "2.3.0 rev 350b94c", "website": "https://github.com/sahib/rmlint", "memory": 110.60203075408936 }, "rmlint-paranoid": { "numbers": { "1": [ 87.06187772750854, 51.0, 25512, 15236 ], "average": [ 98.37844836711884, 50.5, 25512, 15236 ], "3": [ 66.47010374069214, 60.5, 25512, 15236 ], "2": [ 141.60336363315582, 40.0, 25512, 15236 ] }, "version": "2.3.0 rev 350b94c", "website": "https://github.com/sahib/rmlint", "memory": 966.9051313400269 }, "fdupes": { "numbers": { "1": [ 202.48385727405548, 22.5, 25512, 15236 ], "average": [ 197.3101365963618, 21.833333333333332, 25512, 15236 ], "3": [ 156.9242216348648, 24.5, 25512, 15236 ], "2": [ 232.5223308801651, 18.5, 25512, 15236 ] }, "version": "fdupes 1.51", "website": "http://en.wikipedia.org/wiki/Fdupes", "memory": 57.831908226013184 }, "rmlint-old": { "numbers": { "1": [ 240.3378244638443, 19.0, 37130, 14275 ], "average": [ 224.79468961556753, 18.333333333333332, 37130, 14275 ], "3": [ 197.27249908447266, 19.5, 37130, 14275 ], "2": [ 236.77374529838562, 16.5, 37130, 14275 ] }, "version": "1.0.6", "website": "https://github.com/sahib/rmlint", "memory": 63.91661357879639 }, "dupd": { "numbers": { "1": [ 139.22512435913086, 16.0, 40629, 15179 ], "average": [ 48.752768556276955, 68.66666666666667, 40629, 15179 ], "3": [ 3.483721613883972, 95.5, 40629, 15179 ], "2": [ 3.54945969581604, 94.5, 40629, 15179 ] }, "version": "1.2-dev", "website": "http://rdfind.pauldreik.se", "memory": 531.5999069213867 }, "rmlint-replay": { "numbers": { "1": [ 8.237653374671936, 34.0, 25512, 15236 ], "average": [ 3.7200404008229575, 77.16666666666667, 25512, 15236 ], "3": [ 1.4804999828338623, 98.0, 25512, 15236 ], "2": [ 1.4419678449630737, 99.5, 25512, 15236 ] }, "version": "2.3.0 rev 350b94c", "website": "https://github.com/sahib/rmlint", "memory": 81.55866813659668 }, "rmlint": { "numbers": { "1": [ 85.20631539821625, 55.0, 25512, 15236 ], "average": [ 68.61745850245158, 62.666666666666664, 25512, 15236 ], "3": [ 60.39535462856293, 66.0, 25512, 15236 ], "2": [ 60.25070548057556, 67.0, 25512, 15236 ] }, "version": "2.3.0 rev 350b94c", "website": "https://github.com/sahib/rmlint", "memory": 147.3617286682129 }, "baseline.py": { "numbers": { "1": [ 4307.1471754312515, 26.0, 67931, 22848 ], "average": [ 4243.297819217046, 25.833333333333332, 67931, 22848 ], "3": [ 4213.386390805244, 26.0, 67931, 22848 ], "2": [ 4209.359891414642, 25.5, 67931, 22848 ] }, "version": "1.0", "website": "https://github.com/sahib/rmlint/blob/develop/tests/test_speed/build_scripts/baseline.sh", "memory": 28.081676483154297 }, "rdfind": { "numbers": { "1": [ 343.6423707008362, 29.5, 2261, 709 ], "average": [ 324.7783205509186, 31.0, 2261, 709 ], "3": [ 314.66128492355347, 31.5, 2261, 709 ], "2": [ 316.0313060283661, 32.0, 2261, 709 ] }, "version": "1.3.4", "website": "https://github.com/jvirkki/dupd", "memory": 16.666380882263184 } }, "metadata": { "path": [ "/usr", "/mnt/music" ], "n_sub_runs": 2, "n_runs": 3 } } rmlint-2.6.1/tests/test_speed/benchmark.py000066400000000000000000000467721312046612000206450ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 import os import re import sys import time import json import pprint import hashlib import argparse import subprocess from abc import ABCMeta, abstractmethod from collections import namedtuple, Counter CFG = namedtuple('Config', [ # How often to run the program on the dataset. # The fs cache is flushed only the first time. 'n_runs', # How many times to run each individual program. 'n_sub_runs', # Output directory 'output' ])(3, 2, 'bench-output-{stamp}'.format( stamp=time.strftime('%FT%T%z', time.localtime()) )) def flush_fs_caches(): os.sync() try: with open('/proc/sys/vm/drop_caches', 'w') as handle: handle.write('3\n') print('-- Flushed fs cache.') except IOError: print('!! You need to be root to flush the fs cache.') sys.exit(-1) def read_time_info(): try: with open('/tmp/.cpu_usage', 'r') as handle: cpu_usage, peak_mem = handle.read().strip().split(' ', 1) return int(cpu_usage[:-1]), int(peak_mem) except IOError: return 0 class Program: __metaclass__ = ABCMeta version = '' binary_path = None website = None script = None def __init__(self): # Do the path building now. # Later on we call chdir() which might mess this up: self.build_path = os.path.join( os.path.realpath(os.path.dirname(__file__)), 'build_scripts', self.script or '' ) def get_install(self): if self.script: with open(self.build_path, 'r') as fd: return fd.read() #################### # ABSTRACT METHODS # #################### @abstractmethod def get_binary(self): pass @abstractmethod def compute_version(self): pass def get_options(self, paths): return '' def get_benchid(self): return self.get_name() #################### # COMMON FUNCTIONS # #################### def get_name(self): """Get a printable name of the name (e.g. "rmlint") """ return os.path.basename(self.get_binary()) def get_temp_dir(self): temp_hash = '-'.join(( self.get_name(), hashlib.md5(self.get_binary().encode('ascii')).hexdigest()[:6] )) temp_dir = os.path.join('/tmp', 'rmlint-bench', temp_hash) try: os.makedirs(temp_dir) except OSError: pass return temp_dir def get_website(self): if self.website: return self.website else: return 'https://www.google.de/search?q=' + self.get_name() def run(self, dataset): """Run the program on a given dataset """ run_benchmarks = {} memory_usage = -1 paths = dataset.get_paths() bin_cmd = self.binary_path + ' ' + self.get_options(paths) print('== Executing: {c}'.format(c=bin_cmd)) time_cmd = '/bin/time --format "%P %M" \ --output /tmp/.cpu_usage -- ' + bin_cmd try: for _ in range(CFG.n_sub_runs): flush_fs_caches() for run_idx in range(1, CFG.n_runs + 1): print('.. Doing run #' + str(run_idx)) start_time = time.time() data_dump = subprocess.check_output( time_cmd, shell=True, stderr=subprocess.STDOUT ) time_diff = time.time() - start_time # Remember the time difference as result. if run_idx not in run_benchmarks: run_benchmarks[run_idx] = [0] * 5 cpu_usage, peak_mem = read_time_info() # select the fastest run to record time and cpu stats: if run_benchmarks[run_idx][0] > time_diff or run_benchmarks[run_idx][0] == 0: run_benchmarks[run_idx][0] = time_diff run_benchmarks[run_idx][1] = cpu_usage run_benchmarks[run_idx][2] = peak_mem / 1024 # Megabyte if data_dump: stats = self.parse_statistics(data_dump) if stats: run_benchmarks[run_idx][3] = stats['dupes'] run_benchmarks[run_idx][4] = stats['sets'] except subprocess.CalledProcessError as err: print('!! Execution of {n} failed: {err}'.format( n=self.binary_path, err=err )) avg_point = [0] * 5 for idx in range(5): avg_point[idx] = sum([v[idx] for v in run_benchmarks.values()]) avg_point[idx] /= CFG.n_runs print('== Took avg time of {t}s / {c}% cpu'.format( t=avg_point[0], c=avg_point[1] )) run_benchmarks['average'] = avg_point return run_benchmarks, memory_usage def guess_version(self): version = self.compute_version() if version is not None: self.version = str(version).strip() print('-- Guessed version: ', self.version) def install(self): """Install the program in /tmp; fetch source from internet.""" temp_dir = self.get_temp_dir() temp_bin = os.path.join(temp_dir, self.get_binary()) current_path = os.getcwd() os.chdir(temp_dir) self.binary_path = os.path.abspath(self.get_binary()) if os.path.exists(temp_bin): print('-- Path exists: ' + temp_bin) print('-- Skipping install; Delete if you need an update.') self.guess_version() os.chdir(current_path) return sh_procedure = self.get_install() if not sh_procedure: return try: subprocess.check_output( sh_procedure, stderr=subprocess.STDOUT, shell=True ) print('-- Installed {n} to {p}'.format( n=self.get_name(), p=temp_dir )) self.guess_version() return self.binary_path except subprocess.CalledProcessError as err: print('!! Failed to install {n}: {err.output}'.format( n=self.get_name(), err=err )) self.binary_path = None return None finally: os.chdir(current_path) class Rmlint(Program): website = 'https://github.com/sahib/rmlint' script = 'rmlint-new.sh' def get_binary(self): return 'rmlint/rmlint' def get_options(self, paths): return '--hidden -o summary -o json:/tmp/rmlint.json -T df ' + ' '.join(paths) def compute_version(self): version_text = subprocess.check_output( self.get_binary() + ' --version', shell=True, stderr=subprocess.STDOUT ) match = re.search('(\d.\d.\d) .*(rev [0-9a-f]{7})', str(version_text)) if match is not None: return ' '.join(match.groups()) return "" def parse_statistics(self, _): try: with open('/tmp/rmlint.json', 'r') as fd: stats = json.loads(fd.read()) return { 'sets': stats[-1]['duplicate_sets'], 'dupes': stats[-1]['duplicates'] } except OSError: pass class RmlintSpot(Rmlint): website = 'https://github.com/SeeSpotRun/rmlint' script = 'rmlint-spot.sh' def get_binary(self): return 'rmlint/rmlint-spot' def get_benchid(self): return 'rmlint-spot' class RmlintSpotParanoid(RmlintSpot): def get_options(self, paths): return '-pp ' + RmlintSpot.get_options(self, paths) def get_benchid(self): return 'rmlint-spot-paranoid' class Rmlint222(Rmlint): script = 'rmlint-v2.2.2.sh' def get_binary(self): return 'rmlint/rmlint-v2.2.2' def get_benchid(self): return 'rmlint-v2.2.2' class Rmlint246(Rmlint): script = 'rmlint-v2.4.6.sh' def get_binary(self): return 'rmlint/rmlint-v2.4.6' def get_benchid(self): return 'rmlint-v2.4.6' class Rmlint222Paranoid(Rmlint222): def get_options(self, paths): return '-pp ' + Rmlint222.get_options(self, paths) def get_benchid(self): return Rmlint222.get_benchid(self) + '-paranoid' class RmlintMaster(Rmlint): script = 'rmlint-master.sh' def get_binary(self): return 'rmlint/rmlint-master' def get_benchid(self): return 'rmlint-master' class RmlintSpooky(Rmlint): def get_options(self, paths): return '-a spooky ' + Rmlint.get_options(self, paths) def get_benchid(self): return 'rmlint-spooky' class RmlintXXHash(Rmlint): def get_options(self, paths): return '-a xxhash ' + Rmlint.get_options(self, paths) def get_benchid(self): return 'rmlint-xxhash' class RmlintCity(Rmlint): def get_options(self, paths): return '-a city ' + Rmlint.get_options(self, paths) def get_benchid(self): return 'rmlint-city' class RmlintMD5(Rmlint): def get_options(self, paths): return '-a md5 ' + Rmlint.get_options(self, paths) def get_benchid(self): return 'rmlint-md5' class RmlintMurmur(Rmlint): def get_options(self, paths): return '-a murmur ' + Rmlint.get_options(self, paths) def get_benchid(self): return 'rmlint-murmur' class RmlintParanoid(Rmlint): def get_options(self, paths): return '-pp ' + Rmlint.get_options(self, paths) def get_benchid(self): return 'rmlint-paranoid' class RmlintReplay(Rmlint): def get_options(self, paths): return '--replay /tmp/rmlint.json -T df -o summary ' + ' '.join(paths) def get_benchid(self): return 'rmlint-replay' class OldRmlint(Program): website = 'https://github.com/sahib/rmlint' script = 'rmlint-old.sh' def get_binary(self): return 'rmlint/rmlint-old' def get_options(self, paths): return ' '.join(paths) + ' -v4' # log output to stdout def compute_version(self): version_text = subprocess.check_output( 'rmlint/rmlint-old --version', shell=True, stderr=subprocess.STDOUT ).decode('utf-8') match = re.search('Version (\d.\d.\d)', str(version_text)) if match is not None: return ' '.join(match.groups()).strip() return "" def parse_statistics(self, dump): dups, sets = 0, 0 for line in dump.splitlines(): if line.startswith(b'ORIG'): sets += 1 dups += 1 if line.startswith(b'DUPL'): dups += 1 return { 'dupes': dups, 'sets': sets } class Dupd(Program): website = 'https://github.com/jvirkki/dupd' script = 'dupd.sh' stats_file = '/tmp/rmlint-bench/.dupd.stats' def get_binary(self): return 'dupd/dupd' def get_options(self, paths): try: os.remove(self.stats_file) except OSError: pass args = ' '.join(['--path ' + path for path in paths]) return 'scan ' + args + ' --nodb --stats-file ' + self.stats_file def compute_version(self): return subprocess.check_output( 'dupd/dupd version', shell=True ).decode('utf-8').strip() def parse_statistics(self, _): stats = {} try: with open(self.stats_file, 'r') as fd: for line in fd: line = line.strip() if line: key, value = line.split(' ', 1) stats[key] = value return { 'dupes': int(stats['stats_duplicate_files']), 'sets': int(stats['stats_duplicate_sets']) } except OSError: pass except ValueError as err: print('doh', err) class Rdfind(Program): website = 'http://rdfind.pauldreik.se' script = 'rdfind.sh' result_file = '/tmp/rmlint-bench/.rdfind.results' def get_binary(self): return 'rdfind-1.3.4/rdfind' def get_options(self, paths): return '-ignoreempty true -removeidentinode \ false -checksum sha1 -dryrun true \ -outputname ' + self.result_file + ' '.join(paths) def compute_version(self): words = subprocess.check_output( 'rdfind-1.3.4/rdfind --version', shell=True ).decode('utf-8') return words.split(' ')[-1].strip() def parse_statistics(self, _): try: stats = Counter() with open(self.result_file, 'r') as fd: for line in fd: line = line.strip() if line: stats[line.split()[0]] += 1 return { 'dupes': stats['DUPTYPE_WITHIN_SAME_TREE'], 'sets': stats['DUPTYPE_FIRST_OCCURRENCE'] } except OSError: pass except ValueError: pass class Fdupes(Program): website = 'http://en.wikipedia.org/wiki/Fdupes' script = 'fdupes.sh' def get_binary(self): return 'fdupes/fdupes' def get_options(self, paths): return '-f -q -rnH -m ' + ' '.join(paths) def parse_statistics(self, dump): dump = dump.decode('utf-8') match = re.match( '(\d+) duplicate files \(in (\d+) sets\)', dump ) if match: return { 'dupes': int(match.group(1)), 'sets': int(match.group(2)) } def compute_version(self): return subprocess.check_output( 'fdupes/fdupes --version', shell=True ).decode('utf-8').strip() class Baseline(Program): website = 'https://github.com/sahib/rmlint/blob/develop\ /tests/test_speed/build_scripts/baseline.sh' script = 'baseline.sh' def get_binary(self): return 'baseline/baseline.py' def get_options(self, paths): return ' '.join(paths) def compute_version(self): return '1.0' def parse_statistics(self, dump): return json.loads(dump.decode('utf-8')) ############################ # DATASET GENERATORS # ############################ class Dataset: __metaclass__ = ABCMeta def __init__(self, name): self.name = name #################### # ABSTRACT METHODS # #################### @abstractmethod def generate(self): pass @abstractmethod def get_paths(self): pass class ExistingDataset(Dataset): def __init__(self, name, paths): Dataset.__init__(self, name) self.paths = paths def generate(self): pass def get_paths(self): return self.paths def do_run(programs, dataset): results = { 'metadata': { 'path': dataset.get_paths(), 'n_runs': CFG.n_runs, 'n_sub_runs': CFG.n_sub_runs }, 'programs': {} } benchmark_json_path = os.path.join( CFG.output, 'benchmark_{name}.json'.format( name=dataset.name.replace('/', '\\') ) ) for program in programs: program.install() data, memory_usage = program.run(dataset) print('>> Timing was #run: [time, cpu, dupes, sets]:') pprint.pprint(data) bench_id = program.get_benchid() results['programs'][bench_id] = {} results['programs'][bench_id]['version'] = program.version results['programs'][bench_id]['website'] = program.get_website() results['programs'][bench_id]['numbers'] = data results['programs'][bench_id]['memory'] = memory_usage print('-- Writing current benchmark results to', benchmark_json_path) with open(benchmark_json_path, 'w') as json_file: json_file.write(json.dumps(results, indent=4)) def parse_arguments(): parser = argparse.ArgumentParser() parser.add_argument( "-r", "--run", help="Run the benchmarks.", dest='do_run', default=False, action='store_true' ) parser.add_argument( "-i", "--install", help="Install all competitors from source.", dest='do_install', default=False, action='store_true' ) parser.add_argument( "-g", "--generate", help="Generate datasets.", dest='do_generate', default=False, action='store_true' ) parser.add_argument( "-v", "--print-versions", help="Print versions of programs.", dest='do_print_versions', default=False, action='store_true' ) parser.add_argument( "-d", "--dataset", help="Dataset to run on. Can be given multiple times.", dest='datasets', action='append' ) parser.add_argument( "-p", "--program", help="Choose program to run. Can be given multiple times.", dest='programs', action='append' ) return parser.parse_args() def main(): datasets = [ ExistingDataset('usr', ['/usr']), ExistingDataset('tmp', ['/tmp']), ExistingDataset('tmpvar', ['/tmp', '/var']), ExistingDataset('usrvar', ['/usr', '/var']), ExistingDataset('usr_music', ['/usr', '/mnt/music']), ExistingDataset('home', ['/home/sahib']) ] options = parse_arguments() # Make specifying absolute paths to -d possible. for dataset_name in options.datasets: if dataset_name.startswith('/'): datasets.append(ExistingDataset( dataset_name, [dataset_name] )) if options.do_generate or options.datasets: for dataset in datasets: if dataset in options.datasets or len(options.datasets) is 0: dataset.generate() programs = [ # (hopefully) slowest: # Baseline(), # Current: Rmlint(), RmlintParanoid(), # RmlintSpot(), # RmlintSpotParanoid(), Rmlint222(), Rmlint246(), Rmlint222Paranoid(), RmlintXXHash(), # RmlintSpooky(), # RmlintCity(), # RmlintMD5(), # RmlintMurmur(), RmlintReplay(), # Old rmlint: OldRmlint(), # Actual competitors: Fdupes(), Rdfind(), # Dupd() ] # Filter the `programs` list if necessary. if options.programs: options.programs = set(options.programs) programs = [p for p in programs if p.get_benchid() in options.programs] if not programs: print('!! No valid programs given.') return # Do the install procedure only: if options.do_install: for program in programs: print('++ Installing ' + program.get_name() + ':') program.install() # Print informative version if needed. if options.do_print_versions: current_path = os.getcwd() for program in programs: os.chdir(program.get_temp_dir()) print(program.get_binary() + ':', program.compute_version()) os.chdir(current_path) # Execute the actual run: if options.do_run: # Make sure the output directory exists: try: os.mkdir(CFG.output) except OSError: pass for dataset_name in options.datasets: for dataset in datasets: if dataset.name == dataset_name: try: do_run(programs, dataset) break except KeyboardInterrupt: print(' Interrupted this run. Next dataset.') if __name__ == '__main__': main() rmlint-2.6.1/tests/test_speed/bisect.sh000077500000000000000000000031211312046612000201260ustar00rootroot00000000000000#!/bin/bash # script for git bisect to help pinpoint speed regressions # NOTE: You probably need to make a copy of this script to run git bisect with; # git is likely to delete the original script during its iterations!! # how to use: # $ git bisect start # $ git checkout # # compile and time running of rmlint test run; note time # $ git bisect bad # $ git checkout # # compile and time running of rmlint test run; note time # $ git bisect good # # edit this script and set appropriate $cutoff_time and $rmlint_cmd (below) # $ git bisect run /path/to/this/script ##### CONFIG ###### #threshhold run time for good vs bad (in centiseconds, eg 7 seconds = 700): cutoff_time=700 # the rmlint command to run... rmlint_cmd="./rmlint -o pretty:/dev/null /usr -V" ################### # compile... scons -j4 2>&1 >/dev/null # optional: add DEBUG=1 if [ $? -ne 0 ]; then echo "Compile error: SKIPPING" exit 125 # (signal for git bisect skip) fi # drop caches to get reproducible results sync echo 3 > /proc/sys/vm/drop_caches if [ $? -ne 0 ]; then echo "\n**** Warning: could not drop caches (need to be root?)" fi # run... echo -n "Compiled ok... running speed test..." runtime=`(/usr/bin/time -f %e /bin/bash -c "$rmlint_cmd 2>/dev/null ") 2>&1` echo -n " completed in $runtime seconds: " # test result... runtime=${runtime//.} # convert to integer as centiseconds if [ "$runtime" -lt "$cutoff_time" ]; then echo GOOD exit 0 # (signal for git bisect good) else echo BAD exit 1 # (anything from 1..127 except 125 is signal for git bisect bad) fi rmlint-2.6.1/tests/test_speed/build_scripts/000077500000000000000000000000001312046612000211675ustar00rootroot00000000000000rmlint-2.6.1/tests/test_speed/build_scripts/baseline.sh000066400000000000000000000027711312046612000233140ustar00rootroot00000000000000#!/bin/sh mkdir -p baseline && cd baseline cat << EOF > baseline.py #!/usr/bin/env python # encoding: utf-8 import os import sys import json import pprint import hashlib # This is the most simple dupefinder in python that does not crash on large # datasets. It is inefficient and ugly, but works as minimal comparison tool. BLOCKSIZE = 6 * (1024 ** 2) def hash_file(file_path): try: with open(file_path, 'rb') as fd: m = hashlib.md5() buf = fd.read(BLOCKSIZE) while len(buf) > 0: m.update(buf) buf = fd.read(BLOCKSIZE) return m.hexdigest() except OSError: return hashes, dups = {}, {} def find_dups(input_dir): cnt = 0 for path, dirs, files in os.walk(input_dir): abspathes = (os.path.join(path, n) for n in files) for file_path in filter(os.path.isfile, abspathes): # Filter empty files: if os.path.getsize(file_path) is 0: continue md5 = hash_file(file_path) if md5 and hashes.setdefault(md5, file_path) != file_path: at = dups.setdefault(md5, [hashes[md5]]) at.append(file_path) cnt += 1 return dups, cnt if __name__ == '__main__': sum_dupes = 0 for input_dir in sys.argv[1:]: dups, cnt = find_dups(input_dir) sum_dupes += cnt print(json.dumps({ 'dupes': sum_dupes, 'sets': len(dups) })) EOF chmod +x baseline.py rmlint-2.6.1/tests/test_speed/build_scripts/dupd.sh000077500000000000000000000001061312046612000224570ustar00rootroot00000000000000#!/bin/sh git clone https://github.com/jvirkki/dupd cd dupd make -j4 rmlint-2.6.1/tests/test_speed/build_scripts/fdupes.sh000077500000000000000000000001231312046612000230100ustar00rootroot00000000000000#!/bin/sh git clone https://github.com/adrianlopezroche/fdupes.git cd fdupes make rmlint-2.6.1/tests/test_speed/build_scripts/rdfind.sh000077500000000000000000000001771312046612000230010ustar00rootroot00000000000000#!/bin/sh wget http://rdfind.pauldreik.se/rdfind-1.3.4.tar.gz tar xvf rdfind-1.3.4.tar.gz cd rdfind-1.3.4 ./configure && make rmlint-2.6.1/tests/test_speed/build_scripts/rmlint-master.sh000066400000000000000000000002661312046612000243250ustar00rootroot00000000000000#!/bin/sh git clone https://github.com/sahib/rmlint cd rmlint git checkout master scons -j4 DEBUG=0 # Make sure new and old binary does # not get confused. mv rmlint rmlint-master rmlint-2.6.1/tests/test_speed/build_scripts/rmlint-new.sh000077500000000000000000000001461312046612000236230ustar00rootroot00000000000000#!/bin/sh git clone https://github.com/sahib/rmlint cd rmlint git checkout develop scons -j4 DEBUG=0 rmlint-2.6.1/tests/test_speed/build_scripts/rmlint-old.sh000077500000000000000000000002461312046612000236110ustar00rootroot00000000000000#!/bin/sh git clone https://github.com/sahib/rmlint cd rmlint git checkout v1.0.6 make # Make sure new and old binary does # not get confused. mv rmlint rmlint-old rmlint-2.6.1/tests/test_speed/build_scripts/rmlint-spot.sh000066400000000000000000000002721312046612000240140ustar00rootroot00000000000000#!/bin/sh git clone https://github.com/SeeSpotRun/rmlint cd rmlint git checkout develop scons -j4 DEBUG=0 # Make sure new and old binary does # not get confused. mv rmlint rmlint-spot rmlint-2.6.1/tests/test_speed/build_scripts/rmlint-v2.2.2.sh000066400000000000000000000002661312046612000236610ustar00rootroot00000000000000#!/bin/sh git clone https://github.com/sahib/rmlint cd rmlint git checkout v2.2.2 scons -j4 DEBUG=0 # Make sure new and old binary does # not get confused. mv rmlint rmlint-v2.2.2 rmlint-2.6.1/tests/test_speed/copytodocs.sh000077500000000000000000000004301312046612000210430ustar00rootroot00000000000000#!/bin/sh cp "$1"/*memory* ../../docs/_static/benchmarks/memory.svg cp "$1"/*found_items* ../../docs/_static/benchmarks/found_items.html cp "$1"/*cpu_usage* ../../docs/_static/benchmarks/cpu_usage.svg cp "$1"/*timing* ../../docs/_static/benchmarks/timing.svg rmlint-2.6.1/tests/test_speed/plot_benchmark.py000066400000000000000000000117731312046612000216740ustar00rootroot00000000000000#!/usr/bin/env python # encoding: utf-8 # Stdlib: import os import sys import json import glob import argparse import statistics # External: import pygal # from pygal.style import LightSolarizedStyle as Style from pygal.style import DefaultStyle as Style VALID_ATTRS = { 'timing': 0, 'cpu_usage': 1, 'peakmem': 2, 'dupes': 3, 'sets': 4 } Style.background = '#FFFFFF' CONFIG = pygal.Config() CONFIG.human_readable = True CONFIG.tooltip_fancy_mode = True CONFIG.style = Style def unpack(chart, data, bench_name, add_x_labels=True): chart.title = '{name} comparison on {path}'.format( name=bench_name, path=data['metadata']['path'] ) if bench_name: chart.y_title = 'Averaged {name} over {rn} runs'.format( rn=data['metadata']['n_sub_runs'], name=bench_name ) n_runs = data['metadata']['n_runs'] if add_x_labels: labels = ['Run #' + str(i + 1) for i in range(n_runs)] chart.x_labels = labels + ['Average'] for program in sorted(data['programs']): result = data['programs'][program] if len(result["numbers"]) < n_runs: continue points = [] for key in [str(run + 1) for run in range(n_runs)] + ['average']: points.append(result['numbers'][key]) yield program, result, points def format_tooltip(program, version): return '{name} ({ver})'.format( name=program, ver=version ) def _plot_generic(data, chart, name, key): for program, metadata, points in unpack(chart, data, name): numbers = [] for point in points: numbers.append({ 'value': round(key(point), 3), 'label': format_tooltip( program, metadata['version'] ), 'xlink': metadata.get('website') }) chart.add(program, numbers) def plot_memory(data): chart = pygal.StackedBar(CONFIG) _plot_generic( data, chart, 'Peakmem', lambda p: p[VALID_ATTRS['peakmem']] ) return chart.render(is_unicode=True) def plot_timing(data): chart = pygal.Bar(CONFIG, logarithmic=True) _plot_generic( data, chart, 'Timing', lambda p: p[VALID_ATTRS['timing']] ) return chart.render(is_unicode=True) def plot_cpu_usage(data): chart = pygal.Bar(CONFIG) _plot_generic( data, chart, 'CPU usage', lambda p: p[VALID_ATTRS['cpu_usage']] ) return chart.render(is_unicode=True) def plot_found_results(data): chart = pygal.Bar(CONFIG) results = [] unpacked = unpack(chart, data, 'Found results', add_x_labels=True) for program, metadata, points in unpacked: average = points[-1] results.append(([ average[VALID_ATTRS['dupes']], average[VALID_ATTRS['sets']], #statistics.variance([p[2] for p in points[:-1]]), #statistics.variance([p[3] for p in points[:-1]]) ], program)) labels = [ 'Dupes found', 'Set of dupes', 'Dupevariance between runs', 'Setvariance between runs' ] results.sort() for point, program in results: chart.add( program, [{ 'value': value, 'label': '{v} {l}'.format( v=value, l=labels[idx] ) } for idx, value in enumerate(point)] ) chart.x_labels = ['Duplicates', 'Originals'] return chart.render_table(style=True, total=False) def parse_arguments(): parser = argparse.ArgumentParser() parser.add_argument( 'input_dir', help='Directory with bench files' ) parser.add_argument( 'output_dir', help='Where to store the plots', nargs='?' ) return parser.parse_args() def guess_output_dir(input_dir): if input_dir.startswith('bench-'): _, stamp = input_dir.split('-', 1) return 'plot-' + stamp return 'plot-output' def main(): options = parse_arguments() if not options.output_dir: options.output_dir = guess_output_dir(options.input_dir) os.makedirs(options.output_dir, exist_ok=True) PLOT_FUNCS = { 'timing': (plot_timing, False), 'memory': (plot_memory, False), 'cpu_usage': (plot_cpu_usage, False), 'found_items': (plot_found_results, True) } for path in glob.glob(os.path.join(options.input_dir, '*.json')): with open(path, 'r') as handle: data = json.loads(handle.read()) for attr, (plot_func, is_table) in PLOT_FUNCS.items(): svg_or_table = plot_func(data) suffix = '.html' if is_table else '.svg' output_path = os.path.join( options.output_dir, attr + '-' + os.path.basename(path) + suffix ) print('Writing:', output_path) with open(output_path, 'w') as handle: handle.write(svg_or_table) if __name__ == '__main__': main() rmlint-2.6.1/tests/test_speed/verify.py000066400000000000000000000021541312046612000202010ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 import sys import json import hashlib from collections import defaultdict def sha1_of_file(path): sha = hashlib.sha1() with open(path, 'rb') as f: while True: block = f.read(2 ** 10) if not block: break sha.update(block) return sha.hexdigest() if __name__ == '__main__': head, *data, footer = json.load(sys.stdin) dupe_groups = defaultdict(list) for point in data: dupe_groups[point['checksum']].append(point['path']) for checksum, group in dupe_groups.items(): checksum_set = set() for path in group: sha1 = sha1_of_file(path) checksum_set.add(sha1) if len(checksum_set) > 1: print('The following path differs:') print(' {c}={p}'.format(p=path, c=sha1)) print('It was in a group with this checksum') checksum_set.remove(sha1) print(' {c}={p}'.format(p=group, c=checksum_set.pop())) sys.exit(-1) print('Everything fine.') rmlint-2.6.1/tests/test_types/000077500000000000000000000000001312046612000163655ustar00rootroot00000000000000rmlint-2.6.1/tests/test_types/test_badlink.py000066400000000000000000000013131312046612000214000ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * import os def create_bad_link(link_name): link_name = os.path.join(TESTDIR_NAME, link_name) fake_target = link_name + '.target' with open(fake_target, 'w') as h: h.write('xxx') try: os.symlink(fake_target, link_name) finally: os.remove(fake_target) @with_setup(usual_setup_func, usual_teardown_func) def test_basic(): create_bad_link('imbad') for option in ('-f', '-F', '--see-symlinks'): head, *data, footer = run_rmlint(option) assert len(data) == 1 assert data[0]['type'] == 'badlink' assert data[0]['path'].endswith('imbad') rmlint-2.6.1/tests/test_types/test_baduids.py000066400000000000000000000027261312046612000214200ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * import subprocess RMLINT_DUMMY_GROUP = '__rmlint_dummy_group' RMLINT_DUMMY_USER = '__rmlint_dummy_user' def exec_cmds(cmds): for cmd in cmds: fmt_cmd = cmd.format( u=RMLINT_DUMMY_USER, g=RMLINT_DUMMY_GROUP, t=TESTDIR_NAME ) try: subprocess.check_call(fmt_cmd, shell=True, stderr=subprocess.PIPE) except subprocess.CalledProcessError as err: print(cmd, 'failed:', err) @with_setup(usual_setup_func, usual_teardown_func) def test_bad_ids(): if not runs_as_root(): return exec_cmds([ 'groupadd {g}', 'useradd -M -N {u}', ]) try: create_file('x', '1_bad_uid') create_file('y', '2_bad_gid') create_file('z', '3_bad_gid_and_uid') exec_cmds([ 'chown {u} {t}/1_bad_uid', 'chgrp {g} {t}/2_bad_gid', 'chown {u}:{g} {t}/3_bad_gid_and_uid' ]) finally: exec_cmds([ 'userdel -r {u}', 'groupdel {g}' ]) head, *data, footer = run_rmlint('-S a') x, y, z = data assert x['path'].endswith('1_bad_uid') assert y['path'].endswith('2_bad_gid') assert z['path'].endswith('3_bad_gid_and_uid') assert x['type'] == 'baduid' assert y['type'] == 'badgid' assert z['type'] == 'badugid' assert footer['total_files'] == 3 rmlint-2.6.1/tests/test_types/test_duplicate.py000066400000000000000000000047671312046612000217660ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * import os def create_data(len, flips=None): data = ['0'] * len for flip in flips or []: data[flip] = '1' return ''.join(data) @with_setup(usual_setup_func, usual_teardown_func) def test_small_diffs(): if use_valgrind(): N = 32 else: # Takes horribly long elsewhise N = 128 create_file(create_data(len=N, flips=None), 'a') create_file(create_data(len=N, flips=[-1]), 'b') head, *data, footer = run_rmlint('-S a') assert len(data) == 0 create_file(create_data(len=N, flips=[+1]), 'a') create_file(create_data(len=N, flips=[-1]), 'b') head, *data, footer = run_rmlint('-S a') assert len(data) == 0 create_file(create_data(len=N, flips=[+1]), 'a') create_file(create_data(len=N, flips=[+1]), 'b') head, *data, footer = run_rmlint('-S a') assert len(data) == 2 for i in range(0, N // 2): create_file(create_data(len=N, flips=[+i]), 'a') create_file(create_data(len=N, flips=[-i]), 'b') head, *data, footer = run_rmlint('-S a') if i == N - i or i is 0: assert len(data) == 2 else: assert len(data) == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_one_byte_file_negative(): create_file('1', 'one') create_file('2', 'two') head, *data, footer = run_rmlint('-S a') assert len(data) == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_one_byte_file_positive(): create_file('1', 'one') create_file('1', 'two') head, *data, footer = run_rmlint('-S a') assert len(data) == 2 @with_setup(usual_setup_func, usual_teardown_func) def test_two_hardlinks(): create_file('xxx', 'a') create_link('a', 'b') head, *data, footer = run_rmlint('-S a') assert len(data) == 2 assert footer['total_lint_size'] == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_two_external_hardlinks(): create_file('xxx', 'a') create_file('xxx', 'b') create_dirs('sub') create_link('a', 'sub/a') create_link('a', 'sub/b') head, *data, footer = run_rmlint('-S a') assert len(data) == 4 assert footer['total_lint_size'] == 3 head, *data, footer = run_rmlint( "{t}/sub".format(t=TESTDIR_NAME), use_default_dir=False ) # No effective lint: Removing any link will not save any disk space. assert len(data) == 2 assert footer['total_lint_size'] == 0 rmlint-2.6.1/tests/test_types/test_empty_dirs.py000066400000000000000000000030011312046612000221470ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_simple(): create_file('xxx', 'not_empty/a') create_file('', 'empty_but_with_file/a') create_dirs('really_empty') head, *data, footer = run_rmlint('-T "none +ed +ef" -S a') assert footer['total_files'] == 3 assert footer['duplicates'] == 0 assert footer['total_lint_size'] == 0 assert len(data) == 2 assert data[0]['size'] == 0 assert data[0]['type'] == "emptydir" assert data[1]['size'] == 0 assert data[1]['type'] == "emptyfile" @with_setup(usual_setup_func, usual_teardown_func) def test_deep(): create_dirs('1/2/3/4/5') head, *data, footer = run_rmlint('-T "none +ed"') assert data[0]['path'].endswith('5') assert data[1]['path'].endswith('4') assert data[2]['path'].endswith('3') assert data[3]['path'].endswith('2') assert data[4]['path'].endswith('1') create_file('', '1/2/3/showstopper') head, *data, footer = run_rmlint('-T "none +ed"') assert data[0]['path'].endswith('5') assert data[1]['path'].endswith('4') @with_setup(usual_setup_func, usual_teardown_func) def test_hidden(): create_file('xxx', 'not_empty/.hidden') head, *data, footer = run_rmlint('-T "none +ed"') assert footer['total_files'] == 0 assert len(data) is 0 head, *data, footer = run_rmlint('-T "none +ed" --hidden') assert footer['total_files'] == 1 assert len(data) is 0 rmlint-2.6.1/tests/test_types/test_empty_files.py000066400000000000000000000007231312046612000223200ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * @with_setup(usual_setup_func, usual_teardown_func) def test_simple(): create_file('xxx', 'not_empty') create_file('', 'very_empty') head, *data, footer = run_rmlint('-T "none +ef"') assert footer['total_files'] == 2 assert footer['duplicates'] == 0 assert footer['total_lint_size'] == 0 assert len(data) == 1 assert data[0]['size'] == 0 rmlint-2.6.1/tests/test_types/test_nonstripped.py000066400000000000000000000027241312046612000223500ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 from nose import with_setup from tests.utils import * import os SOURCE = ''' #include #include #include int main(int argc, char *argv[]) { puts("Hello rmlint. Why were you executing this?"); return EXIT_SUCCESS; } ''' def create_binary(path, stripped=False): path = path + '.stripped' if stripped else path + '.nonstripped' full_path = os.path.join(TESTDIR_NAME, path) command = 'echo \'{src}\' | cc -o {path} {option} -std=c99 -xc -'.format( src=SOURCE, path=full_path, option=('-s' if stripped else '-ggdb3') ) subprocess.call(command, shell=True) @with_setup(usual_setup_func, usual_teardown_func) def test_negative(): if has_feature('nonstripped') is False: return create_file(SOURCE, 'source.c') create_binary('source.c', stripped=True) head, *data, footer = run_rmlint('-T "none +nonstripped"') assert footer['total_files'] == 2 assert footer['total_lint_size'] == 0 assert len(data) == 0 @with_setup(usual_setup_func, usual_teardown_func) def test_positive(): if has_feature('nonstripped') is False: return create_file(SOURCE, 'source.c') create_binary('source.c', stripped=False) head, *data, footer = run_rmlint('-T "none +nonstripped"') assert footer['total_files'] == 2 assert footer['total_lint_size'] == 0 # We cannot determine exact lint size. assert data[0]['type'] == 'nonstripped' rmlint-2.6.1/tests/utils.py000066400000000000000000000201351312046612000156750ustar00rootroot00000000000000#!/usr/bin/env python3 # encoding: utf-8 ############# # UTILITIES # ############# import os import json import time import pprint import shutil import shlex import subprocess TESTDIR_NAME = os.getenv('RM_TS_DIR') or '/tmp/rmlint-unit-testdir' def runs_as_root(): return os.geteuid() is 0 def get_env_flag(name): try: return int(os.environ.get(name) or 0) except ValueError: print('{n} should be an integer.'.format(n=name)) def use_valgrind(): return get_env_flag('RM_TS_USE_VALGRIND') def keep_testdir(): return get_env_flag('RM_TS_KEEP_TESTDIR') def create_testdir(): try: os.makedirs(TESTDIR_NAME) except OSError: pass def which(program): def is_exe(fpath): return os.path.isfile(fpath) and os.access(fpath, os.X_OK) fpath, fname = os.path.split(program) if fpath and is_exe(program): return program else: for path in (os.environ.get("PATH") or []).split(os.pathsep): path = path.strip('"') exe_file = os.path.join(path, program) if is_exe(exe_file): return exe_file return None def has_feature(feature): return ('+' + feature) in subprocess.check_output( ['./rmlint', '--version'], stderr=subprocess.STDOUT ).decode('utf-8') def run_rmlint_once(*args, dir_suffix=None, use_default_dir=True, outputs=None, directly_return_output=False, use_shell=False): if use_default_dir: if dir_suffix: target_dir = os.path.join(TESTDIR_NAME, dir_suffix) else: target_dir = TESTDIR_NAME else: target_dir = "" if use_valgrind(): env = { 'G_DEBUG': 'gc-friendly', 'G_SLICE': 'always-malloc' } cmd = [which('valgrind'), '--error-exitcode=1', '-q'] if get_env_flag('RM_TS_CHECK_LEAKS'): cmd.extend( ['--leak-check=full', '--show-leak-kinds=definite', '--errors-for-leak-kinds=definite'] ) elif get_env_flag('RM_TS_USE_GDB'): env, cmd = {}, ['/usr/bin/gdb', '-batch', '--silent', '-ex=run', '-ex=thread apply all bt', '-ex=quit', '--args'] else: env, cmd = {}, [] cmd += [ './rmlint', target_dir, '-V', ] + shlex.split(' '.join(args)) + [ '-o', 'json:/tmp/out.json', '-c', 'json:oneline' ] for idx, output in enumerate(outputs or []): cmd.append('-o') cmd.append('{f}:{p}'.format( f=output, p=os.path.join(TESTDIR_NAME, '.' + output + '-' + str(idx))) ) # filter empty strings cmd = list(filter(None, cmd)) if get_env_flag('RM_TS_PRINT_CMD'): print('Running cmd from `{cwd}`: {cmd}'.format( cwd=os.getcwd(), cmd=' '.join(cmd) )) if get_env_flag('RM_TS_SLEEP'): print('Waiting for 1000 seconds.') time.sleep(1000) if use_shell is True: # Use /bin/bash, not /bin/sh cmd = ["/bin/bash", "-c", " ".join(cmd)] output = subprocess.check_output(cmd, env=env) if get_env_flag('RM_TS_USE_GDB'): print('==> START OF GDB OUTPUT <==') print(output.decode('utf-8')) print('==> END OF GDB OUTPUT <==') if directly_return_output: return output with open('/tmp/out.json', 'r') as f: json_data = json.loads(f.read()) read_outputs = [] for idx, output in enumerate(outputs or []): with open(os.path.join(TESTDIR_NAME, '.' + output + '-' + str(idx)), 'r', encoding='utf8') as handle: read_outputs.append(handle.read()) if outputs is None: return json_data else: return json_data + read_outputs def compare_json_doc(doc_a, doc_b, compare_checksum=False): keys = [ 'disk_id', 'inode', 'mtime', 'path', 'size', 'type' ] if compare_checksum and 'checkum' in doc_a and 'checksum' in doc_b: keys.append('checksum') for key in keys: # It's okay for unfinished checksums to have some missing fields. if doc_a['type'] == doc_b['type'] == 'unfinished_cksum': continue if doc_a[key] != doc_b[key]: print(' !! Key differs: ', key, doc_a[key], '!=', doc_b[key]) return False return True def compare_json_docs(docs_a, docs_b, compare_checksum=False): paths_a, paths_b = {}, {} for doc_a in docs_a[1:-1]: paths_a[doc_a['path']] = doc_a for doc_b in docs_b[1:-1]: paths_b[doc_b['path']] = doc_b for path_a, doc_a in paths_a.items(): # if path_a not in paths_b: # print('####', doc_a, path_a, '\n', docs_b, '\n\n', list(paths_b)) doc_b = paths_b[path_a] if not compare_json_doc(doc_a, doc_b, compare_checksum): print('!! OLD:') pprint.pprint(doc_a) print('!! NEW:') pprint.pprint(doc_b) print('------- DIFF --------') return False if docs_a[-1] != docs_b[-1]: print('!! FOOTER DIFFERS', docs_a[-1], docs_b[-1]) return False return True def run_rmlint_pedantic(*args, **kwargs): options = [ '--with-fiemap', '--without-fiemap', '--fake-pathindex-as-disk', '--fake-fiemap', '-P', '-PP', '--limit-mem 1M --algorithm=paranoid', '--buffered-read', '--threads=1', '--shred-never-wait', '--shred-always-wait', '--no-mount-table' ] cksum_types = [ 'paranoid', 'sha1', 'sha256', 'spooky', 'bastard', 'city', 'md5', 'city256', 'city512', 'murmur', 'murmur256', 'murmur512', 'spooky32', 'spooky64', 'xxhash', 'farmhash', 'sha3-256', 'sha3-384', 'sha3-512', 'blake2s', 'blake2b', 'blake2sp', 'blake2bp', ] # Note: sha512 is supported on all system which have # no recent enough glib with. God forsaken debian people. if has_feature('sha512'): cksum_types.append('sha512') for cksum_type in cksum_types: options.append('--algorithm=' + cksum_type) data = None output_len = len(kwargs.get('outputs', [])) for option in options: new_data = run_rmlint_once(*(args + (option, )), **kwargs) data_skip, new_data_skip = data, new_data if output_len is not 0: if new_data: new_data_skip = new_data[:-output_len] if data: data_skip = data[:-output_len] # We cannot compare checksum in all cases. compare_checksum = not option.startswith('--algorithm=') if data_skip is not None and not 'directly_return_output' in kwargs and not compare_json_docs(data_skip, new_data_skip, compare_checksum): pprint.pprint(data_skip) pprint.pprint(new_data_skip) raise AssertionError("Optimisation too optimized: " + option) data = new_data return data def run_rmlint(*args, force_no_pendantic=False, **kwargs): if get_env_flag('RM_TS_PEDANTIC') and force_no_pendantic is False: return run_rmlint_pedantic(*args, **kwargs) else: return run_rmlint_once(*args, **kwargs) def create_dirs(path): os.makedirs(os.path.join(TESTDIR_NAME, path)) def create_link(path, target, symlink=False): f = os.symlink if symlink else os.link f( os.path.join(TESTDIR_NAME, path), os.path.join(TESTDIR_NAME, target) ) def create_file(data, name, mtime=None): full_path = os.path.join(TESTDIR_NAME, name) if '/' in name: try: os.makedirs(os.path.dirname(full_path)) except OSError: pass with open(full_path, 'w') as handle: handle.write(data) if not mtime is None: subprocess.call(['touch', '-m', '-d', str(mtime), full_path]) return full_path def warp_file_to_future(name, seconds): now = time.time() os.utime(os.path.join(TESTDIR_NAME, name), (now + 2, now + 2)) def usual_setup_func(): shutil.rmtree(path=TESTDIR_NAME, ignore_errors=True) create_testdir() def usual_teardown_func(): if not keep_testdir(): # Allow teardown to be called more than once: try: shutil.rmtree(path=TESTDIR_NAME) except OSError: pass