pax_global_header00006660000000000000000000000064150032454110014505gustar00rootroot0000000000000052 comment=2f4c1ebec219df89d48c6a9fa640468cc1b5cbe1 qgit-qgit-2.11/000077500000000000000000000000001500324541100133365ustar00rootroot00000000000000qgit-qgit-2.11/.editorconfig000066400000000000000000000001501500324541100160070ustar00rootroot00000000000000[*] end_of_line = lf charset = utf-8 trim_trailing_whitespace = true indent_style = tab indent_size = 4 qgit-qgit-2.11/.github/000077500000000000000000000000001500324541100146765ustar00rootroot00000000000000qgit-qgit-2.11/.github/workflows/000077500000000000000000000000001500324541100167335ustar00rootroot00000000000000qgit-qgit-2.11/.github/workflows/build.yaml000066400000000000000000000027371500324541100207270ustar00rootroot00000000000000# # Copyright (C) 2020 Sebastian Pipping # # 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 2 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 . name: Build (Linux, Ubuntu 22.04 LTS) on: - pull_request - push jobs: build: name: Build (Linux, Ubuntu 22.04 LTS) runs-on: ubuntu-22.04 steps: - name: 'Install build dependencies' run: |- set -e sudo apt-get update sudo apt-get install --yes --no-install-recommends \ build-essential \ cmake \ qtbase5-dev - name: 'Checkout Git branch' uses: actions/checkout@v2.0.0 - name: 'Configure' run: |- set -e mkdir build cd build cmake .. - name: 'Build' run: |- make -C build - name: 'Install' run: |- set -e make -C build DESTDIR="${PWD}"/ROOT install find ROOT | sort qgit-qgit-2.11/.gitignore000066400000000000000000000003221500324541100153230ustar00rootroot00000000000000/.kateproject.d/notes.txt /.kateproject /.directory Makefile* *~ bin build *kde* Doxy* qgit4.tag Debug/ Release/ *.ncb *.suo *.vcproj.* moc_*.cpp qrc_*.cpp ui_*.h qgit.pro.* qgit.qbs.* src/release .qmake.stash qgit-qgit-2.11/CMakeLists.txt000066400000000000000000000051601500324541100161000ustar00rootroot00000000000000# # see http://qt-project.org/doc/qt-5/cmake-manual.html # see also http://www.kdab.com/using-cmake-with-qt-5/ # see also http://stackoverflow.com/questions/16245147/unable-to-include-a-ui-form-header-of-qt5-in-cmake # see also http://www.qtcentre.org/wiki/index.php?title=Compiling_Qt4_apps_with_CMake # cmake_minimum_required(VERSION 3.10.2) project(qgit) include(GNUInstallDirs) # As moc files are generated in the binary dir, tell CMake # to always look for includes there: set(CMAKE_INCLUDE_CURRENT_DIR ON) # Instruct CMake to run moc automatically when needed. set(CMAKE_AUTOMOC ON) set(QT_MIN_VERSION 5.11.0) find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core Gui Widgets) include_directories( ${CMAKE_SOURCE_DIR}/src ) set(CPP_SOURCES src/annotate.cpp src/cache.cpp src/commitimpl.cpp src/common.cpp src/consoleimpl.cpp src/customactionimpl.cpp src/dataloader.cpp src/domain.cpp src/exceptionmanager.cpp src/filecontent.cpp src/FileHistory.cc src/filelist.cpp src/fileview.cpp src/git.cpp src/lanes.cpp src/listview.cpp src/inputdialog.cpp src/mainimpl.cpp src/myprocess.cpp src/namespace_def.cpp src/patchcontent.cpp src/patchview.cpp src/qgit.cpp src/rangeselectimpl.cpp src/revdesc.cpp src/revsview.cpp src/settingsimpl.cpp src/smartbrowse.cpp src/treeview.cpp ) # UIS_HDRS will be used later in add_executable qt5_wrap_ui(UIS_HDRS src/commit.ui src/console.ui src/customaction.ui src/fileview.ui src/help.ui src/mainview.ui src/patchview.ui src/rangeselect.ui src/revsview.ui src/settings.ui ) # and finally an resource file set(RESOURCE_FILES src/icons.qrc ) # this command will generate rules that will run rcc on all files from SAMPLE_RCS # in result SAMPLE_RC_SRCS variable will contain paths to files produced by rcc qt5_add_resources(RC_SRCS ${RESOURCE_FILES}) add_executable(qgit ${CPP_SOURCES} ${UIS_HDRS} ${RC_SRCS}) target_link_libraries(qgit Qt5::Widgets) install(TARGETS qgit DESTINATION bin) if (UNIX) install(FILES src/resources/qgit.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps) install(FILES src/resources/qgit.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps) install(FILES qgit.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications) install(FILES qgit.appdata.xml DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/metainfo) endif() # kate: indent-width 4; replace-tabs on; # notes: # http://stackoverflow.com/questions/15054117/aligning-qgraphicsitems-to-a-grid-when-dragging-and-dropping qgit-qgit-2.11/COPYING.rtf000066400000000000000000000400361500324541100151660ustar00rootroot00000000000000{\rtf1\ansi\ansicpg1250\deff0\deflang1033\deflangfe1060{\fonttbl{\f0\fswiss\fprq2\fcharset238 Verdana;}{\f1\fmodern\fprq1\fcharset238 Lucida Console;}} {\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\nowidctlpar\sb100\sa100\qc\lang1060\kerning36\b\f0\fs28 GNU General Public License\par \kerning0\b0\fs16 Version 2, June 1991\par \pard\nowidctlpar\f1\fs14\par Copyright (C) 1989, 1991 Free Software Foundation, Inc.\par 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\par \par Everyone is permitted to copy and distribute verbatim copies\par of this license document, but changing it is not allowed.\par \par \pard\keepn\nowidctlpar\sb100\sa100\qc\b\f0\fs20 Preamble\fs24\par \pard\nowidctlpar\fi142\sb100\sa100\b0\fs16 The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. \par 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 this service 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. \par To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. \par For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. 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. \par We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. \par Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. \par Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. \par The precise terms and conditions for copying, distribution and modification follow. \par \pard\keepn\nowidctlpar\sb100\sa100\qc\b\fs20 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\par \pard\nowidctlpar\fi142\sb100\sa100\fs16 0.\b0 This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". \par \pard\nowidctlpar\sb100\sa100 Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. \par \pard\nowidctlpar\fi142\sb100\sa100\b 1.\b0 You may copy and distribute 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 and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. \par \pard\nowidctlpar\sb100\sa100 You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. \par \pard\nowidctlpar\fi142\sb100\sa100\b 2.\b0 You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: \par \pard\nowidctlpar\li284\sb100\sa100\b a)\b0 You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. \par \b b)\b0 You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. \par \b c)\b0 If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) \par \pard\nowidctlpar\sb100\sa100 These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. \par Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. \par In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. \par \pard\nowidctlpar\fi142\sb100\sa100\b 3.\b0 You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: \v \v0\par \pard\nowidctlpar\li284\sb100\sa100\b a)\b0 Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, \par \b b)\b0 Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, \par \b c)\b0 Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) \par \pard\nowidctlpar\sb100\sa100 The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. \par If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. \par \pard\nowidctlpar\fi142\sb100\sa100\b 4.\b0 You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. \par \b 5.\b0 You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. \par \b 6.\b0 Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. \par \b 7.\b0 If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. \par \pard\nowidctlpar\sb100\sa100 If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. \par It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. \par This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. \par \pard\nowidctlpar\fi142\sb100\sa100\b 8.\b0 If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. \par \b 9.\b0 The Free Software Foundation may publish revised and/or new versions of the 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. \par \pard\nowidctlpar\sb100\sa100 Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. \par \pard\nowidctlpar\fi142\sb100\sa100\b 10.\b0 If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. \par \pard\nowidctlpar\sb100\sa100\qc\fs20 NO WARRANTY\par \pard\nowidctlpar\fi142\sb100\sa100\b\fs16 11.\b0 BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. \par \b 12.\b0 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE 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. \par \pard\keepn\nowidctlpar\sb100\sa100\qc\b END OF TERMS AND CONDITIONS\fs20\par } \ No newline at end of file qgit-qgit-2.11/README.adoc000066400000000000000000000406601500324541100151310ustar00rootroot00000000000000qgit, a git GUI viewer ====================== With qgit you will be able to browse revisions history, view patch content and changed files, graphically following different development branches. Bugs or feature requests should be sent to the git@vger.kernel.org mailing list. Main features ------------- - View revisions, diffs, files history, files annotation, archive tree. - Commit changes visually cherry picking modified files. - Apply or save patch series from selected commits, drag and drop commits between two instances of qgit. - Associate commands sequences, scripts and anything else executable to a custom action. Actions can be run from menu and corresponding output is grabbed by a terminal window. - qgit implements a GUI for the most common StGIT commands like push/pop and apply/save patches. You can also create new patches or refresh current top one using the same semantics of git commit, i.e. cherry picking single modified files. Installation ------------ You need Qt developer libraries, version 5.11.0 or later, already installed. Be sure compiler, qmake (Qt5 version) and Qt5 bin tools are in path. NOTE: Correct qmake for Qt5 (/usr/lib/qt5/bin/qmake) must be called, in case also Qt4 version is in path the former must be explicitly invoked. To compile, install and start qgit: - unpack the released tar file or clone from a git public archive - (Windows only) open src/src.pro and set the proper GIT_EXEC_DIR value - generate Makefiles (only the first time) Unix/Linux and Windows: qmake qgit.pro Mac Os X: qmake -spec macx-clang qgit.pro - (Windows only with VC2008 IDE) open qgit.sln solution file - make - make install - (Windows only) run start_qgit.bat to start the application. You can also create a a desktop icon linked to 'start_qgit.bat' and double click on it. Installation directory is `~/bin` under MacOS, `QT_INSTALL_BINS` (location of Qt binaries) under Linux and the directory of git exe files under Windows. You need to run 'qmake qgit.pro' only the first time to generate Makefile files, then you simply call 'make' and 'make install'. You may need to run 'qmake qgit.pro' again only after patches that modify 'qgit.pro' or 'src/src.pro' files or in case of 'strange' compile errors. Remember to manually delete all Makefile* files in 'src/' directory before to start 'qmake qgit.pro'. Performance tweaks ------------------ A 'git log' command is used to load the repository at startup or when refreshing. This is an highly performance critical task. Default method is based on a temporary file as data exchange facility. This is the fastest on Linux with a tmpfs filesystem mounted under /tmp, as is common with most distributions. In case of portability issues it is possible to fallback on a standard QProcess based interface. To do this uncomment USE_QPROCESS define in 'src/dataloader.h' before to compile. Command line arguments ---------------------- Run qgit from a git working directory, command line arguments are filtered by 'git log'. Some examples: [source,shell] ------------------------------------------------------------------------------ qgit --no-merges qgit v2.6.18.. include/scsi drivers/scsi qgit --since="2 weeks ago" -- kernel/ qgit -r --name-status release..test ------------------------------------------------------------------------------ If qgit is launched without arguments or if you change archive with 'open' menu, a dialog for range select is shown. You can select top and bottom rev tags from the list or paste a specific revision. Values are passed to 'git log' to narrow data loading to chosen revisions. As a special command-line argument, '--view-file foo' or '--view-file=foo' is not passed to 'git log', but opens the file 'foo' in the QGit file viewer, showing the history and the annotated ('blame') view for the file. Main view --------- You can navigate through logs, file names, file history, archive tree. All the views will be updated accordingly. Copy/paste is supported on all fields. Copy (CTRL+C) is supported on all views. All the references found recursively under .git/refs/ directory are highlighted according to their type: current branch(HEAD), branch, tag, other. Reference names and any associated messages can be viewed in status bar when a tagged revision is selected. When you right click on main view a context sensitive pop-up menu is shows available commands and a 'quick jump' tag list. *Key bindings*:: |============================================================================= |r |Go to revisions list page |p |Go to patch page |f |Go to file page | |Go to next/previous page |t |Toggle tree view |s |Toggle view of secondary panes |h |Toggle view of revision header | |Move to first revision | |Move to last revision |i |Move up one revision in main view (global scope) |n, k |Move down one revision in main view (global scope) | |Move to previous highlighted line | |Move to next highlighted line | |Go back in history list | |Go forward in history list | |Increase font size | |Decrease font size |, b |Scroll content up one page | |Scroll content up one page | |Scroll content down one page |u |Scroll content up 18 lines |d |Scroll content down 18 lines |============================================================================= *Directory tree*:: From menu or toolbar button it is possible to show a side panel with tree view of repository files and directories. + Double clicking on a file opens file annotation window. With 'filter by tree' button it is possible to compress revision list to show only selected files/directories in tree view. + Tree view supports multi-selection. When you right click on a file on tree view a context sensitive pop-up menu is shows with available commands. *Working directory changes*:: When 'Check working dir' flag is set, as example from main view context pop-up menu, a pseudo-revision is shown and highlighted at the top of the list. Highlight and revision name reflect current working directory status: 'Nothing to commit' or 'Working directory changes' respectively. + To check for working directory modified files set corresponding preference in Edit->Settings->'Working dir'. QGit checks for possible new files added in working directory using ignoring rules according to git ls-files specifications, see menu Edit->Settings->'Working dir'. + TIP: If you don't need to see modified files in working dir, disable corresponding setting and start-up time will be shorter. *Lane info*:: Selecting a lane with mouse right button will display a pop-up with the list of children and parent. Select one and you jump to it. *Filter / Highlight*:: Use the combo box to select where you want to filter or highlight on. Currently supported fields are: log header, log message, revision author, revision SHA1, file name and patch content. + Write a filter string, press filter button and the view will update showing only commits that contain the filter string, case insensitive. Toggle filter button to release the filter. + Alternatively press the magnifying glass button, in this case matched lines will be highlighted, you can use and keys to browse them. Toggle the button to remove the highlighting. + NOTE: In case of patch content regexp filtering, the given string is interpreted as a POSIX regular expression, not as a simple substring. + TIP: Very useful to quick retrieve a sha writing only first 3-4 digits and filtering / highlighting on revision sha. The sha value can then be copied from SHA field. + TIP: It is possible to insert an abbreviated sha directly in the SHA line edit at the top right of the window. After pressing enter this will trigger an higlighting of the matched revisions. It is a kind of shortcut of the previous tip. *Save patch series*:: After mouse selecting the chosen revisions (use standard CTRL+left click) for single select or SHIFT+left click for range select), press 'Save Patch' button or use file menu and a dialog will let you choose patches destination directory. Then 'git format-patch-script' will be called and patches created. It is possible to specify additional options with Edit->Settings menu. *Apply patch*:: This menu entry is complementary to save patch and it's an interface to 'git am'. *Drag and drop*:: It is possible to drag some selected revs from one instance of qgit to another open on a different archive. In this case 'git format-patch' is used in the dragging archive to create temporary patches imported in the dropping archive by 'git am'. *Make branch*:: Select a revision and open Edit->'Make Branch' or use right click context pop-up menu. A dialog will be shown asking for a branch name. *Make tag*:: Select a revision and open Edit->'Make Tag' or use right click context pop-up menu. Two dialogs will be shown, the first asking for a tag name, the second for a tag message (not mandatory). If a non empty message is written, this will be saved together with the tag. Tags and tag messages can be viewed in status bar when a tagged revision is selected. *Delete tag*:: Select a tagged revision and open Edit->'Delete Tag' or use right click context pop-up menu. After confirmation the selected revision will be untagged. *Save file*:: Select a file from tree or file list and open File->'Save file as' or use the tree view context sensitive pop-up menu (right click), a dialog will be shown asking for a file name (default to current) and destination directory. Input a valid name, press OK and the file will be saved. *Commit changes*:: When enabled with Edit->Settings->'Working dir'->'Diff against working dir' and there is something committable, a special highlighted first revision is shown, with the status of the archive and the possible pending stuff. From Edit->Commit it is then possible to invoke the commit dialog. + In commit dialog select the files to commit or, simply, to sync with index (call 'git update-index' on them). A proper commit message may be entered and, after confirmation, changes are committed and a new revision is created. + It is also possible to amend last commit. The Edit->Amend commit opens the same dialog, but changes are added to the head commit instead of creating new commit. + The core commit function is performed by 'git commit'. + TIP: It is possible to use a template for commit message, use Edit->Settings->Commit to define template file path. Patch viewer ------------ To open patch tab use context menu, double click on a revision or file in main view or select View->'View patch' menu (CTRL+P). The patch shown is the diff of current selected commit against: - Parent (default) - HEAD - Selected SHA or reference name In the last case SHA is chosen by writing or pasting a tree-ish or a reference names in the corresponding field and pressing return. You get the same result also with a CTRL+right click on a revision in main list. Selected target will be highlighted. CTRL+right click again on the highlighted revision to release the filter. With the 'filter' button at the right of the tool bar it is possible to toggle the display of removed code lines. This can be useful to easy reading of the patch. External diff tool ------------------ From 'View->External diff' it is possible to invoke an external diff tool, as example to view the diffs in a two vertical tiled windows. External diff tool shows the diffs between two files. First file is the current selected file of current revision. Second file is the same file of the parent revision or of a specific revision if 'diff to sha' feature is enabled (diff target is highlighted, see above). Default external viewer is kompare, but it is possible to set a preferred one from 'Edit->Settings->External Diff Tool'. File viewer ----------- It is possible to view file contents of any file at any revision time in history. *File list panel*:: In the bottom right of main view a list of files modified by current revision is shown. Selecting a file name will update the patch view to center on the file. File names colors use the following convention - black for modified files - green for new files - red for removed files - dark blue for renamed/copied files *Merge files*:: In case of merges the groups of files corresponding to each merge parent are separated by two empty lines. + In case of merges you can chose between to see all the merge files or only the interesting ones (default), i.e. the files modified by more then one merge parent. *File content*:: To view file content double click on a file name in tree view, or use context menu in file list or select View->'View file' menu (CTRL+A). + In file view page will be shown current revision's file content and file history. + It is possible to copy to the clipboard the selected content with CTRL+C or with the corresponding button. *File annotations*:: On opening or updating file viewer, file history will be retrieved from archive together with file content. Annotations are then calculated in background and the view is updated when ready. + Double clicking on an annotation index number will update history list to point to corresponding revision. + Hovering the mouse over an annotation index will show a tool tip with the corresponding revision description. + File content will change too, to show new selected revision file. To keep the same view content after double clicking, probably what you want, just pin it with 'Pin view' check button. Next to the check button there is a spinbox to show/select the current revision number. + Double click on history list entry to update main, patch and tree views to corresponding revision. *Code region filter*:: When annotation info is available the 'filter' button is enabled and it is possible to mouse select a region of file content. Then, when pressing the filter button, only revisions that modify the selected region will be visible. Selected code region is highlighted and a shrunken history is shown. Filter button is a toggle button, so just press it again to release the filter. *Syntax highlighter*:: If GNU Source-highlight (http://www.gnu.org/software/src-highlite/) is installed and in PATH then it is possible to toggle source code highlight pressing the 'Color text' tool button. Please refer to Source-highlight site for the list of supported languages and additional documentation. Actions ------- Actions can be added/removed using a dedicated dialog invoked from 'Actions->Setup actions...' menu. Actions can be activated clicking on their name from the Actions menu. Each action can be associated to a list of any type of git or shell commands or to an external script. While an action is running a terminal window is shown to display the corresponding output. An action can also ask for command line arguments before to run so to allow for maximum flexibility. NOTE: command line arguments are always appended to the first command only. This lets you define an action like: [source,shell] ------------------------------------------------------------------------------ git fetch git merge ------------------------------------------------------------------------------ And if you type 'origin' when prompted, the action executed will be: [source,shell] ------------------------------------------------------------------------------ git fetch origin git merge ------------------------------------------------------------------------------ If you need a more complex arguments passing with a shell like notation define a script and associate your action to it. Integration with StGIT ---------------------- When a StGIT stack is found on top of a git archive, qgit transparently handles the added information. Integration with StGIT is implemented both by new and modified functions. .New functions are automatically activated: - Visualization of applied and unapplied patches in main view. - Interface to push/pop patches by a mouse right click on selected items. Push supports also multi-selection. .Existing functions change behavior: - Amend commit dialog refreshes top stack patch with modified files instead of amending the commit. It is appropriately renamed in the menu. - Commit dialog creates a new patch on the top of the stack filled with modified working directory content instead of commit a new revision to git repository. - Apply patch changes to interface StGIT import and fold commands instead of applying patch directly on the git repository. qgit-qgit-2.11/README_WIN.txt000066400000000000000000000017521500324541100155560ustar00rootroot00000000000000This is qgit.exe statically linked to Trolltech Qt4.3.3 for Windows Open source edition PREREQUISITES - You need msysgit (http://code.google.com/p/msysgit/) correctly installed NOTES - This version has NOT been tested with cygwin version of git - In case qgit has problem to find correct msysgit files you should add mysysgit\bin directory to your PATH before to start qgit. But normally installer should had already take care of this for you. WINDOWS DEVELOPER INFO This version has been tested with Visual C++ 2008, there is a VC2008 solution and a project file for your convenience. Please note, the FIRST TIME you need to generate a Makefile. To do this the Qt qmake tool must be used. Open a console on the project directory and type (qmake should be in PATH) qmake qgit.pro That's all, now you can fire your VC2008 IDE, open the qgit solution file and enjoy ;-) Please report any problem to the Git Mailing List specifying [QGit] in your mail subject qgit-qgit-2.11/TODO.txt000066400000000000000000000047541500324541100146560ustar00rootroot000000000000002011-10-22 No more distinction between revision and patch view. Make view switch between review / half-half / patch. 2011-10-22 Ctrl-R -> R, Ctrl-P -> P, Ctrl-A -> F 2011-10-22 Patch navigation (per difference, per file) from keyboard 2011-10-22 Headers always on top. 2011-10-22 Fix scrolling of patch going under headers 2011-10-22 WISH Add an "all" option to "Branches" tree 2011-10-22 WISH Add source highlighting based on kate/qtextviewer. 2011-10-23 Size of splits automatically computed. 2011-10-23 regression wrt not marking sha in patch (diff) 2011-10-23 regression wrt what the diff shows 2011-10-23 WISH add side by side diff view 2011-10-23 Regression files not shown in tree at first display (must hide/unhide) 2011-10-23 Regression file selection doesn't show file diff anymore 2011-10-23 WISH hyper-tooltips on revision (containing what is displayed in headers today) 2011-10-25 commit message colorization a la vim in commit.ui 2011-10-25 beautify console.ui for custom actions 2011-10-25 make customaction a table with checkbuttons indicated next to each command 2011-10-25 promote documentation to docbook or at least html 2011-10-25 respect current style's tab appearence (make quit buttons less ugly) 2011-10-25 make range select a tab in the sidebar (with icons marking top and bottom in the branches/tags list/tree) 2011-10-25 make .svg qgit icon for installation (make installation in kde automatic) 2011-10-25 a small toolbar above file list allows showing "diff selector" (check) and "message/diff display" (push) - selecting "diff selector" switches to "diff display" - selecting file switches to "diff display" - selecting "message display" unselects all files (memorizes last selected) and shows message 2011-10-25 "R" shows revisions, "P" shows patches, "F" shows files, "M" shows message, "D" shows diff, "S" shows R+P (split) "B" toggles branches "T" toggles files 2011-11-24 separate diff, diff HEAD and diff --cached in revisions view 2012-09-30 turn initMimePixMap, freeMimePixMap, mimePixMap and mimePix into a Singleton (gc plus opens way for connecting to underlaying OS mimetype management) 2012-09-30 clarify repo for startup: current dir, parameter from CLI, last in history etc. 2012-09-30 make refreshRepo automatic (monitor files in .git/ and wd?), make refreshRepo unavail during refresh (doh) (see first comment in MainImpl::setRepository()) qgit-qgit-2.11/exception_manager.txt000066400000000000000000000301521500324541100175700ustar00rootroot00000000000000 THE PROBLEM Qt3 uses the call qApp->processEvents() (from now on PE) to let a program do not block while a long operation is occurring. This function passes the control to the application event loop and any new pending event like GUI event, socket notifier(QProcess) and others are processed. The problem with PE is that when the calling function returns a changed context could be found. Some objects could be born, other disappeared, some action incompatible with the previous context could have been done, as example closing a window while processing or clearing a data container that the calling function is using. How to deal with this? A way is to check some 'context flags' on return from PE to search for a 'wrong context' and take appropriate actions. But this is not a good general solution because implies that the function that calls, and returns, from PE knows about the whole context. As example, A() is a function that access some data (kept in any kind of container a list, a file, etc), B() is a function that makes a lengthy operation and uses PE. If we have a code flow like the following A() |---> B() | |-----> qApp->processEvents() | |-----> do something else | return |---> .... |---> data.access() We should check inside of B() if the data is no more valid and eventually return an error code. But B() knows nothing about the our data. Of course we should check in A(), just after the B() call, but this is sub-optimal because it implies that we know for sure that B() does not accesses the data _nor_ any other function called by B() before to return to A(). In real software the call chain between the function that uses a resource and the function that pass the control to the application event loop and return from it can be very long and complex. INTRODUCING EXCEPTIONS The standard way that C++ has to deal with this kind of problems is called exceptions handling. If B() throws an exception, returning from PE, on a corrupted database, and the first catch clause is in A(), no matter how long and complex the chain is, A() will catch the exception before anything else is done. This seems interesting, but has two drawbacks, one general, one depending on Qt. -Exception resuming/termination models What happens if B() is called on start up, on data refreshing, or, in general, in a context where database consistency is not important or, worst, should not be checked? The exception will be thrown, no catch clause will take the exception, the default handler will be invoked and this means, at least in C++, program termination [in C++ you can provide a custom set_terminate() function to handle uncaught exceptions but you cannot continue from here, just clean-up and exit]. The general problem has a name and is called 'C++ supports termination-model exceptions, not resumption'. So we need a way to let B() throw an exception _only_ if the exception will be caught, IE only if the abnormal condition is 'interesting' in the actual context. -Exceptions trough signals/slots Standard C++ try-throw-catch exception system is not compatible with Qt signals/slots. If a function B() is called by A() by means of a signal the catch clause will not work, also if signals/slots in Qt3 are wrappers to direct calls. A() |---> try |---> emit mySignal --> slotMySignal() | |-----> throw X |---> catch(x) | |---> we will NOT catch X It is possible to code to avoid signals/slots when exceptions are involved, but the _real_ problem is that also PE is a barrier to exceptions propagation. What happens is the following: A() |---> try | B() | |-----> qApp->processEvents() | | |----> C() | | |----> database.clear() | | throw databaseIsEmpty | |<----- qApp->processEvents() | | | <----return | |---> catch(databaseIsEmpty) | | | |---> we will NOT catch databaseIsEmpty This is very unfortunate. INTRODUCING EXCEPTION MANAGER If we rewrite the above scheme as follows: A() |---> try | B() | |-----> qApp->processEvents() | | |----> C() | | |----> database.clear() | | throw databaseIsEmpty | | | | |<----- qApp->processEvents()<----return | | | if (databaseIsEmpty is throwable) | throw databaseIsEmpty | <----return | |---> catch(databaseIsEmpty) | | | |---> NOW we will catch databaseIsEmpty Two things have changed between the schemes. - The potential exception is checked to verify if it is among the throwables exceptions - The exception is thrown in the same region* of the catch clause *[A 'region' is the code that executes between two calls of PE] Class ExceptionManager does exactly this, checks the exception against a throwable set, wait until the correct region is reached and finally throws the exception. If we rewrite the above code to use ExceptionManager helper macros we have: A() { ..... try { EM_REGISTER(databaseIsEmpty); // adds databaseIsEmpty to the throwable set ..... B(); ..... EM_REMOVE(databaseIsEmpty); // removes databaseIsEmpty from the throwable set } catch (int i) { EM_REMOVE(databaseIsEmpty); if (i == databaseIsEmpty) { .....handle the exception.... EM_CHECK_PENDING; // re-check any other pending exception } } ..... } B() { ..... EM_BEFORE_PROCESS_EVENTS; // some magic occurs ;-) while(something_happens) qApp->processEvents(); EM_AFTER_PROCESS_EVENTS; // throws the pending exceptions belonging to the current region ..... } C() { ..... database.clear(); EM_RAISE(databaseIsEmpty); // checks if databaseIsEmpty is throwable and, in case, ..... // flags it as 'raised'. In the latter case it will be ..... // thrown, but only when returning in the correct region. } With this scheme everything works as expected. There are some things to note: 1) In B() there is no knowledge of 'databaseIsEmpty'. B() does not have to know about the general context at all. 2) At the end of the catch clause any other pending exception will be thrown, so to allow for multiple raised exceptions. 3) The same exception will be thrown as many times as has been registered. What it means is ExceptionManager supports nested try-catch blocks, also when looking for the same exception, in this case each catch clause will be called with the same exception and in the correct order. 4) ExceptionManager has an internal multi-region stack. What it means is that try-catch blocks can be nested _across_ many PE calls: each catch clause will be called with the correct raised exception and in the correct time, when returning in the corresponding region from a PE call. No matter when the exceptions have been raised. TECHNICAL DETAILS A 'region' is the code that executes between two calls of qApp->processEvents() the code in a region has the stack property. Ie if fb() is called inside fa() then fb() will return before fa(). A 'catch set' is a set of exceptions that are added at the beginning of the same try block. Given a group of exceptions of the same catch set the following can occur: 1- No exception is raised -> the catch clause is not called. 2- Only one exception Ex of the set is raised -> the catch clause is called with Ex parameter. 3- More then one exception Ex1, Ex2,..Exn are raised -> the catch clause is called with Ex1 parameter, ie the first priority exception. The exception priority is given when adding the exceptions at the beginning of try block. The last added is the first priority. The totalThrowableSet is a list of exceptions that can be raised with a call to raise(excp). The regionThrowableSet is a subset of totalThrowableSet and lists the exceptions that can be thrown in the corresponding region. The regionThrowableSet is saved before to call qApp->processEvents() and restored on return. A call to qApp->processEvents() trigger a region boundary. So a new and empty regionThrowableSet must be used. To let ExceptionManager to know the region crossing time, ie qApp->processEvents() call, we use the convention that the call to saveThrowableSet() is done 'just before' the qApp->processEvents() call. Where 'just before' it means that no others ExceptionManager method must be called between saveThrowableSet() and processEvents(). int currentRegionId = saveThrowableSet(); .....(no more ExceptionManager calls)..... qApp->processEvents(); .....(no ExceptionManager calls)..... restoreThrowableSet(currentRegionId); The region throwable sets are saved in a list: throwableSetList When a call to raise(excp) occurs totalThrowableSet is walked to find excp. If the exception is found then the exception is tagged to be thrown. In this case the flag isRaised is set in _all_ the occurrences of excp in the regionThrowableSet and in _all_ the occurrences of excp in throwableSetList. This is because the exception will be thrown in each region upon re-entering, not only in the current region. And in the same region will be thrown as many times as are the occurrences of excp in the corresponding throwable set Upon restoring the throwable set with restoreThrowableSet() it is safe to throw any pending exception with: throwPending(); Method throwPending() walks _in order_ the regionThrowableSet ONLY to find all the exceptions with the flag isRaised set. This is because C++ throw-catch does not seem to be able to walk-back across qApp->processEvents() boundaries, ie across regions. So _only_ the pending exceptions of the current region will be thrown. The others will be eventually thrown later. ExceptionManager throws ONLY ONE exception among the matching exceptions set. Then, in the catch clause throwPending() is called again. This is to guarantee that exceptions are thrown in the correct order. Note that the catch clause is always in the same region of the throw command. The exception thrown is the last that has been added -Removing exceptions from throwables list Normally an exception is removed from throwables list by code when leaving try block. But thrown exceptions will by-pass try block and will go directly in the catch clause. So all the exceptions added in try block must be removed in the catch clause, also if the thrown exception is not handled there. Note that in the catch clause all the exceptions of the catch set will be removed. If there are two exceptions raised, the first will throw and the catch clause will remove both. So the second exception will never be thrown. This is to take in account when adding exceptions in the try clause: NO!!! YES try { try { EM_REGISTER(very_bad_one); EM_REGISTER(small_one); EM_REGISTER(small_one); EM_REGISTER(very_bad_one); When a remove(excp) occurs regionThrowableSet and totalThrowableSet are walked in order from newest entry to oldest and the first occurrence of excp is removed. So to take in account the case where the same exception is added twice: fa() { ...... try { EM_REGISTER(myExcp); .......(no processEvents() here, same region) fb(); .......(no processEvents() here, same region) EM_REMOVE(myExcp); } catch () Where fb() { ...... try { EM_REGISTER(myExcp); ....... EM_REMOVE(myExcp); } catch () In this case myExcp will be added twice and must be removed twice. And after the first remove in fb() catch clause will be thrown again and caught in the fa() catch clause. So at the end of the catch clause there must always be the throwPending() call. qgit-qgit-2.11/qbs-build.sh000077500000000000000000000002621500324541100155570ustar00rootroot00000000000000#!/bin/bash qbs build \ --file qgit.qbs \ --build-directory ./build \ --command-echo-mode command-line \ --jobs 4 \ --no-install \ profile:qt486 release qgit-qgit-2.11/qbs/000077500000000000000000000000001500324541100141235ustar00rootroot00000000000000qgit-qgit-2.11/qbs/imports/000077500000000000000000000000001500324541100156205ustar00rootroot00000000000000qgit-qgit-2.11/qbs/imports/QbsFunctions/000077500000000000000000000000001500324541100202365ustar00rootroot00000000000000qgit-qgit-2.11/qbs/imports/QbsFunctions/functions.js000066400000000000000000000011551500324541100226060ustar00rootroot00000000000000 function versionIsAtLeast(actualVersion, expectedVersion) { var actualVersionParts = actualVersion.split('.').map(function(item) { return parseInt(item, 10); }); var expectedVersionParts = expectedVersion.split('.').map(function(item) { return parseInt(item, 10); }); for (var i = 0; i < expectedVersionParts.length; ++i) { if (actualVersionParts[i] > expectedVersionParts[i]) return true; if (actualVersionParts[i] < expectedVersionParts[i]) return false; } return i === expectedVersionParts.length || expectedVersionParts[i] === 0; } qgit-qgit-2.11/qgit.appdata.xml000066400000000000000000000033161500324541100164400ustar00rootroot00000000000000 qgit.desktop CC0-1.0 GPL-2.0 QGit A git GUI viewer

QGit is a graphical viewer for git repositories. Main features:

  • Graphical view of history, commits and the differences for the changed files
  • Quick access to git operations
Marco Costalba, Cristian Tibirna and the QGit developers Show repository log https://raw.githubusercontent.com/tibirna/qgit/refs/heads/master/screenshots/qgit_main_view.png Show diff for a commit https://raw.githubusercontent.com/tibirna/qgit/refs/heads/master/screenshots/qgit_diff_view.png Show repository tree https://raw.githubusercontent.com/tibirna/qgit/refs/heads/master/screenshots/qgit_tree_view.png https://github.com/tibirna/qgit https://github.com/tibirna/qgit/issues qgit.desktop qgit
qgit-qgit-2.11/qgit.desktop000077500000000000000000000002421500324541100156760ustar00rootroot00000000000000[Desktop Entry] Type=Application Name=qgit GenericName=QGit Comment=A git GUI viewer Exec=qgit Icon=qgit Categories=Development;RevisionControl;Qt Terminal=false qgit-qgit-2.11/qgit.geany000066400000000000000000000015371500324541100153350ustar00rootroot00000000000000[editor] line_wrapping=false auto_continue_multiline=false line_break_column=80 [file_prefs] final_new_line=false ensure_convert_new_lines=false strip_trailing_spaces=true replace_tabs=false [indentation] indent_width=2 indent_type=1 indent_hard_tab_width=4 detect_indent=true detect_indent_width=true indent_mode=3 [project] name=dropbear base_path=src/ description=QT Git Browser file_patterns=*.c;*.cpp;*.h;*.hpp; [long line marker] long_line_behaviour=1 long_line_column=80 [prjorg] source_patterns=*.c;*.C;*.cpp;*.cxx;*.c++;*.cc;*.m; header_patterns=*.h;*.H;*.hpp;*.hxx;*.h++;*.hh; ignored_dirs_patterns=.*;CVS; ignored_file_patterns=*.o;*.obj;*.a;*.lib;*.so;*.dll;*.lo;*.la;*.class;*.jar;*.pyc;*.mo;*.gmo; generate_tag_prefs=1 external_dirs= [build-menu] NF_00_LB=_Make NF_00_CM=make NF_00_WD= NF_01_LB=Make Custom _Target... NF_01_CM=make NF_01_WD= qgit-qgit-2.11/qgit.pro000066400000000000000000000000711500324541100150220ustar00rootroot00000000000000TEMPLATE=subdirs SUBDIRS=src CONFIG += debug_and_release qgit-qgit-2.11/qgit.qbs000066400000000000000000000003621500324541100150120ustar00rootroot00000000000000import qbs Project { name: "QGit" minimumQbsVersion: "1.5.0" property string minimumQtVersion: "5.11.0" property bool conversionWarnEnabled: true qbsSearchPaths: ["qbs"] references: [ "src/src.qbs", ] } qgit-qgit-2.11/qgit.sln000066400000000000000000000015271500324541100150250ustar00rootroot00000000000000 Microsoft Visual Studio Solution File, Format Version 10.00 # Visual C++ Express 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qgit", "qgit.vcproj", "{40FC69D6-9066-41F6-8D9E-63886F5F058E}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {40FC69D6-9066-41F6-8D9E-63886F5F058E}.Debug|Win32.ActiveCfg = Debug|Win32 {40FC69D6-9066-41F6-8D9E-63886F5F058E}.Debug|Win32.Build.0 = Debug|Win32 {40FC69D6-9066-41F6-8D9E-63886F5F058E}.Release|Win32.ActiveCfg = Release|Win32 {40FC69D6-9066-41F6-8D9E-63886F5F058E}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal qgit-qgit-2.11/qgit.vcproj000066400000000000000000000242341500324541100155340ustar00rootroot00000000000000 qgit-qgit-2.11/qgit_inno_setup.iss000066400000000000000000000070011500324541100172630ustar00rootroot00000000000000; QGit installation script for Inno Setup compiler ; ; QGit should be compiled with MSVC 2008, statically linked ; to Qt4.3 or better Trolltech libraries and directory of ; Visual C++ redistributable dll files copied under 'bin\' ; directory [Setup] AppName=QGit AppVerName=QGit version 2.11 DefaultDirName={pf}\QGit DefaultGroupName=QGit UninstallDisplayIcon={app}\qgit.exe Compression=lzma SolidCompression=yes LicenseFile=COPYING.rtf SetupIconFile=src\resources\qgit.ico OutputDir=bin OutputBaseFilename=qgit-2.3_win [Files] Source: "bin\qgit.exe"; DestDir: "{app}" Source: "bin\qgit.exe.manifest"; DestDir: "{app}" Source: "README_WIN.txt"; DestDir: "{app}"; Flags: isreadme ; Directory of MSVC redistributable files must be copied under 'bin\' ; before to run Inno Setup compiler or following line will error out Source: "bin\Microsoft.VC90.CRT\*"; DestDir: "{app}\Microsoft.VC90.CRT" [Tasks] Name: desktopicon; Description: "Create a &desktop icon"; Name: winexplorer; Description: "Add ""QGit Here"" in Windows Explorer context menu"; [Registry] Root: HKCU; Subkey: "Software\qgit"; Flags: uninsdeletekey Root: HKCU; Subkey: "Software\qgit\qgit4"; ValueType: string; ValueName: "msysgit_exec_dir"; ValueData: "{code:GetMSysGitExecDir}"; ; Windows Explorer integration Root: HKCU; Subkey: "SOFTWARE\Classes\Directory\shell\qgit"; Flags: uninsdeletekey; Tasks: winexplorer Root: HKCU; Subkey: "SOFTWARE\Classes\Directory\shell\qgit"; ValueType: string; ValueName: ""; ValueData: "&QGit Here"; Tasks: winexplorer Root: HKCU; Subkey: "SOFTWARE\Classes\Directory\shell\qgit\command"; ValueType: string; ValueName: ""; ValueData: "{app}\qgit.exe"; Tasks: winexplorer [Dirs] Name: {code:GetMSysGitExecDir}; Flags: uninsneveruninstall [Icons] Name: "{group}\QGit"; Filename: "{app}\qgit.exe"; WorkingDir: "%USERPROFILE%"; Name: "{group}\Uninstall QGit"; Filename: "{uninstallexe}" Name: "{commondesktop}\QGit"; Filename: "{app}\qgit.exe"; WorkingDir: "%USERPROFILE%"; Tasks: desktopicon [Code] var MSysGitDirPage: TInputDirWizardPage; procedure InitializeWizard; var Key, Val: String; begin // Create msysgit directory find page MSysGitDirPage := CreateInputDirPage(wpSelectProgramGroup, 'Select MSYSGIT Location', 'Where is MSYSGIT directory located?', 'Select where MSYSGIT directory is located, then click Next.', False, ''); // Add item (with an empty caption) MSysGitDirPage.Add(''); // Set initial value Key := 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Git_is1'; if RegQueryStringValue(HKEY_LOCAL_MACHINE, Key, 'InstallLocation', Val) then begin MSysGitDirPage.Values[0] := Val; end else MSysGitDirPage.Values[0] := ExpandConstant('{pf}\Git'); end; function NextButtonClick(CurPageID: Integer): Boolean; var BaseDir: String; begin // Validate pages before allowing the user to proceed } if CurPageID = MSysGitDirPage.ID then begin BaseDir := MSysGitDirPage.Values[0]; if FileExists(ExpandFileName(BaseDir + '\bin\git.exe')) then begin Result := True; end else if FileExists(ExpandFileName(BaseDir + '\..\bin\git.exe')) then begin // sub dir selected MSysGitDirPage.Values[0] := ExpandFileName(BaseDir + '\..'); Result := True; end else begin MsgBox('Directory ''' + BaseDir + ''' does not seem the msysgit one, retry', mbError, MB_OK); Result := False; end; end else Result := True; end; function GetMSysGitExecDir(Param: String): String; begin Result := MSysGitDirPage.Values[0] + '\bin'; // already validated end; qgit-qgit-2.11/screenshots/000077500000000000000000000000001500324541100156765ustar00rootroot00000000000000qgit-qgit-2.11/screenshots/qgit_diff_view.png000066400000000000000000011346711500324541100214070ustar00rootroot00000000000000‰PNG  IHDRœñ~mh pHYsÄÄ•+tEXtlogicalX630.313ºîDÅtEXtlogicalY208.112›½©IzTXtwindowTitle™Ó/K,ÒÏÈÏMÕ/ÉÌÕ/(ÊÏJM.)Ö/-(.)JMÌÕ/LÏ,QˆÎM,.I-ŠUÐUtÏ,¦-~Ò]ë IDATx^ìÝwtUÆñïfS =„ÞB•Þ»ô¢€4ADzA@¥JGŠ‘¦€€Šõ°Qé EzWBo $ô²ïIÖÝaÓ0ÁçsΜÝýݙ̬ٙÎ>ܽ"""""""""""©Àd,wôÚVbm""""""""""ÿ5‰¿ …ÉŽž;ª%ô:^Bu«Ä݄څljՌ‰=O¬&""""""""""±…¿ŽB䤓ª%T‡D‚ÝäÔA²í££ZbñŒ¯ã%Tù/H(è5Öá±%5ÛGãs[ Õq6‘PØœÜçŽj¶Œ¯ª‰ˆˆˆˆˆˆˆˆˆüW9 {5c lû<&î¹)ålëŽæITrgÛà×Qhl •MN–³}Œg|-""""""""""3Á ÌÆÉdó<>|ޝÛ>¤ÐÙQàœXØkƒc“!PNêµír¶ë6>{¶!°1`¶},;z/Úæ9Bg£ÛÎFÆ@Ø6@6Nñ²ícüdœ'~Jè}l9ª‰ˆˆˆˆˆˆˆˆˆüW8 xmÃåøGÛç¶AsŒÍk“¡w³Ùæu<ÛÐ9þ1IIÎÆ ×6(6N¶á²àÔ·o¿ÏשûBHpHp¥Ê•kÖ%""""""""""ÁáC‡ö¦óLçùëο,[úñL›\7>ˆvJ tŽ—¬ÐÙQ ìèµí£1d6†ÍfWWW÷í¿î9Ÿ5sf7gggÌÎf›UŠˆˆˆˆˆˆˆˆˆÈãMtT”ÅÿÞ½ðzujùDFF†ÙζS|¯hG=¨m_'0_ƒfÛÉl6æ=¿¸œ#‡·›““‚f‘“è¨(nßñ «U£jÞ¸ñ›cl³£à9žñ5ÆDØ6p6†ÍñÏã1[ƒfÀÜ·o¿ 4¬íââb³*ù7prrÂÕÕÙì‘.}Ö½{vo3¶Ç‰“eÆ r2a žmgkðü|ºMœ“ZDDDDDDDDDDž³ÙÙÔ¸Q£–†,eÀ)Ÿ '´ ±nû&¶ã7[{8‡‡'6f³kØE2íÀ5ôÄDîš“ûY‘®¸qVIÎÎθ¹»»ÅåºÆa4œljñL†ÐˆÏŠ­õ„º"ÛÍñ!³1ÙŽŸlƒg§J•+W·YÖNÖèÓxm…+Xb"ÁbÁ=øw<¸O¸ÇËÜ13.’¤C‡Q¬HQ2fÊdlzÈ%ßK„G„˸¹ºQ `cYDDDDDDDDDä™äéé™Ù¦C±%.d6fÁñl‡Ø0ÏV Î I,tŽïåì[ø%Ò;ûãT°-Ñ~»Xt8˜œ0e)Kè \-¡Dx–3.š Ý»w3yÊ4 äÏÏû³f$:÷îÛ×X²³yÓFcIDDDDDDDDDä±¹qý¹rç26%jôè1¼Ú¡=åÊÆæ«ÇOgÅ·+™6mªqV#ãp¶S‚ÁrBR:†sü£mÐ6Ç?:”ñÁo˜Ânaò®˜pò® N.`2cò®N´ß^<Ö{Èùóç¹}û6»wïæÝ)S‰‰‰æÒåËœýëœqÖ‡Œ;–Áƒ;œÆkœ]DDDþCÖý¼ž—,5–YLL ]ºv#((ˆþý_çò•+ÆY Ûí8sæ,·oß¶¶ 6œ›7oÚÍŸ¶ëL !!!ôéÛÏXN–ÀÀNžÌ ÁCèÔ¹ ¯uêÄsæl7ϡÇx{è0^ëØ‰¯udÐà!ÖÏígèQ·]DDDž ûöígýú‡³Íõë×§èZíÆõtíޮݻ[ƒçäzµC{&OžÆñÇ9~â8“'OãÕí³9b;†s|ðŒMœ"‰õp6¦Ùñ5Û6Û I4pv¼EŒ³N˜0yæÃ\´;‹KÐLéry—è0ãbñõõeÉÒeÜ ÀƒÉɉqcGS¹Reã¬ùæÿãüùóÆ2… ¦NÚÆ²ˆˆˆüGlÞ¼™ÁƒËìèÑc.TˆŒ3›+Ûíøhá"Z¼ôÙ³g`äˆáx{{IRjï[ºté˜<ù]c9YvïÞK@@eÊ”16=$µ1)|ÿ´ÂüÁ¨‘#ŒMÉbû·¿víë~þ™Úµ_×­[‡Ao 4–SMLt4K—}’àû'fÞÜ9¬ZõƦ;wŽ3g2qÂJ–,ILt4Ÿ-_Îĉï2kÖ ~ûm .dÔ¨‘”*U â:ÀÄnâ?CÿdÛEDDäÙP @~æ/X@DD$­[·à§ŸV³rÕ*f¿?Ë8»C7®ß`èðá 0€¡Ã‡3{Ö¬d÷t.W¶ãÆfÂÄØë»IÇ[{;'!>d¶}Œ±i7†Î‰özN,p62†ÍÆ)ÑÀÙb¢Bp*Ò•è[ÛqÊ×ËͽÄ<ˆ Â\ܪaÆœþóOV¯^‹ÉɉñcÇðüóÏgI¶7nFáB…èßÿuÞ~û-Š‹½·ÄŒ™3)Uª4•*T`æû³ˆŠŠ&2"‚R¦LiöìÝËÉ“§¸}û6§OŸæ“eKI—.[¶n¡QãFÖ÷ؾm;Gãî½»4{ñE:tèÀ¾ßöñÅW_IÖ,Y:t(9²ggÏÞ½ìÞ½›à®ß¸A¾|y©_¯>«W¯áöÛ4jØ®]»°s篬\µ ‹%†\¹r1|Ø0ÜÝݬ۱mÛ6ØÏ¥K—È–Í‹)“'3~üFMÖ,Y6|8eÊ”æ?Nc2Aî=øþûï¹}ç69sædâ„ 8;Ç^:ÚîÛ¢E‹pusçøñã<¸ÿ€òåË2pà@Ìf3ý_@×®]X¼øc5lH»vm™?¾¾¾DFFÒì¥æ´mÓ†‚|ˆè¨j=_“®]bÛ_|ÉÁƒ‰ŠŽÂÇLJáÆa2™èÿú5lÀ®Ý{~@·®]Ù³÷7®\¹Btt4Ƴ~éøu×.jÖª“ÙL``3gÍÆïŽ^^YÉê••jU«Q»öóœ;wŽ9sç&ž{î9Ξ=ô)Sp2;3xð`¾üâ æÌ™Çù 1tØpZ·jEíÚ _c'wo\¿áðsóç™3,^ü1ÑѱõaƱ}ÇvnÞ¼ÉÐaÃ)]º=ºwOð\0ž[ñŸ…”X½f ­[µ¦dÉ’8™ÍtïÞnݺsîÜ_-Z„åË?gÐàAÖ°™¸Ž*ñâ?C7n|hÛEDDä¿%W®\Ìž5‹¡Ã‡[k+W­Š Œs%߸6·åk`M|èü~òÖñÄ÷p¶ ›msßDf£äÎÆ°Ùö¹íÆ8Ù,c'Ì9;ž¡ç : SÆ¢DŸÿsú¸~È«ßãÁIß´ïèÑclß¾ƒV­Z°k×në—ÁäèøÚk&ðÀL©ÔCGDDDž>[¶l¥Q£†4iÒ˜m[·Q¬X1ÂÃÃ9xð0 ÄÃÃÓ§ãêêÊ‘#GùvÅ Ê”) Àúõ˜:e2ãÇÅÑƉ'úöÛÖ÷ˆŠŽfk·î´hÑ‚°ðpæ}¸€,À+kV6oÞÂû³f[{W:tˆO?ý”ôžžŒzç6mÞÄ̙Ӊ§Sç.´k×–¾þææÏ›‡»»‹-â§Ÿ~¢C‡vÛáììÌ/7ÒµKWJ—þ;<‹wþüy½1ðõ×ß0ëý÷Y¶t)éÓ{2rÔ(:LõêÕîÛ_çþbγ1£FfÛ¶í4nÜ,¶mÛÆ'Ë–âââÂâE‹ñΞQ£FÊà7ߢX‘"øø²®ËÏÏ/Áý™6í=z÷ìEõÕ‰ŠŠÂÙÙ™&ЩSGFŽŇÎ'S¦Ì„‡‡ãêê †cœGûS¦lŽ=ʲ¥±Cr„‡‡ãææöÐû|ÿÃÌœ9¯¬YÙµk7~~wXøÑGDGG3hð*WªDÉ’%ißþkPúæ[osöì9Š/ ‘Ì›;‡S§~ç­·ßfÁ‚ùc ¤bÅ ?qœµkcCùxnnntïÞ/¾ü‚™3bÏ¿D%s³çÈîðs³vÍZ^nÓ†:uj @‘"½ùñÇŸ¬=€;ŒçÖ£¸ä{‰zõêÚÕÌf3EŠáÂÅ ,XßK¾”/—t¯ >½í·]DDDþ›råŽ »ÆýãóË—'»wò¥K—éÜ©#Íš5³ÖZ·n…«« —.]NVà?ŒÆ¤‰ã˜˜3ÇÀ=W¢Ò§ `äÉ“'''Ü=<ðöö&0 3çÎp1q÷£ ¥lÙ²Àv$ÄÃ#µgAŸ‚”,Y‚ôé=c_(@@À=H`UªTÂlŽý¥Z½ºu9}úØÀhÕ²•51†k‹‹ÅBñçžcò¤Ivm$° qwí ÏÕÅþµÅÛ¡ÁÑ:££ÿÞ-22Òî’0SæLÖçÑQQÖçñ\œÞ'Gûs÷^là”víÚQ¿~}Ö®[Ç€o°`Á<|}}펱ÉdÉf}èhL&ãÇåüùó|ûí 6nÜÈ„ ±=GŒlÃ\‹ÅBóæMiÛ¶­Ý<;vîä·ßö2mêT\\\7a‚]»›ûßÇÞժƋ-[¶ÒÈæzØb±fÌæ¸Z,˜LöRlϳG•œmLèsS®l9/ZĶm[yëí¡¼3j$%J”0¬Âñ¹ÏöÜJÈ‘#G™;ýûõ£fÖ¶‚ ræÌY*Uªd­EGGsþüyºví‚««+¹ræâÏ?ÿ¤dÉ’”*UН¾ú’—,%"2ÒºŒˆˆˆˆQJ‚æÔ4mÚT»×åÊ–KNØŒMGbcÆÿÜbóÏøÚ*Á!00¾‘íßÃ9Ñ+׈ì¸áÙ”»W'$ÚÐ{ø]ØÇ­d7¿-îÜö³Ž ›˜2eÊðǧñ¿{âzá–.UÆÚ»69Ê”*ÍÉ'¹ä{ €¨¨(‚‚‚n‡›»;A6K§Œ£uìÛ¿Ÿ˜èhbbbØùë.J•r¼ï•+WbËÖ­7ìÈžÝ{©P¡¼Ý< íOÖ,YHŸÞ“Cqû¨¨(bbbpww#ÈfŸ‚ñòò¢{·ndÉš…+W®ß£{7ÆŒKÖ,Y(]ºT‚¡ð֭ۨߠž±ìWÖ¬ ôcFÁÉìD–,Yyûí7³%*›w6† Êä©S°ÄXp2›yãœùóìCÛѺe+æÎËÊ•«˜7wŽ][r$´o¹rådä¨ÑRºtiêׯoœ€îÝ»1gî|úöë““/½ÔŒ’%KòàAlK"ûS®l9ÆŒͼùóX´p1ÎÎ.Ì›7‡Úµk3~ÂDú¿>€‘#†³lÙ'ܽw³ÙL±¢EñññyèWªP 60bäHÒ§Ï@¶lY ý»—³£ý¹ë—±ãÇc6ǵУgOL&ÓCïoT§Nm|/ùòú€¸ººàáîÁÔ)“iX¿>ïNžÌø pws§råÊÆEuæÌY²fñÂÛÛÛZëÑ£;3gΤ_¿×ñΞB…þªdäÈáÌ›?WŠ-ŠW¶‡‡°(\ȇ\¹rÑ£G/^ëØ&cǧþ'úܬ^³–]»wãîîNºté9b¯ux•¯ FÍê x}@‚çBj(Z´#GŒ`áÂEøß½K@@uêÔaܸqÖyš6mŠÉdbâ¤w ÅÕÕWWzõêi·.l»ˆˆˆÈS$¾C±1ÛµÍ|õrvÈQPl ÛÞÐ׃9~r\â&׸Gƒ‡ôòŠý¹¢ˆˆˆˆ<Û-ZD¾üx©yòÇ–3z𠘞½z²rÅ cÓc—ûóo1}ÆLjÕ¬Ií¸ñÃmµ{åU¾úòsÜí†zIØÆM›8{öƒÞhlú×Xµê;"""ìnà˜/YÊåK—x÷ÝI þƒ’ˆˆˆÈ³Æßÿ.U*•/ „@dÜ7E1q“%ç¶á³õù£ ©adÛË9¡yDDDDä?¾ó£  Æ#]:cù‰ù§ûó¯a³—/_±î×±ãÇHŸÞ3Ùa3€‡»GeÐà!Ý¿ol~âÞ:Œ›7‘.]ì.EŸ^=  ᣅ‹ŒM""""ϺTÍuRÃÑ›Øöˆ6nˆñµˆˆˆˆH¢¾ùæløåÚ¿ÒÎØ$©hçÎlß¾7wWœœÌ 6Ô8K¢êÔ©M:µåf¿o,¥˜“ÙÌÜ9Ë""""ÿÆŶ°‘)©a5-l\¹ÉpS@ãñÃi¸îÛ¯!5DDDDDDDDDDþÝâ†Ô(7¤F¸ƒ!5¢ Cj§x4¤†#¶µmú-""""""""""ÿ~ÉÉvk³“œÀ9¡•%T‘§£àÙø:QÉ œIb¥¶ xb󉈈ˆˆˆˆˆˆˆÈ¿Kb™nbm%vÓ@#Û•'úFY2g2–DDDDDDDDDDä_ÄßÿnüÓDóÞ”HnçxÆ^Ì©¶!""""""""""òÄsßGÊ~S8'å‘6BDDDDDDDDDDž~©8?râ-""""""""""OLªæº©8‹ˆˆˆˆˆˆˆˆˆÈœgIÎÆÂãrøÈ*U¬˜àkùwÐgS‚¹~ó&ÁÁÁÆ&y&“ OÏtäÌ™‹L3›ŸyŽ®/u½!""’ºžäõÆ œEäée±Xð÷÷' à‘‘‘Æfyй¸¸9s¼¼¼0™Lâ÷¥J>œ>sö±~ü7Òõ†ˆˆHÚxR×ÃYDR, à>>> ›ŸA...øøøp€àà`}ùI#2dкÞISOâzC³ˆ¤Xdd¤Âæg˜‹‹‹†J‘G¢ÀYDDDDDDDDDDR…gI œEDDDDDDDDD$U(p‘T¡ÀYDDDDDDDDDDR…³±ð4¨\µº±D¯^=x½_?c9ÍãïïOþüùM©âòåËxyyáééilJu‹…5ëÖñÓê5ø^¼HTT4… ¢e‹´nÕ'§Ôù÷ GÇïÐ}I¶ý7oÞ$gΜÆ2÷îÝ#$$˜Ü¹ó`2™ŒÍÿˆ£ýq$5öÑVüû¦özEDDDäñ[²tK–.3–êÛ§7}ûô6–S,::š¯¾ù†-›·â{é  Qã†tîØ³Ùlœ]DDDÄê© œ1i÷îÝãõƒkèÌåË—ÈŸ¿€±)ÕxyyYß#­Cg“É„g:OôïO™Ò¥yð ˆÓ§ÿä‹/¿fãÆML™<oïìÆÅ‰íñ3†²‰µ=Š›7oâwçÀC¡ó½{÷¸uë&...\»v•Z¸˜³çÎ1oÎlc8hÿ7îCJÌž3—ÿýoNf3ß­ø¡a¡¼ùö0nݺEÛ6m3z”qyФN—Õ'lÕwßó×ù¿øä“Ϩ\µúCSZ° ›Ó2öôô$þ\¾|‰àà`csª°X,Öç6 JåJ¸»»‘-›7µk×fñ¢(S¦4cÇM$&&ÆnÙÔ’–Ç*gΜdóöN0löñ)„O!ÂÃù~ýšÝlž>mª±é©·{ÏZ·}…Òå*R­fm:wëÁÕ«W³¥š{÷î±mûcYDDDä™áSȇ ¿l4–²á—øò1–Sì«o¾!}úôÌ™=‹R%K.]:J•,ÁœÙ³HŸÞ“¯¿ùŸq‘'æ‡äöí;øm7?|·‚ƒÑ­G/ÊWªJåj5éÙ»¯õZ488˜9óæS¯AcÊWªJ½YþÅ—Öu]ºt™"ÅKÚMS¦¾gmß½g/M_jIÙ •iÓ¶='O²¶%&22’I“§Ò°É‹<_·>¯uîÊñã'¬íâÕ×:ó|Ýú4~¡ï͘Ett´Ý:RâQÖ—Ø6ÆÄÄðÕ×ßÐô¥–”)_‰:õòåW_WÀñã'(^² ë~^o­ý´z ¿@¥*ÕéÖ£.^„¸ï¡ß}ÿ#-Zµ¡\Å*Ô¨U‡1ã&n]ö›ÿ­ y‹ÖÔªSŸ­Úðý?ZÛ†ñÐñ ºomOÌÜy ¨Zµ2GîgÌ;lÆÄÄðù_ѰɋT®V“V/·ƒdîÛ?åh.\¼Hó­1j´Ý¼IÛÊb±°pÑÇ/Y†«×’ÿ]ú¯¿ÎóégŸóóڟصc+ùóçcöœyÔ«[‡#÷3lè[vó/ûä3Š/É??|/]bз¨R½e+T¦gï¾Ü¸qÓny²žúÀ9%?/K-+lŽ—Ö¡óšuëGœeL IDATX½v­±le6›y½?bbbøiõcsª8t`_²{m<ŠÄÂf777"##‰ŒŒ$]ºÔ=žGŽ1–ìÂæŠ+›Ù‘#G¨V£–±LµµnGZ dÀCx¥íËìß»‹uk~¤K§ŽýýSÓ†›Øºm»±,@XX˜±ôäÌ#"""OÖÔÉ“ù`Î\®ß¸al²º~ãÌ™ËÔÉ“M)¶eóVz÷êi,ЫgO¶lÙj,?1—._¡lÙÒ¸¸¸àææÆõ›7éÖ¥3‡öïå·Ý;É;7£Çއ¸pÐìd曯¾àØá|¼ø#æÎ[À¡Ã±×Ê~þ~+Z”3œ´N£ß @@@ aè[orüÈAºuíLß~’ ~»b%‡á‡ïV²{çvš½øCÞ qÝ€ACxµ};vïÜÎÊo¿fûö¬^“ð÷³Ä<êúÛÆÐÐPþëas¼´ Z½†Y³f³îçŸMVf³™.]:±&‘`:%ëžX[j¸wï×®^%]:O\]] çâÅ äÈ‘“,Y²gÿGFcö¦UØ °dé'L›:ÅXfÚÔ),]ö‰±œ&îÞ½Kxx8-[¼„§§'ÞÙ²ñB“Æ8;ÿ=zϩߧM»öT­^‹f-ZqèÐakÛíÛ·ycð›T©^“j5kóΘqÜ¿ÿw/…^àð‘£têÚÒå*òÕ×ß0oÞÖoø…^`Æ,Ç??³uäèQ^éБJUkP·A#¼Ô®—ÿgË?§A£¨× a̸ üïÛ•vëx„……Ñ·ÿŽ;nl²:vì8}ûPè,""ò/W¬hºvéÌøñöTŽŽfÜø‰tëÚ™bE‹›SÌ÷Ò%|lBC[…| rÑ××XNs·nÝbà !”¯T•ò•ª2múLfÏ™Ë÷ßÿÀê5ë¨[¿;ÝE«/Ñ A}œqqq¡AýzÖž2d`ð äÎ €âÅŠQ°@nÄù~~þdÏ‘³Ùlâïc³eëvž+^œF `2™hݪ%™³dæ×]»ˆŠŠâ½³¨^«6Uk<ÏØñ­×XááäÍ“‡L3P¢D ¢¢£ . Žˆˆ dÉdÉ’…œ9sØç+WѨISJ–)OýF/à{釡mû”*[j5Ÿgý†_’\_DDӦϤz­Ú”.W‘ö:“è6zzz2å݉”.U ³ÙL¹re)X ç/\°n#ÀÄw§ÐºUK²fÍj­mݺÆR®lÌf3ã:£ÄÿÝú÷ëKéR¥0™LdΜ™ªU«pãfìñ ÇÍÍ Ÿ‚-Zgg311±×î~~þäÌ‘ÃîxÙZõýÔoô•«Ö k÷ž\½vÈÈHúöÀÙ³ç˜4y*uë7"0(ßK—èÞ«µêÔ§jçykèp"##­ërt nß¹Ãwß}χóç‘'wnˆ šã%¶o»vï¦ÙK­¨X¥]»÷Äÿ®¿µ-±ö„öÁÓÓ“o¾üœreÊØ­‡$Îm€í;vÒ¦m{jÔªCÍÚõXbóý1¡sÆÝÍæM_dÞœÙÿ»tÇÏþÞ rÕÔ®×€Ï>ÿ€õ~áÝ©ïqéòeêÖoÄŒYïÓ«O?|}/1fÜxêÖoDhhìg',,Œ¡ÃG2nô;vÇ£u«–tí҉̙2áîî΋/4áÂ…Øžó$±?"òx<c8'&5CË'6dz Ss|/^dé’Å 6œ<¹sS¡B»ö¨¨(nß¹CÉÏqþ¼ýEÅ£0;ÛcdlKmña3@P` W€àT ›û2jä¿ù6óç~Àà7ßæÝIR=l>zìAAñÑ¢EÖ¿ã²O>%K–¬rìøqÊ—+g\4UÈŸŸÒ¥J1tøHFFáÂ…Œ³°eë6>[¶„Ì™3óѢŌŸø.ë×­`àà7)]²$»wn'::š!o e̸ Ö¿À¸ ?v eJ—"]ºtܺu›»÷î1uò$›wqÌÏÏŸ¾ý2~ìh^jÞŒ7oÒ©K72dHO§Ž¯±cç¯,ýäS¾úb9…||øyý†IéR¥Œ«ú×swwçí7‡0múLFAùòöÇþرãÖ6www»6ù÷éÜ©#{÷îå³åŸ?ÔûøÓÏ–ãæêB§Žíêª`Ø1›KÅ…–¶.\ô%Oî‡{P¦µþQªTIvïÜFLŒ… ûAäÍ“‡ÐP¢¢£™8~¬ÝüÑÑÑüuþ< >\È+¯´µk bÍšµP«f îßÀ‘#G©Vóy¢£¢©T©"cÞEþüù¸páE aþsÅ‹óç™34nÔù~Ä‘£GÙ¸ág\]\éÞ³7ó|ĈáCy¹M+V¬\Å”©ïQ¥JeæÎ_Àø±cprrâÍ!ƒ4ø-† }‹ý`±XhñRsˆ Îf͞ÒÅQ¶L.^ô%¾|Üñó£WŸþŒ5‚—Û´æÎ?<<Ü“\ßsçqøða¾_µ‚l^^\½v ''§D·ÑÈßÿ.¾—.Ù]_®ßð W¯]cú´)lß¾ÓZˆˆxèZ3wî\øþÑ",,ŒñóúõÌ™ý>¥J–¤j•Êôîû:ݺvæ³åŸÓµsgòçÏÀý÷8h¡aaxgËÆk¯½Jn]س÷7fÌ|Ÿo¿þ’Â… ñÞŒY yóm¾_µ‚%‹Ò¢Ux_h€Ùɉ~}zSµJe‚ƒChݶ?¯ß@ëV-<k^O©R%YðáGìØù+‹…®]:ÓµK'›=s¼o·ïÜaÀƒ™>m*Íš¾Èœ¦[^ÔªU3Év‡ûP¯n»÷µ•ع ?_>fÍx"E súôŸ´nû /5kFîܹ£0:xð•*ýý;±ý‘Çã©íá,©'**Ÿ‚>,ÿôSÊ–-klæð‘£ôìÕ‡[·ýp±é©ú´± ›ã¦ZØŒÍÐ ñï×ß|Kýzu5z £F¡^½º|ýÍ·DDDýG–-û„>}zS§öólß¶ƒ%K—±üó/X÷óÏÔ©]“>}z±ô1üÀl6óåçŸR¦tiº÷êC‡Ž]س÷7»y^iû2™3gàÅ&M¬=4.úúròä)†¾ý&nnn¤K—ŽDzyËV»^ί¶…êÕªâéé™âlÞ¬©ÃÐüiQ¾|9FÁ´é3íz:Û†ÍÆ ZDDDþL&“&NdåªUœ:õ»µ~êä)V}÷“&ŽOñµQB5nȲO>5–øäÓOiÞ¼©±œ¦.úúòÇéÓŒ5‚ôéÓ“1còæI8ô^öÉg”­P™æ-ZS¸p!Ú¿;®n¼ÊÕjR©Ju/YƘѣ¬=r۾ܚ-׳oÏ.¶lÚ€··7={÷%&&†ÐP<<<ìÖãááAHH?üøýûö!SÆŒxx¸ÓñµWÙ¸y3Y³f¥G÷n|÷ÃŒ›0‰|ùòQÙ&köâ xzz2}æû¬úî:wêh i׬]Gûvm©X¡ÎÎÎ-Z'''¶nÝFáB>´¥ÎÎÎäÊ•ÓzèúÖ¬cð 7È“;7nnn.{­›Ô6Æ‹ŽŽføÈQôêÙÝzÍ|ãÆMfÍžÃì™3ìzÍÔ¨QÍ[¶pÑ×—èèh~Ù¸ÉÚ»9^ÿoP®b^8ˆÎ_£b…òÆ÷îÙ#vXމïrýú Z´ˆ ÎÖüø=[7oäÐþ½Lò. }lò‡¢MëV)R“ÉDÏîÝ8~â$·nݲ.o+}úôÔ¨^ ³ÙLÆŒ¨X¡Wâ¾;&t nܸÁÑcÇ©T©"›7®gñ™ÿáGì޳׺ބömçÎ_)T¨Í›5Åd2QªTI^|ñërIµ§Tbç6@áÂ…(R¤0%J|˜ìÙ½ú@µªUxýõ~ôëߟ‚qiÅv8ÔVÃQØ 'oÞT ›ãÙnw®\9™üî$¦O›ÊôiS™òî$ræÌÁ¤ÉSì†qø'Nœ8Á½€êÕ­‹——‹}Ȇ_~á‡~dñÂ…x{g§~½zÜ à䉓ÆÅS]ºtéôÆvlÝÄkÚ3pÐ`öí?`mÏ•ëïñœ­?¿º{÷éÓ§'}úôÖö¼yòý{ÖZ‘d\à$Äßÿ.9sæ°«åÍ›×úó´;wî={v»öìÞÞv¯Ÿ6ÆÐYa³ˆˆÈÓ+{voF ÎØñU:vÂFŽ··ý5Ì?ѹcG|­[µ46ýë=ΰà ã†V±bEë0ÆåæÍ[,^²Än¹GµdÙ'ôíÓÛÚ£%[6o/\ÈâEYÃU“ÉDß>½ëØUf³™V-[P½Z5öø;pvrr|Á7Onîß¿owxíÚuÌf³ÝÅ«ÉÐk"%=yòæËËÕ«öÿ²}ýúuëÅ\6//nß¾m×~÷î]»×O£øÐyÔ豌=Va³ˆˆÈS¬QÃv×3W¯^£aƒúvóüSf³™Å ?¤|ùrÌœ9‹š6gÊ”iT¬PÌgü„ í¦ÔY½²DPÐß¿zKŠÉdÂ;[6úöéÅ•+W¸rÅþû€»»;åÊ–¡IãFý"/žÅƒÅbÁÃ݃¢ÅŠrîÜ_vígΜ¥`ر®³eËÆü¹°oÏ.öíÙÅÁ}{Øókì­øñ'z÷ìAæÌ™qssãÍ!ƒ áè±ã8xww7ë÷¬%ž£oŸ^üðcì/ð¼¼²råÊ›wå•ÕËa=©õeÍšå¡¿Il#qCc xc03f佩“­=™Ožúƒ1ñÝÉÖ`ñø‰Œ›0‰‘ïÄ~êÙ£;Û6odë¦_4h üqšêÕ«Ù½¿Ùl¦@üt|­{öÆö^÷óz5lH‰Ïa2™húâ ÔªQƒ_6n´[6^tL4±=¹³g÷¦{·.Öã±oÏ.N;LñbÅŒ‹A·½¨[§6ß­ü–ïW~KÍw|JèÈŸŸ;~~vµØq§]íjŽöÍÛ;ÛC½­ïÝ»g}žTû?e{n=zŒÑcÇ3jÄp¾_µ‚ïW~kË›DΙÄxÇufÛ¹m‹õïøà>æ~;¤HR~üi57oÞâ•©^«6µêijѼEkë?íÙûC‡`ñGRªTIë²Iíˆ< œÁãÓ2l&nÀýˆˆ/Y’dè?öWjKÍÞÌF!!£´ ›\]í/6âk³gÍ`ãÆM‰Þ¨1¹öíÛϰá#©lsÍ9²[{ ,YºŒÊU«3løH~Û—¶cd_ôõeßþܽ{—ÐÐ0öþ¶£G%k ä9rð|­ZÌ_ð„††òÑ¢Å4oÖÔîŽÄF™3gâì¹sDEEY–úuëp÷î]Ö¬‹ý»ß¸q“¯¾ù/·i À /4á§Õk¬Ã|lß±“3gÏÙ­ãiU¾|9f¼7•ïMUØ,""ò èÛ‡Ó0ô5›ÍtëÒ…/>ÿŒ];·óíÿ¾¢KçNT¯V•éÓ¦>tsì´T¸P!ž+^œ9óæFXXýuÞ87mÆÏ/ö×k!!!,\ü1Ù²y‘7oΜ=ˉ“§ˆˆˆÀb±púÏ3ü¼~â†9غm;}}‰‰‰ÁÏÏŸÑcÇSµJrçÎE£õ¹pñ"Û¶mÇb±°fí:nݺEýzu!nÈ‚9óæs5îgûœ9{Ÿ‚Ù¼y áá±=ž÷íßO`` …||(X W¯^åxÜ/CCCÙ¶}‡5mÖôEV¯]ÇœÆb±põêU‚‚îÓ ~=|/]fõÚuÄÄÄÀÕk×’µ¾¥Ë>ÅÏÏŸèèhkoáĶ144öfÔÞÞÞŒ=а°0BBB £TÉìݽ“µ«´N¥J–`İ¡ŒygÄõ‚¸vý:o B»vmÉîíM@` ;ÝeýN}ûöm¾øò+*”=} ²ÿÀk¨{ýú =FñbŸãçÇæ-[ &**Š_wífåÊï¬AûËmZó¿oWrôè1, aaa?~G‚ƒƒ ¦bÅ ˜L&®^»f÷½)¡cP¯nîÝ»ÇW_CTT'NžbËÖm4nÔ(É}«[§6gÏcó–­X,þúë/^ÈÇK–ѯâc›¦•Š+ZCçéÓ¦¦ú ±Y¼pßBµšµèÜñ5†{Û8{÷þƤÉS¹?Ê—+ÇòO—áææFpp0S¦¾Ç…‹¾DGG‘={vÚµ{™n]:póæM¦L›ŽŸßÜÜÜiP¿Οqßÿ/\ÀÄI“òöPòåÍÇ¢àææ7Äć¼úZg‚‚‚Èš% }ûö¦x±bL7–w§L¥^ƒÆxyy1oÎq¿FÌÁ”Éï2òÑÄþÒ¯nÝÚŒˆ»~¡IcnܼɀAC¸sç9sæ`ù'KÉ—/‹~ÈÌ÷g3fìx<=ÓñîÄ ¼Ð¤q¢ë>t(Óg̤éK- ¥t©Rüïë/ÝÆÕk×YÇ%þvÅJâ•+W–ïW~k7”€³³ 2ÄŽµ мeìM 3eÊHÛ6mè×·71ÑÑ|þÅ— 6‚ðˆpÒ{¦§^Ý:ŒŒ‹·CûW¸qým_y•¨È(\]]éС=Íš¾ˆŸŸ?_~õ5£ÞCDd `ò»©^-¶çôóµj2摼3v×®]ÇÃÆ ê;¼Î’% £G WŸþxye%w®\´{ùek{bÇàÓ¥K˜4y*ï0—Ì™33nÌ;”-Sš»wï&ºo9rä`Á¼¹LŸ9‹‘t©RôèÑßÿ#Yí)•عݠ~=vìÜIã›ã-+–§nØÏ‰œ3IYøá|¦¾7:õCÞó}.\¸@tt 9sæàý™ÓºC´ˆˆˆˆˆˆˆˆ8¦ÀYD$NÞ¼yYñÍWƲˆˆˆˆˆˆˆˆ$““± """"""""""ò(8‹ˆˆˆˆˆˆˆˆˆHªPà,""""""""""©B³ˆ¤˜‹‹ ‘‘‘Ʋ<#"##qqqÀd2›EDD$éÿµúˆˆˆ¤µÇýÿZÎ"’b™3gáâÅ‹ ŸA‘‘‘\¼x‘Ì™³à陎  ûÆÙDDD$ÝÇÓ3±üŸ£ë ‘´ó$®7œ‘¤xyyáïïÏ©ßWèüŒqqq!sæ,xyy3g.Î_¼@a2dÈ`œ]DDDQPÐ}.\¼@Μ¹ŒMÿ9ºÞIOêzC³ˆ¤˜Éd"[¶ldË–ÍØ$ϘL3púÌY‚ƒƒÍ"""òL&žžéÈ™3°êzCDD$ <Éë Î"’¨J+Kò“)cFëA‘ÊÑõ¥®7DDDžOl gãE†ñµˆˆˆˆˆˆˆˆˆˆ<]žXà,""""""""""ÏÎ""""""""""’*8‹ˆˆˆˆˆˆˆˆˆHªH“›îøu—±$""""""""""ÿ"yóä5–þ±4 œëÕ©m,‰ˆˆˆˆˆˆˆˆˆÈ¿È_ç/Kÿ˜†Ô‘T¡ÀYDDDDDDDDDDR…gI œEDDDDDDDDD$U(p‘T¡ÀYDDDDDDDDDDR…gI œEDDDDDDDDD$U8 SLŒ… wÃuò§'º)O˜(bœMDDDDDDDDDä?é™ œOœ8I¹ •)W¡2+W£ñ ͘:m:aaaÆYSÍÀ(Z¬˜±üW¯1–DDDDDDDDDDž9ÏLà àááÁñ£‡8¸/‹.àÀƒ,]ö‰q¶TS·Nm2dHo,Û¹èëË'Ÿ~f,‹ˆˆˆˆˆˆˆˆˆ#c† ¼Ö© oÁ­[·³‰ˆˆˆˆˆˆˆˆˆ<Óž©À9ž››ƒ½Ásç €·w6:wzm[6Y§}{wQ´HÌf3Í›7eý/¿ðËÆMÔ©S›LÿÏÞ]‡Gquþm6ž'‚ww îîR Xqw/nÅŠ»”âîÖâîNñ@â qÙäûc7Kv“@à£m ç}ž} ÷ÞÛ™ÙÙ3÷ž±ÒŸìGY[Y1xð@Ž=„½£Ç@¡Ðo)„B!„B!„ß§ï2à Р^]2:8°fí:š4iÌÎ]{¸{÷ DEEqÿþmûfM›ræìyNœ8A³¦M’LéÓbcc¹s÷.*• òäÉCxX666øûH||¼þ[…B!„B!„â»a¨_ð½P( 6”ž½ûÒ¼iS*”/LjáC™4e*oß¾ÃÔÔ”jUÝ(R¤09r¸âììÄ»w>T(_Nr¥R©øuÑ^<™¹NNÎŒ;€ùóS§vmš·l³“#;¶oÕ»B!„B!„B|>$Mü Ð{$y)“¼ cÀ0ѼL¯ß¼s)w®I&—º»wïRºt)ýb‘7nܤX±búÅB!„B!„B‘&Ï_¼¢L©â¥€H ˆb¸$¯ø$¯½W"íÿ¿Û”B!„B!„B!þYpB!„B!„BñUHÀY!„B!„B!ÄW!g!„B!„B!„_…œ…B!„B!„B|pB!„B!„BñUHÀY!„B!„B!ÄW!g!„B!„B!„_…œ…B!„B!„B|†úâÛqóÖ-ý"!„B!„B!ÄŒB¡ÀÜÜgg¬­­õ«ÿQÿjÀ9N¥Ò/iTºt)ý"!„B!„B!ÄTXX8žžÿjÐù_ 8'251Ñ/itíúuÊ–)£_,„Bˆoˆ|Ÿÿ3d; ‘þÈq)„â¿ìÆÍ›”+[V¿ø‹Y˜› ¼rý¯œ%‡³B!„B!„B|,,,ˆˆˆÐ/þGIÀY!„B!„B!ÄW‘.Rj!„B!„B!„ø N¥âÅ‹¼ñPçeΖ5+¹råÂP©Ôoš®Hg!„B!„B!„HGT*W®\áÁÃGÄÇ'ŸÀƒ‡¸rå ñññúÍÓ 8 !„B!„B!D:âáéÉ;__lll044ÄÐÐÞùúj{<§WpB!„B!„Bˆtäõ›7X˜[ècanÁ›7pB!„B!„B‘F!!!%üž‘‘!Á!ÁúÅ銜…B!„B!„"‰WÅ£P$Ý*Ä«$‡³B!„B!„Bˆÿ 8§ÀÓË‹|‹ R©ô«¾+5jÕåÒå+úÅB!„ŸeÊ´¬X¹Z¿XÈõ–é’—B!Äßë›8{zy1~â$ª×ªCáb%©P¹*]ºõàå«WúM…ž /Ò¬ek +I¹ŠUèøcW<==õ›}5AAAœ:}F¿Xkåê5ôêÓO¿X!„ŸðàáCúô@Ùò•(Z¢4uê7dÃÆßô›ý+Z¶hFíÚ5µïÚ³W§þ[3cælªÖ¨õÙ>u$„ørßÒqy÷î=ò,BÁ"Å)X¤8*W¥oÿÜ»w_¿iªþåB!¾–tp~úìÍZ´ÆÔÔ„ukVqëúöíÞA»¶mÈ’9³~s‘DpH}û¢uË\½tžCöÒé‡8;;ë7ýjŽ?ÁŸ§Në !„âÿpãÆM~èÔ…|ùò²{ç6®^:Ïü¹s(S¦´~ÓE¡‚É•3'/^¾dÕê5úM¾ÑÑÑ:r{Î;¯_ýQr$Äßã[<.ÍÌÌxtÿïÝfï®-R„N]ºqþÂEý¦)ú·–[!„øÒ}ÀùçISiÞ¬ ãÇŽ!‡«+ÆÆÆ899Q¯nŒ=v<»vïaÔ˜q/U–‡LjQc¨Q«.å+¹Ñ¡cg<<<@ÓcºZÍÚlݶƒšuêS®bFŽKXX˜v¾J¥’]»÷P§~CJ•­À]»ãëë«­ÿM“ư°° £ƒuëÔÆÐðÃ.<|HóVm([¾ 7寛Ú:___úL™ò)W± cÆM 44T[_£V]n޺ͻP¸XI~ß¼…_]Ì‘£Ç¨Q«.³™§m›ŸšŸ§—]ºõ \…Ê4lÒŒ#GQÉ­šÎ4„BˆïÑ´™³hݪƒ kÖ¬˜™™Q¸P! ,iø­Q«.û¤ió–/U–:wáé³gô0ˆÒå*R­fm>òÅíGÏÂE‹yþü}ú ÀÓÓ‹µêÒþ‡ÎÚ6ߊ£ÇŽS Ú·kö;uêzõéÇÚutÊŠ—*Ë_=áÐá#©^}éõ–§—uê7äâ¥Ëԭ߈ºõiß'ÄÉ·|\* œèÝë'zýÔƒé3fiëΜ=GËÖí¨ìV*Õj²zí:€T—ÛÏߟ¾ýR®BeªÕ¬Í†ß6i§%„B¤'é:à­۷iצ~U2óüJ‰âŹpöõëÖÁÐÐF päÐ~.ž;MÆŒur ¾}ûŽ—¯^rìðN;Œ§§'sç/ÐÖ«T*þzò”ÃöqùÂYŒY¶b¥¶þ[=[6 *İ£xñâ¥~5üyŠõkVqíÊE6¨ÏÄIS´uý&£ƒΞæôÇñ÷÷gÜ„ŸuÞ?áçI è×—«—ÎóC‡ö´iÝŠõëqêãŒ1L§í§|j~ƒ‡ #þü\ºp–Í¿m`Óï[tÞ/„B|yüø/Z4k¦_¥õ©ïP€í;v²iã.?C\\­Ú´§Cûvܸz‰aC3áçÉ:CÕ?·=@îܹ˜0n,™3gâÔÇÙº9}¤üøÛ¶ï¤Më–4¨_›·nóöí;ý&)jÔ°Aª×AÿÏõÖÛ·ïX³vË—-fßž]Úr!þK¾—ã²I“F¼rwÇÛû-Y³daöÌé\8wšÕ+–±`á"¼½ß¦ºÜ ÅÅÅ…KβiÃ:–¯XŹóôæ"„BüûÒuÀ9À?gg'mÙÈÑc)W± å*Vaåªä’%ŠÓ®mk,--122 ª[LMMQ*•T©RO/m{€ŸºwÃÈÈk++úôîÅñèÔwéÜ ###Œ©^½¯^¹ëÔ§wJ¥’M×Q¤paºtÿ‰v:qñÒe6­[¶ÀÆÆ€zuêàþú5¯ÜݹÿÆÆÄÄsssFŽÆÉ?þÔé1Õ¶MkÊ—+‹…… …B[þ¹>5?=þ‹ýû¢T*±±±¡Ëô'#„B|w‚‚‚È”ÉE¿ Òðš¨]»¶XYeÀÜÜœjnn(ŸJ+P»VM"""ð÷÷ÿâö߃gÏŸãååE­š5077§~½ºìÚ½G¿Ùgû®·bbb5r9säÀÌÌTgºBü|OÇ¥­-ïß¿ W®œäÎ €üùóáè˜ooo÷$zóƃÛwî0h@”J%Y³f¥VÍœ8©ûV!„H>äVH‡/||}É™#cGdèàALž:Ȩ(mÛ\¹Ô_Ô‰|ýüX¾|%=‚„‚CBprú¸°¶¶ÖþßÙÙ‰ÀÀ@âââ´e..r¢Š×þý­077g@ÿ¾ôíÓ‹C‡ÐoÀ@V,[JùreAo µ=•ƒ°´´ÄÒÒR[Ÿ%sfâãã &C† äÖäkü}j~þþd°´ÄÜÜ\[Ÿ1£ƒöÿB!Ä÷ÊV ð÷Ð^%õ©ïÐÄïl{;;m½±±±Î߉7ëc“\}nûïÁ¶í; ¢buÊ®˜˜2dÈ@ß>½P*•úÍHHHÐ/JæK¯· ”ê¾!¹rª¯ƒ…ø/úžŽKO/u(;{õùôð‘£ìÚ½GÚQ¡ ø„”s&¦w¬ß¨±¶,6&–Ê•+%i%„B¤é:àlooGžÜ¹Ùà C „$AhSSÝ;ɺ½kGO&~߸¶mßÉ¡#r ¼{çCöìÙððð$C† :ùS»€ù)•Jš6iÌÑcǹzíš6àl`ò:fÉœ‰ÐÐP‚CB°Ñæ½¼¼Q*•:g ÝNò_ÚËùSóKHHà}h(‘‘QÚ^ê_B!Ä÷ÌÞÞŽ\¹rrèÈ _ýÉïÐDŸûý¹í}áÛþu‘‘Q8xÍ¿mÐyÀr§.]9{î<5ªWÃÀÀUü‡4"!ïß•¤DjÛìK¯·|4&½ë-!þ+¾·ãrÇÎ]êžÌ3rçÎ]ÆOœÄÖß#þ|Tv«®m«¿ÜP*•œ:y:!„"½ùüoÉØØ1£X·~#K–.ÇËÛ›¸¸8‚CBxÿþÃÑ”øúøR¨`ALLLˆŒŒâð‘£úMX¿q#111„……±|ÅJêÖ©­ßä›öÊÝ+W¯Hdd—._áöí;.TH¿i2NNNT®T‰E‹—Cdd$K—¯ aƒúÚ^M)±±±æé³gÄÅÅŸJðøøx¢££µ¯ØØØOÎ/[¶¬äÍ›‡eËW R© cÓï›õ'-„B|—†šµëY¹z ¾¾¾DFFáþú5¯_¿ùäwè?ÍÖÖ???üýR½HŽ=Fî\¹)^¼ÎÎNÚWó¦MÙ¶}Ù²eãæÍ[ÚõÚ­7¬?-×AI¥·ÏNˆôæ{8.cbbxñâ%ÓfÌd×î=Lš84£x­¬2hSjœ;¿$iŠô—Û5{vŠ.ÌÌÙs #!!O//m>h!„ߥ )Œ|IHˆ×ޏI¯Ò÷Ò+”ç· k¹wÿ>-Z¶¡h‰ÒÔ­×°ð0Š)¢ß\kü¸1lÚ¼™f-[Ó§_Ô¯§SoddD®œ¹¨ß° UkÔ&S¦LŒ9\§Í·.<<œé3fQ½V]J—«À´é34h5k|¸sþ1sçÌ$88˜êµêP§~#,,,˜8~¬~3M›4ÁÈЊ•«2uÚ ýjÐ\L-QZûêÚ£'|b~ …‚E æs÷Þ}*¹U§S—nT¯®V'„B|ïjT¯ÆŠe‹9á"õ5¥LùŠtëÞ“'OŸÂ'¾Cÿi  ~½z4lÒŒæ-[ëW§[Ûvì Eó¦úÅ´hÞŒ‹—.ãåíMî]‰‹SѨisZ¶nGhX˜6XD¯ƒô¥§ÏNˆôæ[>.###)X¤8%J—£kž„„¼g÷Ží”(^€êÕªR©bê5lB»¸rõ*nU*kߟÒr/Y´ÐÐ0ª×ªC©²èÓwï|ÒöE!„ßkkkbc“§°‹ÃÆ:yª½ô$qœNÒñ: ½—A’—2ÉË0ŒÍËôúÍ;—rçJ[>«›·nQ¾\YLÿá!Až^^Ô¬]G÷ï|ói3®]¿NÙ2eô‹ÿÎ_¸È”iÓ9yL7UŠBñ­ù/Ÿÿ“d; ‘þÈq)„â¿ìÆÍ›”+«N{«Ïýõknܺ…­ú™.‰‚‚ƒ(]²$®Ù³ë”' çÚõ”,QB¿*EÏ_¼¢L©â¥€H ˆb¸$¯ø$¯½W"íÿÓ}g!]½v ÿ‚ƒƒY³vÊ—×o&„B!„B!Ä7-k–,8;:L\\œ:Ípp0ÎŽNdËšU¿yº’®(DR·nÝaÔ˜q¼Š¡R‰›[†¢ßL!„B!„BˆošR©¤|ùò¼xñ‚7.TܹsÑÃkÿIÿÉ€s–Ì™yòè¾~±HçúôîIŸÞê|ÏB!„B!„B|Ï •JòåÍK¾¼yõ«ÒµôB!„B!„BñÍ€³B!„B!„Bˆ¯BÎB!„B!„B!¾ 8 !„B!„B!„ø*$à,„B!„B!„â«0Ô/ø7\»~]¿H|Ù~B!Ä·O¾Ïÿ²…Hä¸Bñ_e`ð}öNç8—¢úEâ3TÉn®_$„øÆ¡_$„B!„Bˆïˆ±Ïý¢ïBº8‹ÿB¡Ð/ú®$$$À`=ÓÙæÿ¾sîáúEB!„B!„éžœ¿êøà÷G/Þ™ðb‡nøê¹Úèü-ÛüŸ§ÿ!„B!„B|+¾ÏD!B!„B!„B!þq龇ó“û·yrÿ6ùŠ– _áúM„B!„B!„B¤鶇sTd=Wft÷–lX8 §3º[+z5­JtT¤~s!Ò¬x£œ»öX¿8E;_¦^×éúÅâo"ÛûÿsýìIæ _œ"oºÖ)M¼J¥_)ÔoZ2‡C[×ë7KÑ…™1¤‡~ñW3¢ccÞºÀš_&±gÃ2ý&âo´{ýR´¬ÁÀÖµñõöÔ¯þ&èïßߺ '2ªksz7ucè ˆŒð·Ï9ß&èçÃvõˆŽŠÒ¯ú[ýÜ»=Oïß‚4œ7?ç|ÿOHº­?uìþ[Û75NdÖð^úÅ©ê^¿o=Üõ‹…B!¾9鲇sTdÝT@‹N]H ÝêW`ý±+›˜êÔ‰É à0R¿"}š6´EógÓ/NQ•2ùq°Ë _üI…êeÁø©S¥˜~ÕßÂ?(”K7ŸÐ¤Viýª¯îÆýR4výªÿÛ—no}o}ƒÈWk0—cÁ\¿úoñwn€ycP¨d9êµî¨S>¹_'j6mCå:ÉS¤–Ö¶:õ_K•º115Ó/þbçŽÀ­nýb‘Îy¿~ÅñÝ[˜½a/–VÖ›è7ù.……óüÑ=ŠWpÓ¯ú×ÅÅŲiñlºŸHÙªuˆ ÃÌÜ‚à@öý¶’Û—ÎI×\t8×<pö˜½Wðôþm(Vš.CÆ‘As9±g3[W,ЙטùkÈ[¸8ž¯ž³ñ×™¼~þÖ6v4íÜ“Êuë´ÿ–¼zúˆ›×ðìþmbbb°ÍèHÍÆ­¨Óâý¦i>ß¾zúC##²æÈ€µ=ú ÃÄôë]Ãùù2ô‡úŸdÉÎŒu»iÞ¥/YräÕ¯NÑ×>ß®çÿ¤P©ò˜™[Àglkþ¦í›’˜¨HNîÛÆÍ §‰ŠŒ >>Sss*T¯G­æíP*ÓåO¬oŠÿ;/ÖÍŸÊ«'°´²¡ù½©X+ù~~lçïl_½…Ûcmk¯S7î§Ötè=ŒB¥ÊsbÏfŽíÚLTdùŠ–¤ûЉXZÛÏ™C»8uh~ïÞ’ÁÊšú­;Q³i[iú3¦k æo9‹¿îspËz<^.3óä"33sT±1 l›ü‹WüK¦sô Ó¯F5Jac¥þó).Ž¶Ô¨PX¿ø£®Ü~Fhx$µ*Õ¯úÛìc¬ö}ïƒ)U©:3×ïaö†½DGG²kÝRm}H`uZüÀÚ£Wµ¯Ä`s¼JÅâÉÃ)\º<¿n?NÓÎ=Y7o oß|›=3ŸÞ¿Å¬a=Éš#7?/ÝÄ’]Ð{Ìtò)©ßT+­çÛ£;7áùò¹öo¥Ò2Ukë´ùÙftÔ~FmÀÐÈXû÷´Õêÿ/_sKõ¾ P¤þàkžïÓ"4$ˆ]kK¼JÅæes‰ ÿÐK?Åm­Ð{ª´Æß±}õ…0}HwP(6k)3ÖîbÖú= ¾˜¿wÌÓ?ÕØßŠÈð0ön\AxX¨~Õ?fÅÌñ¸æ-ÀÒ=§0y[—Ïåõ³¿tÚ¼yñ”˧j½I½x|Ÿ¨ˆ ”(˃›—9²ý7Fþ²œE;ObcçÀºùSˆ‰ŽÂãÕszŒ˜Ìò½gè;~;Ö,æå_t¦wñä!JTpÃÌÂ’¿îÞ¢~«Ž,Ü~œ©«wðôÁmŽïÞ@øû–LAË®ýX¾ï,µšµã× Cˆ‰Nó¼¢##X;o2N™³ê”'µï·•ø¾óföÆÌ\³‹§÷oñÇþmð‰eHMjó¼vösGõÅÁ9“N¹Bñ)éîöû“û·ñ{ç­nÏæ¤ÌÌÍyçåÁ³‡wÉSèŸéAúM‰Ì€.@F`…æ“F>@yà7 3 Îï'`(0H3Í­À4à`T6ýš6 ÍûÞiþ^ ÌÜÀ ñ~y X t”€î5dšxûÑÒZN_yˆÒÀ€Æ5K±pB¬3˜ãîéGíÎSY6¥ý~^ ÀÓ?ÅÕ­kfö¦V¥"Ì_{ˆEEÓÚe(]$½;ÔfÃî3¬Ùþ'vLÅÝÓj&1q@+¦/ÝC`He‹åfܾ¸8~èy³vç)º´¬†BûžÑ½›1{å>üCiÝ }~¨C߉kxúÊ›œÙœØ0§Å ¨{ÆÎ^¹Ÿu;Oü>[k NèB=·âÄÇ'0nÞV6ï?Oxd4NÖ,܃w~ÁŒŸ¿˜˜8þ¸xŸVõË3wL'ÞùÓ{üjÎßxŒ…™ C»7bp׆t±”*e pîÚcv¿ÂÊi=ù¡ií:¤fèôì;qS—0~þ6æŽéDXDo>!_ŽLÌYµŸ¦µË°zF¯T×£tÓÑtoSƒ>?ÔÑN·ló1tl憕¥™v{_¼ëvžfÅ´ŸØ°û \¼O Sv½‚ãû·ÀÎÚ’‰ vàôžÊ¥ó³eá ¬3˜§¢Û¨eœ¿þáQäÏ•™sû‘3«Áaô·’‹7ŸG¾™Ø·r³VìK¶]ZÕ/ÏåÛO4e=Ï_¿#³“ ÆwÑîw®nýø}þÆÍÛÊ•ÛÏx~z1Y]t{æ|® 'rîè~Æ.XÀ£Û×Ù²|.Aþ>¸æ)@‘Ò•xõô}ÆÍÀ@©äܱýݵ‰Ð @\ó ç¨©ØØgÔ›²z¶]FGZté ÀñÝ¿óÇÞíDEGR¢BUrä-HõF-A3íß—þ­‹§‰ŽŠ t•Zü8p o=^³hò0üßy3¢ccl3:i—7©ÃÛ7ráØ"ÂßcaiEû¾Ã)Rº‚~³ ðã÷%sx|÷: %%ʻѡÏ0m@îÙÃ;l[¹—Ï037§c¿‘”©Z› _6/›Ë£[Wp«ßœv½³pÂ`ò-­Ó˼W“*Œ[°–l¹ò²æ—Iä+R‚'÷oqýü)º GžBEùet?:÷ͦ%³˜µ~/Ýcóò¹øzy`ãàHûÞÃ(T²,hR†´ìÞã»6ãã탣 Ž"O!u°/.6†]ë–qùÔ¢""È–+cæ¯ÆÀÀ€sÇphË:"ÃÞ“-w>º€ƒS&ÂBß³qátž=¸ƒ*.§¬® œ4+Ý^ƒqq±ìZ»”˧ŽC¶\ùé<`4.Ù\¹~ö$;Ö.!ÈχS©N#šuÖ*~÷êöoZE Ÿ j7oOƒ6uÚ]ž 6.œÁ³·165£n«¨Ó¼>^oØ´dÞ¯_K¡’åè>âg ¸pâ ÏÞÅ%‹+Gvl¤DŪt2ž³Görtç&|ßaëàȰ‹P¦yÿ¿rú{×/#6.ŽÇ·®QÊ­&ízþèr~- Þ¶³G÷ìï‹}FÚ÷JÉŠÕ¸sù[WÎ'4$€!íêP¢‚}ÇÏÂÁÑ…¦zj§U¾z]Žîüx• ¥’¢e+i늗sãæ…SÚ¿C‚Èž;?J¥N;€Ý'&:š&?ô@¡PpñÄ!2fÊÂÅ“iÕ]úà­çk6/ÃË¿baiEÍ&m’ðÎu IDATÐH/6/Ÿ‡[ý¦ÚóšóY¢óÓè©ì^¿Œ—ï3{ã>ݾ¦=ߦ¶?Þ¶ÛÏðøÎuö¬_FÛ^ƒqÍ[€š°öèU ”Ê3k~™„K¶<{p›çïbbfNãݩְ…vÙ%~N MïFýÏmDÇÆt:A{ž‰å—Q}xýâ)V6¶´é1ˆâåÕß¡IÏ÷©WŸ:O}l½…rl×oܹtžª š£@Á쑽 ðcêà.(JÆ.XËÃÛWu¾Û”JCÎÙË‘mˆŠŽ¤h™Štì? 3s ü}¼u¶ojŸÝ£[WÉ`mÇ•3ÇP©T”©R“NFc``€JÇÚ¹“yvÿQÑ‘dÊêJ“Èè’E½}æL¢Qûn*Yž¿ÎÀÓý ….Y]é7a6«fOàâG¨RW·Ç||<«gO$>>ž^c¦Å–es¹u寯&ÔmõƒÎ<•*Žk—pùÏ#$Ä'PªruÚ÷šâÏ»Ie¶È`Íæe¿pçò9ŒML¨Ó¢=çŽí§ß„98eÊŠ‘± St¦L•ZÔoÕ +kýÙþmüßyñúÙ_Œ˜½¥’l9óP¶z=.þq˜ìyòƒ&P¼jö:ÅÌaÎu‰ÎÛOå:100àÊ©c¸ÕoŠsfõµv‹.}ܶ.a¡ï±Ì`Ń>܌˙¿0N™²òÖÜù?t‚8쀶]«ný´åÆ&¦,Q–wšT(·.Ÿ#kμÚk£ŠµpdÇî߸LÉŠÕÒ4¯MKæP±VCî]»¤-Ówåôqº¨½‘Ô Íܼ†:Í;|rR’Ú}‹Ù+÷snÛdòåÌĶCé0x¥‹äÒo Àk/?Î_Ìý£sQ(4ëý 3—ïcÑÏ]ˆfÇáKÜ9ô‹Î{ž¼ôæÙ©E¼öò§tÓÑœ¿þ˜ãÇášÙ‘¾×0æ—-Y7€Š%óÒµU5í­YüÛQúM\Ë‹3‹9wý[^äÁ±ùXYšñÌý-¶VØ–·àîcwüƒBY3³·v¾­úÍ£D¡ø\[ÍoÊ6K¾œ™¨_UýàÍ1¿laêж,žÔ S“ä=CR2Ü\ºõ”þêѱ™ú‡é†ÝgØwâÍë–åÁ±yd°PÃMm=º¶ªÎ¦½ç´çgîo¹ûø5GÖUæÐ©›:óû’u8wí1q*ÕËÒNgË ìX<„åSbï‰k´ê7†ÕKrç°ºk~µö“X¹õ$#{6ÅÈPIûÆ•Y5½ÆF†´ü+Ó—îaí¬>,Úx…BçÅ( n=|‰£½uŠÛÅ/ð= »ÏdùÔŸhÛ°"ûN^§EŸ¹ݹ‘AS`çàDhH Æ¢ó 1”­Z‡[—ΰdòpfoܯ ݹ‰ÁS`cŸ‘¿¯æ·E³˜ºRÝsi÷†e<{p› ‹7bmc‡¿Ï[ xxë;VÿÊØykpÉæÊöU¿²|Ú&,ÞÈŸûÔï¿å(¼~þW²`3À¾+xþè.SVl#ƒµ 7¯aî˜~Ì\·›2Uk£42bφeL[¥î5©ÏÑ% =FL&Sö¼yñ”Éý;Q®ZìuÚ}ly–NE¶ÜùøuÇI|ß2yÀ8gq¥h™ŠXÙÚÓ°mò)ATd$“ûwäÚ™“ÚaÖ·.¡T¥êL[½S33î^½ÀÎuK9òâÇ2ºd!Ðï]š÷ÿòÕëáùòïC‚é6t‚¶ücËùµœ>¸“?öm£ïø™¸æ-H ¿ÆÆêý´x7ŠWp#$(€Ámëòëö:=X“ЉŠäøîÍ”¬X-Y MJ†ó'tÓÜD„…±Ó*ön\A[ª5hIý6xûÆl9ó P(8l?±q±´ìÒ‡kgN‚f~¿ŒêCÅ 2íW‚ü™=¢7]2Qªr í<Òƒ÷ÁA¼yþ„nC>|¶)Ù°pú&G¾‚ÉÒM¤¶?·ï=„çîR«i[*Ô¬šÄI}ê˜9¼m=Ãf,&W"<º}ycûS¢b5¬?Ò1#-®9¡=‡?¸y™Å“F0cí®dÇ*)W‰>vžúØzústûogÖÈ051ÂÒÜ”9£;²çøUBBÕìÑ1±ÌÓ™|93an–|ø÷ö×èÚªùrª‡‰µkT‰‚¹Õ=XR3a@KÌÍL035¦Yí2<~ñá¡Y;^¦t‘\äȪû#iøO1T*ɕ͉ÒErÒºArfuÂÀ@AÓÚ¥yæþVÛ¶J™Ú€dÃê%yåé @f';BB#X·ó¡á‘äquÁÖ:åÔ /ÞøpéÖS¦i‹¡RIάN4«S†=ÇÕZ¨T*½ÚׯÊÒ c£ÿïÞ“B¡`éä8Ú[cfj Yö+qëá+^zø°yÿ×,…ƒ­nîæ/]‡u;OѵUuW¹²9Ѫ¾z¸yÓZe0T*éß©,ÌÈ`aF­JEyæžØ5T+™©1J¥õÜŠóÊC½ìy\¹rûOÝ$!!!Õþ¸kfGÚ6TŸšÕ.ƒ£½'/ÜÓ¶éÕ¾65*&ƒ…Yšn´íÿ}ƒÚÖÑy½yùT¿·¯œ'söœÚàNf×\”­ú¡Wy¢º-:`hh„¡‘1Å*¸ñÎóµ~“d®=A•ºMpÉ¢î)T®Z]2eÏ¡ÓÆÆ>£6ÀbmkOžÂÅyç™ö”#y‹”Ð ‹•«„ÿ;/ý&õÎë5¯ž<¤U›`bfN›Ÿqëâi"Ãø}é,.Y]q«ß ¥Ò»ŒNXXYóÎë5¯_<¡]ÏÁ˜™[`ni‰ƒSÚ‡‘æ)TŒj [`fn¡  ÄÅÆÐ¦ç\²dÇÄÔ”;—ÏaïœIûy”¬X +[;jzTÔlÚ[G e«ÖÁûÍ+mÝ•?Ñ´s/]026Ñ}¿xò •j5"Sö( ê¶èÀË' ò÷Å1s6^üuŸ;WÏCBBªy/žÍªâïó–NFëÔ_Î;@•º“û‡¶¬ÃÄÔœJšöQQQ›èÞ”265Õ.{¢”æèçÃÎuKé9jŠÎw•¾ÍC1“Þü211#^¥"&::ÍËÀgÌS!„ø\ÿ_”éo¯ˆºçâ§$$$¿hê¹õ`¥I—Ø!·Þß±šïã;@˜â+VÓky¿¦Çó àMPz¦¦MJ %º}ˆÍª%FFšù„`ei†•å‡ ªY‰OÀ?(¥æ¢©@îÄÜ[ß ÊÕ º8Úèü­/‹ó‡žÒF†Jbã>äé[»ã½;$Ϙx016ÂÑÞJû·‘¡¡vq*³VìãØÙ;ÄÆ©ˆU‘@W.îœÊô¥{˜¶d]ZUcú°v˜'ÿ¡æõ.€üµkËbbã¨[E=Ô À'ëŸ#wvgŒ ?ôšûØzØÙXÒ¤Vi~ßwž‰Z±åÀŒÿ1ÉÔÔ¾dBÃ#ÙsüÏ×)Oºý )uÊŒŒ”ÄÆª@½õ bê’ÝÜzøŠ„„‚BÉ¢éÿCÓ*ØÙX2{å~MYÏø~-ù©]Mít’òò äÑsOœË}ø1£½P WêûfJê¶üê?„æé¯ów¢lto|ØØ9hƒ+‰ì?¯ •†ÄÇ«?§ ô'GÞ=ÈÑL;)ý ˜¡RIB|¼NYjâU*oSýTÅŧŠÓî?iõ>(Ss íC§2:g">>žÐ`B‚’m€÷˜™™|ŠÞr¹dÓ ¼'ʤÖ èï‹÷ëW jûá@lt4‘áreÚ'Y6¥R©“ô}p ¶ÉÓžùûqûÒY®œ>ª-365#<ô=jÔÃ"ƒG¶od˲¹4îЪ šë¼à}HÎg§P(È蔉Ð`õñø)WÏçü±ýD†‡ƒBÁûà âSøìR[žàõÍ1Ý?¤ PÅÆR¸´úÆÍË'9ºã7}ßBß[/j6ùppÌœUça]Áþ:Ôõ}Éþ|r9¿–à 2þy3œ31uùV"ÂC¹yñ4?÷éÀ´•Û´CãËT©Iþb¥ ôçØîÍÌ?ˆá3—€&¸“(±ÒTkØ‚[OSµAs,­m‰ŽŠ`ó²_¨Ú 9™]sâñò©v”@p€a!Á i¯Nó R©pÍOûwzai­þÎ ühÊ€L©Û|dN‹O3¶ºçR¥¡ª¯ØÂR÷&¯½AþêýZŸþq•ècç©ÔÖËÔ̜髷óÇþLèÝž2•kP­QËϺ±‡ÞòÛÚg$4$(Õ@hJŸÞùßP©$^óþà@þ¾÷çABa¡!ÚÏ!2<SÍ÷Šƒ“ ^¯ž“-gnžÿ“˜è(¸væ…J©orx¼xÊ›çOÈU°(†Fê›òhò¤Û;¸Ñacç 3!$ÀŸ5ó&£Ô”ÅÇÇc”äýI¥åÜ­¿‚ý±M’BÈÒÚ&Ù_/NÙÍKç)U¹:]Kq_øÚLÍ͉‰TUEGF`aiMHP[WÎgøÌ%èíw‰ÎÛOµ$7ÐLÍ,ˆÒ ¶ÆDFb‘áÃõx¼JÅòc±¶s Y§颢"#¸yáÓ×ìÔ–%:±w 7.üɈ9+´ÁZ33sÂÃtGFÅDEá˜éÃwUJóŠgÕ쉴é1 Ù5”>SÍsŽ¢£"µ×9ÑÑ‘cbjš¦eà3ç)„B|®¿ÿŠá3å+R‚Œ.Y ôÃ,•ü‘á8gÍ.é4>%yRÝ[9%m59”—kÒhLÔ£"Õj?5½šgiz.'°õ¯õœ4Ó[¥I«‘H?«EjË“9²:A`pv6êaį½ýP* Èêb·OhŒ©qr°Ñ6ù~|ø|jÓ{úê-žzТn9ý*ýÎ.©úeÕö»Æ± cq´·æÉKo€kÁÜYؼ` ïü‚iÑg.3–íeòà6Éz\¸8Ú`¨4ÀýܲTÓe¤¶Ÿ’ÒºèOëSëÑ¥e5†NßHƒj%‹ˆ¢žÛ‡ r¢/Y‡­/R¡dÞdéSRZæÔt¹Œl™8³e¦&F¬Üz’­/jëëW-Aýª%¸qÿõ»Î ·«3ÕËJ6—Œ¶”)š‹óÛ§èV$ñ¹=ILÍ,’=Ý •~Ö¶vÉ‚¡!êc")ƒÏ?­lì´·D¡ÁºÓþØtõ·•¾£;ãÆÅS ›±+[Þz¾fl7unè´Ê蜉Èð0m~FŸw(•Ø9:aec‡ß[ý;`ÁÆŽð°P"ÂÂ’¥'P Šÿp² S?¬-)ý}2‘A’tÙØ93_AÆÌOž»Zë#ô²´¶Áï­YsäÑ)·±w v‹ö´ø±Ny¢¢e*R´LE^=}ÄüqqÊœ•üÅtÄåàœ ¿w^dË•W[æïóû4ƒ^<ºÇúÓ;öýƒ?ò€ß”–ÇÖÁ%s7LöP¸ØæŽêKûÞC©\· …‚3Æé´IºÑì«I{@ëûØ~ªK÷sµ¶sHu9¿&KK+}S¦…R‰mFGl3:’Ù5§ìäÙ£{Ú\½Æ¦fØ›šaïèLó{3¶[K¢"#0MéúKa  B»dÍÎã;×±sp¢çÈɼzú˜LÙÕ7pí2áœ5»6½Bzfec‹K6W®œ>ª“Ã9™“¤²?ç/V:Ù÷sRi9fR;§ü¿‚ütþô÷%w¡”v¬\i¥Rþ©õrpÊD»žƒiѹNbÁøAdtÎÌÀIó>º½’ ðÓæTò÷ÁÌÂ2õ@h Ë™ê:irXÛ;:3zîJŒŒM8sxWNÀ6cFßR´jß{›–ÌâýÛ©Ù¤ vNÎLø#…J–£BMušk{ÆÌ_ËôA]9²ã7¶Ußd·¶µ'ÈßO{. Ó žZÙÚóÓÈ),¡îQý1i:wë­³µ­=A~dÉ¡¾˜O:ÿè¨(–LAp µš¶eòŠÞ)æŽþ»dΞ o¢£¢´i5<Ý_à”%O&ÐÏ—iƒ»é¼gBÏv´ìÚ—|ÅJâéþœR•>¤ŽÈìš ï×êt!hF6¼ ÒîCq±1,6+;~4VçúìÊ©cä*X4Y@öð¶õܼx𑳗ë®3çÈÍéƒI‡t‚Ç«g”ª\>2/÷gyzÿo=^iŸùþþ=žîÏypã ݇ÿ¬ž¡‘1Ž™³âåþR{Ãßóåsíÿ>µ ‰>gžB!ÄçJýjë_´hû1”†ÆDF$öŽÒÈ„EÛÕ~â+IÜÔ¡ÀuM~çD@uMúf¯1Ì5cGÍC»iRd$¦ž œÓ¤ëØ IËñ•dv²£®[1&.ÜNtL,áÑLY´‹ö+¥9ED«úåùmï9mJ‹C§nrï¯/ªºnç)Ú5ª¨M)ñ%¼}ƒÈ›ÃG{kذûŒ¶î·¿v93ÚY‘3›ïÃÔCl3ðੱq*âãÈãêB™¢¹2mïÃ"IHHÀÝÓ7ÞþÚé})[+n?R›M­7àÇÖ n•b„†G2mÉ:5sC©L~*ú’uX·ó4ÝZë^L.oŸ@JΉ©‰‘Ñl;øáá)w¿Æ?HÝ 5« v6–¼S<úÛ¥iíÒ<|æÁú]§‰S§Rqç‘;á©?!ük*Z®2^îϹsùhz)]K’ûðÿQÚ­OÆÇK}¬Ü¹rWÏõ›¥ÊÒʆ@B‚‰O¡×sP€?Ι³cecKBBÔoòI¶Ž.U½WCLT$û_M¹ju044¢x¹*¼óöäò©cÄÇÇþ>o\²º’5Göl\NLt1ÑQx¿V®Ž.Yyöà¶v™/Û¯7×´)Q±^î/8ü *Uñ*o^<%&JwhojÊV­ÍÑ›ÔÛO¥âÍËgT®Ý˜3‡Ô$LHH &:Jûäû7/Ÿi{·;gΆ¥¥5‘á:Óp«×”£;7D||<'ölÆÌ‚¼…?}ƒ7(ÀsKKmÞÈ{×/ ß >²¦dåœØ·…—= ^¥"ÈÏ—·iLûñâÑ=^>yHdxáa¡œ>´›ðÐ÷dÑ|>w.Ÿã­‡;1Q‘ùûrlç&3gÕ›Ï?@ ŸQ‘<¼y…3GöP¶ªzkž88g"_±RDGGóðæ.œØO…êÍK”!&:ŠÃÛÖk·¯·'^î/’,aúѦû@ŽîØÄáíð#:* ¯7øz¥íY©íÏhö×ÏŸ€¦7aRŸsÌ|m·/ŸÃýÙc¸så<¯ŸýEñrnú;HZ×ËØÔŒ[3mÕj4iš@š©™9¯Ÿ«Ÿ$Úè–CÛ6Mdx‡·o ÌWÌ à‡kž›ÅUM° h™ÊÜ¿y… \²¹2rÎ &,Ú@ÅZ hض ÿFË®ýt––V¶XXf ïøYÚ²–gïPªruŽlßHDXqq±Ø¢{²rFìÙ¸\›÷;ü}žšïÚ ?_VÏ™H Ÿ:=Ù—œ»KW©É‘퉌׌,Z§S_¯u'¦®ÜFÕÍÿÑ`3šïð|EKppójâU*¼Ü_påÏ#T¬YŸZMZ3÷÷ƒLY±•)+¶2ié³œò5êsáØÊU««³Ì•j7âü±øzy Rű÷·•*Q+[¢£¢X8q6vtè=”Øè(¢##´7”Ï?€[½ùíölXÆ­‹g8y>†FFDGFhóo—¨àÆ[Owî\>GBBWN#Øß—bå*t^ÙsçcÁ¶cÚõš²b+Ùsç£M´ï=Lgþh¾ól_¯>Ç¿áØ®ßµ7:>¶ $ùŽúÜy !„Ÿ#mQ¹˜‰©ë]a`Ûº¼ó|C\l hòˆ9gÍ΢íÇSR&¾Ð"`0(ÌN’Ù\“bc¸j‚Çê›èê¼Ïc­€úÁÑÐ.É{&hÓÅ5'üŠ~Ÿ?“Ö‘½J_”JT+ÉÜ1ꇥE³ÚexòÒ›š§ P(h\³5*¤>ü:5*U<¿í=Çþ•#õ«>ˈŸšÐyø Ô‚½%ÝZ×ÀÆJ=T. 8”ŽCããBKSŠåweÞXõß;5wcßÉë8•íA»F•X6¥{–gÈ´ d¯Ò•*×,Y>õ'²eÒM}ð¹F÷nF·QËØ¸û, 'tѯ†O¬€Ri@§fnÌ^¹ŸÇ'è¼7©ÏY‡GÏ=yæþ–fµ?Ýèc~Ø•þ“Ö²jëØÙXÒ¶QE¶R‡î˜7®«¹–yrï&Žš^uŸR¿UGâU*VÌO¿/6v´îÑ_'·hjBC‚Ù³a9>Þ(Ù57§Ì׿4õtÁæes ò÷ÅÄÌ”¼EJ2dÚBíûŸÝ¿Í‰ŒˆÀ1SfÚþ4˜ÒU>¤ê3vëNcpÛºêàIõÃ6ŒML1k)ÿcï®Ã¢hŽÅB»»•F»°ÅìNì|íîN°±[ã5Þ×iIÉßËÝò¾?}_õÏ=ÌÌíÞÎÞíÌÎNìY·Œ±Î­ù…q‚´ë=Ó¢éÏ}ÿo©Z׊!Órlç&è ˆàæ­ÛT¯–¹uòž=I­UkQIÝGc’Vu‹S{%¨½e¯dÒÿÈÎêJU¨Lö¤Š›hl¾µþ!¼xëGÍJ%ÐÑVrèô-|½Â²VrWmAøyù\»H¹ª5ÑÕÏŠïë—\9íAû~)siÿ]¡ÁøxGÑÒåQ*µñ¾zž7Ïÿ T¥Ôsq ‚ ¯¦x™ wK†ŸÁ›ç £«K¾…HLLàð¶Õä+PX46 ‚ ‚ðMüð ΂ð=EEÇ0rÖV?O||óçbÛÂA1MYµ[~V—NaýÂiÄÅÄ o ëÆ­0³I·ÌŠýÍ®5Køðæ ñ äÌkL¿1ÓÉcœ_žTA„PpÀ'v¯]L°ÿ' …J”Áu’já8AA„ÿ—hpþUdnQ¢„jQ™ïåñ³÷´¨9ïÛÝ÷Îsáû4e¾<è›ÈcbʄŚ‹ ‚ ‚ðó¨bf!-"'‚ ‚ð­‰ç_@z+xÿjþ+Çù#yþï¹ôZµÚ¹ ‚ ‚ ‚ ÂÏä‡hp®m¢”¥)³éþk¾|ù"á''®w‚ ‚ ‚ ‚ðkóñ“‡ü~ˆgáÿ£§§'þ㢣£åA‚ ‚ ‚ ‚ ‚ð݉ç_Dâó=ò á?J̹,‚ ‚ ‚ ‚ ü[´ä‚ ‚ ‚ ‚ ‚ ‚ðwüÒ=œ½½½¹{÷.ÕªU£zõêò$‚ ‚ ‚ ‚ ‚ Â7òKöpŽŒŒ¤a:ŒjÒ„{#GroäHF7iB“zõˆŠŠ’'’Tm:Š‹7˃ӴÇã gʃ:o?R n?"£T /öµ‚ wÉ“ ÿNmÛs玷<ø?éÄÉSôuq• ßÁ©Óg°kàH= kŽzxÊ£Arèð:tî*þ÷ùñ£6v ˆŠúg×ZP/߯M˜ÄÒå+äI$3fÍaÍÚõòàz^¿÷õ¥BåjÄÇÇË“Á¿˜¿é9tøÝ{ö–§«rµš¼xùR,‚ ‚ðÓùåœ###iQ½:“||¸Ìê¨(VGEq18˜1wïÒ¢Z5± Z:f ï@å²…åÁi²¬U·¾-äÁ_UÁq8§.Ý“ÿkLò±xB²êëÊ£~(öž“qúò}j·Kî=É[³ï>Ê“Húº¸R¡r5*T®FM³ztìÒk×oÈ“}×oܤgï¾Ôµ°¢¦Y=Úwì’ªQ-$$„sç/h„;^úÌɯϟÃ4Ò¨;á"æ–6:|D#|ÿƒ©¶sÖ+u~ èJ©R¥äÁÿ §NŸ!<<\ú»FêôêÙC#Í·’Öùþ•8tX¤aúÌYŒíÆ•KçièÐ@ý·íÚ³§¶í©iVsK\ äÁƒ‡iäç <<œ™³Ý±©ï@=KfÍq׈~ ‰‰‰w>öލQ»nªÒW¯_3|¤æV¶T¯UGjd|øûï©®›É¯˜˜ª^¹ZMmGEE±qÓ¬lë3Ç}žFÜèáï¿3pðPêYXS½V5mΖ­ÛäÉ$™½F>üýwžþñ‡ôwž<¹3zúúßnÁg?¿O©ÎSò«ióVðË·V-›coo'þÇȯK™Ík¾Sþ¦%**еëÖÓ¾cšµhMã¦-hÛ¡›6o!..Nž\ø‹عk7-Z·¡¦Y=ì±cgJ‡ý4d ãа ÃFŒ"00HcÍ[9qõê5¶l݆­½#uÌ­8x(!!!i_¾zE+§vŒ›0I#<™@µëZÆ•«WéæÜ ³z–˜[Ú0mÆLbcc¥´W¯]§Eë6ÔªcNûŽ]xøûï‰ãR÷àÁC*W«‰çñò(bbb˜8i æ–6˜[Ù2oÁ"xÿþ=cÇOÄÂÚŽºV´iß1Ýzÿ›7oS]7ä×ì«×®Ó¡Si_~~Ÿ4âA!-¿Ü”­íì˜úú5¶òÀ>1‘ÄׯiS¿>Ç®\‘Gÿç5µ«!JW~ãœä7Î)ÎÐõ»…½yeyÔ¿FG[I»&uåÁ?”'Ïß3{åAz¶MùV={‡!Ó7²yž+–µÊARãCFF†sn|þÆî={4d(^§O‘=»¡<é7sáâ%FŒÍÈáC™?×…nݾÃô™³ðÀ¹G7Nœ:Íï¿?ÂÖÆZzo@` çÏž~ÊM¯R©”þŸ,11‘…‹—påÊ5òÈ/& ŽÚ3vô()LK+ígm6ÖVò ÿ„øøxfÍ™ËîÛÈ–-yóä!ož<ò¤ßDZçûWõâåKÖ®[Oë–i? ‹ˆˆ ((˜êÕª¡P(ÐÑÑ‘'ù[-^ŠçñLœ0ŽjU«ð9,Œã'NâÜ»/ëÖ¬¤j•*iž÷øøxúôëOÕªU9vøÙ²eûêµEøwDGGsóÖ-ÆŽv£JåJøøÜÃuðP*W®DñbÅHHH _ÿçeó†u˜ššj4ˆøù}¢[žthߎIÇc”#‡_±Bîß½­¶78æáÉž½ûÉ’% ,[²k+KtÉN®\¹¨]«–<ê‡sçŽ7}û»Ò½[Ƹ$wîÜ<ñ…B!O*Éì5rã¦-ØÚXS¦ti´µµièè OöÉ—ÏX:_=¦›s/n߸ª‘F^¾i)Ò.*”//ú®‚ƒƒÙ´y+]û£¥¥•꺔V^§wn¾GþÊÒ¯¿+ X³ú7rdÏ@PP0«×®¥¯ËÖ®^™fågÆæ-ÛèÚµ³t|ÿ¤¨¨(žþñ'³fL£l™2Ù3§S£z5ÈÄ=‡ ‚ ð«õpööö&öõkl3($&þü9÷îý8½l¿_¿`Z÷ŸOÎjÎä©Ñ g·ß ‹àÕ;JÙ æôåû”®?„Òõ‡PÔÊ•3WHÛX¸þE­\É[³½Ç®¢÷ØU¬Úq€MûÏcÑn¢´½¢V®lØ{Ž6ƒÈYÍÇ3ùð)XÚÀú½^ôp²AKKU‰¹rç)uœÆ£_¾3ùj÷a‡ªBrxŽ*Ý)dÞŸY¿”*6ÉûZµã4Ŭ]1¬Ôž£WrëþsjµKŽ*Ý©ÖÌ{_Ké [ôgÕŽÓ·Hž½è6r9ŸÃUS«¼zç¢D;âÒš™|L¹kôľët^½ó—' qÏÙÌYuHú»Ëðe˜˜õ‘>÷Í{Ï0ªÚƒøxUϹ+öcbÖ‡\Õq¼ž¾ãW³jÇi~ÿó-Íú¸KÇœç£çncÝl©±™ n¾ä²g7¤KçNDEEãûá$Ý< 2 sKê;4d˶íRúˆˆFY=Klê;°wß~š·rÊÔÏ‹3À¥Ú·#W®œäÌ™‡öLž8å¿­$22Ïã,[¶‚'OÑÀ±1ó¨*ÿA˜äˇR©”^iQ(/Vœí[7¥ySH>ã¼ÛI/¯86–z€:|„1cÇã>w>V¶õ©giÃÔé3¤Þ#êÞûúRß¡!»÷ìáQSêYÚ0fÜ©‡Ö{__5mÎÕk×iÜ´›ª3Ê÷q&±jõZú¸ ÀÜÒ†f-[s^­Wðë7oèã2[{G,¬íp3Nj,:tø“¦Lcã¦-XXÛ1iÊ4âââ=v< cneK×îμ{÷Žøøxœ{õÁßߟŽ]ºÒÀ±1~~Ÿ8tø]º9Kûó÷÷gȰÔµ°¢ž¥ ã'N&,LÕãü½¯/ sàÐa7£®…}\à ½?Yzçû®:wŬž%v Y³v}š74 ,^²Œú ¥|¹yëfã¦-ékšÕãÉ“§‰<ýZ|ll,sç/Äʶ>u-¬pîÕ—/R~ã&LâÀÁCŒ?‘šfõX·a®ƒ†ðþ½*ÔóàÙ³çôêë@»Žèã2¾’×$}O½ïúÐ͹UkÔæãG?)ޤïÕÆÍ[X¸`V–bZ ½{:ãÔº% .N÷¼Ÿ>smmmF!5ö¤÷{¾¿/^Ò£gêZXѤYKž¿x!Åéëë3{ætêÖ1#kÖ¬Ô«W“|ÒwòÂÅK„„„°`ž;¦¦¦46mÙŠµ•\úa”#Gªxõk¦R©dëötíÒIŠ÷ @é^£W®X†ûì™äË—O#üG4{î<œZ·dð@W ,ˆ¾¾>+T^ÓúÍ©_#CBC6bÖ¶ö˜[ÚЩkw‚‚‚qŸ·€³^ç˜í>Ž9uúLª)!.\¼DûŽ]°¶µÇ¦¾ë7n’>׸ “X·a#¦ž…5õ²wß~)^T¾%Õ±äçE½|øö™^}úQ/ùZwᢧ>åFZåIòö<<Ó®Cgê˜[ѺM{îúøHÛÈ踒1á"ºtsÆÈÈ…B‘æuI^ikk³wß©<“—·êù›Þ¹Ë¨|O¯¼L6nü$úöîEû¶m™>cÍ[9Ѳu[i´JÞ¼y9rÔCJŸ,!!·1ãé6†„„"##U=T­l¥:€®nʈ»¸¸8æ-X„•m},¬í˜2mFº£4¿V>¥•QQÑLœ< k;ì±eë6Z´nË—/Éš5+Y²d¡C§.,^ºœÐÐPý}oL™4 åË£T*©T©"E –êž_¾|¡TÉ’(•Jttt(^¬Xªžåû¤U‹hiiqÌã8NN­(Z¤::: èÊù  I:.6oXG¥ 4¶¡îàÁôjÕ€¡ƒbccžžyó䡎Ym^¾|€×¹ ”.U ;[ Íš6Á(§—¯\ýêq%›1kÍš6!gÎô;÷x?Nß>½ÈžÝ###z:÷àpÒ(—Š*бC{ UJìëÛI˜lDI3òÊêÉê3,^Âô©“¥ÆfD½@AȤ_ªÁùîÝ»TH§"¦®RL wîÜ‘ÿRZ˜I^#>\_ëK+ð ¥÷ØURüÛÌ]s˜£kGãsl®Æ{<Îyã¾ú0'7ÇÿözìÍ+¥9­C²×ïý¹të1ŽÏÇ÷Újf¯Li€ˆü«8·QõÒýèBãž³èÝÎŽÏ÷·pûðê›WÄ/ ”&½f3°kC‚ïnâòži¬ÚqŠß¶ÒØ×Ó¾üéµyžS—î‘Ë(·î?ÀëÚCê׫„R™ú'·ÇãË6Ÿàì¶IøßZYÕ’¬Ûí@…R…X6¥'ELóðêâ .ï™Î{¿ ^½óçÅ?ª6E!óþ¸N^Oô—”žk gÓ–­*TâÅŠ0tØHLLL¸xþ,›7¬cÕêµ\º¬°pÑ|}}9uƒ“žGyôø±ÆMLzƒxþüõë§o`gkC\\>>÷hÒ¸mœZÓÐÑÓ'=5baáa 6‚:æV4mÞJ£1V®UËæèëë˃ gÓ–mÔ³°Æ¦¾3fÍ!2RõðåkŽy§xñbœ;sŠCû÷pîÜ…t§ãøøÑ/_àqä Ç=Žðþý{.^¢¿aã&V,_Âþ½»á+ù°uûÜFçòÅs rÀðQ£¥‡¹så¢wOgΜôÄóèaî?xÀ‰“)¿“³^çxõú5GîgÜ7´µµiÒ¸Gàâ¹3äÍ›—ÕkÖ¡T*Y»z%;·måôIOòå3–¶“lÐÐáäÉ›ógOsæ¤'RÀï‡ܹãÍ¡ý{9wFõ9Ö®K=hZç;00ˆþ®ƒéÒ©#×._`Û–MìÞ»—]»÷ÈßÎoo<®\:Ïò¥‹)S¦Œ>Ü·—+ÏS«f ú¸ô×hX¸x)ÕªVåüÙStïÚ™ñcÇP @~NŸôdÛ–R:€’%K°fåoìß³‹µ«TÿÿZ^Lž: ×þ.\¹x.Õùºuë6¹rå¢RÅÔ7ÎŽÜõ¹G\\\šçýêµë”+W–!ÃFàШ):uáÆMUƒ¾ðÏJHH`舑/^” ^gذn ‡•'“øðñ£%JàöoªT©ÌˆQ£qhØ„¶:i\#îÜñ&~ºts¦ccz÷u‘ÎÈݼu‹àà`Ø×—ÂÂÃ#èÓϳz–´ëЙ‹—.k¼G[[5ˆ.!º?Š  `?~BËæÍåQ2úÍíØ¡êèuæ$—.x1nŒ¹rådô¨”-[†±£Gqú¤' ì5ÞP¨`Af͘ƅsgXµbK–.çÇRüºõqéÛ‡«—/0sú4¦ÏœæÔÕñ'™0~,W/gŒÛHFŒ­±_uòò$ÙÆÍ[X¾t×._À¾¾Ӧϒâ2:.ÿ€ÜçÎÇÅu Å‹çн8÷膶¶vš×%¹¸¸8Þ¼}Ë Ï£œ>áA`PFy+—ֹ˨|O¯¼øãÏ? ûŒ£Cæ/\„±±1GîgάøúªÊŠ&qãFêé ¦ÏœExx8sfÍ@KK‹¥ËVðüåK<ŽÂóèa^½z¥Q?ùmÕjîúøpôðANŸðäÙ³çü¶RUÇ–ËLù$χ+WòúõkŽ;ÌñcGxïë˳gªz«R©¤oŸ^Ú¿“|ÆôèÙ‡…‹–¬Ù™äŸÌë7o¨\¹}z÷díºõìܵ›»vsÌÓýûI飢¢8yê4­Zª~ׯ^½¢DqÕµ gΜäΕ‹çIÇkeiAÁ‚¥x¹;w¼‰‹§v-Í©ƒHêíë}×Gj}ùò%%K–ÐHS¦ti©u’É‹¤9ËßûúÒ˹ étT‰ŽŽæÃ‡û)]º>{žêa½Ÿß'fÎvǼ^ª‘$]Ë}|îaic‡¹¥ åí[Õ–OŸ>áëûwïÞáÔ¶=v ™>s6_¾¨Ö¾A„Œ¤ný~z¼üÀÍ{ϘãÖ=]²eÕcî˜.8yCêåü%&–ùc»Q¦x4ç/Þíqç66”)^€MÍ)_2ýŠÀÄANdÕ×E_/ -Ôâñó”Þ {_£f¥+¤ªè9{›²%Léݾ>:ÚJ åÏMn#CŸ¹EÉ"&tii‰––‚"¦yqëÛ‚û4ùFöi†¶RI‰Âù¨Y©8m×¥x¡|hi)hÑ &¾Ji@ݯ%Yt´É™Ã€ñ®­Ù"õ€ÜæçéÖÚŠò% ¢P(Ö³ 7ï=ã½_ê=Ë*\¾ý„ظxÎ_DñÂùh^¿&GϪlx]{ˆ£UùÛ8pò][YQ¡T!”J-ºµ²¦TQy2É[ß@bbãxþÆ›gsßs>÷¿búò}ò¤-YJµšfÔ1·ÂÛû.›Ö¯#K–,¼}ûŸ{÷ä:¥RIÁ‚©ogËé3g8}ö,½z:“#{vtuuÐß%Ue6-¡ŸU½Fr¥î¡¥¥EîܹÊàÆeÿž]÷8Ê•‹ç˜:e«×¬ãè±Ô=†¾fÒ„ñx=Ä•KçÙ¼q?föœÔYÒbb’¶mœP*•S£Fõ Û{÷tFGG‡Ù³Ó¯oNVå!Isí1œbE‹¢¯¯÷Õ|'©GJ©’%Q(84°§téR\¼x €lÙ²aV»J¥’ìÙ ©Z¥ oÕz`) &ŽK®\9¥á“V–èéé¡T*±°0çÝ{_)}F^½~ÍÇ¿3lè`tuuÉš5+#†åÌY/ž·ýûõA__===êÛÙf˜Wê¼Î£p¡B4mÒ--- äÏO/ç<¤9-€±±1áá8t˜ˆˆŠ.œfÏöôd”§_‹?|ä(ýúô&wî\hiiÑߥ/ÑÑ_¸~ã¦ôþêÕªÒ®­Ù²eû[Ócd6¯ÛµmƒYíZ¤êiôùs¹s¥þÝ‘44=11‘ÏŸ?Ë£ éÁÈ…‹—èÚŸ“žGqîÑAC†I½À„Λ·oyþüC"K–,äËgL§Öòd4ʤÉSqh`O±¢ª‰þþþ\»~ƒîݺpê„Ó§LfúŒYúù±uÓZ·lñ·®•=ºwE©T’5kVzöè®QÞÊ¥uî¾V¾§W^úøÜǬvmîÞõ¡y³¦ÔË=kÖ¬FïO¥–K–-çÅËW,Z0OzsêÌúöê‰QŽèêêÒß%¥Á”¤Þå}zõ$GöìèëëÑ¡}[NŸMû83S>Éóáø‰“ôíÓCCCtttèG·ù4 IDAT߯¯Æ6tuuéоÛ·nâÏgÏhÔ´EªžÄß[||-[¨·#£¢Ru‚ÐÓÓKµp}ZÇõñ£‹–,Ã}ÖÌt§#©Á@_í÷˜U_Ÿøøx¢£UÁ÷ï? Vsì8òüÅ F&uèkÙ¢žGqñÜY<&Ož<ôëïJBB?úËÛ·ïØµc÷ïåéÓ?Xµf­|3‚ ‚Jú%ÙO¨Zµj<’ÍK•–ß³d¡zõêòà_ƧÀP²gÓ'{¶”ÊN±‚Æ$$$œÒ`Q®¤ª––Ÿ‚15É¥–ߨHão¹‚&¹¥ÿëh+‰KéÕ´~—ÆÄýC0ͧ¹}’>»úvŠ2Æ/@³±Ã8·jø/€nŒs§48éhkkì —‘jh8IŸÓ?èsª4rï?±n·&f}01ëCÍc0ȪKPH8 g¢(ÑE‰v,ÞèAù’ə݀>røÌ-šÚU§‰muŽzÝ&&6Ž+wžâhY…ëwÿ”ÞgTUµŽÐg Ðìq ÏuZZ ôu³0cx©}@GN\HÊš–aCs÷ö &ŒÃ'òæUíóÓ'ÕÂM[´Äʶ>V¶õ9{ÖKª‡„„’?JxÞRƒaófMÑÒRðìÙ3i$-¤uóÖíTÝFFFèèè §§GÇí)W®,çÓi°ü‘%YHá]¾ò›kÖ¤1S'Ob˶í86nʾýäIÒåyü½ûºH×ò  `k³‰‰æhmmoÒà'Pglœ¿¤rIN^ž$3Q+#µeåczÇe``Àáƒû(P ­Ú´cÑ⥼Wk`Ϭìj×0ã¼yS•·êÒ:w•ï•—áááRÃeù¥ßËéÓgˆŠŽ"11‘ã'NR·niÛOŸþÁîÝ{ɪ¯/ÍNÒwN}í yýÊß?€ñ'Ku„Ùîó¤ÆD¹Ì”Oò|ð÷ÀØ8¯ô·‘‘QªúÝ›7o™¿pmÛw¢LéÒ9¸/ÍïÂ÷ÏH·1äÉ“×þª)¨FºAWWÓ'<8}Ò“ÇOž0aâd)~ÿƒÒôY³fM5º-*2*U™Ÿ–ˆˆΜõ¢U‹Ôk1lÙ¶ÓgϲtñB©8›AªÆåèèh:bZÇ•Àèqã1l&&OE”üŒRëÁE–,Y¤3+W®Ä­ëW¸vù"½œ{е{Oþ”]ßIú®äÍ›…BAŽ9=j$oß½ãÕë× P ««Ë ¤Ú·UÕ9Aá+~©çêÕ«£[¬gÒxúœì¤BA¶’%©Zµª<ê—Q¬1¡a‘…¤ÌÓõÚ×¥R‹BùS2“çRNK¾ÞX+½Âl¥R™ÂœØ8žÄç{H|¾‡¡ÎMh`¡šVã˜×Z;šQ¯zÞ}b÷±«ÊŸ›"¦y©S­”ô¾Õ|†ùsòîƒæ®z/jš[¢H>¢¾ÄHóPD‰EO7å&&#mÛ8‘ÀŽ]ªiòäUÝàœ>áÉÅsg¹xî,W/_`žûlrçέ±u@``†®É (R¸0gϦž‚âê5UƒGr¯­´zŒÈÅ'Ä£§—º7þ_Ÿ€ž^ÚÓoÈe´¨RZÔóéÝ»÷jܘ©÷VùZ¾øùiþFÞ¾{GΜ9‰‰‰¡O¿þXZ˜³cÛvmßJÝ:)¿/Òøìã&L"6.ŽÍÖ±sûVzöP=ð ù_дaaa½\}}? T*5nŠ2ê£N¾?Ó‚¦¼—õ¶þðáƒFo%u%JÇ}öLŽÚÏ]Ö®ÛIûOHùn†~þœj¾Ëôò43ñ¦¦x÷þ½Fü{__ ¨}Nùuð+Y›JfóZ‘A^—-[–ÀÀ@‹–,“æ–Oëw–ìÞ½ûLž:‘DZsûVvmߪÑJ×”oEÞ¸üÑÏ/ÝùbååI²ôòäkÇeZ £F ãÀÞÝäÏoB×A 8˜øøø óK¿ÚƒB??¿Tå­º´>gzÇÄWÊË|ùŒyûö-£GäÀÁCtèÜ•ªU«PßÎ–Ž»’/Ÿ1Íšªê†$•÷Ç=òîÝ{¹¬sçÎͧO)Çñùs˜Fý*wîÜ,œ?Wª#\¹xŽsgNJñê2S>Éó!£ýGEEÓ×Å•!ÃFP´HöïÝÅÐ!ƒR5ÔO111 6CCC¦O,Õ1ÂÂÂð:wžA®ýÑÖÖ&OîÜŒ5’cžÇ‰çÕë×<{þœj‹N—*YR£~HHAÁÁN£‘Ìóø ªT©œªxíºõxzgÃÚÕ×Ç%KHS“$ûã?)RXµ`zÇõð÷GܹãÍŒY³¥‡ >dÚŒYŒWkLÈ’% … ÒØú>ÔeÏnHûú-Z„;ÞwåÑ©$&&˜˜ˆ¾ž>E âË—/„GDHñ1±±dÑÉÜ=‡ ‚ðß–~më'µïìY¦)Âé4*¬' f)Â>/Õü¸¿*Ó|¹p´ªÂ¤Å»ùKDä¦-ÝGÇfædÑI»2.צQ¶¼(MMqÌë÷Ÿü½!œözÑ¡i=ôõR*'MíªóìõG¶¾DBB"!a¼zçOS»| eûaUÔ·Y¾õ=œlÔ¶ø×-Xw”/1±|bæohÓ(¥çIzz8Ù°zçi®ÝýƒÄÄD¢¢c¸áó§<™ÄÁ² {=¯‘EG›ò% ¢TjÑȦ*³WÄÑ2íé4Z;Öfó |øÈë7ªkQN## ,(-U¨P!¼½ïJ ?<˜2|²ôò43ñ­[µdæÍ“À–­ÛÈ–Í€êÕÒ€iddD@@Ai.8)÷-òÚÄ$:¶gÄH7®^»NTT4¡¡¡lÙ¶í;w2l¨j¡Ø´Î»SëV:|˜;w¼‰gßþÄÄÄdxŒÂ÷Q° )eÊ”fåª5ÄÇÇóáÃG>,ÅGEEã:h(¡¡¡,Y8--­¤jÕC–V-Zpâä).^ºLbÒ£W®^ümÛ´féò¼}«Z°ŽÚC:×¥´¬Y·/_¾ƺ 5ÿ_•—–\¾z€À@Š/Ɔukص}+Íš6¡O¯žìÚ±!ƒj<€522"Göì,˜ïΚµë¥ÅØÛ±nÃF>#66–ÕkUóD'kÕ²9K—¯z€‡††òÇŸªz¨Ÿß'ÆŒ› -ûwÊ'Çö¬ß°‰ððpâããY·^õð6™snÜ¿‡6N­5¦Rù'¨®oCÈ“'cÜFMdd$ÑÑÑ7Oé¼$&&râä)Š+ŠR©äàÁÃ4jè¨ñ™[¶h·xóæ-qqq,[±’ºuÌÈ•ÎôSêö>ž3g½øã?©\±"ÈêÑçÎ_àÕë×$$$Ää©Ó©Y£ùó›#GêÛÙ2k¶;øûû³cç.ػߛ ‚ðëÊ\ëãOD__Ÿ#>>´©_ŸI/^P)in¾‡9sbX¢Ǽ¼4†³ýª¶-Ì )(b9¥R‹Æ6Õ™?¶«ãVch ÏÊé½iíhÆñ ãzzz¬^³÷y ˆŠR _í6Rj<hÞ¬g½ÎaeSŸF Ðß…;w1qÒbbc(R¸0“&ާv­Zð•}ÊݾãÍ‚E‹‰ˆˆ$WΜ´lÙ—¾}äÉþo:::”(^‚¦Í[úù3æõêâ6r¸<™†ŒòÀѱó,äñã'f7dîœYRo·‘Ãq0ˆ\¹rR ~Z·L:š–±cܘ1k6{÷ï'Göì4jèˆç‰”›èaC1eÚ §NgëfÍÅíæÎ™ÉÌÙîØ;6BKK‰•¥…´Àã_%?ß'ŒcõÊÌšãÎì9s144¤}Û6i68‡„„0zÜxÉf`@™2¥5r½zö`ÜøI´h݆¬úY±°¨§ÑxÆWòôkñ={tçKôÚvèDtôÊ•+ËÊË2,SÊ—+‡£ƒÍZ¶&¿I>iÁÈŒ|‹¼ã6 Ó˜3woÞ¼%66–Ò¥J±~ÍjªT©,¥“Ÿ÷2¥KK “½{ÿžÅ‹³bÙÒ¼±APõŒ]0Ï)Sg`ne‹I¾|tïÖ•C‡Us›_º|™+WUÚ-¬Snþ‹-ʱ#)\¸K/`Ñ’eŒ=–ü&&Ìš1âIÃê[4oFHH}\úJÙ2eY¾DÕx’lÇ®ÝT«Z%ÕX --vìÜ%õº+S¦4«W.טòc×î=ìܽÕÔ8×nÜÀ©u+ºué,¥ùQØÚX³bÙbÖ¬ÛÀºõùòå yóäÁmÔ .$OžÊÓ§Oq4˜˜˜ ³bme‰uRã{ï^ÎL˜8…C‡0nŒÕÔm¬­¸xéMš·"OîÜT«VK sµ-?ÇaÁÂÅuŠFš´<þ‚·oÞRß.å>äÓ§OÒ"’6v ÔRƒ÷­ë°|é"fÌœÍÈÑc(hZ¥‹¢««ËQÏ +OnÍ)õ”Jm²e3 {öÔÓ`õîåŒ@Ž›‘˜˜€£ƒÝ»vàÍ›7L›>SÉP¼X1ÜgϤ|ùr «Gûùù1gî|È’Ek+/œ'ígÊ䉸ϟ´ŸDZ¶hN×ð:.‚ üx’»«wVÈ^Zj/¥ÚKÈèºI/½[w|®–,‘z®´´Üñö¦ŽYm´¿2l…ʪU¿ÿõa@êîÝ»Ç=3Ue©òõë¿ì4zzz$>ß#þæê8g`׆tiùóô`zõΟbÖ®Äý± ¥òçéÐoßu:mÕÁ¥“fE63%Ú¥šFà[«\­&‡ì•.2ëÉ“§ôèÕ‡áC‡Ð®­“<ú§õÞׇ†M¸÷vªùÿ®q&‘?¿ ƒ\È£„¿ékyúµøŸÙC‡™7kV­¤RÅÌ/h&‚ ¤vÿÁCvìÜÅã'Oˆ‰EOOJ•*2lÈ ŒŒ2^óäGM­:õ8{êDºæ‚ ‚ |{>÷îI‹+áܼu›êÕTí©_óìùKjÕ¨Zˆ¾1@,§öJP{%Ê^ɤÿÿr=œÕU©R…äSöåmlþ^>ú‡ðâ­5+•@G[ɡӷðyô ËZeåI ™í +|_e˪z ôw„––"Õ"T‚¦ô† ß×òôkñ?«Ö-[àÿÉŸ¾.ýY»z%+ˆFgA„¿«r¥ŠT®4CüSyòä)ºzº)\˜„„~[µŠ"… ‹ÆfAA¾‰_ºÁYøû¢¢c9k+Ÿ¿'>>‚ùs±má Š˜j.Þ'•YíZxßR 'áŸÓ¯ooúõí-Aþƒü>}bþÂEøù}B¡PP¦Li©M¥ ‚ ‚ðÿø¥§ÔÐMš‹ìËwžbàß$æÖä¾÷”‚ ‚ ‚ ‚ ÂÿGL©!ü°D㢠‚ ‚ ‚ ‚ ?‚¢ÁYWWW”¦Ì¦“DE©¥…BWý¿ú^AAAAAá/Ñ’üJ₃ù¤­Mˆ±˜wXAAAAá{û¥œ#ž=#P©$ªD y” ‚ ‚ ‚ ‚ ‚ðýÒ ÎŸ¼ï¤ÔFËÒR%‚ ‚ ‚ ‚ ‚ |c?ÄÎrS§NÕø;80 ÍðÉ“'kü-÷ôèQ¢”J²;:Ê£AAAAA„oì‡ëá|¤ž…5QQÑò¨ïJ½œW¯'¤eÊ´¬\µFü¯QÏëwïßS²LyâããåÉà_Ìßôì?pN]»ËƒÓ%êÛ‚ ‚ ü*~¸gý¬YÉ•;o†/}}ùÛ$q11?‘p-%FŽ…Bžä?aÆÌÙXXÛ¦[)ÿ·„L—º{÷îS¦|%ŽyxÊ£ˆ‰‰aì¸ Ô¬]—ZuÌ™í>„„Þ½{ǨÑc©]ׂêµÌhÞʉ+W¯É7Àë×oR]7fÌœ-Åé–*þóç0m‚ BZ~ÈçÿG\l,Fºñçƒä·²¤Œ““<É—/_8êáAÞýCüSÑÒú9bçÍKÝ:fòàTìlmȞ݀ç/^°jõÓ³IῪ¿ë Ê•-õ+Ù·{'çÎ_`íú Rü‚…‹Ù³w³fLãž÷mn߸ŠR©ÔØFF<_±r›·lÅÆÆZ•)¬úm9O=àé£ïß³‹,Y²H÷8²r@K‘þ-@Å (Q¼¸<ø» bÞü…ÄÆÆÏ´³âÓÊëô¾»ß#åüh×±3(lÚ¸Ž“ÇqæÔq6¬]ƒï‡8÷êóÍüü[ÂÂÂX¼d¡Ÿ?Ë£þQQQ>÷ˆˆˆ ^½º\º|™5k׳mËFn^»Œ±q^ÆŽŸ(¥õðzŒ¸¸8f»Ï£Ž¹%µëZ0aÒŠÖY¯s84lB•êµèÖ£'[¶ngȰÛM––’ÉS¦QÇÜ k[~[¹šÄÄD,ZŒË€iç/\Lßþ®a@ºŸïãG?jÖ®ËÕk׈¥qÓlÙªêá6f+~[E^}¨Y».Ž›âåuN¶uùôik[{®\½ÆŸ>£¯ËÞ½{µ­}ºS‡ìÙ»{‡FT­Q›ÆM[p欗÷µÏWÇÜ2ÕËÖ^̳.‚ Î×÷Ïž=gð@Wttt(T¨cFâÀC³eÛ6V­\NÕªUÐÒÒBGGGcÏž=ǹW_*W«I•êµpîÕWêàççG›ö©Z£6Ní:hôÄuéÛ‡Û·R½ZU)LÝ‹—/éѳ7Õjšac×€uë7jÄû`jjŠR©”^?ªé³fÓ®­Ç¡P¡BèëëS©bE*V¨Ieäí;ÞtìÒr«ðáÃGò5$4”ƒ‡R×ÜŠšµëÒ¶C'ƒÒ¬óȧ„8wþ­œÚQ×ÜŠz–6¬Y·^ú\ncƱzí:úôëOZu°´±c—¬N—,9µ”ªª½<ß“ËùdŸÃ>Ó­GOjšÕS•ÓçÎKqêSn¤W³¶µçè1Z¶nKµšf4muÒÍ IDATÞŠ;ÞÞÒ62:®dÌ™;ö»3gN ]ºõàÓ§O´ißk[{>~ôKU—ÑÖÖf×î½XÛÚS«Ž9#ÝÆH=¢åù›Þ¹1Ò™³æPÇÜ’šfõ˜8yŠôÛˆ‹‹cĨÑÒö;têÂÛ·o¥ý»Ç—~têÐI“§Ò°I37mÁä©Ó˜8~ÆÆÆ<¤jèW—À°£2l _­o§WOLKll,³æÌ¥Ž¹%Õk™Ñ¥›3ÏŸ§LÍ‘V>DEE3vüDj×µÀʶ>7m¦QÓæ<ñ‚¬Y³¢««Kë6혿p1!!!ûûÞ ˜1m +T@©TR¥JeŠ)"M7òåËJ—*…R©DGG‡’%J¤êY¾gß~œZµBKK‹#G=hÛÖ‰bE‹¢££Ã°!ƒñ:wžÐPi;¶n¦J¥ôGbìÛw€6mT™FŠ-zzzçÍK½ºuxñâ%gΞ£l™2Ø×·C¡PвEsŒrqñÒå¯W²)ÓfвEsråÊ¥®î¨‡ý]ú’=»!9sæ¤oŸÞ8p€J+Ò¥s' U ÃŽ ˆŒŒäsXêžÉç3Ö¸fhi¥4b’/_ªkŠ ‚ |ÍOÝà¼tù ihyíº¸õëÏã(V½:Ã÷ïÅ ƒBúW·s×Ú·kC“Ƹ}Ç›>Jq -áÙ‹œ>éÉ™“Çyùò%‘‘‘™ŽWwîüæ-XÄ\÷YÜ¿{›5+WP¸P!üèÕÇ…ömÛpÏû‡öï£^Ý:Œ;šòåË1aÜ.œ;CCGéÝ·?ݺtÆûÖuvïÜÎŽ]»Ø¾c§´ŸÓgÎòòÕ+Ž;¤ iu›·`Õ«UãÚå 4nèÈÒå+ð¾{—“Ç=¸àu†?ÿ|ÆÒe+ éF~ðÐá 6Ÿ;7=j$K—-—o2]7nÞÄܼׯ\bç¶-ìØµ Ïã'èо/]Æ?@µÐebb"G£MëÔÑÓû|&&ù˜6u2cÇM ""‚%K—“/_>ºvé$½wÓ–­ŒãÆ­W6d0ƒ†罯¯ÆöåÒ;'êJ•*Éä‰05-À…sgؽSÕSBÝÅK—™·`‹ÍÇçÎMÆŽÅÐá#yü$¥¡"£ÏwýÊ¥T¯sgNªíAAHHˆGKKKãÆ?ož<¼~ó€»>÷(Z´(»v量CC6aÉÒåRC[LL =zõ¦páBx>ɵËÛeÊ”Á÷˜7}ûôBWW—­[6p`ïΜÉp¬Iíˆ |÷ÿ3§8ïïGħO,X´X½˜DSÝ=vœ2eJsùÂ9Ž=ÌÙ³ø9 ©ç~ófM9uâ×._ÀÌÌŒ5k×ðìùs¾|ùL“ÆîÌ[° N÷añÂù¥´sš7kÊÕ«ÃL>ƒ¯_¿²xá|´µµ¿ÛÞά¨É²å+¹}çǼpóúUêÔ¶¡gŸ¾*ÔêÇaùÊ•¼}û–³§OpöôI>ñâÅKH½a1h`|}¼)\È‚.Ýz²`áb"##•>õŸóéS$o©Q£:ôcÝú ìܵ›»vã}Ô‡aCKåe2¾'NÒ¶MÊÿõëׯ)W¶¬”_°`ALMLxñüÎNŽ+VLÊWwãÆM’ärìlë¨g¡P(¸yë66µjBÚg•Kÿ,€Š*h '¨¾_¤úDÿ¾}H–güþˆ'8ø£ÊçT¨Pžç/^JvÒ„„„2}ælë×ÃÜÌL%ÔïêÛ·ï`[·6uì0hïÞ¥ß`‰ùÃañ¶±¥Qã¦"ö¿ ‚mÿége  ZF.ZÈôý{)P¸°z‘ÿÏ_¼àǸ5l€‘‘M³oÿ)ÿäéÓ êßüùò¡¯¯ÏÐ!é ´ìä+;êsŒömÛPÓÚ]]]Ê•+‹¶¶6gÏúS¦t)Ú·k‹®®.… "þüê‹pæìYJ/NËÍÑÖÖÆ²Hú÷íÃ)wéI:9}êo˜˜ÄÀ@s\¾Z5­éÔ±=¹sçFOOC‡0°?òåÍ‹¡¡;uà”_Êásç/P®lY»7BKK +«Ê4nœýQ¶¥J–¤‘[J|ÃbÅŠÑÚ³'OƲHêÚÛqøˆ77oÞB«‹³ÚR¦æe¶}MS»¶ ƒ† ãÀ¡CÌŸ7[eúh#·†”/W---»7¢bÅ œ;w^iíýHdåðoZ{¶’F~Õ¯Wg'GŽx§æù3Û'‚ ¤+R¤E fëöÈår‚‚ƒ™¿h1 …‚äädÂÂÂxýú ÅŠZâwÒ—ßwíàü… ìØµ€›·nó•ÉÇcjj‚‘‘Öj£•[´hF¥JÑÑÑ¡_ßÞDDDðøÉS•2ê¤ÞxLNV0rÄptuu)R¤0íÛ¶‘fÍøûäÒù®]¾@Û6ž <”—/_©¬''H‹ãjiYD=KE§Ž°·³ÅØØ8C8‡%Kp÷Þ=üΡP(¨Z¥ŠJ~VÊ”)MÙ²e¨T©"ææfIù \]¤Î¨ºöväÏŸÀw)3Éþ ·† )]ª¤^Ç­*W&à\ú(ge™µÁºuí‚……ZZZ4õhÂËWéõ›Ù~ÅÆÆÒÀ­1CBØ»{'íÚ´Î02?;úôŽFFFôëÓ›“§Òov¨ÓTw… ¢c‡öèèè`aaM-•ÁÎNŽ ££ƒ£c}ÞH©“Û·ïbŸú0ò[·nãÙª%¤†006Ny¾Œúù¡£­Íâ¥Ëxõú «V,“næ|¯½U;QÝá#Þ 8SS´µµ6t0ññ Òl94‡ã¾'4pyòäAOO¡ƒ©¬@__Ÿ.;±ïnž¿xAƒFM2Œ$þ»ÉårÆŒOŸÞ=¥s¶Š•NNõY»~#sæ-À£IcŠZ¦‡Ãð=q’ªU¬(Z´(q2FFFR>€¡‘!±™ ¨Q·ÿà!Ú¶ñÌP·kÖ®ÇÈȈ6©ƒKâd2 UÊf¼£i¿>~ aáâ¥,^rS"32™ #¥Ï124D.—Ÿ©!EªYÛPÏÉ…—¯^1~Ü©¬²6­[qæ”/×._äÌ阙™Ñ»oúl˜£‡rÖï7¯_aö¬¬Y»^¥Í/‚ ™IiñüGý2tÓ¦MSOþŸ÷ûž}DFEa[·>¤ŽrÊ“'C‡ BGG‡ððŠ(ý°273S™õ½|eááÔ¨ž~W^JˆÀÂ"ã¨M>}ŠÌ0‚¥hÑ¢D|J% P¢Dq©ž™2eR~ؤ gÜ„Ièê¦l»\žL®\¹ˆŒŠ¤HÕ›… Y£aª™&yóåUyoanεkйcæÎ_Hÿ¾}ðö9F«–-4n{VÛGêtæÆM›Ó»WÏ #òç˧ò¾p¡B„†…©¤©û‘:ÉʧOŸ¨VMuÊaÑ¢–„‡§×WVÛgçr^*344£œA”hkk³võJfΙˆ ›°°°HéÔ{ùmmm ¨X±Ú·ÀĤ :vàÄÉSôìÞðˆ YXdÙ™W¨P!éo]]]L $<<\¥Œ&aaaDEEQ·~z|ç¤$9V•+Iï (€žž]»tæ°÷QüÏ“:!sŠ´íŒˆø”åMزYÄ4nÙ¼ùóåcýÆMÌœ=‡!ƒJõò=ÇŽû²ÿÀÁ”ZZ|úI²"}T£rèêêý”¿|yUÛ1ææf„„†ª¤¥É¬ VX©M¡«««·8³ý266æÄñ£ìع›¦-ZѸQ#:uê ÒY˜ÊÛoanNddd¦ÇESÝ©·‡ôtu¥åÃÂÃY½z-?…‚¨èh©¾~ý*u,[ZáùóçTªXS§N#‹—¡P(8î{‡ºÒºŸbfff –²nøˆQXXXpÞߨèh&MžÂ¸ñY¼hû¤S§ŽRyccã ¾²8Y†öª&±±±œ:íÇÉã>êYxmÛÎÉÓ§Ù±ÍKê Îml,…êH#“É(^<}µ¦ýJNNfÔØqŒ3ŠÂ…UÿïÕ¥ƒq2¹sç–þΕ+—ôÀÌ5ªsÿÎM¾|‰áêµktèÔ•½¿ï¤|¹r*ëÒÒÒÂÜ<å<ÈŸ??“&Œ§zMÞ¼}K™Ò¥U¾kÛÔ¢C»¶œ;O«–-”Ö"‚ ýs-á!“Åã}ô(¿ïÜNa¥QÞ»uçÜù 4puÁÔÔ”ÐÐ0*¦>­üË—• ßËWfbRP%®”^ÐDc:F~-V”'U;ƒƒƒU~|dõp›4êò355eÑ‚yÂFÚ¨÷Q{šÉ-MÂÔ:w?†„R°`ÊV''G¦Î˜Éí;w8yê4»wj~Ê}VÛ§P(˜1k6íÛµåÐá#´kÓZeÚ\HHzˆ€wïßccSK%M]Vu¢LÃà E‹åÇ*iAAÁ”.2:ƒïlßµËUòAÍÊ”)ÍÖÍ¥÷ -Á¡nJGV±bEùô)…B!]W¿%&JRùóå#,<¹\ž¡)òu/))‰O‘‘˜i˜r­ÎÒÒ’Ò¥JqÜ'%žtvhkkc¬6Â0'01)H™2¥9zì#®ž-ÑÊb´!€“c}œëóàáCz÷@‰ű³µÍÐæQvçÎ]&NžÂÞÝ;©T©"öŽ*eÔÛ6?‹úMêÐPjÖ´VIK“Y,³cò½ý*jiÉ„qcøõ—¡:|„¾ýR¬hQÖ­Y•åñR&…@ !Ož<™v„jÚÎÌö‰ÔÖE f÷Žmèëëóûž}ø?©ƒ®¤ÆÂž4a<ÓfÌdûÎ]tëÒ™ÂE Ó¦]êªtÆ™™›±g÷NÚwè̆M›Я/d£½U;Q]Ñ¢–¼ÿðA:ÞAÁÁX*µ¥ÕCÚçW(_Ô>_&‹gðÐ_ £{·.øxÊt†áßåÛ·o >f͘&uèÆÄÄpæ¬?7®]FWW3SS&MOC÷&,˜?—wïßóüÅ ÜSg"”/WŽ/SÂ…:³áSdd–a4Òø;޵u ÀëÖoà´ßvlÝ¢Òq]®|9vïÞ£RöÙ³ç¸7rƒ,öëÁÃGܸq“ׯ_3mÆL¢£?ó|ê .^ºÌü¹³¥õåÊ•‹%ŠóâÅKiPʳgÏ)Y"ãCóæÍƒ{#76lÚÌ›·2t8«S(’Q(¨ŽÒN#O–KÚ‚ ‚•Ì[[ÂÒqß”+[kë*d!½Úxzòûž½¸7jÈú›øò%†ÄÄDV¯]§²Žïå+óhÒoŸc<~ü…BÁ‡øò%WgÞ¾ÃÛçÉÉÉDGGó!uŠhÁxôø ¤ÞÍwuvâÓ§OxûƒÔédÛwî’¦¦ýYmZ·béòÒçFGGóìyÊ“âëóüÅKNž:B¡àm` þé!BBB=v¼Jìke?†pààaär9oÞ¾åСÃRlFÚ·kËœy (^¬h¦ »¬¶o‹×Vbb¾2súTF ÆÈÑc¤¸š¤†I‹™|Ü÷/^¼¤†°ʲªe  <<œˆˆOcw¶kÓŸc¾Òç߸y‹‹—.Ó¢y3©ÌŸÙ>AAURRr¹™,ž»v³wÿ† I™önog‹ŽŽ¶·9(8˜]»~§AWH‰¦««Ëü…‹ùüå ñññ*u8êsœgÏŸ#—ËÙ´Å SSS•QÊ™©ko‡,^ƺõøúõ+ …‚wïR:yHíÈ>íw†¨¨(¢££Ù±sÏŸ¿ÀÙ9}DtN2vô(6nÚº  C&‹çm` )ñ²¿çÉÓgRhŽ’%J?_>¾~ me¡aaäÍ›Gº¡|þÂEé·³þ<|ô…BÀ9=zLõbJv÷ËÐÐ.;qâØQºvIyNE®\¹066æñãÇIH€µë7’@LL ë7n¢qjgÞÏF++ôõõ‘Éâ9vÜWÊsrtä¥˄GDP¦Livlóâà¾=´jÙ‚ýûqèÀ>FøU%BÈ—7/+–/aÍÚõÒÿá÷ÚÛYµÕÛ©íÚ¶aãæ-DFF’œœŒ×ÖmäÎm,ÅÖ¤‰{#6lÜÌׯ_‘Ëå¬[¿A%¿oŸ^÷9B‡öíþñÎf™,žþcffÆä‰ã‰'..ŽøøxŒ173“êE¡Pà{â$¥K—BGG‡Ѭ©‡Ê6·ölŇ |GRRËV¬Â¡®=&&ßÞÏþƒ‡hצµJÚ’eËñ;s–ukW“+W.âââ¤Ô ]]xýæ þþ( Žú#44g§,÷˪r%®\:÷aéeU¹cGbÒ„ñ*ŸÐÆÓ“õ6Ctt4›¶xѲes®^»ÎÛÀ@är9r¹œÓ~gxúô5ªU`ûŽ]lK=Ö?€7oß’œœLDÄ'&NžBÚµ)R¤0áø9Kll,III\¸x‰}ûˆÑÍ‚ B¶äÈçø¸8¢>Edù’ɲsëÍï{÷Ò¦u+õdÚ´öäÒå+3jįµ´ÄÕÍW7wŠZ¡TÉ’RÙïå+soäÆÁò¥É“'OháÙÛºõðlÓg'G\R;×ÕÛ<Ê\]œ©çP·ÆMiß± W¯]ÃÉ1cØ©¿ÃØÑ£˜¿`ÕkÖföÜy,Y´@eÊÿ_ñ£û¥¥¥…“c}i$þ˜Q#˜ËoVAAAAá¿æÿkH 1ÂYAAAAAø)rD ç„„õ$²[NAAAAAøç‰΂ ‚ ‚ ‚ ‚ ÂO!:œAAAAA„ŸBt8 ‚ ‚ ‚ ‚ ‚ ?EŽïp¾}û6_>Góås4·oßVÏAAAAArˆÛáGݺuñôlMB¼Œ„xž­[S¯^}d2™zqḹ{põÚuõäÿ·úôÀÞ}Ô“º à`¬ªY#—˘5g6nV/ö¯Z¾rõ©çäÊû÷Ô³…,äÄúAøYÒ®a™= ùˆ÷Q:v馞ü?ëä©Óô8D=ù»BBBqvuC&‹WÏú[µi×[·RnLœ<…«V«‘ä´ëò±Vok©û·ŽofŽx¥Gï¾êÉ™ªfmÃë7oÔ“AAþstÕr‚¸¸8êÔ±%.þ¹ó w¾ô¼àÐ0j×®ÃÍ›7000P^LPòðÑ#Ö­ßÈíÛwˆOHÀœNÚÓ½[Wõ¢ÿ˜CG¼iݪ¥zòÿ[ž­Z`hh¨žü¯yõê5Û¶ïääñ£äË—}}}õ"BrZ} ‚ð¿áò•+¬ß¸™gÏž“””Ćuk¨UÓšoß¾±uÛ>Bhh(… Y0tð š5õ`ðÐ_8á¢úêè×§7¿¦žü· ¦¥gÚ¶nÍøqcÔ³sŒm7ÕªU“ ¨'gððÑ#ôôô¨P¾<¦¦&Œ7Cß׆ ÃÕÍ]=€R%Krìèa† B¹råÔ³5ú·¯w§ýÎP×ގܹsÃkþ¦ã«‰L&cç®Ýœ9@\\r¹ãÜÆ4mÒ˜®]:£«›#býg$''³wß~öìÛOPP0ùóç£wÏtîÔRo,Ìž;§OŸ¡¥¥…•Ue&Oœ€‰IA•õ´ðlÃø1£©[מí;vâµm2™ ›Z5™5cùóç—ʾyû–‘£ÆR©REæÌ𡲀ðˆš6oÅÙÓ'¸ÿàô½¬«£ƒ»»ÆEOO€+W¯1á"‚ƒ?RºT)~›<*VVßÝ/e<¤K÷žÌ›3 &Õ³ùöí3gÍÁ?àhiѪe F޶¶6AAA¬Z³Ž‹—.#—'aiiɨ¿bog«¾nݺÍÚõxðð:::T­bŔɱ´´”Ê|ïØ‚ ‚&9r„sÆ ‘%|ÃÐÈH= CC#ââ¿áææ¦ž%¤ºuë6=zõ¥|ùrìÛ³‹ËX8.µjÕT/úyýæ 7åœÑ2ÿ«Ê•)]ª”zò¿æýû÷X)‚¹¹¹èlþrZ} ‚ðÿß…‹—7a2Û·ãBÀn^¿BêÕÐÖÖ&N&cÑ‚y\½tqcF3é·©üÀª˸ç¦ôºwû%ЧNÚjŸò÷š9keJ—QOÎQþL»ÉÌÔÛlK¯­Ûyñâ¥ô^WW—ÆîTÊüUæR=ïÙµƒ\¹rIï½§Ìðrvr$oÞ<Ò2ÚZ™ÿø§¯wQQQ,]¶‚ÄÄDär9sæ- 66NÊ×t¬µ´´TÞ§ù;ޝºˆOŸèÚ£hi±aý|¼á{Ì›õkVó1$„þg:û¿"&&†U«×òùËõ¬„L&ãÙóÌ™5ƒëW.²tÑB/]΃˜¿p 䤯Ç}Ž §§Ç’eËÎ IDATUÖqÿþbcc±³³åò•+lÞ²¯Í¸xî,ff¦ü6uºTöÄÉSôí?"–ETÖ¡ìˆ÷Q\È“'7nÞ¦wîœ÷÷ãÈáܺ}‡m;vðùóg~9šáÆòÇÕKtíÒ‰!C‡“ðÝýJǤ)S)Q¢¸Jº²ÕkÖñ!(˜Ç}8~ô0·nÝbçîßˆŠŽ¦ZÕ*œ8æÍÕKèÞµ ¿ü:’øøŒ#ÿƒCBèÚ¹—/pÞßÂ… 3eZz§rvŽ ‚ h’ykó_rûöm>a`˜±³9¡‘ï¸wïžz–Ì]°6­[ñËÐ!-ZCCCªXYaU¹²zQHyìîчúÎôé7€ à`)oÓ/š6oE}gWšµðäÒå+Rž›»Ç}OоcìiݶwîÞ•òÓ¼|ùŠ!ÆŒ›»]»÷b³×V•©¨ƪš5¯_§L#”ËåØÖ­ÏÃGHLLdÁ¢%8º4À¾ž#½úô—Êi²Ùk+ Ý›PÏɕߦNG[;ý4OJJbÜ„I¸¹{ààèB·½øð!%´DPpÊö¥ûzŽô8˜ðˆiùk×ÿ UëvØ×s¤O¿xmÝÎè±ã¥|eÊSVxeü„IÌ_°G—Ô­ïÌô™³HNN–ÊoÛ¾CڮߦNç·©Ó3 L“f-¸rõÍZâÑ,eäø½{÷騹+uë9Ѫu;)tÊÉS§™3!ïÞ¿ÇÍ݃ÕkÖÁwêÞÍ݃ÛwîÒ½WjÔªCHH(Ÿ>1løê;Ó Qc¶ïÜ%•Ÿ8y ›¶x1xè/Ô­çDƒFÙà ”pàà!<šµÄÚÆwæ¾{Yl·²9g¾WÏšŽÝ÷¶ÿgÖçãÇOèÒ­'õ]©çäÊø “¤åAÒ¬XµšñcGãѤ1úúúhii¡££©k¿þ2”ªU¬044ÀÅÙ‰ÜÆÆ¥|kkk£££#½.^ºŒ®ž.uíí µCiüÄÉÔsrÅÙÕ _ß*Ÿýúõzöî‡}=Gš6oūׯUò¿|‰á·©Ó©çäJÍÚv´i×wïÞ«”9î{‚ÄÄÄ …9Í÷ÚMš®‡G¼Òµ{/¢?fĨ18¹4Ä¡¾3»õ 22Šù sÖ?€¹óâæîÁi¿3BBœ¿p‘ºâäÒçØìµUÚ®ï]—”¥Õ³–vJG¬rÝ£!œÚ—˜/ôé7€ºõiÞª5çÎ_òÔ¯wS¦ÍÀkëvê9¹JQßkfµ_i>}ŠdÑ’¥tíÞ‹üùó£¥¥E¯>ý§S×n¸¹{¦r¬I=÷÷8$]cÇOœÌׯ_ACÈÌê.«kxVm€‰“¦Ð¿o:´kÇÌYsháÙ†V­Û1sö&Œ‹™™G}ŽKåÓ$''3vüDFOrr2qqqü6eŽ.R›Jy@@RR /ÅÑ¥õœ\™6c–ÆCà»meMÇA&‹—þ‡º7aûŽ´lÝ–×oÞ`ddD®\¹èع+ËV¬âóçÏ*Ÿ÷w366fÚ”ÉXU®œ2ê¶jJ/.…IHH \Ù²èèè §§GéR¥HJJRYÇC‡ñlÙmmmŽ?A›6ž”,Q===~:„sç/º_ÆÆÆlÛ²‰ªVV*ëPvø°7žž­øõ—¡8;;a``€™©)v¶uxóæ-þç)_®®.ÎhiiѼYSòÈÏ¥ËW¾»_ifÍ™GófM³ÙüÄ ú÷ëCÞ¼yÈŸ??½{õÄÛû(U¬¬èÔ±yò¤ÜdjØÀ•¸¸8bRÿO”5oê³³ºººèééáìäHHH¨”Ÿc#‚ šä¸ç;wîšG-¨ÐÒâÖ­[ê©ÿó"#£xòä)­Z´PÏÒèêµë,Z¼”5+—séB*T`ô˜qR¾uìØæÅÅsþtêØ™³çª,ïµm;«V,åê¥ó4làÊŒ™sTòÊ–-ä ã)R¤0~§|Ù¹Ý {{nß¹#5ÏúP¾\9ΟàÑ£ÇèêêR¹R%V­^Ë»w9|`?—/œ£¶M-ú ¤±Ñ}Ö?€-^ÛX³jçýý°­S›+W¯Iùººº4õh‚÷!.œÁÌÌŒõ6IùÁ?rëÖmŽÜOÀ™ÓÒÈ쨨(† ÁÁ¹zéãÇaÓ/iÙï9æ{‚Ò¥Kpæ4Gî# àƒ!ƒrùBæü:b4… â¹³lÛ²‰uë7rñÒe©ü¦Í^ ìß+—Î3{æ fΞ˧O‘ºK–­`Îìܸv™Õ+–Q¬hÑ,·[Ùœ3ß«gõc—&«íW÷Wêsþ¢Å4n܈‹çü9sÊ—Þ½{*­Ybccyúôqq2<Û´§Q“fŒŸ8™¨(ÕïF¤éç042ÄÊJóÍe¯mÛéÚ¹³ô~éò¼ ÄçÈANúúpýR^rr2¿ŽMéÒ%9ï†-›6à}ÔGÊ'õúðöí[vn÷âê¥óL™<‰Â… IùŸ¿|aÙò•Lùmr¥›q9MvÛMê×Ce»wïÀÿÌ).ž÷gâø±,X€qcFQ±b&Œƒß)_¹5TY XѢ̙5ƒógX·z%ËW¬âãÇ)ÿG®K?âÄÉSLž4+Ï1~ìhF§ò¹ÊÎúð60£‡2qüX)=«6`VûÁü‹8d(¥K—æÈ¡ýôêÙ]]]6®_ Àï;wàwÊ7ñ&µ#öÝû÷œôõÁïäq>EFfݪLSÝeu Ϫ ñüÅ bb¾àÞÈEK–bnnÎÑÙ7gÁÁ)³ šz4áúõŒ7ÎgΞÃׯ_™7gÚÚÚ¬X¹šWoÞpÜç¾>Þ¼}û–¸¸ô‘ÝkÖ­çÎÝ»øxÆï¤//_¾bÍÚõ*ëL“¶²úqX½v-œ8æÍ‰cG æåËWzâ¿>9¸ŸBæôìÝ%K—küþù'DFFøîÕªU _ßÞlÜ´™ß÷ìå÷={9vÜ—ÁƒHåe2§NûáÙ*åÿúíÛ·”)]ZÊ/P & ò*uë×£hÑ¢R¾º[·n“$—S§¶z …‚ÛwîR«¦5oÞ¼¡lYÕYÊ—çÙóç*ihØ/R‰Ó§WO’åš¿;ãããùø1DåsÊ—/Ç‹—¯P(*eCCØ=w>õêbfjª’§L.—óüÅ Ö®Û@ëÖ)ëdãØ‚ Bfr\‡³ðפ5-³9íéˆ÷QZ¶hN™2¥ÑÒÒ¢G·®Üð°°0jÕ´¦`Á”»ëNŽõ RY¾s§Ž˜››£¥¥Ec÷FF@e¦B…òòàáCâââ¸yë6ú÷åܹ”ÎÃk×ÿÀ¡®=ÚÚÚxõa@¿¾˜˜D[[›AûŸÀµë¨¯–Ó~ghÙ¢9åË•CGG‡fM=(Y¢„JÇúõ000@GG‡zõø:,Í ý044ÀÀÀ€®.Ò‘€ó(S¦4n P®lYš4Ö3Q“B…,h×¶ :::˜››S«VMiÝ'Nž¢u«V”*Y&)S&½a¬É·oß=j$¥J–ÄÐЀ€sç)bYDÚ¦®.,X€ËW¯ª/ Ù¨{€öíÚb[§6ÆÆÆ|øÄÝ{÷6d0:::-Z”®.ø9+•wvr”Ív¶uÈ—//ïÞ§Œb>î{‚¶­=©Q½:ººº”-[mmílo÷œ3|§žÕ]š¬¶_Ý_©Ï’%Jpú´>ÂÀÀ€òÙŒ«)ÂÿŽ´Ù5Ïž?g÷Îíó>„S§ÏT)׳ 5kÛ±eë6–,\ 1öîÃGxõòÍ›5•ÒüýÏѯOo (€}z§ }÷þ=¯^½fø/ÃÈ•+æ´mÓZÊÿöígý3j$%K”@__ŸêÕ«IñK-ZB›Öž”(žù”𜠻í&åë¡z8‡bÅ‹qïþ}ο€B¡ ÊŒ,]º”t}¨X±ff¦+Í6ú‘ëÒhàê*]£êÖ¥RÅŠœ¿>ÊY™––¿Mš@Á‚)çJš¬Ú€™íWll,Mš¶ $4”[·ÐºUK•ó&»zö膎ŽFFFôîÙƒÓ~émušê.«k8Y´!îÞ½m:ܹs—Í›Aê(w£ÔP€ê燎¶6ËW®âõ›·,]¼PŠï|úÌú÷éMþÔçj ˜ÞaJj;­_ŸÞäË›CC:vh‡ßYÍû™¶²úq8qòýûõ%Ož<èéé1h@•uèëëÓ±C{víØÊ‹—/iÒ¬e†‘Ä7¹\΄I“éÙ£›tÎV®T‰úõذi -¡±{#,‹¤ÿŸ:í‡UåJRâ8™LªŸ4†F†Ä*uðgåàá#x¶j‘¡nÖoØ„¡¡!­Z¦tnÇÉd¾‡ 2<ô^Ó~…„„²tùJæÏ™­2CS]ÚC¥ÿG#CCär9ññ)~½ÿµípusçÕë׌5B*«ÎkëvjÛ9àÙ¦=¥J•¤MkOõ"‚ ‚ðÃrÜ-¬­­Ñp-×@AÍš™ÇÖû_•6õ*"âùò)=m1aaáœ;Ïq__)ÍÐÐèÏŸ111aã¦-\º|¹<‰Ä¤¤ wÍ ™§<ÑÕÕÍvÌ:---êÚÙqýú ÂÃ#¨ZÅ g'¦NŸItt4ܸ!ý0ŽŒŠ¢……ʲE--‰ŒÌ8Â'""‚ªUª¨¤*”¾lxDëÖmàÑ“'h¥Æ8³PZ7 ò^OW—ÄÔ†uxX¸ÊvW0::Z%-3æJÇŠÔu§/MÛ­< ÁÚÆ–oß¾ppßò¤Æa,S:=ÆbHh(¯^½ÆÑ%¥C !ᱦÏñºOÛÖ2J1Ó:¢›µLõ”˜„ƒC]é}¡Bé£Ûtuõ¤&ááT«š>‚#Mv·ûGΙìÔ³ò±K“Õö«û+õ9eòDöí?À¸ñÉ›7cF’FÆ‚ :jNKK‹Ñ#•nŒõéÕ϶í¤<€Í×˃‡òËp–.ZˆM-•umÛ¾“¶mZ«Ü`‹ŒŠ¢°Òw^‘"…Óó"£066&_Þ¼éù…Óó£££‘Ëå*•Rvóæ-î=xÀ”ßr~¸ ì¶›”¯‡êš7õ ¾|lÚâÅÜù Ø¿ŸJ}V|OœäÐá#ÄÆÆ¢H=öÉŠôQ?r]úÊu `nnF¨Ò geŋӸ¼¬Ú€™í—±±1Þ‡°û÷½x¶mO£† iß¾­JgaväM `nfFTTT¦ÇESÝeu Ϫ ñõëW©ã²H‘¼|ù’ŠÊãçwY¼ …BÁ‰“§°O ]ðìÙsž>}FõêÕÈ•+—”ñ‰ÂJÿwf¦¦RRÛM“~›Š®nJš\ž¬²¼²ì´•ÕCxxææfÒûüùó«|>À»wïÙwàçqkØ€éSÓx.ü]är9£ÇŽÇÔÔ”!ƒJé£ÇŽÇÜÜ¿“ljþü™©Óf0ù·©Ì›;RîµoßN*odd¤2z@'#ÿóibcc9sÖŸ£‡3†³Ù¾s~gϲyãz©ƒ8·±±ª#M||<ÅŠ¥Ö´_ÉÉÉŒ›8‰Q#†«üvÑ$í”ÅÇK׌“ÉÈ•+—ô=_­ZUn\»Ì—/1\ÿãºõèÍŽm[(W¶¬ÊºzõìNÏÝøɾ}èЩ+>Gfz¾ ‚ Bvüs-†lªY³&ÅŠ#84 ÃLâ8Ëâb)U²$5jÔPÏúŸW°`J—.Åñ'øehz¼Û̘››Q³fg† ¬žÅÆM›9ãïφµk(X°oÞ¾¥Y Õ;ÞZYÜ}W¦é&‚½½ÞG}xÿán  ¯¯OÚ6œõàÎÝ{Ì3 RG} ¢bÅ Ò²AÁÁÑðãÄÌÔTe„.©?ŒÓLœ<…Â… ±mË&ôõõÙ·ÿ ÇO¨Æ­ÌlD©© !¡é1ÍP•Y= ÇÔÄ$Ãv+¯ûÎMÕ©™i±–•·ÕÜÌŒ*V•Ù±-{a>²ªû4Êõkj–òCÈï¤o¦ÔN©‰‰IA•ˆi~d»³{ÎüÙzÎjûÕý•úÔÑÑ¡SÇtìПcÇé7`—/œSé á[‘Â…ÑÒÒ"*:Z-—˜˜ˆžžžÊ(;3SSÌLM)Y¢.\$àü•çPÎúà룦ÉÔÔ„OJQÊßQf¦¦ÄÅÅ!S©§æ(Ož“[·Hm'Õ°?r]úêË!¡¡Ô¨Q]%-Mf׻̎É÷ö˲HÆŒÁÐÁñ>êà!Ã(jiÉÊåK³<^ÊÂÃÃ¥iþ¡¡¡äÉ“'ÓŽPMÛ™Ù>ñ6„……9×Rca3šYsæ²s÷ïtéÔ‘B… Ñ©K7ìííTf˜š™²}ëºvëÉf¯­ôMM`bbBXX8Ê—‡Ô¸èÊö&&&Ì›3 ;[Õÿ#M²ÓVV?iŸŸ6ËJùóe²x†Exx8]:wäàþ=*£Ûÿ ß¾}cäè±,XiS&Kí¶˜˜üÎqùBººº˜š˜0nÌh<š·dö¬¼ÿð—¯^áÖÀUZW¹²eUFàGGG•­P¾'NR½zµ À7mN å·q½Êͪ2e˰wï~•²ÏŸ¿ aêöd¶_=æÖ­Û¼yó†YsRB~þü…³^qùÊUfÏLÈa®\¹(^¼/_¾’4<þB㌒¼yóàÖ°›½¶rëöΤޤ051¡w¯¬^»Ž‚(­ap† ‚ dWæ­­‘ŸßiŒôs!Ó0ÍI‹‘>~~~êYBª‘¿g‹×66nÞBxx82Y<ïÞex˜@ËÍÙ»ï÷îÝG¡P/=)9,<‚’%JP°` ÞÞªñDþüù‰ˆˆàÓ§Hé¡,uëÚóèñnܼ…«‹3.ÎNlݾƒÅ‹K ¨Öž­Ø²uQQQ$''³}ÇNrç6¦¦uÆ ¸â}Ô‡×oÞ P(8sÖŸgÏ_HùáaáXU®Œ¾¾>2Y<¾'Nª,ŸGÇú¼|ùR áðîÝ{Nœ<¥^ìOqskˆ÷Qé!zçÎ_PÙîìpuqáÕ«×>r”¤¤$är9OŸ>Ë0…/MVu¯I‰âÅ©beÅü…‹øúõ+ …‚ ààLc>ªsoä†Ïq_žïܽK||Ú¶iýw6Ëdñ 6SSSÆM||BëV)˜N³bÕjüαrÅ2ôôôˆ‹‹“FP»:;ñæí[Î;B¡àØq_ÂÂÂpr¬Ÿå~U®T‘sþ~:°OzU®T‘‘¿gܘÑ*ŸЪE 6mÞBLL Ÿ?ÆkÛvš5óàú7|÷¹\Ž\.çÌYž?AµÔÙw»vïaç®ßð;sVŠ džM›11)øÝ0C‚ ‚ð=š‡üË ¹yónnnŸJÀÐ@Ÿ’%Kâçç'¦ødÁÅÙ‰Õ+—±aÓ6mö"!!3SSÆŽEñâÅTÊÖµ·cüØÑü6m:ÁÁ10HyÒ}ÕªUèݳã'M¦yËÖäË—Ö­[‘75”ê\©îѼUk ²ààþ½˜™šR¸P! ¤©ŽŽõ™2m={t“–íݳ ñ ´ëØ™øø*UªÈÚÕ+5žn ðöí[úöÈ·o‰4pu¡e‹æRþ„ñc™5g.û$_Þ¼4iìŽïÉìuFš™š²lÉb.^”é3¨T±"MKq6ÿŠ®.¼yû–Þ}û£¥¥…³“¶uj«ËRÁ‚ذ~ -aμùèêêP®\9V,[’!–ß©û̬X¶„ù áÖØ¹<Ë"E˜òÛD•EeÆ­aBBC>r4XX˜³qÝŠ-šííÎî9óWêùgø^}úž8Űá#ÑÕÕ%¾|L›ò[–S¹Aøß4iÂ8,ZBó–­I’Ë©_ÏñãÆ@êƒÓ6nòâÉÓ§$$$`Y¤ýûö¦yÓ”R§‚8xˆukV*­5Å/C‡0{î|{4Gß@ŸÑ#Gpî|J _---/œÏ´é³ppt¡…=ºwãˆ÷Qiùùsg³hÉR:uéFllÅ‹cñÂùÙêÀÉi~¤Ý¤É³gÏ2ì¾}ûFžÜypr¬“c}úöéÅäߦqÄû(ÇÅZ©ÐÙÉ‘ /Ò´…'¦&&X[W§~=¥5ÿ}Fþ:œÅK–ñàá#LMM˜?w¶Ê”ÿ¿âG÷KKKK%ÄðaL›1 Åô™g?U®\‰Ê•+áîÑœ¸¸8ê×s`ÌèQêÅþ´¬ÚyóæaÄðaô0˜1£GR§¶ :::DEEqáâ%ìlm5>è |¹rŒ9‚QcÆqhÿ^†šò?Ø´9††ôéÕSå¹#i¡ºvïELL òç§OŸ^”/WŽØ¸X._¹B¿>½áÛÊi~–úдùóå£G÷®R'­¡¡öv¶ê‹ücÎøûKýÞ =”EÕªUسk«V.cÁ¢%¬Û°…BAÅ X¾t1r¹ï£>¬\±LimPÓºC¤Wß~|þüëÕ™9}šJM^½zÍûwïiàê"¥………I‘tvuS* ·o\ÃØØ˜U+–2kö\FOQË¢¬X¶}}}|Žûf¹_¦&&Jk]rç6Öøû«oŸ^„GDàîÑ…"÷FèÑ­+ïÞ½cÆÌÙÒL†Ò¥J1îl*W®ÀÓ§OQr3çÚµëÌž;Ÿ¯_cÐÓÓ£ZÕªl\¿6ÓÙŒ‚ ‚]ióÖ”ç¯i©½´•^:J/]  è§¾ nܺ{¥l™ìM¿¹uû6v¶uÐU‹¦ìÞ½{4k‘3ÖÇû°£!ä(K—­ 2*Йӧªgýe»t£kçN4Sê<þ»D} ‚ Âÿ÷Œüùó«ÿOÉâ©mW—³§OfÚi.‚ ÂÏw÷Þ=é¡Ä?ËרXþ¸q“šÖÙ{VÔËWo¨]«F-@$߀D I镬ôR¨½ÒHçÈÎʪW¯NÞ|) 7ÑÙ,üÛÎ;O:µ122âÕ«×xõaÌè‘êÅ~XħO|øð«Ê•ÑÕÕå¬Ïž=§¦xÜ’¨OAAøÿ«ZÕ*T«šò܈ÿª§OŸ¡o O‰âÅINNfͺu”(^\t6 ‚ ‚ðSäøgAÈIñfÒ”i$&&bllL»¶mðhÒX½ØKˆgÁ¢%¼yó¹< sæÏM‘ÂéO/þ;D} ‚ ‚“…†…±hÉRBCÃÐÒÒ¢B…ò,]²P½˜ ‚ Ÿ":œá¬X¶D=é§°´´d÷Žô6 ÿm¢>AAÈÉ”c ‚ ‚ üléPAAAAA„¿ GŒpÎîSp³[NAAAAAøç‰΂ ‚ ‚ ‚ ‚ ÂO!:œAAAAA„ŸBt8 ‚ ‚ ‚ ‚ ‚ ?EŽïp¾uë_>Góås4·nÝRÏAAAAArˆÛᇠM›5#!^FB¼ŒfÍšckk‹L&S/.üE*WåÕë×êÉ’ïåÿ[>~ ¡n='d²xœ\rùÊUõbB&|Oœ¤WŸþêÉ?Õ‡  ÊV¨Œ\.WÏÊ1:L‡N]Õ“%êÇIœg‚ äDcÇOdá¢%êÉÿˆó³ÿ ê×…ìRo·üSš·ô䯛ZWK–-W/"™6ck×mPOþ×(ëïµ)þ­ã›™ƒ‡Ó¹[«4oð IDATõäLåÔö¶ ‚ ÂÊ‘ÎqqqÔ¨aÍÇÐrç-€™EaÌ, cœ7?>†R½z âãsFC2'›5{.õœ\2m”çt'OæëׯêÉ*ÌÌL™ù¢žõÉd<}öœ…óçr÷Ö¬\¶”ù sïÞ}fχ‰‰ þgNáwÊ===.Vaq÷î=bcc©[מ‹—.±aãfvn÷â«—077c¤ߤ²Ç}OУW,‹Zª¬CÙ¡ÃGhèêBžqŒ7n°mÇN¢¢£©^­*gOŸàöëôêÑAC†i°ýù3½úöçÙóçèèè¨ä) N‡öm¹t>€}{vpï£>*åAA“Ì[›ÿ’[·nñáC†;›Óñ6ð-wïÞUÏRùž8IåJ•éÜ©¿ïݧ’Ç„‰“©mç@}gW¼¶mG__?ÛùêöîÛOÃFM¨\µ. ÝyÀ­Û·iÓ¾#5jÕ¡ž“ k×m@¡P@êÃQ£Ç2{Î<ìêcc[—ߦN#99¹\N×î= £m‡Ž8¹4$$$”±ã'²ÿÀAÆŒ›@Õµðö9¦qjå£GiÒ¬6uìéÜ­‡ÊÔĪ5jI£ Hydm“ò#föÜùø9ˬ9ópriÈÉS§!û1qò6mö¢Ž}=&NžBrr2‹/¥¾³+6uìq÷hƵë×¥ÏT¶oÿ6jBZuðhÖ’3gý¥¼¬ŽQšÌŽý;wiݶ=µjÛáѬe¦£”CI| ÂÉ¥!ûÂ¥¡;5kÛÒ³O?ÂÂÃÕàm` =ûôÃÁÑ…:öõ1jŒÊèŽÌ$&&2gÞìêS³¶-]»÷âÕ«ô:rriˆÏ±ã´jÝk[šµðäÖíÛRþ‡  º÷ìM{š4kÁqߨ9Ô—òÓÜ»ÿ€jÖ6Ò¹øŽ²*³ë÷=R™>ý°i³:º:LŸ9GjÖ¶eâä)Ò²Y…ÜHJJbîü…Ø9Ô§Ž}=&O™¦±A/‚ð£öïÇï»vPÓº†zgýhÒ¬5jÕ¡[^*!Ç,‹á—aC(Y¢†††4oæÁ‡AÒ÷ÚÇ!ô8˜ºõœ¨YÛ–.Ýzòæí[iy…BÁÚupnЈJUªãìê†ß™³R~VŸÆçØq3tæ43çÌ¥}»6Œüu8ÅŠÃÐЪUªPÅÊ R¯K7oݦS×îTªRCT® ÑŸ?óìÝuXkûÀñ/,ˆHƒvcw‚"ŠŠbç±»»»»ÝHÛ„ÝÇDZa1~° »Ãêñ¼Ç÷÷ÎÇk¯KfžÜ™¹ç™ç¹gðÐáÔ©çHõšuhÛ¡±±qã qÜ‚gëvÔ©çH]‡úlØ´YX®±ã'²~ã&úô@µµq¨ïÂ>QL—N&“!“ÉЖ¥…öé§W ‰SAÅ'ħ]KkÕÅͽg‚‚…qª)74Å9éÓËîZÝz¥‹‰‰eþÂE´ïØSSS´´´4Æâk°ŽŽûöÄɹ!5j×côØñB‹hñöÍjße_}ûöQcÆ ÓïЩ oÞ¼æ?vÜDöïG§˜:m›6ǽY ¦Í˜É”I±²²ÂëhZE¿ª””FŒð£HIIÉ1Þþ‘øâ{b+ñvË“™0i 5ëØãèÜ€­Û¶Ó¤™Ïž?'wîÜèééѪM;/]·Ôæ÷O344döÌé”·³C&“Q©REŠ.,ÄôŸ?¦TÉ’Èd2tuu)Q¼x¦–妵§'ÚÚÚøøúÓ¶mkŠ)‚®®.#† åLP0>~æ·gçv*U¨ 6 U‡¡M›ÖŒ9gôõõ±²´¤nÚ<þ€S§ƒ(Sº4 ¸ ¥¥E˘˜šzö\Žë•núÌÙ´lá™™™ÚpU¾þþ èß—¼y055¥oŸÞ9â@…òåéÒ¹FFi™Ü¹’””D|B‚h* ¯§GÓ&Y±lI¦%©©©|ùò…råÊ`jjJ¾|Ö™ÊI$‰D¢ÉoYáœV•—=-´¹zõªx°Diï¾´o׆¦îM¸výïÞEã–.[ÁÓçÏ9y<€SÇyñâIIIß=^UPp‹–,cႹܹy k×PÈÖ–˜˜Xz÷À]:sãê%öïÝÍž}ûؽg¯ð]?Š/ÆùÐ`ü}¼8}:ˆ“§N#“ÉØ¶e‡öï#$èùòY°hÉ2ªV©ÂÅs!¸7v¦¥êtPöîæòÅsÔ¬^!CG¨UÒfeÒ„q”+W–ÉÇtŠÆn¾k=Nž:Í‹—/ ôóaêä‰\½v _?ý|¸vå"ë×®¡lÙ´@MUèÙs,Z²ŒåËsëú&ŒÃð‘£yø(£ëmVÛˆl¶}\\½ûö§WÏ\¿z‰Ç2pðPbcãTæ®ÙÛðp®]»N€¯7Ά°n½æ<ŽææôëӛРSœ:Èí;wðËdùŠUܸy?ï£\»|‘š5ªÓ½Woµ›¨›·°~íjn\½D#׆L6S7tØÊ”)Ãå‹çØ»k;vjîŠX¡¼¹tu¹sç.(÷SéR¥8s&”­è¯]¿ƒC=P¶p«\©"çCƒ8èOpH¨ðÐ!;+W¯áÆÍ›ô'äÌ)ž¾ ¾~´kÓšªUª ££CÉ’%ÐÖÖæÔéÓ.TˆÍÑÖÖ¦`ôíÝ‹C‡Óž¼äÏŸíÛ!“ɰ¶¶¦zõjj­14©Vµ ;´#Ož<èêêŠGЩC{ŒŒŒ„`ùÙóçB«ƒõ=ë¡¥¥ÅŒiS077C__kkk>%pðð)R¸0ÆyóªMÀë¨7­<[ 7ðööÔwrä¨wF«˜ì¶QVÛþô™ Ú¤©{\6ÀÜÜŒs.ÓÍÎàý10ÐG__׆ ²Ü'yòä¡NíZÈd2òæ5¢j•*¼ ËÄë¨7û÷ÃÂÂmmm† Hròg.\¼$”éÚ¥3ÖÖÖhiiÑÔ½ OŸ=àÍ›7ÜðáC#“É011¡G÷?T¦žA[[›:ujsñRZëò“§N3h`®]¿\.çö;æÎMéR¥°²²¢…Gs,-,¨^­ªZk¿¬ñ:Jÿ¾}0Λ}:ulÏñ“'ÅÅ$‰ä§‰+BBC)Q¼˜p}²·¯GÕ*UÔʼzõšêµêR©j Þ¾ gÆ´´Ö©¹rå¢YSw ôÑÑÑ¡u+Oµó½Ÿݺu¥FêèëëS´HòçÏß9ïùóÒ®mŠκKøï =kÁ‚Ä£ÔtìО:µkahh˜)Cá"…¹uû6g‚‚IMM¥Bùòjã³S¼x1J”(@Ù²e°²²ä­JÕ.ÎBeTÝ:µ111æÕë´ÞL‡kÆ+Z”ñ‡]¹rg´rV%ŽsÒeu­&›õJLL¤kcÞED°Ï.Ú¶n•e<—^=»#“ÉÈ;7}zõäØñ¬¯»šö]vñÊ H}}}d2ŽŽ¼ KÛ'7nÜ¢NíÚ\¿~Ï–-@™ÂÀÐÐ4¤ûik³dÙrž=Áê•Ë…I9ÅÛ?_|Ol%Þþ èß###tuu¬Î*_lV±HVÛ$§õ²)X ãÆàçíEùéÝ·?}ú @¡Pd»½TE©,DDFFFYV„jZÎ¬Ö eë¯ß¾±gçvÜOŸ^½„qùòYóúõk&MÏ¡ÃGhÝ®UªTƵaZ·mµµ-[xß±´²äÌé¼y¦–Ë:§xûG⋟‰­²›¿\žL^}8x(E‹Á×û£GÈTQÿOúòå %o޼̛3KˆO8uú ÇFGGK &MŸ? …‚/_òøÉÜ\ Ó*U²$Ož¦¥ AÙ³!6..Û4é|ýü©R¥r¦Jàuë7àëëÇÎm[Ô*®K–*)¤&I÷×_…ÞY­×Ý{÷¹zõÓg΢v=j×sàö;L™6ƒq&©M/W®\.\Hm>ªóP•7¯n\)V¬(W¯]ÎÖ•«WÑ××~ÏeË–¡oŸ^ñ:*.*‘H$I&YG[ÿ¢àà` õõkèæ$OJÄÐ@ŸÍÝþþ×ùR²DIªT©L¾|Ö§µ§'{÷íÀ­QCÖoÜD||_¿~eÍÚujÓÈi¼*÷&ñöõãÁƒ‡¤¦¦F||.õˆÅÛ7íîÝ»vìÚ-t7ËI®\¹044äÁƒEwâ¬ìÞ½—˜˜X kþ\‹MAJ—NK›P¨-—®\eëñ[–ÍLM¹ÿà!([üÌz„‡¿^ÞgfjJ!áe6ªÚ¶n…¯_€³ùêµëœ=wæÍÄE5ÊjÛ7lЀ'Ožrè°ß¾}C¡Pððá#/túY‰‰‰$&&Rµj´´´{û–‹—2ºmf§m›Ölܼ…¸¸8RRRغm;yò ¹ï²S¨-¥K—bõš?Q(|úô‰Ê7rkR @~òçËÇŽ»i¤¼ñhàìÌ… ¹{ïõêÖ凵nÕ’e+V¦ìýáÃþzü”yóF/TÚL>CèÞzéòe¦L›þC¿m‰D"IçäèÀã'O8}&ˆÔÔT._¹Â¥Ëi×7”•~·ïÜ%!!ññìÙ»Ÿ?RJ™ó3:&†üù¬ÑÑÑ!&&6Óµ¾Q#W¶íØÁíÛwP(DDDòüEZzªœæ=mÊ$žþõ@øôêÙƒîtåÚåïKíôŸ6vô(6nÚº ‰ŠŠB.Oæå«W¼z•V±˜“‡þRs)\cc>}J q…ªÈ¨(òæ5ò°†„ž%ZT‘ÿO9}&ˆ{÷šÊ™ `îß@ggq±Ÿò½ëe``@çN ôó¡KçNðñßÚõùüù3 ¬ß¸‰Æ\ÅE~ZTdåíìÐÓÓC.OÆÏ?@çäèHè¹óDÇÄP¼x1vnßÊáûhÙƒþ}ûpäÐF®öðÞÔÔã¼yY¹b)®]/¼\1§xûG⋟‰­š¸5bÃÆÍ|úô …B‘é½{õÀß÷(íÛµý§PË“éÛ –––Lž8žääd’’’HNNÆÐÐ+KKa¿¤¦¦xŒbÅŠ"“É8tèÍšº«-s+Ï–:t„W¯^óíÛ7–¯\M½ºu07×üEÕÁÃGhÛº•Ú°¥ËWpòÔiÖ­]C®\¹HJJZP7tqæù‹œQž}|ýˆŒŒÄ¹¾S¶ëeW®,Î…àëí%|ìÊ•eìèQLš0^mþ­==Y¿a# |øðM[¶Ò¢EZj¸‹—.óòÕ+  …‚'OñèÑ_T®X€;w³]™{>;E &,,ŒÛÊ÷¡ÈårÎ éè$‰D"ÉŽæ¦ÿ2îܹ“S}^¾|Iòç´\Túú-Z„,»”ý¯Û»?í5tqjÝÊ“Ukþämx8£F gƬ9¸¸ºa` OßÞ½(Z¤ˆP6§ñªÜ¹ò."‚C†M¾|ÖlÛ¼[[[¶lÚÀÌÙs˜5{.FFFtêО6¢€-;cF`òÔé¤N™Æ¾=9EÚ2Ʀs×n¼‹ˆ T©’¬]³Jü§M™Ä¬ÙóðõõGß@Ï–-„VHýúöfü„Éñ:Ê”IháÑü‡×ãÇŒ3–˜˜XòR¦Li&Œ'.F•*•™>u2ÃGŽ"6&–üò³|ébŠkèú©IvÛ~ÛÖMÌ¿™³ç £#£téÒ¬]³*SN¹ŸejjÊÄñcéÕ§?ææfÈŸŸ6­²Þ&ªúôêI²<™–­Û’œü™råʲiúï:¦µ´´X½b9“¦L£v=G ÈOËj­VÄìíë±oÿœë;²ÒZß@ŸâfÅ„®ÔGZWÈÕ´ïØ…øøxÌLMéÛ·7¥K•"1)‘³çÎÑ¿oRRR¸té +¤ûo߆séÒRRR2ua•H$€;wï1nÂD‰£I3Ê–)ÃÒÅ ±²²bÕŠåÌ[°‘£ÇR«f ºýÑUøîû÷ïYº|%/_½BK J•*Åúµk„œ¦#‡cÊ´é¬Y»žÂ… Ñ¿_¡R wÏ(¾)>j ‘‘‘XYZ2fôHŠ-šã¼ÿÛ4pqfú5¬]¿‘uÊŠL+KK&NGáÂ…ÄÅ3yøð!}ûHKa–ÇçúNÂ5GWTS©tq®OpH®›biaAÕª•qrÌH‡õO;z .æö»XZZ°tñBµ.ÿÇ®—–––Úøœâ?;»rØÙ•ù¡‰‰‰89:hŒ³~֔ə>sûÀÄØ˜¦îMð H«Ư̈׈Ñ#‡Ó£g&ŒKíZ5‘ÉdÄÅÅJÝ:u2¥bKWºT)Æð£ð=z$Çxû{ã ~2¶9b˜rþ116¦gnB%­þ/y(ÿ³Nœ:Źói¨öí? ¯T©"‡ìcýº5Ì¿5kבššJÙ2eøsõJ ^G½Y·VýåŠÕ«UeèAtéÖ>R­jæÍ™­VF“§OŸñêå+\6†EFF /õ?Ž IDAT‘¬kŸvœ§»ç&†††¬ûsÓgÌbØÈQØÚزvÍ*ôôôðöõËv½,-ÔÓÄéèèbd”‡¼yÔ†£<·DEGãÜДîMšÐ³{7^½zÅÔi3„49Å‹céâ…ØÙ•å9+ÍsT•(QœÙ³f2nÂD>~HKâääÀØ1£ÄE%‰D"É$½ßšjÿ5-ÑG[å#Sùè¹]@OùÑ¿zýÖ…ÅÓ^|“ë7nP»VM E/qPuëÖ-5vàx ¿”FC"‘¨ ={Žé3gqæäqñ(‰D"‘H$’_îö»ìܵ›ûðõËWôõõ©T©"£Gÿ%³ÿ ry2«Tãlð™,+Í%‰D"‘üz—¯\¡VÍšâÁ˧ÄD®\½–éÅÞYyúì5ªU®ÈÏÀà+ðMå“¢òI}Ò ÿÿ-[8«ª\¹2yÓ^â"U6K$’K—/S¢x ,,Ìùðá7m¦n¯ŽD"‘H$’ÿ-•*V ÒÂùâÁÿU>|„ž¾E &%%…•«WS¤pa©²Y"‘H$É/ñÛW8K$‰ª7n1fÜâãБÉprrdìh©kŸD"‘H$É÷ŠˆŒdþÂEDDD¢¥¥EÙ²eX½j¹¸˜D"‘H$ÉO‘*œ%É•ú1p@?ñ`‰D"‘H$ÉwRÍ5.‘H$‰Dò«e¼BY"‘H$‰D"‘H$‰D"‘H$’¿á·háüùógñ ¾·œD"‘H$‰D"‘H$‰D"‘Hþó¤Î‰D"‘H$‰D"‘H$‰D"ù%¤ g‰D"‘H$‰D"‘H$‰D"‘üR…³D"‘H$‰D"‘H$‰D"‘H~‰ß"‡³ØìÙ³Õþ~£qøäÉ“Õþ–H$‰D"‘H$‰D"‘H$É¿ç·ká<{öl/YÊšµë„OªòŸê°%K—fª€–üïqusçâ¥ËLœ<••«×ˆ‹Hþry2ƒ† £v=G<[·þH_†ZuhШ1>¾~ :€·ááØU¬‚B¡`öÜùlظY4…_çWM_¼ÜšT¬Rç/^À/œïPÿƒŸÝF?û=‰äÁ£GQ»ž£xðÿ”cÇOзÿ ñàEDDRߏ}âýû÷´ißQm\jj*ë7l¢b•ê¼ W—.>>3cVÆC›ó.ðG^Ôªë@=‡úÌœ=‡¯_¿ª}/·ÑÑ1œ >;=;Å£ÿ#Ò—á\ÈN¤VÍštÿ£«¸ž-=hØÐE<ø—ù§§ŸM󎉡f{Ô†ÿŽõúo£'OñéÓ'µ2šˆ¿'‘ü› ­Û¶§uÛö°/_¾°aãfÜÜ›S¹ZM7mŽŸ€Ú÷öí?@“fÔ¨]Ž]þàÞýûjã³rïþ}ì*VÑøùò勸¸F÷< k·Ôµw½Y öí? .ò[¹wÿ>ƒ‡§®½UkÔ¦I3vìÜ%.&¨V­*½zvÎD|]·°0gü¸1è«•û;"#£2í§ôO3O† DÉ’%Å_Õèß>ÿ‰ÏÓß»­ù‡¶¯&r¹œ›6Ó¾cš·h…{³´íЉmÛwðíÛ7qqÉOxûö-={÷¥f{5nНŸ¿Úø×¯ß0hèpê9:SÏÑ™ÀcÇÕÆxx¶æÂ…‹ìع ç†nÔ®çÈà¡ÃùðáƒZÙ/_âÙº'OUžN5¾Ê)f¾pñ-Zµ¡Fíz´ïØE8÷¦¤¤°wß~Z´jCõZuièÖ„={÷©Ì%ÃÝ»÷¨X¥:ÇÄ£@y ˜2u:õêSÏÑ™EK–‘’’"ŒÏjÄ^½~ÍÈÑc©çèLÚõè7`‘je.\¼D‡N]„yEFF©—H$‰D“ß²ÂYò÷U¬PžÃ^GŃ9tø¥K•–ü&¶nÛÁ“'OŃռ~ý3S3òäÉÃÕkש^µª0îÃÇô0ˆ'OŸ"“ÉÔ¾§jÆ¬Ù˜ššª »zí=»ýAÈ™“õ:Äõ7ÙžÅÍöë7a”/_]]]ôôôÄ£ÿ#T—AKK kk+ªW¯&.€]¹r+ZT<ø—ù§§ŸMó=êíƒK}'ŒŒŒÔ†ÿ§=ñ‚›þýrªÛH¡P0wþB“ÄÅ2Ñ´m%’ËÖí;ÐÑÑU¦­­M’\Îâ…ó¹x.”qcF3iÊ4Âß½àLP0›·lcÍÊ\8LÓ&M0hÈw=p)ogÇ›×Ô>sgϤr¥JäÊ• --ñ·2¤¦¦ÒoÀ`š7kÆù³Á¬Z±Œå+WsíÚuqÑßÂõë7èÖ£7¥J•äÀ¾Ýœ bÑ‚yT«–q}³´° VÍâÁ™ˆ¯ë:::4vk¤Væï²¶¶öÓ¾Ý;É•+—ð··×!ê;9’7oÆuA[+ë[€ÿôùïýû÷,[¾’¯_¿j^\¿~]{öBË vçÎ]ªU­Š¿ïQΟÆÄÄ„i3f ッC˜>s6cFâüÙ`·aee©6 ‰D"‘H4É:Ú”üWkäêJ@à1µÀâù‹DFFQ©Rµ²·oß¡C§.Ôµw¢e«¶BŠ ”)+nܼÅ=zQ¹ZM"""‘Ë“™2möN.4tkÂŽ»hѪÐÍþÛ·o,Z² GçØ;¹0}æl’“5wmtusÇÛÇ—ÖmÛSÇÞ‘n={«uׯ^«®Úù{÷ïÿT7^MëËa#¨çPŸ³c×nµï¬[¿GçÔµwbÖœyL›1‹ýÒnܶnÛÁÀÁCÕÊcÇNœ¤™‡'ññ èëéÑÄ­‹ÎÏòf稷 ŸpvrR>|è`ê×wB__K jתɋ/ÕʬXµš£G½ñóÄÕͳçÎsÔÛ‡©Óg²uÛì\˜:=-P½yë:w¥V]\\ÝØ°q3©©© \Žñ&1söê9:ãPß…Ý{öá뀛{sjÕu`À ![êjZ†ýÑ«O?qQu>êíØq˜9{ŽÎ pqucý†MÂr‘;{N“f\¸x ÷f-poÖBãôÇO˜Ä‚…‹Ó~?õ™1k¶ÐêäÛ·oŒ›0 W7wê9:Óµ[„y«JJJJk½âè,üFU+ø5u‹öòòÆÓ³%(“[·íP_½V]=ú ”ß_·~#}ú¤žC}š·lEppˆP6§ù¿zýš>ýâÜÐ {'ÆŽŸÈׯ_yúôƒ† ãíÛp\ÝÜéòGøÁsƒªìŽE€í;v ÛsÊ´L™6CŸ¾ =zõ!::šŽ]ºâêæžm ñ¶=tøîÍZP¥z-ÜÜ›óêõkÞ†§­_ú漏½#}ú$:&í½YëÉ cÿþƒtéÒIm¸ŽŽÇ¦By; ôq®ïDCCÂߦ¯ÎѺ•'ÅŠEWW—.;R°`ABÏž¦q&(˜6í;RµFmì\XµæOaœL&Sûìܽ‡®*Ë ££Ãæ­Ûptn€£s–¯\-œçRSSIN–S­j´´´(^¼VV–$ÉåÂ÷'ó.¢u«– < (og‡]¹rE qÔÛG8·eu¬kº®‹SB„„ž¥}Ç.897¤~ƒFlÞºMX®‰“§²iËVJ]{'4jÌÁC‡…ñªÒ÷“–vZE¬ê¾C”‚ >!ž^}úQ7ýÜ*Œ_Ó4]ß]ÝÜñ¤]‡ÎÔ®çH«6í¹yë–0ìÖ+]ll‹—.£Ë=011AKKKãyZu[£üíZZZ4oÖSο€¡¡!Ó§NÆ®\9d2*”§p¡B™R•Íž;ŸæÍšfj¢Ê?0¾}z‘7¯&&&ôìÑooÈaÄš7kJçN016F__׆ Ôâÿ%ËW0kÆ4ªU­" ok‰D"‘H4ù¯®p^³vÐe°J…Ê îÚS^Gù–E€ÿ%–ØÙ•ãĩӰC‡½håÙ…"£»Õû÷ï0hÝþèÊ…s! 4kk+Ö¬]Ë«W¯ôó&Ðχ·áá<}úL(ÿçºõܼu _o/N àéÓgü¹v½0^ìà¡#lٴРӔ+[–£ÆdYYúwˆ×cøˆÑäË—ÐàÓlß²‰uë7röÜyPæ ܽw/[6nàlÈ*U¬Àá#^âIféâ¥Ë,^²Œ?W­à\h¥K—fô˜qìÙ“Öuî̩㜠9ÃÄñc133eܘQ”)Sš ãÆpòx\ªM³p¡BøùxáîÞ„‰ÆáçãE¡Â…رu3~>^äÍk„¾¾>­”Á°&oÞ„±výFæÎ™‰"%ëmœššÊ›·Ô‚ËtÆ Æ£y3<š7ãäñìëpúL/_½ÂÇë0Ç%66Žƒ†Ò¥SG.ž a׎mì?xP­[µ_@ µkÕâ|hÓ¦LfþÂE;~‚#÷qæä1bbc9 áæ:«eø^ÇŽS½Z5BƒN³qÝZvíÙñã' ‡}‡2?ä–­ÛX³z‡îW™j¿€@Š+JЩ=|€  NŸ årS÷&øz!4è–––¬ß°I< V®Zó/ð÷=J€¯7/_¾$))ëֹׯßà›BAÍÕÅ£²´s÷ÆŽɹР† ÈÈ1ã„’9ÍßÜÌŒÞ={pêx¾Þܹ{—cÇOP¢Dq&MOù9y<€];¶ÂOœøŽc1$ô,›¶leÃú?9DÚµðÒÊC&“±qýZöîÚÉÉãX[[‰‹iz–¥ËW2wÎL®^:Ïš•˱µ± üÝ;®_¿ÁÑà :•öJoÙÕ±.‘üˆ³ç2lè`Œò䤤¤°ÿÀ! r`g—VIªP¤ £«þnhK ^¿~À£¿3rôXºtêHhÐ)¼ÊtÝIwåêUÞ¿kð¸¸÷„¿ çô‰cìÛ³‹€Àc±§­­Íè‘#˜5gŸ½122BWW—ýú eQ¶†éÓ«'Æyób` O‡öm9y:£â[¬Cû¶+[ äÅ‹—¼|ùJ\ìoS]°°·Üº}›!ƒ"“ɰ±±¡‹3'•ô§NŸÁ£ysJ”(ŽL&ãy3 ʺ[›ØQoZx4§xñbhiiÑ­kîܽGTT¶…l¹}çÁ!¡¤¦¦R>›ÖšÜð€’%K’’BXØ[lm³U) ÆN˜È„qc°07V³~Ã& hÙ"ûpUZZZL™433Sôõõ9D![[š5uG[[›ùóÓ«Gw¼Ž¦µ¾°µµnÀ]œë#“ÉèÜ¡=†††R§V-^½z­2—_£­-îMP¼x1Zµl)ìûìöÊœy£G¤h‘"YæˆÌ—Ïš¶mZ#“ɰ²²¢Zµª<žÑzÅÑÁ}}}d2ööõS¶H;qê}{õÄÄØ===ô×Ü‚;Ýa¯£x¶ôø¡–' ¸P²D ´´´häÚR¥Jz¾cþyòä¡VÍÈd2òæ5¢r¥J¼É¢µ6?qnà;ŽÅÀcÇiÕ²%E‹À½IcŠϸ©üüiÓʓʕ*¡££C‰ÅÑÖθ|è×}ôõõiàâ,ìë¿{¬K$¾~þ¤(4kê.%ððlMÕµÙ²m;K-ÄÀÀ€ºuëàãëÇ»w|ùò_?.]¾"#†EOOܹs3jäpN>£ÖÊYÓ6ý•är9¹ÓÎeéô ËÓzGDDrñÒeV¯\Ή@lmm3v‚Pöø‰“Ø•+KÁ‚H’Ë…ý“Î ·‰Ù<ÄW•]|%Ž™“ärá<œN__¹¨‡‡B¡`¤ÉtïÖU8#""Y¶b æÎQ‹3ÄÒ{‡¨¹ P($'þîe»ví:ÇŽ3fôHP.Ïׯ_yó&Œ}{váuø ýõ˜u6Š¿*‘H$I&êM_þË Пɓ'ÿñ#÷nÜàèêµ¼ºy‹Õ;3òÈ! ÍÌÄ_ûŸÑ° ³çÎ',,Œ»÷îS¡|y¬¬Ô[!DDFòìÙs3Z-}þü…D•ÅEyü¢£cÔrw™˜˜¨ÝDFGÇ0iÊ4ttÒ†))BÎGMLLL„ÿ'O¢¢£5V¥¤dT–ÿ(ÕõH¯Îtut„VûÑ11¬[·û¢¼ÿðkkkµòébbbÉ_ ¿ð·¥…E–6‰‰‰œ:}¯Ì-ÂU©>p016Vû;¾|DEGÃwÌÿÎÝ{lݶˆˆR°°·t²Íx©™ØžøŽc1&&† åË«·´°PûûïŠŽŽ¡bõTDªT÷Ÿ®Ž_•¿ÙŸ=Ö%”98—¯\ÅÖMÙߨoÞ¸žÄÄDî޻Ϡ¡ÃX¶xÕ«W£ySw"Þ½£WŸ~$Éå¸5jˆ]¹räÏ—”¿k›ì+YQ¾HëÊÕkÌ3Km¸¾¾¾ÚùÃÊÊJH'“ÀÝ{2vô(¹6äîÝ{Œ=†9³ffÊÅûoKﲋ±è|¨J ©ú;Çz@à1Žx%11‘Te‹Ç”ÔŒx"Ÿr¥ÓÑÑý%×Eã¼ê×A++K"•±‘˜øúž.ŸÊµNGå:G6ëehhˆ·×!öìÝg›v4jØvíÚP°@οEUyUÞS`eiÉû÷ï³Ü.šöÝÏ^§?}ú$T\(Ÿ§OŸR¦t)Nž<…Œ× ÁtÙ³;û7Ûü?–+W.Ü›4æÈQonß¾CçNÅE°²´¤¼]9vnOëò®‰–¨ÒÑÜÜœ¨¨h¡F||‚ÚM†¹¹9óçΦv­´ 9‰ŒÌÈýöéÓ'>~ü(ÜÊd2RU*™UËþ(Õõ°°L«8;y,@ãKï¬,-‰ŒRŸWTTZ%€L¦)í‡j>X++KªVíÄAÕʤs°¯‡ƒ}=îÝ¿O¿ƒ)TÈ–š5jhl9‘nìè‘tëÚ…AC‡qhÿ^Ž?Áիט2y¢¸¨FÛ¶ïDOO'O””vctåÊ5ü}ÓZÂoÜ´™Óg‚زq}¶7Þšˆ_@TЦ`¦<ÔïÞ½S»©Ìn}ÿIâܽoÂÞ ©²Ûw鹜sªˆo U'O%¾|lß² ===<Œ` ¸¨ké­ÅÇšª€ÀcTªTQí&E[[[-uÊÇøøL9“ÅÇÔ›°0ª*»…f7ÿ/_¾Ð§ßÆ…gËhii1f\Fë"M»öGÏ |DZhan.<@J—ÞbQìgoææfYæÙ&‡ßCVǺD’“ËW®I“fê=Mì*Vá葃”,Q”X,-,(R¸0¡¡g ^ Ú§w/úôîÊ lׯM™3k:(6=}–‘++Ûw좙²BUUrr2>~†GEE {îܽ‹¾ž¾Ðƒ¥B…ò4kÚ¯£Þ¿]…³™™)ÅŠÅ?0¡ƒ‰G ıXVÇzvçÛ·ï0mÆ,vnÛB™2¥prVO»¡­ÌÉü«‰+—#"#©\Yýá^º¬®iYm“œÖ«`Œ5‚ÁûãíãË€AC°)XU+–e»½TEGG -x###122ÒX)NË™Õ:‘ÃuÚÚÚŠKÊ\ÊãÆŒföÜyìÚ³—Î;/>:vîJ:µiÞ¬)|G¼(“ÉèØ¡=Ú·Ã×ÏŸ>ýp>4ø§âsccFŽÆ ýY¸h cÆO`ÇVÍ/ï7MÁ$$$¨ÛááïÉdjñEVßÿUJ–(ÁÛðpäòd¡7Ùã'O…—è²µ%66V(ÿùóg´µµÑÕÕåå«W<}ö ×.jÓSmÿáÃâ޿϶x:MñÙÄÌÅKgÿþƒje?~BCåò|ùò…‘£ÇbffÆô©“…âÞý\¿~ƒ/^0{î<>~Œgæìgœ¿p‘9³2^r˜+W. ²åéÓgÂy÷ñã'B°œ–Aìâ¥ËL6ƒUË—Q®\YaxáB¶|þü™O‰‰ÂCª/_¿’K7ûƉD"‘ðÿ)¥F:]]þ˜7‡âåíˆ|ûö …BÁ£GeÛåÊ͵!›·lãÓ§O( 6mÞ¢6Þ³¥+W¯*ç>~üÈã'i9×49tø>|@¡P°|åj *DéRi•Ù¶¶6\¾z”­üü3Zþ… ¢¼ -æÓ§O¤¦¦ò6<\È/Ø  G½}xö,-8 áÕëŒ.¬¶¶¶ÃYÙ >»ù'%%‘˜˜HåÊ•ÐÒÒâmx8—TrVš˜˜Cllœ0ÿ=7ðÇ¢«kC¼}|…aÁ!¡BŽG±\¹rahhÈÇio¹·öΊ[#W|ýxøðQÚ¹âí[âã3¿ÌR,»c]"ÉI#׆ܿsSø¬Yµ‚2¥KqÿÎM¡2æü… ¼ÿž¤¤$®\½Êù … >Tº]?þ‚AC†Ó¼YS¡‹ygο@@à1’““ù¯ö’^”o|ýüé¢á5ÀŸk×ñõëWÞ½‹àБ£4jä ÊÞ,‘ܾ}”•ƒgÏžý¡kÖÒÈáÃØ²u;7o!::¹<™W¯_ ù®s’ݱžÝu=2* #£~üÈÖí;hÖ,-ýRvË€h¿‡0yê4–.YD‘"……uQ(ÓÀÅ™¹ó˜˜Htt4{öîõá¯;Þ$‰Dòÿ—æ¦ÿ²ä¤$Þ“Ñí^“ô^šÈtui6}:¾-x´l%=[jnn÷?À®\9ò峯ÁÁAcW|33S6¬ÿ“…‹—2wþttd”,Y’•Ë—fÊý•nèAÌ™·€ÆM=016¦Û]Ô‚ºô®a]þèABB¦&&ôêÕCh-Vßɉž½ûñ6<œ¢E‹°bù¡…ˤ ã˜7ÇÐÓ×£…Gs®(+ ÿ®•Ë—²`Ñb\»£P¤P°@¦N™HþüùpmØ€—/_Ò»ß>þL“ÆnÔP¶prtÀÅ¥>ºtÃÀÀ€Â… á®Ì³P·NmÆÍ”é3‡¾¾>Îõ¨P¡<ýõƒ† åË—/å1ÂÉÑA{÷êÁä)Ó9êíÃÄñc3åí|öâ%”©Fž<}JÚµÔÆgÇÜ\=½ŒAn’?'cffJTT”ðBœú.ién\½¤±xNŒŒŒX¿v sç/`Þü…Ѿm›ß¢Â¹zõj\»~ƒEK–¢P¤Ð¥SGšº7öݯ0aüXfÏÇÁÇ1Λ—&Ý8¦¹ÒyØÁÊc­9úôêÑ"… ‹‹ñìÙsÞ¼~Cgµá½zvg⤩´hՆܹ±·¯›)U››+‹—,åáÃGå5báü¹B‹ŸìæobbÂØÑ#é?pff¦ÈŸŸV-3RÔ”+[·FhÞ²ùóYsøàþ>79‹ \œyñò%={÷EKK‹úNNÙ¶ 1lÓgÎ&uÆ,vnßJ¡B¶â"™¸6l@Dd$ÃFŽ&&&kk+6®û3Ç^ÙëÉßõíÛ76nÚÊÃGøüù3  oïž4W¹nôî;€û`iiI‹æÍè×··0®R¥Š,Y´€u62eÚ ðlé¡–xϾýT©\)Ó˧*”·ÃÂÜ‚Òòá·òô¤¥GsPæ¥1m*S¦Ï **}}}Z4oF÷?ºŠ¦ò{p®ïÄšUËÙ°i ›6oåóçÏXZX0v̨ï:Gdw¬‹¯ëé/ãB™Ÿ9ôìYšzxbanN•*•~ø%¸?käða,Yºœ»÷îcaa΂ys²ínÿ#~t½´´´ÔÆ‹ÏÓbåÊ•¥\¹²¸¹7')) ûzŒ=J\ì§ewΛ׈Æзß@ÆŒIÍÕ‘Éd¼ÿžÐ³ç¨]«–Z‹œâÅ€Àã 6LŒ™>uŠÐZöGâs…BÁÒe+xöì9úúä³ÎÇ´É“@ÙBùÊ•k¤¤¤h¼[8sæ- ¡[´µe8:Ø3fÔq1=zD*iÙ>~äÂ…‹|U¾¼ýêõëØÚæ|üdeÞÜÙLž2:öN2xÐ!k×¶ ññ tíÞƒøøjÕ¬ÁÌéÓP(xûø²jårµiU­R™AûÓ£w>~Œ§JåJÌš‘ÖÛ#;šâ«œbfCCCV¯\Æì9ó=n<6mX¹|)zzzøúpáâ%ª¼»B…òìÛ½3Ó;Vd2òä1$oÞŒ2éz÷êAtL nîÍIMMÁ­Q#ºuíí2 Úo /!""’Ò¾›nýÚ5Ø×«ËôiSX°p±r>©´láA×.ÕÊJ$‰D¢Iz-¬jm¬–裭ò‘©|t€\€. §üè_½~ëB‰âß—×ëúÔ®UQð3{ölµ¿×¬]*™éÒó7gåxw>߸£7&µ¾¿bNòcäòdjÔ®ËéDzÌ—W7wfÍœþC]ìÿ-½úô£‘«+íÛµ’ü9êíÃá#^obÿ×Lœ<•üùóiLò;ËéXìй+]:uÌôÀF"‘H$’_áÎÝ{ìÙ»‡ñõËWôõõ©P¡<#† Q{7‰D"‘H$INnݾ-¼”øWù”˜È•«×¨Z%-]fNž>{Aj•«rà3ðø |Sù¤¨|REŸtÂÿËÎâŠä½Òž‹‡ç¤TSwÞ\½Ê§'¤ ç_èÿØ»ë°*²ÿãïË1)»;@$$ °kítíînw펵ÁAìÂv] •ƒPê÷0Ü;”U¿çåsŸG朙;s¦Îœ{Îgþúë>Ú¹µ)]ªIII¬^»–Ò¥J}ucsš/â'ß’8äÒ}çßíÛw˜>Sý…d-š7§w¯òÉjÂ#"xùò%&U«¢©©ÉI?îß Å¡ÎÎî={9pÐM>™qcG‹8Ë‚ B–jT¯FêêdAA„tßeƒó·¢_³щ $Ÿ;'OþÐP/]FHH( …cãJ,[ºHžMá‹T¯^ƒû÷Ê'‘Oqq,\¼”   “(\؈óæP¬hQyÖ :wê(Å AAAáÛø.CjÈ™ÔHé©v÷ÖuyR¶_½"´rer-ŠþýûòdAAAAA„ÿ„©ñR*„QBŠÐ0y’ ‚ ‚ ‚ ‚ ‚ð} ÎioÌÍÉ—æ“hkCRÄÆ¤ü_AAAAAø×hÈ'‚ ‚ ‚ ‚ ‚ Âß!œAAAAA„oB48 ‚ ‚ ‚ ‚ ‚ ßÄOÝàÈz`}êÿAAAAA„ÏOÙàƒm:¸ÚÛ#°¯WØØXyvá W­Îã'Oä“¿;-[;såÊUùäLy=F¯>ýå“ÿs9mƒ•çÎ_Oþ¡MŸ9›5k×Ë' ‚ üÏ»uûÎm;P«®)õÌqáâ%y–Í—~÷ØñY´x©|òM^GP½÷þW÷,ù:ý9Õ%~éÙ›]»÷ÂßøÞ%Ë–SÏ´!U«×ÂÿTæmˆ‡ÿ°_¿~C# +bcãäI_í ›;;w“O–¬Z½ב£àï¿Muä´‚ ‚ ÙùéœcbbhV­S®_çìÛ·¬Ö§##wíÍLLˆ‹ûþ+|ÿDËÖÎxö”O¦™S+Ž?!Ÿü¯8vü?~”Oþ1r„+ÆÆÆ¼}û–“~þò,’zõêÒ¿_ùäÿÜ×lÃÏ¢][gìä“Aþç-Z¼„5ªxùçNûS¯nî?x@‡N]1©Q+;º¹Ëgàè±ãT0®ŠïIµéAOŸ2Ìu$õ˜cR£v¦ Y}÷—zLõZu˜=gž<é»Ñ«O*WUû¬]¿!Û:¿uÏZ»~ƒ´UªÕÄ¡i ¶mß)¥g·Nÿ¦¯ùÞG³yË6¼<q÷ÖuÌ5dʤ hiiɳþkå˜CC&Oš€ŽNnyÒ¿*«ï½~ýÃ\GâдM[`çРב£¸wï/µ|ÿŸþ?÷GN^¾|I÷½¨Y§>Ö¶öò8,ÏÀÆM[¨`\•°ðpyM[´äìÙslÙº óÆ6Ô®gÆ€ACxûö­ZÞ'AA´hÙ†±ã'ªMOFÍ:õùðágΞ¥s·_R~ˆ3mÈÔé3¤TΞ;O3§VÔ¨]綸}çIIIìücÍœZQ½V]Û4aÇÎ?T¾%ÝÍ›·0®Z#^Þò$ÉÇ:|V6÷Ù!ÃØÚ;R·~zôêÓ  yž={žáú'¿^Ÿ=w—v¨gÚú Ìyó&D-]A2£)Ÿð£s²°`úÓ§ØÈ»äd’Ÿ>¥•¥%'®\‘' ßHbb"3gÏÅmÿ^òæÍ+Oþ×ÙÚXKÿ÷>vœ;wîÒÄ6³#Œ 124”OþÏ}Í6ü,ª™˜È' ‚ @hhݺvA©T¢T*!õ^;hÈ0œÛ´fÓ†µœðñeüÄÉÔªY“òåËIó~øðEK–R¡By•%›7!tîÚ®]:3kæt ( Ö`’&³ïþӦϤBù òÉß±cFѧWOéo  E–u„óžecmņukøôé—¯\¡ÿÀ!”/_ óFÿY½%§ï 8}†wïÞѪ¥ÏŸ?§Dñâ.\€\¹rÑÔÑA> üËå(§©©IófMå“ÿu™}ïÖí;ðö>Æøq£©]« …‚¤¤$Î?ëÈQL™<K µyþ?ü5†úõê²uóF<|D÷_zR±BLLªJyîÝû‹ÃGŽdúcÆ7‰ŽŽ¦Q£†œ9{–õ6±ëí”(^œ™³ç0aÒÖ®þ/ï£Ì_¸ˆ*UªÈ#qs?„­ ùòåãÒå«ôëÝ‹FòþÃzôêÃæ­ÛЯ/QQQ æÊ’E hbkƒÇaOúÌ)?øëþ-˜G•Ê•¹sç.]éIêÕ©Y³†ô]111Œ›8‰2eJ«­ƒª{Ýg¸ëHjÔ¨.Oâö;L›1‹í[7Sͤ*»÷ì¥k·œô9Fžª–ž6TÓóˆË–­ÀËû(V6vÌ[°HÊ“F>\0ðÚ5Úvè„IÚ˜5²Àûè1H]¦ç/Ú¸´§v=3œZ9xí¤öVX¼d–Ö¶Ô3mˆcs'.^Rrœ˜˜H­º¦Ü¸qSšfaeÃð¿J¯ß¸‰~ÁnûwiíÒŽºõàØÜ)ËcÇOdíºõôìÝ—Úõ̰shÆåËWX°h1 Ì-©gÖ(CÙìÛ;‡fÔªkJs§ÖøžôS[Þþ3nÕkÕÅÃóûºacçH=Ó†üÒ³7/ƒƒU–˜ÎÃóŽÍœ¨gÖ +¶lÛ©Ë]º|[¶mÇÊÆNúT0®ÊÙsç!µGK»ԭ߀æN­Õ†gµlA„MhXŽÍœ0mhÁ“  \GŽ¢jõZÒýîÆÍ›ÄÅ}bèàAäË—7wJ•*‰›û!µå,X´„¶ÎÎèÊ6mÙŠµ5Æ ¦`R£MNß pÒÏŸfN­¨U×”î=ze²Ìóˆñññ4l`&Oúîh(4¤Fu¥R‰B¡ÈPGP¥zÏzŒ¥µ-»vïź‰õÌ1zìxµ‘^ÙÝ»²¢­­¥…•yôø1Èê-/ƒƒ±²±“î¿uê›Ñ³O?Bäe¬Û°{Çæ˜5²À¡i NŸ9+¥É­ß¸‰Æ6M0mhÁ„ISÐÐHLȪ,üüOѶ}GöìÝGåÊÆx=ÆÌ9óxöü9V6v¬Xù;Ÿ<Á¸jÆF1þÅr<èæÎÄÉSÙ¸i ¦ -˜8y*/ƒƒ©`\•ÄÄDHýîu6ÒoÀ êÖo€¥µ-{öî“–‘U]73gΞ¥¹SkêÔ7ã—ž½‰ˆŒÒäß{íúu<<<Ù¹} ¡¡a´líBË6.4mÞí\Ú¬]ó;ÓfÌ’êäç/\T[öÆM[¤piÇÀ®Ý{±¶µ§FízŒŸ8I-NË6.Üûë¾´>þ§pnÛ†æidiÍú›¤4Õý‘ÏŸ?3wþB˜[R­f:têJRR’<ÛßöòåKîÞý“áC‡¢T*©RÙ'§¸òòÄÅÅ1jÌ8¦Lœé~Ùwà mÑÐÐà°§íÛ·¥l™2hii1Òu8~þ§ˆz÷]]]víØFÍê™§¸Ñ®][Fÿ:[[rçΑ¡!6àÉ“”ľ'ý©llŒ][ mZ·¢`¡‚œ>s]]]fÏœN5”J%5kÖ LéÒBNŸ9›6­[¡§§§6]•¶v.¦MLçNåIœ<é½]jÖ¨ŽR©¤[×.)R$Óó?<<£ÂFj×?ÕsÁâ%Ì›3KjlFÖ -‚ YùéœM²hÄTUýÓ'®ˆÎxyÅ´~}.ž;ÃÖMÙ¶c‡ÔÀºtÙ =y‚Ïqo|%((ˆ˜˜i^}}ôëËi_|åæ­[xyE©T²uóFìÝC€¿/EŠfå﫸vý:ÇzàçËÇXùÛ*iyªNõjÕ¸zé<ìØÆªµëÔÒ‡»Ž¤råÊ\ºp–Ý;·³}GæCÑZ:µ c‡ö´hÞŒ_&Œ#Ï¢&,<œ>ýÒ±};n^»Â¡ƒhÔ°”¾aÓfÖ­ùkW.â`oÇÔi3¸rõ*žG¼8zä0W/_`ÝšUzH(•J˜™J Ñ·ïÜ!oÞ¼œ;wž„„.\¸”¡7KvÛàã{’m›7xå"-Z0yêtµyUmÚ²)“'rõÒyll¬ù¥Wttt8wúöíf×îÝܼu€ÓgβhÉ2–/[ÌÀËL?†¿ŽV{XY´duj׿ÂÙš7uäÜù ,X¸˜ kWsåÒy*W®Œ«JczšøøxÆO˜ÄòeK¸zé<‡Ýb—IÏí^=~!Àß—_úöéE5˜™IßþéÓ»W.2rÄpNDDä/[áG`dhÈñ£G¸|á,eË”á·Ëøóö .ž;ÀãÇO¨RÙ…BÁþùÿ™_G¸ôô©´Œ«×¼vþýú˜¨ÞtåÊUŠ+JÇÎݰ²±£G¯>ÒPþœ¾ûõë7 >‚ýûqíÊEôë›!d×»÷ïY¼d3gL#ñ6D}¯^¿~Ãã'ñ9æÅIŸc¼|ù’…‹—d{ïÊÎçÏŸñó?ųçϲl´~õŠ«Wñöôàü™Ö®KR§vmöìÚÉ¥ógéÖµ ÓfÌR™;ïI6lÜ̆uk¸p6€f¦Ò½rÉÉÉøøž¤]ÇΜðñaá‚y¬Yõ•*V¤y³¦Lš0޲eËàï‹ëð¡òÙ³õ-ËÑÇ÷$AOŸrôÈa¦NÎ$ɮ۪ʕ-‹…y#ùdH½väέÂ¥X±¢--- ôéùKw)ýÅ‹Üýó#†§ôx(X° ½zþ¢¶Œ¿ëäI?Ê—+K‡öíÐÔÔ¤hÑ",XPJïÞ­+… F¡PТy3©·QáÂ…ùðñûºM™Ò¥)?¿Ê’SXZ˜K/[òñ=IÊ”-Ãå+WIHHàj` ––æòÙ²Ô¡][iýš9:òôÙ3y‰½]Ê—+‡R©¤©£=‰‰‰ è×¥RI™Ò¥©T±¢4¿û!\œÛHÃ*--,°¶j¬;¯nÚtîÔ¼yó¢¥¥…›û!œÛ´¦B…ò( z÷ìÁÍ[· Qñ¦T*)Y¢;ÿØÅ«W¯ÑÓÓ˶‚ÿøÉVü¶Š%‹ ©©ÉI?Š—(N‹æÍ u»ôõõ8{þüW/[áGK¾|ù`ɲåÌ5“|ùòIqIããã™2m:3§OËt¸yhh(çÎgåò%œòó¡MëVôé?ð‹^lpú4Ê—£u«–hhh`aaNÚê>óç/¤Cûv”)õðïÉo«VÓÀÜRúܽû§™I{Ø$5–bÞ¼yÕB¤hjj‘:1"""C<¸%Š–þ2–òåÕc†„„â{ÒÏ#é=ztttˆz÷N­L544Ø·wë×o¤MÛöÔ¯W—)“&R¤HÆrOHH`ô˜ñŒt&=ȼ áÑ£Çjúãâ>ññǯZ¶ ®P¡BÄÄÄ0sö:vhOÅŠ¸÷×_RCÇÚõ¨U³¦Ú0hUÉÉÉ 4PºF;·iÍ’eËyðàZ,ÑÌDDDR4µ‘,Mq•:ÃåËW¸~ó&3gLSËó=ëݳ]ºt’þ.T°`¦=³S 54 ©uªÈÈH²½weƪ±%Ö­áþƒ´ëÐ9ÇzŽj=IKS“øÔ‘S‰‰‰¬]·ÓgÎ’O|BB¦õC€°°0jÈ ¨Ö3T 2cãJü¾j5k×­§k—ÎØÛ5Q«'þߪK—.…¦fö:ªeGZ}(µü¾´®&5§)Z¤²X¯OŸ?¡­­M‰âÅyúìŸ?&$$„òþž>åct4%K–ÀËû(EduS#Cà /¼Ó××—þŸ+W.µzŸ¦¦& ñ)ÛpÄË›ý¦„*Q(ˆˆˆ$)9ëž´™ ˆ pa#ùäoFW7±1êazbcb(P  aááÌž7Ÿm›7¢T*3­ÿî?pÎÓÏg]]Ý ¾±1±R8¡ìDGGsü„Ǽ2¾}˶í;q‚Û¶H Äyuu¥Pibcc)U*½Dbb"®#Gahhˆë°”QIIIŒ;ŽqcFeyî})K ôëKŸ~P(ØXYQ«f ŠÉŽSRÜ02JÙ— dÒ„ñÔ¬S §OQhh ­­ÍÈÃQ*•ÐÒ¢k—NlÚ²•Q#GÈ%‚ j²¯…ý`êÖ­‹vÙ²ø¾}‹]êã ù*V¤¶¬'ÎϤDñâ<‘2*M||~$&&FjTVí%k oÀûˆ“†ÙEFªWºUe¶.YÑ×Óç…¬ÜT)²éiP¡By–.^HXx8ƒ‡gÍÚõ†‘–.] ¼#òm$uj×B7O† w%üYönÎj44¾üÁ.«ed¦D‰z@¿¢\¹”ÞêË322¤gîŒt®6=3 `ì˜Q¸ÊÜy 9z »wfŒµ¼ò÷Uèé¢k—ô‡;#CCjT¯Æž];Õò¦ùÒe ‚ üèÊ—+Ë…‹)Z¤(‹Îàö»TH6~ôèq<|Èþ¥y FSG~_¹œ’%KžþC"©uù¥™122$B6odd$ESïŽ?Á£G©R-}˜8À¡Ãž\½”yoÔÿš®®.†Ù7ìæäÍ›J—.À‹/É—/ššš9Þ»²b\©-Z0gÞÖ¬úMž,ɪ'䆛8îãÖÐ××ãIPM[ȳ`h`aT’¼Q3MÊh)š::pçî]¶nÛÁü…‹™4aövMäÙ¿Ú·*G Eæå¢J^ŸI“S]W•¡á——©õÍׯßP³f š5u¤cçn)R˜?vlgúŒYèêæaùÒ%hhh`` ÏÙ²##3†ùÒzÞõë7˜8y*{wí¤J•Ê44o,Ï–#=½B¼xñRzNøÖ*U¬ÈËà`µúþý)S¦4î‡>ÄÑÞNJ«T±"=’þ~ûö-‘‘_4Îóˆµk×ÊмvÝzNøø²cëfµ†ëŠ•*²k×µ¼÷ï?z©þü™a®#Ñ××göÌéÒù{ûÎ]®\¹Ê“'O˜>3%ôMTÔ;L{È™³çX0oŽÚ2sÒ»WOz§¾õÝû÷Ø6q A¡yT%''‘œœŒNnôõôøô飣¥Ñ›Ÿ>F;Wz§AAÈJÎ5±Ìá3g˜]¦ >™T¼Ž+Ì+S†ÃgRbþ¬Úµuaûöœ 8Mll,ááÌš3—R¥JªõZ ‘Â$< âÀA7é-âŽv¬Û°‘÷ï?Ϫ5k¥ù¢££‰ŽŽ¦NÚ( ^sáâE)=W®\èêêòçŸ)ÃQ“““iëÒ†e+VJ/’‹ŠŠâþƒô8liJ•*‰q¥Š,[ñ |øðAía¹T©’R¯šÄÄD>~üÈöY?x*T’ õðž:}ç/¤¯o[kž>{އç’’’ˆŠŠÊòÅwª^½z- UÔ+TˆR%J¨½àF•…y#ÖoØ„]“&hhhP¥Jeâããñò>š!~sšÌ¶áßÔ¾­ žG¼¥˜ÍW®ræì9Zµt’g•¸8·a÷ž}\¿~ƒäädâââ¸yó–<ñññ\»~ÄÄD´µµ166䬮_¿Á¾ý˜/«\Û5iÂÇ8pЄ„¹wï/bcc¿xÙ‚ ?ƒj&)ÃÅMMëÇÙ³ç8èæFëÔkµ÷ÝÿSúT31aÍªßø}år:vhDz+yþü‰‰‰lݾ]]]i¨}v¬[òàáCNúù“œœÌ¥Ë—¹xé²”>mÊ$µïîÓ»=éþÝ66+›¶láóçÏ|üø‘ÕkÖJuªìî]9ùu„+çÎ_È2žrvBBÃ([¦ úúz$''ãæ¦þBIUö¸òàñ“'$''sÂÇW-^nVª™˜°xá|ìÝ-õ’ü§þn9fU¿û;rªëªJ;||O’œœÌ£G3õœÆÑÁž?v§4H:÷ƒûX³ê7ªT6fïîlÞ¸ž*•Sr­­­xðà~~þ<{ö<Ûeç$$4”üùóI1†NŸ!LöãQVTË·y³¦lظ™ððˆ”ýZg¼xéS¦M'99™OŸ>1nÂ$nß¹©/¤–ÇŸÎJáÂ…1­_Oªï?xøÃ‡=iÓª%Ý»v!ÀßOw<=Üñp;ÀŽm›iÕ²%¸áÔ¢¹Zç68àÆ³gÏIHH`ùÊß1oÔP­'xVöt£}[µiK—¯ÀÇ÷$k׬"W®\ÄÄÄH=¨ílmx„_êõñ°çBBB°±¶"66ŽþchhÈä‰ã‰‹‹#&&†¸¸8LªVáüÙi»<=Ü1©Z…±£G1iÂxµïÿiÏ Á¯^1t˜+íÚµÅÈЀí;þ`Ûö”ç§“~þ=}JRRááLœ<Óúõ)V¬( ÄÞ® 3gÍ!::šÐÐPvìüG‡ôÆ|AAÈÊOÕÙÔaüÇþü“V––L}ü˜ê©= î*D¾ 8qöìõÞù‘ÙÚX3mêd–,[ÎÓ§OÑÖÎ…y#¶nÚ¨Ö ÆÔ´>W®2á"“èѽ›Ô¨8jäfÌšƒ­½#::¹éß·î¡P¡BL?–>ý¢¯¯G±¢Eiç¢^3j$“§N'yÊ4öìÚ™:\ìw:vîÆû÷ïÑ+TˆþýûfˆI¨P(X¹b“¦L£~s 6¢c‡öRã´B¡à÷Ë™4e ÌS¬XQÚ´n¥ÖkAU›Ö­ññ=‰YC œZ4gÚÔÉ\¼x™Õ3.R¤0kWÿÎÂÅK˜4y*ººy˜9}%Š—gUůcÆA^]]*W6fÂøqòlÚà¼gï>ÆMï%ckmÍž}û³|!|fLŸ*ÏòMÕ®]‹éS'3â×QD„GP´XQ–/]œm|> óFLš0Ž “§ü šØÚd–˜˜È¢ÅKyøð:yt(Z¤(³¦grýûê5ÄÄÄÒ®}úpÈ ãÇÒÔÑ­[62wþBfΞƒ¦¦cccÖ¬ú …BñEËAøY¬\¶”‰S¦Òм1F††Lž8“ªòl™rqnCTT=ûô%**ŠªUª²nõªLã=ËñÛŠåÌ[°_GÅÌ´>=TÞ·ð¿HKK‹ å+àдQïÞaiaÎÄñc!5¬UV÷.y¬W9ƒ”×Íš=/ϬŒ3Ó¯OoFc3' ,H»v.äÏŸOž RAƒ‚‚èÑ«Ÿ?Çco×ç6òlY20ÐÇÀ =¬ÃßõwËQ[[;ËúÝßñ%uÝ4… æ·Ë™¿pã&L¤š‰ ½zõÈ2øàAèÒ­ tëҙ… “ÀýûxDK§ô^èF††¬úm%ó,d┩T­R§Í S[æ—²µ±æT@öM[`h`@:µ°jœ¢$+IIIjå;fÔ(æ/XH3§VÄÅÅRÍÄ„Ýì 8ø/^&))‰¤¤$Ξ;/õì½ÿà¡¡_¾Þ‹Îgü„Iԩ߀¼yó2Âu˜T¯T=oÒF`êéé‘+—@.@ ÐNýä¾xã|…òéCï³xí ÌLÑ•½ÄA®‚qÊÃÓ£û™WܲrãÆ ®¤†Î¨wíÚOFãktsgÿƒ_<,ñ¿t5ðC‡»rñ\æ=ÓOŸ9Ëô™³ðó9.OAAøW½ ÆÚÖžûÞþfqŒÿý/•ã§OŸØ¾ã|OúEbb"E‹¡SÇ™¾PÕ¢ÅK‰|û–ysRÂ.‚ ‚ðc»tù2f¦¦òÉÿÈÇèh._¹šáÅÞYyô8ˆúukÕbOÀg HPù$©|’eŸ4ÒÿºΪjÕªE­´?¾°ÿ—dæú»wñÒ%*”¯€>QQQlظ‰F ʳ ‚ ‚ ÂwG[[›~}{Ó¯ooyR~~þ4h`FžÉ'eêKóIbcIÔÐ@¡¯WAAAAAø*?uçÄ·o ÕÔä­‘¡É©ÿT§-Yº4C´ªW×xzëÆÆ45•' ? {Çæ\¸x €‰“§²ò÷Uò,¿ 66Ž!Ã\i`Þç¶äÉߥÙsç³~Ã&y¦Û/½~õ “µILL”Íñýû‘×ýÿÃÚu=v<oÞ„`mkOlldq {yꉿ–ÖœðñU[– |y¦S×îòÉò8L3§VÔo`Ž­½#?~”g¾±cÇOÐàùäɯEÿ_Ú¶ïH`à5ø‚ú’êýò{ ZÖ9Ý÷þ«òAAÔ}w Î:yò §o˜íGGGW>›$áógŽLŸÎG %Æ#F€B!ÏòSë?p&5jsïÞ_ò$<{bR£6‹–,“' ß;wïrÿÁùä ì›ññãGÞ¾}K»ŽÕÒ’““Y·~#5j×#øÕ+µ´4ïß ‰CSfÌJÿÑæóçÏL™:sKkÌÛ°hÉ2’’’ÔæKãqø0aaáœ9u’=»vÈ“¿KÎmZagg+Ÿü͹òOú!´rnËùóä“úŒ7ÜÉ1œ””Äì¹ó˜9}*gü°±¶’/Bø—ý¨çÎ->>žYsæ1|è®\<‡‡ÛòæÍ ÀÇY°p1vŽÍ¨kÚP­ôîŸ2hÈ0LZÐÀ¼1ÃGüÊÛ·o¥ôk×oðK¯>Ô5mHc›&,X´D­‘/))‰?ví¡K{ê™5Ä´¡E–€?‚;wï2tøYXQ§~š9µbûŽòl’ºuëЧwOùä ä÷uùµè[ ŤFíL?N­œ6t+V”Ïš©ÿ¯ûeVNøøªýhò¥eÍ¿T¾™‰eÃÆMtìÜ–­]hîÔšöº°uÛväÙ…¿!88˜Þ}ûcÚЇ¦-ð<â%¥½yÂ0בØ;6Ç¡i FŽCDD¤ÚüÈê6ÛwìÄÆÎ‘æ:|QQQR¾;wïÒ¹kwÌYâÒ®#§ÏœUYJаðpLZðáÃÎ?Ï/½ú`ÖÈsKkfΞC||¼”÷ü…‹´viGýætìÜ;wïBêus÷ž½´viG=³FØ96c×î=Ò|×èÛ f,idiÍ€AC–ÒUåToÏj2óOËFA2ó]68ÿ ññì˜0‰ÇwîRØÂœŠÎmäYþ'Ô¨^ƒî‡ä“9pÐ ãJ•ä“…ïÄ–­Ûyøð‘|²šçÏ_ WH¼yóråj õêÔ‘Ò¢Þ½£ÿ !<|ô¥R©6Ÿª³fS¨P!µi«V¯åeð+ŽzyâuØÀÀ@vîÚ­–'Íó/©V­*ZZZhkkË“¿K&U«Rî_~è“  6lü~z…}©[·nMƒfò¤Ÿ†¦¦&MÓÃ+ÉáwïÞñþýjת‰††ZZZjó ÿ®õÜù¼ÿ¸¸86l@¾|ù µacÀ ¡¼ aÛæ^¾Àªß–KóEDDb×Ä/ÏC=âAll,ËVü&¥Ÿ>}†v.ÎøùcûÖÍœôóÇ]åG+ç ›;3§Oåò…sœ;íŸí}ç{x½úR©REöíùƒs§ýY´`uë¦ß_å 03­/Ÿœü¾.¿} … qëúUn]¿Êž?v+W.éo÷X[5&þ”c@C‘õ#ÀÿÇýRÕÛ·oY¶|%ñññ$&&2wþB¢£c¤ôÌÊZ‘Eg’£|åÂ#"èÖ£(¬_·O7¼x°nõ*^¿yCÿƒè_¾£ÇMÀĤ*ΰrÅ2æ/XÄŸÞ`Á¢ÅèééqÌÛ/ÏChii±tù µùUë6çΟgÓæ­lÙ´ž3§NbhhÀ”i3ˆ‹‹cÐa´iÝš g˜4aã'Lâöí;jË;äq[k+òåËÇ•«×èÝãü|8ä~€Àk×Ù–úÕ»wïñëh\‡ åò…³tëÚ™!C]ùôé±±±Üð¹³gréü–-^Ä’e+¤ïzõæ ݺtæÜiü|(Z´(S§ÏT[4ÙÕÛ³[¹oQ6‚ ‚™¬k›?˜wQQœ÷÷gb§®œ>|˜¼¥Kã²jÕÿ\ïæ4ööx=¦V±xDHH(5kVWË{óæ-:uéF# +Ú¸´—BT²"­—S­º¦¼yBllS¦ÍÀÂÊ;Çflß±“Ö.íx@BB‹–,£±M,¬l™>s6qq™m´wlŽÇaOÚ¶ïHC‹ÆôèÝWZ@=³Fj¿Èß¹{—楿¿TfÛÁ0ב˜[ZÓÄ¡)Ûwþ¡6ÏÚuhlÓ„FVÌš3i3f±w_ʃۖ­ÛcÇNøàÔÊ™÷ï?[[›fŽ,^8?ˇC‡ùðá#6Vê=8½Ž¥¿>äÏŸ‚ Ò»WO<<«åXñÛï:äÁ¯£Ø;6çÌÙsò8ÌÔé3Ù²u;V¶RåøútJíakïÈú ›HNN†Ôõ?a3gÏÁ¼± –Ö¶ü±kž^Þ86o‰Y#K ƇdkÂÞ±9žG¼hÛ¾#õÌñK¯>t§Nõî7oÝ&W®\tìÐ êÖ­ƒ‹K«ô¨pw÷À9µ#ÓˆáC±¶¶"wîÜÐÀÌ”  §øùP©bElm¬Q(´tjAÁB9{î<ºººLŸ:“ªUQ*•T¯^Ò¥JI÷Ö–-šcmm…¦¦&ZZZX[5β|³«·g·rߢlA!3?tƒóª5k¥!ƒÛÐÏõW¼>ä²NöD¾¥¾µm†¡…™}ªÖ­E×!=p;qˆø„ôáP?2CLLªrÂ÷¤4íÀAw\œÛ˜˜>ÜêíÛ· 2Œ¿tçüÙ† ŒëÈQDF¦«6c&C äÜi 6bÕš5<{öŒ£G<8zä0Á¯^ñèÑc)ÿêµë¸~ãžîøóæÑ£Ç¬^³NJ—ÛÀÍ×sÚÿ$U«Taä¨1Y6–þòí1r4EŠáô©“lÛ¼‘µë6pæì9HøÇîÝlÞ°ž3~Ô¬QƒnîòEféÂÅK,^²ŒÕ¿­àìiŒ=f»v¥ óó=Ι?&Ž‹ž^!ÆEåÊÆL7ŸãÞ8ØÛ©-³t©R9ìNóæÍ˜8aG»Sªt)¶oÙÄ‘Ãîäϟܹsã’M¯þ/^²fÝæÎ™IbRzÇÅÅñúõ*T(/M«T©"=ÎÐ8é:l(­Z:Ѫ¥>ǽ±´0ट?OŸ=ã°ûA&ŽKDD$ƒ† §[—Î\8ÀÎí[Ù»?{öî“–uÄû( ÌÌ8wÚŸiS&3á"Ž?Ûþ=øù#<"‚}Y<\ìÛ€-›6rÚß—„„:uéN§Ž¸xî4#]‡3}æì¿u,mÜ´…ýûqþlsfÍdÖœyÒPͬŽï Ê3iÂxŠ+ŠÏqovnß"_¬äk¶[SS“Í›áéáÆi_ Y·~£´¬ÄÄDþºÿ€Ãî9sê$¹råbͺõú0ŸÓ>ˆåø œÛ´‚Ž]€W¯_xC÷ãï{@ê™xí^ÞGñp;À¹3§ø}årŒ¥ys²tùJjתũ“'hê`ŸeYg&,<ב£п/çÏ0jä¼¼ÒƒUÉá¾½{±ê÷”žQ‡Ý²jez/Я9ÆrZ_ù9òöí[†¹ŽdÈà\8{šñãÆ°qsúq“ÝõùkÊzÁâ%4mêÀ™S~ø÷¦wêÐôì–Ÿ&»ësÉ%˜;{&þ¾¬]õ+VþÎë×o¤yåûS_O¾½{á{ÜoOnݾͱã'²äÇ÷8:سxé2ŒŒŒ8ì~ùsgóêÕkZ4oÆ¥KéÃÙù'×gÕíÒÓ+Ä”©ÓY´p>çÏœâà¾=Øf*»}7lįèësꤾǽ‰ˆˆÈÐË6³2ý–ž=¥x±bj¡QŒ+Uäþƒ‡ôëÛ› 7±{Ï^vïÙË/o å•×mž>}Jùrå¤ôB… ¡¯§ÇãGùüù3¹µÕC°-R”§ÏžI^#!1ÓúõÔò‘z}¼výuëÔ ((H­> `\©R¦!ó"#ßòìùsjÔPï ”˜˜Èƒ‡Y³v=..ëõ9ÕÛ¿fþiÙ‚ BV~èço)ðö5Æ-ŸHç)Ýx‘Raü‘)çÖ­psK «Ï//\œ[«5 úŸ  Xñb4kê@[ôô qîBz,×íÛafZ]]] G§¿¾äË—--- è/å%µ7L¿>½)??::¹éÔ±=>'Ó¾å:ulORULPÐSž>ýöÕíxù2˜7o2lÈ`”J%%J” ‰­ >© ô¾'ýhÕ²%*”G©TÒª¥¥K•’/2K‡<ÓºUKÊ—/‡B¡ G÷nܺ}‡ÐÐPJ–*ÉÍ[·8pšäädª™˜ÈgÏÖÝ?ÿ¤bÅ $%%ñòe0%K–gÉTbb"c'Ld¸1èë«¥¥õÔÉ^©Ì££Cbb"qq‡ßeF¡P0eÒôô ‘;wnüüý)U²$N-𣡡A±¢EéÓ«'î‡Ò{M—,YBz·µ±F©TÒµSGtuuÑÕÕ¥¡™Ïž=Wùu:´'þ|äÉ“+KK*W6¦Qê°r»&¶ÄÄÄ!Ÿ-GÖV¥Ê3S ÈÏó)ëñµÇwf¾v»;wn”J%æ¼ VÍÝ£{7´´´È•+ÖÖVÒùó%ûàø LªV‘z@fwì¦4 ::¹É;7Mlmxò$¥gŽ‘‘£?âvȃèèhJ—*Eüù¥ùrR§v-:´oKÞ¼yÑÒÒúª²>sæ,eË–¥YSG U«VÁ>“Ưõ5ÇXNë+?GüNS¾|9ìíRù*V¨ ]‹Éáúü5e]¦tiNœðáö»äΛJ©q\³[~šì®ÏåÊ•¥|ù”‡ÔÊ•144à•JÜxùþÌ›7/f¦õQ*•äÏŸZ5kòB¥× \Nåù³{þâ?Áuø0råÊEáÂF´kë"Ï–¥°°0.\¼D_ºq☳¦OcÖì¹ÒtRßëÐТ1vŽÍ¨]«;´W[Fš›·‹S‹ºì  §”(^ ¯Ã‡Ø¾u3gΞeמ½[ô¤Ÿ?cFýJ™Ò¥ÑÖÖ¦fÍzAÒâV/^Lž¤F^RõOîë9GÙÝþ‰&¶¶”-SóF¨R¹2§Ó{9«’_»ÒtéÜ ### MÔzàgµ]ÑÑÑ4kÑŠ7!!ìØº—6­ÿÖqѳGw”J%yòä¡wÏœðÉúÚÙ¾+R¤0íÛµE©TbddDݺu¤{ÙÜwoܸ…YêËȯ_¿A«–NÚË=Ož}†ç/^ð먱Ä'$KËÖ.ØØX1jdJ€¬¬^»“ªU±¶Ê’$­¢'½l*&6–\¹r}ñ‹wJ•*‰¦fú%%""2C™/^œðˆ”ð z…ÒÏ1 455ÑÓKŸ¦©¥™aˆ¤*}•¼¹råRû;í6>›ù³R¤ˆz/ááálݾƒC†±aíjµåì?pí;v²mó&é~œœÒ›.íÞ¥§WˆíÛqü„Ý»v!**ŠÄÄD©±ç{–ö>ƒðð ( O–ÈëBªþî}Èñ<Êî~ôOÈ 222$Då‡EUòkWš"*uJMMMµîYm—®®.îص{/Îí:à`gG‡íÔ ¿DþÔXåF††¼}û6ËrÉlßÉëÃZ*ëŸÝ}÷ãÇR©X±¢Ç¼ˆz÷ŽiÓg2yÊ4æÏ›™ÔmòäÉCLLz\p€Ø˜X (@X±t1ËVþÆÜù ¨R¹2--øô)¥ŽïI?»gq·}çøœ<ɦ 뤰dyuu‰z÷N-_\\œZ‘ÄÄDFC TËÛ«ç/ôìшÈHöí;@ÇÎÝð”݃þÈô—ìE®\¹hÞ¬)n‡<¸yó]»t–gÁÈÐj&UÙ±-ëáÿŠÔ T}}}BCä^ïßP{ÈÐ××gþÜÙ40Ké’“ôØd?~äÝ»wÒ R©$Y¥aJ5ï×RÝC”J%>Ǽ3}é‘¡!!¡êßšW©ÔȪ!$$ýAÍÈÈ:uº0lÈ`µ{ƣDZob+¥gwì¦ÅrN{¨ÊLùòåX0oá ñ+6nfÈà”Œ9ËòrÏ®¬¯_U®|÷Ï? 8­ÞX¢ú–õ¿ëköUvëK&çˆ>odåÖÛ’/¸>gUÖòcN©TÒ¹SG:uì€ç/ú Ĺӧr\>Ù\Ÿo޼Ŵ³Ø±u3•+§„ò°²QïQ®º??þL¿ƒ7fÎmZ£P(3n‚”žY1çTž?;CbbbRzú¥öTSNŸ“%Š«Ý·H E Úh¡££ƒŽŽE‹aèA8µr&::ZúqiÛölݾ“-7ðìÝuXYÀñ/%ºÈŠ„Ý±îÚJ§ ‚vwwwww‹±vv‹-v+6*%¨”äû0Þ;¤ÊîëîžÏ}ïœ3ÃÌÜ9çÌœ9ó›rå¾v0•(QœÂINN–ÊH\|¼´lmmmTUUy÷þzz?÷Í{]Ý‚”+WßC‡èÓ«§s‘‘‘$''øö­_°n]{öìÝG@@Ê ØéÓgxùêë#¬%K–äáÃGÒã…wîÜU:YswkÈÖm;¸uë6ÉÉÉÄÆÆJot~øè±ÔVºT)t  22 Ý‚¹ÿà!ÈFÀ¤ â¬=}@ÅŠäY2uô/ûöìd׎mìÚ±Æ^žÔst.f¹¹±jõ>þÌÇñY·WWùbrÌÖÚŠ°°0ö§þfïß±qó<¹Ë³þ£du|ëèèJX؇ ¿ïB•Ê•ÑÔÔ$&&–ƒ‡˳d*»ß`÷î½8×wRzD:«c7;ïÞ½—ÊIAJ•(!½Èé{ÊrVûZÎÊÒ‚'OŸrâä)’““ xÆ¡ÃGäÙþRß²¾ÖÖV<}ú”Ó§ÏðêÕk¥uΪ~Îj_Ëݸy“ØØXTTT¨R¹2‰‰‰ÄÅ}Érùi2«Ÿƒ‚ƒÑÖÎ/ň<çwžÐ,Â×DGGEÍš5PQQ!ðí[.)Ä8ͨì|ëþü·)Q¢8•*ýÆÒe+HLLäÝ»÷ìÞ»Wž-Sîî>r”³çü¤£ç/\Ä2õIžÓ§ÏðìùsbbbÆgízJ•*)u6/Z¼”õndŲÅ+V”èèh¢££INNN ¢*Åm~ûî[¶lÃÎÎR;²ÍÍL™3w>oß’@@À³oê0ÿ; è×—5>ëX¹z !!!ÄÄÄòòÕ«¿äð{Ûõo-G¹éô™³Ü»ŸäädNŸ9˃Ó½Lø{åt»òåËG³¦MØ»kÍ›¥<í'O´´´xð %ô‹b8E+V­áË—/|þü™Uk|”:TVí®•¥%~.F¹reY³j[6n ¡k:wìÀ–MÒ·w/©1»óÅ©ŸÅÇÇsóÖ-ÑÔÔä·ß~#**å¼rõ*ã'NÊt_**T¨ææ,Z¼”¸¸8bbbXº|Îõ2 }²qÓþܸR_r:|äh>}JÙÖiÓgröœŸlŽœ)T¨ÆFµX¶<¥þ{òô)¾¾qsm€––úúÒï’œœÌá#G)[¶ jjjžÛ4J 3øêÕkX¸x)f¦&èê¦ pI+›‘‘‘LŸ1‹„„)ôÙÎÝ{ð”».X´˜“§N³pÁ<444¤úÀÞÖ†ç/^púô’““9à{àà`l¬­ˆ‰‰¥gï¾èëë3lÈ bcc‰ŽŽ–Bd;~BŠÑÍŠU«ÑÓÓÍ0äOVçíY­²ßíGö ‚ d%ã¡ÿg±ÑÑ„óõ‘ÅðÊmêŒo<ކkÝ™se.Õ¡BÎF[üŒªT®L‘"…±²²Êp¤®nAV,_ÂŒYs˜2m:êêjT¬X‘󿤋ý•¦OïžLž:ú ÜÐ)P€¶mZ)Ô¥=ÖªM{>þLA:vl/ˆ–³µ±¡C§®¾}KÙ²e˜?o¶4Âeäð¡L6“ƒ£™Ww·†\Ií´úQ æÍaúÌY8Öw!11‰âÅŠ1fôŠ-‚£C]^¼xA§®Ýùòå Îõ¨ml$Íkcm…½½--Zµ%_¾|”.] …Ø«æf¦ 2ˆÑãÆóöí;òæÍ‹­ ÕªUåÑ£Gôì݇¸¸8´ókccm%vêØžQ£Ç±gï>F ‚kå߀çÏ©jäÉÓ§˜™š(¥gE>Ê,ß/ùˆý+PvêØžÐPœ\’œœ„S½z´mÝJižo¡­­Íò¥‹™2m:S§Í@[[›¦½ÿñÎYß•ÿø§zõhØÈ“¢E ³s{J<Ó1|Ø&M™Êö;)ðë¯8×wâàáœu:gõ$&&²wß~*¼ lŽÝìDDD0tÄHBCÃȯ¥E¥J¿1xÐ@øÎ²œÕ¾–+T¨sfÍdÖœ¹Œ3–ÊüA›6­xÚÑówø–õ%uë¼9³™9{cÆOàßÇŹ>!¡)í_VõsVûZîà¡#ôî;uuut `ܘÑÒh¬Ì–ŸVÿgV?ÛÚXsöÜ9¸y ¯§‡¡a é¢ÑÑÑaÈ tëÑ]Ý‚+ZÏF_CeTv¾uþÛ¨¨¨0{ætÆŸ„…µE ¦m›ÖìÙû5{VJ•*É‚y³™;!ƒ‡§h‘"L™4r©Â?~ò”)ÓfÌ/¿ä£V­Z,]¼R;÷Ó^>ÚÈS9®ó™SÇÑ×Ócù’ÅLš2 kÛºäû%Þžžx¤Æ0˜>u2³æÌ¥yËÖDEESªdIfÏœ.µ9?;[/œÇŠUkXµÚ‡/_¾` ¯ÏÁ)Uª¤<{:ßÒ®Ö”æûÖr”›ôëËì9ó¸s÷úúzLŸ:9ÃÇí¿Ç·n—ŠŠŠRzÿ¾½7aÉã'f8·rå?¨\ùœ\•¥E¦õß÷ȪÝýõWmú÷íM—®=~äÂ…‹Äǧ¼€ýª¿?%Kf_~23uÊ$F‹™¥ ZZZôêÙ]:Y´p3fÍaÙŠ•$''ó{¥JÌŸ;;Ós›Z†5éÙ£í;uæãÇOÖ¬ÁÄñã¤ô “¦pôØqòäɃµ•%K/DUU•€€g¼~õšºövRÞàà`é%’¶öŽÒt€ëW/¡¥¥Å¢s™4y*ƒ†£Dñ,˜7MMMöûäÂÅK®(MµjUÙ²q—.]fòÔéDF~FCCƒêÕª±rùÒ ŸÆÌê¼=«u@ö»}ï¾A„ì¤õ¤*ö¨ªÈ>ª 5…:Ð4S?y¯úß¼P¡|Îâzù_¿Ž©IÔe'?“&MRú¾xé2P¸˜O“ñ›3ãô§ ×?^g¿×^L‹ä¼Sï¿(&&–Ú¦æœ8z8ÓXq™qtraâ„qÿˆG¦;vîJ=GGš6ñ–' ‚ 䊹óð!<œ‰ãÇÊ“þvÿ¤úYáïtûÎ]6mÞƒ‡‰‹'oÞ¼T«V•þ}{+žAAÈÎÍ[·¤—ç–Ȩ(®\½F-CCyR†ž<§¶QM# øÄñ@‚Â'Iá“,û¤‘þÿSŽp–w$oÞ–rX>ý¯äZÕ…k·®r,è¨èp–yøðšy5)]ªIII,Y¶ŒÒ¥J}sgsšœ<â'‚ðotúôêÔ©Í/¿üB@À3öîÛÏàAäÙþoDý,‚^õjU©^My€Œ ‚ ‚ðÕOÙáü3¨Y¬&‰Ï8y^žôŸ̬9s FEE…J•~còl‚ B6víÙËÈ1ãˆGKK‹ÆÞ^¸8×—gAAA„ Ñᜉò¿–#±@"ÏTŸË“þócþ¨cG²qØÏbõÊåòI‚ ?dÁ¼9òI?Rý,‚ ‚ ‚ ü|Ç>U\׿ó·Ï ÕG¹!«2šÝoŸ™ìækèîÁÕ«×ä“…\ðàÁC Mä“…˜ìÊÐÕ›À@*TªLbb¢<é§acçÀå+Wä“Aö»|ø Íÿùógz÷íOM£:×1cò”i$%%Iéÿ&ÿ¶6ôæÍ[T«i$ŸÌÉS§±±ûkêáÛÅÄİlù <¼šàäìŠC=gÜ=½Y½Æ‡„„yö,}o=ellD—Îå“ oÞ¼¡uÛöÔ¨U[{GöìÝ@À³géêµ´üü¤~ƒ†øùÀgí:,¬í046¡k÷ž„‡‡Kùîܽ‹Wã¦Ô4ªƒ«›§ÏœUXJŠàjÔªÍçÏŸ9ççGóVm¤úq̸ñJüÎ_ÀÙÕê†Æxx5áÎÝ»$%%ñçÆM8»ºQ­¦ÖvuÙðçFi¾«W¯Ñ¶}ǔ嚘ӡSÞ¼y#¥ËEFFÒ«O¿ Ëõž½û°wt¨¶)mÛwäÙóçò,¼|ù*Ý~TlKHÝOï&×1£¶©ïß)¥ ‚ BFD‡³KgK^´ÆòH6IæEëX5øyGä¦9uú ]»÷¤¾S=Ž>Ä™“ÇèÚ¥S¦NcÕjyö¿Œºº:.Îõå“…lÈ÷ÛËW¯©^½*hjjÁ§OŸ1ªeˆªªªÔ)S£z5¶íØ©°¤Û¶ïà÷tªü[½zõŠÅ‹S¸paTTTÈ“'õêɳýmž=cÙrå­U«T¡|¹rJÓrCbb"&M!22Jžô]r{yÂ_÷Û<|„ã'NÊ'ÿy}”þ_eÔÞΖ_Õ–OV’Qyý»T«Z•G÷ï(}fL›B-CCòäÉ£”wì¸ T(_AiÚò¥‹•æ}xï6eJ—ÆÔ4eäqhhõ8vä 'Ž"&&†YsæIóOœ<•/qq=ìË–Mòç¦ÍlݶCá/dMEE>åç&ÚП'Ož²lÅJùäŸBHh(Mš·Öú¬âÈ¡?zˆ5+WðöÝ;ÚwìœãÔ?RO20À,µNøÙô8˜ªU«pýê%–.YĤÉS¹wï>å’¡yc IDATË•KW7Nš0c£ZäÏŸ_šÿæÍ[DEEannÆ9??V¬\ÍŸë}¸rÑB… >r4±±±têÒ /OO®_½ÄØÑ#8h·nÝVX›”›OövhkksùÊ5:whÏ¥óg9軫×üY³vôìÝ—ýûqëúUÚ¶iE—®=øòå 111<|ô˜™Ó§rÓÿ çÍeúÌÙÒßzûþ=m[·âÚå \ô;C±bÅ1jŒÒz¤yðð^M2l‹ïÜ½ËØñ™;{W.ÇÑ¡.-[µ%::Zž•аP~«XQiŽ>TJ?yò£ÆŒcø°¡\»r‘«—ÎS¸p!¥e‚ BFD‡s*^F¿$Ù8Yž$I6I& <€›7oÊ“~*Óg΢O¯ž´lÑ==]tuu©ïT‰ãÇ1oÁB¢££iäÙ˜›·(ÍçéÝ„uëÿ„Ô‘vN×1£M»¼ ”òÙØ9pÍÿ:Í[µáª5x÷î=C†`ûŽ :œj5Ø»ÿ@ºG_¾|Eë¶í1ªmŠ‹«;×oÜ–IêÉw·½0®c†•­=>ëÖ+¥+Z¾rŽN.˜˜[R¯~Ξó“ÒlìØÀ—Fž146ÁÕÍÿë×hÒ¬eºå6nÖ‚5>k•¦ÉÅÇÇ3eÚ L-¬¨UÛ„VmÚðõñý˜˜X†M3K¬íêâ³vήn™>âÎÏWwjÕ6¡M»„}“Ò÷Ûì¹óعs{÷ÀÆÎå+Wѱs7¸5¢K÷žÒ|ÎõësÀ÷ _¾|‘¦<{Æû÷AÖ¦ܸqOï&Òo¡øÈlF¿ovÛ—ÀÔé31µ°¢Ž™%£ÆŒ“ž¸wï>MšµÄÄÜ’:f– 4Dú[Šâââ¤}\µF-š4k)¦Û¶}õœ©iTWw¥N´!ÃF°|å*:wíŽQmS¬líÙ²u¤>*:aòT^¾z…ó,"àÙ3*U®&Íÿ&06í:`\Ç gW7|R õR­¦‘42…Ô“xÅGÅ3:ö_¼|I»Ž±°¶£Ž™%ý&>>ž'OžÒ¥[Þ¼ ÄÆÎA àžl¶wç®Ý 4„ÉS¦aja…±‰9£ÇŽK7ò011‘VmÚŒwÓfØØ9H#RÔÔÕ?q2ÖvÔªmˆQc¤ršÀÀÁC±±s ¶©ÍZ´âõë×Y.O‘ÿõëx5iF•ꆘ˜[rðÐa‚ƒƒéÑ«µj›`lbÎÐá#ùüù³4_vûYQtt4ÃGŒ¢¶©…TWdtÁññ#½úôÃÌÂã:f4nÖ‚°°”Qœ6vìÚ½‡†îÔªmB‹Öm•Êì·ÔI™Én]û¬ÊJfu^RR³fÏÅÊÖã:f8¹¸réòeöðeîÜùø<„ƒ4:3«mÊèXV$¯Îœ=98^GŒêÕ>Ô1³Lwᜓ2ª(«º&#wïÝÃÝÓ£Ú¦8¹¸*…ÐP|¬<£}ŸYyÍ®=ÈMjjjJŸµë7Юmk¥<ûøŸ®ÓHUUUiÞ3gÏ¡®¡Ž¥…9¶6Ö4iìM!tuu±·³ãåËWZc+—-áêå üþûïôí7@iY#G¡O¯ž\»|"E 0sö\jrÑï .õ”ò'''Ó»_*V¬À¥ çØ°Î‡#G)åéÕ»E‹åòE?6mXÇâ%ˤ ¹Z††lÙô'—/øÑªe ÆŽŸ¨”¾rõ–/]Äõ«—¨çèÀ˜±hѼ)Û·Áôúõkîܹ‹»››ÂÜéÍ›¿ë7np`ï®]¾HÚÆ´ëØIê蘿p!/^¼àÄÑCœ8z˜7ôìÑ ÿ+—:xûöeîd`ÿ~x4rÇ£‘;gN§kçN¬X¾€Ã¾ûY±t±”× U«Vá°Â~ݺm½½HLüz‘ÿáÃ:uéFÇíñ¿z‰þýúУW©Ž ~ßì¶oÁ¢Å\¿qƒ#‡|9sò8OžEsæÍÇßߟ۷âå"S§LDUU•³çü˜9{.óæÎâ¦ÿ†L¿ƒxðð‘4ï²å+éÙ½þW/1}êÆŽŸHhh.Îõ9|(eË–áÌ©ãôíÓKéoôéÛŸßÿËýØüçzÖoøúhcNÉ}}==ºvîÄÙSÇ9~ä·n߯÷à!*V¬ÀØÑ£(^¼gNgëæ”<Šr²½ûøR¾|9Ο=ï¾Ýœ8qŠcÇO(-GMMµkV°cëΜ:.•Õ«W¯Q³FuΟ=Å‘C¾œ>sVŠ®®®NC×9t€KçÏb``À’¥Ë³\^šÐP:vîFÓÆÞܺ~•=;w`nf @÷^}0Ð×ç¢ßYΞ:Nhh¨4ºè[Í™;Ÿ§ÏžqìÈAŽ9ÄóçÏ3µ°>õ&šßÙS\¹tž1£F §§+¥oݶƒ ë|¸|Á*•+Ó«O?©óý[ê¤Ì|˺fUV2«ó®^»Æþ¾:°kW.²|ébþøãº6 i“Æ4pqæÌ©ã :r°MòcY‘¼>²±¶ÊÑñzìø ž¿xÁ¡û3j„Ò2sRFeU×däØñ¬[³ ÿ«—hèÚ€QcÆÉ³@&û>³òš]{ðW¹tù2ááá8Õs”¦}üô‰Y³ç2aüX³éÌ]µÆ‡¶­•;«Ó¼ÄŽ]»¨ï”²ì7oRn2—-S†€€glܼ™%‹ðâù H Ц]ªV©ÂÕKçÙôçz6nÞ¢Ô®‡…} ðM çNŸdçö­ð=ÈŽï|ìÿïÓ6”,Ê#9lS2;GÉNfåý{}ë±¼ï€/æff\½tž‰ãÇ1iÊT|âÀÞ]œ?{ŠÐP6§Þð=uú ËW®ÂgÍJ®^:…¹Yºß_^7ääü$«}wÿþzôêÃÔi3hÖ´ »wnÃÞÞNJÿ–õϬ-L“˜˜Èƒ‡8컟+ýÈ“'‹–,…ÔsñN]ºÓ¦UK®_½ÄÖÍÙ´e 7màÑãÇ|úôçúNL›1“Â… sØw?³gN'0ð- ]pñböñ³3«§ÒR¯q®ù_ÇØ¨¤ý­ŠÊOœü^©}mÓ„…}àÅË—Ô¬©|S+11‘G³pÑ7Néä–+W¶¬tQ...޼yeÛT¬(/¶)ÍçÏ‘\¿~sKŒë˜Ñµ{O^½J¹¹D`à[^¿~MCw,mì;~¢Ò9AAÈŒèpþ—ùøé#º¿v¨¤QUUE__>àêÚ€{÷îK£5öí;@]{; ,È®Ý{ðhäN… åQQQ¡C»¶Üº}‡  ¯£›7kŠ™© ZZZÒ]n£Z†4oÖ„üùó§‹½ùúõ|„Ûwî’7o^*ýö›Ò¼iöí;@ŸÞ½(^¬šššR˜Ý{öâéшªUª`ei‰­µÒ “ºövÒɺ¹™)::xù꥔ž™×¯_sïþúõIA£££CûvmäÙ²%?öóçÏ™© jjjüú«6µ yE >E9ÙÞ¢E‹Ð¬iÔÔÔ(\¸0ÆÆF™ŽJËH¡B…pwk€¾>ÆFµ”.¬lm¬É›7/jjjX[[ñ:µó);'Nœ¤|¹²4i캺:E‹AGG‡ç/^pûö€¦¦&¿üò C‡ âè±ãJ£árêðÑ£tïÒÐÔÔ¤WÏò,’ÒeJsóÖ-Nž:Mrr2ÕªVUJoÙ¢:::hhh0 _ž={Îóç/¾¹NÊÌ·¬kVe%³:¯páÂ|ŽüÌö»ˆŠŠ¢LéÒøõWi>E9Ù&ù±œœ¯***Œ;==ÝtÀß*«º&#M¼½ÐÑÑÀÙɉ/3®²Ú÷rÙµ•ÕkÖÒªe ÔÔÔ¤iӦ͠IcoÊ”.­”WîÎÝ»á¿ÊÈȈ¼+óMÆ#ÏÒh>×ÄØ8ƒ Ï?‰"…SF~ÿ.6eRR?~B·`At  ®½{öí§wÏìÛ€‘#†”rÒµÿÀ×Q·ùòå#âãG §.¿B1GË—W¾P¯ÚÚhk]§¢E‹JÿOëÌ®çì"M‹‹ÇÊÊRúž&11‘eËWröœ ñÄ'$¤»,šºž¤ŽRI±¨©©‰§G#¶ïØIêÕØ·ï€4ò/+a>P´Hé»ŠŠ %Š',,%FppˆR<³‚ *u ( ¡x±bJÓŠ)ò]orõ7a¯_¿æö»T¯VMúÍÒ¼ âéÓ¥G|cc¿©ð÷å¿ovÛÂÐá#QWO™–˜˜$Å0n ›·leÀÀÁüú«6Ç Uz,/MhXX†1á¨^]ùñú%Š*}/¢ðÛ¨«käè…;Á!!hçϯtb` ¯”G.))}Øù±ëöV®ZÍ»wï@E…ׯßЪds¥<™ÉÉöÊS uõmoš¢E•÷—†º:I©#ø‚CBX¼x)wï߇ädÂ#"ÒíßÌ„„†¦[7RGðäÏŸ_)¶bÉ%HJJ"<z” ë|¤0ùµ´ˆø˜2(MLL ¥J•”¾'&&Ò·ÿ@ èÛ[ùÉžNÛÓ±C;BÃÂØ¼y+^M8rp†å<3V––tí܉޻¢¢¢‚ 5kT§˜ìúƒÔr_¨PÊù·ŽŽ#‡£F-cž¿xŠª*šššôï—r£º€†-[4cµÏZöï'_” ‚ (ɽ3ƒ8###Êj—%ür8É&wt¨\T¡¢nE åI? ---Ê”.ͱc'èÜ©ƒRšßù @²4ÔËÓƒ)S§ckcMtt4Ö©… Юmkú÷í£4¿"…Ø^iTUÓßõOc ¯ÏçÈÈ” ©wýßmP(¥æÌÉã™ÆbM³rÕjŽ;†Ïª•èééòìùsêÕo ”'£õKÓ¼Y¼7ÃÛÓƒÈÈHll¬åYÒ)Q¢8¯ß¼á?~—¦¾}KñâÅÐ××'((X÷éÓçL/ ô•F‹#Û?"Ož<¸6paûÎ]ܼy‹6­ÓÇò+d`@õjUÙ²)}8‡4òý—Ýöéëë3kÆ4)|‚"µÔØq-[4gÏÞ}´ëЉk—/¦ëøÐÕ-Èë×oÒ½œ©D‰éF°¾¥\¹¯£A²:ö²¢¯§Ï§ÏŸ‰‰‰•ÖçÃåßBMMMêŒxÿ>},=Å¿GÛö9|(Þ^ž¨¨¨ÐoÀ )=ƒÁ1Jr´½*™ߊ2‰ ¦šq‡'©q|‹-ʦ ëÐÔÔdó–mì÷õ…,–—FOWO)Æeš’%Šóùóg">~”: ߢ¦¦&]°çd?§I;ÓŽùñ(gcm…µwîÞ¥C§®”.] S“”Ñ^Š'22’ˆˆtuuÉ—/eT[N꤬|˺fVVÖ­_ŸeW¡ByæÌšAHh(=zõaé²ôíÓ+Ýï•“zö[ËRn¯9‘U]“Õ,ŽuE™íûŒùìÚƒ¿ÂŸu¸»5TêÀ=tä(OŸðGUåG±÷ìÛϵË_G„¾{÷žcÇOpüÈ!¥|¤ÞdÉ—/ÅŠ¥_ßÞԫ߀¨¨(ôõõQSScîÜùlݲîܽ'P-^¼8åÊ–Åwÿù"%±±±Je>888]‡ãÏ&'mhVç 9iSÈ U”]]˜YyOO}åÎnùͽo=–åuJVôõôÒë|øð54Ô ßs~¢¨fÍ̯9›   6lÜL·FxyxHûç[Ö?«¶0Mf7K”,Á¡ÃG”¦½}û–©ûµH‘Â\HM=rø0ÆM˜Èú?7Òºe Š+ŠWã¦XX˜KO$¨©©¦k7ß¡Ùf 2ˆ/_¾Ð·ÿ@ìÝ­tƒ5+ïßQºt)H}BQ[[[ùÆ@6é¹á·Šy¨T–=~B™2ÊOs,]±’íÚ(ýýç/^ðøÉœ¤i¿U¬È“§_CÁ…‡‡öá%K¦t[ZZ`ii!¥7kÑJ*ÿûøbhX3ÝÍúeËWpôØq6¬]£T7Wü­"›6)¿'çÑ£ÇR8¤¸¸8z÷ížž“&ŒSŠ—œFE%¥üvéÜ‘‹óúõÊ—O?Ø'+Ú·£Cûv~ɾn=饱YINN"99™|yó¡§«Ë—/_ˆŒŠ’ž¦ø‡fžŒÏ!AAQúî?ìœï9Êl(ƒÊåôgn*U(³± ç|¿-~çÿÃàAX°h1[¶nãã§OÄÄÄpòÔi† IÏÝ¥Q†V–DFE±xÉ2¹»I'Ξؼe7nÜ$99™ØØØ _4ò-J•*I¥ß*2á"ˆˆˆ^PHê¨êÕª1yê4"##INNæM` oß¾SZ@PpeË”AOO—äädvíÊü‚7#eË”á?þ`ÒÔi4jôu»³ÒØÛ‹•«×ðáÃ’’’ðY»Žüùµ¤xmÎNõX±r5‘‘‘©£Ÿ”ß¾~ÃFi{m¬­xüä ÇŽŸ 99™§Oð=˜¾#à{y{y°iÓž<ÃÎöëè³4uëòäÉSvìÜMBB‰‰‰/ÏFÌ¿@z¹dDD§ÄÙó¿~ØØXTTT¨Vµ*‰‰‰|ù’>>¤‹s}V®ZChhXÊ:¥Æ€mìåÉþ¥ïW¯ùsÎï}J¡9iòTNŸ9«ð—³÷áÃöìÝG[YççØÑ#yúè¾ô騡=íÚ´VêlX»~öv¶é:KNž”.] ---ÔÔÔpwkHñÅÑΟŸ€€gÌ™;ŸF©£ÍÍL‰‰aÙòÒ±ôêÕk?y¢ô7,\D||ê/–]šUyÌI›’¬ê¬Êû÷ÈîXþõë;±{Ï^i}Ož:aü]Eßs~’‘Â… 3h@?ŽòÅè;·%«¶0;ö¶6„……I/^}÷î=ëÿÜ(…\°±¶æ¬ßyBBC)_¾Öù°sÛ¹»Ñ­KgvíØÆÀþý¤ŽÈR¥JñàÁCéI¸[·n+…aɨž(\¸½½¨S»6ƒ† K×fgfµqqqDFF²dé2) Ivéïß1hÈ0é%w /‘Â+]¿qƒá#G§ë8ÏLáÂ…©SÛX*KŸ°k÷¥ÑËv¶688Øãݤ9<ã³n=® ë“Q=¥hÒ„q¼xñ’«VË“ÒÑÐРBù Ô«ßK{Š+ƈaCr”Å9??¢¢RnêÞ¾}‡§OS:ƃ‚‚¹xñRŽ;œfΘƃ‡©UÛ”ö»Ð¯oo¥.]¶‚ÍšIáIH½I³{Ï^¼½”÷ƒ±Q-úôîI«¶í046áåË—Lžøõ…“cÆMÀØÄœzήDEG³jÅ2TUUyú4€—/^âèðõeìAAA,Yºœ[·ï`niCuCcéóåË´´´X¶d!sç/ º¡Ë–¯déâ…hjjrôøqüÎ_`ËÖmJóµl“2ùÂ…‹¸yxQ­f-,mì¸{÷k׬Êô©¤¬4pk„±‰9mÚuÀÌÔ”!ƒ¾¾^±zÿþ=:u¥F-cê7hHžj u  h¦~ò^õ¿y¡Bù¯ÒfÅÿúuLMê %{‰ƒ\…J•xú(¥ãâïpóæM w¦„θîyý§£!|»mÛw°}ç.¶oÙ$OÊ11±T74âÜé“éâøýü›·ïì9?ÆM˜ÈÉcÊà ÿ>6vL2)ÇáA¾•hS¾òjÒŒ6­Z¦‹·û_uëö6ü¹‘{÷ïOÞ¼y©Q£:ƒô£`Á‚òì¹7ØÚ;òèþ o¶d—.‚ Â÷¹|å &uêÈ'ÿȨ(®\½F­öe> xNm£šF@ ðˆâ…O’Â'YöI#ý?wný‹Ô¬Y3e‚èlþ—  aɲŒ®ü¶öñàÁC4ójR¦ti’’’X°heJ—þ×tÆþ›·ïÒåËT(_}}="""X¹j5æffòl¿TN1AÈ Ñ¦¤ åõë×T«ZuuuŽ?Áƒ1ÎäeœÿE5ªW£†Â‹@AAþMD‡³ðŸÒ¼ek>zL‡öm•ûQ˜6c&ïß¡¢¢Âü΢…óäÙþ±þÍÛwýúM)ƪºš66Ö 4PžMA²%Ú”_bc™:}&$&&Q¤HaæÌšAñbÅäYAA„!R# *×SvKr-1NAAAA„Üóo ©!^(‚ ‚ ‚ ‚ ‚ 䊟"¤Æ—/_ä“2”Ó|¹íÿõwAAAAAþIÄgAAAAA!WˆgAAAAA!WˆgAAAAA!Wü1œå&Mš¤ô=<,4Ãé£FRú.‚ ‚ ‚ ‚ ‚ üÿüt#œ'MšÄ¬ÙsX¼t™ôINý§8möœ9é: …ÿG'.^º ÀˆQcX°h±<‹ðˆ‰‰¥gリZXãáÕDžüSš4e+V®`ÏÞ}´jÓ€À·o©RÝÄÄDÙ?¿¿sÝß¿ÂÖÞ‘˜˜XyR®P,¿‡¥K·žRÚ?ñxáßM^OåÔ_]—fÆ«qSüý¯CΗÛËŸâ¾Î®Ýûí_AAAÙO×á ï—_ÐÕ3Èò“/Ÿ–|6!U—n=©RÝʓػo?Uª2sö\y’ð¸{ï?–ONÇÁÉ™ÈÈHÂÃÃñnÚ\)-99™å+VQÝИÀ·o¥é 9K{Ì,­ñnÚ\꬧߀A˜ZXSÏÙ•Uk|HJJ’ÒíÝ·PÎ>Á–MäÉ?%Fn88ØË'çº]{öÊ'ý#¸yxqáÂEùd‰¾¾Æ&_¾¼ò¤\gdT‹ŽÚIßÿ‰Ç› ä–ó.Ц}GLÌ­0ªc†ÿõø¬]O•ê†é>Í[µ‘æÝ²uήnÔ6µ y«6ܽwOJKHH`Þ‚E8:¹`neK^}xûî”~øÈQš4k‰¡± Övu™5g.ÉÉÉRzRR7m¡‘gcŒM̨cf™i'à?ÁÝ{÷èÕ§æ–6Ôªmг«ë7ü)Ï&‘×S™‘·ëE]œî8Hû¸ºyлWO*V¬(Ÿ5CW{™™£ÇŽ)}Ï龿/Ú¿‰‰‰aåªÕ4mÞŠ†îž¸¸ºÓ¸Y Ö®[OBB‚<»ðéЩ uÌ,©W¿ûøJiïßÑ»o\¨W¿ý&,ìƒÒüÈÎmÖoø;'L-¬éÕ§R¾»÷îѼekLÌ­ðônÊÙs~ KIJ3K>þ¬T/[XÙ2aÒdâã㥼.^ÂÝÓ›Ú¦4mÞJª{“’’ؼe+îžÞ›˜ãàä̦Í[¤ùüý¯Ó©K7LÌ­0·²¥k÷žJéŠâââ=fV¶XXÛ1sö\¥óöÌÖ!#™í›­Ûv¤«SªT7Lwí!‚ ù);œ…W½ZUvîÞ#ŸÌŽ»¨ôÛoòÉÂOÂgízž«Wpîô ô=v<±±±tïÙ›Fîî\ô;ÃÈáC6|$wîÜUZÞž½û°·µA[[›«×®Ó¡mΜ<ÆžÝ;ð¿~ƒu©7¨>~üH¿ƒèÛ»W.úѪeszöêË—/_ˆ‰‰áÑã'L™4ËÎ1wÖLfÏ/ý­·ïßÓªEsΟ=Å™“Ç(Z´(cÆMPZ4‹—,ãMà[ùîÇwßnüýýùsÓfÈfä²Ú7M{¥kg\¸`cm%_Œ ‚ ¤“ùÙ¦ðVÏÑ‘ƒ‡+X<{þœ  `jÔ¨¦”÷Ö­Û4kÑ sKy6VõêèäÂõ7iÓ¾#5êðþ}11±Œ;K{œœY¿áOÜ=½yöü9¤Žšš9{.Övu±´±gÜ„IR§¦œ£“ {÷íÇ«qSÌ,­iÛ¡“´cs¥;òwïÝÃÔÂZúžSmGhX½ûöÇÂÊ–ºõê³þÏJó,[¾k»º˜[Ú0qòTÆŽŸÈÖm)n>k×Ó£W¥ü=zõQZÆ®={qriˆ…•-;w•FG|üHÿƒ±±sÀÂÊ–­ÛòáC8ÓgÎæÄÉSL>G'Ž;®°txùê®n´i×7oÞàêæÁ¸ñ9|ô®n|úô™¼šš8;ÕcÖŒié.vªV©BófMÑÖN¹àt¨kOtt4Ÿ##IHHàìÙsôìÞMMMŠ-Bß>½Ø»o¿Ò2æ/\Äž={9à{G'ÎùgÏÞ}Œ7Ÿµë±´±—NŽoܼI³Ô#öŽN¬X¹Z!·gï>† É„I“±°¶ÃÊÖž›¶°ß÷ N. 11·¢{ÏÞ|þüY¶)\ØÀ¯ÆM161§MûŽ<~ò„>ý`jaMÝzõñUèÉîâ4#FaÕzôꃹ¥ uëÕgûŽRzfÇ÷Ó§ôìÝ—ÀÀ·8:¹H!;ä¾u»:|$ŽN.XXÛѺm{Þ¼y#-OMM]»÷àìꆉ¹:u!$$DJÏê7H³c×n<ÜÝQUUåþý´lÝ+[{,mì6|$dðó÷ìÿeËWÒ¹[,¬liØÈ“Ó§ÏHéŠCžÈ·å+Wcic¯4‚ìÂ…‹˜[Ù*.J3bÔV®ZMç®Ý1µ°ÆÅÕk×ü™=w^Jù¶²Uzâ#³ß—Ô}àìêÆ…‹—pquÇÅÕ]šÞ±sW,¬lq÷ôæÐá#XÛÕ•–™U»ß÷ Ý=1·²ÅÞÑ)]=$ü·-X´˜aCáâ\MMMTTT¤NÝ´ÿ§}>~üÄ‘£ÇiÞ4%ìÌÉS§ðòô \¹²hhhЪesŠ/.Ü‹ŒŠ¢\¹²,XuuuêÔ6&66FúÛ­[¶ÀÊÒmmmÊ—/GÍÕyõêlܼ™… æR½z5TUUÑÐÐæåìuXUÉûÀ?— "‚ ˆÝba‹bc` ®ÝÝ]«k×êºkww¢b‹½v·bbP‚\ê2¿?€Ã½. ë~îîù<ÏÙ3gÎÔ;ç=ï¼lÛ¾ƒfž­¨áT·z Xµf­VüĬ¹óhÕ²ƒÀÎÎSSSÊ–)C™Ò¥AÏBsžú¹®;—ž=wž¶í;âìêŽKÝú¬Y·^*WFòH“ä~ 0HTÄjö t\|ŽøL^}¨™<Ÿ='ÅiÊK}ò½^ƒÆö9‚W»T¯U‡–­Ûrëöm)ôž+™OÌ_°Ž»aii‰B¡ [^Ѿc'ê5hL@@ V]“¤TÞµ{¯$ÇŽŸ(}HÑ­_}m7vÜæÌ/É_¦M—¬C3’»ã'üLïž=hÛ¦ ӦϤ™g+Z´lô37f4666xL´ÆÍh½¨Oæ’ìHë¹2+O2j»   † A §:Ô¬í„I“µÖbiÝû{óîÝ;=zLÿ¾}Q*•”,QœFâ}ð111+Z¥R‰‘‘… JeY®¹¶9tø­ZyR°@ŒŒŒyŒógO3~ìh¬¬r0fÔJ–,Á¸1£8q̇úõܵò,`oÏ!ï}4n܈ñãÆpÈ{öìÙ¸n ‡¼÷‘=»9&&&´LZ §G@@ 3fÍÁ©VMlræ$..ž„„ŒMR¶ æÍ›‡7oߦRN4fM=hÖÔƒÇ|¨íT €S§}yõú5Þûö0~ìhBB>ÑoÀ`:þÔž?/œeóÆõìØµ‹í;vJyò9BõjÕ¸xΗɓ&2{î<Ž;ÎÞ]Û9}â(Á!!ìÔór °s×nÖ­YÍ9ß“ÄÇÇÓî§N´këÅå‹ç6d0S¦Nÿ¦¾´zÍ:úöîÅ¥ g™1m*ÓfÌ’¶jêëßE‹a¸±äË——Ç|ؼqn¶_ó܆††4i܈ƒörÎ÷$666¬X¹ZÊK­VóøÉS¼÷íáü™SdÉ’…e+VBÒË|Fm R©8vüž-š0gþ¯4lXŸógNsò˜ÝÓÙÆüµõ¿iËVFÎ…s¾ ÐŸá£ÆhmáO ÝþÖ»gwÌͳqÚ÷Œ”ÆûÐašz4N¥ðJfýÆÍŒ;š‹ç|qv®CÞ}111Á÷äq¶mÙÈŽ;¹›d]¤¯}“ùø1€µëÖ³dñ"öìÚÀˆ‘£)Q¢çΜbãº5lIãd0ÇÆÅÅ1éç)Ì›;›KçϰgçvÜ\œ¥keþÛ|ùò…ÇŸ¥Â³•õy0vüDBCSä³&Û¶ïÀʹrå@­NÀÐHûlh›œ9yóæ-­[zâïÿŽ»öpãÆMÖ®ÛÀˆáCµÒ's÷î=®]¿«sbÿ¼}ç. `×î½4òh†G3O–,]®5Þ‹)Ìo æóç…s¬Z¾Œ5k×§²üøô)”GÓ¢Yâ¨Ý5„&ß*×òÛÙ1súTÎúždù’?Xôûb>|ø(ŧ'þ GŽcâ„q\:†±£G2bÔ­ûj¢+ß“Y·a#‹_ÈŸÎâ^שÓfJqé=WPp0sæÎ§ï€.\˜ý{wÑ­kg YµbÛ6oâÄ1ŸTuM’BøÍÛ·õ9ȉ£‡ ùô)•u«&iµÝ!Ÿ#.\ß“ÇÙ¿g'¾¾g9uÚ2»OŸ=#"â3 ê×cþ‚…äÊ• ï}{˜=s:ïß'ʳ&qåJŠr8=ôÉÜôdG2šÏee•ã«äIzm7hèprZ[sæÔ Nó!$$$••mZuú=yñò¶ùòi¹F)Q¼Ož> WÏî¬Z½†mÛw°mûö¡¿>RZݵͫW¯(R¸°Ÿ#G¬­¬ð{îGll,&ÆÚ.XòæÉ˫ׯ¥ß7nÜ$^­¦j•ÊZéHrewóÖm+UàåË—-ZD+M‰âÅÓt™÷éS(¯ß¼¡\9mc µZÍÓgÏX¶|%-[¦^×GGGóáÃG­û/^ŒgÏýB|UÒ«]V¯]GSÆXYåÐ’‘‘‘‘‘IÅ?Zᬉxpã&ŒÏô Í@‰ñoGx6oÆÞ½‰n5âââ8tø0-=›k)}Ïœ%Ÿm>5l@]7W¬¬rpñÏ_®^mZS­jÌÌÌP(9zŒÞ½zbnnŽ‘‘ýúô–Ò’d Ó«Gw,²gÇÔÔ„vmÛpâTŠâ[—vmÛ`aa‘ôU½?/_¾âÕ«”EÞ÷Bó9üýßqûÎ èR©ÄÎÎŽºn®œHRП늕«155¥EóDåv”J…©©NÙMLP©Rv¤T7a"]»t’Æ"IVñUª×³•… ¤UËD?ìš$ï¼2ÕYMMQ«ÕDGÇdº dP7šsðÐaºué¢.#####£mÓ—úõeâĉ|çþÍ›ì_¼Œ×·n³¸}†ïÝ™••îeÿÜëº1}ælüýý¹wÿeËJ–OÉ| ÀÏï…ÖöX¾hÖRDÇ_PP0¹rÙH¿---Qjøm f¤É&†©Õ dÉ’EŠ×ÅÒÒRúßÔÔ”lÙ²$½¨h’ mmû5h>G`` ÍS”TñqñÔªU€OŸ>Q¡|y)Ž$‰é¡yPG``¾gÎrØÇG 355%,<œ¦MciaÁêµë˜5g.}{÷¢u«–R:}Ì¿€sçÎóæí[†M\|<*•ЦÍ[âêê̈ai[¦iR®œ×._äóç®\½J§.ÝÙ´a-ÅŠeÞì™ü2}&õ6&ož¼ÔswKWÙ«‹½}~ S¦”O©êÌÖÖ–àD% €UŽ”ñi``€¡¡!VcÖÐÈ0ÕIM¬5ÒfÉ’Eëwò l\:×ë#OžÐ£W¢T*Ôw§LéÒäMšß6lÜĉ“§9rÈCCCæýºAC†²zår)aCÓ»gw^¿y˯ B¯ž="Ñš.YvYYåÀ«MkŽ?A§?AÒÁoÛ¶ï$,, ïÞÀ½îÿßAtúÈ‘#ÑR/88 9Jݵ&ß*×|Žeï¾ý|ùò‘dñ˜ RÖéÉ£¿‚EöìZ¿så²! im¤‹®|O&ÆšÒÐÐPËÂ]ßs™™™q`ßn¶nÛgk/ê»»ãåÕZKY˜²'¹ÈecChh¨ÞzI«ít×ÃFåOOîFFFJó}¾|yyþü9%Kçĉ“¨¢U!8rô5’>¾¦…æzQŸÌMOv$£ù\_+OôµÝ§O¡dË–lÙ²Iñv¶¶$$$.¹eK«N¿'ffYQEi+G£U*²gO£#G%W®\œ8z˜°ðp&O™ÊÄI“™=k¤±¶Éš5+Q: TU” K ,,,X´`> ÿƒ™³çPªdIêÔv"&&’v›œ’♤q’µÁ«×¯yîçG= %R©¤}»¶´këÅÁC‡éÕ§Ï¥¸¯Ðäkžƒ4Æï[*éQf§‡¥¥%uÝÜ8ìs„·ná™dUÔ«Gwzõè®›ü«Ê™^û&“üR `meÍçˆTªhI)¨¹å9£9ÖÒ‚áÆ0 _æÎû•QcDZqÝ?ïàI™ïO¾¼yQ(„†…I–jqqqiõi!›6o¡oŸ^W'Ò«gzõìI‡HÕk؄Ӧp4I9œ¬¬3j•ªTÇßß_²Œ´´°ÀÒÂ[[[ü½¼Ø½g/½zöÀÎΖOŸBµß±qq’BÄÏïS~™Æºµ«¤ƒŠ Îø£èÿVV9(\¸‡aðÀºÑºk!]¾E®ß¹s—É¿LcÓúµ”,YgWm·éÉ£¿‚®rùc@*hhOFW¾'£¯N2z.Û|ù5bû÷å€÷Aú „­-,Z˜n}i$õÓ€€ÌÍÍÓTŠ£§œúž‰ änîܹ¸œäKy̨‘LŸ9‹Í[·Ñ¡};òäÍCû¨Q£:M=š@&Ö‹údnF²ƒ4žëkä‰îµÉØÙæ#""‚°ðpIáøþý”J¥ÖÇm}×/Š-Ê»÷ïµdëÓgÏ)PÀžˆˆNûžáâ9_ Éim͘Q#iÜ´93¦Oå­¿ªµM±¢Eµ,ðÃÂÂø*õ¡š5kP³f )¾S—nÒ{“Ï‘£”/_NëùV­^éӾ¬]µBëcU‘¢Eرc—VÚ§OŸIÜbcc>r4VVVLùy¢Öš"…BANkkºwëÂ’eËñ÷GaÝY²dÁÞ>?ÏŸûa“3ñ#÷ӧϤݘ•A“Œê†$ þ]»÷°nM¢Ë6™ÌZÂýÃ142¢ó¬)[†€ y–´íú¿Šg‹fìØ± ¿/Óz :0ÉøùùI~Öž?÷£X±¢ºIôråê5^¿yƒZ­F­VsòÔiž>}F¹²‰qš‡åìÛïÍîÝ{éÓ»§N.™Ç¥NmBBB8˜Ôf?°eÛv<[$´öO%½þmiiIpp0!!ŸÒl¿o!(0ˆ2¥KcllŒJÏ‘£ºIô’QìÛw€F hm‘¾uû6ÑÑÑ( Ê”.Z­&66õ©æß¹óxü$Ñà‘£ÇxþÜWç¯?À«u+9Â7iÒ¤±nô7“^û¦Eþüv/^Œå+V¢V«‰ŒŒdKÒ)ñd0ÇÆÅÅqûÎÔj5ÆÆÆ/^œ/_çccc<š4æ—©Ó‰ˆˆàË—/,_¹ ç:Úcæì¹óDDFÒ ~=­p4¶]¿xñ’ƒ†ÒÔ£‰´ÅÜ>~|ÏœE¥Š&!!}û½Éž=;9sæ$!!C‡}¤ƒ‚Ÿ?÷cß’ò°ZÕ*(•’ßæ÷>°}ûN\]]ùBccrZçD­Vã{æ,W¯&Êò‘áC‡°vÝV­YKPP*U4¯ß¼‘ü]gÄ·Êõ€À@ÌͳI¾VÏ_¸Hð7¸úΜ=ǃ‡Bpæì9=z,ùèþ«dö¹LMMi×Ö‹{wÓ¾][HR¤™™™ñèÑ#Hú ’+W¯%&&†ˆˆV¯]§¥\ü«¤'wk;9qáÒŸ‡„P¸p!Ö®^Éö-›hêÑ„^=º³}ëf† ()3Z/ꓹéÉŽ´HOž\½v_¦M×[—šäÊ•‹Z5k²xÉ2bccQ©T,[±’F ¤éúdËÖílÞ’(ó^¼xɸ “øü9ñYgÏ™'RúµäÊ•‹ÊŽ•$Ùúìùsö¡™GÌḬ̀əSj!G§P¡‚(•Ê4×6-’Ü ¾yó–øøxþX²ŒÕ«‘ì‹8ylFFF2gî|âãã%×g{öí§¥ÎÚõ÷ÅK8í{†?~ÿ ###¢¢¢$+a7g^¾zÅ™3gBpè°8שJÍ€ACÈ™3'cG$::š¨¨(i®>qò”ä£=**Š•«×`mm•¦ËŸÍš±zÍZ"""g݆xx$®‡Ò+:í–QÝlÙ² ‡²e¾Ê]ŒŒŒŒŒLÚ¦ÿÏDGEJÊ–ï´Höá•J##<¦Lá`³æ<^¸bž-R›þG(Sº4yòä¦víÚiZAZYå`劥̿€™³ç`h¨¤X±büþÛ‚T¾¿’ýˆ‰‰¡QÃT©ì(]ë\§6nn.üÔ± ¦¦¦(`Oã$?{5kTgìè‘Lšò ïßÀÄÄWgÊòäÉ Lll,æÙÌq®S[Zöìщ“¦°ÿ€7ãÇŽÆCG‘æ÷ò%E“\<{þü«,ß¼yÃÔi3$«¦Â… 1gÖ É'ç¡Ã>Ìž;…BA9‡²¬X¾4Õ–Ó¯ÁÜܜ˖0söfÍž‹¹¹9mÛ´þÇ+œÓëߥK•¢Aýú4mÑ’¼yrK‡ÊýÆÍô™³ØµgÙ³Ó¨a|ŽfNéœ^¨ÕjxäßÓºÆçÈ1 Ž¡¡!–LùyD~Ehƒõ˜ÿë=zŒyvsæÎž™®Éôpt¬D\\Nµj¦ÚþWH¯}ÓB¡P°pþ<&ÿ2:®îäË——¦Mxî—xØNzs¬B¡`ÁÂEøù½ÀÄÔ„<¹ó0yâÝ[Èü‡™0n sç/ ió–Ä«ÕÔvªÅØ1£´Ò¬ß°‰öm½Ò´îìÙ»>ÄÆÆ†æM=´>"Ž3гæP¯acâââ(^¬(Ë—.ÆÄÄ„„„NöeöÜù|þü+++꺺H‡ *•JV,]Âô™³©ãRÓ¬¦´nÙRÚmàX©uj;ѤY ”J%6HÓ²îGÁÕÅ™%üÆÊÕkY½f111ØäÌÉèQ#°·Ï¯›<_#×+V¬ ]çâ\‡sçÏÓ¤™'9­­©X±¼tïßÍð¡CøuÁoÜ»ÿ€œ9­™3kÆwÛ*ÿµÏ¥P(´â‡ Ä”©Ó¿LKÓ·téR”.]Š›Em§ZŒ9B7Ù7“žÜ͞ݜaCÑ»OFNÕ*•Q*•„††rîüªW«¦åÆ"£õ¢>™ è•i­ÏÕjµ^yòþý®^½NBBBšïºÌ=ƒ³æàÞ JêÔvbTÒ™º<~üA¢";,<œK—þ$.éðök7n?ÆãG³fNgâ¤ÉÔprÆÌÌŒúInƒÿñsç/`ùÊU!(Y¢‹þªwmS©bôïK·ž½ÿLÅ å™öKân€©ÓgrüÄI²dÉBÚN,[òøù½àí›·Ôus•ÒJ‡Hº¸iè»yí2fff,þ}!ÓgÌb䘱ØÙÚñûo 066æàa.ýy€]‡b;8”eû–M\¾|…³æ‘‘åXµbYš»1{öèFPp0 7EˆÔ¯O—NÒ-:í–QÝDEE±eë6æÍ%…ÉÈÈÈÈÈd†d-¬¦6V¡óg ñ§Ôø3²F€qҟɵ·/-’9¿^7nÞ¤zµªê,~¦OŸ®õ{ɲD‚º>®’ý7ëãX£ÆÄܼIïXV˼b.“‰JÔè2‰_eÒF¥Š¦Jõšœ:~T¯¯8}ÔkИiS§¤»}ýG¡G¯>Ô¯W¶^­u£ddd2`üÄŸÉ›7^73_‹Z­¦aã¦ü2y’Ö6Ø /1}æ,Ž>¨%####ó/àî½ûlݶG‡‰‰ e6dÖÙ$22222222qûÎéPâïEä—/\½vJ3çÂò¹ßKª8VpT@  Äñ Bç/éÿÔæ0?ºŠäm;¿ë†gDñ&y{í‘Ç“ÂY&m?~‚±‰1ìíIHH`éòå°·ÿjes2™Ùâ'##óÏç{Žõõ7‘Ý"{º3ý¯¸zíE ÁÚÚŠððpÖ®[OuYæÈÈÈÈük)çP–rÚ2222222222)ü çï…uù |QÇ#.^Ô’ù 2ÁBQ(”(Qœ… æé&“‘‘‘ùîøž9Ëø‰“°µµeáüy™>`êïäÖ­;Œ›0‰ˆˆH •Jj×vbøÐ!ºÉddddddddddddddþü.5t)S.ÑüÁÝ[ºQé¢~ÿžÀ’%É’7/ÖOžèFgˆìRCFFFFFFFFFFFFFFFFFFæï@v©ñD™#¹âãQéFÉÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈ|g~…sZ'ï¦EfÓICB¨¢ÿÿF¾ú¾22222222222222222222ÿA tdddddddddddddddddddddd¾Yá,####################ó]Î222222222222222222222ß…µÂùƬV&ý/####################ó÷ñ¯T8GEEáV©CêÕãpV¿>õ*WF¥Ré&—ùð9r”n=zëüß½£h‰Ò¨Õj¦Lβå+¥ø£ÇŽãäìŠc•ê8xHãJ™ïn}§‡n[Éü³ø_´ßÿâ߃>RÓÉ•*Z7ê/ówΗÿëv»~ã&ÕkÕ–~7mîɵk×µÒ|-ήî\¼ô§n°DFñÿkÖmØHßþuƒed2ÍÖ§þ×óÙ·àìêΕ«WuƒA§]ÿ‰òDFFFFFFæŸÁ¿NáE£²e™tëBCY¬Î}úĘ›7iT¦ ÑÑß_ð#Ñ­GoŠ—*K‰ÒT®V“N]ºqóÖ-Ýd?•+;Ò»WÝà¿…Ö­<©_ß]ú=ù—©Lš0žëWÿ¤qÃZiÿ+ìÚ³W7軡[ßG'22R+Íÿ‚ÐÐPNöÕ þGðw¶OzÜ»ŸÇOžèKdÿ_ÆÆ&''ŒÃÔÔD7ê/£;_¦7¦ؼe+<šáPÁ‘:®uÙ´y‹n2üýý5fUk8Q©J5šy¶J¥lzýú ½û  JõZT©^‹Ã>G´â“ùÞ}ã¯æ7lèJ”(¡üónýŠ–(­õwýÆMbccY¶|%®î (U¶!!›¶ÐØ£9*Q¾R•VA×­GoŠ–(ÍÇt£Ø»o?EK”fÖœyºQ?,·oßÁ¡‚£n0§}Ïàìš"eþQ©T,_±ÏV^4hä{ýF4oÙš5kׯ›<]¾u +O~$üýýéÔ¥å+UÁÅ­ûxà÷âEª¹'ùOW6lÒ” .BÒ|Z«Ž++W£O¿„††JéîÝ¿O«6m©àXfžœ9{N#—Dƒ‚(_© œ¿pö;SÁ±*•«Öàç)¿'¥½pñ<šQ®be<[yqïþ}È„L¾ví:]ºõHÌ·ZMº÷ì¿¿¿¯Kdd$Ms\ï?à[½8V©N—n=xñò¥n’Tܹs—¥8tØG 1rtªzþü9Bë:™´ø×)œ=œœ˜òꮺ€»LxõŠfµS¬žþ­Œ9‚'ïqò˜U*W¦{Ï>?´uw.jT¯¦ü·P¶LŠ. À—/_ ù„c¥J( ŒŒŒt“ÿëñ{ñ‚å+2gü-hÖ·Z­fêô™DF~ÑMö·ãsô'OÖ þáù»Û'=V­^Ë“'Ouƒ%2Šÿ/chhHãF uƒ¿ šóeFcJ¥RñøÉSæÍ™ÅíWùã·…Ì™÷+wîÜÕMJhXåË9pêøn^»B·.é7`ô‘6 €ö:QßÝ?/œåÚå‹zŸñ{÷¿šŸ›« Ù³›ë5ÿÛeSPP0ݺváÉÃ{Ò_eÇJT–/QQ,Zø+7¯]a¸±Œ7wïßK×+ ܾŽÀ  † Ì•KçÙ¼a=Þã}è0=ºwÕ*Ó“‡÷hÝÊSKŽÿºà7vîÚÍÌéS¹só:ׯ\B©TjÜáÇ¢|9vîÞ£ÌÎ]»)ùüX!Ïž=gùÊUºÁ?AÁÁxµï ë×­æØ‘Cœ<~„µ«Vòþúõè•é4eð¿\-CGŒ¢lÙ2ܼv™eK3}Æ,‡½¹výk×o ,,Œƒ†0bØPîܼF—Îéݧ?111Êä÷?Ò¥SG®_¹ÄŸÎ’/_>ÆOüY«ÉKrÒà`*U©Fåj53ni[3¨TÑŒ›0‰ª5œ¨ãZ—uë7ÐÈ£™TÿÉõ­V«éع+´nÛgWw>~ ÐÍN‹ŒÊáÿî»v§rÕ4òhÆaŸ#ZÛè“9xè0 .â°Ïœ]Ý%KµŒò×$66–™³çR½VmÊ–¯„W»$$$@’B½~#*8V¥±Gs-Åv¯>ýX½fFNàPÁ‘GCRý¬Xµš^}úáX¥:µ]ÜØ¾c'¤Ó>éõ£={÷1~âϬ^³Žª5œ?ñgâãã1jŒÔÚýÔ‘·oßJ×ܸy“V^í(S®"Õj:ásä(3fÍáÄÉSLŸ9gWwŽ;.¥ôÆ+•JvíÞCÝú ©àX•N]º(]wëÖmZ¶ö±Ju{4OeA«ÉŽ»p¯ßˆÒpuoÀ«×¯!÷Ð7Ç‘4W'‰¥ËVàÕ¦5­[ybhhzšßÚ7ôµ›¾ü4yýú ºt“ú•î®g-ä<Ä«]ªÕt¢j 'FŒ á8I¾¶‘G3*W­‘®œù^ck›¥R)ý%chhÈÈáC)çPSS꺹’ÍÌŒwþ‰2@Àˆ‘£©àX•ºõâsä¨÷áÃGz÷íOM'g*U©F‡N]yùê•ßµs'œëÔÆÜÜœ¢E‹P±By^'A…B¡U¦°°p|Ž£ãO‰Ρ¡¡lܼ™åËS¡By ~øº6äÐabbb¤0¿/øø1€ŠËk¥Õ×WÉÄ’Ñ\àPÁQ²†$IqT±r¢B0½uÚ·'ɵJUªÑ±s7üüÒîÓ{öîcÄÈÑü<åªT¯EµšNlÜ´…áêÞ€ ŽUéÙ»¯– ÍhÓ•Ud #2ª»d?yÂÀÁC=v<Å‹…o(FóAFóY²\­àX'gW–-_)í=f<ýûöá§víøyò/4lÒ”ÆÍ¥]w¹råbßþD‹ÞÕkÖÑ«O?éZ’Öë6lÔ»NÐäî½ûÔtrN¥@%õwm·ÄumÝúT®V“‘£ÇJVÃÅOüýýyðà!ƒD©TRªd <<š°oÿHªÿä?…BÁê5ëèÝSÛR{çî=´òôÄÀÀiÓ¦… ÄÈȈaCsÚ÷ aááܺ}‡,Y²ðSû¶P¥JeÚ´iÅ~#»wï¥uëVŒ>77WLLLÈecCÍÕyñ"Ñ‚øä)_J–({]7 -š7Ã2‡%çÎ_ÈP&7oê››+†††áæê‡µÊ‘Œ±q&ÿ<‘öíÚêFqê”/õÜëR¾œJ¥’Ž~"Ož}ú$„bßþ¢Q“fR¾oÞ¼%J;Hõ¥É·”Ó«]1eêt/Þ¼y#«ÖgΞ"©\Uª×[·í"66Vœö=#ªÖ¨%ü^¼BqðÐaQ´Di±eëv!„.^ŽUkˆgÏž‹„„1cÖѲµ—BˆE¿/ ñññB­V‹»÷îIåÐäì¹óÂÕ=±$Ó²M[ñóä_Dtt´øòå‹èÞ³·0hˆVšdfÍ™+ÚýÔQ*‘|S IDAT|þüYÄÆÆŠ©Ógˆ"ÅK‰ç~~BèÔwtt´(R¼”øðá£N.‰è¶UFåðlÕF̘5GÄÇÇ‹ÐÐPáÕ®ƒ¨VÓI#ÇæÎûUŒ?Q+,£ü5™5g®hÙÚKø¿{'¢££¥ç;{\­¦¸wÿ¾BˆsçÏ‹2å*Jý¼gï¾ÒxL¦lùJâáÃGB$ÕOǪâÖ­ÛB!.^úS/UV ¡§}ÒëG»÷ì•«Õã'þ,‚ƒC„J¥Bá{æ¬P©T">>^ ¹ý~ž2UÄÆÆŠ˜˜ѽgo1iò!’Æ|¥ÊÕÄ¡Ã>B!ŽŸ8)ÊU¬œæø:í{F8V­!nܼ)âââÄÓ§Ï„Z­Îð"9N$ÍM[´?~ bÑï‹EcæR|F}*½º×D·/gt_M2÷šóeFcJ—ààQ¦\E)o}|øðQŒ;^tëÑK s«×@¬Y»N´mßA89»Šž½û ÿwï´®Kækû†È ÝtóÓ$!!A4mÑRü2mºˆÁÁ!¢e›¶ZíVÇ¥®¸pñ’Bˆö;‹u6 !„P©Tâñ“'R:}ã$9v:‰ÏŸ?‹øøx±ð·ßE£&Í„Z­–â“ïñ½èÓo€¨T¹š(_©Špu¯/V®Z£›D!„Z­[¶nµ]ÜDTT”Bˆµë7ˆ"ÅK‰ýÞ…Z­—þ¼,J;T殘˜qðÐa¥qqqâç)SµÚ[“[·n‹ÊÕjŠû÷èF !„ømÑbȰÒïS§}…GsO1ïׅ­^Q¯AcñÛ¢?¤ñð£Ñµ{/±ßû èÒ½§Øï}P Ÿ1kŽX¼d™7a’˜9{®ž^_ÍhÉh.([¾’–¼¾{àXUˆtÖiºÜºu[”-_I7Xœ:í+ê¸Ô•~Ï÷«håÕN µZ-ý¾X89»JrC³OïÞ³W-QZ9zL!ıã'D±’eD¯¾ýEdd¤ˆŒŒÍ<[‰«V ‘ÉyLWVe$#2ª»Š~‰Î]»‹ó.JáâÊ/Ò™2šÏ‚‚‚EǪbÿo¡V«…ÿ»wÂÉÙUlÚ¼E!Äã'O¤µÚ¸ “ÄŒYs„B<|øH´hÙFº÷ð£„B¬Z½VôìÝWhÒ³w_±vý!ô¬ê¸Ô—¯\OŸ>5k»ˆK^ÖŠÓlWÝõ÷Ôé3Dll¬ mÛwž+£øïÉ™³ç„{ýFZaÛ¶ï:uÕ I}«~£&"!!A ‹ŠŠå+Uoß¾BѲµ—ð>xHã*!jÔª#®^½–æ½6lÜ,ºtï)ý¾zõšpv«§udD3ÏVbç®ÝB!æÌ/&Lš¬•fèð‘â÷ÅK´ÂD:29>>^<~òD´hÙF«O¦Åµë7´ÆµÐS†þ‹eËWh…%sØçˆhß±³P«Õ«]qðÐa)®¶‹›¨Q«Ž¨àXUÔkÐXêw22222ßËW®èýe""#Å)ß3©ô°úþ®Ý¸-€J@) 0`䬋$°i’ŽØ(Ig¬LÒ!kê”%þUÎ2)Ìûu¥*иis^½zÍú5«$ë¢*•±¶NüzíêRGò –;wn""#صg/_¾|¡`XdÏŽR©$¿›·låýûXYY‘?~­ûe†¯Í§gn(•JìíóãP¶,6$þüà^·®dí˜L‡ŸÚaii‰‘‘ÇæÅ‹—¼|™b­•5l@`PwîÞ`¿÷A\]œ¥úJ‹Ì–óÍ›·Ü¼u‹aC'ÖEþüÔs¯Ë±ã'¤¼+U¤};/²eˆ‘‘‡}ŽÐºeK *€G“Æ-ZDJ¿wß~<[4§hÑ"( ºwí»÷ @Áܾs‡Ó¾gBàP¶¬t]z¼|õŠ»wï1jäpŒÉš5+cFäø‰“iZÿö9B¿¾}077ÇÈȈýµ­p¾•ŒÊñöí[<|ÄÐÁ‰Ö/–––tëÚY7½d”¿.ÞÞ‡xÖ­<µ,SI§¯f4‡$“Ù¹@}ë´´ˆŽŽ¦z­ÚZ#GÑJ³oÿú÷íCΜÖ0h`¢£c¸ôçe­tÉØÛç§aƒú¸×uC©TÒ¹ÃO˜™™affF­5xõ*QvefÓ•U™‘úêîÏËWhѪ *”gú58Õª)]“Ì×”ŸLÌú泓§NQÀÞžæÍšb``€m¾|ôîÙƒÝ{öpóæmjT¯À7ñlÑ’Ü™™™žÝ#_ËÇtïÕ›iS~þ*·}zõÄÈÈ‹ìÙé߯/Gi˸Œâ¿*• Ó¬)s€iÖ¬DE¥vµbå*z÷ì¡Ug>GŽâP¶ vvvD©TdÍšUã*0ÍjÊ—¨(Ê—s 0“§N#„àáÃG¬ß¨½{iמ½´nå™f»,]¶‚¬Y³Òª¥'$ÝKs055MåÎBŸL^½få*V¦IÓ)R¯6­µ®Ë 5jTãÄÉ“¼|õ µZÍÑcÇõZ7øð‘y¿.ä×¹sÒtå½o§Nãú•K̘>•¥ËV|ÕWFFFFæ¿KâžØ ŽŽŽl61tüS<06¦_åʺÁÿ*FNÏÝtƒQ«Õ,_±Šsç/G\|¼ô"U°@vnÛÊÒå+X²t9­Zz2bزdÉÂÎ[Y¹r5-Zµ¡JeG&MOž<¹µòîÖ£7ç/$.f&ŒKLL ó]I ûåKg*Ÿd¬­­¥ÿ³dÉ¢¥ô544$>Nû@M%™©©)æææR €½Vºô066¦¥g víÞCùrx{b\’ÂE÷ùê¹×…¯(g@@âV÷úKñq±qÔ®í$ý.RDûe,((ˆrZa¹ll¤ÿÈ%ºß éÙÃÂÃiÞÔK V¬ZÍ´3Я/m½ÚHéôò‰lÙ²iùÁËogGBB¡¡aÒvûdƒÈ;—ô;GŽ(¿Ãv»ŒÊ„y¶lZ/669¥ÿ3"£üuŸ38$Dë9“ ¡\9í6²³³%((X+L]åEž•™ºO}÷Õ%£qÿ-¨Õj†  C Ô–¨P¡½zR³¶ _¾|‘”$ñWÚMAAd77׳yóæÕJ£ÉÔ)?³mû†EöìæŒ;†*•Ó'ÉXXXHÿcaaÁÇ€€TŠ´ï…f_¬^­íÚzqüÄI­¹|ãúµ|ùò…»÷îÓ§ÿþøm!U«VH%_sçÊEP`$¹½X¸èwnß¹K‚:ØØXâuú䨑Ãé×§¯^¿aÎÜy„„„зOo­4{÷ ~;Ê—/'… %K–ÊimmEûvm9rôXºþ¿©_Ï)S§óöí[îÞ»O9‡Tócz}5£9$™ÌÎ )ã ½uš.&&Æ<¨àLæÒ¥?Y°p‘ô;äÓ'òjôq…B­-!!!R˜&ÖV)ë µÖ@†F†’ìÊÌ<¦+«2##ôÕ]êÕØ¹m ë6l¤IÓxµiMKÏæZóÂ×”?3ó¾ù,$äSª±gggGpH⺠22Rš3mmóñôéSJ•,Á±cÇQE«BpØçµÒPš'“ìÒ+=æÌû•/_¾`a™2oeÍy.OžÜ|úôIkM¢/^³-ÿ*ffYQEiŸ=£ŠŠÂÂBûƒøéÓ¾| £y³¦Zá»vï¡}ûvÒo33³T _U” K ,--YúÇ"æ-XÈÔé3(]ª.Îuˆ‰‰…¤ó^Ž?ÁÑée]·a#GgÓ†u’²6›™aááZéT*öö)F6éÉäž=ºÑ£{W‚CBضmž­¼8æs0Íq®ÚNNôéÕ“½ú P(puv¦BùräË—O+]BB#FąZýYÍ÷«*•iÛ¦5¾gÎÒ¢y3­t222222º|¿•Á€££#Æ… q24w=/ªÇ Ì‹£bÅŠºQÿ V­^ñ'X·zÖÖV¼xù’ú ›HñE‹aÁü¹Óà`–-_ÉÁ±´°`ô¨ <™³æ0lä(¶mÖþú¿nMêKúöî¥õ;3ù$“–Az|ü˜âã,22’°°°T~È2Cûv^´nÓŽÖ-=‰ŒŒÄÙ¹¤ñ|ɾ’3[N›\6(•JΞ>™æÚyå´¶–”\É|ú”â‡9W.ºvéİ!ƒµÒ$ã\§6Îujsïþ}º÷ìCöT¯¦må¢[üüv¶DDDŽeÒKÅ»wïQ*•i.FsæÌI@@ d%øùs„Þ—çÌÖ™(‡‚ϨTјš&Zñ~ú”râ¸.º÷Î(]¬¬rðö­ªÃ£ìììRYb¾{÷žÂ…­U P'¤ÔGøçÏÒ!lÉè¶»&ºU–©~¤Ð¶P=v<ùòæeë¦ ³mûNN<üËÚÊ:•ŸÚdtëL}ñú>8ä²±¡œCY¶oݬ• kk+½å"{d4Ç(Ò°àÈi3Ý>•™ºO}÷Õ%£q¯‰¾6Ð$66–AC†ammÍô©SÒ´`Ò%{vsÔ¯ÇÊÕk¸výÅ‹£€½=ÁÁ)RbbbôúæÕW®om7}ùØäÌIDdd¢E\’UYh¨þ¹@™äϲÃOíÙÀ›®Ý{rýʟ鎓d4|´ªTÑ„‡‡cý ræ[Q¤²ÒËec66*X_ß3œò=#)œRÊKRù‹IÜ1ù—iäÈ‘ƒ]Û·bll̃éÝo€VzK ,-,°³³ãmûöìØ¹KKá,„`ý†  ½³%~;BB>!„Ú.6.î«&ÿ$[}ïÚ³—Û·ïйSj¸éõÕŒædÒ› ”J% êe¢æÚ†tÖi©Q`“S[Ù­û!ÕÎΖ·þþ”*UR {÷þ=¶¶¶Zé’Ioê’™yLWVeFF¤Ww*”gQ…_ `Ó–m4iÖ‚VžžRý|Mù33è›ÏìòÛqäè1­°÷ïßc—T¯yòäæR’oê ãÆ2eê46nÞB§?‘7_^ZµiK­Z5%…žRij]¥é¯_ßc=’˜˜† Á¡û2½{éãÇÉXãí[ÌÍ͵? dÿ=(^¬þïÞi¥'OŸ¥:ÐnÙÊUtïÚYëþ/_½âé³g4¨ç.…/VŒgÏŸK¿CCC ùôIÚiéäT '§ZR|»Ÿ:Jãÿà¡ÃT¬X!ÕÚpùŠ•?q’Më×JëH€bÅ‹±uëv­´Ož<¥AýzI™¬P$ŽßÞ½zðûâ%¼}ë/ÍÝ™¥{·®tïÖ’ÖžnuëS]ÇÒýÞý\»v/^0eê4ÂÂÂy:ùç/\dάZéÔ j©MddddddÒ#µ„û‡ã}þ<Ó äD«¯c ³ Äûüyݨÿ A*Xkk+„ìÝ»_Š{ÿþƒäþÁ*Gìí숌Œ$..Ž›·n¡V«166¦D‰ßt@È÷ÊG;vî"44µZÍü¿Q°@J–HÙ*Y ,H©R¥˜>k6-Z4ÓûBñµ,P€r̘5›ÈÈH„ø¿{Çû÷t“J4lØ€}ûHírÚ÷ Ÿ<•â[z¶`Ûöܺu!ÑÑÑÒ¡0?‘”. ÀÒ‚ÈÈÔ[säÈAPPÁÁ!$$$;wnj;9ñÛ¢?ˆE¥RñÇ’¥x4iœ¦b©Qƒú¬\µ†ÈÈÈ$˯Ô’É’% fff<|øÒ°ôÕ$£rØÛç§D‰â,^²µZMdd$7éI͑Ò§ÏžÿMÏÙ¸QCV­^KppjµZ: ²M«–<ä#ý¾výç/\¤YSìíí¹~ý†d´{wâvíÌ¢Û>ßÒ)[¦ ÆÆÆ¨TÑ:ì#ʹºðêõ>>±=F¥Ò¶b"©¾<ÄÇŸÑߟϟS[Bë’Þ—õ©o©ûo!£q¯IFcJ¥Š¦wßþØØØ0qüX¢££‰ŠŠ’>zlÜ´… ŸñÏËWxõú5jµµZÍñ'yüø Ê%Z®¶oçÅÂß~çýûDGG³xér\œë¤©DüÚ¾‘Q»¥—Ÿ½}~J/Æ¢?OXX˜ôLiqãæM¢££Q(8”-‹Z­&&&:Ýq’Ì–-Û¤9`ÉÒeØÙÙR" 9£Y¯~~/5fœÔ§Ï˜Å™³çt®H›]{öòáÃG¾|ùÂ… Ù¾c§änÀÿÝ;Î_¸ðìÝuxGÀñïEH€Áµ@BqIˆ»BÐÜ¥Xqw®ÅÝiq'8ÁŠ»k â$—yÿH²ä6NKKû·gŸ‡›™Ý[ËììÜìoy÷îáááœ=wŽ“§NS®\Yeþ;wï²Çw/BΟ¿À… quq†ø§ ÈAÌ[°P™/66–»vóúµ?‘Ü¿ÿ€-Û¶é,Àïè1BBC©YÃC'ÝÊÒ}}=~=­VËËW¯X·îw\â¿û[ÖÐÛ‹ß~[σ‡prtPg§z®¦U‡¤GÑ¢ßsöüyˆ¹#Ñ‹ËRj§}©F ½Y²l9ïÞ½#66–+WñÝwY13­¦.ša©Çd䑚üùóÓ¿ooì݃énKzꃔ8;:¤¼üùõkV¯]§„\p°·çøÉSR²d Ö¬ZÁ–ë©_¯.]:udëæôëÓ[éˆ,Z´(·oßQÂ}]½zM' ‹º þ|4jèyõêô88Éõ!%ËV¬àÓ§O„††2ÁB% IZùþþoè?p°ò’»9óæ+¡.ÿñC†@›Â€µüùóc^ÝLù[ºwÿ>;wî¢~¢‘ÌgÏãáÇ4mÒXgÞÍ›·R»–§RŒøöòæÍ[yúô111Ìš=k+å©Ä„ýÊø “ˆŽŽV¶kÓ–­4òn , `Ƭ_9xè0 Ì#S¦L„‡‡+#¨]xôø1GŽø!„`ç®Ý¼yó'G‡4¯Éû$00î ƒððpæ/\Dž<¹)R$ùR“°M/_½¢{^4lè­€Q¯ACª˜V§MûŸ)_¶,ÇÖ)³lùJZ6o–dt£¾¾>Ë—,æêµëXXÙÒ¬E+jyÖ¤a|‡Û·¬Bùò,X€^õ“ýÁ9µs5=uHZFÆÞ½û©]׋&Í[bcc­Œ`M©ö¥:vh•õ½aicϱ'Yºxá_ÒNÎh=F¯éallœl,çôH«>HM¶lÙX¾t1ë×oÀÌšæ­ÚаA¥M™={6ú÷íM»ö9uúŒÒ ûîÝ;¶nÛ®3zÀÉÑWWg6nFýX±j5µ­Orí„Ä|ÆŽæÉ“§,^ºL•„¡¡!¥J–½F-lœ)T¨CLW~Xx'Nž$,,npõk×yð ®cüÍ›·œ9s6ÝÎS§Lâö;T«nI»èÝ«‡Nèž Ó¼iSNZ­–mÛwÐÐ[w?˜™V£gn´lÓ–ªf<}ú”ñãÆ*ù#GÅÌÂ÷šµ géâ…èééñàÁCž>yª„Ñ#>¼Öü‹¸zí:Ö¶:×Ö¨¨(²fÍÊÂùs˜ùël*U5eá¢%,˜7##£4¯É§OŸ¡®—7«TÃÖÁ‰7n²rùÒ/zªªVÝú˜YXÓºm{¬,-Ø¿¯’—p200 ož<:“!Ù²}GöìÙРaÍÚuØ;ºPÕÌœ©Ó¦3nìè$OKJ’$IRrzã÷ÊiT“^¢I?ÑddŠ;¡Qüd|áÒ•Ó¥J&ÿ2"µK—/ciaNVÕã¡j¥ÊÄÝì>¸× ’^W®\áB|è ³Ë—3FCs9n·ˆjé ýsœ\™8Ák«¸—°üY7mfÓ–­lZÿí½àÈ»qSZ·l‘$^Ý·"""’JUM9qôH’†_Ûñ'=vGê>Ê*I_ê[9§¾õ¿{I’’÷­Ô!ßYéºzí:kÖ®ãæ­[DŠÆØØ˜Ê•+Ñ¿ooræÌ©.þÕ½xùGg7îÞºžì-iåK’$I’ôeÎ?…¹¹:ùO ãü…‹TKg?胇©nZň¢€O@4“hŠM4 Õ”@ùÿ_pëS¥Jª$|HçN–þ½Òû¨`ZÞ0áb† Ñ}›û?! 0çÏŸS±B 8xè0·oßÁÌÌT]ôsûöŒŒ(^¬±±±Ìž;—âÅŠý-ÍgÏ£TÉRäÉ“›÷ïß³dé2¬­¬ÔÅ$)ݾ…sêßðw/IRò¾…:ä[ ë±´U®T‘ÊS&©“%I’$I’þþÓÎ’”QÍZ´âÎÝ{´o×Fçñ¹JTd$'OåáÇhµ±(ŸÓ¦PXõ–é’ÿ›7Lš2ÿ7h4Ê–ý‰¹sf©‹}—/_Qb£èëãà`ÏÀþýÔÅ$)ݾ…sêßðw/IRò¾…:ä[ ë1I’$I’¤ÿoÿéÀçW7ÁèWRC’$I’$I’$I’$I’¤¯á¿R#é›n$I’$I’$I’$I’$I’$é |!5¢¢¢ÔIÉJo9EDZ==4FÆèepÞˆØô"õ0Ò7Îø÷J’$I’$I’$I’$I8x™ IDAT’$ýúOpÖóÖÀ€à|yÕYi þŒþ{òFd|^I’$I’$I’$I’$I’¤ÿGÿéç°‡Ò×'ü‡ôÅ”NìáÇGèЧDlÆç•$I’$I’$I’$I’$IúôŸîpºz…wúhllÔYiºòê ú!Ø|—ñy%I’$I’$I’$I’$I’þ}1œÕ|||t>&›>|øpÏj÷öø¥¯Ïwîîê¬4í¾á‹^¨>nù3>¯$I’$I’$I’$I’$IÒÿ£on„³Ó¦Ï`Þ‚…Ê$âÿ%N›>cF’èÄ^]ºÌ“k×Ð+Sssuvª.=½ÌµG׸ɏ 26¯$ýU^¾zEùJUÕÉøû¿ÁÑÙˆˆHuÖŸ¶}ÇNZ¶n§NþG¸yxræì9uòWñ-m·$I’ômÛ·ÿºtS'§ék^¿Sãݨ —.]`èð‘Ìž;O]Dá3a‹—,S'ÿcïë„¶‘V«Uƒpÿ¦dûŽ´iÿ³:9E•ªšñèñcu²$I’$IÒ¿Î7×á 9KråΛê”9sVõlŠ˜OŸØ=z4¡zú”éÝ4u‘}ŠùĨM£Ñ‹Ð§yo4¤ÞoE§.Ý(_©*·oßQg±cç.ÊWªÊÔé3ÕYÿ—Þ¿ßÑcêä Ùº}‡:é«Ë“'7ƒ sfcuÖÿ­QcÆ1eÚ uò7cÃÆÍxy7ÆÉÕïFMؾc§’wêôiZ·ë€…µ6vŽŒõOtt´Îü˜[Ù¢“þ5ݸy“»÷î©“3$ €ò•ª¦Î’$) BÊMÄ…‹—iߦ5ÇŽdû¶Í\ºü«TÛwìÄÙÑlÙ²é¤M+V®æþýêä 111ÁÈȈ¬YSþ‘P’¤ä-\¼„µë~ÃÞÞN…V«¥gï¾ØØXqìÈAºýÒ…á#GóèQÜèȹ³gqí‹ÊtõòŠ-йyuƒ‚(W®¬N™Î>Ä<~ü xqäà>V¯\Îá#~l‹ÿUAç®Ý©S»6§Neί3™5{./^J׺}k.]ºL›v?Sºôl\¿ŽSÇý˜:y"¦¦ÕÔEyóäÁ"~_¦F]~ëwþüù”c¸~Ý2eʤ|Þ±m3ŽödÏþùú¡§Iù |¹r”ø‚n©àà`fΚMtt4Z­– “¦®ä'·¯5) &ùûW-0(ˆ–mÚFÃâEóÙµc+¾»w°hþ<^ûûÓ©Ë/)ŽÀþ· aî¼|øøQõ·ˆˆˆàî½ûLð˹Ó'˜9m*ÓgþÊõë7>j ™3gæØ‘ƒ¬Z¾_ß}¬Z­Ûnºví:aaaXZZpêôi–-_ÉŠe‹9qô0yóæaĨ1JÙ£G1z¬ú÷ãÔ‰£œ:îG¾|yu–—¸–Z»íÇôîÛŸ^=ºsþÌIZ¶hF·î½ˆŠŠJs»^ùûÓ²y3N÷ãØ‘ƒ,X‘£Çê¬G‚;wïѤYK2eʤÎbʤ :uûå g)T° É\K®]»ŽiµjìÙµGcbb¨1I¿sý†¼y«Û /I’$I©I¹µù/óáý{Nûù1´i ŽïÜÉwÅŠÑ`Þ¼tn~ÿá=GNùÑd@ vÝIq“bÌo=/ÅÆì¿»›¾{÷¥¤=zü˜7oÞR¹rE²W¯^£ió–XÛ:P¿A#nžÊ(§*¦æøû¿!""’£Æ`ëàŒ«GMV¯YK½ •Gcbb˜:}&öN.Ø:83z¬‘‘É?Ú˜Üòƒ‚èÑ«6vޏ¸×`õÚuJù¡ÃG²dé2:v=žµëqñâ%¦Ïœ…½“ ÖvŽIFooÙº ÏÚõ°°¶£~ƒFJó߽̙3}ûàæá©Ì—Ú÷'öàÁCºõèÅË—¯póðTÂ1 >’­Û¶3dØÌ,¬ÙµÇ—§ÏžÑ±Ë/8¹z`ëàÌÀÁCuFBlÞ²ÏÚõ¨jf‡gž>{–è›âlظ™:õðþýû$”ºyx²Çw/›¶ÀÒÆž ›ðÇ•+ʼi35==}ÆùLÀÞÉg7-^ŠâÜ#GeÅÊÕØ:83rôXbbb4dnžØØ;ѪM;^¼xñ¿ºyx²uû<<ë`ekOÇ.¿›àíÛ·ôîÛ k;,¬ítF*ß¼u‹FM›cmë@ú ”G‚Õrš˜+gNÌ,¬•Ñ$Ä0³´±W>'wÞ‘Ævÿ™mŒŠŠ"S¦L/^ €R¥Jb` Ollܲ{÷쎣£ÆÆÆäÍ“K s?~¿¶q¶mÛWühÛwìdðaŒõ½vŽÎ¬ûm=»öøâáY k;ºv롌†NmÝßø@Ÿ~pprÅÆÎ‘æ­Úðî]0“§Nçð?&NžŠ›‡'‚/¨/ )R¤°RF’¤ôëØ¡=«W.§JåJê,®]¿Ndd];w"[¶llß±‹ï¿/ÂŽ»ÐÓÓC___™Nœ<…¡ÖV–Q°@2‰Û=½{õ nÚäÈ‘ƒâÅŠaiaÎýq§B"##0­VFCÉ’%È—//áéZ·oÍÄ)SñnPŸžÝ»Q¤H2gÎL…òå)_®¤P·%Ô‘zT}ý>vüMšµÄÁÉGw–­X©¬×Ðá#Yº|¿t­.î5Ø´y‹’Ÿ˜r ã8M|\I&DÕÇtèØk;GêÔoÀÑcÇ•¼Ä!7’»æ',/µvGjÛ• (èÓf̤eëv˜˜˜ Ñhhס#4kÙ 7OÞ¼y›$ä•›6oU®iƒ‡WFD«÷oJÇnðaLž2Mi;Ž磌Míš 0tØH:ýÜ&1Îgu½¼©ß ãÆO`È äÍ›—»ö(åÄÆÆ2pðPúLll,áááŒ9{'¥½idd¤”ÏH{:::š)Óf`ïä‚•­=í:tÒù'¹ýZÛ0K–,dÊ”‰¦Í[2kö\>|ø ó}_[Ö¬Y=r8åË•C__ŸŠ+P¬hQ=~LLL ÇŸ [×ÎQ°`zõ잤~Ù¼u^õê¡§§Çî={ñöö¢x±bÒ³{7Ž;Îûøíš>ëWÆ…iµÏ¡ìÔ÷‰Ûa©µÛŽø£ô?âìäˆF£¡NíZ˜ä4áä©Ó©n@Zž8::```€¡¡!Žö)Ž662Êİ¡ƒiÒ¸‘:+Iý¿ÿÀALrš`i‘4TdÚµhѼ)&9r`llŒ›«K’6è£GY¹z ~î “.I’$I©ùWw8Ï[°PyDÈÚÞ‰Ž½ú²çþ}ÎgÎÂúwÁTwtNò(Qr“=ºöåîáûd¾…@ß`ì¬Ó7o¹Š´hÕ›­ÛŽýíZíçG΂ƒƒéÚ­mZ·âôÉcôèþ ½úôãÝ»`¥Ì¨1céÖµ §Žû‘?>æ-XÀÓ§OÙ»{{wïäå«Wi~‚R¥J2lÈ` *ÈÁý¾¬]½BÉ›1k6U«TáèáÔpw#w®\üܾ‡öûâ»k×®_gßþS6cÖl&ŒË…³§˜7{ß)’è›`×_V¬ZŲŠ11I~ïŠU«™;{&gNÃÕÅ™±ã&(yi3µ /beeÉq¿Ã¬^±Œ ›6)ë pøˆOž>eç¶- <jyÖd׎­÷;DÞ¼yY´x©RþÕë×\ºt™í[6áw(n9‰G†÷èÕØËÁ}¾´hÞTÉ;|Ä¥‹púä1âi\3ïÝ¿OHÈG<Üݘ6c&ùòåcç¶-LšàëW¯¨åY“sç’¾bÜø „††2i‚zzzÌž3‡³g×v|wíàÉ“'„‡Ù‘öôÜy øãʶmÞÄ©ãG©nfJÇ.]u:¨Õû!µ¶¡¾¾>:v`û–MÈŸ¶í;2c毾ÞÿÞ½ æé³gTªT‘èèbcc12þ6¥`Á<{þ\$Áþñª÷wýäÉJ–(¡”Ï™3'¹såâჇ¼}û–W¯^óâÅ ¼5ÁÙ̓qã'ê ÚI®–@Ýn{üø1¥JÅÕ• Ê”.lˆ²ÄÛ•˜V«åÞýû,X¸˜ ’âö‡âÅ•S#„`éò´oÛF•¬K—.Sµjåstt4‡ eÔˆáëSv’$IÒ¿ß¿ºÃùÛ áÒ¥[ 2Ÿf-&ñúõ?ÓSÓ^õê²uk\XèèhvïÙC¯zJc Àïè1 .D͸8;‘+WNN‰‹wиQC,Ì«“5kV4 {÷í§SÇŸÉ–-†††tíÜI)Küh˜ŽÚ“#{v2g6¦i“F<ü¹ã[-ñò_¼xÉ•«WéÑíôõõ)R¤.ÎNLÔqîâìD‰~@__w7´Z-?·o‡¾¾>ÅŠåÇR¥”Â;wí¦~½ºÊ(%kkìílÙµ;éÈ€çÏ_¤ùýéQ­j7òæ»ï¾ÃÐÐï¾û óêèëë“={6ªT®ÌóøÑ2{|÷Ò°U*WÆÀÀ€R¥J¢§÷§©§§Ç‰“§øuö–.Z@¾|Io¼4oÖ”|ùò¡Ñh¨ááÎÃG”¼´Ž™ZñbÅpu‰‹ßX¤Hê׫«³4 #† !W®œÇ7øííl166F__[[^¼|¥”èÚ¹#™3cllŒ‹³“2òæÉӧܾs‡ýûòÝwß‘={6 *¤Ì×°9räÀÃÍ-ÙÑß… Luÿ¨©ÏkÒ±Ý_ºzzz´kÓš7o2Îg¯_ûãéYCgÞ‹/%sæÌÔ¯÷¹óc˶íxÕ¯«3Úæûï‹(ÎNŽèëëÓ¢i²fÍJÖ¬Y±²°àéÓÏû*¥uÿ¾è÷\½v£ÇŽ#„ BùòÊ%ûƒ—ÚÅ‹—Ø»o?ú÷UÒfþ:K s¬,-tÊJ’$IRZâZ<ÿRݺvaøðáêä¿Õ‡¹tùsçîäòÏhÚl[·ö"w®>^©«‹3>&ñâÅ ®ß¸IÅ ’tÈù¿yÃǰwrQÒ¢¢>–h”SIU¿€€@¸f&&&ÊMfBþ°£00ˆKÓjc“/– ñò߯Ç«]ïó¯ù1Ñ1ØØX+ŸsçÎ¥ü?¡37ñ#ˆúúhãÃAAAT¨ {ãW¸p!>‡sH,µï¿ví:ÍZ¶ [¶lœ=•ü@‰D£(®]¿ÁŠ•«ð÷÷G/^¼¤ù÷q/€ ¤REÝ‘ 4 ã|&›æ¨‚‰Ž­NüÀ´Ž™Z¶DqòåÍ˹s”ÏE‹~¯Ü0?ZiáÂÅܼ} üþ=ùóçWòφD'£À ¾Ëš5É@‚>ϧޮôJ]‘˜ú¼&íþ3Ûxýú úôÀò%‹(S¦4¢cç®,^¸€ŸÊ|Ž©¾zí:>̲%‹”ÂÂÂ8tø;·é>F+çç¿=== È•ësš¡rS˜Úº×©å‰IŽ,]¾‚‰“§Ð¥SGz7P–“Ø—Ô’$}&&&„‡‡3aÒd5ô¦T©’ܹ{7IGÀªÕkièÝ@çEjúúúÊõô‡âÅéÙ£½ûöK4WœM›·°zÍZV-_¦ÌBë¶íØ¿în®J7~ÜX,Ì«ghÝþi9ãC1)?n&'µº-#õ¨šïÞ}lݶ°°0DüˆÇXñyD{tÊþ%~9²g×ùœ/_Þ㳪¯ù Rkw¤´]Y³feǶÍüöû¼6ÆÝÕ•ÆêüМÙµ‰òåÍKpppŠû%¹c§n&ZÿÔ®™¡¡¡J{¥P¡‚}úDÇÎ]4 ^õë¡Ñh0hˆ’Ÿ;w.Ø€‰iµZÖ­YÉ´³ý Eó¦lÙ´^gtûßáÓ§Oôí?\¹r1zäp6V‘"EX²p¾òyμùÊÜ'OŸòàáCÜâŸXø±T)øïß¿ç]p0EŠA__¨¨(BÔb>EG“É0®ƒ7¥vXJí¶’¥J²aÃ&²÷îÝWž Km»h4òäÎMûvm˜·`!/^¼Ô©ƒÓëÔéÓ¼zýZ穹äœ9{Ž‘£Æ0gÖLÊ•+«¤¯Z½†'OŸââ÷T^Lt ¡aaØ;¹°|Éâ$¡C$I’$)±¤W8é‹0ybs*Vø'ضíóÉÿI^õë²aÃ&>zœì›‰œxøðÛ¶ï$&&­VË;w“<ö•˜‡›+Ë–¯$44­VËÒeËuò½ê×eöÜy¼Œ$ôÇÜ»_§LJŠ-J…òå™ü|Sð%¾ÿ¾ç.ÄLÖjµìÞã«.’¬Ô¶ûÏlc±âŸpñ"AA¼~íÏå+Wù±T)fÏÇ¿£Ì™= CCCÂÃÕ‘8[¶m§Aýz:Ë˨ÔÖýÎÝ{¼ÿâÿþLrä 44 €\9srëöˆ!û%õ…$I_Gùrå(\¸0ff¦DDFrúô¶ïØAíøë[‚5ë~ÃÑÁ>IgÉÁC‡yôè1ܹ{9óæ+árˆ »zí:/œG¡B•zIAáÂ…ñãÏÕ«× ¾óïĉüøc\–ÞuûVôíÝ‹å+V±dÙrˆˆˆäé³g<{ö\]4Y©G{óö-Ù²}§tÚœ8yJ¹N|mGçæ­[!8zì8·oßÁÉÁA]실w»2gÎLÓ&Ù±u3ÍšÆ=õ•)S&²fÍÊíÛ·!…p2‹—.'**Š–._¡Ó¹øg¥vÍ´³µåäé3Q¢Ä,_º˜õëÖP§v-:vhÏúßâFÅ&îD411!GöìLŸ6™ÅK–)/Wtsuféò|üBtt4‹–|~/i´§ß¼yËà¡Ã•Ê5ðªÏò•«&66–ÕkÖòÝwY©–(¯ZZmÃvm[³mËFz7øÛ;›#""éŠO€% IDATÖ£yòäaðÀþDFF®Ä¤Nü‚ÇmÛw²yóV:wúâ_îW³†‡Î:×3øìÙsbbb˜3oV–äÊ•“9ràâìÄ„‰“ # €ß~_›kÜ9•\;,µv›³£Ÿ<áèÑc!ؽǗ·oßâ`o—ævr3¦O¥xñbʶhµZ&Oš€ïîlݼ‘­›72jäp .ÄÖÍ•Á;’$I’”’ä‡üÃ"Ãà &ù ""t‹úê3ft-êÔÝÃŒ™wñò*•âØ¿Kùrå(P ?vvvÉ>J•+WN/šÏ”i3˜0i2úüøãÌž5#ÅG_{öèÆø‰“©Q«.&9rЦuK†L£a-[·#$$„œ&&tèÐNA‘–Ù³f0yê4Üjx¢ÕÆR¸P!FŽJÁ‚º•¦GåÊ•>t0 æ]Ð; ,ÀÔÉ)ÿXaÝ:u8|Ä{GjÖð`Äð¡úþreËâáîNú (X ?[6mPÁÄÄ„ýûÒå—äÊ•“B Ò þçn®.ø¿yC¯¾ý $þ|,Y8_g$J–,Y˜6u2­Ú´Ã´ZÕ$‚¦%­c¦Ö¼YS®ß¸ÎÔiÓÑèéѼij×òTS <Ÿ Ù´e 9²g§f |÷¥¿Cvί3ð™0 ûøPÍš4¦Oïžêbé6lÈ &NšŠ¯ï>ŒŒ¨W·çã; S“Úvÿ™mläÝÿ×þ4mÞ’˜è2eÊD£FÞÔðpçíÛ·ÊˈÝtæÛ¼áwž?{Ž‹³“NzF¥¶îwïÞ¥[ž|úô‰lßeÃÁÞNùqêçí>b4ÛwìdèàÔ®å™áúB’¤/wýÆM†EXXïÞS¯AC~*S†ÉÇ0}ÊdFŽ‹£³yóäaðÀ:£ÓÂÂÂØ¼e+ çÏI´Ô8oß0uÚ É›'5kxеK\ ×>°`Ñbê7øüX:À1¿C/VŒ1£F2bôÞ¾ ÀØØ˜zujÓ¶u+¥\Zëö-qrt`ÞœY,^ºœ¥ËVEÞ½z0z¬b̸dŸ¨)W®,åÊ•ÅóáááØÙÚ0 Òp0_*µkföìÙèÓ«:ÿ€þ}1¯n†¾¾>ÁÁÁ?qK ‹d_tPúÇéß·ý bë¦ ôêÑ=¾mV‡Ì™éЮ-Å‹Sʧ֞ ãÔéÓtìЀömÛE£¦Í‰ŒŒ¢lÙŸX0oNªaRkfÎlüÆì=tä§Ïœ…ø°> *V¬ÀúukؽǗIS¦¡Ñh¨T±‹Î'_¾|hµZvìÜŜٳ--îÝ*Ý~éB»Ÿ;òáÃGªV©Ì¸1£•üÑ£F0yÊ4<<ë „ ~½º´jÙ‚‡%i‡¥Ön»|á,Y³feîì™øŒŸHÿAƒ)R¸³gÍÀÈȈ]{|SÝ®³gÏ1~âdBCC044¤RÅŠ,Y´ Ù§.ÓråêUnݺÍìY3ÔYܹsAÜ9“§MÇßÿ M›·Ô)³hÁl™3«³¾ªM[¶ª“¤d¨Opp0‡ø©‹I’$B^}¨bjŽ™¹ã'L"66V],M{÷íOóºšQ7nÞ¤ió–˜V·ÄÕ½&ë~û]'?""‚¥ËV`ic‡Ïø‰:yßšv:QºlÊ”«H…ÊÕ¨Q«óæ/äÓ§Oê¢_D]ï‰;w%i'%L#FVO—QcÆ2bØP®ýq‘&±aã&BBC¹tþ ‡öïÅÖÖ†Ö­¾ìXu› ¹k]ŸÞ½(S¦ŒNÚ¿Ett4cÆÇ޶N4kÙš«W¯Ê„IS°st¦b•jÔ©çÅùóÔ‹à?®Ð£WÜkÔ½F-\ÝkÒ«O?nß¾£.ú·Io;ôk‹eíºß¨Y».«˜bïäšµë”üׯýéòKwœ\qtv£{ÏÞé, F­:œ#WÎ\|÷Ýwœ¿ps33%ïý‡´û¹wïÝC___g¾à÷ï©\©"‡ìåò…s´kÓš®Ýz(ðA´lÑ\g]]œu–‘àÂ…‹4kÑš2eJ³}ë&.ž;ͬÓ¨^ýóºü“òåÍ‹•¥Z­–±> SKV…òå)Y¢„:YGZË400À³f uòWõðÑ#.ús#³ÿNzzuÒßF}||÷íçÐá#:e$I’ÆŸHÔ§OØ·‡õ¿­eío¿³aãfu±T…„„0uú J•*©ÎúbBÚÿÜ™zuërñüΟ˴³t:ÕºvëÁí;w°07×™÷[5°\»éÒù3Œ5’#~~´íÐñ/Ý©®÷¿DÝ:µ•öÑÀý°µµQ>5R]†ÄýBHüùÒµÎã&L¤q#oúöîÅ÷ßOæÌ™©X¡Ê—‡øQ'&MÁÒÆŽjÕ-hÙº~/ààäÊö;©SÏ‹ŠULiÖ²5wïÝ£k·T5³ÀÎÑ™]»÷(åÊÂE‹iÛþgªšYàê^“óç/0yê4,mì0³°fâä©Jù„ Z­––­Ûòöí[6iŠƒ“k’Ñj‰C ܼy‹ÆM[`am‹¹•-ýúL×2?Ë´é3±stÆÌÜ ÏÚœ=wN§|Â<N®lÚ²'WªU· m‡Ž¼ PÊ\º|ïÆM©bjŽ­ƒ .FÁýûèÔå^¼ˆ[Frá(^¼|‰‹{ Nž:«{M\ÝkBüèž cZÝÏÚõtF½û=†—wc¬lì±¶sdñÒeJ^xx8C†§º¥ vŽÎ¬XµZ§ÁýäéSÚv舽æV¶ôé7@ç¦UOOŸQ£Çbic‡­ƒó,B¡ä'H—_ºcfn¥|—šV«¥Š©9W®\UÒlœtE^¼t;wÕ9>»vïaæÌ_Ùã»'WóèÆÍ›ÔkÐÓê–xxÖNñ±ã?³/¶lÝÆÐá#YºlæV¶ÉÞÔ\»~k[åf(±OŸ>)k*W£qÓÊèË›6ãê^“*¦æxÖ®—¤£!±”Î-RXÇôž×Éý %HøÎò•ªbam‹ïÞ}J^jû>µó!£uELL ý ÂÁÉ•ê–64mÞ’çÏŸ+ùÒÿ7­V‹ïÞ} 4€|yóâ»w… dóÖÏ#G=~¬œoŽÎn,]¶Bg“§NÇÛË‹¬Y²è¤‡„„Ðà`Ì­l±¶u`w¢ëñ .ÆÑŲ*ãè즌BNu3S4 ¥J•$þ|„' ¶tñB¦OL-õÛgdd„¹yuV,[ÊýûØã»Ò¨KÓº†¦š ­6KF£´ô4zhHôYOƒ‡²ió BÅ*¦ìص›˜˜&NžŠ¥æV¶ 9šÈÈHîß@ëvqOby5lDÛ™2u:;wífÓ–­88¹ræì9V¬ZMÇÎ]Õ«ñõWJËV· RºÖ%ò"00ˆIS¦Ò¤YKræÌ‰×oÜ bSrK—­ Ë/Ý!•6ñךµëbfnEóVmtÂM¥ÖÎ8x(‹–,¥c箘V·ÄÎÑ™õ6*ùQQŸ(R¸09²g lÙ²Ähcø©L† L‘Â…ÑÓÓ£nÝ:|øø‘À ¸¸—ÿøƒ;v±võ Þ¾  N½ԩ߀žu0ÊdÄÂs5fœr|ñò%­Û¶ÇÌÜŠšµë²Çw/–6vʺd´]›Öv§7äÕ†›pu¯I¹ŠUprõàÉÓ§ê"_,kÖ¬øŒM…òåÑ××§råJ/VL9~QQQ”þñGôõõ144¤TÉ’ÄÄÄíÿ7oÁÛË ===vîÚC£FÞüP¼8†††ôéÕ“#~Gyÿá“§MgâøqT7û|ž©ïC6oÞJÆqOvöïÛgg'ŒÉ—7/ÖV–`F@f +È ä E’@9 *`uáÒüþCº¦CGüDhX˜HKÉÒeEÉÒeÕÉߌE‹‰,Y: ©NY²t‹/VÏþ—kÛ¾£X²t¹:Y!„½£‹8|ÄO'mÃÆMÂÍÃSXÛ9ŠÀÀ <µñ'‹í;v !„hШ‰xò䩺ˆBˆÒe+ˆç/^¨“…B¼~í/*Úu訤õ8X˜YX‹jfÂÊÖAŒ3N„%sn‰’¥ËŠ7nª³S¦NÞ›Š€€@¡Õjů³ç ['!Dü>hÒ¬…øðᣠ ›4å*V'NžB±cç.Q±Š©ˆ‰‰B1`Ðafa-<|(bbb„Ï„I¢L¹Šâ×9sELLŒxü䉨P¹ª¸rõšBˆÍ[¶ŠÆM[!„ˆŒŒ%K—¯_û+ë—Øó/DÉÒeu¾kúÌYB!šµl-V¬Z-„"""Bܹ{Wˆ .óì¹sÂÞÑE„„„!„xüä‰xÿáƒzežƒ‡Šðð!Ú´ÿYŒç#„" PT15ÛwìZ­V¼xùRØ:8‰5k× !„8vü„pruW-õ³ç/^ˆ²*‹ÖmÛ‹‡‰ðð$ª™YˆÝ{|…B8xHTªj¦œƒ<÷ï?BqëÖmQºlñòå+!„ã|&ˆ†Mš‰à÷ïEdd¤1j´(Yº¬xðð¡BˆqúÌY#>|ø(œ\ÝŶí;„ˆ?>%K—ûBñìÙ3ac館Gâã'„›¶£Çúˆ˜˜ñìÙ3ajn%Ž;®ä'èܵ›X°p‘Bˆkׯ ÏÚ¢š™…ˆŽŽ"þïrÕêµIŽù”©ÓÅà¡Ãu–eïè"¼7ÁÁÁB!æÌ›/ÜkÔÒ)“àÏî 3 k1tøH¤ó7röÜ9qïÞ}amç(NŸ9«ó &Nž"4l,^¼|)"##•ï‰z^ ч”¼£F‹šˆ  ¸¿«ÖmÛ‹’¥ËŠÈÈH!„kÖ®–Övâüù """Bã'Šq>ÔÉß””ÚM ƒ† "º4­k¨ºÞ·wt'O"m–ä,Yº\´mÿ¹ %â×µº¥øí÷ "$$D|úôILŸ9K4lÒL¼ÿðA„‡GˆÆM[ˆÉS¦ !„øðá£(Yº¬x÷á#G‰ “¦(Ÿ—¯\%~îÔEùœx½S[vrm‚”®u Ë{óö­ð?QÔõò7oŸ>}RÊ]»~]T¨\-Ñœqû s×nB¤ÐÆñËoÚ¢•øøñ£ˆ‰‰3gÍ5kÕZ­Vˆ4Ú ULÍÅ\BqêôQºl(„"((H¸º×ã|&ˆ}ûˆµê(í µƒ‡ {Gå{ÿÇÞY‡Eµ¼ü³,ˆH£*bë½vÒaw_½vwww_»» ÄÀ@»»»¥¥…e,v—%ôê½Þß÷|žgŸfæÌÙywÎÌœwÞ÷¾ýʃΜ•¿{ÿ^^ÓÞQþþù¤Å?vâ}zöÀØÈ]]]ú÷ë«t'È—/µkÕD*•’?¿!U*WæR ¼b¶¶xy*âÝ.\˜æÍšrìø ¥¼}ûŽ›·n1dÐ@¤R)… ÆÓÃã'Ô‹RÇÑK—V¶'OáîêŠm1[®^»NJJ ×oÜ Nõ˲¤uËPÏ;kË¡¿+ ‰D”I033EO/#¾hHH(]{ôdÚä‰Bˆu<ÌÀý±.T]]]Á ×÷€Í›5¼ê8:ââìÄ¿ƒj5ä®o©ÇÜö묞¡S§)nWŒÖ­Z¢­­•UAAÖd#ûÜô‡o+\œÐÓÓC*•âäT‡wï3bß‹üoŸ€a¾|ÈårÆŽŸÈÐÁƒ°-Z”Ï_¾ “É8{î<©©r†„¶¶6… YѺe ÁZ?99™ “&3uò$tttÔ«çäÉ@z÷ì©©â¹êÙ£»Jþá#þtêÔ‘êÕ«¡§§G1[[¬¬2¬•]\œ‰‰aðÐáðó£s§?5Z¾eå=ò_ÀÄÄ„èh…dNc)Ùّ̡›5Kn©Z¥2íÚ¶&_¾|èèèàã{€Þ={`”??úúz´o׆ã™ç¯ïáGÖ‡»g]‚CBؽc­Z4רg³C}‘Nû¶m044D*•Ò§wO^¼|)X¢f·Îpws¥R¥ŠØ×®…±±oÞ*ÆoSSSºtîÄ>_&LšBáÂ…5† ˆ`êô̘>Uïqóæ-jÕ¬Á;w©\©Ö…kÚèèhò€’uí»wïxððƒöG*•bllL—Î*ÝAÁ·¬ksjwn8xè0­[¶ JåÊhkkS²d‰Ÿ¾D&“1bÔhºuíŒ]±búÃÙ¹+W¯eæì¹Ô¯Wkkáÿ£Çøý·òØØØ@ÚxšWÍËC?¯>qññ‡œœÌÛ·ïðÙ·‡#‡üxüø ËV¬ÊîÝïCËÍ2Y=¬X¹š¼yóÒ¢y3H»—¾¾¾J}}}âããUÒ4µ‹4ëý •«Ñ QSŠ·£u«–*×ýh‚ƒC˜·` æÎÑøôÝÏ©€ã\¿r‘Ó§²båjë9u´ÕD¾ªU«¢§· µuD&tuP­šf×ÄM×Îhß¾­ð¿‰’2Eé3fÑ¢y3Nž äì¹ó8ÕqT/ÂÌÙs :Û·o0pÉ))ÄÇÇã]¯!î1\ý’LTªT‘»·®óåK —._¦M»ìÞ¹R%K¢¯¯'¼ Ø-ÊÀþ}1jŒz˜˜˜@š{—²‚H™ÈOŸ°Rrá•H$ØX[™æÊ`¦ä.–'O•ÿÓ_r’•\ó”ñyòä!_¾|*a ´µu‘EL! IDATHù›qÕ™:y";wífè°äÏoȘѣT\ýrƒmÑ¢ìÙ¹ƒ«V³|Å*Z4oư!ƒÈ“'zQ×gmmA‘‘Ÿ(X°€RI°±±!"2ëÃ%5Q¢xF\ÀÐPž?¡âš˜˜DlZ˜•ÃGüÙ»o¿âpD‰„ÈÈO¤ÊáÂÃ#TbÒYZX¨(:îܽÇÚuë ‰„wïÞÓ¡p;!?¿‘ªr²€¥%—/_UI U„+ñªW_HKþšL ψ£ƒ³æÌ#99™“'™:eúyõ <®®¢³µU9L3;”;ÚÚÚ]±ù²(Z´ÚÚ™§‚9ó‡‘qÖ®˜‘‘™bDFFR¡Âï*i66Ö„‡gî/¹é[êß1·ý:«g(<"‚Tï©LV²ÏMø–±",<œåËWrÿáCË‰ŠŽþÏ…ùy˜šÏŽ]»ÑҒкUKÂÃÃÑÕÕE*•FTTöuœ…kRRd”/W€UkÖR©bÅ,çÈOŸ(de%ü¯¾‘Aá4e:111´û£#cG¢®·wîÜeÀà!Ì™53Ë ªÿ"ïß¿Ç<íL‹œÆR²™C³#7k–ÜR¼¸jœî°°pF‡¶¶bNÉR3“ßˬÛÀÀ€£G²uÛ4nJ]//Úµk£¢@T'}= Œò##¥pºººJ‰ų]g ö{’>~§ý¦7oáˆÿQ‚N@__Ÿ•«Öж}Gü|÷ ÊÆðˆ:vê€~}å/@Ò×$tuu±±¶æõ›7|ýú•ÐÐPž>{Æ—˜^½~Ml\… Ûpëöm óåSQ–ZXd>gå[Öµ9µ;7„‡GP©¢Bÿ3‘Éd 2  P„P4d àL`QÑÑŒ?‘Q£Ç²`þ\öîÛO»vïA™¾ ñ !ÑÒBWW—!ƒ›ÉF::üѾ-ë7nbØÁÄÅÅqüDÇŽR¹ž´~pìÄ ¶nÞ((kó¡:ÒIHHP1Òɪ]Ý»u¡[×ÎDDF²sçnšµhÍqÿCßý|eGjj*ÃFŽbÔˆa*ke”ß·ªW«J›V-9t†¦Mþ¹³‰DDDDDþ›dÖ2ˆ|3U«V¥X1]¢¢N"—k>%X"9NÉ’†T®\Y=ë§```åÁÊ9ËÍ[·8rðöµk1nÂDŽ9„Aš…E:cG¤kçNôìÓ—ƒ¾ûñ?zŒ+W®2er是9‘?¿!Þ^ž¬Y·žk×oPªdIõ"Èd©èé©Z¦Ì)^ÜŽƒ‡3tð õlHSl½{ÿž²eËi>~ÄZéÅE“…Bv|kùt¾÷:©TJ‡?ÚóGûvð;Hç®Ý¹~åRifëƒì(Q¢8 çÏ%<"‚¾ý²rÕ T]ܦ£É²À¦° GWIûøñ£ð2˜Ûf*×oiaA…ßc׎m*eH‹í¢¥•ÙRPWZÍ¿ùè‘ÃIJJbÐaöóÕ¸Ácjj»wï…{§ccc“éTõ>bg—aÁ“NN}‹,¾cnúuVÏ™©Y¶±’³’}núCV¿§&FŽK!++vlÝŒ®®.;wíáÐÕ8º"ÿ»˜››#•JY´h1»wmG"‘pïþÁ2ÑÚÚ»bÅ8rè€ú¥=zœ§Ïž±wß~!­O¿ÔõöbÙ’¿°°0bÊ’vH›2ÆFFYƽ}çzºzÔõö bÅ 4nÔˆý>¾ÿoÎ?sîüΟ›«±”læÐìÈÍš%·¨ˆknnÎü¹³±¯]K%ýG]Ýš†ÁœÆFkkÆŒÁàýññ=@÷ž½)lcêËjI…óÒ ÉÜ75É?Ti¾OHHäóçϘ™šæ¸Î@ƒ<•ññ=@¿>½…¹qð ìóñáÖí;Ø×®ÅÇÁtéÖƒݻѲ…Âò53S3‚ƒC¨X±õêzÓ¦] ,Àö­[˜}"55•›6“/ŸFWÇŸMžâ¯^Dä©TJ“ư¶±Æ0_>^¼xÉÂE‹iÚ¸¤¹ø'$&°jõ¡?¾}«P´øöãù“‡Âç·òåY¹|)Ë–üi‡÷®]·˜˜X»nƒÊý½¼<Ù´e wîÜE&“ÊËWŠP666‡së–â ä°°0Μ9óMë‚_•ˆˆHNž¢S—nÔ®Uw7׿5–æÄÏ\³´hÞ”E‹—ã[tt4Ož>U/ö]dW·¦5Anç:}}}þhߎ£‡Òáö².DJJŠpxmTT§Ï¨]©™íÛw sÔò+±±±¦téR9®3r¢˜­-'IJJàò•+|þü»bÅxóæ-üÙ™ž=ºQ¿ž7ñññÄÇÇ ‡Lz{y²}§B!9°?|÷ïaåò¥”-SšÝ;·±aÝÊ–Qlä)R˜Ò¥K±lù d2±±±lÙšy£>·üvOœ6¨¯&¬y³¦ìÛçÛ7oIIIá¯%Ëp°¯™™)ÆÆÆxz¸3uÚ âââ cë¶íx{)Ö{÷ûЪEs¡.€…-&àä)V­\Nž>ž«Vcnn†Í·o@eÇ–­ÛÙ¼eåË•åâù3òó>åË•eäðaŒ3šðˆNž"..Ž””Ξ;Ïž=ûDëf‘\!Z8ÿ ôõõyøðuê4æÅ‹‰DE)ÜÉMLP¢„!çÏŸø)®Pߟ»ÊÔé3É“'Güâho¯b4yâê6hDƒúõ¨USÕJéùË—”L³¬zúìöµUò³ãÍ›7Lœ4…4—ôâvv,œ?—òåËAšBjîüÄÆÆafjJ‹Íè×§·Z- ÜÝ\Y³j9+W¯eÕêµ$%%aiaÁØ1£(Z´=ºu%1!‘¦-Z‘˜˜D¹reY·fÕ¿&ÿÆ0~âdä&±kÇ6Š-¢^D#‡¥O¿hkkcldÄô©SKšÜÖÍÐ#‰ˆˆ$ŸeÊ”fÌèQêÅrÄÐÐ ëÖ0uú ¦MŸ‰¡¡!íÛ¶¡eÚ¼|¹rÔ¯Wº aU°‡ürŽílffʦë˜9{.S§Ï@[[JéÒ¥Y¹|)n®.9ƒgÝX˜›S¥J%œ2Bo 2˜)Ófàæé¾¾=»w£˜­-¤½èŽ=’n=zcffJ!++Z6W}QèØáî޻ˬÙsÐ’JéоMÒ”8ê¬X¶„³fãäêŽL–е5S§L¤P¡ WôtìÙµ{£FfX¾¹¹¸°kÏÞ,­þš6iBÀÉSÔ¬íHÃõ¿ÙkàïÊ"'¦OLã¦-X³n=½Ôb¼Ž6ŒÙsæR¯acø­|yvnßJåÊ•˜z¤~™ ZR)ƒöçŽ ¡T©’¬\¾--­×91iÂx¦NŸ‹›ÂjÕÌ̌ŋR°`ÆŽŸÈ»wï5f£ÆŒ®éÕ£;#†¥oŸ^´ïÐ ‰:´oGHIIáÉ“§¼|õŠF ×H$–-þ‹q&QËÁ‰B…¬hÚ¤±Šµî·ð½íNMMåòå«Tø]a(âíåIpH} "<<œ‚ °iýZ¾&'sîüyz÷ìÀÝ»÷HJT(åCCøté22™Lc¼weNœ<Éù Š3=víÞ#¤W¬Xý{v±zÕrfΞËò•«Ëå”-S†Ë– “Éð=àǪ•Ë•jƒjU«0p@?:têLtôgªV©Ì¬Ó…üÓ§2cæl\=¼‘Ëå4oÖ”Îþäùó¼yýOw¡lhh(+V®ÀÞ1#¤Àƒ»·000`ÕŠ¥Lž2AC‡Qئ0+—/EWW¿C‡³m×Å‹—˜2m11_ÐÑÑ¡RÅŠlÚ°.K¯ªïåÑ£GÈ‘ âÊhkë`h˜üù ‰ˆøÊÖmÛ=f_“¿b[´(Ó¦NÎôŽ("""""¢‰tÿ+e?,‰ÚGKé#UúhyÒN'ÔMûè]»qûb‰â™Ý¦5qãæMjÕ¬Ú!ê”(­PJ>’õÁw¿·oߦråkܼYí £!""""""""""òk“””Ä–­Û9y*èèhd2VViÛ¦µp˜rVœ=wžÉS§ ŽJDDDDDDä¿É•«W©Y£†zòß"6.ޫ׮S%—úÈç/^Q½j¥ª@|’¥OªÒG®öIGø[´pþ TªT ¨@.[‘ÿtuuéѽ+=ºwUÏÊÄå+W(Q¼ææfDGG³vÝzìkçÞËPDDDDDDDäß@T8‹ˆˆˆˆˆˆˆˆˆˆˆü‚ܼy›£ÆðåK ÚR)ÎÎNŒ>L½˜ˆˆˆˆˆˆˆÈ/…¨pùéÛ§}ûôROù¥ÑROù~ ç¤$ÅéÅ9‘Ûr¿ŠÓ„ÿ[ßYDDDDDDDDDDDDDDDDDDDäûù%Î"===õ$‘ÿ‰‰‰êI"""""""""""""""""ÿaD…óÿä/ö¨'‰ˆüÒHŠ·VOù#Æpù!ˆο7oÞäÖ­[T®\™*Uª¨ù%-œâããqqq¡sçÎlݺ•­[·Ò¥KÜÜÜHHHP/þS¨Ôpg¯>ROÖÈž#—¨Ûe†zr®yI¡Ú½ˆOøÿq¨â¦ýA8¶ž?©mWÞ‡ó×S°fõä\³i.í'«'ÿ£´hÕ†7nª'ÿOÓ­G/vïÙ§žü¯rÀï þ좞üSù7_å{h"!!‘~QËÁ‰f-r…ó#Û2vüD–,[À±ã'èÙ»Ÿz‘¿ÅϨóÿ÷î? M»Ô´¯ƒ}®\½ÆãÇO¨åà¤^ôŠïí;!!¡¸¸y’ðÏža <*?Wš˜>s6kÖ®WOþ×P–õ‡)_¡22™L½ü‹òÍŠ~éÔµ»zr–T¨\—¯^©'‹ˆˆˆˆˆˆˆüçοéÊæÒ¥KÓ¾}{êÖ­Kݺui×®%J”ÀÅÅå9\múжT(SD=Y#uª—adÏ&êÉ9RÞ{('ÎÝ¡ …1ïL^}]õ"ÿ(Ñ_â(âØ‡Þãת¤‰M Uÿ…Ø:}ûËdnÛÃÁ“×Õ“5ò½òþ¯Ñ³w?ÊW¨¬òY»~]ºõ¤Båjxz×çâÅKìÙ»Ÿš’””¡Ô¿wÿŽÎnDDFªÔ 0 ?J–,©žü¯±ßÇ—ù AÚ‹}àé õ"ô0ˆ†›©¤ÅÆÆ2dØ<½ë«¤ÿ›ÔoØ„  3DGGs:íï¿Ëýxòô©zòßâDÀIbccÕ“ÿSh’ËÏl—ßÁƒ„‡Gp.è»vlUÏþ©÷V¦jÕ*tëÚY=9ßÒs[ç¿ELL C‡¤¦}ê¸0gî|RSS…ü„„6nÚ‚“«;³çÌS¹6'<|HŸ~¨QÛ‘ZN <”¨¨(õb,úk1¿ýVž‹ç‚8}ò8U*WR/òÿ‚ûÐà`ì©R½õ6fËÖmêÅrÛwÔŸWss3F¾þ;ð944,ÓÜ™þIŸC¾elÖ´1nêÉÿêcJneÍO’¯&X»n=mÚu Q“æÔoØ„VmÛ³ióRRRÔ‹‹|#©©©ìܵ›&Í[R­¦=Þõرs—Åà¡Ã©åà„W½†¬Û°QelL§q³\¼x €-[·áêáM-'úLtt´JÙ‹—.Ó¶}ê¸ààäJhh˜J~xD5j;Ã…‹ù³K7alž:}ÉÉÉ*u5iÞ’êµhÓ®÷<€\´ëÆ›tïÙ[ØàëÕ§>|òÕÉjM8|äèLcAù •™3oJ¹t²’M\\K—¯À«njÚ×Á«n¶nß¡~¹ˆˆˆˆˆˆFD…ó/@ýúõ©\¹2ÅŠSÏÂÎÎŽ *РAõ¬NC·ªç7POÖˆ•¥ nµSOΖ˷ž—€‡Ct´¥´nP[½È?N¯ñk07ɯ’vçѪ7ž®ŽJznÉmÛöú_âà©Ü)œ¿GÞÿU†ÄÝ[×…O÷®]ظ~ ,-7v4ööµiݪ… Y±rÕRRR˜8i £GÇÜÌL½J\œÈŸßP=ù_ãÚµëT«ZÒ^.ªT©¬^„]»÷¦ú²óøÉSÚ´ë@žgؼaþþÇØ¼EuƒèîÝ{ÄÅÅQ«VM.\¼Èú ›Ø¸~ ç‚Naaa΄IS„²AAg˜iT6§S¼xqBCC¹sçŽzV–| ¢yŸù˜Tî‚yÕnt¹‚Ï1ŠÅûë÷á”tHÀù»”rD)÷AØ:õãä…{B ×ÆÖ©ÕºÑ}Ì*ºYŪ Bâõûplú±aïiŠ» À¤r¼;Ï 8LÕRjýÞ@:·pAKKÂë÷áHŠ·&EUΘy;(âØ³ª])ç=„Ó—–ÛýÎQÖkæU»QØ¡m<Àüµ‡hØ}¶Jý »Ïòáû˜UíŠGÇi¼~®R~Óþ >ÇÄÓÈ]¡øKGOW‡e“»Ñ«§JznÉMÛvºÀø…»Ø}ø"¶Ný>k+ÕšŒfåö*uÕh6†%›ªÈ $<𦽿aVµ+E3äR¿ë,f¯: ”ë0t)kö@.—põÎsŒ+uF&Ël’Îó7!¸w˜Ši•.ü^oo>QÉ?rú&Õ›ŽÁªVO¬í{1wŸ×yÄrÖï ¤Óðåäû½#ÛýΩ\›š*§ýàÅ´ø—Jº2Z-¤R©ðÉê¥rÚ”ÉìÝ·ŸG³fÝzŠ)LÚ­~=½ëséòñ§Q“æØ×qÁÍÓ›-Û¶ððá#þèØ™:.n8:»1zÌ8H³N«VÓ^¥¾›¶0`Ðáÿ;wîÒ¶}ìiÚ¼•p/ufÍ™KÃÆÍ8v"€9óæS¯ac^¿yC‡ŽYµ:ÃÊþåËWlÚ²•žÝ»©\¯«›‡qcGÓ¦u+•tÒ^<œ\Ýyôè±zë7nÂûŽÎnL˜4--Õá¿/õ6¡¦}š6o¥¢°;àwÑcÆ1gî|œ\ݱ¯ã”iÓk"cŒ9┥K—sìø <½ë3oŠ[™7oßÒ£w_\=¼qtvcäè±*VAéÌ™·€S§™5gžÞõ9prµ§w}n޺͟]ºQ©j BBB…<™LF—n=§]‡Žxz׬—¤ÚRfÌšƒ«‡7µ˜8yªŠ²Àç€ÞõáPÇ…n=zñáãG!O™±ã'²jõZzôî‹C5m.X~œ9{Ž6í:àìê‹»ë7nR¹^™¬Ú©.—cÇOdÙ®Ü~ïäädæÎ_ˆ“«;µèÒ­'/_*\º/]Æ~>rOïúœ;A¸îŸ©2Ê¡:RSSùkñRÜ½ê ²¾zíZ¦>8}æl*U­!´àË—*U­Á“§O3…ÿÐ$w™LFMû:ܽ›1?ºyz3lÄ(áÿõ7Ñ·ÿ@áÿL&ãø‰F ‚…¹9ÇO`eUŸcüÊåK™3k P¹–4Mš2 OïúÔrp¢Ió–œ9›1&;Õq¤EófX˜›cbb‚‹³3oß¾ƒ4K¾FMšãèìÆ«×¯>r4•«ÕÄÉÕ]¸^[[›õ7áäꎓ«;-Y¦baøåK &MÁÑÙ*ÕkÑ¢U¡þ_YsçÑ¢ySöï‡ úúúüV¾<åË•ƒ,Æå¾ýù3C†ÀÙÕ‡:.´ï؉OŸ¢2=¯'Nf ‘ݸ0vüDÖmØHßþ±wtÆÝ«.{÷íò•æL-Åœ©<¢6|‰ùB·½°O«Îœò”Cnð;ÈÄÉSÙ¸i ŽÎn‚òËÓ»>GüÒºíÔrp¢yË6ܺ¡„Ê®]éDF~bþÂEtø³ ÆÆÆH$cŠúsª­­ÍÞ}>xz×ÇÁÉ•ÑcÇ ÑêòÍê·ËnNKIIaÔ˜qBý;uáýû÷ÂýÇŽ›HÏîÝhÓªӦϤq³4mÞŠi3f2fÔH,,,8x(c=šNjj*#GeøÈѤ¦¦Ï„‰“qprÅÝ«.[¶mWÙÔKIIaÞ‚E8¹ºãèìÆä©Ó³ôxÌn' 9$$$ Ϩ‡w=¶lÝÂ=c IDATF“æ-yùêyóæ%Ož<´mß¿–,ãóçÏ*÷ûÙ0yâxÊ—+‡T*å÷ߣh‘"¼|õŠ””Ξ=G¿>½ÐÕÕÅʪ ƒöÇïà!•:öùøÒ¬I´´´8|ä(-Z4öhQtttØ¿AgÎÖ®-fÚ”ITU2P_úúúѬYSì‹‹3zzzX˜›S«f ^½z @àé3”*Y7W$ 6ÀØÄ˜ó.fÛ.€F êãâ⌶¶6:::¸8;©¬e”ÉnM¨¥¥º–>~"ccjÕ¬¡^4[ÙÒ·O/¬¬ PªdIŠ)Bpp°z5""""""™Îÿ2·nÝ,³ÃÌÌŒ7n¨'gIó¾ó)haLðå5¼>·œÐˆÏt³JÈÉÜ5~Z;ŠÛ‡çª\KšRqÎj?ŽoGøõõx8üΆ½§Õ‹ ¼ùιk¸wt>/­`ÖÊŒ—â¸ø$ö¹H—–®JW)8{í!;]àþ±…DÞØ€ßê‘T*kË×于Zɮщ¸±ž›‡æÐØ£šúå9yá#goãкQD\_OŲEi30Cùõâm(Ó–îgÓÜ~ÈÔ\ðJÛÂÓ±‚JÚ÷’UÛÚ5r GwÚ4´çõÙåÌÓ‘.-]Ùê›ñÂ÷ìu0w½¡}cG•:Zö[@áBf„^]KÐÎÉL_æÃÑ3·ðªSAPÖ§Èdœ8wSã|\»û€ÀK÷q·ÿ©Tó£/—ËiÝåK&äÊZNm›ˆÏñ«*eì `óü~_^Ñuc7o?FùcæíÀ¾j)>^ZC«úª–Þ}'®ãKl[PIÿ ,ÀÐ!ƒ1j {÷ù0iÂxõ"™HNNfÂÄÉÌ›;›‹ç‚Ø¿gn.ÎÌ™¿€ºu½8ÈÉãþtÍ¥ûnTT}ú  ÓŸ¹xþ ú÷eÐa|ú”Ù5}̨‘ìÚ±+«‚=|qcFãíéÁჾô“œœÌÈ1c™4a<††ªVÙÅlm±¯]K%-c##ªW«†±±±z§O³aãfV,[™ÀjÖ¨ÎÅK—…üó.²ð¯%Ì›;‹+Ï1bøFŒÃã'nà‡ýbgWŒÓ'Op`ÿNŸ>é@ŘЧwO ,@ƒúõhÙ¢9u½½8îψaJùtÌLMéÞµ 'ûãÈ»÷îqì¸êF À¨Ã(S¦4cF à¸?^ž¹’õ¤)Sé×§7Ξ¦@K!]*•²võJvnÛJÀq!ÿÆ›T¬ð;§OçŸ/gÏÜ—._aþ‚E¬Xº˜ógOSºti†+)ÕÙº}#‡åüÙÓ è×—¡#Fñ1íŬ° 3§OåÌ铬Z¾”ÅK–¢^E¶íT—K]o/íú–ï½lùJnݾᄑ\8DõjUéÑ»‰‰‰ ПÆÒ¸QCŽûSÇÑA¸îŸ’©&nܼÉÿ£øùìã¹ –-ù‹Ò¥KgêƒãÇŽÆÕÅ™ƒ‡3”?'(Y²¥K•R©3+¹þü…Õ«qåªb,¼ÿàùòåãҥ˂ëü•+×p°Wݘú»|ø PÂÛ-ÊË—¯Ø¹{7‹-àí›·BmmÅÙÏ©¬)µ´´p°¯ÍîÛ¹|á,=»wcĨ1-/CCÃðõóÃËS¡P¶07çŸçÏb[´( çÏåÖõ+œ=}J¸æÓ§(>~øÈ©ÇصcþGá{ crÒ”©¼~ýšm[6réü&Ž'(-~%>}ŠâÑ£Ç4mÜX=K…¬Æ€;.ñ'sîL cGÄÔÔ$Óóêåé¡r¹Ö­ßHïž=¸xþ 3¦MeÚŒYDF~R©ã{8zì8ãÇáâ¹ Fΰ£4ŽG¤Í!¯ß¼á ï~ÆŽ)¤oܼ…eKqéü<Üݘ:m¦—]»Â#"˜3w>½ûõÇÎÎŽ>{éÒùO´µµ³S”IIIáí»wó?DÀ±#D~úÄ¿«ÐôÛe7§ikkÓ ~=ùùpöôI,,,X½fOŸ=#&æ Þ^žÌ_¸KKKúîgöÌé|ü¨ëԯǕ+™7ž§Í˜Ill,³gNGKK‹%K—óâÕ+Ž:€ÿ!?^¿~M||†e÷ŠU«¹uû6‡ü| 8æÏóç/X±R±ÆV'»q<u9,_¹’7oÞpô°GäÃÇ<®X/J¥RzöèÆý{)XÀ’Î]{°pÑbawþ >}ŠâÍÛ·T¨ð;ÉÉ)¤¦¦¢«—6Åʪ oß½ ,8~"€fMÏõëׯ)ng'”711ÁÌÔ”Ï_ÆÇÁ¼ÿž­ÚàæéÍ´³T¶ݸq“™ŒÕ3¿‡ÈårnÞº-(«_½zE‰ÅUÊ”.U*S(,ÔÚ¥ŒL&ãé³g¬\µ†æÍJnu²[*#—ËY·a#];wRÏ‚d£Ìç/_رsÑÑѹº¯ˆˆˆˆˆˆf­“È𧝂¹zç9³Gþž®ùòê1wt|Ž_¬œ“¾&3ÌŸ”¶+¤1Öðî#éÒÒ…Òv…hÛÐr%lÔ‹©0a@ òê뢯—‡¦žÕyô"ÃdïÑKTû½8Å g~q°.`Êç˜x6ì $&.’¶V˜ -•R¬°%Ë·ãíÇ,LócW8³—&6ûñgs'Ê•°A"‘0¤k®Þy·ÐO¤Èdtº„Å;SÐ"³rîG’UÛ4Ñ®‘7¼âå;…%Ãv¿ó4r¯Š¹‰ªÒñÅÛP.Þ|Ê´!mЖJ±+\€¦^Õñ9~¯:9ý1É)2‚.?Ä®H»WãÐ)ÅfEà¥ûx;UT©O™—ï¸ýè5Ó†¶!Ž6–fF ê¬j5\¶„µÐ*•³ÅÊÒXÅzÜ¡jizµó$>}òè(”!R--Æ-ØÉã—Ø·|:Ú ‹+M¬\½F°˜sruçáì²ôðp'8$„Š~ÇÔÔD=;R©kkvîÚMpp&&&ØØ(Úb[´('Npïþôôô(•ËX—§ƒÎPȺõêzàîæŠ©© .)bªóèñc¡îGQ²”ê}-^J­š5¨]«¦JzN,X€óæhTèœ8I“Æ(U²$R©”† êc[´¨ðÐaš6i,Xó9ØÛãTÇ‘CJJº‚ Ъe ¤R)–––T­ZE°ž*_®œF—NMäË—š5ª#•JÉŸßJ+òNÉr,;r#ëÖ­ZR³Fu 2Y'e…………`onfFÕ*•yýæ ¤Y÷5i܈âÅíH$têØ»÷î¦î$w7J–(D"ÁËÓƒR¥Jr6ͪÔήÅ‹+^êÊ”)……95Xöæ¦9ñ-ßÛïà!zõ莙™)ZZZôéÝ“ÄÄ$._QÝlú~¤L5aiiIl\,>üˆ‹‹£h‘"åW ”NÓ&9rÄ_PD:âO³&™•‹ÙÉÝÁ¾6W®^ ðt®ÎÎ)Z„ë7n’’’ÂÍ[·ppÈ9”Ò·Ÿ@>är9'OeЀþ-R„Ï_¾dR§·M/OallP¿©©2BB3¬åü¢¶£Þõ¨\©’FK¹ì0 :::²²¢U‹fœT(¤¿~ýÊ©ÀÓŒ6Û¢EÑÕÕ¥bÅ B8Ž_‰tšµµb½“Ù-…‹æÎÝ»9‹\.ç·òåUò³#§qÁÅÙIPFÕªY#£ü¼}—±é𽸻¹QÌÖÒÆü²eÊpælƦ·2‰„ ãÆ`jj‚ž’’¯}»¶XZZ"‘H¨ëíÅ‹—/…¼¬ÚG½ eë¦ 4oÚä»úEçN‘J¥äÍ›—®;q" c3DM¿]vsizzzH¥RxŸ¶tûö]jÖPX‰Þºu›ÆBš•{Þ¼yAƒe¬TK‹ÅK—ñòÕk-˜'l8y’žÝºbld„®®.}z÷R¹î€ßAztëŠQþüèëëѶM+NingnÆqu9=vœž=ºchhˆŽŽ}zõT©@WW—¶mZ³}ë&ž=N½†MþñÕ2™Œ1ãÆÓ¹SGŠÙÚ¢¯¯G… ¿³yËVd2á,úk ©©©‚쟠|¹²X[[CÚxšþû¤£ŸWŸ¸øxBBBINNæÝ»÷ìÚ± ßý{yòä)«Ödxží÷=@³¦3ý¶«×¬C__Ÿ¦ióJ|Búúú*eôôô2¯Þ®t6nÚBõZ4kÑšbÅliÑ\õ,oåä©@’’¾jÜð"Ù¤c_Ç{GgÖ®ßȨ‘Ã11ÉyÍ-"""""¢XñˆükT®\™%K–¨'g"**Š*U²Ž%¨LXägòçÓ'¾ŒÅN1KRSåDDÅ Ms¥/[B±ÓDpXÕ+¨îÎ[Yf¯œµ)˜;WG[JrJÆ ñú=ôn¯9DEI[+.ìÆŒå>L_æCç–.ÌÖÝ<:\Ü;9«ý¨Öd4uª—eñÄÎ*÷Q&55ã…ûCÈ'ü®³ãày!Í ¯.Ÿ¢cYµ=€ª¿ÙÑÐM5”ÆÏ »¶©cjœÆÕØvà´dÇÁó,ŸÙáCˆÂ²©Œç`!íkr Þu*Q®„ &ù ¸rû~'¯ÑЭ Î5Ê1`Ê& hÁ…OX;Sõ…F™à°(ŒóçÅÈ0cáYØJUÞ»_`ýž@¾Ä& ‘H‹üBª<ÃJ¼¬†‰Û^sëá+jW.…nžì‡N;ЦM†ÒÃØÈH%_™ÙsæÑ´IcOqþÂE²·0ÔÒÒbÛÖMlذ‰VmÛS­jÆŒI–L?–={÷1jôXòç7dÄða*®•Ê(·7$4”/^ª¸š'%}%Níµ>ЫO>ùLjªœ†›Ž¡a>|}ýX»z%¯ß¼áúõlßšÙõøïÁï¿©Æ/X0có&22’ß~SUX["<<ÃrÝÒRu³HG[;“Ò+7ܽwŸ›6‚xÿþí ·Q/¦‘ÜȺx6ቲBY¤µMž6ž„……s:è Güý…|}}}¢?Î$4ôW«‚ WlÈø=†ïâââ§Y6)÷¥trÓΜø–ïý)*Š‚J!$ 6ÖÖ|úôýV”?R¦š(Z¤Û6obͺõ¬Z½–fM›0h@?Žö$''sóæ-lll¸wï>‹e>8);¹Û׮ͼ‹HNN&00ˆ‰Æ¡§¯GPÐtuó`jb¢²‰ó#051&>!Ý{÷¡¥%¡EófDDD ««+„IÈŽÔÔTÖoØHàé “ÐÒ’ðõk22¥¹ÙËÓƒÕ«Á¦-[éÝokW­P©'+ôôôTú»¥¥%áŠ1#::™L&({~eÒ'‘e3ßd7¶4jPc##ÖmØÈ¬9séݳ-[4W/¦‘œÆ…‚U7µµu~ˆÂO}ƒÆÒÒ"Ó¹é)RXP’*SPéyÕV›²j—~¾ûرs7ÍZ¶ÆËÃ֭[b]({…¿:ù•<€,-,ˆŠŠÊR.š~;õ±FyN ˆ`Õª5{Θ±ã‰ŠŠÊõ'""""ò¿Ë?·bÑH•*U033ãåË—Ø)¹3)óüùs (@¥J¹;¾XaK>ÇÄó):Sã|¼ùŽTªEa+3>†*¬y´Òâüi¢€¹± ØL'üSö‡dUßÓWÁÜúŽæÞY[l–+aÃöE ¦yŸùÌ\áË”Á­15ÎÇœQ0epk†ÎØÌC–pfç¤R­Lqˆß‡D [Yš0¨s}¦ ͬȪÙ|,yõtÙwTR 6>‘ÔT9§/ßçÉɬ]2¿—¬Ú¦ÉJ¢s †ÎØL}—ÊÄÆ'R×)óoneiŒ¶T‹×gWh<ØÐÓQVãpà Ž¬Céb…xü‰Ý‡/RØÊŒ¢Öª‡ (SИÏ1ñÄÅ'aWaù#ä_ºõ”cVsn÷T*•SXcXÕRµˆÑÔ¬,L8·{*ö­Æ3wÍAFõj¢^D oÞ¼þSçì¹óܾsß}{¨U³“¦Lå ï~ 4[§cldÄÐ!ƒè×·7sç-`Äè1lÙ¸©TJ»¶mhÛ¦5‡¡G¯>\8„TKšéäóP% AK ~+_Ž­›7ª”QÇÚÚšÃ}™0i n®.¸º8Ó¨is6oX/X N™6×oÞàîU€”äbãâprugÃÚ5™\4s‹…¹y&ëQåÓÙ­­­3‚þñc0ÅŠeXÜdwÀ”2šúu:_¿~¥G¯>Œ1ŒfM› ‘H1jŒz1õºr#k‰ZljeÔëKGª¥ù%Œ4%L•*íЯ¯z–F”ûÀ»÷ï©R¥2wîÜeÒ”ilÝ´2eJàìªÙÚ(§vª·Cý¾ñ{[[âý‡Â÷"-j¡\(€4Ý›,Ó¬(^ÜŽ9³fÉÀÁCY»nýúöÎô¤R)5à°¿?E ÁÅÙ)ÓÆ¹»™™ÇOð)ê•*V ¯¾>ƒ‡ Ç0¿á·n&í~R©”¥K—³uËF$ ÷<¬FsbϾýœ:ÄÊeK¥jÚª!šôõõÑ××Çʪ ýûõ¡aãfÄÅÅå8Ž’¦@‰þüYeXXææ¢¥¥EpH0ff9‡ û7155ÁήGŽe`ÿ~êÙÙ-u¨ãèÀýèÕ§?EЦFõê™ú£2¹4Í©?uårHh(•*iö€ÊjüÏJ&9µËºP!F Bÿ¾½ñ;xˆ>ý`cmÍÒÅ‹²•—2ááႇRhh(†††Y*B5}ϬÚDZ k«‚Ù¼aºººìÙ»Ÿ#GBÚ—Óba1œé3g±mÇNþh×–‚Vi÷GGj×®E£†‡}›[˜³eÓ:tìÌú›èÞUÚÌÌŒ°°p!¼Ï—/1*J{333fÏœ®1î®:¹ÇÕå~ÿt¯+åû'$$2hÈ0ÂÃÃù£}[öïÝ¥bÝþOðõëW†‰©©)“'ŽW9{ÂÆÆFesléò‚gØë7oxþâžînB~É%T,𣣣ù… R©IIIÄÆÅ 1_““É££Pðú=FÅŠ2m¤®]·^²líj•ͪâ%г{÷^•²OŸ>Ã#íûd×®t$ æfftíÒ‰å+Wñþýìì2oœäÄ…‹ù,X_k";Ù(£§§G…ßÃÃÝK—¯ˆ g‘É<Éüã9r„;wîðâ…j¬,Ò”Í÷îÝãȑ̇d…uS¼*2ñ¯Ý$}M&.>‰©KöÑ®‘ƒâ 'ZÖ«Åß³<{­ˆGw8ðwŸ 熽´mh¾žæù·#„ûX˜æÇ®H¾Ä&ð59…‹7Ÿ “¥¢§«C…2Eù«pG+^¤·½B„\¹ýŒ‡Ï3Üò;·paõÎ.ÝzŠ\.'!ñ+Wn?àÕ™åÜ?¶€Û‡çqûð>ž¸¸8*UªˆD"áÃÇ\Öç2S¦‚˜ššúͲV'Ož<ðè‘"LKVa”iÒ¸»÷ìãλÈår…¾ ‰³çÎ röµk±pÑb>|üHJJ /^¼ÔÛþW`èàAlظ™µë7NBB"oÞ¾Íõ!‡Ÿ<6ñŠ)‚±‘±±Š¹EýyUæ[Æ…MЙ³ÏÎîÎì3;3KcU½1gÞ|Ž=ÆÜ9³100 ""B)_]œyúìÇŽGÁ®Ý{ÆÑÁ>Ãý:xè°2G{DDK–-'oÞ<Nù“–ÅK—Ó¦uËÇoÝú ¬]÷d7>äæ­ÛÄÄÄ „àÞýìÝ·ŸÊ•¿Î»n$I’¤ÿm™k}”¾)cccŽ?Nݺu9{ö¬ò”üÇ,X“'O~ñ0ªµ3ûÑ×wÅì{¡§§‹—S5fŒh§N–¦†î5¸ÿä®m' ££C}×ê¸ÔÒ’ŸM<«·ž`ûâÏ/™Q ûHÛs zóžìÙŒ¨\®8?lFÿzn?|‰±!?ÊÇ /V«çRo·X7…‰±!¥‹¢e½Ï/³r·«ÄÌQè곈?_…ÕÈn–XU)M|Ú=ÛL²Cþ¼){¼ý]ií@»Fl;x‘5»Ò²ž- &tEOO—v ˜¶x;w¤Ýxºeáú­¢˜}/4šxŠ›™²pb7Š·»]%Ú œÃ°îŸ{3ÔwI˜ªcºOú瀎Žç¢Ç¨%ä¯Ñ³‚yÙ«1ý¦x¨çRÝG¯PÎmMsaS½ uSŸv"5Ëeúˆ¶´ì7[•®.ÝzÌä©þdÉ’…½ûöccmUÍJšÑ#GРQêÔö¤fÏáÉi4fÎú…ÇŸ`dlDÁ7z{öî§oÿAèëë“+gN|ÇŽQ®ÅQ#|=Î}}}ræÈAÃõ¹{/¡!OžÜ,Y¼ÿ3™Ã¨W×ë‹ò:5û÷Åw‚büÄ4{²&gSËŸaCã;žW¯^cdd„³“#+¦^zzº3ãç™Ü½{ì9²ã?u2fffäÏŸŸ'OR·A#òåÍKÕª•µ^À—\FçTjù¢Þ¯/ùÞ;v :*šf-[MùòåX8n¦ëõggäK¾[ZÂÂÂ>roÞ„’ÍÄ„²eË0tÈ`Hã,QâG ,@``Pš/;Ê(ßmjYóÇ¦Í ôy:#'þؼE)‹^½zÍ… —ˆ'>>¤VBö IDATž3gÏáî–0Eǃ‡µ¦©ÉŒþ}{ã;Á:õ¼144¤Aýz´mÓZ‰ßðûF~û}£²Ý³çÏÓ¤q#Ú·mC‹Í2ÔgWræÌA÷®]µ†t?xøˆÉSý &kVcªU«ÆÂùs•øŒT´0'_Þ|ʈŒÆÑ0Y¹2mÊ$fÌœE«6íøô)‚¢?üÀÏÓ§i=dû^8;92îl–,[Á²å+‰ŽŽÆ4_>† LÑ¢ XÓsÿþ}z÷íGLL Ù³eÇÑÁG{H¥«š¬ÐÉÑ!ÓåÂ×6h@~ž9››·n“/_^¦M™¤u~ü_º_:::Zñ•)*”§B…òxzÕ'""{;[åúÿFø Ãoòþؼ™œ9rP§¶'{ö%4:çÈ‘ýûÒ½G/†DÍ–èééñîÝ;Nœ<…µ•Uª/:(Sº4C dðÐálùãwú÷íä)Ó¨]·>ÆÆFtéÔQkjž¤©Ú¶ïÄÇÉ+]ºt¢LéÒ)êü¿RŽ÷ëÛ;ñó+gN:´o«4L}ñ»$¾¦CGŽ(/7þcÓç©,*V´`ú5ìÚ½‡©þ3ÐÑÑ¡RE /Z@þüùÑh4lß±“¹s´ï3«U­Bï^=éÔµïß j•ÊLï«ÄûŽÃ4ÿxzÕGACï´kۆǟðâù \]>¿ô<88Xy‰¤“‹ötW.žÃÄÄ„ysfá7i C†û`VÄŒ9³gbhhÈÎÝ{ÒݯsçÎ3iÊ4ÂÃ?b``@¥ŠYºx!††)ß·“‘kׯsçÎ]æÌž©ŽâÞ½{椗7L6§ÏþD£‰ÃÔÔ”F¼iÛº•j‹’$I’”RÒ¸µäã×tT‹n²E/Ù¢d ÃÄÅèâåkgJ•Ì\#Åå+W°¶ª‰~sJ%1¯”РuûÆUuÔwËÈ(áÆ *êóŽ3ãúõëøùù0jÔ¨LM£add„x¼QüÕY7EŸvµiÛ0áG”$ý:%›k½=]’þëFŽK¡BÿöT’$IÒ÷íÆÍ[¬ÿmwïÝ#6&###*V´``ÿ¾äÊ•þ;O¾W‘‘QÔ°¶áð}i6šK’$I’ôõ]»~]y)ñ×þé.^¢ZÕÌu|ôø)5ªW©DÑ@  Ä%[â“-Bµ$Qþ/{8g*W®Lõê /³ËLcó·Æ“AXV,‰¾Û^äÚgØ×(§NúÿÆü5ûYúû!u0³FwÄÙ:óo¤ÿt¶€«w>¿=ÉÉß'Ý$s=E%IJ)­áß’$IÒÿŽJ-¨T1¡ƒÈÕ½{÷142¤XÑ¢ÄÇdz`Ñ"Š-*›%I’$Iú*dƒ³”ªÈ¨†L^ÃÝÇh4ñ˜ÊÃÚ™}Ó}áÜÿºÞí<éÝÎSüŸ´Ò_öÀ”$I’$Iúÿ*(8˜3gŒŽŽeË–aÖÌéêd’$I’$I‰lpþ¡S²¹:諺û(€f}RÎ&I’$%˜ì÷õ_<*I’$IßBò¹Æ%I’$I’¾6Ùàü?@΃+I’$I’$I’$I’$IÒ÷à»hpÎì›w3›îß ººêbh˜ð¶çÌŠ%..}}ƒÿÌþJ’$I’$I’$I’$I’$誤¿ïÝ»8ôôCÈŸ?L•¡ˆˆ"##ÑÓ×SGI’$I’$I’$I’$I’$}×dƒó7ððÑ'ôôB)Q2B•¡À  "£¢É–-›:J’$I’$I’$I’$I’$é»&œ¿«WBÐÓ{‡½ý—gï£G‰ŽŽ¦x±âê(I’$I’$I’$I’$I’¤ïÚw1‡³Úøñãµþ~ú&ÕðqãÆiýý½Ø±óºzQÔöÌ©ŽÊÐÙ³gˆŽŽÁܼ‚:J’$I’$I’$I’$I’$é»öå]p¿±ñãÇ3uš?¿Ì§,"ñ_ò°iþþøúúªWÿ×]¼ÀµëO)_NkëÜêètÝ»wŸ»wïcšß”R¥J©£ÿuõ½qñâ%u° óÉÌÙ¿¨ƒÿ“^Pªl4: €×¯±±s$22J•*Gg7NŸ9«þj|'ø±pÑu°¢}Çάÿíwuðw#£üþþÎù:Á"ú¬þ*¾ö¹R¶BE?y¢þ&þNžþ/ùšõÄæ-[iѪ­:Xú‡Tµ´âîÝ{êà6oÙŠ«Gm*UµÄÎÑ™ððpu’ÿI{öî£S—îêà }iúµ$¿63*¯2ªWÿiÉó:£:óßÊß´lÞ²•Öí:¨ƒÓôOÖ[’$I’$IßÒw×à `œ5+yò𦻛¨Wû×ÅÄÄ1zÔtu?1dˆ9::êi‹eÁÂ…ÄÆÆÒл:_²²J§.Ý)U¶‚Ö²hÉRÚ¶ïDÙ qtvãÔ©Óü¶a#îž^DGG+ëÞ¸y‹šµìy“Ы<¹úS¶lYuð¿f㛘ê?:|D+þÉÓ§Ô­ßa>#µÂß¾}Kï¾ý©ji…“«‹—.#>>^+ôÙÍ[·¸wÿ¾ò·©i>F±±‘VºKÓ&ððpSê¼´½{÷ŽÃGŽªƒ¥ÿ }ûü¥†Ã¿SOüÕÏü_wòÔ)ZµmO•ê5±¨\‹—.«“¤iÝúß”Æà¦-ZqóÖ-%îλ)îæ/X¤µ~Fbcc7~"ƒôçÆÕKìݵ#Å;(^P±J5ü&MÑ ÿÞܼu‹?õ¦z kÌ+UÅÕ£6+WýªN¦°´¬N÷n]ÔÁ)¨ëoQ‡¥8–I‹Gíºð…׿?Y¯¦F]d6¯ùFù›šÈÈH-^B£&Íñ¬S7:x7nÊò+‰‹‹S'—þ‚—/_Ò®C'*W«“‹;Û¶ïЊÿóÏçtÿ©75¬m©amËî={µâj×­Ï©S§B°`ábÊV¨ÈË€uÒ47$  ¡rµ|üøQ«\¶¬Y‹±¾ã‰UÒž:}†:õP©ª%š4WÊÞøøxÖ®[Oz ¨X¥:ή¬Y»NYïÙŸÒ·ÿ@jXÛR©ª%»vçõë@%^-<<œ>ýàèœòzµupÖ* ê{7R'Iáúõ”­P‘]»÷(a/^¢E«¶Ø9:ãîéÅ”iÓÓ|à#I’$IÉ}— ÎÿE±±q ²šë7ãèP€¦Mʨ“¤)66–iþ3¸s÷ææ°·³S'ùbÆæþ›ÊÒ£[WÖ®^IÁ7v4vv¶´jÙœ"E 3wÞâââ1r4£Gú`š/Ÿz“¸8;‘#Gvuð¿æüù Ô¬Qo†,-«+q»÷ì¥C§.1+’l>£Æ5kVÎ>Áú5¿²sçnV¬LûGåÿwK—­àþýÊßúúúxÕ©­•æßdanNÉ%ÔÁß„:/$m{öíOñàçKéêÊjéߦÑh˜à7™ððOê¨ ýÕzâï|æÿ²cÇO0x¨mZµäü™“ܼv™jU«¨“¥êÐá#,Yºœ% pùÂYê×­K×î=•†¼7o07¯ u¯Ðë§ÚÉàá÷û÷ˆŠŠÂÖÖ€ìÙSûq¾(Uòûµ•ÜÅ‹—hÕ¦=eË–aÛ–?¸tþ ³gΠF KuRE~SSjY[©ƒSP×ߢ-X°€r 7oÜ@–,Y”¿÷îNh¤S_›º:i—µÿd½JbG€é3f›jYZ^§Õ1ã[ä¯ZÈ›74oÕttXµrû÷îâн¬Xº„W¯_Ó©K·ÿ|ƒÜÇ™ýË\Þø ŽúÇ < s®\<ÇÂóð›4…Û·ïD«6íðpsãì©ã\}ÂÆ¦aïßÓ©kwî?x€žžžV:2øÝdËÖm¸¹8“={vÎ_¸D·Î8wú{vïàâ¥Ë¬H|@Fï¾ýš4ÇÐÐP@hh(çÏœRÊ‚m[6©“h‰ˆˆ`øÈQ/^L BЫoZ4oÊ©ãGÙ¸aGcûŽZëJ’$IRjÒ¾Û”2%,ì=¡Q“lÙvœ‹gcé’¦ýFƒÄ’cÇOÐ¥[öîÛGðñžæMô—ÐÕÑEOOOYÒÚæ”I~lø}#wîÜeáâ%+V”õë©“j¸ûö»ð¬SK+ìYùëjnß¾Có–m°²±£f-;‰=|*VùÜ °lùJzöê£ü}õê57mNõÖxÕóNshýÄI“ñ¨]—=ûö3iÊT\=jóôÙ3š·h­ôÎ211aýš_©\±¢Öºqqq;vœ~}zahhHáÂ…Ò¹kwjÖ²ÃÆÎQ«ÇB\\S¦MÇÚÖžšµì=Ö—¨¨„áž/põ¨Í©Ógp󨃛Gø‚üؼe+ƒ‡ c¬ïxjXÛbecÇê5ëØ¾sÎnžT©^“®Ý{òñãGÈä±H2iÊ4:Œßä©8:»±oÿÃYÝØ²uõ½Q­†­ÛuHs8hzù\—n=X´d©ò÷à!ð¶µGÀõ7©ji…F£I14xɲå88»R³–#FIÑ€¹bå*ݨamˈQc1jŒÖ”lÞ‚³›'–5kѾcg¥Ljy‘\ÃÆÍX÷Û­°ÆM›óëêµÄÅÅ1xèpås[¶nË‹/´Ò&éÖã'–-_©V±Jueh{zy˜Öõ—‘´ö™ÄÞ•^õ¼©VÊö;ú6TkÝ$;wífÖ¬_ؽg/ŽÎnL™–0úàò•+4iÞ’*ÕkbçèÌÂEK”㘚۷ïP§^,kÖJq.=vœFMšSËÖ{'–,[®ÄEDD0bähjXÛbïäÂÊ_W§ù#ì¯\sÃ|F2Á":vé†eÍZxzÕãH½¹3:ÞIyb^©*V6vìÙ»1zöêƒeÍZÊ>$æ3’E‹—бsWªZZáæQ‡ .2mú ¬mí±´²QòªÅÄÄ0yª?Ö¶öXT®Fó–m”ï±ñM¸yÔ¡JõšxÕóÖzhòWòýkš9ûFN½º^¢£££ÕXòäéSå»9¹¸k•‡¦y³¦”,Y:´o‹™™ÇŽŸ $ä … J÷^áÜùó¸¸{R½†5}ú ìý{Ž9Š‹»'îµ½°±s¤BÅ*ôí?Pký»v›¢±ð{3qòš7k ýùá‡066¦¢…ææx^_º|…VmÛSÞ¢2¯_jMùöþ=}ú  –­–5kѬekBCߦZo¨ëÐôʵa>#Y¼tÝzüDõÖØ;¹°á÷J|rIÇPW/¡ÎK~\IeÊ¢?оcg,­lʳ£Ç”¸äõêæ-[9z,Ë–¯¤f-;FŽNhürtvcç®Ý4lÜŒª–VÔkЈËW®(ÛHo¿’¼yÊTÿé´hՖܹs£££“jY ž^G__Ÿ ¿ÿ¡”±C†ù(RÔù›Ö±K¯lʨ 6|$½zö uË–Œ7žÚuëãUÏ›qã'0fÔHòçÏÏÖmÚ½qIìÝ:pðPúL|||†õVzõ½Zll¬RÆU«aEÛö”ûUÒȇÈÈ(FŒCÍZv88»²rÕ¯Ô©×€ÇOž5kV iÜ´93fÎ&,,Lëó¾µ—/_rûöúõ郞žåË•¥^½ºlݶ€ Ó¼YSš6i„¾~Â+‰ÔåׯM›iÒ¨ºººR·Nm~™õsªÒúÝܦM[hÚ´ C ÀÅÅ###ò›šbSËš'OžpèðQÊ•-‹›« :::4ôn@®Ü¹8qò&&&øMðÅÂÜ===*W®DñbÅ”{†Þ hß® ¹ræÄÈȈڞÊvÕ ³0nìhZµl¡Ž"ìý{tuuÉ›7Oв -¾ühèÝ€c¦ˆ¯„“«‡’¿C†ùˆEK–jm³ÇO½Å¼ù …H,g+V©.ªZÖV6vbÔ˜qâãÇJÚ*ÕkŠÆÍZˆ·oߊˆˆÑ­ÇO)êÚàQ²Lyñþý­p!„{ÿ^88¹Š§Ïž‰ÉSýÅD¿Éê$ß…7oBEÉ2åÅ­[·ÕQ 'WáQ§®8söœñññbÓæ-¢yË6B!~™3OôîÛ_ÄÅÅ F#nܼ©¬«®7Ôe~zåÚÐá#D•ê5ÅիׄBœ>sV”)o!BBÞ(ÛS»qó¦(oQY¬um>B«.L:ï“nRy¶ióaie#FŽ+Þ¼ ‘‘‘Êöê7l,E||¼øeÎ<áUÏ[ù¼ôö+(8XøMš"4j"6nÚ,bbb”õÒ* ’ò:)ÿ&OõqqqâÓ§O¢Cç®bÌ8_­øä÷ ©»ŒÊ¦´Êð{÷ï+å̈QcĤ)Ó„HÜdž›)ë&]+›6o­Ú¶B1zì8ѵ{Oå¾2£z+½ú^ÍúÏ¢Ió–"$äÐh4â—9ó„£³ÖñRçÔiþ¢eë¶âÇ"&&FLð›”¢ÞŒŠŠk×­^õ¼Å4ÿJùó­;~B¸yÔÑ ûmÃï¢M»ŽB!\Ü=Åò+E‹Vm„£³èÚ½§R‹Äò±rµâÅ‹ɶ Ly ñâåKu°©ünHráÂEáèâžâ·‚BÄÇÇ'œËlB1͆5fœVšƒ†ˆ9óæk…‰ÄòǼRUåZTó›4E 2L¬åâ¥ËÂÁÉU+ìùóç¢Ly ac樂å'OžÒJ“Üî={E«¶í…F£Í[¶;wíVâV¬úU¸yÔûöã'ú‰¶í;*ç•$I’ôuœ;^ô·} ‡KÑ›Örñò5TÊ%3 È™Ø&lœØFlØf¬—؆œ¼MY!{8ÿ›„ ZÕ*øŽÂùs155U§øËæÎ_€µ­½²$ AK§§¯^¿¦JåJäÍûù©vZôôôøÁÌŒµëÖóêÕkòäÉÃ?üÀÅ‹³oß~nܼ…‘‘eËdnj‘ÃGŽRĬu½zº»¹’7oN9£N Àí;w”mß¹s‡²å27/¡±±UªTfÅÊUh4‚CB˜>c&ñññ)zF”+W“¬\¿qƒˆˆ.\¼Dï^=•^gÏÇÎÖFéAëè`¯|§š5k+WNþüó9$ÃëÙ½9säÀØØˆÖ­Z°ÿàAå³bbbð>Œ?þˆ±±ÑçGÑ¢?PÛÓ7Wôôôhߦ5&&&˜˜˜`[«Ïžý©^í«iÓº%¹råÂÀÀ€AúñäÉSž>}¦N–a>$±·µåòåËÄÅÅqîü~øÁ 7ŽMÈûsçÎcog«^}ûШ¡7eË”AOOïõù±xq%~÷ž½4mܘ?þ@½º^”*UR‰ß²uzSªTItttèܱ×oÜ$((¡·ezêÕ«ËíÛw”^P;vìÂÕřܹ^êä耑‘zzz88Øóâeê=13’^þ•ë/½}>~ü%J” ®Wttt07¯@íÚžêM¤éÐáÃ+ZïõÑÕÕ¥HáÂtïÚ…M›·ª“*Z·lAöìÙÑÓÓã§žÝyüä‰Ò»§dÉÊñ*_¾ù󛨣ußüÔ½¹ræÄÐÐ>½{imWí¯\sîn”)]j{zP®\YŽ;žl«Ÿ¥u¼>BÉ?Ò¼YSôõõ)T¨ ¹råâùó\¹z•ýû%”±?ü€»›+û|¾>ÜÝ\)Y¢zzzÔötG£ÑУ[Wôôô(^¬eJ—æÙŸ ×yzÇ5IŸ^=166ÂÈÈw7W­ÞpjåÜ(T¨ -[4GOO `iY=ÝÏQËŸ??Þ ê`š/–Õ«ñôYBÙ’™}L²cÇ.úõíC‘Â…144T¦ غm;5Tz²ÚÛÙáäè 5Wè—äû×À½û÷Ù´qöîÂÈȈQcÆpâä)âãƒöG__ŸÂ… Ѽi¥Ç¼-[·mçÕ«×ÄÄİuÛvΜ=‡&>¡gZû¶m8rp?—/œcýÚÕܺu›±¾’}èÞµ ¹sçÆØØ˜ŸztgÿÁCZñé™:ÕŸæÍšR¼ØçáÙߣwïÞP¤Hau”–V-[PËÚ “÷ ÅŠãÚõë9z !-,´âÓ“^¹àêâL•*•°©epoñüïŸoînnJ]hog‡y… =ö¹—sr:::Œ7†¼yó`dôynävmÛP @ttt¨ëU‡G+qií×§OŸpu¯ÍëÀ@~_¿–fMc`` ¬—Y]:wDOO¬Y³Ò­KgöíOy/‘$µc—QÙ”V~åÊ5jY[pùò5ôà]X&& ï—QŸzººüÃ?ïWfýðÜ<~„GqöÔqZ4kJ^}xþ<åèº×¯™þó,~öŸ–bT €WmOLLL˜ê?ƒ?6m¡m›ÖZå€$I’$¥%áŽç?ª_ŸÞøúúªƒ% sÇ´nÝRù;w®\ZñÉùMšB“Æ8tø'NžÂÁ>ý9¤uuuÙøûz–,YFÃ&ͨaY1£FR°`&øŽå· ¿3hðPräÈΟáÔH6·rrñâó°êÀ  =zŒµ­½Mxâ4I^¾|Iç®=xÿá=ññÚu &GŽìlÚ´…U+–Q¸p!­uÔfÍðgŒï]Ü(\¨áE*û IDAT0žn©6Æêèè`[«çÎ] $ä •+UÄÕÅ™‘£ÇòîÝ;Î?¯4„*¤ý¹úúÄ'þ°aøˆQèë' gÓhâÉ’%‹VúR%?Ï—˜ÙüH’7O^åÿºººèëë“7ïç0}ýt $?E®dç—±±1Ù³g'(8X«1—Læ@©R%É‘#'×®ßàÐá#¸89Q³f &Lô£O¯Ÿ¸|å “ü´FBBB¨¤Y¨PÁtãó'{ÐÌ¡ÃGعk—fllLØû÷(P@ KM®œ9quqfÛŽôíÝ‹;w1j¤$6ÍŸ¿[w £`ÁÏß+#ɧ H/¿äúK’Þ>‡P¤°v#L¡‚•éY2ú–‚µóÍÌÌŒ7¡)_Jš$gΜÊÿ É™3'AA”*U’]»÷ðÇ¦Í C§ut }«œ»!!o(œ¬Á(¿©i†ÃG¿ôšË•컑˜AÁÁZadp¼CÞ¼Iõ\Jj$õ¨“0E@lL,öÉÊãä³dÉB¶lÙ´†_ëë—øÒ¢ôŽkR£HòsÐ@_ŸØtʈ¿rn)öÕ@?ý²H-ùõKâúñš„cžÞ>ª?÷Mh( ä× #qŽËJ•´Ë3³"„„|>G¿$ß¿&!:::ø ¢¼­{×.Ômà‚àà`Þ½{‡½£²N\œóÄ¡ÏÞõëñúÕ+ÚwìLDd$uj{PÑ‚B‰Ç]OO|ùê‰?þÈ ýéÝ·Ÿ²-TçHþù‰ŠŠâãÇ©Î՜܅ ¹zý:Æ'4ŽÏ’ ¾yªU—©•JgNcïúõÈ•3'‹—.câ¤Éôþ©'-š7S'KUzåªc@Òùö×PZræÈ¡õwþü¦¦ò° X±¢J#ir…’]gúúúZÃìÓÚ/öîÞÁšµë©Û !µ=Õsák31ÉJdD¤VXdD9s&\£ºººôëÛG¹f{t늽Ÿ>}ÂÄÄ„?6m¦U«Ï¿ƒþŽOŸ>±ÿÀAöíN9oñÊ_W³ïÀÖüºRi¬Ífb¢L?”$22’¢E:çØØÜà`LMMéß7å”v—._að°á,]¼0Õ÷êdFÒý­žžÍ›5eã¦Íœ:}†ÖE?OÁÏàaÃ>tpŠú–Äé[¶iOÿ¾½ièÝ€»wïÑ·ÿ@Þ¿OófMÕÉ%I’$IË·¿cþ&&&™ºA9vüW®^e÷ŽmØÔ²fÔ˜±ìÛ½S¹™NK®œ96t0ýûõaò”i 2”ßÖ®FOO¶mZÓ¦u+¶mßAÇÎ]¹tþ,zºz)æí üüÖåü¦¦TªhÁ†õkµÒ¨™™™q`ßnFŒƒ›« ®.ÎxzÕcýšÕ™êMâSÿUË?Ï<ë—9ØÚÔÒJ“ÄÖÖ†­Û¶óüÅ <=Ü144ÄÚª&æò•«L÷Ÿª¤Mš715ùòåc†ÿTlj%ôŠIMò^™Í$©õ¸HKFÇB-3ÛN¾~xx8aaaZsÀ%ÉL>$±³µáÜùó=zŒeKñãÅyÄî={)T°PІP{@ª{7&õ^È—7oŠø·oß*ÿÏŸß”ŽÚ1°¿v£K’Œò¢IãFLž2 'G"""”‡7Ã|FR¸P!Ö¯ùCCC~Û°‘»w«W‡Äó ©"Àû /åJ’^¦uý%5V¥&½}¾~ýFŠüJžŸjêü1ûÁŒ½ûök…½zõ*݆…ä ¸‘‘Q¼ÿž¼yòpõê5FŽËïë×R¾|9jÙ:(ióåËGPP0åÊ&Œvøðác†s ~é5§¾Nž¿x¡õ²Ò$éï¼yò¦:·iþ„††ãG¥9÷´:Ó“ÞqMšç8µžL¤ñ9åÜ"ƒ“%—Úg’X^¥%½}TË“'7/^¼TÎ$fff¼|ùR+, à%J|îm–ÖwûÖŠ.ŒŽŽoß½£Hbo¹ØØX ÐÑÑ¡H‘"”øñGvïLù‚$={t§g„w„……áèâδ)~êdèêè`lœU+,áúOh ÆØØ(ÃÆf€½ûðèÑcÊ[$ôÌM²mÇN.O}¤Î¿%oÞ<”,Y‚»v1h@u´B'ë%‰£ƒ=Žöܼu‹Î]{P¬XQ¬­¬Ò=2*×tuÓ^ÿïP?, ¢ZµªZaIÒºŽÓÊ“ŒöˬHF Ê€~}زu]»÷ä33-˜—n~%¬Œ® ${öìi6„¦ö=ÓÚ'2(à ,À™Ä¹°GðÁwÂDV¯]G»6­)T¸MšµÀÖÖ††Þ ”í™æ7eÃúµ4oÑš%Ë–Ó£[WÈD½•^}¯ffV„/_*ù ðêE’Õ·ê|Húü¤+É??22Š^}úLûvmع}Ë?Ú«µLéÒ¼  22J©gî?x¨¼Ð®XÑ¢¼yóùÁ`tt4ºººðôÙ3<|ˆ§»›ÿwìܵ›ªU«¤h]´x bͪZ¤K—)ÍúõÚïô¸ÿžî8ªoÿäÍ›¿ ¾)êâÓgÎ2rÔÍŸ‡¹y­¸¿#^£IQgß¼u›‹/ñäÉ|'L„Ä÷=÷“§NãîæŠ‘‘¡r>—/_Žîݺ°eë6Ùà,I’$e(í»-éÞÇ3ο ã122ÂÓà åË3Õ?ý ÅÆÆråêU4 †††”-[VyYËå+WˆŠŠBGG‡Šh4¢££(\¤0qqqÊ[˜ß½{Ç‘£Ÿ‡¢»¹ºòðá#6mÞJ\\†»wï©Ý»!É£Ç)]ª±±±|üžéÆfŸæ“ø2–M›·²qã&zýÔC ‡$ß¼u›ó.âæê‰Ã[—¯\EñbÅ´zǦ§Iã†ÌúeŽÒÐÆýŸßZ¯ö¥ùñ%2:jyrçæö»,ïÔ~ßøïÞ½C£Ñ0cælŠ+F¹²)‡ÜI>ØÙÚ°wï~ (Uª$zzz8:سpñìíSN§àááÎÖmÛyüä B<ĽûŸ·_»¶'[·mW†¿9zL+¾q£†ü¶a#W¯^CATT”’Od"/ìíl ÿô‰ù ÑлÒS(8( ss ‰ŒŒb×î=êUE‹åÒ¥ËÊö7mÚ¬Ÿ^¦uý¥'½}vt°çÁÇ>'GBCCÙ¾3¡êë׬^»Nvššuë~ãÍ›P4 ó,Ä̬eË–QF2”.] €ã'N’ìǦ§‡‹—.ãÃ‡ÄÆÆ2a D3+3×ܱã'¸{ï>$NÏòðá#\’m%AzÇÛÅÙ‰g>gûÎ]ÄÇÇÆË€Š+F¥Š™4e*ááá!xÀ«W¯µ¶Yé׌dÉ’îÜI˜ŠIñ—έ/‘ÚgfäKöÑ«Nm–.[¡œ[IDZY“ÆìܵGùûâ¥ËœcÆúòñãG>}úļ qqv†Äé"£"Y´x‰rÎ<þ‚*ÛHzXõøñzüÔ‡†Þ ”!æûäñã'DFFr÷Þ}fý2G™R&ɲå+ #22ŠEK–âé‘0uSFÆÅ£ûw”¥KçNtlßî»klN2lÈ`–.[Á¢%K &22Šgþ©L‹•‘»÷î+ãŠ+F®œ9 OúŸ^½‘Q¹ö->r”[·o#„àÈÑcܾ}×ÄsëïÊì~Ó¦u+öîÚAÛ6­á Ê‚…‹—ÍÇY¼tµó¾†ôÊpGNœ:MÈ›7”,Y‚5¿®dóÆ 4ôn@ÏîÝØ²i#ƒÐjDÌ;79sä`Î/3Y°p±òrÅŒê­ôêûÀÀ † óáõë„¡Íš6aéò¼}û–øøxV®ú•lÙL°¬^Mk›ÉÕñô`ÉÒ儇‡£ÑhX´x‰V|×.ؽs-š7ûG›Iì^³†%óæ/@£ÑðàáCvìØIÃÄ‘…­Z6gÖì9¼zõš¨¨(æ-X„“£Y²daÓ¦-Ô«ëõÕ¾ó›·Ð¬Ic­°™³áà¡Ã,Z8Ÿ,Y²¡L™áæâÌ“§O9rä(BvìÜEPPÎNŽDFFѽg/LMM=Ò‡¨¨("""”²úÈ‘£øŒÅÜ9³ùñÇâÊv3z€®výÆM®^½FLL ¬X¹Šç/^âì”0"fõšuüºz-æÊsæÔqvnߪ,æÊ3lÈ`Fð¡x±b¼|ù’ë7nBbOí#GezZ-I’$éÿ·Ô»üË¢""xGÊÓä"#µçÁ’2Ö¾cgƒ‚˜à7™,Y²°{Ï^ìll´Þï;v µëÖ§®W¬­R«¼F£aúŒ™<|øã¬Æ*Xˆ‰¾ ÃfwíÞËO½û¡¯¯O®œ9ñ›0^î6nÌh|FVâ7ôæÎÝ„ayóæaÕÊeLžêÏ¿IèëëQ¶lYΟ›b4€€—˜™áÁÇ©Î{–ží;v2iÊ4ttt¨\©"+–/M1´2I~SS *„qVc%““##G¥KçŽêäiJ.7­ÚòáÃòäÎM÷î]Ó¼aûÒüø¹ræL÷X¨õèÞŸ£Ù²ucF z*?^\]\hס3/(Y² æÏIµ—җ䃭 ƒ† £{×.J˜«‹3ÛwìÄgXêóÙyz¸óôéS:têBLL,în®4nÔP‰wwsåÉÓ§´ëÐ \œµÎ;[FΈÑcx…±±1®.ÎT®\ RÉ‹äSªØ ´‘w/]Æþ½Ÿ‡ù=ß Ù°q#¹r椮WvíI½Ñ¹{·. >’:õÕ8+vZS“¤—‡é]iIoŸ (ÀÜ_f3Õ:ÃGŒÄÂÜœN:¤9'|Coo:ŒU-;êÕõb¼ïXV,[¿ILô›LöìÙiݲMU?Ü’èêéÑ¿_Ú´ëÀëÀ@Ê”)ÍÂùsÑÕÕÅÅÙ‰cÇã^».¦ùòQ­Z>O1xàÆOœ„‹»'ÆÆFtïÚEkþîŒdæšóòªÍÔiþܾ}‡9s0ëçéJ»äÒ;Þ `Ñ‚yøÏø™Q£Çbb’• ¾ã0+R„óæ0iÊTœ]Ñhâ1+R„ ãÇf8MPjÒ;®™1tð@FõEŒdžõkÿÒ¹õ¥ÔŸ™‘/ÙÇ¡ƒ3uš?uê5 ** ss~[·†ªU«à;v4 &ôM(… böÌÊÏ_* àçÎ] >>žøøxN>£ôj»ÿàÁÁ ó2gÖ¸1£˜<ÕÏ:õˆÓhpt°gô¨±zår¦MÿwO/"‡l2˜2¥KСSWnÞºEþüùiäÝ€Þ½z*Û fÊT‚CBÈojJ]¯:ôíóyYèÔ±=š¶àýû0ljÕbtâ4Aÿk\]œY²h> /eQbCf~SSFŽN±bEÕÉS¸{÷.Ý{þDLL Ù³eÇÙÉQiØQ×ÉëЌʵoiØÁLóŸÁõ715ÍÇÌþZCþÿŽ/Ý/­øŒÊsó ˜›WÀÙÍ“OŸ>áè`ÏŸáêdYzexŽÙ2h:wc„Ï0¬­j¢§§ÇÛ·o9vü6µj¥˜J*IÙ2eð6”þ³sÛ– ë­ôêûOŸ8yê=»w [—ÎDEFѰI3¢¢¢©P¡<Ë–,Js €Aû'~~mråÌIçN”FZcc£4GÿýS¦ûOÅgÄ(ªÕ°&[¶l èßW)ß[µl‘8ÝC[Þ¿ÿ@-k+&ûMD£Ñ°uÛv-œ¯ÞÜ_òèÑcþ|ö'în®JXPP .ÀÆîó”F·o\ÅÄÄ„E æâ;~"ý æ³X8.†††lß¹‹S§¼mø}£²^åʕؼq“¦Nãõë@7mžl«°bÙ’ §½µÂÕé$Iúç9:»1e²_¦†|~š4oIû¶mR4KRrÃ|FR¨PÁLMß I’$ýo»~ã&kÖ®ãö;ÄÆÄbddDåÊ•2h€2/øMdd•ªVçä±#i6šK’$I’ôõ¿p«š5ÕÁKø§O\¸x‰jUSŸ2MíÑã§Ô¨^¥: D1@,—l‰O¶Õ’DùÿwÙÃYݼö·„'ÀêpI’¾i yýÞ„¼yË/¨ha¾¾>æîÝ{©ÎÃ+Ijÿ•ó\’$Iú¶*WªHådïñø/º{÷†F†/VŒøøxæÌ›GñbÅdc³$I’$I_ÅwÙà,I’ô-DGE1eÚt?~ŒFOÁ‚˜9Ã?ÕJ’$I’$ý¯ bªÿtƒÐÑÑ¡|ùrÌ›;[L’$I’$é/‘ Î’$ý-ÇR}·ÌÌÌøcÃzu°$eÈêdu$I’$ýg%Ÿk\’$I’$ékûü eI’$I’$I’$I’$I’$Iú¾‹ÎÑÑÑê Te6$I’$I’$I’$I’$I’ôÏ“=œ%I’$I’$I’$I’$I’¤¯B68K’$I’$I’$I’$I’$I_…lp–$I’$I’$I’$I’$I’¾Šïbg5???­¿ß…¾I5|ôèÑZK’$I’$I’$I’$I’$Iÿžï®‡³ŸŸ3~žÉü…‹”E$þKöóÌ™) ¥ÿÜ=½8{î<#Geμùê$Ò7Eï¾ý±¶u Q“æêèïÞ¿y®4iÖ‚Ë—¯¨ƒÿ¶€W¯0¯TF£ŽR|«ÏN϶í;hÛ¾dò;¦æÊÕk88»*ÿû!Iÿ_ݼu›­Úbec½ç/\T'ùißþtïÙ[œ¡ÀÀ œ\܉ŒŒRG}SÉËÍŒê@¿ÉSY²t¹:ø_“<¯3ªGþ­ü•$I’$I’´}w ÎÆY³’'¯iº‹±±‰z5)Q÷ž½1¯T•»w謹ؾc'敪2ýçYê(é;pëömî?x NÁͳááá¼{÷ަ-ZiÅ !X¼d•ªZðꕎÿŒ™¸zÔÆÒªMšµàҥ˽)]º´VØ·4Ño2³ç̃¯øÙ[¶mWý£¾Ö~HÒ÷îÕë×ôî7[{'ì\˜5{ŽVC[Ÿ~´ÊëJU-µÖß¹{õ6ÆÚÖ­Ú*eþ—˜5û,,Ì9sòGí§ZÕ*ÄÄİdér<½êS¥zMj×­Ï®Ý{Ô«þ§Üº}›>ý`cçHµÖÔ©×€ÕkÖª“)ªW¯F—ÎÕÁ)¨ëõ|ùòâ3|(ÆÆFZéþŽ  àuwÒR¯A#øÂr³Qø¹¹¨ƒÿ1Òº÷Èl^óò75‘‘‘,]¶œ­ÚRß»1^õ¼iÖ²5«~]M\\œ:¹ô…âããùmÃïx7nŠ¥• nžuXÿÛu2V®Zy¥ª¼ UGÑ QΜ9 Àê5kqvóÄÚÖ>ý¦¤»|ù mÛwÂÅÝ“ºõ2ýçY)j„¼yCÍZv|üø‘ÓgÎоS¬lì±µwb‚ß$­ûÃ3gÏáݸ)5¬miѪ-·n߆Lìןϟ3hÈ0lœ©amKŸz¤Ä«…‡‡3pðPÜ=½ÔQ8»yj•MšµP'IáæÍ[TªjÉž½û”°€€:wíNÍZvxÔ®ËÎ]»µÖ‘$I’¤´|— ÎÒßW©¢›·nS³ióÊ–)£–¾+W­æáÃGê`-ÏŸ¿ Oîq”Û6Ó¦UK ( Nš&]´‹¿àà`Z´nK®\9Y¿æWN;Ì$¿ñ?~’þ«“§i߃9zL+ÌÉÑ9²k…}+ÑÑÑìÝ·ŸF ÀWúì'OŸ²tÙ¿Ûóíkì‡$ýô0ˆreËpìÈA~[»šã'N²bÕ¯J|hh(s™¥”ÛW/%Œøxøè¾ã'â?e2çNŸ ]ÛÖôìÝ÷‹{~†„¼ÁÚª&zzzb``€®®.‘‘ÌðŸÊÙS'>t£ÆŒãÕë×êÕÿ._¾B‡N])S¦47¬ãô‰£LŸ6…êÕ?ׯj¦ùòaU³†:8u½®¯¯OmO­4Wù•s`ú5dÉ’Eù{ûÖMJ¹™^h^¡%~üQüͼ{÷ŽY³ç‹F£aòT>}ŠPâSËk­¿“|‹üU{JÛ@G‡%‹°sûöìÚÎâóyH÷ž½R4VJ_&22’û2ÙoçÏœdÖŒéü<ënÞ¼¥•îÞ½ûìÞ»­p€7nòéÓ'¬­­8}æ ËW¬båò%œ zÿþ= ¡ß>\8{жmZÑ»O¢££3ܯ7nR½Z5vïÜÆÉc‡É•+ãÆOÐúIîÝ@‹VmÉ’%‹: €·oßròØ¥,ظa½:‰–ˆˆFG±bEµÂ‡ ¹yΞ:Μ_f1uÚtîܹ«•F’$I’R“öݦôŸæáîΞ½ûˆŽŽVž<}JPP0•+WÔJ{ýú Z¶n‹# 7S¦¨ qÊŠ+W¯Ñ¾SªT¯I``‘‘QŒ7;GÜ<ë°zÍZ¼7åÉÓ§ÄÅÅ1ýçY88»bçè‚ï?¢¢RÿëîéÅö;iÒ¬µìèй«²K+¥W‰=…¬m”¿3+µýxJßþ±µwÂÕ£6«×®ÓZgÑâ¥88»bcçÈÄIS7~"¿oLøá¶rÕjzõé§•¾WŸ~ZÛØ²m;ž^õ±µw¢K·Joã°÷ï8x(ŽÎnØÚ;Ѻ]Þ¾}Ç´é?søÈQ¦L›Ž»§J¶õ„^õ4¢}Çμ|ù’z á;~"û¤^ƒF|øð#CCêxz0ÃjŠ;eË”aø°!)\]]]êÖõâý‡„¾} €žžž²èèè°rÕjºtJ٣藹óضm;»vïÅÝÓ‹“§N³mûÆúN`åªÕØ9º0Ö7áæøêµk´lÓ+{\Ü=Y²t9BH¼q÷1Š ~“°upÆÞÉ…uë7°s÷<½êcecÏO½ûòñãGÕ7HøqM½º^˜˜˜/o^<ÜÝÐ×O˜–¾WŸ~¬\µZkK+îÝ»¯üýáãºtë½õ6æØñJÜâ¥Ë©\©"#}†cffF¶lÙ¨Z¥ óçý¹ó”!å#GeÑâ¥tëÙ Û¤í$öhÞ½g/sçÎgßþ¸{z)£ ÔÓÀ,]¶œn=~ÂÚÖ¯zÞ\ºt™ŸgÍN8÷ì´F#ÄÅÅ1|Ä(Ü=½°up¦]‡N¼|ùR‰W;pè0¥J•¤XÑ„êÏ^¶b%½úôÃÆÎWÚü±i³²îÎÝ{¨ïÝ{'\Ü=Y½v=¦wßþ¼ÂÝÓK™*ãÏçÏéÖ³ÎnžØ9º0ÌgäõW{þü»vWʤ«×®iÅ«÷cËÖmŒ5K+vþÇ{YJR’ׯyüø ½zöÀÀÀ333† Èöí;•4!oÞP¸pa­ò;IdD$Y³S®\YlmjƒF“Ðû200ˆÞ}ûãäâN-;:vîÆ³?ÿT¶[ß»1vŽ.<}öŒ!Ã|¨ji¥Lm£¯¯Ï€~}¨haޱ±ÎNŽd31áUÀçQ5OŸ=SÊ6ÚuS”Éß“)þÓiÒ¸!ýúôÆÌÌ ccc,ÌÍ1¯PÒ¸‡H>]ЗÔëê)!ŽŸ8I‹VmqtvÃÉÕƒå+W)ß+£r:9¥þÖMhˆUŸÉËM2¨“O¹‘VýîîéÅî={iÞ² Ö¶4nÚB«¬No¿’„†¾eÆÌY´m߉\¹r¡£óìÝwXÇÃÀñ/ˆJG±—(v±@¬Økì½÷^b/Qc‰]KlVQ±÷Þ{o4‘cÞ?8Ö»£©1y“üöó<<73»·³{·3;7E®Ý{A»ŽhàÙ˜°°p­súó·ÃÏ_* ÇŒ› õˆÖ=¿™]»1cÇ3gî|©¬:m:)))ðg@ͧ IDATeí¸ñ“èÕ£;mZµbÚô™xù´ÀÛ·ÓfÌdìèQØØØ°goj/Ðìê‹·oß¡C§.Ôq­Gm—zŒ;^J÷µõóŒÊíŒdwí"""}ú$Ý+ÍÍÍÉ›×6]=: `7>>Þ 4WWŒ±±¶¦zµªÞ¨T©jÔ w}ûäÇÎ8}òôcðÐá¼{-¥™<õ'ú÷íéã¡äÍk˲åËyöìöíæÀ¾=¼zýš‡Ié]±’+W¯²ww!A<|øˆ_—¯”âuíðógÝšU=LéR¥:|dºJÞ÷ ›!CG`ggÇñ£‡ù}ÝV¬\͉“§@=_àæ-[X·z'Ž¡|¹²ìôÐÝe¦Îœ=ÇüŸòë’_8y<”’%K2bähþø#uèÜ‘CÁœ8v„qcFaiiÁè‘ÃùᇒŒ=’à@<¸kí³`ìÛ@ãÆ7v4ûöP `6¬_˾=äÉ“ccc|Õ•áì\ºt™|ööØeÐ+8(ø ..é÷€W³¦x5kJHp uj×àð‘Pž>{Æž€Œ3Ѝ¨wôí?ˆŽíÛqæä16møm;v°uÛvi_ûP½Z5NeòÄ Ìž; àƒøïØÊ‘ "£¢ØžÁÃuGGÊ891jÌ8?þüðñ53aüXNŸ8ʘQ#>r4oÞ¼àüù ԯ离 6ÖÖT¬Pž³ç>?ômÜü£F ãäñPöïǰ‘£yýæ M7¢e _zzÈÈáCµö•æ· ›;f§Ž‡ââR—î½ú`llL衃lÙ¼mÛ·s]ÝóÅÀÀ€&±w·?ÇCaccÃÊUktw)ñ÷ß•åçaÍÚõôéÕ“Ó'1cÚOL›1‹¨¨w|úô‰‰“¦0oîlNŸ8ÊÎí[©çêB±bE?v ùòÙȦ ë°²´¤G·® $pïn®ß¸APðAÝ·û"B†E±bE9zˆukV¢qËÈ‚E‹©X¡G¤¡GÝh™ì_)%E…¾¾>úúŸ«jÖVV<ñBzOÏÞ}¨V³­Ûvàø‰“R\Ù²e¨Q½:ÓgÎæþƒŒ?‘aCI£V,--hÒ¸öïåÄÑ#-Z„Y³ç‚ú^·w·?'¡PÁ‚,˜?—+Ïq<4ýw1%%…mÛý0Éi‚“Sj­R©¤{ÏÞ8•.ÍÉcGø}ýZ¶nß‘íwùÿûwÑܹso¯Ô‘ ™Ñ­ChúÖrÀ1~fNÿ‰c¡‡X±l ¿,^*•EdqŸþ³²*ué–ïiÖÿ¾¥‹ræä1Üë×ã§i3¥¸¬òÉœ¹óéÓEŠa—ÿºv錫W.`˦„¦;ר„Ÿ¿xAPà^B‚öõî ý¢›L’ѵÛx€"E zè »vn'4ô‡„B6eíýøðá=ž ˜¿`!¶¶¶ì ØÉì™Óyý:µ‡“Æ8§QOÈÊœù?Ó°¡'ŽáPp ÝÔS‡|mýÜÒÒ"Ãr;3Y]»C†ameÅÑÃ! $**Jú¡!MFçô¯ôî]4Ïž?§\¹ÏfæÎÿ÷úõ¨P¡¼VZÔ÷ àƒ!Ò¯§OŸR´H)ÞÂÂ+KK=|„¾¾>ú÷eØðQ„:ÌÌÙsBиQC)ý¥K—IV©¨ZE{Ú"Ôõ–ËW®R¹REžMíeõ=iæãåËW\½výû¡P(ÈŸ??õë¹IÇÁ«Y3Š+ŠB¡À«YS©—è—Øµ{ͽšQ´hôôôø±SG®ß¸Ixx8޹vý:GGA''ÝͳtëömŠ/FJJ /_¾ÂÑ1¿n’lEFE1sö¦N™¤Õ˜‘fíºõtïÚ%Ó!«ÑÓÓcâø±XZZ`llÌ‘ÐP 8:Ò´IcôõõÉgoO÷®]صGÚÆÑ1¿ô^ÏÍ…BA‡¶m055ÅÔÔ”ÕªñìÙswI¥P(X¿veœœèÖ³7:uáô™³ºÉ²T¿^= *@­š5)õÃ;žÚÃ+ö}¬VMÖÖÖZ|îõëQ¼X1ôôôðhàN‰Å9~ü„Ö6Y©_Ï"… £P(ðhP•JEn]Q(,P€âÅŠñìùçsP·NmŒQ(Ô®]‹—= 5½zõŠ;wïâ™E¬«K]é!§zµª˜™åáù‹ç©ß ¶lÝÆ›7o±°° þÌ?g¹rå¢ZÕ*( òäÉM…òåy‘EÏ물|ùŠ»wï1°? ±´´ S‡öºÉ´TªXÖ­Z+W® ‡ÕÊdÿFöööØÛÙ±qó¨T*^¿yÃÏ‹~A!õÄ Ú¿‡#!Á;’Ú°2pðP=z ê{r›Ö­8ÂÐa#‰}ÿûAŽ9hܨ!&&ÆàÝÜë«ÀóòiA¥*ÕY÷Ûï,˜7Nž:MJŠ`ÐÀþ`ooG o‚†èîâÿ]ttêýÜÁ!Ÿn”ݺ¦?S®)R˜¢ESÂ~ø¡$66Ö¼ÖX!³ûôŸ•U¨K·|OÓ¾][lmmÑÓÓ£¡§§~öÈ"_ñññ4jâÅÛ°06þ¶_ïæßtßîòc' 9sæ¤[—9’y=3£kgg——V-[ P(°µµ¥råJZŸÿÌÊÚ«W¯S­jU®\¹ŠW³¦ îQš3gNÈbºŒ*XƒC¸qóÆÆÆ”Pϳýµõsƒ¯*·3»vOŸ=ãæÍ[ 2###ræÌÉðaC8tøˆV/çŒÎé_E¥R1vüºüØIúÌ=zŒ»÷îÓ·ö3Hšàƒ!8•.…ƒƒ J¥t}Ò˜ä4!>!uê–† 055eþ‚Eøì¦]Û6ZŸõ»ðñöÊ0¯+W­ÁÄÄïæ©Û J¥t/LcllŒR©Ô Ë(_š.^¼Ä `Fަ•­üùós8$ˆCÁ=|V-|0x(/^¤¯›½}ÆÂ_–0gæŒtÏJ¥“œ:y11A©ü<åL&“Éd™Iþ/Õ¿o&L˜ÀûØXn^¾Ì®¥Ëyvå*KÛu`˜¿¦––º›ýÏp¯_é3góòåKnܼEÙ2e°µÕî…ð6,ŒGKÃd>~L"^c±–¢:óøEDDbkk#½677צɸ‰“10H S©R2_ õöiLLLÈ•+áÒƒŠ¦””Ïå_K3ááá4mþ¹÷gò§djÕª êyÏ*”×î1‘]Ž´€ððBcàçáý&&&ÄÄÆÒ¬IcÌÍÌX³n=³æÌ¥O¯ž´lá+¥ËÌÜù 8~üÏ_¼`ØðQ|JNF©TÒ¬¹/nn. :Dw“ EFEÑ­G/úõéaψ£Gñ.:†¦MÒ/@’•¥)-P•Õ=gDFEJ¯-->?õõõ100ÀRã;k`héâ;9s椿>ôéÝ“ÀA 2”eK§›ç1æ-fyòh½¶µµ!Lý¹È›7¯Ô¡+&&†R¥JI¯ÍÍÌ´âííìˆÐ ËŠ•Õçü’+W.­y± TêsÉŠ«¸uçz@tLL¦óVûïÚG÷t=šììì´^’œœŒ¾¾>›6þƺu¿Ñªm{œ+WbìèQé®gšë7n²þ·ßyûö-BÝhÜÞ1ûÅi2IžÜ¹Éûó\£öööZitÑèµ$“ýWèëë³xÑfÍÇÚµëÉ›7ojÃУÔyh”Ÿ†††´kÛ†Ý{÷qôøqŠ-Â71j ¿¯_KáB…ؽg/»tcë›°¶²"&&†ÅK—qýÆMRT)$%%‘ü•£‹Ö®^I||<7nÞ¢ÿ Á,œ?gçÊDDDƒkýÏ ÜÉÉ*J—úAkû‚´##£0Ó¹ŸkÒ­ iúÖr ð@þ»ˆG¨{<¦ˆÏõ‰ÌîÓVVe .Ýò=FÒÀÀ@ktZfù255ew€lÙ†OËÖx¸»ÓºuKòeÝà¯+FakcCttt¦ç%£k§[6Ô8þ¬ÊÚ¸¸8©á2_>{>|È%Kre¢!‚‚©‘Aý*f}qÒ„qlßáÇè1ãÈ“'7#G §r¥Š_]?ÿÚr;³k÷î]4¹råÒZ¿#¿ƒ)))ÄÄÄJesFçô¯ R©1j ÖÖÖôïÛÔõØÙóæ³får E†£"wúÐZcª‰œ9s’ n\N£LPbnfÆû÷èÔ¥;úõ¡YÓ&ܽ{a#Fñþý{ZøúÏ¡ÃGØ~Ä݆M› 9|˜µ«WJ÷å\¦¦ÄÄÆj¥KLLÔê ’Q¾4]¾r•ÑãÆóëÒÅX[YéFkkPwÒhá냟§Ïœ¥cK)MJJ £ÇgøÐÁØÙ¥¯OššæD™ ÝPž¨T’'Oæ÷J™L&“ÉÒ¤¯=þKå13£¦›Uk×fãØñÜݹ“€þèøÇfÈà×èÿi½—üwíæÚµëthßN7 ¶66”q*ÍÆßS‡ÆgDOç×n+++ÂÃ#¤^ïß§ÛÒŒŸ=s:Õ«¥öÉNXØç¹ßâââˆýÜ»T¡P 4™5Ó~-Í|XÛX£P( ÌpÑ;[µß+<üs#¢B¡Ÿ®‚öùAÍÖÖ†J•Ú3°?­4iêÔ®EÚµ¸yë½û @GªV©’aω4£F ãÇNé?h0~Û¶| .2qÂ8ݤ™zó&u1›n]»Hà u­Z»Ž;uÈðá2+º 9äwH7õ›7o´*³Êï—R(4kÚ„ àƒœ¿pjU« ¯¯*åóõ‰}ÿ>Ý<âºÖoäa™¥K•âð‘Ðt 111\º|…®]~”Ât?“/^¾¤’zXå—äïKÒ¤7aövvü¾n FFFlß±“ýè&#%%…]»÷°`^êðøÌè«çú̈¹™Æ¦¿>Ì÷3#ÇŒeÃúµén§IIIôìÝ—Ñ#‡ããÝ===FŽ«è+X[Yñ!..µWº±<³Æÿ4YåC&û7+R¤0«Wü*½^¸h15ªgÞ¥¯¯©º1ìð‘P\]êH‹¿y7÷b»ßNŽŸ8‰¯ws¦Í˜…¹¹9›7ü†‘‘·oß¡ÿ /ûá2µ56ÖÖ*XãÇOzì8ÎΕɗ/… "`çç)”þ©,--(R¤0û`ЀþºÑݺ®o)ׯ]»Îä©ÓØøÛ:iþX7íi7þªû[Ve .Ýò=Mfç$»|9äËÇÈáCЯ»÷ì¥oÿäwp`É/ ³<_š"""¤¼aaaäÎ;ÓzKFÇ™YžÈ¦¬Í›×–³ê¹”GÁô™³ØôÇ:´k‹½í:t¢Fê4kÚ¾ ¾¨P(h×¶ mÛ´fï¾ýôìÝ—SÇ~Sý<³r;#ºÛ¦Éï>+ý þúõ …VƒdfÛOIII 1 KKK¦Lš 5èîÞ³—°°pÚwú\ðömÅApv®ÌÃGhP¿žW¼X1­ø111¼‹Ž&þü\¼t cc#éšýðCIºwë®Ý{háëCà Ê—/—®Avõšµ>ʺÕ+µ~¬*Z¬(Û¶íÐJ{ÿþÜÕÇ“Y¾Òœ9{ŽI“§²dÑBJ—þÜÁáÏ))ZScܼu›K—.óäɦϜ@lì{~šþˆS§Ï0x`^½~R™(m{ÿÁÃt Êd2™L–‘¿¾¶ð7304¤ó¬-ãDØÉS<HRâ•·Û¶íàÑã'¸Ô­£M=77=zLÀ®=$''£R©¸{÷^ºa_š<¸³vÝoÄÅÅ¡R©X³vV¼·‹—.“É‹åþƒÌçúòÛéOLL *•ŠE‹—R°@J–HmÌvtÌϹ © ´©Tªt+F«‚ PÆÉ‰9󿇂W¯_Kó Ö¯_]»÷HC“=¦5­££#wïÞ“†Þ¸qS«"Ûܫ۶ûqíÚu„$&&J+Pß½wŸ˜˜P‡¹™qqñXZXpûÎ]Ðé“æÑ£GÒt>¢xñbºI2õüù ºtïI÷n]ðôp'!!„„­…VÎ_¸À“'OhÕ²…Ö¶ßµn¢¢¢¤EÜÞ¾ có–­øx7×MúÕž>{ƹ󈎎F©LäÌÙs\½zMZàÉÑё˗¯Hç0 ƒûÀÑcǹuû6BŽ;Î;wqsIï°Wn\½v9sçóömIIIܺ}›þ‡P¹RE­^ÔÇOœäî½Ôyùóðá#ÜÔs_›››ñàáC’““3¼ž_+"<§Ò¥122B©L$ð@nNŸ9KN“œ”/_N7ê‹|úô‰«×®¡R©022¢D‰Äǧ~FÍÍ͉ŒŒ$*ê)))$$$O… åÑÓÓãÕë×Zs\-GÇü”(^ŒeËWœœLll,›6oÑM&“ýOH+—•ÊD¶lÝÆŽþôS!çÐá#ÄÄÄË[¶òðá#êªËú¹xñ2ê7nÜäáÃG+š:·hDd$vym100 *ê+Wg>¼®W¯_sêôi¢££IHHàü… œ:}Fj\¬^­*ÊD%«×¬•ÊØ/^òàáCÝ]ý# 2˜uëgõÚuDDD T&òìùsž?ÿ<_vV¾µ\ 'wî\Ò|¯'Nž"2*J+Í_%«2ðÏúÒ|™˜˜Ð¶MkvûûÑ®mꨘ9r`jjÊ;w ƒÑIiV­YÇÇùðákÖ­×j\ü³²*këÔ®ÍÉÓgˆŒŠ¢H‘¬[³Š­›7Ò¬izvOA0xà©1»úâ•«WILLDOO§Ò¥Q©T$%}üêúyVåöù ˜:mz¦çR“­­-µjÖdé²å$%%¡T*Y¾rzf8õÉæ?¶JeôãÇO;~"ïß§æuöœyZóÊ ¥2‘þcmm͘Q#HLL$!!ÄÄDÚ·mCHp þ~Ûñ÷ÛŽß¶Ô÷_·f%M7& `7zjM‰á­žfðùó$''³dÙrjT¯†¥¥ àÕ«WÒzJ¥’£ÇŽKkvìÂW§îºxé2Ž„eÉâEJuj€z®.~üH£†žTq®,mëR·õê¹Ò¾ã˜˜˜P°`«çÙ¨Y£:cF`┩¼~ýcccÜ\]([¶ ÷îÝ£ÿÀA$%%‘;Wn\êÖ‘*€=ºweÂÄ)ìÚ½‡qcF¥›ÖâÑ“'SO5òàáCjT¯¦Ÿ•5ëÖóòåKÆOœÌø‰“¥ðݺ2tHê ê«V¯¥M«V˜ššjlùmrçÎÍÊå˘9{³fÏ%wîÜ´iÕò»48ÇÅÅ1{Î<ž¿H}p(àèÈÀý©çæ @÷n]7~Í}[’Ó$'µk×L7E˰!ƒùyÁ"nܼ…µµsf͆;:88°yãï,^²Œ­ÚOÞ¼yiܨ!}zõÐêåéÙ€ù?/àλäΓ›¹³gJ½®¼š5ãð‘PêºÖ§QCϯꞑ±cF1}æ,vì܉Yž<4jèI`PúFçþê<«T*,ü…GclbŒ]^;&OêÞßž4óöÅÞ./;wlcÔˆaôé7KK òÙÛãëùB…ÙÑÓÓãçùs™2u:u\ë‘×6/={tcμùºIe²ÿ¼3gÏ1hÈ0 )_®,«V,“æ$ÕÓ×ç-[¥ûyÉ’%X¹|)ùÔSÐx7÷âÅË—´iß‘øølml˜0n åÊ–õ°S§Mgåêµpt¤G÷®RƒKv’““Y½f=wîÞåãÇ8äËG¯Ýh¦.³ŒY»j?/ü…&ͼQª‡“2˜âžü‡Ò¿‹›« Ë–,bÕšu¬Y»ž?bcmͨ‘Ã)PÀQ7y:_S®k.æêR—ã'NÐÄËk++*V,/-ÄûW˪ ü³¾6_zzzZñCdÊOÓS§eØÃ·téR”.] ÏÆÍHHH NíZŒ1\7Ù7˪¬Í“'7C¤Wï~Œ1ŒªUœQ(DGGsüÄIªW«¦5EvõÅÀÁ < ÌÍ̘2i¢Ô[ökêçY•Û¯_¿áüù‹¤¤¤dø, kîì̘5wÏFèë+¨[§v¦ ß½{AjCvLl,§OŸ‘:2\¸t GÇì¿?9t䈴6Çţ˖-ÃÖ͵ÎAZc¬¥¥%9r²{Ï^–,^$Å£^ë¡¿>tíÑ“ØØ÷T¬PžiS§P´h&OšÈ„I“‰I £NZ :˜Góâù ­…¤ÃÃÃ¥E$]ëi¯“qùÂYLMMYºx!ÓgÌbÄè1äwÈÏâE 022bïþÀ,ó5gþϼ}FÛö5ö +—/£¶zÚ¿/ñ))‰™sæJs6—-ã¤Õ;íº¤›²C¡0 W.SòäI>eÖÌéL˜8™µ]055e@ÿ¾”U—#2™L&“e%­ÕD³5VOçO_ãO¡ñgä #õŸñ…KWO+úeóz]º|™êÕªb Sù™>}ºÖëeËW€FCfš´ù›3ܨ1/_¦îžÝ˜Wûò†9Ù×Q*©R½&‡e:W\fx6fÚOS¾xúÿOÝ{öÆ£AÚ´þ<÷™ìÛ¸ “°··Ëtê™L&“Édÿ=×oÜä-[¹s÷.Ÿ’>allLÙ²e:x ÖÚ$2™L&“ÉdÙ¹zíš´(ñ÷Ïù ©T1uºÏì<|ô„*•+T”ÀG ø$kü¥hü ¿4ÒÿÿÈκ É[¶§þ¬žMóâÂ├¿£»wïadlDÁHIIá×+(X ÀW76§ù’!~2Ù?•üùý6ã'NæîÝÔaæš6ü¶î»ô°—Éd2™ì¯R®lÊ•Õî #“Éd2™L&ûìÙàü½X•¯@¼*qê”n”ìO gþ‚…„……£§§GÉ’%X¸`žn2™L&ËÔŒiSuƒd2™L&“Éd2™L&“ýü§œM‹ÁJ¥"Ç“'ºQ²?AsnÂ?+$øû,øwX»z¥nìÜÌé?éÉd2™L&“Éd2™L&“ýOûO78+,,°MNF/£•æKMùi:ËW¬Ò þŸ|Ú.nT®RÝ{÷éF˾QVß™¬ü|Ÿd2™L–97wÎ?¯üMÞ¼yKÍÚ.(•‰ºQß,ð@]»÷Ò NçÏÔ•të]º¾ôþj£ÆŒcÁ¢_tƒe2™L&“Éd_à?×àœâiW“ IDAT@£2e˜xå '££Y ¬Ž¿{ÇèË—iääDbâ÷«˜ÿ“MŸ1‹Ú.n¨T*ݨ¬¡CS²dIÝà¯|¸¸8ÝàïnÇN­×-[øàáá®ö½ü]yÊŠn~uMžúÇãâù34nè©ýÕ®^½F±’¥éÝ·¿nBÜÜ=)V²4 ºÑ_mó–­4kîCÙ •p®Zƒî={síÚu­4'NžÄ˧¥Ê”ǹZMÚwú‘—/_j¥ù»uíÞ‹5k×ëÃwü>Éd²ÿB‚‚ÒÔˇfÍ}t£ÿ´'OŸ2pðPªT¯…S¹Š_õƒiJJ 6n¦qÓæ”­P‰ò•ªhÕ7z÷íO±’¥¥¿’¥ËjmÿOÒµ{/­c-V²4+V­ÖMö·Z±j5Åp¢dé²üàTŽ:®õ˜0i áRk&Œ‹‰‰±Ö¶™É® pv®L¯žÝuƒÿVºÇpãæMîÞ»§•æŸî{ÖÙ„ìÞ»N?vÅ£a<6¡a“fL›1“¨¨wºÉÿRRRØ´ù5õ¢l…ÊÔu«ÏÆM›¥ø'OÒ®cg*T®ŠsÕLš2•OŸ>ií a“fœc–ÿ%çF&“Éd²Œü眛͔֮§OqÓÜ…`üÓ§xÕ©£õŸóñãGöîßµ ÇŽ×þǪçæJž<¹uƒ¿ŠJ¥â§é3‰‹‹×ú®=~ÌŠ•Úçeœœ(Z¤ˆVØ÷ðwå)+åWS||ýÒºe .ž;Íý{èܱvvvº»ûÇøß'™LöÿgÙòü¾a#®®.ºQÚÛ·a´ëЉ%ŠÈ­ëWèѽ«n²Lý¼`Ûwø1súO\»|‘‹çN£P(¤øÈÈHVüº”{·opïö n߸ªµý?ͨ‘Ã¥c½wû½{öÐMò·su©Ë½Û7¸uý ëV¯âãÇxyûòöm4nÔPw³ eW†§±µ±¡FõjºÁÚ»wï˜7Ô ¦¯¯§›D¢{ «×¬ãÞ½ûZiþ.úz_ÿ¨ô=ël*•Šƒ‡rêÔifNÿ‰ƒAû9´Ÿ¿+ZŒÖíÚgÚ ùo¦T*¹{ï>óæÌâê¥ó,Y´9ó~–:œ;‘žÝºröÔq÷ïáÂÅK¬ûíw­}\½zøøxjÖ¬Á‰“'Yµz-›6¬çü™“ØÚÚ0vüDP7è÷8˜6­[ròX(Û·n&4ô(»÷ìÕÚŸÀ.Ü빑;wî,ß?&&†þ3|è®]¾À;Ò«w?>~ü˜m¾®^½FggB‚9æ$æææŒŸ8Ië8Òdu Ñ11”/W–ÃpùÂ9ºþØ™¾ýfØé*2*’Å‹kÝÿÆ _qnd2™L&ËÈ××¢þÁ.]ºDÒ³g¸ ¡%i =âêÕöƒÏŸx ˆÒ¥JÓ¾]¶lÛ®7jÌ8V¬\E—n=¨è\ wFœ?9óæS½Vœ«ÕdÖœyRúäädfÍ™GõZu¨Z£6&M‘*,/_½ÂÅÍ;ýqs÷¤R•jtéÞS«Ή“'iÜ´9•ªT£s—nD½‹’âtiÑÜéÀð£˜1s¶t\'O!%%€[·nÓºmªÕ¬MÕµ>b*•ŠŽ»NË6mqqsçíÛ0ž>{F—î=©Uת5j3tøÈ {BèÊl»Ò«O?^¾LÍÚÐPÝá—Ûwøáîш •«Ò¸is>"Åe—¿4™å)99™á#GãâæN•êµhÛ¾#/^¼õu©ïÑ“§NãîÑwFRxç.Ýp®ZƒFM½Øx€êµ>ÿIŸ~p®Zƒ:®õXÿû€Ló›æÁƒ‡tîšÚɧe+ºtï @xx8ý ¢R•j8W«Éè±ãùðádqŒñðh€À.­°mÛwЬY­°Ì®—æ6î(]¶nîž<}öŒˆÈHÖ¬[Ï’Å‹pu©KîܹÉïà@ïž=hݪóæ/õÃòÇiîÕ SSSl¬­iè鯤ÊîÚ|ÏïLV4¿O£ÆŒcåê5ôìÝ—ÊUªSǵ[5î ={÷M×Sºl…Êܹs—·oÃp®ZƒÓgÎðéÓ'7mΆŸ{åÈd²ï¯O¯žlÙ¼‘J+èFðøÉ©,w­×@ë;œ’’Âø‰“qqs§¢s55õ"ôè1)~íúßpsue`ÿ~˜›™hýPxöÜ9ZµmsµšT©^‹á#GKett46mbÅò¥T¨P}}ýt?2FDFâàà€B¡þþÉôõôµŽUOOþŒ›0‰5k×SµFmÆMHmøY¹z <S­fm<6áø‰“Ò~\ÜÜÙ»o?Þ¾­¨è\¦^>\º|Yã>»~ã&5k»¤M£K¡PP¼x1æÍ™EÉ%X²ìWP—'ÅJ––zfV_ˬ 5f;üv2rôXÊV¨Ìî½ûÒMwFÿƒ©P¹**Weæì¹RÜÍ[·hîÛ’ÊUªãÙ¸i†S8EFF1{î<ڴ눅……Tfêë+˜<å'ª×ªCm7~]¾¡®¿kÃŒYs9t˜é3gãâæNPðÁ ëYùÒúVFÞxŸZoªVÏÆM9z€Öm;Hu¤4­Ú¶gíºõÖÙP÷0ws÷Ĺj :wéÆËW¯@ýƒö€AC¨Q«.ÎUkЪm{©çòêµë°²²bîì™øùàÙ¸)ͼ}ñmÕš&ѧWO­zçºõ¿Iu±ã'2vüDþز 4Îä)S©R½ÕjÖfÃÆÍìÞ»7wO*T®J^}¤zÚœyóéЩ‹t]vï݇k½ß­çvVLMM™þÓÊ89¡P((_¾… äÑãÇŒ6„zõÜ066ÆÖƆš5ªóøñ­}l÷ÛI ôõõÙ³w?­Zµ p¡B2tð Ž„%&6!III”.] ììò¦ëÅëççOË–- ›÷?t8”J–Ľ~=ôôôðnî…¹…9ÇOœÌ6_ÞͽèÜ©æffÓÐÓ#]¾Òdu eË”¡c‡öäÎÚéÀÓ£ ¼W_[M‘‘QØæµÕºÿéë§6|鹑Éd2™,+zú€0 #À0ò€5`Š¥Š@ —®Šè˜Ø/ú;t$TÄÅÇ‹ì-QJ-QJ78•+WŠ^9s YþõÌ™S¬ZµJwóÿ”VmÚ‹AÁ">>^T¨\U¼~ýFŠ9z¬p®VS<|ôH$''‹é3g‹’¥ËŠ_–,ÉÉÉâÉÓ§¢LùŠâêµëB!~^¸H´lÓNÄÄÆŠ„¥hݶƒ˜3w¾Bˆ/_Š¢%J‰QcƉ„¥P*•âÇn=ÄÔiÓ…B„…‡‹2å+Š}ûEJJЏyó–¨\¥º4d˜t<šêºÖ'OBá·Ó_+YZlÙºM$''‹·oߊµêŠ àƒB!Úuì,Öÿ¾A!„R©wïÝB‘˜˜(Š–(%Þ¼y+í÷Çâô™³"99YÄÆ¾nî"`×né}Z·í ¥Õ<†¬¶;vü„ps÷¶êsûóÂER¼sµšâÆÍ›B!ŽŸ8!œÊU·ïÜâ ò§)£< !DèÑcB©TŠääd1`Ð1fìx!Ô×¥T™ò¢s—nâÑãÇ"!A)„§E+1cÖ‘œœ,¢££Eë¶Dµšµ¥ýµnÛALùiºHNNÏŸ?•«ÖG"“üjŠ}/Š–(%Þ½{'…ù¶j#&Mž*E||¼èÖ£—è?p°Y£¦+W®Šz <ÅåËWDý ¥ðwïÞ‰*Õk‰ÇOžˆ¢%J‰xõ}$«ëu$ô¨¨\µ†¸tù²øô铸ÿP©Tbßþ@Q£¶‹´oM.^Åp?~ÉÉÉÂÛ·•èÞ³·xøð‘nÒt²º6ßó;Ó¥[O±zÍ:Ý`!t>Ë#G*WW®\BqêôQ¢T)„¢G¯>éöS¦|%qûö!„ûˆº®õE\\œ˜7èÒ­§HIIÑJ/“Éþ!‡‹¦^ÞZa ¢V]W1oþñéÓ'ñêÕkáZßC« 9,"#£„BìÙ»O”«è,’““…B4÷i)/]&Z·í êºÖ»t“¾ïBñèñcqþü…Ôò"&Fø¶j#V¬Z-„âð‘PÑ´¹˜÷óBQ¯§hàÙX,úe‰´o!„¨P¹ª¨Z£–(_©ŠhîÓR„=&ÅýÓdvõÛé/œ«Õã&L‘‘QB©L-§Î_¸(×ß7l®õ?—u]ë‹fÞ¾âíÛ·"%%Eü²x©hÜ´¹VüÙsçÄýûDÍ:®âô™³Rœ¦å+W‰½úè ¿þÂ¥^!4Ê“´óžU}-£2|äè±¢JõZâ-ÛćDRRRº:‘·o+1~âdñáÃû^¼xùRu>Z´n+¢££…B,Yö«ðhØDÚ.,<\LŸ1Kxù´ÛývФ¤$)Îo§¿(Z¢”>"„âùóç¢V]W±o ¯y ¾­Úˆ]»÷H¯3«ÿeækê[šFŽ+ªÖ¨%=~,„F=îÕ«×"`×nѨ‰—”öùóç¢dé²"22*Ã:ÛÉS§Eåª5ăEJJŠ˜1kŽðmÙZ!Ä/‹—Šþ‹ääd¡R©Äõ7„B¨T*Q«®«ˆ‰»öì-Û´“Îc…ÊUEBB‚HHPŠšu\…P×s4wï¾ý¢XÉÒbó[…Ð8‚‚…B Åp=ûôqqq"..Nxù´+W¯B‘””$š6÷¿ý¾Q„…‡‹*Õk‰ /‰ÿ‘‘Q©\E)ošRRRR?g;ü¤°„„Q¾RñâÅ !„¾-[‹={÷il%DZuÅùó„B¬ûíwáîÑHS§M;w‘¾ïBqþüáR¯A†õÝ÷Ÿ3w¾?q²Vš!ÃFˆÅK—i…‰lò%„ÓgÌÃFŒÒ NG÷4½yóVŒ3NtíÞS7J!Ä?Q¶BeQµF-Q¹JuÑ«O?ñìÙs)>»s#“Éd²?ïì¹sºAÚ‡¸8q8ôhºvØÌþ.\º*€J@) È Xfê6au±¡ºÍX¡nCÖlS–ü§z8ËRÝð€—/_ÒÀ½>9sæ¤q£†lßá§•¦{}Š)‚B¡ ¡gT*½{ö@¡PP¨`AJ/ÎÓgÏ@=„¬O¯ž˜åɃ‰‰1íÛµ!8$DkúõÁÄÄccc¸×çÑ£Ô_ê;N‘"EhÒ¸zzz89•¦áWÌíkooGÛ6­Q(äÍ›gçÊÒ¾ *DPP0×oÜÄØØ˜’%Jèn.É•+5ªWC¡P'On*U¬È‹/˜{÷[·ص_oÊ89P§vm\]ê²k÷)MVùû®.u166F¡PP·n^¼Lí-””Ęѣ(R¸0&&Ƽxñ‚[·ï0dÐ ææætíÒYJÿüù ._¹ÂÐÁƒP(8::ÒÀ½>Áµ¯õ—zòô)ׯß`äˆa‘3gNFÁÁCRïÝc̈‚Š+ P(¤ÞS»vãéᎉ±‰VÚ¬®×ž½ûhݲ•*VÄÀÀ€âÅ‹¡¯¯Olì{¬,-´ö“ÆÖƆ””bbbP(lÞøeË”¡S—n´nÛ“§Nën"ÉêÚð~g²R¿ž*” fꘛ›ñìyê÷<;5¤JgúöˆŸ¿?sfÏ@O/ó!Ñ2™ìûIëa¨éø‰“¤¤† ŒùòÙÓºe Iizz`ee @³¦MHIQñæmêðûððpN:ÍâE?sôHÞͽèÞ«´]‘Â…©RÅ9µ¼03£¡‡‡tŸ çñã'8æw $(-›7rìøq6nþCzï#!Aœ<ÊÙSÇiÙ‡>ýððá#)þŸfɲ_©^«ŽôwëÖmôôô˜:y"VV–§–SUœ+KçÕ͵nº¹ü;uì@Þ¼yÑÓÓ£IãF<|¤ï·oÃèÖ³Ó¦Lúêé+,,,ˆÕ †/¬¯éª\©"íÚ¶&W®\éz©?yú”Ûwî0nÌ(råÊEž<©#€Ò´nÙsssy¦ŽB=ÅVý yóö-ÛþØD«¾éö]¸P!<¤®yáè舯7AÁµÒdækêi¾µ¾ÕÀÝ"… ƒºçTº4¡GÒ¨¡'á\»~€]{öâæê"}.tùìÂÇ»9ÅŠEOOn]~äÚõ„……Q°PA®^»Æ‘У!([¦ ¨GmÙÙÙa–'—.]¢IãFòéÓ'”J%&&©u ´¢xàZúúJÇÛ´IcŠ+úù €ièé€{ýz( :wh©©)¦¦¦ÔªQƒ§OS¯£¡¡! çÏcÉÒe <”6­[â\¹’Öþþ*•Š‘£Çн[)oš~]¾’œ9sÒÂ÷ó<÷‚([Ɖüùó T’Sg6“œ&Ä«×iÜÐSSSfÏÏ?:vh/}ßQ÷NoÙÂ'Ãzîû'h\›4&&&éÖÉ._çÏ_`àÆŒ©•Žî1 žž£\Egj»¸ñðÑ£L÷ÓÂ×›CÁœ=u‚C`ccC·½¤Ù™L&“É2“~,ø¿XåÊ•Ùdl Ù, vËȈ¾ÎκÁÿ[¶nç]t4Õj¦N•””Dîܹп/ õVÍ qŽ9È•+FFFR˜!Éê©ÂÃ#=v<©ÛªT)äÈ‘CJ hÍckh`À§ädPoë/ŸFJ°·³“³“7o^­×†$«÷ýÓ”IlÙºaÃG’'OnÆŽMçÊZéÓ\»~ƒÕkÖòæÍÐÓãÅ‹—ttl§›,oÝ **Šrå´Iʟ߈ˆÏsg•¿ì„GD°lÙrnÞ¾ B“n>ábE?Ï'Aî\¹´*Ü66ÖÒÿaa©C>=5–Â>%}¢NÚÒë¯õŽ\¹r‘+W.)Ì1~RRRˆŽŽA_‘ú{—æ1f¥E ¶ûí¤Jg¶íðãçyst“dy½"""©P>µ±U“]^[¢Þ}^8FStt4úúúäÉ“€œ9s2xÐôïËÞ}ûéÛ«V,O×`ð%׿¯úÎdE÷ ³ü¼é6rõéÕ“†MšÑ­klml´âd2Ùß+<<œèèhjÖù<¿sr² 'õÐç””V­^CÈ¡Ã$&~D__¤¤O¨’S‡B !è×·Tùx7çç…‹¸ÿ>åË—ãλ,ýu9Ïž=õœ Õ«VQo ?üP’6­[ºNÑ®mÓ¥s'P7Œ¢n´êØ¡=»÷päèÑt `ÿݺüHûöm¥×ææÜ½w‚ hM¤R©X±r5ÇOœ$9ùŸ’“ÓÝ+í5ÊvƒtÃÏçÌû™øøxÌÌS§2ù/_¾ÂÚÊJ7¾°¾¦«hÑ̯GdD$¹LMÓ5Ô¥±·ÿ\¦hæÓÔÔ”û÷°qÓ4ñò¦¡‡íÚµÑj¬Îc–Z®¦ÉkkËÙ³çµÂ2ó5õ¿4ßZß2S—ÿilmmx†‘‘¾>ÞìðÛIùreÙ³gc3iÐ çÐá#ìÝ·O 311!&6–æÍšbnfÆÊÕk˜6c&ýûö¡MëVÄÅÅ“ËÔië àƒðþýB¢VÍšDDDP®¬v½S·¬¶²üüÙÑ××ÇÀÀ+Ï“¡öy)V¬(5jT'äÐaVüºT ÿ»¨T*Ž ƒÐfýï:x¿¯—¦Øá·“ví>ŸMMMÓ5ø*”˜›™ñþýÚvèÌàýñnîÅ;w8x(±±±´nÕ’øøx‚†´?ý¼Å½.SSbt~R*•(à(½Î._/]fø¨Ñ¬^¹ëÏuõŒdt *”çú•‹¼ÿ3gÏÒ¦]G¶mÙD‰âŵ¶×ÓÓÃÖÖ uÎè±c(_É™'OŸbcm“幑Éd2™,+ÿ¹g£Â…9{½‚õôÈ]¼8+VÔúOP*Ù½g[6mÀÞÞ^ oß©3G§~½Ôå3ú…>3ÖÖÖÌŸ;›š5ªëFI4+8šll¬¥†Ì4š«Bg'«ÅZ ;´§CûvìÚ½‡.ÝzpñÜê†Ì4IIIüص;ãÇŽ¦e _ôôô2l„VšŒd·]v§0þüéz=½zõš"E>÷bÈ*š2º^£ÆŒ#Ÿ½=lü###¶lÝÎÞýûµÒh^k+kÞø€R™(õ&~§ÑÐjckƒB¡àØ‘CZ?>¤Éà²ä˜ß>+ÍúêÕk ööv„…‡CŸ]>ÞÍià٘УÇÈ‘#eœœ¤yù‚ëeee)Í£¬©T©RDFFrýÆMÊ•MíU”æ`È!*U¬®'‡B¡À»¹‚8{î\º篽6šþìw&+Y-Ò¤¯¯*ås£Hìû÷Z‹Ë!øiú Z·j‰À.Zµð¥xñbR¼L&û{988P¤paöïÕžß>Í–mÛ 9|„Õ+—ci™ú#sùJ© ƨ{•Fê,ÆúéÓ'räÈ‚®=z2vô(¼š5EOOuë“zý::æ'*êB©|JRo›}}ýï¶Ðë_!mn~]ºåôê5k  aýšÕXYYòøÉ<j¯' —Éý=͘Q#øøñ#ƒ‡gßî©—pvT*;pu©«ÙÔ×2+ó*,­,‰}ÿž÷ï?d¸­¾~æórçwp`ìè‘ 4ÿ€]ôèÕÇüù¥FËpu Í›·aXf2ÚH·”Yý/³‘Rdp¿TZ]%ÍÛ°0*UJ}†h×¶5-[µ¥¥¯qqq¸¨¯‹îñ¢n¨îòc'†¤€KÝ:¸Ô­Ã›7éÖ£7  H‘"”^GGGõîŽŽŽœ¿pcc#¼›{PªÔôêÙÿ€]´nÕ’½ûöS±b­XÈâý‹—(ÎlÕJ{ïÞ}<=ÀäëÔé3Œ?‘Ë–âäTZ+NWfÇ )OžÜxz4`Õšµ\¸x)]ƒ³.!RB`bl’í¹‘Éd2™,+ßVûúÛsâÓ "$ƒ U°ž³ bωºQÿûP¼Xq*V¬€]^鯅[¶¦.òµZøz³ð—ÅŸ7‰‰áÞý/[-Ü¥nî?x@È¡Ã!xøðûè&û&—._&11===Ê–)ƒJ¥âãÇDräÈ©©)·o§>ÇÅÅO¥JÑÓÓãå«Wœ9›ºøYVâãã³Ü΂ˆˆ"#£2\x¦U _öî äÎÝ{\¸x‰'OáÕ¬©nÒléæIAxX8eœœ022B©Ldßþ@ÝÍ´(àHÉ’%XºìWT*qqqlظIŠ/T° åÊ–eƬÙÄÅÅ!„àå«W¼~ý¾ ¿ºòæÍKÚµYôË’’’P*•,Yö+M›4N7´öKØX[SµŠ3£ÆŒ£­ºW¦ì®WãF Ù½w·oßIÍÛË—¼ÿ{{;:ulÏ ÁC9yê4Je"111¬ÿ}6mbø°¡ ~€9söïÞ½C©LäÔé3\¾|Eúªék¯¦oùÎ$«’ùøñ£ô§Û›îK(P€‹/I×ÖÏo§Vüºõ¿ñáCÓ¦Nfèà ñyAÆ 7óû†ÏŸ%™Lö׫Y£:ÊD%+V®’îÙÏŸ¿àþƒ îjee…‰IN”ÊD–þº\«‡_›Ö-YøËbž?J¥â· 155¥X±¢$''ƒƒºGêÝ{÷ئ15WêÔEúü²x)*•ŠW¯_³yóêׯê3CMLL 7mæþý¸º~îýoAáB…°²²D¿Æ þYÉ›×–V-[PµJFŒ“®‡´®¸¸8®\¹J÷^}ˆ}O¿¾½u“@6õµ¯-Ê)Â%K²ð—Å$&&’˜˜øÕÓ¢˜˜˜Ð¡};ìÛCÇí¥ð7oÞâ·3•JÅ“§Oñ÷¦zÐeiaÁ­Ûw@Ýs?³úß_áð‘PnÞº…‚#¡G¹uë6õÝR;o.TˆR¥J1}Öl¼½½¤Q„ÕÙ|}¼Ù²u;W®\EAbb¢´Xä»÷¤– ,ˆ¹™qqñØÚØ`iiÉÉ“§055eÁü¹øûmgüØÑÔ­S›]þ;X0®Ô »aCOví–¦69z”»ê^ÑßâýûŒ5†i?MaÆ´©\º|Eªœ=wމ“§HŸÝIS¦J  9Äœyó‘W¿ IDATAÝà=bÔž?OÿƒV”ÊDzõé‡ Æ!11‘„„é‡ð‹~Iíu½|9rä !!Aº¿ùùùÓ´Ic­Î¾>ÞøùùóìÙs’““Y´x)µjÖÀÊÊ’B òòåKiz¥RɑУÒT-;vúÓª…¯´/²y÷zn<~ò„#GBB°gï>ÂÂÂpsuÉ6_GŽ„2fÜx–,^DáÂ…¤ýfT¯ËêΜ=ÇÓgÏP©T¨T*†âîÝ{T(Wtêm‡„òäéSRRRˆŒŒbÜ„IT­R…|ùì³=72™L&“eå?ÕÃuÅ6èöm¼êÔaÒ£G”UWànYX»X1ž<™eœ»-Û¶Ñ&ƒ_œ[øú°dÙ¯¼zýZ7*[©C½–Ò¦]GÞ¿¥…½zõø¢ÊFÞ¼yYòË"fÏÇè±ã(ãäD×®?J½¤þŒ}ûзÿ 073cúOS¥^B#‡e¤)ˆ‰“ÙúÇ&ÆE÷ž}°²²$Ÿ½=-}µ+ޱ°°Èr;§Ò¥iܨ ›4ÃÞ./{whm_±b¦LšÀaÃ‰ŠŒÂ>Ÿ=‹̧h‘/›BB—nž&NÇ”Ÿ¦±uûvÌÍÌhÒ¸û3oØÔÓÓcé/‹?q2ÕkÕ%_>{¼›{iõøøuébfÌšM]·ú¨T)äwpà§©“È—Ï>ÛüfdÁü9L6ƒºnõÑ×WàêR7Ë!§ÙiÙ—ÓgÎfØhŸÝõòôhÀ›·oé7p0ØÙåå·µ«É“'7Æ%¿ƒÓgÎâÙ³çäÈ‘ƒ å˱~íi¾Â¸¸8¦ÿ{÷ÅÑpü{ˆ(ö®‰½7¤¢(vÅÞ{ÇÞ{Å^c‰½—Ø{ï-ÆÞ%vD©" *0ïËÝRÔÄ$šw><û<ÜÌìîíîÝîìÜÌo'NæÙ󸛕¼yòЯ_<ô ,†¾ôØú3ß™3g3cælåuïžÞôîåmTæSºtîÈà!éQ».©-Sãêê¢ }¿ÿà .b˦_Ðjµ´hÞŒ#G1}æl†ÌÝ»w¤Ü`"IÒ—»yë6C† '""‚×Ô¨]—¢EŠ0kÆ4,,,X³r9S§Ï¤ªgM"õC¶‡ @¡‚iÑ¢}û ÄÁÉ›ttïÚÕhHw¯ú¼yó†v;ñæÍŠ-ÆâŸ(?Ž9œÞ}ú‰m9xÕç¾ñJ«Õ²béÆŽ÷ÁÁÑ…ÔV©iÚ¸1ôñC5&&¬]·žÁC‡ƒ¾WÜŠe‹… úuîØC†âY£66664jÔ ÉÞ¿ŸÃgüXêÖoÈ’eËéÚ¹“:›“§NS¸XIÌÌÌÈž-•ùiöÌDaâ¥T_û3×p€E?Ï‹;Îú0m­Z4gÐÀþêbŸ¤Ñhps[ú8×7oÝdò”©˜hµ´jÑœzuëͯk—N 6’í;v2jÄ0®ß¸™lýïkãéÖ£'=ºu£FõjJhˆ«W¯annNùò !«zTáñ“'´nÛFCew÷D#°¾Ä˜qãqrtTê9Ó¦L¢{ž”+[?¿—œ?‘ØØX4 çÏ_¤TɸÆÌ§ÏžqåÊ5¢¢ÞsæìYÚ¶i$ì·O9|ô¨òœŒ›6+é¥K—âçy?ñóÂÅ8¹ÿˆuóÚevìÜÅ¢… ŒÒílËÑ»—7­Ú¶ãÍ›0lË•eòDЇ ñ™0ž!Æö&.†›[EÀÇxöôU=ª(Ë Hvýwn^ÃÊÊ*î{3n}ú w®Ü,\0sssvíÙ›ìvmÛ¼‘‰S¦òê•? 51X*¬X¶WƒwŸzÏž=cô˜qøë{¼çÏ—Y3¦)=¦ ëmþþþøLšBppææTv¯Äü¹quÊ”ö$I’$}J|7`ÃîÀÕdb0i &S •þ鄿úÉâÒ•ëç äOüàƒ¤\¹z• öŸbY pÜÅñáýä\’rýúu.éCgØ]½úŸ £!IÖé3g;~ÇRgI’$I’$I)ؼe+[¶mgËÆ„f~m,_¹šó.¥‹ëÙ] @~ºwë¢<˜:9 ›4£M«–É6æK’$I’ôï»pñ"ööêä¿$<"‚‹—.Sî3ÛA>zByÛ2¶€x|>ÑS¬Á$TS<åÿÿ\gCeÊ”¡Lü‹ÏÜÉ’ô_vþ ä/@¦Lyóæ K—-ÇÉÑQ]L’$I’$é»qãÆMFŽ£N¦n:tîÔA¬X·~›6oQ'3bøP*8¤Ü;80(ˆŸ-aİ!꬯*kÖ¬ :XœHPp0¾¾¾”,QSSSŽ=ÆÝ»÷°ûÄ%I’$I’þÿégI’Œ]½zAC†ñöí;LµZÜÜ\lH’$I’$Iú´_Ö¯U'ýëråÊõ·†ö$I’$Iú&êI’$I’$I’$I’$I’$Iú3¾‰Îïß¿W'%ésË)t:bLLИ[`ò¥óJ’$I’$I’$I’$I’$I_ä?ÝÃ9&4”@SSB³dVgI’$I’$I’$I’$I’$I_ÙºÁ9âÑcB´Z"üQ%I’$I’$I’$I’$I’$}eÿéç×y­5Eãì¬Î’$I’$I’$I’$I’$I’¾²o"†³šÑëÐà$ÓGŽiôZíÁ¾ý¼×jIS­š:K’$I’$I’$I’$I’$Iúʾ¹Î>>>̘9‹ )“Ðÿ¦Íœ5+Q´¡—W®òôæML ÆÆÞ^ýéà¡Ãtéæ­NþSJ•µãñ“'êä?eøÈÑÌ¿¾ò{ü¯iظ)W®\U'u>“¦°déru2:]Þ½úààT‘*Õª³{Ï^zöî €ßË—/U–˜˜õl’$IÒW°s×nšµl­NþÇÝ»wŸ ήêäÿ+¶¾âï@¥ÊUÑé¢ÔY+Ã:„a½+))Õþ †ûúSukÿ&gç®Ý´íÐIœ¬¯Y¿–$I’$Iú7}“=œ-S§&CÆ”ôßë9)Ñ>°wìXÂM´îÛ4u‘ÿ´.ݼùõÜ9£´¾}zQ¿^]Ò§Oo”þ­±µ-÷UÞãö»hP¿ž:ù»Ö«§7 T'u^õëbii©N`×îÝsöÔqLMM "Göìêb’$IÒ?@§Ó±qÓV®^MÍêÕ:d’×£goN>cT sÇôíÓ ;'t::›%‹àìä„‚#G±hñR4ضe“ºèÊí;wX´x)W¯^#êý{²fÍBó¦MhÓº•º(|A}åö;˜™™Q¸P!2eÊÈÐ!ƒ°´´PýÓ©\ÕS À?üÀÞÝ;¾¨‘R=àŸpøÈQœ+&Mø‚}Íß´“¢ÓéX·~G 22’˜˜¬ÒXQ«FuZµl©é7y‹õ݈eÓæ-lܼ?¿—ØØ¤£C»¶´hÞL)óü¹/SgÌäúõŒ>”Õ¿u½2tÐ@œœY³v+W¯E§Óag[Ÿñc±±±ù¬uS«N}Ž>ÀÍ[·X¼t9÷ï?ÀT«ÅÓ³*Æ ÆÌÌ €s¿gêô¼|ùŠ|?þȨ‘Ã(Q¼ø'×õìùs~š;Ÿ /ñáÃÊ•-ø1£É–-«Ñ{øðá|&qüÄIÐh¨_¯.úõÁÄÄ„ððp~^´„C‡FÞƒ‹[e^¿ý¯Ûœ]¹óûïª%Add$£FÅÙÕ*Õª³fÝz£ÊJž½Y¹jÑ~üÈÇðîÕ?¿—Tõ¬©,+8$„^}úá\±’² Iñ{7ßö»ð¬YGW:wëAPpBúe+VR«N}*VªLíº^œý5᦮ªgMöìÝGÃÆM±sp¢MûŽ<øãz÷íOgWªT«Î¾ý”òÑÑÑLŸ9W÷*¸¸Ufìx¢¢’ZÕ³&¿¿ú}ºlÅJzôì“‹UªUgËÖmêY’ô9Ç+©¡¶?Í›ÏλػïU=kræì¯lÚ¼•Ž»ª‹ÂìsI’$)i?¡]‡Î8º¸R«N}=~l”¿pÁ<¦NžHÖ¬‰{¿™˜×ΜýS3Sœ+åiµZ6lÜDíš5H›Öô=¡×¬ZA™Ò¥TKŽcjjÊò•«pu¯‚«{æÌOll¬’ÿËÆMÔõjˆ£‹+•«z²tù £ù¿%“§M§aƒúôîéM®\¹°´´¤DñâJÃkUÏš\½v6í;RÆÖÿ£úÊ›°0ú „›»Î+Ñ¢u[^¿eêô™;~‚ÉS§SÕ³&‡MâÔé34mÞ 7w*U©Æò•«”÷õ%×z¥¾gWï5<¶¨êoß½¥cç®8Å×ËNVò ë;wífôØñ¬\µ·ÊŒ;^YÞ¾ýhÒ¬%œ]iШ)×®_W–‘ÒvÅ yÍŒY³iÕ¦=666h4ÚwìLPPÍ[µ¦ªgMÕ MMMÙ²u;U=kâìêÎÐá# ‡$Bn$wì†ÁÔi3pu¯‚SÅJŒ›à£|~£££2l„²üÖmÛóâÅ eýÃGŒ¦K§Ž4mܘ >“¨ëÕú 3aâ$† LæÌ™Ù½gŸR>^ll,ƒ‡gàà¡ÄÆÆ~²~ý%uÄ?2mÆ,\Ý«àèâJûŽ]xü8!4GRûA§‹bÔ˜q¸¸UÆÃ³kÖ®£^ƒF<~ò„Ô©S“*U*šµhÅœ¹ó 3ZßßÍÊÊŠ±£GR¼X1´Z-%K– ož¹®x;vìÂKß‘©oïžTªä†……™3e¢‚ƒ=Ož<àø‰S*XÊî•Ðh4Ô©] ›ô6œýõÜ'×U§v-Z¶h†MºtXXXPգв\µ}Ð¥sGÒ¦µÆÆÆ†íÛ±k×n *ÄÁÉ™#&&&ÔªU“°·o yýZ½‚ƒCÈœ%³Ñ9ÃÄ$®‰ÀÏÏ»wïÑ£[7´Z-E ¢F¸z’$I’ô)ßuƒó‚…‹(^ª,ÅK•Žb%Fx÷æþÛä-[†ž7:Ãç ¿ûäæZϪJ{øÈÑtlß6É^-sç-àÑ“'ìÛ³“ý{vñôéS"##ÕÅR´výìÏÙÓ'èå݃þƒ†ðòÕ+u±Dzõé ÇàÈÁý´l7ä,c† têО£‡ö³Ï.nÞºÅÁC‡)P ?#† %GŽì9´ŸukVзß@²eËÆé“ÇX½b‹/åÌÙ_Uk‹óòÕ+®\¹ÊÎm[8qô0K—%Ä2,[¦ kW¯äÌÉã4oÖ” 'Ì ›·leåòeœ>q”èèhšµhM³¦M8ÿëiúõéÍØñ>ÊÐÏ‹síúuöìÚÁ‘ƒûyøð?/\l´¼ä,[¾’n]:sîì)&NÏ„‰“ I\‘üZúôêIÝ:µ©[§6Gí§¢‹³ºˆ‘/Ùç’$I’±ØØXúH¾|?pêøQV,[®Ý{ŒÊÄ7´Ä&ÏÖÐÊÕkhÕ¢…:€ððp¶ïØIË–Í•4eÙȆ^¿å¥ßKŽ>ÈÆ ëØà ;vîRòóçÏÇœY3øíìi–.ZÈò«¸uë¶Ñ2¾¯_‡r÷î=ê×5R®6fÜx¼»wã×Ó'ìÙ°!®gàñ£‡8sê8Ç&C†ô 4€"E 3lÈ ŽÚOµªFóäΕ‹I>ã9uâ(‹Ìã§¹óyõÊ_Éÿ»®õbäˆaœ;s’¡ƒ2`Уõ:vüOŸ=c÷Žm :XI_¹z óçÎæ·³§ð¨R™ñ&)y)mWPp0S§Í ›wOòåËÇÎí[hß® ¦¦¦,]¼€_Ö­åÈ¡ý‰ö5ú†Øç¾¾Ü¿‡#÷òú5³æü¤.¦HêØíÝ€|ù~äÄÑÃìܶ™'Nqìø ÐökÕ¬Áž]Û9}â(™3gfñ’e<øãÞ½{‹gµªÌ˜5›,Y²°{Ç6¦Lòáå˸zm­š5¸p!¡q?Þ„‰“gÊ$LLL>Y¿þ’:âü ¹vý:;¶ná×Ó')ogKçnݨÕûaÁÂ…<{öŒ{wq`ïnü^¾äáÃG ÿÁ¢KçŽìܶ…lY³Ð®CgfÍþ‰ÐиŽ*ÿ´×¯Cyöü9¥JÅÀ8wþ<ÖÖihݶ=UªU§GÏÞF÷:ŽC‡àU?î{ýôéSòç˧ä§OŸžŒ2ðH¿½†ÔëB? ":&ûòvFeѹzí:¶åÊðäÉ ÈoT¦p¡BÜðÀ(dÖeèÊ•«”-[FLTT¯^ù­§P¡‚üñðQ¢žÞè—“#{v²%ñãdxxׯߠb¥Ê8W¬DÏÞ}ñõûåñ“§äÌ‘Ã(DMáB¹ÿàƒ%H’$IRÒ¾ëgC(aWŽÞS&3rý:Òg˦.òeáâ%J¯#W÷*üþû]uèÏ£GéÚ£'&&:vHè=bèðÑ£t騛té077§{·¤{´¦Ä£Je (€F£¡ZU *Èé$bKzúìwïÝcðÀþ¤I“†´i­É™#iÒ¤ÁÁ¾WûWü™}.I’$%xîëË£GéÓ»©R¥"kÖ,4jØ@] ô )¹}ç>J6îæ–­Û)Sºù~üQ•â²{õòÆÌ̌ٳӸ¡—Ñ9Þ¾|yeyùóç£l™Ò‰zh âÐr挫_$§IãF8Ø—ÇÊÊ*QOÊÜyrsãæMNž:‚Å‹å§$_¾ÉŸ?®!¬H‘ÂdΜ‰—/_*ù×µ¾JåÊüøÃ8;9Q´HNNèålH£Ñ0jÄ02dH…EBÃS‹æÍÈ’% †êžÕŒŽorÛAZuñ`íª4¨_O Óõ%ÚµmV«%uêÔth×–ÃG’¯_$uì²eËJãF ÑjµdÉ’[ÛrFu=׊.XXX Õjqqqæ…_Ü1¹~ý&ú‡‘_»vºujƒ¾—{êÔ©!‰ž¶Z~š7ŸÇOž2{ætåÇœOÕ¯¿¤Ž¸k÷ºvîDÆŒ011¡{·.DE½çü…‹Jõ~8pð]:wÂÚÚ333ºwíb´Lsssš5mÂúµ«øãáCjÔ®Gtt´ºØß*&&†a#FÒ®mkå3ëïÀoç/0îØGîܹ4x˜2Ï¡ÃG(^¬(9sæ R§SŽO<ËÔ–D¨:Ð$µ.€m;vâU¿n¢c‹¾·µ¥¥%õëÅ5nGêt‰b [XX$Š™ŸÜºâ]¾|…1h`u–òC‚¥Á÷1µ¥%111DE½7(7âpÒ”©Œ;Zé¹l¨~½:ìß³“Ó'ޱï.2eÊD×îÞÄÆÆ¢Óé°L­ÚKKtº/ëx$I’$ýú®c8{wïÆÈ‘#ÕÉжu+š6m¬¼¶I—ŽÿmiiA«–Í™0q2 æÎI²‚~¨Uö †Ëœ)“2D39êT›téŒ^gÏ–À  £4µàÒXY%ª ܼu›•«Vãïï^¼ð£Eî¦êb ËP»^B<ïèÑ8;;”2f8<ÙÌÔ”úÊuLL K—­àì¯çˆ‰‰æctt¢m͘!ƒòªT©Œ^ÇßTÅ//((˜£Æ`j·?cbbI•*•R>%ÙT?ª˜ššýé›õ6üUfŸK’$I ^¿ÅÊÊÊ(~êŸ}Hëê5ëhÔ°A’R‹‰‰a݆ Œ3Z•" £k{–,YŒÂO>r”_6næÍ›7˜˜hð{ù *••üoEüÃ肃CH§ª«ÊŸDc|¼:µjb“.ËV¬dòÔitëÒ9ÙÔö8Èö;‰ˆˆ@è{¬HèUþ5¯õ†Ôqy³dÉL€þÚ­–'Oî$‚—-KBïcSSSeô)l—••»vleÃ/›ðjÔ„j4iÒHéPð¹ÒZÇ…~È’93¡¡¡Éî—¤Ž]ƒ÷޾®ÿþƒ‚ƒY´h wîÞE„¾y£Ô ÃÃÕziŽÙyøð!E âÈ‘£è¢t!8pðŽúŽ÷ï?àÞ½û”.]ʨŽ÷©úõ—Ô_‡†õ^Õh4äÊ™“×!Ôû!((˜,YÒncc“¨~ÿü¹/›·nåĉSTõ¨Â¸1£’ü,ü]bbb8x(™2e»{7%ÝÄĄݻ)ßÙNÚS©J5"""°²²bÛö4i’p”:uêD£3u‘:£sXr늈ˆàè±ãìÞ‘8œÍšuë9rìË—.Vî£ÒXYñF‚$**ŠÜ¹s)¯“[W¼«×®3dø~ž?—L3ª³•Ï .*J‰u©Ó‘*U*£ó|pH:u¡G·®Jç5FCæÌqŸƒtéÒ1dÐ@ìyúìVV©ÑE7”Gét¤M›ü¹R’$I’âýs5é•:uê$+(†BCCY¸h -[4cƬ9888$y3š1cFƒ”Þ¼}ûÎè¦ÂÄÄ„˜Ø„×aoß&Š1`ôÚ÷Å Ê釞%'}†ô„½}Ë۷’èŸÊܹkw† €Wýzh4 IèÕ î|)s\þÈÁý‰”‘œäßW¬\ÅÑãÇY²ðg2dHÏ“§O©]×˨LR½’“1cF¦Lò¡‚C\o™/a¢Óø¥>çxýUfŸK’$I 2gÊDddd\3}o¹øç.| ÿŽ?Áþ= á. µ]9sä`Ѐ~ôìÑ]»÷ÐÝ»¹rædÞO³SÜ_†‚‚‚È•+®/ kkëdB“zŸÉmúÖÙ³ecõŠe˜››³yË6öˆ{þFÖ¬Y8¯…=dÐ@|&Mf݆_hټٲg£yËÖ8:V0M)s&Ö¬ZA«ÖíX¾rô# ?U¿þ’:bΜ9xáç§ìoôñ¬s4ä«÷Cüú ,ªõëtQôé7€   Z¶hƶ-z·ÿ>|ø@ÿƒÉ!cG4ª›çÉ[-ðþý{LLL033ãé³g<|ôˆª?p,PÀ¨þ›7oxª|†R=I . IDATZ×þ)]ºÙ²‡£Xºl9ÇŽŸ`ÅÒÅF?Vå/ŸM›¶•}ðàå·”ÖðÛù Œ3Žysf'û`¾T©R‘'On>|¤œw<øƒ¼yò(e^½ò§K·thßN -ò9„ˆE¥…% ÀïåKtº(åñÁÉ›7a=’$I’”œäk[ÒÞÈ1ã¨Y£:Ç¡P¡‚LŸ9S]€ª•Y¶b%oß¾ããÇ,^Ç.^îܹ¹zõšçqÇŽFù§ÏœåÞý¸ØeâáÃG¸«ž˜®–ïÇ)\¨óüLTTQQQ—$Iú¤Ñh˜9}*cÇùàìêN¶¬YiÛ¦5;wíVÊlÜ´™_6m&((®ÎôÛ… 4làE›V-A?|ë¶í,úyž2¡Ë—¯ðÜ÷9õêÖQgqëöFŽCDD¯_‡R¯A#Š.ÌÔÉ(Y¢8™2f¢Jµê4ðò¢¾~9¶åÊáZÑ…Zuë£Õj©QÝó› §Ͻ’ æÍaɲ,[¾’÷ïß“9S&@ž<¹ÕŹÿ>Þ½zóáìÓXãæZ7׊têØž‘£Æ²s×n†lô°Jn®œ>s†Zu½È”1#eË–þäy¿–þ}û0sÖnݾC¦L™:y¢Ñÿ¿âK·K£Ñå÷ëÓ‹±ã}ã&°vuÜß +V”bÅŠâY³‘‘‘TtqfÐÀêbÚ°¡ƒñ™4™-Û¶‘.mZjT÷dÿÁ¸Fç´i­é×§]ºö`ÐÀþØ—·C«ÕÊé3g©ààäƒ ,ÈÀþý0hÛ·lúdý:¥:¢ºnס][ÞG½§q³DE½§hÑ",\0/Ù½{yë×_›téhÛ¦•ÒHkiicõ,ÿ˜£Çsî·ó ¿g‰W²d 6®_K“Æxûö­ÛµçíÛw8Ø—güØ1ÄÄİk÷æÍc°4(W¶ Þ=ºÑ¾SgÂÂÞR¶Li&Œ ŸX×Äñãð}îK•ÊîJz`` òÉJ•ã~d‹wõÒy¬¬¬˜?w6>'3pÈPråÌÅÜ9³077gϾýÉ®kãúµL1ÿšµhe°TX¼p.ª°t:¶'(8Ïšu"ÏjÕhÛ:n¾e+VòâÅ FŒÈQcæéО~}{sïÞ=q?æ0eÚ BB‚I•ÊœJn®Ì™5]™gò$FŽƒ£‹VVVôôîNÉ’%”|I’$IJN|wÃn-Õdb0i &S `˜ë'‹KW®Ÿ+?q¬´¤\¹z• ö˜ªâ…ùøø½^°pT¼âÉøÍ߇á#G“={6zy÷PgI’$I’$IÒwåæ­Ûløe#wïÝãã‡XXXP²d úõé…ºøwA§‹¢|'Ž>˜l£¹$I’$I_ßõ7”‡-á\¼t™reSeïá£'”·-c è€÷Àà#m0ÅLB5ÅSþÿ&{8«’Ù÷ °:]ú~$7$R’$I’$I’¾'¥J– TIã2ß›{÷îcnaNÞéæ­Ûx5lB[{ìœøíüu‘ÿKö;õê•?N.nètQꬿ•áùéSõ‡±ã}X¸h‰:ù_c¸¯ã¯%111êbð/î_I’$I’$ÉØ7×à `™:52fNq²´´RÏ&}%Ù²Áœ9:uÜëà`ؽ[]*Al,,X%J@š47/ÌŸ¯.eìþ}(U Úµ3Nÿ:v„Œ!sf80nù)iß±  ã÷ß荒ؾc' còÔéê,épëömîÝ¿¯NNÄÕ½ ááá¼~ýšº^ ò„ü¼p1…‹•ä…ŸŸ’Τ)Ó¨X©2%Ë”£N=/.^¼¤Ì³uÛêÔó¢t¹ò8:»2bÔÞ¿o°äÛwì 00ˆ‹¿eûÖMêìïÖÁC‡ W'ÿ«ª×ªÃÙ³¿0fÜxFÎÍk—iÚ¤1ƒ  @üêY¾ýúö¡páÂêä¿Ý–mÛÕI‰ØÙÙÒ¥sGu²ôûðá -ÁÝÓ¢%JS¹ª'»vï1*ÎÄISpu¯B‰ÒåŒHK–±¥@áb‰¦3gÏ-cúŒ™”*U’+ã×Ó'°³-€N§cÙò•Tp®ˆÏÄÉFóÜð€&ÍZR¼TYÜÜ=ض}‡ºÈ7åÖíÛtíîmù /U–*Õª³rÕju1Åç~§Ô׹̙31rÄ0,--ŒÊýþþ‰ŽcüT­z-øÂóS£†^T«æ¡NþǨ¯MŸ»¯ù›öoRt:‹/Á«a;{GÊWpfòÔéĪnšŽŸ8‰½cŠçßK—.Ó¶}GåGźðâÅ """˜ýÓ\*U®J[{*U®Êª5kÕ‹$I’¤$}“ ÎÒ¿ËÌ š4Ix½eKÊ Îpó&¬^ aa°y3  ’éµiT­ ?ü Î1càÉxôîÞ…Ó§aî\u©ÄJ—*Éæ­ÛÔÉlÞ²•"Ÿyƒ%ýó–.[ÁýûÔÉFž={N†ôH“& /]ÆÞÎNÉ{FûN]¸ÿàZ­Öh¾~~ˆØX~Y¿–W/Ó¤q#º{÷âýû÷h4‚ƒƒ˜<ɇëW.r`ßn~ÿý.Ë–¯4ZF¼gÏ})Uªfff˜››«³¿K111Œ÷™Dxx„:ë_sýú """prr$""‚ר–‹kÜÒh4T©ìޕշûcce÷J¤Mk­Nþ[=zü˜E‹?Ý1KæÌ8VpP'Kß1""#ùiöL®^ºÀˆaC2l~/_‚¾a£C§®¼ò÷gÃÚÕܾq•%‹(ó_¿r‘û¿ßR¦ãG‘&MJ—*m° ÂɱZ­sssÌÌÌèîÝ‹»÷îá`ooTýù¥»w/*Vtæü¯§éÝË›¡ÃGòèÑcuÑoÂ¥K—iÞ² … bçö-\¾pŽ9³fP¾|ÂõFís¿Sê뜩©)5kT7*óWeË–U9ŽÛ6o$UªTÊëûâ*pêó“‰&ù[€Å‹“?_>uòßæõë×LŸ1‹?&ymJj_k’yŠôß±Õ‚‚ƒiÒ¼%h4¬Z¹ŒCörôðV,]ÂËW¯hß±s²=°¥Ï·oÿÚ¶ïHÎ\9ÕYܽw¯†MR¬“Ö)Μ=Ë’¥ËY·f%;K–,™6b”R6¥uÅÛ¾c'•ݱ¶¶æÂÅËtîОó¿žfÿ¾Ý\º|…ú¨Þ¼yƒw¯> è×—W/ѶM+ºtíÁû÷ïÑétÜ»ÿ€éS'sýÊEæÍ™ÍÔé3•Ñ[ׯߠ¼Gíçâog±±±aĨѪwç§¹óñ}áÇñ£‡9|`/—.]bõÚu ïX1uú fÍþ‰9s¨g5òÒߟ¶­[qùÂ9~;{Š9r0|dÜ:cccÑšhÙ°n ׯ\dñ¢Ìùi—¯\U/F’$I’I¾¶)}×î߇Š!mZ(Zöì‰ë¹ïØ1(YÒ§˜1š5‹Ë{ú4ˆŽ†_~‘#ã‰ø!®Ç±šµ5,^ ¶¶ Õ‚ƒ,÷î©KƱ¶†“'!‰{T~ù†È”)®ázÕ*u©ÄjT¯ÎÞ}ûz¨>züÿÊ–5¾y¾ví: 5Á¶|jÖ®g¦ÀÍ݃ËW®Ò¼UŠ–(Í«WþètQ 1 {G\Ý«°rÕjjԮˣÇq7ÎÑÑÑLž: αwtaäè±DE%=”ÓÍ݃í;vR§žåÊ;Тu[e9è{œÅ÷‚@ß3ª¬Ý§ohÕ’ÚŽ à`ºõ艽#+Ufåê5Fó,øyœ+b[¾cÆM`Ĩ1lø%®7ï²å+éܵ»QùÎ]»-c˶í¸{xbgïH›v”ÞÆoÂÂèÙ»/ŽÎ®ØÙ;Ò¸Y BB^3qòTŽ=†Ï¤)¸¹{pðÐaƒ¥Çõò¨V½Í[¶Æ××—jÕk1bähöcý/üühÓ®vöŽÔ¨]—}ûPÁ¹¢’/ý3ÂÃÃ>r4vNTp®È°£ˆÔÇ»255e`ÿ¾”*YKK ªTv'•~/âν'Nž"44”¹sf‘+W.¥±@«ÕMk×o ^Ú¤MkM`Pž5jcïèÂã'OèÓoÅJ–1ú ,[²ˆ™Ó§’Ͱr¡wýÆ ¢¢ÞÓ³Gw¬­­Ù¾cyòäfûŽê¢ß„ “&Ó¤qCú÷íCîܹ±´´¤d‰”(^’¹¦~§’;/$uS‡„øÔ¹{ñÒetîÚÛò¨X©27mVò ÅGm\ÕÞðØ’DX¦·ïÞÆ}Çœð¬Y›ã'N*y†!7’;Ÿê’ÒvÅ aÊ´é4mÞŠôéÓ£Ñh]›üý¿LMMÙ¸i nàÌÀÁC•Ñêý›Ü±0p0'M¡‚sEìœ5f¬Ò;4::šƒ†(ËoÖ¢¾¾¾ÊúNn]iѬ£ÇŒ£z­:Ô¬]O•“%KvìŒkèÿTýéÎßiÒ¬%N.Ø;º0`à`¥Ü—ÖW“ºN$åSÇ.00={S®¼vN 6¨n’ÔºÿVVVlX»šÒ%Kª³07OŘÑ#iÞ¬©:K_§011a÷ž}4nÜø333úõéÍñ'yŸXW¼­[·Ó¨QÜ(»ýûR¹²;dÉœ'Ç <~ü€£ÇNP¤pa<ªTF£ÑP¿^]lÒÛpúÌY¬¬¬ð?–Å‹£Õj)]º?äÍ«Ü Ô¯W—6­[b“.T÷¬¦,WmϾ}tïÖ…´i­IŸ>=]:wb»¾'³F£!¾ülÙ´›téÔ³©W§6•+»cjjŠ™™•Ý+)ÇÔÚÚšÞ½¼É‘#;… ⇼yyõê•j)’$I’”<Ádhõ4ÌKÀ H ¤2Ù€<@~ Pp¼tåº}öYÓÑã'DxD„04vìX‘>c&‘¿Pѧ 3•+Z°ˆèÒ´™8´e«øøáƒÑ2ÿëô?dMÅŠ!úöE¼ð÷G88 ²fË D¤IƒØ¶-îõ­[ˆL™M›Æ½~òˆã^‚èØ1ñ:’›––ˆ{÷çN& Ú¶Mx·Þ—/ÒîßGhµˆØØ¸×qÛj¬]‡Îbçî=¢m‡Nbçî=JúÄÉSÅü Ű£Ä¤)Ó„B„„„ˆrvbï¾ýB!9*J•µÁÁ!B!\+UÕjÔç~;/ÂÃÃEll¬˜#œ]+‰‹—.åÅ›à3IŒ7Ay½uÛvaçà$†-‚ƒC„N§AAÁ¢Œ­½Ø¹k·ˆ‰‰/üü„‹›»X»n½2OÂÅ㇄B:|D,R\tîÖC„‡‡‹ððpQ׫¡X¼t™²C®•ªˆ†Mš‰ÐÐP!„óü,ªU¯¥ä?|øHüñÇC!„¿ÿ~W*ZBøù½BÿY)_ÁYløe“x÷îøðáƒˆŠŠù ¯^ù+ó”(]N|üøQýñ­Y»žò~®]».ìœDLLŒ8uúŒ°sp·nßBqúÌQ¼TYñûÝ{B$³|_¼ù B±s÷áîQMøûÇ­[!"##Eérå…¯¯¯Bˆ°°·"¡¢âõë×J'qéò!ôŸY×JUDxx¸˜>c–hס³ˆUÊÆ‹ŽŽœ*Š3gÎ*iý 'OBˆ¿Ií·”>φßÏiÓgІMš‰  `#~š;_¸¸¹ N§”­S¿ð÷÷±±±â§¹óEÍÚõ”eúðáƒ(R¼”²CBBÄóçÏ…Bœ:}F¸{T3*ŸÔûÞºm»hÒ¬¥RæSë÷jØXLœÔÛÕ×&¡ñû:~ÿMš2MDGG‹ˆˆѶC'1jÌX£üøý›Ü±+P¸˜øeã&-üýý…£³«8xè°²Î'O N'¢££EÏÞ}ÅÐa#„BÜ»_©ß 1J¹–üþû]Q¿AceÞþ ñõ§æ­Úˆ•«×¡¯Ü»_ˆ?Q_}ÿþ}²× µO»›ŠÑcƉ¨¨(!:tê"¼{õ1š_½OÿNó,ƒ† S' !„¸tùŠp­TEœ¨NÑ Q±{Ï^£2ŽÎ®ââÅKFiÉ­ëâÅK­rÕ$·5666î³¼e«Bˆ©Ófˆ£Æ•éÛ ˜;QšÐŸŠ—*«|Õ|&NýV' N'ò**•´ÇOžˆBEK$z­Û¶[·m7JKJtt´¸wÿ¾¨ß q’uÑ7aabÍÚuÂÍÝC„„Ä}%I’¤¯ãü… ꤿì]x¸8vâd¢vØä¦KW®  PÈä²tú6aK}±™¾ÍX«oC6lSVügz8k€[—®0kÐ`Æ4nÊkýÒÿG÷îÅ…£7R¥‚¬Y¡OŸ„ü={ xqhÐ îu‰Ð4ù_$:Ú¶…àK#YDèGOŽ˜·²‚˜ÐéÒ’$x±eK\X?²{Ï5ôBè{˜;~‚œ¹rR«f ªzT!cÆ œ=wN)Ó¼YS+8`ee…F£aßþtïÖkkkÌÌÌèÙø§Êö;éÖ¥3éÒ¦ÅÒÒ‚Í›rèÈ£2†Z¶h† fffôïۛǟðäÉSu±¿Ìp;|}_põÚ5úõéV«%wîÜTõ¨Â¡ÃqïóÐá#Ô¯W‚  Õjñª_òæU/2YÛwìÄ«~= ÈF£¡C»¶Ü¸y‹€€òþ—ë7npüÄI„”,QB={Šnß¹CáÂ…ˆÅ×÷yòäVù¤ à`ÆûLd¢ÏxLLN{Ýzô¤t¹òt÷îE«Í)W¶ŒÑ|)Ñh4Œ3ŠŒ3`aaÁÑcÇÈ›'õêÖÁÄÄ„œ9rÐ¥SG¶nKˆ›—'Onª{VÀ£Je´Z-mZ¶ÀÊÊ +++œyúô™ÁZŒ5iÔjxzòôYBÙüùó)ñ‹-B–,™ñ3ˆim[®,Í›5!Mš4F½ã)R+«Ôܸy“ÈÈH.^ºŒwn?~€ßÎ_ÀÅÙ vìÜE¯úJᅧ..Trse箄Ø;êýƒ>À©Óg˜9k6«W,#kÖ¬JùýR²Dq¥'æ§Ô¬QòåíèîÝ‹­Û·3uÊÄ$‡XkµZêÕ«ÃN}l[NÇ‘£ÇhÔЋçÏ}Sü^Ä~ûÜÏóŽ»èÑ­+™2eÄÄÄ„^={" IDATõ^é• ÐºUK²fÍŠF£¡VÍ<|ôÈhñ´Z-¹såbÝú ¼|ùŠ 2;wÊßõûNJrë÷õõåÎïwéÛ»'Z­Ú·k£ž]ú›…††räè1F ––tíÒ‰ý•«^«ÅK•eéòÌ= KKKÐ÷RüõÜothß–“Ç0e¢£ÇŒãÎßæظi åÊ–ùSa ¯±ñ"u:¬­­ aæì9Lš0kkëD1S¿ñï)ç'†«ë†>÷¼”O»«Tv§L™¸‘ZNް±IdzçÉ_'>WUòýø#èÏáÅ‹ãÄÉ„^Ά’:Ÿ“Â9„¶+""‚*U«óÊߟMÖѸaƒdÏQ)騡Z­–Ô©SÓ¹cJ¾Þ•Ա˞=Íš6A«Õ’5kVììlF¡TrsÅ­V‹«kE|õ#®^½Žc… \¹r¯úõ}óF ù¤þ|¤äÇ~ààÁCܼu *¢¾jjjúE׉äŽÝ“§O¹yóƒöÇÜܜԩS3dð@9jÔË9©}ú-Q×)"u:RÇ?œFÏ2µ%Ÿù„ô-Û¶Ó¨¡W’ÛúóÂŤNš† ¼@¿®øóp}zeˆj|þa#05K‹‰‰%UªTJ¾Z|ƒ!ú ¨µµ5I> -66ñüç2ÜŽ€€ªÕ¨©¤}üð‘Š]@?±\Ù²Jú˜)1|0I@@ GgÏÞ½Jš¥¥%o¨W§66éÒ±xé2&Lœ„w÷n4mÒX)—œIS¦qòä)ž=N¯ÞýøMdd$ž5jS¥Š;C%ß% AÁÁ´nÛž^Þ=pqv2Ê[ôó|bbbxñÂÉS§1hÈ0f͘fT&9yóæÁÔ4áò:Ñ>Ë•+Á! _¬ŒÎG&&&˜šš’ÑàejfšâƲgOºnjjj&bï¾ýlÙº-nX±FCHÈkbEÂ1ÊŸ?ñçËF£ÁÙÑ‘óç/LéR%©RÙá#GÊù ¨W·!!!”*e<ì4W®œ%l«zÿ _ǘ±ã‰Å:þ ¯·eë6š7×ÇõùLݺt¦z­:thߎ,™3ƒ>þa£¦ÍA?ôÚå 4jЀ›¢ÓEqøè1 äÏO¡‚•$É}/Hb¿}îç9äõk²„Ðh4äÊ™“}H€ìç'Ãã™Ô6lÞ´%K–Q¿acÊÛÙ2jÄðDŸ7Cê÷”äÖ„uš4F7ç™3gRþ—þAÁÁÿcï®Ã¢ÊÞŽPDTPÂÛµÅQ±»[×5w×µ»k]×\»»»»ÅÂîÖ5WB@‰¡†ùý1pe®À°º»Æïý<Ï}Î{n̽ã;çžûôz=­Û¾oì×ëõhµáDGG+ÿ¿V._Jhh(×oܤÛ?1kÆt\]K£×ëiX¿žrn/Pà;ÜÝ+áuæ … T–©ÓéX±jÆUÊ>Uúôé cìø ´hÞŒ¼yópçîÝa¾éÓ§‡Øôñ¿ŸÕÔ×ñ%÷¼SçnuÊ ‹I~O$—Mü‹DÀÑÑ×±× j ÏIâBïËÚÚš}{v²jõZêÔoHÍêÕiÕªÙÔ¦&ÄßþŒŽŽ$º_:vêëÃï¿}ýü˜3g7oß½žÀ  å8„„„( ËY³fáþýûø.?D®E¯×³gï>Ê«®7â‹ý4vôHÖ­ß@ß~H—.-C¢t©’ûzÕÌÌìo}O$vìÞ¼ Mš4¤I“F‰gÏ–˜˜ƒ”ïî„öé—D}MammýAƒ¯6Lk2ݱç8xˆý{ŒeX¶b%ûdÕŠeJ‡†4ÖÖJªŽ8Z­Ö¨Ã„N§£WŸ~888ЫçÏFu.^ºL¿ƒX´`ö~ÿÆ}ôZåX…iµ¤L™ò£ÌìüÃ÷üЩ#þoÞ°nÝ5iν»”ß3ÏŸ!<<œ{÷ÐÀ ’}ŽBñÿëëǯ” ªU¥Œ{%–õÈ­M›ØÔ­;ßoÚhHHü$sfÃà}!!w½¯³ 3ÿMl#ubÔ»oð`Ã_D„a AGGC>çxH“ÍÒòä[· ïàÆ C>èäH™2%uëÔfÓ–­\½zöíÞçû‹ãèà@Ñ"…Y¿Ö0¨FB4ª···ÇÇÇWéuòî]°Ñ*{{{¦üþåÊz¼˜ò:^žà‚‚‚”žæææÄèÞÿ‰_÷ïŠÿ>077çÄÑà °âèàÀkãuùøø*¯ÍÍÍ>È‘üúõû¦ŽŽtìÐŽ>½~1ªǽREÜ+UäÆÍ›têÜ gg'ʸ¹%ØS$ÎÐÁéÔ±]{üÈÎm[Ø»o?çÏ{3fô‡ù€óê•aðž. iCÏ5sssœhݪ%©>ØIP¸”-{6öí?`TöêÕ+£ÑI½ßä0331Ε+W:|$Ö®¦@ï([¾’Q33ãu'´-åË—cÛö<{þœÕ=±´´¤Œ›+‡áÒå+Lþý7ˆmHÁ<ÎË—¯È•ë}õþ!öÖÆõk˜4y*ýfÑ‚yh4žüù'÷< †gâ#Í«éõzÆŽŸ@ófMÙºm;Íš4&oÞ</^Œ‡÷Œ{pæÉ“›<¹sqäèQvïÞ£|Lý¿ ýFŸçø²eËÊó/”ãðòÕ+²Æÿ<$r¢Lè=ØÚØ0p@?zýò3¿NœDŸþX·zåçç8 m·Zbë··³ç]p0Zm¸òÃ5 àËë™ú­ËšÅÐãvÿÞÝI6Š8:8€ƒ9säàØ±ã9vW×ÒdÏž __ã/÷¨¨¨nˆîÝ·«TVT¬PÞ¨üSäΕ“³çΑ9Sf¦Äž7nܼEž'‰}bê}eËš•!ƒÐû—ŸÙºm;»v'{¶lÌŸ;;ÉýŸ¯¯¯Òƒ÷õëפM›6ÁFqÙÎÄÞ±9¬³dÎÌÚU+°´´dÝúìÚ³boÆŸ‰Í¥xipBaÊ—{µð‘,R¤àû)¿“·Hþ:yŠ{[ )þŸäÎmpäHˆŠ24>/‰7VK:††Ü]±7ê>4 ˜{{¸yÓ°¬x2aaP¯ž¡góô醿CBÞ§Á8v ºw‡žºý@ÇŽ†Ôoß›7†Á Û~Ønœ¨¦M±víz>zŒGewu˜jU«òàÁC6oÙFtt4:Ž;wî*¦%¤Vê,\´„t:ó,4Š7iÜéÌ|?H^P÷î¿‘^mÃÆM¢Óé˜2m9œù.¿¡1ÛÉ);ç¼½!¶qnGl€O•ÃÙ™¢EŠ0aâo„„„ ×ëyñò%¯^ý¨^Ý“­Û¶óð¡á‘Ê£G¥kprrâλÊã”×®]7zt¶q£†¬[¿‘+W®¢×ë WFܾs÷žòÈrgglml”Ñç3¤OÏ­Ûw@Õã'ÎÇÉÛ@qÿþòåKæÝàéÓg´iß‘®]~ v­„……FTTAoßrâä)Bcó¸øúú²rÕj\Š'?¥†Z•Êî¼yó†» ½¼ÿúë5+W¯Q±ü7ùøú’.]Zòæ5ì«'Oágâ‘…”)SbmmÍíÛ††M½^O… å¹qóç½/P­jˆ}œ{ɲåäpvV~Ô4kÒ˜]»÷rçî=.\¼Ä)¯ÓÔ¯W7Þæèèȸ1£xöì¹2ˆÔæÍ[©[§¶Ñ£Ú¦,]¶œààÆEŸ^=éÛQQQêjŠ&M³}ÇN¼/\¤nÝ:Œÿ Iêó_³¦MX´d)ÄÄİlù Ò¤±¦TÉêª&EEEqùÊt:–––äÏŸ_ +}úôøùùáïÿ&ÁÿCÃÉ);ùóçcöœ¹èt:BBBX;ò½øïX[[S¿^]†…olã``` /÷zñò%§¼¼ ,,ŒsçÏãuú   iãÆìÙ»ã'N¢×ë¹xé2§¼NS)^~€¥ËVС}Ûd7ô%GáB†GÙ]]K£ ÇËë4[¶n¥A2ΟÃÀþýX´x)ó.Â××­6œ?Ÿ>åéÓgêª Jê¼Ô÷ÜÇœ»ÿ)GŽãæ­[èõzŽ;έ[·©êá¡®öQ’û¾¬¬¬hÓºûvï¤m›ÖÈwSBæ-XDDDÁÁÁ,X´˜š±yÿ__ *„¥¥%Zm8»÷ìUbî•*qÒë4~þþä΋U+–±eãz6¨O÷®]غy#ýúôVM]?]º|™ððp4 E F§Óþ·¯W“úž8wþ<#FNt_Æ—1cF*V¨ÀŒ?f‰V«eÖœ¹Ô­S;ÁÔ'+W­aÅJÃ÷ãG0hïÞÞëø 9~â¤jŽ_B×5dóæ­<}úŒèèhfÌœMùre±³3bÓ–­4k›‡0Ö´pèðæÏ›CÊ”)•kL€jUêZ‰+\¨™3gÂÝÝÝ(íE;» ,_¶˜_û±ã'`aaNþüù™7gV¢úöíÓ‹1ã&Pų&¶66tú¾ƒÑE¬áQ¸Ù´hÕ–wïÞ‘!}zºví¬ôˆV«Z¥ í:tâÅË—ä΋¹sf*?ôGƸñÙµk©¬RѨaÎ?¯^ÄG™;{&&þF%ªèt1dËš•±cF’%KfjT÷äÉ“'tèÔ™ˆˆêÔ®…›kie^ÊîT«V…¦Í[aeeEŽÎÔÍ+P¡|9† Äá#xùòVVVT­âA±bE¹sç]»÷ 22’´iÒâQÙ]¹ЭkgÎÖmÛ1lˆ’²!ÎÃÇÉ›jäþƒ”/WÖ(ž”‹óüùs Æ !Ôòn]:óC§Ž¬X¹Š~ýAë4Tv¯Ä òä%WÚ´iYºx!cÇO`Üø_I›6-­[¶ ©êGÊ¿¡ŠGeŽŸ8gÍ:8ØÛS¢DqÜ+½ 71úõaøÈÑèGŒbýÚÕ8;;‘%sf¬R[)W®ìÎÐá#ù¡SGe>—âŒ9œÞ}ûñÆÿ ™³dfÆ´)ÉÎÿš:ujþ˜1­ÚPÂ¥8Û¶ï`þ¼9êj‰ºwÿ>sæÍgÓ†u˜››ÓºUK>Âä©Ó:x º:õêÔá׉“¨VµŠÑ£ØIý¿HHRŸçøºüЉpm8 ›4#<<‚‚ °xáüz—&‡N§cò”iöÜýOØ¿“~ŸÂµë7pp°gÚ”ß?jŒ„„üÝ÷¥ÑhŒâêï&µB… R¨PA<ªÕ 44÷J2xºÚG1|(£ÇŽcýÆØÚØP§v-vï54:§K—–þ}{ó}§. <2n®˜››Àñ')W¶¬Q S×O»÷ì£ÇO¿`aa­ ãÇŽQR»üëÕ¤¾'^¾|ŹsÞÄÄÄ$xm¬6mÊ$ÆŒ›@%ª˜™™SÙ½C¹>ºsç†1½ y¬½¼N Àù pr2ýÿ矤Ó鼦(U²¿ôü‰¶:ô–’%\˜8a¼Q„<|øˆ§>ųZU¥ÌÇLJ¹óP®‚ñ÷ÿ­ëW°¶¶fþÜYŒ3Ž^}û‘=[væÍ™…¥¥%;víÆë´!÷ú •ùŠ+Ê–ë™ðÛ$þúë5›6·TXºxá7 »u팯ŸÕj££v­ZtêØÁ¨Nbâ·3gÎ2fÜ‚ƒß‘"E Š+Æò¥‹±´´$44”ñ&òøÉŸètÑ8::Ò´ic:$ð©B¡× ¿5V£šÌâMæñ& eìè„–±Sª —®žÉ“ûÃréòeʸ¹b­JЗ—9ÎÌÙ†‹†_~þɨ\]OmwÕjh/]¢ê¾½d(›ü†ª¯F£1Ù{ØË š6…Ä24 lÈá¼x±:òeÑhïíò_ÑjÃ)êR’SÇ&š/1îÕ˜øëød§ßøœÚwìDÍ5hÝêQRñÕ:yÊ‹ÑcÇqôqÚ!„øtíú V­^í۷‰ŠŒ2¤(V”þ}{+yÁ…B!’ã¼·7n®®êâOŠ÷…‹ŒÕ•˜‡žPºdñ’€ˆ"( :ÞoÒ«¦8Êë/²‡³º!yõ:Ã`u¹)ùëÕãOooÞ8ðM78Œ]»ÀÃÃãùömX¹¦NU×wîÜÅ2•%9œ‰‰‰aæìÙäpvþÛÍq>wƒ¹B˜rîüyòä΃½½AAA,Z¼„rò=*„+Z„b±ùÉ…B!ć¾ÈçŠc Þ颉9uJú¿·t)têdì/]:Cj–ïsñ¼öñá·ß'óúµ†¾cö¬êjBñ͸|ùª’‹ÓÂÜw÷J ìßO]M!„B!„øÀ7Ýàl'v:–ñçøV%7EuBõ‚ƒaìXÃ$>”XŽÖqâØauÑkåò¥ê"!Äÿ‰{tãÇÝÔÅB!„B!„Ißtƒ³Eúô8FG£ñõS‡¾)’¢A!„B!„Bñ%ø"œ#""ÔE Jn=…™©cb@ö÷çB!„B!„Bñ·| Î^gΪ‹Œ,˜?’Q/AGþý˜y…B!„B!„â_räØquÑ'qs-­.úÏ} ÎeÜ\ÕEB!„BˆOpî¼7U=*«‹…B!Ä7,$4T]ôŸû"œãòâå+B¿€#„B!ħ²±IGtT´ºøgaaAz[[2fʈ&¡Q¢…B!„ø|1 μöñ%WÎX[[«ÃB!„B|Uôz=Þ.’ÚÊJúÇEGGãçï@¦Ì™Ôa!„B!þ3_Lƒó‹—¯È•3ŽêB!„ÿªóÞÞ¸¹þ³iÞ>ÇãŒAAÒà,„B!>+3uÁç*=›…B!„øÑÑÿ~ú!„B!’òÅ48 !„B!„B!„øº}1)5„B!„øREëtipB!„" OŸ=Ã:õ‡ƒ[[§¶æÙ³ÿßç­Û¶S­ŠiÓ¦U‡>‰……µkÕT'ªŠGeÒ¥ûg·A!„B|<Éá,„B!DÞ¾}KêÔ©ÕŤHaAÐÛ uñ+&&†iÓÿ`Ç®]hôØÙÛ1fÔʸ¹áîQ©S~gêô\½z£‡`g—)Óf°s×.BBB)X ë×®ÂÌÌÐgeóæ­Œ;€ƒ‡’+gÎ÷æÚõØeÈÀ¯ãÇrìÄ ¶mßAt´Ž&1dТ££4d/^"L«%w®œLž4‘ìÙ³óâåK*WñäÞ혛›ãîQþýú°dérž>{FÖ,Y3z%K”ÀÝ£¿NGùreÙ²ugΜÅ:5ûöÄÌLÃO=z`ckÃŒ?fH©’%˜>u2iÓ¦eËÖmœò:Mºti9xè0´nÙ’Ý»¢Ñhâí½EFF&¸¶mß‘ä2?eB!„_ƒoª‡ó–­Û¨Z½&E]JQÁ݃u!þz½ž±ã'P¾’ÅJ”¦s×îê*_wjœ<å¥.V$ ¢s×î”r+‡K)7æÍ_hÿš%uŽøZŽ©Bˆÿ^Œ.æÃËfÆŒÝדÃùÂÅ‹ìÚ½‡}»wrÑû, æÍ¡@J|؈‘üòóO\<†L™22mÆ\ºt‰-›6pÉû,§46_¸p‘hŽ2n®ÊüK–­`Äð¡\<Ê´ÿþ¬¬¬8}ò8›7®cíºu\»~b{1׫[‡ûvsîôI˜;o²,µEK–²`Þl._8GuÏjŒ5V]E±s÷Ê•-Ë…s§7f4ãÈž½ûؽc+§OÃÏߟu6*õ÷ì݇kéÒœ;}ŠåK³bÕ*öîÛo´Ì„$µL-ÓT\!„âköá•óW***ŠQcÆÑ·w/®_¹È¾Ý;I“& ¾~~ 1 ·r(\¬Mšµàæ­[Ê|7oÝ¢s×î+Q—Rnôø©'J|ÙòäÉ_Ðhºx鲿wÿ>Í[¶¡PQÜ=ª±eë6%–;ví¦Fíº¸”r£Q“æx{_PbÑÑÑL™6wj”r+G—n=xùê•ÑüŸâæ­[´lÝ–’¥ËP­z-Ö¬]§®’(SÛvñÒeZµmOáb%(S¾"&NB§Ó-àÅË—)^‚ñ&•{{_ Q“æu)EµêµØ¾c§3uLMm›©cš/]fÓæ­¬[½’k—/0}êdu•vÊË‹VmÛS¼¤+…‹•àÂÅKÛ‹fÞü…xT«AÂŨâYƒ;w©gÿd«×®# €GqÉû,ÚÊÑëõì?pºõQ¯A#õltëñ“Ñ>Í_°ˆºÊ'¹~ã&]»ÿHžüy÷îïçŠLì'9ÇtÔ˜q¬ÿå«Wôé7€¥Ý(^Ò•î?þŒŸ¿¿Ñ|B!Ä— cÆŒ‡³iËVBCCÉáìŒMºtJ¼UË”-ㆵµ5†;wóKÏŸÉš% –––äΕK©»iËVš6idÔ#׳ZUrçÊ…¹¹95kx¢ÓéèÖ¥3æææäpv&_Þ¼üùô©R¿²{%R¥J…¹¹9•*Uäù‹—JL­]Û6d̘FCÚµxøè‘ºŠÂÉ);5kT ZÕ*˜››Ó¾Mk¬­­±¶¶¦|Ù²üùçûípvr¢nÚäÉ“›¦³ÿÀA%ž˜¤ö©ešŠ !„B|;™ç·oßNùòå”\rQQQdttdú5\8wš²eËÒ«O?e>ÿ7T÷¬Æ¡{9rpZ­–)Óf(q??¾ïØ{·o(S©’†Ç÷t:=~êIÅŠå9wú$¿ôü‰ÁC‡óèÑceþ¤Üð€aÃG2}Êd®\<Ï÷ÛóC×îʈÜë7läèÑclÛ²‘s§O’%Kª^ÌGÑëõtêÜõësÑû,óçÎfÊ´F ÞI1µmÇŸ yÓ&xFEßu IDAT8ʺ5«8tø›·l5ZÀ¨ÑcÉ“;Q™Ýú™ž?ÿÈ•‹ç7v4cÆMàÊ•«ŒcjjÛ’:¦Éåëë‹Söì89e‡xŸ·OuüÄIú L›V-9æ7®^¢„KqÌÌÌ ãéS¹|á<Æ fÐaÿèMbß[ñâ۶¶ÆÌÌLy„xμù¬X¹ŠÊ•ÝÕ³àïïÏü¹³•}zû†áxý.\¼Ä/½ûR©bu(Ù;GÄ1uL¯^½Æõë7>xÔõÒ¥ËäÊ•“Û·rüÈAôz=ûݨŽBü“´Z­Lcïåpvf㺵ܸq÷*žLœ4™ÈÈH%ž'^ƒ)€ÿ›7dÌèhTʃ‡hÒÈø´]åuÊ”)I“& –––J™…E ¢£¢ ¶Á¨ÑciÒ¼%Mšµ`ÞüÄèï-ž9cFåµ……E‚âØe°S^›™™aaaÝû2‹DGG+ÛØÚ(¯2eʈ¯¯ŸQYBÛ?$c™¦âB!„_³¯¢ÁY¯×3oþB*W­NÂŨ\Å“C‡pôè1ªxÖÀ³¦¡‡@¹ î,Rœž½ú5K~éù9œ±²²¢^ÝÚ¼xñR¹H­ì^‰æÍšâèà@† ¨âáÁÓ§Ï”uûùû“5kÌÍÍ•)ÎÕk×àç{6mZ¶nÛ“Sv¶nÛ®Ôyüä ;uÆ¥”•«x²xÉ2%†µuj ø€ åˉNg¸ %wî\dÈ ʸ¹¢Õ†)ó'µ_Þ½ fȰ¸–­@¡¢.ÔkÐHyoz½­6ŒÒ¥J¢ÑhÈ“'73:ï‡ÙÇøþ‡®u)E±¥ùþ‡®ÄÄ~˜Ú¶þýúШalmmÉ™#åÊ–áþƒJ`×î=DEEQ¶Œ›Qù™³ç(\¨U<*cnnNÙ2n´nÙ‚­Û ûÕÔ15µmISL³é̤’GU Æý(X¤8‹gÕê5›q؈Q¸{TÃ¥”µêÖçØññ–‡¥~£&*ê‚kÙ Lÿc¦›6ㆠDÝ:µ±´´D£Ñ(ÛgaaAÿ¾½)Z¤0VV©¨ZŃ4ÖÖ¼Œí ¤×ë™3w>•<ªR¢´cÇO EŠʲMÅ;þÐ…rÜÙ°q3kÖ®WÞÛÝ{÷èÞµ ëÖ¬RÀÕ û5k‚û59û%©Ï[éR%9rp54š'NHHC‡¤”[9Ê”¯Èa# 3sSçSÇ”Ø^óÃFŒ¢oŸ_ÐëõJ9@ýzuéùÓdËš[[[j×®Åýûï?ëçΟ§YËÖ”r+Gé2åé7`áᆛJBñ±¬¬¬dJÆ$>”'On¦Mù}{vrùÊ£ÔYšØtq2dHÏóç/ŒÊˆ½†sq)NæÌ™ŒÊÕ7e“2pðP¢¢£Y»j[6m Ë?¨«Qo[RþÎv¼~ícô÷³ç/È!½QYBÛ?$c™¦âB!„_³ä_¹}FkÖ®cåªÕLþíW®\<ϲ¥‹(\¨UªxpôÐîßÀ¹Ó§¸}ã*³þ˜®ZŠ¡GÐÒe+ð¬VõƒFFb/ü6oÝJÍžJYpp0³fÍ¡xIWªxÖ`Ñâ¥JìÑ£Çø.?†M›·IßÞ½xò矻¾ö;Q¸P!.œ;ÍÚÕ+Y³n= X±¢”+[–ÑcÇsïþ} ÂÀþ}•Çü›7mÂóç/X·~#.\dá¢% Ø_YRû`èðn߸ÊíWi×¶ Äî׊ʳuóF®\<Ïݻѻo¥1üÎÝ{ôìÕ‡íÚrþÌ)öîÚA­š5 ¶·Ð;w ÓR§^C*W­NÿƒR¼Ä‰‰‰aíº ¤¶NM‘"…Ø»o?Ë–¯`þœÙ\ò>Gš4iŒ[5_¾dg¼NмYÚµi­¼·ïòç‡Øob×àà:vúâ%]iظÇOœTb¦ö‹©Ï€¹¹y¢½™Ê«W¯8|`/Ç" €)Ó çSçSÇ`á¢%-ZDœ()×®]#oÞ÷ŸuGGGöëËù3§8t`/>}ÊŠU«æB!þ ¯^ý¥|÷gHŸ§lÙ’ó¤v­š,Z¼ÿ7èt:îÜ5܄޴e+Íš4VWÿ[|}|)\¨–––hµáìÞ³W]å?ãã㣤o{üä ›·lURrÄ÷úµý毿^Cû‡d,ÓT\!„âköU48ïÞ³—ÚQºt)R¥JEÎ9>èQ‘”§OŸQÊ­ÅJ”æåËWŒ5Ò(¾uÛvJ”v£’GUJ–(AëV-•Ø´)¿sòø.yŸå×ñc™¿`!6n L«%mÚ´øû¿aêôü:n,iÓ¦%00€“§¼ˆ‰ÑÓ·O/,,,È’%3Í›6QÑh4´nÕ’ýðsÏÞ¼}÷Žš±2d QÃ̘9“ž½ûðÝwù)Z¤¨Oj¿DFFrèð@Î9°´´ÄÅ¥¸QÖÊ•Ý  ¦wßþlß±ƒŽÚ+¶/]&88„áCcooGêÔ©q‰×³ÕÔ¶Å·`Ñb´áZÔ¯¯”ýöÛï4oÖ”ÎÎFuÜ\Kqåê5.^ºLLL W®\eåª5èâ Ê“Ô15µmISSÇ,9jÖ¨®SÛgý†,[¾‚µ«Vbe• b¼rícÇ7¤ÆÉž=;Sÿq~ÅÇLJ"… ã^©"ÁÁïjKꘚڶ¤Ž©©cfJLL -æÐá#„‡G`f¦!22 ]´¡g®ŸŸ?Ù³gUϱ ¹†Áû+ûªkç¨S¿X¹|)¡¡¡\¿q“n?þĬÓqu-Í›7o(Rø}÷”)Så+4ÿTéÓM‘"mÛ´fÛŽ=~œoIñó÷G¯×Óºm{¥Ì2&œèèèzËÿ]ÃGŽ¢_ŸÞØÚØ(i:rýÆMzüÔ“_Ç%¾|Jù;w™=wžÒC?0(ˆ2®¥ãÍ)„Bü7 ,Àþ= 8|âØauVV©3z$cFwÖ¸è}Öèo€ßûÕèï"… såây£² ëÞ?áS¶Œöî6Š·nÕ€lY³òðÞm¥\½mÎÎN‰Æ›4nD“ÆÆ¹¥o\5 À§oï^FÇètL7† ãÆ•£Z^î\¹8ÆK‰%¶0±L’B!„øš}ZKÌÄÖÆFytíc˜››“)SF2eÊH¾¼yY³f—¯\¥ŠGeˆ—1K–ÌôîÕ“ê5ëеµµzQhâ ¢–;WNΞ;GæL™™òûoܸy‹<±©#²fÍJ®œ9Ù³ë}Nçø>BweDë&±~ã&ŽŸ8I³&Ù»ÿÛ·SRl 2ˆBE]xþü9Ù³gOr¿¤K—333þzýöö6*^½vT–©”G÷Š+Jýzõزue˸akcƒ¯Ÿ:.Á^°¦¶ØFé%ËV°zÅrrç~?;yøð SʶïÜÅÅóg 6 B•*J¬i‹V´niø‚‰cšœm‹/þ15uÌLY·a#‡ŽeÑ‚ydÈ`èÍ[¬ÄûÆE[<|oŽ÷²fÉ‚F£! 0¬±7-¢¢¢H‘"…Q.BGpp gŽ;vœ#ÇŽãêZüýß(õt:ïÞ½Sþ6ÿ§™™™a»_“³_’ú¼%%k–,ìß»[ãx>UPPgÏçì¹óô0H)/QÚQ#†)i7¼½/ðcÏ^Œ3ŠÚµj*õôz=ßwîÂA©_¯.†¥Ë–sëÖûÉBñ_ظq#†fÍš©CBüßKè ªOej™¦âB!„_³¯"¥Fõêž,_¹’k×®£ÓéxýÚ‡ÇOž¨«%èÊ•«\»~ƒàà`Þ¾{ÇÚuzû–|±9V=Æ£ÇÑjµøøø°xÉ2œ”ÆæM[¶ò×_¯ ÅËë4ë7lTù+\¨Ù²eÃÕµ4Úðp¼¼N³eëVÄ>W®l´áZæ/XHHHz½žgÏž+ƒç9;;áí}___ˆíñ|ÿþòåÍkˆ;9qøÈQ´Úpbbbؼe666888€‰ýbeeE…òåø}òT^¼|Itt4>âÍC>àlÙ²ñ×뿸rå*ÄöÆ>qâùòÖ]ºTI,,,˜4y*oß½#<<œK—/ÇÔ¶ÍøcËV¬dÙ’…dÍš…°°0ÂÂÂÐëõŒ1Œ‡÷n+Ó¾§cûvJc3@DDoÞ0bÔh"ÂÃ•Ç MSSÛ–Ô15uÌLñ÷óÇÎÎ+«ÔhµáÌž;ϨW¬gµªœ<åÅî={ çí»wܸyKKKԯLj‘£ &44”ÙsçQÅÃÐðþâåKNyy@XXçΟÇëô Æö¾®QÝ“í;vòøÉt:‹–,UöcrâŸÂÇLJƒ‡HPP«V¯áþýT®lè)nj¿˜ú¼%ÅÚÚšúõê2|Ä(åÿR`` /%oþ¤ØÚÚ}V¯_¹Àå ç•ÆæcÇOÐý§Ÿ?v4•Ý+)ŸuNGtt4AdÍjèÕ~÷Þ=6lÚl´!„ø·íرƒÃ‡sðàAvî4äŒB!„BˆËWÑùs§ïÑEëèÝo>>>8:80 _råÌ©®úÀÀ@¦Í˜ÉŸOŸ¢Ñ@¾|ùX0oŽ’jâÞýŒÿ+¯}|HÚŠR¥J±xá|eþ‹/1eê4BBBqrÊÎàŒô˜9}CGŒ¤lùJ8:80|è *@ªT©X¹l “&OųFm´Zœœ²3¨?òåÍK“Æxöü9›µ $$”ŒŽŽŒ9œbE‹0|è`ÆŒ›€{•jDFFò]þ|,Y´€T© éLí—©“'1iòš6oIHH(ÎNNÌœ1 ;» äÌ‘ƒ_ÇcÈðøøøbeeE£õùáûŽ›vbÕŠ¥ü6i2•«x¢×ë)Pà;Ö­^irÛ‚‚‚˜=wµë6 ¾³§Oâ`ooT–Ysæ±dé2Ò¦M‹{¥Š,[²XI`ê˜&µm˜8¦¦Ž™)­[·¤wŸþ¸•«€­­ =ºuÃÉé}¯j—âÌœ1Ùsç1xèpR§NM“Æ )RØ0ðߨÃøõ·ß©Q«.Ñ:î•*2|Ø¢££™¿`1·nß&""‚lY³Ò£[åGuÏj<~ü˜v:NËÍ)]º”²nSqS®ß¸É !C åÍ›jÕ­Oï¾cÚ”ßј™±jõ @ß±tñ¥÷±©ýbêóP«n}eÀÂf-[affÆÎm[H‘"ãÇŽfæì94oÙ†7ØÙÙÑ®M+J•4=Èß§š›®ó]¦´x ¨ÌÊïK³æü3£ù?Æëwá<òeÏÏåÙÿK^…1õpòõB!„Büw¤ÁY!„â2`À 4 `œ”B… 1`Àu±I¾ ãÆË·ô­–K 3R§4§¿g>ßñ%8"šçZîüõŽŸ+çÁ\£ÁÖ*íË8«óQ:—ÏI s3Ò¥JA÷й8tÛG]E!„Bñ™Iƒ³B!„H¶€ÐHÒXZ¥²È–ÞŠ½ž °HüB"H“Ê‚Ô)Í•¸}ZK嵚™Fc4ÒHœ=h4ñǵ«ÊëŒéRItLBs !„B!>ipB!„É–5½ÁѼÕF)e¯‚´˜k4dJ— {딇G¥Sâ¡‘Êkµ¬¶V¼Ôª‹y슃ª¡Úç]¸òúE –´–X˜7J !„B!>/ipB!„ ŠÑ뉈ŽQ¦(] ÓZR!·³Ž=$Rƒ6JÇÜ©]$)ÌÍÈž!5ù2¦aî‰ÇèôzB"¢YíxgÏ‚¹ó×;Vž{Ê[ma‘:6_~ÉÍWo©U(“QÝegŸ©‹!$"šù§S½`F£¸B!„âó“ç/Àƒq+W{÷ï«CÉ2pðPú¬.þ$¦|%ÊWò Á"œ<奮òÅ;zì8ýúT !„"™N=ôÇeÂaeê¼ê“%HEÕé'©5Ë kKs†×.€˜Ñ¬7^¾¥Ò”ãt\q|ª%¿—1­%KÚ—âØ}?jÌô¢â”ãìºþŠ…mK’=½•R/…¹y¬©3û4U¦Ÿ$‹M*ÖÈo´,!„B!Äç÷>ùž0) j58qô¶¶¶êðGsÌèHãF ɘñãzéTv¯¤.údÕ=«Qݳå+y¨Ãß4­VËšµëY¼t)uk×fø°!Fñþ˜9›‡HéR¥X¶d¡Q!„âk×¥BNºTÈ©. }êLiRT]¬pÊšeJ){=ô'uÊÄ/; gIDzöïë'$JCËÒÙiãê¤ !„B!¾ ÒÃùoغm•ÝÿÑÆf›té4 ?¶66êP²Ô®U“Úµjª‹ÅGêñSOîܽ‹›««:DLL :wã¯×¯Y»j7¯]fáü9êj&<åÅa#ÔÅŠ©Óg°uÛvu±¢U›v<þ\] ± æž5j«‹¦â²m 3µnSq!„ørþÏÞÄæmÒF±äÌŸ”Í•A]íïû†Çœ4y 'ýžä£žM!„Bˆ/Nâ]M¾">bĨÑܽw3†¢E‹²xá<ÌÍÍÙ´e+3gÍÆÏÏŸÞ½zrùÊUn\¿AŽά[³ €ÃGŽ2sö=zŒµµ5­Z6§O¯_Ô«aã¦ÍŒ=Rù{ôØñ¿{ÇÅK—)X°™3gâÀÁÃtîÔ‘ï;v`õšµ¬^»___R§NMÛ6­éÞµ ·oßáÇž½ $44”m[6R¤paeùÝü™âÅ‹áí}€C!ƒRÅ£2ƒ‡ãø‰“Q©b-˜§ÌkjÛîܹK¯>ý¨[§6‡ŽA¦¥FuOúöé…¹ùûQå?–^¯gþ‚ElØ´2::2lè`<«U5¹nSñÛâ…ó±°°`â¤É袣bÇŽŸ 00õkWaff¸_“"E £:ÉMdD„ºXE´jÝñiµáÄÄ$ü«[¯×¦ýpð¥8¦â²m 3µnSq!„øšsP]ôÉÎ? `ã¥ÜU])û»ë)2îºÈhy_³[·nÓ¼YS,,¿<×hd€D!„BñåKüŠö+2cæ,Š-ÊšU+ˆ‰‰áñ“'JÃd³&iÖ¤1ã'LdÎÜy :„…óæ ÕF9¿s÷={õaüØÑÔ¨îIxxþoüUkoï èbt”q3îõêÿæ öíÆµl:uìÀÜY0xØp¥Á9OžÜÌ™õ¹såâáÃG4kÙš²nn+V”‚ püˆá‡VÁ"Å–gåª5lߺ Gö8ÈÀAC¸è}€ß~Àü…‹¸té²jNÓÛöøÉlmmÙµ}+Z­–VmÚ“={6Z¶h®^Ôß¶fí:V®ZÍÌÓ(R¤0½~M*ËTJÜÔºMÅÿMq?ôbt:uï qq)Î/½ûróæ-llmèÖ¥³ô0BñMù¯qÿ«õ|-<«UÅÒÒR],„B!ÄWå›hpΛ''OâÞ½û(ðùòæUWÀ)»-š7ÀÊÊÐø¹ÿÀʸ¹Ñ¤q#Ò¤Iƒ½½Ñ|6n¢y³¦ô,q)^œT©Ráèà€«ki PâeÜÜ”×yòä¦d >zD±b‰ç=Œ¯f O í”,Y‚ ·o $}úôêª0µmÍš6ÀÊÊŠ êqðÐá¤Qw÷ž½tèÐŽÒ¥ ùsæÈ¡®brݦâÿ6½þÞ°¾¾¾x_¸È¬?¦QÂÅ…;wîÒ®Ã÷8;9Q¨PAuõ 2Œ'OIDD$§ËWàä±#¤L™Ïµ  &44ss ¦ÍøƒÂ… ±xá|Çïñ¬N«÷ðá#† ÉšÕ+ø.~ºöøÉ¸’)ê…þ Im€N§ÃÏß{{^¿öQ^*[þú뵺XajݦâŸKöìÙðõõ3*‹ŠŠ’ž¬B!þSÚ$r΋¯SÓÆ±°° 00Ò¦MGÖ¬YÔÕ„B!„øâ}Øû:ååE±¢ÅH—.-ùòæ5Œà@:„„xV«Ê’eËÙ½g/ÕªV!"2’gÏž Þ·qãf† `4_rø¿ñÇ2U*ìíìÑét?q’sçÎS­Š‡ºêg³pÑ 臯/7o¡{×Îê*IÚà —.]fØÐÁFåÕ«{²|åJJ—*IáÂ…ðóó'LF®œ9•:¦Öm*þ94mܘ:õR«f Ü+UäÒå+œò:M¯_~VWMRÊÊà 2(éÏÛö­›ÔEŠÔ©SÐK7>SqÙ¶„™Z·©¸BüSâ?$¾îL6ƒë7nÆÚš0­'§ìôéÕ ;» í±!e IDATêêB!„B|±¾‰ç½{÷Ó·ÿ """°··cìèQ8::ðÛï“Ùµ{/þ±é¼NŸ¡Qƒú èß—âÌœ1Ùsç1xèpR§NM“Æ •ç+W®Jùråâ­1yJ—*Ee÷JxÖ¬……uj×¢FuO%¾k÷fÌœE@@ ‘‘‘´nÛ;;{:uì@ûvmŒ–•­ÚòüÅ ˆ‰‰ÁµlìíìØ±m³ºj‚lmlȔё îèõzš6nLÓ&†¼É;vífƳ "88˜?õÄÎ.¾ïHÇöí”eb111˜™™QªTIÚ·5=®‡B!„_ipB!„â3³´´¤[—Îtîô=¤M“†T©R©« !„BñÅ“g!„B!¾z½_??Þ¡ÓéÈ$ ÎB!„â+$ ÎB!„B|;vî"W®\)\___fΞógÏI“ÆšÐÐ0œ²g§çÏ?âè訞U!„Bˆ/– („B!ÄgpüÄI²eÍÀÒe+(T°‹ÌgîìY,Z0"… ³`ñõlB!„B|ѤÁ9VPP»v§”[9\J¹1oþB£øÀÁCé?p°Q™Ÿ¿?å+yP¾’EŠ—`ò”iFñ›K)7®^½¦.þ"mÙº&Í[ª‹¿X111T­^“ 7©C_¼âV®÷îßW‡„Bñ ÁÖÖ€gϟѼY3,-S2eJš6mÌ‹gÏUs !„Bñeû&œµZ-‹—,£LùŠŒŸ0QN–Õk×À‰£‡¸ä}–íÛÅ+»W¢ŠGe£2{{NŸ<Æé“Ǩ^­šQLü»^¿öa̸ *ê¡ÃGÔažüù'={õ¡t™ò*êòÁ SÌÌÌhÒ¨E V‡>»e+V&ù9wÌèHãF ɘ1£:ôŸxñò%+WÁ×ÏOJRHHUŸÉsÏ¿ÀŠeKxî… ©U“9³fpáB,í:v¢hÑ¢éŽüö¤žs³åÆs¾k×nš6mL×'ºNÉ’%1ü*Uªhš¡µß¯ w߯ß.^Â×_}AhHáá4mÑŠ¦MS±BÞxómƽ?†¦M“@LÌûº™½oNNN|·b—/ÇT+”iŸNgåò¥xyyb±Xpuuå©'ºñÚoâåéyõZ¹r%6üü£íñC5rë7l䃧0gÖ *WªÄ/ë70`г|ÿÝràúñ-_ú-… bÍÚþêkìÞù+K—-çܹólÙø îîî=zŒ€bÅö±e믚ü~ù‰vm§ï€A$&:öEü§*”/ooßâççKQNžL›é[®\YÖþø‘‘‘xyyQ¼¸­˜Kï›ÑÀýñññÆÙÙù–fhßÌŠ•ßѹcªV©‚““Íš6!8(Õé®ÇV-›Û[aqñÒ%bcc(S¦ §Nbë¶_±Z­”+WgggûºÇŽ£|ù²1€…‹¾¥v½‡iܬQQQÔ®÷0µë=Ìöi3¬S•+W–ãÇmסˆˆˆˆˆˆˆˆä,TÁù~Ill,unh/°Íšó/^4ÍPTT4™Ï H›aêîîîЫxÍÚéÞ³7>ÖŽÇÚ¶gÏÞ}˜ÓÍwuuu˜‰êìì‚Ùœ@TT~¾…í9“É„ŸoZË’ˆÈH>˜ô¡ýuÕkТ¢¢ˆ‰¹€——y||ìã‹úûÛßmV«•gŸ„¯¯/&“‰öíÚâädâÏ?ÿ4ýG vìMììâLJŠí}˜5c:EŠøÑ¶}'†Nxx„=—ÙûfT¡Bycè¶ÄÄÄàï_Ä!æïïï°ïô}—]®“S®_3uëÔfʇðÅ—siÞª5K–.³MwÚyOÕµKg¶oÝÌúu?R¨P!¶oÝÌö­›©jŠwnoâŒaɈ–÷«¢E‹RºT)V·Ü˜Ê–¼yòð×ѣưƒ›Ý<îèÑc¼1ò-¾ž÷¥}Vô€gžs“Ù  ,HxD¤C,}¡¼XÑ¢<3h@†­AN:Í•+WHLLÄÃÀ l³dÿ DG;¶¹vínnn±ÊÄÍß7®ßprÈ‹/ðÌÀŒ›ð½úöcÍêï ‹÷Í(µmˆ‘ÉdÂüz9.Tˆ³çÎ9ÄΞ=KÚ銾™\!!µø*d¿âÔ©Ó˜Íf¾˜û^^^”-[Æ8ôŽ‹gÇÎ$%%‘+W.J–(9%mVyfï[vùùù²gï^®ÏNJÊ^«öíÚ²xÉ2þñV«•u?ÿÂÞ}ûx¤U+ãÐ íÝ·ðð¬V+xyy9Ìì(]ªýuóÿ$ñôôdë¦õưƒ°?ÿúWΕˆˆˆˆˆˆˆˆÜyO¡Ìa¾þf>ó¾™OT”mVëÖ_¥KçNô~º§qè-ëúDwNŸ9Ã… °X,„Ô©OÁX±l1gΞeà çˆ½x‘K—.a2™X¶|µk‡2iâxråÊÅÜ9³7áš·lÍ•ÄDŠàÕa/S¾\9ã®nXƒ&OâãiŸ2âõ‘xzzÒ±C;ªZÕ8ôµjÖ¤QÃ4oÕmýH¶fÕ¦jÖ´ ÇOœ ß€A$%%S§v(eÊØúAtéÜ ‹ÅÊËÆsöÜ9rår§^ݺ<\¿>&“‰&Obä›ïP3´.EüüèÓ»K—9Îô¶X,¼;jC_zhèËÊ«¯½Áo¿ÿΩS§5æLš<…Ñï½CpPÚ·ãâÅ‹ôêÛ‹/R¹Re>›öI¶ú Ÿüûo>ó.ÄrñâE~ݾ9_Î¥NíP&Žk~ƒ³™'Ä‘0[ûŽR%Kò¿1£ìùÌÞ·Ó§OÓ·ÿ "¯·¸xô±vø.̜ٟ;´$éÙý)~ûíw5mÅlfø+/ÓµKg¾[µšÉMåÂ…X®^½Ê“Ý{R @Aúôzšž=ž¢~ýz 6”^JTT4%Šç“©Q¢Dqû¶3søH/ FlìE¼¼ÆÔ¿bÁ‚=tëv翎úè£UŒ¡lË“'#F47†ÿÓL¦ìZÔë)³ÏivdöûKDDDDDDD$§Èç£G£yë­Õ>N^4kVÁ!ß²å'DG'péR"¯¾ÚœþýëÚs“&­gÙ²\¸@rr •*àµ×Zгg½zÍ#,,‚˜˜+€• ö°lY*Vôµoçn™9óW¾ürf³…fÍ*pôhƒÕ§Aƒ²ÌŸ¿‡?ÞDlìœMüþûëöõ<ÏÀ ˆŽŽÇl¶Ø_Wÿþõ:´qº=ÜÜW_íbÞ¼]DFÆáééFµ4¨¾qkÖ¢\¹B”)SÐ!>uêF,ØK\\ùó{2bD Zµª@›6Ó9wîV+L˜ÐŽQ£ÖŸÌ´§Q£r\¾œÄûïÿȺua$$\¥té|òIJ”Èï°ððËìÚuŠ)S:Ùc<ò)AAÅX¿þ/:uªÁ￟çðáp¦MëBPPçÏ_æ­·Vsðà9’’R¨TÉ1cÚPªT^}u6üEll" ”aæÌ'íÛ>t(œW^YÎ#TfëÖãœ?‰‡ògâÄö¸»»pèP8Ï>» ®p•åËûóÐCi³R³:¶P¥J¶m;Nll"ÞÞî¼÷Þ£·U¨LïèÑ(ÆŒYËîݧ1™ 88€Y³žÂÉÉÄœ9Ûùý÷s˜ÍVþü3‹ÅÊàÁ x챪·}l®®Î̘±•Y³~ sç@†m‚““c!úf×ÓÚµ‡™4i=çÏ_ÂÃÕ®]ƒ:´ #G®â§ŸŽ“ÀÔ©ùä“MDFÆÓ¥K Æ5Åj…O?ÝÌ¢E{ Ã××›‘#[Ò¼yE‡}Üë)³Ï)@`à8FŽlÉ’%û¹pá ¹s»3qb{J–´]ë™ýþÊêØn÷œe%³ÏéݾžDDDDDDD$gºï ΋•çž[DHH ¾ø¢;.$Ð¶í ŠKëO·vísôî=/Ýš6C‡6fèÐÆ¬ZuéÓ·ÜÐzâ‹/ºÃõ‚–»» o¾ÙÊ!7­_ÿ3fleÞ¼ž”-[ˆ¹swòõ×»íEß'žæ‰'‚Ù·ï ={ÎuX·jÕ"lÝ:„åËcæÌm7¼®ì(W®Ó¦u¡L™‚=E§N³¨]»5ju·`ÁÞf„þùg$3flcݺÁøúz‡‹KZKðU«qùrãøä“M|÷Ý@¼¼Ü°Xlým_ý;¢¢âY´¨þþy8t(ÿ<éö`³hÑ>Z·®lŸy`µZñ÷ÏË”)èÖmóæõä·ßαråïP €mÛ>ÄGuÂÕÕ™Q£ÖðÞ{k˜3ç)Æk Àôé[ؽû”}»©Ž‰ eËJÌŸß‹k×Ìtè0“… ÷Ò³g•+û±aËö"zYÀ²eX¾|yòäbÕªƒ<óÌBÖ­Œ««³qs·äêU3O?=fÍ*0aB{<=] ‹t(ø®ZuåËP¹²§NÅòØcŸQ©’eËÚŠ¿·sl11 œ9s‘-[†ÏSO}A@@>ºv r—ÑõÄõkbܸ¶4kV„„«ÄÄ$Øs£G·aôè6´i3·ÞZÍ—_ö re?m­oæÍÛÅܹ;ùè£NT«V”óç/‘+×_)¾×SfŸÓÔí÷ÝAæÎ퉋‹ï¼ó=ãǯcÚ´.ÅﯬŽÛÚH£FSèÒ%ˆÁƒÜ0 BÇÖ$±±W0›-d\PLµiÓQ¼½Ýo˜q àå厓“‰\¹\qvvÂd³Ù×·?iÒzöï?ƒÅbåêÕRRl¹ìpuu&o^ûs§[Z?³cÃÐ?Üd²½—ÑÑñöØ?ŸŸÏ …ûôrçvì]ž7¯QQiû¾cË•ËÅá}óõõvØ6™\O³f=Éôé[iÛvuê”âÕW›eøy0^O\í÷ëõÄõ›L¦rvvr¸²’Ù±q›ç,3ÙùœÞÍëIDDDDDDDr¦«>÷™Â…½¹rå*W®\ÃÓÓ6›ñÂ…´¯ÚßkÁÁÅY½:­…‡‡ãÍ3Ë*”›ˆˆ8ûs€‹žgÅd2a6ÛÚTÜŠ£G£xýõ•|óM/{¯êæ;ŒII±°té¾úª§C&LhGdd<ƒ/âòå$Þ}·µq˜C« oï\89™8þR¦3ºoÖzëÅ«ô?Ó{ûíïɗϓŋûâîÇ×–™Œ¶y+2;6€óç/Û§¤XˆŽN `ÁÜcþ‰¼y=ˆŒŒÃl¶àìœñ—ÂÃÓöú¼té´^Ê·slII)\¼˜h/:GDÄQ¨PÚºY]Ožžn Ú˜gŸ}˜qã~âé§ç±ví³Æa¸ºÞøÚòæõàܹKưƒ{u=ݮ̎Ûêlï½xñ~Z´¨ˆc?;†mÂÈ‘«˜6mÅ‹çç™gêsà@Zq¶K—Ùœ9s‘˜˜,+µjM `Áܬ\9Àa;ù|øáz.\HàêU3O<ñ zѧO{ßç¬tèP#VAÙ²…øôÓ®ö6:ÍâìÙ‹ÄÆ&’’b&8x< z±jÕ û˜¤¤~ýõÍšUpháé鯼y=yÿýiØp2V+T®ìÇüù½ìc5*Ǻua ¾‚üù=7®­½7Y[VªUó§P¡ÜÔ¯ÿ!;Ò±c {>³ë)%ŤIë9r$€R¥ ðþûÛóݺÍáØ±hûu7uêFFŒhA«V¶k¶_¿º¤¤Xxé¥%DD\¦pao†oFéÒà._OÙùœÞÌøý•Ù95j ?þx„ØX[Ïç‰äÏïÉ´·ßt`ïÞÓÄÅ%ÙŸ§Êêsz7¯'É™R¿¤þËÚ&Ãâ”nqN·¸n€+à~}ɵkÏþmeË”J·¹›Û³w/µCmEºí;vR;4/OO‡1Ç;<}à5h0™?îBµjþÆ”<\@PPÖ3¦îº9s¶³iÓ1æÌyʘ‚{|lòÏÜËsv»×SéÒÆˆˆÈ½µcçNBC2þÏãå+Vâísã}â._¦]Û´ÿ$M/>!ÓÍz"Ýa{ÓÝÏ6¨íçö;iÚ¸QZBDDDDxñ ìܵ› À@c*CG Vp` H®×€”t‹%Ýb5,©ìïûβ°°HÊ—/ŒÕjeÙ²$%¥P®Üõ%ÈÉj½õžÛwNæû¾·Ç&ÿĽ=g™ïûÞ›ˆˆˆˆˆˆˆÜ *8ßCqqIŒ³–Ó§/bµZ)]º Ÿ}Ö ÛÍEDDDDDDDDDrœï¡š5‹³lYcX`Ÿ}ÖÍú×ôî]›Þ½kÃv÷òØäŸ¹—çLדˆˆˆˆˆˆˆdä¾/8«Ï§ˆˆˆˆˆˆˆˆˆHÎàd ˆˆˆˆˆˆˆˆˆˆˆü*8‹ˆˆˆˆˆˆˆˆˆÈ¡‚³ˆˆˆˆˆˆˆˆˆˆÜ9ªàÜ«×rzö\f ß²’%'³fÍQcøŽÛ¿?œ¼yÇÃrdvNOž¼ˆÉô.II)ÆT¶ô굜#ÖÃ"""""""""b£ έ[—£M›òÆpŽ•p×_ÿ™bÅ&áé9†ÐЙlß~Æ8 €çžû“é].^L²Ç"#èÚu1¾¾)VlÏ?ÿ‰‰7UOž¼ˆ—×ÿxé¥5ñ„„kLœ¸ ?¿‰7ä¦MÛE¹rSñö~Ÿ:uf±{÷9ã»&«c»—.%ӥ˷äÉ3–Æ3dÈZ,«qØ]³k×9{lþ ç“lÛï¿GR¯Þl<<ÆP²äd¾øb¿Ãú—/'3dÈZJ”˜Œ§çZµšçOõí·‡0™Þeùò#ÆÜäzÉJŽ*8wéR….]ªÃ÷5“Éd Ùýý÷E""X½ú)¢¢†óØcåéØq‘qÛ·Ÿaçγ7õÜsß“+— §N á·ßžaçγŒ¿Õqð쳫©\¹1Lûö 8p ‚FJS¬XÆøñ[Y¹ò bb†óÄUyôÑo¸|9Ù8ô®ÈìØn׋/þ@RR GŽ fóæÞL›¶‹Ï?ßkvWlÞ|Š®]¿¥U«²Ædqlf³•öíвeÂÇñÎ;èÓg‡G`±Xy䑯9sæ26ôâÊ•7X¹ò ÃlEí×^[—á5A&×›ˆˆˆˆˆˆˆˆHVrDÁ¹OŸøùMÄÕumÚ|ãÛ¿?œêÕ§3jÔ&6ü‚Ò¥§Ð¥Ë·öö V+Œ½‰%&“/ß8^xáÜÜœíë[­0~üVJ–œLþüãhÖl.ÇŽÅ•òå§2cÆûøçŸÿV­æaÍæ„X77gÆßŠŸßDüü&òúë?Ûg¬V®\ˆY³§zu_¼¼\éÝ;sçâˆM›Uzíš…¾côè&7ì3..™ÐТ¸»;“?¿5kú“pÕaÌüù¹zÕL“&¥â«W?ÅW_µ§X1cŠ+ŽÐ¯_•*ÄÍÍ™^¥T©¼|ÿý_Æ¡ÿHXX -Z|EÞ¼c)Uj 'nsÈgvlYÓK—’éÙs… OÀßÿæÏ?hÏ¥¤XX´è&NlA‘"¹Y´èŠÏÜ9ûìcV® £jÕiäÉ3–¦MçråÊ5{àС(Zµš‡·÷ûøø¼O«Vó²=CúᇋóçŸÏóôÓÕ©,mûö3$&¦ðæ› É“Ç/¿<@™2ùùòKÛ,çU«þ$:ú v¢T©¼pýú3>ü'zõªAîÜnÆT¦×›ˆˆˆˆˆˆˆˆHVrDÁyöì¶„‡cÔ¨ÆÆ¿ýÅbeãÆ^92˜£G/Øg….Zô~¸åË»qá«øø¸ó×_ìëNºƒ?ÞÉêÕO=œ¦MKÓ±ãB,+¹s»±`A'FŒXÇ‘#ѬYs”%K1wnûlÏþŒŒLàäÉ‹œ:5„;ú³`ÁAfÏN+n¦·cÇŠÉM¾|¹ì±ñã·R”zõƼýv#¦OßÍúõ'™3g?;wžå¥—jÛó±±I¼öÚ:>ý´ f³Åa]WWÛé7›o¬,šÍV\]‹•~~¹9z4í½û§®Ñ¬Ù\‚ƒý‰ŠÎƽøôÓÝ,]zØ>&³cË꜎±Ž?ÿŒá?žãرùå—öÜÉ“(_¾‡G_ßoWþü3€Ó§/Ó¹ó·ŒQŸØØWyõÕz,^|Ⱦ~r²™–-çQ¦L~Ž}sç^æí·áä”Í pqqÊðueul‡GQ½º/&ÌšµääFnbÏoÚô7uê£k×Å”*5…àà,Zô‡Ã>¶l9ÅÖ­§>¼^†×Df×›ˆˆˆˆˆˆˆˆHVrDÁ9;ž>®Ïè )JX˜­ÍÀŠGèÑ£~˜Lðæ› qvN+Μ¹—7Þh@•*…pr21|x=ÂÂbìE¼  "¼õVCºu[Lß¾+ùê«.ìe_?;Fn‚››3%Jä¡ÿ`‡ÂjªÈȆ YË»ï¦Õ½ÀŒ{?¾¹ÃØTÕ«ûR£†~ÇóÏOŸ>øû{ÛóÆýH¿~A”+—ßa=#kSY[´(Ãܹ8uêÉÉfæÎ=ÀÏ?ŸÈ°Pz«Ö®=ŠÅbe̘&¸º:Q¼xúö ¼¡8ÊMŽ-«sºbÅFŒ¨O¡Bžxx¸ðê«õ칄„käÉ“ «ú÷_ÉèÑM(W.?±±I˜ÍV~øá/*U*H÷îÕpr2Ñ¢EêÖM+¾nÙrŠK—’øðÖøúz‘;·uê³ç³+£×•Õ±¥æ#"xãŸùüóÇÉ“Çèè+œ;ǺuÇ2¤6'N¼È¬YóÌ3«Ù»÷<W¯š4hŸ~Ú&ÙÏY]o"""""""""Yq1r"77[K‰T..N¤¤ØfoFF&P³¦¿=çîonûósçâxýõŸyûíõö˜««çÏÇS±bAžy¦£Go¢bÅ‚4mzckŠÌxx¸8›¿¿7çÏÇ;Œ‰Ž¾Bóæ_ñøãèß?È8pcÆ4!~âã[et붘R¥òö<çÎÅÑ­Ûbbb®0rd6nü›íÛÏðé§WË–§žzˆS§.ѬÙ\®Ñ©SejÖôϰÅÅ­:w.Žèè+øû`¥¤X ,â0îf²:§QQW(^<ýy‰¶ö z•éÓwãäd¢_¿ Ο#W.œMDF&8¬k\?<<ž¢E}2,ØÞ®¬Ž-5ÿ ?п0UªâÀp¼¼l­1¬VèÞ½š½@^£†­[—ã§ŸŽT„±c·P»v1~¸¸aÏ6Y]o"""""""""Yy Ιµ·(RÄ›ˆˆûs³ÙJll¢ýyÉ’yyýõ‡éС’=fôê«?Q³¦?ÿ}‰/¿\?žR¥&3{v[ã°[V²d^*T(Ào¿=cLeKVçÔÏ/·C>**í±Ÿ_nœMŒù [·öÁd‚Ý»ÏÙo gÜ6××°Úóç÷àüù8RR,¸¸ÜÙ/dul+ä—_NàÃܹíÇ|éÒù8w.Îa›W¯šqw·Ç¿ýöF2kVZK—öíÒ±c%>ûì±L¯·Áƒmß ÉÌ­˜Ý‡:t¨ÄW_ ,,³ÙÊ„ [í78°&o½µžl} ¯\¹ÆÚµÇìùï¾û“… ÿ`îÜöÌŸß‘¡C×fk·‘]ï¼³«WÍœ:u‰™3÷Ò©SeŽ‹¥~ýÙ<öXÞ{¯1 W‰¿Jr²™<°Zß¶/qq¯û*ƒ‡àáá‚¿¿7 þa?îo¾ùªU 0uê#ë¿ür^|14ÛÅf®ËަmÛùôèQÝ~3ºTK–fȵ±ôÞ~{sæØnj—ªiÓÒ\¹r÷ßßÂåËÉX­¶÷âàÁH‡q7“Õ9íС&låÒ¥d®1aBÚ Mtï^’%óâããÎáÃÑŒù Ý»Wà‘GÊrð`$+W†aµÂ† 'Ù°á¤}ý‡.Ž««3¯¾ºŽØØ$Sغõ´=;²:¶àà"”*•—† KråÊ5~üñsæìç©§ wï,\xï¿ÿ «ÕÖþcíÚ£´jU€ßÆáš.²e]Y¼¸K–×›ˆˆˆˆˆˆˆˆHväˆÎõëÏæÄ‰‹DE%`6[)\x¾¾¹Ù³g€qè Ú·¯È‘#Ñ4mú%‰‰) Lƒ%ìù~ý‚°X¬tï¾”¿ÿ¾ˆ‡‡+Íš•¦eË2œ9s™>}Vðõ×¶¾Í… {ñúëÓµë·lßÞ\¹²~ûjÕòÇÏ/7Å‹@Ÿ>ôêU€É“·sòäEÆßÊøñ[íë ÌôémìÏofùòn º–wßÝ€Éd¢Y³ÒÌ™ÓÎ8즦MÛÅ´i»·µøX·î8ýúÙo<ؼù\vï>‡¿¿7=zTgäȆ-Ønd·qcZAÖhÛ¶Ó\º”äóðpá§Ÿzòê«?Q¡ÂÇ$$\¥L™üŒ×Ì^0ÏìØ²:§£G7áùç¿§té)xzº2aBsV­úÓž3¦)|GùòSñðp¥Gj¼øb(\oyòí·6ìGºw_JÆ%yá[ wn7~þ¹'ÆýH©R“±Zm­+6nìe“•ªU§a±Øz8×­; ''{÷ÄÍÍ9ÓcX¸°3ýû¯¤H‘‰)âÍäÉ­ ²µ")[6?Ë–uãµ×ÖñÄK(^<_~ÙÞÞFDDDDDDDDänKmF‘¾)…ɰ8¥[œÓ-.€à ¸__ríÚ³[Ù2Ùës¼gï^j‡ÚfOnß±“Ú¡!xyz‡‰ˆˆˆˆÜU;vî$4$ãoõ,_±oŸŒïcwù2íÚ>n Ÿ€)³Þoé zv0³Ùv0ýÓOprÊø Š{£ÒÙºm±}ÇNš6n”–‘^|B;wí&(0ИÊÐÑc'¨\#H’«À5 %ÝbI·X K*û㬧芈ˆˆˆÈ]µsç.†yѶ›ôá¬ÖôÏ‹ˆˆˆˆÜŸTp¹<õä7=å£!‘ûRÆßÉ‘Mn//¢¢ÒõÅH'%ÅvsdgggcJDDDDä¾£‚³ˆˆˆˆÈ=V²T)øÍààÁƒø±Ý$XDDDDä~§‚³ˆˆˆˆÈ=ÖæÑÖLùøΞ;ç烧ðH«–q‘û•z8‹ˆˆˆˆÜc:¶gç®]tìÔ…Ú¡¡øûûséÒ%¶nû•ÒeJÓ»÷ÓÆUDDDDDîK*8‹ˆˆˆˆÜcNNNL?–Í[¶²ióÂ#"Èãã민L‹ÍÕ¿YDDDDr œ%süMšÀºuðÐCÆlÖzõ‹æÎ5fþ¹eËàùçmÃÃaÕ*hÕÊ8JDDD$Çy¸~=®_ÏÉ1ÔÃùNZ±jÖ4FÿQQàã11ÆÌíñ÷‡§Ÿ†¢E™ìiÝÚ´1FoOûöpæŒmñó3fEDDDDDDDDäÑ ç;éóÏ¡côßñå—ðè£P €1s{òåƒñãÑìëÒŃGZ?FŠÙl °æûïØ¾c'?˜Ä²%ßÓ"""""÷ÍpÎÊúõP·.,… A˜he›m»y3<ù¤cüÐ!hÐòæ…üùm­Rÿ11{6/nn0v,<þ8)bŸjÅ  (\Þ|3-—ÞÌ™ŽÅîÁƒ¡{w(YÒ6#ø… X1øðô1Ÿ|UªØŠÊ¶cHµo”.m›5m2ÁîÝi9€vílãyÄ6«»B[k‹T}úØf»ºÞ8Ã9«cÛ¿*V„wÞÀ@(_FŒH{ßn—Õ ÿûŸíõ¹»C©R°|¹-—Õ¾'O¶ûOØZŒT©óç;l^DDDäV~ïÞÿߨ '''jT¯Æ[#ß0®&""""rßQÁ9+þþ¶Âjx8„…Á_ÁGGÁ¬Yй3x{;Æßz BBàˆˆ€‰!õ¦/}úÀ©Sðì³0j<öœ?kÖØòØf¿ð‚mÝß·íÃhãF[A´qcÇxD>l뿜7/,Yb;ÎT•+Ûb±±°v­íuîØaËÂñãpù²­(›‘©SmEóÝ»aÌ[ëT³gÛÞ³Q£Ò¯‘&«c ³ÍÖ޷϶¬[瘿Ó¦ÙŽý‹/àâEÛkNËgµï `øpÛùX¹ ²½‘(¸f05ƒo\¶nÙ†ÉdÂËË‹ÀÀÆÕDDDDDî;j©‘• l Øf(wìh»‘^z‹­Àºh‘cl3`׬ß~ƒ5 jUã›2eÒf({zÚ~.^l+"÷êe{îã¾¾ië¤úüsè×Ï69½:ul3£‹† mÅ󨨴|úuåÊP¯ž­pšÏLÇŽ¶mÔ¯o+ªGGÛfƒg%«cãzAÀËË6«xÙ20ÀqÌ?±`¼øbÚLòòå#2ßwP­ ÏõóÖ¸±­ð\©RÚú""""·`Ü„‰˜Íc˜¾ÿÄä$Š  }»ÇñHý;QDDDDä>•3f8''ÛŠ˜©KHˆcþ—_óC†8æGrÌ/^ì˜ÏÌþý¶Âjõê¶eÊHIq³f äÉ“q¡öwl…ÊnÝl…Õ­[#lzȱÍ.UÊuk+v¦¥ÓKmíä”Ö#}[Š%K I¨VÍV ߺõÆ×–™Ôb3€Ëõÿ»ÈîúY›‹‹­Ø›*~Ûûq'dõ¾fµoŸ´Çd¹EÎÎ.¸8;ß°X¬VÌf ߯YÃ˯¼j\MDDDD侓3f8»»Û ¿©R‹›©êÕş/‚m6kïÞiÏóçOŸ½9«ÕÖsyâDxê)[QtÒ$Ø»×qÜçŸß|æ­É}ûÚfÌ~ý54jdk£‘¾X ¶^ÇFùóß8›Úhî\hÑ"ã™Ïég<g?:d›Q½aƒ­à ¶ҷ¸Í[‘Ù±q½pnëÍõÙ©oWþüpú´1š&«}Ÿ9“ö8õyê,x‘`ØÐ—Œ!6nÞ̈áÃhШ©1-""""rßÉ3œÁvS¹ÔÅXxtwwÌçËç˜÷ñqÌg÷«ˆ×®ALŒíæv`k‹1s¦ã˜ðpøùg[Û…Œ¬]kël2ÙÚi˜Í¶Bvv´kg[ÁÛ cco¼yŸñfÙakiáëk+°®\i»AâýdüxÛ9øûo[åŒ#2·dɳÝÁ¶)SlýªSRlã°0Ç1™í;, –.µÇ `Ó&hÛ6ýÚ""""wDçŽqrrÂb±àoœ° """"rÊ9ç{ÁÍÍV˜ìÒÅÖ2cÄÇãÌ™c+ çÍëOµh”+gk!Ñ©|ú©­_1À+¯Ø àŸ|óæAÑ¢¶}¤ªS.„qãl7±«PÁ±Oô¯¿B\4ožË®  ukÛ6‹t,ªÎŸo;î¼ym-M6„Ò¥m7ÛËŽúõm¯ç­·à‡ pa[Û«W#3–?¿mý€[ •ÎÓú*ýµ­wrÞ¼pö,´o%JØÎUz‡Ûn¨h4l˜íFO> ¹sÃÃ;ÎÏlß`{ßV®´í¿_?[ÿîŠÓò""""·(22’ˆˆ—ü‰èèhœœœøvÑ|ãj"""""÷Ô^é{˜ ‹SºÅ9Ý⸮€ûõ%×®=û·•-“IÜtöìÝKíP[?æí;vR;4¯ìÎ>–×þý¶b{b¢1s÷eµïÉ“m³ÎøÁ˜‘lÇ΄ïrÝò+ñ6ÞÃẸ˗i×6ã¶dñ ˜2j– š¡˜ÓßÏÂÀÓÓ“7^A›G[SìMwïå B¶ŸÛwì¤iãFi yàÅ'$°s×n‚© =v‚ZÁ5‚D ¸ \RÒ-–t‹Õ°¤²?Î=œå¿'»mGöU^DDDämß¶kctèÔ•…óçqðC¼þÆÈ›œEDDDDî*8‹ˆˆˆˆÜcnnnÆ+VÀÃÃÐZ\»z͘¹ï¨‡³ÜjÔ€¤$côߑվ_z Ö¬1FEDDDîŠ&ŒÃÙÙ‹ÅÂ;o¿iL‹ˆˆˆˆÜwTp¹Ï9;;Ó´icXDDDDä¾£‚³ˆˆˆˆˆˆˆˆˆˆÜ*8‹ˆˆˆˆˆˆˆˆˆÈ¡‚³ˆˆˆˆˆˆˆˆˆˆÜ*8g!ïØ¼ìßo ÿgüõ¾}ù=òwc*[z-ïEÏe=áÛ²ìÈ2ŠM*F±IÅpyÏ…5Gu?‘û ÎwЊ°ÔœQÓþWD]‰Âç}bcŒ©ÛâïíÏÓÕŸ¦¨wQc*[Z—kM›òmŒáÛÒ¾b{Î =Ù¡gðËígL‹ˆˆˆˆˆˆˆˆÈ=’£ Îoüò_øÒ¶k0§ÇcÃ$\K ÂÇŒál1™LÆP†>ßó9ýƒûÃÿŠ/÷ɣ奀Gcê¶äË•ñÍÇ“ß#¿1•-]ªt¡K•.ưˆˆˆˆˆˆˆˆˆ<€\ŒûYrJ2×Ì׌a»+×®`±ZŒa¬V+ WŒálYb=väBâš–nÊgm>»¡{æò6ŸÚÌüNó⇢1hÕ ~‹ø '“!ECXýÔjœMÎÌÞ7›w6¼Cx|8ï5~m§·±ëÜ.Êå/Ǧޛàú¬éw7¼ËáèÃx»y3°æ@F5å°€™{g2íÑiö烿ÌŤ‹l9µ…À"ø°ôðR^®û2Cjà“]Ÿ0m×4ÎÅ#·[nž«õ#ê`_ø>:.ìHô•hâ®Æ±«ÿ.jú§ÍÞn· µ‹Õfã߉Jˆ"îj´øÀ>›¹ÏŠ>|ÿ×÷Ä$ÆÐ²LKV=¹Ê¾nVǶ?|?Ýw£[Õn¬[AÂÕ:TêÀ˜¦cp69Û·óOY±òþæ÷™¹w&gãÎâïíχ-?¤]ÅvYî{òöÉì>·³ÕÌÁȃX¬F6ÉUŸ0îFDDDDDDDDä?'Gœï•°½ßv<\=趸/üðó:Ìs3kß,:W›·Cü­õoR4„ ½6`¶š ‹³Mûö¡O`^Zó£6br«É¬|b%W®]à@ĺ|Û…ÏÚ|F‡JHLI$">ÂaûÿÞˆÙj¦q©Æñˆ„>Lá …R{Kº.¡ïоö‚såB•YÒe  VäPÔ!êΪKãR -J _ Ç_´ÍÏ5:—ÃvSMÝ9•ÝvS$wZÌÓËŸ&f¸­¥Çì¶³»e,[Nm1¬™õ±…Å„QÀ³ûî#áZ ç4¤t¾Ò `ÜÔ-›¶kSwNea§…Ô*Z‹Ó—NãáêaÏgµß©þ¹ IDATï°kÀ.ý9{Œ Ï‚¨áWƒJ+¥Û‹ˆˆˆˆˆˆˆˆÈOŽh©Qáã øMôãÓÝŸòò/ã7ÑG¿y®ßÔÎo¢~ý8q€:³êà7Ñ1›ÇðùÞÏñ›èG™Êp>þ¼}ìú“ë {¹¹áõ†Sг ^®^¼þðë,=¼Ô!o±Z˜½ov†í4ª®ÂæS›ù-â7\\©Z¸ªqeò•¡m}OWOZLã’éU£>î>øzùRÍ·šaM[+~Aý0áØú£N±:x¸xP$w–lˆ¿·?QW¢ìùÆ%S±`E¸^|®W¼‡£§ÛBæ:VêH‘ÜE¨_¼>/}%Ú8,CY× ò^®^t¯ÖeG–9äÿ©ðbè‹4(ÑÊ(O€O€Ã˜ÌöT$ˆ@¿@¸~Þ—lÌʰ•ö¼ˆˆˆˆˆˆˆˆÈUŽ˜á68 €a?£bÁŠô êgÏU)T…ðaáÔœQ“P6Y{¾Púõ'þj<?®È™¡gì¹ì*æSÌþØßÛŸÄ”D.%_"{Ö]C÷<„ M·–Í;Þ¡xžât[Ü ßܾü¯éÿ¨PÏ8Œ‡|2†§T¾RưƒØ¤XV†­äƒ–Sx»Ûf[;™œðq÷Á„ ³ÅlÏ/9¼„Ov~Bô•hœLNœ¼x’öÛ§ÛBæŠxÛŠÍ.N¶K)Å’’nÄÍeul.N.x¹zÙŸç÷ÈOx¼í<ß®¬Þ׬öíãîcœQ^DDDDDDDDä¿*GÌp¾×ÎÆµ?>wOWO{±™ë³¨oÖêÁ„‰¾}9<ø0ýƒúÓè‹Fœ?o†«“«1D~üœ¾tÚv0÷À\Z”i¯—¯1å0ãÙ8ûùPÔ!ú¯ìÏäV“ùí™ßØ?h? J4p“ã6oEfÇÆõÂuú"î™ËgðËíç0æŸÊê}Íjßg.;þ§…1/""""""""ò_•£ Î[Lt˜Ýl´{Àn‡ÙÍéåvËýf7LÜ6‘˜Ä®\»ÂØ-céX©£=ÎÏǦ{µîë¤Z{l-“.bÂDÕÂU1[ÌX­Vã° µ«ØŽµÇÖ²ààS‰MŠe÷¹Ýcfî™a+¬D$Dàáêon_R,)¬ [yKmFþ ã·Žçšå_ú›YûfÑ¡RãL-9¼„!km=¡ÓëP©SvLaÇÙ¤XR8sù a1¶Yô©2ÛwXLK/ÅŠ• '7°éïM´­ÐÖa}‘ÿ¢ÑRã^2™L¼Tû%B>áBâš–jʇ­>´ççìŸC»ŠíÈ›+¯Ãz©ý±ˆîK»“”’„¯—/Ÿ¶ùo^ùéæÿ>Ÿˆ„¬V+?ÿ‰Õz0¶ÙX¸Þçxa§…ŒÚ4Š>+úÛ-7½jô¢¦M~=ó+qÉq4/ÝÜaŸÙÑ DZ—kM…©puv¥k•®EÕùçóÖú·ˆJˆ"ÙœLÃ/âëåË:Cx>äy‡me¤þìúœ¸x‚¨„(ÌV3…'Æ7·/{ì1ÍP~üõ)JÀ¤¬Xé]£·½¯ò׿Í[ëß"æJ —’/Ñ~a{ {fh¡¼ú¢}‡£³ñäÆt[µVw)–ž\ò$g/Ÿ¥ˆwÆ6K… ‹}´.ך•a+é½¢7…< 1»íl{/l‘ÿ²Ô^é{˜ ‹SºÅ9Ý⸮€ûõ%×®=û·•-sóþ¸éíÙ»—Ú¡!lß±“Ú¡!xyÚn˜'ÿ]ûÃ÷SgVßH4¦îº¬ö=yûdÖ[ËOý`L‰ˆˆH¶cçNBCl—-_±oÇ{8¤Š»|™vm7†ˆOHÀdº±uØÝ°7ݽ—ƒ Ù~nß±“¦¥%DDDDäŸÀÎ]» 4¦2tôØ j×dà*p HI·XÒ-VÃ’Êþ8GµÔÿŽì¶¹²ÚwVy‘ÿ*œEDDDDDDDDDäŽPÁYî;5üj42ÉþWdµï—j¿ÄšîkŒa‘ÿ³wßñ5ÝÇ_7‰ "ˆ„±b bï½·ªMû3Z´ªÕ]]´µÚjµ¨ZÕªQ”µjSb¥µGb#D†ì{„+÷¡¢Õöý|<Îã‘ûù|ϸ''Ÿû=Ÿ#""""*8‹ˆˆˆˆˆˆˆˆˆHvQÁYDDDDDDDDDD²… Î""""""""""’-Tp‘l¡‚³È?ŒÅlarÉÉìûzŸ1uIE'qrõIcø‘ycû«Ä„Çð‰ß'|â÷ º~Èú×Ö‡üãퟹŸÉ%'cI±S$dN3jÎ0†ÿVËú/ãǾ?ÕÇñ¼‰ˆˆˆˆˆˆü]ŒÇQbt"ë^]Ç© §HIL!O©<´žÜ¯’^D`íKk‰8Ar|2%Z” ùÇÍqts4nêÝv– onàÂî 8y8Q¡gšOhŽÉÞ@Rl»§îfÇÄ”ï^ž–“ZZ×MIHaÇÇ;Ø?s?Qç£ð(äAÃwR±wEë˜ÝSv³óÓÄ„Çà]Þ›V“[Q ¨€5Ÿ™Ð5¡lýp+á!á¤$¥ÐgM ×+löÀ’b“ØòÁ~Ÿû;q×ãÈ_!?-?k‰_M?똋»/²ùýÍ_qœWo¼Š³§³5whÑ!¶ßΕƒWpöt¦RŸJ4ß ROg6Ÿaíȵ\;z 7_7Œj@Å>wÏKF2;¶›gn²þõõœüå$³…¢ŠÒvZ[Ü|ÜŒ›º¯Ì®§“«O²éÝMÄ߈Çb¶ôLµ^ªeÜÌ#c²3Ø?ð®“Ìܺv‹ ù&àßÄŸ¾ëû°ëó]¬¾šV“[Q}Xuã*÷õg-9.™éAÓ‰¾Müx\ó»’¿B~ú¬ëcúÀÜ|Üxñü‹,í½Ô˜Î6ËŸZαŸŽ12|$v9ì³¼“vy:Òæ÷ÀéM§ù¦Ñ761€»Úœcß*¾TêWÉú{éŸd¬çX^8ý‚Íï´J¶.i e›Ìöý°"OG2»þlïÝß? Q |Uå+º-î†O Í:Y•“ÈO~âÔ¯§xùêËÆ´ˆˆˆˆˆˆÈßæñ/8[`AÇ´ õ­1Ù™8±òóÚÌcð¾Á$Æ$2¿ý|ÚNkKцE±˜-l½…¥½—Ò}YwãÖ؉•'¨ü¿Ê<¹ôInEÜâ»–ß‘¯L>ª ¬À‚N pËïFцE«b²3‘“H×]ÉW.aëÃXÔuEê!W‘\[~Œíã·Óû—Þä.ž›=Óöð}›ïyîÄs8y87w«N°¬ÿ2Z}ÞŠÒKãàä€9Ål–©ÙõgÓqNGrËmEž‰$ör,½Vö«„¿}ú‹º,âÅ ©…»³[Ïòc¿©ýRmޝ8žfk©b.ÅÐxtc Õ.DÔ…(¾mö->>TèUè Ñ,踀Nßv¢d«’œÞ|š…âU ¿Zw ÚéÉôضŸ%oé¼4ù° NîN,z9k_ZKçy›ºGLxL†×SØú06ŽÚÈ‹žÀÓß“„¨–öZŠÉÞDÍj7÷ÈÔ{³ž1ôÐ\ò¸piï%£qtwäĪä*’Ë8,SæØ\rhá!áLšÎÈð‘Æ!5s’™c?ÃÃσ°õa”hUÂ8$C7Ân`²»±Ø%Ë=çÃÎÁ¶ íSÙŸÊ®pùwŠ»GÂÍcØF¹n匡l‘•}?¬_žû…êêÛ›œ<œh0ª?ü™»Úä²*ø‹`bÂcqv„1%""""""ò·zì ÎÇ~:†›þý™^u:IqIøVñ% ]‡âÊ+Ô~©6Qç£ø²ì—¤$¤Pó…šDâFè r¿[Dý3š|ÔÄúµKŠ5)Æ•ƒW¬±^+{a—ÃŽµ#×bN¶-öÚ尣ɇw×h€“»‘§#ÉU$G—¥Ê€*ä-“€Ï×àÀ÷8±êå»—O³¥ûÛðÖZ|ÒÂf¬±•I·’°˜moÅÏW6íg¶·¾®üTe6ŽÚHüxœs;S¸^až;þÉñɬ¶Êf]€ÃkX¿Î—+~5ý¸~ò:a¿†á[Õ—RmKàߨŸ g‚ù&$KçÌŽ­BÏ 6ãËu+ÇöñÛmbéÙ>n{†×ÓúW×Óy^gv~¶“°õa$ÝJ¢Õg­X;rm¦çäød&úL¤÷êÞÖÙØ– ü˜Žs:R¢e ¢ÎGñËs¿pjã)ìí)ß½CìÕX£iþqsëÏÞµ#×X9d%á!á¸z»Ð!ÀfýŒXÌV<³‚е¡ÄGÆãáçA³qÍ(ÙæîŒäc˱é½M\;r GwG‚Ñht#&—œLÔ…(&úLÀ¯†ý7÷`ùÓË9±êqqoQœž+zZ·»í£mœÞ|šÞ«{[cÁ_óÇw0`ç€L-³}'D%°ö¥µùñvv”j[Š–“ZZïrÈÊy»vƒÐu¡tü¦£1@ùîåY=b5çwž·¹s$«¢ÎGQ ¨€õçODÄÊœüOø_DDDDþÅû¿F¯8NùîåYÜc1m¾l“:ãtÌÊv)Ëéͧ ]J•Uø¦Ñ7 ;6ŒŸî$>2žBµ þ{øCœmXàB𪠭f ݹu>³Þ©³…½Ó÷âèæh½Þ’bÁ>‡mAÐÍÇÍZ˜ÍHbt"á!á$Å&1µâTc)\·0->nAÎ|Y/²eÕù]çqóuÃ9÷Ý[Ïíì2}ßçwžçÌ–3Ö™¯é½ï‹{.ÚIJê~Ç–Öù]çÉW.Ÿ1|_'VH÷z:µñW^áò—rpsÌÁÙÓ{G{â®Çáâåbܤ•ƒ³åž(ÇïX L§6žÂdg¢x³â,ì´Õ 02|$I·’ø¡Û¬±†¶_µ`èá¡|×ò»4[NuhÑ!v~º“¾ëûâèÆQ¸~"ókéŽä¸dÚpbå ìì(\¯°Í¬[÷î4Û”Bµ ‘•À¼ÖóØõù.ê¼Z296n÷î·±E%ê|“KN& }ù+æ7½GÄñ:ÌêÀ© §Ø0j#ÎŽ`I%œÚpв]˶>Œ»b²3±òÙ•üòü/tù¾‹qSéò,âI±fÅÒýùñ­ìKbL¢1 ·Ï}Ù®e)Ó¹ _}ømÛZ‹ý»§ì&xr0]v¥`µ‚ÜedøÈ{ÚZt˜Õ€mc·qvÛY›\ÅÞÙôî&b¯Äâêí ÀÁ ìY8¶Ìö½¬ÿ2cyîØs8¸8°¤Ç~}ãWZ}Þ*Ëç-l]‚ ¤û;ÁÞÉž¢ ж.ìOœL¦ûÏŠ‘ÿ6WK<µ6b"""""Âc_p¾zOO®¹Fáz…9ºì(N¹œptsÄ’b!éVÑ¢É[&/ΞÎÄ݈ë„Wê¬Ý,CĶqÛHº•dÓƒù‹%ý}M)7…ë'¯ãáçA×…]ÉášZl*Þ¼8[?ÜJùåqËïÆÁ…9õë)|+û7qèKÑ\þã2vÀÎÞŽ_žÿ…ŸýÌ“?>i~«‡®òM“ÔÞ°qq̬5“½‰ÏÕ¸§%Bì•XÖŒXC£÷Rg&¦•ÑûþyÐÏøþvöv´ø¤¾URßW‘EX=b5g·¥PíB\ØuàÉÁä*|ï¬ÒÌdtlg¶œ!dNÿÛþ?cê^–ÔY¾é]OÑ£ÉS*áûÃ)R¿q7âl®ÇÌTê[‰EO,¢å§-1Ù›8¸à {WÄdo"âX—ö_¢ßÆ~88;ààì@£÷1·é\ÚLm“nË…;Ž.?JÅ>­­ŒjÀ¶±ÛŒÃ2T²UI6¾½“½‰€ö6íRòä!O@\¼\(Û¥,WÝíŸï ÞÖÓ~ä*’‹ˆãY*8c‚‚5 y&ŸJ>8{:ã^À[WoY‡>h=GUWefí™`I]7+<ý=éü]úmWJ´*qßV)‰)ûéF7"Wá\x•ð"l]˜u6íÁ©1¼†õšÉS*õfUÜõ8Æço}íàì`íIeº”±¶t(\·0q×ã¸uíq×ã¸zø*Oo{{'{<ü<¨2  aëÃŒ›H×b?@ùåùiÀOD³¨'‡¦h£¢öO-;y8áš?µ8ü°< yP¸na-:DõaÕ‰:Å¥½—èùóÝYÐ[Fn]»ÅÑeGvd.yR‹Åu^­ÃÂÎ iõy+®Ÿ¼ž¥óvõÈU¼Ë{ÛÄŒò•Ëǵ£×ŒáLÅ߈ç® TÚÚIDo{öì5† »B•pµÄSòöq"""""—Ç¾àœ’˜‚½£=.y\ˆ¾͹íç°˜-\;z|eòqtÙQÜ ¸}1s²™‹»/’«P.®½F¥¾•Œ›»¯ïZ~g3»vÈ!÷ôÜÜ;}/;?ÝIÿMý­í ²ªïú¾$D'pq÷EtXÀ‹ž Hƒ"TèU›go2·é\’b“(Ûµ,‚ àáçaÜĽ,©³Ûšof=ž:¯ÔajÅ©Y*²å+—ÏÚvzÐtº.èŠW‰Ô‡0¦uëÚ-¾mö-í¬}«³ªéئÔ{½×O^gíËk‰½KÝ×ë’»Xn:Û™ÕÃWu!õ¶ð­JØBîâ¹)Õ¶3jΠÁÛ Ø3uyKçµöFÎLço;“œl}}çí;~ûä7~ûä7úmè—åm¦åæë†›¯yJåáøŠãûùE¤Îv¬ûz]ê¾^nÏ4žä?Éz+yFrɦԢk.×Ô™ÁwŠó™›³*úB4s›Í¥DË´ø¸…1)/\¼\ðô÷¤Ú³ÕØûõ^ë{-Õ®¥Ú¥ö‘˜Yk&AÏ¥Y;c™Û™ÍgXØe!m¦¶ÉòCÇìrØa1[Ò½ž Õ*ľûh;µ-'~9Á¢.‹è±¼¿ ÿ%µ­DÏ{Å>9¸à ) )xú{ZÛ}¸ùºw=ÎúÐ>€ÈÓ‘8¸8d©hêîëNìåXëkKŠÅÚøATX…3[ÎØË,©Ì4ŸØœŠ½*‚)õçâÒ¾KiWÍXÏÏ}¥]7íDOíÉ{ç묞·‡uhÑ!Œj@г©×oä©H¾kõ) )Ø;ÙãâåÂÍs7«Ù0™LéÎ7Ù™²ö!TzÒ9_î¾î$Æ$’›d½ë"öêÝë'3{¿ÚËÑåGé¹¢§µ ÉGYó.^.™Î€¿SnøÕòÃ-¿'ל„Ûß—]Ÿíâ® ˜“ÍD"âX„Ív<ü<8»ý,‰Ñ©=¢ïü^x”rËO%6¿¿s²™›go2;Ä8,]1á1¸z»’Ã5I·’Ø2z‹MëÒKº&”ƒ ’—z=û´çÌ›gN®N=WI·’lòÉᚃÒJ³é½MD¢DË»íN2;62Ø·£»#zVàçA?}1µuÑ­k·¬}¤³zÞòäÍ´à~ùÀeò•ÍZù´\ò¸àWÓ¡7Œ)‘¿Ýc?ùbïŠì™¶‡]Ÿí¢êàª889q<‚ø›ñ¬^†ï4äÛßâ^Ð-J`N1snÇ9rËýp³oÏ8Þ2z S+LµÉ½té%Ü|ÜØ=e7»§ìN½ ûöƒËª ¨BÍjbN2³mì6.í»Dr|2žE=©÷z=*ôº[XÛl.÷\Ľ€;•úT¢þ[õÓì%ÕÑeGÙ>~;5_¨io=¹5k^ZÃe¾Àœl¦d«’üбô윴“ÈÓ‘l¿íã·[ãUW¥í´ÔØM)?‹9µò>³öLLv&G<ÊêV#WoW:Ðl|3ëv6¿¿™ß>þ §\N”lU’>kúXÀx‡ÅlaÕ°U4ÓØÚž€,Ûú×ÖÏ¢®‹¬9€.ó»P¾{y›˜Qf×Só Íù±ït˜Õ|eó‘t+‰«NØô‹ÍLîb¹ñ.ïÍñÇi7½M®Ûân¬²’‰>±³·£L—2´ü4õ{zýÄuæw˜Ï­«·¸q‹SN±sÒNüûÓin'Jw*͵£×ø¦É7$Ç%SuPUkßà‡eïhOËÏZòC·¬¨ ìÈå—! Ç–™ä¸d¦W›NôÅh,)>öýïòÞôY×Ç84]e:—áëj_sëÚ-üûÓò³Ôóq<‚ùíçGÜõ8Lv&~Ÿû;þüé<ïnÏæ˜ðÂ~ #!úþm8®¹Ê™-glb¡kBqÍçzÏí8´èí¨=²6æd3Kz.!êB_¼Ó ú°ê\¾ÀgÅ>Üb¦Ù¸f÷mc´æÅ5Yz„Ø+±$Ç%3.÷8\½]é8§#~µ2y º.ìÊŠÁ+Ÿw<¹ å¢Ö‹µùæÞâéý=Ä’K˜˜".^.Ô{£^Åï~påWË® »²eô–?½G7GûÞÓö¥ÍÔ6lzw+‡®Ä5Ÿ+Ïx€Yugy*’Ø«±XR,Lðž€[~7íd} c`¿@æ6KÍjZÛ……c#“}·ýª-›ßÛ̬:³ˆ½šú`ÂêC«S¸ná,Ÿ·bM‹±æ¥5éÎbNŽOæìÖ³4|÷îÌì•Q}‘¿Ëi“ÆÖÓ.viû4‹àäœn/λ÷†ì(QÜ?ÍæÒ·wß>jÖ¨ÀÎ]ÁÔ¬Qל÷öÁMˆJ`óû› [Fr\2n¾n4ݘÂõ ÃíÀ›ÞÛÄå?.cN2“,©¦ IDAT¯\>Ú|Ùæž>ÌÿTKz,ÁÉɶ_¥zÿ+"ŽEðe¹/yáô ýáÁƒÈìz ]ÊŽ ;ˆºÚÂÁ¿‘?­¿lmØŠü•ÆzŽ¥Ïš>¬QИùÛÌk5ÿ&þÔYÛ˜"dvûfìãéíOSY²mì6N®>I¯U½ø¹"r»‚ƒ©Q=õïR£eËÂÝãþ‹DGEѱƒíAwÄÄÆ¼{Ï_ØÃÙÖÎ]Á4iôç?Ø‘ž;ƒV©\Ù˜º¯“¡§¨V5°*$‰@œf1§Y,†åë×ý gn? ¬ùÄæÆ°Už€ÿŽ–D"""""""òײ}J›ˆˆˆˆˆˆˆˆˆˆÈŸ¤‚³ˆˆˆˆˆˆˆˆˆˆd œEDDDDDDDDD$[¨à,""""""""""ÙBçÿW^{ƒ‘¯¤ÿpµ%K¤Ió–T¬D݈‰‰1ùË5hÔ” 7ÃdÃÆM¼4òcØê£qXôÃbcø±g6›iÒ¼% ý`L‰ˆˆˆˆˆˆˆˆü-TpþiØ >54†HJJâ÷Fóâ Ãùcÿ~YñnnnÆazoôŒŸð±1 @·î½xã­·á½g† cÝú_álaggG—N¨P¾¼1•¡]ÁÁ”({ÏrààAãÐ?mö7sóÁGÆðY³v]ŸìÙl¶‰ÿqà Í[¶!66Ö&~ÇÌY³>â%cXDDDDDDDDþÆ€ü{µnÕÒ²ºy3ŠøøxêÔ© €»»»qH†<ÈŠ•«Ø²ñþÅU''Gá5³ÙÌ… Œál5äÙÁÆP–xzz²kÇV›˜½½½Íë‡qîÜ9ìLþó¬øøxÞ~÷=¦O›Šív*V(OåÊLþr ¯½ò²M ¿¾4oÕ†›6Ó¨acZDDDDDDDD¡?_’Œ×Þx“šuêP¶?k“Û°a#›µ YËÖÔ®Û€²ynø›q™™ûí<:wꈋ‹³1€““NNNÆ0{öî£ËOR©J56iηßÍ3±Š¥Cç®é΢þ«<J^}¨TƒªÕjòÔÿ‘’’À˯¾N•j59zì8Ï AÙ ”­Hbb"£Þy—šuêQ²t9V¯YK»¨Q».?™dØËýµhÝ– êµ(Yº3fÎ6¦3<¶;ìíím€7nЬEk=;”Zuê3gî·´m߉­Ûyó&•ƒj0Á":tîJ³­öü ܸq€yóP­fæ}¿€oç}o}ßÛ¶ï`гC™9Ëöx‡x‰‰j[±ò|}|©T±‚MüŽ^={°pÑbëùLËÞÞžîݺ1÷Ûô¯%y4Tpþûáìܾ•/ŸLÅŠÙü»~ÛÆë¯½l-ÜN÷!{ƒ)TÈÉŸ}Êá!>bå=ú½wÙ¹}+¥Jñö»ï3~ìGìÚ±¡Ï>cØËý­Yµ‚=Á¿Q·Nc 29¶Ìœ:}šÁÿG¯^=øtÒç|ÿÝ\ (Àλ¬c¶ïØÁ‹±nÍ*¼¼róþ˜èÕ£;»wn§s§ŽôéÕÓú¾ëÞž9ß·w/¾_°‹Å·g2oÜ´™Î;Z· °mûvê×OÿzªP¾övvüþÇc €ºuë°{Ï’’’Œ)y„Tp–‡Í•«W)Uª¤1eåää„“£í ç_ÝH‰âÅèоvvv”(QœÞ={°ôÇå6ãìyõõ7É™3'cÞ×&÷w*Y¢{öìáØ±ã888Pªdúï?#mÛ´¢L™ÒéÎP™ÛÍ›7 ªQÛºÔ©ßÈš3™LVªDáB…(S:wò{{qýºuL×.­­.z<ù$ëÖÿj-"g¤NíZ8Ø;°}ÇolÚ¼…€€Ró÷·zÏ1§e2™(^¼8aaaÆ¥J– >>ž /S""""""""ò©‡³<´è˜h<2èûìäèxOKˆëøúúÚÄ ,ÀÕUWmb³çÌåi×¶M–géþžn( ø2|ÄKäÉ›‡‘/¾@Õ*UŒÃ2Pª”1ôÐ2;6wwV,ÿÑúÚd²~‰³³öööØÙÙÝ}p¤É„9MKŽ´”Ì•+ñññÄÄÄdÚûÛd2Ñ»W¾Ÿ¿€ºuj³rÕ/tíÜÉ8Œèè<<<Œaîîné>8ÐÞÞgbcGC3œå¡¹ººÂí"az4¨O¥JmbÞùòqÑ0õÂù äÍ—×&–7o^V¯ü™5kÖ²vÝz›ÜßÉd2ñD×.¬ùeÝ»=AÏÞý¸rÕ¶Xn2™îéläàýŸûdvl&;;||ò[—üùó§]ûîWi+Ñi„‡‡ßýúr8ÎÎÎ6Åf“ÉDŠÙl}VçN ÞÍùóçÙ¹+˜6­[‡àêêJttêé‰ŠŠÆ=¢tRRqqñxxd\‘쥂³<4Ï\¹ðòòâÄɓƔձcÇ9sæ¬M¬i“Æœ>s†eËÂl6Ƽù èÔ±ƒÍ¸–-š“7o&ŒËoŽzlÚ$lݶ¨¨hL&¥J–Äl6ƒ¡­„O~¶mßÙl&%%…ääd›|f>ûü /¹;9«²rl 6KVZbÜñݼŠ&..ޝ¦Ï y³¦6yŸüìÝ·Ï:9>>Þšsuu¥]»¶¼õö»Ô¯[Çf¶ôþþE9q"ýëÉl6s2ô$%‹7¦8~ü9sæ¤@Æ”ˆˆˆˆˆˆˆˆž8Þ˜à£q(^ÌŸnOt5¦ä>*Õ`Î̯ïi‘ò :Äaϳé×uÖ‡¦G½†M˜=s:Ê—7¦yùÕ×ññÉÏK#^0¦HII¡i‹ÖŒ~ïêÖ©mL‹ˆˆÜ×®à`jTOý»ÔhÙòŸÒmãEÇíabbc Þ½‡Õ«S‰»‚iÒ¨¡1,""""ÿbwþ­R¹²1u_'COQ­j`U H$ 9ÍbN³X ËÖ¯ï­ôˆü •hÕ²_|9Õ˜’¡i¿a”œœÌ¤Ï&Ó¯Oïû›\\\ýÞ;Œù`ì=û ùßÿƒ!Ï ¶‰ß1sö+UT±YDDDDDDDäoýO+“ÿ¬÷Þe ‰Øx÷ý1¬X±’FÒ¿__cÚF«–-hÕ²…1L``%Ö®^i [ ð?cHDDDDDDDDþ"*8Ë¿^ãF iœÁí¤¯¿ú²1$Ø¿g—1”eï¾ýï¾ý–1,""""""""ÿ÷¿Ÿ]DDDDDDDDDDä©à,""""""""""ÙBgÉ*8‹ˆˆˆˆˆˆˆˆˆH¶PÁYDDDDDDDDDD²… Î"g† cÝú_a‘œE1³ÙÌ… Œa‘œE2Ñ®C'ªV«I•j5Xÿë6nFPÚlÚ¼€°S§èÿô*Õ aãf̘9Ûºî˯¾N•j59zì8Ï AÙ ”­Hbb"OöèÍ÷óZÇŸ9s–eIHH€Lö}äÈQÚ¶ïÄS¦Ò£w_6iÎsÃGX×Mkð³Cyý·Œa‘lå` ˆˆ­Ÿ—ÿHTT4UªÕ`ÊÔiü´l)®®91›ÍÄÅÅÑ·ÿÓtlßžÓ§qåÊUzõíO¡B~´hÞŒ ã> q³¼þê+4kÚĸù e´ï“'C9zìÍ›7eþwsIJJ¢K·î,\´˜¾}zÙl§f͸¹¹ÙÄDDDDDDDDD²› Î"`ð xx¸`ooφ›0›-¼8b8vvv(àK·®]XõËjZ4of\ý¡÷}Gß>½È‘#•*V ìÔ)kúõ5†DDDDDDDDD² Î"  ”Íë+W®pãÆ j×k`%'§P®l›qYe¶˜!+ã¾¹]döÌ•ËúÚÞÞ””d›1"""""""""œE€ƒƒíLÁ‚)æïÏÊŸ—ÙÄL&)))Æ0öö$'ß-‡‡_¶É§eÜ7··+""""""""ò¸ÐCEBíZ5‰‹cÚWÓ‰‰‰Áb±pöì9ŽŸ8a3Î'¿Û¶ïÀl6“’’b-2-R„›6“@ll,³fϱY/»,^ò#7m6†EDDDDDDDD²• Î"8wîÍ[¶¡~£Ô‡ýµiבæ-ÛpáâEœ™;{&‡¡Y‹ÖV­ÎÐç‡såò›í¼úÊH:LPZԪۀа0†y†øø8jÔ®Gç'ž¤mÛ6äÈ‘²°ï¬2›Í¼7z4§OŸ6¦DDDDDDDDD²Õ½÷苈U¡B…X»z¥1lÃÏÏÉŸ}j Û¨X¡>ù)‘l¥Î"ÿr]:w¢KçNưˆˆˆˆˆˆˆˆH¶Ó gÉ*8‹ˆˆˆˆˆˆˆˆˆH¶PÁYDDDDDDDDDD²… Î""""""""""’-Tp‘l¡‚³ˆˆˆˆˆˆˆˆˆˆd œEDDDDDDDDD$[¨à,""""""""""ÙBgÉ*8‹ˆˆˆˆˆˆˆˆˆH¶PÁYDDDDDDDDDD²… Î""""""""""’-Tp‘l¡‚³ˆˆˆˆˆˆˆˆˆˆd œEDDDDDDDDD$[¨à,""""""""""ÙBgÉ*8‹ˆˆˆˆˆˆˆˆˆH¶PÁYDDDDDDDDDD²… Î""""""""""’-Tp‘l¡‚³ˆˆˆˆˆˆˆˆˆˆd œEDDDDDDDDD$[¨à,‰þËúÓ÷ǾÆp†BÂCpãl [ýxôGü>ñÃï?Þw`õÉÕÆ!ÌÜ?“’“K’bI1¦Ò•Ù¾µz³ëá÷‰^㼨9£¦M.<&Üú¾]?tåµõ¯ÙäEDDDDDDDDþ.*8ÿÇ\½u<ˆˆ‹0¦X~l9AÓƒŒát•ŸRžX_'›“1½gâèµ£6ãZ—lMÛRmmb«SéNœñ<ç_<›1mUÅ· ý*õÃÞdoL=´I;'ñÂêŒá‡¶õ©­œñ<ã›7¦ðqó±¾ïN¥;Ó"""""""""càqöæ†7)•§ý*õ3¦$‹¾ ù†6¥ÚÇ%1À×{¿f`ÕÆðCëV®›1”%&“Éz`•}*SÙ§²1œ©¬ì;ìFv&}n#""""""""Â?m†sBrI)Iư<€ûf0°Êý Êç£Î³õìVzVèiLýiO/Ÿ‰>䃶ßß;Ãy}Øz*L­@Þñyiñ] †­fÓ"ÂÁÎ9!s(:©(žc=é½´7‰)‰6ÛHÏW{¿¢Ð§…pùÀ·ÝŒiNEž¢ÉÜ&xó¢òW•¿}¼MûŠŒö=uÏTòMÈÇ”ÝSø"ø œÇ8ã<Æ™uaëÒì!}ç¢ÎÑn~; |\€ÜãrÓè›F8nöÈLß;’“Kâþ‘;AÓƒØpjƒM~ù±åTùª .¸à=Á›QGYs,|¸õCŠ}V §1NøæÏ²£Ëàö÷Óg¢ílóÞK{[¿§³öÏ¢ð§…qíÈØmci?¿=¾ûRvý,å-X¿}³™K üSp»×ñeŸÀÝÑݘúÓfu˜EøÈpF7mLq%ö täïpåå+¼ÓàfîŸi3&>9žM§7qdØ=Ì–3[˜µ–͘ô ®:˜s#α±ßFc €'x’Šù+>2œŸ{üÌœ96ùŒöýlг\}ù*ýû3¬ú0âߊ'þ­xškf³ôx»zÓ«B/N>’+/_¡l¾² _=Ü8ì‘Xyb%onx“]p󵛌j0ŠöóÛv# €ß/ÿN·ºñ|ç¹<ò2†à‰²OXן²{ “ƒ'3§ã"_‹dMï5T-P5ÍÒ÷tå§9;â,Cª aô–Ñ´ hÇ¥—.±ºwjÿíÌò“wMæ‹à/XÙk%×^¹F“bMè²° f‹‹ÅÂüƒóY×w‡¤ªoU›0þoõ9O,z‚óQç­ëúy5ùˆ¨×£8ñü žªü”5'""""""""ÿ‚sÀøLôaêž©¼´ö%|&úÐæû6Æa’‰¯÷~Í€*0qo«³Å̬ý³þT;A?"ïø¼äŸ÷žÙ­Yq|yèZ¶+v&;jªMû€ö6c’ÍÉŒi< ¸ yñæ¾zØfÌŸv#ŒÝwó^Ã÷p´wÄÏÃçjê¼µmEZwf!§ç~ù¢žEy£Þt.ÓÙ˜²ºß ~OgOìLvœ»yî¾?E=‹òTàS|ÞêscÊÊÍÑÑFóF½7xeÝ+´ø®‡†¤®DDDDDDDDþk2¯¨=F&6Ÿ¨ÙÍÒŒ}3Òm—ίa¿Ò»bocê‘j]²5G¯eÑ¡EX°ðûåßYzd©qØ#Q,w1*ûTæío“˜’ÈÕ[Wù"ø ã°Lùyø±ýìv¢£ˆKŽ3¹¯ð˜pü<üÈaŸƒË±—³eŒqÈ#Ó·R_f‡Ìf諒X°°üØrvœÛaíÓܱtGÖ„®aÁÁÄ%Çq#þ{.߹Lg>Ûõ».ì"ÙœÌù¨ó‹H½ ¡¸Wq"ã#ÙtzÜ~ˆàoç³®û° æíoóûåß1[ÌÜJºuσýÒãšÃ•æÅ›óêúW9yš$s‡¯æJ잪ü .`ù±å$¤¤Î8¾ÌåØËD%D±éô&â’ãpqp¡¤WÉû~À²äÈF¬a ‹ˆˆˆˆˆˆˆü'h†óÀoç#:!:ÝÚÍ™MÇÒñtö4¦ZÝYu9yŠ«±WI±¤à=Á›ünùÙ;h/¾n¾,é¶„‘kG2xÅ`Jç-M£¢÷ áýÌ;0·7¾MÄ­n&ܤÓÂNx»zób­^c8/®y‘¥G–r%ö qÉqä—oWoætœC-¿Z,zbƒW &ÿÄüx»zÓ¨h#BÂCŒ»ÉаêþL±ÏŠ‘bNa\³qÖ¾ÃÓx Ϭx†¶|@q¯â¼^÷u‚/[óµfÖâLä"â"HJI"ïø¼x»zòL§#OÓ~~{"â"¸w;“sŸK#ÿFÌë<Ïf?÷Ó¼xsÆ6Ë“? ñåu/3ÿÀ|.Ç^Æb±°.l}*öalÓ±Yʨ2³ÅL諒9y—.4-Ö”Å[X÷‘‘o;}Ë+ë^¡æŒšD%DQ« ŸXˆ·«7åò•cÑ‹x{ãÛ<µì),X¨â[…ÙfÃíÙû£6ŽâËP*O)f´Ÿaعz„ͧ7Ã""""""""ÿ wî=O{ºÉ°Ø¥YìÓ,€#pº½8ïÞ²£Dñû÷H5Ú»o5kT`ç®`jÖ¨ŽkÎ{&ÿý—õ§œw9^®ý²1õÈÍ ™Ã‡`eϕƔˆˆˆüËí ¦FõÔ¿K–-ÿ w»Ï}H+:*ŠŽîß+&6–àÝ{¨Q½š1õ—ع+˜&Ã""""ò/vçoÐ*•+S÷u2ôÕªV†H’Ó,æ4‹Å°ÜaýúÕRCþ]"â"X¶ÞÚówߥ}ütì'ýkþc´üØrk+Œð˜p¦ìžbíc,"""""""""N-5äoc¶˜™°c½–ö"ÙœŒ·«7·ø˜jþšY@¿œø…¡+‡ŸOÎ9éV®Ï×xÞ8LDDDDDDDDD²HgùÛäË™5½³öÀ·GaZÛiƈˆˆˆˆˆˆˆˆ<µÔ‘l¡‚³ˆˆˆˆˆˆˆˆˆˆd œEDDDDDDDDD$[¨à,""""""""""ÙBgÉvf‹™’“Kòõ¾¯)ùSÁY¹ð§ÃY²ïÒ>ê̪ƒë‡®øæÏ”ÝS¬9Ÿ‰>˜Þ3ݳ4ÛÔfcÒÎI¼°úc >ùí¾ÀyŒ3~Ÿøñú¯¯‡ý'Ù™ìèØŸ AÆT¦¢¢ºj(>.€Ë.”þ¢4‹-2ûO긠#ËŽ.3†ÿý,dϱžDÆGì:±Šš3jâú¡+yÇç¥ÝüvÄ'LJ=¶NGž¦ð§…¹sÉ&•E‰ÏKbù's0gonx“RyJѯR?cJca7ÂŒ¡,‰Jˆ¢Åw-x6èYw[Ì¡+‡èöC7|Ü|è\¦3^º€ÅbáÐÕCN $iTÜ.vf—°aénïÍ_ßdÁÁ|Ýþkª¨Æ•Ø+\»nöŸõf½7¡L™-fÚ|ßggÖôYCQÏ¢8NnçÜÆ¡ÿ9f‹™Ó‘§ál1~ûxzUìEA÷‚Æ”UF? [¿S IDATëzÜun&Ü4†X}r5O.~’I-'Ñ> =)æ\9€³ƒ³qècë¹_žcXõaøºùÚÄ=œ<Õ`Èî»mr"""""""ÿT¦zðˆ$$'”’ZT”¬³`áíRì³b8qÂÿ3›Y’ÛÎn£ÆŒx|äA±ÏŠñEðÖܤ“ðÓúü؇º³êRdRÆlcͼ¿ù} }ZȺþ’#KØ{i/…>-D÷ÅÝùãò8qÆyŒ3£6޲Y?=‹-"·snÞoô>¾n¾4-Ö”¡Õ‡òÕÞ¯°7Ùã`瀽É;ì¬E1 ÆoOÑIEñçEÓ¹M ½ @Lb ¥&—búÞéÖý=÷Ës´ü®%,LÝ3•|ò1e÷¾þÂzìëÂÖÉÄ™Ûi.Mü›àáäA ¯T/X€·6¼E÷ÅÝ­ÛðûÄÕ'WðÌŠgð™èƒÝ{v,>¼˜Ài䟘Ÿ7~}€èÄhz.éIÞñyÉ56•¿ªÌ‰ë'¬ÛÊè{vàÊŠ^×]é´°oo|› ß„|Y*ˆ'¤$ðâšÉ?1?¹Çå¦Ýüv6…ÎÀixó"÷¸Ü,?¶ÿÏüÉ;>/«N¬ ì—eÉ3>vïÙ1qÇÄ4[NõñoSdR ~R!+‡ÐpNCëyY}r5‡®bé“K©à]wGwªúV¥XîbÔU—i{¦Y·uòúIL³]3;¶ÃWSv}<Çzâ5΋–ßµ$Å’bÝÞô½Ó)9¹$î¹4=ˆ §6Xs³öÏ¢ð§…qíÈØmci?¿=¾ûRv}ë˜G¥ß²~ä—›?.ÿA·ºY¯Ç„”ë˜ÇW8-\csQqjEÖ„®±ÙFF ç*L“ošðÖ†·ˆNŒ¶Éeö³@&û'=—ô´¾^zd)?)ȵ[×(9¹$~ŸøÁí»œÇ8Ó`Nëø·7¾Í«u^å•ÿG¾œùðqó¡Y±f¬[ÏDëX€ÞK{óÚú× ‹ß³ô~‘ ? Ü.Ô¯ ]Ç€*¬±´º—ïNèõPvžßiL°ãܼ'xsäÚcJDDDDDDä±ôšá,ΔÝS˜<™…]R­`5ÎÝ<‡K.Å\¢õ¼ÖLi3…žzrôÚQšÛœ<9óУ|fîŸÉÆ~iX´!ç£ÎSrrIÚ´§bþмr ;&ptØQ ºäbôEìR/«ª¾U97âßýñwL$ä™»m|ø~jªe«Q°†M‘8#“wMæ‹à/ø¥÷/”É[†qÛÇÑeaö Þ‡›£ º. éܦÔ/RŸÓ‘§Yrx !Ï„`ÂijAÏòlг øinŽnLj9ÉfÛ;ÏïÄÍѺ…ëÚijjZÛiLk;Ài Y9„µ}ÖèÈ­¤[|ò gožåÜ‹çpvpæðÕÃø{úC¾g¼+ú|(ËŽ.£×Ò^¸;ºsîÅs$$'3GNÑÜëÍ_ßä·ó¿ñdzÛ97oo|›ÖóZspÈAìLv„<Bd|$¹Çåæƒ-°ð~ÜÝ0[Ìz˜ÿ³wçq6–ÿÇ_g63˜ 3feŒ}ËŒ½ÍÒ É)B¤HE*•–/¥’²hEYJ¡¬cÍ>DcÁ`3f83÷ïænÎm6™o_êý|<îÇÃù|®û:÷\÷9Ç<>çšëh9³¥¥gX|`1#Ö`åã+©æW 1˜¼y2oÜsµ@¸æðš„5ÁÓÍÓzjäwmƒV ¢~p}V?±š #ƒØÄXó ‹Å3ð§,麄ȀHî_H›YmØÑ{á¾áôˆìAÈô[Ò÷Ö¼ÇØ–cù¾ó÷æ=ËËÙKg©4¡’5Léâ¥ÙÝg·5|éí¦Pa|¢[DÓ®J;‡üÖø­t˜ÛYÏ¢m•¶ü÷3mfµaÏs{ñºZÌÍK§hW¥b&Pïãz¼ØðEzÕî…‹“K¾ï…üž{Jë)D~ÉŒ3ˆ*ų‹žeN‡9”*Z €ÏàØ…c„Ž %¡>î>fß—ì—Ø|b3Ÿ¶ù4Û3\~÷,¯Ï/ á½°üÐrêÕ¥„G 3–]ç"4kÌòCËiÒК¦Œwš—oN@qǺˆˆˆˆˆˆÈ­ê¶˜á\ybe¢˜¼y2¯,{…€èüêAk3ÉÅì]³y±Á‹4*Û*•¬D¨W(ßÇ~OU¿ªt½£+N6'ªùU£O½>Lß~µÀPÓ¿&MšâBYï²ì?³€`¯`\œ\˜³{©WR ò ¿˜¿yîÍ8ŸvÞ¡øàíîÍ…ô ±Ü|ºõS6Hu¿ê8Ùœxíî׈=k^{íÀÚ j<ˆNó:ÑóûžÌh?£À×~æÒJ/m ÿ%jt""àê×Yáª~U9xî Ë.Ç0 ªûU7 a¹gYR¯¤2¦åœmÎ*6|¹óK5Déb¥qsvcpÓÁ½p”˜ã1Ö¦¼qÏø¸ûàâä‚›³›5}¯w}M×;ºRÿN6'^hð¥‹ý9Ž…9®9][uÿê¬=²–'wàêäJ ÿfû™;fÒ#²uëàds¢må¶ÜzWŽëG—÷-O¯Ú½ Û=Ë‹»ÛŸÝ~ݱâñ֦ɴíÓhW¥íª´Ã†&aMhÒEûY›æÊÝÅWïz•o;}Ë»«ß奥/Y›ä(¿çö*âŬ‡gñÒ’—xdÎ#ô®×Ûü<ÉÏÙKg10 å5‘Ó=Ëïó«0Þ {Oïux夺_uö%áÚgî—í¿Ô²2""""""rÛ¸-f8Çö ÿ²þT)U%×?M–œ%\L œïÕÙ±V§RNQÆ»ŒC¬¬OYâwÿ¹¹U §ãº£.N.Ø3íøºû²åé- þy0áãÂéY»'o5z«PÖWõv÷¾n±¤´¤ëŠÐ¹9‘|‚+ðöª·Í˜«“+ñã©Rª ½ëõfÈš!T)U…¨rQÙÎΛ¯»/§SN[ÃyÊ>ë1»š¥kZCD•‹bö#³üó`^Yö ïÈO@ïY– Ï Jz”´†ódíßÍÙ€â×mxF.מ—ø‹ñfqÀ†Ía®¯»ï ­ùÛ˜’˵½ÓäÊx—¡Ó¼N”.^š¢>àîлáÚÏm±^Ö§l¡üÜIiI9nœYÐÎù9‘|‚¥—:,/‘ž‘îðó´œÙ’Í'6›wöÙé°¦p\R#×då¡• j<ˆžµ{š¹¼ä¹ë×§aHCVÅ­bI׫˧DÖ{ýtÊi‡/&ò’Ûk"§{–ßçWa¼ΧŸÏ÷ڽݽINw\ÊDDDDDDDävu[œåæ”ð(ÁÑóG­a‹²0v¡C,.)ÎáÏ·mØòVá¾áLk7ø‹ñt˜Ó¤´$&µšdæm6›Ã:¹Á¨õ£b›Žo¢v`m‡XnÂ|ÂpïÚWmoM™^_þ:uƒêrøüa¦ÿ6ýº )s»özÁõ8—vŽ Ç6äøgð.N.\Éüs½ñôŒtsÍZ+W'Wk€Æe³òñ•l>±™¿zbnÅèP­CîY–ÜúÎK`ñ@'¦º_u¸víñÉñ…Ò@ñŽ'wˆ¹tÆüwÆ|¶í3R¯¤æ8sØ:®Ç.sÈg—ÓµÙ°Ñ3²'="{ðåŽ/i2­ G^:B`ñ@óçÎ..)ŽûÊÝç#—¾ó’5ÃÙÊÙéêr•Ûë1Ì'Œ'#ždüã­)ÓŒö3H·ÿ¹æsö™¼ý—õgñżrç+Œm96ÇŸïfž{Á¾lOØN«Š­xqÉ‹Lm;Õ!o³]ýŒ±ö_̵5ýk²hÿ¢g [_\{MX¿!{–×çWa¼<Ý•÷,ö'wRͯš5 ×®1z}4çÒÎYS"""""""·$ÍpþèWì™vºÌïÂñ Ç ô dX³aT.Y¿¢~üðØô[Ò>‹ûàëîK¿†ýx¬æcÖnr”˜šÈ³‹žåsPÄ¥w†ÜɘûÇ8´iT¶½êô¢É´&¤^I¥må¶Lk7Í¡MN¼‹x³¤ëžÿñy†¬‚=ÓNÏÈž´®ÔÚÚ4GOÕ~ŠL#“®ßtåpÒa<\=hÞŒûËßϱ Çèñ]¾lÿ%þÅüñ/æÏ€{ðèÜGÙðÔóOêûÖïKÌñÂÇ…“‘™ÁðæÃÍu`'´šÀ5CxvѳO>NI’Œh>‚ˆ€:VïÈ’ß—PubU|=|y´ú£ëÖ6šÚˆ}‰ûÌñüó`F¶ÉÃUà·“¿Ñy~gΤž¡¸[q:Tï`>ó»gsvÏáo1ž4{~#ý¨á_ƒUݯéòóvã·I·§sÇä;H³§Ñ ¸‹º,Âɿġs‡hõe+sI;&ßAgK»-¥¬wYœ=@ÛYm9zš3©gøéŸ»a,÷•»/ú‚¶•Û{W,~ù —ì—¸¯Ü}T-UÕ|n'V<¾‚W—½Êƒ_=HRZå|Ê1·ã\‚=ƒy³Ñ›tû¦¥£KìÌÀFY~h9@¾×Ƶ±éúMWÒìi”.VšÉ­'ä@‹ò-ÖlÎ}”„‹ ”/QžùçS¡D^]þ*³vÎâdÊI Ã`ù¡åt»£Ú 3¯ÿ¿mDóôY܇’#JâêäÊÊî+©é_“ê~Õ™ÓaƒV âÉOb`P;°öu3‰s“Ó,n«ÜÞ y=·=ÓNçùy¦Î3æëÿ«‡¿â™Ð ¤KT„kçM~p2ï¬~‡ç?‡_1?<õ ªŽÕ;b`0ì—aôý¡/Eœ‹Ð=¢;MÚêJt‹h:ÍëÀ]¡wñbƒÍkÎïžå÷ùu3ï…,Í›ñÊÒWrÅœfOc푵¼Óäk ®Í±nýö³¦DDDDDDDnIYk%d_3Áf9œ²ÎÙÀ pŠ\;Ü7mÙ¾¾Bùœ× ¶Ú²u+ Ô`ÃÆ6¨O±¢×ÿ½ÀÜ=s¯ÎBî›ãr r{ ÆÜŽs©TÏšùGxàˈ*Eÿ»ú[SLÝ>•O·~ʺë¬):ÏïŒW/>jý‘5%"…lcL ê_ý½ÔjÁwßãéåe |áíÚ¶±†¸˜’B̦Í4¨ÿ¿ù?nÃÆ¢šl£VùgÈú´vd¤5•£ßþA½:u€K@:p¸س™ÙÃrd1ÿ}[-©!ÿnªu Ô+”a¿ü}3J¥pí<µÓ\N#ÓÈdÚöi\²_2×Èù'šÔjb&8,qµ ßûù=¦´žâÏnñ ¯q+ íf·cÁ¾Ö0›Nl¢ÊÄ*$_N¶¦DDDDDDDD MáU þH¥’•è^«»5%ù8tî5T(fî˜I¥’•¨\ßšúŸ‹¿Ï=ŸßÃO0®å8|Ü}ˆ9C…¬MoYã7ŽÇ¿˜?­*¶2cÒ/pÿÌûé]·7ó:Îc÷©ÝtœÛ‘€â´¯Úž¯þŠ™ígÀ×¾¦qÙÆØl¶l=ßœ¼^OWdö®Ù|ÒæêÕãTÊ)Î^:kmö³þèz^Yú ‹º,¢AHN$Ÿ áb‚C›¼Æífe™Ä%ÅYæzAõ¸3ôNÿ<˜‘ÍGZÓ""""""""…â¶šáœnOçJÆkXò°%~ ¡cBé4¯;NîÀ}ˆ;îCÜykÕ[f›Ø3±´˜ÑŸa>”WŽèõÑ}䥪_Uú-éGçùù#é‡Ü¼=óxàˈü(’*«0ê×Q”WŽs;˜m~9ò >m€×P/ÂÇ…31f¢™úËPZÎli>˜3‘†Ÿ64/Ú¿ˆˆ)xóæŽÉw°ôàR37æ×1DDÝ"š0Ÿ0|Ü}hQ¾î.îØ3íØÞµ±/qŸÙþÓ­Ÿš}ï<µ“òãËSìƒb<ôõC Z5ˆ QAøô3‹§{Nï¡ÑÔFø ó¡Äð´œÙ’ #Ãìïã-SqBE<‡zR÷ãºüôÇOfîÙEÏ€Ó»NÌÛ3ˆ)”Ž.Í€•Ì66N O½>±9»çàëîËঃ ,H³ðfÚòN6'\œ\pqºú}’³Í'œmÎfy[—ù]è2¿‹ùø›½ß<:˜ÄÔÄ|_OIiID¯æ‹‡¾ ª\^E¼¨P¢‚ù…Ä›?½I§y̾BF‡°ä÷%|¾ísÊŒ)ƒÛ{n ûemfµ!pT ¦62Ûþy0¡cBÍ×Ìü½óÍܱ Çxèë‡ðæƒÿH^øñR¯¤Bï)Àê¸Õ”Ž.Íáó‡ÍXv¹å÷%wî+wÅ\‹Q±DEî-s/ð}8iÓ$ªXßá¾„Ž eØ/ÃÌ\~ãÒ}Aw|‡û²ãä:ÎíhöŸž‘nöЧ^>ÙòÉuñ,£M¥ •¬a‘»­f8Ë«X‡£/e掙D¯fû³Ûò)WRhöE3ºÞÑ•Å-&>9ž¦Ó›îNûªíÚæ¤N`Ö÷\Ï7{¿¡Ýìv4oÎÀFñu÷`ñ {ùmfµá»}ßÛ7¿‘~œN==ÓN«/[ñáƒÒ¥fö%î£ÅŒ”,Z’Î5:ÓõŽ®¼³úN¥œÂ¿˜?³wͦ{ÄÕî[ã·Òanf=<‹¶UÚòsÜÏ´™Õ†=Ïí!Ä+„5‡×Х柅ÓQÓ¿&_8È‚} xì›ÇðtóäèËGI·§SÔµ(ƒV ¢~p}V?±š #ƒØÄX³¨»øÀbþ4%]—ÉÂý i3« ;zï Ü7œ)­§0¥õ"¦DÐgq–u[FD@„YåÚ'’Op_¹ûÌÀ¶„mÜz§C¬Ap>Þò±C,7ùÛ”ÖSˆü(’;fU.Šg=Ëœs(U´¥Š–Êóõ´áØŠ»çž2÷8Ä ªGdzDö ß’~¼·æ=ƶË÷¿7Çeש]Œ\?’}}÷ì̉äfa࡯¢^P=ú'z%•Žs;òÒÒ—ø¨õGº§e}ÊÒ<¼9~EýÌXv¹å›…7ã?+ÿÃë+^çÕ»^¥TÑRf.¿÷!@5¿jÌï8Ÿ*¥ª°çôîúì.š–kJƒàùŽËôvÓ¨0¾Ñ-¢iW¥¥÷«êÕÅÙÉ™˜ã1f1<»Zµh]©µ5,"""""""R`·Å çÊ+ÀäÍ“yeÙ+DðàWZ›É_°ô÷¥d™¼ßû¸:¹RÆ» =#{2g÷kÓ<µ¯Úž_zü¯Ç~u˜ZÓ¿&Å\‹QÞ·<ÃãæìF©¢¥HLMäûØï©êW•®wtÅÉæD5¿jô©×‡éÛ¯ÏB½B¹§Ì=æµ½p”-ñ[èTãê ÙiÛ§Ñ®J;ÚUi‡ MšÐ0¤!‹ö/àÌ¥3”.^Ú¼–¿*õJ*cZŽÁÙæìP˜¬î_µGÖ²ãä\\©á_ÃÌÍÜ1“‘=¨X'›m+·å®Ð»r×N5:pu]ßìýï=½—pßp‡Àù´óø¸û8ļݽ¹~Á!–›üÆÍ«ˆ³žÅKK^â‘9л^oš„5±v“£Âs€ò¾åéU»d—`¯`\œ\˜³{©WR ò 2¿Œˆ=˶ømŒh>wwJx”`pÓÁÌøm™F¦Cß¹ÝS€r>å˜Ù~æuñ,¹åËx—aÃSH¸˜@…ñ賸çÒÎ9´ÉKÓ°¦T)U®Ÿï.s7{Oïµ6Ëq\ ʆª¥ª:ÌìÏ.ª\£ïm ‹ˆˆˆˆˆˆˆØm1Ã9¶o,ý—õ§J©*Üô!Ÿný”‡ªýúÂ2׊ËIiI±¤´¤Ûæ$¿q¨\Ÿ†! Y·Š%]¯.wQ7:æä1î9‹¯»/[žÞÂàŸ>.œžµ{òV£·pwqçTÊ)|=|)îVÜl_Ö§,—ì—8Ÿ~Þ|ÝÇ=½Yå|Ê1½Ýtâ/ÆóÚò×h4µÛŸÝî°œInæïϤ˜I$¦&âds".)އªSEDDDD²»­¦dD·ˆÖìæ¿(Ä+„ƒgrà츶¤@Tx©WRúËP.¤_ÀÀàใì:µË<׫ˆ!^!æ‘ýÏøÃ}ÃÙþìvÞkúÞuÅæü´­Ò–g0cÇÕ%ö&îeò¦É<^ëq³M1×bÎâ‹10p²9Q¾Dy¾Ùû ‡ÎbÆŽfß±ôàR’Ò’°a£† 2230 €Çk=ÎÔíSÙ¿ƒïb¿cýÑõt¨ö熉ù©\ª2‡Îâ’ý’C¼cõŽ$¦&òþÚ÷ILMduÜj&mšDﺽÚå&¿q;rþ½öbfû™|ÞösÖ^ÃÌ3úÈíõäWÔgê•.5»8lWݯ:s:ÌaÔúQFâ7Òÿ¬üéöt¸V _ýÄj¶Åo£Á§ ¨8¾"CÖ 1‹ÂSZOaÖÎY”^’ǾyÌa)9»ç>.œÎó;søüaüFúÑtzS3ŸÕ¦â„Šxõä‘90¹õds&k‹ò-ÖlÎ}Ï<´jó;ΧB‰ 4šÚÿ‘þì8¹ƒg=Kø¸pæïïÐ5¿j”*ZŠÕq«âÞE¼YÒu ‹ö/"tL(Íg4§CµÞì-¯q³gÚé<¿3ÏÔy†&aMðtó䫇¿â…_0‹¤äñz˜ÐjÝjuãÙEÏRvlYîŸq¿ùFÇê‰ ¢êĪTœP‘”Ë)ëC¿ºüUBF‡0iÓ$fî˜Iðè`ÞXñ†™OLM¤óüÎø ó!pT )—Sx»ñÛf~^ÇyÄ_Œ' :€ ã+îÎØ–c¡€÷ áb+­ÌuÙ‰Üòû÷Ñnv;J /Aè˜P6ÛÀÂ. föç6nÊ6¢UÅVTžP™ÀQ,;¸ÌaÓÎüÆ%ˈæ#Ø¿•’#J4*躵šcŽÇàds¢NP‡x–Q¿ŽâÇß´†EDþõBCBð÷')) »ÝŽÝn'))‰ÿÒ” UÁYDDDD$»¬JHöµl–Ã)ÛáœípÜW ÈµÃ}Ó–íë+”/—­»ÜmÙº•† ê°ac Ô§XÑÛKäŸløºá¬=¼–E]®nè—“¹{æòòÒ—‰í{ÛÈÉ¿K÷Ý ñ áýûÞ·¦ÈèûGÓ¹FgkJDäocL ê_ý½4'öŒ <È‘£G(J… pvÊ}þÆÅ”b6m¦AýzÖÔßbÃÆ¢šlã_ùgÈú´väŸû³åå÷ƒP¯NDà\®ölGf¶Ã°YÌçþ²ˆüϽÔð%s“¿Üt¨ÖP¯P†ý2Ìš1m8¶Ç62àÞÖ\[ïÚ0 ®ú°5%""€‹³3•+U¢yTÍ£¢¨\©RžÅf‘+m(r ssvcë3[­áë¬ï¹ÞqÐ0¤!ûú:.±‘]˜O ý¬a‘¢i""""""""""R(Tp‘B¡‚³ˆˆˆˆˆˆˆˆˆˆ œEDDDDDDDDD¤P¨à,""""""""""…Bg)*8‹ˆˆˆˆˆˆˆˆˆH¡¸­ ÎÈôߦ[Ã""""""""""r ¸­ Îéöt®d\±†EDDDDDDDDDäp[œEDDDDDDDDDäÖåb ÜŠ*O¬Ìù´ó$_NÆÅÉ…7z“:AuXÜe±µ©ˆˆˆˆˆˆˆˆˆˆüÜçØ¾±ô_ÖŸ*¥ªðTí§¬MDDDDDDDDDDäLKjˆˆˆˆˆˆˆˆˆˆH¡¸-f8g‰nm ‰ˆˆˆˆˆˆˆˆˆÈ-B3œEDDDDDDDDD¤P¨à,""""""""""…Bg)*8‹ˆˆˆˆˆˆˆˆˆH¡PÁYDDDDDDDDDD … Î""""""""""R(Tp‘B¡‚³ˆˆˆˆˆˆˆˆˆˆ œEDDDDDDDDD¤P¨à,²ûônJG—fç©Ö”PØØ0–ü¾Ä!öٶϨ8¡"F†C\þš{§ÞKÈèJ /AÃOZÓ ÝSù7SÁù_àÌ¥3t˜ÛïaÞøô㹞#=#ÝÌ7û¢c7Œu8Ç*È3ˆîµºìlMåk{Âv"¦DXò5~+w~7Å>(F¹qåøpÓ‡f. :Û»¶ëŽf_4sèãfŒÝ0–~KúYÃ×=¯í]Ñ룭ÍòT;°6ÝkuÇÙælMÝÔ¸åeuÜêë®Ûö®Í'6[›æê¿um\»¾Ÿ6 ØÅ(5¢Íg4çBúk³­}r-Ç^>ƈæ#¬©BÓnv;ì[` ›òº§·³¼Þ """"""""Y\¬[ÙÀŸR©d%º×ênMIºÌï‚›³ÛžÙFš=nßvãÕe¯2þñÖ¦¹òu÷ýËE¼CçYC¹Z¸!.4 oÆ…ô Ü?ó~z×íͼŽóØ}j7çv$ xí«¶çø+Ç1 ƒÝ§w1%‚+o]ÀÉVxߣ:w(Ïþ¶?»ê~ÕÍÇÎN7VdŒ ˆ$2 Ò†·UÒ£$ ýb.Nÿ8øo][zF:mfµáí&o³âñ$§'³5~+^E¼¬Mÿ'2Lâ’â¬ayÝÓ¿jñ Ä%ÅñhG±a³¦ÿù½DDDDDDDD¸Ýf8§ÛÓ¹’qµ¨(óûÙßY~p9“œL¸o8Õüª1¢ù>ßö9öL»µùu¶%l#|\8^C½r;øçÁ„Ž Åk¨á㙿w>[â·:&”Nó:±ãä܇¸ã>Ä·V½eí‚-ñ[h:½)ŸmýŒŠ%+0g÷|Ý}Üt0ÅiÞŒçê?ÇG[>ÀÙæŒ‹“‹9“ÔÅÉ'³(f`0bÝÂÆ†Qbx š}ÑŒƒçpñòE*M¨ÄÇ[>6¯áùŸ§åÌ–LÞ<¿‘~|¸éC&ÆL4¯}ù¡åf{²]CÖ‘U 40²feÇ–Åw¸//üønÎnæymùˆÐ1¡x¼ïAñŠgë±àãv!ýA£‚˜»g®Cþfï7&151ßkÛyj'åÇ—§ØÅxè뇴jA£‚ðéÇÙKgÉ42yzáÓ„ Ãg˜5>¬Áâ‹Íç:~á8É—“y¬æcxºyäDëJ­Í|^÷´ bÏÄÒbF |†ùPn\¹ëf¤ï9½‡–3[â9Ô¯¡^´œÙ’L#€î ºã;Ü—'wÐqnGógÏúk¼î)À± Çxèë‡ðæƒÿH^øñR¯¤Âµ㵦Ôâ½5ïÑxZcÂÇ…ÓqnGÒìi”ó-ÇÂý ¹óÓ;Y{d­¥çüå5n7û^ø|Ûç”S·÷ÜöË0ÚÌjCà¨@MmÀÑ Gù¿YÿGШ |‡ûÒtzSöŸÙo>y|†d7ú×ÑTšPÉ‘[”-Ûá8_›ýì <€b€à ”€2@y  ܹiËvã\Òù+~Ze\LI1.¦¤˜ÿÎË+K_1>Ùò‰5,y˜³{ŽQfL‡Xrz²Á;{Nï1 Ã0¢¦Gc~ãÐ&'EÞ+bl:¾É!¶óäN£øÅcކaÇ/7N^<éÐfÆo3ŒZ“k9IJÄ%ÅÍ̸çó{ŒuGÖ9äú,îc<þíã±…± ÿ‘þ±'w¼ƒCÌ0 c܆qFèèPcש]FFf†ñÁÚŒZ“k™†aÆ–[ ßa¾ÆÞÓ{ühF^wí=¿ëi¼øã‹±,¼ƒ±óäNkØ0 ؽk¶Qbx cküV#ÓÈ4®hðÆ~th÷ëÑ_bïsˆeÉkÜ Ã0223Œ'ià»xù¢2:ÄxcÅÆåŒËÆá¤ÃFø¸pcþžù†aFš=ÍbôYÜÇH¸˜`$§'ë®wèÃ0 £ü¸òÆ·{¿µ†M¹ÝÓº×5z/êm\ºrÉ8“zƈše<½ðiÃ0 c[ü6ƒw0ÞYýŽa†‘nO7"§Dã7ŽwècküV£ùͶ³Ú±‰±¹¼ä7n7û^0 ÃxñÇ¢ï5>Þò±a†yÏÓìiƬ³Œ”Ë)ÆåŒËFŸÅ}Œ–3[šçä3Ä0 cÅ¡ÆKK^²†ED ͆­¡›–|ñ¢±rÕjó÷Ý¿ûXñ“ãÿß""""òÏ—õ;¨µ›Û±iËv¨ T 4Pð¾Vö¸V#v½V3v¾VCÎ^S6Ý3œ+O¬L@t“7Oæ•e¯Àƒ_=hm&98Ÿvw‡Xq·â8Ûœ ¼.n^‚½‚qqraÎî9¤^I%È3ÿbþÖf9J½’JõIÕ±ÙlüüÄÏÜz—C>§k÷v÷.ðuºõS6Hu¿ê8Ùœxíî׈=kή¬X›AÑi^'z~ß“ígøÚ³Ü;õ^J(e[â·ðݾïèvG7""±aã­Æoúš¾N6'>oû9µJײ¦ ŸüÙKg®;dtˆ™ó*âŬ‡gñÒ’—xdÎ#ô®×›&aMÎ/ˆÔ+©Œi9g›3E]‹šñGª=bŽsçÉ028vá\»æ¯ 20’{§ÞKë¯Z³ûônóÜüîi^–þ¾”L#“÷ï{W'WÊx—¡gdOæìžÀ/G~á|ÚyÆÜ?†ÒÅJSÜ­8w†Üiíæ/‰=˶ømŒh>wwJx”`pÓÁÌøm†9ƒàùúÏàæìFýàúÄ&Æfëåêr˺-#Ì'Œš“k1Þ!Ÿ›üÆ­0Þ å}ËÓ«v/óžq.B§(êZW'Wžˆx‚½§÷šçô3$ª\£ïm ‹ˆˆˆˆˆˆÈ-¦à‹¶þÅö½Zt鿬?UJUá©ÚOY›H.¼Ý½IJKrˆ%_N&Ãȸ®˜ûWøºû²åé- þy0áãÂéY»'o5z wwkÓëu-ʶg·ñÁÚ¸cò¼|çËt«Õ W'WÈåÚ“Ò’ |Ý'’O0`åÞ^õ¶sur%þbÎ*”J9EÝ ºf¼ˆsJ/m>þ_óq÷aû³ÛÍÇ6›ãºÀõƒëÓ0¤!«âV±¤ë‡\AyQÒ£¤C,ÓÈdøºá,Ø·€KW.áds"Ýžî°¼K1×b¼×ô=Ü;€‰1¹ë³»Øòô*”¨P {š›É'HLM$hT³gÚ‰ ¼ºÞrÂÅ‚½‚–>),§RNáëáKq·?—Ú(ëS–KöKœO?׊Ì%a ¸wí«¶·¦L¯/ºAu9|þ0Ó›~݆”y];@éb¥ ñúsvp–@Ï@N¦œ4gœ»tΡM~ò{î›ádsÊñº³,Ø·€í ÛiU±/.y‘©m§:ä rmY_d÷Ñ–ønßw,겿¢~x ÍyC@^½ëU>Þò11Çc¨P¢BîinÂ|¨\²2;zï°¦(áQ‚øäxì™ö<7P,ÈÏnX<³—Î’|9O7Oâ’âðpñÀ»ˆ7@ž›î:µ‹s;P/¨³™åð%GAdÜnö½@.÷ü¹ž£TÑR¬ï¹ww¶Æo¥Í¬6mòû ‘ÛÇm±¤F–èÑšÝ|ƒ*–¨HTx}èËÑ GÙf?¯¯x§ë<í°ÄÃ%û%’Ò’Ì#k#´üÄž‰eש]Ø3í”ô(I°Wðu›†x…pðìAœ=×–Z° ó cJë)¬ê¾Ê,Àu¬Þ‘ÄÔDÞ_û>‰©‰¬Ž[ͤM“è]··õô=S÷­Äo'#ÓÈ$õJ*K.5ó ÷/äëÝ_óÅC_0ëáY¼¼ôebÏ8.aâº#ëH¾œ ׯ)»Ë—I³§™GVA®}ÕöÌøm±gbÉ02¹n¤¹\Aå7niö4º}Û-Ç)`>ûa`päüz-ìÅÌö3ù¼íç¬9¼†™;f:œ›ßµå&ábþÅü)æZŒÔ+©¼·æ=.^¾hæ÷œÞsui‹ôó\θ̂} 8zþ¨9 9¿{š—¨ð(R¯¤2ô—¡\H¿€ÁÁsÙuj÷–¹WgW^_ñ:çÒÎqÉ~‰uG×Y»!Ä+„e—‘idbÏ´s%3ÿL+”¨@Ƽ¾üuÒìiœK;ÇÛ«Þæ±;37¹Ì‹‡«‹»,拇¾¸áb3·Âx/ä&áb!^!¸:»r2å$CÖ qÈä3`Å¡LÙ<Å‘[Lþ•¹í}õðWØl6j|XƒÖ ÍžÆÐfCÚ X9ßá¾æ1aãfíšEÅ ñæCzF:§5&|\8b®æSé<¿3>Ã|HÊåÞnüçŸí4*Ûˆ^uzÑdZ|‡ûÒgq‡|v!^!Tó«€wo–t]¢ý‹JóÍéP­­+µ¶ž–£§j?Åó ž§ë7]ñæC¹qåøâ·/8vá=¾ëÁôvÓñ/æOD@îÀ£su( ÷­ß—@Ï@ÂÇ…Sbx‰ë ¯u>®ƒÇûæ1æ×1.œÎó;søüaüFúÑtzSó¼Þu{“|9™ÒÑ¥©:©*þÅü)_¢¼™OJK¢ï} Šïp_ÞYý_<ôUKU…|î)ÀŸÝIШ žûá9bŽÇPjD)ªMªÆåŒËx¸x°üñål‹ßF剕ñêÍ#sáDò ¸¶¶ùÊÇW²óäNÊ-G@tV0ûÎ2¢ù¶Æo¥äˆ’ b_â>(À=×qñã ˆ Âø „û†3¶åXKï9+ï[žpßpk¸Àò·›}/¼ºüUBF‡0iÓ$fî˜Iðè`ÞXñ†yÞû†0sÇL¼‡zÓbF :Vïhæ(àgÀ¨_Gñãï?ZÃ"""""""r‹ÉúîìË}wAÛµ¢tÖáœípÜ®íNXäÚá¾iËöõÊ—ËÖ]î¶lÝJÃõذ1†† êS¬èŸ›‹Iá;zá(U'Vå—¿aMßÒæî™{uæeßX‡MèDäŸ/pT £ïMç­)‘B±1&†õ¯þ^ZX.¦¤³i3 ê׳¦þ6ÆÕôÆ7þ‘ÛWÖï µ#¯þµx~~?øõêDÔ.éÀeà `Ïvdf; Ë‘Åü·f8ÿË„z…ò|ƒçyqÉ‹ÖÔ-¯Cµ„z…2ì—aÖ”ˆüƒÅ%ÅaW}Øš‘[Lî;cÉ?ÖÐ(Çå4n'ë{®·†Dä.Ì'Œ„þ Ö°ˆˆˆˆˆˆˆÜ‚4ÃYDDDDDDDDDD … Î""""""""""R(Tp‘B¡‚³ˆˆˆˆˆˆˆˆˆˆ œEDDDDDDDDD¤P¨àü/·=a;îCÜ­áëì>½›ÒÑ¥Ùyj§Cüµå¯2:„ÀQØÞµ‘fOsÈÿLÛ>Š*â9Ô“Ð1¡\H¿`æ2L*N¨È'[?q8çFÅ%ÅýcÇODDDDDDDDþ=Tp– ò ¢{­î{;ÄG4Á±—±öɵñ—G™1eˆ¿oM1vÃXú-ég ÿ-.g\¦Ïâ> ¹oÉÿIfWŸ]xñ2óN6'žˆx‚ºAuÎ+,W2¯P÷ãºüpàk*_73n›Nl¢ÊÄ*$_N¶¦õë(:Íëd ßo÷}KÕIU¾n¸5%""""""""·©Ûªà<ð§Lÿmº5,7Éf³YC×ñu÷eDó”ð(aMŠç|ž¾õûX<КâйCÖP¡±nÇ“[ÃÎ¥ã’ýÍÛà]ÄÛÚ„÷$2 Ò.ã7ŽÇ¿˜?­*¶²¦òu3ãV/¨w†ÞÉàŸ[SôkØ-ñ[X|`±5U FݾéÆèûGóúݯ[Ó""""""""r›º­ Îéöt®d\±†%­¿jÍçÛ>·†ycż¶ü5\œ\˜¶}acÃðæC×oºr9ã2Û¶>.¯¡^ØÞµ±ùÄfKOy»~^ {QjD)¢xêû§¸xù¢C›Cç±üàržªý”C|òæÉøôãÃM21f"îCÜqâÎòCËÍ6‹ö/"bJÞü¹cò,=¸Ô¡¼”ñ.CÔô(ÞüéÍëfò.Ü¿ ã+PyBe‚Fá>ÄŽs;šmªMªFÉ%qz׉èõÑÙξ:»ø©ïŸ¢Û·Ý¸çó{(;¶,CÖ 1óçÓÏóø·ã?ÒŸ QAÌÚ5Ëáü,6N O½>Ö0{Nï¡ÑÔFø ó¡Äð´œÙ’ # 0nŸoûœ2cÊàöžÃ~F›YmH£©ž£O½>|²åÒ3ÒâÎ6gž®ó46N°¦ äÜ¥s¤\IáÞ2÷ZS""""""""r»­ ÎrãªùU#öL,//}™ 1W „±gb©êW€4{«ãV³·ï^ö<·‡5‡×˜EêÈ€H½xˆ ÿ¹@ç"Ùz.˜'<Áá¤ÃÄ>Ë¡q:õ4Vph³üÐrêÕ½nötﺽ9ýêižˆx‚¾õû’öfio¦™³·Æo¥ÃܼÓä’ÞHbüãé0§Ç.sè'7jtbû³Ûñv÷¦ÞÇõ˜¼y2öL;ÿWéÿøý…ßÙ×w ýH{39æ˜çïyng^;C‹ò-ÌXvŸmûŒž‘=ù¥Ç/¬ë±Ž÷׾ώ“;àZÁÿ™ýì~n7_<ÈOüd=Ø3±œH>Á}å´jõƒësöõ³œ|õ$Ñ-¢q¶9CÆ­Gd޼t„>õúðÞš÷ø¿ÊÿGü+ñ,éºÄá9êÕÅÙÉ™˜ã1ñ,-Ê·`Íá5æ—EAf׋ˆˆˆˆˆˆˆÈíã¶(8WžX™€è&ožÌ+Ë^! :€¿zÐÚLrPÕ¯*ûÏìçÌ¥3|½ûkÆn @lb,Õüª`Ï´3ä¾!x¸xäD‹ò-Øsz¥§—˜šÈ‚} ˜Ðj%=JRÔµ(¯ßý:svÿY´Ø{z/5ük8Ä bÚöi´«ÒŽvUÚaÃF“°&4 iÈ¢ý‹¬MsåîâΫw½Ê·¾åÝÕïòÒÒ—¬Mþ²šþ5iÖ€¯Êz—eÿ™ý|·ï;Þ¸ç üŠúááâ‘ã²{Oï%Ü7œ¢®E­)ªûWg푵ì8¹W'׿4~å}ËÓ«v/€ëžÇ†ª¥ª²/ñjÑݪº_u.Ù/qøüak*OK.%°x Å\‹YÓ""""""""rs±nE±}¯ÎÐí¿¬?UJU¹néÉ]ÕRUµ~K_Êýåïgó‰ÍìMÜËÁs©Zª*‡ÎÂÕÉ•¯ów÷›šµš%áb§66c©WR¹’yW'W¸¶¼Déb¥³Y0'’O°ôàR¢ÌXzF:÷”¹Ç|ÜrfK‡e@vöÙé°Nt\R#×då¡• j<ˆžµ{š¹›è鸵‹“‹9ƒútêiÊx—1se}ÊfkyÕùôóø¸ûXüÓäÊx—¡Ó¼N”.^š¢>àîл­ÍòU³tMkÈ·»7Éé9oèâäBQ×¢¹æsÓi^'–\î0[\DDDDDDDDþn‹‚³üuUýªräüVÅ­"*< owofü6¿¢~xñÀÉöß™èžUDÝóÜžë–ËÈÎÓÍ“óéç­a“Íf3×'Î.Ì'Œ'#ždüã­)ÓŒö3H·ÿ¹±1óßý—õgñżrç+Œm9Ö,€¹/P<€“)'ÍǧSN;äÉg\lØèÙ“‘=ørÇ—4™Ö„#/q(¦ç6nÙå÷3'¥%åZô¾œq™Ô+©¹æs3û‘ÙÌømÝ¾íÆ‰WNä9N""""""""r{ùïTÿK¢[Dkvó ò.âMq·â¬;²Ž¨rQ4 kÊ¢ý‹Ìå4þ›<Ý<éR³ O/|šÉ'àÚ2¿ùÅ¡]åR•Ù}j·C,»¯ÖYgnìwÉ~ €'#Ÿdö®Ù|ûééØ3íÄq(äúõ#Ä+Ä<²Ö9hU±»úìâ©ÚOå[x-lí«¶g云œO?OÊ•F®imBåR•9tîùóf·ôàR’Ò’°a£† 2230 áMnãVP™F&{NïÉõµ²ëÔ.Š»w˜©]6l´ªØŠ„‹ ¤^Iµ¦EDDDDDDDä6v[œå¯©êW'›ÅhÖ8Ï"¢Õ¬]³¨8¡">Ã|HÏH§ñ´Æ„ Xª IDAT 77ì·¤eÇ–¥Ö”Z”Ž.M…ñXt=µþˆr¾å¸ûó»)þAqêRŸÇ7:.œÃK0sÇL¸¶†ðœsµ~Ñøôã?+ÿã0£9/÷•»Ï¡}#œ=@µIÕðéDzƒË°r!£CxüÛÇ­Ms4ä¾!”ñ.Cø¸pªL¬Â£ÕÅÅÉñªùU£TÑR¬Ž[혳{'TÄs¨'Ìy„É­'ääÐ&·q{uù«„ŒaÒ¦IÌÜ1“àÑÁ¼±â ‡sbŽÇàds¢NPk €e—Ñ4¬éu×}#¬Er¹½eý-{ö¿i·Y§l‡s¶Ãp\"×÷M[¶¯¯P¾\¶îr·eëV6¨À†14lPŸbE¯ß Mþùøò¢ÊEÑÿ®þÖÔ¿ÚðuÃY{x-‹º|#ÄÂÒ}AwB¼Bxÿ¾÷­)2Œ *M¨Ä”ÖShÞÜšÎW†‘÷Po¾îð5VÔ ""ò¿·1&†õ¯þ^ZX.¦¤³i3 ê׳¦þ6ÆÕôêÆ""""òïõ;híÈHk*G¿üƒzu"ê—€tà2p°g;2³†åÈbþ[3œå–0©Õ$&ÄLpXCॆ/™›#þ6ÛÀÆcpïk €QëGÑ ¸Á_*68Ûœùòá/yó§7õë(kZDDDDDDDDnSýoáE Q¸o8‡û¶†ÿõÜœÝØúÌVkø¿®aHCöõÝg ›^»û5k膵­Ü–¶•ÛZÃ""""""""rÓ g)*8‹ˆˆˆˆˆˆˆˆˆH¡PÁYDDDDDDDDDD … Î""""""""""R(Tp‘B¡‚³È¿È žào8ÄvŸÞMéèÒì<µÓ!.ÍkË_#dt£±½k#Ížfmò_§{*"""""""ÿ+*8‹äãÌ¥3t˜ÛïaÞøô㹞#=#€Nó:a{×vÝá2ØÅÚÍ_¶=a;S"¬a€ëž×ö®èõÑÖfy ò ¢{­î{[Sø ó!)-ɾiÖëþ+×þߺ¶ÃçÓfVJ /çPOê|\‡M'6Y›åhDó{ùkŸ\kMšv³Û±`ßkØ”ß=½•ý·î©ˆˆˆˆˆˆˆü= ¯*ö7øÓ@*•¬D÷ZÝ­)‘ÿš.ó»àæìƶg¶‘fO£Û·ÝxuÙ«Œ`<_=üÿìÝy\UÕúÇñÏADÅ 5œÃÈ9§J+5K¯C¦•š©©ýôf£ZN˜9¥f9¤e×)çœR+sGrLLDÑPDàìßÈŽ³E¥ÂéÞïûõÚ¯{Îó¬½öf¯Mžû°ÎÚß0»Íl#ùOÛÿРdl6›µ›¿íØǬ!‘=#©ä_É|ŸÏ)ŸCþV|\}Ùt¤5 À…” \L½h ç™rî·óܺ/éNá‚…9Øç ùò³ûÌnÊø”±6»+ì† '¬a7Ó{ÙíS¹3î«Ω驤e¤YÃ"·Í‘ GXst “ž˜DˆOý+2²éH¦ížFº='›ÎNÎ8;eþí&Ÿ-ÎNÎä³ýY8]öë2Â&‡á5Ü‹ª“ª²êè*3×qAG:.èh¾_xp!Å>)F|r<;cwR|LqÚÏoOT\®C]qêÊ»ëß5Û“í˜Y›?‹ÝK¢—Pù³Êx ÷¢ñWINK6s»Ïì&dlžÃ<±}hcÇéf Üør ׊é®C]i0£C€Çf?F¿•ý¬a.¥^¢èè¢Ì;0Ïš‚›œû”Sx`ü$¥%p<á8¾#|ùùdæ¬á[[Øä0|Gøâ3‡ÅÑ‹)=¶4~#ýXqx·O¤Òg•ðáCñ1žq¸¹/À¡øC´ mE€{¾n¾4.Ý_7_3³1½•K©—è¾´;~#ýŒ¤Û’n$^M4ó W趤EFÁí#7Â&‡qäº,ê‚Ï¢â¢h7¯yOd͸¿Õ˜¦f¤ò«þ€ˆ|FøðÔœ§Š×>#|˜9ƒ†3Rù³ÊÔþ²6‡/vèãfnv]îö˜¤¤§üI03"gXS"""""""’Gî«Î"wÚî3»)îUœ`ÏÌB@Íb5IJKâð…ÃTð«àÐÞjWì.ÚÎkËœgæÐª|+~<ñ#-ç´ä@ï{3ùÉÉT›RYQ³h\º1=—õdnÛ¹øôï 1¯Å0;j6›"ˆìiíþ¦b.ÅÐv^[¾lù%«tdí±µ<>ûqÞªûÕ«q¬_æìiס®–½áð«‡9uéÅÇçÌgðvõ¶6 qéÆ÷*n PÈ¥—}œ ?`MÝÔËá/³öØZú~ß—ÏŸúœÎ ;óZíרW¢äâÜ"{F’p%Ÿ>|ôÓGì~y7…\ a7ìTô¯È‚v (ïWžçPçË:4*݈šÅjСJ>Øðþîþ4.ÝØ¡ï[é­t]Ô•Ä«‰D¿›³tàíÞf\óqt_Ú3‰gØøâFJx•`÷™Ý”ð*ÀÌÖ3(;®,Í"h]¾µCß·ÓA? bó©ÍD½…«ï­_·`_¯}8Ùœ0 ƒ9ûæ°æù5äwÊOŸ}¸v Ú-°vu[]—»=¦nÎn4/לŠþ³õ,"""""""yé¾(8‡Nåâ•‹\¾zg'gÞY÷áEÃYÞq¹µ©Hžºxåâu…¯B.…ÈgËÇ¥ÔKñœÌˆœAëò­ÍÂ`ÃR ©\‹e¿.£çÃ=ñ,àÉœgæÐâëÕ”mÏÜøÈÀëÆ°Q©FæëŠþ©[¢.Ï4‹“#šŒ ´p(½–÷ÂÕÙ•!†Ð2´%äbLo&>9žE‡q°ÏA »`@Ý´ùOÆ5GjF*‹-âç~6‹ôµƒk[zùû¾Þû5ÓZM#À=€Á3qûD¶ý¾ZÁµàZ±?¿S~)ñCêÐÇäæºÜÍ1Í2õ©©ïEDDDDDD$oÝçè>Ѽ±ú Êû•§ÛCݬMDn /W¯ë`vùêe2ŒŒë ^99}ù4«Ž®"0"ÐŒ¥f¤òH‰GÌ÷5ŠÕ Vp-ÖŸXÏÊçVšñÜšßn>¡…CÍ÷EÜ‹p6é¬936KIï’ïï¶;€·«7}jôáÍ5o²¦óœlo *U¬!\ÀÄm‰OŽÇɿĉ„<]þi‡6/V{‘ª½ÀâC‹é¶¤㚣}åö¹Ó9“xƒÓÿ\*ÂÀ 9-™4{ñÉñ¤ÛÓ)íSÚa¿¼b½'\ò¹X(ØÄX3äd¾vvr&Ýžn¾¿™Ü\—»=¦"""""""rûÝg‘»%,0Œ˜‹1œ¾|š¢EØþûv<\<(ë[ÖÚü:¥¼KñBØ ær 9Yth‘g"iQ®ýVöcz«éy›ÍF†‘áË.À= Ç¥‚<‚ˆKŠsˆK:GqÏœ—¿ÈIÖÃovüâFçp"áÃ7§O>ô[ÙíÝ·S0A3ŸÛsËš­›åÀ¹t_Ò ]7P5 *-çdÎ^¶²a£uùÖ,?¼œuÇ×Ѿrû\édüô>à°&toWoœlNÄ\Œ1g!çäV÷Ä â·„ßÌ5¦f¤{9–ÀB‰³¯þWäæºÜ c*"""""""·×ß›^v—D4‹Ðìf¹£Êù–£qHcú¬èCÌ¥~=ÿ+Ö Gx‡¥ nä…j/ðí¾oY½˜ÔŒTÒíélû}›Y>yñ$Ý—vgv›ÙLk5Ÿ~û‰ÙQ³úö æè…£æÃÛ²?øàjÆU®¤_1·¬b]ó²ÍÙwvK¢—``°áÄ6œØà°ï­øôÃÕÙ••G2g^[ ðþ†÷™¹'sma«+éWèü]çë^—åFçžnO§Ã‚ô­Ù—ñÍÇSÉ¿}¿ïë°onÎ-'qIq¸åw# Péöt–D/aý‰õfþbêE–D/álÒY2Œ ¢â¢X}t5}r1¦7ãáâAÇ*é±´§/Ÿ†kËll<¹÷üî4+ÓŒkp"áiö4œ;ÀÙ¤³ý{³úèjì†t{:iöÜ=LµKX†ü4„¸¤8®f\åƒ ì|ݲÇ­®ËÝÓ,ÉiÉDlŠ *.Êš‘ÝûÓpFC|FøÐky/‡c„ŽÛGnæ6fóŠze^Ûy \;¯a^ŒÞ<š¾5ÿ,ðÍÙ7‡rãËá=ܛԌTÌh@ÈØÆoo¶)¯“ž˜Ä>À{¸7N~ÐÌeÙ³‰½q{­aRÒSXw|1—b¬)¸É¹¿ýÃÛ™küÖÏ\ãwÊSSX}t5söÍ1÷½Ñ¹ûãå'”§ä§™³‰«NªJù åùíâopíz¶(ׂÐñ¡bõÑÕ´©ÐÆì×nسe 'VÄý#wZ}ÛŠ®a]éÞn1¦ýWö§ä§%Íó ˆ ì¸²lŠÙÀ”'§PÚ§4u§Õ¥ÐÇ…¨1µ[ßjÖÓ³(éU’Z_ÔÂk˜íç·ç|Êy30²éHvÅî¢ðÈÂ]”Cñ‡ cú~ƒ÷©[¼.U'UÅ”?;OïdYÇe{i‹ìnu]îæ˜fÙ{v/o®yó–3¨EDDDDDDäïËúîtöïPÛ,›S¶-_¶Ípò®m®ÛwFn*[&wëîܵ‹Z5k°eë6jÕ¬{Á?¿^-r¯‰¹C… ØøâFÂìi¹‡MÙ9…1›Çp¨Of^D$»­Û¶Q³FæçÒ¼’˜”Ķí;¨Y£º5uGlÙºÆþÚÈEDDDäþ–õô¡jÕ¬©9zœêáaá@ \Ò€ôl›=ÛfX¶,æë>­MäHqÏâ¼ZóUú­ìgM‰È=nsÌfzUwü†€ˆˆˆˆˆˆˆä-=4Pä/Ö8wËiˆÈ½eFëÖˆˆˆˆˆˆˆä1Íp‘<¡‚³ˆˆˆˆˆˆˆˆˆˆä œEDDDDDDDDD$O¨à,""""""""""yBgÉ*8‹ü˜9ƒrãËá1̃âcŠs)õ’µ‰Ü!]uåÕoXÃ÷¥®‹º2pí@kø¿Î[kÞ"ø“`‚FaûÐÆ•ô+ùzÓëüI0¾#|©õE-‡œˆˆˆˆˆˆÈÿœEî€Öß¶fÑ¡EÖðq5ã*½–÷bè£C¹üïËìëµÏžÖfwŧ[>¥ÿÊþÖðq³cÛ>´aûІó`gŠ)Î«ß Ýžnm&7°ðàBjY»awˆÏÙ7‡Ð ¡¸}äFøçál8±Á!à=Ü›„+ Öð]5²éHNýß)~~ágk €Ÿ_ø™SÿwŠ‘MGZSybûé픟PžËW/[S"""""""÷œûªà#|ˆŠ‹¢Ý¼v¸uÅu¨+©©ô\Ö“Àˆ@œ>tbþù„M# "€·x€õ'ÖSçË:øôÔ?¿ëLJzŠyn7³ô×¥”W–Ðñ¡]ס®´›×ÎlóùÎÏÍ¥6þüaÖ_gænvnó̧ù×Í©6¥å'”gôæÑ”[š¶óÚšûOÜ>‘JŸUÂg„ÅÇgøÆáfnÒŽIøòç³íŸ1aÛóº¬9¶Æls+ƒLñ1ÅñæIÈØ\`æn6fåØÎNÎT.R™ú%ë›j»a§ÇÒ”ú´Þý©üYe–^î°ßâèÅ<4å!Ü>r£È¨"¼»þ]‡|v=–ö ÁŒæ2 k­¥Ê¤*øôã±ÙÑgEsÙŠi»§QbL \†¸0|ãpZÎiIÐè êO¯oöw³1}dÚ#LÞ1Ù|ä‡%"|Fø0#r g4¤òg•©ýem_8l¶_½„ÊŸUÆk¸¿jLrZ²™Ëòí¾o)îYœÅj8Ä'mŸD§*h[±-îô®Þ›jAÕ˜5 €rãËüI0¸u¥ÁŒ}<6û1ú­ìg õq/:º(óÌsˆ·œÓ’Ñ›G;ÄÚÏoÏ¿ø·ù~ٯ˛†×p/ªNªÊª£«ÚÿOn¤æ5Í{u¶ ì8½ƒcJX›“’žB¾ÁùHJK2c½ª÷bêΩæ;¬6Ål¢È¨"Œ?hM‰ˆˆˆˆˆˆÜ¶l›pò7Àð|? (”*Õ€ÚÛwF$\ÌÕ¶vÝz#1)ÉHLJ2_ßÌë«^7¦îœj ‹ÜVOû´Ñô«¦F|r¼‘t5Éh9§¥ñêŠWÍü„mŒJ+)i)Æ€5Œ&_512ì}”[Æøîàw±ìœô á?Òߨ»Û0 ÃHºšù»p(þñ㉴Œ4ã|òy£æÔšÆðÃ-{ß\ìåXƒ0þHùÃ!¾ì×e†ßH?cÇéF†=ÃXth‘áþ‘»qôÂQ‡v9Û¼ýó ïáÞFâÕDãÑ™õ¦Õ3RÓS ÏažÆÙ¤³†aƺã댃ç†aûÏî7¼†y[Nmqèû¥Å/ý¾ïç˽q{B2N]:e†aü~éw#.1ÎÌßjÌŒ[›0b.Æö cÿÙýF‰1%ŒÕGW›ùyûç™Çûfï7†ÇÇFZFša†y&ÒpâbLß=ݸxå¢q&ñŒ±çÌsß.ßu1ÞXý†a†ñþú÷j“«¯\4 Ã0âã ÷Üyûçö ã—“¿®C]k˜û†aôû¾ŸQð£‚Æç;?7Œl÷Ë­Æ´î—uIÛ'™ý>ØàŒ”´Ã0 Ãk˜—ÑlV3ãjÆUÃ0 £÷òÞF›ÿ´1 Ã0N^ö0b.Æ8ôc½^VSwN5jN­é;}ù´áñ±‡yÝöŸÝo]Ìøfï7FâÕDÃéC'#éj’±9f³ñÌž1Î$ž1"ÏD%Æ”pèÇnØ ß¾ÆO¿ýäÏs1Æè¸ £q!å‚5%"¹´eëVk軜˜hü°~ƒùy÷Nok×­·ž’ˆˆˆˆü—Ëú j­ÃÞhÛ¾3Ò*!@0¼®Õ„ݮՈó_«ç»VCÎ^S6Ý3œC'„Ȥ“x}õëFòÄ7OX›‰ä¹øäxZÄøã)ìV˜‚ù 2 îæîŸk¶é]½7e}ËÒrNK¾Ú󳞞尔@nµ¯Üž°À0 æ/@háPê—¬³“3¾n¾‡“͉fešQ§xËÞpðÜA*©l sñÊE¼]½b^®^ù–oÕ}‹•;XÃ8Ùœ˜Öj<èoÒg'gÖ[ Àò_—S¥HB gÎþŸ9ƒÖå[Óº|klØhXª!µ‚k±ì×eýüK¢—PÁÿÏëVÑ¿"½ª÷bfäLÜó»ìÌá ‡™³o›b6±òÈJ¢ã£©è_Ñ¡6*øUàPü!‡x–`Ï`¾nó5>®>Ö”ˆˆˆˆˆˆÈål Ü‹¢ûd<ÞXýåýÊÓí¡nÖ&"·Å™Ä34˜þçWû ’Ó’I³§™…¹wê¿Cõ©ÕTo…³õ{UªXCDž‰dÈOC8ráç“ÏÓ°TCk³¿ålÒY)ñˆC¬¤wIbcbÜàÜ< xÀµ"_VÁÔ† { .`ⶉÄ'ÇãdsâD ž.ÿ´C—«;{ìdðƒ ÂK½Ä»õßÅÕÙ5×cv+1¯ÅPÔ£('/žäÅÅ/òÆê7Ýl4vÃΈ_F°èÐ"RÒRp²9‘šžj>TðLâJû”¶vç`ûéíLœNQ¢EØØÄXŠysh[ܳ¸Ãû,9É_S®-bäd¾vvr6®³Ig)áå¸üCIï’ï.¦^_XæZqÙú0À„+ 9¶Ík6lô®Þ›IÛ'Ñ4¤)s÷Ïå…j/˜ùÓ—O³êè*#þüÝMÍH½îZþ7ºn±û3Ǥ‚_Ÿ?Ì÷‡¿ç­ºo±êÈ**øW¸®à̵kx9U‘{Û}Qp¹[² jzÀ×Íך†kë6÷ZÞ‹á=˜¼c2ªv¢‚_‡66› #³{#ÖB¨Áã³'¢Yªv†O6®Ø]íþ® BAü–ð›CìD -ý¨CŒÎkE¼œ^8w€îKº³¡ësvoË9×ÏÔÍÍu¹‘Ÿf´žAlb,mç¶%áJ[LÌÕ˜‘Ëc;Ùœ(å]ŠNU;1qÛD¦ìœÂâC‹YÖqþýð–YpðuóeÿÙýæûœœK:Ǿ^ûè0¿o®y“± °P ¿_þÝ¡íù”ó¸8ĸÁ˜ÜjLœI³ÿ¹~ööe±Že– â’âbç’Î]W÷pñÈñÁaal=µ•Âþ,ônÿ};O…>e¾·Ù2}«qù;º„uáý ïs<á8ëO¬ç‹–_˜¹RÞ¥x!ìÆ5ç°O^*ÄÒ襱 'Ì?LUð¯À¦˜M<ÿàóŒÚ4 Wg×gß©½ˆˆˆˆˆˆÈ?ñ׿÷E4‹Ðìf¹£<\<èX¥#=–öàôåÓpmɆ'7šm®ˆgO&=1‰ÁÓn^»ëììÌ꣫±vÒíéE¿IËHã|ÊyJy— *.Š/výY$Ër%ý ¿ëÌÖß·ZS7õüƒÏ3=r:;cwb`°8z1›b6ѶâŸþû»â’âpËïF@¡Òíé,‰^Âúë­Íö æ—“¿pùjæ¬MëuÛn?täBʇxôùhöÝGº=Ân…)æYÌœ‰››1#ÇæZÑÿ·‹¿1;j¶ù¼3‰g(â^÷üî$§%3ä§!æ Z—oͪ£«øvß·¤¤§ðÇ•?ØqzG¶^3—x(ìV˜¯žþŠo÷}ËâèÅ´(ׂCñ‡˜».{âö°ðàB‡}oæVcZ®p9–ÿºœ+éW¸|õ2ŸlþÄÚÅ 5/Ûœ}g÷±$z Nl`É Öf„ú…æXpïùpOfGÍfIôΧœgòŽÉì‰ÛCçªÍ6~ýpuveå‘•9>”ðý ï3sÏLk²ý.X¯7Ùî‹——¾Ìce3gå¼PísR32g«oû}Ûuö¿£UùV¾p˜YQ³°vÆdÒöI<ÿàópm†óÊ#+iÒ_7_ÜØqzÇu3œí†ç\Ï}>šˆMüqåkJDDDDDD䎺¯ Î"wÔ'§PÚ§4u§Õ¥ÐÇ…¨1µ†YÜ]qx³öÌbV›Ìu›{UïEiïÒô_Ùß¡‘MG²+v…G¦èè¢æ:¬õ§×§È¨"DÅEÑsYOBƆ°àà\ò¹0öñ±´›×¯a^ \;.a]úåZ¡tÝñuÄ\Œ±¦nªY™f o2œÍû{ðÞú÷XÐne}ËÂ-ÎíVê—¬O‹r-JÐè V]M› m¬ÍèS£AA„Œ Áw„/³£f;äÏ$žaÝñufQ8K|r<tÀ{¸7A£ƒHºšÄû Þ7ó7³,·:vñ1ÅqúЉð)á”ð*Áˆ¦#xåáW¸|õ2T˜X"îE(ã[ÆÜ¯vpmþóì µÍ IDATñË (LèøÐ®¡X(é­¦óââ9yñ$A…‚XÐnƒŒï_z.ëI£RÌöo®y“àO‚™¸}"³£fSì“b \;ÐÌßjLß©ÿÉiÉDPsjM:Té€K>sÿ›)êQ”ymç1pí@¼†y1zóhúÖìkmFÓ¦¬:ºÊ¦^‰zL~r2¯¯~¢£‹Òky/¦<9Åa šù 0é‰I|°á¼‡{óàdǵ˜6ÅlboÜ^k²ÿ.\Êùw¡O>¬9¶†®a]â•ü+1·í\FoMPDþ£üù÷ÿ&5=€þ+ûSòÓ’æùDPv\Y6Ål ö—µ):º(½WôfÛïÛðéGʼn¹šqÿ‚þ¬è´‚ Û&à5Ü‹Çf=FÿZýéT¥\›á|0þ 9 ½QéFì=»÷ºÂò¶ß·áds"¼h¸C<Ë¢C‹¶q.™K݈ˆˆˆˆˆˆÜ-YßÎþêìO´]+Jgmù²m΀˵§¸¶¹nß¹©l™›¯_šeç®]Ôª™9kpËÖmÔªY÷‚™¿躨+•ŠTâÍ:oZS÷¤¤´$JŽ)ÉÊçVòpч­iSi½ËÂå~÷?µ3v'mþÓ†ãýŽÿ­{ÞM]u!Ø3˜ýÈš Ã‚xðdÊ“S¬)É¥­Û¶Q³FæçÒ¼’˜”Ķí;¨Y£º5uGlÙºÆòæÙ""""rÈú úPµjÖTŽŽ=Nõð°p H®i@z¶Ížm3,[óõýõÿ¸EDþ‹O9ÏÚckÍ%WvÅîbIô’<{PäàžßION¢ÿÊþÿî8ú áüpüÖ_gMÝiö4Þ[ÿ}kö½ïŠÍ[Nmaë©­¼]ïmkÊ´åÔzWïm ‹ˆˆˆˆˆˆÜqzh ˆÈ=Ânصiv"ÝžN÷"Œ~l4Õ‹Þ™qWÛŠmo¹¸A.¼þá‚·CŸ}˜³oO>ð$ýjö³¦ïyµ‚kq¨Oæ2<7r¼ßqkHDDDDDDä®PÁYDäá_ПUÏ]¿þ±ü3ZL`B‹ Ö°ˆˆˆˆˆˆˆÜ÷×÷ŠEDDDDDDDDD䞥‚³ˆˆˆˆˆˆˆˆˆˆä œEDDDDDDDDD$O¨à,""""""""""yBgÉ*8‹Ü­¿mÍ¢C‹¬a¹‹>Ýò)ýWö·†ïˆÈ3‘„M³†óÌÍî·Cñ‡hõm+|Føà1̃Z_ÔbßÙ}Öf÷¬4{þ0+¯°¦h9§%“wL¶†EDDDDDD亯 ÎƒÖ b枙ְÈ=ÍnØ9‘p–»ìØǬ¡<1;j6Û~ßf ;¸]Çæ÷[lb,L{„r¾åØýònb^‹ap£Á”õ-kmzÏ·uE܋Т\ kбÍÇòæš79—|Κ‘;ä¾*8§¦§’–‘f ‹ÜV—R/Ñ}iwüFúH·%ÝH¼šÀž¸=x÷&*. ®Í¾ ÿ<œa‡ÐeQ|FøE»yípêŠëPWR3R蹬'8}èÄüó ›F@Doÿð6ëO¬§Î—uðé‡ÿ(:×™”ôóÜn%áJÝ–t£È¨"¸}äFØä0Ž\8À;ëÞ¡ýüöíƒ? få‘•‹s»|õ2tÄo¤^ý¨6¥‡/6ûÚxr#5¿¨‰ç0OBƆ0aÛ3·÷ì^ÊŒ+ƒûÇî<ýŸ§yoý{]ÿQþ\H¹`¶»&현ÿ(>Ûþ¶M0Çdͱ5f›èóÑ4›Õ ïáÞ”[šˆM}ÜLÿ ô_ÙŸ :p<á¸CngìNŠ)Nûù퉊‹2ýîúwÍ67;ö”Sx`ü$¥%p<á8¾#|ùùäÏ‹ûmÌæ1„†Ñ,‚RÞ¥ðvõ¦Y™f¸:»’nOÇö¡Cñ‡Ìã}±ë j}Q r9f .¤Òg•ðæI`D ï¬{Çì àóŸSn|9<†yððç³îø:3w«û-Ëø­ãéU½—C,KiïÒÔ/YŸ/w}iM’žBð'Á̈œaM‰ˆˆˆˆˆˆHq¶DÄQ×E]I¼šHô«Ñ¸9»ÑaAÞþámÆ5ǃòQã踠#;zìàƒ àëæË€º˜Ù:sF~Ùqe‰hAëò­úžüäd&?9™°ÉaôZÞ‹ÕWFrZ2E=Š2¼Épê¯Ã¥ÔK´øºã¶Ž3û¿•îK»s&ñ _ÜH ¯ì>³›^%¬Írt«s›9““Oó1¸:»ràÜJ{—†k3i[|݂ϞøŒŽU:r(þÍf5£pÁÂt¨Ü*Eªp´ïQZD§…ðpñ æÿbHMO¥`þ‚–3¹^½éõ8xî 5Ì–n[n9[÷•‡_ᕇ_¡Û’nr)ħêOJK¢ÉWMx®ês,ï´œØË±4šÙˆŸÚThãÐ6'áAálzi .¤õ·­iÒ”AõáãêCxP81¯Å0;j6›"ˆìé°ï­ŽýrøË¬=¶–¾ß÷åó§>§óÂμVû5ꕨ¹¸ß~úí':VéèË­ÜŒY¥=˜Öj-C[rùêeÎ&5÷_~x9ƒÖ bås+©X¥¿.¥åœ–D½EˆOÈ-ï7®ãO_>Í£¥5cVÍÊ4cIô>2КÂÍÙæåšSÑ¿¢5%"""""""y侘á:!”Àˆ@&í˜Äë«_'0"'¾yÂÚL$ÏÅ'dzèÐ"Æ·Oa·ÂÌ_u0wÿ\³Mïê½)ë[––sZòÕž¯˜õô,œlýW«}åö„f®ë›UÀ -Jý’õqvrÆ×Í—g*>“c¡5'©©,:´ˆQMGñ@ápuv¥vpm\ò¹X›ÞRNçVÁ¿Gÿ8Êš£k0 ƒJþ•pvÊüÖ’è%Tð¯ÀsUŸÃÉæDEÿŠôªÞ‹™‘×/‰“œ–̘ÇÇÏ–/WÅf€ùíæÙ3òº­”w)kÓ¿lÕ‘UØ ;=úùòS«/U{ÉaÌs£M…6l|q#›Om¦þôúÖtŽrsì©OMå‡c?Ðâë¸äsaP½A}ÜÌù”ó °†ÿ²Y¥"•Xxp!§/ŸÆÃŃ2>eÌÜì¨Ù¼XíEƒÂq²9Ñ*´uŠ×Éñºæt¿M|rÛþ_ìú‚§Ë?ÍuÞ0s7“›c{»zÓ§FÞ\ó&k:¯ùKÜðqõá\Rî×7¾Ñýp£1[Þq9#~Aøçု›¯5 ×Ömîµ¼=Â{0yÇd:UíD¿ ml6F†CÌ*«xÅÀàñÙÑ,‚NU;aÃÆ'›?aWì.‡v7âíê“͉˜‹1¸_?«ÕÙÉ™4ûŸk¢§f¤ŸïÐ&‹õܲ4(Ù€žÿ§wðÄ7OàîâNÛŠm *ÄÒè¥mO$œÈ±£¾of~»ù9®çžSÿ7r£1)å]ŠÐ¡D½’¹.wNúÕìÇ a/˜ï³ßßîû–ÿðož«ú[»mÍñ¾ù'Ç>‘p‚á‡Ó§Fú­ìÇöîÛ¯›ñ{£þk×bÙ¯ËèS£5…“Í 6‡{âÔ¥Sm²ÜhÌ ¹bH£!¼]ïmÞZóÍ~Œý½öT(ˆß~sh"áDŽËcܨ.¦^´†$\I¸eQZDDDDDDDnŸÜO»D4‹Ðìf¹£<\<èX¥#=–öàôåÓpmæðÆ“Í6×ij€'“ž˜ÄàFƒi7¯Ýuö ö fõÑÕØ ;éöt‡¢Þ¤e¤q>å¼¹LDT\_ìúÂÚŒ+éWèü]g¶þ¾Õ!îžßfeš1`íN$œ ÍžÆsÌuuË.Çæ˜ÍÄ&Æ’nOgä/#I·§;ôq3›b6qêÒ) B|Bðpñ0÷oU¾‡/fVÔ,솃ñ™´}Ï?ø¼µ›¿%À=€`Ïà붬%=r#Ø3˜_NþÂå«™³a³Æ¬qHc’Ó’¶q—R/a`pô£ì;»ÏÜ׳€§Ãq³|C|BˆìÉFCr,6síØG/5²˜µNñ­ŽnO§Ã‚ô­Ù—ñÍÇSÉ¿}¿ïëÐ77¹ßú×êÏ/1¿0`íÅâ÷Ë¿³üðr œlN”ñ-à 108öÇ1fEͲv}C—R/±áÄRÒSpsv£œo9‡ûéùŸgzätvÆîÄÀ`qôb6Ål¢mŶýÜL¨_(Çþ8vÝïWv{ãöÞpæä´d"6E˜ù‘¼w_œEî†)ON¡´OiêN«K¡ Qcj ³¸»âð fí™Å¬6™ë6÷ªÞ‹Òޥ鿲¿C#›ŽdWì. ,LÑÑEÍ5fëO¯O‘QEˆŠ‹¢ç²ž„Œ aÁÁ¸äsaìãci7¯^ü¸v ]º8ô˵Béºã눹cM1ëéY”ô*I­/já5Ì‹öóÛs>å<í*µ£qHc*L¨@¹ñåHºšä°\ÇÍÎ `OÜêN«‹ÇÇTœX‘æåš›ÅCÿ‚þ¬è´‚ Û&à5Ü‹Çf=FÿZýéT¥s÷Ï%dltà·‹¿á?ÊŸF3™}ß }jô!È#ˆ±!øŽðevÔl¸ö`¹5ϯawìnB'„â5Ì‹gç>kþÁáVj«W/kØAý’õéÞ†3â3‡^Ë{A.Žýöog®Û\?sÝæ)OMaõÑÕÌÙ7Ç¡ÿÝo!>!lèºÝ±»©ùEMÊ+ÇП†b\[dÎÞ9Q˜N ;9,r«1K·§óîúw ŒÄk¸³¢fñEË?ÿ@Ò¬L3†7οæý =xoý{,h·À\åV÷@EÿŠøôcÉ ñìV]M³2ͬaöžÝË›kÞÌqö·ˆˆˆˆˆˆˆä ›å³^gßœ²mù²m΀ (pmsݾ3rSÙ2¹[3vç®]Ôª™ùð¦-[·Q«f Ü ÞøaP""ò¿mÄ/#øù·ŸYÖq™5ÅÑ?ŽòД‡8ÞïxŽ³Ë§ìœÂ˜Íc8ÔçÆ‘ÿ][·m£f¼}¨hbRÛ¶ï fêÖÔ±eë67ÊݳDDDDä¿CÖgЇªýù<¨›9rô8ÕÃภ¤éÙ6{¶Í°lYÌךá,""÷×j½Æé˧Yut•5Eßïû2ªé¨‹Í›c6Ó«zælr¹=r¿à©ˆˆÈ]æ’Ï…]/çüàÌå—[Cf´ža ‰ˆˆˆˆˆˆHÓ gÉ*8‹ˆˆˆˆˆˆˆˆˆHžPÁYDDDDDDDDDDò„ Î""""""""""’'Tp‘<¡‚³ˆÜJ}ZŠ•GVZÃ""""""""rQÁYähýmkZd KxõûW°v€5ü}ºåSú¯ìo ç‰Ñ›GÓ~~{kXDDDDDDDä¾w_œ­ÄÌ=3­a‘{šÝ°s"á„5,y`Çé|»ï[Þoð¾5õûã˜5”gú×êÏÎØ,?¼Üš¹¯ÝWçÔôTÒ2Ò¬a‘ÛêRê%º/íŽßH?#鶤‰WØ·ïáÞDÅEfO#üóp†m@—E]ðáCT\íæµÃu¨+®C]IÍH ç²žFâô¡óÌ'lr¼ýÃÛ¬?±ž:_ÖÁo¤þ£üéü]gRÒSÌs;pîõ§×Ç{¸7¾#|y|öãdfþfì†K{PêÓRx÷¦òg•  ­¿m͇?~Hýéõ©ôY%jY›È3‘fÞ{¸7SvN!üópB'„òìÜg‰OŽ7óÑç£i6«Þý)=¶4›"Ì\ä™Hœü C~Bƒ B»yí¸’~ƒ¡? ¥ä§%ñáCßïûâ’ÏÅÜ?Ëømãéò` æ/èÿ'c6iÇ$üGùóÙöϘ°m‚9fkŽ­`Úîi”S—!. ß8œ–sZ4:ˆúÓës)†§æjütäJúÞ]÷.¾n¾ ¨›¹ÄÃÌÖ3¹8ð"!>!Ìm;—+ï\áÊ;W(¯“ŸœÌ™7ÎP5 *½–÷bFëĽÇ;õß ¨GQ†7Ι7ÎÝ'šÃç3në8óÜÞ[ÿ5ŠÕà€ ĽGD³òÙò™ù›q²9ѬL3¶ußFÂÀÕD‡ùH·§›mfí™Åâ‹Ùßk?ýjöãéÿ<ÍÕŒ«f~í±µlï¾è>Ñø»ûÓ÷û¾$¥%Ñä«&„ çÜ[çø±ëLÚ1‰…šûFÅEa7ìüØõGõ9Ä‘ G˜ºk*s÷ÏeÌ–1,j¿ˆ .àYÀ“ÛûfYst —}ÜþGcöÊïpîÍst ëJŸ}Ì1kÒ€«½ÈÉ×NÒ«z/†ü4„§BŸ"öõXV>—¹¾t÷"tªÒ‰#}pöͳTô¯H¿•ý²]¦fešñÓo?9\Ïì•jDÝâu­a‘{Ú}QpJ`D “vLâõÕ¯ÈßÎNÎøºùòLÅg8xî ¹O¥"•øùäÏDÅE‘ß)?•‹T6s¹ñlÅg)â^€•;adpêÒ)3ߦB|\}øWå‘p%Ýgv›ùÂ^0Ö—Ã_fÑ¡E¬:² »aç£G?"¿S~Jx•à¥j/9\7€Wk¼ €K>j«At|4‹-¦sÕÎT ¬† ï6x÷ºBz•bc¯û™ï䘕ñ)C÷‡ºC¶1+¯í+·§`þ‚äwÊO×°®c–¥’%RÒSøíâoÖ\[vãÅj/ZÃ""""""""÷4gkà^Ý'³õÆê7(ïWžnu³6¹-Î$žÁÀ ÁôfÌÀ 9-™4{ùòðNýw¨>µ:ƒê "°P`¶r¯J@kˆÈ3‘ ùiG.à|òy–jhæ?hø%¼JÐ~~{ ðqãs=+ÖnØñËZDJZ N6'RÓSf8{ð4_Û°áãêÙÄ39æ}Ý|IIOáRê%N_>M|rûq"šEЩj'lØødó'ìŠÝe¶±aã¥j/ñbµù:êkÎhÈÉ×NT(È¡¯œLÙ9…Ň³¬ã2ü úà9ìÏ2à0Û9ÍžF\RœCq6{þÔ¥S¸9»áUÀ‹RÞ¥-JÔ+™ë$çĆÍ2y—g¾Ï02ø#å‡6.p­ðìêìjÆïæ˜ô^Ñ¿‚~lzi®Î®ìŠÝEË9-­Í¸šq•ä´äë æ""""""""÷³¿þò»(¢Y„f7ËåáâAÇ*é±´§/Ÿ†k3X7žÜh¶¸v ž<™ôÄ$7L»yíììÌ꣫±vÒíé¤ÙoýðË´Œ4Χœ§”w)¸¶æñ»¾ph³êè*®$`ÃFå"•ɰg`†C›+éWèü]g¶þ¾Õ!~&ñ EÜ‹àžßä´d†ü4Ä|°^–…r(þF›"(â^„jÎRž¸}" WHJKbÄ/#xºÂÓ4iLrZ2Ã6ãRê% Žþq”}g÷eëýÆÚThì=³ˆ>M†‘Á¨_F™Ìâëæ‹AöŸÝïÏË1ûåä/\¾š9Ùš¿‘3‰gö &¾üÄ%Å1ô§¡Ö&ì;»B.…(áUš`zät‡‡8ŠˆˆˆˆˆˆˆÜî«‚³ÈÝ0åÉ)”ö)MÝiu)ôq!jL­aoW^Á¬=³˜Õ&s à^Õ{QÚ»4ýWöwècdÓ‘ìŠÝEá‘…):º(‡âPz}ŠŒ*BT\=—õ$dl .€kKNŒ}|,íæµÃk˜×¤KX‡~çîŸK¹ñåðæÁ³sŸeÒ““(êñç2\+”®;¾Ž˜‹1ñW~…ËW/@…‰(â^„2¾eÚ<ÿàó¼´ä%|†û°èÐ"þk!.ù\Ì|› m¨>µ:ÁŸãìäÌØÇÇàæìÆšç×°;v7¡BñæÅ³sŸ5 À·òtù§yµæ«4žÙ˜"£Šp1õ"õKÖ·6£IHV]e çɘõ©Ñ‡ BƆà;—ÙQ³xsÍ›ÌÄí™5›bŸcàÚæ~CÊì¨Ùx ó¢Ù¬f´«Ô.[¯Z}t5J5ÂÙéú/šØ ;}Vôá×ó¿ZS""""""""÷´¬ï´gÿn»Í²9eÛòeÛœ ?PàÚæº}g䦲eJgëîÆvîÚE­š5زuµjÖÀ½`惷Däîjýmkj¯Í€º¬)¼‡{³ªó*j«iMÝ1[Nm¡åœ–üöÚo¸9»YÓ÷¬ #ƒÆ?Àä''Ó4¤©5Môùh*M¬Ä‰þ'ö ¶¦EDä6غm5kd~.Í+‰IIlÛ¾ƒš5ª[SwÄ–­ÛhÜèÏg?ˆˆˆˆÈ¿¬Ï Uûóê7säèqª‡‡…)@*pHÒ³möl›aÙ²˜¯ï™Î6Û×s‘»Ãº<‡Õ­ò·[­àZ´­Ô–Á?¶¦îi£7¦f±š9›6Çl¦ehK›EDþ è3®ˆˆˆˆü¯¹þ»Üw‰»{A“4ÃYDþ’‰-&ZC÷¼·ê¾e 9èÖ•®a]­a¹Ï$&&áî®Ï¶""""ò¿åž)8+VŒS¿Ÿ ÜÝÝ­i¹Ãf?õ5\û*FNN½ú;Ü$/""r?©T©Ržþ›–˜˜Ä©ßOQ¬X1kJDDDDä¿Ú]-8gÿŠ¡·7'~;IR~ع“l6îî)V¬Þ^^Ö´ˆˆˆˆÈmu·—u»«ç‚3—Ñ(T(sF³··Yx‘ÜKLL¢`A7køŽº«ç À@NŠ!88XËhˆˆˆˆˆä¡š5ªçé2!""""roËZÖ-(0Èšº£îjÁÙëÚW ŸøäädkZDDDDDDDDDDnÁf³Q° AAxzzZÓwÔ]-8s­èœUx‘û—“5 """"""""""òw¨à,""""""""""yBgÉ*8‹ˆˆˆˆˆˆˆˆˆHžPÁYDDDDDDDDDDò„ Î""""""""""’'Tp‘<¡‚³ˆˆˆˆˆˆˆˆˆˆä œEDDDDDDDDD$O8[yaç®]ÖˆˆˆˆˆˆˆˆˆˆÜC¼¼|¬¡ì¶œÃzÈ‘{È‘£Ç­¡LKjˆˆˆˆˆˆˆˆˆˆHžPÁYDDDDDDDDDDò„ Î""""""""""’'Tp‘<¡‚³ˆˆˆˆˆˆˆˆˆˆä œEDDDDDDDDD$O¨à,""""""""""yBgÉ*8‹ˆˆˆˆˆˆˆˆˆHžPÁYî;|8„Ï&O¶†ïЧZ¶fë¶íÖðmÓ±ÓsìÞ½ÛÎшQLŸ>Ó–hÍÚxµokXDDDDDDDDîFÁùÕ¾ý™5ûkk˜ÎÏweé²eìÛ»‡kÔrØêrľ-²_ÓšµëÒü‰– 1’ÔÔ+Ö¦wÄüÙÿ›¼Ò³'eË–³†sÔò©'iÔ¨5|KmÛw`Ë–­Öðm“ÀO?ÿl ÿ#·óþªö Ï?ßÙþËâãã©ßðQ­©Ûæv^ò°àl\ÛòŒ««+[7ÿbn?ÿ¸Þ!¿oß~ »Á–Í[HHHpȼڧ7[7ÿºµ«ø÷[oòóÆŸéÓ·?Ö¦wͬ—Ïþp"IDATY³9røÎ\]]Ù±m ›6þÄ„ñcرc'_L›nmvGüÓŸÝÉ–W·îý¥^½Gðð(d ç¨Bùò”*Uʾ©}{÷‘œ”DÕ­©ÛfíëøñǼ-8ÿÓûëfüüü¨þp¸5ü—-[¾‚õëQ¨PîÆ3/ÜÎë""""""""÷­<­ëæuÕ.OO._¾|[v ¿ûŽÇkFºuXºl¹C.» ðÐC1~Ü8Ž;Æš5kXøÝ"Z¶n“cúƒ‡0cÆLú¼Ú—†6¡Í3mÙµkãÆOà±æ-hÜô1>;ÞlŸžžÎ»ïÀS-[Ó¤Ùãtëþ2¿ÿþ;/]bÀÀóXó'hܤ/tëÎ… ðɘ±løñ'Fù”§Z¶æ‡u™õ½Q{éÒõmÜ”µïä°\ÃS-[¹gÝ_~…ÚuëwÖÌýùòå£LHêÕ{„ãÇN˜ñÅK—Òêéghܤ½z÷átl¬™{ªekV¬øžŽžã‘ú éþò+9z„7Þ@ÃG›ðÄS-YµjµÙ>>þo¾5F›Ð¸éc|8x¨9“óF?ûÍŽou9ñ2½z÷¡qÓÇxö_íùùçf°xÉÞÿ`0ÔoÈ÷+Wq2&†>}ûÑü‰–4}¬9ƒÞ}´´4NÇÆòTËÖæñ5nBŸ¾ýˆ7ûܳg]_|‰:õÐìñæ¬Yûƒ™;xèÏ=ß…G7åÙµ7—¼ÈÈÈ ÕÓÏ0ÿÿÛ»ó𨪃 àïd–ìH–j|žF«¬Y„@–$`¥,ŠJe ‹~¶ökEŠR­ FP*‹¬&lìðTE¬~, €†% 1˜„f’ï̽9srïd±5òþžç<÷ÞsνçÎLîüñr8³y‹ÚW¤\3nHúÐÐЀW_ûF¦¦!~X"2Æ?ˆÃŸ}†ââ¼þú()-EjÚhõ¹rôh}¾"­¿¯ü‚,|~Öüý}$$%cáó‹÷;qÒ”ŸÛä)cýú_P€©MSëM&æÎ[€øa‰™š†µë׫mŽî5//iiiàò{ÝÖ¾sˆˆˆˆˆˆˆèöájà¬ÌdV‚å[0;«¶¶»÷ìEjÊHŒ•†mÛ>”»´Ð±cDGEáЧMaJhh(ú>p?ÜÜ´ß‚¿¯]‡yss°«´ÑÑј>s6¼¼¼°£ «Þy›6oÂÑc_ÜÝÝ1<1›6®GqávàwV6lø°£ ¥%E˜?7þþ~ÈÉÎÂÝw÷ÂÜì9ÈÏÛ†ø¡CP]]¬ìL˜0»w•â‰'ÇüOâòåjõ¾¾°?ö(v•#88H­w…ÕjÅ×§¾Æ¾}û øäЧX¾üU,{ù%ì,-Æ/Ù O?ý{»ó¶l݆7ßx¥Å…°X-˜4e*22Ò±w÷NÌš1 _X¤øó<…€íØŽ‚¼m0]6á¹…Ï€ækwf|QiéN,X0»J‹17{žzú¨¨¨TÛ_}íuDDD ¸p;†ÅE€¿?&Oš„‚¼­Ø²i#Ž;¦þã”WTà‹ÏÿÖ­EÑŽ¦¥]V½Û´þ±ÉdÂì99=* û÷ìšwßEÿ~}Õs÷îÛ‡×V,Çî]¥ž˜ˆç-lÁ~ßûïGXX˜ÚWa2]FVö\ŒÏÌÄž]¥È}{%6mÙŒM›6«}*+«°fÍ,]úÖ¾ÿw»óàÍ·ÞBYY¶nÞˆ­›7áBy9NŸ>-wS9z`6›Qºs'ÒRSÔº¢âôï×;KŠð?O=‰—ÿúW””îĺ÷× p{>L&6oݪö¿7âWXùÖ›()*DfF^üËÀç_|ââ|°~ví,ÁÒ—– W¯^HJJĘѣ˜€ü¼m˜“5Ë©ç@þ|EZ_°}Neeeذn-æÏËÜoZj ¶ª×,;{'¿úÇ'ªuŠO=.wtAIq!Þzãuäæ®Â?þñ‘Ú®u¯Ÿþ9,V+ú>p¿ÚÏ•÷º­}çQ› f½7½¢…vÚªMo½z]+ßÎERò»rò«¯ìú˜Íf»5œ§Ï˜©¶íØQˆýû! ÷ßߨþì3álm¾¾¾¨©¹пþøÌ`0än€ÁqqèÑ£ŒF#⇆ÕjÅäIa4Ñ-<wÝy'Ξ=«öŠŠ„§§ŒF#EÂù áááø×Ñ£8pð qOŸ>Â(öö8€®!]‘˜0 °Ýƒ¿¿>9tHí“>v úõ}ÞÞÞº÷®Çl6#2:‘ѱøíÄ)xìÑ©=j `ûvŒ1=уú Žû/6ÏhLO‹Ž; }ûöˆ‰ŒÂÝw÷ÂÀýC†ÄáêÕ«¸|Ù„oËÊpìØ—˜5s<==Ѿ}{dÍž‰={÷é®WëÌø¢Áqqèѽ;`ÐÀèÝûn<Ø<ËùÞˆ¤ xxxÀÇÇýú>£ÑˆŽ; ""BýŒN}^^žðôôÂà¸8|s¦i¦ð¾ýгGwŒ5 îîîèÒ%;wVÏ–ª:Ôîïâ™g~¯¾G¢}û÷#<, ÉÉÃáææ†®wÜÉ'"/¿)€ëׯ#++ =ºw‡——§ÝùPRZŠGž‚:ÀÃÃ>òˆÜ¥½×¥;wâž>½¢Ö………ªm\l,ŒF#ÆgfÀÛÛÞÞÞЯ?ΖSûÿú¾ûàïŽÄÛ{„ÚºZ|˜Ÿúúzt G§ŽÕóDÎ<òçë ƒÁ€'̇¿¿<=½÷›˜”ˆÇO¨³†‹ŠŠ ___áŠÀ¹sçqäÈ<1mŒF#BCC18.»÷ìUûhÝë‡yHKM±{†]}¯ÛÂwµ.g¼zÜå % òÌg‡&<ôd¤µ«›5;ËîØËË ÷7‡6¢Í[¶áü…sˆOH\½z[¶lE߯«záÂyøËÕšüü›ƒ%víàããOÏæÐÏèî‹¥iI†K—.áíÜwpüÄ  ±ßÕÔ 8¸ yx:wê„Õï­ÁK//ÅÔGÁ˜ÑM!¯¬ªê"ΜùIÉ#Ô:³ùê„¶gw×Öä)ïéµkמ9În™’‹U±oß~—4ÿ—///Ô\¹‚  `€Ÿ_S0í<àïÛ|ìîޤݰXQ]] øøø¨í¡!¡hhhÀwßÕh®YëÌø"9¬ @¥N÷èiÿ>=ö%Ö¬YƒÊÊJÀ`Àùó–‘n×'8¸yww#nXšfk›L&Í{PtéÒôY€ÑÝ]s™Yõåj»ñ $$¦Ë&»ºž=šBu-—.™¨ûúú¶XzF¦÷àÃó‘.=—~~ÍÏ‹››ŒF#üý›ëŒFX,À6s~õê÷ð?†Õr7,u‰nááxgåJä®^ÜÜUHMIÁô'¦¡]»vêµÎ<òç댰ð0¸»7å9ºßÎ:!6&; ‹ðØ£SQTTŒœì9ÂÕš(ÿ ’1nœZwãú 4P=–ïµ¾¾»÷ìÁÆ ÍKoÀÅ÷º­|çQ› ÏlÉÇ­r&pÖ ›]Láí퀀»:£Ñ™[Ž9‚ïk¯`˦Mjé² S›†êêj»PTTQQ‰>þ Ÿû³Ü¤É•™|zö9ÜÑå¼ùúßàéé‰Í[¶¡¸¤y=ãÈÈAˆŒ„/ÿýoÌÎÊFxxXS8.ˆ{úôÁÛ+ß´«t–q…§§'fLŸŽeË—#66^^^ Äoî'¦5¯M+sö= éŠÚÚZÔ\¹‚Î:Ê/”Ãh4¢K[à)¿v'ÆUIkW^¼ˆˆ{#Ôc7·æë_¿~3fÎBNvÒRSa0ðôžQÛzË«øûùãüù晥277Ç!¯–ÐìÜÕ¼4TTT ¤kóìb8¸'ð÷ÀŪK¸ëλß_ÛjØ­w½oËÊpêô) gWïìgÛÒíÞ»+^yþþ~øæÛo‘‘9^mïù‹žXøìŸa2™0ïɧ°jõ»˜öøc-ÿœxÄÏW“Æ}Ë?4ÙÚý¦¦¤à¯Ë^ATT$ê¯^Å !DVÂh4"oÛV»É÷ZT\‚ˆˆ_5? 6®¼×mí;‡ˆˆˆˆˆˆˆÚ9÷•ú¡I‚8³ÙéÎβZ­v¶ÙÍ))#¤–>½{㾈_iþx Ét{÷íÃŒ™³Ð¯o_įĶ%8½ø¢:£ñ‡¸Xu }z÷†§§'Ìæk(‚Ÿ“_}ï¾û°ÍòìÜ©êêê~¾¾8~â$`ûQµ¸ØXœ>}yù°X,°Z­8yò+˜Ífõz·Êð¤D"wÕ*@Êȑزeþuä_hllĵkf=zL>Í)AAÁ4p Þxó-\¿~f³+ss‘˜˜ .) ¿vWÇß¿ÿþ}ü8qàÀAœ8~±ÑMŸ­¬¾¾õõõ¸7"ƒÊËqøða¹›®˜˜h”=‡Â¢b444 ¦¦ÆáŠ-^ŒCŸ¶+&: —««Õ‘«¬¬Âú‘š:RîªkØÐ!x÷½5¨««³ÍÖm^ÙUùyùHLLP—š¸U—.¡{·nð÷÷Ccc# „ç±¢¢e¶¥F|}}‚ºÚ¦çÀ×·3N>‹ÅrËžùïK‹£û€ ¶®¹¹«029Ysöx·ðpÜsÏ=XºlêêêÐØØˆ ååvë‰Ëòòó‘–š*W»¤-~çÑO–3Ù®£6;Žg½‹è ®UwÓÌf3 ŠRKLÜ\ùþ{ìܵ©#›ÔL1*- [·mS䯾†ƒ¢06#«V­Æ¸ÌL,ùË‹ê,Âòòr>üOÝ0Êóæå`Ý0aâ$ä̋Ąµíäɘ0q‡'cÒ䇉è¨(À”IqðàAÄ'$¡¸¸þþ~xõÕåÈ/ØŽ!ñ –˜„%//ŵë×…Ñn ƒÁ€ìì9xÿýu8wî<èœ9Yxö…7)ic°Õ‰cÔóܳBMM RGÆè±™ðööÁ“óç©íòkwuüY3gbùòˆ<K—-ÃsÏþaa¡r7ÀpfÏ™Ùsr0å‘©X¾|ÒRZþ é ÂË/-Áûk×"&n(2Ç?ˆãÇËÝZhhhÀg‡ÿ‰ŠŠ ¹ :tÀŠW–aË–­ˆOHÂã¿{i)).‘Ó§ÿ]»vÅè±ÿàC ½©ÀØjµ¢`G!ÒRÓä&—LúíoqÉtãÄ£ÿáÝÂѱcÓò)555˜;â’0flêë¯bòäI€É#àntGbR2þ²ä¥[òÈ_ZÝ/l?ú˜2b8öíßïð–,~µµuHI…¸!ñÈÉ™ÊÊ–Ÿ9œ9}gËÎbp\¬Üä’¶øCDDDDDDDm‚’ñÞtÖ«üÿjñÿY„c7Û¾›PŒ¶âÀÃVÚÙJûO?ûâÐ]wö.GDÿ fó5ÄÄ Æöü<ÉÍDDDDDDDDDv¾>uý¸ï^f×ܰ‹­X4ØJ£m IÉê¾Þ g­[«Ò”ë>]˜ˆœròäWøæÛoÑÐЋł·V®D·ðp†ÍDDDDDDDDä 1<ÖË€Eû´öK}¶ÎÊV©Ó+ œ‰þCªªª°lÅ TUVÁ`0 W¯^X¼ø¹‘#b¾+; —µ´8ËääÁ8ý‡DGG!:ºim^""""""""¢›$g¼21ˆn•Ö’ò‰òå µ ÊúÌZEn›Vàìˆ^è¬,ÍÎDDDDDDDDDDm‡ø£€rÐ,æÁNq6p–ƒf9t&"""""""""¢¶Á*…Îbæë2ggh$ÜrÐlµ""""""""""jä ÆJØî4G?(_È ÔË…Kjµ=Ê g9óU 4ŽuÝÌ gq_ šX¤sˆˆˆˆˆˆˆˆˆˆè§K œ­:Ár«!³ÈÑ g-†¶YÏÊÍÜÝ=ðõ©3òyDDDDDDDDDDôâîîa©deR±˜»6CX&CÙŠ R»Á6#ZÙº0Ú¶î¶}qëaÛŠEiS΋2†£{""""""""""ºÝÉ¡°8IX,VÛªÊÖà†íø†P§ôg;+ᳲǕ©uÊ g¥By¥:ù ¶cåǵÎWúYm³Eªå [›åëÝÎÄŒVÙŠ3“•}%4¶[1|Vfyv³<ËYWԢΕ%5”“ ÒÍ„­¼†³ÒÇ]œÅÍZ¡³2†¸iÕýÜ´t¥ Y«Èá±,ËE ž•sä°Yk|‡ÎB¸ !èUŽl!qƒíXa‘^˜ò¢Ä°Y^BC«ˆäc"""""""""¢Û‰þ*ûr8¬9p–³ZG³›•}q,q<‡Î2­‹)7!×)[¥ÝhÛŠ3™µ–ѵèÕýœhe²ÐÈ`Åc%0VöµŠ4[¥~âõÄë:Mœu]GõЕ:e6³6ëÍn†Æ–ˆˆˆˆˆˆˆˆˆˆZCfe+Îâ±:kÕkÌZuЫ—g™4k^ÄF~!)t†ƒÀ[‘VÑíB+›U²Xq_«ˆ²VÜ&^W«UZA®£:q+†Åb ,‡ÉZur¯-ïQ31üUöÅXŽÅ"†ËzA³xq+ÒªÓ våz­0X‹[+r?­kˆäc""""""""""jöŠÁ°¼¯u¬”[›²•û+ôÆkA/ÔÕªëôcy_>ÖÚ· ù˜ˆˆˆˆˆˆˆˆˆˆšÉ¡¯Ëá±¼/­> y½:ÀA°ëL½·(kÕ‰äc½:"""""""""¢Û•VØ+×ÉÁ±&ËÇZ[y_¤Wï0ÐÕks:kÕémå}GuDDDDDDDDDDdO+øÕ Œµ¶ŽúÉû"½zÀ‰pW¯]®× ‘µêí˵ݮ…¾z¡±*kµé+ôêU΄ºŽúÈmza²£~ZZk'"""""""""ºµþêÊzûZÇ"Gm*gƒ]Gý´Úä:ùX䨈ˆˆˆˆˆˆˆˆˆœ£ Ëõò±^ÂQ›£\á€3Á°3}dNß,ir”³êµéÕ‹œé£r%p†‹²+}‰ˆˆˆˆˆˆˆˆˆèæ¸ ÿX} ßìyøçQë\‹7}î­oÅ5ˆˆˆˆˆˆˆˆˆˆè¿ç¦CfÑÿX×%"""""""""¢æ–„ËZþ›Áðsl"""""""""¢Ÿ£-L&""""""""""""""""""""""""""""""""º ý?)úug£N¿…IEND®B`‚qgit-qgit-2.11/screenshots/qgit_main_view.png000066400000000000000000010107351500324541100214150ustar00rootroot00000000000000‰PNG  IHDRœñ~mh pHYsÄÄ•+tEXtlogicalX630.313ºîDÅtEXtlogicalY208.112›½©IzTXtwindowTitle™Ó/K,ÒÏÈÏMÕ/ÉÌÕ/(ÊÏJM.)Ö/-(.)JMÌÕ/LÏ,QˆÎM,.I-ŠUÐUtÏ,¦-~Ò]ë IDATx^ìÝwtUÆñïfS =„ÞB•Þ»ô¢€4ADzA@¥JGŠ‘¦€€Šõ°Qé EzWBo $ô²ïIÖÝaÓ0ÁçsΜÝýݙ̬ٙÎ>ܽ"""""""""""©Àd,wôÚVbm""""""""""ÿ5‰¿ …ÉŽž;ª%ô:^Bu«Ä݄څljՌ‰=O¬&""""""""""±…¿ŽB䤓ª%T‡D‚ÝäÔA²í££ZbñŒ¯ã%Tù/H(è5Öá±%5ÛGãs[ Õq6‘PØœÜçŽj¶Œ¯ª‰ˆˆˆˆˆˆˆˆˆüW9 {5c lû<&î¹)ålëŽæITrgÛà×Qhl •MN–³}Œg|-""""""""""3Á ÌÆÉdó<>|ޝÛ>¤ÐÙQàœXØkƒc“!PNêµír¶ë6>{¶!°1`¶},;z/Úæ9Bg£ÛÎFÆ@Ø6@6Nñ²ícüdœ'~Jè}l9ª‰ˆˆˆˆˆˆˆˆˆüW8 xmÃåøGÛç¶AsŒÍk“¡w³Ùæu<ÛÐ9þ1IIÎÆ ×6(6N¶á²àÔ·o¿ÏשûBHpHp¥Ê•kÖ%""""""""""ÁáC‡ö¦óLçùëο,[úñL›\7>ˆvJ tŽ—¬ÐÙQ ìèµí£1d6†ÍfWWW÷í¿î9Ÿ5sf7gggÌÎf›UŠˆˆˆˆˆˆˆˆˆÈãMtT”ÅÿÞ½ðzujùDFF†ÙζS|¯hG=¨m_'0_ƒfÛÉl6æ=¿¸œ#‡·›““‚f‘“è¨(nßñ «U£jÞ¸ñ›cl³£à9žñ5ÆDØ6p6†ÍñÏã1[ƒfÀÜ·o¿ 4¬íââb³*ù7prrÂÕÕÙì‘.}Ö½{vo3¶Ç‰“eÆ r2a žmgkðü|ºMœ“ZDDDDDDDDDDž³ÙÙÔ¸Q£–†,eÀ)Ÿ '´ ±nû&¶ã7[{8‡‡'6f³kØE2íÀ5ôÄDîš“ûY‘®¸qVIÎÎθ¹»»ÅåºÆa4œljñL†ÐˆÏŠ­õ„º"ÛÍñ!³1ÙŽŸlƒg§J•+W·YÖNÖèÓxm…+Xb"ÁbÁ=øw<¸O¸ÇËÜ13.’¤C‡Q¬HQ2fÊdlzÈ%ßK„G„˸¹ºQ `cYDDDDDDDDDä™äéé™Ù¦C±%.d6fÁñl‡Ø0ÏV Î I,tŽïåì[ø%Ò;ûãT°-Ñ~»Xt8˜œ0e)Kè \-¡Dx–3.š Ý»w3yÊ4 äÏÏû³f$:÷îÛ×X²³yÓFcIDDDDDDDDDä±¹qý¹rç26%jôè1¼Ú¡=åÊÆæ«ÇOgÅ·+™6mªqV#ãp¶S‚ÁrBR:†sü£mÐ6Ç?:”ñÁo˜Ânaò®˜pò® N.`2cò®N´ß^<Ö{Èùóç¹}û6»wïæÝ)S‰‰‰æÒåËœýëœqÖ‡Œ;–Áƒ;œÆkœ]DDDþCÖý¼ž—,5–YLL ]ºv#((ˆþý_çò•+ÆY Ûí8sæ,·oß¶¶ 6œ›7oÚÍŸ¶ëL !!!ôéÛÏXN–ÀÀNžÌ ÁCèÔ¹ ¯uêÄsæl7ϡÇx{è0^ëØ‰¯udÐà!ÖÏígèQ·]DDDž ûöígýú‡³Íõë×§èZíÆõtíޮݻ[ƒçäzµC{&OžÆñÇ9~â8“'OãÕí³9b;†s|ðŒMœ"‰õp6¦Ùñ5Û6Û I4pv¼EŒ³N˜0yæÃ\´;‹KÐLéry—è0ãbñõõeÉÒeÜ ÀƒÉɉqcGS¹Reã¬ùæÿãüùóÆ2… ¦NÚÆ²ˆˆˆüGlÞ¼™ÁƒËìèÑc.TˆŒ3›+Ûíøhá"Z¼ôÙ³g`äˆáx{{IRjï[ºté˜<ù]c9YvïÞK@@eÊ”16=$µ1)|ÿ´ÂüÁ¨‘#ŒMÉbû·¿víë~þ™Úµ_×­[‡Ao 4–SMLt4K—}’àû'fÞÜ9¬ZõƦ;wŽ3g2qÂJ–,ILt4Ÿ-_Îĉï2kÖ ~ûm .dÔ¨‘”*U â:ÀÄnâ?CÿdÛEDDäÙP @~æ/X@DD$­[·à§ŸV³rÕ*f¿?Ë8»C7®ß`èðá 0€¡Ã‡3{Ö¬d÷t.W¶ãÆfÂÄØë»IÇ[{;'!>d¶}Œ±i7†Î‰özN,p62†ÍÆ)ÑÀÙb¢Bp*Ò•è[ÛqÊ×ËͽÄ<ˆ Â\ܪaÆœþóOV¯^‹ÉɉñcÇðüóÏgI¶7nFáB…èßÿuÞ~û-Š‹½·ÄŒ™3)Uª4•*T`æû³ˆŠŠ&2"‚R¦LiöìÝËÉ“§¸}û6§OŸæ“eKI—.[¶n¡QãFÖ÷ؾm;Gãî½»4{ñE:tèÀ¾ßöñÅW_IÖ,Y:t(9²ggÏÞ½ìÞ½›à®ß¸A¾|y©_¯>«W¯áöÛ4jØ®]»°s篬\µ ‹%†\¹r1|Ø0ÜÝݬ۱mÛ6ØÏ¥K—È–Í‹)“'3~üFMÖ,Y6|8eÊ”æ?Nc2Aî=øþûï¹}ç69sædâ„ 8;Ç^:ÚîÛ¢E‹pusçøñã<¸ÿ€òåË2pà@Ìf3ý_@×®]X¼øc5lH»vm™?¾¾¾DFFÒì¥æ´mÓ†‚|ˆè¨j=_“®]bÛ_|ÉÁƒ‰ŠŽÂÇLJáÆa2™èÿú5lÀ®Ý{~@·®]Ù³÷7®\¹Btt4Ƴ~éøu×.jÖª“ÙL``3gÍÆïŽ^^YÉê••jU«Q»öóœ;wŽ9sç&ž{î9Ξ=ô)Sp2;3xð`¾üâ æÌ™Çù 1tØpZ·jEíÚ _c'wo\¿áðsóç™3,^ü1ÑѱõaƱ}ÇvnÞ¼ÉÐaÃ)]º=ºwOð\0ž[ñŸ…”X½f ­[µ¦dÉ’8™ÍtïÞnݺsîÜ_-Z„åË?gÐàAÖ°™¸Ž*ñâ?C7n|hÛEDDä¿%W®\Ìž5‹¡Ã‡[k+W­Š Œs%߸6·åk`M|èü~òÖñÄ÷p¶ ›msßDf£äÎÆ°Ùö¹íÆ8Ù,c'Ì9;ž¡ç : SÆ¢DŸÿsú¸~È«ßãÁIß´ïèÑclß¾ƒV­Z°k×në—ÁäèøÚk&ðÀL©ÔCGDDDž>[¶l¥Q£†4iÒ˜m[·Q¬X1ÂÃÃ9xð0 ÄÃÃÓ§ãêêÊ‘#GùvÅ Ê”) Àúõ˜:e2ãÇÅÑƉ'úöÛÖ÷ˆŠŽfk·î´hÑ‚°ðpæ}¸€,À+kV6oÞÂû³f[{W:tˆO?ý”ôžžŒzç6mÞÄ̙Ӊ§Sç.´k×–¾þææÏ›‡»»‹-â§Ÿ~¢C‡vÛáììÌ/7ÒµKWJ—þ;<‹wþüy½1ðõ×ß0ëý÷Y¶t)éÓ{2rÔ(:LõêÕîÛ_çþbγ1£FfÛ¶í4nÜ,¶mÛÆ'Ë–âââÂâE‹ñΞQ£FÊà7ߢX‘"øø²®ËÏÏ/Áý™6í=z÷ìEõÕ‰ŠŠÂÙÙ™&ЩSGFŽŇÎ'S¦Ì„‡‡ãêê †cœGûS¦lŽ=ʲ¥±Cr„‡‡ãææöÐû|ÿÃÌœ9¯¬YÙµk7~~wXøÑGDGG3hð*WªDÉ’%ißþkPúæ[osöì9Š/ ‘Ì›;‡S§~ç­·ßfÁ‚ùc ¤bÅ ?qœµkcCùxnnntïÞ/¾ü‚™3bÏ¿D%s³çÈîðs³vÍZ^nÓ†:uj @‘"½ùñÇŸ¬=€;ŒçÖ£¸ä{‰zõêÚÕÌf3EŠáÂÅ ,XßK¾”/—t¯ >½í·]DDDþ›råŽ »ÆýãóË—'»wò¥K—éÜ©#Íš5³ÖZ·n…«« —.]NVà?ŒÆ¤‰ã˜˜3ÇÀ=W¢Ò§ `äÉ“'''Ü=<ðöö&0 3çÎp1q÷£ ¥lÙ²Àv$ÄÃ#µgAŸ‚”,Y‚ôé=c_(@@À=H`UªTÂlŽý¥Z½ºu9}úØÀhÕ²•51†k‹‹ÅBñçžcò¤Ivm$° qwí ÏÕÅþµÅÛ¡ÁÑ:££ÿÞ-22Òî’0SæLÖçÑQQÖçñ\œÞ'Gûs÷^là”víÚQ¿~}Ö®[Ç€o°`Á<|}}펱ÉdÉf}èhL&ãÇåüùó|ûí 6nÜÈ„ ±=GŒlÃ\‹ÅBóæMiÛ¶­Ý<;vîä·ßö2mêT\\\7a‚]»›ûßÇÞժƋ-[¶ÒÈæzØb±fÌæ¸Z,˜LöRlϳG•œmLèsS®l9/ZĶm[yëí¡¼3j$%J”0¬Âñ¹ÏöÜJÈ‘#G™;ýûõ£fÖ¶‚ ræÌY*Uªd­EGGsþüyºví‚««+¹ræâÏ?ÿ¤dÉ’”*UН¾ú’—,%"2ÒºŒˆˆˆˆQJ‚æÔ4mÚT»×åÊ–KNØŒMGbcÆÿÜbóÏøÚ*Á!00¾‘íßÃ9Ñ+׈ì¸áÙ”»W'$ÚÐ{ø]ØÇ­d7¿-îÜö³Ž ›˜2eÊðǧñ¿{âzá–.UÆÚ»69Ê”*ÍÉ'¹ä{ €¨¨(‚‚‚n‡›»;A6K§Œ£uìÛ¿Ÿ˜èhbbbØùë.J•r¼ï•+WbËÖ­7ìÈžÝ{©P¡¼Ý< íOÖ,YHŸÞ“Cqû¨¨(bbbpww#ÈfŸ‚ñòò¢{·ndÉš…+W®ß£{7ÆŒKÖ,Y(]ºT‚¡ð֭ۨߠž±ìWÖ¬ ôcFÁÉìD–,Yyûí7³%*›w6† Êä©S°ÄXp2›yãœùóìCÛѺe+æÎËÊ•«˜7wŽ][r$´o¹rådä¨ÑRºtiêׯoœ€îÝ»1gî|úöë““/½ÔŒ’%KòàAlK"ûS®l9ÆŒͼùóX´p1ÎÎ.Ì›7‡Úµk3~ÂDú¿>€‘#†³lÙ'ܽw³ÙL±¢EñññyèWªP 60bäHÒ§Ï@¶lY ý»—³£ý¹ë—±ãÇc6ǵУgOL&ÓCïoT§Nm|/ùòú€¸ººàáîÁÔ)“iX¿>ïNžÌø pws§råÊÆEuæÌY²fñÂÛÛÛZëÑ£;3gΤ_¿×ñΞB…þªdäÈáÌ›?WŠ-ŠW¶‡‡°(\ȇ\¹rÑ£G/^ëØ&cǧþ'úܬ^³–]»wãîîNºté9b¯ux•¯ FÍê x}@‚çBj(Z´#GŒ`áÂEøß½K@@uêÔaܸqÖyš6mŠÉdbâ¤w ÅÕÕWWzõêi·.l»ˆˆˆÈS$¾C±1ÛµÍ|õrvÈQPl ÛÞÐ׃9~r\â&׸Gƒ‡ôòŠý¹¢ˆˆˆˆ<Û-ZD¾üx©yòÇ–3z𠘞½z²rÅ cÓc—ûóo1}ÆLjÕ¬Ií¸ñÃmµ{åU¾úòsÜí†zIØÆM›8{öƒÞhlú×Xµê;"""ìnà˜/YÊåK—x÷ÝI þƒ’ˆˆˆÈ³Æßÿ.U*•/ „@dÜ7E1q“%ç¶á³õù£ ©adÛË9¡yDDDDä?¾ó£  Æ#]:cù‰ù§ûó¯a³—/_±î×±ãÇHŸÞ3Ùa3€‡»GeÐà!Ý¿ol~âÞ:Œ›7‘.]ì.EŸ^=  ᣅ‹ŒM""""ϺTÍuRÃÑ›Øöˆ6nˆñµˆˆˆˆH¢¾ùæløåÚ¿ÒÎØ$©hçÎlß¾7wWœœÌ 6Ô8K¢êÔ©M:µåf¿o,¥˜“ÙÌÜ9Ë""""ÿÆŶ°‘)©a5-l\¹ÉpS@ãñÃi¸îÛ¯!5DDDDDDDDDDþÝâ†Ô(7¤F¸ƒ!5¢ Cj§x4¤†#¶µmú-""""""""""ÿ~ÉÉvk³“œÀ9¡•%T‘§£àÙø:QÉ œIb¥¶ xb󉈈ˆˆˆˆˆˆˆÈ¿Kb™nbm%vÓ@#Û•'úFY2g2–DDDDDDDDDDä_ÄßÿnüÓDóÞ”HnçxÆ^Ì©¶!""""""""""òÄsßGÊ~S8'å‘6BDDDDDDDDDDž~©8?râ-""""""""""OLªæº©8‹ˆˆˆˆˆˆˆˆˆÈœgIÎÆÂãrøÈ*U¬˜àkùwÐgS‚¹~ó&ÁÁÁÆ&y&“ OÏtäÌ™‹L3›ŸyŽ®/u½!""’ºžäõÆ œEäée±Xð÷÷' à‘‘‘Æfyй¸¸9s¼¼¼0™Lâ÷¥J>œ>sö±~ü7Òõ†ˆˆHÚxR×ÃYDR, à>>> ›ŸA...øøøp€àà`}ùI#2dкÞISOâzC³ˆ¤Xdd¤Âæg˜‹‹‹†J‘G¢ÀYDDDDDDDDDDR…gI œEDDDDDDDDD$U(p‘T¡ÀYDDDDDDDDDDR…³±ð4¨\µº±D¯^=x½_?c9ÍãïïOþüùM©âòåËxyyáééilJu‹…5ëÖñÓê5ø^¼HTT4… ¢e‹´nÕ'§Ôù÷ GÇïÐ}I¶ý7oÞ$gΜÆ2÷îÝ#$$˜Ü¹ó`2™ŒÍÿˆ£ýq$5öÑVüû¦özEDDDäñ[²tK–.3–êÛ§7}ûô6–S,::š¯¾ù†-›·â{é  Qã†tîØ³Ùlœ]DDDÄê© œ1i÷îÝãõƒkèÌåË—ÈŸ¿€±)ÕxyyYß#­Cg“É„g:OôïO™Ò¥yð ˆÓ§ÿä‹/¿fãÆML™<oïìÆÅ‰íñ3†²‰µ=Š›7oâwçÀC¡ó½{÷¸uë&...\»v•Z¸˜³çÎ1oÎlc8hÿ7îCJÌž3—ÿýoNf3ß­ø¡a¡¼ùö0nݺEÛ6m3z”qyФN—Õ'lÕwßó×ù¿øä“Ϩ\µúCSZ° ›Ó2öôô$þ\¾|‰àà`csª°X,Öç6 JåJ¸»»‘-›7µk×fñ¢(S¦4cÇM$&&ÆnÙÔ’–Ç*gΜdóöN0löñ)„O!ÂÃù~ýšÝlž>mª±é©·{ÏZ·}…Òå*R­fm:wëÁÕ«W³¥š{÷î±mûcYDDDä™áSȇ ¿l4–²á—øò1–Sì«o¾!}úôÌ™=‹R%K.]:J•,ÁœÙ³HŸÞ“¯¿ùŸq‘'æ‡äöí;øm7?|·‚ƒÑ­G/ÊWªJåj5éÙ»¯õZ488˜9óæS¯AcÊWªJ½YþÅ—Öu]ºt™"ÅKÚMS¦¾gmß½g/M_jIÙ •iÓ¶='O²¶%&22’I“§Ò°É‹<_·>¯uîÊñã'¬íâÕ×:ó|Ýú4~¡ï͘Ett´Ý:RâQÖ—Ø6ÆÄÄðÕ×ßÐô¥–”)_‰:õòåW_WÀñã'(^² ë~^o­ý´z ¿@¥*ÕéÖ£.^„¸ï¡ß}ÿ#-Zµ¡\Å*Ô¨U‡1ã&n]ö›ÿ­ y‹ÖÔªSŸ­Úðý?ZÛ†ñÐñ ºomOÌÜy ¨Zµ2GîgÌ;lÆÄÄðù_ѰɋT®V“V/·ƒdîÛ?åh.\¼Hó­1j´Ý¼IÛÊb±°pÑÇ/Y†«×’ÿ]ú¯¿ÎóégŸóóڟصc+ùóçcöœyÔ«[‡#÷3lè[vó/ûä3Š/É??|/]bз¨R½e+T¦gï¾Ü¸qÓny²žúÀ9%?/K-+lŽ—Ö¡óšuëGœeL IDATX½v­±le6›y½?bbbøiõcsª8t`_²{m<ŠÄÂf777"##‰ŒŒ$]ºÔ=žGŽ1–ìÂæŠ+›Ù‘#G¨V£–±LµµnGZ dÀCx¥íËìß»‹uk~¤K§ŽýýSÓ†›Øºm»±,@XX˜±ôäÌ#"""OÖÔÉ“ù`Î\®ß¸al²º~ãÌ™ËÔÉ“M)¶eóVz÷êi,ЫgO¶lÙj,?1—._¡lÙÒ¸¸¸àææÆõ›7éÖ¥3‡öïå·Ý;É;7£Çއ¸pÐìd曯¾àØá|¼ø#æÎ[À¡Ã±×Ê~þ~+Z”3œ´N£ß @@@ aè[orüÈAºuíLß~’ ~»b%‡á‡ïV²{çvš½øCÞ qÝ€ACxµ};vïÜÎÊo¿fûö¬^“ð÷³Ä<êúÛÆÐÐPþëas¼´ Z½†Y³f³îçŸMVf³™.]:±&‘`:%ëžX[j¸wï×®^%]:O\]] çâÅ äÈ‘“,Y²gÿGFcö¦UØ °dé'L›:ÅXfÚÔ),]ö‰±œ&îÞ½Kxx8-[¼„§§'ÞÙ²ñB“Æ8;ÿ=zϩߧM»öT­^‹f-ZqèÐakÛíÛ·ycð›T©^“j5kóΘqÜ¿ÿw/…^àð‘£têÚÒå*òÕ×ß0oÞÖoø…^`Æ,Ç??³uäèQ^éБJUkP·A#¼Ô®—ÿgË?§A£¨× a̸ üïÛ•vëx„……Ñ·ÿŽ;nl²:vì8}ûPè,""ò/W¬hºvéÌøñöTŽŽfÜø‰tëÚ™bE‹›SÌ÷Ò%|lBC[…| rÑ××XNs·nÝbà !”¯T•ò•ª2múLfÏ™Ë÷ßÿÀê5ë¨[¿;ÝE«/Ñ A}œqqq¡AýzÖž2d`ð äÎ €âÅŠQ°@nÄù~~þdÏ‘³Ùlâïc³eëvž+^œF `2™hݪ%™³dæ×]»ˆŠŠâ½³¨^«6Uk<ÏØñ­×XááäÍ“‡L3P¢D ¢¢£ . Žˆˆ dÉdÉ’…œ9sØç+WѨISJ–)OýF/à{釡mû”*[j5Ÿgý†_’\_DDӦϤz­Ú”.W‘ö:“è6zzz2å݉”.U ³ÙL¹re)X ç/\°n#ÀÄw§ÐºUK²fÍj­mݺÆR®lÌf3ã:£ÄÿÝú÷ëKéR¥0™LdΜ™ªU«pãfìñ ÇÍÍ Ÿ‚-Zgg311±×î~~þäÌ‘ÃîxÙZõýÔoô•«Ö k÷ž\½vÈÈHúöÀÙ³ç˜4y*uë7"0(ßK—èÞ«µêÔ§jçykèp"##­ërt nß¹Ãwß}χóç‘'wnˆ šã%¶o»vï¦ÙK­¨X¥]»÷Äÿ®¿µ-±ö„öÁÓÓ“o¾üœreÊØ­‡$Îm€í;vÒ¦m{jÔªCÍÚõXbóý1¡sÆÝÍæM_dÞœÙÿ»tÇÏþÞ rÕÔ®×€Ï>ÿ€õ~áÝ©ïqéòeêÖoÄŒYïÓ«O?|}/1fÜxêÖoDhhìg',,Œ¡ÃG2nô;vÇ£u«–tí҉̙2áîî΋/4áÂ…Øžó$±?"òx<c8'&5CË'6dz Ss|/^dé’Å 6œ<¹sS¡B»ö¨¨(nß¹CÉÏqþ¼ýEÅ£0;ÛcdlKmña3@P` W€àT ›û2jä¿ù6óç~Àà7ßæÝIR=l>zìAAñÑ¢EÖ¿ã²O>%K–¬rìøqÊ—+g\4UÈŸŸÒ¥J1tøHFFáÂ…Œ³°eë6>[¶„Ì™3óѢŌŸø.ë×­`àà7)]²$»wn'::š!o e̸ Ö¿À¸ ?v eJ—"]ºtܺu›»÷î1uò$›wqÌÏÏŸ¾ý2~ìh^jÞŒ7oÒ©K72dHO§Ž¯±cç¯,ýäS¾úb9…||øyý†IéR¥Œ«ú×swwçí7‡0múLFAùòöÇþرãÖ6www»6ù÷éÜ©#{÷îå³åŸ?ÔûøÓÏ–ãæêB§Žíêª`Ø1›KÅ…–¶.\ô%Oî‡{P¦µþQªTIvïÜFLŒ… ûAäÍ“‡ÐP¢¢£™8~¬ÝüÑÑÑüuþ< >\È+¯´µk bÍšµP«f îßÀ‘#G©Vóy¢£¢©T©"cÞEþüù¸páE aþsÅ‹óç™34nÔù~Ä‘£GÙ¸ág\]\éÞ³7ó|ĈáCy¹M+V¬\Å”©ïQ¥JeæÎ_Àø±cprrâÍ!ƒ4ø-† }‹ý`±XhñRsˆ Îf͞ÒÅQ¶L.^ô%¾|Üñó£WŸþŒ5‚—Û´æÎ?<<Ü“\ßsçqøða¾_µ‚l^^\½v ''§D·ÑÈßÿ.¾—.Ù]_®ßð W¯]cú´)lß¾ÓZˆˆxèZ3wî\øþÑ",,ŒñóúõÌ™ý>¥J–¤j•Êôîû:ݺvæ³åŸÓµsgòçÏÀý÷8h¡aaxgËÆk¯½Jn]س÷7fÌ|Ÿo¿þ’Â… ñÞŒY yóm¾_µ‚%‹Ò¢Ux_h€Ùɉ~}zSµJe‚ƒChݶ?¯ß@ëV-<k^O©R%YðáGìØù+‹…®]:ÓµK'›=s¼o·ïÜaÀƒ™>m*Íš¾Èœ¦[^ÔªU3Év‡ûP¯n»÷µ•ع ?_>fÍx"E súôŸ´nû /5kFîܹ£0:xð•*ýý;±ý‘Çã©íá,©'**Ÿ‚>,ÿôSÊ–-klæð‘£ôìÕ‡[·ýp±é©ú´± ›ã¦ZØŒÍÐ ñï×ß|Kýzu5z £F¡^½º|ýÍ·DDDýG–-û„>}zS§öólß¶ƒ%K—±üó/X÷óÏÔ©]“>}z±ô1üÀl6óåçŸR¦tiº÷êC‡Ž]س÷7»y^iû2™3gàÅ&M¬=4.úúròä)†¾ý&nnn¤K—ŽDzyËV»^ί¶…êÕªâéé™âlÞ¬©ÃÐüiQ¾|9FÁ´é3íz:Û†ÍÆ ZDDDþL&“&NdåªUœ:õ»µ~êä)V}÷“&ŽOñµQB5nȲO>5–øäÓOiÞ¼©±œ¦.úúòÇéÓŒ5‚ôéÓ“1còæI8ô^öÉg”­P™æ-ZS¸p!Ú¿;®n¼ÊÕjR©Ju/YƘѣ¬=r۾ܚ-׳oÏ.¶lÚ€··7={÷%&&†ÐP<<<ìÖãááAHH?üøýûö!SÆŒxx¸ÓñµWÙ¸y3Y³f¥G÷n|÷ÃŒ›0‰|ùòQÙ&köâ xzz2}æû¬úî:wêh i׬]Gûvm©X¡ÎÎÎ-Z'''¶nÝFáB>´¥ÎÎÎäÊ•ÓzèúÖ¬cð 7È“;7nnn.{­›Ô6Æ‹ŽŽføÈQôêÙÝzÍ|ãÆMfÍžÃì™3ìzÍÔ¨QÍ[¶pÑ×—èèh~Ù¸ÉÚ»9^ÿoP®b^8ˆÎ_£b…òÆ÷îÙ#vXމïrýú Z´ˆ ÎÖüø=[7oäÐþ½Lò. }lò‡¢MëV)R“ÉDÏîÝ8~â$·nݲ.o+}úôÔ¨^ ³ÙLÆŒ¨X¡Wâ¾;&t nܸÁÑcÇ©T©"›7®gñ™ÿáGì޳׺ބömçÎ_)T¨Í›5Åd2QªTI^|ñërIµ§Tbç6@áÂ…(R¤0%J|˜ìÙ½ú@µªUxýõ~ôëߟ‚qiÅv8ÔVÃQØ 'oÞT ›ãÙnw®\9™üî$¦O›ÊôiS™òî$ræÌÁ¤ÉSì†qø'Nœ8Á½€êÕ­‹——‹}Ȇ_~á‡~dñÂ…x{g§~½zÜ à䉓ÆÅS]ºtéôÆvlÝÄkÚ3pÐ`öí?`mÏ•ëïñœ­?¿º{÷éÓ§'}úôÖö¼yòý{ÖZ‘d\à$Äßÿ.9sæ°«åÍ›×úó´;wî={v»öìÞÞv¯Ÿ6ÆÐYa³ˆˆÈÓ+{voF ÎØñU:vÂFŽ··ý5Ì?ѹcG|­[µ46ýë=ΰà ã†V±bEë0ÆåæÍ[,^²Än¹GµdÙ'ôíÓÛÚ£%[6o/\ÈâEYÃU“ÉDß>½ëØUf³™V-[P½Z5öø;pvrr|Á7Onîß¿owxíÚuÌf³ÝÅ«ÉÐk"%=yòæËËÕ«öÿ²}ýúuëÅ\6//nß¾m×~÷î]»×O£øÐyÔ豌=Va³ˆˆÈS¬QÃv×3W¯^£aƒúvóüSf³™Å ?¤|ùrÌœ9‹š6gÊ”iT¬PÌgü„ í¦ÔY½²DPÐß¿zKŠÉdÂ;[6úöéÅ•+W¸rÅþû€»»;åÊ–¡IãFý"/žÅƒÅbÁÃ݃¢ÅŠrîÜ_vígΜ¥`ر®³eËÆü¹°oÏ.öíÙÅÁ}{Øókì­øñ'z÷ìAæÌ™qssãÍ!ƒ áè±ã8xww7ë÷¬%ž£oŸ^üðcì/ð¼¼²råÊ›wå•ÕËa=©õeÍšå¡¿Il#qCc xc03f佩“­=™Ožúƒ1ñÝÉÖ`ñø‰Œ›0‰‘ïÄ~êÙ£;Û6odë¦_4h üqšêÕ«Ù½¿Ùl¦@üt|­{öÆö^÷óz5lH‰Ïa2™húâ ÔªQƒ_6n´[6^tL4±=¹³g÷¦{·.Öã±oÏ.N;LñbÅŒ‹A·½¨[§6ß­ü–ïW~KÍw|JèÈŸŸ;~~vµØq§]íjŽöÍÛ;ÛC½­ïÝ»g}žTû?e{n=zŒÑcÇ3jÄp¾_µ‚ïW~kË›DΙÄxÇufÛ¹m‹õïøà>æ~;¤HR~üi57oÞâ•©^«6µêijѼEkë?íÙûC‡`ñGRªTIë²Iíˆ< œÁãÓ2l&nÀýˆˆ/Y’dè?öWjKÍÞÌF!!£´ ›\]í/6âk³gÍ`ãÆM‰Þ¨1¹öíÛϰá#©lsÍ9²[{ ,YºŒÊU«3løH~Û—¶cd_ôõeßþܽ{—ÐÐ0öþ¶£G%k ä9rð|­ZÌ_ð„††òÑ¢Å4oÖÔîŽÄF™3gâì¹sDEEY–úuëp÷î]Ö¬‹ý»ß¸q“¯¾ù/·i À /4á§Õk¬Ã|lß±“3gÏÙ­ãiU¾|9f¼7•ïMUØ,""ò èÛ‡Ó0ô5›ÍtëÒ…/>ÿŒ];·óíÿ¾¢KçNT¯V•éÓ¦>tsì´T¸P!ž+^œ9óæFXXýuÞ87mÆÏ/ö×k!!!,\ü1Ù²y‘7oΜ=ˉ“§ˆˆˆÀb±púÏ3ü¼~â†9غm;}}‰‰‰ÁÏÏŸÑcÇSµJrçÎE£õ¹pñ"Û¶mÇb±°fí:nݺEýzu!nÈ‚9óæs5îgûœ9{Ÿ‚Ù¼y áá±=ž÷íßO`` …||(X W¯^åxÜ/CCCÙ¶}‡5mÖôEV¯]ÇœÆb±põêU‚‚îÓ ~=|/]fõÚuÄÄÄÀÕk×’µ¾¥Ë>ÅÏÏŸèèhkoáĶ144öfÔÞÞÞŒ=а°0BBB £TÉìݽ“µ«´N¥J–`İ¡ŒygÄõ‚¸vý:o B»vmÉîíM@` ;ÝeýN}ûöm¾øò+*”=} ²ÿÀk¨{ýú =FñbŸãçÇæ-[ &**Š_wífåÊï¬AûËmZó¿oWrôè1, aaa?~G‚ƒƒ ¦bÅ ˜L&®^»f÷½)¡cP¯nîÝ»ÇW_CTT'NžbËÖm4nÔ(É}«[§6gÏcó–­X,þúë/^ÈÇK–ѯâc›¦•Š+ZCçéÓ¦¦ú ±Y¼pßBµšµèÜñ5†{Û8{÷þƤÉS¹?Ê—+ÇòO—áææFpp0S¦¾Ç…‹¾DGG‘={vÚµ{™n]:póæM¦L›ŽŸßÜÜÜiP¿Οqßÿ/\ÀÄI“òöPòåÍÇ¢àææ7Äć¼úZg‚‚‚Èš% }ûö¦x±bL7–w§L¥^ƒÆxyy1oÎq¿FÌÁ”Éï2òÑÄþÒ¯nÝÚŒˆ»~¡IcnܼɀAC¸sç9sæ`ù'KÉ—/‹~ÈÌ÷g3fìx<=ÓñîÄ ¼Ð¤q¢ë>t(Óg̤éK- ¥t©Rüïë/ÝÆÕk×YÇ%þvÅJâ•+W–ïW~k7”€³³ 2ÄŽµ мeìM 3eÊHÛ6mè×·71ÑÑ|þÅ— 6‚ðˆpÒ{¦§^Ý:ŒŒ‹·CûW¸qým_y•¨È(\]]éС=Íš¾ˆŸŸ?_~õ5£ÞCDd `ò»©^-¶çôóµj2摼3v×®]ÇÃÆ ê;¼Î’% £G WŸþxye%w®\´{ùek{bÇàÓ¥K˜4y*ï0—Ì™33nÌ;”-Sš»wï&ºo9rä`Á¼¹LŸ9‹‘t©RôèÑßÿ#Yí)•عݠ~=vìÜIã›ã-+–§nØÏ‰œ3IYøá|¦¾7:õCÞó}.\¸@tt 9sæàý™ÓºC´ˆˆˆˆˆˆˆˆ8¦ÀYD$NÞ¼yYñÍWƲˆˆˆˆˆˆˆˆ$““± """"""""""ò(8‹ˆˆˆˆˆˆˆˆˆHªPà,""""""""""©B³ˆ¤˜‹‹ ‘‘‘Ʋ<#"##qqqÀd2›EDD$éÿµúˆˆˆ¤µÇýÿZÎ"’b™3gáâÅ‹ ŸA‘‘‘\¼x‘Ì™³à陎  ûÆÙDDD$ÝÇÓ3±üŸ£ë ‘´ó$®7œ‘¤xyyáïïÏ©ßWèüŒqqq!sæ,xyy3g.Î_¼@a2dÈ`œ]DDDQPÐ}.\¼@Μ¹ŒMÿ9ºÞIOêzC³ˆ¤˜Éd"[¶ldË–ÍØ$ϘL3púÌY‚ƒƒÍ"""òL&žžéÈ™3°êzCDD$ <Éë Î"’¨J+Kò“)cFëA‘ÊÑõ¥®7DDDžOl gãE†ñµˆˆˆˆˆˆˆˆˆˆ<]žXà,""""""""""ÏÎ""""""""""’*8‹ˆˆˆˆˆˆˆˆˆHªH“›îøu—±$""""""""""ÿ"yóä5–þ±4 œëÕ©m,‰ˆˆˆˆˆˆˆˆˆÈ¿È_ç/Kÿ˜†Ô‘T¡ÀYDDDDDDDDDDR…gI œEDDDDDDDDD$U(p‘T¡ÀYDDDDDDDDDDR…gI œEDDDDDDDDD$U8 SLŒ… wÃuò§'º)O˜(bœMDDDDDDDDDä?é™ œOœ8I¹ •)W¡2+W£ñ ͘:m:aaaÆYSÍÀ(Z¬˜±üW¯1–DDDDDDDDDDž9ÏLà àááÁñ£‡8¸/‹.àÀƒ,]ö‰q¶TS·Nm2dHo,Û¹èëË'Ÿ~f,‹ˆˆˆˆˆˆˆˆˆ#c† ¼Ö© oÁ­[·³‰ˆˆˆˆˆˆˆˆˆ<Óž©À9ž››ƒ½Ásç €·w6:wzm[6Y§}{wQ´HÌf3Í›7eý/¿ðËÆMÔ©S›LÿÏÞ]‡Gquþm6ž'‚ww îîR Xqw/nÅŠ»”âîÖâîNñ@â qÙäûc7Kv“@à£m ç}ž} ÷ÞÛ™ÙÙ3÷ž±ÒŸìGY[Y1xð@Ž=„½£Ç@¡Ðo)„B!„B!„ß§ï2à Р^]2:8°fí:š4iÌÎ]{¸{÷ DEEqÿþmûfM›ræìyNœ8A³¦M’LéÓbcc¹s÷.*• òäÉCxX666øûH||¼þ[…B!„B!„â»a¨_ð½P( 6”ž½ûÒ¼iS*”/LjáC™4e*oß¾ÃÔÔ”jUÝ(R¤09r¸âììÄ»w>T(_Nr¥R©øuÑ^<™¹NNÎŒ;€ùóS§vmš·l³“#;¶oÕ»B!„B!„B|>$Mü Ð{$y)“¼ cÀ0ѼL¯ß¼s)w®I&—º»wïRºt)ýb‘7nܤX±búÅB!„B!„B‘&Ï_¼¢L©â¥€H ˆb¸$¯ø$¯½W"íÿ¿Û”B!„B!„B!þYpB!„B!„BñUHÀY!„B!„B!ÄW!g!„B!„B!„_…œ…B!„B!„B|pB!„B!„BñUHÀY!„B!„B!ÄW!g!„B!„B!„_…œ…B!„B!„B|†úâÛqóÖ-ý"!„B!„B!ÄŒB¡ÀÜÜgg¬­­õ«ÿQÿjÀ9N¥Ò/iTºt)ý"!„B!„B!ÄTXX8žžÿjÐù_ 8'251Ñ/itíúuÊ–)£_,„Bˆoˆ|Ÿÿ3d; ‘þÈq)„â¿ìÆÍ›”+[V¿ø‹Y˜› ¼rý¯œ%‡³B!„B!„B|,,,ˆˆˆÐ/þGIÀY!„B!„B!ÄW‘.Rj!„B!„B!„ø N¥âÅ‹¼ñPçeΖ5+¹råÂP©Ôoš®Hg!„B!„B!„HGT*W®\áÁÃGÄÇ'ŸÀƒ‡¸rå ñññúÍÓ 8 !„B!„B!D:âáéÉ;__lll044ÄÐÐÞùúj{<§WpB!„B!„Bˆtäõ›7X˜[ècanÁ›7pB!„B!„B‘F!!!%üž‘‘!Á!ÁúÅ銜…B!„B!„"‰WÅ£P$Ý*Ä«$‡³B!„B!„Bˆÿ 8§ÀÓË‹|‹ R©ô«¾+5jÕåÒå+úÅB!„ŸeÊ´¬X¹Z¿XÈõ–é’—B!Äßë›8{zy1~â$ª×ªCáb%©P¹*]ºõàå«WúM…ž /Ò¬ek +I¹ŠUèøcW<==õ›}5AAAœ:}F¿Xkåê5ôêÓO¿X!„ŸðàáCúô@Ùò•(Z¢4uê7dÃÆßô›ý+Z¶hFíÚ5µïÚ³W§þ[3cælªÖ¨õÙ>u$„ørßÒqy÷î=ò,BÁ"Å)X¤8*W¥oÿÜ»w_¿iªþåB!¾–tp~úìÍZ´ÆÔÔ„ukVqëúöíÞA»¶mÈ’9³~s‘DpH}û¢uË\½tžCöÒé‡8;;ë7ýjŽ?ÁŸ§Në !„âÿpãÆM~èÔ…|ùò²{ç6®^:Ïü¹s(S¦´~ÓE¡‚É•3'/^¾dÕê5úM¾ÑÑÑ:r{Î;¯_ýQr$Äßã[<.ÍÌÌxtÿïÝfï®-R„N]ºqþÂEý¦)ú·–[!„øÒ}ÀùçISiÞ¬ ãÇŽ!‡«+ÆÆÆ899Q¯nŒ=v<»vïaÔ˜q/U–‡LjQc¨Q«.å+¹Ñ¡cg<<<@ÓcºZÍÚlݶƒšuêS®bFŽKXX˜v¾J¥’]»÷P§~CJ•­À]»ãëë«­ÿM“ư°° £ƒuëÔÆÐðÃ.<|HóVm([¾ 7寛Ú:___úL™ò)W± cÆM 44T[_£V]n޺ͻP¸XI~ß¼…_]Ì‘£Ç¨Q«.³™§m›ŸšŸ§—]ºõ \…Ê4lÒŒ#GQÉ­šÎ4„BˆïÑ´™³hݪƒ kÖ¬˜™™Q¸P! ,iø­Q«.û¤ió–/U–:wáé³gô0ˆÒå*R­fm>òÅíGÏÂE‹yþü}ú ÀÓÓ‹µêÒþ‡ÎÚ6ߊ£ÇŽS Ú·kö;uêzõéÇÚutÊŠ—*Ë_=áÐá#©^}éõ–§—uê7äâ¥Ëԭ߈ºõiß'ÄÉ·|\* œèÝë'zýÔƒé3fiëΜ=GËÖí¨ìV*Õj²zí:€T—ÛÏߟ¾ýR®BeªÕ¬Í†ß6i§%„B¤'é:à­۷iצ~U2óüJ‰âŹpöõëÖÁÐÐF päÐ~.ž;MÆŒur ¾}ûŽ—¯^rìðN;Œ§§'sç/ÐÖ«T*þzò”ÃöqùÂYŒY¶b¥¶þ[=[6 *İ£xñâ¥~5üyŠõkVqíÊE6¨ÏÄIS´uý&£ƒΞæôÇñ÷÷gÜ„ŸuÞ?áçI è×—«—ÎóC‡ö´iÝŠõëqêãŒ1L§í§|j~ƒ‡ #þü\ºp–Í¿m`Óï[tÞ/„B|yüø/Z4k¦_¥õ©ïP€í;v²iã.?C\\­Ú´§Cûvܸz‰aC3áçÉ:CÕ?·=@îܹ˜0n,™3gâÔÇÙº9}¤üøÛ¶ï¤Më–4¨_›·nóöí;ý&)jÔ°Aª×AÿÏõÖÛ·ïX³vË—-fßž]Úr!þK¾—ã²I“F¼rwÇÛû-Y³daöÌé\8wšÕ+–±`á"¼½ß¦ºÜ ÅÅÅ…KβiÃ:–¯XŹóôæ"„BüûÒuÀ9À?gg'mÙÈÑc)W± å*Vaåªä’%ŠÓ®mk,--122 ª[LMMQ*•T©RO/m{€ŸºwÃÈÈk++úôîÅñèÔwéÜ ###Œ©^½¯^¹ëÔ§wJ¥’M×Q¤paºtÿ‰v:qñÒe6­[¶ÀÆÆ€zuêàþú5¯ÜݹÿÆÆÄÄsssFŽÆÉ?þÔé1Õ¶MkÊ—+‹…… …B[þ¹>5?=þ‹ýû¢T*±±±¡Ëô'#„B|w‚‚‚È”ÉE¿ Òðš¨]»¶XYeÀÜÜœjnn(ŸJ+P»VM"""ð÷÷ÿâö߃gÏŸãååE­š5077§~½ºìÚ½G¿Ùgû®·bbb5r9säÀÌÌTgºBü|OÇ¥­-ïß¿ W®œäÎ €üùóáè˜ooo÷$zóƃÛwî0h@”J%Y³f¥VÍœ8©ûV!„H>äVH‡/||}É™#cGdèàALž:Ȩ(mÛ\¹Ô_Ô‰|ýüX¾|%=‚„‚CBprú¸°¶¶ÖþßÙÙ‰ÀÀ@âââ´e..r¢Š×þý­077g@ÿ¾ôíÓ‹C‡ÐoÀ@V,[JùreAo µ=•ƒ°´´ÄÒÒR[Ÿ%sfâãã &C† äÖäkü}j~þþd°´ÄÜÜ\[Ÿ1£ƒöÿB!Ä÷ÊV ð÷Ð^%õ©ïÐÄïl{;;m½±±±Î߉7ëc“\}nûïÁ¶í; ¢buÊ®˜˜2dÈ@ß>½P*•úÍHHHÐ/JæK¯· ”ê¾!¹rª¯ƒ…ø/úžŽKO/u(;{õùôð‘£ìÚ½GÚQ¡ ø„”s&¦w¬ß¨±¶,6&–Ê•+%i%„B¤é:àlooGžÜ¹Ùà C „$AhSSÝ;ɺ½kGO&~߸¶mßÉ¡#r ¼{çCöìÙððð$C† :ùS»€ù)•Jš6iÌÑcǹzíš6àl`ò:fÉœ‰ÐÐP‚CB°Ñæ½¼¼Q*•:g ÝNò_ÚËùSóKHHà}h(‘‘QÚ^ê_B!Ä÷ÌÞÞŽ\¹rrèÈ _ýÉïÐDŸûý¹í}áÛþu‘‘Q8xÍ¿mÐyÀr§.]9{î<5ªWÃÀÀUü‡4"!ïß•¤DjÛìK¯·|4&½ë-!þ+¾·ãrÇÎ]êžÌ3rçÎ]ÆOœÄÖß#þ|Tv«®m«¿ÜP*•œ:y:!„"½ùüoÉØØ1£X·~#K–.ÇËÛ›¸¸8‚CBxÿþÃÑ”øúøR¨`ALLLˆŒŒâð‘£úMX¿q#111„……±|ÅJêÖ©­ßä›öÊÝ+W¯Hdd—._áöí;.TH¿i2NNNT®T‰E‹—Cdd$K—¯ aƒúÚ^M)±±±æé³gÄÅÅŸJðøøx¢££µ¯ØØØOÎ/[¶¬äÍ›‡eËW R© cÓï›õ'-„B|—†šµëY¹z ¾¾¾DFFáþú5¯_¿ùäwè?ÍÖÖ???üýR½HŽ=Fî\¹)^¼ÎÎNÚWó¦MÙ¶}Ù²eãæÍ[ÚõÚ­7¬?-×AI¥·ÏNˆôæ{8.cbbxñâ%ÓfÌd×î=Lš84£x­¬2hSjœ;¿$iŠô—Û5{vŠ.ÌÌÙs #!!O//m>h!„ߥ )Œ|IHˆ×ޏI¯Ò÷Ò+”ç· k¹wÿ>-Z¶¡h‰ÒÔ­×°ð0Š)¢ß\kü¸1lÚ¼™f-[Ó§_Ô¯§SoddD®œ¹¨ß° UkÔ&S¦LŒ9\§Í·.<<œé3fQ½V]J—«À´é34h5k|¸sþ1sçÌ$88˜êµêP§~#,,,˜8~¬~3M›4ÁÈЊ•«2uÚ ýjÐ\L-QZûêÚ£'|b~ …‚E æs÷Þ}*¹U§S—nT¯®V'„B|ïjT¯ÆŠe‹9á"õ5¥LùŠtëÞ“'OŸÂ'¾Cÿi  ~½z4lÒŒæ-[ëW§[Ûvì Eó¦úÅ´hÞŒ‹—.ãåíMî]‰‹SѨisZ¶nGhX˜6XD¯ƒô¥§ÏNˆôæ[>.###)X¤8%J—£kž„„¼g÷Ží”(^€êÕªR©bê5lB»¸rõ*nU*kߟÒr/Y´ÐÐ0ª×ªC©²èÓwï|ÒöE!„ßkkkbc“§°‹ÃÆ:yª½ô$qœNÒñ: ½—A’—2ÉË0ŒÍËôúÍ;—rçJ[>«›·nQ¾\YLÿá!Až^^Ô¬]G÷ï|ói3®]¿NÙ2eô‹ÿÎ_¸È”iÓ9yL7UŠBñ­ù/Ÿÿ“d; ‘þÈq)„â¿ìÆÍ›”+«N{«Ïýõknܺ…­ú™.‰‚‚ƒ(]²$®Ù³ë”' çÚõ”,QB¿*EÏ_¼¢L©â¥€H ˆb¸$¯ø$¯½W"íÿÓ}g!]½v ÿ‚ƒƒY³vÊ—×o&„B!„B!Ä7-k–,8;:L\\œ:Ípp0ÎŽNdËšU¿yº’®(DR·nÝaÔ˜q¼Š¡R‰›[†¢ßL!„B!„BˆošR©¤|ùò¼xñ‚7.TܹsÑÃkÿIÿÉ€s–Ì™yòè¾~±HçúôîIŸÞê|ÏB!„B!„B|Ï •JòåÍK¾¼yõ«ÒµôB!„B!„BñÍ€³B!„B!„Bˆ¯BÎB!„B!„B!¾ 8 !„B!„B!„ø*$à,„B!„B!„â«0Ô/ø7\»~]¿H|Ù~B!Ä·O¾Ïÿ²…Hä¸Bñ_e`ð}öNç8—¢úEâ3TÉn®_$„øÆ¡_$„B!„Bˆïˆ±Ïý¢ïBº8‹ÿB¡Ð/ú®$$$À`=ÓÙæÿ¾sîáúEB!„B!„éžœ¿êøà÷G/Þ™ðb‡nøê¹Úèü-ÛüŸ§ÿ!„B!„B|+¾ÏD!B!„B!„B!þq龇ó“û·yrÿ6ùŠ– _áúM„B!„B!„B¤鶇sTd=Wft÷–lX8 §3º[+z5­JtT¤~s!Ò¬x£œ»öX¿8E;_¦^×éúÅâo"ÛûÿsýìIæ _œ"oºÖ)M¼J¥_)ÔoZ2‡C[×ë7KÑ…™1¤‡~ñW3¢ccÞºÀš_&±gÃ2ý&âo´{ýR´¬ÁÀÖµñõöÔ¯þ&èïßߺ '2ªksz7ucè ˆŒð·Ï9ß&èçÃvõˆŽŠÒ¯ú[ýÜ»=Oïß‚4œ7?ç|ÿOHº­?uìþ[Û75NdÖð^úÅ©ê^¿o=Üõ‹…B!¾9鲇sTdÝT@‹N]H ÝêW`ý±+›˜êÔ‰É à0R¿"}š6´EógÓ/NQ•2ùq°Ë _üI…êeÁø©S¥˜~ÕßÂ?(”K7ŸÐ¤Viýª¯îÆýR4výªÿÛ—no}o}ƒÈWk0—cÁ\¿úoñwn€ycP¨d9êµî¨S>¹_'j6mCå:ÉS¤–Ö¶:õ_K•º115Ó/þbçŽÀ­nýb‘Îy¿~ÅñÝ[˜½a/–VÖ›è7ù.……óüÑ=ŠWpÓ¯ú×ÅÅŲiñlºŸHÙªuˆ ÃÌÜ‚à@öý¶’Û—ÎI×\t8×<pö˜½Wðôþm(Vš.CÆ‘As9±g3[W,ЙטùkÈ[¸8ž¯ž³ñ×™¼~þÖ6v4íÜ“Êuë´ÿ–¼zúˆ›×ðìþmbbb°ÍèHÍÆ­¨Óâý¦i>ß¾zúC##²æÈ€µ=ú ÃÄôë]Ãùù2ô‡úŸdÉÎŒu»iÞ¥/YräÕ¯NÑ×>ß®çÿ¤P©ò˜™[Àglkþ¦í›’˜¨HNîÛÆÍ §‰ŠŒ >>Sss*T¯G­æíP*ÓåO¬oŠÿ;/ÖÍŸÊ«'°´²¡ù½©X+ù~~lçïl_½…Ûcmk¯S7î§Ötè=ŒB¥ÊsbÏfŽíÚLTdùŠ–¤ûЉXZÛÏ™C»8uh~ïÞ’ÁÊšú­;Q³i[iú3¦k æo9‹¿îspËz<^.3óä"33sT±1 l›ü‹WüK¦sô Ó¯F5Jac¥þó).Ž¶Ô¨PX¿ø£®Ü~Fhx$µ*Õ¯úÛìc¬ö}ïƒ)U©:3×ïaö†½DGG²kÝRm}H`uZüÀÚ£Wµ¯Ä`s¼JÅâÉÃ)\º<¿n?NÓÎ=Y7o oß|›=3ŸÞ¿Å¬a=Éš#7?/ÝÄ’]Ð{Ìtò)©ßT+­çÛ£;7áùò¹öo¥Ò2Ukë´ùÙftÔ~FmÀÐÈXû÷´Õêÿ/_sKõ¾ P¤þàkžïÓ"4$ˆ]kK¼JÅæes‰ ÿÐK?Åm­Ð{ª´Æß±}õ…0}HwP(6k)3ÖîbÖú= ¾˜¿wÌÓ?ÕØßŠÈð0ön\AxX¨~Õ?fÅÌñ¸æ-ÀÒ=§0y[—Ïåõ³¿tÚ¼yñ”˧j½I½x|Ÿ¨ˆ ”(˃›—9²ý7Fþ²œE;ObcçÀºùSˆ‰ŽÂãÕszŒ˜Ìò½gè;~;Ö,æå_t¦wñä!JTpÃÌÂ’¿îÞ¢~«Ž,Ü~œ©«wðôÁmŽïÞ@øû–LAË®ýX¾ï,µšµã× Cˆ‰Nó¼¢##X;o2N™³ê”'µï·•ø¾óföÆÌ\³‹§÷oñÇþmð‰eHMjó¼vösGõÅÁ9“N¹Bñ)éîöû“û·ñ{ç­nÏæ¤ÌÌÍyçåÁ³‡wÉSèŸéAúM‰Ì€.@F`…æ“F>@yà7 3 Îï'`(0H3Í­À4à`T6ýš6 ÍûÞiþ^ ÌÜÀ ñ~y X t”€î5dšxûÑÒZN_yˆÒÀ€Æ5K±pB¬3˜ãîéGíÎSY6¥ý~^ ÀÓ?ÅÕ­kfö¦V¥"Ì_{ˆEEÓÚe(]$½;ÔfÃî3¬Ùþ'vLÅÝÓj&1q@+¦/ÝC`He‹åfܾ¸8~èy³vç)º´¬†BûžÑ½›1{å>üCiÝ }~¨C߉kxúÊ›œÙœØ0§Å ¨{ÆÎ^¹Ÿu;Oü>[k NèB=·âÄÇ'0nÞV6ï?Oxd4NÖ,܃w~ÁŒŸ¿˜˜8þ¸xŸVõË3wL'ÞùÓ{üjÎßxŒ…™ C»7bp׆t±”*e pîÚcv¿ÂÊi=ù¡ií:¤fèôì;qS—0~þ6æŽéDXDo>!_ŽLÌYµŸ¦µË°zF¯T×£tÓÑtoSƒ>?ÔÑN·ló1tl憕¥™v{_¼ëvžfÅ´ŸØ°û \¼O Sv½‚ãû·ÀÎÚ’‰ vàôžÊ¥ó³eá ¬3˜§¢Û¨eœ¿þáQäÏ•™sû‘3«Áaô·’‹7ŸG¾™Ø·r³VìK¶]ZÕ/ÏåÛO4e=Ï_¿#³“ ÆwÑîw®nýø}þÆÍÛÊ•ÛÏx~z1Y]t{æ|® 'rîè~Æ.XÀ£Û×Ù²|.Aþ>¸æ)@‘Ò•xõô}ÆÍÀ@©äܱýݵ‰Ð @\ó ç¨©ØØgÔ›²z¶]FGZté ÀñÝ¿óÇÞíDEGR¢BUrä-HõF-A3íß—þ­‹§‰ŽŠ t•Zü8p o=^³hò0üßy3¢ccl3:i—7©ÃÛ7ráØ"ÂßcaiEû¾Ã)Rº‚~³ ðã÷%sx|÷: %%ʻѡÏ0m@îÙÃ;l[¹—Ï037§c¿‘”©Z› _6/›Ë£[Wp«ßœv½³pÂ`ò-­Ó˼W“*Œ[°–l¹ò²æ—Iä+R‚'÷oqýü)º GžBEùet?:÷ͦ%³˜µ~/Ýcóò¹øzy`ãàHûÞÃ(T²,hR†´ìÞã»6ãã탣 Ž"O!u°/.6†]ë–qùÔ¢""È–+cæ¯ÆÀÀ€sÇphË:"ÃÞ“-w>º€ƒS&ÂBß³qátž=¸ƒ*.§¬® œ4+Ý^ƒqq±ìZ»”˧ŽC¶\ùé<`4.Ù\¹~ö$;Ö.!ÈχS©N#šuÖ*~÷êöoZE Ÿ j7oOƒ6uÚ]ž 6.œÁ³·165£n«¨Ó¼>^oØ´dÞ¯_K¡’åè>âg ¸pâ ÏÞÅ%‹+Gvl¤DŪt2ž³Görtç&|ßaëàȰ‹P¦yÿ¿rú{×/#6.ŽÇ·®QÊ­&ízþèr~- Þ¶³G÷ìï‹}FÚ÷JÉŠÕ¸sù[WÎ'4$€!íêP¢‚}ÇÏÂÁÑ…¦zj§U¾z]Žîüx• ¥’¢e+i늗sãæ…SÚ¿C‚Èž;?J¥N;€Ý'&:š&?ô@¡PpñÄ!2fÊÂÅ“iÕ]úà­çk6/ÃË¿baiEÍ&m’ðÎu IDATÐH/6/Ÿ‡[ý¦ÚóšóY¢óÓè©ì^¿Œ—ï3{ã>ݾ¦=ߦ¶?Þ¶ÛÏðøÎuö¬_FÛ^ƒqÍ[€š°öèU ”Ê3k~™„K¶<{p›çïbbfNãݩְ…vÙ%~N MïFýÏmDÇÆt:A{ž‰å—Q}xýâ)V6¶´é1ˆâåÕß¡IÏ÷©WŸ:O}l½…rl×oܹtžª š£@Á쑽 ðcêà.(JÆ.XËÃÛWu¾Û”JCÎÙË‘mˆŠŽ¤h™Štì? 3s ü}¼u¶ojŸÝ£[WÉ`mÇ•3ÇP©T”©R“NFc``€JÇÚ¹“yvÿQÑ‘dÊêJ“Èè’E½}æL¢Qûn*Yž¿ÎÀÓý ….Y]é7a6«fOàâG¨RW·Ç||<«gO$>>ž^c¦Å–es¹u寯&ÔmõƒÎ<•*Žk—pùÏ#$Ä'PªruÚ÷šâÏ»Ie¶È`Íæe¿pçò9ŒML¨Ó¢=çŽí§ß„98eÊŠ‘± St¦L•ZÔoÕ +kýÙþmüßyñúÙ_Œ˜½¥’l9óP¶z=.þq˜ìyòƒ&P¼jö:ÅÌaÎu‰ÎÛOå:100àÊ©c¸ÕoŠsfõµv‹.}ܶ.a¡ï±Ì`Ń>܌˙¿0N™²òÖÜù?t‚8쀶]«ný´åÆ&¦,Q–wšT(·.Ÿ#kμÚk£ŠµpdÇî߸LÉŠÕÒ4¯MKæP±VCî]»¤-Ówåôqº¨½‘Ô Íܼ†:Í;|rR’Ú}‹Ù+÷snÛdòåÌĶCé0x¥‹äÒo Àk/?Î_Ìý£sQ(4ëý 3—ïcÑÏ]ˆfÇáKÜ9ô‹Î{ž¼ôæÙ©E¼öò§tÓÑœ¿þ˜ãÇášÙ‘¾×0æ—-Y7€Š%óÒµU5í­YüÛQúM\Ë‹3‹9wý[^äÁ±ùXYšñÌý-¶VØ–·àîcwüƒBY3³·v¾­úÍ£D¡ø\[ÍoÊ6K¾œ™¨_UýàÍ1¿laêж,žÔ S“ä=CR2Ü\ºõ”þêѱ™ú‡é†ÝgØwâÍë–åÁ±yd°PÃMm=º¶ªÎ¦½ç´çgîo¹ûø5GÖUæÐ©›:óû’u8wí1q*ÕËÒNgË ìX<„åSbï‰k´ê7†ÕKrç°ºk~µö“X¹õ$#{6ÅÈPIûÆ•Y5½ÆF†´ü+Ó—îaí¬>,Úx…BçÅ( n=|‰£½uŠÛÅ/ð= »ÏdùÔŸhÛ°"ûN^§EŸ¹ݹ‘AS`çàDhH Æ¢ó 1”­Z‡[—ΰdòpfoܯ ݹ‰ÁS`cŸ‘¿¯æ·E³˜ºRÝsi÷†e<{p› ‹7bmc‡¿Ï[ xxë;VÿÊØykpÉæÊöU¿²|Ú&,ÞÈŸûÔï¿å(¼~þW²`3À¾+xþè.SVl#ƒµ 7¯aî˜~Ì\·›2Uk£42bφeL[¥î5©ÏÑ% =FL&Sö¼yñ”Éý;Q®ZìuÚ}ly–NE¶ÜùøuÇI|ß2yÀ8gq¥h™ŠXÙÚÓ°mò)ATd$“ûwäÚ™“ÚaÖ·.¡T¥êL[½S33î^½ÀÎuK9òâÇ2ºd!Ðï]š÷ÿòÕëáùòïC‚é6t‚¶ücËùµœ>¸“?öm£ïø™¸æ-H ¿ÆÆêý´x7ŠWp#$(€Ámëòëö:=X“ЉŠäøîÍ”¬X-Y MJ†ó'tÓÜD„…±Ó*ön\A[ª5hIý6xûÆl9ó P(8l?±q±´ìÒ‡kgN‚f~¿ŒêCÅ 2íW‚ü™=¢7]2Qªr í<Òƒ÷ÁA¼yþ„nC>|¶)Ù°pú&G¾‚ÉÒM¤¶?·ï=„çîR«i[*Ô¬šÄI}ê˜9¼m=Ãf,&W"<º}ycûS¢b5¬?Ò1#-®9¡=‡?¸y™Å“F0cí®dÇ*)W‰>vžúØzústûogÖÈ051ÂÒÜ”9£;²çøUBBÕìÑ1±ÌÓ™|93an–|ø÷ö×èÚªùrª‡‰µkT‰‚¹Õ=XR3a@KÌÍL035¦Yí2<~ñá¡Y;^¦t‘\äȪû#iøO1T*ɕ͉ÒErÒºArfuÂÀ@AÓÚ¥yæþVÛ¶J™Ú€dÃê%yåé @f';BB#X·ó¡á‘äquÁÖ:åÔ /ÞøpéÖS¦i‹¡RIάN4«S†=ÇÕZ¨T*½ÚׯÊÒ c£ÿïÞ“B¡`éä8Ú[cfj Yö+qëá+^zø°yÿ×,…ƒ­nîæ/]‡u;OѵUuW¹²9Ѫ¾z¸yÓZe0T*éß©,ÌÈ`aF­JEyæžØ5T+™©1J¥õÜŠóÊC½ìy\¹rûOÝ$!!!Õþ¸kfGÚ6TŸšÕ.ƒ£½'/ÜÓ¶éÕ¾65*&ƒ…Yšn´íÿ}ƒÚÖÑy½yùT¿·¯œ'söœÚàNf×\”­ú¡Wy¢º-:`hh„¡‘1Å*¸ñÎóµ~“d®=A•ºMpÉ¢î)T®Z]2eÏ¡ÓÆÆ>£6ÀbmkOžÂÅyç™ö”#y‹”Ð ‹•«„ÿ;/ý&õÎë5¯ž<¤U›`bfN›Ÿqëâi"Ãø}é,.Y]q«ß ¥Ò»ŒNXXYóÎë5¯_<¡]ÏÁ˜™[`ni‰ƒSÚ‡‘æ)TŒj [`fn¡  ÄÅÆÐ¦ç\²dÇÄÔ”;—ÏaïœIûy”¬X +[;jzTÔlÚ[G e«ÖÁûÍ+mÝ•?Ñ´s/]026Ñ}¿xò •j5"Sö( ê¶èÀË' ò÷Å1s6^üuŸ;WÏCBBªy/žÍªâïó–NFëÔ_Î;@•º“û‡¶¬ÃÄÔœJšöQQQ›èÞ”265Õ.{¢”æèçÃÎuKé9jŠÎw•¾ÍC1“Þü211#^¥"&::ÍËÀgÌS!„ø\ÿ_”éo¯ˆºçâ§$$$¿hê¹õ`¥I—Ø!·Þß±šïã;@˜â+VÓky¿¦Çó àMPz¦¦MJ %º}ˆÍª%FFšù„`ei†•å‡ ªY‰OÀ?(¥æ¢©@îÄÜ[ß ÊÕ º8Úèü­/‹ó‡žÒF†Jbã>äé[»ã½;$Ϙx016ÂÑÞJû·‘¡¡vq*³VìãØÙ;ÄÆ©ˆU‘@W.îœÊô¥{˜¶d]ZUcú°v˜'ÿ¡æõ.€üµkËbbã¨[E=Ô À'ëŸ#wvgŒ ?ôšûØzØÙXÒ¤Vi~ßwž‰Z±åÀŒÿ1ÉÔÔ¾dBÃ#ÙsüÏ×)Oºý )uÊŒŒ”ÄÆª@½õ bê’ÝÜzøŠ„„‚BÉ¢éÿCÓ*ØÙX2{å~MYÏø~-ù©]Mít’òò äÑsOœË}ø1£½P WêûfJê¶üê?„æé¯ów¢lto|ØØ9hƒ+‰ì?¯ •†ÄÇ«?§ ô'GÞ=ÈÑL;)ý ˜¡RIB|¼NYjâU*oSýTÅŧŠÓî?iõ>(Ss íC§2:g">>žÐ`B‚’m€÷˜™™|ŠÞr¹dÓ ¼'ʤÖ èï‹÷ëW jûá@lt4‘áreÚ'Y6¥R©“ô}p ¶ÉÓžùûqûÒY®œ>ª-365#<ô=jÔÃ"ƒG¶od˲¹4îЪ šë¼à}HÎg§P(È蔉Ð`õñø)WÏçü±ýD†‡ƒBÁûà âSøìR[žàõÍ1Ý?¤ PÅÆR¸´úÆÍË'9ºã7}ßBß[/j6ùppÌœUça]Áþ:Ôõ}Éþ|r9¿–à 2þy3œ31uùV"ÂC¹yñ4?÷éÀ´•Û´CãËT©Iþb¥ ôçØîÍÌ?ˆá3—€&¸“(±ÒTkØ‚[OSµAs,­m‰ŽŠ`ó²_¨Ú 9™]sâñò©v”@p€a!Á i¯Nó R©pÍOûwzai­þÎ ühÊ€L©Û|dN‹O3¶ºçR¥¡ª¯ØÂR÷&¯½AþêýZŸþq•ècç©ÔÖËÔ̜髷óÇþLèÝž2•kP­QËϺ±‡ÞòÛÚg$4$(Õ@hJŸÞùßP©$^óþà@þ¾÷çABa¡!ÚÏ!2<SÍ÷Šƒ“ ^¯ž“-gnžÿ“˜è(¸væ…J©orx¼xÊ›çOÈU°(†Fê›òhò¤Û;¸Ñacç 3!$ÀŸ5ó&£Ô”ÅÇÇc”äýI¥åÜ­¿‚ý±M’BÈÒÚ&Ù_/NÙÍKç)U¹:]Kq_øÚLÍ͉‰TUEGF`aiMHP[WÎgøÌ%èíw‰ÎÛOµ$7ÐLÍ,ˆÒ ¶ÆDFb‘áÃõx¼JÅòc±¶s Y§颢"#¸yáÓ×ìÔ–%:±w 7.üɈ9+´ÁZ33sÂÃtGFÅDEá˜éÃwUJóŠgÕ쉴é1 Ù5”>SÍsŽ¢£"µ×9ÑÑ‘cbjš¦eà3ç)„B|®¿ÿŠá3å+R‚Œ.Y ôÃ,•ü‘á8gÍ.é4>%yRÝ[9%m59”—kÒhLÔ£"Õj?5½šgiz.'°õ¯õœ4Ó[¥I«‘H?«EjË“9²:A`pv6êaį½ýP* Èêb·OhŒ©qr°Ñ6ù~|ø|jÓ{úê-žzТn9ý*ýÎ.©úeÕö»Æ± cq´·æÉKo€kÁÜYؼ` ïü‚iÑg.3–íeòà6Éz\¸8Ú`¨4ÀýܲTÓe¤¶Ÿ’ÒºèOëSëÑ¥e5†NßHƒj%‹ˆ¢žÛ‡ r¢/Y‡­/R¡dÞdéSRZæÔt¹Œl™8³e¦&F¬Üz’­/jëëW-Aýª%¸qÿõ»Î ·«3ÕËJ6—Œ¶”)š‹óÛ§èV$ñ¹=ILÍ,’=Ý •~Ö¶vÉ‚¡!êc")ƒÏ?­lì´·D¡ÁºÓþØtõ·•¾£;ãÆÅS ›±+[Þz¾fl7unè´Ê蜉Èð0m~FŸw(•Ø9:aec‡ß[ý;`ÁÆŽð°P"ÂÂ’¥'P Šÿp² S?¬-)ý}2‘A’tÙØ93_AÆÌOž»Zë#ô²´¶Áï­YsäÑ)·±w v‹ö´ø±Ny¢¢e*R´LE^=}ÄüqqÊœ•üÅtÄåàœ ¿w^dË•W[æïóû4ƒ^<ºÇúÓ;öýƒ?ò€ß”–ÇÖÁ%s7LöP¸ØæŽêKûÞC©\· …‚3Æé´IºÑì«I{@ëûØ~ªK÷sµ¶sHu9¿&KK+}S¦…R‰mFGl3:’Ù5§ìäÙ£{Ú\½Æ¦fØ›šaïèLó{3¶[K¢"#0MéúKa  B»dÍÎã;×±sp¢çÈɼzú˜LÙÕ7pí2áœ5»6½Bzfec‹K6W®œ>ª“Ã9™“¤²?ç/V:Ù÷sRi9fR;§ü¿‚ütþô÷%w¡”v¬\i¥Rþ©õrpÊD»žƒiѹNbÁøAdtÎÌÀIó>º½’ ðÓæTò÷ÁÌÂ2õ@h Ë™ê:irXÛ;:3zîJŒŒM8sxWNÀ6cFßR´jß{›–ÌâýÛ©Ù¤ vNÎLø#…J–£BMušk{ÆÌ_ËôA]9²ã7¶Ußd·¶µ'ÈßO{. Ó žZÙÚóÓÈ),¡îQý1i:wë­³µ­=A~dÉ¡¾˜O:ÿè¨(–LAp µš¶eòŠÞ)æŽþ»dΞ o¢£¢´i5<Ý_à”%O&ÐÏ—iƒ»é¼gBÏv´ìÚ—|ÅJâéþœR•>¤ŽÈìš ï×êt!hF6¼ ÒîCq±1,6+;~4VçúìÊ©cä*X4Y@öð¶õܼx𑳗ë®3çÈÍéƒI‡t‚Ç«g”ª\>2/÷gyzÿo=^iŸùþþ=žîÏypã ݇ÿ¬ž¡‘1Ž™³âåþR{Ãßóåsíÿ>µ ‰>gžB!ÄçJýjë_´hû1”†ÆDF$öŽÒÈ„EÛÕ~â+IÜÔ¡ÀuM~çD@uMúf¯1Ì5cGÍC»iRd$¦ž œÓ¤ëØ IËñ•dv²£®[1&.ÜNtL,áÑLY´‹ö+¥9ED«úåùmï9mJ‹C§nrï¯/ªºnç)Ú5ª¨M)ñ%¼}ƒÈ›ÃG{kذûŒ¶î·¿v93ÚY‘3›ïÃÔCl3ðੱq*âãÈãêB™¢¹2mïÃ"IHHÀÝÓ7ÞþÚé})[+n?R›M­7àÇÖ n•b„†G2mÉ:5sC©L~*ú’uX·ó4ÝZë^L.oŸ@JΉ©‰‘Ñl;øáá)w¿Æ?HÝ 5« v6–¼S<úÛ¥iíÒ<|æÁú]§‰S§Rqç‘;á©?!ük*Z®2^îϹsùhz)]K’ûðÿQÚ­OÆÇK}¬Ü¹rWÏõ›¥ÊÒʆ@B‚‰O¡×sP€?Ι³cecKBBÔoòI¶Ž.U½WCLT$û_M¹ju044¢x¹*¼óöäò©cÄÇÇþ>o\²º’5Göl\NLt1ÑQx¿V®Ž.Yyöà¶v™/Û¯7×´)Q±^î/8ü *Uñ*o^<%&JwhojÊV­ÍÑ›ÔÛO¥âÍËgT®Ý˜3‡Ô$LHH &:Jûäû7/Ÿi{·;gΆ¥¥5‘á:Óp«×”£;7D||<'ölÆÌ‚¼…?}ƒ7(ÀsKKmÞÈ{×/ ß >²¦dåœØ·…—= ^¥"ÈÏ—·iLûñâÑ=^>yHdxáa¡œ>´›ðÐ÷dÑ|>w.Ÿã­‡;1Q‘ùûrlç&3gÕ›Ï?@ ŸQ‘<¼y…3GöP¶ªzkž88g"_±RDGGóðæ.œØO…êÍK”!&:ŠÃÛÖk·¯·'^î/’,aúѦû@ŽîØÄáíð#:* ¯7øz¥íY©íÏhö×ÏŸ€¦7aRŸsÌ|m·/ŸÃýÙc¸så<¯ŸýEñrnú;HZ×ËØÔŒ[3mÕj4iš@š©™9¯Ÿ«Ÿ$Úè–CÛ6Mdx‡·o ÌWÌ à‡kž›ÅUM° h™ÊÜ¿y… \²¹2rÎ &,Ú@ÅZ hض ÿFË®ýt––V¶XXf ïøYÚ²–gïPªruŽlßHDXqq±Ø¢{²rFìÙ¸\›÷;ü}žšïÚ ?_VÏ™H Ÿ:=Ù—œ»KW©É‘퉌׌,Z§S_¯u'¦®ÜFÕÍÿÑ`3šïð|EKppójâU*¼Ü_påÏ#T¬YŸZMZ3÷÷ƒLY±•)+¶2ié³œò5êsáØÊU««³Ì•j7âü±øzy Rű÷·•*Q+[¢£¢X8q6vtè=”Øè(¢##´7”Ï?€[½ùíölXÆ­‹g8y>†FFDGFhóo—¨àÆ[Owî\>GBBWN#Øß—bå*t^ÙsçcÁ¶cÚõš²b+Ùsç£M´ï=Lgþh¾ól_¯>Ç¿áØ®ßµ7:>¶ $ùŽúÜy !„Ÿ#mQ¹˜‰©ë]a`Ûº¼ó|C\l hòˆ9gÍ΢íÇSR&¾Ð"`0(ÌN’Ù\“bc¸j‚Çê›èê¼Ïc­€úÁÑÐ.É{&hÓÅ5'üŠ~Ÿ?“Ö‘½J_”JT+ÉÜ1ꇥE³ÚexòÒ›š§ P(h\³5*¤>ü:5*U<¿í=Çþ•#õ«>ˈŸšÐyø Ô‚½%ÝZ×ÀÆJ=T. 8”ŽCããBKSŠåweÞXõß;5wcßÉë8•íA»F•X6¥{–gÈ´ d¯Ò•*×,Y>õ'²eÒM}ð¹F÷nF·QËØ¸û, 'tѯ†O¬€Ri@§fnÌ^¹ŸÇ'è¼7©ÏY‡GÏ=yæþ–fµ?Ýèc~Ø•þ“Ö²jëØÙXÒ¶QE¶R‡î˜7®«¹–yrï&Žš^uŸR¿UGâU*VÌO¿/6v´îÑ_'·hjBC‚Ù³a9>Þ(Ù57§Ì׿4õtÁæes ò÷ÅÄÌ”¼EJ2dÚBíûŸÝ¿Í‰ŒˆÀ1SfÚþ4˜ÒU>¤ê3vëNcpÛºêàIõÃ6ŒML1k)ÿcï®Ã¢hŽÅB»»•F»°ÅìNì|íîN°±[ã5Þ×iIÉßËÝò¾?}_õÏ=ÌÌíÞÎÞíÌÎNìY·Œ±Î­ù…q‚´ë=Ó¢éÏ}ÿo©Z׊!Órlç&è ˆàæ­ÛT¯–¹uòž=I­UkQIÝGc’Vu‹S{%¨½e¯dÒÿÈÎêJU¨Lö¤Š›hl¾µþ!¼xëGÍJ%ÐÑVrèô-|½Â²VrWmAøyù\»H¹ª5ÑÕÏŠïë—\9íAû~)siÿ]¡ÁøxGÑÒåQ*µñ¾zž7Ïÿ T¥Ôsq ‚ ¯¦x™ wK†ŸÁ›ç £«K¾…HLLàð¶Õä+PX46 ‚ ‚ðMüð ΂ð=EEÇ0rÖV?O||óçbÛÂA1MYµ[~V—NaýÂiÄÅÄ o ëÆ­0³I·ÌŠýÍ®5Køðæ ñ äÌkL¿1ÓÉcœ_žTA„PpÀ'v¯]L°ÿ' …J”Áu’já8AA„ÿ—hpþUdnQ¢„jQ™ïåñ³÷´¨9ïÛÝ÷Îsáû4e¾<è›ÈcbʄŚ‹ ‚ ‚ðó¨bf!-"'‚ ‚ð­‰ç_@z+xÿjþ+Çù#yþï¹ôZµÚ¹ ‚ ‚ ‚ ÂÏä‡hp®m¢”¥)³éþk¾|ù"á''®w‚ ‚ ‚ ‚ðkóñ“‡ü~ˆgáÿ£§§'þ㢣£åA‚ ‚ ‚ ‚ ‚ð݉ç_Dâó=ò á?J̹,‚ ‚ ‚ ‚ ü[´ä‚ ‚ ‚ ‚ ‚ ‚ðwüÒ=œ½½½¹{÷.ÕªU£zõêò$‚ ‚ ‚ ‚ ‚ Â7òKöpŽŒŒ¤a:ŒjÒ„{#GroäHF7iB“zõˆŠŠ’'’Tm:Š‹7˃ӴÇã gʃ:o?R n?"£T /öµ‚ wÉ“ ÿNmÛs玷<ø?éÄÉSôuq• ßÁ©Óg°kàH= kŽzxÊ£Arèð:tî*þ÷ùñ£6v ˆŠúg×ZP/߯M˜ÄÒå+äI$3fÍaÍÚõòàz^¿÷õ¥BåjÄÇÇË“Á¿˜¿é9tøÝ{ö–§«rµš¼xùR,‚ ‚ðÓùåœ###iQ½:“||¸Ìê¨(VGEq18˜1wïÒ¢Z5± Z:f ï@å²…åÁi²¬U·¾-äÁ_UÁq8§.Ý“ÿkLò±xB²êëÊ£~(öž“qúò}j·Kî=É[³ï>Ê“Húº¸R¡r5*T®FM³ztìÒk×oÈ“}×oܤgï¾Ôµ°¢¦Y=Úwì’ªQ-$$„sç/h„;^úÌɯϟÃ4Ò¨;á"æ–6:|D#|ÿƒ©¶sÖ+u~ èJ©R¥äÁÿ §NŸ!<<\ú»FêôêÙC#Í·’Öùþ•8tX¤aúÌYŒíÆ•KçièÐ@ý·íÚ³§¶í©iVsK\ äÁƒ‡iäç <<œ™³Ý±©ï@=KfÍq׈~ ‰‰‰w>öލQ»nªÒW¯_3|¤æV¶T¯UGjd|øûï©®›É¯˜˜ª^¹ZMmGEE±qÓ¬lë3Ç}žFÜèáï¿3pðPêYXS½V5mΖ­ÛäÉ$™½F>üýwžþñ‡ôwž<¹3zúúßnÁg?¿O©ÎSò«ióVðË·V-›coo'þÇȯK™Ík¾Sþ¦%**еëÖÓ¾cšµhMã¦-hÛ¡›6o!..Nž\ø‹عk7-Z·¡¦Y=ì±cgJ‡ý4d ãа ÃFŒ"00HcÍ[9qõê5¶l݆­½#uÌ­8x(!!!i_¾zE+§vŒ›0I#<™@µëZÆ•«WéæÜ ³z–˜[Ú0mÆLbcc¥´W¯]§Eë6ÔªcNûŽ]xøûï‰ãR÷àÁC*W«‰çñò(bbb˜8i æ–6˜[Ù2oÁ"xÿþ=cÇOÄÂÚŽºV´iß1Ýzÿ›7oS]7ä×ì«×®Ó¡Si_~~Ÿ4âA!-¿Ü”­íì˜úú5¶òÀ>1‘ÄׯiS¿>Ç®\‘Gÿç5µ«!JW~ãœä7Î)ÎÐõ»…½yeyÔ¿FG[I»&uåÁ?”'Ïß3{åAz¶MùV={‡!Ó7²yž+–µÊARãCFF†sn|þÆî={4d(^§O‘=»¡<é7sáâ%FŒÍÈáC™?×…nݾÃô™³ðÀ¹G7Nœ:Íï¿?ÂÖÆZzo@` çÏž~ÊM¯R©”þŸ,11‘…‹—påÊ5òÈ/& ŽÚ3vô()LK+ígm6ÖVò ÿ„øøxfÍ™ËîÛÈ–-yóä!ož<ò¤ßDZçûWõâåKÖ®[Oë–i? ‹ˆˆ ((˜êÕª¡P(ÐÑÑ‘'ù[-^ŠçñLœ0ŽjU«ð9,Œã'NâÜ»/ëÖ¬¤j•*iž÷øøxúôëOÕªU9vøÙ²eûêµEøwDGGsóÖ-ÆŽv£JåJøøÜÃuðP*W®DñbÅHHH _ÿçeó†u˜ššj4ˆøù}¢[žthߎIÇc”#‡_±Bîß½­¶78æáÉž½ûÉ’% ,[²k+KtÉN®\¹¨]«–<ê‡sçŽ7}û»Ò½[Ƹ$wîÜ<ñ…B!O*Éì5rã¦-ØÚXS¦ti´µµièè OöÉ—ÏX:_=¦›s/n߸ª‘F^¾i)Ò.*”//ú®‚ƒƒÙ´y+]û£¥¥•꺔V^§wn¾GþÊÒ¯¿+ X³ú7rdÏ@PP0«×®¥¯ËÖ®^™fågÆæ-ÛèÚµ³t|ÿ¤¨¨(žþñ'³fL£l™2Ù3§S£z5ÈÄ=‡ ‚ ð«õpööö&öõkl3($&þü9÷îý8½l¿_¿`Z÷ŸOÎjÎä©Ñ g·ß ‹àÕ;JÙ æôåû”®?„Òõ‡PÔÊ•3WHÛX¸þE­\É[³½Ç®¢÷ØU¬Úq€MûÏcÑn¢´½¢V®lØ{Ž6ƒÈYÍÇ3ùð)XÚÀú½^ôp²AKKU‰¹rç)uœÆ£_¾3ùj÷a‡ªBrxŽ*Ý)dÞŸY¿”*6ÉûZµã4Ŭ]1¬Ôž£WrëþsjµKŽ*Ý©ÖÌ{_Ké [ôgÕŽÓ·Hž½è6r9ŸÃUS«¼zç¢D;âÒš™|L¹kôľët^½ó—' qÏÙÌYuHú»Ëðe˜˜õ‘>÷Í{Ï0ªÚƒøxUϹ+öcbÖ‡\Õq¼ž¾ãW³jÇi~ÿó-Íú¸KÇœç£çncÝl©±™ n¾ä²g7¤KçNDEEãûá$Ý< 2 sKê;4d˶íRúˆˆFY=Klê;°wß~š·rÊÔÏ‹3À¥Ú·#W®œäÌ™‡öLž8å¿­$22Ïã,[¶‚'OÑÀ±1ó¨*ÿA˜äˇR©”^iQ(/Vœí[7¥ySH>ã¼ÛI/¯86–z€:|„1cÇã>w>V¶õ©giÃÔé3¤Þ#êÞûúRß¡!»÷ìáQSêYÚ0fÜ©‡Ö{__5mÎÕk×iÜ´›ª3Ê÷q&±jõZú¸ ÀÜÒ†f-[s^­Wðë7oèã2[{G,¬íp3Nj,:tø“¦Lcã¦-XXÛ1iÊ4âââ=v< cneK×îμ{÷Žøøxœ{õÁßߟŽ]ºÒÀ±1~~Ÿ8tø]º9Kûó÷÷gȰÔµ°¢ž¥ ã'N&,LÕãü½¯/ sàÐa7£®…}\à ½?Yzçû®:wŬž%v Y³v}š74 ,^²Œú ¥|¹yëfã¦-ékšÕãÉ“§‰<ýZ|ll,sç/Äʶ>u-¬pîÕ—/R~ã&LâÀÁCŒ?‘šfõX·a®ƒ†ðþ½*ÔóàÙ³çôêë@»Žèã2¾’×$}O½ïúÐ͹UkÔæãG?)ޤïÕÆÍ[X¸`V–bZ ½{:ãÔº% .N÷¼Ÿ>smmmF!5ö¤÷{¾¿/^Ò£gêZXѤYKž¿x!Åéëë3{ætêÖ1#kÖ¬Ô«W“|ÒwòÂÅK„„„°`ž;¦¦¦46mÙŠµ•\úa”#Gªxõk¦R©dëötíÒIŠ÷ @é^£W®X†ûì™äË—O#üG4{î<œZ·dð@W ,ˆ¾¾>+T^ÓúÍ©_#CBC6bÖ¶ö˜[ÚЩkw‚‚‚qŸ·€³^ç˜í>Ž9uúLª)!.\¼DûŽ]°¶µÇ¦¾ë7n’>׸ “X·a#¦ž…5õ²wß~)^T¾%Õ±äçE½|øö™^}úQ/ùZwᢧ>åFZåIòö<<Ó®Cgê˜[ѺM{îúøHÛÈ踒1á"ºtsÆÈÈ…B‘æuI^ikk³wß©<“—·êù›Þ¹Ë¨|O¯¼L6nü$úöîEû¶m™>cÍ[9Ѳu[i´JÞ¼y9rÔCJŸ,!!·1ãé6†„„"##U=T­l¥:€®nʈ»¸¸8æ-X„•m},¬í˜2mFº£4¿V>¥•QQÑLœ< k;ì±eë6Z´nË—/Éš5+Y²d¡C§.,^ºœÐÐPý}oL™4 åË£T*©T©"E –êž_¾|¡TÉ’(•Jttt(^¬Xªžåû¤U‹hiiqÌã8NN­(Z¤::: èÊù  I:.6oXG¥ 4¶¡îàÁôjÕ€¡ƒbccžžyó䡎Ym^¾|€×¹ ”.U ;[ Íš6Á(§—¯\ýêq%›1kÍš6!gÎô;÷x?Nß>½ÈžÝ###z:÷àpÒ(—Š*бC{ UJìëÛI˜lDI3òÊêÉê3,^Âô©“¥ÆfD½@AȤ_ªÁùîÝ»TH§"¦®RL wîÜ‘ÿRZ˜I^#>\_ëK+ð ¥÷ØURüÛÌ]s˜£kGãsl®Æ{<Îyã¾ú0'7ÇÿözìÍ+¥9­C²×ïý¹të1ŽÏÇ÷Újf¯Li€ˆü«8·QõÒýèBãž³èÝÎŽÏ÷·pûðê›WÄ/ ”&½f3°kC‚ïnâòži¬ÚqŠß¶ÒØ×Ó¾üéµyžS—î‘Ë(·î?ÀëÚCê׫„R™ú'·ÇãË6Ÿàì¶IøßZYÕ’¬Ûí@…R…X6¥'ELóðêâ .ï™Î{¿ ^½óçÅ?ª6E!óþ¸N^Oô—”žk gÓ–­*TâÅŠ0tØHLLL¸xþ,›7¬cÕêµ\º¬°pÑ|}}9uƒ“žGyôø±ÆMLzƒxþüõë§o`gkC\\>>÷hÒ¸mœZÓÐÑÓ'=5baáa 6‚:æV4mÞJ£1V®UËæèëë˃ gÓ–mÔ³°Æ¦¾3fÍ!2RõðåkŽy§xñbœ;sŠCû÷pîÜ…t§ãøøÑ/_àqä Ç=Žðþý{.^¢¿aã&V,_Âþ½»á+ù°uûÜFçòÅs rÀðQ£¥‡¹så¢wOgΜôÄóèaî?xÀ‰“)¿“³^çxõú5GîgÜ7´µµiÒ¸Gàâ¹3äÍ›—ÕkÖ¡T*Y»z%;·måôIOòå3–¶“lÐÐáäÉ›ógOsæ¤'RÀï‡ܹãÍ¡ý{9wFõ9Ö®K=hZç;00ˆþ®ƒéÒ©#×._`Û–MìÞ»—]»÷ÈßÎoo<®\:Ïò¥‹)S¦Œ>Ü·—+ÏS«f ú¸ô×hX¸x)ÕªVåüÙStïÚ™ñcÇP @~NŸôdÛ–R:€’%K°fåoìß³‹µ«TÿÿZ^Lž: ×þ.\¹x.Õùºuë6¹rå¢RÅÔ7ÎŽÜõ¹G\\\šçýêµë”+W–!ÃFàШ):uáÆMUƒ¾ðÏJHH`舑/^” ^gذn ‡•'“øðñ£%JàöoªT©ÌˆQ£qhØ„¶:i\#îÜñ&~ºts¦ccz÷u‘ÎÈݼu‹àà`Ø×—ÂÂÃ#èÓϳz–´ëЙ‹—.k¼G[[5ˆ.!º?Š  `?~BËæÍåQ2úÍíØ¡êèuæ$—.x1nŒ¹rådô¨”-[†±£Gqú¤' ì5ÞP¨`Af͘ƅsgXµbK–.çÇRüºõqéÛ‡«—/0sú4¦ÏœæÔÕñ'™0~,W/gŒÛHFŒ­±_uòò$ÙÆÍ[X¾t×._À¾¾Ӧϒâ2:.ÿ€ÜçÎÇÅu Å‹çн8÷膶¶vš×%¹¸¸8Þ¼}Ë Ï£œ>áA`PFy+—ֹ˨|O¯¼øãÏ? ûŒ£Cæ/\„±±1GîgάøúªÊŠ&qãFêé ¦ÏœExx8sfÍ@KK‹¥ËVðüåK<ŽÂóèa^½z¥Q?ùmÕjîúøpôðANŸðäÙ³çü¶RUÇ–ËLù$χ+WòúõkŽ;ÌñcGxïë˳gªz«R©¤oŸ^Ú¿“|ÆôèÙ‡…‹–¬Ù™äŸÌë7o¨\¹}z÷díºõìܵ›»vsÌÓýûI飢¢8yê4­Zª~ׯ^½¢DqÕµ gΜäΕ‹çIÇkeiAÁ‚¥x¹;w¼‰‹§v-Í©ƒHêíë}×Gj}ùò%%K–ÐHS¦ti©u’É‹¤9ËßûúÒ˹ étT‰ŽŽæÃ‡û)]º>{žêa½Ÿß'fÎvǼ^ª‘$]Ë}|îaic‡¹¥ åí[Õ–OŸ>áëûwïÞáÔ¶=v ™>s6_¾¨Ö¾A„Œ¤ný~z¼üÀÍ{ϘãÖ=]²eÕcî˜.8yCêåü%&–ùc»Q¦x4ç/Þíqç66”)^€MÍ)_2ýŠÀÄANdÕ×E_/ -Ôâñó”Þ {_£f¥+¤ªè9{›²%Léݾ>:ÚJ åÏMn#CŸ¹EÉ"&tii‰––‚"¦yqëÛ‚û4ùFöi†¶RI‰Âù¨Y©8m×¥x¡|hi)hÑ &¾Ji@ݯ%Yt´É™Ã€ñ®­Ù"õ€ÜæçéÖÚŠò% ¢P(Ö³ 7ï=ã½_ê=Ë*\¾ý„ظxÎ_DñÂùh^¿&GϪlx]{ˆ£UùÛ8pò][YQ¡T!”J-ºµ²¦TQy2É[ß@bbãxþÆ›gsßs>÷¿búò}ò¤-YJµšfÔ1·ÂÛû.›Ö¯#K–,¼}ûŸ{÷ä:¥RIÁ‚©ogËé3g8}ö,½z:“#{vtuuÐß%Ue6-¡ŸU½Fr¥î¡¥¥EîܹÊàÆeÿž]÷8Ê•‹ç˜:e«×¬ãè±Ô=†¾fÒ„ñx=Ä•KçÙ¼q?föœÔYÒbb’¶mœP*•S£Fõ Û{÷tFGG‡Ù³Ó¯oNVå!Isí1œbE‹¢¯¯÷Õ|'©GJ©’%Q(84°§téR\¼x €lÙ²aV»J¥’ìÙ ©Z¥ oÕz`) &ŽK®\9¥á“V–èéé¡T*±°0çÝ{_)}F^½~ÍÇ¿3lè`tuuÉš5+#†åÌY/ž·ýûõA__===êÛÙf˜Wê¼Î£p¡B4mÒ--- äÏO/ç<¤9-€±±1áá8t˜ˆˆŠ.œfÏöôd”§_‹?|ä(ýúô&wî\hiiÑߥ/ÑÑ_¸~ã¦ôþêÕªÒ®­Ù²eû[Ócd6¯ÛµmƒYíZ¤êiôùs¹s¥þÝ‘44=11‘ÏŸ?Ë£ éÁÈ…‹—èÚŸ“žGqîÑAC†I½À„Λ·oyþüC"K–,äËgL§Öòd4ʤÉSqh`O±¢ª‰þþþ\»~ƒîݺpê„Ó§LfúŒYúù±uÓZ·lñ·®•=ºwE©T’5kVzöè®QÞÊ¥uî¾V¾§W^úøÜǬvmîÞõ¡y³¦ÔË=kÖ¬FïO¥–K–-çÅËW,Z0OzsêÌúöê‰QŽèêêÒß%¥Á”¤Þå}zõ$GöìèëëÑ¡}[NŸMû83S>Éóáø‰“ôíÓCCCtttèG·ù4 IDAT߯¯Æ6tuuéоÛ·nâÏgÏhÔ´EªžÄß[||-[¨·#£¢Ru‚ÐÓÓKµp}ZÇõñ£‹–,Ã}ÖÌt§#©Á@_í÷˜U_Ÿøøx¢£UÁ÷ï? Vsì8òüÅ F&uèkÙ¢žGqñÜY<&Ož<ôëïJBB?úËÛ·ïØµc÷ïåéÓ?Xµf­|3‚ ‚Jú%ÙO¨Zµj<’ÍK•–ß³d¡zõêòà_ƧÀP²gÓ'{¶”ÊN±‚Æ$$$œÒ`Q®¤ª––Ÿ‚15É¥–ߨHão¹‚&¹¥ÿëh+‰KéÕ´~—ÆÄýC0ͧ¹}’>»úvŠ2Æ/@³±Ã8·jø/€nŒs§48éhkkì —‘jh8IŸÓ?èsª4rï?±n·&f}01ëCÍc0ȪKPH8 g¢(ÑE‰v,ÞèAù’ə݀>røÌ-šÚU§‰muŽzÝ&&6Ž+wžâhY…ëwÿ”ÞgTUµŽÐg Ðìq ÏuZZ ôu³0cx©}@GN\HÊš–aCs÷ö &ŒÃ'òæUíóÓ'ÕÂM[´Äʶ>V¶õ9{ÖKª‡„„’?JxÞRƒaófMÑÒRðìÙ3i$-¤uóÖíTÝFFFèèè §§GÇí)W®,çÓi°ü‘%YHá]¾ò›kÖ¤1S'Ob˶í86nʾýäIÒåyü½ûºH×ò  `k³‰‰æhmmoÒà'Pglœ¿¤rIN^ž$3Q+#µeåczÇe``Àáƒû(P ­Ú´cÑ⥼Wk`Ϭìj×0ã¼yS•·êÒ:w•ï•—áááRÃeù¥ßËéÓgˆŠŽ"11‘ã'NR·niÛOŸþÁîÝ{ɪ¯/ÍNÒwN}í yýÊß?€ñ'Ku„Ùîó¤ÆD¹Ì”Oò|ð÷ÀØ8¯ô·‘‘QªúÝ›7o™¿pmÛw¢LéÒ9¸/ÍïÂ÷ÏH·1äÉ“×þª)¨FºAWWÓ'<8}Ò“ÇOž0aâd)~ÿƒÒôY³fM5º-*2*U™Ÿ–ˆˆΜõ¢U‹Ôk1lÙ¶ÓgϲtñB©8›AªÆåèèh:bZÇ•Àèqã1l&&OE”üŒRëÁE–,Y¤3+W®Ä­ëW¸vù"½œ{е{Oþ”]ßIú®äÍ›…BAŽ9=j$oß½ãÕë× P ««Ë ¤Ú·UÕ9Aá+~©çêÕ«£[¬gÒxúœì¤BA¶’%©Zµª<ê—Q¬1¡a‘…¤ÌÓõÚ×¥R‹BùS2“çRNK¾ÞX+½Âl¥R™ÂœØ8žÄç{H|¾‡¡ÎMh`¡šVã˜×Z;šQ¯zÞ}b÷±«ÊŸ›"¦y©S­”ô¾Õ|†ùsòîƒæ®z/jš[¢H>¢¾ÄHóPD‰EO7å&&#mÛ8‘ÀŽ]ªiòäUÝàœ>áÉÅsg¹xî,W/_`žûlrçέ±u@``†®É (R¸0gϦž‚âê5UƒGr¯­´zŒÈÅ'Ä£§—º7þ_Ÿ€ž^ÚÓoÈe´¨RZÔóéÝ»÷jܘ©÷VùZ¾øùiþFÞ¾{GΜ9‰‰‰¡O¿þXZ˜³cÛvmßJÝ:)¿/Òøìã&L"6.ŽÍÖ±sûVzöP=ð ù_дaaa½\}}? T*5nŠ2ê£N¾?Ó‚¦¼—õ¶þðáƒFo%u%JÇ}öLŽÚÏ]Ö®ÛIûOHùn†~þœj¾Ëôò43ñ¦¦x÷þ½Fü{__ ¨}Nùuð+Y›JfóZ‘A^—-[–ÀÀ@‹–,“æ–Oëw–ìÞ½ûLž:‘DZsûVvmߪÑJ×”oEÞ¸üÑÏ/ÝùbååI²ôòäkÇeZ £F ãÀÞÝäÏoB×A 8˜øøø óK¿ÚƒB??¿Tå­º´>gzÇÄWÊË|ùŒyûö-£GäÀÁCtèÜ•ªU«PßÎ–Ž»’/Ÿ1Íšªê†$•÷Ç=òîÝ{¹¬sçÎͧO)Çñùs˜Fý*wîÜ,œ?Wª#\¹xŽsgNJñê2S>Éó!£ýGEEÓ×Å•!ÃFP´HöïÝÅÐ!ƒR5ÔO111 6CCC¦O,Õ1ÂÂÂð:wžA®ýÑÖÖ&OîÜŒ5’cžÇ‰çÕë×<{þœj‹N—*YR£~HHAÁÁN£‘Ìóø ªT©œªxíºõxzgÃÚÕ×Ç%KHS“$ûã?)RXµ`zÇõð÷GܹãÍŒY³¥‡ >dÚŒYŒWkLÈ’% … ÒØú>ÔeÏnHûú-Z„;ÞwåÑ©$&&˜˜ˆ¾ž>E âË—/„GDHñ1±±dÑÉÜ=‡ ‚ðß–~më'µïìY¦)Âé4*¬' f)Â>/Õü¸¿*Ó|¹p´ªÂ¤Å»ùKDä¦-ÝGÇfædÑI»2.צQ¶¼(MMqÌë÷Ÿü½!œözÑ¡i=ôõR*'MíªóìõG¶¾DBB"!a¼zçOS»| eûaUÔ·Y¾õ=œlÔ¶ø×-Xw”/1±|bæohÓ(¥çIzz8Ù°zçi®ÝýƒÄÄD¢¢c¸áó§<™ÄÁ² {=¯‘EG›ò% ¢TjÑȦ*³WÄÑ2íé4Z;Öfó |øÈë7ªkQN## ,(-U¨P!¼½ïJ ?<˜2|²ôò43ñ­[µdæÍ“À–­ÛÈ–Í€êÕÒ€iddD@@Ai.8)÷-òÚÄ$:¶gÄH7®^»NTT4¡¡¡lÙ¶í;w2l¨j¡Ø´Î»SëV:|˜;w¼‰gßþÄÄÄdxŒÂ÷Q° )eÊ”fåª5ÄÇÇóáÃG>,ÅGEEã:h(¡¡¡,Y8--­¤jÕC–V-Zpâä).^ºLbÒ£W®^ümÛ´féò¼}«Z°ŽÚC:×¥´¬Y·/_¾ƺ 5ÿ_•—–\¾z€À@Š/Ɔukص}+Íš6¡O¯žìÚ±!ƒj<€522"Göì,˜ïΚµë¥ÅØÛ±nÃF>#66–ÕkUóD'kÕ²9K—¯z€‡††òÇŸªz¨Ÿß'ÆŒ› -ûwÊ'Çö¬ß°‰ððpâããY·^õð6™snÜ¿‡6N­5¦Rù'¨®oCÈ“'cÜFMdd$ÑÑÑ7Oé¼$&&râä)Š+ŠR©äàÁÃ4jè¨ñ™[¶h·xóæ-qqq,[±’ºuÌÈ•ÎôSêö>ž3g½øã?©\±"ÈêÑçÎ_àÕë×$$$Ää©Ó©Y£ùó›#GêÛÙ2k¶;øûû³cç.ػߛ ‚ðëÊ\ëãOD__Ÿ#>>´©_ŸI/^P)in¾‡9sbX¢Ǽ¼4†³ýª¶-Ì )(b9¥R‹Æ6Õ™?¶«ãVch ÏÊé½iíhÆñ ãzzz¬^³÷y ˆŠR _í6Rj<hÞ¬g½ÎaeSŸF Ðß…;w1qÒbbc(R¸0“&ާv­Zð•}ÊݾãÍ‚E‹‰ˆˆ$WΜ´lÙ—¾}äÉþo:::”(^‚¦Í[úù3æõêâ6r¸<™†ŒòÀѱó,äñã'f7dîœYRo·‘Ãq0ˆ\¹rR ~Z·L:š–±cܘ1k6{÷ï'Göì4jèˆç‰”›èaC1eÚ §NgëfÍÅíæÎ™ÉÌÙîØ;6BKK‰•¥…´Àã_%?ß'ŒcõÊÌšãÎì9s144¤}Û6i68‡„„0zÜxÉf`@™2¥5r½zö`ÜøI´h݆¬úY±°¨§ÑxÆWòôkñ={tçKôÚvèDtôÊ•+ËÊË2,SÊ—+‡£ƒÍZ¶&¿I>iÁÈŒ|‹¼ã6 Ó˜3woÞ¼%66–Ò¥J±~ÍjªT©,¥“Ÿ÷2¥KK “½{ÿžÅ‹³bÙÒ¼±APõŒ]0Ï)Sg`ne‹I¾|tïÖ•C‡Us›_º|™+WUÚ-¬Snþ‹-ʱ#)\¸K/`Ñ’eŒ=–ü&&Ìš1âIÃê[4oFHH}\úJÙ2eY¾DÕx’lÇ®ÝT«Z%ÕX --vìÜ%õº+S¦4«W.טòc×î=ìܽÕÔ8×nÜÀ©u+ºué,¥ùQØÚX³bÙbÖ¬ÛÀºõùòå yóäÁmÔ .$OžÊÓ§Oq4˜˜˜ ³bme‰uRã{ï^ÎL˜8…C‡0nŒÕÔm¬­¸xéMš·"OîÜT«VK sµ-?ÇaÁÂÅuŠFš´<þ‚·oÞRß.å>äÓ§OÒ"’6v ÔRƒ÷­ë°|é"fÌœÍÈÑc(hZ¥‹¢««ËQÏ +OnÍ)õ”Jm²e3 {öÔÓ`õîåŒ@Ž›‘˜˜€£ƒÝ»vàÍ›7L›>SÉP¼X1ÜgϤ|ùr «Gûùù1gî|È’Ek+/œ'ígÊ䉸ϟ´ŸDZ¶hN×ð:.‚ üx’»«wVÈ^Zj/¥ÚKÈèºI/½[w|®–,‘z®´´Üñö¦ŽYm´¿2l…ʪU¿ÿõa@êîÝ»Ç=3Ue©òõë¿ì4zzz$>ß#þæê8g`׆tiùóô`zõΟbÖ®Äý± ¥òçéÐoßu:mÕÁ¥“fE63%Ú¥šFà[«\­&‡ì•.2ëÉ“§ôèÕ‡áC‡Ð®­“<ú§õÞׇ†M¸÷vªùÿ®q&‘?¿ ƒ\È£„¿ékyúµøŸÙC‡™7kV­¤RÅÌ/h&‚ ¤vÿÁCvìÜÅã'Oˆ‰EOOJ•*2lÈ ŒŒ2^óäGM­:õ8{êDºæ‚ ‚ |{>÷îI‹+áܼu›êÕTí©_óìùKjÕ¨Zˆ¾1@,§öJP{%Ê^ɤÿÿr=œÕU©R…äSöåmlþ^>ú‡ðâ­5+•@G[ɡӷðyô ËZeåI ™í +|_e˪z ôw„––"Õ"T‚¦ô† ß×òôkñ?«Ö-[àÿÉŸ¾.ýY»z%+ˆFgA„¿«r¥ŠT®4CüSyòä)ºzº)\˜„„~[µŠ"… ‹ÆfAA¾‰_ºÁYøû¢¢c9k+Ÿ¿'>>‚ùs±má Š˜j.Þ'•YíZxßR 'áŸÓ¯ooúõí-Aþƒü>}bþÂEøù}B¡PP¦Li©M¥ ‚ ‚ðÿø¥§ÔÐMš‹ìËwžbàß$æÖä¾÷”‚ ‚ ‚ ‚ ÂÿGL©!ü°D㢠‚ ‚ ‚ ‚ ?‚¢ÁYWWW”¦Ì¦“DE©¥…BWý¿ú^AAAAAá/Ñ’üJ₃ù¤­Mˆ±˜wXAAAAá{û¥œ#ž=#P©$ªD y” ‚ ‚ ‚ ‚ ‚ðýÒ ÎŸ¼ï¤ÔFËÒR%‚ ‚ ‚ ‚ ‚ |c?ÄÎrS§NÕø;80 ÍðÉ“'kü-÷ôèQ¢”J²;:Ê£AAAAA„oì‡ëá|¤ž…5QQÑò¨ïJ½œW¯'¤eÊ´¬\µFü¯QÏëwïßS²LyâããåÉà_Ìßôì?pN]»ËƒÓ%êÛ‚ ‚ ü*~¸gý¬YÉ•;o†/}}ùÛ$q11?‘p-%FŽ…Bžä?aÆÌÙXXÛ¦[)ÿ·„L—º{÷îS¦|%ŽyxÊ£ˆ‰‰aì¸ Ô¬]—ZuÌ™í>„„Þ½{ǨÑc©]ׂêµÌhÞʉ+W¯É7Àë×oR]7fÌœ-Åé–*þóç0m‚ BZ~ÈçÿG\l,Fºñçƒä·²¤Œ““<É—/_8êáAÞýCüSÑÒú9bçÍKÝ:fòàTìlmȞ݀ç/^°jõÓ³IῪ¿ë Ê•-õ+Ù·{'çÎ_`íú Rü‚…‹Ù³w³fLãž÷mn߸ŠR©ÔØFF<_±r›·lÅÆÆZ•)¬úm9O=àé£ïß³‹,Y²H÷8²r@K‘þ-@Å (Q¼¸<ø» bÞü…ÄÆÆÏ´³âÓÊëô¾»ß#åüh×±3(lÚ¸Ž“ÇqæÔq6¬]ƒï‡8÷êóÍüü[ÂÂÂX¼d¡Ÿ?Ë£þQQQ>÷ˆˆˆ ^½º\º|™5k׳mËFn^»Œ±q^ÆŽŸ(¥õðzŒ¸¸8f»Ï£Ž¹%µëZ0aÒŠÖY¯s84lB•êµèÖ£'[¶ngȰÛM––’ÉS¦QÇÜ k[~[¹šÄÄD,ZŒË€iç/\Lßþ®a@ºŸïãG?jÖ®ËÕk׈¥qÓlÙªêá6f+~[E^}¨Y».Ž›âåuN¶uùôik[{®\½ÆŸ>£¯ËÞ½{µ­}ºS‡ìÙ»{‡FT­Q›ÆM[p欗÷µÏWÇÜ2ÕËÖ^̳.‚ Î×÷Ïž=gð@Wttt(T¨cFâÀC³eÛ6V­\NÕªUÐÒÒBGGGcÏž=ǹW_*W«I•êµpîÕWêàççG›ö©Z£6Ní:hôÄuéÛ‡Û·R½ZU)LÝ‹—/éѳ7Õjšac×€uë7jÄû`jjŠR©”^?ªé³fÓ®­Ç¡P¡BèëëS©bE*V¨Ieäí;ÞtìÒr«ðáÃGò5$4”ƒ‡R×ÜŠšµëÒ¶C'ƒÒ¬óȧ„8wþ­œÚQ×ÜŠz–6¬Y·^ú\ncƱzí:úôëOZu°´±c—¬N—,9µ”ªª½<ß“ËùdŸÃ>Ó­GOjšÕS•ÓçÎKqêSn¤W³¶µçè1Z¶nKµšf4muÒÍ IDATÞŠ;ÞÞÒ62:®dÌ™;ö»3gN ]ºõàÓ§O´ißk[{>~ôKU—ÑÖÖf×î½XÛÚS«Ž9#ÝÆH=¢åù›Þ¹1Ò™³æPÇÜ’šfõ˜8yŠôÛˆ‹‹cĨÑÒö;têÂÛ·o¥ý»Ç—~têÐI“§Ò°I37mÁä©Ó˜8~ÆÆÆ<¤jèW—À°£2l _­o§WOLKll,³æÌ¥Ž¹%Õk™Ñ¥›3ÏŸ§LÍ‘V>DEE3vüDj×µÀʶ>7m¦QÓæ<ñ‚¬Y³¢««Kë6혿p1!!!ûûÞ ˜1m +T@©TR¥JeŠ)"M7òåËJ—*…R©DGG‡’%J¤êY¾gß~œZµBKK‹#G=hÛÖ‰bE‹¢££Ã°!ƒñ:wžÐPi;¶n¦J¥ôGbìÛw€6mT™FŠ-zzzçÍK½ºuxñâ%gΞ£l™2Ø×·C¡PвEsŒrqñÒå¯W²)ÓfвEsråÊ¥®î¨‡ý]ú’=»!9sæ¤oŸÞ8p€J+Ò¥s' U ÃŽ ˆŒŒäsXêžÉç3Ö¸fhi¥4b’/_ªkŠ ‚ |ÍOÝà¼tù ihyíº¸õëÏã(V½:Ã÷ïÅ ƒBúW·s×Ú·kC“Ƹ}Ç›>Jq -áÙ‹œ>éÉ™“Çyùò%‘‘‘™ŽWwîüæ-XÄ\÷YÜ¿{›5+WP¸P!üèÕÇ…ömÛpÏû‡öï£^Ý:Œ;šòåË1aÜ.œ;CCGéÝ·?ݺtÆûÖuvïÜÎŽ]»Ø¾c§´ŸÓgÎòòÕ+Ž;¤ iu›·`Õ«UãÚå 4nèÈÒå+ð¾{—“Ç=¸àu†?ÿ|ÆÒe+ éF~ðÐá 6Ÿ;7=j$K—-—o2]7nÞÄܼׯ\bç¶-ìØµ Ïã'èо/]Æ?@µÐebb"G£MëÔÑÓû|&&ù˜6u2cÇM ""‚%K—“/_>ºvé$½wÓ–­ŒãÆ­W6d0ƒ†罯¯ÆöåÒ;'êJ•*Éä‰05-À…sgؽSÕSBÝÅK—™·`‹ÍÇçÎMÆŽÅÐá#yü$¥¡"£ÏwýÊ¥T¯sgNªíAAHHˆGKKKãÆ?ož<¼~ó€»>÷(Z´(»v量CC6aÉÒåRC[LL =zõ¦páBx>ɵËÛeÊ”Á÷˜7}ûôBWW—­[6p`ïΜÉp¬Iíˆ |÷ÿ3§8ïïGħO,X´X½˜DSÝ=vœ2eJsùÂ9Ž=ÌÙ³ø9 ©ç~ófM9uâ×._ÀÌÌŒ5k×ðìùs¾|ùL“ÆîÌ[° N÷añÂù¥´sš7kÊÕ«ÃL>ƒ¯_¿²xá|´µµ¿ÛÞά¨É²å+¹}çǼpóúUêÔ¶¡gŸ¾*ÔêÇaùÊ•¼}û–³§OpöôI>ñâÅKH½a1h`|}¼)\È‚.Ýz²`áb"##•>õŸóéS$o©Q£:ôcÝú ìܵ›»vã}Ô‡aCKåe2¾'NÒ¶MÊÿõëׯ)W¶¬”_°`ALMLxñüÎNŽ+VLÊWwãÆM’ärìlë¨g¡P(¸yë66µjBÚg•Kÿ,€Š*h '¨¾_¤úDÿ¾}H–güþˆ'8ø£ÊçT¨Pžç/^JvÒ„„„2}ælë×ÃÜÌL%ÔïêÛ·ï`[·6uì0hïÞ¥ß`‰ùÃañ¶±¥Qã¦"ö¿ ‚mÿége  ZF.ZÈôý{)P¸°z‘ÿÏ_¼àǸ5l€‘‘M³oÿ)ÿäéÓ êßüùò¡¯¯ÏÐ!é ´ìä+;êsŒömÛPÓÚ]]]Ê•+‹¶¶6gÏúS¦t)Ú·k‹®®.… "þüê‹pæìYJ/NËÍÑÖÖÆ²Hú÷íÃ)wéI:9}êo˜˜ÄÀ@s\¾Z5­éÔ±=¹sçFOOC‡0°?òåÍ‹¡¡;uà”_Êásç/P®lY»7BKK +«Ê4nœýQ¶¥J–¤‘[J|ÃbÅŠÑÚ³'OƲHêÚÛqøˆ77oÞB«‹³ÚR¦æe¶}MS»¶ ƒ† ãÀ¡CÌŸ7[eúh#·†”/W---»7¢bÅ œ;w^iíýHdåðoZ{¶’F~Õ¯Wg'GŽx§æù3Û'‚ ¤+R¤E fëöÈår‚‚ƒ™¿h1 …‚äädÂÂÂxýú ÅŠZâwÒ—ßwíàü… ìØµ€›·nó•ÉÇcjj‚‘‘Öj£•[´hF¥JÑÑÑ¡_ßÞDDDðøÉS•2ê¤ÞxLNV0rÄptuu)R¤0íÛ¶‘fÍøûäÒù®]¾@Û6ž <”—/_©¬''H‹ãjiYD=KE§Ž°·³ÅØØ8C8‡%Kp÷Þ=üΡP(¨Z¥ŠJ~VÊ”)MÙ²e¨T©"ææfIù \]¤Î¨ºöväÏŸÀw)3Éþ ·† )]ª¤^Ç­*W&à\ú(ge™µÁºuí‚……ZZZ4õhÂËWéõ›Ù~ÅÆÆÒÀ­1CBØ»{'íÚ´Î02?;úôŽFFFôëÓ›“§Òov¨ÓTw… ¢c‡öèèè`aaM-•ÁÎNŽ ££ƒ£c}ÞH©“Û·ïbŸú0ò[·nãÙª%¤†006Ny¾Œúù¡£­Íâ¥Ëxõú «V,“næ|¯½U;QÝá#Þ 8SS´µµ6t0ññ Òl94‡ã¾'4pyòäAOO¡ƒ©¬@__Ÿ.;±ïnž¿xAƒFM2Œ$þ»ÉårÆŒOŸÞ=¥s¶Š•NNõY»~#sæ-À£IcŠZ¦‡Ãð=q’ªU¬(Z´(q2FFFR>€¡‘!±™ ¨Q·ÿà!Ú¶ñÌP·kÖ®ÇÈȈ6©ƒKâd2 UÊf¼£i¿>~ aáâ¥,^rS"32™ #¥Ï124D.—Ÿ©!EªYÛPÏÉ…—¯^1~Ü©¬²6­[qæ”/×._äÌ阙™Ñ»oúl˜£‡rÖï7¯_aö¬¬Y»^¥Í/‚ ™IiñüGý2tÓ¦MSOþŸ÷ûž}DFEa[·>¤ŽrÊ“'C‡ BGG‡ððŠ(ý°273S™õ½|eááÔ¨ž~W^JˆÀÂ"ã¨M>}ŠÌ0‚¥hÑ¢D|J% P¢Dq©ž™2eR~ؤ gÜ„Ièê¦l»\žL®\¹ˆŒŠ¤HÕ›… Y£aª™&yóåUyoanεkйcæÎ_Hÿ¾}ðö9F«–-4n{VÛGêtæÆM›Ó»WÏ #òç˧ò¾p¡B„†…©¤©û‘:ÉʧOŸ¨VMuÊaÑ¢–„‡§×WVÛgçr^*344£œA”hkk³võJfΙˆ ›°°°HéÔ{ùmmm ¨X±Ú·ÀĤ :vàÄÉSôìÞðˆ YXdÙ™W¨P!éo]]]L $<<\¥Œ&aaaDEEQ·~z|ç¤$9V•+Iï (€žž]»tæ°÷QüÏ“:!sŠ´íŒˆø”åMزYÄ4nÙ¼ùóåcýÆMÌœ=‡!ƒJõò=ÇŽû²ÿÀÁ”ZZ|úI²"}T£rèêêý”¿|yUÛ1ææf„„†ª¤¥É¬ VX©M¡«««·8³ý266æÄñ£ìع›¦-ZѸQ#:uê ÒY˜ÊÛoanNddd¦ÇESÝ©·‡ôtu¥åÃÂÃY½z-?…‚¨èh©¾~ý*u,[ZáùóçTªXS§N#‹—¡P(8î{‡ºÒºŸbfff –²nøˆQXXXpÞߨèh&MžÂ¸ñY¼hû¤S§ŽRyccã ¾²8Y†öª&±±±œ:íÇÉã>êYxmÛÎÉÓ§Ù±ÍKê Îml,…êH#“É(^<}µ¦ýJNNfÔØqŒ3ŠÂ…UÿïÕ¥ƒq2¹sç–þΕ+—ôÀÌ5ªsÿÎM¾|‰áêµktèÔ•½¿ï¤|¹r*ëÒÒÒÂÜ<å<ÈŸ??“&Œ§zMÞ¼}K™Ò¥U¾kÛÔ¢C»¶œ;O«–-”Ö"‚ ýs-á!“Åã}ô(¿ïÜNa¥QÞ»uçÜù 4puÁÔÔ”ÐÐ0*¦>­üË—• ßËWfbRP%®”^ÐDc:F~-V”'U;ƒƒƒU~|dõp›4êò355eÑ‚yÂFÚ¨÷Q{šÉ-MÂÔ:w?†„R°`ÊV''G¦Î˜Éí;w8yê4»wj~Ê}VÛ§P(˜1k6íÛµåÐá#´kÓZeÚ\HHzˆ€wïßccSK%M]Vu¢LÃà E‹åÇ*iAAÁ”.2:ƒïlßµËUòAÍÊ”)ÍÖÍ¥÷ -Á¡nJGV±bEùô)…B!]W¿%&JRùóå#,<¹\ž¡)òu/))‰O‘‘˜i˜r­ÎÒÒ’Ò¥JqÜ'%žtvhkkc¬6Â0'01)H™2¥9zì#®ž-ÑÊb´!€“c}œëóàáCz÷@‰ű³µÍÐæQvçÎ]&NžÂÞÝ;©T©"öŽ*eÔÛ6?‹úMêÐPjÖ´VIK“Y,³cò½ý*jiÉ„qcøõ—¡:|„¾ýR¬hQÖ­Y•åñR&…@ !Ož<™v„jÚÎÌö‰ÔÖE f÷Žmèëëóûž}ø?©ƒ®¤ÆÂž4a<ÓfÌdûÎ]tëÒ™ÂE Ó¦]êªtÆ™™›±g÷NÚwè̆M›Я/d£½U;Q]Ñ¢–¼ÿðA:ÞAÁÁX*µ¥ÕCÚçW(_Ô>_&‹gðÐ_ £{·.øxÊt†áßåÛ·o >f͘&uèÆÄÄpæ¬?7®]FWW3SS&MOC÷&,˜?—wïßóüÅ ÜSg"”/WŽ/SÂ…:³áSdd–a4Òø;޵u ÀëÖoà´ßvlÝ¢Òq]®|9vïÞ£RöÙ³ç¸7rƒ,öëÁÃGܸq“ׯ_3mÆL¢£?ó|ê .^ºÌü¹³¥õåÊ•‹%ŠóâÅKiPʳgÏ)Y"ãCóæÍƒ{#76lÚÌ›·2t8«S(’Q(¨ŽÒN#O–KÚ‚ ‚•Ì[[ÂÒqß”+[kë*d!½Úxzòûž½¸7jÈú›øò%†ÄÄDV¯]§²Žïå+óhÒoŸc<~ü…BÁ‡øò%WgÞ¾ÃÛçÉÉÉDGGó!uŠhÁxôø ¤ÞÍwuvâÓ§OxûƒÔédÛwî’¦¦ýYmZ·béòÒçFGGóìyÊ“âëóüÅKNž:B¡àm` þé!BBB=v¼Jìke?†pààaär9oÞ¾åСÃRlFÚ·kËœy (^¬h¦ »¬¶o‹×Vbb¾2súTF ÆÈÑc¤¸š¤†I‹™|Ü÷/^¼¤†°ʲªe  <<œˆˆOcw¶kÓŸc¾Òç߸y‹‹—.Ó¢y3©ÌŸÙ>AAURRr¹™,ž»v³wÿ† I™önog‹ŽŽ¶·9(8˜]»~§AWH‰¦««Ëü…‹ùüå ñññ*u8êsœgÏŸ#—ËÙ´Å SSS•QÊ™©ko‡,^ƺõøúõ+ …‚wïR:yHíÈ>íw†¨¨(¢££Ù±sÏŸ¿ÀÙ9}DtN2vô(6nÚº  C&‹çm` )ñ²¿çÉÓgRhŽ’%J?_>¾~ me¡aaäÍ›Gº¡|þÂEé·³þ<|ô…BÀ9=zLõbJv÷ËÐÐ.;qâØQºvIyNE®\¹066æñãÇIH€µë7’@LL ë7n¢qjgÞÏF++ôõõ‘Éâ9vÜWÊsrtä¥˄GDP¦Livlóâà¾=´jÙ‚ýûqèÀ>FøU%BÈ—7/+–/aÍÚõÒÿá÷ÚÛYµÕÛ©íÚ¶aãæ-DFF’œœŒ×ÖmäÎm,ÅÖ¤‰{#6lÜÌׯ_‘Ëå¬[¿A%¿oŸ^÷9B‡öíþñÎf™,žþcffÆä‰ã‰'..ŽøøxŒ173“êE¡Pà{â$¥K—BGG‡Ѭ©‡Ê6·ölŇ |GRRËV¬Â¡®=&&ßÞÏþƒ‡hצµJÚ’eËñ;s–ukW“+W.âââ¤Ô ]]xýæ þþ( Žú#44g§,÷˪r%®\:÷aéeU¹cGbÒ„ñ*ŸÐÆÓ“õ6Ctt4›¶xѲes®^»ÎÛÀ@är9r¹œÓ~gxúô5ªU`ûŽ]lK=Ö?€7oß’œœLDÄ'&NžBÚµ)R¤0áø9Kll,III\¸x‰}ûˆÑÍ‚ B¶äÈçø¸8¢>Edù’ɲsëÍï{÷Ò¦u+õdÚ´öäÒå+3jįµ´ÄÕÍW7wŠZ¡TÉ’RÙïå+soäÆÁò¥É“'OháÙÛºõðlÓg'G\R;×ÕÛ<Ê\]œ©çP·ÆMiß± W¯]ÃÉ1cØ©¿ÃØÑ£˜¿`ÕkÖföÜy,Y´@eÊÿ_ñ£û¥¥¥…“c}i$þ˜Q#˜ËoVAAAAá¿æÿkH 1ÂYAAAAAø)rD ç„„õ$²[NAAAAAøç‰΂ ‚ ‚ ‚ ‚ ÂO!:œAAAAA„ŸBt8 ‚ ‚ ‚ ‚ ‚ ?EŽïp¾}û6_>Góås4·oßVÏAAAAArˆÛáGݺuñôlMB¼Œ„xž­[S¯^}d2™zqḹ{põÚuõäÿ·úôÀÞ}Ô“º à`¬ªY#—˘5g6nV/ö¯Z¾rõ©çäÊû÷Ô³…,äÄúAøYÒ®a™= ùˆ÷Q:v馞ü?ëä©Óô8D=ù»BBBqvuC&‹WÏú[µi×[·RnLœ<…«V«‘ä´ëò±Vok©û·ŽofŽx¥Gï¾êÉ™ªfmÃë7oÔ“AAþstÕr‚¸¸8êÔ±%.þ¹ó w¾ô¼àÐ0j×®ÃÍ›7000P^LPòðÑ#Ö­ßÈíÛwˆOHÀœNÚÓ½[Wõ¢ÿ˜CG¼iݪ¥zòÿ[ž­Z`hh¨žü¯yõê5Û¶ïääñ£äË—}}}õ"BrZ} ‚ð¿áò•+¬ß¸™gÏž“””Ćuk¨UÓšoß¾±uÛ>Bhh(… Y0tð š5õ`ðÐ_8á¢úêè×§7¿¦žü· ¦¥gÚ¶nÍøqcÔ³sŒm7ÕªU“ ¨'gððÑ#ôôô¨P¾<¦¦&Œ7Cß׆ ÃÕÍ]=€R%Krìèa† B¹råÔ³5ú·¯w§ýÎP×ގܹsÃkþ¦ã«‰L&cç®Ýœ9@\\r¹ãÜÆ4mÒ˜®]:£«›#býg$''³wß~öìÛOPP0ùóç£wÏtîÔRo,Ìž;§OŸ¡¥¥…•Ue&Oœ€‰IA•õ´ðlÃø1£©[מí;vâµm2™ ›Z5™5cùóç—ʾyû–‘£ÆR©REæÌ𡲀ðˆš6oÅÙÓ'¸ÿàô½¬«£ƒ»»ÆEOO€+W¯1á"‚ƒ?RºT)~›<*VVßÝ/e<¤K÷žÌ›3 &Õ³ùöí3gÍÁ?àhiѪe F޶¶6AAA¬Z³Ž‹—.#—'aiiɨ¿bog«¾nݺÍÚõxðð:::T­bŔɱ´´”Ê|ïØ‚ ‚&9r„sÆ ‘%|ÃÐÈH= CC#ââ¿áææ¦ž%¤ºuë6=zõ¥|ùrìÛ³‹ËX8.µjÕT/úyýæ 7åœÑ2ÿ«Ê•)]ª”zò¿æýû÷X)‚¹¹¹èlþrZ} ‚ðÿß…‹—7a2Û·ãBÀn^¿BêÕÐÖÖ&N&cÑ‚y\½tqcF3é·©üÀª˸ç¦ôºwû%ЧNÚjŸò÷š9keJ—QOÎQþL»ÉÌÔÛlK¯­Ûyñâ¥ô^WW—ÆîTÊüUæR=ïÙµƒ\¹rIï½§Ìðrvr$oÞ<Ò2ÚZ™ÿø§¯wQQQ,]¶‚ÄÄDär9sæ- 66NÊ×t¬µ´´TÞ§ù;ޝºˆOŸèÚ£hi±aý|¼á{Ì›õkVó1$„þg:û¿"&&†U«×òùËõ¬„L&ãÙóÌ™5ƒëW.²tÑB/]΃˜¿p 䤯Ç}Ž §§Ç’eËÎ IDATUÖqÿþbcc±³³åò•+lÞ²¯Í¸xî,ff¦ü6uºTöÄÉSôí?"–ETÖ¡ìˆ÷Q\È“'7nÞ¦wîœ÷÷ãÈáܺ}‡m;vðùóg~9šáÆòÇÕKtíÒ‰!C‡“ðÝýJǤ)S)Q¢¸Jº²ÕkÖñ!(˜Ç}8~ô0·nÝbçîßˆŠŽ¦ZÕ*œ8æÍÕKèÞµ ¿ü:’øøŒ#ÿƒCBèÚ¹—/pÞßÂ… 3eZz§rvŽ ‚ h’ykó_rûöm>a`˜±³9¡‘ï¸wïžz–Ì]°6­[ñËÐ!-ZCCCªXYaU¹²zQHyìîчúÎôé7€ à`)oÓ/š6oE}gWšµðäÒå+Rž›»Ç}OоcìiݶwîÞ•òÓ¼|ùŠ!ÆŒ›»]»÷b³×V•©¨ƪš5¯_§L#”ËåØÖ­ÏÃGHLLdÁ¢%8º4À¾ž#½úô—Êi²Ùk+ Ý›PÏɕߦNG[;ý4OJJbÜ„I¸¹{ààèB·½øð!%´DPpÊö¥ûzŽô8˜ðˆiùk×ÿ UëvØ×s¤O¿xmÝÎè±ã¥|eÊSVxeü„IÌ_°G—Ô­ïÌô™³HNN–ÊoÛ¾CڮߦNç·©Ó3 L“f-¸rõÍZâÑ,eäø½{÷騹+uë9Ѫu;)tÊÉS§™3!ïÞ¿ÇÍ݃ÕkÖÁwêÞÍ݃ÛwîÒ½WjÔªCHH(Ÿ>1løê;Ó Qc¶ïÜ%•Ÿ8y ›¶x1xè/Ô­çDƒFÙà ”pàà!<šµÄÚÆwæ¾{Yl·²9g¾WÏšŽÝ÷¶ÿgÖçãÇOèÒ­'õ]©çäÊø “¤åAÒ¬XµšñcGãѤ1úúúhii¡££©k¿þ2”ªU¬044ÀÅÙ‰ÜÆÆ¥|kkk£££#½.^ºŒ®ž.uíí µCiüÄÉÔsrÅÙÕ _ß*Ÿýúõzöî‡}=Gš6oūׯUò¿|‰á·©Ó©çäJÍÚv´i×wïÞ«”9î{‚ÄÄÄ …9Í÷ÚMš®‡G¼Òµ{/¢?fĨ18¹4Ä¡¾3»õ 22Šù sÖ?€¹óâæîÁi¿3BBœ¿p‘ºâäÒçØìµUÚ®ï]—”¥Õ³–vJG¬rÝ£!œÚ—˜/ôé7€ºõiÞª5çÎ_òÔ¯wS¦ÍÀkëvê9¹JQßkfµ_i>}ŠdÑ’¥tíÞ‹üùó£¥¥E¯>ý§S×n¸¹{¦r¬I=÷÷8$]cÇOœÌׯ_ACÈÌê.«kxVm€‰“¦Ð¿o:´kÇÌYsháÙ†V­Û1sö&Œ‹™™G}ŽKåÓ$''3vüDFOrr2qqqü6eŽ.R›Jy@@RR /ÅÑ¥õœ\™6c–ÆCà»meMÇA&‹—þ‡º7aûŽ´lÝ–×oÞ`ddD®\¹èع+ËV¬âóçÏ*Ÿ÷w366fÚ”ÉXU®œ2ê¶jJ/.…IHH \Ù²èèè §§GéR¥HJJRYÇC‡ñlÙmmmŽ?A›6ž”,Q===~:„sç/º_ÆÆÆlÛ²‰ªVV*ëPvø°7žž­øõ—¡8;;a``€™©)v¶uxóæ-þç)_®®.ÎhiiѼYSòÈÏ¥ËW¾»_ifÍ™GófM³ÙüÄ ú÷ëCÞ¼yÈŸ??½{õÄÛû(U¬¬èÔ±yò¤ÜdjØÀ•¸¸8bRÿO”5oê³³ºººèééáìäHHH¨”Ÿc#‚ šä¸ç;wîšG-¨ÐÒâÖ­[ê©ÿó"#£xòä)­Z´PÏÒèêµë,Z¼”5+—séB*T`ô˜qR¾uìØæÅÅsþtêØ™³çª,ïµm;«V,åê¥ó4làÊŒ™sTòÊ–-ä ã)R¤0~§|Ù¹Ý {{nß¹#5ÏúP¾\9ΟàÑ£ÇèêêR¹R%V­^Ë»w9|`?—/œ£¶M-ú ¤±Ñ}Ö?€-^ÛX³jçýý°­S›+W¯Iùººº4õh‚÷!.œÁÌÌŒõ6IùÁ?rëÖmŽÜOÀ™ÓÒÈ쨨(† ÁÁ¹zéãÇaÓ/iÙï9æ{‚Ò¥Kpæ4Gî# àƒ!ƒrùBæü:b4… â¹³lÛ²‰uë7rñÒe©ü¦Í^ ìß+—Î3{æ fΞ˧O‘ºK–­`Îìܸv™Õ+–Q¬hÑ,·[Ùœ3ß«gõc—&«íW÷Wêsþ¢Å4n܈‹çü9sÊ—Þ½{*­Ybccyúôqq2<Û´§Q“fŒŸ8™¨(ÕïF¤éç042ÄÊJóÍe¯mÛéÚ¹³ô~éò¼ ÄçÈANúúpýR^rr2¿ŽMéÒ%9ï†-›6à}ÔGÊ'õúðöí[vn÷âê¥óL™<‰Â… IùŸ¿|aÙò•Lùmr¥›q9MvÛMê×Ce»wïÀÿÌ).ž÷gâø±,X€qcFQ±b&Œƒß)_¹5TY XѢ̙5ƒógX·z%ËW¬âãÇ)ÿG®K?âÄÉSLž4+Ï1~ìhF§ò¹ÊÎúð60£‡2qüX)=«6`VûÁü‹8d(¥K—æÈ¡ýôêÙ]]]6®_ Àï;wàwÊ7ñ&µ#öÝû÷œôõÁïäq>EFfݪLSÝeu Ϫ ñüÅ bb¾àÞÈEK–bnnÎÑÙ7gÁÁ)³ šz4áúõŒ7ÎgΞÃׯ_™7gÚÚÚ¬X¹šWoÞpÜç¾>Þ¼}û–¸¸ô‘ÝkÖ­çÎÝ»øxÆï¤//_¾bÍÚõ*ëL“¶²úqX½v-œ8æÍ‰cG æåËWzâ¿>9¸ŸBæôìÝ%K—küþù'DFFøîÕªU _ßÞlÜ´™ß÷ìå÷={9vÜ—ÁƒHåe2§NûáÙ*åÿúíÛ·”)]ZÊ/P & ò*uë×£hÑ¢R¾º[·n“$—S§¶z …‚ÛwîR«¦5oÞ¼¡lYÕYÊ—çÙóç*ihØ/R‰Ó§WO’åš¿;ãããùø1DåsÊ—/Ç‹—¯P(*eCCØ=w>õêbfjª’§L.—óüÅ Ö®Û@ëÖ)ëdãØ‚ Bfr\‡³ðפ5-³9íéˆ÷QZ¶hN™2¥ÑÒÒ¢G·®Üð°°0jÕ´¦`Á”»ëNŽõ RY¾s§Ž˜››£¥¥Ec÷FF@e¦B…òòàáCâââ¸yë6ú÷åܹ”ÎÃk×ÿÀ¡®=ÚÚÚxõa@¿¾˜˜D[[›AûŸÀµë¨¯–Ó~ghÙ¢9åË•CGG‡fM=(Y¢„JÇúõ000@GG‡zõø:,Í ý044ÀÀÀ€®.Ò‘€ó(S¦4n P®lYš4Ö3Q“B…,h×¶ :::˜››S«VMiÝ'Nž¢u«V”*Y&)S&½a¬É·oß=j$¥J–ÄÐЀ€sç)bYDÚ¦®.,X€ËW¯ª/ Ù¨{€öíÚb[§6ÆÆÆ|øÄÝ{÷6d0:::-Z”®.ø9+•wvr”Ív¶uÈ—//ïÞ§Œb>î{‚¶­=©Q½:ººº”-[mmílo÷œ3|§žÕ]š¬¶_Ý_©Ï’%Jpú´>ÂÀÀ€òÙŒ«)ÂÿŽ´Ù5Ïž?g÷Îíó>„S§ÏT)׳ 5kÛ±eë6–,\ 1öîÃGxõòÍ›5•ÒüýÏѯOo (€}z§ }÷þ=¯^½fø/ÃÈ•+æ´mÓZÊÿöígý3j$%K”@__ŸêÕ«IñK-ZB›Öž”(žù”𜠻í&åë¡z8‡bÅ‹qïþ}ο€B¡ ÊŒ,]º”t}¨X±ff¦+Í6ú‘ëÒhàê*]£êÖ¥RÅŠœ¿>ÊY™––¿Mš@Á‚)çJš¬Ú€™íWll,Mš¶ $4”[·ÐºUK•ó&»zö膎ŽFFFôîÙƒÓ~émušê.«k8Y´!îÞ½m:ܹs—Í›Aê(w£ÔP€ê燎¶6ËW®âõ›·,]¼PŠï|úÌú÷éMþÔçj ˜ÞaJj;­_ŸÞäË›CC:vh‡ßYÍû™¶²úq8qòýûõ%Ož<èéé1h@•uèëëÓ±C{víØÊ‹—/iÒ¬e†‘Ä7¹\΄I“éÙ£›tÎV®T‰úõذi -¡±{#,‹¤ÿŸ:í‡UåJRâ8™LªŸ4†F†Ä*uðgåàá#x¶j‘¡nÖoØ„¡¡!­Z¦tnÇÉd¾‡ 2<ô^Ó~…„„²tùJæÏ™­2CS]ÚC¥ÿG#CCär9ññ)~½ÿµípusçÕë׌5B*«ÎkëvjÛ9àÙ¦=¥J•¤MkOõ"‚ ‚ðÃrÜ-¬­­Ñp-×@AÍš™ÇÖû_•6õ*"âùò)=m1aaáœ;Ïq__)ÍÐÐèÏŸ111aã¦-\º|¹<‰Ä¤¤ wÍ ™§<ÑÕÕÍvÌ:---êÚÙqýú ÂÃ#¨ZÅ g'¦NŸItt4ܸ!ý0ŽŒŠ¢……ʲE--‰ŒÌ8Â'""‚ªUª¨¤*”¾lxDëÖmàÑ“'h¥Æ8³PZ7 ò^OW—ÄÔ†uxX¸ÊvW0::Z%-3æJÇŠÔu§/MÛ­< ÁÚÆ–oß¾ppßò¤Æa,S:=ÆbHh(¯^½ÆÑ%¥C !ᱦÏñºOÛÖ2J1Ó:¢›µLõ”˜„ƒC]é}¡Bé£Ûtuõ¤&ááT«š>‚#Mv·ûGΙìÔ³ò±K“Õö«û+õ9eòDöí?À¸ñÉ›7cF’FÆ‚ :jNKK‹Ñ#•nŒõéÕ϶í¤<€Í×˃‡òËp–.ZˆM-•umÛ¾“¶mZ«Ü`‹ŒŠ¢°Òw^‘"…Óó"£066&_Þ¼éù…Óó£££‘Ëå*•Rvóæ-î=xÀ”ßr~¸ ì¶›”¯‡êš7õ ¾|lÚâÅÜù Ø¿ŸJ}V|OœäÐá#ÄÆÆ¢H=öÉŠôQ?r]úÊu `nnF¨Ò geŋӸ¼¬Ú€™í—±±1Þ‡°û÷½x¶mO£† iß¾­JgaväM `nfFTTT¦ÇESÝeu Ϫ ñõëW©ã²H‘¼|ù’ŠÊãçwY¼ …BÁ‰“§°O ]ðìÙsž>}FõêÕÈ•+—”ñ‰ÂJÿwf¦¦RRÛM“~›Š®nJš\ž¬²¼²ì´•ÕCxxææfÒûüùó«|>À»wïÙwàçqkØ€éSÓx.ü]är9£ÇŽÇÔÔ”!ƒJé£ÇŽÇÜÜ¿“ljþü™©Óf0ù·©Ì›;RîµoßN*odd¤2z@'#ÿóibcc9sÖŸ£‡3†³Ù¾s~gϲyãz©ƒ8·±±ª#M||<ÅŠ¥Ö´_ÉÉÉŒ›8‰Q#†«üvÑ$í”ÅÇK׌“ÉÈ•+—ô=_­ZUn\»Ì—/1\ÿãºõèÍŽm[(W¶¬ÊºzõìNÏÝøɾ}èЩ+>Gfz¾ ‚ Bvüs-†lªY³&ÅŠ#84 ÃLâ8Ëâb)U²$5jÔPÏúŸW°`J—.Åñ'øehz¼Û̘››Q³fg† ¬žÅÆM›9ãïφµk(X°oÞ¾¥Y Õ;ÞZYÜ}W¦é&‚½½ÞG}xÿán  ¯¯OÚ6œõàÎÝ{Ì3 RG} ¢bÅ Ò²AÁÁÑðãÄÌÔTe„.©?ŒÓLœ<…Â… ±mË&ôõõÙ·ÿ ÇO¨Æ­ÌlD©© !¡é1ÍP•Y= ÇÔÄ$Ãv+¯ûÎMÕ©™i±–•·ÕÜÌŒ*V•Ù±-{a>²ªû4Êõkj–òCÈï¤o¦ÔN©‰‰IA•ˆi~d»³{ÎüÙzÎjûÕý•úÔÑÑ¡SÇtìПcÇé7`—/œSé á[‘Â…ÑÒÒ"*:Z-—˜˜ˆžžžÊ(;3SSÌLM)Y¢.\$àü•çPÎúà룦ÉÔÔ„OJQÊßQf¦¦ÄÅÅ!S©§æ(Ož“[·Hm'Õ°?r]úêË!¡¡Ô¨Q]%-Mf׻̎É÷ö˲HÆŒÁÐÁñ>êà!Ã(jiÉÊåK³<^ÊÂÃÃ¥iþ¡¡¡äÉ“'ÓŽPMÛ™Ù>ñ6„……9×Rca3šYsæ²s÷ïtéÔ‘B… Ñ©K7ìííTf˜š™²}ëºvëÉf¯­ôMM`bbBXX8Ê—‡Ô¸èÊö&&&Ì›3 ;[Õÿ#M²ÓVV?iŸŸ6ËJùóe²x†Exx8]:wäàþ=*£Ûÿ ß¾}cäè±,XiS&Kí¶˜˜üÎqùBººº˜š˜0nÌh<š·dö¬¼ÿð—¯^áÖÀUZW¹²eUFàGGG•­P¾'NR½zµ À7mN å·q½Êͪ2e˰wï~•²ÏŸ¿ aêöd¶_=æÖ­Û¼yó†YsRB~þü…³^qùÊUfÏLÈa®\¹(^¼/_¾’4<þB㌒¼yóàÖ°›½¶rëöΤޤ051¡w¯¬^»Ž‚(­ap† ‚ dWæ­­‘ŸßiŒôs!Ó0ÍI‹‘>~~~êYBª‘¿g‹×66nÞBxx82Y<ïÞex˜@ËÍÙ»ï÷îÝG¡P/=)9,<‚’%JP°` ÞÞªñDþüù‰ˆˆàÓ§Hé¡,uëÚóèñnܼ…«‹3.ÎNlݾƒÅ‹K ¨Öž­Ø²uQQQ$''³}ÇNrç6¦¦uÆ ¸â}Ô‡×oÞ P(8sÖŸgÏ_HùáaáXU®Œ¾¾>2Y<¾'Nª,ŸGÇú¼|ùR áðîÝ{Nœ<¥^ìOqskˆ÷Qé!zçÎ_PÙîìpuqáÕ«×>r”¤¤$är9OŸ>Ë0…/MVu¯I‰âÅ©beÅü…‹øúõ+ …‚ ààLc>ªsoä†Ïq_žïܽK||Ú¶iýw6Ëdñ 6SSSÆM||BëV)˜N³bÕjüαrÅ2ôôôˆ‹‹“FP»:;ñæí[Î;B¡àØq_ÂÂÂpr¬Ÿå~U®T‘sþ~:°OzU®T‘‘¿gܘÑ*ŸЪE 6mÞBLL Ÿ?ÆkÛvš5óàú7|÷¹\Ž\.çÌYž?AµÔÙw»vïaç®ßð;sVŠ džM›11)øÝ0C‚ ‚ð=š‡üË ¹yónnnŸJÀÐ@Ÿ’%Kâçç'¦ødÁÅÙ‰Õ+—±aÓ6mö"!!3SSÆŽEñâÅTÊÖµ·cüØÑü6m:ÁÁ10HyÒ}ÕªUèݳã'M¦yËÖäË—Ö­[‘75”ê\©îѼUk ²ààþ½˜™šR¸P! ¤©ŽŽõ™2m={t“–íݳ ñ ´ëØ™øø*UªÈÚÕ+5žn ðöí[úöÈ·o‰4pu¡e‹æRþ„ñc™5g.û$_Þ¼4iìŽïÉìuFš™š²lÉb.^”é3¨T±"MKq6ÿŠ®.¼yû–Þ}û£¥¥…³“¶uj«ËRÁ‚ذ~ -aμùèêêP®\9V,[’!–ß©û̬X¶„ù áÖØ¹<Ë"E˜òÛD•EeÆ­aBBC>r4XX˜³qÝŠ-šííÎî9óWêùgø^}úž8Űá#ÑÕÕ%¾|L›ò[–S¹Aøß4iÂ8,ZBó–­I’Ë©_ÏñãÆ@êƒÓ6nòâÉÓ§$$$`Y¤ýûö¦yÓ”R§‚8xˆukV*­5Å/C‡0{î|{4Gß@ŸÑ#Gpî|J _---/œÏ´é³ppt¡…=ºwãˆ÷Qiùùsg³hÉR:uéFllÅ‹cñÂùÙêÀÉi~¤Ý¤É³gÏ2ì¾}ûFžÜypr¬“c}úöéÅäߦqÄû(ÇÅZ©ÐÙÉ‘ /Ò´…'¦&&X[W§~=¥5ÿ}Fþ:œÅK–ñàá#LMM˜?w¶Ê”ÿ¿âG÷KKKK%ÄðaL›1 Åô™g?U®\‰Ê•+áîÑœ¸¸8ê×s`ÌèQêÅþ´¬ÚyóæaÄðaô0˜1£GR§¶ :::DEEqáâ%ìlm5>è |¹rŒ9‚QcÆqhÿ^†šò?Ø´9††ôéÕSå¹#i¡ºvïELL òç§OŸ^”/WŽØ¸X._¹B¿>½áÛÊi~–úдùóå£G÷®R'­¡¡öv¶ê‹ücÎøûKýÞ =”EÕªUسk«V.cÁ¢%¬Û°…BAÅ X¾t1r¹ï£>¬\±LimPÓºC¤Wß~|þüëÕ™9}šJM^½zÍûwïiàê"¥………I‘tvuS* ·o\ÃØØ˜U+–2kö\FOQË¢¬X¶}}}|Žûf¹_¦&&Jk]rç6Öøû«oŸ^„GDàîÑ…"÷FèÑ­+ïÞ½cÆÌÙÒL†Ò¥J1îl*W®ÀÓ§OQr3çÚµëÌž;Ÿ¯_cÐÓÓ£ZÕªl\¿6ÓÙŒ‚ ‚]ióÖ”ç¯i©½´•^:J/]  è§¾ nܺ{¥l™ìM¿¹uû6v¶uÐU‹¦ìÞ½{4k‘3ÖÇû°£!ä(K—­ 2*Йӧªgýe»t£kçN4Sê<þ»D} ‚ Âÿ÷Œüùó«ÿOÉâ©mW—³§OfÚi.‚ ÂÏw÷Þ=é¡Ä?ËרXþ¸q“šÖÙ{VÔËWo¨]«F-@$߀D I镬ôR¨½ÒHçÈÎʪW¯NÞ|) 7ÑÙ,üÛÎ;O:µ122âÕ«×xõaÌè‘êÅ~XħO|øð«Ê•ÑÕÕå¬Ïž=§¦xÜ’¨OAAøÿ«ZÕ*T«šò܈ÿª§OŸ¡o O‰âÅINNfͺu”(^\t6 ‚ ‚ðSäøgAÈIñfÒ”i$&&bllL»¶mðhÒX½ØKˆgÁ¢%¼yó¹< sæÏM‘ÂéO/þ;D} ‚ ‚“…†…±hÉRBCÃÐÒÒ¢B…ò,]²P½˜ ‚ Ÿ":œá¬X¶D=é§°´´d÷Žô6 ÿm¢>AAÈÉ”c ‚ ‚ üléPAAAAA„¿ GŒpÎîSp³[NAAAAAøç‰΂ ‚ ‚ ‚ ‚ ÂO!:œAAAAA„ŸBt8 ‚ ‚ ‚ ‚ ‚ ?EŽïp¾uë_>Góås4·nÝRÏAAAAArˆÛᇠM›5#!^FB¼ŒfÍšckk‹L&S/.üE*WåÕë×êÉ’ïåÿ[>~ ¡n='d²xœ\rùÊUõbB&|Oœ¤WŸþêÉ?Õ‡  ÊV¨Œ\.WÏÊ1:L‡N]Õ“%êÇIœg‚ äDcÇOdá¢%êÉÿˆó³ÿ ê×…ìRo·üSš·ô䯛ZWK–-W/"™6ck×mPOþ×(ëïµ)þ­ã›™ƒ‡Ó¹[«4oð IDATõäLåÔö¶ ‚ ÂÊ‘ÎqqqÔ¨aÍÇÐrç-€™EaÌ, cœ7?>†R½z âãsFC2'›5{.õœ\2m”çt'OæëׯêÉ*ÌÌL™ù¢žõÉd<}öœ…óçr÷Ö¬\¶”ù sïÞ}fχ‰‰ þgNáwÊ===.Vaq÷î=bcc©[מ‹—.±aãfvn÷â«—077c¤ߤ²Ç}OУW,‹Zª¬CÙ¡ÃGhèêBžqŒ7n°mÇN¢¢£©^­*gOŸàöëôêÑAC†i°ýù3½úöçÙóçèèè¨ä) N‡öm¹t>€}{vpï£>*åAA“Ì[›ÿ’[·nñáC†;›Óñ6ð-wïÞUÏRùž8IåJ•éÜ©¿ïݧ’Ç„‰“©mç@}gW¼¶mG__?ÛùêöîÛOÃFM¨\µ. ÝyÀ­Û·iÓ¾#5jÕ¡ž“ k×m@¡P@êÃQ£Ç2{Î<ìêcc[—ߦN#99¹\N×î= £m‡Ž8¹4$$$”±ã'²ÿÀAÆŒ›@Õµðö9¦qjå£GiÒ¬6uìéÜ­‡ÊÔĪ5jI£ Hydm“ò#föÜùø9ˬ9ópriÈÉS§!û1qò6mö¢Ž}=&NžBrr2‹/¥¾³+6uìq÷hƵë×¥ÏT¶oÿ6jBZuðhÖ’3gý¥¼¬ŽQšÌŽý;wiݶ=µjÛáѬe¦£”CI| ÂÉ¥!ûÂ¥¡;5kÛÒ³O?ÂÂÃÕàm` =ûôÃÁÑ…:öõ1jŒÊèŽÌ$&&2gÞìêS³¶-]»÷âÕ«ô:rriˆÏ±ã´jÝk[šµðäÖíÛRþ‡  º÷ìM{š4kÁqߨ9Ô—òÓÜ»ÿ€jÖ6Ò¹øŽ²*³ë÷=R™>ý°i³:º:LŸ9GjÖ¶eâä)Ò²Y…ÜHJJbîü…Ø9Ô§Ž}=&O™¦±A/‚ð£öïÇï»vPÓº†zgýhÒ¬5jÕ¡[^*!Ç,‹á—aC(Y¢†††4oæÁ‡AÒ÷ÚÇ!ô8˜ºõœ¨YÛ–.Ýzòæí[iy…BÁÚupnЈJUªãìê†ß™³R~VŸÆçØq3tæ43çÌ¥}»6Œüu8ÅŠÃÐЪUªPÅÊ R¯K7oݦS×îTªRCT® ÑŸ?óìÝuXkûÀñ/,ˆHƒvcw‚"ŠŠbç±»»»»ÝHÛ„ÝÇDZa1~° »Ãêñ¼Ç÷÷ÎÇk¯KfžÜ™¹ç™ç¹gðÐáÔ©çHõšuhÛ¡±±qã qÜ‚gëvÔ©çH]‡úlØ´YX®±ã'²~ã&úô@µµq¨ïÂ>QL—N&“!“ÉЖ¥…öé§W ‰SAÅ'ħ]KkÕÅͽg‚‚…qª)74Å9éÓËîZÝz¥‹‰‰eþÂE´ïØSSS´´´4Æâk°ŽŽûöÄɹ!5j×côØñB‹hñöÍjße_}ûöQcÆ ÓïЩ oÞ¼æ?vÜDöïG§˜:m›6ǽY ¦Í˜É”I±²²ÂëhZE¿ª””FŒð£HIIÉ1Þþ‘øâ{b+ñvË“™0i 5ëØãèÜ€­Û¶Ó¤™Ïž?'wîÜèééѪM;/]·Ôæ÷O344döÌé”·³C&“Q©REŠ.,ÄôŸ?¦TÉ’Èd2tuu)Q¼x¦–妵§'ÚÚÚøøúÓ¶mkŠ)‚®®.#† åLP0>~æ·gçv*U¨ 6 U‡¡M›ÖŒ9gôõõ±²´¤nÚ<þ€S§ƒ(Sº4 ¸ ¥¥E˘˜šzö\Žë•núÌÙ´lá™™™ÚpU¾þþ èß—¼y055¥oŸÞ9â@…òåéÒ¹FFi™Ü¹’””D|B‚h* ¯§GÓ&Y±lI¦%©©©|ùò…råÊ`jjJ¾|Ö™ÊI$‰D¢ÉoYáœV•—=-´¹zõªx°Diï¾´o׆¦îM¸výïÞEã–.[ÁÓçÏ9y<€SÇyñâIIIß=^UPp‹–,cႹܹy k×PÈÖ–˜˜Xz÷À]:sãê%öïÝÍž}ûؽg¯ð]?Š/ÆùÐ`ü}¼8}:ˆ“§N#“ÉØ¶e‡öï#$èùòY°hÉ2ªV©ÂÅs!¸7v¦¥êtPöîæòÅsÔ¬^!CG¨UÒfeÒ„q”+W–ÉÇtŠÆn¾k=Nž:Í‹—/ ôóaêä‰\½v _?ý|¸vå"ë×®¡lÙ´@MUèÙs,Z²ŒåËsëú&ŒÃð‘£yø(£ëmVÛˆl¶}\\½ûö§WÏ\¿z‰Ç2pðPbcãTæ®ÙÛðp®]»N€¯7Ά°n½æ<ŽææôëӛРSœ:Èí;wðËdùŠUܸy?ï£\»|‘š5ªÓ½Woµ›¨›·°~íjn\½D#׆L6S7tØÊ”)Ãå‹çØ»k;vjîŠX¡¼¹tu¹sç.(÷SéR¥8s&”­è¯]¿ƒC=P¶p«\©"çCƒ8èOpH¨ðÐ!;+W¯áÆÍ›ô'äÌ)ž¾ ¾~´kÓšªUª ££CÉ’%ÐÖÖæÔéÓ.TˆÍÑÖÖ¦`ôíÝ‹C‡Óž¼äÏŸíÛ!“ɰ¶¶¦zõjj­14©Vµ ;´#Ož<èêêŠGЩC{ŒŒŒ„`ùÙóçB«ƒõ=ë¡¥¥ÅŒiS077C__kkk>%pðð)R¸0ÆyóªMÀë¨7­<[ 7ðööÔwrä¨wF«˜ì¶QVÛþô™ Ú¤©{\6ÀÜÜŒs.ÓÍÎàý10ÐG__׆ ²Ü'yòä¡NíZÈd2òæ5¢j•*¼ ËÄë¨7û÷ÃÂÂmmm† Hròg.\¼$”éÚ¥3ÖÖÖhiiÑÔ½ OŸ=àÍ›7ÜðáC#“É011¡G÷?T¦žA[[›:ujsñRZëò“§N3h`®]¿\.çö;æÎMéR¥°²²¢…Gs,-,¨^­ªZk¿¬ñ:Jÿ¾}0Λ}:ulÏñ“'ÅÅ$‰ä§‰+BBC)Q¼˜p}²·¯GÕ*UÔʼzõšêµêR©j Þ¾ gÆ´´Ö©¹rå¢YSw ôÑÑÑ¡u+Oµó½Ÿݺu¥FêèëëS´HòçÏß9ïùóÒ®mŠκKøï =kÁ‚Ä£ÔtìО:µkahh˜)Cá"…¹uû6g‚‚IMM¥Bùòjã³S¼x1J”(@Ù²e°²²ä­JÕ.ÎBeTÝ:µ111æÕë´ÞL‡kÆ+Z”ñ‡]¹rg´rV%ŽsÒeu­&›õJLL¤kcÞED°Ï.Ú¶n•e<—^=»#“ÉÈ;7}zõäØñ¬¯»šö]vñÊ H}}}d2ŽŽ¼ KÛ'7nÜ¢NíÚ\¿~Ï–-@™ÂÀÐÐ4¤ûik³dÙrž=Áê•Ë…I9ÅÛ?_|Ol%Þþ èß###tuu¬Î*_lV±HVÛ$§õ²)X ãÆàçíEùéÝ·?}ú @¡Pd»½TE©,DDFFFYV„jZÎ¬Ö eë¯ß¾±gçvÜOŸ^½„qùòYóúõk&MÏ¡ÃGhÝ®UªTƵaZ·mµµ-[xß±´²äÌé¼y¦–Ë:§xûG⋟‰­²›¿\žL^}8x(E‹Á×û£GÈTQÿOúòå %o޼̛3KˆO8uú ÇFGGK &MŸ? …‚/_òøÉÜ\ Ó*U²$Ož¦¥ AÙ³!6..Û4é|ýü©R¥r¦Jàuë7àëëÇÎm[Ô*®K–*)¤&I÷×_…ÞY­×Ý{÷¹zõÓg΢v=j×sàö;L™6ƒq&©M/W®\.\Hm>ªóP•7¯n\)V¬(W¯]ÎÖ•«WÑ××~ÏeË–¡oŸ^ñ:*.*‘H$I&YG[ÿ¢àà` õõkèæ$OJÄÐ@ŸÍÝþþ×ùR²DIªT©L¾|Ö§µ§'{÷íÀ­QCÖoÜD||_¿~eÍÚujÓÈi¼*÷&ñöõãÁƒ‡¤¦¦F||.õˆÅÛ7íîÝ»vìÚ-t7ËI®\¹044äÁƒEwâ¬ìÞ½—˜˜X kþ\‹MAJ—NK›P¨-—®\eëñ[–ÍLM¹ÿà!([üÌz„‡¿^ÞgfjJ!áe6ªÚ¶n…¯_€³ùêµëœ=wæÍÄE5ÊjÛ7lЀ'Ožrè°ß¾}C¡Pððá#/túY‰‰‰$&&Rµj´´´{û–‹—2ºmf§m›Ölܼ…¸¸8RRRغm;yò ¹ï²S¨-¥K—bõš?Q(|úô‰Ê7rkR @~òçËÇŽ»i¤¼ñhàìÌ… ¹{ïõêÖ凵nÕ’e+V¦ìýáÃþzü”yóF/TÚL>CèÞzéòe¦L›þC¿m‰D"IçäèÀã'O8}&ˆÔÔT._¹Â¥Ëi×7”•~·ïÜ%!!ññìÙ»Ÿ?RJ™ó3:&†üù¬ÑÑÑ!&&6Óµ¾Q#W¶íØÁíÛwP(DDDòüEZzªœæ=mÊ$žþõ@øôêÙƒîtåÚåïKíôŸ6vô(6nÚº ‰ŠŠB.Oæå«W¼z•V±˜“‡þRs)\cc>}J q…ªÈ¨(òæ5ò°†„ž%ZT‘ÿO9}&ˆ{÷šÊ™ `îß@ggq±Ÿò½ëe``@çN ôó¡KçNðñßÚõùüù3 ¬ß¸‰Æ\ÅE~ZTdåíìÐÓÓC.OÆÏ?@çäèHè¹óDÇÄP¼x1vnßÊáûhÙƒþ}ûpäÐF®öðÞÔÔã¼yY¹b)®]/¼\1§xûG⋟‰­š¸5bÃÆÍ|úô …B‘é½{õÀß÷(íÛµý§PË“éÛ –––Lž8žääd’’’HNNÆÐÐ+KKa¿¤¦¦xŒbÅŠ"“É8tèÍšº«-s+Ï–:t„W¯^óíÛ7–¯\M½ºu07×üEÕÁÃGhÛº•Ú°¥ËWpòÔiÖ­]C®\¹HJJZP7tqæù‹œQž}|ýˆŒŒÄ¹¾S¶ëeW®,Î…àëí%|ìÊ•eìèQLš0^mþ­==Y¿a# |øðM[¶Ò¢EZj¸‹—.óòÕ+  …‚'OñèÑ_T®X€;w³]™{>;E &,,ŒÛÊ÷¡ÈårÎ éè$‰D"ÉŽæ¦ÿ2îܹ“S}^¾|Iòç´\Túú-Z„,»”ý¯Û»?í5tqjÝÊ“Ukþämx8£F gƬ9¸¸ºa` OßÞ½(Z¤ˆP6§ñªÜ¹ò."‚C†M¾|ÖlÛ¼[[[¶lÚÀÌÙs˜5{.FFFtêО6¢€-;cF`òÔé¤N™Æ¾=9EÚ2Ʀs×n¼‹ˆ T©’¬]³Jü§M™Ä¬ÙóðõõGß@Ï–-„VHýúöfü„Éñ:Ê”IháÑü‡×ãÇŒ3–˜˜XòR¦Li&Œ'.F•*•™>u2ÃGŽ"6&–üò³|ébŠkèú©IvÛ~ÛÖMÌ¿™³ç £#£téÒ¬]³*SN¹ŸejjÊÄñcéÕ§?ææfÈŸŸ6­²Þ&ªúôêI²<™–­Û’œü™råʲiúï:¦µ´´X½b9“¦L£v=G ÈOËj­VÄìíë±oÿœë;²ÒZß@ŸâfÅ„®ÔGZWÈÕ´ïØ…øøxÌLMéÛ·7¥K•"1)‘³çÎÑ¿oRRR¸té +¤ûo߆séÒRRR2ua•H$€;wï1nÂD‰£I3Ê–)ÃÒÅ ±²²bÕŠåÌ[°‘£ÇR«f ºýÑUøîû÷ïYº|%/_½BK J•*Åúµk„œ¦#‡cÊ´é¬Y»žÂ… Ñ¿_¡R wÏ(¾)>j ‘‘‘XYZ2fôHŠ-šã¼ÿÛ4pqfú5¬]¿‘uÊŠL+KK&NGáÂ…ÄÅ3yøð!}ûHKa–ÇçúNÂ5GWTS©tq®OpH®›biaAÕª•qrÌH‡õO;z .æö»XZZ°tñBµ.ÿÇ®—–––Úøœâ?;»rØÙ•ù¡‰‰‰89:hŒ³~֔ə>sûÀÄØ˜¦îMð H«Ư̈׈Ñ#‡Ó£g&ŒKíZ5‘ÉdÄÅÅJÝ:u2¥bKWºT)Æð£ð=z$Çxû{ã ~2¶9b˜rþ116¦gnB%­þ/y(ÿ³Nœ:Źói¨öí? ¯T©"‡ìcýº5Ì¿5kבššJÙ2eøsõJ ^G½Y·VýåŠÕ«UeèAtéÖ>R­jæÍ™­VF“§OŸñêå+\6†EFF /õ?Ž IDAT‘¬kŸvœ§»ç&†††¬ûsÓgÌbØÈQØÚزvÍ*ôôôðöõËv½,-ÔÓÄéèèbd”‡¼yÔ†£<·DEGãÜДîMšÐ³{7^½zÅÔi3„49Å‹céâ…ØÙ•å9+ÍsT•(QœÙ³f2nÂD>~HKâääÀØ1£ÄE%‰D"É$½ßšjÿ5-ÑG[å#Sùè¹]@OùÑ¿zýÖ…ÅÓ^|“ë7nP»VM E/qPuëÖ-5vàx ¿”FC"‘¨ ={Žé3gqæäqñ(‰D"‘H$’_îö»ìܵ›ûðõËWôõõ©T©"£Gÿ%³ÿ ry2«Tãlð™,+Í%‰D"‘üz—¯\¡VÍšâÁ˧ÄD®\½–éÅÞYyúì5ªU®ÈÏÀà+ðMå“¢òI}Ò ÿÿ-[8«ª\¹2yÓ^â"U6K$’K—/S¢x ,,Ìùðá7m¦n¯ŽD"‘H$’ÿ-•*V ÒÂùâÁÿU>|„ž¾E &%%…•«WS¤pa©²Y"‘H$É/ñÛW8K$‰ª7n1fÜâãБÉprrdìh©kŸD"‘H$É÷ŠˆŒdþÂEDDD¢¥¥EÙ²eX½j¹¸˜D"‘H$ÉO‘*œ%É•ú1p@?ñ`‰D"‘H$ÉwRÍ5.‘H$‰Dò«e¼BY"‘H$‰D"‘H$‰D"‘H$’¿á·háüùógñ ¾·œD"‘H$‰D"‘H$‰D"‘Hþó¤Î‰D"‘H$‰D"‘H$‰D"ù%¤ g‰D"‘H$‰D"‘H$‰D"‘üR…³D"‘H$‰D"‘H$‰D"‘H~‰ß"‡³ØìÙ³Õþ~£qøäÉ“Õþ–H$‰D"‘H$‰D"‘H$É¿ç·ká<{öl/YÊšµë„OªòŸê°%K—fª€–üïqusçâ¥ËLœ<••«×ˆ‹Hþry2ƒ† £v=G<[·þH_†ZuhШ1>¾~ :€·ááØU¬‚B¡`öÜùlظY4…_çWM_¼ÜšT¬Rç/^À/œïPÿƒŸÝF?û=‰äÁ£GQ»ž£xðÿ”cÇOзÿ ñàEDDRߏ}âýû÷´ißQm\jj*ë7l¢b•ê¼ W—.>>3cVÆC›ó.ðG^Ôªë@=‡úÌœ=‡¯_¿ª}/·ÑÑ1œ >;=;Å£ÿ#Ò—á\ÈN¤VÍštÿ£«¸ž-=hØÐE<ø—ù§§ŸM󎉡f{Ô†ÿŽõúo£'OñéÓ'µ2šˆ¿'‘ü› ­Û¶§uÛö°/_¾°aãfÜÜ›S¹ZM7mŽŸ€Ú÷öí?@“fÔ¨]Ž]þàÞýûjã³rïþ}ì*VÑøùò勸¸F÷< k·Ôµw½Y öí? .ò[¹wÿ>ƒ‡§®½UkÔ¦I3vìÜ%.&¨V­*½zvÎD|]·°0gü¸1è«•û;"#£2í§ôO3O† DÉ’%Å_Õèß>ÿ‰ÏÓß»­ù‡¶¯&r¹œ›6Ó¾cš·h…{³´íЉmÛwðíÛ7qqÉOxûö-={÷¥f{5nНŸ¿Úø×¯ß0hèpê9:SÏÑ™ÀcÇÕÆxx¶æÂ…‹ìع ç†nÔ®çÈà¡ÃùðáƒZÙ/_âÙº'OUžN5¾Ê)f¾pñ-Zµ¡Fíz´ïØE8÷¦¤¤°wß~Z´jCõZuièÖ„={÷©Ì%ÃÝ»÷¨X¥:ÇÄ£@y ˜2u:õêSÏÑ™EK–‘’’"ŒÏjÄ^½~ÍÈÑc©çèLÚõè7`‘je.\¼D‡N]„yEFF©—H$‰D“ß²ÂYò÷U¬PžÃ^GŃ9tø¥K•–ü&¶nÛÁ“'OŃռ~ý3S3òäÉÃÕkש^µª0îÃÇô0ˆ'OŸ"“ÉÔ¾§jÆ¬Ù˜ššª »zí=»ýAÈ™“õ:Äõ7ÙžÅÍöë7a”/_]]]ôôôÄ£ÿ#T—AKK kk+ªW¯&.€]¹r+ZT<ø—ù§§ŸMó=êíƒK}'ŒŒŒÔ†ÿ§=ñ‚›þýrªÛH¡P0wþB“ÄÅ2Ñ´m%’ËÖí;ÐÑÑU¦­­M’\Îâ…ó¹x.”qcF3iÊ4Âß½àLP0›·lcÍÊ\8LÓ&M0hÈw=p)ogÇ›×Ô>sgϤr¥JäÊ• --ñ·2¤¦¦ÒoÀ`š7kÆù³Á¬Z±Œå+WsíÚuqÑßÂõë7èÖ£7¥J•äÀ¾Ýœ bÑ‚yT«–q}³´° VÍâÁ™ˆ¯ë:::4vk¤Væï²¶¶öÓ¾Ý;É•+—ð··×!ê;9’7oÆuA[+ë[€ÿôùïýû÷,[¾’¯_¿j^\¿~]{öBË vçÎ]ªU­Š¿ïQΟÆÄÄ„i3f ッC˜>s6cFâüÙ`·aee©6 ‰D"‘H4É:Ú”üWkäêJ@à1µÀâù‹DFFQ©Rµ²·oß¡C§.Ôµw¢e«¶BŠ ”)+nܼÅ=zQ¹ZM"""‘Ë“™2möN.4tkÂŽ»hѪÐÍþÛ·o,Z² GçØ;¹0}æl’“5wmtusÇÛÇ—ÖmÛSÇÞ‘n={«uׯ^«®Úù{÷ïÿT7^MëËa#¨çPŸ³c×nµï¬[¿GçÔµwbÖœyL›1‹ýÒnܶnÛÁÀÁCÕÊcÇNœ¤™‡'ññ èëéÑÄ­‹ÎÏòf稷 ŸpvrR>|è`ê×wB__K jתɋ/ÕʬXµš£G½ñóÄÕͳçÎsÔÛ‡©Óg²uÛì\˜:=-P½yë:w¥V]\\ÝØ°q3©©© \Žñ&1söê9:ãPß…Ý{öá뀛{sjÕu`À ![êjZ†ýÑ«O?qQu>êíØq˜9{ŽÎ pqucý†MÂr‘;{N“f\¸x ÷f-poÖBãôÇO˜Ä‚…‹Ó~?õ™1k¶ÐêäÛ·oŒ›0 W7wê9:Óµ[„y«JJJJk½âè,üFU+ø5u‹öòòÆÓ³%(“[·íP_½V]=ú ”ß_·~#}ú¤žC}š·lEppˆP6§ù¿zýš>ýâÜÐ {'ÆŽŸÈׯ_yúôƒ† ãíÛp\ÝÜéòGøÁsƒªìŽE€í;v ÛsÊ´L™6CŸ¾ =zõ!::šŽ]ºâêæžm ñ¶=tøîÍZP¥z-ÜÜ›óêõkÞ†§­_ú漏½#}ú$:&í½YëÉ cÿþƒtéÒIm¸ŽŽÇ¦By; ôq®ïDCCÂߦ¯ÎѺ•'ÅŠEWW—.;R°`ABÏž¦q&(˜6í;RµFmì\XµæOaœL&Sûìܽ‡®*Ë ££Ãæ­Ûptn€£s–¯\-œçRSSIN–S­j´´´(^¼VV–$ÉåÂ÷'ó.¢u«– < (og‡]¹rE qÔÛG8·eu¬kº®‹SB„„ž¥}Ç.897¤~ƒFlÞºMX®‰“§²iËVJ]{'4jÌÁC‡…ñªÒ÷“–vZE¬ê¾C”‚ >!ž^}úQ7ýÜ*Œ_Ó4]ß]ÝÜñ¤]‡ÎÔ®çH«6í¹yë–0ìÖ+]ll‹—.£Ë=011AKKKãyZu[£üíZZZ4oÖSο€¡¡!Ó§NÆ®\9d2*”§p¡B™R•Íž;ŸæÍšfj¢Ê?0¾}z‘7¯&&&ôìÑooÈaÄš7kJçN016F__׆ Ôâÿ%ËW0kÆ4ªU­" ok‰D"‘H4ù¯®p^³vÐe°J…Ê îÚS^Gù–E€ÿ%–ØÙ•ãĩӰC‡½håÙ…"£»Õû÷ï0hÝþèÊ…s! 4kk+Ö¬]Ë«W¯ôó&Ðχ·áá<}úL(ÿçºõܼu _o/N àéÓgü¹v½0^ìà¡#lٴРӔ+[–£ÆdYYúwˆ×cøˆÑäË—ÐàÓlß²‰uë7röÜyPæ ܽw/[6nàlÈ*U¬Àá#^âIféâ¥Ë,^²Œ?W­à\h¥K—fô˜qìÙ“Öuî̩㜠9ÃÄñc133eܘQ”)Sš ãÆpòx\ªM³p¡BøùxáîÞ„‰ÆáçãE¡Â…رu3~>^äÍk„¾¾>­”Á°&oÞ„±výFæÎ™‰"%ëmœššÊ›·Ô‚ËtÆ Æ£y3<š7ãäñìëpúL/_½ÂÇë0Ç%66Žƒ†Ò¥SG.ž a׎mì?xP­[µ_@ µkÕâ|hÓ¦LfþÂE;~‚#÷qæä1bbc9 áæ:«eø^ÇŽS½Z5BƒN³qÝZvíÙñã' ‡}‡2?ä–­ÛX³z‡îW™j¿€@Š+JЩ=|€  NŸ årS÷&øz!4è–––¬ß°I< V®Zó/ð÷=J€¯7/_¾$))ëֹׯßà›BAÍÕÅ£²´s÷ÆŽɹР† ÈÈ1ã„’9ÍßÜÌŒÞ={pêx¾Þܹ{—cÇOP¢Dq&MOù9y<€];¶ÂOœøŽc1$ô,›¶leÃú?9DÚµðÒÊC&“±qýZöîÚÉÉãX[[‰‹iz–¥ËW2wÎL®^:Ïš•˱µ± üÝ;®_¿ÁÑà :•öJoÙÕ±.‘üˆ³ç2lè`Œò䤤¤°ÿÀ! r`g—VIªP¤ £«þnhK ^¿~À£¿3rôXºtêHhÐ)¼ÊtÝIwåêUÞ¿kð¸¸÷„¿ çô‰cìÛ³‹€Àc±§­­Íè‘#˜5gŸ½122BWW—ýú eQ¶†éÓ«'Æyób` O‡öm9y:£â[¬Cû¶+[ äÅ‹—¼|ùJ\ìoS]°°·Üº}›!ƒ"“ɰ±±¡‹3'•ô§NŸÁ£ysJ”(ŽL&ãy3 ʺ[›ØQoZx4§xñbhiiÑ­kîܽGTT¶…l¹}çÁ!¡¤¦¦R>›ÖšÜð€’%K’’BXØ[lm³U) ÆN˜È„qc°07V³~Ã& hÙ"ûpUZZZL™433Sôõõ9D![[š5uG[[›ùóÓ«Gw¼Ž¦µ¾°µµnÀ]œë#“ÉèÜ¡=†††R§V-^½z­2—_£­-îMP¼x1Zµl)ìûìöÊœy£G¤h‘"YæˆÌ—Ïš¶mZ#“ɰ²²¢Zµª<žÑzÅÑÁ}}}d2ööõS¶H;qê}{õÄÄØ===ô×Ü‚;Ýa¯£x¶ôø¡–' ¸P²D ´´´häÚR¥Jz¾cþyòä¡VÍÈd2òæ5¢r¥J¼É¢µ6?qnà;ŽÅÀcÇiÕ²%E‹À½IcŠϸ©üüiÓʓʕ*¡££C‰ÅÑÖθ|è×}ôõõiàâ,ìë¿{¬K$¾~þ¤(4kê.%ððlMÕµÙ²m;K-ÄÀÀ€ºuëàãëÇ»w|ùò_?.]¾"#†EOOܹs3jäpN>£ÖÊYÓ6ý•är9¹ÓÎeéô ËÓzGDDrñÒeV¯\Ή@lmm3v‚Pöø‰“Ø•+KÁ‚H’Ë…ý“Î ·‰Ù<ÄW•]|%Ž™“ärá<œN__¹¨‡‡B¡`¤ÉtïÖU8#""Y¶b æÎQ‹3ÄÒ{‡¨¹ P($'þîe»ví:ÇŽ3fôHP.Ïׯ_yó&Œ}{váuø ýõ˜u6Š¿*‘H$I&êM_þË Пɓ'ÿñ#÷nÜàèêµ¼ºy‹Õ;3òÈ! ÍÌÄ_ûŸÑ° ³çÎ',,Œ»÷îS¡|y¬¬Ô[!DDFòìÙs3Z-}þü…D•ÅEyü¢£cÔrw™˜˜¨ÝDFGÇ0iÊ4ttÒ†))BÎGMLLL„ÿ'O¢¢£5V¥¤dT–ÿ(ÕõH¯Îtut„VûÑ11¬[·û¢¼ÿðkkkµòébbbÉ_ ¿ð·¥…E–6‰‰‰œ:}¯Ì-ÂU©>p016Vû;¾|DEGÃwÌÿÎÝ{lݶˆˆR°°·t²Íx©™ØžøŽc1&&† åË«·´°PûûïŠŽŽ¡bõTDªT÷Ÿ®Ž_•¿ÙŸ=Ö%”98—¯\ÅÖMÙߨoÞ¸žÄÄDî޻Ϡ¡ÃX¶xÕ«W£ySw"Þ½£WŸ~$Éå¸5jˆ]¹räÏ—”¿k›ì+YQ¾HëÊÕkÌ3Km¸¾¾¾ÚùÃÊÊJH'“ÀÝ{2vô(¹6äîÝ{Œ=†9³ffÊÅûoKﲋ±è|¨J ©ú;Çz@à1Žx%11‘Te‹Ç”ÔŒx"Ÿr¥ÓÑÑý%×Eã¼ê×A++K"•±‘˜øúž.ŸÊµNGå:G6ëehhˆ·×!öìÝg›v4jØvíÚP°@οEUyUÞS`eiÉû÷ï³Ü.šöÝÏ^§?}ú$T\(Ÿ§OŸR¦t)Nž<…Œ× ÁtÙ³;û7Ûü?–+W.Ü›4æÈQonß¾CçNÅE°²´¤¼]9vnOëò®‰–¨ÒÑÜÜœ¨¨h¡F||‚ÚM†¹¹9óçΦv­´ 9‰ŒÌÈýöéÓ'>~ü(ÜÊd2RU*™UËþ(Õõ°°L«8;y,@ãKï¬,-‰ŒRŸWTTZ%€L¦)í‡j>X++KªVíÄAÕʤs°¯‡ƒ}=îÝ¿O¿ƒ)TÈ–š5jhl9‘nìè‘tëÚ…AC‡qhÿ^Ž?Áիט2y¢¸¨FÛ¶ïDOO'O””vctåÊ5ü}ÓZÂoÜ´™Óg‚زq}¶7Þšˆ_@TЦ`¦<ÔïÞ½S»©Ìn}ÿIâܽoÂÞ ©²Ûw鹜sªˆo U'O%¾|lß² ===<Œ` ¸¨ké­ÅÇšª€ÀcTªTQí&E[[[-uÊÇøøL9“ÅÇÔ›°0ª*»…f7ÿ/_¾Ð§ßÆ…gËhii1f\Fë"M»öGÏ |DZhan.<@J—ÞbQìgoææfYæÙ&‡ßCVǺD’“ËW®I“fê=Mì*Vá葃”,Q”X,-,(R¸0¡¡g ^ Ú§w/úôîÊ lׯM™3k:(6=}–‘++Ûw좙²BUUrr2>~†GEE {îܽ‹¾ž¾Ðƒ¥B…ò4kÚ¯£Þ¿]…³™™)ÅŠÅ?0¡ƒ‰G ıXVÇzvçÛ·ï0mÆ,vnÛB™2¥prVO»¡­ÌÉü«‰+—#"#©\Yýá^º¬®iYm“œÖ«`Œ5‚ÁûãíãË€AC°)XU+–e»½TEGG -x###122ÒX)NË™Õ:‘ÃuÚÚÚŠKÊ\ÊãÆŒföÜyìÚ³—Î;/>:vîJ:µiÞ¬)|G¼(“ÉèØ¡=Ú·Ã×ÏŸ>ýp>4ø§âsccFŽÆ ýY¸h cÆO`ÇVÍ/ï7MÁ$$$¨ÛááïÉdjñEVßÿUJ–(ÁÛðpäòd¡7Ùã'O…—è²µ%66V(ÿùóg´µµÑÕÕåå«W<}ö ×.jÓSmÿáÃâ޿϶x:MñÙÄÌÅKgÿþƒje?~BCåò|ùò…‘£ÇbffÆô©“…âÞý\¿~ƒ/^0{î<>~Œgæìgœ¿p‘9³2^r˜+W. ²åéÓgÂy÷ñã'B°œ–Aìâ¥ËL6ƒUË—Q®\YaxáB¶|þü™O‰‰ÂCª/_¿’K7ûƉD"‘ðÿ)¥F:]]þ˜7‡âåíˆ|ûö …BÁ£GeÛåÊ͵!›·lãÓ§O( 6mÞ¢6Þ³¥+W¯*ç>~üÈã'i9×49tø>|@¡P°|åj *DéRi•Ù¶¶6\¾z”­üü3Zþ… ¢¼ -æÓ§O¤¦¦ò6<\È/Ø  G½}xö,-8 áÕëŒ.¬¶¶¶ÃYÙ >»ù'%%‘˜˜HåÊ•ÐÒÒâmx8—TrVš˜˜Cllœ0ÿ=7ðÇ¢«kC¼}|…aÁ!¡BŽG±\¹rahhÈÇio¹·öΊ[#W|ýxøðQÚ¹âí[âã3¿ÌR,»c]"ÉI#׆ܿsSø¬Yµ‚2¥KqÿÎM¡2æü… ¼ÿž¤¤$®\½Êù … >Tº]?þ‚AC†Ó¼YS¡‹ygο@@à1’““ù¯ö’^”o|ýüé¢á5ÀŸk×ñõëWÞ½‹àБ£4jä ÊÞ,‘ܾ}”•ƒgÏžý¡kÖÒÈáÃØ²u;7o!::¹<™W¯_ ù®s’ݱžÝu=2* #£~üÈÖí;hÖ,-ýRvË€h¿‡0yê4–.YD‘"……uQ(ÓÀÅ™¹ó˜˜Htt4{öîõá¯;Þ$‰Dòÿ—æ¦ÿ²ä¤$Þ“Ñí^“ô^šÈtui6}:¾-x´l%=[jnn÷?À®\9ò峯ÁÁAcW|33S6¬ÿ“…‹—2wþttd”,Y’•Ë—fÊý•nèAÌ™·€ÆM=016¦Û]Ô‚ºô®a]þèABB¦&&ôêÕCh-Vßɉž½ûñ6<œ¢E‹°bù¡…ˤ ã˜7ÇÐÓ×£…Gs®(+ ÿ®•Ë—²`Ñb\»£P¤P°@¦N™HþüùpmØ€—/_Ò»ß>þL“ÆnÔP¶prtÀÅ¥>ºtÃÀÀ€Â… á®Ì³P·NmÆÍ”é3‡¾¾>Îõ¨P¡<ýõƒ† åË—/å1ÂÉÑA{÷êÁä)Ó9êíÃÄñc3åí|öâ%”©Fž<}JÚµÔÆgÇÜ\=½ŒAn’?'cffJTT”ðBœú.ién\½¤±xNŒŒŒX¿v sç/`Þü…Ѿm›ß¢Â¹zõj\»~ƒEK–¢P¤Ð¥SGšº7öݯ0aüXfÏÇÁÇ1Λ—&Ý8¦¹ÒyØÁÊc­9úôêÑ"… ‹‹ñìÙsÞ¼~Cgµá½zvg⤩´hՆܹ±·¯›)U››+‹—,åáÃGå5báü¹B‹ŸìæobbÂØÑ#é?pff¦ÈŸŸV-3RÔ”+[·FhÞ²ùóYsøàþ>79‹ \œyñò%={÷EKK‹úNNÙ¶ 1lÓgÎ&uÆ,vnßJ¡B¶â"™¸6l@Dd$ÃFŽ&&&kk+6®û3Ç^ÙëÉßõíÛ76nÚÊÃGøüù3  oïž4W¹nôî;€û`iiI‹æÍè×··0®R¥Š,Y´€u62eÚ ðlé¡–xϾýT©\)Ó˧*”·ÃÂÜ‚Òòá·òô¤¥GsPæ¥1m*S¦Ï **}}}Z4oF÷?ºŠ¦ò{p®ïÄšUËÙ°i ›6oåóçÏXZX0v̨ï:Gdw¬‹¯ëé/ãB™Ÿ9ôìYšzxbanN•*•~ø%¸?käða,Yºœ»÷îcaa΂ys²ínÿ#~t½´´´ÔÆ‹ÏÓbåÊ•¥\¹²¸¹7')) ûzŒ=J\ì§ewΛ׈Æзß@ÆŒIÍÕ‘Éd¼ÿžÐ³ç¨]«–Z‹œâÅ€Àã 6LŒ™>uŠÐZöGâs…BÁÒe+xöì9úúä³ÎÇ´É“@ÙBùÊ•k¤¤¤h¼[8sæ- ¡[´µe8:Ø3fÔq1=zD*iÙ>~äÂ…‹|U¾¼ýêõëØÚæ|üdeÞÜÙLž2:öN2xÐ!k×¶ ññ tíÞƒøøjÕ¬ÁÌéÓP(xûø²jårµiU­R™AûÓ£w>~Œ§JåJÌš‘ÖÛ#;šâ«œbfCCCV¯\Æì9ó=n<6mX¹|)zzzøúpáâ%ª¼»B…òìÛ½3Ó;Vd2òä1$oÞŒ2éz÷êAtL nîÍIMMÁ­Q#ºuíí2 Úo /!""’Ò¾›nýÚ5Ø×«ËôiSX°p±r>©´láA×.ÕÊJ$‰D¢Iz-¬jm¬–裭ò‘©|t€\€. §üè_½~ëB‰âß—×ëúÔ®UQð3{ölµ¿×¬]*™éÒó7gåxw>߸£7&µ¾¿bNòcäòdjÔ®ËéDzÌ—W7wfÍœþC]ìÿ-½úô£‘«+íÛµ’ü9êíÃá#^obÿ×Lœ<•üùóiLò;ËéXìй+]:uÌôÀF"‘H$’_áÎÝ{ìÙ»‡ñõËWôõõ©P¡<#† Q{7‰D"‘H$INnݾ-¼”øWù”˜È•«×¨Z%-]fNž>{Aj•«rà3ðø |Sù¤¨|REŸtÂÿËÎâŠä½Òž‹‡ç¤TSwÞ\½Ê§'¤ ç_èÿØ»ë°*²ÿãïË1)»;@$$ °kítíînw펵ÁAìÂv] •ƒPê÷0Ü;”U¿çåsŸG朙;s¦Îœ{Îgþúë>Ú¹µ)]ªIII¬^»–Ò¥J}ucsš/â'ß’8äÒ}çßíÛw˜>Sý…d-š7§w¯òÉjÂ#"xùò%&U«¢©©ÉI?îß Å¡ÎÎî={9pÐM>™qcG‹8Ë‚ B–jT¯FêêdAA„tßeƒó·¢_³щ $Ÿ;'OþÐP/]FHH( …cãJ,[ºHžMá‹T¯^ƒû÷Ê'‘Oqq,\¼”   “(\؈óæP¬hQyÖ :wê(Å AAAáÛø.CjÈ™ÔHé©v÷ÖuyR¶_½"´rer-ŠþýûòdAAAAA„ÿ„©ñR*„QBŠÐ0y’ ‚ ‚ ‚ ‚ ‚ð} ÎioÌÍÉ—æ“hkCRÄÆ¤ü_AAAAAø×hÈ'‚ ‚ ‚ ‚ ‚ Âß!œAAAAA„oB48 ‚ ‚ ‚ ‚ ‚ ßÄOÝàÈz`}êÿAAAAA„ÏOÙàƒm:¸ÚÛ#°¯WØØXyvá W­Îã'Oä“¿;-[;såÊUùäLy=F¯>ýå“ÿs9mƒ•çÎ_Oþ¡MŸ9›5k×Ë' ‚ üÏ»uûÎm;P«®)õÌqáâ%y–Í—~÷ØñY´x©|òM^GP½÷þW÷,ù:ý9Õ%~éÙ›]»÷ÂßøÞ%Ë–SÏ´!U«×ÂÿTæmˆ‡ÿ°_¿~C# +bcãäI_í ›;;w“O–¬Z½ב£àï¿Muä´‚ ‚ ÙùéœcbbhV­S®_çìÛ·¬Ö§##wíÍLLˆ‹ûþ+|ÿDËÖÎxö”O¦™S+Ž?!Ÿü¯8vü?~”Oþ1r„+ÆÆÆ¼}û–“~þò,’zõêÒ¿_ùäÿÜ×lÃÏ¢][gìä“Aþç-Z¼„5ªxùçNûS¯nî?x@‡N]1©Q+;º¹Ëgàè±ãT0®ŠïIµéAOŸ2Ìu$õ˜cR£v¦ Y}÷—zLõZu˜=gž<é»Ñ«O*WUû¬]¿!Û:¿uÏZ»~ƒ´UªÕÄ¡i ¶mß)¥g·Nÿ¦¯ùÞG³yË6¼<q÷ÖuÌ5dʤ hiiɳþkå˜CC&Oš€ŽNnyÒ¿*«ï½~ýÃ\GâдM[`çРב£¸wï/µ|ÿŸþ?÷GN^¾|I÷½¨Y§>Ö¶öò8,ÏÀÆM[¨`\•°ðpyM[´äìÙslÙº óÆ6Ô®gÆ€ACxûö­ZÞ'AA´hÙ†±ã'ªMOFÍ:õùðágΞ¥s·_R~ˆ3mÈÔé3¤TΞ;O3§VÔ¨]綸}çIIIìücÍœZQ½V]Û4aÇÎ?T¾%ÝÍ›·0®Z#^Þò$ÉÇ:|V6÷Ù!ÃØÚ;R·~zôêÓ  yž={žáú'¿^Ÿ=w—v¨gÚú Ìyó&D-]A2£)Ÿð£s²°`úÓ§ØÈ»äd’Ÿ>¥•¥%'®\‘' ßHbb"3gÏÅmÿ^òæÍ+Oþ×ÙÚXKÿ÷>vœ;wîÒÄ6³#Œ 124”OþÏ}Í6ü,ª™˜È' ‚ @hhݺvA©T¢T*!õ^;hÈ0œÛ´fÓ†µœðñeüÄÉÔªY“òåËIó~øðEK–R¡By•%›7!tîÚ®]:3kæt ( Ö`’&³ïþӦϤBù òÉß±cFѧWOéo  E–u„óžecmņukøôé—¯\¡ÿÀ!”/_ óFÿY½%§ï 8}†wïÞѪ¥ÏŸ?§Dñâ.\€\¹rÑÔÑA> üËå(§©©IófMå“ÿu™}ïÖí;ðö>Æøq£©]« …‚¤¤$Î?ëÈQL™<K µyþ?ü5†úõê²uóF<|D÷_zR±BLLªJyîÝû‹ÃGŽdúcÆ7‰ŽŽ¦Q£†œ9{–õ6±ëí”(^œ™³ç0aÒÖ®þ/ï£Ì_¸ˆ*UªÈ#qs?„­ ùòåãÒå«ôëÝ‹FòþÃzôêÃæ­ÛЯ/QQQ æÊ’E hbkƒÇaOúÌ)?øëþ-˜G•Ê•¹sç.]éIêÕ©Y³†ô]111Œ›8‰2eJ«­ƒª{Ýg¸ëHjÔ¨.Oâö;L›1‹í[7Sͤ*»÷ì¥k·œô9Fžª–ž6TÓóˆË–­ÀËû(V6vÌ[°HÊ“F>\0ðÚ5Úvè„IÚ˜5²Àûè1H]¦ç/Ú¸´§v=3œZ9xí¤öVX¼d–Ö¶Ô3mˆcs'.^Rrœ˜˜H­º¦Ü¸qSšfaeÃð¿J¯ß¸‰~ÁnûwiíÒŽºõàØÜ)ËcÇOdíºõôìÝ—Úõ̰shÆåËWX°h1 Ì-©gÖ(CÙìÛ;‡fÔªkJs§ÖøžôS[Þþ3nÕkÕÅÃóûºacçH=Ó†üÒ³7/ƒƒU–˜ÎÃóŽÍœ¨gÖ +¶lÛ©Ë]º|[¶mÇÊÆNúT0®ÊÙsç!µGK»ԭ߀æN­Õ†gµlA„MhXŽÍœ0mhÁ“  \GŽ¢jõZÒýîÆÍ›ÄÅ}bèàAäË—7wJ•*‰›û!µå,X´„¶ÎÎèÊ6mÙŠµ5Æ ¦`R£MNß pÒÏŸfN­¨U×”î=ze²Ìóˆñññ4l`&Oúîh(4¤Fu¥R‰B¡ÈPGP¥zÏzŒ¥µ-»vïź‰õÌ1zìxµ‘^ÙÝ»²¢­­¥…•yôø1Èê-/ƒƒ±²±“î¿uê›Ñ³O?Bäe¬Û°{Çæ˜5²À¡i NŸ9+¥É­ß¸‰Æ6M0mhÁ„ISÐÐHLȪ,üüOѶ}GöìÝGåÊÆx=ÆÌ9óxöü9V6v¬Xù;Ÿ<Á¸jÆF1þÅr<èæÎÄÉSÙ¸i ¦ -˜8y*/ƒƒ©`\•ÄÄDHýîu6ÒoÀ êÖo€¥µ-{öî“–‘U]73gΞ¥¹SkêÔ7ã—ž½‰ˆŒÒäß{íúu<<<Ù¹} ¡¡a´líBË6.4mÞí\Ú¬]ó;ÓfÌ’êäç/\T[öÆM[¤piÇÀ®Ý{±¶µ§FízŒŸ8I-NË6.Üûë¾´>þ§pnÛ†æidiÍú›¤4Õý‘ÏŸ?3wþB˜[R­f:têJRR’<ÛßöòåKîÞý“áC‡¢T*©RÙ'§¸òòÄÅÅ1jÌ8¦Lœé~Ùwà mÑÐÐà°§íÛ·¥l™2hii1Òu8~þ§ˆz÷]]]víØFÍê™§¸Ñ®][Fÿ:[[rçΑ¡!6àÉ“”ľ'ý©llŒ][ mZ·¢`¡‚œ>s]]]fÏœN5”J%5kÖ LéÒBNŸ9›6­[¡§§§6]•¶v.¦MLçNåIœ<é½]jÖ¨ŽR©¤[×.)R$Óó?<<£ÂFj×?ÕsÁâ%Ì›3KjlFÖ -‚ YùéœM²hÄTUýÓ'®ˆÎxyÅ´~}.ž;ÃÖMÙ¶c‡ÔÀºtÙ =y‚Ïqo|%((ˆ˜˜i^}}ôëËi_|åæ­[xyE©T²uóFìÝC€¿/EŠfå﫸vý:ÇzàçËÇXùÛ*iyªNõjÕ¸zé<ìØÆªµëÔÒ‡»Ž¤råÊ\ºp–Ý;·³}GæCÑZ:µ c‡ö´hÞŒ_&Œ#Ï¢&,<œ>ýÒ±};n^»Â¡ƒhÔ°”¾aÓfÖ­ùkW.â`oÇÔi3¸rõ*žG¼8zä0W/_`ÝšUzH(•J˜™J Ñ·ïÜ!oÞ¼œ;wž„„.\¸”¡7KvÛàã{’m›7xå"-Z0yêtµyUmÚ²)“'rõÒyll¬ù¥Wttt8wúöíf×îÝܼu€ÓgβhÉ2–/[ÌÀËL?†¿ŽV{XY´duj׿ÂÙš7uäÜù ,X¸˜ kWsåÒy*W®Œ«JczšøøxÆO˜ÄòeK¸zé<‡Ýb—IÏí^=~!Àß—_úöéE5˜™IßþéÓ»W.2rÄpNDDä/[áG`dhÈñ£G¸|á,eË”á·Ëøóö .ž;ÀãÇO¨RÙ…BÁþùÿ™_G¸ôô©´Œ«×¼vþýú˜¨ÞtåÊUŠ+JÇÎݰ²±£G¯>ÒPþœ¾ûõë7 >‚ýûqíÊEôë›!d×»÷ïY¼d3gL#ñ6D}¯^¿~Ãã'ñ9æÅIŸc¼|ù’…‹—d{ïÊÎçÏŸñó?ųçϲl´~õŠ«Wñöôàü™Ö®KR§vmöìÚÉ¥ógéÖµ ÓfÌR™;ïI6lÜ̆uk¸p6€f¦Ò½rÉÉÉøøž¤]ÇΜðñaá‚y¬Yõ•*V¤y³¦Lš0޲eËàï‹ëð¡òÙ³õ-ËÑÇ÷$AOŸrôÈa¦NÎ$ɮ۪ʕ-‹…y#ùdH½väέÂ¥X±¢--- ôéùKw)ýÅ‹Üýó#†§ôx(X° ½zþ¢¶Œ¿ëäI?Ê—+K‡öíÐÔÔ¤hÑ",XPJïÞ­+… F¡PТy3©·QáÂ…ùðñûºM™Ò¥)?¿Ê’SXZ˜K/[òñ=IÊ”-Ãå+WIHHàj` ––æòÙ²Ô¡][iýš9:òôÙ3y‰½]Ê—+‡R©¤©£=‰‰‰ è×¥RI™Ò¥©T±¢4¿û!\œÛHÃ*--,°¶j¬;¯nÚtîÔ¼yó¢¥¥…›û!œÛ´¦B…ò( z÷ìÁÍ[· Qñ¦T*)Y¢;ÿØÅ«W¯ÑÓÓ˶‚ÿøÉVü¶Š%‹ ©©ÉI?Š—(N‹æÍ u»ôõõ8{þüW/[áGK¾|ù`ɲåÌ5“|ùòIqIããã™2m:3§OËt¸yhh(çÎgåò%œòó¡MëVôé?ð‹^lpú4Ê—£u«–hhh`aaNÚê>óç/¤Cûv”)õðïÉo«VÓÀÜRúܽû§™I{Ø$5–bÞ¼yÕB¤hjj‘:1"""C<¸%Š–þ2–òåÕc†„„â{ÒÏ#é=ztttˆz÷N­L544Ø·wë×o¤MÛöÔ¯W—)“&R¤HÆrOHH`ô˜ñŒt&=ȼ áÑ£Çjúãâ>ññǯZ¶ ®P¡BÄÄÄ0sö:vhOÅŠ¸÷×_RCÇÚõ¨U³¦Ú0hUÉÉÉ 4PºF;·iÍ’eËyðàZ,ÑÌDDDR4µ‘,Mq•:ÃåËW¸~ó&3gLSËó=ëݳ]ºt’þ.T°`¦=³S 54 ©uªÈÈH²½weƪ±%Ö­áþƒ´ëÐ9ÇzŽj=IKS“øÔ‘S‰‰‰¬]·ÓgÎ’O|BB¦õC€°°0jÈ ¨Ö3T 2cãJü¾j5k×­§k—ÎØÛ5Q«'þߪK—.…¦fö:ªeGZ}(µü¾´®&5§)Z¤²X¯OŸ?¡­­M‰âÅyúìŸ?&$$„òþž>åct4%K–ÀËû(EduS#Cà /¼Ó××—þŸ+W.µzŸ¦¦& ñ)ÛpÄË›ý¦„*Q(ˆˆˆ$)9ëž´™ ˆ pa#ùäoFW7±1êazbcb(P  aááÌž7Ÿm›7¢T*3­ÿî?pÎÓÏg]]Ý ¾±1±R8¡ìDGGsü„Ǽ2¾}˶í;q‚Û¶H Äyuu¥Pibcc)U*½Dbb"®#Gahhˆë°”QIIIŒ;ŽqcFeyî})K ôëKŸ~P(ØXYQ«f ŠÉŽSRÜ02JÙ— dÒ„ñÔ¬S §OQhh ­­ÍÈÃQ*•ÐÒ¢k—NlÚ²•Q#GÈ%‚ j²¯…ý`êÖ­‹vÙ²ø¾}‹]êã ù*V¤¶¬'ÎϤDñâ<‘2*M||~$&&FjTVí%k oÀûˆ“†ÙEFªWºUe¶.YÑ×Óç…¬ÜT)²éiP¡By–.^HXx8ƒ‡gÍÚõ†‘–.] ¼#òm$uj×B7O† w%üYönÎj44¾üÁ.«ed¦D‰z@¿¢\¹”ÞêË322¤gîŒt®6=3 `ì˜Q¸ÊÜy 9z »wfŒµ¼ò÷Uèé¢k—ô‡;#CCjT¯Æž];Õò¦ùÒe ‚ üèÊ—+Ë…‹)Z¤(‹Îàö»TH6~ôèq<|Èþ¥y FSG~_¹œ’%KžþC"©uù¥™122$B6odd$ESïŽ?Á£G©R-}˜8À¡Ãž\½”yoÔÿš®®.†Ù7ìæäÍ›J—.À‹/É—/ššš9Þ»²b\©-Z0gÞÖ¬úMž,ɪ'䆛8îãÖÐ××ãIPM[ȳ`h`aT’¼Q3MÊh)š::pçî]¶nÛÁü…‹™4aövMäÙ¿Ú·*G Eæå¢J^ŸI“S]W•¡á——©õÍׯßP³f š5u¤cçn)R˜?vlgúŒYèêæaùÒ%hhh`` ÏÙ²##3†ùÒzÞõë7˜8y*{wí¤J•Ê44o,Ï–#=½B¼xñRzNøÖ*U¬ÈËà`µúþý)S¦4î‡>ÄÑÞNJ«T±"=’þ~ûö-‘‘_4Îóˆµk×ÊмvÝzNøø²cëfµ†ëŠ•*²k×µ¼÷ï?z©þü™a®#Ñ××göÌéÒù{ûÎ]®\¹Ê“'O˜>3%ôMTÔ;L{È™³çX0oŽÚ2sÒ»WOz§¾õÝû÷Ø6q A¡yT%''‘œœŒNnôõôøô飣¥Ñ›Ÿ>F;Wz§AAÈJÎ5±Ìá3g˜]¦ >™T¼Ž+Ì+S†ÃgRbþ¬Úµuaûöœ 8Mll,ááÌš3—R¥JªõZ ‘Â$< âÀA7é-âŽv¬Û°‘÷ï?Ϫ5k¥ù¢££‰ŽŽ¦NÚ( ^sáâE)=W®\èêêòçŸ)ÃQ“““iëÒ†e+VJ/’‹ŠŠâþƒô8liJ•*‰q¥Š,[ñ |øðAía¹T©’R¯šÄÄD>~üÈöY?x*T’ õðž:}ç/¤¯o[kž>{އç’’’ˆŠŠÊòÅwª^½z- UÔ+TˆR%J¨½àF•…y#ÖoØ„]“&hhhP¥Jeâããñò>š!~sšÌ¶áßÔ¾­ žG¼¥˜ÍW®ræì9Zµt’g•¸8·a÷ž}\¿~ƒäädâââ¸yó–<ñññ\»~ÄÄD´µµ166䬮_¿Á¾ý˜/«\Û5iÂÇ8pЄ„¹wï/bcc¿xÙ‚ ?ƒj&)ÃÅMMëÇÙ³ç8èæFëÔkµ÷ÝÿSúT31aÍªßø}år:vhDz+yþü‰‰‰lݾ]]]i¨}v¬[òàáCNúù“œœÌ¥Ë—¹xé²”>mÊ$µïîÓ»=éþÝ66+›¶láóçÏ|üø‘ÕkÖJuªìî]9ùu„+çÎ_È2žrvBBÃ([¦ úúz$''ãæ¦þBIUö¸òàñ“'$''sÂÇW-^nVª™˜°xá|ìÝ-õ’ü§þn9fU¿û;rªëªJ;||O’œœÌ£G3õœÆÑÁž?v§4H:÷ƒûX³ê7ªT6fïîlÞ¸ž*•Sr­­­xðà~~þ<{ö<Ûeç$$4”üùóI1†NŸ!LöãQVTË·y³¦lظ™ððˆ”ýZg¼xéS¦M'99™OŸ>1nÂ$nß¹©/¤–ÇŸÎJáÂ…1­_Oªï?xøÃ‡=iÓª%Ý»v!ÀßOw<=Üñp;ÀŽm›iÕ²%¸áÔ¢¹Zç68àÆ³gÏIHH`ùÊß1oÔP­'xVöt£}[µiK—¯ÀÇ÷$k׬"W®\ÄÄÄH=¨ílmx„_êõñ°çBBB°±¶"66ŽþchhÈä‰ã‰‹‹#&&†¸¸8LªVáüÙi»<=Ü1©Z…±£G1iÂxµïÿiÏ Á¯^1t˜+íÚµÅÈЀí;þ`Ûö”ç§“~þ=}JRRááLœ<Óúõ)V¬( ÄÞ® 3gÍ!::šÐÐPvìüG‡ôÆ|AAÈÊOÕÙÔaüÇþü“V––L}ü˜ê©= î*D¾ 8qöìõÞù‘ÙÚX3mêd–,[ÎÓ§OÑÖÎ…y#¶nÚ¨Ö ÆÔ´>W®2á"“èѽ›Ô¨8jäfÌšƒ­½#::¹éß·î¡P¡BL?–>ý¢¯¯G±¢Eiç¢^3j$“§N'yÊ4öìÚ™:\ìw:vîÆû÷ïÑ+TˆþýûfˆI¨P(X¹b“¦L£~s 6¢c‡öRã´B¡à÷Ë™4e ÌS¬XQÚ´n¥ÖkAU›Ö­ññ=‰YC œZ4gÚÔÉ\¼x™Õ3.R¤0kWÿÎÂÅK˜4y*ººy˜9}%Š—gUůcÆA^]]*W6fÂøqòlÚà¼gï>ÆMï%ckmÍž}û³|!|fLŸ*ÏòMÕ®]‹éS'3â×QD„GP´XQ–/]œm|> óFLš0Ž “§ü šØÚd–˜˜È¢ÅKyøð:yt(Z¤(³¦grýûê5ÄÄÄÒ®}úpÈ ãÇÒÔÑ­[62wþBfΞƒ¦¦cccÖ¬ú …BñEËAøY¬\¶”‰S¦Òм1F††Lž8“ªòl™rqnCTT=ûô%**ŠªUª²nõªLã=ËñÛŠåÌ[°_GÅÌ´>=TÞ·ð¿HKK‹ å+àдQïÞaiaÎÄñc!5¬UV÷.y¬W9ƒ”×Íš=/ϬŒ3Ó¯OoFc3' ,H»v.äÏŸOž RAƒ‚‚èÑ«Ÿ?Çco×ç6òlY20ÐÇÀ =¬ÃßõwËQ[[;ËúÝßñ%uÝ4… æ·Ë™¿pã&L¤š‰ ½zõÈ2øàAèÒ­ tëҙ… “ÀýûxDK§ô^èF††¬úm%ó,d┩T­R§Í S[æ—²µ±æT@öM[`h`@:µ°jœ¢$+IIIjå;fÔ(æ/XH3§VÄÅÅRÍÄ„Ýì 8ø/^&))‰¤¤$Ξ;/õì½ÿà¡¡_¾Þ‹Îgü„Iԩ߀¼yó2Âu˜T¯T=oÒF`êéé‘+—@.@ ÐNýä¾xã|…òéCï³xí ÌLÑ•½ÄA®‚qÊÃÓ£û™WܲrãÆ ®¤†Î¨wíÚOFãktsgÿƒ_<,ñ¿t5ðC‡»rñ\æ=ÓOŸ9Ëô™³ðó9.OAAøW½ ÆÚÖžûÞþfqŒÿý/•ã§OŸØ¾ã|OúEbb"E‹¡SÇ™¾PÕ¢ÅK‰|û–ysRÂ.‚ ‚ðc»tù2f¦¦òÉÿÈÇèh._¹šáÅÞYyô8ˆúukÕbOÀg HPù$©|’eŸ4ÒÿºΪjÕªE­´?¾°ÿ—dæú»wñÒ%*”¯€>QQQlظ‰F ʳ ‚ ‚ ÂwG[[›~}{Ó¯ooyR~~þ4h`FžÉ'eêKóIbcIÔÐ@¡¯WAAAAAø*?uçÄ·o ÕÔä­‘¡É©ÿT§-Yº4C´ªW×xzëÆÆ45•' ? {Çæ\¸x €‰“§²ò÷Uò,¿ 66Ž!Ã\i`Þç¶äÉߥÙsç³~Ã&y¦Û/½~õ “µILL”Íñýû‘×ýÿÃÚu=v<oÞ„`mkOlldq {yꉿ–ÖœðñU[– |y¦S×îòÉò8L3§VÔo`Ž­½#?~”g¾±cÇOÐàùäɯEÿ_Ú¶ïH`à5ø‚ú’êýò{ ZÖ9Ý÷þ«òAAÔ}w Î:yò §o˜íGGGW>›$áógŽLŸÎG %Æ#F€B!ÏòSë?p&5jsïÞ_ò$<{bR£6‹–,“' ß;wïrÿÁùä ì›ññãGÞ¾}K»ŽÕÒ’““Y·~#5j×#øÕ+µ´4ïß ‰CSfÌJÿÑæóçÏL™:sKkÌÛ°hÉ2’’’ÔæKãqø0aaáœ9u’=»vÈ“¿KÎmZagg+Ÿü͹òOú!´rnËùóä“úŒ7ÜÉ1œ””Äì¹ó˜9}*gü°±¶’/Bø—ý¨çÎ->>žYsæ1|è®\<‡‡ÛòæÍ ÀÇY°p1vŽÍ¨kÚP­ôîŸ2hÈ0LZÐÀ¼1ÃGüÊÛ·o¥ôk×oðK¯>Ô5mHc›&,X´D­‘/))‰?ví¡K{ê™5Ä´¡E–€?‚;wï2tøYXQ§~š9µbûŽòl’ºuëЧwOùä ä÷uùµè[ ŤFíL?N­œ6t+V”Ïš©ÿ¯ûeVNøøªýhò¥eÍ¿T¾™‰eÃÆMtìÜ–­]hîÔšöº°uÛväÙ…¿!88˜Þ}ûcÚЇ¦-ð<â%¥½yÂ0בØ;6Ç¡i FŽCDD¤ÚüÈê6ÛwìÄÆÎ‘æ:|QQQR¾;wïÒ¹kwÌYâÒ®#§ÏœUYJаðpLZðáÃÎ?Ï/½ú`ÖÈsKkfΞC||¼”÷ü…‹´viGýætìÜ;wïBêus÷ž½´viG=³FØ96c×î=Ò|×èÛ f,idiÍ€AC–ÒUåToÏj2óOËFA2ó]68ÿ ññì˜0‰ÇwîRØÂœŠÎmäYþ'Ô¨^ƒî‡ä“9pÐ ãJ•ä“…ïÄ–­Ûyøð‘|²šçÏ_ WH¼yóråj õêÔ‘Ò¢Þ½£ÿ !<|ô¥R©6Ÿª³fS¨P!µi«V¯åeð+ŽzyâuØÀÀ@vîÚ­–'Íó/©V­*ZZZhkkË“¿K&U«Rî_~è“  6lü~z…}©[·nMƒfò¤Ÿ†¦¦&MÓÃ+ÉáwïÞñþýjת‰††ZZZjó ÿ®õÜù¼ÿ¸¸86l@¾|ù µacÀ ¡¼ aÛæ^¾Àªß–KóEDDb×Ä/ÏC=âAll,ËVü&¥Ÿ>}†v.ÎøùcûÖÍœôóÇ]åG+ç ›;3§Oåò…sœ;íŸí}ç{x½úR©REöíùƒs§ýY´`uë¦ß_å 03­/Ÿœü¾.¿} … qëúUn]¿Êž?v+W.éo÷X[5&þ”c@C‘õ#ÀÿÇýRÕÛ·oY¶|%ñññ$&&2wþB¢£c¤ôÌÊZ‘Eg’£|åÂ#"èÖ£(¬_·O7¼x°nõ*^¿yCÿƒè_¾£ÇMÀĤ*ΰrÅ2æ/XÄŸÞ`Á¢ÅèééqÌÛ/ÏChii±tù µùUë6çΟgÓæ­lÙ´ž3§NbhhÀ”i3ˆ‹‹cÐa´iÝš g˜4aã'Lâöí;jË;äq[k+òåËÇ•«×èÝãü|8ä~€Àk×Ù–úÕ»wïñëh\‡ åò…³tëÚ™!C]ùôé±±±Üð¹³gréü–-^Ä’e+¤ïzõæ ݺtæÜiü|(Z´(S§ÏT[4ÙÕÛ³[¹oQ6‚ ‚™¬k›?˜wQQœ÷÷gb§®œ>|˜¼¥Kã²jÕÿ\ïæ4ööx=¦V±xDHH(5kVWË{óæ-:uéF# +Ú¸´—BT²"­—S­º¦¼yBllS¦ÍÀÂÊ;Çflß±“Ö.íx@BB‹–,£±M,¬l™>s6qq™m´wlŽÇaOÚ¶ïHC‹ÆôèÝWZ@=³Fj¿Èß¹{—楿¿TfÛÁ0ב˜[ZÓÄ¡)Ûwþ¡6ÏÚuhlÓ„FVÌš3i3f±w_ʃۖ­ÛcÇNøàÔÊ™÷ï?[[›fŽ,^8?ˇC‡ùðá#6Vê=8½Ž¥¿>äÏŸ‚ Ò»WO<<«åXñÛï:äÁ¯£Ø;6çÌÙsò8ÌÔé3Ù²u;V¶RåøútJíakïÈú ›HNN†Ôõ?a3gÏÁ¼± –Ö¶ü±kž^Þ86o‰Y#K ƇdkÂÞ±9žG¼hÛ¾#õÌñK¯>t§Nõî7oÝ&W®\tìÐ êÖ­ƒ‹K«ô¨pw÷À9µ#ÓˆáC±¶¶"wîÜÐÀÌ”  §øùP©bElm¬Q(´tjAÁB9{î<ºººLŸ:“ªUQ*•T¯^Ò¥JI÷Ö–-šcmm…¦¦&ZZZX[5β|³«·g·rߢlA!3?tƒóª5k¥!ƒÛÐÏõW¼>ä²NöD¾¥¾µm†¡…™}ªÖ­E×!=p;qˆø„ôáP?2CLLªrÂ÷¤4íÀAw\œÛ˜˜>ÜêíÛ· 2Œ¿tçüÙ† ŒëÈQDF¦«6c&C äÜi 6bÕš5<{öŒ£G<8zä0Á¯^ñèÑc)ÿêµë¸~ãžîøóæÑ£Ç¬^³NJ—ÛÀÍ×sÚÿ$U«Taä¨1Y6–þòí1r4EŠáô©“lÛ¼‘µë6pæì9HøÇîÝlÞ°ž3~Ô¬QƒnîòEféÂÅK,^²ŒÕ¿­àìiŒ=f»v¥ óó=Ι?&Ž‹ž^!ÆEåÊÆL7ŸãÞ8ØÛ©-³t©R9ìNóæÍ˜8aG»Sªt)¶oÙÄ‘Ãîäϟܹsã’M¯þ/^²fÝæÎ™IbRzÇÅÅñúõ*T(/M«T©"=ÎÐ8é:l(­Z:Ѫ¥>ǽ±´0ट?OŸ=ã°ûA&ŽKDD$ƒ† §[—Î\8ÀÎí[Ù»?{öî“–uÄû( ÌÌ8wÚŸiS&3á"Ž?Ûþ=øù#<"‚}Y<\ìÛ€-›6rÚß—„„:uéN§Ž¸xî4#]‡3}æì¿u,mÜ´…ýûqþlsfÍdÖœyÒPͬŽï Ê3iÂxŠ+ŠÏqovnß"_¬äk¶[SS“Í›áéáÆi_ Y·~£´¬ÄÄDþºÿ€Ãî9sê$¹råbͺõú0ŸÓ>ˆåø œÛ´‚Ž]€W¯_xC÷ãï{@ê™xí^ÞGñp;À¹3§ø}årŒ¥ys²tùJjתũ“'hê`ŸeYg&,<ב£п/çÏ0jä¼¼ÒƒUÉá¾½{±ê÷”žQ‡Ý²jez/Я9ÆrZ_ù9òöí[†¹ŽdÈà\8{šñãÆ°qsúq“ÝõùkÊzÁâ%4mêÀ™S~ø÷¦wêÐôì–Ÿ&»ësÉ%˜;{&þ¾¬]õ+VþÎë×o¤yåûS_O¾½{á{ÜoOnݾͱã'²äÇ÷8:سxé2ŒŒŒ8ì~ùsgóêÕkZ4oÆ¥KéÃÙù'×gÕíÒÓ+Ä”©ÓY´p>çÏœâà¾=Øf*»}7lįèësꤾǽ‰ˆˆÈÐË6³2ý–ž=¥x±bj¡QŒ+Uäþƒ‡ôëÛ› 7±{Ï^vïÙË/o å•×mž>}Jùrå¤ôB… ¡¯§ÇãGùüù3¹µÕC°-R”§ÏžI^#!1ÓúõÔò‘z}¼výuëÔ ((H­> `\©R¦!ó"#ßòìùsjÔPï ”˜˜Èƒ‡Y³v=..ëõ9ÕÛ¿fþiÙ‚ BV~èço)ðö5Æ-ŸHç)Ýx‘Raü‘)çÖ­psK «Ï//\œ[«5 úŸ  Xñb4kê@[ôô qîBz,×íÛafZ]]] G§¿¾äË—--- è/å%µ7L¿>½)??::¹éÔ±=>'Ó¾å:ulORULPÐSž>ýöÕíxù2˜7o2lÈ`”J%%J” ‰­ >© ô¾'ýhÕ²%*”G©TÒª¥¥K•’/2K‡<ÓºUKÊ—/‡B¡ G÷nܺ}‡ÐÐPJ–*ÉÍ[·8pšäädª™˜ÈgÏÖÝ?ÿ¤bÅ $%%ñòe0%K–gÉTbb"c'Ld¸1èë«¥¥õÔÉ^©Ì££Cbb"qq‡ßeF¡P0eÒôô ‘;wnüüý)U²$N-𣡡A±¢EéÓ«'î‡Ò{M—,YBz·µ±F©TÒµSGtuuÑÕÕ¥¡™Ïž=Wùu:´'þ|äÉ“+KK*W6¦Qê°r»&¶ÄÄÄ!Ÿ-GÖV¥Ê3S ÈÏó)ëñµÇwf¾v»;wn”J%æ¼ VÍÝ£{7´´´È•+ÖÖVÒùó%ûàø LªV‘z@fwì¦4 ::¹É;7Mlmxò$¥gŽ‘‘£?âvȃèèhJ—*Eüù¥ùrR§v-:´oKÞ¼yÑÒÒúª²>sæ,eË–¥YSG U«VÁ>“Ưõ5ÇXNë+?GüNS¾|9ìíRù*V¨ ]‹Éáúü5e]¦tiNœðáö»äΛJ©q\³[~šì®ÏåÊ•¥|ù”‡ÔÊ•144à•JÜxùþÌ›7/f¦õQ*•äÏŸZ5kòB¥× \Nåù³{þâ?Áuø0råÊEáÂF´kë"Ï–¥°°0.\¼D_ºq☳¦OcÖì¹ÒtRßëÐТ1vŽÍ¨]«;´W[Fš›·‹S‹ºì  §”(^ ¯Ã‡Ø¾u3gΞeמ½[ô¤Ÿ?cFýJ™Ò¥ÑÖÖ¦fÍzAÒâV/^Lž¤F^RõOîë9GÙÝþ‰&¶¶”-SóF¨R¹2§Ó{9«’_»ÒtéÜ ### MÔzàgµ]ÑÑÑ4kÑŠ7!!ìØº—6­ÿÖqѳGw”J%yòä¡wÏœðÉúÚÙ¾+R¤0íÛµE©TbddDݺu¤{ÙÜwoܸ…YêËȯ_¿A«–NÚË=Ož}†ç/^ð먱Ä'$KËÖ.ØØX1jdJ€¬¬^»“ªU±¶Ê’$­¢'½l*&6–\¹r}ñ‹wJ•*‰¦fú%%""2C™/^œðˆ”ð z…ÒÏ1 455ÑÓKŸ¦©¥™aˆ¤*}•¼¹råRû;í6>›ù³R¤ˆz/ááálݾƒC†±aíjµåì?pí;v²mó&é~œœÒ›.íÞ¥§WˆíÛqü„Ý»v!**ŠÄÄD©±ç{–ö>ƒðð ( O–ÈëBªþî}Èñ<Êî~ôOÈ 222$Då‡EUòkWš"*uJMMMµîYm—®®.îص{/Îí:à`gG‡íÔ ¿DþÔXåF††¼}û6ËrÉlßÉëÃZ*ëŸÝ}÷ãÇR©X±¢Ç¼ˆz÷ŽiÓg2yÊ4æÏ›™ÔmòäÉCLLz\p€Ø˜X (@X±t1ËVþÆÜù ¨R¹2--øô)¥ŽïI?»gq·}çøœ<ɦ 뤰dyuu‰z÷N-_\\œZ‘ÄÄDFC TËÛ«ç/ôìшÈHöí;@ÇÎÝð”݃þÈô—ìE®\¹hÞ¬)n‡<¸yó]»t–gÁÈÐj&UÙ±-ëáÿŠÔ T}}}BCä^ïßP{ÈÐ××gþÜÙ40Ké’“ôØd?~äÝ»wÒ R©$Y¥aJ5ï×RÝC”J%>Ǽ3}é‘¡!!¡êßšW©ÔȪ!$$ýAÍÈÈ:uº0lÈ`µ{ƣDZob+¥gwì¦ÅrN{¨ÊLùòåX0oá ñ+6nfÈà”Œ9ËòrÏ®¬¯_U®|÷Ï? 8­ÞX¢ú–õ¿ëköUvëK&çˆ>odåÖÛ’/¸>gUÖòcN©TÒ¹SG:uì€ç/ú Ĺӧr\>Ù\Ÿo޼Ŵ³Ø±u3•+§„ò°²QïQ®º??þL¿ƒ7fÎmZ£P(3n‚”žY1çTž?;CbbbRzú¥öTSNŸ“%Š«Ý·H E Úh¡££ƒŽŽE‹aèA8µr&::ZúqiÛölݾ“-7ðìÝuXYÀñ/%ºÈŠ„Ý±îÚJ§ ‚vwwwww‹±vv‹-v+6*%¨”äû0Þ;¤ÊîëîžÏ}ïœ3ÃÌÜ9çÌœ9ó›rå¾v0•(QœÂINN–ÊH\|¼´lmmmTUUy÷þzz?÷Í{]Ý‚”+WßC‡èÓ«§s‘‘‘$''øö­_°n]{öìÝG@@Ê ØéÓgxùêë#¬%K–äáÃGÒã…wîÜU:YswkÈÖm;¸uë6ÉÉÉÄÆÆJot~øè±ÔVºT)t  22 Ý‚¹ÿà!ÈFÀ¤ â¬=}@ÅŠäY2uô/ûöìd׎mìÚ±Æ^žÔst.f¹¹±jõ>þÌÇñY·WWùbrÌÖÚŠ°°0ö§þfïß±qó<¹Ë³þ£du|ëèèJX؇ ¿ïB•Ê•ÑÔÔ$&&–ƒ‡˳d*»ß`÷î½8×wRzD:«c7;ïÞ½—ÊIAJ•(!½Èé{ÊrVûZÎÊÒ‚'OŸrâä)’““ xÆ¡ÃGäÙþRß²¾ÖÖV<}ú”Ó§ÏðêÕk¥uΪ~Îj_Ëݸy“ØØXTTT¨R¹2‰‰‰ÄÅ}Érùi2«Ÿƒ‚ƒÑÖÎ/ň<çwžÐ,Â×DGGEÍš5PQQ!ðí[.)Ä8ͨì|ëþü·)Q¢8•*ýÆÒe+HLLäÝ»÷ìÞ»Wž-Sîî>r”³çü¤£ç/\Ä2õIžÓ§ÏðìùsbbbÆgízJ•*)u6/Z¼”õndŲÅ+V”èèh¢££INNN ¢*Åm~ûî[¶lÃÎÎR;²ÍÍL™3w>oß’@@À³oê0ÿ; è×—5>ëX¹z !!!ÄÄÄòòÕ«¿äð{Ûõo-G¹éô™³Ü»ŸäädNŸ9˃Ó½Lø{åt»òåËG³¦MØ»kÍ›¥<í'O´´´xð %ô‹b8E+V­áË—/|þü™Uk|”:TVí®•¥%~.F¹reY³j[6n ¡k:wìÀ–MÒ·w/©1»óÅ©ŸÅÇÇsóÖ-ÑÔÔä·ß~#**å¼rõ*ã'NÊt_**T¨ææ,Z¼”¸¸8bbbXº|Îõ2 }²qÓþܸR_r:|äh>}JÙÖiÓgröœŸlŽœ)T¨ÆFµX¶<¥þ{òô)¾¾qsm€––úúÒï’œœÌá#G)[¶ jjjžÛ4J 3øêÕkX¸x)f¦&èê¦ pI+›‘‘‘LŸ1‹„„)ôÙÎÝ{ð”».X´˜“§N³pÁ<444¤úÀÞÖ†ç/^púô’““9à{àà`l¬­ˆ‰‰¥gï¾èëë3lÈ bcc‰ŽŽ–Bd;~BŠÑÍŠU«ÑÓÓÍ0äOVçíY­²ßíGö ‚ d%ã¡ÿg±ÑÑ„óõ‘ÅðÊmêŒo<ކkÝ™se.Õ¡BÎF[üŒªT®L‘"…±²²Êp¤®nAV,_ÂŒYs˜2m:êêjT¬X‘󿤋ý•¦OïžLž:ú ÜÐ)P€¶mZ)Ô¥=ÖªM{>þLA:vl/ˆ–³µ±¡C§®¾}KÙ²e˜?o¶4Âeäð¡L6“ƒ£™Ww·†\Ií´úQ æÍaúÌY8Öw!11‰âÅŠ1fôŠ-‚£C]^¼xA§®Ýùòå Îõ¨ml$Íkcm…½½--Zµ%_¾|”.] …Ø«æf¦ 2ˆÑãÆóöí;òæÍ‹­ ÕªUåÑ£Gôì݇¸¸8´ókccm%vêØžQ£Ç±gï>F ‚kå߀çÏ©jäÉÓ§˜™š(¥gE>Ê,ß/ùˆý+PvêØžÐPœ\’œœ„S½z´mÝJižo¡­­Íò¥‹™2m:S§Í@[[›¦½ÿñÎYß•ÿø§zõhØÈ“¢E ³s{J<Ó1|Ø&M™Êö;)ðë¯8×wâàáœu:gõ$&&²wß~*¼ lŽÝìDDD0tÄHBCÃȯ¥E¥J¿1xÐ@øÎ²œÕ¾–+T¨sfÍdÖœ¹Œ3–ÊüA›6­xÚÑówø–õ%uë¼9³™9{cÆOàßÇŹ>!¡)í_VõsVûZîà¡#ôî;uuut `ܘÑÒh¬Ì–ŸVÿgV?ÛÚXsöÜ9¸y ¯§‡¡a é¢ÑÑÑaÈ tëÑ]Ý‚+ZÏF_CeTv¾uþÛ¨¨¨0{ætÆŸ„…µE ¦m›ÖìÙû5{VJ•*É‚y³™;!ƒ‡§h‘"L™4r©Â?~ò”)ÓfÌ/¿ä£V­Z,]¼R;÷Ó^>ÚÈS9®ó™SÇÑ×Ócù’ÅLš2 kÛºäû%Þžžx¤Æ0˜>u2³æÌ¥yËÖDEESªdIfÏœ.µ9?;[/œÇŠUkXµÚ‡/_¾` ¯ÏÁ)Uª¤<{:ßÒ®Ö”æûÖr”›ôëËì9ó¸s÷úúzLŸ:9ÃÇí¿Ç·n—ŠŠŠRzÿ¾½7aÉã'f8·rå?¨\ùœ\•¥E¦õß÷ȪÝýõWmú÷íM—®=~äÂ…‹Äǧ¼€ýª¿?%Kf_~23uÊ$F‹™¥ ZZZôêÙ]:Y´p3fÍaÙŠ•$''ó{¥JÌŸ;;Ós›Z†5éÙ£í;uæãÇOÖ¬ÁÄñã¤ô “¦pôØqòäɃµ•%K/DUU•€€g¼~õšºövRÞàà`é%’¶öŽÒt€ëW/¡¥¥Å¢s™4y*ƒ†£Dñ,˜7MMMöûäÂÅK®(MµjUÙ²q—.]fòÔéDF~FCCƒêÕª±rùÒ ŸÆÌê¼=«u@ö»}ï¾A„ì¤õ¤*ö¨ªÈ>ª 5…:Ð4S?y¯úß¼P¡|Îâzù_¿Ž©IÔe'?“&MRú¾xé2P¸˜O“ñ›3ãô§ ×?^g¿×^L‹ä¼Sï¿(&&–Ú¦æœ8z8ÓXq™qtraâ„qÿˆG¦;vîJ=GGš6ñ–' ‚ 䊹óð!<œ‰ãÇÊ“þvÿ¤úYáïtûÎ]6mÞƒ‡‰‹'oÞ¼T«V•þ}{+žAAÈÎÍ[·¤—ç–Ȩ(®\½F-CCyR†ž<§¶QM# øÄñ@‚Â'Iá“,û¤‘þÿSŽp–w$oÞ–rX>ý¯äZÕ…k·®r,è¨èp–yøðšy5)]ªIII,Y¶ŒÒ¥J}sgsšœ<â'‚ðotúôêÔ©Í/¿üB@À3öîÛÏàAäÙþoDý,‚^õjU©^My€Œ ‚ ‚ðÕOÙáü3¨Y¬&‰Ï8y^žôŸ̬9s FEE…J•~còl‚ B6víÙËÈ1ãˆGKK‹ÆÞ^¸8×—gAAA„ Ñᜉò¿–#±@"ÏTŸË“þócþ¨cG²qØÏbõÊåòI‚ ?dÁ¼9òI?Rý,‚ ‚ ‚ ü|Ç>U\׿ó·Ï ÕG¹!«2šÝoŸ™ìækèîÁÕ«×ä“…\ðàÁC Mä“…˜ìÊÐÕ›À@*TªLbb¢<é§acçÀå+Wä“Aö»|ø Íÿùógz÷íOM£:×1cò”i$%%Iéÿ&ÿ¶6ôæÍ[T«i$ŸÌÉS§±±ûkêáÛÅÄİlù <¼šàäìŠC=gÜ=½Y½Æ‡„„yö,}o=ellD—Îå“ oÞ¼¡uÛöÔ¨U[{GöìÝ@À³géêµ´üü¤~ƒ†øùÀgí:,¬í046¡k÷ž„‡‡Kùîܽ‹Wã¦Ô4ªƒ«›§ÏœUXJŠàjÔªÍçÏŸ9ççGóVm¤úq̸ñJüÎ_ÀÙÕê†Æxx5áÎÝ»$%%ñçÆM8»ºQ­¦ÖvuÙðçFi¾«W¯Ñ¶}ǔ嚘ӡSÞ¼y#¥ËEFFÒ«O¿ Ëõž½û°wt¨¶)mÛwäÙóçò,¼|ù*Ý~TlKHÝOï&×1£¶©ïß)¥ ‚ BFD‡³KgK^´ÆòH6IæEëX5øyGä¦9uú ]»÷¤¾S=Ž>Ä™“ÇèÚ¥S¦NcÕjyö¿Œºº:.Îõå“…lÈ÷ÛËW¯©^½*hjjÁ§OŸ1ªeˆªªªÔ)S£z5¶íØ©°¤Û¶ïà÷tªü[½zõŠÅ‹S¸paTTTÈ“'õêɳýmž=cÙrå­U«T¡|¹rJÓrCbb"&M!22Jžô]r{yÂ_÷Û<|„ã'NÊ'ÿy}”þ_eÔÞΖ_Õ–OV’Qyý»T«Z•G÷ï(}fL›B-CCòäÉ£”wì¸ T(_AiÚò¥‹•æ}xï6eJ—ÆÔ4eäqhhõ8vä 'Ž"&&†YsæIóOœ<•/qq=ìË–Mòç¦ÍlݶCá/dMEE>åç&ÚП'Ož²lÅJùäŸBHh(Mš·Öú¬âÈ¡?zˆ5+WðöÝ;ÚwìœãÔ?RO20À,µNøÙô8˜ªU«pýê%–.YĤÉS¹wï>å’¡yc IDATË•KW7Nš0c£ZäÏŸ_šÿæÍ[DEEannÆ9??V¬\ÍŸë}¸rÑB… >r4±±±têÒ /OO®_½ÄØÑ#8h·nÝVX›”›OövhkksùÊ5:whÏ¥óg9軫×üY³vôìÝ—ýûqëúUÚ¶iE—®=øòå 111<|ô˜™Ó§rÓÿ çÍeúÌÙÒßzûþ=m[·âÚå \ô;C±bÅ1jŒÒz¤yðð^M2l‹ïÜ½ËØñ™;{W.ÇÑ¡.-[µ%::Zž•аP~«XQiŽ>TJ?yò£ÆŒcø°¡\»r‘«—ÎS¸p!¥e‚ BFD‡s*^F¿$Ù8Yž$I6I& <€›7oÊ“~*Óg΢O¯ž´lÑ==]tuu©ïT‰ãÇ1oÁB¢££iäÙ˜›·(ÍçéÝ„uëÿ„Ô‘vN×1£M»¼ ”òÙØ9pÍÿ:Í[µáª5x÷î=C†`ûŽ :œj5Ø»ÿ@ºG_¾|Eë¶í1ªmŠ‹«;×oÜ–IêÉw·½0®c†•­=>ëÖ+¥+Z¾rŽN.˜˜[R¯~Ξó“ÒlìØÀ—Fž146ÁÕÍÿë×hÒ¬eºå6nÖ‚5>k•¦ÉÅÇÇ3eÚ L-¬¨UÛ„VmÚðõñý˜˜X†M3K¬íêâ³vήn™>âÎÏWwjÕ6¡M»„}“Ò÷Ûì¹óعs{÷ÀÆÎå+Wѱs7¸5¢K÷žÒ|ÎõësÀ÷ _¾|‘¦<{Æû÷AÖ¦ܸqOï&Òo¡øÈlF¿ovÛ—ÀÔé31µ°¢Ž™%£ÆŒ“ž¸wï>MšµÄÄÜ’:f– 4Dú[Šâââ¤}\µF-š4k)¦Û¶}õœ©iTWw¥N´!ÃF°|å*:wíŽQmS¬líÙ²u¤>*:aòT^¾z…ó,"àÙ3*U®&Íÿ&06í:`\Ç gW7|R õR­¦‘42…Ô“xÅGÅ3:ö_¼|I»Ž±°¶£Ž™%ý&>>ž'OžÒ¥[Þ¼ ÄÆÎA àžl¶wç®Ý 4„ÉS¦aja…±‰9£ÇŽK7ò011‘VmÚŒwÓfØØ9H#RÔÔÕ?q2ÖvÔªmˆQc¤ršÀÀÁC±±s ¶©ÍZ´âõë×Y.O‘ÿõëx5iF•ꆘ˜[rðÐa‚ƒƒéÑ«µj›`lbÎÐá#ùüù³4_vûYQtt4ÃGŒ¢¶©…TWdtÁññ#½úôÃÌÂã:f4nÖ‚°°”Qœ6vìÚ½‡†îÔªmB‹Öm•Êì·ÔI™Én]û¬ÊJfu^RR³fÏÅÊÖã:f8¹¸réòeöðeîÜùø<„ƒ4:3«mÊèXV$¯Îœ=98^GŒêÕ>Ô1³Lwᜓ2ª(«º&#wïÝÃÝÓ£Ú¦8¹¸*…ÐP|¬<£}ŸYyÍ®=ÈMjjjJŸµë7Юmk¥<ûøŸ®ÓHUUUiÞ3gÏ¡®¡Ž¥…9¶6Ö4iìM!tuu±·³ãåËWZc+—-áêå üþûïôí7@iY#G¡O¯ž\»|"E 0sö\jrÑï .õ”ò'''Ó»_*V¬À¥ çØ°Î‡#G)åéÕ»E‹åòE?6mXÇâ%ˤ ¹Z††lÙô'—/øÑªe ÆŽŸ¨”¾rõ–/]Äõ«—¨çèÀ˜±hѼ)Û·Áôúõkîܹ‹»››ÂÜéÍ›¿ë7np`ï®]¾HÚÆ´ëØIê蘿p!/^¼àÄÑCœ8z˜7ôìÑ ÿ+—:xûöeîd`ÿ~x4rÇ£‘;gN§kçN¬X¾€Ã¾ûY±t±”× U«Vá°Â~ݺm½½HLüz‘ÿáÃ:uéFÇíñ¿z‰þýúУW©Ž ~ßì¶oÁ¢Å\¿qƒ#‡|9sò8OžEsæÍÇßߟ۷âå"S§LDUU•³çü˜9{.óæÎâ¦ÿ†L¿ƒxðð‘4ï²å+éÙ½þW/1}êÆŽŸHhh.Îõ9|(eË–áÌ©ãôíÓKéoôéÛŸßÿËýØüçzÖoøúhcNÉ}}==ºvîÄÙSÇ9~ä·n߯÷à!*V¬ÀØÑ£(^¼gNgëæ”<Šr²½ûøR¾|9Ο=ï¾Ýœ8qŠcÇO(-GMMµkV°cëΜ:.•Õ«W¯Q³FuΟ=Å‘C¾œ>sVŠ®®®NC×9t€KçÏb``À’¥Ë³\^šÐP:vîFÓÆÞܺ~•=;w`nf @÷^}0Ð×ç¢ßYΞ:Nhh¨4ºè[Í™;Ÿ§ÏžqìÈAŽ9ÄóçÏ3µ°>õ&šßÙS\¹tž1£F §§+¥oݶƒ ë|¸|Á*•+Ó«O?©óý[ê¤Ì|˺fUV2«ó®^»Æþ¾:°kW.²|ébþøãº6 i“Æ4pqæÌ©ã :r°MòcY‘¼>²±¶ÊÑñzìø ž¿xÁ¡û3j„Ò2sRFeU×däØñ¬[³ ÿ«—hèÚ€QcÆÉ³@&û>³òš]{ðW¹tù2ááá8Õs”¦}üô‰Y³ç2aüX³éÌ]µÆ‡¶­•;«Ó¼ÄŽ]»¨ï”²ì7oRn2—-S†€€glܼ™%‹ðâù H Ц]ªV©ÂÕKçÙôçz6nÞ¢Ô®‡…} ðM çNŸdçö­ð=ÈŽï|ìÿïÓ6”,Ê#9lS2;GÉNfåý{}ë±¼ï€/æff\½tž‰ãÇ1iÊT|âÀÞ]œ?{ŠÐP6§Þð=uú ËW®ÂgÍJ®^:…¹Yºß_^7ääü$«}wÿþzôêÃÔi3hÖ´ »wnÃÞÞNJÿ–õϬ-L“˜˜Èƒ‡8컟+ýÈ“'‹–,…ÔsñN]ºÓ¦UK®_½ÄÖÍÙ´e 7màÑãÇ|úôçúNL›1“Â… sØw?³gN'0ð- ]pñböñ³3«§ÒR¯q®ù_ÇØ¨¤ý­ŠÊOœü^©}mÓ„…}àÅË—Ô¬©|S+11‘G³pÑ7Néä–+W¶¬tQ...޼yeÛT¬(/¶)ÍçÏ‘\¿~sKŒë˜Ñµ{O^½J¹¹D`à[^¿~MCw,mì;~¢Ò9AAÈŒèpþ—ùøé#º¿v¨¤QUUE__>àêÚ€{÷îK£5öí;@]{; ,È®Ý{ðhäN… åQQQ¡C»¶Üº}‡  ¯£›7kŠ™© ZZZÒ]n£Z†4oÖ„üùó§‹½ùúõ|„Ûwî’7o^*ýö›Ò¼iöí;@ŸÞ½(^¬šššR˜Ý{öâéшªUª`ei‰­µÒ “ºövÒɺ¹™)::xù꥔ž™×¯_sïþúõIA£££CûvmäÙ²%?öóçÏ™© jjjüú«6µ yE >E9ÙÞ¢E‹Ð¬iÔÔÔ(\¸0ÆÆF™ŽJËH¡B…pwk€¾>ÆFµ”.¬lm¬É›7/jjjX[[ñ:µó);'Nœ¤|¹²4i캺:E‹AGG‡ç/^pûö€¦¦&¿üò C‡ âè±ãJ£árêðÑ£tïÒÐÔÔ¤WÏò,’ÒeJsóÖ-Nž:Mrr2ÕªVUJoÙ¢:::hhh0 _ž={Îóç/¾¹NÊÌ·¬kVe%³:¯páÂ|ŽüÌö»ˆŠŠ¢LéÒøõWi>E9Ù&ù±œœ¯***Œ;==ÝtÀß*«º&#M¼½ÐÑÑÀÙɉ/3®²Ú÷rÙµ•ÕkÖÒªe ÔÔÔ¤iӦ͠IcoÊ”.­”WîÎÝ»á¿ÊÈȈ¼+óMÆ#ÏÒh>×ÄØ8ƒ Ï?‰"…SF~ÿ.6eRR?~B·`At  ®½{öí§wÏìÛ€‘#†”rÒµÿÀ×Q·ùòå#âãG §.¿B1GË—W¾P¯ÚÚhk]§¢E‹JÿOëÌ®çì"M‹‹ÇÊÊRúž&11‘eËWröœ ñÄ'$¤»,šºž¤ŽRI±¨©©‰§G#¶ïØIêÕØ·ï€4ò/+a>P´Hé»ŠŠ %Š',,%FppˆR<³‚ *u ( ¡x±bJÓŠ)ò]orõ7a¯_¿æö»T¯VMúÍÒ¼ âéÓ¥G|cc¿©ð÷å¿ovÛÂÐá#QWO™–˜˜$Å0n ›·leÀÀÁüú«6Ç Uz,/MhXX†1á¨^]ùñú%Š*}/¢ðÛ¨«käè…;Á!!hçϯtb` ¯”G.))}Øù±ëöV®ZÍ»wï@E…ׯßЪds¥<™ÉÉöÊS uõmoš¢E•÷—†º:I©#ø‚CBX¼x)wï߇ädÂ#"ÒíßÌ„„†¦[7RGðäÏŸ_)¶bÉ%HJJ"<z” ë|¤0ùµ´ˆø˜2(MLL ¥J•”¾'&&Ò·ÿ@ èÛ[ùÉžNÛÓ±C;BÃÂØ¼y+^M8rp†å<3V––tí܉޻¢¢¢‚ 5kT§˜ìúƒÔr_¨PÊù·ŽŽ#‡£F-cž¿xŠª*šššôï—r£º€†-[4cµÏZöï'_” ‚ (ɽ3ƒ8###Êj—%ür8É&wt¨\T¡¢nE åI? ---Ê”.ͱc'èÜ©ƒRšßù @²4ÔËÓƒ)S§ckcMtt4Ö©… Юmkú÷í£4¿"…Ø^iTUÓßõOc ¯ÏçÈÈ” ©wýßmP(¥æÌÉã™ÆbM³rÕjŽ;†Ïª•èééòìùsêÕo ”'£õKÓ¼Y¼7ÃÛÓƒÈÈHll¬åYÒ)Q¢8¯ß¼á?~—¦¾}KñâÅÐ××'((X÷éÓçL/ ô•F‹#Û?"Ož<¸6paûÎ]ܼy‹6­ÓÇò+d`@õjUÙ²)}8‡4òý—Ýöéëë3kÆ4)|‚"µÔØq-[4gÏÞ}´ëЉk—/¦ëøÐÕ-Èë×oÒ½œ©D‰éF°¾¥\¹¯£A²:ö²¢¯§Ï§ÏŸ‰‰‰•ÖçÃåßBMMMêŒxÿ>},=Å¿GÛö9|(Þ^ž¨¨¨ÐoÀ )=ƒÁ1Jr´½*™ߊ2‰ ¦šq‡'©q|‹-ʦ ëÐÔÔdó–mì÷õ…,–—FOWO)Æeš’%Šóùóg">~”: ߢ¦¦&]°çd?§I;ÓŽùñ(gcm…µwîÞ¥C§®”.] S“”Ñ^Š'22’ˆˆtuuÉ—/eT[N꤬|˺fVVÖ­_ŸeW¡ByæÌšAHh(=zõaé²ôíÓ+Ýï•“zö[ËRn¯9‘U]“Õ,ŽuE™íûŒùìÚƒ¿ÂŸu¸»5TêÀ=tä(OŸðGUåG±÷ìÛϵË_G„¾{÷žcÇOpüÈ!¥|¤ÞdÉ—/ÅŠ¥_ßÞԫ߀¨¨(ôõõQSScîÜùlݲîܽ'P-^¼8åÊ–Åwÿù"%±±±Je>888]‡ãÏ&'mhVç 9iSÈ U”]]˜YyOO}åÎnùͽo=–åuJVôõôÒë|øð54Ô ßs~¢¨fÍ̯9›   6lÜL·FxyxHûç[Ö?«¶0Mf7K”,Á¡ÃG”¦½}û–©ûµH‘Â\HM=rø0ÆM˜Èú?7Òºe Š+ŠWã¦XX˜KO$¨©©¦k7ß¡Ùf 2ˆ/_¾Ð·ÿ@ìÝ­tƒ5+ïßQºt)H}BQ[[[ùÆ@6é¹á·Šy¨T–=~B™2ÊOs,]±’íÚ(ýýç/^ðøÉœ¤i¿U¬È“§_CÁ…‡‡öá%K¦t[ZZ`ii!¥7kÑJ*ÿûøbhX3ÝÍúeËWpôØq6¬]£T7Wü­"›6)¿'çÑ£ÇR8¤¸¸8z÷ížž“&ŒSŠ—œFE%¥üvéÜ‘‹óúõÊ—O?Ø'+Ú·£Cûv~ɾn=饱YINN"99™|yó¡§«Ë—/_ˆŒŠ’ž¦ø‡fžŒÏ!AAQúî?ìœï9Êl(ƒÊåôgn*U(³± ç|¿-~çÿÃàAX°h1[¶nãã§OÄÄÄpòÔi† IÏÝ¥Q†V–DFE±xÉ2¹»I'Ξؼe7nÜ$99™ØØØ _4ò-J•*I¥ß*2á"ˆˆˆ^PHê¨êÕª1yê4"##INNæM` oß¾SZ@PpeË”AOO—äädvíÊü‚7#eË”á?þ`ÒÔi4jôu»³ÒØÛ‹•«×ðáÃ’’’ðY»Žüùµ¤xmÎNõX±r5‘‘‘©£Ÿ”ß¾~ÃFi{m¬­xüä ÇŽŸ 99™§Oð=˜¾#à{y{y°iÓž<ÃÎöëè³4uëòäÉSvìÜMBB‰‰‰/ÏFÌ¿@z¹dDD§ÄÙó¿~ØØXTTT¨Vµ*‰‰‰|ù’>>¤‹s}V®ZChhXÊ:¥Æ€mìåÉþ¥ïW¯ùsÎï}J¡9iòTNŸ9«ð—³÷áÃöìÝG[YççØÑ#yúè¾ô騡=íÚ´VêlX»~öv¶é:KNž”.] ---ÔÔÔpwkHñÅÑΟŸ€€gÌ™;ŸF©£ÍÍL‰‰aÙòÒ±ôêÕk?y¢ô7,\D||ê/–]šUyÌI›’¬ê¬Êû÷ÈîXþõë;±{Ï^i}Ož:aü]Eßs~’‘Â… 3h@?ŽòÅè;·%«¶0;ö¶6„……I/^}÷î=ëÿÜ(…\°±¶æ¬ßyBBC)_¾Öù°sÛ¹»Ñ­KgvíØÆÀþý¤ŽÈR¥JñàÁCéI¸[·n+…aɨž(\¸½½¨S»6ƒ† K×fgfµqqqDFF²dé2) Ivéïß1hÈ0é%w /‘Â+]¿qƒá#G§ë8ÏLáÂ…©SÛX*KŸ°k÷¥ÑËv¶688Øãݤ9<ã³n=® ë“Q=¥hÒ„q¼xñ’«VË“ÒÑÐРBù Ô«ßK{Š+ƈaCr”Å9??¢¢RnêÞ¾}‡§OS:ƃ‚‚¹xñRŽ;œfΘƃ‡©UÛ”ö»Ð¯oo¥.]¶‚ÍšIáIH½I³{Ï^¼½”÷ƒ±Q-úôîI«¶í046áåË—Lžøõ…“cÆMÀØÄœzήDEG³jÅ2TUUyú4€—/^âèðõeìAAA,Yºœ[·ï`niCuCcéóåË´´´X¶d!sç/ º¡Ë–¯déâ…hjjrôøqüÎ_`ËÖmJóµl“2ùÂ…‹¸yxQ­f-,mì¸{÷k׬Êô©¤¬4pk„±‰9mÚuÀÌÔ”!ƒ¾¾^±zÿþ=:u¥F-cê7hHžj u  h¦~ò^õ¿y¡Bù¯ÒfÅÿúuLMê %{‰ƒ\…J•xú(¥ãâïpóæM w¦„θîyý§£!|»mÛw°}ç.¶oÙ$OÊ11±T74âÜé“éâøýü›·ïì9?ÆM˜ÈÉcÊà ÿ>6vL2)ÇáA¾•hS¾òjÒŒ6­Z¦‹·û_uëö6ü¹‘{÷ïOÞ¼y©Q£:ƒô£`Á‚òì¹7ØÚ;òèþ o¶d—.‚ Â÷¹|å &uêÈ'ÿȨ(®\½F­öe> xNm£šF@ ðˆâ…O’Â'YöI#ý?wný‹Ô¬Y3e‚èlþ—  aɲŒ®ü¶öñàÁC4ójR¦ti’’’X°heJ—þ×tÆþ›·ïÒåËT(_}}="""X¹j5æffòl¿TN1AÈ Ñ¦¤ åõë×T«ZuuuŽ?Áƒ1ÎäeœÿE5ªW£†Â‹@AAþMD‡³ðŸÒ¼ek>zL‡öm•ûQ˜6c&ïß¡¢¢Âü΢…óäÙþ±þÍÛwýúM)ƪºš66Ö 4PžMA²%Ú”_bc™:}&$&&Q¤HaæÌšAñbÅäYAA„!R# *×SvKr-1NAAAA„Üóo ©!^(‚ ‚ ‚ ‚ ‚ 䊟"¤Æ—/_ä“2”Ó|¹íÿõwAAAAAþIÄgAAAAA!WˆgAAAAA!WˆgAAAAA!Wü1œå&Mš¤ô=<,4Ãé£FRú.‚ ‚ ‚ ‚ ‚ üÿüt#œ'MšÄ¬ÙsX¼t™ôINý§8möœ9é: …ÿG'.^º ÀˆQcX°h±<‹ðˆ‰‰¥gリZXãáÕDžüSš4e+V®`ÏÞ}´jÓ€À·o©RÝÄÄDÙ?¿¿sÝß¿ÂÖÞ‘˜˜XyR®P,¿‡¥K·žRÚ?ñxáßM^OåÔ_]—fÆ«qSüý¯CΗÛËŸâ¾Î®Ýûí_AAAÙO×á ï—_ÐÕ3Èò“/Ÿ–|6!U—n=©RÝʓػo?Uª2sö\y’ð¸{ï?–ONÇÁÉ™ÈÈHÂÃÃñnÚ\)-99™å+VQÝИÀ·o¥é 9K{Ì,­ñnÚ\꬧߀A˜ZXSÏÙ•Uk|HJJ’ÒíÝ·PÎ>Á–MäÉ?%Fn88ØË'çº]{öÊ'ý#¸yxqáÂEùd‰¾¾Æ&_¾¼ò¤\gdT‹ŽÚIßÿ‰Ç› ä–ó.Ц}GLÌ­0ªc†ÿõø¬]O•ê†é>Í[µ‘æÝ²uήnÔ6µ y«6ܽwOJKHH`Þ‚E8:¹`neK^}xûî”~øÈQš4k‰¡± Övu™5g.ÉÉÉRzRR7m¡‘gcŒM̨cf™i'à?ÁÝ{÷èÕ§æ–6Ôªmг«ë7ü)Ï&‘×S™‘·ëE]œî8Hû¸ºyлWO*V¬(Ÿ5CW{™™£ÇŽ)}Ï龿/Ú¿‰‰‰aåªÕ4mÞŠ†îž¸¸ºÓ¸Y Ö®[OBB‚<»ðéЩ uÌ,©W¿ûøJiïßÑ»o\¨W¿ý&,ìƒÒüÈÎmÖoø;'L-¬éÕ§R¾»÷îѼekLÌ­ðônÊÙs~ KIJ3K>þ¬T/[XÙ2aÒdâã㥼.^ÂÝÓ›Ú¦4mÞJª{“’’ؼe+îžÞ›˜ãàä̦Í[¤ùüý¯Ó©K7LÌ­0·²¥k÷žJéŠâââ=fV¶XXÛ1sö\¥óöÌÖ!#™í›­Ûv¤«SªT7Lwí!‚ ù);œ…W½ZUvîÞ#ŸÌŽ»¨ôÛoòÉÂOÂgízž«Wpîô ô=v<±±±tïÙ›Fîî\ô;ÃÈáC6|$wîÜUZÞž½û°·µA[[›«×®Ó¡mΜ<ÆžÝ;ð¿~ƒu©7¨>~üH¿ƒèÛ»W.úѪeszöêË—/_ˆ‰‰áÑã'L™4ËÎ1wÖLfÏ/ý­·ïßÓªEsΟ=Å™“Ç(Z´(cÆMPZ4‹—,ãMà[ùîÇwßnüýýùsÓfÈfä²Ú7M{¥kg\¸`cm%_Œ ‚ ¤“ùÙ¦ðVÏÑ‘ƒ‡+X<{þœ  `jÔ¨¦”÷Ö­Û4kÑ sKy6VõêèäÂõ7iÓ¾#5êðþ}11±Œ;K{œœY¿áOÜ=½yöü9¤Žšš9{.Övu±´±gÜ„IR§¦œ£“ {÷íÇ«qSÌ,­iÛ¡“´cs¥;òwïÝÃÔÂZúžSmGhX½ûöÇÂÊ–ºõê³þÏJó,[¾k»º˜[Ú0qòTÆŽŸÈÖm)n>k×Ó£W¥ü=zõQZÆ®={qriˆ…•-;w•FG|üHÿƒ±±sÀÂÊ–­ÛòáC8ÓgÎæÄÉSL>G'Ž;®°txùê®n´i×7oÞàêæÁ¸ñ9|ô®n|úô™¼šš8;ÕcÖŒié.vªV©BófMÑÖN¹àt¨kOtt4Ÿ##IHHàìÙsôìÞMMMŠ-Bß>½Ø»o¿Ò2æ/\Äž={9à{G'ÎùgÏÞ}Œ7Ÿµë±´±—NŽoܼI³Ô#öŽN¬X¹Z!·gï>† É„I“±°¶ÃÊÖž›¶°ß÷ N. 11·¢{ÏÞ|þüY¶)\ØÀ¯ÆM161§MûŽ<~ò„>ý`jaMÝzõñUèÉîâ4#FaÕzôꃹ¥ uëÕgûŽRzfÇ÷Ó§ôìÝ—ÀÀ·8:¹H!;ä¾u»:|$ŽN.XXÛѺm{Þ¼y#-OMM]»÷àìꆉ¹:u!$$DJÏê7H³c×n<ÜÝQUUåþý´lÝ+[{,mì6|$dðó÷ìÿeËWÒ¹[,¬liØÈ“Ó§ÏHéŠCžÈ·å+Wcic¯4‚ìÂ…‹˜[Ù*.J3bÔV®ZMç®Ý1µ°ÆÅÕk×ü™=w^Jù¶²Uzâ#³ß—Ô}àìêÆ…‹—pquÇÅÕ]šÞ±sW,¬lq÷ôæÐá#XÛÕ•–™U»ß÷ Ý=1·²ÅÞÑ)]=$ü·-X´˜aCáâ\MMMTTT¤NÝ´ÿ§}>~üÄ‘£ÇiÞ4%ìÌÉS§ðòô \¹²hhhЪesŠ/.Ü‹ŒŠ¢\¹²,XuuuêÔ6&66FúÛ­[¶ÀÊÒmmmÊ—/GÍÕyõêlܼ™… æR½z5TUUÑÐÐæåìuXUÉûÀ?— "‚ ˆÝba‹bc` ®ÝÝ]«k×êºkww¢b‹½v·bbP‚\ê2¿?€Ã½. ë~îîù<ÏÙ3gÎÔ;ç=ï¼lÛ¾ƒfž­¨áT·z Xµf­VüĬ¹óhÕ²ƒÀÎÎSSSÊ–)C™Ò¥AÏBsžú¹®;—ž=wž¶í;âìêŽKÝú¬Y·^*WFòH“ä~ 0HTÄjö t\|ŽøL^}¨™<Ÿ='ÅiÊK}ò½^ƒÆö9‚W»T¯U‡–­Ûrëöm)ôž+™OÌ_°Ž»aii‰B¡ [^Ѿc'ê5hL@@ V]“¤TÞµ{¯$ÇŽŸ(}HÑ­_}m7vÜæÌ/É_¦M—¬C3’»ã'üLïž=hÛ¦ ӦϤ™g+Z´lô37f4666xL´ÆÍh½¨Oæ’ìHë¹2+O2j»   † A §:Ô¬í„I“µÖbiÝû{óîÝ;=zLÿ¾}Q*•”,QœFâ}ð111+Z¥R‰‘‘… JeY®¹¶9tø­ZyR°@ŒŒŒyŒógO3~ìh¬¬r0fÔJ–,Á¸1£8q̇úõܵò,`oÏ!ï}4n܈ñãÆpÈ{öìÙ¸n ‡¼÷‘=»9&&&´LZ §G@@ 3fÍÁ©VMlræ$..ž„„ŒMR¶ æÍ›‡7oߦRN4fM=hÖÔƒÇ|¨íT €S§}yõú5Þûö0~ìhBB>ÑoÀ`:þÔž?/œeóÆõìØµ‹í;vJyò9BõjÕ¸xΗɓ&2{î<Ž;ÎÞ]Û9}â(Á!!ìÔór °s×nÖ­YÍ9ß“ÄÇÇÓî§N´këÅå‹ç6d0S¦Nÿ¦¾´zÍ:úöîÅ¥ g™1m*ÓfÌ’¶jêëßE‹a¸±äË——Ç|ؼqn¶_ó܆††4i܈ƒörÎ÷$666¬X¹ZÊK­VóøÉS¼÷íáü™SdÉ’…e+VBÒË|Fm R©8vüž-š0gþ¯4lXŸógNsò˜ÝÓÙÆüµõ¿iËVFÎ…s¾ ÐŸá£ÆhmáO ÝþÖ»gwÌͳqÚ÷Œ”ÆûÐašz4N¥ðJfýÆÍŒ;š‹ç|qv®CÞ}111Á÷äq¶mÙÈŽ;¹›d]¤¯}“ùø1€µëÖ³dñ"öìÚÀˆ‘£)Q¢çΜbãº5lIãd0ÇÆÅÅ1éç)Ì›;›KçϰgçvÜ\œ¥keþÛ|ùò…ÇŸ¥Â³•õy0vüDBCSä³&Û¶ïÀʹrå@­NÀÐHûlh›œ9yóæ-­[zâïÿŽ»öpãÆMÖ®ÛÀˆáCµÒ's÷î=®]¿«sbÿ¼}ç. `×î½4òh†G3O–,]®5Þ‹)Ìo æóç…s¬Z¾Œ5k×§²üøô)”GÓ¢Yâ¨Ý5„&ß*×òÛÙ1súTÎúždù’?Xôûb>|ø(ŧ'þ GŽcâ„q\:†±£G2bÔ­ûj¢+ß“Y·a#‹_ÈŸÎâ^שÓfJqé=WPp0sæÎ§ï€.\˜ý{wÑ­kg YµbÛ6oâÄ1ŸTuM’BøÍÛ·õ9ȉ£‡ ùô)•u«&iµÝ!Ÿ#.\ß“ÇÙ¿g'¾¾g9uÚ2»OŸ=#"â3 ê×cþ‚…äÊ• ï}{˜=s:ïß'ʳ&qåJŠr8=ôÉÜôdG2šÏee•ã«äIzm7hèprZ[sæÔ Nó!$$$••mZuú=yñò¶ùòi¹F)Q¼Ož> WÏî¬Z½†mÛw°mûö¡¿>RZݵͫW¯(R¸°Ÿ#G¬­¬ð{îGll,&ÆÚ.XòæÉ˫ׯ¥ß7nÜ$^­¦j•ÊZéHrewóÖm+UàåË—-ZD+M‰âÅÓt™÷éS(¯ß¼¡\9mc µZÍÓgÏX¶|%-[¦^×GGGóáÃG­û/^ŒgÏýB|UÒ«]V¯]GSÆXYåÐ’‘‘‘‘‘IÅ?Zᬉxpã&ŒÏô Í@‰ñoGx6oÆÞ½‰n5âââ8tø0-=›k)}Ïœ%Ÿm>5l@]7W¬¬rpñÏ_®^mZS­jÌÌÌP(9zŒÞ½zbnnŽ‘‘ýúô–Ò’d Ó«Gw,²gÇÔÔ„vmÛpâTŠâ[—vmÛ`aa‘ôU½?/_¾âÕ«”EÞ÷Bó9üýßqûÎ èR©ÄÎÎŽºn®œHRП늕«155¥EóDåv”J…©©NÙMLP©Rv¤T7a"]»t’Æ"IVñUª×³•… ¤UËD?ìš$ï¼2ÕYMMQ«ÕDGÇdº dP7šsðÐaºué¢.#####£mÓ—úõeâĉ|çþÍ›ì_¼Œ×·n³¸}†ïÝ™••îeÿÜëº1}ælüýý¹wÿeËJ–OÉ| ÀÏï…ÖöX¾hÖRDÇ_PP0¹rÙH¿---Qjøm f¤É&†©Õ dÉ’EŠ×ÅÒÒRúßÔÔ”lÙ²$½¨h’ mmû5h>G`` ÍS”TñqñÔªU€OŸ>Q¡|y)Ž$‰é¡yPG``¾gÎrØÇG 355%,<œ¦MciaÁêµë˜5g.}{÷¢u«–R:}Ì¿€sçÎóæí[†M\|<*•ЦÍ[âêê̈ai[¦iR®œ×._äóç®\½J§.ÝÙ´a-ÅŠeÞì™ü2}&õ6&ož¼ÔswKWÙ«‹½}~ S¦”O©êÌÖÖ–àD% €UŽ”ñi``€¡¡!VcÖÐÈ0ÕIM¬5ÒfÉ’Eëwò l\:×ë#OžÐ£W¢T*Ôw§LéÒäMšß6lÜĉ“§9rÈCCCæýºAC†²zår)aCÓ»gw^¿y˯ B¯ž="Ñš.YvYYåÀ«MkŽ?A§?AÒÁoÛ¶ï$,, ïÞÀ½îÿßAtúÈ‘#ÑR/88 9Jݵ&ß*×|Žeï¾ý|ùò‘dñ˜ RÖéÉ£¿‚EöìZ¿så²! im¤‹®|O&ÆšÒÐÐPËÂ]ßs™™™q`ßn¶nÛgk/ê»»ãåÕZKY˜²'¹ÈecChh¨ÞzI«ít×ÃFåOOîFFFJó}¾|yyþü9%Kçĉ“¨¢U!8rô5’>¾¦…æzQŸÌMOv$£ù\_+OôµÝ§O¡dË–lÙ²Iñv¶¶$$$.¹eK«N¿'ffYQEi+G£U*²gO£#G%W®\œ8z˜°ðp&O™ÊÄI“™=k¤±¶Éš5+Q: TU” K ,,,X´`> ÿƒ™³çPªdIêÔv"&&’v›œ’♤q’µÁ«×¯yîçG= %R©¤}»¶´këÅÁC‡éÕ§Ï¥¸¯Ðäkžƒ4Æï[*éQf§‡¥¥%uÝÜ8ìs„·ná™dUÔ«Gwzõè®›ü«Ê™^û&“üR `meÍçˆTªhI)¨¹å9£9ÖÒ‚áÆ0 _æÎû•QcDZqÝ?ïàI™ïO¾¼yQ(„†…I–jqqqiõi!›6o¡oŸ^W'Ò«gzõìI‡HÕk؄Ӧp4I9œ¬¬3j•ªTÇßß_²Œ´´°ÀÒÂ[[[ü½¼Ø½g/½zöÀÎΖOŸBµß±qq’BÄÏïS~™Æºµ«¤ƒŠ Îø£èÿVV9(\¸‡aðÀºÑºk!]¾E®ß¹s—É¿LcÓúµ”,YgWm·éÉ£¿‚®rùc@*hhOFW¾'£¯N2z.Û|ù5bû÷å€÷Aú „­-,Z˜n}i$õÓ€€ÌÍÍÓTŠ£§œúž‰ änîܹ¸œäKy̨‘LŸ9‹Í[·Ñ¡};òäÍCû¨Q£:M=š@&Ö‹údnF²ƒ4žëkä‰îµÉØÙæ#""‚°ðpIáøþý”J¥ÖÇm}×/Š-Ê»÷ïµdëÓgÏ)PÀžˆˆNûžáâ9_ Éim͘Q#iÜ´93¦Oå­¿ªµM±¢Eµ,ðÃÂÂø*õ¡š5kP³f )¾S—nÒ{“Ï‘£”/_NëùV­^éӾ¬]µBëcU‘¢Eرc—VÚ§OŸIÜbcc>r4VVVLùy¢Öš"…BANkkºwëÂ’eËñ÷GaÝY²dÁÞ>?ÏŸûa“3ñ#÷ӧϤݘ•A“Œê†$ þ]»÷°nM¢Ë6™ÌZÂýÃ142¢ó¬)[†€ y–´íú¿Šg‹fìØ± ¿/Óz :0ÉøùùI~Öž?÷£X±¢ºIôråê5^¿yƒZ­F­VsòÔiž>}F¹²‰qš‡åìÛïÍîÝ{éÓ»§N.™Ç¥NmBBB8˜Ôf?°eÛv<[$´öO%½þmiiIpp0!!ŸÒl¿o!(0ˆ2¥KcllŒJÏ‘£ºIô’QìÛw€F hm‘¾uû6ÑÑÑ( Ê”.Z­&66õ©æß¹óxü$Ñà‘£ÇxþÜWç¯?À«u+9Â7iÒ¤±nô7“^û¦Eþüv/^Œå+V¢V«‰ŒŒdKÒ)ñd0ÇÆÅÅqûÎÔj5ÆÆÆ/^œ/_çccc<š4æ—©Ó‰ˆˆàË—/,_¹ ç:Úcæì¹óDDFÒ ~=­p4¶]¿xñ’ƒ†ÒÔ£‰´ÅÜ>~|ÏœE¥Š&!!}û½Éž=;9sæ$!!C‡}¤ƒ‚Ÿ?÷cß’ò°ZÕ*(•’ßæ÷>°}ûN\]]ùBccrZçD­Vã{æ,W¯&Êò‘áC‡°vÝV­YKPP*U4¯ß¼‘ü]gÄ·Êõ€À@ÌͳI¾VÏ_¸Hð7¸úΜ=ǃ‡Bpæì9=z,ùèþ«dö¹LMMi×Ö‹{wÓ¾][HR¤™™™ñèÑ#Hú ’+W¯%&&†ˆˆV¯]§¥\ü«¤'wk;9qáÒŸ‡„P¸p!Ö®^Éö-›hêÑ„^=º³}ëf† ()3Z/ꓹéÉŽ´HOž\½v_¦M×[—šäÊ•‹Z5k²xÉ2bccQ©T,[±’F ¤éúdËÖílÞ’(ó^¼xɸ “øü9ñYgÏ™'RúµäÊ•‹ÊŽ•$Ùúìùsö¡™GÌḬ̀əSj!G§P¡‚(•Ê4×6-’Ü ¾yó–øøxþX²ŒÕ«‘ì‹8ylFFF2gî|âãã%×g{öí§¥ÎÚõ÷ÅK8í{†?~ÿ ###¢¢¢$+a7g^¾zÅ™3gBpè°8שJÍ€ACÈ™3'cG$::š¨¨(i®>qò”ä£=**Š•«×`mm•¦ËŸÍš±zÍZ"""g݆xx$®‡Ò+:í–QÝlÙ² ‡²e¾Ê]ŒŒŒŒŒLÚ¦ÿÏDGEJÊ–ï´Höá•J##<¦Lá`³æ<^¸bž-R›þG(Sº4yòä¦víÚiZAZYå`劥̿€™³ç`h¨¤X±büþÛ‚T¾¿’ýˆ‰‰¡QÃT©ì(]ë\§6nn.üÔ± ¦¦¦(`Oã$?{5kTgìè‘Lšò ïßÀÄÄWgÊòäÉ Lll,æÙÌq®S[Zöìщ“¦°ÿ€7ãÇŽÆCG‘æ÷ò%E“\<{þü«,ß¼yÃÔi3$«¦Â… 1gÖ É'ç¡Ã>Ìž;…BA9‡²¬X¾4Õ–Ó¯ÁÜܜ˖0söfÍž‹¹¹9mÛ´þÇ+œÓëߥK•¢Aýú4mÑ’¼yrK‡ÊýÆÍô™³ØµgÙ³Ó¨a|ŽfNéœ^¨ÕjxäßÓºÆçÈ1 Ž¡¡!–LùyD~Ehƒõ˜ÿë=zŒyvsæÎž™®Éôpt¬D\\Nµj¦ÚþWH¯}ÓB¡P°pþ<&ÿ2:®îäË——¦Mxî—xØNzs¬B¡`ÁÂEøù½ÀÄÔ„<¹ó0yâÝ[Èü‡™0n sç/ ió–Ä«ÕÔvªÅØ1£´Ò¬ß°‰öm½Ò´îìÙ»>ÄÆÆ†æM=´>"Ž3гæP¯acâââ(^¬(Ë—.ÆÄÄ„„„NöeöÜù|þü+++꺺H‡ *•JV,]Âô™³©ãRÓ¬¦´nÙRÚmàX©uj;ѤY ”J%6HÓ²îGÁÕÅ™%üÆÊÕkY½f111ØäÌÉèQ#°·Ï¯›<_#×+V¬ ]çâ\‡sçÏÓ¤™'9­­©X±¼tïßÍð¡CøuÁoÜ»ÿ€œ9­™3kÆwÛ*ÿµÏ¥P(´â‡ Ä”©Ó¿LKÓ·téR”.]Š›Em§ZŒ9B7Ù7“žÜ͞ݜaCÑ»OFNÕ*•Q*•„††rîüªW«¦åÆ"£õ¢>™ è•i­ÏÕjµ^yòþý®^½NBBBšïºÌ=ƒ³æàÞ JêÔvbTÒ™º<~üA¢";,<œK—þ$.éðök7n?ÆãG³fNgâ¤ÉÔprÆÌÌŒúInƒÿñsç/`ùÊU!(Y¢‹þªwmS©bôïK·ž½ÿLÅ å™öKân€©ÓgrüÄI²dÉBÚN,[òøù½àí›·Ôus•ÒJ‡Hº¸iè»yí2fff,þ}!ÓgÌb䘱ØÙÚñûo 066æàa.ýy€]‡b;8”eû–M\¾|…³æ‘‘åXµbYš»1{öèFPp0 7EˆÔ¯O—NÒ-:í–QÝDEE±eë6æÍ%…ÉÈÈÈÈÈd†d-¬¦6V¡óg ñ§Ôø3²F€qҟɵ·/-’9¿^7nÞ¤zµªê,~¦OŸ®õ{ɲD‚º>®’ý7ëãX£ÆÄܼIïXV˼b.“‰JÔè2‰_eÒF¥Š¦Jõšœ:~T¯¯8}ÔkИiS§¤»}ýG¡G¯>Ô¯W¶^­u£ddd2`üÄŸÉ›7^73_‹Z­¦aã¦ü2y’Ö6Ø /1}æ,Ž>¨%####ó/àî½ûlݶG‡‰‰ e6dÖÙ$22222222qûÎéPâïEä—/\½vJ3çÂò¹ßKª8VpT@  Äñ Bç/éÿÔæ0?ºŠäm;¿ë†gDñ&y{í‘Ç“ÂY&m?~‚±‰1ìíIHH`éòå°·ÿjes2™Ùâ'##óÏç{Žõõ7‘Ý"{º3ý¯¸zíE ÁÚÚŠððpÖ®[OuYæÈÈÈÈük)çP–rÚ2222222222)ü çï…uù |QÇ#.^Ô’ù 2ÁBQ(”(Qœ… æé&“‘‘‘ùîøž9Ëø‰“°µµeáüy™>`êïäÖ­;Œ›0‰ˆˆH •Jj×vbøÐ!ºÉddddddddddddddþü.5t)S.ÑüÁÝ[ºQé¢~ÿžÀ’%É’7/ÖOžèFgˆìRCFFFFFFFFFFFFFFFFFFæï@v©ñD™#¹âãQéFÉÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈÈ|g~…sZ'ï¦EfÓICB¨¢ÿÿF¾ú¾22222222222222222222ÿA tdddddddddddddddddddddd¾Yá,####################ó]Î222222222222222222222ß…µÂùƬV&ý/####################ó÷ñ¯T8GEEáV©CêÕãpV¿>õ*WF¥Ré&—ùð9r”n=zëüß½£h‰Ò¨Õj¦Lβå+¥ø£ÇŽãäìŠc•ê8xHãJ™ïn}§‡n[Éü³ø_´ßÿâ߃>RÓÉ•*Z7ê/ówΗÿëv»~ã&ÕkÕ–~7mîɵk×µÒ|-ήî\¼ô§n°DFñÿkÖmØHßþuƒed2ÍÖ§þ×óÙ·àìêΕ«WuƒA§]ÿ‰òDFFFFFFæŸÁ¿NáE£²e™tëBCY¬Î}úĘ›7iT¦ ÑÑß_ð#Ñ­GoŠ—*K‰ÒT®V“N]ºqóÖ-Ýd?•+;Ò»WÝà¿…Ö­<©_ß]ú=ù—©Lš0žëWÿ¤qÃZiÿ+ìÚ³W7軡[ßG'22R+Íÿ‚ÐÐPNöÕ þGðw¶OzÜ»ŸÇOžèKdÿ_ÆÆ&''ŒÃÔÔD7ê/£;_¦7¦ؼe+<šáPÁ‘:®uÙ´y‹n2üýý5fUk8Q©J5šy¶J¥lzýú ½û  JõZT©^‹Ã>G´â“ùÞ}ã¯æ7lèJ”(¡üónýŠ–(­õwýÆMbccY¶|%®î (U¶!!›¶ÐØ£9*Q¾R•VA×­GoŠ–(ÍÇt£Ø»o?EK”fÖœyºQ?,·oßÁ¡‚£n0§}Ïàìš"eþQ©T,_±ÏV^4hä{ýF4oÙš5kׯ›<]¾u +O~$üýýéÔ¥å+UÁÅ­ûxà÷âEª¹'ùOW6lÒ” .BÒ|Z«Ž++W£O¿„††JéîÝ¿O«6m©àXfžœ9{N#—Dƒ‚(_© œ¿pö;SÁ±*•«Öàç)¿'¥½pñ<šQ®be<[yqïþ}È„L¾ví:]ºõHÌ·ZMº÷ì¿¿¿¯Kdd$Ms\ï?à[½8V©N—n=xñò¥n’Tܹs—¥8tØG 1rtªzþü9Bë:™´ø×)œ=œœ˜òꮺ€»LxõŠfµS¬žþ­Œ9‚'ïqò˜U*W¦{Ï>?´uw.jT¯¦ü·P¶LŠ. À—/_ ù„c¥J( ŒŒŒt“ÿëñ{ñ‚å+2gü-hÖ·Z­fêô™DF~ÑMö·ãsô'OÖ þáù»Û'=V­^Ë“'Ouƒ%2Šÿ/chhHãF uƒ¿ šóeFcJ¥RñøÉSæÍ™ÅíWùã·…Ì™÷+wîÜÕMJhXåË9pêøn^»B·.é7`ô‘6 €ö:QßÝ?/œåÚå‹zŸñ{÷¿šŸ›« Ù³›ë5ÿÛeSPP0ݺváÉÃ{Ò_eÇJT–/QQ,Zø+7¯]a¸±Œ7wïßK×+ ܾŽÀ  † Ì•KçÙ¼a=Þã}è0=ºwÕ*Ó“‡÷hÝÊSKŽÿºà7vîÚÍÌéS¹só:ׯ\B©TjÜáÇ¢|9vîÞ£ÌÎ]»)ùüX!Ïž=gùÊUºÁ?AÁÁxµï ë×­æØ‘Cœ<~„µ«Vòþúõè•é4eð¿\-CGŒ¢lÙ2ܼv™eK3}Æ,‡½¹výk×o ,,Œƒ†0bØPîܼF—Îéݧ?111Êä÷?Ò¥SG®_¹ÄŸÎ’/_>ÆOüY«ÉKrÒà`*U©Fåj53ni[3¨TÑŒ›0‰ª5œ¨ãZ—uë7ÐÈ£™TÿÉõ­V«éع+´nÛgWw>~ ÐÍN‹ŒÊáÿî»v§rÕ4òhÆaŸ#ZÛè“9xè0 .â°Ïœ]Ý%KµŒò×$66–™³çR½VmÊ–¯„W»$$$@’B½~#*8V¥±Gs-Åv¯>ýX½fFNàPÁ‘GCRý¬Xµš^}úáX¥:µ]ÜØ¾c'¤Ó>éõ£={÷1~âϬ^³Žª5œ?ñgâãã1jŒÔÚýÔ‘·oßJ×ܸy“V^í(S®"Õj:ásä(3fÍáÄÉSLŸ9gWwŽ;.¥ôÆ+•JvíÞCÝú ©àX•N]º(]wëÖmZ¶ö±Ju{4OeA«ÉŽ»p¯ßˆÒpuoÀ«×¯!÷Ð7Ç‘4W'‰¥ËVàÕ¦5­[ybhhzšßÚ7ôµ›¾ü4yýú ºt“ú•î®g-ä<Ä«]ªÕt¢j 'FŒ á8I¾¶‘G3*W­‘®œù^ck›¥R)ý%chhÈÈáC)çPSS꺹’ÍÌŒwþ‰2@Àˆ‘£©àX•ºõâsä¨÷áÃGz÷íOM'g*U©F‡N]yùê•ßµs'œëÔÆÜÜœ¢E‹P±By^'A…B¡U¦°°p|Ž£ãO‰Ρ¡¡lܼ™åËS¡By ~øº6äÐabbb¤0¿/øø1€ŠËk¥Õ×WÉÄ’Ñ\àPÁQ²†$IqT±r¢B0½uÚ·'ɵJUªÑ±s7üüÒîÓ{öîcÄÈÑü<åªT¯EµšNlÜ´…áêÞ€ ŽUéÙ»¯– ÍhÓ•Ud #2ª»d?yÂÀÁC=v<Å‹…o(FóAFóY²\­àX'gW–-_)í=f<ýûöá§víøyò/4lÒ”ÆÍ¥]w¹råbßþD‹ÞÕkÖÑ«O?éZ’Öë6lÔ»NÐäî½ûÔtrN¥@%õwm·ÄumÝúT®V“‘£ÇJVÃÅOüýýyðà!ƒD©TRªd <<š°oÿHªÿä?…BÁê5ëèÝSÛR{çî=´òôÄÀÀiÓ¦… ÄÈȈaCsÚ÷ aááܺ}‡,Y²ðSû¶P¥JeÚ´iÅ~#»wï¥uëVŒ>77WLLLÈecCÍÕyñ"Ñ‚øä)_J–({]7 -š7Ã2‡%çÎ_ÈP&7oê››+†††áæê‡µÊ‘Œ±q&ÿ<‘öíÚêFqê”/õÜëR¾œJ¥’Ž~"Ož}ú$„bßþ¢Q“fR¾oÞ¼%J;Hõ¥É·”Ó«]1eêt/Þ¼y#«ÖgΞ"©\Uª×[·í"66Vœö=#ªÖ¨%ü^¼BqðÐaQ´Di±eëv!„.^ŽUkˆgÏž‹„„1cÖѲµ—BˆE¿/ ñññB­V‹»÷îIåÐäì¹óÂÕ=±$Ó²M[ñóä_Dtt´øòå‹èÞ³·0hˆVšdfÍ™+ÚýÔQ*‘|S IDAT|þüYÄÆÆŠ©Ógˆ"ÅK‰ç~~BèÔwtt´(R¼”øðá£N.‰è¶UFåðlÕF̘5GÄÇÇ‹ÐÐPáÕ®ƒ¨VÓI#ÇæÎûUŒ?Q+,£ü5™5g®hÙÚKø¿{'¢££¥ç;{\­¦¸wÿ¾BˆsçÏ‹2å*Jý¼gï¾ÒxL¦lùJâáÃGB$ÕOǪâÖ­ÛB!.^úS/UV ¡§}ÒëG»÷ì•«Õã'þ,‚ƒC„J¥Bá{æ¬P©T">>^ ¹ý~ž2UÄÆÆŠ˜˜ѽgo1iò!’Æ|¥ÊÕÄ¡Ã>B!ŽŸ8)ÊU¬œæø:í{F8V­!nܼ)âââÄÓ§Ï„Z­Îð"9N$ÍM[´?~ bÑï‹EcæR|F}*½º×D·/gt_M2÷šóeFcJ—ààQ¦\E)o}|øðQŒ;^tëÑK s«×@¬Y»N´mßA89»Šž½û ÿwï´®Kækû†È ÝtóÓ$!!A4mÑRü2mºˆÁÁ!¢e›¶ZíVÇ¥®¸pñ’Bˆö;‹u6 !„P©Tâñ“'R:}ã$9v:‰ÏŸ?‹øøx±ð·ßE£&Í„Z­–â“ïñ½èÓo€¨T¹š(_©Špu¯/V®Z£›D!„Z­[¶nµ]ÜDTT”Bˆµë7ˆ"ÅK‰ýÞ…Z­—þ¼,J;T殘˜qðÐa¥qqqâç)SµÚ[“[·n‹ÊÕjŠû÷èF !„ømÑbȰÒïS§}…GsO1ïׅ­^Q¯AcñÛ¢?¤ñð£Ñµ{/±ßû èÒ½§Øï}P Ÿ1kŽX¼d™7a’˜9{®ž^_ÍhÉh.([¾’–¼¾{àXUˆtÖiºÜºu[”-_I7Xœ:í+ê¸Ô•~Ï÷«håÕN µZ-ý¾X89»JrC³OïÞ³W-QZ9zL!ıã'D±’eD¯¾ýEdd¤ˆŒŒÍ<[‰«V ‘ÉyLWVe$#2ª»Š~‰Î]»‹ó.JáâÊ/Ò™2šÏ‚‚‚EǪbÿo¡V«…ÿ»wÂÉÙUlÚ¼E!Äã'O¤µÚ¸ “ÄŒYs„B<|øH´hÙFº÷ð£„B¬Z½VôìÝWhÒ³w_±vý!ô¬ê¸Ô—¯\OŸ>5k»ˆK^ÖŠÓlWÝõ÷Ôé3Dll¬ mÛwž+£øïÉ™³ç„{ýFZaÛ¶ï:uÕ I}«~£&"!!A ‹ŠŠå+Uoß¾BѲµ—ð>xHã*!jÔª#®^½–æ½6lÜ,ºtï)ý¾zõšpv«§udD3ÏVbç®ÝB!æÌ/&Lš¬•fèð‘â÷ÅK´ÂD:29>>^<~òD´hÙF«O¦Åµë7´ÆµÐS†þ‹eËWh…%sØçˆhß±³P«Õ«]qðÐa)®¶‹›¨Q«Ž¨àXUÔkÐXêw22222ßËW®èýe""#Å)ß3©ô°úþ®Ý¸-€J@) 0`䬋$°i’ŽØ(Ig¬LÒ!kê”%þUÎ2)Ìûu¥*иis^½zÍú5«$ë¢*•±¶NüzíêRGò –;wn""#صg/_¾|¡`XdÏŽR©$¿›·låýûXYY‘?~­ûe†¯Í§gn(•JìíóãP¶,6$þüà^·®dí˜L‡ŸÚaii‰‘‘ÇæÅ‹—¼|™b­•5l@`PwîÞ`¿÷A\]œ¥úJ‹Ì–óÍ›·Ü¼u‹aC'ÖEþüÔs¯Ë±ã'¤¼+U¤};/²eˆ‘‘‡}ŽÐºeK *€G“Æ-ZDJ¿wß~<[4§hÑ"( ºwí»÷ @Áܾs‡Ó¾gBàP¶¬t]z¼|õŠ»wï1jäpŒÉš5+cFäø‰“iZÿö9B¿¾}077ÇÈȈýµ­p¾•ŒÊñöí[<|ÄÐÁ‰Ö/–––tëÚY7½d”¿.ÞÞ‡xÖ­<µ,SI§¯f4‡$“Ù¹@}ë´´ˆŽŽ¦z­ÚZ#GÑJ³oÿú÷íCΜÖ0h`¢£c¸ôçe­tÉØÛç§aƒú¸×uC©TÒ¹ÃO˜™™affF­5xõ*QvefÓ•U™‘úêîÏËWhѪ *”gú58Õª)]“Ì×”ŸLÌú泓§NQÀÞžæÍšb``€m¾|ôîÙƒÝ{öpóæmjT¯À7ñlÑ’Ü™™™žÝ#_ËÇtïÕ›iS~þ*·}zõÄÈÈ‹ìÙé߯/Gi˸Œâ¿*• Ó¬)s€iÖ¬DE¥vµbå*z÷ì¡Ug>GŽâP¶ vvvD©TdÍšUã*0ÍjÊ—¨(Ê—s 0“§N#„àáÃG¬ß¨½{iמ½´nå™f»,]¶‚¬Y³Òª¥'$ÝKs055MåÎBŸL^½få*V¦IÓ)R¯6­µ®Ë 5jTãÄÉ“¼|õ µZÍÑcÇõZ7øð‘y¿.ä×¹sÒtå½o§Nãú•K̘>•¥ËV|ÕWFFFFæ¿KâžØ ŽŽŽl61tüS<06¦_åʺÁÿ*FNÏÝtƒQ«Õ,_±Šsç/G\|¼ô"U°@vnÛÊÒå+X²t9­Zz2bزdÉÂÎ[Y¹r5-Zµ¡JeG&MOž<¹µòîÖ£7ç/$.f&ŒKLL ó]I ûåKg*Ÿd¬­­¥ÿ³dÉ¢¥ô544$>Nû@M%™©©)æææR €½Vºô066¦¥g víÞCùrx{b\’ÂE÷ùê¹×…¯(g@@âV÷úKñq±qÔ®í$ý.RDûe,((ˆrZa¹ll¤ÿÈ%ºß éÙÃÂÃiÞÔK V¬ZÍ´3Я/m½ÚHéôò‰lÙ²iùÁËogGBB¡¡aÒvûdƒÈ;—ô;GŽ(¿Ãv»ŒÊ„y¶lZ/669¥ÿ3"£üuŸ38$Dë9“ ¡\9í6²³³%((X+L]åEž•™ºO}÷Õ%£qÿ-¨Õj†  C Ô–¨P¡½zR³¶ _¾|‘”$ñWÚMAAd77׳yóæÕJ£ÉÔ)?³mû†EöìæŒ;†*•Ó'ÉXXXHÿcaaÁÇ€€TŠ´ï…f_¬^­íÚzqüÄI­¹|ãúµ|ùò…»÷îÓ§ÿþøm!U«VH%_sçÊEP`$¹½X¸èwnß¹K‚:ØØXâuú䨑Ãé×§¯^¿aÎÜy„„„зOo­4{÷ ~;Ê—/'… %K–ÊimmEûvm9rôXºþ¿©_Ï)S§óöí[îÞ»O9‡Tócz}5£9$™ÌÎ )ã ½uš.&&Æ<¨àLæÒ¥?Y°p‘ô;äÓ'òjôq…B­-!!!R˜&ÖV)ë µÖ@†F†’ìÊÌ<¦+«2##ôÕ]êÕØ¹m ë6l¤IÓxµiMKÏæZóÂ×”?3ó¾ù,$äSª±gggGpH⺠22Rš3mmóñôéSJ•,Á±cÇQE«BpØçµÒPš'“ìÒ+=æÌû•/_¾`a™2oeÍy.OžÜ|úôIkM¢/^³-ÿ*ffYQEiŸ=£ŠŠÂÂBûƒøéÓ¾| £y³¦Zá»vï¡}ûvÒo33³T _U” K ,--YúÇ"æ-XÈÔé3(]ª.Îuˆ‰‰…¤ó^Ž?ÁÑée]·a#GgÓ†u’²6›™aááZéT*öö)F6éÉäž=ºÑ£{W‚CBضmž­¼8æs0Íq®ÚNNôéÕ“½ú P(puv¦BùräË—O+]BB#FąZýYÍ÷«*•iÛ¦5¾gÎÒ¢y3­t222222º|¿•Á€££#Æ… q24w=/ªÇ Ì‹£bÅŠºQÿ V­^ñ'X·zÖÖV¼xù’ú ›HñE‹aÁü¹Óà`–-_ÉÁ±´°`ô¨ <™³æ0lä(¶mÖþú¿nMêKúöî¥õ;3ù$“–Az|ü˜âã,22’°°°T~È2Cûv^´nÓŽÖ-=‰ŒŒÄÙ¹¤ñ|ɾ’3[N›\6(•JΞ>™æÚyå´¶–”\É|ú”â‡9W.ºvéİ!ƒµÒ$ã\§6Îujsïþ}º÷ìCöT¯¦må¢[üüv¶DDDŽeÒKÅ»wïQ*•i.FsæÌI@@ d%øùs„Þ—çÌÖ™(‡‚ϨTјš&Zñ~ú”râ¸.º÷Î(]¬¬rðö­ªÃ£ìììRYb¾{÷žÂ…­U P'¤ÔGøçÏÒ!lÉè¶»&ºU–©~¤Ð¶P=v<ùòæeë¦ ³mûNN<üËÚÊ:•ŸÚdtëL}ñú>8ä²±¡œCY¶oݬ• kk+½å"{d4Ç(Ò°àÈi3Ý>•™ºO}÷Õ%£q¯‰¾6Ð$66–AC†ammÍô©SÒ´`Ò%{vsÔ¯ÇÊÕk¸výÅ‹£€½=ÁÁ)RbbbôúæÕW®om7}ùØäÌIDdd¢E\’UYh¨þ¹@™äϲÃOíÙÀ›®Ý{rýʟ鎓d4|´ªTÑ„‡‡cý ræ[Q¤²ÒËec66*X_ß3œò=#)œRÊKRù‹IÜ1ù—iäÈ‘ƒ]Û·bll̃éÝo€VzK ,-,°³³ãmûöìØ¹KKá,„`ý†  ½³%~;BB>!„Ú.6.î«&ÿ$[}ïÚ³—Û·ïйSj¸éõÕŒædÒ› ”J% êe¢æÚ†tÖi©Q`“S[Ù­û!ÕÎΖ·þþ”*UR {÷þ=¶¶¶Zé’Ioê’™yLWVeFF¤Ww*”gQ…_ `Ó–m4iÖ‚VžžRý|Mù33è›ÏìòÛqäè1­°÷ïßc—T¯yòäæR’oê ãÆ2eê46nÞB§?‘7_^ZµiK­Z5%…žRij]¥é¯_ßc=’˜˜† Á¡û2½{éãÇÉXãí[ÌÍ͵? dÿ=(^¬þïÞi¥'OŸ¥:ÐnÙÊUtïÚYëþ/_½âé³g4¨ç.…/VŒgÏŸK¿CCC ùôIÚiéäT '§ZR|»Ÿ:Jãÿà¡ÃT¬X!ÕÚpùŠ•?q’Më×JëH€bÅ‹±uëv­´Ož<¥AýzI™¬P$ŽßÞ½zðûâ%¼}ë/ÍÝ™¥{·®tïÖ’ÖžnuëS]ÇÒýÞý\»v/^0eê4ÂÂÂy:ùç/\dάZéÔ j©MddddddÒ#µ„û‡ã}þ<Ó äD«¯c ³ Äûüyݨÿ A*Xkk+„ìÝ»_Š{ÿþƒäþÁ*Gìí숌Œ$..Ž›·n¡V«166¦D‰ßt@È÷ÊG;vî"44µZÍü¿Q°@J–HÙ*Y ,H©R¥˜>k6-Z4ÓûBñµ,P€r̘5›ÈÈH„ø¿{Çû÷t“J4lØ€}ûHírÚ÷ Ÿ<•â[z¶`Ûöܺu!ÑÑÑÒ¡0?‘”. ÀÒ‚ÈÈÔ[säÈAPPÁÁ!$$$;wnj;9ñÛ¢?ˆE¥RñÇ’¥x4iœ¦b©Qƒú¬\µ†ÈÈÈ$˯Ô’É’% fff<|øÒ°ôÕ$£rØÛç§D‰â,^²µZMdd$7éI͑Ò§ÏžÿMÏÙ¸QCV­^KppjµZ: ²M«–<ä#ý¾výç/\¤YSìíí¹~ý†d´{wâvíÌ¢Û>ßÒ)[¦ ÆÆÆ¨TÑ:ì#ʹºðêõ>>±=F¥Ò¶b"©¾<ÄÇŸÑߟϟS[Bë’Þ—õ©o©ûo!£q¯IFcJ¥Š¦wßþØØØ0qüX¢££‰ŠŠ’>zlÜ´… ŸñÏËWxõú5jµµZÍñ'yüø Ê%Z®¶oçÅÂß~çýûDGG³xér\œë¤©DüÚ¾‘Q»¥—Ÿ½}~J/Æ¢?OXX˜ôLiqãæM¢££Q(8”-‹Z­&&&:Ýq’Ì–-Û¤9`ÉÒeØÙÙR" 9£Y¯~~/5fœÔ§Ï˜Å™³çt®H›]{öòáÃG¾|ùÂ… Ù¾c§änÀÿÝ;Î_¸ðìÝuxGÀñïEH€Áµ@BqIˆ»BÐÜ¥Xqw®ÅÝiq'8ÁŠ»k â$—yÿH²ä6NKKû·gŸ‡›™Ý[ËììÜìoy÷îáááœ=wŽ“§NS®\Yeþ;wï²Çw/BΟ¿À… quq†ø§ ÈAÌ[°P™/66–»vóúµ?‘Ü¿ÿ€-Û¶é,Àïè1BBC©YÃC'ÝÊÒ}}=~=­VËËW¯X·îw\â¿û[ÖÐÛ‹ß~[σ‡prtPg§z®¦U‡¤GÑ¢ßsöüyˆ¹#Ñ‹ËRj§}©F ½Y²l9ïÞ½#66–+WñÝwY13­¦.ša©Çd䑚üùóÓ¿ooì݃énKzꃔ8;:¤¼üùõkV¯]§„\p°·çøÉSR²d Ö¬ZÁ–ë©_¯.]:udëæôëÓ[éˆ,Z´(·oßQÂ}]½zM' ‹º þ|4jèyõêô88Éõ!%ËV¬àÓ§O„††2ÁB% IZùþþoè?p°ò’»9óæ+¡.ÿñC†@›Â€µüùóc^ÝLù[ºwÿ>;wî¢~¢‘ÌgÏãáÇ4mÒXgÞÍ›·R»–§RŒøöòæÍ[yúô111Ìš=k+å©Ä„ýÊø “ˆŽŽV¶kÓ–­4òn , `Ƭ_9xè0 Ì#S¦L„‡‡+#¨]xôø1GŽø!„`ç®Ý¼yó'G‡4¯Éû$00î ƒððpæ/\Dž<¹)R$ùR“°M/_½¢{^4lè­€Q¯ACª˜V§MûŸ)_¶,ÇÖ)³lùJZ6o–dt£¾¾>Ë—,æêµëXXÙÒ¬E+jyÖ¤a|‡Û·¬Bùò,X€^õ“ýÁ9µs5=uHZFÆÞ½û©]׋&Í[bcc­Œ`M©ö¥:vh•õ½aicϱ'Yºxá_ÒNÎh=F¯éallœl,çôH«>HM¶lÙX¾t1ë×oÀÌšæ­ÚаA¥M™={6ú÷íM»ö9uúŒÒ ûîÝ;¶nÛ®3zÀÉÑWWg6nFýX±j5µ­Orí„Ä|ÆŽæÉ“§,^ºL•„¡¡!¥J–½F-lœ)T¨CLW~Xx'Nž$,,npõk×yð ®cüÍ›·œ9s6ÝÎS§Lâö;T«nI»èÝ«‡Nèž Ó¼iSNZ­–mÛwÐÐ[w?˜™V£gn´lÓ–ªf<}ú”ñãÆ*ù#GÅÌÂ÷šµ géâ…èééñàÁCž>yª„Ñ#>¼Öü‹¸zí:Ö¶:×Ö¨¨(²fÍÊÂùs˜ùël*U5eá¢%,˜7##£4¯É§OŸ¡®—7«TÃÖÁ‰7n²rùÒ/zªªVÝú˜YXÓºm{¬,-Ø¿¯’—p200 ož<:“!Ù²}GöìÙРaÍÚuØ;ºPÕÌœ©Ó¦3nìè$OKJ’$IRrzã÷ÊiT“^¢I?ÑddŠ;¡Qüd|áÒ•Ó¥J&ÿ2"µK—/ciaNVÕã¡j¥ÊÄÝì>¸× ’^W®\áB|è ³Ë—3FCs9n·ˆjé ýsœ\™8Ák«¸—°üY7mfÓ–­lZÿí½àÈ»qSZ·l‘$^Ý·"""’JUM9qôH’†_Ûñ'=vGê>Ê*I_ê[9§¾õ¿{I’’÷­Ô!ßYéºzí:kÖ®ãæ­[DŠÆØØ˜Ê•+Ñ¿ooræÌ©.þÕ½xùGg7îÞºžì-iåK’$I’ôeÎ?…¹¹:ùO ãü…‹TKg?胇©nZň¢€O@4“hŠM4 Õ”@ùÿ_pëS¥Jª$|HçN–þ½Òû¨`ZÞ0áb† Ñ}›û?! 0çÏŸS±B 8xè0·oßÁÌÌT]ôsûöŒŒ(^¬±±±Ìž;—âÅŠý-ÍgÏ£TÉRäÉ“›÷ïß³dé2¬­¬ÔÅ$)ݾ…sêßðw/IRò¾…:ä[ ë±´U®T‘ÊS&©“%I’$I’þþÓÎ’”QÍZ´âÎÝ{´o×Fçñ¹JTd$'OåáÇhµ±(ŸÓ¦PXõ–é’ÿ›7Lš2ÿ7h4Ê–ý‰¹sf©‹}—/_Qb£èëãà`ÏÀþýÔÅ$)ݾ…sêßðw/IRò¾…:ä[ ë1I’$I’¤ÿoÿéÀçW7ÁèWRC’$I’$I’$I’$I’¤¯á¿R#é›n$I’$I’$I’$I’$I’$é |!5¢¢¢ÔIÉJo9EDZ==4FÆèepÞˆØô"õ0Ò7Îø÷J’$I’$I’$I’$I8x™ IDAT’$ýúOpÖóÖÀ€à|yÕYi þŒþ{òFd|^I’$I’$I’$I’$I’¤ÿGÿéç°‡Ò×'ü‡ôÅ”NìáÇGèЧDlÆç•$I’$I’$I’$I’$IúôŸîpºz…wúhllÔYiºòê ú!Ø|—ñy%I’$I’$I’$I’$I’þ}1œÕ|||t>&›>|øpÏj÷öø¥¯Ïwîîê¬4í¾á‹^¨>nù3>¯$I’$I’$I’$I’$IÒÿ£on„³Ó¦Ï`Þ‚…Ê$âÿ%N›>cF’èÄ^]ºÌ“k×Ð+Sssuvª.=½ÌµG׸ɏ 26¯$ýU^¾zEùJUÕÉøû¿ÁÑÙˆˆHuÖŸ¶}ÇNZ¶n§NþG¸yxræì9uòWñ-m·$I’ômÛ·ÿºtS'§ék^¿Sãݨ —.]`èð‘Ìž;O]Dá3a‹—,S'ÿcïë„¶‘V«Uƒpÿ¦dûŽ´iÿ³:9E•ªšñèñcu²$I’$IÒ¿Î7×á 9KråΛê”9sVõlŠ˜OŸØ=z4¡zú”éÝ4u‘}ŠùĨM£Ñ‹Ð§yo4¤ÞoE§.Ý(_©*·oßQg±cç.ÊWªÊÔé3ÕYÿ—Þ¿ßÑcêä Ùº}‡:é«Ë“'7ƒ sfcuÖÿ­QcÆ1eÚ uò7cÃÆÍxy7ÆÉÕïFMؾc§’wêôiZ·ë€…µ6vŽŒõOtt´Îü˜[Ù¢“þ5ݸy“»÷î©“3$ €ò•ª¦Î’$) BÊMÄ…‹—iߦ5ÇŽdû¶Í\ºü«TÛwìÄÙÑlÙ²é¤M+V®æþýêä 111ÁÈȈ¬YSþ‘P’¤ä-\¼„µë~ÃÞÞN…V«¥gï¾ØØXqìÈAºýÒ…á#GóèQÜèȹ³gqí‹ÊtõòŠ-йyuƒ‚(W®¬N™Î>Ä<~ü xqäà>V¯\Îá#~l‹ÿUAç®Ý©S»6§Neί3™5{./^J׺}k.]ºL›v?Sºôl\¿ŽSÇý˜:y"¦¦ÕÔEyóäÁ"~_¦F]~ëwþüù”c¸~Ý2eʤ|Þ±m3ŽödÏþùú¡§Iù |¹r”ø‚n©àà`fΚMtt4Z­– “¦®ä'·¯5) &ùûW-0(ˆ–mÚFÃâEóÙµc+¾»w°hþ<^ûûÓ©Ë/)ŽÀþ· aî¼|øøQõ·ˆˆˆàî½ûLð˹Ó'˜9m*ÓgþÊõë7>j ™3gæØ‘ƒ¬Z¾_ß}¬Z­Ûnºví:aaaXZZpêôi–-_ÉŠe‹9qô0yóæaĨ1JÙ£G1z¬ú÷ãÔ‰£œ:îG¾|yu–—¸–Z»íÇôîÛŸ^=ºsþÌIZ¶hF·î½ˆŠŠJs»^ùûÓ²y3N÷ãØ‘ƒ,X‘£Çê¬G‚;wïѤYK2eʤÎbʤ :uûå g)T° É\K®]»ŽiµjìÙµGcbb¨1I¿sý†¼y«Û /I’$I©I¹µù/óáý{Nûù1´i ŽïÜÉwÅŠÑ`Þ¼tn~ÿá=GNùÑd@ vÝIq“bÌo=/ÅÆì¿»›¾{÷¥¤=zü˜7oÞR¹rE²W¯^£ió–XÛ:P¿A#nžÊ(§*¦æøû¿!""’£Æ`ëàŒ«GMV¯YK½ •Gcbb˜:}&öN.Ø:83z¬‘‘É?Ú˜Üòƒ‚èÑ«6vޏ¸×`õÚuJù¡ÃG²dé2:v=žµëqñâ%¦Ïœ…½“ ÖvŽIFooÙº ÏÚõ°°¶£~ƒFJó߽̙3}ûàæá©Ì—Ú÷'öàÁCºõèÅË—¯póðTÂ1 >’­Û¶3dØÌ,¬ÙµÇ—§ÏžÑ±Ë/8¹z`ëàÌÀÁCuFBlÞ²ÏÚõ¨jf‡gž>{–è›âlظ™:õðþýû$”ºyx²Çw/›¶ÀÒÆž ›ðÇ•+ʼi35==}ÆùLÀÞÉg7-^ŠâÜ#GeÅÊÕØ:83rôXbbb4dnžØØ;ѪM;^¼xñ¿ºyx²uû<<ë`ekOÇ.¿›àíÛ·ôîÛ k;,¬ítF*ß¼u‹FM›cmë@ú ”G‚Õrš˜+gNÌ,¬•Ñ$Ä0³´±W>'wÞ‘Ævÿ™mŒŠŠ"S¦L/^ €R¥Jb` Ollܲ{÷쎣£ÆÆÆäÍ“K s?~¿¶q¶mÛWühÛwìdðaŒõ½vŽÎ¬ûm=»öøâáY k;ºv롌†NmÝßø@Ÿ~pprÅÆÎ‘æ­Úðî]0“§Nçð?&NžŠ›‡'‚/¨/ )R¤°RF’¤ôëØ¡=«W.§JåJê,®]¿Ndd];w"[¶llß±‹ï¿/ÂŽ»ÐÓÓC___™Nœ<…¡ÖV–Q°@2‰Û=½{õ nÚäÈ‘ƒâÅŠaiaÎýq§B"##0­VFCÉ’%È—//áéZ·oÍÄ)SñnPŸžÝ»Q¤H2gÎL…òå)_®¤P·%Ô‘zT}ý>vüMšµÄÁÉGw–­X©¬×Ðá#Yº|¿t­.î5Ø´y‹’Ÿ˜r ã8M|\I&DÕÇtèØk;GêÔoÀÑcÇ•¼Ä!7’»æ',/µvGjÛ• (èÓf̤eëv˜˜˜ Ñhhס#4kÙ 7OÞ¼y›$ä•›6oU®iƒ‡WFD«÷oJÇnðaLž2Mi;Ž磌Míš 0tØH:ýÜ&1Îgu½¼©ß ãÆO`È äÍ›—»ö(åÄÆÆ2pðPúLll,áááŒ9{'¥½idd¤”ÏH{:::š)Óf`ïä‚•­=í:tÒù'¹ýZÛ0K–,dÊ”‰¦Í[2kö\>|ø ó}_[Ö¬Y=r8åË•C__ŸŠ+P¬hQ=~LLL ÇŸ [×ÎQ°`zõ잤~Ù¼u^õê¡§§Çî={ñöö¢x±bÒ³{7Ž;Îûøíš>ëWÆ…iµÏ¡ìÔ÷‰Ûa©µÛŽø£ô?âìäˆF£¡NíZ˜ä4áä©Ó©n@Zž8::```€¡¡!Žö)Ž662Êİ¡ƒiÒ¸‘:+Iý¿ÿÀALrš`i‘4TdÚµhѼ)&9r`llŒ›«K’6è£GY¹z ~î “.I’$I©ùWw8Ï[°PyDÈÚÞ‰Ž½ú²çþ}ÎgÎÂúwÁTwtNò(Qr“=ºöåîáûd¾…@ß`ì¬Ó7o¹Š´hÕ›­ÛŽýíZíçG΂ƒƒéÚ­mZ·âôÉcôèþ ½úôãÝ»`¥Ì¨1céÖµ §Žû‘?>æ-XÀÓ§OÙ»{{wïäå«Wi~‚R¥J2lÈ` *ÈÁý¾¬]½BÉ›1k6U«TáèáÔpw#w®\üܾ‡öûâ»k×®_gßþS6cÖl&ŒË…³§˜7{ß)’è›`×_V¬ZŲŠ11I~ïŠU«™;{&gNÃÕÅ™±ã&(yi3µ /beeÉq¿Ã¬^±Œ ›6)ë pøˆOž>eç¶- <jyÖd׎­÷;DÞ¼yY´x©RþÕë×\ºt™í[6áw(n9‰G†÷èÕØËÁ}¾´hÞTÉ;|Ä¥‹púä1âi\3ïÝ¿OHÈG<Üݘ6c&ùòåcç¶-LšàëW¯¨åY“sç’¾bÜø „††2i‚zzzÌž3‡³g×v|wíàÉ“'„‡Ù‘öôÜy øãʶmÞÄ©ãG©nfJÇ.]u:¨Õû!µ¶¡¾¾>:v`û–MÈŸ¶í;2c毾ÞÿÞ½ æé³gTªT‘èèbcc12þ6¥`Á<{þ\$Áþñª÷wýäÉJ–(¡”Ï™3'¹såâჇ¼}û–W¯^óâÅ ¼5ÁÙ̓qã'ê ÚI®–@Ýn{üø1¥JÅÕ• Ê”.lˆ²ÄÛ•˜V«åÞýû,X¸˜ ’âö‡âÅ•S#„`éò´oÛF•¬K—.Sµjåstt4‡ eÔˆáëSv’$IÒ¿ß¿ºÃùÛ áÒ¥[ 2Ÿf-&ñúõ?ÓSÓ^õê²uk\XèèhvïÙC¯zJc Àïè1 .D͸8;‘+WNN‰‹wиQC,Ì«“5kV4 {÷í§SÇŸÉ–-†††tíÜI)Küh˜ŽÚ“#{v2g6¦i“F<ü¹ã[-ñò_¼xÉ•«WéÑíôõõ)R¤.ÎNLÔqîâìD‰~@__w7´Z-?·o‡¾¾>ÅŠåÇR¥”Â;wí¦~½ºÊ(%kkìílÙµ;éÈ€çÏ_¤ùýéQ­j7òæ»ï¾ÃÐÐï¾û óêèëë“={6ªT®ÌóøÑ2{|÷Ò°U*WÆÀÀ€R¥J¢§÷§©§§Ç‰“§øuö–.Z@¾|Io¼4oÖ”|ùò¡Ñh¨ááÎÃG”¼´Ž™ZñbÅpu‰‹ßX¤Hê׫«³4 #† !W®œÇ7øííl166F__[[^¼|¥”èÚ¹#™3cllŒ‹³“2òæÉӧܾs‡ýûòÝwß‘={6 *¤Ì×°9räÀÃÍ-ÙÑß… Luÿ¨©ÏkÒ±Ý_ºzzz´kÓš7o2Îg¯_ûãéYCgÞ‹/%sæÌÔ¯÷¹óc˶íxÕ¯«3Úæûï‹(ÎNŽèëëÓ¢i²fÍJÖ¬Y±²°àéÓÏû*¥uÿ¾è÷\½v£ÇŽ#„ BùòÊ%ûƒ—ÚÅ‹—Ø»o?ú÷UÒfþ:K s¬,-tÊJ’$IRZâZ<ÿRݺvaøðáêä¿Õ‡¹tùsçîäòÏhÚl[·ö"w®>^©«‹3>&ñâÅ ®ß¸IÅ ’tÈù¿yÃǰwrQÒ¢¢>–h”SIU¿€€@¸f&&&ÊMfBþ°£00ˆKÓjc“/– ñò߯Ç«]ïó¯ù1Ñ1ØØX+ŸsçÎ¥ü?¡37ñ#ˆúúhãÃAAAT¨ {ãW¸p!>‡sH,µï¿ví:ÍZ¶ [¶lœ=•ü@‰D£(®]¿ÁŠ•«ð÷÷G/^¼¤ù÷q/€ ¤REÝ‘ 4 ã|&›æ¨‚‰Ž­NüÀ´Ž™Z¶DqòåÍ˹s”ÏE‹~¯Ü0?ZiáÂÅܼ} üþ=ùóçWòφD'£À ¾Ëš5É@‚>ϧޮôJ]‘˜ú¼&íþ3Ûxýú úôÀò%‹(S¦4¢cç®,^¸€ŸÊ|Ž©¾zí:>̲%‹”ÂÂÂ8tø;·é>F+çç¿=== È•ësš¡rS˜Úº×©å‰IŽ,]¾‚‰“§Ð¥SGz7P–“Ø—Ô’$}&&&„‡‡3aÒd5ô¦T©’ܹ{7IGÀªÕkièÝ@çEjúúúÊõô‡âÅéÙ£½ûöK4WœM›·°zÍZV-_¦ÌBë¶íØ¿în®J7~ÜX,Ì«ghÝþi9ãC1)?n&'µº-#õ¨šïÞ}lݶ°°0DüˆÇXñyD{tÊþ%~9²g×ùœ/_Þ㳪¯ù Rkw¤´]Y³feǶÍüöû¼6ÆÝÕ•ÆêüМÙµ‰òåÍKpppŠû%¹c§n&ZÿÔ®™¡¡¡J{¥P¡‚}úDÇÎ]4 ^õë¡Ñh0hˆ’Ÿ;w.Ø€‰iµZÖ­YÉ´³ý Eó¦lÙ´^gtûßáÓ§Oôí?\¹r1zäp6V‘"EX²p¾òyμùÊÜ'OŸòàáCÜâŸXø±T)øïß¿ç]p0EŠA__¨¨(BÔb>EG“É0®ƒ7¥vXJí¶’¥J²aÃ&²÷îÝWž Km»h4òäÎMûvm˜·`!/^¼Ô©ƒÓëÔéÓ¼zýZ穹äœ9{Ž‘£Æ0gÖLÊ•+«¤¯Z½†'OŸââ÷T^Lt ¡aaØ;¹°|Éâ$¡C$I’$)±¤W8é‹0ybs*Vø'ضíóÉÿI^õë²aÃ&>zœì›‰œxøðÛ¶ï$&&­VË;w“<ö•˜‡›+Ë–¯$44­VËÒeËuò½ê×eöÜy¼Œ$ôÇÜ»_§LJŠ-J…òå™ü|Sð%¾ÿ¾ç.ÄLÖjµìÞã«.’¬Ô¶ûÏlc±âŸpñ"AA¼~íÏå+Wù±T)fÏÇ¿£Ì™= CCCÂÃÕ‘8[¶m§Aýz:Ë˨ÔÖýÎÝ{¼ÿâÿþLrä 44 €\9srëöˆ!û%õ…$I_Gùrå(\¸0ff¦DDFrúô¶ïØAíøë[‚5ë~ÃÑÁ>IgÉÁC‡yôè1ܹ{9óæ+árˆ »zí:/œG¡B•zIAáÂ…ñãÏÕ«× ¾óïĉüøc\–ÞuûVôíÝ‹å+V±dÙrˆˆˆäé³g<{ö\]4Y©G{óö-Ù²}§tÚœ8yJ¹N|mGçæ­[!8zì8·oßÁÉÁA]실w»2gÎLÓ&Ù±u3ÍšÆ=õ•)S&²fÍÊíÛ·!…p2‹—.'**Š–._¡Ó¹øg¥vÍ´³µåäé3Q¢Ä,_º˜õëÖP§v-:vhÏúßâFÅ&îD411!GöìLŸ6™ÅK–)/Wtsuféò|üBtt4‹–|~/i´§ß¼yËà¡Ã•Ê5ðªÏò•«&66–ÕkÖòÝwY©–(¯ZZmÃvm[³mËFz7øÛ;›#""éŠO€% IDATÖ£yòäaðÀþDFF®Ä¤Nü‚ÇmÛw²yóV:wúâ_îW³†‡Î:×3øìÙsbbb˜3oV–äÊ•“9ràâìÄ„‰“ # €ß~_›kÜ9•\;,µv›³£Ÿ<áèÑc!ؽǗ·oßâ`o—ævr3¦O¥xñbʶhµZ&Oš€ïîlݼ‘­›72jäp .ÄÖÍ•Á;’$I’”’ä‡üÃ"Ãà &ù ""t‹úê3ft-êÔÝÃŒ™wñò*•âØ¿Kùrå(P ?vvvÉ>J•+WN/šÏ”i3˜0i2úüøãÌž5#ÅG_{öèÆø‰“©Q«.&9rЦuK†L£a-[·#$$„œ&&tèÐNA‘–Ù³f0yê4Üjx¢ÕÆR¸P!FŽJÁ‚º•¦GåÊ•>t0 æ]Ð; ,ÀÔÉ)ÿXaÝ:u8|Ä{GjÖð`Äð¡úþreËâáîNú (X ?[6mPÁÄÄ„ýûÒå—äÊ•“B Ò þçn®.ø¿yC¯¾ý $þ|,Y8_g$J–,Y˜6u2­Ú´Ã´ZÕ$‚¦%­c¦Ö¼YS®ß¸ÎÔiÓÑèéѼij×òTS <Ÿ Ù´e 9²g§f |÷¥¿Cvί3ð™0 ûøPÍš4¦Oïžêbé6lÈ &NšŠ¯ï>ŒŒ¨W·çã; S“Úvÿ™mläÝÿ×þ4mÞ’˜è2eÊD£FÞÔðpçíÛ·ÊˈÝtæÛ¼áwž?{Ž‹³“NzF¥¶îwïÞ¥[ž|úô‰lßeÃÁÞNùqêçí>b4ÛwìdèàÔ®å™áúB’¤/wýÆM†EXXïÞS¯AC~*S†ÉÇ0}ÊdFŽ‹£³yóäaðÀ:£ÓÂÂÂØ¼e+ çÏI´Ô8oß0uÚ É›'5kxеK\ ×>°`Ñbê7øüX:À1¿C/VŒ1£F2bôÞ¾ ÀØØ˜zujÓ¶u+¥\Zëö-qrt`ÞœY,^ºœ¥ËVEÞ½z0z¬b̸dŸ¨)W®,åÊ•ÅóáááØÙÚ0 Òp0_*µkföìÙèÓ«:ÿ€þ}1¯n†¾¾>ÁÁÁ?qK ‹d_tPúÇéß·ý bë¦ ôêÑ=¾mV‡Ì™éЮ-Å‹Sʧ֞ ãÔéÓtìЀömÛE£¦Í‰ŒŒ¢lÙŸX0oNªaRkfÎlüÆì=tä§Ïœ…ø°> *V¬ÀúukؽǗIS¦¡Ñh¨T±‹Î'_¾|hµZvìÜŜٳ--îÝ*Ý~éB»Ÿ;òáÃGªV©Ì¸1£•üÑ£F0yÊ4<<ë „ ~½º´jÙ‚‡%i‡¥Ön»|á,Y³feîì™øŒŸHÿAƒ)R¸³gÍÀÈȈ]{|SÝ®³gÏ1~âdBCC044¤RÅŠ,Y´ Ù§.ÓråêUnݺÍìY3ÔYܹsAÜ9“§MÇßÿ M›·Ô)³hÁl™3«³¾ªM[¶ª“¤d¨Opp0‡ø©‹I’$B^}¨bjŽ™¹ã'L"66V],M{÷íOóºšQ7nÞ¤ió–˜V·ÄÕ½&ë~û]'?""‚¥ËV`ic‡Ïø‰:yßšv:QºlÊ”«H…ÊÕ¨Q«óæ/äÓ§Oê¢_D]ï‰;w%i'%L#FVO—QcÆ2bØP®ýq‘&±aã&BBC¹tþ ‡öïÅÖÖ†Ö­¾ìXu› ¹k]ŸÞ½(S¦ŒNÚ¿Ett4cÆÇ޶N4kÙš«W¯Ê„IS°st¦b•jÔ©çÅùóÔ‹à?®Ð£WÜkÔ½F-\ÝkÒ«O?nß¾£.ú·Io;ôk‹eíºß¨Y».«˜bïäšµë”üׯýéòKwœ\qtv£{ÏÞé, F­:œ#WÎ\|÷Ýwœ¿ps33%ïý‡´û¹wïÝC___g¾à÷ï©\©"‡ìåò…s´kÓš®Ýz(ðA´lÑ\g]]œu–‘àÂ…‹4kÑš2eJ³}ë&.ž;ͬÓ¨^ýóºü“òåÍ‹•¥Z­–±> SKV…òå)Y¢„:YGZË400À³f uòWõðÑ#.ús#³ÿNzzuÒßF}||÷íçÐá#:e$I’ÆŸHÔ§OØ·‡õ¿­eío¿³aãfu±T…„„0uú J•*©ÎúbBÚÿÜ™zuërñüΟ˴³t:ÕºvëÁí;w°07×™÷[5°\»éÒù3Œ5’#~~´íÐñ/Ý©®÷¿DÝ:µ•öÑÀý°µµQ>5R]†ÄýBHüùÒµÎã&L¤q#oúöîÅ÷ßOæÌ™©X¡Ê—‡øQ'&MÁÒÆŽjÕ-hÙº~/ààäÊö;©SÏ‹ŠULiÖ²5wïÝ£k·T5³ÀÎÑ™]»÷(åÊÂE‹iÛþgªšYàê^“óç/0yê4,mì0³°fâä©Jù„ Z­––­Ûòöí[6iŠƒ“k’Ñj‰C ܼy‹ÆM[`am‹¹•-ýúL×2?Ë´é3±stÆÌÜ ÏÚœ=wN§|Â<N®lÚ²'WªU· m‡Ž¼ PÊ\º|ïÆM©bjŽ­ƒ .FÁýûèÔå^¼ˆ[Frá(^¼|‰‹{ Nž:«{M\ÝkBüèž cZÝÏÚõtF½û=†—wc¬lì±¶sdñÒeJ^xx8C†§º¥ vŽÎ¬XµZ§ÁýäéSÚv舽æV¶ôé7@ç¦UOOŸQ£Çbic‡­ƒó,B¡ä'H—_ºcfn¥|—šV«¥Š©9W®\UÒlœtE^¼t;wÕ9>»vïaæÌ_Ùã»'WóèÆÍ›ÔkÐÓê–xxÖNñ±ã?³/¶lÝÆÐá#YºlæV¶ÉÞÔ\»~k[åf(±OŸ>)k*W£qÓÊèË›6ãê^“*¦æxÖ®—¤£!±”Î-RXÇôž×Éý %HøÎò•ªbam‹ïÞ}J^jû>µó!£uELL ý ÂÁÉ•ê–64mÞ’çÏŸ+ùÒÿ7­V‹ïÞ} 4€|yóâ»w… dóÖÏ#G=~¬œoŽÎn,]¶Bg“§NÇÛË‹¬Y²è¤‡„„Ðà`Ì­l±¶u`w¢ëñ .ÆÑŲ*ãè즌BNu3S4 ¥J•$þ|„' ¶tñB¦OL-õÛgdd„¹yuV,[ÊýûØã»Ò¨KÓº†¦š ­6KF£´ô4zhHôYOƒ‡²ió BÅ*¦ìص›˜˜&NžŠ¥æV¶ 9šÈÈHîß@ëvqOby5lDÛ™2u:;wífÓ–­88¹ræì9V¬ZMÇÎ]Õ«ñõWJËV· RºÖ%ò"00ˆIS¦Ò¤YKræÌ‰×oÜ bSrK—­ Ë/Ý!•6ñךµëbfnEóVmtÂM¥ÖÎ8x(‹–,¥c箘V·ÄÎÑ™õ6*ùQQŸ(R¸09²g lÙ²Ähcø©L† L‘Â…ÑÓÓ£nÝ:|øø‘À ¸¸—ÿøƒ;v±võ Þ¾  N½ԩ߀žu0ÊdÄÂs5fœr|ñò%­Û¶ÇÌÜŠšµë²Çw/–6vʺd´]›Öv§7äÕ†›pu¯I¹ŠUprõàÉÓ§ê"_,kÖ¬øŒM…òåÑ××§råJ/VL9~QQQ”þñGôõõ144¤TÉ’ÄÄÄíÿ7oÁÛË ===vîÚC£FÞüP¼8†††ôéÕ“#~Gyÿá“§MgâøqT7û|ž©ïC6oÞJÆqOvöïÛgg'ŒÉ—7/ÖV–`F@f +È ä E’@9 *`uáÒüþCº¦CGüDhX˜HKÉÒeEÉÒeÕÉߌE‹‰,Y: ©NY²t‹/VÏþ—kÛ¾£X²t¹:Y!„½£‹8|ÄO'mÃÆMÂÍÃSXÛ9ŠÀÀ <µñ'‹í;v !„hШ‰xò䩺ˆBˆÒe+ˆç/^¨“…B¼~í/*Úu訤õ8X˜YX‹jfÂÊÖAŒ3N„%sn‰’¥ËŠ7nª³S¦NÞ›Š€€@¡Õjů³ç ['!Dü>hÒ¬…øðᣠ ›4å*V'NžB±cç.Q±Š©ˆ‰‰B1`Ðafa-<|(bbb„Ï„I¢L¹Šâ×9sELLŒxü䉨P¹ª¸rõšBˆÍ[¶ŠÆM[!„ˆŒŒ%K—¯_û+ë—Øó/DÉÒeu¾kúÌYB!šµl-V¬Z-„"""Bܹ{Wˆ .óì¹sÂÞÑE„„„!„xüä‰xÿáƒzežƒ‡Šðð!Ú´ÿYŒç#„" PT15ÛwìZ­V¼xùRØ:8‰5k× !„8vü„pruW-õ³ç/^ˆ²*‹ÖmÛ‹‡‰ðð$ª™YˆÝ{|…B8xHTªj¦œƒ<÷ï?BqëÖmQºlñòå+!„ã|&ˆ†Mš‰à÷ïEdd¤1j´(Yº¬xðð¡BˆqúÌY#>|ø(œ\ÝŶí;„ˆ?>%K—ûBñìÙ3ac館Gâã'„›¶£Çúˆ˜˜ñìÙ3ajn%Ž;®ä'èܵ›X°p‘Bˆkׯ ÏÚ¢š™…ˆŽŽ"þïrÕêµIŽù”©ÓÅà¡Ãu–eïè"¼7ÁÁÁB!æÌ›/ÜkÔÒ)“àÏî 3 k1tøH¤ó7röÜ9qïÞ}amç(NŸ9«ó &Nž"4l,^¼|)"##•ï‰z^ ч”¼£F‹šˆ  ¸¿«ÖmÛ‹’¥ËŠÈÈH!„kÖ®–Övâüù """Bã'Šq>ÔÉß””ÚM ƒ† "º4­k¨ºÞ·wt'O"m–ä,Yº\´mÿ¹ %â×µº¥øí÷ "$$D|úôILŸ9K4lÒL¼ÿðA„‡GˆÆM[ˆÉS¦ !„øðá£(Yº¬x÷á#G‰ “¦(Ÿ—¯\%~îÔEùœx½S[vrm‚”®u Ë{óö­ð?QÔõò7oŸ>}RÊ]»~]T¨\-Ñœqû s×nB¤ÐÆñËoÚ¢•øøñ£ˆ‰‰3gÍ5kÕZ­Vˆ4Ú ULÍÅ\BqêôQºl(„"((H¸º×ã|&ˆ}ûˆµê(í µƒ‡ {Gå{ÿÇÞY‡Eµ¼ü³,ˆH£*bë½vÒaw_½vwww_»» ÄÀ@»»»¥¥…e,v—%ôê½Þß÷|žgŸfæÌÙywÎÌœwÞ÷¾ýʃΜ•¿{ÿ^^ÓÞQþþù¤Å?vâ}zöÀØÈ]]]ú÷ë«t'È—/µkÕD*•’?¿!U*WæR ¼b¶¶xy*âÝ.\˜æÍšrìø ¥¼}ûŽ›·n1dÐ@¤R)… ÆÓÃã'Ô‹RÇÑK—V¶'OáîêŠm1[®^»NJJ ×oÜ Nõ˲¤uËPÏ;kË¡¿+ ‰D”I033EO/#¾hHH(]{ôdÚä‰Bˆu<ÌÀý±.T]]]Á ×÷€Í›5¼ê8:ââìÄ¿ƒj5ä®o©ÇÜö묞¡S§)nWŒÖ­Z¢­­•UAAÖd#ûÜô‡o+\œÐÓÓC*•âäT‡wï3bß‹üoŸ€a¾|ÈårÆŽŸÈÐÁƒ°-Z”Ï_¾ “É8{î<©©r†„¶¶6… YѺe ÁZ?99™ “&3uò$tttÔ«çäÉ@z÷ì©©â¹êÙ£»Jþá#þtêÔ‘êÕ«¡§§G1[[¬¬2¬•]\œ‰‰aðÐáðó£s§?5Z¾eå=ò_ÀÄÄ„èh…dNc)Ùّ̡›5Kn©Z¥2íÚ¶&_¾|èèèàã{€Þ={`”??úúz´o׆ã™ç¯ïáGÖ‡»g]‚CBؽc­Z4רg³C}‘Nû¶m044D*•Ò§wO^¼|)X¢f·Îpws¥R¥ŠØ×®…±±oÞ*ÆoSSSºtîÄ>_&LšBáÂ…5† ˆ`êô̘>Uïqóæ-jÕ¬Á;w©\©Ö…kÚèèhò€’uí»wïxððƒöG*•bllL—Î*ÝAÁ·¬ksjwn8xè0­[¶ JåÊhkkS²d‰Ÿ¾D&“1bÔhºuíŒ]±búÃÙ¹+W¯eæì¹Ô¯Wkkáÿ£Çøý·òØØØ@ÚxšWÍËC?¯>qññ‡œœÌÛ·ïðÙ·‡#‡üxüø ËV¬ÊîÝïCËÍ2Y=¬X¹š¼yóÒ¢y3H»—¾¾¾J}}}âããUÒ4µ‹4ëý •«Ñ QSŠ·£u«–*×ýh‚ƒC˜·` æÎÑøôÝÏ©€ã\¿r‘Ó§²båjë9u´ÕD¾ªU«¢§· µuD&tuP­šf×ÄM×Îhß¾­ð¿‰’2Eé3fÑ¢y3Nž äì¹ó8ÕqT/ÂÌÙs :Û·o0pÉ))ÄÇÇã]¯!î1\ý’LTªT‘»·®óåK —._¦M»ìÞ¹R%K¢¯¯'¼ Ø-ÊÀþ}1jŒz˜˜˜@š{—²‚H™ÈOŸ°Rrá•H$ØX[™æÊ`¦ä.–'O•ÿÓ_r’•\ó”ñyòä!_¾|*a ´µu‘EL! IDATHù›qÕ™:y";wífè°äÏoȘѣT\ýrƒmÑ¢ìÙ¹ƒ«V³|Å*Z4oư!ƒÈ“'zQ×gmmA‘‘Ÿ(X°€RI°±±!"2ëÃ%5Q¢xF\ÀÐPž?¡âš˜˜DlZ˜•ÃGüÙ»o¿âpD‰„ÈÈO¤ÊáÂÃ#TbÒYZX¨(:îܽÇÚuë ‰„wïÞÓ¡p;!?¿‘ªr²€¥%—/_UI U„+ñªW_HKþšL ψ£ƒ³æÌ#99™“'™:eúyõ <®®¢³µU9L3;”;ÚÚÚ]±ù²(Z´ÚÚ™§‚9ó‡‘qÖ®˜‘‘™bDFFR¡Âï*i66Ö„‡gî/¹é[êß1·ý:«g(<"‚Tï©LV²ÏMø–±",<œåËWrÿáCË‰ŠŽþÏ…ùy˜šÏŽ]»ÑҒкUKÂÃÃÑÕÕE*•FTTöuœ…kRRd”/W€UkÖR©bÅ,çÈOŸ(de%ü¯¾‘Aá4e:111´û£#cG¢®·wîÜeÀà!Ì™53Ë ªÿ"ïß¿Ç<íL‹œÆR²™C³#7k–ÜR¼¸jœî°°pF‡¶¶bNÉR3“ßˬÛÀÀ€£G²uÛ4nJ]//Úµk£¢@T'}= Œò##¥pºººJ‰ų]g ö{’>~§ý¦7oáˆÿQ‚N@__Ÿ•«Öж}Gü|÷ ÊÆðˆ:vê€~}å/@Ò×$tuu±±¶æõ›7|ýú•ÐÐPž>{Æ—˜^½~Ml\… Ûpëöm óåSQ–ZXd>gå[Öµ9µ;7„‡GP©¢Bÿ3‘Éd 2  P„P4d àL`QÑÑŒ?‘Q£Ç²`þ\öîÛO»vïA™¾ ñ !ÑÒBWW—!ƒ›ÉF::üѾ-ë7nbØÁÄÅÅqüDÇŽR¹ž´~pìÄ ¶nÞ((kó¡:ÒIHHP1Òɪ]Ý»u¡[×ÎDDF²sçnšµhÍqÿCßý|eGjj*ÃFŽbÔˆa*ke”ß·ªW«J›V-9t†¦Mþ¹³‰DDDDDþ›dÖ2ˆ|3U«V¥X1]¢¢N"—k>%X"9NÉ’†T®\Y=ë§```åÁÊ9ËÍ[·8rðöµk1nÂDŽ9„Aš…E:cG¤kçNôìÓ—ƒ¾ûñ?zŒ+W®2er是9‘?¿!Þ^ž¬Y·žk×oPªdIõ"Èd©èé©Z¦Ì)^ÜŽƒ‡3tð õlHSl½{ÿž²eËi>~ÄZéÅE“…Bv|kùt¾÷:©TJ‡?ÚóGûvð;Hç®Ý¹~åRifëƒì(Q¢8 çÏ%<"‚¾ý²rÕ T]ܦ£É²À¦° GWIûøñ£ð2˜Ûf*×oiaA…ßc׎m*eH‹í¢¥•ÙRPWZÍ¿ùè‘ÃIJJbÐaöóÕ¸Ácjj»wï…{§ccc“éTõ>bg—aÁ“NN}‹,¾cnúuVÏ™©Y¶±’³’}núCV¿§&FŽK!++vlÝŒ®®.;wíáÐÕ8º"ÿ»˜››#•JY´h1»wmG"‘pïþÁ2ÑÚÚ»bÅ8rè€ú¥=zœ§Ïž±wß~!­O¿ÔõöbÙ’¿°°0bÊ’vH›2ÆFFYƽ}çzºzÔõö bÅ 4nÔˆý>¾ÿoÎ?sîüΟ›«±”læÐìÈÍš%·¨ˆknnÎü¹³±¯]K%ýG]Ýš†ÁœÆFkkÆŒÁàýññ=@÷ž½)lcêËjI…óÒ ÉÜ75É?Ti¾OHHäóçϘ™šæ¸Î@ƒ<•ññ=@¿>½…¹qð ìóñáÖí;Ø×®ÅÇÁtéÖƒݻѲ…Âò53S3‚ƒC¨X±õêzÓ¦] ,Àö­[˜}"55•›6“/ŸFWÇŸMžâ¯^Dä©TJ“ư¶±Æ0_>^¼xÉÂE‹iÚ¸¤¹ø'$&°jõ¡?¾}«P´øöãù“‡Âç·òåY¹|)Ë–üi‡÷®]·˜˜X»nƒÊý½¼<Ù´e wîÜE&“ÊËWŠP666‡së–â ä°°0Μ9óMë‚_•ˆˆHNž¢S—nÔ®Uw7׿5–æÄÏ\³´hÞ”E‹—ã[tt4Ož>U/ö]dW·¦5Anç:}}}þhߎ£‡Òáö².DJJŠpxmTT§Ï¨]©™íÛw sÔò+±±±¦téR9®3r¢˜­-'IJJàò•+|þü»bÅxóæ-üÙ™ž=ºQ¿ž7ñññÄÇÇ ‡Lz{y²}§B!9°?|÷ïaåò¥”-SšÝ;·±aÝÊ–Qlä)R˜Ò¥K±lù d2±±±lÙšy£>·üvOœ6¨¯&¬y³¦ìÛçÛ7oIIIá¯%Ëp°¯™™)ÆÆÆxz¸3uÚ âââ cë¶íx{)Ö{÷ûЪEs¡.€…-&àä)V­\Nž>ž«Vcnn†Í·o@eÇ–­ÛÙ¼eåË•åâù3òó>åË•eäðaŒ3šðˆNž"..Ž””Ξ;Ïž=ûDëf‘\!Z8ÿ ôõõyøðuê4æÅ‹‰DE)ÜÉMLP¢„!çÏŸø)®Pߟ»ÊÔé3É“'Güâho¯b4yâê6hDƒúõ¨USÕJéùË—”L³¬zúìöµUò³ãÍ›7Lœ4…4—ôâvv,œ?—òåËAšBjîüÄÆÆafjJ‹Íè×§·Z- ÜÝ\Y³j9+W¯eÕêµ$%%aiaÁØ1£(Z´=ºu%1!‘¦-Z‘˜˜D¹reY·fÕ¿&ÿÆ0~âdä&±kÇ6Š-¢^D#‡¥O¿hkkcldÄô©SKšÜÖÍÐ#‰ˆˆ$ŸeÊ”fÌèQêÅrÄÐÐ ëÖ0uú ¦MŸ‰¡¡!íÛ¶¡eÚ¼|¹rÔ¯Wº aU°‡ürŽílffʦë˜9{.S§Ï@[[JéÒ¥Y¹|)n®.9ƒgÝX˜›S¥J%œ2Bo 2˜)Ófàæé¾¾=»w£˜­-¤½èŽ=’n=zcffJ!++Z6W}QèØáî޻ˬÙsÐ’JéоMÒ”8ê¬X¶„³fãäêŽL–е5S§L¤P¡ WôtìÙµ{£FfX¾¹¹¸°kÏÞ,­þš6iBÀÉSÔ¬íHÃõ¿ÙkàïÊ"'¦OLã¦-X³n=½Ôb¼Ž6ŒÙsæR¯acø­|yvnßJåÊ•˜z¤~™ ZR)ƒöçŽ ¡T©’¬\¾--­×91iÂx¦NŸ‹›ÂjÕÌ̌ŋR°`ÆŽŸÈ»wï5f£ÆŒ®éÕ£;#†¥oŸ^´ïÐ ‰:´oGHIIáÉ“§¼|õŠF ×H$–-þ‹q&QËÁ‰B…¬hÚ¤±Šµî·ð½íNMMåòå«Tø]a(âíåIpH} "<<œ‚ °iýZ¾&'sîüyz÷ìÀÝ»÷HJT(åCCøté22™Lc¼weNœ<Éù Š3=víÞ#¤W¬Xý{v±zÕrfΞËò•«Ëå”-S†Ë– “Éð=àǪ•Ë•jƒjU«0p@?:têLtôgªV©Ì¬Ó…üÓ§2cæl\=¼‘Ëå4oÖ”Îþäùó¼yýOw¡lhh(+V®ÀÞ1#¤Àƒ»·000`ÕŠ¥Lž2AC‡Qئ0+—/EWW¿C‡³m×Å‹—˜2m11_ÐÑÑ¡RÅŠlÚ°.K¯ªïåÑ£GÈ‘ âÊhkë`h˜üù ‰ˆøÊÖmÛ=f_“¿b[´(Ó¦NÎôŽ("""""¢‰tÿ+e?,‰ÚGKé#UúhyÒN'ÔMûè]»qûb‰â™Ý¦5qãæMjÕ¬Ú!ê”(­PJ>’õÁw¿·oߦråkܼYí £!""""""""""òk“””Ä–­Û9y*èèhd2VViÛ¦µp˜rVœ=wžÉS§ ŽJDDDDDDä¿É•«W©Y£†zòß"6.ޫ׮S%—úÈç/^Q½j¥ª@|’¥OªÒG®öIGø[´pþ TªT ¨@.[‘ÿtuuéѽ+=ºwUÏÊÄå+W(Q¼ææfDGG³vÝzìkçÞËPDDDDDDDäß@T8‹ˆˆˆˆˆˆˆˆˆˆˆü‚ܼy›£ÆðåK ÚR)ÎÎNŒ>L½˜ˆˆˆˆˆˆˆÈ/…¨pùéÛ§}ûôROù¥ÑROù~ ç¤$ÅéÅ9‘Ûr¿ŠÓ„ÿ[ßYDDDDDDDDDDDDDDDDDDDäûù%Î"===õ$‘ÿ‰‰‰êI"""""""""""""""""ÿaD…óÿä/ö¨'‰ˆüÒHŠ·VOù#Æpù!ˆο7oÞäÖ­[T®\™*Uª¨ù%-œâããqqq¡sçÎlݺ•­[·Ò¥KÜÜÜHHHP/þS¨Ôpg¯>ROÖÈž#—¨Ûe†zr®yI¡Ú½ˆOøÿq¨â¦ýA8¶ž?©mWÞ‡ó×S°fõä\³i.í'«'ÿ£´hÕ†7nª'ÿOÓ­G/vïÙ§žü¯rÀï þ좞üSù7_å{h"!!‘~QËÁ‰f-r…ó#Û2vüD–,[À±ã'èÙ»Ÿz‘¿ÅϨóÿ÷î? M»Ô´¯ƒ}®\½ÆãÇO¨åà¤^ôŠïí;!!¡¸¸y’ðÏža <*?Wš˜>s6kÖ®WOþ×P–õ‡)_¡22™L½ü‹òÍŠ~éÔµ»zr–T¨\—¯^©'‹ˆˆˆˆˆˆˆüçοéÊæÒ¥KÓ¾}{êÖ­Kݺui×®%J”ÀÅÅå9\múжT(SD=Y#uª—adÏ&êÉ9RÞ{('ÎÝ¡ …1ïL^}]õ"ÿ(Ñ_â(âØ‡Þãת¤‰M Uÿ…Ø:}ûËdnÛÃÁ“×Õ“5ò½òþ¯Ñ³w?ÊW¨¬òY»~]ºõ¤Båjxz×çâÅKìÙ»Ÿš’””¡Ô¿wÿŽÎnDDFªÔ 0 ?J–,©žü¯±ßÇ—ù AÚ‹}àé õ"ô0ˆ†›©¤ÅÆÆ2dØ<½ë«¤ÿ›ÔoØ„  3DGGs:íï¿Ëýxòô©zòßâDÀIbccÕ“ÿSh’ËÏl—ßÁƒ„‡Gp.è»vlUÏþ©÷V¦jÕ*tëÚY=9ßÒs[ç¿ELL C‡¤¦}ê¸0gî|RSS…ü„„6nÚ‚“«;³çÌS¹6'<|HŸ~¨QÛ‘ZN <”¨¨(õb,úk1¿ýVž‹ç‚8}ò8U*WR/òÿ‚ûÐà`ì©R½õ6fËÖmêÅrÛwÔŸWss3F¾þ;ð944,ÓÜ™þIŸC¾elÖ´1nêÉÿêcJneÍO’¯&X»n=mÚu Q“æÔoØ„VmÛ³ióRRRÔ‹‹|#©©©ìܵ›&Í[R­¦=Þõرs—Åà¡Ã©åà„W½†¬Û°QelL§q³\¼x €-[·áêáM-'úLtt´JÙ‹—.Ó¶}ê¸ààäJhh˜J~xD5j;Ã…‹ù³K7alž:}ÉÉÉ*u5iÞ’êµhÓ®÷<€\´ëÆ›tïÙ[ØàëÕ§>|òÕÉjM8|äèLcAù •™3oJ¹t²’M\\K—¯À«njÚ×Á«n¶nß¡~¹ˆˆˆˆˆˆFD…ó/@ýúõ©\¹2ÅŠSÏÂÎÎŽ *РAõ¬NC·ªç7POÖˆ•¥ nµSOΖ˷ž—€‡Ct´¥´nP[½È?N¯ñk07ɯ’vçѪ7ž®ŽJznÉmÛöú_âà©Ü)œ¿GÞÿU†ÄÝ[×…O÷®]ظ~ ,-7v4ööµiݪ… Y±rÕRRR˜8i £GÇÜÌL½J\œÈŸßP=ù_ãÚµëT«ZÒ^.ªT©¬^„]»÷¦ú²óøÉSÚ´ë@žgؼaþþÇØ¼EuƒèîÝ{ÄÅÅQ«VM.\¼Èú ›Ø¸~ ç‚Naaa΄IS„²AAg˜iT6§S¼xqBCC¹sçŽzV–| ¢yŸù˜Tî‚yÕnt¹‚Ï1ŠÅûë÷á”tHÀù»”rD)÷AØ:õãä…{B ×ÆÖ©ÕºÑ}Ì*ºYŪ Bâõûplú±aïiŠ» À¤r¼;Ï 8LÕRjýÞ@:·pAKKÂë÷áHŠ·&EUΘy;(âØ³ª])ç=„Ó—–ÛýÎQÖkæU»QØ¡m<Àüµ‡hØ}¶Jý »Ïòáû˜UíŠGÇi¼~®R~Óþ >ÇÄÓÈ]¡øKGOW‡e“»Ñ«§JznÉMÛvºÀø…»Ø}ø"¶Ný>k+ÕšŒfåö*uÕh6†%›ªÈ $<𦽿aVµ+E3äR¿ë,f¯: ”ë0t)kö@.—põÎsŒ+uF&Ël’Îó7!¸w˜Ši•.ü^oo>QÉ?rú&Õ›ŽÁªVO¬í{1wŸ×yÄrÖï ¤Óðåäû½#ÛýΩ\›š*§ýàÅ´ø—Jº2Z-¤R©ðÉê¥rÚ”ÉìÝ·ŸG³fÝzŠ)LÚ­~=½ëséòñ§Q“æØ×qÁÍÓ›-Û¶ððá#þèØ™:.n8:»1zÌ8H³N«VÓ^¥¾›¶0`Ðáÿ;wîÒ¶}ìiÚ¼•p/ufÍ™KÃÆÍ8v"€9óæS¯ac^¿yC‡ŽYµ:ÃÊþåËWlÚ²•žÝ»©\¯«›‡qcGÓ¦u+•tÒ^<œ\Ýyôè±zë7nÂûŽÎnL˜4--Õá¿/õ6¡¦}š6o¥¢°;àwÑcÆ1gî|œ\ݱ¯ã”iÓk"cŒ9┥K—sìø <½ë3oŠ[™7oßÒ£w_\=¼qtvcäè±*VAéÌ™·€S§™5gžÞõ9prµ§w}n޺͟]ºQ©j BBB…<™LF—n=§]‡Žxz׬—¤ÚRfÌšƒ«‡7µ˜8yªŠ²Àç€ÞõáPÇ…n=zñáãG!O™±ã'²jõZzôî‹C5m.X~œ9{Ž6í:àìê‹»ë7nR¹^™¬Ú©.—cÇOdÙ®Ü~ïäädæÎ_ˆ“«;µèÒ­'/_*\º/]Æ~>rOïúœ;A¸îŸ©2Ê¡:RSSùkñRÜ½ê ²¾zíZ¦>8}æl*U­!´àË—*U­Á“§O3…ÿÐ$w™LFMû:ܽ›1?ºyz3lÄ(áÿõ7Ñ·ÿ@áÿL&ãø‰F ‚…¹9ÇO`eUŸcüÊåK™3k P¹–4Mš2 OïúÔrp¢Ió–œ9›1&;Õq¤EófX˜›cbb‚‹³3oß¾ƒ4K¾FMšãèìÆ«×¯>r4•«ÕÄÉÕ]¸^[[›õ7áäꎓ«;-Y¦baøåK &MÁÑÙ*ÕkÑ¢U¡þ_YsçÑ¢ySöï‡ úúúüV¾<åË•ƒ,Æå¾ýù3C†ÀÙÕ‡:.´ï؉OŸ¢2=¯'Nf ‘ݸ0vüDÖmØHßþ±wtÆÝ«.{÷íò•æL-Åœ©<¢6|‰ùB·½°O«Îœò”Cnð;ÈÄÉSÙ¸i ŽÎn‚òËÓ»>GüÒºíÔrp¢yË6ܺ¡„Ê®]éDF~bþÂEtø³ ÆÆÆH$cŠúsª­­ÍÞ}>xz×ÇÁÉ•ÑcÇ ÑêòÍê·ËnNKIIaÔ˜qBý;uáýû÷ÂýÇŽ›HÏîÝhÓªӦϤq³4mÞŠi3f2fÔH,,,8x(c=šNjj*#GeøÈѤ¦¦Ï„‰“qprÅÝ«.[¶mWÙÔKIIaÞ‚E8¹ºãèìÆä©Ó³ôxÌn' 9$$$ Ϩ‡w=¶lÝÂ=c IDATF“æ-yùêyóæ%Ož<´mß¿–,ãóçÏ*÷ûÙ0yâxÊ—+‡T*å÷ߣh‘"¼|õŠ””Ξ=G¿>½ÐÕÕÅʪ ƒöÇïà!•:öùøÒ¬I´´´8|ä(-Z4öhQtttØ¿AgÎÖ®-fÚ”ITU2P_úúúѬYSì‹‹3zzzX˜›S«f ^½z @àé3”*Y7W$ 6ÀØÄ˜ó.fÛ.€F êãâ⌶¶6:::¸8;©¬e”ÉnM¨¥¥º–>~"ccjÕ¬¡^4[ÙÒ·O/¬¬ PªdIŠ)Bpp°z5""""""™Îÿ2·nÝ,³ÃÌÌŒ7n¨'gIó¾ó)haLðå5¼>·œÐˆÏt³JÈÉÜ5~Z;ŠÛ‡çª\KšRqÎj?ŽoGøõõx8üΆ½§Õ‹ ¼ùιk¸wt>/­`ÖÊŒ—â¸ø$ö¹H—–®JW)8{í!;]àþ±…DÞØ€ßê‘T*kË×于Zɮщ¸±ž›‡æÐØ£šúå9yá#goãкQD\_OŲEi30Cùõâm(Ó–îgÓÜ~ÈÔ\ðJÛÂÓ±‚JÚ÷’UÛÚ5r GwÚ4´çõÙåÌÓ‘.-]Ùê›ñÂ÷ìu0w½¡}cG•:Zö[@áBf„^]KÐÎÉL_æÃÑ3·ðªSAPÖ§Èdœ8wSã|\»û€ÀK÷q·ÿ©Tó£/—ËiÝåK&äÊZNm›ˆÏñ«*eì `óü~_^Ñuc7o?FùcæíÀ¾j)>^ZC«úª–Þ}'®ãKl[PIÿ ,ÀÐ!ƒ1j {÷ù0iÂxõ"™HNNfÂÄÉÌ›;›‹ç‚Ø¿gn.ÎÌ™¿€ºu½8ÈÉãþtÍ¥ûnTT}ú  ÓŸ¹xþ ú÷eÐa|ú”Ù5}̨‘ìÚ±+«‚=|qcFãíéÁჾô“œœÌÈ1c™4a<††ªVÙÅlm±¯]K%-c##ªW«†±±±z§O³aãfV,[™ÀjÖ¨ÎÅK—…üó.²ð¯%Ì›;‹+Ï1bøFŒÃã'nà‡ýbgWŒÓ'Op`ÿNŸ>é@ŘЧwO ,@ƒúõhÙ¢9u½½8îψaJùtÌLMéÞµ 'ûãÈ»÷îqì¸êF À¨Ã(S¦4cF à¸?^ž¹’õ¤)Sé×§7Ξ¦@K!]*•²võJvnÛJÀq!ÿÆ›T¬ð;§OçŸ/gÏÜ—._aþ‚E¬Xº˜ógOSºti†+)ÕÙº}#‡åüÙÓ è×—¡#Fñ1íŬ° 3§OåÌ铬Z¾”ÅK–¢^E¶íT—K]o/íú–ï½lùJnݾᄑ\8DõjUéÑ»‰‰‰ ПÆÒ¸QCŽûSÇÑA¸îŸ’©&nܼÉÿ£øùìã¹ –-ù‹Ò¥KgêƒãÇŽÆÕÅ™ƒ‡3”?'(Y²¥K•R©3+¹þü…Õ«qåªb,¼ÿàùòåãҥ˂ëü•+×p°Wݘú»|ø PÂÛ-ÊË—¯Ø¹{7‹-àí›·BmmÅÙÏ©¬)µ´´p°¯ÍîÛ¹|á,=»wcĨ1-/CCÃðõóÃËS¡P¶07çŸçÏb[´( çÏåÖõ+œ=}J¸æÓ§(>~øÈ©ÇصcþGá{ crÒ”©¼~ýšm[6réü&Ž'(-~%>}ŠâÑ£Ç4mÜX=K…¬Æ€;.ñ'sîL cGÄÔÔ$Óóêåé¡r¹Ö­ßHïž=¸xþ 3¦MeÚŒYDF~R©ã{8zì8ãÇáâ¹ Fΰ£4ŽG¤Í!¯ß¼á ï~ÆŽ)¤oܼ…eKqéü<Üݘ:m¦—]»Â#"˜3w>½ûõÇÎÎŽ>{éÒùO´µµ³S”IIIáí»wó?DÀ±#D~úÄ¿«ÐôÛe7§ikkÓ ~=ùùpöôI,,,X½fOŸ=#&æ Þ^žÌ_¸KKKúîgöÌé|ü¨ëԯǕ+™7ž§Í˜Ill,³gNGKK‹%K—óâÕ+Ž:€ÿ!?^¿~M||†e÷ŠU«¹uû6‡ü| 8æÏóç/X±R±ÆV'»q<u9,_¹’7oÞpô°GäÃÇ<®X/J¥RzöèÆý{)XÀ’Î]{°pÑbawþ >}ŠâÍÛ·T¨ð;ÉÉ)¤¦¦¢«—6Åʪ oß½ ,8~"€fMÏõëׯ)ng'”711ÁÌÔ”Ï_ÆÇÁ¼ÿž­ÚàæéÍ´³T¶ݸq“™ŒÕ3¿‡ÈårnÞº-(«_½zE‰ÅUÊ”.U*S(,ÔÚ¥ŒL&ãé³g¬\µ†æÍJnu²[*#—ËY·a#];wRÏ‚d£Ìç/_رsÑÑѹº¯ˆˆˆˆˆˆf­“È𧝂¹zç9³Gþž®ùòê1wt|Ž_¬œ“¾&3ÌŸ”¶+¤1Öðî#éÒÒ…Òv…hÛÐr%lÔ‹©0a@ òê뢯—‡¦žÕyô"ÃdïÑKTû½8Å g~q°.`Êç˜x6ì $&.’¶V˜ -•R¬°%Ë·ãíÇ,LócW8³—&6ûñgs'Ê•°A"‘0¤k®Þy·ÐO¤Èdtº„Å;SÐ"³rîG’UÛ4Ñ®‘7¼âå;…%Ãv¿ó4r¯Š¹‰ªÒñÅÛP.Þ|Ê´!mЖJ±+\€¦^Õñ9~¯:9ý1É)2‚.?Ä®H»WãÐ)ÅfEà¥ûx;UT©O™—ï¸ýè5Ó†¶!Ž6–fF ê¬j5\¶„µÐ*•³ÅÊÒXÅzÜ¡jizµó$>}òè(”!R--Æ-ØÉã—Ø·|:Ú ‹+M¬\½F°˜sruçáì²ôðp'8$„Š~ÇÔÔD=;R©kkvîÚMpp&&&ØØ(Úb[´('Npïþôôô(•ËX—§ƒÎPȺõêzàîæŠ©© .)bªóèñc¡îGQ²”ê}-^J­š5¨]«¦JzN,X€óæhTèœ8I“Æ(U²$R©”† êc[´¨ðÐaš6i,Xó9ØÛãTÇ‘CJJº‚ Ъe ¤R)–––T­ZE°ž*_®œF—NMäË—š5ª#•JÉŸßJ+òNÉr,;r#ëÖ­ZR³Fu 2Y'e…………`onfFÕ*•yýæ ¤Y÷5i܈âÅíH$têØ»÷î¦î$w7J–(D"ÁËÓƒR¥Jr6ͪÔήÅ‹+^êÊ”)……95Xöæ¦9ñ-ßÛïà!zõ莙™)ZZZôéÝ“ÄÄ$._QÝlú~¤L5aiiIl\,>üˆ‹‹£h‘"åW ”NÓ&9rÄ_PD:âO³&™•‹ÙÉÝÁ¾6W®^ ðt®ÎÎ)Z„ë7n’’’ÂÍ[·ppÈ9”Ò·Ÿ@>är9'OeЀþ-R„Ï_¾dR§·M/OallP¿©©2BB3¬åü¢¶£Þõ¨\©’FK¹ì0 :::²²¢U‹fœT(¤¿~ýÊ©ÀÓŒ6Û¢EÑÕÕ¥bÅ B8Ž_‰tšµµb½“Ù-…‹æÎÝ»9‹\.ç·òåUò³#§qÁÅÙIPFÕªY#£ü¼}—±é𽸻¹QÌÖÒÆü²eÊpælƦ·2‰„ ãÆ`jj‚ž’’¯}»¶XZZ"‘H¨ëíÅ‹—/…¼¬ÚG½ eë¦ 4oÚä»úEçN‘J¥äÍ›—®;q" c3DM¿]vsizzzH¥RxŸ¶tûö]jÖPX‰Þºu›ÆBš•{Þ¼yAƒe¬TK‹ÅK—ñòÕk-˜'l8y’žÝºbld„®®.}z÷R¹î€ßAztëŠQþüèëëѶM+NingnÆqu9=vœž=ºchhˆŽŽ}zõT©@WW—¶mZ³}ë&ž=N½†MþñÕ2™Œ1ãÆÓ¹SGŠÙÚ¢¯¯G… ¿³yËVd2á,úk ©©©‚쟠|¹²X[[CÚxšþû¤£ŸWŸ¸øxBBBINNæÝ»÷ìÚ± ßý{yòä)«Ödxží÷=@³¦3ý¶«×¬C__Ÿ¦ióJ|Búúú*eôôô2¯Þ®t6nÚBõZ4kÑšbÅliÑ\õ,oåä©@’’¾jÜð"Ù¤c_Ç{GgÖ®ßȨ‘Ã11ÉyÍ-"""""¢XñˆükT®\™%K–¨'g"**Š*U²Ž%¨LXägòçÓ'¾ŒÅN1KRSåDDÅ Ms¥/[B±ÓDpXÕ+¨îÎ[Yf¯œµ)˜;WG[JrJÆ ñú=ôn¯9DEI[+.ìÆŒå>L_æCç–.ÌÖÝ<:\Ü;9«ý¨Öd4uª—eñÄÎ*÷Q&55ã…ûCÈ'ü®³ãày!Í ¯.Ÿ¢cYµ=€ª¿ÙÑÐM5”ÆÏ »¶©cjœÆÕØvà´dÇÁó,ŸÙáCˆÂ²©Œç`!íkr Þu*Q®„ &ù ¸rû~'¯ÑЭ Î5Ê1`Ê& hÁ…OX;Sõ…F™à°(ŒóçÅÈ0cáYØJUÞ»_`ýž@¾Ä& ‘H‹üBª<ÃJ¼¬†‰Û^sëá+jW.…nžì‡N;ЦM†ÒÃØÈH%_™ÙsæÑ´IcOqþÂE²·0ÔÒÒbÛÖMlذ‰VmÛS­jÆŒI–L?–={÷1jôXòç7dÄða*®•Ê(·7$4”/^ª¸š'%}%Níµ>ЫO>ùLjªœ†›Ž¡a>|}ýX»z%¯ß¼áúõlßšÙõøïÁï¿©Æ/X0có&22’ß~SUX["<<ÃrÝÒRu³HG[;“Ò+7ܽwŸ›6‚xÿþí ·Q/¦‘ÜȺx6ቲBY¤µMž6ž„……s:è Güý…|}}}¢?Î$4ôW«‚ WlÈø=†ïâââ§Y6)÷¥trÓΜø–ïý)*Š‚J!$ 6ÖÖ|úôýV”?R¦š(Z¤Û6obͺõ¬Z½–fM›0h@?Žö$''sóæ-lll¸wï>‹e>8);¹Û׮ͼ‹HNN&00ˆ‰Æ¡§¯GPÐtuó`jb¢²‰ó#051&>!Ý{÷¡¥%¡EófDDD ««+„IÈŽÔÔTÖoØHàé “ÐÒ’ðõk22¥¹ÙËÓƒÕ«Á¦-[éÝokW­P©'+ôôôTú»¥¥%áŠ1#::™L&({~eÒ'‘e3ßd7¶4jPc##ÖmØÈ¬9séݳ-[4W/¦‘œÆ…‚U7µµu~ˆÂO}ƒÆÒÒ"Ó¹é)RXP’*SPéyÕV›²j—~¾ûرs7ÍZ¶ÆËÃ֭[b]({…¿:ù•<€,-,ˆŠŠÊR.š~;õ±FyN ˆ`Õª5{Θ±ã‰ŠŠÊõ'""""ò¿Ë?·bÑH•*U033ãåË—Ø)¹3)óüùs (@¥J¹;¾XaK>ÇÄó):Sã|¼ùŽTªEa+3>†*¬y´Òâüi¢€¹± ØL'üSö‡dUßÓWÁÜúŽæÞY[l–+aÃöE ¦yŸùÌ\áË”Á­15ÎÇœQ0epk†ÎØÌC–pfç¤R­Lqˆß‡D [Yš0¨s}¦ ͬȪÙ|,yõtÙwTR 6>‘ÔT9§/ßçÉɬ]2¿—¬Ú¦ÉJ¢s †ÎØL}—ÊÄÆ'R×)óoneiŒ¶T‹×gWh<ØÐÓQVãpà Ž¬Céb…xü‰Ý‡/RØÊŒ¢Öª‡ (SИÏ1ñÄÅ'aWaù#ä_ºõ”cVsn÷T*•SXcXÕRµˆÑÔ¬,L8·{*ö­Æ3wÍAFõj¢^D oÞ¼þSçì¹óܾsß}{¨U³“¦Lå ï~ 4[§cldÄÐ!ƒè×·7sç-`Äè1lÙ¸©TJ»¶mhÛ¦5‡¡G¯>\8„TKšéäóP% AK ~+_Ž­›7ª”QÇÚÚšÃ}™0i n®.¸º8Ó¨is6oX/X N™6×oÞàîU€”äbãâprugÃÚ5™\4s‹…¹y&ëQåÓÙ­­­3‚þñc0ÅŠeXÜdwÀ”2šúu:_¿~¥G¯>Œ1ŒfM› ‘H1jŒz1õºr#k‰ZljeÔëKGª¥ù%Œ4%L•*íЯ¯z–F”ûÀ»÷ï©R¥2wîÜeÒ”ilÝ´2eJàìªÙÚ(§vª·Cý¾ñ{[[âý‡Â÷"-j¡\(€4Ý›,Ó¬(^ÜŽ9³fÉÀÁCY»nýúöÎô¤R)5à°¿?E ÁÅÙ)ÓÆ¹»™™ÇOð)ê•*V ¯¾>ƒ‡ Ç0¿á·n&í~R©”¥K—³uËF$ ÷<¬FsbϾýœ:ÄÊeK¥jÚª!šôõõÑ××Çʪ ýûõ¡aãfÄÅÅå8Ž’¦@‰þüYeXXææ¢¥¥EpH0ff9‡ û7155ÁήGŽe`ÿ~êÙÙ-u¨ãèÀýèÕ§?EЦFõê™ú£2¹4Í©?uårHh(•*iö€ÊjüÏJ&9µËºP!F Bÿ¾½ñ;xˆ>ý`cmÍÒÅ‹²•—2ááႇRhh(†††Y*B5}ϬÚDZ k«‚Ù¼aºººìÙ»Ÿ#GBÚ—Óba1œé3g±mÇNþh×–‚Vi÷GGj×®E£†‡}›[˜³eÓ:tìÌú›èÞUÚÌÌŒ°°p!¼Ï—/1*J{333fÏœ®1î®:¹ÇÕå~ÿt¯+åû'$$2hÈ0ÂÃÃù£}[öïÝ¥bÝþOðõëW†‰©©)“'ŽW9{ÂÆÆFesléò‚gØë7oxþâžînB~É%T,𣣣ù… R©IIIÄÆÅ 1_““É££Pðú=FÅŠ2m¤®]·^²líj•ͪâ%г{÷^•²OŸ>Ã#íûd×®t$ æfftíÒ‰å+Wñþýìì2oœäÄ…‹ù,X_k";Ù(£§§G…ßÃÃÝK—¯ˆ g‘É<Éüã9r„;wîðâ…j¬,Ò”Í÷îÝãȑ̇d…uS¼*2ñ¯Ý$}M&.>‰©KöÑ®‘ƒâ 'ZÖ«Åß³<{­ˆGw8ðwŸ 熽´mh¾žæù·#„ûX˜æÇ®H¾Ä&ð59…‹7Ÿ “¥¢§«C…2Eù«pG+^¤·½B„\¹ýŒ‡Ï3Üò;·paõÎ.ÝzŠ\.'!ñ+Wn?àÕ™åÜ?¶€Û‡çqûð>ž¸¸8*UªˆD"áÃÇ\Öç2S¦‚˜ššúͲV'Ož<ðè‘"LKVa”iÒ¸»÷ìãλÈår…¾ ‰³çÎ röµk±pÑb>|üHJJ /^¼ÔÛþW`èàAlظ™µë7NBB"oÞ¾Íõ!‡Ÿ<6ñŠ)‚±‘±±Š¹EýyUæ[Æ…MЙ³ÏÎîÎì3;3KcU½1gÞ|Ž=ÆÜ9³100 ""B)_]œyúìÇŽGÁ®Ý{ÆÑÁ>Ãý:xè°2G{DDK–-'oÞ<Nù“–ÅK—Ó¦uËÇoÝú ¬]÷d7>äæ­ÛÄÄÄ „àÞýìÝ·ŸÊ•¿Î»n$I’¤ÿm™k}”¾)cccŽ?Nݺu9{ö¬ò”üÇ,X“'O~ñ0ªµ3ûÑ×wÅì{¡§§‹—S5fŒh§N–¦†î5¸ÿä®m' ££C}×ê¸ÔÒ’ŸM<«·ž`ûâÏ/™Q ûHÛs zóžìÙŒ¨\®8?lFÿzn?|‰±!?ÊÇ /V«çRo·X7…‰±!¥‹¢e½Ï/³r·«ÄÌQè곈?_…ÕÈn–XU)M|Ú=ÛL²Cþ¼){¼ý]ií@»Fl;x‘5»Ò²ž- &tEOO—v ˜¶x;w¤Ýxºeáú­¢˜}/4šxŠ›™²pb7Š·»]%Ú œÃ°îŸ{3ÔwI˜ªcºOú瀎Žç¢Ç¨%ä¯Ñ³‚yÙ«1ý¦x¨çRÝG¯PÎmMsaS½ uSŸv"5Ëeúˆ¶´ì7[•®.ÝzÌä©þdÉ’…½ûöccmUÍJšÑ#GРQêÔö¤fÏáÉi4fÎú…ÇŸ`dlDÁ7z{öî§oÿAèëë“+gN|ÇŽQ®ÅQ#|=Î}}}ræÈAÃõ¹{/¡!OžÜ,Y¼ÿ3™Ã¨W×ë‹ò:5û÷Åw‚büÄ4{²&gSËŸaCã;žW¯^cdd„³“#+¦^zzº3ãç™Ü½{ì9²ã?u2fffäÏŸŸ'OR·A#òåÍKÕª•µ^À—\FçTjù¢Þ¯/ùÞ;v :*šf-[MùòåX8n¦ëõggäK¾[ZÂÂÂ>roÞ„’ÍÄ„²eË0tÈ`Hã,QâG ,@``Pš/;Ê(ßmjYóÇ¦Í ôy:#'þؼE)‹^½zÍ… —ˆ'>>¤VBö IDATž3gÏáî–0Eǃ‡µ¦©ÉŒþ}{ã;Á:õ¼144¤Aýz´mÓZ‰ßðûF~û}£²Ý³çÏÓ¤q#Ú·mC‹Í2ÔgWræÌA÷®]µ†t?xøˆÉSý &kVcªU«ÆÂùs•øŒT´0'_Þ|ʈŒÆÑ0Y¹2mÊ$fÌœE«6íøô)‚¢?üÀÏÓ§i=dû^8;92îl–,[Á²å+‰ŽŽÆ4_>† LÑ¢ XÓsÿþ}z÷íGLL Ù³eÇÑÁG{H¥«š¬ÐÉÑ!ÓåÂ×6h@~ž9››·n“/_^¦M™¤u~ü_º_:::Zñ•)*”§B…òxzÕ'""{;[åúÿFø Ãoòþؼ™œ9rP§¶'{ö%4:çÈ‘ýûÒ½G/†DÍ–èééñîÝ;Nœ<…µ•Uª/:(Sº4C dðÐálùãwú÷íä)Ó¨]·>ÆÆFtéÔQkjž¤©Ú¶ïÄÇÉ+]ºt¢LéÒ)êü¿RŽ÷ëÛ;ñó+gN:´o«4L}ñ»$¾¦CGŽ(/7þcÓç©,*V´`ú5ìÚ½‡©þ3ÐÑÑ¡RE /Z@þüùÑh4lß±“¹s´ï3«U­Bï^=éÔµïß j•ÊLï«ÄûŽÃ4ÿxzÕGACï´kۆǟðâù \]>¿ô<88Xy‰¤“‹ötW.žÃÄÄ„ysfá7i C†û`VÄŒ9³gbhhÈÎÝ{ÒݯsçÎ3iÊ4ÂÃ?b``@¥ŠYºx!††)ß·“‘kׯsçÎ]æÌž©ŽâÞ½{椗7L6§ÏþD£‰ÃÔÔ”F¼iÛº•j‹’$I’”RÒ¸µäã×tT‹n²E/Ù¢d ÃÄÅèâåkgJ•Ì\#Åå+W°¶ª‰~sJ%1¯”РuûÆUuÔwËÈ(áÆ *êóŽ3ãúõëøùù0jÔ¨LM£add„x¼QüÕY7EŸvµiÛ0áG”$ý:%›k½=]’þëFŽK¡BÿöT’$IÒ÷íÆÍ[¬ÿmwïÝ#6&###*V´``ÿ¾äÊ•þ;O¾W‘‘QÔ°¶áð}i6šK’$I’ôõ]»~]y)ñ×þé.^¢ZÕÌu|ôø)5ªW©DÑ@  Ä%[â“-Bµ$Qþ/{8g*W®Lõê /³ËLcó·Æ“AXV,‰¾Û^äÚgØ×(§NúÿÆü5ûYúû!u0³FwÄÙ:óo¤ÿt¶€«w>¿=ÉÉß'Ý$s=E%IJ)­áß’$IÒÿŽJ-¨T1¡ƒÈÕ½{÷142¤XÑ¢ÄÇdz`Ñ"Š-*›%I’$Iú*dƒ³”ªÈ¨†L^ÃÝÇh4ñ˜ÊÃÚ™}Ó}áÜÿºÞí<éÝÎSüŸ´Ò_öÀ”$I’$Iúÿ*(8˜3gŒŽŽeË–aÖÌéêd’$I’$I‰lpþ¡S²¹:諺û(€f}RÎ&I’$%˜ì÷õ_<*I’$IßBò¹Æ%I’$I’¾6Ùàü?@΃+I’$I’$I’$I’$IÒ÷à»hpÎì›w3›îß ººêbh˜ð¶çÌŠ%..}}ƒÿÌþJ’$I’$I’$I’$I’$誤¿ïÝ»8ôôCÈŸ?L•¡ˆˆ"##ÑÓ×SGI’$I’$I’$I’$I’$}×dƒó7ððÑ'ôôB)Q2B•¡À  "£¢É–-›:J’$I’$I’$I’$I’$é»&œ¿«WBÐÓ{‡½ý—gï£G‰ŽŽ¦x±âê(I’$I’$I’$I’$I’¤ïÚw1‡³Úøñãµþ~ú&ÕðqãÆiýý½Ø±óºzQÔöÌ©ŽÊÐÙ³gˆŽŽÁܼ‚:J’$I’$I’$I’$I’$é»öå]p¿±ñãÇ3uš?¿Ì§,"ñ_ò°iþþøúúªWÿ×]¼ÀµëO)_NkëÜêètÝ»wŸ»wïcšß”R¥J©£ÿuõ½qñâ%u° óÉÌÙ¿¨ƒÿ“^Pªl4: €×¯±±s$22J•*Gg7NŸ9«þj|'ø±pÑu°¢}Çάÿíwuðw#£üþþÎù:Á"ú¬þ*¾ö¹R¶BE?y¢þ&þNžþ/ùšõÄæ-[iѪ­:Xú‡Tµ´âîÝ{êà6oÙŠ«Gm*UµÄÎÑ™ððpu’ÿI{öî£S—îêà }iúµ$¿63*¯2ªWÿiÉó:£:óßÊß´lÞ²•Öí:¨ƒÓôOÖ[’$I’$IßÒw×à `œ5+yò𦻛¨Wû×ÅÄÄ1zÔtu?1dˆ9::êi‹eÁÂ…ÄÆÆÒл:_²²J§.Ý)U¶‚Ö²hÉRÚ¶ïDÙ qtvãÔ©Óü¶a#îž^DGG+ëÞ¸y‹šµìy“Ы<¹úS¶lYuð¿f㛘ê?:|D+þÉÓ§Ô­ßa>#µÂß¾}Kï¾ý©ji…“«‹—.#>>^+ôÙÍ[·¸wÿ¾ò·©i>F±±‘VºKÓ&ððpSê¼´½{÷ŽÃGŽªƒ¥ÿ }ûü¥†Ã¿SOüÕÏü_wòÔ)ZµmO•ê5±¨\‹—.«“¤iÝúß”Æà¦-ZqóÖ-%îλ)îæ/X¤µ~Fbcc7~"ƒôçÆÕKìݵ#Å;(^P±J5ü&MÑ ÿÞܼu‹?õ¦z kÌ+UÅÕ£6+WýªN¦°´¬N÷n]ÔÁ)¨ëoQ‡¥8–I‹Gíºð…׿?Y¯¦F]d6¯ùFù›šÈÈH-^B£&Íñ¬S7:x7nÊò+‰‹‹S'—þ‚—/_Ò®C'*W«“‹;Û¶ïЊÿóÏçtÿ©75¬m©amËî={µâj×­Ï©S§B°`ábÊV¨ÈË€uÒ47$  ¡rµ|üøQ«\¶¬Y‹±¾ã‰UÒž:}†:õP©ª%š4WÊÞøøxÖ®[Oz ¨X¥:ή¬Y»NYïÙŸÒ·ÿ@jXÛR©ª%»vçõë@%^-<<œ>ýàèœòzµupÖ* ê{7R'Iáúõ”­P‘]»÷(a/^¢E«¶Ø9:ãîéÅ”iÓÓ|à#I’$IÉ}— ÎÿE±±q ²šë7ãèP€¦Mʨ“¤)66–iþ3¸s÷ææ°·³S'ùbÆæþ›ÊÒ£[WÖ®^IÁ7v4vv¶´jÙœ"E 3wÞâââ1r4£Gú`š/Ÿz“¸8;‘#Gvuð¿æüù Ô¬Qo†,-«+q»÷ì¥C§.1+’l>£Æ5kVÎ>Áú5¿²sçnV¬LûGåÿwK—­àþýÊßúúúxÕ©­•æßdanNÉ%ÔÁß„:/$m{öíOñàçKéêÊjéߦÑh˜à7™ððOê¨ ýÕzâï|æÿ²cÇO0x¨mZµäü™“ܼv™jU«¨“¥êÐá#,Yºœ% pùÂYê×­K×î=•†¼7o07¯ u¯Ðë§ÚÉàá÷û÷ˆŠŠÂÖÖ€ìÙSûq¾(Uòûµ•ÜÅ‹—hÕ¦=eË–aÛ–?¸tþ ³gΠF KuRE~SSjY[©ƒSP×ߢ-X°€r 7oÜ@–,Y”¿÷îNh¤S_›º:i—µÿd½JbG€é3f›jYZ^§Õ1ã[ä¯ZÈ›74oÕttXµrû÷îâн¬Xº„W¯_Ó©K·ÿ|ƒÜÇ™ýË\Þø ŽúÇ < s®\<ÇÂóð›4…Û·ïD«6íðpsãì©ã\}ÂÆ¦aïßÓ©kwî?x€žžžV:2øÝdËÖm¸¹8“={vÎ_¸D·Î8wú{vïàâ¥Ë¬H|@Fï¾ýš4ÇÐÐP@hh(çÏœRÊ‚m[6©“h‰ˆˆ`øÈQ/^L BЫoZ4oÊ©ãGÙ¸aGcûŽZëJ’$IRjÒ¾Û”2%,ì=¡Q“lÙvœ‹gcé’¦ýFƒÄ’cÇOÐ¥[öîÛGðñžæMô—ÐÕÑEOOOYÒÚæ”I~lø}#wîÜeáâ%+V”õë©“j¸ûö»ð¬SK+ìYùëjnß¾Có–m°²±£f-;‰=|*VùÜ °lùJzöê£ü}õê57mNõÖxÕóNshýÄI“ñ¨]—=ûö3iÊT\=jóôÙ3š·h­ôÎ211aýš_©\±¢Öºqqq;vœ~}zahhHáÂ…Ò¹kwjÖ²ÃÆÎQ«ÇB\\S¦MÇÚÖžšµì=Ö—¨¨„áž/põ¨Í©Ógp󨃛Gø‚üؼe+ƒ‡ c¬ïxjXÛbecÇê5ëØ¾sÎnžT©^“®Ý{òñãGÈä±H2iÊ4:Œßä©8:»±oÿÃYÝØ²uõ½Q­†­ÛuHs8hzù\—n=X´d©ò÷à!ð¶µGÀõ7©ji…F£I14xɲå88»R³–#FIÑ€¹bå*ݨamˈQc1jŒÖ”lÞ‚³›'–5kѾcg¥Ljy‘\ÃÆÍX÷Û­°ÆM›óëêµÄÅÅ1xèpås[¶nË‹/´Ò&éÖã'–-_©V±Jueh{zy˜Öõ—‘´ö™ÄÞ•^õ¼©VÊö;ú6TkÝ$;wífÖ¬_ؽg/ŽÎnL™–0úàò•+4iÞ’*ÕkbçèÌÂEK”㘚۷ïP§^,kÖJq.=vœFMšSËÖ{'–,[®ÄEDD0bähjXÛbïäÂÊ_W§ù#ì¯\sÃ|F2Á":vé†eÍZxzÕãH½¹3:ÞIyb^©*V6vìÙ»1zöêƒeÍZÊ>$æ3’E‹—бsWªZZáæQ‡ .2mú ¬mí±´²QòªÅÄÄ0yª?Ö¶öXT®Fó–m”ï±ñM¸yÔ¡JõšxÕóÖzhòWòýkš9ûFN½º^¢£££ÕXòäéSå»9¹¸k•‡¦y³¦”,Y:´o‹™™ÇŽŸ $ä … J÷^áÜùó¸¸{R½†5}ú ìý{Ž9Š‹»'îµ½°±s¤BÅ*ôí?Pký»v›¢±ð{3qòš7k ýùá‡066¦¢…ææx^_º|…VmÛSÞ¢2¯_jMùöþ=}ú  –­–5kѬekBCߦZo¨ëÐôʵa>#Y¼tÝzüDõÖØ;¹°á÷J|rIÇPW/¡ÎK~\IeÊ¢?оcg,­lʳ£Ç”¸äõêæ-[9z,Ë–¯¤f-;FŽNhürtvcç®Ý4lÜŒª–VÔkЈËW®(ÛHo¿’¼yÊTÿé´hՖܹs£££“jY ž^G__Ÿ ¿ÿ¡”±C†ù(RÔù›Ö±K¯lʨ 6|$½zö uË–Œ7žÚuëãUÏ›qã'0fÔHòçÏÏÖmÚ½qIìÝ:pðPúL|||†õVzõ½Zll¬RÆU«aEÛö”ûUÒȇÈÈ(FŒCÍZv88»²rÕ¯Ô©×€ÇOž5kV iÜ´93fÎ&,,Lëó¾µ—/_rûöúõ郞žåË•¥^½ºlݶ€ Ó¼YSš6i„¾~Â+‰ÔåׯM›iÒ¨ºººR·Nm~™õsªÒúÝܦM[hÚ´ C ÀÅÅ###ò›šbSËš'OžpèðQÊ•-‹›« :::4ôn@®Ü¹8qò&&&øMðÅÂÜ===*W®DñbÅ”{†Þ hß® ¹ræÄÈȈڞÊvÕ ³0nìhZµl¡Ž"ìý{tuuÉ›7Oв -¾ühèÝ€c¦ˆ¯„“«‡’¿C†ùˆEK–jm³ÇO½Å¼ù …H,g+V©.ªZÖV6vbÔ˜qâãÇJÚ*ÕkŠÆÍZˆ·oߊˆˆÑ­ÇO)êÚàQ²Lyñþý­p!„{ÿ^88¹Š§Ïž‰ÉSýÅD¿Éê$ß…7oBEÉ2åÅ­[·ÕQ 'WáQ§®8söœñññbÓæ-¢yË6B!~™3OôîÛ_ÄÅÅ F#nܼ©¬«®7Ôe~zåÚÐá#D•ê5ÅիׄBœ>sV”)o!BBÞ(ÛS»qó¦(oQY¬um>B«.L:ï“nRy¶ióaie#FŽ+Þ¼ ‘‘‘Êöê7l,E||¼øeÎ<áUÏ[ù¼ôö+(8XøMš"4j"6nÚ,bbb”õÒ* ’ò:)ÿ&OõqqqâÓ§O¢Cç®bÌ8_­øä÷ ©»ŒÊ¦´Êð{÷ï+å̈QcĤ)Ó„HÜdž›)ë&]+›6o­Ú¶B1zì8ѵ{Oå¾2£z+½ú^ÍúÏ¢Ió–"$äÐh4â—9ó„£³ÖñRçÔiþ¢eë¶âÇ"&&FLð›”¢ÞŒŠŠk×­^õ¼Å4ÿJùó­;~B¸yÔÑ ûmÃï¢M»ŽB!\Ü=Åò+E‹Vm„£³èÚ½§R‹Äò±rµâÅ‹ɶ Ly ñâåKu°©ünHráÂEáèâžâ·‚BÄÇÇ'œËlB1͆5fœVšƒ†ˆ9óæk…‰ÄòǼRUåZTó›4E 2L¬åâ¥ËÂÁÉU+ìùóç¢Ly ac樂å'OžÒJ“Üî={E«¶í…F£Í[¶;wíVâV¬úU¸yÔûöã'ú‰¶í;*ç•$I’ôuœ;^ô·} ‡KÑ›Örñò5TÊ%3 È™Ø&lœØFlØf¬—؆œ¼MY!{8ÿ›„ ZÕ*øŽÂùs155U§øËæÎ_€µ­½²$ AK§§¯^¿¦JåJäÍûù©vZôôôøÁÌŒµëÖóêÕkòäÉÃ?üÀÅ‹³oß~nܼ…‘‘eËdnj‘ÃGŽRĬu½zº»¹’7oN9£N Àí;w”mß¹s‡²å27/¡±±UªTfÅÊUh4‚CB˜>c&ñññ)zF”+W“¬\¿qƒˆˆ.\¼Dï^=•^gÏÇÎÖFéAëè`¯|§š5k+WNþüó9$ÃëÙ½9säÀØØˆÖ­Z°ÿàAå³bbbð>Œ?þˆ±±ÑçGÑ¢?PÛÓ7Wôôôhߦ5&&&˜˜˜`[«Ïžý©^í«iÓº%¹råÂÀÀ€AúñäÉSž>}¦N–a>$±·µåòåËÄÅÅqîü~øÁ 7ŽMÈûsçÎcog«^}ûШ¡7eË”AOOïõù±xq%~÷ž½4mܘ?þ@½º^”*UR‰ß²uzSªTItttèܱ×oÜ$((¡·ezêÕ«ËíÛw”^P;vìÂÕřܹ^êä耑‘zzz88Øóâeê=13’^þ•ë/½}>~ü%J” ®Wttt07¯@íÚžêM¤éÐáÃ+ZïõÑÕÕ¥HáÂtïÚ…M›·ª“*Z·lAöìÙÑÓÓã§žÝyüä‰Ò»§dÉÊñ*_¾ù󛨣ußüÔ½¹ræÄÐÐ>½{imWí¯\sîn”)]j{zP®\YŽ;žl«Ÿ¥u¼>BÉ?Ò¼YSôõõ)T¨ ¹råâùó\¹z•ýû%”±?ü€»›+û|¾>ÜÝ\)Y¢zzzÔötG£ÑУ[Wôôô(^¬eJ—æÙŸ ×yzÇ5IŸ^=166ÂÈÈw7W­ÞpjåÜ(T¨ -[4GOO `iY=ÝÏQËŸ??Þ ê`š/–Õ«ñôYBÙ’™}L²cÇ.úõíC‘Â…144T¦ غm;5Tz²ÚÛÙáäè 5Wè—äû×À½û÷Ù´qöîÂÈȈQcÆpâä)âãƒöG__ŸÂ… Ѽi¥Ç¼-[·mçÕ«×ÄÄİuÛvΜ=‡&>¡gZû¶m8rp?—/œcýÚÕܺu›±¾’}èÞµ ¹sçÆØØ˜ŸztgÿÁCZñé™:ÕŸæÍšR¼ØçáÙߣwïÞP¤Hau”–V-[PËÚ “÷ ÅŠãÚõë9z !-,´âÓ“^¹àêâL•*•°©epoñüïŸoînnJ]hog‡y… =ö¹—sr:::Œ7†¼yó`dôynävmÛP @ttt¨ëU‡G+qií×§OŸpu¯ÍëÀ@~_¿–fMc`` ¬—Y]:wDOO¬Y³Ò­KgöíOy/‘$µc—QÙ”V~åÊ5jY[pùò5ôà]X&& ï—QŸzººüÃ?ïWfýðÜ<~„GqöÔqZ4kJ^}xþ<åèº×¯™þó,~öŸ–bT €WmOLLL˜ê?ƒ?6m¡m›ÖZå€$I’$¥%áŽç?ª_ŸÞøúúªƒ% sÇ´nÝRù;w®\ZñÉùMšB“Æ8tø'NžÂÁ>ý9¤uuuÙøûz–,YFÃ&ͨaY1£FR°`&øŽå· ¿3hðPräÈΟáÔH6·rrñâó°êÀ  =zŒµ­½Mxâ4I^¾|Iç®=xÿá=ññÚu &GŽìlÚ´…U+–Q¸p!­uÔfÍðgŒï]Ü(\¨áE*û IDAT0žn©6Æêèè`[«çÎ] $ä •+UÄÕÅ™‘£ÇòîÝ;Î?¯4„*¤ý¹úúÄ'þ°aøˆQèë' gÓhâÉ’%‹VúR%?Ï—˜ÙüH’7O^åÿºººèëë“7ïç0}ýt $?E®dç—±±1Ù³g'(8X«1—Læ@©R%É‘#'×®ßàÐá#¸89Q³f &Lô£O¯Ÿ¸|å “ü´FBBB¨¤Y¨PÁtãó'{ÐÌ¡ÃGعk—fllLØû÷(P@ KM®œ9quqfÛŽôíÝ‹;w1j¤$6ÍŸ¿[w £`ÁÏß+#ɧ H/¿äúK’Þ>‡P¤°v#L¡‚•éY2ú–‚µóÍÌÌŒ7¡)_Jš$gΜÊÿ É™3'AA”*U’]»÷ðÇ¦Í C§ut }«œ»!!o(œ¬Á(¿©i†ÃG¿ôšË•컑˜AÁÁZadp¼CÞ¼Iõ\Jj$õ¨“0E@lL,öÉÊãä³dÉB¶lÙ´†_ëë—øÒ¢ôŽkR£HòsÐ@_ŸØtʈ¿rn)öÕ@?ý²H-ùõKâúñš„cžÞ>ª?÷Mh( ä× #qŽËJ•´Ë3³"„„|>G¿$ß¿&!:::ø ¢¼­{×.Ômà‚àà`Þ½{‡½£²N\œóÄ¡ÏÞõëñúÕ+ÚwìLDd$uj{PÑ‚B‰Ç]OO|ùê‰?þÈ ýéÝ·Ÿ²-TçHþù‰ŠŠâãÇ©Î՜܅ ¹zý:Æ'4ŽÏ’ ¾yªU—©•JgNcïúõÈ•3'‹—.câ¤Éôþ©'-š7S'KUzåªc@Òùö×PZræÈ¡õwþü¦¦ò° X±¢J#ir…’]gúúúZÃìÓÚ/öîÞÁšµë©Û !µ=Õsák31ÉJdD¤VXdD9s&\£ºººôëÛG¹f{t늽Ÿ>}ÂÄÄ„?6m¦U«Ï¿ƒþŽOŸ>±ÿÀAöíN9oñÊ_W³ïÀÖüºRi¬Ífb¢L?”$22’¢E:çØØÜà`LMMéß7å”v—._að°á,]¼0Õ÷êdFÒý­žžÍ›5eã¦Íœ:}†ÖE?OÁÏàaÃ>tpŠú–Äé[¶iOÿ¾½ièÝ€»wïÑ·ÿ@Þ¿OófMÕÉ%I’$IË·¿cþ&&&™ºA9vüW®^e÷ŽmØÔ²fÔ˜±ìÛ½S¹™NK®œ96t0ýûõaò”i 2”ßÖ®FOO¶mZÓ¦u+¶mßAÇÎ]¹tþ,zºz)æí üüÖåü¦¦TªhÁ†õkµÒ¨™™™q`ßnFŒƒ›« ®.ÎxzÕcýšÕ™êMâSÿUË?Ï<ë—9ØÚÔÒJ“ÄÖÖ†­Û¶óüÅ <=Ü144ÄÚª&æò•«L÷Ÿª¤Mš715ùòåc†ÿTlj%ôŠIMò^™Í$©õ¸HKFÇB-3ÛN¾~xx8aaaZsÀ%ÉL>$±³µáÜùó=zŒeKñãÅyÄî={)T°PІP{@ª{7&õ^È—7oŠø·oß*ÿÏŸß”ŽÚ1°¿v£K’Œò¢IãFLž2 'G"""”‡7Ã|FR¸P!Ö¯ùCCC~Û°‘»w«W‡Äó ©"Àû /åJ’^¦uý%5V¥&½}¾~ýFŠüJžŸjêü1ûÁŒ½ûök…½zõ*݆…ä ¸‘‘Q¼ÿž¼yòpõê5FŽËïë×R¾|9jÙ:(ióåËGPP0åÊ&Œvøðác†s ~é5§¾Nž¿x¡õ²Ò$éï¼yò¦:·iþ„††ãG¥9÷´:Ó“ÞqMšç8µžL¤ñ9åÜ"ƒ“%—Úg’X^¥%½}TË“'7/^¼TÎ$fff¼|ùR+, à%J|îm–ÖwûÖŠ.ŒŽŽoß½£Hbo¹ØØX ÐÑÑ¡H‘"”øñGvïLù‚$={t§g„w„……áèâδ)~êdèêè`lœU+,áúOh ÆØØ(ÃÆf€½ûðèÑcÊ[$ôÌM²mÇN.O}¤Î¿%oÞ<”,Y‚»v1h@u´B'ë%‰£ƒ=Žöܼu‹Î]{P¬XQ¬­¬Ò=2*×tuÓ^ÿïP?, ¢ZµªZaIÒºŽÓÊ“ŒöˬHF Ê€~}زu]»÷ä33-˜—n~%¬Œ® ${öìi6„¦ö=ÓÚ'2(à ,À™Ä¹°GðÁwÂDV¯]G»6­)T¸MšµÀÖÖ††Þ ”í™æ7eÃúµ4oÑš%Ë–Ó£[WÈD½•^}¯ffV„/_*ù ðêE’Õ·ê|Húü¤+É??22Š^}úLûvmع}Ë?Ú«µLéÒ¼  22J©gî?x¨¼Ð®XÑ¢¼yóùÁ`tt4ºººðôÙ3<|ˆ§»›ÿwìܵ›ªU«¤h]´x bͪZ¤K—)ÍúõÚïô¸ÿžî8ªoÿäÍ›¿ ¾)êâÓgÎ2rÔÍŸ‡¹y­¸¿#^£IQgß¼u›‹/ñäÉ|'L„Ä÷=÷“§NãîæŠ‘‘¡r>—/_Žîݺ°eë6Ùà,I’$e(í»-éÞÇ3ο ã122ÂÓà åË3Õ?ý ÅÆÆråêU4 †††”-[VyYËå+WˆŠŠBGG‡Šh4¢££(\¤0qqqÊ[˜ß½{Ç‘£Ÿ‡¢»¹ºòðá#6mÞJ\\†»wï©Ý»!É£Ç)]ª±±±|üžéÆfŸæ“ø2–M›·²qã&zýÔC ‡$ß¼u›ó.âæê‰Ã[—¯\EñbÅ´zǦ§Iã†ÌúeŽÒÐÆýŸßZ¯ö¥ùñ%2:jyrçæö»,ïÔ~ßøïÞ½C£Ñ0cælŠ+F¹²)‡ÜI>ØÙÚ°wï~ (Uª$zzz8:سpñìíSN§àááÎÖmÛyüä B<ĽûŸ·_»¶'[·mW†¿9zL+¾q£†ü¶a#W¯^CATT”’Od"/ìíl ÿô‰ù ÑлÒS(8( ss ‰ŒŒb×î=êUE‹åÒ¥ËÊö7mÚ¬Ÿ^¦uý¥'½}vt°çÁÇ>'GBCCÙ¾3¡êë׬^»Nvššuë~ãÍ›P4 ó,Ä̬eË–QF2”.] €ã'N’ìǦ§‡‹—.ãÃ‡ÄÆÆ2a D3+3×ܱã'¸{ï>$NÏòðá#\’m%AzÇÛÅÙ‰g>gûÎ]ÄÇÇÆË€Š+F¥Š™4e*ááá!xÀ«W¯µ¶Yé׌dÉ’îÜI˜ŠIñ—έ/‘ÚgfäKöÑ«Nm–.[¡œ[IDZY“ÆìܵGùûâ¥ËœcÆúòñãG>}úļ qqv†Äé"£"Y´x‰rÎ<þ‚*ÛHzXõøñzüÔ‡†Þ ”!æûäñã'DFFr÷Þ}fý2G™R&ɲå+ #22ŠEK–âé‘0uSFÆÅ£ûw”¥KçNtlßî»klN2lÈ`–.[Á¢%K &22Šgþ©L‹•‘»÷î+ãŠ+F®œ9 OúŸ^½‘Q¹ö->r”[·o#„àÈÑcܾ}×ÄsëïÊì~Ó¦u+öîÚAÛ6­á Ê‚…‹—ÍÇY¼tµó¾†ôÊpGNœ:MÈ›7”,Y‚5¿®dóÆ 4ôn@ÏîÝØ²i#ƒÐjDÌ;79sä`Î/3Y°p±òrÅŒê­ôêûÀÀ † óáõë„¡Íš6aéò¼}û–øøxV®ú•lÙL°¬^Mk›ÉÕñô`ÉÒ儇‡£ÑhX´x‰V|×.ؽs-š7ûG›Iì^³†%óæ/@£ÑðàáCvìØIÃÄ‘…­Z6gÖì9¼zõš¨¨(æ-X„“£Y²daÓ¦-Ô«ëõÕ¾ó›·Ð¬Ic­°™³áà¡Ã,Z8Ÿ,Y²¡L™áæâÌ“§O9rä(BvìÜEPPÎNŽDFFѽg/LMM=Ò‡¨¨("""”²úÈ‘£øŒÅÜ9³ùñÇâÊv3z€®výÆM®^½FLL ¬X¹Šç/^âì”0"fõšuüºz-æÊsæÔqvnߪ,æÊ3lÈ`Fð¡x±b¼|ù’ë7nBbOí#GezZ-I’$éÿ·Ô»üË¢""xGÊÓä"#µçÁ’2Ö¾cgƒ‚˜à7™,Y²°{Ï^ìll´Þï;v µëÖ§®W¬­R«¼F£aúŒ™<|øã¬Æ*Xˆ‰¾ ÃfwíÞËO½û¡¯¯O®œ9ñ›0^î6nÌh|FVâ7ôæÎÝ„ayóæaÕÊeLžêÏ¿IèëëQ¶lYΟ›b4€€—˜™áÁÇ©Î{–ží;v2iÊ4ttt¨\©"+–/M1´2I~SS *„qVc%““##G¥KçŽêäiJ.7­ÚòáÃòäÎM÷î]Ó¼aûÒüø¹ræL÷X¨õèÞŸ£Ù²ucF z*?^\]\hס3/(Y² æÏIµ—җ䃭 ƒ† £{×.J˜«‹3ÛwìÄgXêóÙyz¸óôéS:têBLL,în®4nÔP‰wwsåÉÓ§´ëÐ \œµÎ;[FΈÑcx…±±1®.ÎT®\ RÉ‹äSªØ ´‘w/]Æþ½Ÿ‡ù=ß Ù°q#¹r椮WvíI½Ñ¹{·. >’:õÕ8+vZS“¤—‡é]iIoŸ (ÀÜ_f3Õ:ÃGŒÄÂÜœN:¤9'|Coo:ŒU-;êÕõb¼ïXV,[¿ILô›LöìÙiݲMU?Ü’èêéÑ¿_Ú´ëÀëÀ@Ê”)ÍÂùsÑÕÕÅÅÙ‰cÇã^».¦ùòQ­Z>O1xàÆOœ„‹»'ÆÆFtïÚEkþîŒdæšóòªÍÔiþܾ}‡9s0ëçéJ»äÒ;Þ `Ñ‚yøÏø™Q£Çbb’• ¾ã0+R„óæ0iÊTœ]Ñhâ1+R„ ãÇf8MPjÒ;®™1tð@FõEŒdžõkÿÒ¹õ¥ÔŸ™‘/ÙÇ¡ƒ3uš?uê5 ** ss~[·†ªU«à;v4 &ôM(… böÌÊÏ_* àçÎ] >>žøøxN>£ôj»ÿàÁÁ ó2gÖ¸1£˜<ÕÏ:õˆÓhpt°gô¨±zår¦MÿwO/"‡l2˜2¥KСSWnÞºEþüùiäÝ€Þ½z*Û fÊT‚CBÈojJ]¯:ôíóyYèÔ±=š¶àýû0ljÕbtâ4Aÿk\]œY²h> /eQbCf~SSFŽN±bEÕÉS¸{÷.Ý{þDLL Ù³eÇÙÉQiØQ×ÉëЌʵoiØÁLóŸÁõ715ÍÇÌþZCþÿŽ/Ý/­øŒÊsó ˜›WÀÙÍ“OŸ>áè`ÏŸáêdYzexŽÙ2h:wc„Ï0¬­j¢§§ÇÛ·o9vü6µj¥˜J*IÙ2eð6”þ³sÛ– ë­ôêûOŸ8yê=»w [—ÎDEFѰI3¢¢¢©P¡<Ë–,Js €Aû'~~mråÌIçN”FZcc£4GÿýS¦ûOÅgÄ(ªÕ°&[¶l èßW)ß[µl‘8ÝC[Þ¿ÿ@-k+&ûMD£Ñ°uÛv-œ¯ÞÜ_òèÑcþ|ö'în®JXPP .ÀÆîó”F·o\ÅÄÄ„E æâ;~"ý æ³X8.†††lß¹‹S§¼mø}£²^åʕؼq“¦Nãõë@7mžl«°bÙ’ §½µÂÕé$Iúç9:»1e²_¦†|~š4oIû¶mR4KRrÃ|FR¨PÁLMß I’$ýo»~ã&kÖ®ãö;ÄÆÄbddDåÊ•2h€2/øMdd•ªVçä±#i6šK’$I’ôõ¿p«š5ÕÁKø§O\¸x‰jUSŸ2MíÑã§Ô¨^¥: D1@,—l‰O¶Õ’DùÿwÙÃYݼö·„'ÀêpI’¾i yýÞ„¼yË/¨ha¾¾>æîÝ{©ÎÃ+Ijÿ•ó\’$Iú¶*WªHådïñø/º{÷†F†/VŒøøxæÌ›GñbÅdc³$I’$I_ÅwÙà,I’ô-DGE1eÚt?~ŒFOÁ‚˜9Ã?ÕJ’$I’$ý¯ bªÿtƒÐÑÑ¡|ùrÌ›;[L’$I’$é/‘ Î’$ý-ÇR}·ÌÌÌøcÃzu°$eÈêdu$I’$ýg%Ÿk\’$I’$ékûü eI’$I’$I’$I’$I’$Iú¾‹ÎÑÑÑê Te6$I’$I’$I’$I’$I’ôÏ“=œ%I’$I’$I’$I’$I’¤¯B68K’$I’$I’$I’$I’$I_…lp–$I’$I’$I’$I’$I’¾Šïbg5???­¿ß…¾I5|ôèÑZK’$I’$I’$I’$I’$Iÿžï®‡³ŸŸ3~žÉü…‹”E$þKöóÌ™) ¥ÿÜ=½8{î<#Geμùê$Ò7Eï¾ý±¶u Q“æêèïÞ¿y®4iÖ‚Ë—¯¨ƒÿ¶€W¯0¯TF£ŽR|«ÏN϶í;hÛ¾dò;¦æÊÕk88»*ÿû!Iÿ_ݼu›­Úbec½ç/\T'ùißþtïÙ[œ¡ÀÀ œ\܉ŒŒRG}SÉËÍŒê@¿ÉSY²t¹:ø_“<¯3ªGþ­ü•$I’$I’´}w ÎÆY³’'¯iº‹±±‰z5)Q÷ž½1¯T•»w謹ؾc'敪2ýçYê(é;pëömî?x NÁͳááá¼{÷ަ-ZiÅ !X¼d•ªZðꕎÿŒ™¸zÔÆÒªMšµàҥ˽)]º´VØ·4Ño2³ç̃¯øÙ[¶mWý£¾Ö~HÒ÷îÕë×ôî7[{'ì\˜5{ŽVC[Ÿ~´ÊëJU-µÖß¹{õ6ÆÚÖ­Ú*eþ—˜5û,,Ì9sòGí§ZÕ*ÄÄİdér<½êS¥zMj×­Ï®Ý{Ô«þ§Üº}›>ý`cçHµÖÔ©×€ÕkÖª“)ªW¯F—ÎÕÁ)¨ëõ|ùòâ3|(ÆÆFZéþŽ  àuwÒR¯A#øÂr³Qø¹¹¨ƒÿ1Òº÷Èl^óò75‘‘‘,]¶œ­ÚRß»1^õ¼iÖ²5«~]M\\œ:¹ô…âããùmÃïx7nŠ¥• nžuXÿÛu2V®Zy¥ª¼ UGÑ QΜ9 Àê5kqvóÄÚÖ>ý¦¤»|ù mÛwÂÅÝ“ºõ2ýçY)j„¼yCÍZv|üø‘ÓgÎоS¬lì±µwb‚ß$­ûÃ3gÏáݸ)5¬miѪ-·n߆Lìןϟ3hÈ0lœ©amKŸz¤Ä«…‡‡3pðPÜ=½ÔQ8»yj•MšµP'IáæÍ[TªjÉž½û”°€€:wíNÍZvxÔ®ËÎ]»µÖ‘$I’¤´|— ÎÒßW©¢›·nS³ióÊ–)£–¾+W­æáÃGê`-ÏŸ¿ Oîq”Û6Ó¦UK ( Nš&]´‹¿àà`Z´nK®\9Y¿æWN;Ì$¿ñ?~’þ«“§i߃9zL+ÌÉÑ9²k…}+ÑÑÑìÝ·ŸF ÀWúì'OŸ²tÙ¿Ûóíkì‡$ýô0ˆreËpìÈA~[»šã'N²bÕ¯J|hh(s™¥”ÛW/%Œøxøè¾ã'â?e2çNŸ ]ÛÖôìÝ÷‹{~†„¼ÁÚª&zzzb``€®®.‘‘ÌðŸÊÙS'>t£ÆŒãÕë×êÕÿ._¾B‡N])S¦47¬ãô‰£LŸ6…êÕ?ׯj¦ùòaU³†:8u½®¯¯OmO­4Wù•s`ú5dÉ’Eù{ûÖMJ¹™^h^¡%~üQüͼ{÷ŽY³ç‹F£aòT>}ŠPâSËk­¿“|‹üU{JÛ@G‡%‹°sûöìÚÎâóyH÷ž½R4VJ_&22’û2ÙoçÏœdÖŒéü<ënÞ¼¥•îÞ½ûìÞ»­p€7nòéÓ'¬­­8}æ ËW¬båò%œ zÿþ= ¡ß>\8{жmZÑ»O¢££3ܯ7nR½Z5vïÜÆÉc‡É•+ãÆOÐúIîÝ@‹VmÉ’%‹: €·oßròØ¥,ظa½:‰–ˆˆFG±bEµÂ‡ ¹yΞ:Μ_f1uÚtîܹ«•F’$I’R“öݦôŸæáîΞ½ûˆŽŽVž<}JPP0•+WÔJ{ýú Z¶n‹# 7S¦¨ qÊŠ+W¯Ñ¾SªT¯I``‘‘QŒ7;GÜ<ë°zÍZ¼7åÉÓ§ÄÅÅ1ýçY88»bçè‚ï?¢¢RÿëîéÅö;iÒ¬µìèй«²K+¥W‰=…¬m”¿3+µýxJßþ±µwÂÕ£6«×®ÓZgÑâ¥88»bcçÈÄIS7~"¿oLøá¶rÕjzõé§•¾WŸ~ZÛØ²m;ž^õ±µw¢K·Joã°÷ï8x(ŽÎnØÚ;Ѻ]Þ¾}Ç´é?søÈQ¦L›Ž»§J¶õ„^õ4¢}Çμ|ù’z á;~"û¤^ƒF|øð#CCêxz0ÃjŠ;eË”aø°!)\]]]êÖõâý‡„¾} €žžž²èèè°rÕjºtJ٣藹óضm;»vïÅÝÓ‹“§N³mûÆúN`åªÕØ9º0Ö7áæøêµk´lÓ+{\Ü=Y²t9BH¼q÷1Š ~“°upÆÞÉ…uë7°s÷<½êcecÏO½ûòñãGÕ7HøqM½º^˜˜˜/o^<ÜÝÐ×O˜–¾WŸ~¬\µZkK+îÝ»¯üýáãºtë½õ6æØñJÜâ¥Ë©\©"#}†cffF¶lÙ¨Z¥ óçý¹ó”!å#GeÑâ¥tëÙ Û¤í$öhÞ½g/sçÎgßþ¸{z)£ ÔÓÀ,]¶œn=~ÂÚÖ¯zÞ\ºt™ŸgÍN8÷ì´F#ÄÅÅ1|Ä(Ü=½°up¦]‡N¼|ùR‰W;pè0¥J•¤XÑ„êÏ^¶b%½úôÃÆÎWÚü±i³²îÎÝ{¨ïÝ{'\Ü=Y½v=¦wßþ¼ÂÝÓK™*ãÏçÏéÖ³ÎnžØ9º0ÌgäõW{þü»vWʤ«×®iÅ«÷cËÖmŒ5K+vþÇ{YJR’ׯyüø ½zöÀÀÀ333† Èöí;•4!oÞP¸pa­ò;IdD$Y³S®\YlmjƒF“Ðû200ˆÞ}ûãäâN-;:vîÆ³?ÿT¶[ß»1vŽ.<}öŒ!Ã|¨ji¥Lm£¯¯Ï€~}¨haޱ±ÎNŽd31áUÀçQ5OŸ=SÊ6ÚuS”Éß“)þÓiÒ¸!ýúôÆÌÌ ccc,ÌÍ1¯PÒ¸‡H>]ЗÔëê)!ŽŸ8I‹VmqtvÃÉÕƒå+W)ß+£r:9¥þÖMhˆUŸÉËM2¨“O¹‘VýîîéÅî={iÞ² Ö¶4nÚB«¬No¿’„†¾eÆÌY´m߉\¹r¡£óìÝwXÇÃÀñ/ˆJG±—(v±@¬Økì½÷^b/Qc‰]KlVQ±÷Þ{o4‘cÞ?8Ö»£©1y“üöó<<73»·³{·3;7E®Ý{A»ŽhàÙ˜°°p­súó·ÃÏ_* ÇŒ› õˆÖ=¿™]»1cÇ3gî|©¬:m:)))ðg@ͧ IDATeí¸ñ“èÕ£;mZµbÚô™xù´ÀÛ·ÓfÌdìèQØØØ°goj/Ðìê‹·oß¡C§.Ôq­Gm—zŒ;^J÷µõóŒÊíŒdwí"""}ú$Ý+ÍÍÍÉ›×6]=: `7>>Þ 4WWŒ±±¶¦zµªÞ¨T©jÔ w}ûäÇÎ8}òôcðÐá¼{-¥™<õ'ú÷íéã¡äÍk˲åËyöìöíæÀ¾=¼zýš‡Ié]±’+W¯²ww!A<|øˆ_—¯”âuíðógÝšU=LéR¥:|dºJÞ÷ ›!CG`ggÇñ£‡ù}ÝV¬\͉“§@=_àæ-[X·z'Ž¡|¹²ìôÐÝe¦Îœ=ÇüŸòë’_8y<”’%K2bähþø#uèÜ‘CÁœ8v„qcFaiiÁè‘ÃùᇒŒ=’à@<¸kí³`ìÛ@ãÆ7v4ûöP `6¬_˾=äÉ“ccc|Õ•áì\ºt™|ööØeÐ+8(ø ..é÷€W³¦x5kJHp uj×àð‘Pž>{Æž€Œ3Ѝ¨wôí?ˆŽíÛqæä16møm;v°uÛvi_ûP½Z5NeòÄ Ìž; àƒøïØÊ‘ "£¢ØžÁÃuGGÊ891jÌ8?þüðñ53aüXNŸ8ʘQ#>r4oÞ¼àüù ԯ离 6ÖÖT¬Pž³ç>?ômÜü£F ãäñPöïǰ‘£yýæ M7¢e _zzÈÈáCµö•æ· ›;f§Ž‡ââR—î½ú`llL衃lÙ¼mÛ·s]ÝóÅÀÀ€&±w·?ÇCaccÃÊUktw)ñ÷ß•åçaÍÚõôéÕ“Ó'1cÚOL›1‹¨¨w|úô‰‰“¦0oîlNŸ8ÊÎí[©çêB±bE?v ùòÙȦ ë°²´¤G·® $pïn®ß¸APðAÝ·û"B†E±bE9zˆukV¢qËÈ‚E‹©X¡G¤¡GÝh™ì_)%E…¾¾>úúŸ«jÖVV<ñBzOÏÞ}¨V³­Ûvàø‰“R\Ù²e¨Q½:ÓgÎæþƒŒ?‘aCI£V,--hÒ¸öïåÄÑ#-Z„Y³ç‚ú^·w·?'¡PÁ‚,˜?—+Ïq<4ýw1%%…mÛý0Éi‚“Sj­R©¤{ÏÞ8•.ÍÉcGø}ýZ¶nß‘íwùÿûwÑܹso¯Ô‘ ™Ñ­ChúÖrÀ1~fNÿ‰c¡‡X±l ¿,^*•EdqŸþ³²*ué–ïiÖÿ¾¥‹ræä1Üë×ã§i3¥¸¬òÉœ¹óéÓEŠa—ÿºv錫W.`˦„¦;ר„Ÿ¿xAPà^B‚öõî ý¢›L’ѵÛx€"E zè »vn'4ô‡„B6eíýøðá=ž ˜¿`!¶¶¶ì ØÉì™Óyý:µ‡“Æ8§QOÈÊœù?Ó°¡'ŽáPp ÝÔS‡|mýÜÒÒ"Ãr;3Y]»C†ameÅÑÃ! $**Jú¡!MFçô¯ôî]4Ïž?§\¹ÏfæÎÿ÷úõ¨P¡¼VZÔ÷ àƒ!Ò¯§OŸR´H)ÞÂÂ+KK=|„¾¾>ú÷eØðQ„:ÌÌÙsBиQC)ý¥K—IV©¨ZE{Ú"Ôõ–ËW®R¹REžMíeõ=iæãåËW\½výû¡P(ÈŸ??õë¹IÇÁ«Y3Š+ŠB¡À«YS©—è—Øµ{ͽšQ´hôôôø±SG®ß¸Ixx8޹vý:GGA''ÝͳtëömŠ/FJJ /_¾ÂÑ1¿n’lEFE1sö¦N™¤Õ˜‘fíºõtïÚ%Ó!«ÑÓÓcâø±XZZ`llÌ‘ÐP 8:Ò´IcôõõÉgoO÷®]صGÚÆÑ1¿ô^ÏÍ…BA‡¶m055ÅÔÔ”ÕªñìÙswI¥P(X¿veœœèÖ³7:uáô™³ºÉ²T¿^= *@­š5)õÃ;žÚÃ+ö}¬VMÖÖÖZ|îõëQ¼X1ôôôðhàN‰Å9~ü„Ö6Y©_Ï"… £P(ðhP•JEn]Q(,P€âÅŠñìùçsP·NmŒQ(Ô®]‹—= 5½zõŠ;wïâ™E¬«K]é!§zµª˜™åáù‹ç©ß ¶lÝÆ›7o±°° þÌ?g¹rå¢ZÕ*( òäÉM…òåy‘EÏ물|ùŠ»wï1°? ±´´ S‡öºÉ´TªXÖ­Z+W® ‡ÕÊdÿFöööØÛÙ±qó¨T*^¿yÃÏ‹~A!õÄ Ú¿‡#!Á;’Ú°2pðP=z ê{r›Ö­8ÂÐa#‰}ÿûAŽ9hܨ!&&ÆàÝÜë«ÀóòiA¥*ÕY÷Ûï,˜7Nž:MJŠ`ÐÀþ`ooG o‚†èîâÿ]ttêýÜÁ!Ÿn”ݺ¦?S®)R˜¢ESÂ~ø¡$66Ö¼ÖX!³ûôŸ•U¨K·|OÓ¾][lmmÑÓÓ£¡§§~öÈ"_ñññ4jâÅÛ°06þ¶_ïæßtßîòc' 9sæ¤[—9’y=3£kgg——V-[ P(°µµ¥råJZŸÿÌÊÚ«W¯S­jU®\¹ŠW³¦ îQš3gNÈbºŒ*XƒC¸qóÆÆÆ”Pϳýµõsƒ¯*·3»vOŸ=ãæÍ[ 2###ræÌÉðaC8tøˆV/çŒÎé_E¥R1vüºüØIúÌ=zŒ»÷îÓ·ö3Hšàƒ!8•.…ƒƒ J¥t}Ò˜ä4!>!uê–† 055eþ‚Eøì¦]Û6ZŸõ»ðñöÊ0¯+W­ÁÄÄïæ©Û J¥t/LcllŒR©Ô Ë(_š.^¼Ä `Fަ•­üùós8$ˆCÁ=|V-|0x(/^¤¯›½}ÆÂ_–0gæŒtÏJ¥“œ:y11A©ü<åL&“Éd™Iþ/Õ¿o&L˜ÀûØXn^¾Ì®¥Ëyvå*KÛu`˜¿¦––º›ýÏp¯_é3góòåKnܼEÙ2e°µÕî…ð6,ŒGKÃd>~L"^c±–¢:óøEDDbkk#½677צɸ‰“10H S©R2_ õöiLLLÈ•+áÒƒŠ¦””Ïå_K3ááá4mþ¹÷gò§djÕª êyÏ*”×î1‘]Ž´€ððBcàçáý&&&ÄÄÆÒ¬IcÌÍÌX³n=³æÌ¥O¯ž´lá+¥ËÌÜù 8~üÏ_¼`ØðQ|JNF©TÒ¬¹/nn. :Dw“ EFEÑ­G/úõéaψ£Gñ.:†¦MÒ/@’•¥)-P•Õ=gDFEJ¯-->?õõõ100ÀRã;k`héâ;9s椿>ôéÝ“ÀA 2”eK§›ç1æ-fyòh½¶µµ!Lý¹È›7¯Ô¡+&&†R¥JI¯ÍÍÌ´âííìˆÐ ËŠ•Õçü’+W.­y± TêsÉŠ«¸uçz@tLL¦óVûïÚG÷t=šììì´^’œœŒ¾¾>›6þƺu¿Ñªm{œ+WbìèQé®gšë7n²þ·ßyûö-BÝhÜÞ1ûÅi2IžÜ¹Éûó\£öööZitÑèµ$“ýWèëë³xÑfÍÇÚµëÉ›7ojÃУÔyh”Ÿ†††´kÛ†Ý{÷qôøqŠ-Â71j ¿¯_KáB…ؽg/»tcë›°¶²"&&†ÅK—qýÆMRT)$%%‘ü•£‹Ö®^I||<7nÞ¢ÿ Á,œ?gçÊDDDƒkýÏ ÜÉÉ*J—úAkû‚´##£0Ó¹ŸkÒ­ iúÖr ð@þ»ˆG¨{<¦ˆÏõ‰ÌîÓVVe .Ýò=FÒÀÀ@ktZfù255ew€lÙ†OËÖx¸»ÓºuKòeÝà¯+FakcCttt¦ç%£k§[6Ô8þ¬ÊÚ¸¸8©á2_>{>|È%Kre¢!‚‚©‘Aý*f}qÒ„qlßáÇè1ãÈ“'7#G §r¥Š_]?ÿÚr;³k÷î]4¹råÒZ¿#¿ƒ)))ÄÄÄJesFçô¯ R©1j ÖÖÖôïÛÔõØÙóæ³får E†£"wúÐZcª‰œ9s’ n\N£LPbnfÆû÷èÔ¥;úõ¡YÓ&ܽ{a#Fñþý{ZøúÏ¡ÃGØ~Ä݆M› 9|˜µ«WJ÷å\¦¦ÄÄÆj¥KLLÔê ’Q¾4]¾r•ÑãÆóëÒÅX[YéFkkPwÒhá냟§Ïœ¥cK)MJJ £ÇgøÐÁØÙ¥¯OššæD™ ÝPž¨T’'Oæ÷J™L&“ÉÒ¤¯=þKå13£¦›Uk×fãØñÜݹ“€þèøÇfÈà×èÿi½—üwíæÚµëthßN7 ¶66”q*ÍÆßS‡ÆgDOç×n+++ÂÃ#¤^ïß§ÛÒŒŸ=s:Õ«¥öÉNXØç¹ßâââˆýÜ»T¡P 4™5Ó~-Í|XÛX£P( ÌpÑ;[µß+<üs#¢B¡Ÿ®‚öùAÍÖÖ†J•Ú3°?­4iêÔ®EÚµ¸yë½û @GªV©’aω4£F ãÇNé?h0~Û¶| .2qÂ8ݤ™zó&u1›n]»Hà u­Z»Ž;uÈðá2+º 9äwH7õ›7o´*³Êï—R(4kÚ„ àƒœ¿pjU« ¯¯*åóõ‰}ÿ>Ý<âºÖoäa™¥K•âð‘Ðt 111\º|…®]~”Ât?“/^¾¤’zXå—äïKÒ¤7aövvü¾n FFFlß±“ýè&#%%…]»÷°`^êðøÌè«çú̈¹™Æ¦¿>Ì÷3#ÇŒeÃúµén§IIIôìÝ—Ñ#‡ããÝ===FŽ«è+X[Yñ!..µWº±<³Æÿ4YåC&û7+R¤0«Wü*½^¸h15ªgÞ¥¯¯©º1ìð‘P\]êH‹¿y7÷b»ßNŽŸ8‰¯ws¦Í˜…¹¹9›7ü†‘‘·oß¡ÿ /ûá2µ56ÖÖ*XãÇOzì8ÎΕɗ/… "`çç)”þ©,--(R¤0û`ЀþºÑݺ®o)ׯ]»Îä©ÓØøÛ:iþX7íi7þªû[Ve .Ýò=Mfç$»|9äËÇÈáCЯ»÷ì¥oÿäwp`É/ ³<_š"""¤¼aaaäÎ;ÓzKFÇ™YžÈ¦¬Í›×–³ê¹”GÁô™³ØôÇ:´k‹½í:t¢Fê4kÚ¾ ¾¨P(h×¶ mÛ´fï¾ýôìÝ—SÇ~Sý<³r;#ºÛ¦Éï>+ý þúõ …VƒdfÛOIII 1 KKK¦Lš 5èîÞ³—°°pÚwú\ðömÅApv®ÌÃGhP¿žW¼X1­ø111¼‹Ž&þü\¼t cc#éšýðCIºwë®Ý{háëCà Ê—/—®Avõšµ>ʺÕ+µ~¬*Z¬(Û¶íÐJ{ÿþÜÕÇ“Y¾Òœ9{ŽI“§²dÑBJ—þÜÁáÏ))ZScܼu›K—.óäɦϜ@lì{~šþˆS§Ï0x`^½~R™(m{ÿÁÃt Êd2™L–‘¿¾¶ð7304¤ó¬-ãDØÉS<HRâ•·Û¶íàÑã'¸Ô­£M=77=zLÀ®=$''£R©¸{÷^ºa_š<¸³vÝoÄÅÅ¡R©X³vV¼·‹—.“É‹åþƒÌçúòÛéOLL *•ŠE‹—R°@J–HmÌvtÌϹ © ´©Tªt+F«‚ PÆÉ‰9󿇂W¯_Kó Ö¯_]»÷HC“=¦5­££#wïÞ“†Þ¸qS«"Ûܫ۶ûqíÚu„$&&J+Pß½wŸ˜˜P‡¹™qqñXZXpûÎ]Ðé“æÑ£GÒt>¢xñbºI2õüù ºtïI÷n]ðôp'!!„„­…VÎ_¸À“'OhÕ²…Ö¶ßµn¢¢¢¤EÜÞ¾ có–­øx7×MúÕž>{ƹ󈎎F©LäÌÙs\½zMZàÉÑё˗¯Hç0 ƒûÀÑcǹuû6BŽ;Î;wqsIï°Wn\½v9sçóömIIIܺ}›þ‡P¹RE­^ÔÇOœäî½Ôyùóðá#ÜÔs_›››ñàáC’““3¼ž_+"<§Ò¥122B©L$ð@nNŸ9KN“œ”/_N7ê‹|úô‰«×®¡R©022¢D‰Äǧ~FÍÍ͉ŒŒ$*ê)))$$$O… åÑÓÓãÕë×Zs\-GÇü”(^ŒeËWœœLll,›6oÑM&“ýOH+—•ÊD¶lÝÆŽþôS!çÐá#ÄÄÄË[¶òðá#êªËú¹xñ2ê7nÜäáÃG+š:·hDd$vym100 *ê+Wg>¼®W¯_sêôi¢££IHHàü… œ:}Fj\¬^­*ÊD%«×¬•ÊØ/^òàáCÝ]ý# 2˜uëgõÚuDDD T&òìùsž?ÿ<_vV¾µ\ 'wî\Ò|¯'Nž"2*J+Í_%«2ðÏúÒ|™˜˜Ð¶MkvûûÑ®mꨘ9r`jjÊ;w ƒÑIiV­YÇÇùðákÖ­×j\ü³²*këÔ®ÍÉÓgˆŒŠ¢H‘¬[³Š­›7Ò¬izvOA0xà©1»úâ•«WILLDOO§Ò¥Q©T$%}üêúyVåöù ˜:mz¦çR“­­-µjÖdé²å$%%¡T*Y¾rzf8õÉæ?¶JeôãÇO;~"ïß§æuöœyZóÊ ¥2‘þcmm͘Q#HLL$!!ÄÄDÚ·mCHp þ~Ûñ÷ÛŽß¶Ô÷_·f%M7& `7zjM‰á­žfðùó$''³dÙrjT¯†¥¥ àÕ«WÒzJ¥’£ÇŽKkvìÂW§îºxé2Ž„eÉâEJuj€z®.~üH£†žTq®,mëR·õê¹Ò¾ã˜˜˜P°`«çÙ¨Y£:cF`┩¼~ýcccÜ\]([¶ ÷îÝ£ÿÀA$%%‘;Wn\êÖ‘*€=ºweÂÄ)ìÚ½‡qcF¥›ÖâÑ“'SO5òàáCjT¯¦Ÿ•5ëÖóòåKÆOœÌø‰“¥ðݺ2tHê ê«V¯¥M«V˜ššjlùmrçÎÍÊå˘9{³fÏ%wîÜ´iÕò»48ÇÅÅ1{Î<ž¿H}p(àèÈÀý©çæ @÷n]7~Í}[’Ó$'µk×L7E˰!ƒùyÁ"nܼ…µµsf͆;:88°yãï,^²Œ­ÚOÞ¼yiܨ!}zõÐêåéÙ€ù?/àλäΓ›¹³gJ½®¼š5ãð‘PêºÖ§QCϯꞑ±cF1}æ,vì܉Yž<4jèI`PúFçþê<«T*,ü…GclbŒ]^;&OêÞßž4óöÅÞ./;wlcÔˆaôé7KK òÙÛãëùB…ÙÑÓÓãçùs™2u:u\ë‘×6/={tcμùºIe²ÿ¼3gÏ1hÈ0 )_®,«V,“æ$ÕÓ×ç-[¥ûyÉ’%X¹|)ùÔSÐx7÷âÅË—´iß‘øølml˜0n åÊ–õ°S§Mgåêµpt¤G÷®RƒKv’““Y½f=wîÞåãÇ8äËG¯Ýh¦.³ŒY»j?/ü…&ͼQª‡“2˜âžü‡Ò¿‹›« Ë–,bÕšu¬Y»ž?bcmͨ‘Ã)PÀQ7y:_S®k.æêR—ã'NÐÄËk++*V,/-ÄûW˪ ü³¾6_zzzZñCdÊOÓS§eØÃ·téR”.] ÏÆÍHHH NíZŒ1\7Ù7˪¬Í“'7C¤Wï~Œ1ŒªUœQ(DGGsüÄIªW«¦5EvõÅÀÁ < ÌÍ̘2i¢Ô[ökêçY•Û¯_¿áüù‹¤¤¤dø, kîì̘5wÏFèë+¨[§v¦ ß½{AjCvLl,§OŸ‘:2\¸t GÇì¿?9t䈴6Çţ˖-ÃÖ͵ÎAZc¬¥¥%9r²{Ï^–,^$Å£^ë¡¿>tíÑ“ØØ÷T¬PžiS§P´h&OšÈ„I“‰I £NZ :˜Góâù ­…¤ÃÃÃ¥E$]ëi¯“qùÂYLMMYºx!ÓgÌbÄè1äwÈÏâE 022bïþÀ,ó5gþϼ}FÛö5ö +—/£¶zÚ¿/ñ))‰™sæJs6—-ã¤Õ;íº¤›²C¡0 W.SòäI>eÖÌéL˜8™µ]055e@ÿ¾”U—#2™L&“e%­ÕD³5VOçO_ãO¡ñgä #õŸñ…KWO+úeóz]º|™êÕªb Sù™>}ºÖëeËW€FCfš´ù›3ܨ1/_¦îžÝ˜Wûò†9Ù×Q*©R½&‡e:W\fx6fÚOS¾xúÿOÝ{öÆ£AÚ´þ<÷™ìÛ¸ “°··Ëtê™L&“Édÿ=×oÜä-[¹s÷.Ÿ’>allLÙ²e:x ÖÚ$2™L&“ÉdÙ¹zíš´(ñ÷Ïù ©T1uºÏì<|ô„*•+T”ÀG ø$kü¥hü ¿4ÒÿÿÈκ É[¶§þ¬žMóâÂ├¿£»wïadlDÁHIIá×+(X ÀW76§ù’!~2Ù?•üùý6ã'NæîÝÔaæš6ü¶î»ô°—Éd2™ì¯R®lÊ•Õî #“Éd2™L&ûìÙàü½X•¯@¼*qê”n”ìO gþ‚…„……£§§GÉ’%X¸`žn2™L&ËÔŒiSuƒd2™L&“Éd2™L&“ýü§œM‹ÁJ¥"Ç“'ºQ²?AsnÂ?+$øû,øwX»z¥nìÜÌé?éÉd2™L&“Éd2™L&“ýOûO78+,,°MNF/£•æKMùi:ËW¬Ò þŸ|Ú.nT®RÝ{÷éF˾QVß™¬ü|Ÿd2™L–97wÎ?¯üMÞ¼yKÍÚ.(•‰ºQß,ð@]»÷Ò NçÏÔ•të]º¾ôþj£ÆŒcÁ¢_tƒe2™L&“Éd_à?×àœâiW“ IDAT@£2e˜xå '££Y ¬Ž¿{ÇèË—iääDbâ÷«˜ÿ“MŸ1‹Ú.n¨T*ݨ¬¡CS²dIÝà¯|¸¸8ÝàïnÇN­×-[øàáá®ö½ü]yÊŠn~uMžúÇãâù34nè©ýÕ®^½F±’¥éÝ·¿nBÜÜ=)V²4 ºÑ_mó–­4kîCÙ •p®Zƒî={síÚu­4'NžÄ˧¥Ê”ǹZMÚwú‘—/_j¥ù»uíÞ‹5k×ëÃwü>Éd²ÿB‚‚ÒÔˇfÍ}t£ÿ´'OŸ2pðPªT¯…S¹Š_õƒiJJ 6n¦qÓæ”­P‰ò•ªhÕ7z÷íO±’¥¥¿’¥ËjmÿOÒµ{/­c-V²4+V­ÖMö·Z±j5Åp¢dé²üàTŽ:®õ˜0i áRk&Œ‹‰‰±Ö¶™É® pv®L¯žÝuƒÿVºÇpãæMîÞ»§•æŸî{ÖÙ„ìÞ»N?vÅ£a<6¡a“fL›1“¨¨wºÉÿRRRØ´ù5õ¢l…ÊÔu«ÏÆM›¥ø'OÒ®cg*T®ŠsÕLš2•OŸ>ií a“fœc–ÿ%çF&“Éd²Œü眛͔֮§OqÓÜ…`üÓ§xÕ©£õŸóñãGöîßµ ÇŽ×þǪçæJž<¹uƒ¿ŠJ¥â§é3‰‹‹×ú®=~ÌŠ•Úçeœœ(Z¤ˆVØ÷ðwå)+åWS||ýÒºe .ž;Íý{èܱvvvº»ûÇøß'™LöÿgÙòü¾a#®®.ºQÚÛ·a´ëЉ%ŠÈ­ëWèѽ«n²Lý¼`Ûwø1súO\»|‘‹çN£P(¤øÈÈHVüº”{·opïö n߸ªµý?ͨ‘Ã¥c½wû½{öÐMò·su©Ë½Û7¸uý ëV¯âãÇxyûòöm4nÔPw³ eW†§±µ±¡FõjºÁÚ»wï˜7Ô ¦¯¯§›D¢{ «×¬ãÞ½ûZiþ.úz_ÿ¨ô=ël*•Šƒ‡rêÔifNÿ‰ƒAû9´Ÿ¿+ZŒÖíÚgÚ ùo¦T*¹{ï>óæÌâê¥ó,Y´9ó~–:œ;‘žÝºröÔq÷ïáÂÅK¬ûíw­}\½zøøxjÖ¬Á‰“'Yµz-›6¬çü™“ØÚÚ0vüDP7è÷8˜6­[ròX(Û·n&4ô(»÷ìÕÚŸÀ.Ü빑;wî,ß?&&†þ3|è®]¾À;Ò«w?>~ü˜m¾®^½FggB‚9æ$æææŒŸ8Ië8Òdu Ñ11”/W–ÃpùÂ9ºþØ™¾ýfØé*2*’Å‹kÝÿÆ _qnd2™L&ËÈ××¢þÁ.]ºDÒ³g¸ ¡%i =âêÕöƒÏŸx ˆÒ¥JÓ¾]¶lÛ®7jÌ8V¬\E—n=¨è\ wFœ?9óæS½Vœ«ÕdÖœyRúäädfÍ™GõZu¨Z£6&M‘*,/_½ÂÅÍ;ýqs÷¤R•jtéÞS«Ή“'iÜ´9•ªT£s—nD½‹’âtiÑÜéÀð£˜1s¶t\'O!%%€[·nÓºmªÕ¬MÕµ>b*•ŠŽ»NË6mqqsçíÛ0ž>{F—î=©Uת5j3tøÈ {BèÊl»Ò«O?^¾LÍÚÐPÝá—Ûwøáîш •«Ò¸is>"Åe—¿4™å)99™á#GãâæN•êµhÛ¾#/^¼õu©ïÑ“§NãîÑwFRxç.Ýp®ZƒFM½Øx€êµ>ÿIŸ~p®Zƒ:®õXÿû€Ló›æÁƒ‡tîšÚɧe+ºtï @xx8ý ¢R•j8W«Éè±ãùðádqŒñðh€À.­°mÛwЬY­°Ì®—æ6î(]¶nîž<}öŒˆÈHÖ¬[Ï’Å‹pu©KîܹÉïà@ïž=hݪóæ/õÃòÇiîÕ SSSl¬­iè鯤ÊîÚ|ÏïLV4¿O£ÆŒcåê5ôìÝ—ÊUªSǵ[5î ={÷M×Sºl…Êܹs—·oÃp®ZƒÓgÎðéÓ'7mΆŸ{åÈd²ï¯O¯žlÙ¼‘J+èFðøÉ©,w­×@ë;œ’’Âø‰“qqs§¢s55õ"ôè1)~íúßpsue`ÿ~˜›™hýPxöÜ9ZµmsµšT©^‹á#GKett46mbÅò¥T¨P}}ýt?2FDFâàà€B¡þþÉôõôµŽUOOþŒ›0‰5k×SµFmÆMHmøY¹z <S­fm<6áø‰“Ò~\ÜÜÙ»o?Þ¾­¨è\¦^>\º|Yã>»~ã&5k»¤M£K¡PP¼x1æÍ™EÉ%X²ìWP—'ÅJ––zfV_ˬ 5f;üv2rôXÊV¨Ìî½ûÒMwFÿƒ©P¹**Weæì¹RÜÍ[·hîÛ’ÊUªãÙ¸i†S8EFF1{î<ڴ눅……Tfêë+˜<å'ª×ªCm7~]¾¡®¿kÃŒYs9t˜é3gãâæNPðÁ ëYùÒúVFÞxŸZoªVÏÆM9z€Öm;Hu¤4­Ú¶gíºõÖÙP÷0ws÷Ĺj :wéÆËW¯@ýƒö€AC¨Q«.ÎUkЪm{©çòêµë°²²bîì™øùàÙ¸)ͼ}ñmÕš&ѧWO­zçºõ¿Iu±ã'2vüDþز 4Îä)S©R½ÕjÖfÃÆÍìÞ»7wO*T®J^}¤zÚœyóéЩ‹t]vï݇k½ß­çvVLMM™þÓÊ89¡P((_¾… äÑãÇŒ6„zõÜ066ÆÖƆš5ªóøñ­}l÷ÛI ôõõÙ³w?­Zµ p¡B2tð Ž„%&6!III”.] ììò¦ëÅëççOË–- ›÷?t8”J–Ľ~=ôôôðnî…¹…9ÇOœÌ6_ÞͽèÜ©æffÓÐÓ#]¾Òdu eË”¡c‡öäÎÚéÀÓ£ ¼W_[M‘‘QØæµÕºÿéë§6|鹑Éd2™,+zú€0 #À0ò€5`Š¥Š@ —®Šè˜Ø/ú;t$TÄÅÇ‹ì-QJ-QJ78•+WŠ^9s YþõÌ™S¬ZµJwóÿ”VmÚ‹AÁ">>^T¨\U¼~ýFŠ9z¬p®VS<|ôH$''‹é3g‹’¥ËŠ_–,ÉÉÉâÉÓ§¢LùŠâêµëB!~^¸H´lÓNÄÄÆŠ„¥hݶƒ˜3w¾Bˆ/_Š¢%J‰QcƉ„¥P*•âÇn=ÄÔiÓ…B„…‡‹2å+Š}ûEJJЏyó–¨\¥º4d˜t<šêºÖ'OBá·Ó_+YZlÙºM$''‹·oߊµêŠ àƒB!Úuì,Öÿ¾A!„R©wïÝB‘˜˜(Š–(%Þ¼y+í÷Çâô™³"99YÄÆ¾nî"`×né}Z·í ¥Õ<†¬¶;vü„ps÷¶êsûóÂER¼sµšâÆÍ›B!ŽŸ8!œÊU·ïÜâ ò§)£< !DèÑcB©TŠääd1`Ð1fìx!Ô×¥T™ò¢s—nâÑãÇ"!A)„§E+1cÖ‘œœ,¢££Eë¶Dµšµ¥ýµnÛALùiºHNNÏŸ?•«ÖG"“üjŠ}/Š–(%Þ½{'…ù¶j#&Mž*E||¼èÖ£—è?p°Y£¦+W®Šz <ÅåËWDý ¥ðwïÞ‰*Õk‰ÇOžˆ¢%J‰xõ}$«ëu$ô¨¨\µ†¸tù²øô铸ÿP©Tbßþ@Q£¶‹´oM.^Åp?~ÉÉÉÂÛ·•èÞ³·xøð‘nÒt²º6ßó;Ó¥[O±zÍ:Ý`!t>Ë#G*WW®\BqêôQ¢T)„¢G¯>éöS¦|%qûö!„ûˆº®õE\\œ˜7èÒ­§HIIÑJ/“Éþ!‡‹¦^ÞZa ¢V]W1oþñéÓ'ñêÕkáZßC« 9,"#£„BìÙ»O”«è,’““…B4÷i)/]&Z·í êºÖ»t“¾ïBñèñcqþü…Ôò"&Fø¶j#V¬Z-„âð‘PÑ´¹˜÷óBQ¯§hàÙX,úe‰´o!„¨P¹ª¨Z£–(_©ŠhîÓR„=&ÅýÓdvõÛé/œ«Õã&L‘‘QB©L-§Î_¸(×ß7l®õ?—u]ë‹fÞ¾âíÛ·"%%Eü²x©hÜ´¹VüÙsçÄýûDÍ:®âô™³Rœ¦å+W‰½úè ¿þÂ¥^!4Ê“´óžU}-£2|äè±¢JõZâ-ÛćDRRRº:‘·o+1~âdñáÃû^¼xùRu>Z´n+¢££…B,Yö«ðhØDÚ.,<\LŸ1Kxù´ÛývФ¤$)Îo§¿(Z¢”>"„âùóç¢V]W±o ¯y ¾­Úˆ]»÷H¯3«ÿeækê[šFŽ+ªÖ¨%=~,„F=îÕ«×"`×nѨ‰—”öùóç¢dé²"22*Ã:ÛÉS§Eåª5ăEJJŠ˜1kŽðmÙZ!Ä/‹—Šþ‹ääd¡R©Äõ7„B¨T*Q«®«ˆ‰»öì-Û´“Îc…ÊUEBB‚HHPŠšu\…P×s4wï¾ý¢XÉÒbó[…Ð8‚‚…B Åp=ûôqqq"..Nxù´+W¯B‘””$š6÷¿ý¾Q„…‡‹*Õk‰ /‰ÿ‘‘Q©\E)ošRRRR?g;ü¤°„„Q¾RñâÅ !„¾-[‹={÷il%DZuÅùó„B¬ûíwáîÑHS§M;w‘¾ïBqþüáR¯A†õÝ÷Ÿ3w¾?q²Vš!ÃFˆÅK—i…‰lò%„ÓgÌÃFŒÒ NG÷4½yóVŒ3NtíÞS7J!Ä?Q¶BeQµF-Q¹JuÑ«O?ñìÙs)>»s#“Éd²?ïì¹sºAÚ‡¸8q8ôhºvØÌþ.\º*€J@) È Xfê6au±¡ºÍX¡nCÖlS–ü§z8ËRÝð€—/_ÒÀ½>9sæ¤q£†lßá§•¦{}Š)‚B¡ ¡gT*½{ö@¡PP¨`AJ/ÎÓgÏ@=„¬O¯ž˜åɃ‰‰1íÛµ!8$DkúõÁÄÄccc¸×çÑ£Ô_ê;N‘"EhÒ¸zzz89•¦áWÌíkooGÛ6­Q(äÍ›gçÊÒ¾ *DPP0×oÜÄØØ˜’%Jèn.É•+5ªWC¡P'On*U¬È‹/˜{÷[·ص_oÊ89P§vm\]ê²k÷)MVùû®.u166F¡PP·n^¼Lí-””Ęѣ(R¸0&&Ƽxñ‚[·ï0dÐ ææætíÒYJÿüù ._¹ÂÐÁƒP(8::ÒÀ½>Áµ¯õ—zòô)ׯß`äˆa‘3gNFÁÁCRïÝc̈‚Š+ P(¤ÞS»vãéᎉ±‰VÚ¬®×ž½ûhݲ•*VÄÀÀ€âÅ‹¡¯¯Olì{¬,-´ö“ÆÖƆ””bbbP(lÞøeË”¡S—n´nÛ“§Nën"ÉêÚð~g²R¿ž*” fꘛ›ñìyê÷<;5¤JgúöˆŸ¿?sfÏ@O/ó!Ñ2™ìûIëa¨éø‰“¤¤† ŒùòÙÓºe Iizz`ee @³¦MHIQñæmêðûððpN:ÍâE?sôHÞͽèÞ«´]‘Â…©RÅ9µ¼03£¡‡‡tŸ çñã'8æw $(-›7rìøq6nþCzï#!Aœ<ÊÙSÇiÙ‡>ýððá#)þŸfɲ_©^«ŽôwëÖmôôô˜:y"VV–§–SUœ+KçÕ͵nº¹ü;uì@Þ¼yÑÓÓ£IãF<|¤ï·oÃèÖ³Ó¦Lúêé+,,,ˆÕ †/¬¯éª\©"íÚ¶&W®\éz©?yú”Ûwî0nÌ(råÊEž<©#€Ò´nÙsssy¦ŽB=ÅVý yóö-ÛþØD«¾éö]¸P!<¤®yáè舯7AÁµÒdækêi¾µ¾ÕÀÝ"… ƒºçTº4¡GÒ¨¡'á\»~€]{öâæê"}.tùìÂÇ»9ÅŠEOOn]~äÚõ„……Q°PA®^»Æ‘У!([¦ ¨GmÙÙÙa–'—.]¢IãFòéÓ'”J%&&©u ´¢xàZúúJÇÛ´IcŠ+úù €ièé€{ýz( :wh©©)¦¦¦ÔªQƒ§OS¯£¡¡! çÏcÉÒe <”6­[â\¹’Öþþ*•Š‘£Çн[)oš~]¾’œ9sÒÂ÷ó<÷‚([Ɖüùó T’Sg6“œ&Ä«×iÜÐSSSfÏÏ?:vh/}ßQ÷NoÙÂ'Ãzîû'h\›4&&&éÖÉ._çÏ_`àÆŒ©•Žî1 žž£\Egj»¸ñðÑ£L÷ÓÂ×›CÁœ=u‚C`ccC·½¤Ù™L&“É2“~,ø¿XåÊ•Ùdl Ù, vËȈ¾ÎκÁÿ[¶nç]t4Õj¦N•””Dîܹп/ õVÍ qŽ9È•+FFFR˜!Éê©ÂÃ#=v<©ÛªT)äÈ‘CJ hÍckh`À§ädPoë/ŸFJ°·³“³“7o^­×†$«÷ýÓ”IlÙºaÃG’'OnÆŽMçÊZéÓ\»~ƒÕkÖòæÍÐÓãÅ‹—ttl§›,oÝ **Šrå´Iʟ߈ˆÏsg•¿ì„GD°lÙrnÞ¾ B“n>ábE?Ï'Aî\¹´*Ü66ÖÒÿaa©C>=5–Â>%}¢NÚÒë¯õŽ\¹r‘+W.)Ì1~RRRˆŽŽA_‘ú{—æ1f¥E ¶ûí¤Jg¶íðãçyst“dy½"""©P>µ±U“]^[¢Þ}^8FStt4úúúäÉ“€œ9s2xÐôïËÞ}ûéÛ«V,O×`ð%׿¯úÎdE÷ ³ü¼é6rõéÕ“†MšÑ­klml´âd2Ùß+<<œèèhjÖù<¿sr² 'õÐç””V­^CÈ¡Ã$&~D__¤¤O¨’S‡B !è×·Tùx7çç…‹¸ÿ>åË—ãλ,ýu9Ïž=õœ Õ«VQo ?üP’6­[ºNÑ®mÓ¥s'P7Œ¢n´êØ¡=»÷päèÑt `ÿݺüHûöm¥×ææÜ½w‚ hM¤R©X±r5ÇOœ$9ùŸ’“ÓÝ+í5ÊvƒtÃÏçÌû™øøxÌÌS§2ù/_¾ÂÚÊJ7¾°¾¦«hÑ̯GdD$¹LMÓ5Ô¥±·ÿ\¦hæÓÔÔ”û÷°qÓ4ñò¦¡‡íÚµÑj¬Îc–Z®¦ÉkkËÙ³çµÂ2ó5õ¿4ßZß2S—ÿilmmx†‘‘¾>ÞìðÛIùreÙ³gc3iÐ çÐá#ìÝ·O 311!&6–æÍšbnfÆÊÕk˜6c&ýûö¡MëVÄÅÅ“ËÔië àƒðþýB¢VÍšDDDP®¬v½S·¬¶²üüÙÑ××ÇÀÀ+Ï“¡öy)V¬(5jT'äÐaVüºT ÿ»¨T*Ž ƒÐfýï:x¿¯—¦Øá·“ví>ŸMMMÓ5ø*”˜›™ñþýÚvèÌàýñnîÅ;w8x(±±±´nÕ’øøx‚†´?ý¼Å½.SSbt~R*•(à(½Î._/]fø¨Ñ¬^¹ëÏuõŒdt *”çú•‹¼ÿ3gÏÒ¦]G¶mÙD‰âŵ¶×ÓÓÃÖÖ uÎè±c(_É™'OŸbcm“幑Éd2™,+ÿ¹g£Â…9{½‚õôÈ]¼8+VÔúOP*Ù½g[6mÀÞÞ^ oß©3G§~½Ôå3ú…>3ÖÖÖÌŸ;›š5ªëFI4+8šll¬¥†Ì4š«Bg'«ÅZ ;´§CûvìÚ½‡.ÝzpñÜê†Ì4IIIüص;ãÇŽ¦e _ôôô2l„VšŒd·]v§0þüéz=½zõš"E>÷bÈ*š2º^£ÆŒ#Ÿ½=lü###¶lÝÎÞýûµÒh^k+kÞø€R™(õ&~§ÑÐjckƒB¡àØ‘CZ?>¤Éà²ä˜ß>+ÍúêÕk ööv„…‡CŸ]>ÞÍià٘УÇÈ‘#eœœ¤yù‚ëeee)Í£¬©T©RDFFrýÆMÊ•MíU”æ`È!*U¬®'‡B¡À»¹‚8{î\º篽6šþìw&+Y-Ò¤¯¯*ås£Hìû÷Z‹Ë!øiú Z·j‰À.Zµð¥xñbR¼L&û{988P¤paöïÕžß>Í–mÛ 9|„Õ+—ci™ú#sùJ© ƨ{•Fê,ÆúéÓ'räÈ‚®=z2vô(¼š5EOOuë“zý::æ'*êB©|JRo›}}ýï¶Ðë_!mn~]ºåôê5k  aýšÕXYYòøÉ<j¯' —Éý=͘Q#øøñ#ƒ‡gßî©—pvT*;pu©«ÙÔ×2+ó*,­,‰}ÿž÷ï?d¸­¾~æórçwp`ìè‘ 4ÿ€]ôèÕÇüù¥FËpu Í›·aXf2ÚH·”Yý/³‘Rdp¿TZ]%ÍÛ°0*UJ}†h×¶5-[µ¥¥¯qqq¸¨¯‹îñ¢n¨îòc'†¤€KÝ:¸Ô­Ã›7éÖ£7  H‘"”^GGGõîŽŽŽœ¿pcc#¼›{PªÔôêÙÿ€]´nÕ’½ûöS±b­XÈâý‹—(ÎlÕJ{ïÞ}<=ÀäëÔé3Œ?‘Ë–âäTZ+NWfÇ )OžÜxz4`Õšµ\¸x)]ƒ³.!RB`bl’í¹‘Éd2™,+ßVûúÛsâÓ "$ƒ U°ž³ bωºQÿûP¼Xq*V¬€]^鯅[¶¦.òµZøz³ð—ÅŸ7‰‰áÞý/[-Ü¥nî?x@È¡Ã!xøðûè&û&—._&11===Ê–)ƒJ¥âãÇDräÈ©©)·o§>ÇÅÅO¥JÑÓÓãå«Wœ9›ºøYVâãã³Ü΂ˆˆ"#£2\x¦U _öî äÎÝ{\¸x‰'OáÕ¬©nÒléæIAxX8eœœ022B©Ldßþ@ÝÍ´(àHÉ’%XºìWT*qqqlظIŠ/T° åÊ–eƬÙÄÅÅ!„àå«W¼~ý¾ ¿ºòæÍKÚµYôË’’’P*•,Yö+M›4N7´öKØX[SµŠ3£ÆŒ£­ºW¦ì®WãF Ù½w·oßIÍÛË—¼ÿ{{;:ulÏ ÁC9yê4Je"111¬ÿ}6mbø°¡ ~€9söïÞ½C©LäÔé3\¾|Eúªék¯¦oùÎ$«’ùøñ£ô§Û›îK(P€‹/I×ÖÏo§Vüºõ¿ñáCÓ¦Nfèà ñyAÆ 7óû†ÏŸ%™Lö׫Y£:ÊD%+V®’îÙÏŸ¿àþƒ îjee…‰IN”ÊD–þº\«‡_›Ö-YøËbž?J¥â· 155¥X±¢$''ƒƒºGêÝ{÷ئ15WêÔEúü²x)*•ŠW¯_³yóêׯê3CMLL 7mæþý¸º~îýoAáB…°²²D¿Æ þYÉ›×–V-[PµJFŒ“®‡´®¸¸8®\¹J÷^}ˆ}O¿¾½u“@6õµ¯-Ê)Â%K²ð—Å$&&’˜˜øÕÓ¢˜˜˜Ð¡};ìÛCÇí¥ð7oÞâ·3•JÅ“§Oñ÷¦zÐeiaÁ­Ûw@Ýs?³úß_áð‘PnÞº…‚#¡G¹uë6õÝR;o.TˆR¥J1}Öl¼½½¤Q„ÕÙ|}¼Ù²u;W®\EAbb¢´Xä»÷¤– ,ˆ¹™qqñØÚØ`iiÉÉ“§055eÁü¹øûmgüØÑÔ­S›]þ;X0®Ô »aCOví–¦69z”»ê^ÑßâýûŒ5†i?MaÆ´©\º|Eªœ=wމ“§HŸÝIS¦J  9Äœyó‘W¿ IDATAÝà=bÔž?OÿƒV”ÊDzõé‡ Æ!11‘„„é‡ð‹~Iíu½|9rä !!Aº¿ùùùÓ´Ic­Î¾>ÞøùùóìÙs’““Y´x)µjÖÀÊÊ’B òòåKiz¥RɑУÒT-;vúÓª…¯´/²y÷zn<~ò„#GBB°gï>ÂÂÂpsuÉ6_GŽ„2fÜx–,^DáÂ…¤ýfT¯ËêΜ=ÇÓgÏP©T¨T*†âîÝ{T(Wtêm‡„òäéSRRRˆŒŒbÜ„IT­R…|ùì³=72™L&“eå?ÕÃuÅ6èöm¼êÔaÒ£G”UWànYX»X1ž<™eœ»-Û¶Ñ&ƒ_œ[øú°dÙ¯¼zýZ7*[©C½–Ò¦]GÞ¿¥…½zõø¢ÊFÞ¼yYòË"fÏÇè±ã(ãäD×®?J½¤þŒ}ûзÿ 073cúOS¥^B#‡e¤)ˆ‰“ÙúÇ&ÆE÷ž}°²²$Ÿ½=-}µ+ޱ°°Èr;§Ò¥iܨ ›4ÃÞ./{whm_±b¦LšÀaÃ‰ŠŒÂ>Ÿ=‹̧h‘/›BB—nž&NÇ”Ÿ¦±uûvÌÍÌhÒ¸û3oØÔÓÓcé/‹?q2ÕkÕ%_>{¼›{iõøøuébfÌšM]·ú¨T)äwpà§©“È—Ï>ÛüfdÁü9L6ƒºnõÑ×WàêR7Ë!§ÙiÙ—ÓgÎfØhŸÝõòôhÀ›·oé7p0ØÙåå·µ«É“'7Æ%¿ƒÓgÎâÙ³çäÈ‘ƒ å˱~íi¾Â¸¸8¦ÿ{÷ÅÑpü{ˆ(ö®‰½7¤¢(vÅÞ{ÇÞ{Å^c‰½—Ø{ï-ÆÞ%vD©" *0ïËÝRÔÄ$šw><û<ÜÌìîíîÝîìÜÌo'NæÙ󸛕¼yòЯ_<ô ,†¾ôØú3ß™3g3cælåuïžÞôîåmTæSºtîÈà!éQ».©-Sãêê¢ }¿ÿà .b˦_Ðjµ´hÞŒ#G1}æl†ÌÝ»w¤Ü`"IÒ—»yë6C† '""‚×Ô¨]—¢EŠ0kÆ4,,,X³r9S§Ï¤ªgM"õC¶‡ @¡‚iÑ¢}û ÄÁÉ›ttïÚÕhHw¯ú¼yó†v;ñæÍŠ-ÆâŸ(?Ž9œÞ}ú‰m9xÕç¾ñJ«Õ²béÆŽ÷ÁÁÑ…ÔV©iÚ¸1ôñC5&&¬]·žÁC‡ƒ¾WÜŠe‹… úuîØC†âY£66664jÔ ÉÞ¿ŸÃgüXêÖoÈ’eËéÚ¹“:›“§NS¸XIÌÌÌÈž-•ùiöÌDaâ¥T_û3×p€E?Ï‹;Îú0m­Z4gÐÀþêbŸ¤Ñhps[ú8×7oÝdò”©˜hµ´jÑœzuëͯk—N 6’í;v2jÄ0®ß¸™lýïkãéÖ£'=ºu£FõjJhˆ«W¯annNùò !«zTáñ“'´nÛFCew÷D#°¾Ä˜qãqrtTê9Ó¦L¢{ž”+[?¿—œ?‘ØØX4 çÏ_¤TɸÆÌ§ÏžqåÊ5¢¢ÞsæìYÚ¶i$ì·O9|ô¨òœŒ›6+é¥K—âçy?ñóÂÅ8¹ÿˆuóÚevìÜÅ¢… ŒÒílËÑ»—7­Ú¶ãÍ›0lË•eòDЇ ñ™0ž!Æö&.†›[EÀÇxöôU=ª(Ë Hvýwn^ÃÊÊ*î{3n}ú w®Ü,\0sssvíÙ›ìvmÛ¼‘‰S¦òê•? 51X*¬X¶WƒwŸzÏž=cô˜qøë{¼çÏ—Y3¦)=¦ ëmþþþøLšBppææTv¯Äü¹quÊ”ö$I’$}J|7`ÃîÀÕdb0i &S •þ鄿úÉâÒ•ëç äOüàƒ¤\¹z• öŸbY pÜÅñáýä\’rýúu.éCgØ]½úŸ £!IÖé3g;~ÇRgI’$I’$I)ؼe+[¶mgËÆ„f~m,_¹šó.¥‹ëÙ] @~ºwë¢<˜:9 ›4£M«–É6æK’$I’ôï»pñ"ööêä¿$<"‚‹—.Sî3ÛA>zByÛ2¶€x|>ÑS¬Á$TS<åÿÿ\gCeÊ”¡Lü‹ÏÜÉ’ô_vþ ä/@¦Lyóæ K—-ÇÉÑQ]L’$I’$é»qãÆMFŽ£N¦n:tîÔA¬X·~›6oQ'3bøP*8¤Ü;80(ˆŸ-aİ!꬯*kÖ¬ :XœHPp0¾¾¾”,QSSSŽ=ÆÝ»÷°ûÄ%I’$I’þÿégI’Œ]½zAC†ñöí;LµZÜÜ\lH’$I’$Iú´_Ö¯U'ýëråÊõ·†ö$I’$Iú&êI’$I’$I’$I’$I’$Iú3¾‰Îïß¿W'%ésË)t:bLLИ[`ò¥óJ’$I’$I’$I’$I’$I_ä?ÝÃ9&4”@SSB³dVgI’$I’$I’$I’$I’$I_ÙºÁ9âÑcB´Z"üQ%I’$I’$I’$I’$I’$}eÿéç×y­5Eãì¬Î’$I’$I’$I’$I’$I’¾²o"†³šÑëÐà$ÓGŽiôZíÁ¾ý¼×jIS­š:K’$I’$I’$I’$I’$Iúʾ¹Î>>>̘9‹ )“Ðÿ¦Íœ5+Q´¡—W®òôæML ÆÆÞ^ýéà¡Ãtéæ­NþSJ•µãñ“'êä?eøÈÑÌ¿¾ò{ü¯iظ)W®\U'u>“¦°déru2:]Þ½úààT‘*Õª³{Ï^zöî €ßË—/U–˜˜õl’$IÒW°s×nšµl­NþÇÝ»wŸ ήêäÿ+¶¾âï@¥ÊUÑé¢ÔY+Ã:„a½+))Õþ †ûúSukÿ&gç®Ý´íÐIœ¬¯Y¿–$I’$Iú7}“=œ-S§&CÆ”ôßë9)Ñ>°wìXÂM´îÛ4u‘ÿ´.ݼùõÜ9£´¾}zQ¿^]Ò§Oo”þ­±µ-÷UÞãö»hP¿ž:ù»Ö«§7 T'u^õëbii©N`×îÝsöÔqLMM "Göìêb’$IÒ?@§Ó±qÓV®^MÍêÕ:d’×£goN>cT sÇôíÓ ;'t::›%‹àìä„‚#G±hñR4ضe“ºèÊí;wX´x)W¯^#êý{²fÍBó¦MhÓº•º(|A}åö;˜™™Q¸P!2eÊÈÐ!ƒ°´´PýÓ©\ÕS À?üÀÞÝ;¾¨‘R=àŸpøÈQœ+&Mø‚}Íß´“¢ÓéX·~G 22’˜˜¬ÒXQ«FuZµl©é7y‹õ݈eÓæ-lܼ?¿—ØØ¤£C»¶´hÞL)óü¹/SgÌäúõŒ>”Õ¿u½2tÐ@œœY³v+W¯E§Óag[Ÿñc±±±ù¬uS«N}Ž>ÀÍ[·X¼t9÷ï?ÀT«ÅÓ³*Æ ÆÌÌ €s¿gêô¼|ùŠ|?þȨ‘Ã(Q¼ø'×õìùs~š;Ÿ /ñáÃÊ•-ø1£É–-«Ñ{øðá|&qüÄIÐh¨_¯.úõÁÄÄ„ððp~^´„C‡FÞƒ‹[e^¿ý¯Ûœ]¹óûïª%Add$£FÅÙÕ*Õª³fÝz£ÊJž½Y¹jÑ~üÈÇðîÕ?¿—Tõ¬©,+8$„^}úá\±’² Iñ{7ßö»ð¬YGW:wëAPpBúe+VR«N}*VªLíº^œý5᦮ªgMöìÝGÃÆM±sp¢MûŽ<øãz÷íOgWªT«Î¾ý”òÑÑÑLŸ9W÷*¸¸Ufìx¢¢’ZÕ³&¿¿ú}ºlÅJzôì“‹UªUgËÖmêY’ô9Ç+©¡¶?Í›ÏλػïU=kræì¯lÚ¼•Ž»ª‹ÂìsI’$)i?¡]‡Î8º¸R«N}=~l”¿pÁ<¦NžHÖ¬‰{¿™˜×ΜýS3Sœ+åiµZ6lÜDíš5H›Öô=¡×¬ZA™Ò¥TKŽcjjÊò•«pu¯‚«{æÌOll¬’ÿËÆMÔõjˆ£‹+•«z²tù £ù¿%“§M§aƒúôîéM®\¹°´´¤DñâJÃkUÏš\½v6í;RÆÖÿ£úÊ›°0ú „›»Î+Ñ¢u[^¿eêô™;~‚ÉS§SÕ³&‡MâÔé34mÞ 7w*U©Æò•«”÷õ%×z¥¾gWï5<¶¨êoß½¥cç®8Å×ËNVò ë;wífôØñ¬\µ·ÊŒ;^YÞ¾ýhÒ¬%œ]iШ)×®_W–‘ÒvÅ yÍŒY³iÕ¦=666h4ÚwìLPPÍ[µ¦ªgMÕ MMMÙ²u;U=kâìêÎÐá# ‡$Bn$wì†ÁÔi3pu¯‚SÅJŒ›à£|~£££2l„²üÖmÛóâÅ eýÃGŒ¦K§Ž4mܘ >“¨ëÕú 3aâ$† LæÌ™Ù½gŸR>^ll,ƒ‡gàà¡ÄÆÆ~²~ý%uÄ?2mÆ,\Ý«àèâJûŽ]xü8!4GRûA§‹bÔ˜q¸¸UÆÃ³kÖ®£^ƒF<~ò„Ô©S“*U*šµhÅœ¹ó 3ZßßÍÊÊŠ±£GR¼X1´Z-%K– ož¹®x;vìÂKß‘©oïžTªä†……™3e¢‚ƒ=Ož<àø‰S*XÊî•Ðh4Ô©] ›ô6œýõÜ'×U§v-Z¶h†MºtXXXPգв\µ}Ð¥sGÒ¦µÆÆÆ†íÛ±k×n *ÄÁÉ™#&&&ÔªU“°·o yýZ½‚ƒCÈœ%³Ñ9ÃÄ$®‰ÀÏÏ»wïÑ£[7´Z-E ¢F¸z’$I’ô)ßuƒó‚…‹(^ª,ÅK•Žb%Fx÷æþÛä-[†ž7:Ãç ¿ûäæZϪJ{øÈÑtlß6É^-sç-àÑ“'ìÛ³“ý{vñôéS"##ÕÅR´výìÏÙÓ'èå݃þƒ†ðòÕ+u±Dzõé ÇàÈÁý´l7ä,c† têО£‡ö³Ï.nÞºÅÁC‡)P ?#† %GŽì9´ŸukVзß@²eËÆé“ÇX½b‹/åÌÙ_Uk‹óòÕ+®\¹ÊÎm[8qô0K—%Ä2,[¦ kW¯äÌÉã4oÖ” 'Ì ›·leåòeœ>q”èèhšµhM³¦M8ÿëiúõéÍØñ>ÊÐÏ‹síúuöìÚÁ‘ƒûyøð?/\l´¼ä,[¾’n]:sîì)&NÏ„‰“ I\‘üZúôêIÝ:µ©[§6Gí§¢‹³ºˆ‘/Ùç’$I’±ØØXúH¾|?pêøQV,[®Ý{ŒÊÄ7´Ä&ÏÖÐÊÕkhÕ¢…:€ððp¶ïØIË–Í•4eÙȆ^¿å¥ßKŽ>ÈÆ ëØà ;vîRòóçÏÇœY3øíìi–.ZÈò«¸uë¶Ñ2¾¯_‡r÷î=ê×5R®6fÜx¼»wã×Ó'ìÙ°!®gàñ£‡8sê8Ç&C†ô 4€"E 3lÈ ŽÚOµªFóäΕ‹I>ã9uâ(‹Ìã§¹óyõÊ_Éÿ»®õbäˆaœ;s’¡ƒ2`Уõ:vüOŸ=c÷Žm :XI_¹z óçÎæ·³§ð¨R™ñ&)y)mWPp0S§Í ›wOòåËÇÎí[hß® ¦¦¦,]¼€_Ö­åÈ¡ý‰ö5ú†Øç¾¾Ü¿‡#÷òú5³æü¤.¦HêØíÝ€|ù~äÄÑÃìܶ™'Nqìø ÐökÕ¬Áž]Û9}â(™3gfñ’e<øãÞ½{‹gµªÌ˜5›,Y²°{Ç6¦Lòáå˸zm­š5¸p!¡q?Þ„‰“gÊ$LLL>Y¿þ’:âü ¹vý:;¶ná×Ó')ogKçnݨÕûaÁÂ…<{öŒ{wq`ïnü^¾äáÃG ÿÁ¢KçŽìܶ…lY³Ð®CgfÍþ‰ÐиŽ*ÿ´×¯Cyöü9¥JÅÀ8wþ<ÖÖihݶ=UªU§GÏÞF÷:ŽC‡àU?î{ýôéSòç˧ä§OŸžŒ2ðH¿½†ÔëB? ":&ûòvFeѹzí:¶åÊðäÉ ÈoT¦p¡BÜðÀ(dÖeèÊ•«”-[FLTT¯^ù­§P¡‚üñðQ¢žÞè—“#{v²%ñãdxxׯߠb¥Ê8W¬DÏÞ}ñõûåñ“§äÌ‘Ã(DMáB¹ÿàƒ%H’$IRÒ¾ëgC(aWŽÞS&3rý:Òg˦.òeáâ%J¯#W÷*üþû]uèÏ£GéÚ£'&&:vHè=bèðÑ£t騛té077§{·¤{´¦Ä£Je (€F£¡ZU *Èé$bKzúìwïÝcðÀþ¤I“†´i­É™#iÒ¤ÁÁ¾WûWü™}.I’$%xîëË£GéÓ»©R¥"kÖ,4jØ@] ô )¹}ç>J6îæ–­Û)Sºù~üQ•â²{õòÆÌ̌ٳӸ¡—Ñ9Þ¾|yeyùóç£l™Ò‰zh âÐr挫_$§IãF8Ø—ÇÊÊ*QOÊÜyrsãæMNž:‚Å‹å§$_¾ÉŸ?®!¬H‘ÂdΜ‰—/_*ù×µ¾JåÊüøÃ8;9Q´HNNèålH£Ñ0jÄ02dH…EBÃS‹æÍÈ’% †êžÕŒŽorÛAZuñ`íª4¨_O Óõ%ÚµmV«%uêÔth×–ÃG’¯_$uì²eËJãF ÑjµdÉ’[ÛrFu=׊.XXX Õjqqqæ…_Ü1¹~ý&ú‡‘_»vºujƒ¾—{êÔ©!‰ž¶Z~š7ŸÇOž2{ætåÇœOÕ¯¿¤Ž¸k÷ºvîDÆŒ011¡{·.DE½çü…‹Jõ~8pð]:wÂÚÚ333ºwíb´Lsssš5mÂúµ«øãáCjÔ®Gtt´ºØß*&&†a#FÒ®mkå3ëïÀoç/0îØGîܹ4x˜2Ï¡ÃG(^¬(9sæ R§SŽO<ËÔ–D¨:Ð$µ.€m;vâU¿n¢c‹¾·µ¥¥%õëÅ5nGêt‰b [XX$Š™ŸÜºâ]¾|…1h`u–òC‚¥Á÷1µ¥%111DE½7(7âpÒ”©Œ;Zé¹l¨~½:ìß³“Ó'ޱï.2eÊD×îÞÄÆÆ¢Óé°L­ÚKKtº/ëx$I’$ýú®c8{wïÆÈ‘#ÕÉжu+š6m¬¼¶I—ŽÿmiiA«–Í™0q2 æÎI²‚~¨Uö †Ëœ)“2D39êT›téŒ^gÏ–À  £4µàÒXY%ª ܼu›•«Vãïï^¼ð£Eî¦êb ËP»^B<ïèÑ8;;”2f8<ÙÌÔ”úÊuLL K—­àì¯çˆ‰‰æctt¢m͘!ƒòªT©Œ^ÇßTÅ//((˜£Æ`j·?cbbI•*•R>%ÙT?ª˜ššýé›õ6üUfŸK’$I ^¿ÅÊÊÊ(~êŸ}Hëê5ëhÔ°A’R‹‰‰a݆ Œ3Z•" £k{–,YŒÂO>r”_6næÍ›7˜˜hð{ù *••üoEüÃ肃CH§ª«ÊŸDc|¼:µjb“.ËV¬dòÔitëÒ9ÙÔö8Èö;‰ˆˆ@è{¬HèUþ5¯õ†Ôqy³dÉL€þÚ­–'Oî$‚—-KBïcSSSeô)l—••»vleÃ/›ðjÔ„j4iÒHéPð¹ÒZÇ…~È’93¡¡¡Éî—¤Ž]ƒ÷޾®ÿþƒ‚ƒY´h wîÞE„¾y£Ô ÃÃÕziŽÙyøð!E âÈ‘£è¢t!8pðŽúŽ÷ï?àÞ½û”.]ʨŽ÷©úõ—Ô_‡†õ^Õh4äÊ™“×!Ôû!((˜,YÒncc“¨~ÿü¹/›·nåĉSTõ¨Â¸1£’ü,ü]bbb8x(™2e»{7%ÝÄĄݻ)ßÙNÚS©J5"""°²²bÛö4i’p”:uêD£3u‘:£sXr늈ˆàè±ãìÞ‘8œÍšuë9rìË—.Vî£ÒXYñF‚$**ŠÜ¹s)¯“[W¼«×®3dø~ž?—L3ª³•Ï .*J‰u©Ó‘*U*£ó|pH:u¡G·®Jç5FCæÌqŸƒtéÒ1dÐ@ìyúìVV©ÑE7”Gét¤M›ü¹R’$I’âýs5é•:uê$+(†BCCY¸h -[4cƬ9888$y3š1cFƒ”Þ¼}ûÎè¦ÂÄÄ„˜Ø„×aoß&Š1`ôÚ÷Å Ê釞%'}†ô„½}Ë۷’èŸÊܹkw† €Wýzh4 IèÕ î|)s\þÈÁý‰”‘œäßW¬\ÅÑãÇY²ðg2dHÏ“§O©]×˨LR½’“1cF¦Lò¡‚C\o™/a¢Óø¥>çxýUfŸK’$I 2gÊDddd\3}o¹øç.| ÿŽ?Áþ= á. µ]9sä`Ѐ~ôìÑ]»÷ÐÝ»¹rædÞO³SÜ_†‚‚‚È•+®/ kkëdB“zŸÉmúÖÙ³ecõŠe˜››³yË6öˆ{þFÖ¬Y8¯…=dÐ@|&Mf݆_hټٲg£yËÖ8:V0M)s&Ö¬ZA«ÖíX¾rô# ?U¿þ’:bΜ9xáç§ìoôñ¬s4ä«÷Cüú ,ªõëtQôé7€   Z¶hƶ-z·ÿ>|ø@ÿƒÉ!cG4ª›çÉ[-ðþý{LLL033ãé³g<|ôˆª?p,PÀ¨þ›7oxª|†R=I . IDATZ×þ)]ºÙ²‡£Xºl9ÇŽŸ`ÅÒÅF?Vå/ŸM›¶•}ðàå·”ÖðÛù Œ3Žysf'û`¾T©R‘'On>|¤œw<øƒ¼yò(e^½ò§K·thßN -ò9„ˆE¥…% ÀïåKtº(åñÁÉ›7a=’$I’”œäk[ÒÞÈ1ã¨Y£:Ç¡P¡‚LŸ9S]€ª•Y¶b%oß¾ããÇ,^Ç.^îܹ¹zõšçqÇŽFù§ÏœåÞý¸ØeâáÃG¸«ž˜®–ïÇ)\¨óüLTTQQQ—$Iú¤Ñh˜9}*cÇùàìêN¶¬YiÛ¦5;wíVÊlÜ´™_6m&((®ÎôÛ… 4làE›V-A?|ë¶í,úyž2¡Ë—¯ðÜ÷9õêÖQgqëöFŽCDD¯_‡R¯A#Š.ÌÔÉ(Y¢8™2f¢Jµê4ðò¢¾~9¶åÊáZÑ…Zuë£Õj©QÝó› §Ͻ’ æÍaɲ,[¾’÷ïß“9S&@ž<¹ÕŹÿ>Þ½zóáìÓXãæZ7׊têØž‘£Æ²s×n†lô°Jn®œ>s†Zu½È”1#eË–þäy¿–þ}û0sÖnݾC¦L™:y¢Ñÿ¿âK·K£Ñå÷ëÓ‹±ã}ã&°vuÜß +V”bÅŠâY³‘‘‘TtqfÐÀêbÚ°¡ƒñ™4™-Û¶‘.mZjT÷dÿÁ¸Fç´i­é×§]ºö`ÐÀþØ—·C«ÕÊé3g©ààäƒ ,ÈÀþý0hÛ·lúdý:¥:¢ºnס][ÞG½§q³DE½§hÑ",\0/Ù½{yë×_›téhÛ¦•ÒHkiicõ,ÿ˜£Çsî·ó ¿g‰W²d 6®_K“Æxûö­ÛµçíÛw8Ø—güØ1ÄÄİk÷æÍc°4(W¶ Þ=ºÑ¾SgÂÂÞR¶Li&Œ ŸX×Äñãð}îK•ÊîJz`` òÉJ•ã~d‹wõÒy¬¬¬˜?w6>'3pÈPråÌÅÜ9³077gϾýÉ®kãúµL1ÿšµhe°TX¼p.ª°t:¶'(8Ïšu"ÏjÕhÛ:n¾e+VòâÅ FŒÈQcæéО~}{sïÞ=q?æ0eÚ BB‚I•ÊœJn®Ì™5]™gò$FŽƒ£‹VVVôôîNÉ’%”|I’$IJN|wÃn-Õdb0i &S `˜ë'‹KW®Ÿ+?q¬´¤\¹z• ö˜ªâ…ùøø½^°pT¼âÉøÍ߇á#G“={6zy÷PgI’$I’$IÒwåæ­Ûløe#wïÝãã‡XXXP²d úõé…ºøwA§‹¢|'Ž>˜l£¹$I’$I_ßõ7”‡-á\¼t™reSeïá£'”·-c è€÷Àà#m0ÅLB5ÅSþÿ&{8«’Ù÷ °:]ú~$7$R’$I’$I’¾'¥J– TIã2ß›{÷îcnaNÞéæ­Ûx5lB[{ìœøíüu‘ÿKö;õê•?N.nètQꬿ•áùéSõ‡±ã}X¸h‰:ù_c¸¯ã¯%111êbð/î_I’$I’$ÉØ7×à `™:52fNq²´´RÏ&}%Ù²Áœ9:uÜëà`ؽ[]*Al,,X%J@š47/ÌŸ¯.eìþ}(U Úµ3Nÿ:v„Œ!sf80nù)iß±  ã÷ß荒ؾc' còÔéê,épëömîÝ¿¯NNÄÕ½ ááá¼~ýšº^ ò„ü¼p1…‹•ä…ŸŸ’Τ)Ó¨X©2%Ë”£N=/.^¼¤Ì³uÛêÔó¢t¹ò8:»2bÔÞ¿o°äÛwì 00ˆ‹¿eûÖMêìïÖÁC‡ W'ÿ«ª×ªÃÙ³¿0fÜxFÎÍk—iÚ¤1ƒ  @üêY¾ýúö¡páÂêä¿Ý–mÛÕI‰ØÙÙÒ¥sGu²ôûðá -ÁÝÓ¢%JS¹ª'»vï1*ÎÄISpu¯B‰ÒåŒHK–±¥@áb‰¦3gÏ-cúŒ™”*U’+ã×Ó'°³-€N§cÙò•Tp®ˆÏÄÉFóÜð€&ÍZR¼TYÜÜ=ض}‡ºÈ7åÖíÛtíîmù /U–*Õª³rÕju1Åç~§Ô׹̙31rÄ0,--ŒÊýþþ‰ŽcüT­z-øÂóS£†^T«æ¡NþǨ¯MŸ»¯ù›öoRt:‹/Á«a;{GÊWpfòÔéĪnšŽŸ8‰½cŠçßK—.Ó¶}GåGźðâÅ """˜ýÓ\*U®J[{*U®Êª5kÕ‹$I’¤$}“ ÎÒ¿ËÌ š4Ix½eKÊ Îpó&¬^ aa°y3  ’éµiT­ ?ü Î1càÉxôîÞ…Ó§aî\u©ÄJ—*Éæ­ÛÔÉlÞ²•"Ÿyƒ%ýó–.[ÁýûÔÉFž={N†ôH“& /]ÆÞÎNÉ{FûN]¸ÿàZ­Öh¾~~ˆØX~Y¿–W/Ó¤q#º{÷âýû÷h4‚ƒƒ˜<ɇëW.r`ßn~ÿý.Ë–¯4ZF¼gÏ})Uªfff˜››«³¿K111Œ÷™Dxx„:ë_sýú """prr$""‚ר–‹kÜÒh4T©ìޕշûcce÷J¤Mk­Nþ[=zü˜E‹?Ý1KæÌ8VpP'Kß1""#ùiöL®^ºÀˆaC2l~/_‚¾a£C§®¼ò÷gÃÚÕܾq•%‹(ó_¿r‘û¿ßR¦ãG‘&MJ—*m° ÂɱZ­sssÌÌÌèîÝ‹»÷îá`ooTýù¥»w/*Vtæü¯§éÝË›¡ÃGòèÑcuÑoÂ¥K—iÞ² … bçö-\¾pŽ9³fP¾|ÂõFís¿Sê뜩©)5kT7*óWeË–U9ŽÛ6o$UªTÊëûâ*pêó“‰&ù[€Å‹“?_>uòßæõë×LŸ1‹?&ymJj_k’yŠôß±Õ‚‚ƒiÒ¼%h4¬Z¹ŒCörôðV,]ÂËW¯hß±s²=°¥Ï·oÿÚ¶ïHÎ\9ÕYܽw¯†MR¬“Ö)Μ=Ë’¥ËY·f%;K–,™6b”R6¥uÅÛ¾c'•ݱ¶¶æÂÅËtîОó¿žfÿ¾Ý\º|…ú¨Þ¼yƒw¯> è×—W/ѶM+ºtíÁû÷ïÑétÜ»ÿ€éS'sýÊEæÍ™ÍÔé3•Ñ[ׯߠ¼Gíçâog±±±aĨѪwç§¹óñ}áÇñ£‡9|`/—.]bõÚu ïX1uú fÍþ‰9s¨g5òÒߟ¶­[qùÂ9~;{Š9r0|dÜ:cccÑšhÙ°n ׯ\dñ¢Ìùi—¯\U/F’$I’I¾¶)}×î߇Š!mZ(Zöì‰ë¹ïØ1(YÒ§˜1š5‹Ë{ú4ˆŽ†_~‘#ã‰ø!®Ç±šµ5,^ ¶¶ Õ‚ƒ,÷î©KƱ¶†“'!‰{T~ù†È”)®ázÕ*u©ÄjT¯ÎÞ}ûz¨>züÿÊ–5¾y¾ví: 5Á¶|jÖ®g¦ÀÍ݃ËW®Ò¼UŠ–(Í«WþètQ 1 {G\Ý«°rÕjjԮˣÇq7ÎÑÑÑLž: αwtaäè±DE%=”ÓÍ݃í;vR§žåÊ;Тu[e9è{œÅ÷‚@ß3ª¬Ý§ohÕ’ÚŽ à`ºõ艽#+Ufåê5Fó,øyœ+b[¾cÆM`Ĩ1lø%®7ï²å+éܵ»QùÎ]»-c˶í¸{xbgïH›v”ÞÆoÂÂèÙ»/ŽÎ®ØÙ;Ò¸Y BB^3qòTŽ=†Ï¤)¸¹{pðÐaƒ¥Çõò¨V½Í[¶Æ××—jÕk1bähöcý/üühÓ®vöŽÔ¨]—}ûPÁ¹¢’/ý3ÂÃÃ>r4vNTp®È°£ˆÔÇ»255e`ÿ¾”*YKK ªTv'•~/âν'Nž"44”¹sf‘+W.¥±@«ÕMk×o ^Ú¤MkM`Pž5jcïèÂã'OèÓoÅJ–1ú ,[²ˆ™Ó§’Ͱr¡wýÆ ¢¢ÞÓ³Gw¬­­Ù¾cyòäfûŽê¢ß„ “&Ó¤qCú÷íCîܹ±´´¤d‰”(^’¹¦~§’;/$uS‡„øÔ¹{ñÒetîÚÛò¨X©27mVò ÅGm\ÕÞðØ’DX¦·ïÞÆ}Çœð¬Y›ã'N*y†!7’;Ÿê’ÒvÅ aÊ´é4mÞŠôéÓ£Ñh]›üý¿LMMÙ¸i nàÌÀÁC•Ñêý›Ü±0p0'M¡‚sEìœ5f¬Ò;4::šƒ†(ËoÖ¢¾¾¾ÊúNn]iѬ£ÇŒ£z­:Ô¬]O•“%KvìŒkèÿTýéÎßiÒ¬%N.Ø;º0`à`¥Ü—ÖW“ºN$åSÇ.00={S®¼vN 6¨n’ÔºÿVVVlX»šÒ%Kª³07OŘÑ#iÞ¬©:K_§011a÷ž}4nÜø333úõéÍñ'yŸXW¼­[·Ó¨QÜ(»ýûR¹²;dÉœ'Ç <~ü€£ÇNP¤pa<ªTF£ÑP¿^]lÒÛpúÌY¬¬¬ð?–Å‹£Õj)]º?äÍ«Ü Ô¯W—6­[b“.T÷¬¦,WmϾ}tïÖ…´i­IŸ>=]:wb»¾'³F£!¾ülÙ´›téÔ³©W§6•+»cjjŠ™™•Ý+)ÇÔÚÚšÞ½¼É‘#;… ⇼yyõê•j)’$I’”<Ádhõ4ÌKÀ H ¤2Ù€<@~ Pp¼tåº}öYÓÑã'DxD„04vìX‘>c&‘¿Pѧ 3•+Z°ˆèÒ´™8´e«øøáƒÑ2ÿëô?dMÅŠ!úöE¼ð÷G88 ²fË D¤IƒØ¶-îõ­[ˆL™M›Æ½~òˆã^‚èØ1ñ:’›––ˆ{÷çN& Ú¶Mx·Þ—/ÒîßGhµˆØØ¸×qÛj¬]‡Îbçî=¢m‡Nbçî=JúÄÉSÅü Ű£Ä¤)Ó„B„„„ˆrvbï¾ýB!9*J•µÁÁ!B!\+UÕjÔç~;/ÂÃÃEll¬˜#œ]+‰‹—.åÅ›à3IŒ7Ay½uÛvaçà$†-‚ƒC„N§AAÁ¢Œ­½Ø¹k·ˆ‰‰/üü„‹›»X»n½2OÂÅ㇄B:|D,R\tîÖC„‡‡‹ððpQ׫¡X¼t™²C®•ªˆ†Mš‰ÐÐP!„óü,ªU¯¥ä?|øHüñÇC!„¿ÿ~W*ZBøù½BÿY)_ÁYløe“x÷îøðáƒˆŠŠù ¯^ù+ó”(]N|üøQýñ­Y»žò~®]».ìœDLLŒ8uúŒ°sp·nßBqúÌQ¼TYñûÝ{B$³|_¼ù B±s÷áîQMøûÇ­[!"##Eérå…¯¯¯Bˆ°°·"¡¢âõë×J'qéò!ôŸY×JUDxx¸˜>c–hס³ˆUÊÆ‹ŽŽœ*Š3gÎ*iý 'OBˆ¿Ií·”>φßÏiÓgІMš‰  `#~š;_¸¸¹ N§”­S¿ð÷÷±±±â§¹óEÍÚõ”eúðáƒ(R¼”²CBBÄóçÏ…Bœ:}F¸{T3*ŸÔûÞºm»hÒ¬¥RæSë÷jØXLœÔÛÕ×&¡ñû:~ÿMš2MDGG‹ˆˆѶC'1jÌX£üøý›Ü±+P¸˜øeã&-üýý…£³«8xè°²Î'O N'¢££EÏÞ}ÅÐa#„BÜ»_©ß 1J¹–üþû]Q¿AceÞþ ñõ§æ­Úˆ•«×¡¯Ü»_ˆ?Q_}ÿþ}²× µO»›ŠÑcƉ¨¨(!:tê"¼{õ1š_½OÿNó,ƒ† S' !„¸tùŠp­TEœ¨NÑ Q±{Ï^£2ŽÎ®ââÅKFiÉ­ëâÅK­rÕ$·5666î³¼e«Bˆ©Ófˆ£Æ•éÛ ˜;QšÐŸŠ—*«|Õ|&NýV' N'ò**•´ÇOžˆBEK$z­Û¶[·m7JKJtt´¸wÿ¾¨ß q’uÑ7aabÍÚuÂÍÝC„„Ä}%I’¤¯ãü… ꤿì]x¸8vâd¢vØä¦KW®  PÈä²tú6aK}±™¾ÍX«oC6lSVügz8k€[—®0kÐ`Æ4nÊkýÒÿG÷îÅ…£7R¥‚¬Y¡OŸ„ü={ xqhÐ îu‰Ð4ù_$:Ú¶…àK#YDèGOŽ˜·²‚˜ÐéÒ’$x±eK\X?²{Ï5ôBè{˜;~‚œ¹rR«f ªzT!cÆ œ=wN)Ó¼YS+8`ee…F£aßþtïÖkkkÌÌÌèÙø§Êö;éÖ¥3éÒ¦ÅÒÒ‚Í›rèÈ£2†Z¶h† fffôïۛǟðäÉSu±¿Ìp;|}_põÚ5úõéV«%wîÜTõ¨Â¡ÃqïóÐá#Ô¯W‚  Õjñª_òæU/2YÛwìÄ«~= ÈF£¡C»¶Ü¸y‹€€òþ—ë7npüÄI„”,QB={Šnß¹CáÂ…ˆÅ×÷yòäVù¤ à`ÆûLd¢ÏxLLN{Ýzô¤t¹òt÷îE«Í)W¶ŒÑ|)Ñh4Œ3ŠŒ3`aaÁÑcÇÈ›'õêÖÁÄÄ„œ9rÐ¥SG¶nKˆ›—'Onª{VÀ£Je´Z-mZ¶ÀÊÊ +++œyúô™ÁZŒ5iÔjxzòôYBÙüùó)ñ‹-B–,™ñ3ˆim[®,Í›5!Mš4F½ã)R+«Ôܸy“ÈÈH.^ºŒwn?~€ßÎ_ÀÅÙ vìÜE¯úJᅧ..Trse箄Ø;êýƒ>À©Óg˜9k6«W,#kÖ¬JùýR²Dq¥'æ§Ô¬QòåíèîÝ‹­Û·3uÊÄ$‡XkµZêÕ«ÃN}l[NÇ‘£ÇhÔЋçÏ}Sü^Ä~ûÜÏóŽ»èÑ­+™2eÄÄÄ„^={" IDATõ^é• ÐºUK²fÍŠF£¡VÍ<|ôÈhñ´Z-¹såbÝú ¼|ùŠ 2;wÊßõûNJrë÷õõåÎïwéÛ»'Z­Ú·k£ž]ú›…††räè1F ––tíÒ‰ý•«^«ÅK•eéòÌ= KKKÐ÷RüõÜothß–“Ç0e¢£ÇŒãÎßæظi åÊ–ùSa ¯±ñ"u:¬­­ aæì9Lš0kkëD1S¿ñï)ç'†«ë†>÷¼”O»«Tv§L™¸‘ZNް±IdzçÉ_'>WUòýø#èÏáÅ‹ãÄÉ„^Ά’:Ÿ“Â9„¶+""‚*U«óÊߟMÖѸaƒdÏQ)騡Z­–Ô©SÓ¹cJ¾Þ•Ա˞=Íš6A«Õ’5kVììlF¡TrsÅ­V‹«kE|õ#®^½Žc… \¹r¯úõ}óF ù¤þ|¤äÇ~ààÁCܼu *¢¾jjjúE׉äŽÝ“§O¹yóƒöÇÜܜԩS3dð@9jÔË9©}ú-Q×)"u:RÇ?œFÏ2µ%Ÿù„ô-Û¶Ó¨¡W’ÛúóÂŤNš† ¼@¿®øóp}zeˆj|þa#05K‹‰‰%UªTJ¾Z|ƒ!ú ¨µµ5I> -66ñüç2ÜŽ€€ªÕ¨©¤}üð‘Š]@?±\Ù²Jú˜)1|0I@@ GgÏÞ½Jš¥¥%o¨W§66éÒ±xé2&Lœ„w÷n4mÒX)—œIS¦qòä)ž=N¯ÞýøMdd$ž5jS¥Š;C%ß% AÁÁ´nÛž^Þ=pqv2Ê[ôó|bbbxñÂÉS§1hÈ0f͘fT&9yóæÁÔ4áò:Ñ>Ë•+Á! _¬ŒÎG&&&˜šš’ÑàejfšâƲgOºnjjj&bï¾ýlÙº-nX±FCHÈkbEÂ1ÊŸ?ñçËF£ÁÙÑ‘óç/LéR%©RÙá#GÊù ¨W·!!!”*e<ì4W®œ%l«zÿ _ǘ±ã‰Å:þ ¯·eë6š7×ÇõùLݺt¦z­:thߎ,™3ƒ>þa£¦ÍA?ôÚå 4jЀ›¢ÓEqøè1 äÏO¡‚•$É}/Hb¿}îç9äõk²„Ðh4äÊ™“}H€ìç'Ãã™Ô6lÞ´%K–Q¿acÊÛÙ2jÄðDŸ7Cê÷”äÖ„uš4F7ç™3gRþ—þAÁÁÿcï¾Ã¢¸ºÿ`©" ÒTTìÆ[+ÅÞcï-KLbï½FclŸ‰½—ػػ‚Á$öÞA@@TšÂ²ß ëîÈš†ñ¼Ï³xïÝÙ™;ÃìpæÎ¹h4:tzì×h4ÄÅÅ“˜˜¨ûýZ³j111\º|…Þ}¿åç¹s¨T©"†fM›èÎíÅ‹†§§¾gÎP²d Ý2Õj5«×®eêäIº²?+{öìÄÆÆ2iÊTÚ¶iM‘"…¹~ãÆ;A˜Ì {öìœÞAÿûYIym /£ç…Ô¤wîV¦,133Oó{"£ìõ/gg'B’¯”R;Ÿ“Æ9„4¶ËÆÆ†ý{w³vÝz5mFýºuiß¾-y”¦éÐ_gg"##öKjûNy}hnööû7ìÙ3æÏ_È•k×@£áyT”n?DGGëË®®¹¹uëÅ?+ÆÁƒ‡ˆ‹C£Ñ°wß~ª)®7ôé_?Mš0Ž 71hðPììl9b8¿¨ðÞ׫¦¦¦ïõ=alßEDD’5kV²fͪ«Ï›'III<¥ûîN­O3å5…Í;߸ظtÓMÇ !„øt½{õø‘²··§zíZTöô`åa\ݲ…-½ûðÕ–ÍÚ„ÄŸ\¹´“÷EGCÊõ¢Þ`\\ ÿOrÚe÷¡}é{ýZ;Ñ ³³6Ÿ³Þ Ò ³´„Â…áêUí6\¾¬Í4nÔ-Û¶óûïÐ¥óÛ|)œœø¼t)6®×Nª‘ÅÊ;::¦uòòå+ƒ?ª™9c:U«hG¼¤'D/Optt4QQQº‘*•Š$õÛ?DôÛ¾/ýíprvB¥RqòØ‘T'Xqvr"$Ôð³BCÃt?«T¦ïäH yû‡©³³ݺvf`ÿ~mRxzÔÀÓ£—¯\¡û×½qsËGew÷TGФ5bÝ»u¥×7}Ù½cûöàüy&Nx7°1ÁÁÚÉ{z~݃V-µ#O”T*nnùèоC‡+ì4('\Ê“7û4( 6ø#:­íÍSSÉSüöÛïŒ3ŽMë×Q¼øgT©æaÐÆÔÔð³S[—jÕª²cç.=~L½ºu°´´¤²{%9JàÅßøiÆtH¤§Ì`ž"((˜‚ߎÐQöÉ`mÞø+?þ4‹!ÃF°tñBLLL¸ÿà·nߦ^ã3Í+i4&M™J›Ö­Ø¾c'­[¶ H‘”-[†;7 Gp.\ˆÂ… rôØ1||öꎅô~/H¥ßHãxÖ—'+Ÿ<Ñ퀠à`\õ#'ÊÔ¶!›½=Ʀ¿ïøaÚ 2” ëÖ¼s~N‘Úz+û|GG^¾zE\\¼î×ÈÈÌ72õ¿Î5·vÄí}>iEœœÀɉùósüø Ž?A¥JÉ›7aa†_î ïÜÝ·ÿÖVÖÔ¨^Í üÏ(T°gÏ#WÎ\ÌL>o\¾r•Â… +›þërP¨PAvûø0h€Þã` Æ~_R;/¤v®Mñ!çî¿JhØÛïx’oÈ—/oxã9EjçsÒè“ô¶+«+#‡e@¿ïؾc'_÷êCÞ|DÇ.ÝèÕ³ Ô#66–ØØXˆzñ‚“§N“œÇ%,,Œ5k×Q®lÆSj(Õôò$""‚]{´£¼Ÿ> aͺ_uXþBð³³¥Hm_jT¯ÎÜÿýÌ›7oˆ‹‹ãçù hܨaª©OÖ¬ý•Õk´ßwïÞcèð‘¼|©ÝÖ)S§qâä)Å;þ~©]S´hÞŒ­[·óðá#™;ïªU­‚ƒCú©!¶lÛNë–Éy“Ížû?9Ê¢…ó±°°Ð]cÔ®éͽû÷9vì8†Ý{| ÅÛË“¸¸xzõé‹““cF >>žØØXÝdãÇŽgĨÑüà_ËsÞ½0Õg<ç–™¹9_NÌöú ¹òÓLеlùî0Ýÿ0ؼzõ''múŒž=µAf’G@oÛC†hËË•ƒví´©6RÓ¹³6m†‹‹¶Ý‚†õ;v@JÊâ%z±Xww8w>Ô“’@/Eª†×®G¡BÚÜÍmÚÀÀÊVÆ•*Y’\¹râééiö"…ƒCV­\ÆÓg0iÊTÌÌT+VŒ…ó6ú¨ï ý™8y*5ëÔ'›½=Ý¿êjp«}îÚ¶ïÄË—/É‘=;½z}­­T«fM:wíΓ  *È‚ùótè;šÉS¦±gÏ^¬¬­hÞìKÎ?¯\ÄYðË<¦N›Ž‡w-Ôê$ò¸º2iâ8rçÎE½ºu¸ÿ>]»ÍëׯiÔ°î•*êÞëíåIíÚ5iÕ¦=ÖÖÖäÏïFã伂իUeôÈáŒ3–  `¬­­©UÓ›2e>çúõëôêó oÞ¼Á6«-Þ^žº›½{}͈‘cؾc'cGÔ¥lHqçÞ=Š$§¹uû6ÕªV1¨OËâ¥Ëxüø1ÃGŽføÈѺòÞ=¿¦G÷n¬^³–ÁC†ñúÍk²ÚdÅËÓƒá©äÉË([[[V,[¤)S™<ålmméЮ-­¤üjz{qâäIêÔo„“£#åË—ÅÓãíc¸Æ <1ã& ;žë×áæ–Ü¹raÅZ÷¸±——'£ÆŒ£G÷nº÷•+W– ãÆ0`Ð`"Â#È•;sgÏÌpþ×,Y²ð¿¹³iÛ¾#åË•eÇÎ],Z8_Ų̀›·n1á"¶lÚ€J¥¢Cûv>r”ŸfÍaÔˆaÊæ4iÔˆ¦ýHíZ5 ÅNë÷"5iÏúzöèN|\<ÍZ¶&>þ5%JgÙ’EïŒ.͵ZÍO3gsûö¬³X“+g.&O@É%hØ õ5!WNöìz›3üC™˜˜ðËÿæ2zìx*Wó wî\4û²©Áè0ñϘ2ió~™O›v‰ˆŒÄÁÁÎÛóE…ò$&&²hñ2®^»ÆëׯÉãêÊ7½{ꂺnnùX8?͚ÀACÈ+?ý8Íà÷Ôßÿ=¤EófzŸš1¿®ßÀºõt©tüΞ¥MëV|ÕU›dޜٌ;Ž*Õeów¤u^P~ÏUлéô¡çî¿Â°!ƒùqÆLþ¸t''GfÏœñAs$¤æ}·ËÄÄÄ ^ùݤT²d J–,wízÄÄÄàéQƒ‘#†+›}°±cF1aÒd6nÞL6{{5l€Ï>mÐÙÎΖ!ƒðU÷žŒ1ŒÊî•P©TDFFrâä)ªV©bÆ"½ë'Ÿ½ûùæÛ~˜™™‘ÍÞž)“&êR»¼ÏõjZßAAÁœ;çORRRª×ÆJ³gþÈÄÉSñð®…©© /OF¹>º~ý:Ú9½µy¬}}ýxóæ ç/\ _¾ôþJjµ:ÕkŠ/*”§ß÷ßÒ©k7¢¢^P¡|9¦MbÐ&5wîÜåჇԩ]KWÊ‚…‹¨ZÝðûÿê¥ß°±±aÑ‚Ÿ™0q2ý &ož¼,œÿ3–––ìÚワŸ6÷ÆM›uï+Sæs¶mÞÈÔé?òôi-ZµÑ[*¬X¶ä›…½{}Mسgx×®GR’š† н[Wƒ6Æèï·3gÎ2qòT^½z‰¹¹9eË”aÕŠeXZZÔ©Ó¸wÿju"ÎÎδjÕ‚®©µjH­ýûÈQ%㪉‰Iº£‡}}¡U+0–¡aÄmçeË”5™‹‰‰ñÑ.ÿ”¸¸x>/WÓ'ŽÍgŒ§wm¦ý0%Ãé7þM]ºu§~½zthÿÍ()„øh:íË„I“9vØ0mŒB|Šþ¸t™µë~åêµk$¼IЦ(ó9C ÐåB!„Ȉóþþ¸Wª¤,þS¢cbð¿ðÎ\]ÆÜ¹{ŸŠÊVâ€×À HÔ{%é½4ŠW ÝÏ™r„³2¼nƒö°²<=Åš4á¿?/üOœ?Äž=àí­Íñ|í¬Y³f)[ €ë×o`ieI~77’’’˜÷Ë/äws{ï`sŠ;`.„é9wþ<… ÆÑѨ¨(–.[NUùBÊ|^š2ÉùÉ…B!Ä»2eÀù¯â\¾/Õ‰$>­¬úä­XÝ»k'û³³Ó¦Öh÷v2g¡'$4”é3~"$$ŠÿŒ_~ž«l&„ÿ/þ®ËÅi¦RáééÁ°!ƒ•Í„B!„Bˆwü§Î6… ã Vc©79ÇUFST§ÖîÕ+˜4Iûï2–£õCœ<~DY”i­YµBY$„øDôý¦7}¿é­,B!„B!ÒõŸ8›eÏŽsb"&aÏ”Uÿ)’¢A!„B!„B‘dŠ€óëׯ•E©Êh;SS²$%A\ìû¿W!„B!„B!Ä{Égß3g•E/Zh—ªcǵÿ~È{…B!„B!„âorôø eÑŸâ^©¢²è—)ΕÝ+)‹„B!„¹óþÔòöR !„Bˆÿ°è˜eÑ?.SœS<þœ'AÁÄd‚ŽB!„âÏ2S©”E Ó¼e°ÑÄSÄÙSÓTf‰B!„â’iÎÏŸ?'$4Œ‚òccc£¬B!„⣢Ñh01ùg‚¿ŸA Y¹M±œY•ÕB!„Büc2MÀùIP0 äÇÙÉIY%„B!ÄGçßxœ1ÆÄJY$„B!Ä?ÊTYðo‰‰‰‘‘ÍB!„Bü¦™f<‰B!„øDeš€³B!„B!„Bˆ›œ…B!„B!„Bü%2ý3wÇNU !„Ÿ´šU”EBñŸñôi-[·åèáƒX[§Ÿ“ºÉ—Í7f4+~¡¬úÓ¶mßÁæ-ÛØ´a²J!„B!#œ…B!„ï-ìÙ3Ê”¯È«W¯”UŠ““#cFÌP°`à€þ+VLY,„B!þ%™~„³B!„"óÙ¾c'µkzckk«¬úSÌÌÌhØ ¾²Ø¨šÞ^Ê"!„Bñ/’€³B!„Ÿ€¤¤$fÏù»öì!.6G&ŽKeww<½k3kæ fÍ™Ëï¿ÿÁ±ÃqpÈÁÌÙsÙ½gÑÑ1”(^œë×bjª}HrëÖíLž4€a#FQ°@~Î÷çK—qÈ‘ƒ¦LâøÉ“ìØ¹‹ÄD5-[4gäð¡$&&2|äh‰‹£PÁüôã4òæÍË“  ¼jÖáæµË¨T*<½k3dð@–¯XÅÃGpÍ›‰ÆR¡|y<½kóÃÔÉT«Z…mÛwpæÌYl²Ú°ÿÀ!LMMøö›o°ÏfÏÜÿýÌóçÏù¢ByæÌú [[[¶mßÁi_?ììl9tøfffth׎oúôÂÄÄD¯÷ÞõæÍ›TûgÇÎ]i.óÏ|¦B!ÄÇ@Rj!„Bñ ¸ÀŸ½ì÷ÙM€ÿY/œOñâÅuõ£ÇŽ£ßwßpþ 9sº0{îÿ dÛ–MúŸeÚ“uÁæ HT«©ì^I÷þå+W3vÌ(ΟÁÛÛ‹._õÀÚÚ¿S'غyë7làK—!ys“Æ8¸ß‡s~§prrbÁÂźe)-]¾‚Å áâ…sÔ­S›qã')›èìöÙKÕ*U¸pÎÉ'0å‡iìÝ·Ÿ]Ûñ;uœgáálØ´Y×~ï¾ýTªX‘s~§Yµ|«×®eßþËLMZý“Þ2Ó«B!„ø˜IÀY!„BˆO€‹‹ ¯¢_±eÛvbbbÈïæ†½®¾}»¶T©ìŽ &&&ìÞíC¿ï¿Ã5wn,--)T° ®í–mÛiÕ²¹ÁˆÜ:µkQ¨`AT*õëÕA­VÓ»çרT*ò»¹Q´H<|¨kïåé••*• <~¤«SêÜ©#...˜˜˜Ð¨aîܽ«l¢“/_^ê׫ @íZ5Q©TtéØlll¨V¥ ¼]·|ùhܨ!… ¢U‹8xHWoLZý“Þ2Ó«B!„ø˜IÀYõðá À† ë•U©JHH WÏ Ð_Y¥3mÚTzõìAP°öŠåË—2dð@BCC”MS¥|ÿßaû¶­ôêÙƒãÇŽÂ?ô™"}§Ndô¨ôý¦7ãÆA˜¨lòÑQk“'3°ÿ÷œ?NY%2èÈ‘ÃôêÙƒí۶œ…ø«ÅÅÅý'_â­ünnlÞ°žË—¯àY³Ó~ü‰7oÞèê ëLÂ#"pqq6(ˆ‰‰áà¡Ã´lÞÜ ÜÁ!‡îg ²fÍŠ¥¥¥®ÌÌ̜ĄHžppü„I´lÓŽ–­Û²pÑb’4Iº¶J¹\\t?›™™¡V« êõ9äpÐýljjŠ™™oËÌÌÍHÔ»Ž°Ïf¯û gNž”¥ÆXÿe¦W/„Bñ1“Ο¨É“Æóøñ&NžB®œ¹ bâøq¸¹ågô˜±XZZáììDöìÙ•oÿËäÈဳ³ oÿù³<|ÀÍשW¯²J|¤^¿~͆ ëÑ$%Q»N²fµEeöiž¾[·m×¥äÐÊa#xúTû$бþ!ËL¯H­ž IDAT^!„âcöirýú5æÌžEÙ²eéûí÷øùžÆgÏbbcðòòæñãÇ\½z…ù éÞgafÁî];ñõõ%!á îî•iÛ¶]ª#Sfü8;wn3vÜòæÍËýû÷Y·v5!!!”(Q’ܹs³ÿ>úhغrå Ì'òy$E‹¥k·îØÙÙ±fÕJþøãwzõì3gÍÑûD­Ý»v@dD$”)[–N;}Шٳgü8tèÏž…agk‡‡—õêÖÓmï½»wÙ¾};ÜG¥RQ `úõ€©©)~~~9|ˆÐЬ³XS½ºÍ›·`„±ëF ?xø€¦L¦h±b 2ŒíÛ¶rðà&LšÌº5«¹wÿ>?ü0E‹ð&N»°bùRLMM™4y*Ï##Ù¼y·nÝD£’%KÒ¦M;líl¹zõ ÿ›;‡¶í:píêenܸAV[[š4nBõDE=gë–-\½z…„„\\œéÙëræÌÉ;·Ù¾mOž<Æ&‹ UªV¥q“¦˜ššòèáC6mÞÈ£‡Q©LquÍC‡NqÍíªèEãýøüyóçÿÀãÇOèÕ³­Zµ¡n½zï¸ÀáC %Q­¦P¡ÂtêÒGGƒvš¤$vîÚɹ³gxõêöÙ²ãîîN³fÚÇ‚ý|Osèð!""Âqtt¤q£&|QQ;!ÒãÇÙ¾m+O?&6.–œ9]hÕºnÂ¥iÓ¦¦ÚÿÆŽááÌøq:=Â%§ ;v¦ â±æ{÷î±há6lXφ ë騱3ž^^iîcÇÊñcG9p`?ß}×;¶B×TTTƒ†#<<‚¬66|öY1FŽ®l¦3tð`¦ÿ8ƒ›G©’%™½z‚‘þÙðëZÈÀ2Ó«B!„ø˜½tMü§ìóñÁ:Kbcb”Õ?~š5«Q©TÔððäÞ½ûܺuCÙŒˆÈ¨P¡çÎ娱£,TˆJ•Ü•M $$$°`Á/¼ˆŠâ‹/*bffÆû•ÍØ»w/•Ü+sóæu._¾Ìî];éÔ¹ ù Ä×Ï KZ¶l‰…¥•ò­DGGã–Ï OÎøùáç{š>{077§AÃF¬[»†ЦMLUfܾuë0éôc•*Õ(_¾<{ƒƒqtp¤Nݺ.RT¹Ô‰j¬¬¬©ß ÷ïßãâÅ@6oÚHß¾ÚÇ„S\¾r…ýûöR¤hQš~Ùœ`²gÓŽ( `õêU¸ºæ¡u«¶œ9ãËÒ¥KÈž#… &‹M¢ž?§†‡'ju"û÷ïcÉâ…Ìž=WwƒAÙÿi):D•*U±´´äêÕ+¬\±œÉS¦êêÌÍ-puu%*ê9*|AÑ¢E)R¤hºû€4Ž€ ~¡zõXX˜sÿþ}¦L™DáÂEpw¯Œ¯Ÿ/7¬§\ÙrØg˦{1¡¡!lݺ•J•*qóÆ ®^½Âî;éÜ¥«²i†ö×?_råÎEÕªU9wî,'N§P‘ÂxzzrðÐA.è‚˘˜šRµJu½Oùð~«]»‡d×ÎXXXþ O//J”(Iø³ðTÏ3é?¿®]Ã¥K—È›7ùÜòsüø1ƒuÕgl½…âÏ(Q¢8öîQpòøeÖÖVLœ0މÆ”øŸ5ø?ÀŒé?ü¿t©RüpÞ lÓ†uºŸ«Tvçà>ƒúíÛÇÕ•;7¯éÊ•ëææ–Ïh}ËÍiÙÂ0·ôåß þ?H1ßH’ZÍÔÉ™:y¢A9Šå*Xóg|uuÆú‡t–Iê…B!>fpþĽτ_¿ÿˆF£¡f­Z´jÕub"C$&6VÙ”þâÃ,6Yس{7AAéO¸wÿÞ=^DE‘ß-?½z÷ 66†K—.)›Ò¦M[ªT­Æ­›7™9sO‚žP½F Ö­[ƒ¹¹9Þ5¼éб“îç¬Y³²bù² ­£ÒéÓ§èØ©3%J”¤r•*Œ=’ÇŽS¯^Ο?Ë›×oð®Y‹öí;¼÷Ô©“têÒ *ÔeTÞ¼yùîûþXXXèÊ4IIxzÕ¤ysí£®÷îÞåÉ“Ç,X&M¿àæÍ›\»z•x½Ü–NNNô0"Ÿqýúuž>}Jxx8OƒƒquÍàÁCuíüÏÓn_½Zxzz¡®–ÈÅ‹Рa#Ì-µëõàÁCj×­KM#û$½~¬ä^™½>>ØÚÛݯî•+ã^¹2Ï##¹x1àTö©eò:= {FBâ7nª›Ð(e=š·hIñâÅqvqfÎìYR¨Par80~â$ݲ.\ üÙ3^¼|A¶ä µ²ÿ}|v=RT©R•nݾB˜È÷ßKhh‰‰‰˜é¸Ï›7nùósõêŠ-ªë‡ýûö¦¹Þ¾ÿÝc ZµêtêÜ…  'Lœ0 K  „……!¡!ܾu‹ÐÐÐ œÚ¶m‡{åÊܹs›?N7:ÙfFö—F£¡¿dÏ‘ƒ¬YmÙµkÁÁÁ¸»W¦Dñ\½z…§ÁÁ„<}J‰%É¡7a¢ßš5kÎ¥?þàøñc˜˜˜ààèD«Vm óLZÇO¹té*33 † ÎNNìØ±]÷~}ÆÖ[ˆÌfóæÍ˜˜˜Ðºuke• FYò祷Ìôê…B!>fpþÄ¥6i 1/^¼ÀÙY;K¸Ê̌¬¬t³ƒgµÑN(¦?¸1ºåëÍBžòYJ®®y°±Õ._h|¦r¥˜ØX¶mÝÂÍ×y:yÝÒšíܘˆˆpÝÈ䔣^Diÿ}®ý7µQQÉu®ïÖ)%Ù¾2e˽@øâ í#ü‘‘œZàÛ¾Ú@~ŠçÏŸë~Ι+·n’›¬¶¼ß¢c´¹s»æÖµMù<€ƒ÷sðàÛÑèQÉËíÖ­;ë]‡¿ÿyüýÏSºtizöꃕ•áÈóôú1=†û÷áþþ5 ‰ $*ŽýþOëH‘'¹oUffXZZ‘˜Z­68“Þ>HaìXÉ•KûûŸ%‹ Ùì³éÚÙ$?ý Nz·IYžMòd‚©íƒŒî/+++²çÐS&'L9—xy{sõêHI…\­šáèæ´¤×oæææxzy±yÓF<<•yÚŸ¡Ñ¼äJ±sÇ6|OŸ¢F jÖªÅõë×uA¥÷•-[6BBB޳³ ááÏppH¸Ûj·!!O Þ`kkKhh!!!äÌixR™ªxýú5¡a†3™§052 »þÄvöÚ~-P mÛްuptÔÞÌÍ´Ÿ©d›² OßÝ;[mjO//ªT©¦+W%O‚—2júiÈS6®ÿ•Ë—/ãþ<žžº¶d Óp;¶S `Aúuˆ&)‰éŠG{õÕªUOO/Ο;˺ukÙ°þWÊW¨€­½OCžÒ¹KWÝM €¬Ymˆzñ‚Å‹‘ÅÊŠž½úàèäÈœ9sˆH^W}úýŸÖ1"£¿3)»;IoXTzû …±cE¥2Üïú©>>Dz¿›¼ÇþJ«_J—þœì9rðûï!98^®|ye3øÀ~‹Ž~Åþý{±°´ÀÔÄ”CP¥j5²é¥#QžgÒ:~l³ÚbjjJô«WÄÇÇcee¥»ÑbLjë-Df±ÿ~vìØÁôéÓ1bÔ¯__ÙTˆL-µVzËL¯^!„âcgü¯y!>/[Ÿ==z˜„„DÂÂBxñR;*ù¯P°@Almm¹w÷.+–/ÃÒÊ’ß~Ó“2ÊÔÔ[;[^½|ÅêU+037§cÇÎmÞ¼~É9£Ã¸pÁß þ}xzysãÆ ~ýu-•+WåKÚ‰Ä<=µ{U¬X‘ƒösìØQbbbP™™ñäÑ#F‹»»6íÀšÕ«¸v­"±11˜[Xеk7rçvåñãÇìØ¶R¥Jqäè»y3ªpá¢ävÍÍýû÷ñó=kž<ÄÄDÿú‰éRS´HQr8äàñãÇÌ;gg>¸O׮ݩ\¥ Àÿ¼?Y²Ø`ggOTT$.Î.¸¹åççysÉíêJ¶loÓXZ½;J4½~LÏë7Ú‘ÆIê$^¼xÁo s5ê àÂÜòçG“”„‰‰ –É#®==¼¸uó&‡¤zê¨LM ¥ZUíÏš¤$Ô qñq\¼xQ7z<-iï+%­ÅñcLjzEÁBÓÝ™Ñûì/cLMM©QÃ={vƒFƒ—wM£#Â?¤ß~]·ŽW/_ѲekÌ-ÌÙ¸a=ëÖ®æ»ïú=Ϥuü8;»PªT).]ºÄœ9³(¿çÎQ®ªÔÖ»\¹ÔƒêBü“Ž;Ɔ ˜:uªî†éäÉ“=z4Ô¬YSùÓÜ öšÉM 'Μ²ï:cj'bB!„B|œþÜP6ñIÉï–Ÿ:b“ÅßÓ'É—×M7úõ¯`aiAŸ>}qÍíJ``/^¼ dIÃ?F3¢mÛö8:8âïïϽ»w•Õ4h؈ünù¹pÍ›7ãåå­Ý‡mG… _ЭÛW¨ÌÌØ¿/ñqñ´lÙšZµë@rêoú~GÞ¼ù¸Ào/âšG›ZÁÓË‹–-[cmmÅéÓ§¸s÷6nnn4o®Í{÷ÞN:E³/›éÒ”¼/SSSŒ»{e.^¼È¦M9}ò$–ï~S£23cÀ€Á”.]š{wïrîìÌÍ-±µµÅÉɉAƒ‡/_>Ž9ÂÖ-›øã÷ßÉ’œ2 kV[ü|ýغeÁOŸR¯~}*U|›n"Ezý˜žŠ+R®\yž> fõª•dË–2eÊ*›AòHý à |öìfß¾½¸¹åçëž½¨X©_}Õ333vîÜÉÎ;yòä VY¬qpt¢IÓ¦¨LLX¹r9îß§‘^ŽdcÒ:ÞWåJ•ùüóÏyñ"Š3g|yýúuºû 3zŸý•–ê5<0INÑQ=tïÛoàꚇ:uëâíåM¸ôÇøùù‘óLZÇ@ÇN](Q¢$AAO¸s÷Ý»m°žJ©­·ÿ6___V¬XÁĉÉ›7¯®+”­Ä¯7@¨÷JÒ{i¯ºŸ3~Å.>yîßgݺ5*Xë,Ö\¹z…¤¤$>/ý¹²é;fEŠÁÎΞ à`›=:vâóHÇ!„xC‡U¥ªdÉ’”+5_W+€¹Ês•)}jdÄŽ+pB!„"““(žÈ0G''FŒ¥,þKõíû²H! |öÙg,\´DY,„øH˜š˜ä:‰è׉,:}º%\ ê…B!„™O¦O©áY­’²H!„B|¤\l-YÞå f¹Å‚“÷HP'Q*·K:U ovk];s•)…lhô‹/â¨VÈaõŠ,K!„B‘ùdú€³B!„øo)•ÛŽ•]¾PHP'Ñ®b^:Vʧ¬B!„BdbpB!„™“øDR6÷éûIjµ²ØÀ¢…ó15•ŒxB!„"s“€³B!„øG”˜xHY”¦Ò“+‹¸6¾®²è?Áßÿßÿ-æfÆ/ÏML>‘è»B!„ø¨¿¢B!„â/ô_ ÿUÚµn…u–,Êb!„B!>*òLžB!„B!„Bˆ¿„œ×¯_S¬DiÜ«ÖPV =û¤GÏ>Êât=}B ÏšÄÅÅ+«þV_6oI@@ #Fa•Mt&MùE‹—*‹ÿ5ú}ý$(ˆb%J£6’×ñßê_c¶ïØI§®_)‹*Qº,wïÝS !„B!„BˆÐG—R#)) ¯Zu %gNŽ9ôÞ“§,_±ŠŠ¿àóÒ¥”UŸ”+W¯2Á"/ÿú59sºÐ¡][ºuí¢l @… åÉž=»²øW®^ÅÜÜœbE‹àääȨ‘ñ¶¶R6ý`!!¡xÖ¬­, `ìß»›ýûQ4yÒÓ²E3¬¬þºõ{_¦ZÕ*dÍšÞ£¯ù›ú75qqq¬Y»ŽC‡‡Z­&‹Mš4jH—Î0K#ç¤BˆC\\œ²HüCú~Ós ÂÂÂxüè1Ùsä `ÁÊfB!„Bdz]„è¼ÿBCCqtt $$”sçý©Z¥²²™Qׯß`ÆÌYŒ=ò€³Jõ~ëY@@ =zõá«n]5bŽŽŽÜ½w/ÍÉhœœpvrR¿cÙò•ÔôöÒœÍÌÌhP¿ž²ÙŸ’3§ ×.ÿÀÕ«×èØ¥¿ú´ñöò4ø¿©‰ñý[²D eÑß*22’•«ÖÐïûo155eÊÓÙ²q½.àœZ_Û7Gÿ*= çë^}hØ >+–/ÁÞ΀ˆˆH-YBž½Y±l *•JùÖÆ«W¯X¹j ]»vÖmŸB|J¬­­•EâÔªesúõˆß™³ØÛÙCÑ¢E˜;{9sº(› !„B‘iÀeR»vï ç×=عk·®îà¡Ã+Qšƒ‡êÊzó-ÅJ”ÆÿÂþøã½û~Àä©Ó(V¢46nÖµµ²´bÞÏóñð®{•êLùaIIIºú;wÑäË”)_‘Zuê³dÙr]ý¬Ùsù¬äçܽwŽ»RªLyBBBuïÍl¦L›NëV-Ðï{òæÍ‹µµ5¥J–Ô^kÖ®GàÅßèØ¥¥Ê”çéÓ¶ïØIûŽÚÑÏQ/^ÐoÀ ª{xã^¥:m;t"""’i?þÄ‘£Çøaú jÖ®ÇÁC‡ßI qâä)Z¶nGuojxÕbéòºõ1j K–-§÷7ßR©r5¼jÕaÓæ-ºz}*• •J…iò‚”ÿ§=k֮Ǚ³çtí_¾zI·î_ã^µ ›|Éñ'uuú)7¶ïØÉ˜qX¾bUª{2fÜÝò|öî£E«¶|á^•¦ÍZrñ·ßtËHk»R„‡G0cæ,:têJ¶lÙ011¡K·î„……ѶCGjÖ®GHH¨A_“TÞ´y+5k×£r5†Ett4¤’rÃØ¾:lӦϠš‡îUk0~â$Ýñ›˜˜ÈÐá#uËïЩ ?Ö}þˆ‘cø¦w/Ú·mË„‰“iÔ´›6gâä)Œ9gggvîÒþnêKJJbðÐá <”¤¤$bcc=f•«yàU««Ö¬ÅÒÒR×>11‘šE5/ªT÷dÜ„IÄǧž*$!!é3fRÍÃ‹Š•«Ò¥[îÞ}›š#µ~ˆ‹‹gôØñT©î‰wíº¬Z½†FM›q÷Þ=²dÉ‚……­Û¶göÜyDEE|žBñwšñÓ,òäÍ‹ßéœ:y ¿Ó'¨P¾½ñ?çÇ´©S˜8y*ááËøûö`ÜØÑœ?sšQ#†1`ЃÏÕwäè1<|ˆÏ®Œ5BW¾lÅJΟDžs~Ô­S›ñ&ëêÒÚ®°gϘ6}=û|CÁ‚Ù³k;=ºwÃÌ̌˖°iý¯;rð¾&9ûèñcÜDZÈ`æì9Êf:©í»={÷Q°`N?Êî[9vìGŽƒä€vãF Ùç³ ¿SÇqrrÒå´¾uû6/_¾ ~½ºÌ˜9 öîÞÉÌÓ  q£†œ;÷6¸Ÿbâä)DGGóÓÓ055eîÿ~æÎ½{Ø·‡ƒû|xðà±±±ºö¿,XÈÅß~cŸÏnŽ>ÈíÛwøeþBƒe¦˜÷ó|.þö»¶oãü_*Uü‚½z¨•ýðóüùU!„ø{øû_`ðÀþº§¬­­Ðÿ{/*› !„B‘©}Tç#Gƒ·—'Ô©]‹¸¸8>¢lšªÏŠ¥té’Tü¢:v páBm–.^Ȩ‘ÃéÔ©·nß`ó–mL7–ï¿ëËÜY3ذa“Þ»á³ÏŠqòøvlÝœiÓ <þ€Ü¹s)« ´mÓšÊî•°±±y'C>·|üqéÇOœD£ÑPª¤¶_3¢P¡‚º~ÿì³b8;;¬ \Ôôö¢L™Ï¨RÙlÙìyôø‘®þCÕ®U‹‚´¹«W«F‰âÅ9qòí(g}&&&Œ;‡¹;u쀋‹ &&&4¨_Ï`²;cÛCÝúx†ukhÕ¢9æææº÷eÔWݺ R©È’% _wÿŠƒ‡Œ÷©í»\¹rÒ¶MkT*...T¨PÞ`D°§G ¬¬¬P©TÔ¨QÇO‚¸xñwªTÖ¦­¹xñ7š}Ù€çQQØØØ@*é>T¦¦Ìùß<î޻ϼ¹³uù>LŸž_“ÍÞKKKú~c8 去èÝókìíì°¶¶¢}»6:’úvîܵ›oz÷ÂÑÑSSS¾íÛ‡øø×œ=w^×FÙûö Oï^ØÚÚbnnNß>½ – `iiI‡öíØ´a·nߦnƒÆ$&&*› !„)•™êï›ÄD5ª÷œ«D!„BˆÛG•Ã9%Æ“'AŒ;ž‡´AÈ»vóeÓ&ŠÖZ ï(²±±Á5wn²gËÉíº€¨««¶>OWBÃÂ’ß­U³¦÷¿:ù\F¤LFA¶äíLMá‚•E:M7"›½=K–-gê´é|Ó»mZ·R6KÕÞ}ûÙºm»6%„‰ ½{âš;7OCB˜7ï<==”M…B!„ÈÔ>š!ááº|¼û­Û¶sáBçÎûª é?¢ÿèÑÛ<´èÄTëåfN‘Ö¨SggínAÉ£>?yzèÃ(‡*TŸ}û”ULÒÙÕY·z%?ÿo³çÎ㼿vÒ>åhW}¿ÿþcÆM`øÐ!lÙ´-׿655þþ?C\ Õß•ŒM0h¬OÒÛ®<®® :˜]Û·’+WNzó-½¿ùµZfé Ó[ÿÐÐPlmmBS[OcÛDrë„ÄDÖ­^É–MèñÕWººœ9]tùœGƶí;hÝ®eË–¡v­š´nÛgƒ›>ŽNŽ>´Ÿ'O‚ rY;::úv;^¾|e´wttdîì™ø:ß©œó;Å©ã©pΓÇU÷{˜"øéS\õùÊ~Hëóãââéѳßõ@~77vnß ýuw!„âï4h@?l²d¡]ûNT­îI›¶°°´dÄð·s“!„Bñ10Êd|öîE­VSÓÛ‹›×.ë^õêÖ!))‰]{|(T¨ &&&œ=wžÅK—1bÔƒ‰Ïœœ´ãõë72sÖ9jPoLûvm˜0y ¿Ì_¨›˜°]›ÖŠ–‡!ƒ²lùJ/]FXXqqñÈûn—‰‰ 5ªëÒ9 ØŸq&QÝÃûQù%J§D‰âÔ®×ÏšuÈž=;Çýu#žÆŒÉÚ_¥YËÖ|óíw4lP_WgggË ýèñuoΜ=§ÉŽ» Õ[’¡¢EŠ0lÈ`ÊóçÏØ¿y\]©S¿!uê7Ä5w. äϯkÿý·}©ì^‰ºR¶B%Z´j«›,)&6_??bb´76¾îþÕªT¡e›vTóðæ”¯‹Î7š‚`@ÿïquÍMúhÜ´9yóæÑ–­­­¨ZE›«Z!„ø7h4‚‚‚ ~Jx*7®…B!„ø¤<˯ÿL¿‰âeª÷Ré½Ì À°L~Y]üýLáBÚ‰ÙÒxñ"•Ý+ArZŒÊî•°IΛBÿq{!Ä¿çÒå+¬ûu=W¯]#1!KKKÊ”ùœAúMM’ÙÅÅÅSî‹Jœ8z˜œ9%u†øx(s !2§ÿ³wßÑQTïÇßéN ¡I'H%¡ºôjD‘"Šˆ"U»ˆ ˆ ÕÞ•Þ« HGPz‘žZúf~$Y²C `Ôðý}^çÌ9»ÏsïÜÙÝ <{÷Îõ7r]:kÎÜùÔ®]‹úáaœ9s†‘£Fsôè1Š-ÂիרVµ*“ßzƒ²åÊš»ÞbOôÍÛAé?ècÛö´ˆÈŸ_s‰ˆˆˆÈ½áúìØ¹‹ ÀœžUäñ“„ @ ¤©Y¶´,›aÚ2Yog¿¬ˆˆIÿÚ¼ýæëæð=åðá#8»8S±BÒÒÒøàéX¡‚ŠÍ""òŸX¸h1;uà•W_§^h æÍÅÍÍ•ÄÄDfϞ˄—'±`®íT"""""™ Î"òÿÆ…‹yû)\¸p;;;jԨδ©ïš›‰ˆˆü+âââ¬×9zì3>˜f½ °««+O?ýM›µ0õ)ØTp‘ÿ7š5mb]k\DDä¿æììÌå˱”,Y‚2¥Ëp#>ž¢EŠXó×®_§¤gI›>""""" Î"""""ÿ&1rÔ <Ö÷:´oLj£xøá)^´(—._æó/¿fà€þæn"""""š Î"""""ÿFäý©Óx÷½©Ä'$ðæ[“mÚ¼?u:mÛ´ÖÅBEDDDäž¡‚³ˆˆˆˆÈÀÃÃqcǘÃ"""""÷4{s@DDDDDDDDDDän¨à,""""""""""ùBgÉ*8‹ˆˆˆˆˆˆˆˆˆH¾PÁYDDDDDDDDDDò… Î@RRÕýü kÐØœúÇ…„5 ºŸ?III攈ˆˆˆˆˆˆˆˆÈ=åž+8§¥¥Ñ$¢%ÕýüiÚ¼%iiiæ&yš7ÿcöÿþ‡9|OøãÀæÌ›oß±3gÎðh¿þ…†Ó¢U[/YjnÏUu?¢cbÌ)Úwê–-[øø“OiÑ’°<9d(±±±q¾¾øò+ÚwêB@p="Z¶æó/¾4í ¢¢£ çÚµklÞ²…Þ}#¸^}Âê7â¥I¯’’bm»e믴ïÔ…À0º÷|ˆ?€; `ÿþßñó`ùŠ•æÉÉÉŒÿ"aõÞ° oMžbóZËér“Ó˜'Nž¤cçnŒ;Þ&.""""""""r¯¹ç ÎÛwìäâÅ‹xz–äÂ…‹lÛ¾ÃÜ$W‡æíw¦°ÿ~s ‡ÿé°·³3‡r5ãÃYÌ·À¾cÏ=ÿµk×bç¶-Ìø`¯¿ñ²isøð–._Ž“““M`ß¾ýܸqƒúõÃÙ¼e sç-à“sùuóOx{{1nÂD8rôo¿ù:»wüÊÔw§0yÊ{ìßÿ»Íþ.ZL‹ˆf.\˜;w3 ßclùy#K—,dç®Ý,øäSâââ:l8Ï=;Œ=;·Ñ÷‘Þ ~òi’’’n{¬øøxÆŒŸ@ÅŠlâYMÿàCNŸ9ËÚÕ+Y¹l1;wîäÓÏ¿€<Ž!'9¹bå*0ß²¾6q‘{Ñ¿_aý›2gâЀE‹—Xs«×¬¥ºŸ?ÃGø0õÂÆãqæìYÆ‘ 7Gu?6i@bb"“§¼kÝoŸGûÝR<ÎêÌ™3þ7nâÐá#|ùÙ'6m2­\µšÚµü([¶,ñ ¸»»Û´qswãF|¼MÌb±ð˜±<ÞïQ*ÝwŸ5þý éÖµ3vÙ,/2sÖlÜÝÝéÖµ dŒåæf;+ÜÍÍí–/²ëüù Lyo*Ÿ}<{ûœ¿kÉÜ—{–qÜÝܰX,$&&Ýö1pcŠˆˆˆˆˆˆˆˆü/¸§ ΙËiœ9s–q&r꯿ cYœ Î)©©æPŽ<<<ðõñ x±b1ãàܹsøú¦çËf¬¹{1**£wºæÍ#²-6DÇDP©R%œ)]º‘‘égÃ0øhö\–-_Att4IÉɤ¦äü.]ºLbb"õÂÚä.\¸`s?“‡‡;‰ é}2%ÄÇS´h1¢cbxý­·™?ç#°X,6íÈX䡇´Þ÷ðð ÞT\NˆO XÑ¢Öû‹…á#žÇËË‹¡Cž²ÆoܸÁšµëX¾$}¹Š¬>þô3V¯]Ë' æY‹µ…<<ˆ»rŦ]BBåÊ¥¿Éa¬´´4ž=†çG §L™ÒYzßÊÃÃ2ŠÛ… ²ÞvvvÆÍÍõ¶Ž;SDDDDDDDDäÁ=Spމ¹ÄÖ_·°gï^öìÝkÍmÛ¾ƒ‹/âè˜þp²?ÿúë´õ6`Ekɲ6s¦ì.Ž—ÉÛÛ‹'OröÌY*V¨Àé3g K:“C.³X=K¦/±qútú1¥¦¦cͯ\µš÷¦N£NæÌžEšÅƒ½úXó™ÒÒn‹-‚““ÌŸ;GkÎ×7û ÑU­R…3gÏ’h]Vãè±H*V¬À¢ÅK¸pá"õ~ĦO§.Ý>l(¡¡!‹Œ¤uËÖ\µªU‰<~Üz?66–K—/[g@'''3løJ–,ɤ—^´™é»lù êÞRýhöÖ®[Ï'óçÚ®«T­ÂW_}cÓöÈ‘£´nÕrëÙµk7'OždÒ«¯w…‰/G²yËVÞxíëþœ©P¡<‘‘ÇñöòàèÑcT(_nã2Ýɘ"""""""""ÿ ó²å˱X,4hÆÌÓ­ñgž}ŽÕkÖ²xé2Z·j‰¿nÛÎGsæròäŸÖân&¯Œâ—_~MtT4uëÖ¡IãF6m²óðC²mû^zåU:wìÈúxèžæ¦9ŠˆhÊÎdÁÇŸrõê5Nœ8a3S6!cÖ±%ÕBtt4kÖ®ËÒ(Y²—.]fìø 8;;óÒ‹èÞ­ _óÌøfÍš’””ÄÁƒ‡˜üÖ6ý3•*UŠÐ`>œ9‹g‡ åÄÉ“,]ºŒ¹³gQµjºtîdm›f±Ð$¢%Ÿ,˜K¹²åøpæ,Ú·»ßfw×.yvøºv¯Ó>øõÃ)Y² ‰ ú eË–eô¨‘ÖÙØööö¸ººòý é÷h_ë¾ÞŸ6-[¶òáŒé8;;[¿@pww§ED3^ã-6nÜD³fMY¶|QQQ4kÚ$×±üjÖà—Ÿ6ØŒóÔ¡tïÖv÷·µ‰tíÜ™Ùsæâ_»‹…y >¦S§ô¥Nr;2Öþ6 ƒ^?xGcŠˆˆˆˆˆˆˆˆÜëržŽ[À,ÊXNütFÇí!c¹Š*0nÌhŠ+Æœ¹ó¹rå £Fްiß©C{š5mBTt4?,\tËR9iÛ¦5o¼ö NNN|4g.ñ7ây~Äs<Ú×v&pnjתŋãÇR¬X1–,]F½z¡Üß¶5ß¾][ZµlÁñ';þEJy{ß²óØÑ/PÖ×—eËW²÷·}Œ3šÁO äÏS§xëíw˜=g‰II¹®üÖ›¯sèðaBÃÒà`ž:„:uüqssÃËÓÓºyz¦ÏÊ.^¼8ÎÎN,Z¼„îݺÙì+8(§‡<É£÷'$¬§Nâ•—_`íúõlÙú+ß|û!aÖí‘Ç'2ò8ú‹–-š[÷uñâEfΚÍþßÿ qÓæ6}’’’ðððàæòþ´é†Ôã£Ùs™1}*...¹Žåèèhó¸¼<=qtt¢páB)R8Ë£I7h`*UªDË6íhÕ¶5ªW·Æs;€Ã‡søÈá;SDDDDDDDDä^—y•¶¬Wk³3möY6‡,›#à 8.›ëÎÝ¿m­Rùæár³{ÏÂÃêAƲáaõð0]|.»5„EDDþ?sȲ|’ˆ\×oÜÈö¢Èÿ„=é—  (ý}lÛ¾ƒÙ\@ZDDDDþw]¿qƒ;whNe+òøIBƒ‚ HR€Ô,[Z–Í0m™¬·sž+""""""""""rTp‘|¡‚³ˆˆˆˆˆˆˆˆˆˆä œEDDDDDDDDD$_¨à,""""""""""ùBgÉ*8‹ˆˆˆˆˆˆˆˆˆH¾PÁYDDDDDDDDDDò… Î""""""""""’/Tp‘|¡‚³ˆˆˆˆÈÿ KŠ9"""""ò¯RÁYn[Àk8söÊ+ÿÿÉ¢}çéûñ.s¸À¿ä Ó7`õÁ‹ þr¯¹É-ºÏÞÎî¿âÌa)@ìô·ZDDDDþ[Žæ@AÖ¼eΞ;@¡B…¸¯b?1ˆ–-š››þ«V¯YKZZ÷·mcNxo­9ÊÚÃѬÚ;;sú?sàü5œì¨æ]Èœ’|T¾ÅÝÍá[<QÙæ|,üí]|lÚˆˆˆˆ­]»v›Cÿû²u°KˆÃñzàeN‹ˆˆˆˆükîÉÎݺv¡aƒúMéÒ¥xãÍ·ùøÓÏøå—-ÔòócåªÕÌ_ð1§NýEJj*u™ôòDÊúúòËæ- 4˜iï¿Ë–­¿²xÉR^{åeZ¶hÎô²råjâ®\Áϯ&c_…Ÿ_M’’’¨BîÝðpwçÇE‹q°·§Ýým™0~,W®\aГCˆeõšµT÷ó§ÝýmyoÊdó!H«^¤f©B´ö+Åw»ÏÒ¬ª§5ŸláÍ5GÙt4Gú†•ÃÅéæ÷yå;ß{–ý‹óW)UÄ…™P¡„;{Ï\aòš£ºŽ‡‹#cÛTcÿÙ«l8ÍŽ?/3}Ó F¶¬B«šÞÖ¶'/ÅãáâȃA¾ hT»Œ%,~;GÅî,øõ/"ª{òRûš6Ç0~ÉA‚Êc÷_q¬=ÅÄö5hãWŠ©޳ô÷ó´¨áŨÖÕpuL,›ŽÆðîúH¢®%QÛ§0Í«{±÷ô&w«m³ïì8ØÛñêÊ#¬;…£ƒ=ù0°Ñ}LßtœÈ¨L{ Žµí´Ç9uéÖµÙGjš‘íñ]‰O¦ûœLéîOXÅâ¤XÒx`îzùÒ+´ã—¤\q7öœŽãÀùk”ôpfx‹*6ç8Ó¢}çùqïY>}, ÛsÒÆ¯m¦oåå5ð*ìÂ3ßîçl\m¦o¥Tagk߬~Ø{Ž¿žâÒdJqᙈÊDTKŸq•×ñ5{ïÓÞÀÝÙC˜Ã""""""""R€Ü“çL‰I‰88:’’B¡B…4pûöïgÍÚu¼ñæÛ̘>ÕÚçʼn/“˜”Ä}÷U¤¬¯/oMžÂ—_}M«–-«Ç‡³>bàà'Y¹l)..éË üðãB*W®D·.Y¼d)_~ý AA4jØ€:þþìßÿ;5jT§g÷nÜW±¢u¬‚î»=gé^ž†•JòÎÚc\¸šHé"®LßtœÑ7Xúd}\x{í1â“-Ö¾yå³ú92†©Ž3ýÁºÔö)©Ëñ”+îFÌõ$žúê7F¶¬Jçºeˆ¹ž„«“müJ±÷t½BËÑÁ¿4—n$3ä«ßÛ¶:íj—âÂÕDýd…\y8¤,ŽDÓ¢º7 ŸÃÝ%û—öÔ ÇyºY%Æ´©†‹£=3>ÉÞÓq,y2g{}±—™?Ÿ`xó*œ¿’ÈÈçεhYӛî1ð‹½Ô¿¯„y·ÙÚy*–ÞõÊ1þþ꜎M ßg{(_Â>tüp1דð,ä‚,ÿã"£ZW5ï"×ã›pu^\zˆŸ¨ÇÜ-§(UØ…‡CËYû~±ó4ó ¦²—ëG1ò‡ßYòd8>EÝlÆÈ*§s’UeOƶ©Æk«Ž²bH}›\¦-Ç/1uc$³zâWº0[N\æÙo÷ñÅã¡Öe9r;¾MÛw)""""""""÷€œ§¤`ïO›Îà!Cùö»pqq¡M«VtêØóæ0 ?ÆŽ~€c‘‘6}Y¹l ‹~øŽºuëðãÂE888ðÚ«“èÙ£;=ð11—صûæz{†a0÷£YŒóö}€c‘Ç)^¼8-šGP¡|yúôîEÆ÷Æ ÌÈèœK¤y5/ÜÓ‹¼?þvÞš_{8š*RÔÍ G{7¶-¤ç•ÏjùïèèC@Ù¢8ÚÛQÙÓ{;;6¡bIwºúàhoGé"®ss2w‡Œbr¹ântð/½>EÝèW¿<‹~K_ÓÀ;ÆÝ_ÎÖÊfåŠÒ3È—B.Ž89سxÿy4¬HW'\x ¸,ëGðKd •==hUÓ; fé´®émÞeŽ*–t§Eõô½åŠ»Ñ¹N֊§¨a÷gÉþ ìù+ŽÄ M³™}œÛñµñ+Epùb ûv? ;Ç+üȺˆG‹êÞTñòÀhUÛjÞ…øùXîK§ÜÉ9ÉÍ’ýçé\ǿ҅hX©«x²4ã1s—Ç'""""""""[öÓ@ ¸…‹ãîîN@ݺ v(åË—Ã0 >š=—eËWMRr2©)©6}êÖÅǧ —.]&11}–t½ð†6í.\¸Yóðð L™ô™¶Å‹§¯u›’’bÍß‹¾Ûs–ØødëÒÉ–4 »8òDãŠ8ØÙs= Ÿ¢é³ÉXç7ëEóÊgs=™:¾EÍab®'Qª°‹9œ­Ë7’)•1û:SÙân\Š¿yÊwÃÑ>ûcÈTÙÓÃæ~ôµ$&,=ˆCF¿4ÃÀÙ!½X}9>…2Y#€wa®%Ú¾¦rRØ4ËÚ«3;þ¼ ÀÁe™²î7¨Àò?.бNél=·ãèß <]>ÚΣáåñ*dû\5ŠKq%úzúû"'wrNrséF2µ}ŠØÄ|3fµgÊíø´¤†ˆˆˆˆˆˆˆÈ½éž,8ÿ´a¥K—²‰­\µš÷¦N£NæÌžEšÅƒ½úØ´pp¸¹<@Ñ¢EprrÂÁÁùsgãó°ë IDAT˜%çëëk½íä”ó ÏÌ ÃY,Ù/'Q%¦XXúûy>~4˜ÒYŠ‹ý>ÛË/Ç.Ѭš'žÎD]K².p-1‹qó"4yå³*ááÌ™¸s˜’ÎœŽ½5`®]—-îÆšCQ6±sq‰ø½yüÙÔkoa¾Ÿg!g^ï\‹°l.šçUÈ…MWclbQ×nLób.îF]K¢¸{ú2-«”䵕GøíÌÖŠbAß`›¶™r;>xcõQºú°xßyºøØÔ/\Mÿ2%ÓéØx‚ʳ‰™åvNl˜OIÙânœ½b;þ¹¸î»ÍãÓ’""""""""÷¦ì׸%$¤¯,©¢££ùê›oÍMnáääD÷n]HLLäƒòÛþýlß¹“Ÿ|JÑ¢¶³3sâ핾dÂÖ_·ñæÛï0wÞs“gÕÁ‹Tñô ®oQJqµnë”æÛ=ghQÛy[þäZb*)–4foþÓfyå³jãçÍò?.pøâu àL\×SiZÕ“Ó± ,ÿãi†A\B g3 ÓÅÝ9|ñdÌêmRÕ“Ëñ),ÿ#}æù…«‰|µë ]êúØŒu§:×-ÃôÇ­ãÆ%¤p,úª”äxôuÖŽÂN]Žççc7 Я&2vñÁ[ §™.\MdѾsX ƒ?/ųhßyZÕL½8ØÙÑ-  “×Å·˜U¼lg^gÊíø>ÙvŠëI©L¸¿CšVbÔbI³öý%òG£®CÆ9?Ÿí²YåvN²*îîDôõ$.ÝH&-›/ºø°ò‹Öñ÷œŽcë‰Ë´«uó‹¢»9>)ØîÉÎÙiß®-7mâ—Í[;þEìÙƒæÍ8r䨹©qcFS¬X1–,]Æ[o¿ƒ»»;!!ÁØÛÛ“–v³x—“Ê•+ñx¿ÇX¸h1ß~÷=]:w27)p¾Ý}–î7gpgêR· ³~9ɹ+ <Q‰7V¥ÝŒ­¸:9Я~y*–t·¶Í+ŸUËÞ\¸šÄðïö}=‰RE\™õp劻1í:¼»>’—–ÂÝÅ‘ ÷WÇ·˜ýVäÅ¥Y¼ïù”~ý™ÃVoM~‡†M"¨ß° Uªû‘””dnÀ¨Ñc9j´9œ«C‡ãç`ÿ+¢cbhØ$‚†M"ðbò;ïÞQ^î]†a0éÕ×hØ$‚ºA¡ 4ØÜäÿ•ÿò}øoùîûhѺ­õçàòïúáÇ…tÀö"dwû7KDþYM©P¡£ÇŒå½÷§òùç_0ë£ÙŒx~4ŽŽNtìÐÞÜEDDDD¤@RÁ9±±±T©îg3ÓdËÖ_ oØØ¦½½=Ý»vÅ¿vm›øßõÂó#ÙòóF¾þòssÊF³¦MhÑÌ΃Ÿzšµë֛Ë—§'[~ÞÈ–Ÿ7ÒºeKs:ϼܻvíÞÃwßÿÈWŸʾ=;yoÊds¹ !a\½zÍ.jùùÑ­KÌ©{Ú¡C‡éع«9œoþÉsš×߬âs_DòfooÏ3OaèÓOS¼x .]ŽÅÑщ¾}z1vô(œœœÌ]DDDDD $Gs@îÎSO>aÝ–.D~GÚÝßÖº-9]=SZZgÏž5‡EîZTTåË•£|ùr.\ØÜäÿ¼Þ‡y‰»r…k×þ™Âd~ð󫉟_Msøž÷×éÓæP¾ù7ÎiN³ô¹/òß ¨[‡€ºuÌa‘{†f8ÿMmÚu ¤^}ªÖ¨ÅÜy Ìi¶lý•v:Ö€Çúä¥I¯Ú,aooÏ+¯½NHXÂ6Îv9=vá SÝÏŸO¤QÓôå.šµhͪÕklò¹Ùµ{Ý{>híûÙç_XsïMF“ˆ¼0fG³¾ž²¶ÉÍùó4ø)4jJPh½yŒ“þin–£ÈÈã<ÜûC §_ÿA6K<äö¼ä5v^ç4¯×[nïü´hÝ–FM"oØ?ÿîÓך7 ƒÙsçÑ4¢%Á¡áô}ìqþúëf¡´c箇†ƺõhÖ¼!a ØôÓϼ4éUFŒEÓˆ–<9d¨u)”bퟛ¯¾þ–FM#¨U'ÿ€`sšÁO=ͬÙsx|À ºtëI«6íØ°q“¹YŽ>ÿâKÚ¶ïHPhšF0köknÁ'Ÿ2fÜF<ÿ>܇&-˜ñá,Èø|¨W¿¿ÿñ‡µ}ZZ 7»åý? QÓ† Áá#G­¯å÷¦N³¶9qò$=>€À0š5oeó¹þÕ×ßÒ²õý$$$pæÌ‚CÃÙ¹k7ÜÆ9Íí3àøñô~ä1‚BÃhÕ¦‘Ç[säñ7ëï~ˆˆˆˆˆde—e³2f?;.€àŠž@i >Á&ß¡S#4¼¡qðà!›ü“C†öëoÄÆÆññ Æ ÁO/¿òªadœ³ÊÕjS§`†a$''»t3>ùôsÃ0 #))Éhؤ™ñâK“ŒèèãÆÆž={­cþñÇÃÏ?ÀX³v‘––fl۾ݨbœ?Á0 Ã8rô¨ál\¸~ÿâÅ‹FLÌ%kÿÜ\ŒŠ2ꆋ/1,‹qìX¤Ñ q3cÉÒe6í–.[ntèÔÅ&v;’’’Œ¥Ë–ññ FJJŠñâK“Œ~ýš›åhÈÐaÆëo¾mX,#%%Å8rô¨5—×ór»cçtNs{½Ýîû07çÏ_0*W«i\¹rÕœ2>þä3£QÓãèÑc†Åb1fÎúÈèЩ‹õ½`†qåÊU£rµšF×î=+W®©©©Frr²1ñåWŒ¾=n$$$þÁÆ{ïO3~ûmŸÑ¶}G›1ò²wïoFíºAæ°ñÄ“CŒú𣢠Ã0Œ•«VÁ¡áæf9úuÛ6#òxúgå±c‘F@p=ã·ßöFÆgkåj5mÛ·FÆsäç`:|Ø0 ÃxçÝ÷ŒÑcÇ[÷µcÇN£Aãf6ÏK^-^’ík9>>Þhؤ™1ùw””ãìÙsF³­U«×XÛ :Ì=fœ‘ššj<ðPocúŒmö‘Û9Íí3Âb±mÚu0&L|ÉHJJ2Ο¿`„5hdtëù y7ÙþÍÊt·Ÿû"r«kׯë7n2~ݶ=Ï-¬~##$¬A¶Û–­¿Í™k4‰hqK¿ì¶¬ÿ¾‘ÿ_2ÿ j®Ãæ´íÜý›5J@Y P(šQv˨;eÔŒ2jÈYkÊVšá|îoב°„„5`ÈÐaætŽ6lÚD¥J÷ѶMkìíí ¤Eóô™k™J—.EŸÞ½°··§^½P|}}n™‘v7ngl‹ÅÂsÏÃÕÕooo5lHäñH›6w«Ò}÷‚ƒƒÅŠ¥mëÖ?~ÂÜì±dÉR†y OÏ’899ñì°¡œ?ýû`Ùò<úè#„††àêêÊ}+R¦LiȘý¸vÝzFzžû*VÄÅÅ…ÀÀ€»Z7±|¹ò<ø@OÜÜ\Íi:´¿Ÿš5kXó±±±¬]·ž'Œ£X±b¸¹¹òÄ ¬X¹Ê¦_ßGúàääDÝ:þœ8y2f_»vñcGãéYwwwo^ iÕ²­Z¶ÀÎÎŽ°zõ ¨kUZªT)X±r ‰x{{S²d kÿܬ_¿‘*•+ѹSGìíí©R¥2}z=Ì ››Þggg:´o‡››+ŽŽŽtïÖõŽ^OU«Ta×®]9rGGGªU­jÍåõ¼ÜÉØæsJ¯7þá÷á·ß}ÏSƒSµjìíí8 ?'Nþ™íìð' ¤H‘Â888X_ïéÇååE½z¡x{{sùòes×»Ö¶M+¼½¼"îÊbccÍͲFåJ•¨R¥2ÁA6ŸÕ«U#¬^=ÈøœõõñáÏ?OÐûá‡Y¹jµuäå+WѵKgìíÿþŸÄŸÙLZšÁsÇáèèˆOèÑÝæ}üú«¯°õ×mô4'''žœýòfy}Fœúë/"#3â¹á8;;Sºt)èÙü) ?1§ž|"ÛÍÎÎŽªUªðx¿~æn"""""ŽÖp¾ Ÿ~<Ÿ%Ò o»vïæÕ×ß07ÉVtT4¥J•²‰•)SÆæ~¹²em¸ÜöÏéss;c;::RºôÍ6ù56Ë?|ðáLëR±qq„× 57ûG\º|Ÿ,ÕÉÉ //O¢¢£ˆŽ‰¹åyÏ‹Åb¡lùìY–¬ÈªzõjæêÕlóÑ11†A/Ó’ ‰¤¦¦BÆc)V´¨5ïààˆÅ’ž‹Ž‰¡t©R9Ç£¢¢ùù—Í6½LNN&88€¢EаøÇï™>c&-[ѳGwž~êI\\\²ì%{—._ºåõåãëCôŠôçüïŠå½©Óømß~Ò,i$''“šeIŒ¼<3t>>e6|%=K2ò¹g JÜy=/w2¶ùœ’Çëø}x1*Š)ï¾ÇÔéÓ­1GGG¢££­ÅÚLÙ½^=<< céŸB… agg‡Å’ýëýnd›3.*˜Ósk¶jõ>ÿâ+bcc±··ãÌÙs´nuó"£^Þ7÷ ààè`}•.]ŠF °pÑbéÓ‹5kÖòÅç··TH^¢¢¢ˆ¥Aã¦ÖXjª…ZYÖ±.R¤0ôéÍ›oOæ“ón»Ð×gÄ¥K—ñðð h‘"Ö¼¯õ¶ˆl5j¤aiöÍ7ßQ³F ÜÜܨ^íæ¦"""""• ηÁËÛ /OOŠ/nNçÈËË“‹/ÚÄâââð,YÒzßÎîö wêvƾ"Gzéö @™ à߀Œya:vÀÎÎŽù >æÀƒæ¦ÿ///Ξ;GÕªU £xm=‡ÅŠåüù ¦^éŠ)‚½½=ç/œÇÓóæs•ÉÑÁÑZ´"cß—s˜‘éè˜ûÛËœÏ, ­Z±Ì¦¨œUn˜+V´(QÑÑX,2ŠwYùúúÒ£{W^?Μ²*W®o¿ù:QÑÑ }f8¯_}›—'N07»…·—6l´‰=sO¯ôçüïšøò+/^œï¾þ8È '‡˜›åÈÎÎŽž=ºÓ£{7–,]F¯>òËOðöòÊóy¹“±Íç”<^oÜæû07™/‰´´[ß§e}}yrð Ú´neNÝ"»cÏúzËå¥w÷îr§‘‘Ç7þE¾øüjT¯pË9±³ý5Ï-úöéÍK“^ůf Ê–-Ë}+š›ä.‡â»¯¯/•î»åK™SVgΞeÖì9<Ò§7¯¼ö: ¿ÿÎæW9Ó¼>#¼½¼ˆ'!!777._Îþó)7wó¹/"ßgŸasÝ…L[·þJRr¥J•¢YÓ&·õE°ˆˆˆˆÈéïU:$WM›6áĉ¬X¹ Ã08tø«×¬57ûGäר¥K•fó–­¤¥¥a±XlŠ­9IMM%66___9Â7ß}onöéÖµ3|8“˜˜K¤¤¤0mú Ê”.MÝŒ+¾·nÝŠ?ý”}ûöc±X¸pá¢uY 7775lÀÛ“§pæìYRSS‰Œ<Î¥KéËT¨X½{³vgÏ—o…:uìÀø ‰ŠŠ‚ŒÙµ»vï17ÍVhH0ŽŽŽ¼5y W®^%11‘Ý{nöíÑ­+Ë–¯dÝú $''c±XØ·ÿwbb.AÆ…ÎŽ;†Åb¡x±b”*å}Û­e‹æüyê‹/!--ãÇOðÅW_ÓµKgsÓ»C™Ò¥ptt$&æ3f¦_îvý²y3W¯^ÃÎÎŽjU«¦ÿ‡Þ0à6ž—¿;vn¯·üP¼xq\\\ø)ã• 7/ÎùðCðþ´é:|„´´4oëÂx]Ì¥\\]ñ,é‰Åbaý†lÛ¶ÝÜ,Wõê…bggÇŒ™³èѽ«9§2¥Jñ×éÓüy*}™ŽÌç½Aýp˜õÑl®_¿Žaüõ×iŽ;K¨<ûÜHíÛ‡‰ÆQµJ&½úšÍ¾s:§y}F”+W–5ª3ýƒ±X,œ;wžïü1ËžoÏÝ|î‹Èßgo½ý-›¤¥lýõW¦NûÀÜMDDDD¤ÀQÁùoøóÔ)Ú´ë@hxC6oÙÂ;ï¾GÃ&Œ52f›Í˜>é3>$¸^8&¾DxXúš¢·ãÕ×Þ ID :tî@XƒÆ4oÕ†={÷ðàÃ}hиïOÎO?ÿB½úhס3))){ìL/ŒÉ «OýFM9~"ûµk³rrrâÅñcyfØp‚ë1ùwéÖ5ý1œüóOZ·mOhxC–._ÁÜù hШ)Ïu[ù¼<óô‚ƒ‚hß©3¡á ùãÀæ|4Ó:“tÀãýèõÐC<;âyü‚y¨W:lí?eò[øúúÐ㇮ǰá#ˆ‹‹ ýým©_?œ6÷w E«¶$Ä'X׉xóíÉ4lÁg_|Éâ%Kiи“ßyך¸÷#ԫ߈ÃGŽ2aâË4kÑšU«×Xó¯Nz‰²e}yà¡Þøӵǃì۷Ϛϻ»;Ÿ}2Ÿ£GÒ¬y+Â6áwß·æ«V­Âô©ï2oþê7lBhxÞ™ò.ÉÉÉQ¸zvøH‚ëQ¿axæé§²Œ³%J0oöG|öù×ã±þè÷h_:wì`nzWž{v‹–,Mß÷ãhw[s“\­X±Š­ÛR'0„!Ï cÒKñöö†Ûx^ò;¯sš×ëíïrvvfÒK/2mú†„Y?/èÙƒ¾}ú0bä(CÂhÖ¢% -àôéÓ´nÛž&-hß± ­Û¶çì¹sÖþÇko¼EÓˆ–ôy´ …†ÑªM;öîýÍÜôŽ…†„ЬiZµmGxÃ&ü²yËmÍâ6{¤O/víÞsË9½¡¡!<ø@zõy” Ð0&¾< WWW>]0ѪM;‚ë1ä™aD]L/¿óî{6ë6¿úÊËlÞ²…¥Ë–[÷Û9Íí3ÂÎÎŽiï¿Ë¾ý¿Ö€ƒóx¿Ç¬}óú›•én>÷EäïëÝë!úôé}ËV¨P!ú>Ò›‰ÆçËu>DDDDDþi™¿9ÎúÛã¬W´Ë(JgnY6GÀ9ãê„.›ëÎÝ¿m­Rù¾,»ËÙî={¬EÐmÛwVwws³ÿ)£F¥j•* ð¸9õû/Ç)hæÍ_ÀÁC‡™2ù-sJD$_\¿qƒ;wáž±ÌÍÝX¾|%íÚµÅb±ðâÄ—yýµWÌMnáï_2þ}Ý"¢™9-""""ÿÃ2ÿ hNe+òøIBƒ‚ HR€Ô,[Z–Í0m™¬·5ÃùÇ–­¿ZŽ|àÀAÖ¯ß@Ø]Ì4¾SÿåØ""Ý¥K—Yðɧô{ìæøDDþK±±±\¾|ë¶}Ç®\¹‚½½ým›EDDDDþk·^%JòMZZsæÍ繑ÏcIµP²dIÆŒ~:³NþIÿåØ""Y§®Ý¹pá"CžLíZµÌi‘ÿİá#²½h ÀÓÏ<‹««+=Ú—F ˜Ó"""""Š Îÿ %Jðñ¼9æð¿â¿[D¤ [²ðsHDä?7îG™×³µñ˜q¼:é%Nœ<ÉÌY©à,""""ž Î"""""ÿ1GG's€ŠÊãêêJ-??RSÒ—J)ÈTp) žú4d,—6@~‘{€.(""""RÀÙÛÛb‹ˆˆˆˆ8*8‹ˆˆˆˆˆˆˆˆˆH¾PÁYDDDDDDDDDDò… Î""""""""""’/Tp‘|¡‚³ˆˆˆˆˆˆˆˆˆˆä œEDDDDDDDDD$_¨à,""""""""""ùBgÉ*8‹ˆˆˆˆˆˆˆˆˆH¾PÁYDDDDDDDDDDò… Î""""""""""’/Tp‘|¡‚³ˆˆˆˆˆˆˆˆˆˆä œEDDDDDDDDD$_¨à,""""""""""ùBgÉ*8‹ˆˆˆˆˆˆˆˆˆH¾PÁYDDDDDDDDDDò… Î""""""""""’/Í)8ÞšüK–.'Íb!:&†û÷âââbn&"""""""""R h†söÂó#ÙòóF¾þòssªÀèÒ­'ýuší;vðìs#­qÃ0Xµz :u¥cç®6}²:sö,þA¼úÚÖXrr23gÍ&¢ejÖ®KóVmX¼d©M?)xTp–»výúubcc)_¾Û·ï¤^h¨57cæ,>ùô3š5kjÓÇlâK“¨R¹ŠMÌÞÞžññL}o {vngܘѼ0fgϳi'"""""""""‹ ÎyèØ¹+Á¡á…†±nýš5oEHX6ýô3'Nžä±Ç›F]« IDATF³æ­˜;oMÿÈÈã<ÜûC §_ÿAX,kþëo¾¥Eë¶Ô ¡K·žüºm»MÿœìÝû!a$''[cÇŽEâçÀÕ«× Ž-7­Û¶çþˆ»r…ÖmÛ3gÞ¶¼¬Yµœ9sçcggÇ€þýhШ)ë×®²öwtLi¥¥¥™z¦»rõ*ïLyO>žÇW_kN[¥¥¥ñõ7ßáîᎿmsZDDDDDDDDD Íp¾O H‘"…qppÀÉɉŸÙLZšÁsÇáèèˆOèÑ+WYûT­R…]»vqäÈQ©Vµª5·xÉRzvïFíZµ°··§e‹æ²½{áááÁéÓgHLJ´.OñËæÍÔ­S—"E S­jÕô53–™èÚ¥3ÃGŽ¢}»û©åçÇú Ù³w/“^Ê}æoV]»tfñÒe=zŒóf[ã÷ØòrâäI*WªÀÑcÇhØ ¾¹IŽ&NÇÄ ã¬÷ßxk2–ÔTÆÀ™³g9yò$µüüpuueÿ￳yËV&Œ›e/""""÷]‡BDDDDþ?QÁ9§OŸ¦ÿÀÁDe,qѾcJy{³`þ|}|puuåÓóxkòZµiG|BåË—ã…‘#¬EÝ+VñÜÈHJJÂÓ³$“^šˆ··75dÔÈçxæÙçˆŽŽ¡Bùò̘> Êðêko°fÝ:bcckИ%ŠóÎÛoþ_{÷&W]èü³Ù„l ¤‡Pîï•i@HBIRÄbA¤7A¯^ *Š Ø@ð"‚R%´:\)Ò¤I - ¤g7ûû#»“ÉavIà@¼^Ïsž™ó=gΙÝÙ'¼9ûlòÉO&IvÞqTN8ñ¤¬½öÚÙpƒÅS~¼Ýçöfžzê鬷޺I’'žx2ëo°äüÏ<øP¾ùßßάY³2uê´ì4zl6Þh£üüg?Yb¿ZóÛß™‡y$óæÍËšäÀöÏ®cFwÞCê ·­÷«—UK}ÕÒ1ÉJI:%éܲ4üóžûÿ±ÞºëT®m÷Ü{o¶Úr‹$ÉwÞ•­¶Ü"ݺv-î+œ™³få®Þ-—Ó”`wÜyW†o·mq€÷±Öƒ¶^¬úfž|ê™l¾é'6M2'ɼ$ó“,HÒXµ,¬Zš K«ÊýUƒð– ΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œ(…à @)gJ!8P Á€RΔBp ‚3¥èXà1gΜâï°.]º‡€wà ð.@ß=?¼ûL©@)gJ!8P Áà=âÑGMcccqø ó裇–;Áà=âoû[N9å”4557U455å”SNÉ…^XÜ°Ü ÎïÇ{l^}õÕœvÚiinn.nNsss~ùË_fúôé9æ˜cŠ›—É‹¯ÍͰSnÎÜ‹âöÜM9èüû²åoÈn¿ùG’äʇ^̶?¿9[ÿäÆ\ûÈK…#¼QÇâËGCCC¾ûÝïæ¸ãŽËgœ‘ƒ:(uuuIKl>ãŒ32yòäœp ihh(>¼â·=“S¯"êêRW—ôíÞ9C×·]7ýºwN²hì¿wÜ0 ê“$—Þ?9¯¼>/·³m6' ››s•䧻Ìàõú¤iá’ü_ÏÏÈgϺ3õ-ϯG—NùÄZ=óµ!ëdà€Kì |p¸Âà=¤k×®9þøãóØc嬳ÎJsssš››sæ™gæñÇÏ÷¾÷½tíÚµø°7º~¿<øÝ¹ï;;ä÷_Ø$óf÷ßÞž—^››$騡.;þ¿Õ*û?÷êìü×€éTß!;vÈô9 òúÜÆ|òC=Ó¡®.êßøÏÆ.êóàwGäïŽÈÅl•zd¿sþ™ÛžœRÜø€xã9°\­¼òÊ9ñÄsï½÷æ‚ .Èù矟ûï¿?'œpBV^yåâîíªïP—õúuÏvû¯l°êÊ9ãæ§“$“¦ÏÉG¿mš6çÔžÈ%÷MμN½5gþß3ùúy÷&IvûÍ?rðù÷Žº¤º$«®Ò¯ Y'_ò‘üðšÅhøòëórØ_ïÏ–'ßm~rc¾ó÷‡òú¼Æ<8iF6ûÑõ•+§'N›~ÿÚ\p÷s•ÇpÞ½9ûÏfÒô9ÙáÔ[sÉ}“2ê´[³åÉ7dÿ?ß“WfÎ«ì ¼7ÎïA=zôÈI'”o¼17ÝtSN<ñÄôèñö¦ªý±ÕsûÓS‹Ã9bûõ³ëÇWÏ®_=×1$_´NÎøì'“$ã”_·Ü_c®žg§ÎÎ 3]I}Ø_ïOßîsËÑÛæº#†fÊÌù9îò‡óÿÖX%ê;äÁÉ3’$×?úr6èß=7>öJ’¤iasî8=ƒÖë›$™'IÒ§ûJ™6k~ºwî˜îNõš½ºdass¦ÏžŸAëöÍÏLË´YóóøË3³Ý†ýó_VÉ?žšš»ž–Áëõ©:r²Ú*‹>ð0I:vèÆ¦…Kl–?Áà ©¹9—Þ?9C×ïWÜTª ïy>­¶rúuºäõyK\U=yúœÔ×ÕeµU2hÝ>¹ÿ¹é¹þ±—3hÝ>éܱC¶Û _nzü•Üþô´ ZwÑt­:ÔÕ-±¼÷Îïc3ç5æþç§çëçÝ›×æ,ÈC>RÜåm›ß´0OO™•\ýh.¾oRŽÛyã$ɪ+wÎàuûäôŸÌü¦…™³ )gÜütvþØjéTß!«÷hÈj=rÞ³ÃÆ«&I¶Û°_nzZš<#[dÉ+œ€÷¾ÅßÀûÆ-O¼’0!êë²Z†l¿aÿœ²çÀ¬ÒЩ¸ë[6gAS>v„ÔÕ%}º­”-Ö鋾¶U>Ò·[eŸ“w˜\ýï ÿÅ-©ïP—¡ë÷Í1#7¬l´nßüížç3lýEW3¯Õ«k:uÈGºuK¯®å=WàÝÑúw‰ÕŸXWX:T-õUKÇ$+%锤sËÒðÏ{îÿÇzë®Su¸¶Ýsï½ÙjË-’$wÜyW¶Úr‹tëÚµ¸Àûœ9sÒ¥K—â0ïåýzÏœ5+wýóîl¹ÅæÅMïŠ;î¼+÷۶8 ÀûXë¿A7ùä'‹›jzò©g²ù¦ŸØ4Éœ$ó’ÌO² IcÕ²°ji.,­*÷M©@)L©ð>òÑï_[*Å#ßY¹ÿNã­¨~^Àò'8¼¼öÝ8°b2¥¥œ(…)5ÞEsæÌ)¼oÎï’.]º‡ÞWL©@)gJ!8P Á€RΔBp ‚3¥xÏ纺ºâ¬Ðü€š÷LpîÖ­kfΜU€ÒÌ™³Ò­[×â0¼¯u,,/ Èó“žOÒœnݺ7À cæÌYy~Òó0`@q¼¯-×à\ý'†½zöL’<ûŸ‰™5˕ά˜êêêÒ­[× 0 ={ô(n€wÔòžÖm¹ç®]M£Ñ½û¢+š{õìY Ï,½™3g¥k×.ÅáwÕr Ϋ¯¶Zžþ¹¬¹æš¦Ñ€m¹Åæ™é/>0Z§u[}µÕ‹›ÞUË58÷hùÃgžýOfÏž]Ü À›¨««K×®]²új«g•UV)n~W-×àœ–èÜžXqu(À[!8P Á€RΔBp ‚3¥œ(…à @)gJѱ8P†{î½·8À{H½ŠCoÛ;œ7Ýd“âï!O>õLqèm3¥¥œ(…à @)gJ!8P Á€RΔBp ‚3¥œYáÿýsÆo[^.ÆŒÝ-wÞõÏâð;æsŸÿBî»ï¾âpM'ÿôg9ûì?‡y›&\w}=ìˆâ0Ë#8zØ9÷Ï燳ϾûeÜW$Izð¡l¶ÅVK,Û Z|H>÷…}òã¾[Ρ‡‘-¶Ú&[n=(ƒ†l›½>óÙœuÖÙ™?~q×åê‘ÿ;O<ùdqøQýšn¹õ ì´ËØüøäŸdÞ¼¹Å]ßïæ×þ~rà׿žõÖ[¿8\ÓØ1£³ÝvÊÃoj¯Ï|6wÜqgqø3}úôÜrë­Åá·åüùúä'>ž}÷ݧ8¼Ì¦L™’¡ÛnŸ™3g7½cÞÉ× %çæ–¥4 ¹óöÿ«,·Þ|ãÛzèá4/lηߑéÓ§/±-I=äàÜyûÿå†ëÆç¿=&·Þvk9ìˆ455w]nÎ=÷Ïyò‰w/þ444äî»îÈ?n»%¿:ý¹ûî{ræÏ.îö®x»_{‡º²~tW,C† ÎÊ+w/×´ñFeíµ×.·ë¡ÊìY³²Å›7½c®»þ†Ü|s¹Áùíþ|µ§oß¾Ù|³M‹ÃËìŠ+¯Ê°¡CÒ½ûÒ}?ËðN¾.À «Ô®[vµ+õÉÕ××/±T»äÒK3jÔÈl3h›Œ»âÊ%¶Uëܹs6Ùd“œ~Úiyúé§3aÂuI’K.½,cwÛ½f€>þû'æœsþ”C=,Ûn¿Cvßc¯Ü{ï½9íô_eÔN;gøˆQ9õ—§WöollÌqß;>cÆî–Fî@&Mš”$™ñÚkùæ·þ;£vÚ%Ãw™/}uÿL›öj~þ‹_榛oÉ)¿85cÆî–ëoXÔ|àÁ|q¿/eûá#²÷g>¿Ät cÆî–ûÿõ¯ìÀÙzмôÒË•mË¢¾¾>ë~dÝ 28Ï<ýleüïãÆe×Oí‘á;ŒÌA’É/¼PÙ6fìn¹êª«ó¹Ï!ƒ‡n›ý80O>õd¾qÌ7³íö;d—1c3~üµ•ý§Ly%Çû­l7|‡ 1*ß?á¤Ê•œm}íí¿èõ™¯ç ƒÉð£²çÞŸÉ­·ÞVÙvü÷OÌß/¿<ß;þ„ ºm®¾f|&>÷\9ìðì´ËØŒµS¾sÜw³`Á‚$Éä^Ș±»UοÝðrÈa‡gÊ”)•cþë_ÿÊ~_þJ¶2,#wÜ)®»¾²íß>š/ìûÅl?|DöÜû3•)/ššš²ë§öÈE_RÙ·Zë1‡m7<;“³ÏþS𛽅&¿ðB>µÇž¹ãλ²û{e÷=öJ SxÌ;/'žôÃŒµSFÝ59ÿü|ú3ŸË³Ï.úžVO=²4_c’\vù¸Œ=::tȸ+®Èqßý^~tòÉÙa䎹ãNùë_/ÌÕ׌ϮŸÚ#öžÃ¨õý­VëçkÜWä¤ü(çþù¼ŒµSNúÁ’vžï>ûî÷†ïÛ÷ûR.¸àowÅùÊþTƧNš£¿ql†ï02»Œ›¿\pAe[{ÏõòËÇeìØ±I²Ì¯õŠö;øàXÖàÜz%skX.50/­™3gæ†oʘѻäS»ŽÍe—ý½¸Ë¬¼r÷ 4(wýsQL0`@6Ût“tèPû%øó_ÎÏ7Ž>*×OŸÁƒç CKCCC®ºb\Îþ㙹èâ‹òÐÃ$I:vì˜GŽÌE^ñW_™¾}ûä<'Iò׿þ-IrÕ—gµ×䘣JïÞ½rÔ‘‡gà 7ÈÑG‘q—_–áÛo—W_}5‡yT>ÿùÏç†ë'äÀ¿–cŽýf¦M{µò¼Núáòµý¿šë'ŒOÿþý*ãË¢©©)O>õdn¾ù– ¼M’äλþ™ÓNûUN=åg¹nÂø¬¿þùö·¿³Äã.¹ô²üî·¿Í„ñW§±©1ûî÷•ì¹ç¹é†ërèÁç¤þ¨ð¿qì·Ò§Oï\sÕ•¹âòË2uÚÔœxÒ’¤æ×¾4ç¯6aÂu9öØcrý„ñ9úÈ#ò­oÿO^|ñ¥Êö_ýú78p`Æ_}ev¾}úôî/î»o®¸üÒ\rÑ…yøá‡+ÿó!I^xñÅÜß¿ò×óÿ’k®Z4µËÙZ4ÿñÔ©SsØGe·]Çæ–¯Ï¹úS¶Ø|³ÊcoºùæüúôÓrÃõ²ãÈ‘ùÁNNZÂþf›l’5×\³²o«©S§åð#ÎÞ{핯Ÿ³ÎüC.ºäâ\tÑÅ•}^zéåœ{î¹ùùÏ–¿œ÷ç%Ÿ$¿ûýï3qâÄ\zñ…¹ôâ‹2ù…òôÓOw«hïkL’¹sçfÂu×eì˜Ñ•±kÆ_›-6ß"×]{Mþû[ßÌ)¿øE®p]Î?ïÜ\}å¸L:5_zieÿüXþðûßåÚk®Î^{î™ÿä§I’ûî¿?ãÇ_›¿]p~®¿îÚüüg?ÍlQ£FæS»íš‘#FdÜå—åˆÃ]ª÷Añû[­ÖÏWZ¾O'NÌ_ÏÿKŽùÆ‘I;Ïwì˜Ñ¹òê«+ÇœøÜsyü‰'³ãŽ#+c­ŽýÖ·³êj«æÚñWç÷¿ýMÎ:ëìüã·W¶×z®÷Ýw_›š²Ù¦›Tö[–×zEû¬ª[ï[žÑ¢vm­­­´5Þ¦?œyVFí´óËãO<±Ä>sçÎ]bçƒ>¤²íª«®Î–[lž>}úd“M›»ï¹§êѵõìÙ33f¼–$Ùr‹ÍóÝãþ'uuuÅÝ’$Û–µ×^;õõõ¾ý¶ijjÊ÷Ý'õõõùÐZke½u×ÍsÏ=WÙРmÒ¹sCêëë³õ6[gÒäÉI’µÖZ+>ôPn½í¶477ç£o\u–%Ýrë­Y}Õ3rÄIËsèÝ»Wî¼ë®Ê>{ìþ©l¾Ù¦éÚµk›Ï½-sçÎÍ6ƒ‡f›ÁCó…}öËþ_ýJvÛu×$ÉW^™]vÞ9ë|dÔÕÕåóŸûlzø‘¼òÊâ+÷Øc÷¬¼r÷téÒ%C¶” 7Ü [m¹E’d»í†eΜ9™6mjþ3qb~ø‘zÈÁéܹsºté’Ã;$7Þts›óÕ.Íù«m;lXÖþð‡“$[oµU6ÚhÃÜvÛ⫝̸?>p`öØ}·tëÖ-:uJ·nݲùf›¦¾¾>+¯Ü=¬|Z}õ+_JCCçtîÜ-„¸ý‚IDATm‡ ˳Ï,ºRøæ[nÍ:k8»íºk:vì˜UWíŸ=zT·ÛØ1•õ¶ß~‰Ÿ‹ãŽûNå5ªvó-·d­5×ÌN;í˜:dõÕVË÷Ù'—[‚“dþüù9üðóö‡?œ††ÎK<>I®0!_þÒ~éÞ½{:uꔯ~ùËÅ]Þ ­¯1I&\w]>ºñFYc5*ck®9 l‡ šúúúì½×žéÚµkºvíš-7ß"ÏM|¾²ÿ'?ñ‰ôîÝ+I2xð6™Üò÷ë×/3gÍÌßÇËìÙ³ó¡µÖÊ*+¯\y\µ¥y¿¿K£®®.ß<ö˜ôîÝ+;7$í<ß‘£Fæ±G«\5|Í5ã3tÈàôìÙ³êˆÉóÏOÊ<8 õõõ0`@¶6,7ÜxSeŸZÏõï—_‘±cF/ñ^Ö×zEø¬0–¹ñ¶¥cq  ÍIÚ+ Å+ŸÛõùÏ}6{î±ûc‡vøë ¹í–ÅѦÚÅ—\–I“ŸÏð£’$sæÌÉ%—\šÍ6m^ÕÉ“'¥OŸÞÅášzõ^–:­´Rºuë–ÎG¿úŽÒظhJ†)S¦ä̳þ˜G{,inÎô3Ò¿ÿªI’v•«¬’sþ÷Üü씟ç+_þr>µÛ¢È[ôò˯ä™gžÍ¨v®ŒÍ;/³ª"í:^¶9y«µ¾¦óæÍË{}z‰iJ^yù•Ü|ó-íâ?ùohhÈŒ×^K¿~ý“$½z- sIÒi¥NéÝsñzÇŽ‹BڂƦ¼úê«éÖ­[ºuëVÙ>`Y¸pa¦OŸQsÎÚ¥9µb¬ì×·O^ªŠÓk¯³äëôÐÃäÜsÏÍK/½”ÔÕeÒ¤ÉYsÏ=–اÿÅç騱> ]­=uêԚϡժ«.ú^'I}ÇŽ5§i)zuÚ«Kœ/IÖXcL6u‰±uÖ^Õk™2ejúõï[Yïٳ禞)jëkL’¿ÿ}\ö(¼/{õZü~éСCêëëÓ»÷â±úNõillLZ®œ?çœÿÍ?î¸#M ² ±±2EȇÖZ+üÃrÖ9ç䬳ÎΘѣsÐd¥•Vª«ÕÒ¼Šßߥ±æZk¦cÇÅ¿òÚ{¾=VY%C‡ ÎUW_“ý¿ú•\sÍøuäUG[¤õˆìùéOWÆÌ_­¶Þª²^|®³gÏÎ 7Þ˜ ÿºxê,ãk½¢üÎVÅ+›«×ßÔÒç¶bó2Ÿ¬U×®]Ó§OŸ%Æêë—æ©$<ð@^ŸùZ.¹è¢ÊØÔiSó•ýÈ«¯¾ºD­öâ‹/åö;îÌI'~¿¸©¦e¹’ïøNÌj«®–ßýæŒtîÜ9_rYÆ_»x>ãm¶Ù:Ûl³uù÷¿sØáGf­µÖ\Ç çèÛ·o>ºñÆ9ó¿[b¼Z]S€,‹Î;çàƒÊ©§–¡C‡¤¡¡!}ûõÍg?±w<`ñÜ´EKûš XcõÌœ933^{-=VY%IòÂäR__ŸUWm žÅ¯})Î_íåÂÜÃ/½òJ~|`e½C‡ÅÇŸ?~>äÐuäá;fLêêêòíÿ9®²½U[Ó«ôîÕ;“&-¾²´¨C‡ö#o-k X#×]¿xè$yñųÆê‹¯.N;Ï)Iz÷î“W^ž’õÖ]/Iòúë3ß4v·u¼ÿLœ˜§ž~*Ûo7l‰ñ¥ýž§åén¸éÆœþË_¦wï^yö?ÿÉž{í]Ù¾ÎGÖÉI'|?S§NÍ7¾ù­œ}ΟrÀ×öãÏÂR¼ª¿¿5ÕxÞÅš|³ç;fôèüâÔ_fРm2{Μl]‘[õéÛ7õõõ¹ü²K—øRÕŠÏõšñ×fàÀ-~/´X–×zEû¬PŠÝ·¸Þ®·[ª¯l^ê+œ—VSSÓKZ®n=z—ôï߯²l¼ÑFùÄÀÕüðÀ©S§å¦›oÎÁ‡šÍ7Û,C‡ IZ¦àøÑ\¹¢ñíxåå)Ùx£Ò¹sçÌ;/×V…ŸÇŸx2Ó§OOZ®òì±Ê*™5kV’¤WÏžyô±Ç“–U6thž~úé\>îŠ466¦©©)?þDæÎ[9^Yv52ýúöÍYgŸ$½Ë.¹ä’Ëòহ¹9óæÍÍC=\|ØRéׯ¶Þj«üöw¿Ïüùó3wîÜüᬳ2räˆÊ”ů}YÏË-·æß>šæææÜzëmyìÑÇ2tð¢ïmÑìÙ³3{öì||àÀÔÕÕeò /äî»ï.îÖ¦!CgâsÏçêkÆgáÂ…™1cF»hXíG'Ÿœ»þùÆs <(Ó^}µò!r/½ôr.¸ðÂŒ³Kq×6í°ývùÓÿž›Y³fµ\­»x>æe5îòq9rDeª‰·âå)Sòá}(½{÷Jsss®¨z?¾øâK™Ø2ÕHÏž=³ækdÖÌE={ä©§ŸJccciïƒâÏW-í=ß$Ùj«-3sÖìœuÖÙÙe§j^=þ¡µÖÊG?úÑüüÔS3kÖ¬477gò /,1ŸxÑåãÆeì˜1Åáe²"þÎÞ³–¦í¶·m íç¶ÒÖÉk½esçÎÍ–[ª,C†m—×^=×]CÆì²øCÍZí:vl.½ì²J@>ýW¿Î–[Êî{Ï>'ŸÞk¯üô'?®\EøÂ /äî»ïm3F-‹o|㨜ÿ·¿æóû웣Ž>:#GŒ¨l{üñÇòù}öÍÈwʾ_üRm³M”$Ùoß}rÛm·eøˆQ?þÚôîÝ+¿úÕiwÅ•Ùnøˆì0rT~zÊÏ3oþüª³•£®®.GyDÎ;ïü<ÿü¤lµå9êˆÃs˜!öË豟ʥKñaŒm9ñ„ã3cÆŒŒÙu·ì¶û^éÚµ[¾yÌ7*Û‹_û²žÿÐCÉi§ž¡ÛnŸŸŸzjN<áûYsÍÅÝ’–Àyä‡å°#ŽÊ~_þJN;íôŒýÆŸ¡¶ôïß/§üì§9ï/ÉaÛg¯½?“G}´¸Û,\¸0÷Ü}o^|ñÅâ¦tïÞ=§ÿòÔ\rÉ¥>bT¾öõ3vôèe ‘ôõ¬¾úêÙm÷=³÷g>—kxKÁ¸©©)W\uuÆŽ[Ü´LöýÂ2eê´ìùéÏä«_ûzÖúÐZYyåEӧ̘1#Gsl†•Oí¾gfÏž“/~qß$ÉÎ;휎õ3rÔNùÉOVÊû øóUK{Ï7-ú8zçsó-·´û?~zò3s欌»k†m7°xÀâ(.¬Zçg®µ´¥Ímµ‚s{ڊέG»Â`ÅQý¡€ÅÐ\݃—ÊÒçâIªCs1:°bh*Dçêæ»Ì–68§Fá.†æ¦–€CñãÖ±êíK­½ ,¨®j¼¸˜R`ÅÓz…s±ù¶.©±Þ¦·r…sõýêм0Icá1¼wµç¦6Âò›Fæjí]á\Kõ ¶\õÜúdê’ÔuìØ)O>õLñq¼‡tìØ)US%·^T\Ý€—)6§jšŒÖÛju…íu-WD·ÞvHRßrÛ±å~õm§–Ûê¥u[ëã«—Ös´÷œ>èŠQ¸ú"áꥩeVŠÖÛÆ$ ZÖTµîS}µsk|n½­>oQe¬õ çÖbäm.Œ¼°e½õÃk=¾u¿¦–àÜXª‹!»›‹Çø «n´­·ÕW&·ÞoÆU·Õñ¹50¯n.^å\vñ>‹UÇßÖûÕ‘¸Ž«—ê¸ÜVh®>NõmµZcm†Ýâx­\ŒÅo¶÷«uŒjÅuÞ{«Ãpñ~­õÖea˶ÖÛâþ­Ú:ß´ukWµŒ‹÷‹ëµîWß¶*®°X1úCq1ïW/µöiU¨jÅÞâX1crq½Ömñ~µ¶ÆÛ ºmmk/:×kë¶x¿½1–T+üÖ ÆµnÛÛ¯x¿Z[ãÉRÄݶ¶ÇkEäZcíÝ/joÀU{Ñ·­h\ŒÊµ¶µµÞª­ñŠ¥‰ºííSÜÖVLno¿ZÞl;ÀÙ›Åß¶‚r[÷k­Wko[ÅÒ†Ýöö«µ­8V\¯ÖÞ6–N[Q¸8^\ok¬U{Û–P_hÇÒ„á¥Ù§h©Ÿ,5µ×YÛÚÖÖxµ¥Ù§bY‚s–1(/˾¼5Ë…ß©}“·…ßêãò6 À›[æX\å-?¶Œø[Æ1X~Þrd®öNÅâw긼=¥ÄåZ–g^žçx?zÇb2|ý¡ ùÜi‚IEND®B`‚qgit-qgit-2.11/screenshots/qgit_tree_view.png000066400000000000000000010670221500324541100214310ustar00rootroot00000000000000‰PNG  IHDRœñ~mh pHYsÄÄ•+tEXtlogicalX630.313ºîDÅtEXtlogicalY208.112›½©IzTXtwindowTitle™Ó/K,ÒÏÈÏMÕ/ÉÌÕ/(ÊÏJM.)Ö/-(.)JMÌÕ/LÏ,QˆÎM,.I-ŠUÐUtÏ,¦-~Ò]ë IDATx^ìÝwxSeÆñošNÊ(”²eï!²A6”%CA\ì¡2eË’¡/ ¨¸Pq±Ù"[ lÊžÚBKWš÷¶!9$m–åý¹®\M~Ï™œ=¹óä9 """"""""""’LÆÂ}ô ×-"""""""""ò8² ÷Sz…¾éµ\¹7éJ§E0œË‘'MBè» ‹ïv>îq^IÙ½Èw=w2}zM+""""""""""·ÜI@œ^Ó½©™ÖÕ4®êIRjçR †]µ»ªÛKÍ46© z“›ÎY›±f|m/¹6IYrÁ°±ÍøÚU-IrmRö&7±Íþµ«çÎ^;“šiDDDDDDDDDDþkR €íö¯]=wöÚ^rm6)…º®Úugá²³šñ¹³×ö’kù¯I.øu&;{î¬æêuWu›ä]WmÎÂãäjÆ¿É=O®&"""""""""" œ…¿ÎBä”þ¦T3rU‡d‚ÝÔÔA²ý_gµäþ&1¾Nâª."""""""""ò_à*è5Öá±õjöÏí¹ªãn,$ÃUØœÚçÎjöŒ¯]ÕDDDDDDDDDDþ«œ…½Æš1P¶ŸøÜäb>ûº³i’•ÚÀÙ>øuCeg7'óÙÿMb|-""""""""""·ƒ`W³ña²{ž>'ÕíŸßUèì,pN.쵈Á±É(§ôÚ~>ûeŸ‹ˆˆˆˆˆˆˆˆˆˆ#ûØ0Û?O –½Nb±{Ž“ÐÙÈe›³ÀÙÈÛÈÆGR lÿ7éaœ&éáj=öœÕDDDDDDDDDDþ+œ¼öárÒ_ûçöAs¼Ýk“¡w³ÙîuûÐ9éoŠR œA¯}Pl|؇Ën€[·nÝתS·IdDdD¥Ê•k–%""""""""""÷Á®;·dðÍàûç† ¿ÏŸ÷É»\7)ˆvs:'IUèì,PvöÚþ¯1d6†ÍfOOOïõn>–ÍÏÏËÝݳ»Ùn‘""""""""""r¿Yâ,Xââ¬W®]‹®W§f¡ØØØ(»ÀÙþ‘Ô+ÚYj{Æ×.fãkcÐlÿ0ۇ̀yóÖ¿NåÌà忦 YDDDDDDDDDäab‰‹ãÒ娚5ªæK¿9Þî¯1pv<'1¾Æ˜ÛÎÆ°9é¹q¸Aƒ†µ=<<ì%""""""""""777<=ÝÍ>2fÛ²yÓ:c{¢¤0ÙYfì’›± cðl8Û‚çZuê6vwOihhyPÌfwS£ÀÀ†,œeÀw$)v5£±n¿ûñ›m=œ##"#’³Ù3*˜Ìáàyó$Ä[ˆöÌÅõ¬Äd(aœTDDDDDDDDDDÒ»»;^ÞÞ^‰¹®q 7»Z““!4’²b[ÝUWdû 9)d6&ÛIûàÙ­RåÊÕíæuÍrßðµyk|,X­xGćëDû<ÏeSqã,)Ú¹k'Å‹#s–,Ʀۜ¥K—lmâÂ… Ó§†ý2ÓBdd$otën,§JXX(û÷ï7–JëcÌ®?½LœøÛ¶m7–SÅøo¿qãF‡ö$+W­¢m»èÕ»Ošwg\­?%ýß|‹;uâ›o›’µk×.úöëO§—:ób§NüoÚ‡DDD8L³s×NÞ0;v¢Ã‹éÛ¯¿í}cÿºÛm‘ÇömÛùí·Û³Íß~û펮ÕΟ;O—®]éÒµ«-xN­:´gܸ‰ìÝ·—½ûö2nÜD^èÐÞ8™3öc8'ÏØeÀw$¹ÎÆ4;©fßf¿!ÉΞ±‰w÷Ç &ß'0ëŠÕjÅ~S†œÄÇ^ÃÃeœí6'Nœ`î¼ù\ ÅÉÍ‘#†Q¹Re㤷Yøí·;vÌX H‘"Ô©SÛX‘ÿˆÕ«WÓ¯__cù®íÞ½‡"… “9sfcÓ}e¿ÏšMóçž#GŽ <ˆ€€ã,)Jë}Ë!ãÆ5–SeÓ¦-„††R®\9cÓmÒús‡ëO‘‘‘üý÷ß 2ØØ”*öÿögÏžeù¯¿R»¶ókâºuëзOoc9ÍÄ[,Ì›ÿ©Ëõ'gú‡Óøá‡‰‰‰16¹tôèQ&O™Â˜Ñ£)]º4ñ Ÿ/XÀ˜1c™:u2[·ncÖ¬Y :„2eÊ@b˜¤÷MÒ{è^¶]DDD ägÆÌ™ÄÄÄÒªUK/^¢~àƒ÷§'wêü¹ó 4ˆÞ½z0`Ð >˜:5Õ=Ë?Yž‘#‡1zLÂõÝ»cFÙz;§ )d¶ÿo×n “íõœ\àld ›dg«ˆ» €[Ñ.X.®Ç퉦X/l!þFBìårv›† rèŸX²d&77FN­ZµŒ“‰ˆˆˆ¤Úùó牺E‘Â…éÑ£'o¿ýÅ‹'Ü[bò”)”)S–J*0åý©ÄÅYˆ‰¡wïÞ”+W–Í[¶°ÿ.]ºÄ¡C‡øtþ<2dÈÀšµklh[ÇúuëÙ½gW¯]¥Ù3ÏСC¶mÝÆ—_ELl,Ù²feÀ€äÌ‘ƒÍ[¶°iÓ&"#"9wþÅbaôÈ‘¶nÜÈÓ5kàf6Ê”©r9ÿldóÏFµªÕ¨]»GeÚ‡&J–,É‘#‡™8~Ìœ9Ÿ`±$ÔÈú?Ösá DÙ²ex¥kW—ç‚ñÜJz/܉%K—Òªe+J—. €›ÙL×®]yùå®=ú/ÅŠeÁ‚/èÛ¯¯-l&±£J’¤÷ÐÊ•+oÛvùoÉ;7LÊ€AƒlµE?üçN90>>!lnß®-°&)t~?u˸I=œíÃfûÜ7Ù€Ù(µ³1l¶n¿1nvó8ˆrÏïÍ£`‰Â”¹–cŸ`ÎX"/{æ'<¢!Â'å›öíÞ½‡õëÿ eËælܸÉöa05:¾ø"a.~˜%z興ˆÈ£gÍšµ6 qãF¬[»Žâŋ͎»èÝ«7>>ÞLž4 OOO‚‚vóÝ÷ßS®\Y~ûmÆcÔÈ„!º¢¢¢Ø·o?Þ~Û¶Ž8‹…§ýˆˆº¼Ü•æÍ›ÍôfòÑÌ™øgËÆêÕkxê¶Þ•;wîä³Ï>#£¯/Cßy‡U«W1eÊ$b¢£éôRgÚ¶mCdd$ß,\ÈŒéÓñööböìÙ,^¼˜:8l‡»»;¿¯\I—Î]([öVx–䨱côíÓ›Þ½zñÍ7 ™úþûÌŸ7Œ}2t(;wî¢zõjN÷íߣÿ2í`†ƺuëiÔ(¬VÖ­[ǧóçáááÁœÙsÈ‘ƒ¡C‡uó&ýÞ|‹âE‹R¨PaÛ²BBB\îÏĉïñú«¯Q½Fuâââpww§q`#:uêÀ¡Cùè£dÉâGtt4žžž`8Æ)q¶?åž,ÇîÝ»™?/aHŽèèh¼¼¼n[?ÀO?ÿÌ”)SðÏ–7r™YŒÅb¡o¿þT®T‰Ò¥KÓ¾};[Púæ[osäÈQJ”(V+11±Lÿpä­·ßfæÌ”,Q‚… ¿eéòåtïö«W¯±=_°à J–(Açñã ãÕ×»Q­j5&MžLï^½©X±{÷íeÙ²„P>‰——]»¾Ì—_}É”É ç_²R¹9ræpú¾Y¶tÏ·nM:µ±X,-ú:¿ü²ØÖ(¹sÁxnÝ“'NR¯^]‡šÙl¦hÑ¢>NÁ‚8qòO•O¹WЯ;n»ˆˆˆü7åΓ:wIüòùË RÝ;ùäÉS¼Ô©#Íš5³ÕZµj‰§§'OžJUàœ4ŒÆ»cF0nÜDFŽ–š^Î) §qG¡sjg{öé¶}èl¿A· ÏPŸ›ÿvSÆÄß<W·aö+çwo5q#Û­PgB.‡0~ÂF N… OQªdI®_¿nûYhJÆo,9ÐMEDDþ›Ö­[Ïû$E 4 Wï>¼Ñí ¶nÛFÅ O‘1£/§NŸæ»ï¾#::š›‘7¹~ã†mþ%ŠÙÂg€M›6S­jU[`€:‰½E}}}É™3W¯]å䉓”.U ÿlÙhР>ÿ›6ÍÀ•,UŠL3P°@òæÍ‹››Þ>>Æá£G ½ÆðÄûQܼy“'Ÿ|\l‡+>>l½8 *HéҥȘÑ7áu„†^ˬR¥fsÂ/ÕêÕ­Ë¡C'Î@Ë-m`О= 6 ojժɮ  ‡ÀùÀÁƒN÷çÚµPBCé^£:€Ë}jÙ²ƒ¥E‹6l`«Ûã”8ÛŸÀÀ†äÏ_€!C‡ÒºUkªV­bœÍ¦~ýú¶cº{w‡ÿ9€ =]bbc ¹Ào+~gßÞ½¸{¸sñÒE¯ßêQ¥JÂò ,Hæ,Y(Y¢ `ãÆM\ºt‰°°P[Œÿ¶Ý—$s–,¶s2<<œ°°ëT¬Xj™%‹÷*5ÛxöÜ9§ï›ÆM1mÚt‚ƒƒyî¹gñ÷÷·[rWçBûsën™œ||±Z­˜ÝÌX­VL&“í\;xð ï½7‰˜Ø:wîLóçž3Î*"""Bî<¹ùrÁÛóÔª^=¡£€‘}’ï¿[ä09Œï¿[”šÀÙ˜õÚ‡ÍwÌÙ•ºqaö¯“žWžâ†ÄùârDmŽ~ƒ)דÄ[c d ³?q×sÅï9,Y~ÎæJ6ÿl|2{6Ù²CâðwbþܹDÇDËxyzK"""òpðàAræÊi ýüü(R¤0{÷îcݺu´hÑ€wǼK¯^½¨T©"GþËŒ™3mËð3„w«×¬æå.]j^‰C\$0aµ&ôz6rw¿5Ę·áúÄ®Y­V¬V+%J–dÜ»ï:´áb;\ñöNè œÄÓÃñµÕšÐ¡ÁÙ2-–[Ã»ÅÆÆ:\fñËb{n‰‹³=Oâá~û>9ÛŸ«×ï”´mÛ–úõë³lùrzõêÃÌ™Ó9qâ„Ã16™/Y£¢¯íÉdbÔÈ;vŒï¾ûž•+W2ztBÏ#û0×jµòì³MiÓ¦Ã4lØÀÖ­[˜8aŒ=Ú¡ÝËûÖ±÷4†ª‰ÇbÍšµÚ][­öÃìÙœøãC«“ɱCŠýyv·R³®Þ7åŸ,ϜٳY·n-o½=€w†¡T©R†E8?’ØŸ[®íæÃÓèѽ;Oרak+X° ‡¡R¥J¶šÅbáØ±ctéÒOOOrçÊÍ?ÿüCéÒ¥)S¦ _ýŸÌGLl¬m£; šÓÒĉ^—²|jÂfì:3Þ¤çV»¿IŒ¯m\á„qEö¤ÎÉ^¹Æää¼oS®ž9H¤Å‹›×b9¾‹yû›÷yãä·qss³…Íw£@Á/^Üé£@Á”‡ó‘ÇÏš5kl½q“4nÔˆ•«VqâÄI*V¨À•«W)^"¡'é®];¦·wåÊ._ ± ›œråÊñ÷߇¸rõ*$öÂ-[¦œ­wmj”+S–ýûösòÄIâââwº^ÞÞ„…‡ÙÍ}gœ-`ÛöíÄ[,ÄÇdzáÏ”)ã|ß+W®Äšµk!qؑ͛¶P¡ÂSÓ¸ÚŸlY³’1£/;ÿíãââˆÇÛÛ‹p»}  Ãßߟ®/¿LÖlY9}úômÇ8kÖ¬œ¿pÁözÏž=¶ç¸ØŸèèh¢¢¢)R¤ƒ dïÞ½X­ÖÛÖoT¡BEV­ZCDD×oÜ &&†+W¯R¨PA<<<¸q#‚Ãÿücœ5Ek×­uè€QªTiþØð<ø7$övÎ蛉ýûpäÈ®&žsö¼¼¼s>üÜÝrõ¾  ÃÛÛ‹fÍšÑ(0½ûöCâ—*I½ ] w¢bÅ |¹`_.Xà6´hÑ‚ÅKsèÐ!H¼iá‚ È“7mœæöíÛòáôœ={Öa^gì·]DDDäã,pNʂÎöŒ vöÚ~Œí·‰ÏT”ÈLEe‘û...Žíí {÷õ5j0}ÆG4}¦ nn ßÏ¿Òõe†A¶¬Y)[¶ŒËPxíÚuÔoPÏXvÊ?[6úöíÃðaÃq3»‘5k6Þ~ûMãdÉÊ0nÂx¬ñVÜÌfúôéÅáŽÜ¶­Z´äÃ?dÑ¢˜þá4‡¶Ôpµo¹sçbÈÐa„…‡Q¶lYêׯoœ€®]_fÚ‡3èÖ½nnn<÷\3J—.Í a,ÉìOù'Ë3|Ø0¦Ï˜ÎìYspw÷`úôiÔ®]›Q£ÇУg/† ÄüùŸrõÚUÌf3Å‹£P¡B·ãJ*°bÅ BÆŒ™Èž=7oÞêåìl®^¹ÊˆQ£0›†ZxåÕW1™L·­ß¨NÚœ8y‚ž½zãéé·Æ£aýúŒ7ŽQ£GãíåMåÊ•³&ëðá#dËêO@@€­öÊ+]™2e Ý»÷$ Gv ¾5TÉ!ƒ˜>cž+V ÿì·aQ¤p!rçÎÍ+¯¼Æ‹;иQÂøÔ÷ÂÕûfÉÒelÜ´ ooo2dÈÀÁƒx±Ã ôêÙ‹OW§WÏ^.Ï…´P¬XQ† ̬Y³¹rõ*¡¡¡Ô©S‡‘#GÚ¦iÚ´)&“‰1ïŽ%êæM<==ñðôäµ×^uXN¶]DDDä’ԡؘíÚg¾Îz9;å,(¶íohJìÁœôp<ž‰}vìÚ³Ãß?áçŠ""""òx›={6Oä/ÀsϦ~l9£7"xõµWYôý÷Ʀû.-öça1iòj>ý4µÇ·×¶Ý |ýÕx; õâÚÊU«8rä(}ûô66=4~øáGbbbnàx'>™;S'O2vì».¿PyÜ\¹r•*•žzˆb€ØÄG\âÃÄ'>¬‰I|n>ÛžßÍFö½œ]M#""""©¤ñïVDd>2Ë̽îÏCÃn?N:mÛ¯={÷1£oªÃfoví¦o¿þ„_¿nl~àÞ0•«W‘!CÂ.ïÆ¯½JDd$ÏšmlyÜ¥i®›ÜÎVbß#Ú¸!Æ×"""""ÉZ¸ð[Vüþ;íÛµ56IÚ°aë×ÿ—·'nnf `œ$YuêÔ¦NÚÆòCã¼o,Ý17³™§ýÏXù/0v(¶Ï€L) «álfãÂM†›‡ÔHNà ðÞ±kÏv ©!"""""""""òpKRã©Ä!5¢ ©gRÃøHrWCj8cXÛ§ß""""""""""òðKM¶›\›ƒÔήæª.""""""""""gÁ³ñu²R8“ÂBíð䦑‡Kr™nrmN%wÓ@#û…'»¢¬~YŒ%yˆ\¹r5éi²yïHmç$Æ^Ìi¶!""""""""""òÀsß»Ê~ï4pNÉ]m„ˆˆˆˆˆˆˆˆˆˆ<úÒ*p¾ëÄ[DDDDDDDDDD˜4ÍuÓ*p‘ÿ8Î""""""""""’&Ü…ûeWP•*VtùZDzoJxXç.\ ""ÂØ$"""wÁd2áë›\¹r“%sfcócÏÙõ¥®7DDDÒÖƒ¼Þx`³ˆ<º¬V+W®\!4ô±±±Æfy„yxxàç—L&áaa\¹z2¥J’)S&ãä"""r—Âïs,ø8À}ÿø°Ñõ†ˆˆHúxP× œEäŽ]¹r…ؘhÊ–)ƒ‡‡‡±Ya±±±såʲgÏι ôáODD$dΜ‰"… qèð‘ûúða¤ë ‘ôñ ®78Kº°Z­\¹LèµkX,có=1›ÍøeÍJ@öL¦4½‰¦¤Rhè5…Í) *ăÉž=;úð'""’N2eʤ!$@×"""éèA\o(p–tq9ä2×ÃÃñ͘)ÍCak|<×ÃÃÈÃØ,÷All¬ÂæÇ˜‡‡‡†J‘»âf,ˆ¤…Ðk×ðööIó°À俆·OB¯]36‰ˆˆˆˆˆˆˆˆÈ¤ÀYÒ…ÅbÁä–~§—ÉdJó¡:DDDDDDDDDäÞ¤_"(""""""""""ÿ) œEDDDDDDDDD$M(p‘4án,< *W­n,ñÚk¯Ð³{wc9ݱ臙ôÞDcSš8uêþþþøúú›ÒœÕjeéòå,^²”ÁÁÄÅY(R¤0-š7§U˸¥Ñ˜Ì-Z¶6–Xºä—ÛîÅ… È•+—± Àµk׈ŒŒ Ož¼i~“Cgçª3;ÿÚf,Ý“¤õ¦õrEDDDäþ›;o>sçÍ7–êöÆët{ãucùŽY,¾^¸5«×râäI (@`£†¼Ô±#f³Ù8¹ˆˆˆˆMÚ$ˆÀο¶Ù«W®`ÙýÉ'ÆÉÒUPPC‡ §}»¶Æ¦4ãïïÏ©S'‰ˆˆ06¥9“É„o_zõèÁŠ_å—ŸñÚ+]Y±âwzöêÃåË—Œ³Üµ¥K~±=Œ’k».\ äòe.\¸`lâÚµk\¼x¨¨(Ξ=ƒÕj5NrOìÏSãcîœYdË–Õ8Ëc­A`¶l½¿!øÐa#øpÆLcYDDDä‘1wÞüÛ®%]=RL'Çb±Ð£WöìÙÇСCX¹âW†ž=ûèÑ«ÏcsóîºõÙ¼e«±œîÒz½]º¾ÊÂo¿7–ÓÜï+WQ«n}*U©Î’eËͽŸ~þ…^|ÉXv–ûx¯ÇùƒiR¹j ªÖ¨Å©S§Í©–šýþ¯2¾wÒòø‹ü×=²³½~ü‰ý˧Ÿ~NåªÕo{¤‡¤°yÒÄ T¬XÑØœf|}}ÉŸ¿@º†Îö!k`ÃT©\ oo/²g víÚÌ™ý1åÊ•eÄÈ1ÄÇÇ;Ì›VZ´lí´wsZÈ•+Ùnëáœ6*T˜B… ͹sg¦I/öçÏãfÓæÍ´jÓŽ²å+RíéÚ¼ôò+œ9sÆ8Yš¹víëÖÿa,‹ˆˆˆ<6 .ÄŠßWË·YñûJ .d,ß±¯.$cÆŒLû`*eJ—"C† ”)]ŠiL%cF_¾Yø­q–t·ÿÀÚ´{§*Uå¹­ùcßí'Ož¢[ÏÞT©^“*Õkòëo+ÚïÖñà`žmÞŠÁC‡›’U³N}Š–(m{4O§Ï:wcÝú?¨\µ?ýìØÁçüù ôèÕ‡ºõ©× }ú½IHÈ[ûèwÇ2rø0vþµ•fÏ4aÀÀÁûX´DiÂïCâñ0¶ŸðžÝÚ`Óæ-<ß¶=•«Ö Jõš\¸pÑ¡`þ§ŸS´Di.‡„Øj ¿ýžg›·¢fú4oÙú¶ý¸—sÁ¸gΜ¡ó˯P¾bê5hÄâ%KmÓZ,¦Lý€jO×¢zÍÚ¼3l7nÜpX^râããùâ˯iØø*W{š–ÏßêÈöï¿Çøìó/øuÙb6þ±–üùŸ`Óæ-4}®OV¨Lë6íÙà€mú”Ž]jíÝ»¥Ë±ü×ß ñßÚx‹–(M‹ÖmŒ³Þ±Ô£3gÎ0hÑi¢ì IDATÈ;T­Q‹ŠUªÑ¢u[¨ŸÛj<þ"r÷ùÀùN~^–VîWØœ$½Cç¥Ë—³dÙ2cÙÆl6Ó³Gwâããþ›–Ò²G³3É…Í^^^ÄÆÆK† i;tIPP±”nçOPPÕjÔ4–©V£¦ÓíH¡aaôêÓŸvmžgû–,_ú ;u¼íß?-­X¹ŠµëÖËDEEK·IÍ4"""ò`M7ŽÿMûsçÏ›lÎ?Ïÿ¦}È„qãŒMwlÍêµ¼þÚ«Æ2¯½ú*kÖ¬5–ÓUTT¯wëA›çŸ'hÇ6F΀ƒÙ»w/^äÅNiÈÖMرm3Íš>c\ŒSÉ øëo+xù•×È›/¯±)EW®\aû–Mþ{?‡ÿÞÏâŸthOn½éÅjµ2yêûüoÚtòäÍclfÂ{“ð÷÷gÝš•¬^ùLýàDDDpåÊU*U¬ˆÉdÂÃÃ+W˜9}šmÿ½ŸÌ™3r%„âÅŠ9´ {gˆm]ëÖ­gĨ1¼3t;ÿÚÊŽm›É™3‡­àСXº|9¶Ú‘£G™4e*Ó§}Àæ?×3iâFŒcëà’Ò¹àææzEgûøæ€A”-[† Û˜=ë#ÆOxƒÿà‹/¿bã¦M,[ò ëV¯$6.Ž· rXfrÇyòÔX»n_.øŒÛ·°ø§lm§N"_Þ¼äÌ™///BCCéÝ·?Þz“½A;x¹ËKtëÞ‹èèhHáØ‘Â~'‰ŒŒdȰá,XÀV{±C{‡cxøïý´hþõëÕu˜÷N¥æø;s-4”òO–cíªíØÎ+/w¡gï¾DEEÝó¶:;þ"r÷\ÿ×ï!—Ô{ùq›“¤gè¼xÉR¦Ný€å¿þjl²1›Ítî܉¥ÉÓw"©G³³^Íɵ¥…k×®qöÌ2dðÅÓÓ“èèh‚ƒ“3g.²fMÛ!.†îö¦çù3wÞ§Lœ0ÞXfâ„ñÌ›ÿ©±œ.®^½Jtt4-š?‡¯¯/Ù³Ó¤q#ÜÝo ààAZ·mOÕê5iÖ¼%;wî²µ]ºt‰>ýÞ¤Jõ§©ötmÞ>’ë×zI8$Ç® ÝtêÒ•²å+òõ7 ™>}&¿­øM˜<õÛ´®íÞM»©Tµu2ç“y½ü?_ð ›P½f†Íð‘£ùö»EËxDEEÑ­G/öìÙkl²Ù³g/ÝzôRè,""ò+^¬(]:¿Ä¨Qcœga±X9j /wy‰âÅŠ›ï؉“')d:Ù+\¨ Á'NËéj÷ž½xzzÒñÅpss£J•Ê´k׆ÅK>›Ìšý íÛµ¥m›Ö¶ëNû{³ì ¢Mû”y²Õž®Åo+~·µ<ø7MŸkAåª5èØùeŽ?nkóõõeáW_P¾\9[-I\\ïMžJõšµ©Z£#F±]S…†…áææ†¿6Ìf³ía/¹õ^ ¡G¯>T®ZƒÚõðù_:Ì;wþ§Ô©ßª5jñÎð‘·…š?üô3õ›P¹j ºt}•3g~Åi2™(R¸?|¿¿,YæˆŽŽ¦x±b˜Íf<<<(Z¤qqq=ú/]^y €ÖmÛÑõµ7 ¹B®œ9îcHÈräÌáÐf¿“ßÿ€÷&Œ£JåJ¶šý1‹ŠŠbÀ !Œö±±±¶ztt4^^^*T€bÅŠâîn&>>áz>¥sÁÍÍÌè1c©^³6µêÖgÖìO°Z­N÷ñÌ™3<ø7ýúôÁl6Sªd ž{îY~Y¼€ÕkÖÒ¥Kgr!CFÎÆM› µ­ÏÕq¾tù2?þø͘NÞ< áÒvþ¶âwÆNx“§NQ·~ Óg|Äšµë)Y¢ `2™hÕ²~Yýøsã&HæØ%qµßöÆŒO«–-È–-›­f2™ŽáùóçY³v]^º5D‡«ódÞ{Éÿ¸¸8 BÝúT©^“_âôé„!EÊ•-ËK:’)SÂM7"22’ðë×Sµ­®Þ;ÎŽ¿ˆÜ›G6p6ŽUæê‘–Ò3,Lô O3oîfÍžÃîÝ»ÍÄÅÅqîüyJ—*ɱc·.„î–ýÍÆ^ÍÆ6cû½J ›ÂÃÂ8}útš†ÍÆ¡\†L¿7ß&((ˆ   ú½ù6C‡ Nóóg÷ž=„‡‡ÎdzgÛÎÿùŸ~Fhh¡¡aìÙë:xL+òç§l™2 4Äå¹²fí:>Ÿ?—¿¶mæÙfM5f¬­­w¿7 ÈžMÖ³~ÍJBBB>r´Ãü#G¡oï^lß²‘N_¤}»¶4kú ëÖ¬dÈ Ó…„\¡[ÞtîÔ‘Û6³ðë/ùnÑ"~ûlø“yŸ~ÆüysضùOž®Qý¶Ÿè=*¼½½yûÍþLœ4Åiè¼gÏ^&NšÂÛoöÇÛÛÛØ,"""™—:uÄÃÃÏ|alâ³ÏàåéA§ŽMw¥`Ÿ8i,p<øyóÜyß{ƒ·—ãõJžÜylÁ÷¦-[Èœ9:¾Díz x£{OΞ;‰áíkoôà…vmÙ´ƒÅ?ýÈÓ5n »¸výz}û Û·n¢jåÊôí÷–mÁzuëðÄOئµ7㣠ڽ›•+~eú5=ú/3f~ Àõðp, 5ëÔ§Båj´ißM›6;ÌŸÜzûô}“ܹs³}ë&~õϚÆ?7BbÈ9oþgÌûd6[7m zµªlڼŶÜÍ[¶2yÊûÌ›3‹Û·P²dIú¿ù¶­½m›ÖøøøØ^ÛëÑý æ|2—¯¿YÈ×ß,dÉÒeôíÓ‹bÅŠòùüy,ýå'|šðüúëôîÛŸ •«Ñø™g‚ñë×o´›jO×¢rÕtïÙÛ6ñÅ‹9{ö§OŸ¦yËÖÔª[ŸÑõÖ˜8i2R±b[  LéÒT­R™×»õä òF÷žtyé%òçO8NÉ Ûÿú‹š5ŸfÛæ|ûõ—,üî;~[ñ»Ó}¶óÒËÖ–)S&2fÌHpð­/d\ç­Û¶S¦Lif~ô1š4#°qS¾üêš5}†áï ¡P¡‚lX¿†þýúpüøqоL*Y¢ÿ> É»$®ö;Éo+~çÌÙ³t{ý5â-®‡ÑüdÞ|ZµlŽ¿B(Üùæê½—Òñwww§ùsϲrÅr¶mþ“€€f;ý~].\äÝq¨S»9ŒÍ·mkrïgÇ_DîÍ#8KÚ‰‹³P¨`!|öO>ù¤±™]A»yõµ7¸x)»žªû°9IxXXš…;øfáwÔ¯W—¡Ã†3tØpêÕ«Ë7 ¿#&&Æ8ë=™?ÿSÞxãuêÔ®Åúu0wÞ||ñ%Ëý•:µŸæ7^cÞ}ø5€Ùlæ«/>£\Ù²t}í :tì|Û2Úµy???žiܘ'>ÌŸ8Áþýðö›xyy‘!CÀê5kz9¿Ð¾Õ«UÅ××ס·Bj¬]·ŽüO7~sµÞS§N´{7oõï‡Ùlæ‰'ž Q`CV®JXöï+WѺUKJ/ŽÙl¦e‹æ*˜ÐÛ7i»Z·jIÑ¢E0™L¼ÚõeöîÛÏÅ‹)[¶LêÖ­ÍìOæ1qÒš5}†|y]¹°ô—ŸX»z%;·oaÂø±Ìšý‰mÆ6Ï·bÍÊߨ¶y#kV­ €W_ïF||<çÏ_ 66–S§Nóó‹øuÙþùç0Íš ‰Ã-úç°C`šÄÍÍ×_}…ý0zÌXÎ;OóæÏÚÚ“; ,HãFxœžoÝŠßW®²µÛ»yó&>ÃyŸ ˆŒLèüU£zu¾ý~ׯ_'22’¦}èð¹…dŽóùóçÙ½g/•*UdõÊߘ3ë#f|ô±Ã—ö"oÞ¼í‹"##!Ç.¹ý>þS?˜ÆS&ßÖ[Þޥ˗Y¼d)¯¿zk¸äÎ7Wï½”Ž?‰_öx{{c6›©S§6§ÏÜê5½gÏ^ž¬P™Zuëóï±c â8Œ .¶5¥÷Žˆ¤-×ÿ5‘ÛT¬X‘I'Ü6LÂýÁ©S'ÉŸ¿¾¾i7Öp‘"…Ùµk9r`6üÔ  ZÕ*ôìÙî=zP01ˆK/öÃi¤å°ÎÂf€¼ùò¥Y؜ľ‡sîܹ7ö]&MœÀ¤‰?ö]råÊÉ»ãÆßö¦»µoß>®…†R¯n]üýý™3û#Vüþ;?ÿü sfÍ" õëÕãZh(û÷í7Ξæ2dÈ@ß>½øcí*^ìОÞ}û±mû_¶öܹoçìîînûYèÕ«×Ș1#3f´µçË›—øøx®]»õ³´¢…ï>¾rå*¹råt¨åË—+Wn¨qùòeräp;ÌÙ·åc謰YDDäÑ•#Gƒ bĨQ¶ÚˆÑ£2x0)šZ/uìÈ7xkÀ@ü›ÈÈHü›· dãÆM+VÌ8KºòóócÖÌéÌüxu2㣩W·Žm(777úõ탟Ÿf³™îo¼NÐîÝDDDp9$„œ9¯ÿìe±ZÂËË‹,Y²p!áì¥K—òÎpª×¬Mõšµ?qQQ·zèæHølåííMûvm)Uª¤C˜èj½IÁpã¦ÍlË^µjµ-X¼|ù²m¿“Ø___¼x‰E?üh›·U›¶øøøæ03ý߀——7Ö­fÃú5ü}èC’¹Y¢ŸŸ>> ¡`•Ê•x¡][Öÿ±¿ É‘#&“ ???†¿3”S§O|â&77¼¼¼xëÍ~xxx%sf:uìÀŸ7q9$„ñïMâS';ýlºwï>ú¾ù_-øŒ?Ö­æí·úÓõÕ×9ôOBOßä΀ÌY2;,/gŽ\¼xÉ¡–Ä×77#o:ÔnFF’%KÂ}z÷¤PÁ‚4}®mÛ¿H¾¼yñðð OžÜ¶é]g777ªV©Ì3MP´hš4nd"Ã(£¯/7o¶åæMÛòS:v®ö;>>žƒ‡0dЇóÈ™ùŸ~N½ºum½ÉIá|sõÞKîø“3–6í;Ð¦Ý Ìžó ñÖ[½®Ÿzª<ûvï$hÇvº½þ/¼øG޵[ƒómMé½#"iëÑí®ú€Ø‡Î÷shô ›Z4oÎwß/âé§k¸ìѲysL8o˜Ýϰ™Ä^ÎIF‰çM’Ñ#Gгw_æÌKÏîÝmõ»5wþ§t{ãu۱˞=€9³fa±ÄÙÂU“ÉD·7^gîüO™9ãCÃÒGÒ·Æ+~_Éö¿þ¢zµª8~˜3ùòæáúõ넆…ÙÆ”;{öf³ÙáBÀdøÖÝÕ9ëL¾'òÝÖƒáܹs¶ ìþþ\ºäxÁyõêU‡×¢¤Ðyè°Lš8^a³ˆˆÈ#*°a†¾s+H:sæ, Ôw˜æ^™ÍfæÌúˆ¯.dÊ”©ŸHFãÙg›òBûöŒ=ú¾~¨U«&µjݺAv‡Ž/Ñ¥sÂØ¬òç'$$ÄÖ››øgó·ÿêÌE»k¿›7£ Ãßn [W²gÏÎûS&9 Ï‘œx‹ÅahWëõÉàƒÙlfú5xÙ ×$ {öÛz+_»vÍöq‚mÛÿâêիܼÅ–­Ûؽ{eË”1Nz›œ9sR«fMfÌü˜˜˜nÞ¼Édzçðl³¦ÉÞ!ØÏ/ GŽ%..Î6î+õëÖáêÕ«,]žðï~þü¾^ø-Ï·n@“&Y¼d©m˜õlàðÇoËUO=UžÉïM`ò{6‹ˆˆ<ºõèÅ®tü,b6›y¹sg¾üâs6nXÏwß~Mç—:Q½ZÕûúY(IÒuÞ7˜0q±±±¶Þ¡/vhÏ´gpîÜy¢¢¢øhÖêÕ­ƒ§§' ê×ãÄÉS,Y¶œøøxBCCnjöÍ7ßr‹ÅÂdzf“/_^J”(nkw¥Íó­˜6}†mY¡¡¡>’0¶ïÞ}ûÙ½{111DFFòÙç 8uú õëÕµÍïj½ àÉrå˜ðÞ$nܸÕjåÌÙ³œ;w€ÆñËâ%;~«ÕʪÕklc <ߺß~·ˆÝ»÷`µZ‰ŠŠbïÞ}¶vW|}}É` A­V+¿­øÂ… 9íi|9$„ÕkÖA\\nÜÄ¢E?Òªe Ö®[Oð‰ÄÇÇr…a#FQµJòäÉŸŸ2vÜ"""¸té_}ý MÒ¹SG6¬_ò%¿°lÉ/,ùùG¾úâ3Z4oNÁBÙþ×_\N •Ï;Ï®Ý{(Q<á˜%w.xýÿãO¿`±X>q‚ŸþÅvåÌ™“ªU*óÑdz°X,9z”¥K—ѪEBg,ûÏÎ;w1løH† t¼§Œ«ã\¯n®]»Æ×ß,$..Ž}û°fí:& {aØ >ǃƒY·n=V«•¥Ë–sñâEê׫›ªcçj¿Ë”.Å–MlÿÞË–üB™Ò¥á¼ lØ€ãÁÁt}5¡Çxýzõl=³åËß>F»ˆˆˆ™3‹OæÎ§{ÛǸ½î×g!{£ÆŒå÷•«ðôô¤^Ý:ÌŸ;Ç6Þì‹^ <ü::½DXX85ªWcâø„Þš¹rådά˜òþ 1 _ß Œ3š|yóâf6Ó¿_:u~™ó.P¼x1f<3Ùql“ôïÛøˆ^|‰ððp²eÍJ·n¯S¢xqb¢£;a¢mÌæòO–ã«ŸÙÆŽNi½³>šÁ„÷&Q§~C,–xòåÍËØwG‘'Onš4nDpp0/¿ò11±4 lhë<P«æÓ gïŒÉÙ³çðññ¡aƒú)^º¹¹ñÉœ™8i ÏžƒÕj¥TÉ’Ìúh†qRHüåëW_ÃÐw†CÁ7v Õ«UàÂ… ŒŸ8‰ËxyyÓ ~=>š1Í6ÿ„ñc™0qõ›`µZy¾u+º¾Ü³Ùì0VqÒð{Ù²eÃÇÇ›íÛqþÜyÚ´{¸Ø8<==éС=Íš>)œ _êľýûxoÒdÜÌf^êø"-dg¦N™ÄÐw†S±Ju2fÌÈ›ýûÚþ-OŸ>C›ö°ÆÇ“?ÿ 2ˆvŸ{’;Î^^^|6o.Àûÿû???F‡'Ë9†¤I|}}™3k&cÞGÿ·ðD¾'˜ýñL[/ø”Ž«ý6™LdÏn·&pw÷ S¦ŒdΜ €ÈÈH¾üêk>œö¾Ãt¤p¾%÷ÞsuüFŽƘ±ãønÑ"ü²dáÙfMYþ[Bè|òäIF~×6ìM‘Â…ùßûS(S¦4¤°­)½wD$m%¥‡ö)¢Éðp³{˜íî€'àx%>¼wìÚ³¥h‘”ÇùÝD%» ãëä$›ZöC¤µ   ýð#“Þ›hlJ§NÂßß?ÝÂf{ñññ,^²”¥Ë–qìØq<ÜÝ)X¨­Z¶ ùsÏÞQØ|èÐßdñ»óP×YàlHÛ ½F©R ÿcI‰Õjåܹ³dÈà{_ÃæÔž«÷rަvIît]ÎÞ›‡ýMÕ*Uj«v:Ò¹SGZ4ÎØôXûkÇJ•*Í®  Ö¯gl‘4`µZY¿áO*V¨`lJ•]AA|2w>sçÌ26ÝwûYÈx}©ë ‘ô“Òõƿǂ©Ré©JÀM ˆb8»G¼ÝÃjx$±=${8ßi`–ž*V¬˜®ßèçÏŸßXJ7nnn<ߺÕý–ÏU¸|¯L&yóæ3–ÓÝý8WïÇ:þ+.‡„pæÌÊ–)ƒ»»;kÖ®ãŸS©Rú½ÇEDDDîV¥ŠXØÌ}ø,$"""¦G2pIÑQQLšò>ÇÇb‰'W®œ¼?eÒmw3ç8‹ˆ$Ê—/ß/üÚX‘TJùn"""""""""""© ÀYÒ…ÙlÆjµ7Æ’¤’þíDDDDDD/êŠ%""râOï¥råJƲ¤ÂÎ{![ycYDDDDDDQêá,""""""""""iB³ˆˆˆˆˆˆˆˆˆˆ¤ Î""""""""""’&8‹ˆˆˆˆˆˆˆˆˆHšPà,""""""""""iB³ˆˆˆˆˆˆˆˆˆˆ¤‰G6p;~"s>™g,‹ˆˆH Ξ;Gù •±X,´áE‚v'¹cmà|æìYFŒCýÀÆ”-_‘µêÒõÕ×9 @›ç[ѨQCÛô+W­æÆvKp”R»ˆˆÈÃ`ß¾ý”¯P™ò*S±r55iÆ„‰“ˆŠŠ2Nšfz÷îE±âÅåÛü²d©±$""""""âà¡ œ=J«çÛáííÅgóç´c‹ZD‡Ú“/o^Ê”.M‘Â…°X,ŒŸ8‰7" KJR»ˆˆÈÃÄÇLJ½»w²cûì&)÷ IDATfÏšÉ_í`ÞüO“¥™ºuj“)SFcÙAð‰|úÙçÆ²ˆˆˆˆˆˆˆƒ‡2p=f­[µ`İw(T° žžžäÌ™“gš4ÆÓÓ€¡ÃFðጙX,ºt}•K—.ñBÇN4lÂ… mËrÕþó/‹1j Ÿ~¶€µê2bÔ~üù›4£ZZt}õuΜ=k[Öž={iÛ¾U«×ä¹­Ù²u›­MDD$­™ÍfŠ)Bݺµ9~<á>$ö4~¶y+êÔm@·î=9{îaaaT®Zƒàà¶é®_¿Aåª58rô¨­æLÓfÍÙ¶ý/~]ñ;­Z·¥N½†4~¦_³cÇŽÓ·ÿ[œ;{Ž¦Íšóò+¯!""""""càFÐîÝthßÞØä”Ùlæ³ùsø~á7¬[³’\¹r¦ª}ÍÚuœ8y’åK~aİ¡lÙº©ïÿ9ÏdÛ–”,Y’·ÞÀÕ«WéÖ£¯¾Ò•¿¶mæÍþ}éÓïM®\¹j[—ˆˆHZ²X,ý÷_Öÿñ'µk×`Ûö¿˜6m:3§OcÃk)^¢C†¼C–,Y¨[·Ë–ÿj›ÕêÕ-Z„âÅŠÙ-ÕµØØXF~—É“ßãÏ?Öòý·ßP¯nŠ)Ì;C“;OnVü¶Œ/>ŸoœUDDDDDDÆÀùJȇÐxðÐaT{º6Õž®Í'ÿgï®Ã¢ÊÞŽa@Ê‘°»u @JPD ìÖµ×îµ»ÝÕÕµ»v×Z»cUìÆîP ¥~ ÌwÑßûyžytÎ9sgî{ï\Þ{Î{¥ßD:::Œ9sóì²yËVê×ó¦H‘ÂèèèÐîÇ6\¾r•€€ú"Wî\Ôòª €{õj˜›gçøÉ“ÊÅ !„_$"";{'ììhÞ¢5]»t¦aƒúlÛ¶ºuëP¨PAttthÓª%W®^#00zÞuÙ½{qqqÐ[Ù»®bé)S©TäΕ‹uëþæÙ³ç˜™™‘'Oe3!„B!„"EzÊ‚ÿš©©)*X€aCÑ¿oÆŽŸ@D:Nš”/_^ôô7A@@ ú°cgbï0###^½~Íó€îÝ»³kUM]dä;ÂÃÂ4Ï…Bˆô`ddÄ©Gy÷îõ4B¥›x800ŸC‡Ù½{·VûW¯_ãìäHTTÎ_ wž<\½r•¿MÕ´û]]]þøc9Ë—­ E«6T¬XÁÆÊÊRÙT!„B!„HV† 8››g§h‘"lݶ~}zC’ ´¡¡¡¢µšŽŽŽ²HKJõº:Ú¼---hkÓš>½zj•Ÿ¿¹l™Ò¬þëe•BñUЫWO¦ÿ>“*U\122ÂÂ"­[µ G÷nÊæÔ®íÅ®={È›7®®.dËšUÙ$UÙ²f¥oßÞtëÖ…i¿Í`Èð,_²ˆ~J…B!„B-.¥À°¡ƒY¶|%sæÎÇÿéS¢££ }õŠ×¯“ïMœ)S&LLL¸qã€f(qZë4¨_µëÖsñâ%ââ∌Œäòå+T¯V»wï±qÓ¢££‰‰‰áæÍ[DDD(#„B¤›Z5=±È‘ƒ%K—àí]—õ6qéÒeÍoÕ•+W5íë׫ǡÃGÙ·oõëy'YÒÇEEEqñÒ%bbb000 hÑ¢¼ ‡ø›¿/‚ƒyñ"„ØØXåK…B!„BȨg'GþX±”ËW®Ð°QS~¨`‹gÍÚ„¿ 燲e•ÍЯ£ÆŒ£²«?QV´ÀÙÉ‘¡ƒ2|Ôh*ØÚãæîɺõ ¾çõ²¥‹Ø´e vÎ88»0~ÒdÞ½¯\ŒB‘ntttøy@þøs~Oüpt°gàÏý3n<ŽÎ®Ô¬U—›6kÚ,Xkk+ƒpt°×ZÖÇÄÄÄ0sÖܪyàéU›;w1bØPJ–(A 4jBó­”/B!„B!H ›t ¬Žâ¡›ä¡JòÐ2ú€AüÃð¬ïÅE «s/§&Kfe‘BñM9tä(6+réÒ%lmm”Õ" Îó¥\¹rÊb!„B!„ÿ‚»÷`gSÞˆÞï( :É#6É#NñH ù†ìá,„B!„B!„âÛ#g!„B!„B!„éBÎB!„B!„B!Ò…œ…B!„B!„B¤ 8 !„B!„B!„HpB!„B!„B‘.$à,„B!„B!„"]HÀY!„B!„B!DºÐSü[Μ=«,B!„B!„Bñ ûÏÎŽÊ"!„â›rÀç²H|ßóç•EB!„B!>ŽŽÆÆÆä´¶&[¶lÊêÕpB!¾Ñ11Ê"‘F¶¶6Ê"!„B!„Ÿ!<ü ~~OþÓ ³œ…Bˆtbh` ,itæìY*ÙÙ)‹…Bñ ‘ßó‡lg!2žÏ=.Ïùúb_©’²ø³™q’7oameÅà6r§ŽàÄÉSL˜8™çÏ)Sº4®..\¹z•™3~ÃÏߟªÕ<¸uý »vïaÆŒ™¼Šâĉ“Ô¬éÉÐÁ•o'„B!„B!„ÿ·> “g©›?E÷ž½)[¦ çNŸ`ÕŸ+™»`¡¦.$$„®Ý{Ò§wOΟ=͈áCY¸x‰ÖëÔ­S›fM›P»–‡}öK°Y!D†ççïOñRe‰‰‰QV}Wª¹{râä)e±B!Ä'7a .V ¹ÞB|¢ pÞ¶mÛ¶mK—`ó½û÷¹wï>}z÷D__Ÿ9Ìi÷cMýŸC-ZÏ+Z”Úµ¼’,A!„H?~þþŒ57÷”)WÇÊUhס÷ÍFJttt”EB!DšŒ3žõ½1l(  S¦LXYYQÓ³™2e`Ȱlظ‰ÁC‡SÞ¦Ûvì$::šƒ‡RÍÝgWZ¶þ‘'Ož@|éªÕ=X³öoª×ðÂÞÉ…AC†®y_•Jņ›¨áU›JŽ´mß‘ÀÀ@Mý· $$„wïÞá]·&&&XäÈg ôô§¢¸zí 7¥’ƒ3µêÖãÜ9_M]`` ={÷ÅÎÁ {'†IXX˜¦¾š»'¾ç/ÐêÇv”)W‘¿V­fæÌÙìÚ½‡jîžü2õ7MÛ´øØûùùûÓ®C'ì+SÛ»>»vïÁÙµªÖ2„BˆïÑ„ÉShÒ¸!}{÷"oÞ¼Q¦tiJ—*iø ­æîÉÖmÛ©× åm*ÑêÇvܾs‡½ú`kïDÕêìØ¹ë³Û6‚ßgÍæîÝ{tëÑ ??ª¹{Ò¢Õš6ߊÝ{öR²DIZ4oÊÚ¿×kÕuéÖƒ¥ËVh••·©ÄÍ›·Ø±sWŠ×AŸ{½åçïO ¯Ú?qO¯:xzÕѼNˆÿ'©—ß›ï:àœ/_^Š+ÊŒ™³‰ŽŽ&,,Œõ6jê«V­ÂíÛ·9çîÑ£Çìܵ;É´™™™rû΢££‰ÍسA !„È8B_½âü… 4oÚTYõßf̤Bùò;|/ÏèééQ§v-víØÊñ#>XXXhå|öì9÷ÜgÏÎmìÛ³???¦MŸ¡©‰‰áæ­Ûìܶ…“Ç“)S&æ%™Ïà[?_>Ê”.Í€ƒ¹wï¾²€ý²|É"Μ:NíZ^Œ3NS×£w_,räàØa|öï%88˜á#Gk½~äè1ôêÑÓ'ŽÒªe š6iL-¯šÜ¿—Áhµý˜½_ß~(Q¢'ŽfÕ+øó¯ÕZ¯B!¾G/^„pãÆMÖ¯¯¬ÒøØo(Àº¿×óçÊœ8zˆèèh7mAËÍ9wúúõeäè±ZCÕ?µ=@‘"…9|¹sçâàþ½¬Y•1R~|еëÖÓ´I#jyÕÄ÷üž={®l’¬:µk¥xô%×[Ïž=gÉÒeÌŸ7›-›6hÊ…øò¹Çå·è»8ëèè0kæ ®]¿Žƒ3Mš·¤jÕ*šzK æÎžÅÔé3ppvaìø Ô©]KkIÕ¯W}==ì+3vÜeµB‘¬Á/°¶NLã4hÈ0ì\°wraá¢ÄrÅ åiÞ¬ ™3gF__€*®.¢R©pq©Ì?M{€Î; ¯¯O¶¬YéÖµ {÷íתo÷côõõÉ”)nnUyðà¡V}F§R©øså2Ê–)C»ŽiÞ² ÇOœÔjÓ¤QCLMM¨Y£=àÁÇ\¹r•ýûb``€±±1ƒàŸý´zL5kÚûJ˜˜˜|ш¦½ß“'O¸~ã&½{vG¥RajjJ»¶‰óK!„ß«—/_+WNe¤á74AóæÍÈš5 ÆÆÆTuu¥dÉ8;9àá^·oßüÙí¿wîÞÅßß÷êÕ066Æ«¦'6nR6ûd_r½õþý{H¡‚122ÔZ®ÿ¾Öq™Q%ŽEÍ ¼½½•E_¤`¬þs¥æù9ßóZõ®.•qu©¬y>uÚtŒÈ“;7wo]×Ô™›ggíê¿4Ï…Bˆ´H¸0 ¤PÁ‚ 2ˆþ}û0vü""#5m .¬ù?@`Póç/äêõëGè«WX)æÈ–-›æÿÖÖV„„„­)Ë™31×±¾ž1ßà(ccczõìN÷n]رs=zõfÁ¼¹8ØWÅ:êééiz*…„¼$sæÌZó9äÉ›ØØX^¾ %K–,‰Ï×ø¥>ö~Á/‚É’9³æZÀÂ"‡æÿB!Ä÷ÊÌÌ €ààšk£¤>öšð›mž=»¦>S¦LZÏnÖG%¹úÔö߃µëÖòò%N.ê”]ïß¿'K–,tïÖ•J¥l@\\œ²èŸ{½¥«R÷u,\H},Äÿ£”ŽKGG{eÓïB† 8oÛ¶MYôÕ<胃ƒ=ÆÆÆÜ½{Í[¶2tÈ e3!„â³™›g§h‘"lݶ~}zC’ ´¡¡v]]íÞµC† WΜüµr9¬]·ž»s <@þüùxòÄ,Y²hå7Né‹o‘J¥¢žw]vïÙËé3g4g]Ýä×1Oî\„……úê¦ñyÿ§¨T*­?šttµ}}n/ç½_\\¯ÃˆˆˆÔôî Q÷øB!¾gææÙ)\¸;ví¢oï^Êêþ†&øÔßèOmŸà3_öŸ‹ˆˆdÛöí¬úc…ÖËmÚµçð‘£Ts«Š®®.1±‰iD^½~Md’)m³Ï½Þ ˆŸ?DWq½%Äÿ‹ÔŽËïÕÿýѾ~ã&ªTó \E;ÚvèD³¦MRM«!„B|ŽaC³lùJæÌÿÓ§DGGúê¯_'MN`@ ¥K•ÂÀÀ€ˆˆÈdçX¾r%ïß¿'<<œù âYÃCÙä›öàáCN>CHH‘œ8yŠ .R¦tieÓXYYQÙÙ™Y³çòþý{"""˜;µkyiz5%ÇÔ4ÛGçmˆåÝ»wšGTTÔGß/_¾¼+V”yóCxx8þµJ¹h!„â»ôsÿ~,Yºœ…‹—HDD$=âÑ£Çý ý·™™™Dpð‹¯2¢]»÷P¤pÊ—/‡µµ•æÑ ^=Ö®û€|ùòáë{^³^ÃúÓr”TFûî„ÈhR;.S£«Ò%.îÃc0..V3r £ÊØŸî+°µ©È©ãG5ÏçÏÍÙSǹtþ,ÇøÐ§wÏïæ !„ŸËÉÑ?V,åò•+4lÔ”*ØâY³6áoÂù¡lYesÇòçªUÔoÔ„n=zRË«¦V½¾¾>… Æ«¶7Uªy+W.† úY«Í·îÍ›7Lœ47wOlí™0q2}úô¢z57eÓdMûu2¡¡¡¸¹× †WLLL5b˜²™–zÞÞèëéáT¹ ã'LRVpäè1~¨`«y´ïô|äýttt˜5c:—._ÁÙÕ6í:àæ¦V'„B|調UeÁ¼Ù=v¯:õ°sp¢CÇŸ¸uû6|ä7ôßVªdI¼jÖ¤¶w}4j¢¬Î°Öþý7 |ÄjØ >ÇOœÄÿéS:ulOtt uê5 Q“æ„…‡S¤HbZ·´\)e¤ïNˆŒ&µã25Ù²e#*êÔ?QQјfû05QF’YMaÕQmÆ™³g©dg§,þ¿pôØqÆM˜È?{´S¥!„ßšÿçßó“lg!2žÏ=.Ïùúb_I&Péá£Gœ;3Suü/C_b[±"òç×*Oþæ gΞ£b… ʪdݽ÷;›ò6@ðxDÑI±IqŠGÍÿÿïz8 !„Bü—NŸ9Cpð BCCY²tŽÊfB!„BˆÿcyóäÁÚÒ’ÐÐP¢££ÕiCC±¶´"_Þ¼ÊæJ†š4P!„â{wþüEÎë×aè©T¸ººðsÿ~ÊfB!„Bˆÿc*• îÝ»Çã'O(SºEŠÉð“pJÀY!„øFåÉ›[ׯ(‹E×­ëOtëªÎ÷,„B!„)ÑS©(^¬Å‹SVeh:~úÌYe‘B!„B!„Bˆ *Cœ…B!„B!„B|;$à,„B!„B!„"]HÀY!„B!„B!Dº€³B!„B!„Bˆt¡§,B!Äç9sV&»ý²ý„BˆoŸüžÿ;d; ‘ñ|Îq©«û}öÎÐgûJvÊ"!„"ÃrtpP !„B!„É:}挲è»aΑ‘‘*‹?‰···²ˆf͚ѪU+e±B!þc:::Ê¢ïJ\\ü¬gF"Ûü¿—ð!„Bˆÿ2àIÇŸºðsÿ~T(_^YýI¶mÛ¦ùÿ«W¯1bÀ¿t3nV––tëú“² €AC†ammEÿ¾}”Ui²qÓfþ^¿‘ukþRV !„ߦï56¥ˆwÆÝû[»@¤;ÂMµžË6ÿ÷)¿!„Bñÿ!Cœ ù¹?&LšÂˆaC¾8èœ`×®]ħ̘þûLbbbhýc;iܬ9UÜÜyþ<€×¯ÃèÐé'*9VÆ©rþük•fùK–.§s—nšç»tcùÊ?4ÏuuUŒ3g*WqcÞü…’+O!2·oßbkkKí:u9j4#G¦NºØÛÛ¡l.Dš•¯3#gn(‹“õ÷ΓÔl?QY,¾ÙÞ_f×î=´ï˜|J:%?Š/ELLŒ² ’©3nó,R6KÖÆM›iÖ¢µ²8ÝTqsçø‰“äïñïùmÆïØVr¤’ce?~¢¬þ&(÷ïoÝÆM›©^£&?T°¥r7ÂÃÕMD:û”ómRÏž=Ç©r"""•U_UÝz 8{ö¤á¼ù)çûCÒmý±c÷¿Ú¾)Ù¸i3-Û´U§¨x©²š¸˜øÿ•!Sj$•t4dS§L¦|ùrœ>sVÙ ûJvÊ"ø„4ÉM0ø13gÏæáÇØ·CCC¦ü:•;wî*›¡R©X±l ¥¨À†uk±¶¶ÒÔíØ±“U­¤x±bœ9s–6í:àéYK ­e¤äô™3´ý±5cÇŒâÉ“'´hý#ùóç£v-/eS!„ÿ²·oßR¾|ÞD¼#sV3­:¿g”+WžË—/}ñ$¹"œƒ”Ó„þÍù¡D>eq²\ìJ#{eñG•öìÏŒm©áRNYõU¿ ã„ï-¼Ým•UéîÜ•{dÒ×ã‡ù•U_ìs··Ò³À—wïË“ãóÉ–ÅXYýU|ÍíоãO8;9Ò©c{­òú ›Ð¦uK5l€­­ ffÚçÌô¢Ly÷¥ÖoÜD“F •Å"ƒ»{÷Ë–¯äà?{055ÅÀÀ@Ùä»ôòåKÎ_¸Hõjnʪÿ\TT£ÇŽç—É©]Ë‹°°02gÎL`P3gÍaÿ¼yó–âÅŠ2vÌ(Ê”. ÀÕk×ø}ælΞóEWWûJL?–ìÙ³°|ÅJ&NþEë½Ö®þ [›ŠÜº}›‘£Æríúur˜›Ó»W5l Õþ[råêUæÌϹs¾D¾{‡µµ­[¶ }»äƒ…i=ß^¹z}}}J/€…EF Š‘Qú]Ã>@å*Éï›… dßžôëÛ‡âñŸácÒû|ÿ©”)UÓº­ùJÛ79¬üãOöîÛÏÛ·o‰‰‰Á$³ ÞujÓöÇ6èéeøa†çççÇÐá#¹|å*f¦¦ôíÓ‹úõ>=þø-ÊÐ=œSb_ÉîƒÇaç®ÝtëÚ…,Y² ¯¯OÏîÚ½‘ӢЫ Å‹ R%;LM³ñèÑce³,P€îäÍ›—† ê³gï>e3!„ÿWWWÞF¾ÃÈøÃ@‘‘‘1o"ÞQ¥JUe•ø¯Œ~Uf\uªÙ`šÕDYœ¬œ–fTs,£,NÕ© w{»óʪ¯fý®“l; î¹ôµM]¼Ë7Ó~Íõ)>g{'gå¦Ãx»ÛþkÁf¾òvI+K ì•Åé"iÊ»/uïþ},Ì8½çDÚ=~ü˜<¹sceeõlصg/ûTg¯^½&22gg'²dQß´‹ŠŠÂÊÒ’ukVqöÔqéÓo€æuÁÁ/¨ááÎ?{wq`ßn"""˜6ýwM}PP0íÛµåÖõ+šGB°9&&†n=záââÌ©ãGèÝ«C†àÞ½o³gæÙ³çhÑêGŠ/Æ–Më9wú¿OŸ†]Ê7qÓz¾]¼d·nÝÖ<×ÓÓ£–WM­6_ÊÚÚJómü{-™2eÒ<ß½SÝ‘°š[U²fM¼¡««“rH+=Ï÷iÂÔiÓ‰ŠŠJ6¥jrÛZG'ù©_cû*Ó´E+ÐÑaÅò%ìݽƒýûv³lñ"ž>{FûŽSìý­ ã÷™³yõúµ²ê_ÓwÀ@Ê”)Íù³§˜?o&NæÚµëÊfߥ”Î âÂÅ‹L˜4…_§L¢|ù§wMZaee©ynff†J¥Òjó19sæÔz®§§OllÊull¬Öó¬Ù²j=·²´$ P«L!Ä¿Ï××?? RóðÑC.~fÚ¨ï^$ ´ïuœÈÞL€ê€ükB6@ÀÈ$m¹(_g 4"€ŽÀ6àEü{Z'yÍÒø×˜e€¤ó;å€S@Q D’ºOð4à% »MìB{rØt¤ý y¼ { ÀC¿ ŠVëÍ?Ç.S¬zŠUbl¸ IDATï@×ì?~E³ŒéKwPÀµ¶é4t†.`ÁêX±ñ•›ŽÔ,¯€k–­÷¡pÕ^˜Uhg»‰< |©YÀÒõiר*ºº:š×,Xý«ô KÙé0x>g/ßîþP²•kK…ºƒ¸tã‘æõ¿,ÜJq÷>XUêL ¾ì9¢ÞÏccã:u5ù*wÃܦ¥<ûásêk¶gÄôµ¬Ûq‚®=øyòŸ< ¥~—©˜Ût _ånü¾|§æ=Ú œËÒ¿Òöç¹d.Û†U[jêRÓâJ¶ì;K¿ +(àÚƒ »O±bã!:[È´ÅÛ±´ëDça !•õ°­7„ù«´oòWj0”Y+wkmo¾`–­÷¡Cuo¯Ѻÿlº\Œ…mG¬*ufö»Yµõ(…«ö"[¹¶Ôî8Y³ßDEÇÐfÀlÍ>áÒl÷Ÿ¨Sº…„†Ó¸Çoätø s›85Aà‹WÉn€“nS©ÁP²WlOY¯Zû]×;w“*-FcP¢%Ož½ÐÔ}.e*‹'OQ«N=*ÚÙóc»,Yº\+à¤R©X¿a#ÕkÔ¤¼M%Ú´mO``ò×ÃÊ!ØË–¯ Š›;vÎ >’¡ÃG²zMâA®ÒS1vüDœ]ݨhgϰ£ˆ‰‰áλüÔµ;~~þTqsO1õÆÂÅKð𬅽SejԬ͑£Ç”M>*00î={SÑÎ[{'NXX˜¦Þ÷üy5mNé*`ïT™]»÷@^}(oS‰ò6•˜4E}G­s—n,Yº\óz€²åm¸qã&Äo£õ62pðPÊ–·aëöøùûS½FMŽ?{ /Ük¨GS^¸p‘†›bcç@­:õ4)BˆO²}ÇNê7lB[{êx7À÷üyMýû÷ï™4åWœ](S®"M›·Òü­³~ã&ÜÜ=±­äÈí:àç¯>ɇ¾zEÏÞ}qtvŶ’#Mš·äÅ‹Í2DEEi–]ÑΞÖ?¶×wíÞø‰“yôø1UÜÜ™9kŽòåø:LƒFMqtvÅÉ¥*‹–,U6|ž à`ºvï‰m%G\ªVÓJ‹øðÑ#Úu쌳«•+ÓoÀ@¢¢¢ ~ÿ6bK–.§’ce†Àº¿×ã^ËReËãæîÉÃGêómZ÷ÿí;v2cÆLvîÚM7w&ÿ2>ò9ÓK\\ó,¢jõ”,SŽªÕ<øgÿô¡š‡'5kàT¹ ¥Ê–§WŸ~äΕ‹Þ½zP ~ŒŒŒ¨[§~~þš@XÕ*®4mÒK ²gÏN577­\AÁÁäÎ •J¥y$¸xé‘‘ïèÙ½Y²daÓæ­äË——M›·hÚÜð€v:QÁÖžªÕ<>8v2’ñ“&Ó´I#ú÷íCÞ¼y122¢l™2šÞàUÜÜ9ç{ž­¤d™r<{ö\ë|›ÒþýËÛ·o:lvΚsHÒyÑÑÑLþe*Î.Tr¬ÌˆQcˆŒL>UHjçnRØ©¥º566ÆÀÀ€†›2mú†j½ß׿ççǵk×éݳ'*•Š’%ŠS§Nm6oÙªi“Ò¶ødè€sB°yİ!T(_^YýŸË‘#‡Vp÷õë°ï¥tç*áDš•J÷ƒå%ä~N ¼˜xö<€ìÙÓ6LC!Ä×ãëëKZ2êë ËÙ³¦ŠI¬þ‰$¿Fí€Ú@áø4 ér³÷€úñe¯¾À¥øÿ·‰JÏzy# RüëM€ÙÀäøçëN€ ø-¾¾p"¾à*àDŽIÊ?AÃîÓ°¶0åÙ©E<<:—€àWtº@SÿäÙ ~]´•í‹sqLJݰwúœç—…[Ù»b8Aç–âî\–eë}”Í4ùqôì ®ìžÆÓ“êÀêäù‰`¿yûŽ¿wž }ãÄ¡­üƒ¸uÿ)wÎââΩlÞw†–}g²nv_^^X}¹¢ ºZÓÞ©b1Ž®GÀ™ÅôhãIQê?ÒŽœ½Îšíǹºg:/|—±uá Ê—,@‹ºÎtnVfuœxxd.Ó†¶ qßț˜€3‹9´f ælb÷á š÷:u5N6ÅxzrMj¥í ˜>¼-Jdƈv<<2—Æ^lÙw†ÛŸruÏoÌ¥NùÒz´oìÆŸ›h–yçá3.ÝxDKïÊš²Ÿ³GÎÜ :&7u `õ¶cTw*Kй¥,˜Ð™¾ãW°nç .îü¿ xÊÂ5ê› úz*ZÔ­Ì}3x~z19-͘8w³VîFGG¿ã :»”Y£Ûciž-ÙíòšÚ'3 S]BÎ/g|ÿæ4ì6À¯4Ÿë§á Ý» Á¾KÉc­Æž^BBBèÚ½'}z÷äüÙÓŒ>”…‹—hµ‰‰‰áÆÍ[ìÙ¹3'‘)S&æÌ›¯Õ&9>‡³pñ–/[ÌÙSÇqvrdÃFõ6Jpöì9Ê—ûãG|Ø»{'‡aÏÞ}-Z„Ñ#G;w.ûìgÝš¿´^— b… ¬]ý§O£u«–Œ;^Ù䣺õìEŽœû fèpõ  à`:vîJ³&¹tþ,[6nÀÉQ½?wíÞ 333Ž>ÈŸüئ•bÉ)›úÛ *V¨ÀÉc‡©UÓâsŠ.^²”E ç±}ëfBBBèôSW:vhïÙSôëÛ›î={k€/]ÆÂùs8ö5<Ü5zœ¦núï3ñõõeãúuøž9ÉäIãÑÕÕåø‰“üòë4/˜ÇÙÓ'(Q¢}úöà?ÔÛùØΜ:ΨÃ07ÿpŸû}ælÎ_¸ÀŽ­[8wú$•ìli×±‘‘‘ÔòªÉð¡ƒ)X°‡}öÓ§wOåËÉ—7/S™ÌÉãGXºh¿Mÿ§OŸ)›¥úyzöêKΜ99}ò«ÿ\ÉÜy 8|D}C)‡¹9]:wâˆÏ~öïÝͥ˗ٹk·f¹ÿì?Àƒ‡Ù½c£F ÃçÐa¦þ6ƒ_™Äå çX4.ùòæ…OØÿëÖ©M³¦M¨]Ë‹Ã>û:x |äs¦—U«×ðÇŸ1uÊ$.œ;Íòe‹5AÐjÕÜ8øÏ^öíQ߈;uü(ׯ\döÌŠ¥¨‡ÿ/[¾÷êÉvôzþ<€ ›6QÓÓCSÆìÙs)oS‰jž,^²LSwïÞ}J–(ŽŽŽë7lä}Ô{ú÷íÇ!þý~l×2¥KsöÔqVÿõ«Ö¬eï>õy6#yñ"„ë×oШAêé@†Eïž=8wú„VªORÙŸ‡L©R%1l‡}öSÓ³†ÖëHÃ1³`ábztëŠïÙSü2y£ÇŽ'8øËoPîܵ›1£Grîô F Bï¾ý“=VIæ¸JÚy*µõ bâ¤)tü© … f׎­têØ===V,SÿNmX·–Ã>û?ØÖÄb=~ÌÁý{9|ð‚_¼à×i¿)›i$÷ÝmÛ±“Â… qüÈ!vnÛÌ>š›9zzzÔ­S›½»wpêø,,,˜7_}Íwëöm^¿~…WMO¦ü:+++öìÜÎoSÁßÿ)ÄŸ3NžL î'=váááü6õtuu™>c&wïß矽»Ø¿w7<àí[õÍo€YsærþÂöîÞÉáƒû¹sç.³fÏÕZf‚ÔÎÝ ”Û!iªÛûöàçï¯Iu«R©èÖõ'vmßJNk+ZµiǯS#$äÕ_ýûÈ“;·Vj”Å‹q3ÉhIS´Sþ|ORŽvþÇ2j°yÔ˜±œ8©îíáåYƒE‹—NLLLªCê2eÊ„‰‰ ׯ«»Î§eb¿|ùòqãÆMM†K—.s÷Þ=­6Ïž=gÃÆÍÄÄÄðàáC6mÚœì€BñMÛ$®ÿüçøÀpBGÅ„¹ótâƒÁ¿â{0V™€à~|ðyV|}Çø žñ½ªâZ“ãƒÜ8`C|9@,Ð x|FǧÛžqæÒ]¦ j…¡>™ ùuHk6í=­é­úî}Ó†þHñB¹06úpø÷º'h߸*Å å ygJÉ£l¦ed¯F`d˜‰úvܸ秩[¿û$¶e S0oâH.€Ÿ;×EO¥¢p>+lË¢I-G åµBWW‡z¶Üy˜øGž‹]I,ͳPÛ­"üÔ7És[eçUØ[–­?HØ›ŠȉY¶äSƒÜ{À‰ó·߯z*…òZQ¿†›öžÑ´q¶)N—dÍlD&ý/Ë5¨££Ãܱ°4φ‘a&He=ZÔuæüµš^ë¶£nur˜içnþÜuX¶þ í»iuZ(œÏJ¯çn‡žJEÏ65ÉbbD#ÜàÎÃçšöµªVÀÈ0*•.5]Ëóà‰ú³-`Í© wØ~З¸¸8lËÖ¼FiÛþsÈmI³Úêaîõ=ì°4ÏÊ?Ç.kÚtiáA5Ç2d11J±“ER³çÎÃÁÙEëq㦺w­ÒŸC-ZÏêR±¢E“«¤C»¶èëë“)S&ªUsãÁuÀ(5;wí¦qÆ*X€:µkQ¤ˆö¶°´´¤žw],räÀÖ¦¢&•v¶6š¤[UWüü³´xðð!—/_aàÏý100ÀØØ˜Áƒ~fß?û ãÀƒ.T¦M£§§GΜ֘ššòàáC®ß¸Á°!ƒÈœ93Y³f!OîÜÊŧȦbZ4oJæÌ™Ñ×ׇøÉC¢PÁ‚rà ¹óäÖ|îÕ17Ïα‰wäÚ´n…••:::Ô®å¥õ·Ì¶m;èÝ«'¹såÂÀÀ@3ô}Óæ-4¨_"E £££C‡vm¹tù ä/Ÿ‹—.qÐçqqq”-“|êšÍ[¶Ò½krä0GWW—^=»ùNówÜÇ.\H³/”,YKK üã{Y'•Òçyüø ç/\ _ŸÞ¨T*òæÍ‹‡{uM 2sæÌ8:Ø£R©Èš5 +TàI’}CGG‡±£GbnžCCC¶mßAÓÆ¨X¡zzz-Z]ÝÄ?å?gÿ' Ÿ3½ìع‹¶mÛ`gg‹¡¡!  gΤC‰R÷èÑclí(WÑÿ§Œ­îš`Óæ-T´³ÇÕ­:6+Ò²EsMÝôi¿räÐ|ÏœdÒ„q,X¸ˆu¯àmDY²d!8ø¿ÍøIãÇ‘%K^¾Tø9rô±±qôï×===råÊIÓÆ4£2’„Ïœ;·ú: %-š7ÃÑÁ“Î×)íÏiñ±c¦z57͈u'Gu*Ñlj£¢>—‡»»æîR¹2¥K•ÂçPb/礔ÇU‚ÔÎS)­×›7o¨îQ“gÏŸ³nõ_4iÔPs®ü;´C¥RallLçŽس7åc/¹ï.gNkš7kŠJ¥ÂÊÊ [[­ÁU«¸bhhˆJ¥ÂÕÕ…'~êïäüù‹8:¨¯'|}ÏÓ ~=^††bb¢¾&Sî*]]~›ñ;÷î?`άß5ù÷ìÛG·Ÿ:cš-ôìÑ]ëu›6o¡ëOÉ–5+FF†´lÑŒ½ÿ$¿ži9w+·CZRÝЪe Ö¯[Íí;w¨^Ëèèhe³t‘±vq#ccÞ¾U§Z9xЇ7oiÕO¾ìªü+‰ŒŒdÚô.ØË©Sgø¡¬:—aÿ~};~"ÕW¯_‡¸8^††j¾‡ððpM`9wî\ܾ}›’%гwï>""#ˆ‹‹cç®Ýšœê7nÜäúõT¨PžL™Ô7å‰??åJr£ÃÒÂBkB``ƒ‡G/þú*&&VëõI¥åÜ­ÜiIuûèÑcÖ¬[Ç>xÖð`âø±Éî éÍÄĘˆ·Zeoß’-›)AÁÁL˜<…•Ë–ðôYò½ò¿u_ CCC–.Zȥˉùá>—·wúÍþ¨«««êCü×/“ÆðBDD$#GÅÄX}àþ:e’¦ u«–´nÕRó\YpüHâðW]]]Æ£UŸT£† 43èŽ3ZY-„â?dccC¾|yñ{€Q yœ#Þ¾¡`Á‚T¨PAY%’ú0©î­œœfÀM`>P ¬MRï\Ä÷jžßs9!€­ÌŒe¿¼E@Ò¸Tb¬V-¥Ï“óZò*ì-!¡ád7U•= B¥Ò%oNsž¨kºº)ßÀ°Êaª l& I}‚””–wûÁ3®Þ~BCÏ'JÓ=`ê¢mlÚs†=+†aiž[÷Ÿj\KÉê½yJÃnÓ˜4o3cû6ý 7MNKSôTº<<2Cƒäv„”×ãc’[å²>¶íU¥ÿĕԪZð·‘Ôtý°£Äç¬ÃšíÇq¬XŒ¼ñâÉ}æ”´4|¹rphõ ôY¸æÖl?®©÷ªR¯*8wå^í'Q¤€5n¥?xœfØýP˜£ë‡+%íi™&&&XäÈ¡U¦R%ÿgIŽæ’ «üã2-r˜›kn ”ËV馼\å¶RZ¼d){ÿù‡åKcnžûP£fme³TåÍ“›°°0B_½Â4›úæ‚¿ÿST*9sZcžÝ\+'g‚ìæÙyõú5¯_‡iM°Eü÷“dΘW¯Õ“µi·I~å’~×–üP¶LªitRÙ7²g7ãÉ?J/®UniiA»¶mè×§·Vy‚*®.TquáÊÕ«tèÔ…üùóá`¯}¾Ê“'7Oüü(Y21±¾ÿÓ§äNC0èÂ…‹ 1Šu«ÿÒ¼ÞÑÙUÙL#¹ÏcmmJ¥âðÁýLJøþý{Ú¶ïÈð¡ƒiܨ!:::ôíÿ³VåDhææÙ“ýž¤uÿWžc-,Õ¡ä>gz2Í–gÏG_|*•J…µµÖÖV+Z”U«ÖpþÂEª¹©'^622ÂÈȈ\¹rÒ·O/jԬ͛7o4µ¤ttu5AèÂ… ròÔ)rZçdÚ¯S¸rõEЍ/ rçÎM¡‚Ù¹=1åTFenžÂ… ±mÇú÷UÏõœÔŽIRØŸìí?Øw’JË1“Ò9åK(RŒ> bÅ䯫•ÇU‚”¶ÉÇÖ+OîÜ <¾½{²ió:ýÔ•¼yò°`ÞœT·WRäOóüùs²dÉ’b 4¹Ï™Ò:ŸÃ:WΜ¬þs%¬Yû7ÛwªãYÖÖVœˆÏ…=|èÆŒÏ­¢M«–äÌ•“FMšáììDýz‰ñ4 K Ö®þ‹¦ÍZ²hÉRºtîIRÍ&œË•©fsäÈÁ´_§hÒ=¥&-çnåvHxÿâÅŠâý#""éÞ³7üئÛ·nJµ“hz+V´(~þþDDDjÒjܺ}‡ò³yËVž? Ió–Ìœ‘r*•oYÊ{ç,=v‚mÛ¶}ÒãSݸq“ûKtt4³æÌ¡@þüÉæçBñÿçСC˜‘$Y‚ˆ·o012äðáä‡ý‰Ï”°©Ã€³ñù<ÜâƒÐW㯂tãø€±e|~çñ)2ºÆÿ; 8Ÿ®cE|ZŽt’Û*;ž®åõû:Þ½âÍÛwŒ›µuÓœ"¢±—l>¢Ii±ã /—o&Nšô)–­?Hó:Nš”ŸãiàKŠ̉¥y6âââX±1q?ü4Xó9-²g¥P>+^‡«{ä0ËÂÕÛOˆŠŽ!66Ž¢rb÷CúMXÁëpu›‡~A<~¬YÞçÊa–• ×@üD†ÉIm=<]Êö&‚ s6Ѧ¾+ªdææøœuH:Yàçz‚M™Bèó6âk·'¦9¸tãÁ/Õ½P‹ÈIvÓ̼W<ÊíRÏÖkwž°|ƒQÑ1DÇÄpñúCÞ¼M>ðuU­Z…Û·osð ºSÆ£GµrÝ~‰š5=Ù¼e«fòµƒ>‡´ò*~Œ™™AAA¿ø`bo€€À (€¹yvâââØ´éÓƒVVVV¸T®Ìï3góþý{"""˜=wuj×B__ŸjnUyøè1[·ï 66–ÐÐPüüý)\¨%ŠgÆÌYDFFÉÝ»êaâùòåãÜ9_ÍgÞ°a£â]ÓÆ½zuîܹˆ›‰ŽŽVç¾q“ˆíÞ\)©åU“ÅK–üB“‡ aƒú¬Yû7.\$..ŽÈÈH.]R§p¹qó–¦w{üù1Í–ðpõÐ䤚4nÄâ¥Ë !66–å+V’9³ ¶6•M?HÖ¬Y(ZTt<|ä(AÁɯ)}žùóóCÙ²Lœ<…ððpâââðó÷çéÓg¼yó†7oÞP±btttðó÷çä©ÔS}ÔòªÉÖí;¸~ý†zY~~¼~Ø“<­ÌÌL¹}çÑÑÑÄÆÆ¦ú9þøs+ãóúÞ»wŸƒ‡jÞwÂÄÉ:œ˜Ç>55jx°â?¸té2111<ÀýêóÌÇ\¸p‘K—¯ƫׯY½f¡¯^Q,þû9xЇ{÷ïA@@K–.'þ|š`óú›xöì9oÞ¼áØ±ã¬]÷·& L™Ò¥É“'•*ÙɱcÇÙ¸iõꪇ599:Á‚…‹4Ûçñã'ܾs'É'Ì8ý<€ÅK–±`Ñb‰ˆˆäá£GZ“(¦&¥ý »™×®«ó—)ÏwŸr̤·}¸zíqqqô9ĵkשîöe¿Ÿ Òº^FFF´jÙ‚Ý;¶i:¦5¥êü…‹y÷îaaa,\¼„šñé£ÒC`@ eJ—ÆÀÀ€ˆˆHvìÜ¥©«âêÊ‘cÇ ¦páBü¹r9ÿ^KýzÞtý©3›6üÍ€~}µn2š™™‘-kVf͜μù 5“+zÖpgáâ%¼~FTTsç'ÎAШa}fÌœ•8ùkh(·n«kŸ?àçAC47¤>çÜý±T·:¶gçö-4kÚ$]⌟ÂÊÊŠJv¶Ì™;˜˜n߹ömÛ©ï]—6­ZrØg?Û·nV¾ì»ñáU±H³çtëÑ‹ ¶ê£/^ºÌœÙ¿+› !„ø?eddÄå˗ȓ˚°Ð‚žðŒðW/É—'W¯^IqH™øL³€üÀp`tãø¿ƒãó9¯ÔKÔyŸ k€„¿ý›Ç·1F5ͼ IDATƧë¸?9a:úkzo^¼ '¿Kwй÷&Kf#æŒIH,ýqõ=ìèÓ®Õ[#¿Kwö¹H5Ç´ç^L˛СI5eÕ'ØÙ›çÁ¡”¬Ñ—f£(Z '¦YÕü¿ £~—©ä°éH‘j½É®õhÓÀ}=V•:ÑsŒzr¾MóæUØ[ò»t'[¹vxÿô Ož¥mX|j†t­ÏŽƒ¾ä°éÈêmÇ”Õð‘õ ~‚ç6õ]Ùºÿ,í«{Ú%çSÖáú]?î<|F};eÕ'™9ª=³Vî¢bÝÁxÿô+Íê$‹½xã!ëªRgìê¥VÕŠÔq³d¶‹¥y6ö­ÁЇÈ^¡=¶è3~9ïÞ'ä±ùº,-,˜;{S§ÏÀÁÙ…±ã'P§vâðÿ/áá^¶mÛЦm{\ݪsäè1>ìÙŸ’Ò¥JQËË‹šµëR¯A#e5;v (8O¯:4oÙ†üòÐÛ8-¦Oû…ÐÐP\ݪS½†&&&Œ5â{©-˜7‡eËWðC[È]ææÙY±| 7o¦¢vNŒ›8‰wïß+›&kà€”,Q¯:Þ”·±cÜø TvvbøÐÁ 1’*ØâêæÎÚøœ»7nÜÀ»A#ì*Ó QSªVqÅ­jbºƒ;vÀÙÑ‘úšààìÊá£ÇX²hAš~s«¹U¥²³5kÓ´y+Nž:E×Ä´!I¥öyæÍ™EXX8®nÕ)oS‰.]{ðìù3ÌÌÌ6d;w¥QÓæüòë47L˜p yž5<èѽ+Ý{õ¡L¹Š´íЉW¯B•Í>ª~½zèëéaïX™±ãÔÛ;¥ÏIüúݸ©2¾ 娱ã¼ÿ~OŸ=ËãÇ)÷ºNªS‡ö´lÞœ¾R¶¼ Í[¶æÆäó¶+½|ù’á#FáX¹ •]«²qófΟKžø·nß¡c§.T°µÇ«Ž7Á/^°dQbÀëÜ9_ê7jL%ÇÊLœò C ÔšóhÖŒéܺ}GgWFŒÈaC)]ºÄw‚ûcùR®]¿‡g-ÊÛT¢Gï>h÷ªÍ(ªWscÑ‚¹9zŒ^u¨hgOÛv¹y+m9bSÛŸ»üÔ ŸCØÚ;±}Gâ¨o>ñ˜Ioƒ~À/¿N£\E;&NžÂôi¿’/_Â…Ý—ùÔõÒÑÑ¡Š«‹fÄABJUGg×d•Ò¥KQºt)ÜÜ=©\¥fff 2XÙì³1Œ•þ‰÷ÿØ»ë°(¶>€ãßÝ)‘nÅînÅ@Äî®+&ŠÝÝÝØÝÝ…­×.iEixÿv½¾zEïùøìóÈ9g6ÎìΙù͉FMèÖ½‡ÚúY²è3°_\;váü…‹RàÀÀ@víÞÃû÷©OK'wn†DŸ~ b@¿¾ØÚØPÍÙ…jÎ.ØÚX“=[6©|Ÿ^=)[¦4-Zµ¥PÑ4hÔ”k×ãƒÕŸ¿|æì¹s|þcã{ŽÝýûõÁÆÆšjÎ5©U§>vvY¥À²ŽŽ6ÊÛ‚Ò?ËŒéSyðð!ÅK•ŵSWúöéE‘"…ÑÑÑÁÌÔ4ň¯?Ib?ÿäýý²GbÿeBÿŸÄ‡FÂ¥šfÂe˜ }õº÷…œ9â'mO¡ú\;©¹|å*eJÿ'Û‚ ‚ð³œ8yŠÅ‹sýÆ Ê–)^:sez{{S£f|äÈ¡ƒbT(ŠøùþDФÞ- …‚¸§Ûä%~¸²MFг]MÚ6LûâèO¦ÈÑü_¯sA]ò}ð#͘9›À  ¦Lš Ïú¿5iÞ’ömÛˆ5QA„?Þ­ÛwX¿a#÷îß'*2 mmmŠ)ÌÀþ}¥yÁ7aaá.V‚³§¼~›Ù._¹B™Ò¥åÉÿ—ÐÏŸ¹rõÅ¿ñšóÉÓç”*Q´–ÐE'2aœèdØd8Ù#‘ôÿo§)‚ Âÿ¥hÑ¢d1ˆ_ÄE›…í½_0Ï^ûR²P45Tì9vïû/¨T*i%&&KK fÏœŽµµ¼¨ ‚ Ð{__¦NŸÁû÷¾( òåË+¦ºÍ DÀYA„ŒãÛõþí)r4—'ýPž¼¥YÏÙòäÿ´Ÿ]çÂϳdÑyÒakkËö-›äÉ‚ ‚ ü&ªV©œê\þ¯'΂ ‚ d?c®×Œè¿ò93Qç‚ ‚ ‚ðïgAAøA"""äI©úÖr‚ ‚ ‚ ‚ð»gAA2mmmy’ð.OAA!ƒgAA2Œ¸§ÛäI”˜sYAA~OJy‚ ‚ ‚ ‚ ‚ ‚ |ÑÃYA2¸7npóæMŠ+FñâÅåEAAA!C=œA!ƒúòå 5Ë–eP:Ü8[2¤Nê”/OXX˜¼¸ hÝAœ¹ò@žœªm/RÓu’<ù·óú]Öåºñ%,~Aʃ1röy1á?¢I³\¿~CžüŸtøÈQºº¹Ë“…Ÿàè±ãTsv¡|ÅÊì?è)ÏÉž½ûhÙ¦r4ó.’‘Lœ<•å+VÊ“™äuýÖLJ…‹#/¿°~Ó²gï>þêØYžœ¦ÂÅJòìùsy²ð“¡{8—)]Jž$‚ ÿ _¾|¡AñâŒ{ñ‚ªÉ3ÂÂ8LƒbÅØçí-ÚKÅÄþ-)œ×NžœªJ¥òbj¬/Oþª.ý™3ò/jT*"Ïú%,Í ™;²º:Zò¬ eÕö“tl¦öæØ¹ÛŒ˜µ™§¯|Q*Ü<0[Kµ2‰ºº¹sþÂtttÈ•+'½{ºS®lyÑîÒå+,_áÁƒ‡‰ŠŠ&‡ƒmÛ¶¦^ÚR™àà`nzߢj•ÊRÚÐa#Rß.ž;C–,©ïN>È‘£4°? Ô—ÒwîÚÍè±ãÕÊΟ;§jêõ Ы§;¹rå’'ÿ'=vœòåÊ’9sfJ”(Ž‘‘‘¼Ø‘Úþþ“íÚ³—Æ È“%&MfôÈTwªFtt´<û»mÙ¶íÛwðòÕ+´2iQ¨PAÜ»»Q¨PA©Œ|¿„††2oÁ"Ž?Add$uëÔbøÐ!R¾1ÄÅűgï~V¯]Ëë×o°°0Ç­kµã_hh(‹/娉S¢xq–/M 4¾xù’ù qùÊUÂÂÂpëÚ…®]:q÷Þ=Z´j+•KîæµËdÊ”‰ž½ûròÔi)]¥Rqûæ5éï°°0¶lÝÎêµk©]³&C‡ ’ò2¢»÷î±tÙ nܸIxDæ´jÑœöíR¯‡o=FÞ½wMMMòäÎ €©© C‡ BGçLJúú~ š³‹<€ìÙ²q`ßîÔ¾5jXyò¿F~\úÖºæ'ÕojÂÂÂØ°qÇOœäË—/ÄÄÄ —Y:µjÒ¶Mk442tÈ0Ëeë¶ílÙ¶·o}044 c‡¿hݪ%$ÜX˜4e*:voúGȰߞðððÿû"º~ý¤F*Q‹-hÓ¦}Ë”%»ÕÎûO\§Ï„Õ¬áN¥Rù !øžýûáÚ¡=?~bë¶môêÓ¯cGÓ àþ§ÏœeÀ ! ìß—™Ó§¡PÀÕk×™0i2þ~þ¸vhÀá£Ç¸wï¾ZÒ? €Ù3§SÝ©š”¦R©¤ÿ'Š‹‹cöÜyœ?+k+y6þþ´jÙ‚aÉ‚JeꃫTv”'ý'ÄÄÄ0yêt¶nÚ ]à›™šbfj*/úC¤¶¿ÿTÏž?g…ÇÊ4Ο?&00ˆâÅŠ¡P(ÐÔÔ”ù.sæÎÇóÐaFN±¢Eøøé‡ÁµsW<–/¡h‘"©î÷˜˜ºtëNÑ¢E9°w™3gþê±Eø5ÂÃùrõ*Æ ¦HáBx{ß½w_ .„CöìÄÆÆÒ­{OÌÍÍX»Ê¢¢¢¤í}}?оCGZ¶hÎèQ#040ò ( <8pГmÛw’)S&X0o•+©•KÔ»oŒ)]*ãw†»~ý]»»óWû¶ <ž>{†B¡•|ë1rõšuT­RY 8khhPÓ¥†¼ØÿÅÂÂ\Ú_÷ï? ½k'®]Ž¿ÉœHÞ¾)©·ƒòç—'ýTAAA¬Y»žžîÝQ*•)ŽK©ÕuZûægÔ¯œ@ݺ»Sӥ˗-Æ KƒX¶b]Ýz°bÙ’TÏY~Ÿ>}bíº ´k×Fú|ÿ¦°°0ýý˜ÉÇ“7Oîß@‡N](T° … dÚŒ™Ë7ûc¤ýëü…ÂÃÃéÔµ7½½åYÿؾ}û¤Çúõë¹té7n”û!Þ¼}KÎ<ùÓ!‚ ßâÆD½|IÕt.Žãâ}ú”[·nɳþ(>¾A4î>£b®˜–è„ëàÅ„|úÀ‹7~äªÖ›cçn“Û©¹úÍÑãçïHÏ1{å²9ºcV²‡-¥ó°¥,Ýt €5;OQ±ù(éù²9º³jûIrTé…Q1W\:Lâ݇ é¹Vn÷¢C“*(•ñ ç¯?¢l“èäoƒEé.l;xQ-Ý È_d­ÐÉ‹wKÄ×ZºéÙ+»£_¨=‡,áêí§”j8 ƒ"Q¬Þ`n=x)•·«Ø¥›ŽáP¥'¦%:Ñ~àB>†ÆO­òâŠ͉Nã$ñ3™”èHõvxñÆO^€Ú§0uééï¶ý`Y¦‹ô¾¯Üz‚aÑÄÄÄ&Û*ÉÄE;±,Óã⮸YI×ËXºé÷¿¦^—iÒçN¬ó!Ó7à1ÅM 6“ÎÅ—\–,ú´mÓš°°p|Þ½ƒ„‹§^}úQ¡RœjÔd݆¤s¾ÏŸ?3dØÊ”¯D§lß±“úš|ÓÏYsæÒí-[4ÇØØ###j8Wg̨‘,\¼„/_¾pÐó ,âð‘£8»ÔfƬ9biaJ¥’©Q(8dw`ãú5©^`an¦ör4»vïa؈Q”,SUkpïÕ‡·oãë'y}#å%Ÿr#µö$ñùz¢yË6”­àHã¦-ÔâPé}®DÌœ=‡¶í]144D¡P¤z\’·Glß±KjÏäímòúMkߥ׾§Õ^&>b4];w¢E³fL˜8™úšÐ°q3&LšÌ°!ƒ133cßþƒRùD±±± :œƒ‡Ë—/_5z,«JçZZI#£™1kŽU¨X¹cÇO$<<õ©B¾Ö>¥VaaáŒ3ŽŠ•«QÝ¥ëÖo Aã¦<{þ]]]2eÊDËÖm™;!!!!j¯÷³ééé1vôH äÏJ¥¢P¡‚ØÛÙIçžäÊ™S¾Ù#CœµµµØ¿'Oý!AçDžžž¼|ù’­[·R¿~ýAAÈnÞ¼I4NÄ’+Éõë×åÉ”Æ=fbifÈ»KËyqv¾þ!t¶TÊý.€éË÷²Å¼LWÛààÉL[¶—#kFàwm%Õ+bÕö“òb’—oý8{õwÍÄçâ2¦,I À~þÁ¶ƒpmßK÷½_0µ;N¦sój|¼½Žk{§âT¡ ¾þ!Ôé4…žíjts ç¶g馣,ÞpTíµ=óá±×|¼Î`÷Ñ+´î;­ úts eŠäbØŒMRù×ïxðä Íå±×|ž¿þÀi¤ü´?‡ÁS7°ßcþ×VR$Ÿ=-zÇÇäjT*ÌÉK÷ˆŽ‰áèÙ[fæêí§x]¼‹SùB¨T)O!·¼È‚µ‡9±a4~WWR¦hN<¶zP WVŒíˆ½)/Î,âܶ ¼õ äÅ?ž½ò¥hÝAd­Ð÷1+ Hê¹–žÐÐPÖ¬[OÖ¬¶8dÏ@ß~±´´äÌ©¬]åÁÒe+8{.~Àì9óðññáèáƒñÜÏýÔ.bÒÈÓ§ÏprJ9Þ ZÕ*DGGãí}‹:µkÑ´IcjºÔàØO èÀ§ÐOôé7€²©[¿‘Z0V.½á¿Ÿ>…²fÝÊW¬L§Lœ<•/_âo¾|ÍÏC88dçäñ£ìÙ¹“'OsÂ+õßÁû÷¾<{þŒƒûvsèà>Þ¾}Ëì¹óÔòW­^â…óع}+|¥ÞÖoÜÄàý9wæ$½Ü{ÐÐé&‰±1;ºrüˆ'žû÷rûÎIúœð:É‹—/Ù·{'ÇFCCƒ:µk±ï.Μ<Ž™™Ë–{ R©X±l ›7¬çØO,,Ì¥çIÔ«oLML8uâÇx 6U‰Ï»w\¿~ƒ=;·sòxüûXá‘rÐÔöw@@ ÝÝ{Ó¶u+.ž;͆ukغ};[¶n“oÎõ78èyˆ½»vpþì)ΟKžyœ¥‹0oþBÞ½{/å{¬\[×.\8wšIÆ3aÒÕžã{:|„‘#†qáì)†È€ACÔ^79y{’hõÚu,œ?‡‹çNSÝ©ã'L–òÒû\~þþL›>7÷ž888°g×v\;´GCC#Õã’\tt4¯^¿æ°ç~Ž>H@` Z{+—Ú¾K¯}O«½øûñc>}úˆK gfΞƒ¹¹9ûvïdê䉸øÄ·uj×âòå¤à~¢ “&ÊÔÉQ*•Ì_°ˆ§ÏŸspÿ<÷ïåÅ‹jç'‹—.㦷7û÷îæØaOžÉëaÑ’%¼|ù’CörèÀ>ÞúøðäIüy«J¥¢k—NìÙ¹K s:tìÂì9ó RïLòo âå«W.\€.;¦zŽñ§HyµA+Z”‘Çþ° óæÍ›Ù¼y³<ù§wÏAáÿ÷÷ów\¹õ„©ƒÛ ­¥If]m¦mË®#—¥^ΑQÌÖž<Ö©Î_¼õà\›V!ƒ5-ëV N[y15£z5AWG íL4t.ѧI½A¶ºHÉB9Èž5þD߉käÍaCçNhj¨Èje‚‰¡>{_%§½%mVB©T`ocÆà® X½C=È7°K=4T*rØYP²Íj—Ã!«J¥‚Î%yü")€0¤[C2ij`d Ç÷Æì<œòB@ní®S´oìHþœ¶( úu¬Ã•[Oxë›òB¯F¥"œ»ö¨èN]ºƒõJ²ÿDü ¯‹wqqL}Þê]G.Ó®‘#reE¥RÒ¾Qere³”“¼ö 2*š§¯|¹²{ ·=grëÁ &,Ü!/ªfμù+Y†²¹qã&kVz)S&^¿~ƒ÷­[ôrïJ¥ÂÖÖ§jU9vüÇNœ SGW ²dAKK‹ÝÝRíy*ò1¾7Œ‘aÊ©W”J%&&Ʀsá²sÛÜÏù3'7v4Ë–{°ÿ@ÊC_3zäîßÃù³§X»Úƒû0ejÊ›,©±´´ YÓ&¨T*ÌÍÍ)Q¢xºÁöÎ]ÑÔÔÄ KºuíÂÑcñuÉÀýÉž-::Ú_­w€êNÕÈ•3' …‚ÎÕÉ;gΜ sæÌ”)] •JE–,ú-R„×Éz`) F†±±‘4Ýžc¥Šhkk£R©¨X±oÞúHåÓóâåKîÞ½G¿¾½ÑÒÒBWW—ýûrü„—ZÏÛîݺ ££¶¶6NÕª¦[WÉy<‰]Ö¬Ô­S¥R‰µ•\;°{Ï>yQÌÍÍ ýÊ®={ùüù3övv©ölOKzuúµü½ûöÓ­KgLLŒQ*•twëJxx—._‘¶/^¬(Í›5!sæÌß5=Æ·ÖuófM)Sºzzz)®¡>~ü„‰qÊß CÓãââøøñ£< nŒœ>sŽžîÝ9â¹×Ñ«O?‚ÿåÞm¼zýš§OŸÑ§w/2eÊ„……9M›4–ƒ„©PFG çêdÏ#ÑÏÏ‹—.óWû¶=| cÇ0aâdîß_øÃ‡\¼x‰Ù3§qôðAê׫‹›{¯T[[³v=­Z¶PëÅ|øà>¼Žá´×15¬O¯>ýxú4©v¢oi/~¥ÄšMüùNZÒûÍeµËÊ­Û·9uú qqq,òfOZ²K7 òæÍƒ™™)>>IÇæ*•¥ [Ù2¥10È«ׯ¤üïåT­šô]©P¾<ùòæåô™¤^ÎÉ¥Öž´nÕsss 5]j¨õÀOës}þü™ZuêóÞ×—õkVѸaƒï:Vvø«*• ]]]:vøK­½•Kmß}­}O«½ôö¾M™Ò¥¸yÓ›úõêBB/w]]]H%®¥R*™·`!Ïž¿`άÒ͘£ÇÓµSG ÐÒÒ¢»[7µíöìÝG—N1È’mZ¶hƱ©ÎoiŸäõpèðºv錾¾>ššštïÖUí9´´´hÙ¢9ׯáñ“'ÔªÛà‡®5ð-bbb6b$þj'}góçËG¥JäEÿ6àÌ :'ö^þQÁægÏŸÓ²u[Š/…K­ºxy¤l…¤ùž444زu;•«V§TÙ ac©>7𕹡ÚßrɬÓÔPÔ«iå6/µ9ˆßûcc‘rîµ!)¾ËžÕ_õ`‡¹Iüð_­Lš˜›$œ454Ô^ÀØ0iA,[Kü?¦(#÷ö} [½°,ÓË2](Ù`(zºZ‡RÓuŠÍQähÎÜÕÉŸÓ£,z\ö~ÌÞãW©[­8uªg¿×5"£¢9ý.•Špéæci;âñ ø~ÄÎZ}nBy$§T*ÐÑÊÄÄþ-¥ z¶.>þ9_¿>½¹yí2#‡僟ffñ¯ùáÃê6hˆcU'«:qâ„aañÓŽ‡`e•735U :¤ÅÂ<þæBPpÊ rll,?~Â8E€ òÔÙ IDAT Ðщ¿Ø+Q¼Íš4æt²Àà·ÒÑÑÆÐÀ…B½îÝ»qúì·=yÂgH¤©¡‘îpY’>-,Ì R»0Ëá]úÿ×ꆹ'²²´äƒ_ü´.·ïܥ߀A´jÓŽ–mÚqîüH×±³Ëª¶h‘Ÿ¿?&N¦e›v´jÓŽå+<ˆK9=HjƒÈœ9³ÚÂr¶66ÄÆÆœôÛL>t>þwøm¥)z±ÙØØàrJ{;;6¬]ý{÷q®Y‡³æ)/&‘»Ò«Ó¯åa™ì3* lml Lº.qpˆ°|¯o­ëÙ“¾Kræf¦üÝ‘°`£J¥B_?õ¹Û•JÍ›5‘‚î.5œ151ÁûfúÇáÇ BOOO톊µUÊyêcbb>r4Á!!Œ5BJ‹‹£~Ý:-³3oÞo“Ø¿U–dÇ0s3³ímr©í»ôÚ÷ôÚËÐÐP)°lmm%ý^Ž;NXxqqq:|„råÊJÏýèÑßlݺ]it¾sÉמŸ_ùùù3bÔéaÊ´„‡GHùÉ}Kû$¯??ÌÍͤ¿ Sœß½zõš™³çЬEkòäÎ;Ý;Rý.ü,111 <SSSÜ»ÇOA0pðP´´¾~Í÷»ú÷jø;%ÎŒ©S(Z´HªÃ¡Ê”N}ÿ}ûRö(HÍ·N©Ñ£go*U¨Àúµ« ùH·îjùÑÑѼ|õ ¯ãGˆˆˆ G¯>LŸ9‹ñcǰn]ü°×sgN¢P(¸wÿ>&&)/RA„ÿ¶âÅ‹£•=;ǃƒ©žFš# ™sæ¤hÑ¢ò¬?Fö¬æ„|úB`p¨h}éã‡J¥$«• >¾ñˆÄ¹”ScajÈÛ÷ê7wýSï—(­çûûù;îþýšÆ.e¤4sž½VŸw”„ÀøvÏø‹áD/ßú‘Í6é„àŸŠzó>€œöñmÏ^ùb ¯‹¦FúAS+s#út¨Í„þ-äY^tQŸÈ¹bü´¼®spå0òd·æÍ»@¶¸@V+ìm̰·1#î©ú4VæF¼y§~¡›¼µõ›ÃÞ‚°ˆH>††ad @xDÚZI1éiÖ´ 7oaÓ–­´kÓS³ø œc‡=ÕæLdbb‚¯ïiÁ#ÿ€€tƒ®‰ôôô°·³ãĉ“ttýK-ïÂÅø}œØkKÞ(51±1hk§|ÿTLL,ÚÚ©O¿!—Þ¢J©ñõý€]VÞ¼y‹¾¾¾Ú…YòÅ ¿Vᄒ꿑×oÞP¼x1"##éÒ­;C  QÃ(  ¦VVþÞ‡•¥%kWy ¥¥Å¶í;9xè|CýÛÚXóéÓ'‚CB¤€¬Ï;T*––R@6­Ååä¯gckÃÑcÇÕÒÞ½{‡uê=säp`Ú”IøлoVx¬Â½‡J¥’˜Ø¤ïfÈÇ)æ»L«N¿%ßÆÆš7oß’7oÒo}|°Nö>åÇÁ¯Tm _«ëDŠtê:oÞ¼pçî½Ój?áE‘Â…ÐÖÖN5Pog—5Eà-"2‚Li|G…ŸÇÌÔ”/_¾&M(»‘Åà¡Ã  dÅÒÅR ÀÖÖ†Ô×ˆŽŽ–^¶¶¶¨ï먨¨½M×®Û@Ý:µSÜŒ‘S*•è%{ýß…±±Ù9xè½{ªÇ(’Kï7P©b*U¬ÀÝ{÷èÖ½'vvY)]ªTŠã]r·nÝf̸ ¬_³J:®T®ª>í†ü˜ò£ÈƒËï}})Z4õ‘Xòö$QZuòµÏecmÍ ýèÙýûöÓݽ¶66,˜7'ÝúJÎÏÏ[Ûø‘w¾¾¾)ÚÛäR{Ÿi}&¾Ò^ZX˜s)a.ì!ƒ2qò6lÚL›V-±´²¤U›v”+W–zuëHÏgjfʺ5«hÛ®+W¯¡sÇøù¨MLLøðÁO:¿úøñ“Úù•‰‰ S'O¤l™øÕéù–öI^‰¯Ÿ;W.½~XX8}ú ÀÏÏ6­[²sûµÞíÿ†ÈÈHúŒ±±1cG”Î1>}ú„×ÉSœ??ÕËŸ(íogV¦t©ÃÓgφõDSSSS:´o'/F§Ž¤a]:uäð‘ø…‰ì³Ùã}ë^'OG¡‚å› ‚ ;Nœ`‚½=ÇR9a=¢P0ÙÞž^ñóãþ©l,Œqq,Âè¹[‰ˆŒâó—ÆÏßA«zȤ™úɸ\ÓZeY·ûŒ45ůëÜ~ø}C8Wm÷¢eÝòèh'DëV+Γ—ïÙ¸÷,±±qâÅ?êV+Á‡€6îïúú] צC“*ÉžñŸ›å±ŸˆÈ(>††1iñ.šÖJêy’–Mª°ló1.Þü›¸¸8ÂÂ#¹ìýX^LR£R¶{^$“¦ùsÚ¢R)©U¥(S–îÆ¥Rêq]J³v×iî?‰Ÿaÿ‰ëjS‚˜ëóÎ/_ÿbcã01Ô§QÒô¿ŠOŸÃðñ báºÃ4vùú óò ìßÅK–„½ `ÚŒ™„††Ç[i®EçêÕðX¹Š‰‰‰aÃFõÑo7mI‘–¨_ßÞ,^ºŒí;vòñ#aaaœ:}†‘£ÆàÖ­‹Ô‹ÓÐЀÇOžMll,þœð:ÉçÏŸ‰ŽŽæÜù ìܹ[ºšÞkÊíÝ·Ÿ€€@âââxúôsæÎ§AýøçùÑÖ¬[Gdd$¡¡¡,_á¡6ß©Ü×êàÌÙs<|ô7$Ì·ùäÉSªVväË—/|þü™¢E‹ P(xëãÃ¥Tæ‹LÎïƒòçGKK‹°°p<–ò2eÊ„žžÄµ—÷ 677§Bùò,\´„ÈÈHÂÂÂX²l9µjº¤N} ùþ®âX‰€€öô„„i6nÞB£†ñ‹+&÷îÝ{^¾Š?bgk+ŠÌš5+7nÜ”~Ú½;iùDiÕé·ä7nÔUkÖDll,ëÖo sf=ŠKû¦¡¡!þþþ¦ºà¤Ü¨kKK Z·jÁ€ƒ¹pñaaá„„„°nÃF6nÞL¿¾ñ Ŧ¶ß›4nÄž½{¹~ý111ìØ¹‹ÈÈÈt?£ðsØÚÚ'On–,]NLL ïÞ½g÷Þ½R~XX8î½ú¼Ù3Q*• êø›,4à𑣜9{ޏ¸8nÜôæü…‹T¬P€fM3á"^¿Ž_}ÂcÕjœªÉ‹|·ôÚËJ+rîÂEüppÈÎ*ålÙ¸žzuëÐ¥SG¶lÚ@Ÿ^=ÕnÀb% ³fNcùŠ•Ò,ÎÕ«á±j5?~"**Še+âç‰NÔ¨a}æ/\$õ áïÇñ硾¾:|¤´hì÷´O.ÎÕY¹j ¡¡¡ÄÄÄà±r•Z¾k‡öìÞ¹¦MÿëÁæøã[LMM:x ááá|ùò…ððpôôô035UÛ/šo»Zû…nz{3qòT¦OœæªK``YôõÕ††É‡† ÖaanN`` ÑÑÑ4¨WC–­ð`¤ɸww£EófjÛ ‚  '¯û¼½iêäÄègÏ(”07ß]##ôsäà€——Úp¶?Õ†Ù½é5vö•z R)©]¥83‡¥¼Ù›–†Î¥xô̧¶ãQ(Ôs*Aµrÿü†oLL,ëvŸaﲤEfH˜2bÏÒÁ ™¶.ס¯§Ã’ iìR†C«†Ó{üjúŒ_ƒ¾.nmœÕ¦ãø§2ij?—-yûŠ‹cQf o//–‚sÅÂÌñ‡.奺ÚZÔ¯^’2Eã{‚È9W,L›~óÜ5iôW½j%Ù°ç,3†¦]÷]Êðè™5ÚO$<"ŠuËS¥LR¯Äâ²Ó¼v9 ¸ôÇÖÊï3X>©ý&®!G•^ÄÅÅñW“*ôq­­ö¼é©ìX‰ùó3{î|&ŒÃü¹³™6c&Î5k‹µ5£G ÇÊÊ’>½z2qòTjש¶Ž6n]»¨ý†>|H\ò¹’q®î„¶¶6Ë–{0mÆ,ÂÂÂ040`ÈàRð ~½zœð:‰c'jÕt¡Gw76mÞ¨Ñc‰ŒŠÄÞÎŽÑ£FPºT|g‰ô^SîÚõÌš3—ÏŸ¿`ldDÆõqëÚE^ìÿ¦©©I‡ԭ߈©P¾ƒö—S“^½¸¸83sÖl-š5M5àÌá#ð÷ ³žyòäfÐÀÐyeøˆÑ4hÜ]]*V,¯<ã+uúµüŽþ""<‚f-[A¾|yY²hAºmJþ|ùp©Qƒz cei!-™žQ×CÂÆÚš©ÓgðêÕk¢¢¢È++—/£H‘ÂR9ù~Ï“;·´0Ù›·oÉáàÀ¢óÿõ`ƒ?`ÖŒiŒ7‘ ŽU±´°à¯öíØ³7~$òÙsç8á+'Û²gËÆ}»±³ËÊü¹³˜3oƒ† ÃÊÒ’ÉÇã0¬¾AýzÓÅ­;!!!äÍ“—…óæªÝØØ´e+ÅŠ‘‡‰J%›6oaĨ1äÉ“›eKªMù±eë66o݆Ÿ_üÔ8/_¦IãF´oÛF*“QT­R™E æ²Üc+W™©)ƒ F­¤çÑ£G¸÷êMdd$ú™õ©ìX‰Ê Á÷Î\9j,{öîcøÐÁK¬RÙ‘3gÏR§~#LML(V¬•*þ;óÒöïÛ‡Y³çrçî=LMM˜6eY³¦¿VÇ·ú§ŸK¡P¨åËKrùóç#þ|¸Ô®Ç—/_¨T±‚Ôüéµ—Y²èÓ¯O/ºvëÁ ý)]ª$*•Š   Μ=GÙ2eRL•(w®\ ì߃†°kûVúôêɤ)Ó¨Y§::Útrí@6{{©|âmÛ»òéÓ'Œ éÔɕܹrñùËgÎ_¸@—Ná;Û§Þ½Ü^¿>†üÕ¾­t¬×ÑѦ\Ù¤‘‰ÿ¶ã^^Òh¸í;vJé… dËÆõ,\0—é3g“?¾d[ý9»M%ï>¥=”ɪd   h%<´¯^÷¾3Gʹeä ¾¾(Fb°yäð¡ûŽ!Ãõë×ÿGSj|­ìË—¯p®YïëW¤a>z2qò.?Ë›·o©RÍ™“Ç5küýܹóôêÛŸ›×Ô{kܹ{—Ž»±`ÞlÊ–ùu?Aáû8yŠÅ‹sýÆ Ê–)ÆWæƒ-P8~8ó½Û7åYéºuë·ڊ—.ý±Óhhkk§˜¦ág(Ûd=ÛÕ¤mÃß§Ó‹7~d¯ìNôß[P©~ŸjÕÛM i­²¸µv–g}•"GóÓüh…‹•dÏ®íRàâ[=|øˆºÐ¿oš7k"Ïþm½õñ¡FÍ:ܾy-Åü‡ßkøÈÑXYYÒ˽‡~Q Aá¿ãßšR@+a.²ˆŸ<ÅÀ¯$æÖä~ö”‚ ‚ ‚ð+‰)5þe?â¢ó{È‚ ‚ ü"¸(‚ ‚ ‚ðû˰gAAøÝ\y#OJÕ·–K¤ £˜RI\&mnüÃmAAA„Œ)“<á!Îÿ§’%Š‹é4A„ŸJÌ ¦¦ò,AAAAÈPDÀYA2¸˜O P©PÚ;ȳAAA!CgAAÈàÂïß&\¥v©òò,AAAAÈPDÀYA~’Õs'«ýàŸjºkßájËùŸðDC¥ÂÔÑY4Ü‚ ‚ ‚ B†¦”'‚ ‚ðÿ[=w2›—ÍaÏúeÒ#.á_ò´-Ëç°zî$ùæ’wnà÷à9r£Q¬”<[éT« ï^¿'K¾–ÿ_rîè~&÷ë,OÎ0¼ÇÈÔœ“çcacÇã{ÞlY6—×Ï££«K[÷ÁB}®ðÔ(JÖϟʵó^¨44¨Z§)u[¹²kÍbÞ¾xFïq³¤²;V-âí˧ô7[í9bb¢S}Ÿ?~d´[KºœFþb¥ˆŽŽbl¶T©Ý˜ê [à1c,ÖYyt÷&/ÿ¾¾‘1Í;õNõ¦Â¹£û9sh/Ãçx¤ºOJUvfPÛztè? CcSæ€ÿ{µ­‡‘™…´mrgíÁsÛ:>`lnI×+WöEzï¯O‹²g-m]¦¯Ý#OAøÏ øðŸ—ϳ`J• 3+[ZtíËæÅ3©Ó¢¡!Áß»•‰+¶aja €R©DôyùœÍKgóøþ-@ÎüEè7ižT.(àû¸âóòVvÙéÐo„­Ó²õÛtÆûÒÙTÎïÞ¼dã¢é<{x½ÌYpªßœšÍÚJù!A˜XXÿA·KfáX«;ôÒ²çÎ/ýPÛzt:«óìÁ¦­ÝÃý›W¤ö5ôÓGÖÎÄã»ÞÄDGa‘5½ÇÎâà–5)Îy²åÎÇ võYyè2J•Š[—ϱwýrý|Q(•87jEíæí!¡=µ²ËÎã»7yrïZ:ºÔk݉*uKï-Qb=+ö­¼ÞÛùÅKðåó'f éÎ˧“ÅЈæûHAic163§q‡ižƒ j[&Ü9²c#¾>¯15·¢]ï!ä*P ÝÏ•($(Ã;Öá}á,•k7B‚iƒÝðcBߨ*†ÏYɽ›—ÕÎeT* N{îÆsËÂ#Â(\ªIkõ8ä-ˆ…uVÞ½~CÞ‚DEF`cŸCm›?‰8 ‚ Â/¶gýrÎxî@+.ƒ˜²ÄÆ«`Qª›M&Ão~÷':up.MZS¨d96/›C Ÿ/Æfì\³„·¯_0eÕ.´´´Ø¼t6a_¤m¿–ŸÜ­ËçØ¾j!}ÇÏ&{ž¼ý 3+[B‚˜3¢-»õ£Bº„ ¥¥M©ÊÎ<¹‹ê ZPΩ$\pÌÙ—v=‡P¦ª þ¾Lé×]==ªÕoÀ §(Q¡*WlC['õažÛW.¤q‡î´qŒf¦Lì]¿œ'÷o3yåN444™5¬'{×/§YçÞ|xÏâIÃè:d<%*VãÕ“GÌÚƒüÅËÊŸ6Uo_§z£–´ë=¿wo˜2°+6¶T®Ó˜a®M ÀÀÈ„¸¸8.{¦e÷þò§H÷ýµï=ŒÕ³Æ3aÅVlZ…‘‰9N âëàèžÍ ± k{®Ÿóbñ¤aL^µSs+µ×H.­}’œM6ÚºfÃÂiL[“zøÎµ‹l_µ“-W>î^¿È‚±ƒ1o5vñŠôÞß¼­GåO)‚ ÈÄÅÆ T*¥"€‘ ¾ïÞðäÁ,lì8up7WÏG¥PRºJ ê·éŒR¥":*’™ÃÝ)V¶2C[[›7ÏŸ¨¥ÏÚË éK±Í–ÏmëX0v“WnGCCSš ..V*Ÿ(2<ŒCºS¾ZmúMœGp€?Ó¹afeM‰ŠÕøò9”YC{‰…þr£pé ò§úå>ñêÉ#:ö%ÏR³fîDÚõJö<ùSL7qbÏfoò…‚—O’ÅЈVnýRœóøûú¨mkneKçAã°¶ÏΫ§3®g;ÊT©‰¹%·¬fÀääÈWˆû7¯2kxOŠ•¯‚ÁÿÙ»óÊ©£ í•­½ÔŽO^¹CzÝäÒ:;´}=}ÇÏÁÐÄŒ}V°nþT&,‹¯‹ô>Wp ?‡¶®ãÑÝT«ßœ&® &³ë IDATîhhh0pÊBºÖ­À¨¹k023—^+¹˜˜h|}^3mí¢"#X0~0Û=æÓ¾÷0yQHcß]:y„ö½‡1gÓ!B‚ß³=K”¥DÅj¨T”­Z“}G ¡¡ÉÒ)#8°i®Fóæù¾„~¤”cuVÏ™ˆ‘©9ÝGLæÕÓ¿Y3g"e«Öä’סçõ ¦ö%”^cg¢T*¿z¾Þy¢ÜžµKyrÿã—nAßÀý=˜9Ì)«vJjy=ló˜‡ïÛWL[³M--¶­˜ÇÛÏ á†EÝV®¸4iÍÙ#û˜:¨…K•§f³vèãô&?ÒÇà |}^ã¯$Ü[4~uÊ'uðø“¤=þ@A„]`_¸8u‡N¢Éüµè¥rÂü_ñöÅSüß¿¥xù*héèRº²3g%¯;AÝȬŸÍLZÔoÛEmû¯å'wÉë0•k6 gþ"¨TØds@©TróÂi¬²fñVCT* ŒÍ,ÒìqóÂ),¬³RΩJ¥Ss+j7oÏÙ#û¥2 ´ë5„,†F©öìÈU Uê4FGW MÎ;@ÝÐˬ–¶6Uë6áÚù“ܾr{JVrB¡P`Ÿ+/%«ËŸ2M–6ö”¨P3+[*:×åÚY/LÍ­È_¬çàñÝ›DD„§Ê ¤ûþJUv&wáb,;€³G÷Ñiе¡½%*TÅ&[ %+9‘Õ!·/§ì–Ü?Ù'é¹pì œëJCn –(GáÒ¸p<þ3óïOAHbln…‰™Çöl&6&ÿïØæ1ââˆ%8Àw¯_bfiÍ”•;:ÛƒÛWÏsbß6þ¾{‹°ÐPZuï‘1Z:ºäÈ_Xí5Ê:ÕÂ.Gn”*µš·#$(€WOÿV+§ö7 7ãbãhìÚ•JsKk6àÊéãR™ékö0k“'s·¡’K=æ€ÏËçjÏ“„†`j‘ö [€ªuš¯hI´utSLµancÇÓ‡wð¾|ââÔzG•]6¬í³`—#7†Æ¦$ J+çHŽ„ [þb¥È¬Ÿ…>¯¤üïU¼BU¬lí!¡·Ï™—[—Õ§áH”Ö9˜Sƒ™š£P((]¹>¯’öoZŸ+<ì C:4"Ðß—á³=pt©/›ÿ‰šMÛ¢T©ÐÒÑ¥V³ö\;ë%/"Imß›YP¥Nc”*F¦æä*T ŸWI‹õ.]LZÚ(U* –*χ÷ñûäÉýÛä+¿ùã»Þ”w®@èÇ´ttã7–}?”J;W/âÝë—¸š&ÝÌùÚùvzç‰rç¤n«Ž£T*©ß¶ ‘‘Ü¿yU*#¯‡+§ŽQ·UGtô2£¡¡IýÖ)ÄÖ̤EµzÍ9wo^¥(kjiCHp€ô·¹MÖ¯.Àbea“($ÀYãP%[\IS3$Ì(ïÅcdjΗÐPµ´´èê«ÏgghbÆïëpB¿uù+!3ŠÄ÷˜îMXkÙ9FråªÕDO? ž[ײiñLêµî$í—¯¹|êgï%ìógP(øDl² ò} ÒÐ$&&F-í{Èçå541%ÈÿƒZZ¢´ÎÁL’S¨T*b“½¯´>—¶Ž.“VlåøÞmŒrkE©ŠÕ¨R·‰4-Ì·JþþLÌøò?öî:ªŠ­ àðPÊ A±õ^¯­  Hˆ`¡bww×gw{íîî.PÀBÄ.ìîB¥QI©ï`$%ññ½t¢##ÑLÉ-mh’ÿg)TìüN{ó)6†¤¤$.9[ LòcZ°°”>!+TTUÓM‰õ3åÑÕ#_¡"\ðñRÊáü…LâòUl(_ņgï2oÌLÌ òW…Ê_Ä<ŠžÜ½ÉúùÓ=o …Šÿ À –µ•ÚÈc›o%LÇR¢ŒòøTéÆ`é”g¶_†&ùiÕcM:ôä̱CÌ;#S3Lœ›áñR$åT @K'Wú¡ilgºû”’ÃÚÀØ”‘sV’#§'=öqÁçzFFÜ»z €Ö½†°yÉ Ž»íÄɵú&¦LБ2æVX;¹HëËk`Ȩyk™6°3ž»6Q¯eÇäòLâíŒâD9CÓü½ó—Ž7@pÀ[ ;òeûœWÏ€° -²Ï‰aɤa„‡áܰ%“VôJ÷ Ãï%>îK§Ž$®>Ž–n´EGFpí¼/‹w‡˜ÌãÚÿ¢ô¿?YLLŒ¼è«¹ºº~ñÚºu«¼™ ‚ ÙÌ%ßc˜.AñÒåÑ32–^¶5àã± [G„²zÖø/:NS…púÈAxçÿ‚³GRÙÎ RòÞÙ×mÄŽ• 0Îg†Y‘´'5ÉhûŽîÝJtd$Œ¢IÇ^¬š1†øø8iÙ›—Îòòé#.ùåÍó§i¦íP”Ñ9Q”+.ïCƒyJbâ—¹;ík»ráÄéóÞºÆí+ç±®‘œŸ’¸}‚ ‚²„„xˆ‰á„û.Nz a»äÇÞKU¬Œªš*6­”RnœpßME›ä \K–­ˆšº:»Ö,&2â#ŸbcxtçºÒúÏŸ8ÌëgILHàðž-äÕ3 °Â(åô”®T…O±1xìXOtT$III¾yÿó'r×ï¬ïÉüðo·ø?{Ly+[ùª²…]àµk3;7DlL þ/ ô%oš¦—OI©9LÍ ‘+W^¢£"!˜GQXHÚ¹rI7”o^>Çû°ÏO }O×Οâù£{$%%qýÂi^<ºOE«/'þ'²º_95µ¨Ñ 9SWí’æìPÏ‘M-m^<¾é¤t8´cqŸb‰ŽŒÀc窤äÿÂC‚(òG)räÔ 6&†‹)Í嫨rËïïÃBÈW¨Ãg­`Ü¢ Ø8»P¯e'Æ/ÞDÓÎ}•r¥çÊ£‡N®Üô;ƒCÛÖJÿ3‹·3Šåqª}†xíÞÌÇ÷a$&&rtßV´ttø³l¥u*ªlç„çÎDGE’˜€ÇŽuJõuš·gÊÊ8¸4þáͱ11,?]}CÚôúq±1ÄFGñ)6 -mtõ ¹xòóyùÕ¤sëä犉‰¡kž ýß`*UÌx”KfÜÝÝ¥¿ÿž±c“gƒoÛ¶­B+AAøöb¢¢#ãG:£Ó™ÄîwwÒc/uÉ‹±­Õ·-« |KÓÎ}Ù²dÃ;5DCC—05û<:5³zE¶5 `ñäá¼ FÏȘ¡Óc”¯&Îe÷ÚEl˜?M--: …¡I~\ZvdÝœ)œ9v¶½‡bíT—ÿM_ÌÖe³Ùºl6Ú:¹q¬×ÛÚ®òû*:ô„M+™>¸‘É“G—º­:R h ô é;n&;VÍgݼ)ý³Uìœ Oy”8&&ŠÛWÎS¯egùj!%oá³·Ù¹r*jj85h.MàP·î[×Юïp¥å¥·}îÛÖ0váTÕÔp¬ßŒ«çN²gíRZõ)9žw­šÏ‹G÷Ñ·ž£¦J#}Ò£gdœî9QT¸Ä_T±¯É˜îÍ104fÒŠíJõÅK—§}¿á¬˜>Ša¡è›ÒkôtòLž ¸}‚ ‚²;W/±xâPÔÕÕ)^ºC¦/ÆÐÔ Rnn™ºˆÍKf1°EM4´´q¨Û»”›µZÚ Ÿµœ«0¬}HJ¢`ñ’Œšûù©×6ÝØ°`þÏŸ¿p1úM˜-}öà.kçN$&*ŠáaŒíÑ‚‚Åþ¤çÈ©äÔÐdØŒ¥ìZ³˜Q›qþ´è6 9¿ª*Þn;Y;{"‹—äÓe8±íÏTÑÚžSæqhû<¶¯'îÓ'tõ iÕk0ÆfåÍ¿ðêÉŽD|Ü'´trSÁÒ– –Éëò˜ç…ÀŠUí¸yé £º4#¯ž%Ê”£|•“—¶E·ìZ½§î’W߀ž#§`œÿÛ\§¿v¿TTT”ê›wíÇÆ…ÓÙ° y”´\á?þ¢ð1¼c#b¢")gY–=¿œœùŸjÛg›—Ìà¤ç>rå΃eõZ\<™üt–v®\4íÜ—¹#ûѲç`JU°@UMïøyé,¥+Z¦;Ùa¢%hÙc˧fò²m™ÆÛéʼnŠ–ø"N­Û¬=Ÿbb˜Ô·=Ÿbc)T¢$ƒ¦.TJá!×´So¶,͈ŽÈ•;µš¶•:–545)cn)_䇹zî$wü.BÊD詊ýU–q‹60`òƒ±£GþãNgWWW¥çíÛ·³}»ò EŠmA!3Þ>'±07ÇïêUªZYrU–zvý‚iJïlNþqÔ¨}¥r‘¿Yø–n]ËëçOè=fº¼ê«ø¿dBï6Ìß~-\òêeÍì‰è›Ð¤coyU¶Ý·OAáßxúàÞn;yñø>ñqñäÌ©A±ReiÖ¹ïçüåÿ1±11ônhÇÜ-évšg79nceùm;Æ#"#¹tù æ•*É«ÒôøÉ3ªXT´¢XàÄ+¼^I²W*éßÙr„3@¥Š;zä¿îtN•Yg³ ‚ |kòŽäSžûÓ,„ì(>>Ž«b_·ñ7ïl–¤óˆi¶‘Ý·OAá*V² ņO–ÿ§¼|ò˜ä/HRR"n[Vb’¿Ð¦³ùW–ms8#ët¾v]9OSV¥ænþ͉‰‰Ì™;»ê5¨liMm—ú\¸˜<<ÞÁÑ™+~WiÝ®¥ÊVàíÛw|úô‰é3fQµše+˜Ó¢UÛ/ò ‚ ‚ d7{Ö.¦S'ÔÔÕiÖ9ƒÉ‡AAá' dñÄ!ôm\þMxrï}ÇÏ”7~‚l;Â9Uj§óð‘£™=ão*V¬ÀÅK—åͰ²L{ÆË¬¦ÉpuÍ<¿âå+W8xȯCîäÊ•‹ç/^ §§'Õ7ž‰ãÇQ¾\Y´µµ™9{~~~ìݽC^ûû+%]AAøÖ´í*/újͺö§Y×þòâoªÛ°äœ˜ÙUvß>AA„ß]+[*dÓ‰<wÙ¾Ã9-éu.o&&&|ŒøÈî½ûhѬ)E +O<ÔºUK¬«ZIïÝÝñ÷ô©˜åOžÄ¦x±äÙMAAAAA~EÙ¾Ã9uòÀY3¦S±âç™P†"… ³kû6–­XÉÒe+hÚ¤1C$gÎä3KÈ:”ƒCB01ycA~–¦jò¢4eµ ‚ ‚ ‚ðëº /ù5dëü©ÍßbÒÀo¥D‰âÌ›3 /w®^»Æò«¤:Yº }}=^½z­T&‚ ‚ ‚ ‚ ‚ð«Ê¶ÎÙ±³ùÍ›·<ñ}== (@DD„¼™Ä¥nV¯YGpp Ü»ÿ@ÞDAAAAá—‘-;œcbb˜3o~¶êl§WŸ~T¶²Á©f"£¢èÙ£»¼™dØ!”ú«$uë»RÑ¢ “§L•7AAAAAøedËΚšš¬]µ’7oÉ«¾š«««¼è+]º‡=Ê‹ðõ9./BKK“IÇ3iâxy• ‚ð›¹zõ*Þ‡Kÿ677—7AAA„ÿ¼l9™”NçËÝÝý«^‚ ‚ð­EEEaccCãÆMˆ‰&6&šÆMš`kkGtt´¼¹ðjÖváü…‹òâ_V×î=Ù¹k¼ø›óó†2å+‘ÀÔé3Xµz­¼ÙOµpñªÙUÇÖ¡†˜/ã+eÇó)‚ð­¤^ÃbccåUps§UÛöòâßÖá#GéÑ«¯¼8SïÞP½FM¢£cäUßUÓæ-ñó» Àè±ãY´d©¼‰$»]ïµ<Ö’ûYÇ7=ÜÜ騥›¼8]å+Uæé³gòbá7“-G8 ‚ ¯ ** KK+¢b>‘+¯¹ò~®{H•*–\¹rù›ÜdýUݾs‡+Wsõê5bbc111¦uËthßNÞô‡ÙwÀ&Ê‹Y¹¢¥¥%/þiž}bÃÆÍìÝ€€€LMMè×§7õë¹Ð§ß|O–¯Žî]»0h`yñwãÿæ 7¥Y“&Œ1L^m|mÜdaaŽžžž¼ø ·ïÜ!GŽ”üóO 9bZZß.† ¤FÍÚòbŠ)Â!÷ýôï×—?þøC^¦Ÿ}½;zì86ÖUÉ•+|űæ;ß´DGG³eë6Ž{ûEBB:¹t¨W·íÚ¶A]]tþ‰‰‰ìܵ›»vãïÿ]ݼtéÔ‘6­[AÊ…iÏ k—NòE âÛ#‚ ߉³³3ѱŸÐÒÖ–W¡¥¥MTT5kÖäôé/H àçw•½ûÒ±C;FŠOž>EEEEÞô‡yúì«×¬ý­:œË”.-/ú©^½z…YþüË«„,ÈnçS„_ß©Óg=v<£GÇ©†#9sæ$11UUU¢¢£™3k%ŠçÂÅ‹ úßPÌÍ+‘?_>–,Z@RR’´®¤¤$\5ÅÒ²ŠÂ'|S¦N§x±âòâlåŸÄMF††Ê‹¿°~Ã&«;HÎêêêÔ©]KÞì_111ææµ+ܽ{»råâ9¥6Õì•Þ«ª¤ÿÐþ¾Þ………±aãfúõíªª*ÓgÌbç¶-R‡sZÇ:½só=ޝ\pH={÷¥NíZ¬Z¹Œ¼yòÆÊÕ«éÑ««W.GMMM¾èÆÇÙ¸i íÛ·•öïGŠŽŽæÁÃGLŸ:™¿J–äîÝ{têÚreËR®\YfΞƒ¾¾¾|±_Fúÿ;AAøÇ®^½Êk4µ¾ìlN¥¥­Í‹/¹qㆼJþž5›¦M1 __ (€––eË”I÷ľnÔvi@5»êtíÞÿ7o¤º5ëÖS¯A#ìª× ¾kcΜýü¦fm<<½hѪ-U«ÙÓ¤YK®]¿.Õ§züø }ûÄßÿ 5k»Ð®Cg֮ߠô(êÞ}û)S¾OŸ&?F˜€•·ïÜ!..ŽYsæaï脵­=»öÚ¥eíú 8×®‹­C ÆM˜„ªêç°->>ž£ÆP³¶ Õìiß±3¯_'§–ð“¼}©ÇÃÚÖžî½ú,-áâ%5i޵­=]»÷dý†M >RªW¤øÈê7wFŽÃÌYs°wtÂÆ®:“¦L•:6nÚ,m׸ “7aRº©@üß¼¡n}Wο€Ký†¸ÔOîÈ¿qã&­Ú´ÃÆÖFMšK©S9Êô™³yùê5k»°tÙ ÈäÜ׬íÂÕk×éй+-,y÷.€àúL5»ê8ժæ-[¥ö£ÇŽgͺõôé7[œjÕa÷ž½R=Àž½ûp©ßJ•­¨íÒ€/_BÛ­èk¾3™ç´Ž]fÛÿ-ÏçÝ»÷hÛ¾vÕk`ëPƒ‘£ÆHË ‚ ¤Z´d)#‡Å¥n444PQQ‘:±ÔÕÕ4 åÊ–AKKÇêäÒÑáòßqUUUÔÔÔ¤×é3gQÏ¡ŽuUHéP9z,¶5¨^£&žž^JŸýôé3:u鎵­=õ4âÉÓ§Jõ>|dÜ„IØ:ÔÀ¼JUš6oÉË—¯”Úxxz‡ÕîäþZ™ÅMi]¸¹Ó®CgÂß¿gða88:SÍ®:mÚw$44Œ™³çâ}‡¿gΦfmŽ;þEJßS§iÙºŽÎTwªÅÚõ¤íÊ캤(õ<«¨&wÄ*ž{ÒH§öáãºvï‰]u4jÂIßSRüz7~âdÖoØ„­C ÆOœ,­/£0£ýJÊœyóiס3ººº¨¨¨Ð¹kw‚‚‚hÝ®=5k»¨t¬IùîïÞ³OºÆŽ=–ˆˆH#åFzç.£kxF1Àè1ãéÑ­+-›7gÊÔé¸6nJ£&Í™2m:£F ÇÈÈ÷ƒRûT‰‰‰ 9š¡ÃG’˜˜HTTãÆO¤š½£S)>}Ïì¹ó±wtÂÖ¡'O%&&íT!™ÅÊi‡èèéÿ°síºlÚ¼…†MšñôÙ3´µµÉ™3'­Ú´cÁ¢%¼ÿ^éó¾7&ŽK™Ò¥QSS£\¹².THJ7Ë%JÈûeˆgAAø®]»¤=jA‰Š ~~~òÒß^hh÷îݧQ'ÿ=á"sæÎgÙâ…œ9åCÉ’%:l„T_©bE6o\Ïé“'hݪ%S¦ý­´üú›X²h>çÏøâìTƒÉS¦+Õ”(Qœ1£F’?>Žñd˦õT³¶æêµkÄÇÇà}‡?ÿø__îܹ‹ºº:¥K•bÉÒå\»~ý{vsöÔIªT¶ {¯ÞiÝÞ'|X·~#Ë–,Â÷Ä1¬,«pîü©^]]z.u9è¶S>Ç122båª5Rý›·oñó»Ê½»ñ9~€Õk’ó†……Ñà`úöéÅù3§9bkÖ­—–ÍÌ!O/Š+ŠÏñ£Ø» _¼Oø@ʳ5ëÖ³jå2ΞòÁºªû¸ÉW¡äݻ֭ßÀÒ% Ù»{'aaaôîÛŸŽÚsîŒ/ýûõaàà!„††Q§v-F B‘"…9vÄ3y29÷&M¦oï^œ=僉‰1ƒÅÔÔ”S'½Ù¸n +V®æô™³Rû5k×Ó«GwÎñeÚ”ÉL™ö7!!¡²ó,bú´É\¾p–¥‹P°@ ·[Ñ×|g2;Ïòc—*£í—û7çs朹ԩS‹Ó'Opüˆ']~ÑGBAøç"##¹ÿQQÑ4nÚ‚Zuë3rôX”ÿ6"=~¾-m-Ê”Iûæòú›hצô~þÂE<ñ‚ƒörØó /]–ê4d(ÅŠÁ÷ÄqÖ­Y…›ûA©ž”ëÃóçÏÙ²i=çÏø2~ìòå3•êßøÀ‚…‹?n 7ã²›¬ÆMòë¡¢mÛvpâøNûž`ôÈáèëë1bØþú«$£F ãØOjÕtVZ `LŸ:_Ÿã¬Xº˜…‹–ðöí;©þk®K_ÃëðÆŽŹÓ'9|(C†Pú\EÞ'|xþâîû÷2zäp©<£0£ý fæ¬9ôêÛbÅŠq`ßn:wꀺº:«W.`û–Í;âùű&¥#öå«Wö<ȱÄ„†2oÁBy3IZç.£kxF1ÄÃGøøñµkÕdμùã¾/3¦OåÍ›·Ôs©ËÅ‹_Þ8Ÿ2m:̘>UUU-^Ê“gÏð8xσn<þœ¨¨(©ý²+¹vý:Ýösì°'?aÙò•JëL••XY~–._΋/ð:ä†×MIÄ IDAT!wüß¼áñã'râG÷®Ø»Sc:uéμù Óüûó#„††ñâåKÊ—/@÷n]¤øüW$:œAAÈvRA3³üòª4ps§¡kŠ/†ŠŠ Û·ãæ­Û`a^ }ýä¼yö¶øûû+-ߦu+ŒQQQ¡NíZ_Œ€JOÉ’¢­­Å­Û·‰ŠŠâŠßUzöèÆÉ“ɇ.^¢š5ªªª¸¹¤g÷n裪ªJï^=ˆ‰‰åÂÅKòÕrôØqº6àÏ?þ@MMúõ\(R¸°R{;[455QSSÃÖ¶¯SFƒ¥êݳ;ZZšhjjâTÃQ!âã{ŠâÅ‹QÓÙ €?J” n´s&¦ÅÔÔ„æÍ𢦦†±±1æÒº½¡I£F-R—ºu(^¼˜l Ê>}úÄÐ!ÿ£h‘"hiiâsÒ—üfù¥mrªáˆ¾¾gÏŸ—/ Y8÷-š7Ãʲ :::¼~íÏõ7èß·jjj(P§Ž;î-µ¯î`/ý¨jeIÞ¼yxù*y³‡§Íš4¦b… ¨««S¢DqTUU³¼Ý_ó!“ó,?v©2Ú~¹s>‹.ÌѣǸuûšššü™Å¼š‚ ü>RŸ®yðð!Û¶lâÛ>455™0iŠR;ׯM1¯R•u62oö¬4sïÞ¾s‡'ŸÐ ~=©ìĉ“tïÚ===455éÚåóÒ—¯^ñäÉSèOΜ9111¦YÓ&Rý§OŸð>áð!ÿ£HáÂhhhP¡ByräÈ!µ™3gM›4¦p¡BRYv”Õ¸Iñz(OçP°PAnܼÉIßS$%%Q¶L¥úŒ+VTº>üõWIŒŒ y£ð´Ñ×\—¾†SÒ5ªš ¥þú ßSŸG9+RQQaܘQèë'WRe¦·_‘‘‘Ô­çÊ»€6oXG“F •¾7YÕ©c{ÔÔÔÐÖÖ¦K§Ž=ö9‘KëÜet 'ƒâúõ›XYZpíÚu\Ô‡”QîÚ)©åß5UU.^ÂÓgÏ™?w¶”ßùèñãôèÚÝ”y5z÷ê©´Ü7wºwíBÞHS…|ÀêêêéÎ.§¢¢‚MÕª\¼x™  `Ê•-ƒcu&LšBxx8—._–~‡†…ajb¢´l33BC¿áL¹²e•ÊLM?/ÌŠ«¸sï*@Xx8& ë”ÞçPW'.%° RÚRò †‡‡+•¥Gž;9‡ÂñJk»óVªlŧOŸØ»k¹óä x±¢R›wÇÍ®Ý{1r4yòäfØÐ!X˜WRj/Âï-)) †þotc¬kçN4nÖ\ªX»z%‘‘‘ܺ}‡¾2Îl*W¶PZׯM[hÖ´‰Ò ¶Ð°0ò)üÍËŸ?ßçºÐ0ttt”r·æÏ÷¹><<œ„„ÌÌ̤2EW®øqãÖ-ÆËþ邲7)^åÔsA7o^Ö¬[Ïß3gÑ«Gw¥úŒxzfßþDFF’”rì“>ÿšëÒ×çå566"@ᆳ¢B… ¦9 ^F1`zû¥££ƒÛþ=lÛ¾“ÆÍZPËÙ™-ša–?ã¹<¹“ã c##ÂÂÂÒ=.i»Œ®áÅRÇrþüùxüø1•ü“cÇŽMRR^‡`’ºàÁƒ‡Ü¿ÿ€ Ê“3gN©<88„| ÿïŒ ¥(¤ÄMcÆM@]=¹,!!QiyEY‰•åÇ!((cc#é½®®®Òç¼|ùŠ]{öàããKMg'&M—æwá{IHH`èð‘Ò·w/©|èð‘_œÃ_É;‚ ‚ð177§`‚¼ D+<ÎÑQ‘-R„Š+Ê«~{úúz+V//ôûœï6=ÆÆF˜›·¡ß>ò*V¯YËñ'Xµ|úúz<{þœú®•Ú¨(äGÎHZ7¬­«âæ~W¯_SÓÙ ,«TÆû„×®ßàïéS!eÔÑkþú«¤´¬ÿ›7äOãlj‘¡¡Ò]R~§=v<ùLMÙ¸n ìÚ½/引Š9Ÿð. @©ìk-Ìh‚Cƒ/¶[qÝ×®(?š™škYq[Œ([¦4›7f-ÍGFç>•âù54Jþ!tì°§RŽAEª)¹#Ób` ¯”1Õ×lwV¿3ÿôÇ•â¶?rÂç$gO%§zù¥ÿíAá_9vì(Ú9‰VÈc–*:*mM Ž;&¯RüoÐ@Ö­ßÈêµë "::†/_~1™@C×ìܵ‡7n’””DLL ·nÝ 0(˜"… £¯¯GRRnnÊù¿†®®.ÁÁÁ„„„J“²ØØXsçî=._ñ£†cu«;°aÓf *$mÒ¸ë6l$,,ŒÄÄD6mÞB®\:˜Wúò†ƒ“S ÜÜòôÙ3’’’8î}‚IõAA”)] ¢£cðô:¬´|Fìííxüø±”ÂáåËWx>"oöԬ錛ûAi½“¾§”¶;+j8:òäÉSöp'>>ž„„îß@tt´¼)drîÓR¸P!Ê–)ÃÌÙsˆˆˆ )) ÿ7oÒÍù(W»VMzxrïÞýäeýýùðáãWmwV¿3ÿæ< ™ÏkׯƒŠŠ eJ—&!!OŸbÖ ÂïNCCƒúõ\˜4y*?~$22’«Vã`o)IgÏ#,,Œ¨¨(.]¾ÌÙsç•:œ6oÝFu{¥§}j:;±nýF>~üHtt4ëÖo”ê 0£dÉ?Y¾b ¼}ûŽýnŸ;¬µ´´°±®Ê¼ù ñó†øøxž|øH\\+Wžk q#W-Y* 2xÿþ=%ÇŒ=–wï’B|M¬œªvMgÖ®Û@DD ¬Y»N©¾s§ìß»‹fM›üðÎæèèúöˆ¡¡!#‡%&&†¨¨(bbbÐÑÑÁÈÐð‡Çv?’èpA„ïDKK‹+W.c–Ϙá!¼%(à-ïC)h–«WýÒ}¤LHî€[ºxgΞ£~Ã&XÛÚÓ­{/<|(oŠuUFʸ‰“¨Rµε]Ø•2z—N ¦AÃ&´ïØ…B… ‘'%•Ã×*]ªµkÕ¢A£&4oÙRFPå35E__Oz,ÎÞÞŽgÏžccóùQÄ.:bSµ*Í[µÁÞÑ™Ógϱ|éâ4¿5h×¶5Ýzô®º§Ïœ¥¡k©~ÔÈálÙ¶f-[ÓoÀÀ¯ÊÁldhÈ‚ys™¿h1öŽNLû{.uëÈ›ý#N5i×® ]ºõÀ¹v]Μ=‡•ey³ éëë±jå2ö»¹am뀭ƒ#ÓgÎ"6%‡\Fç>=‹Ì#""’šu\°²±£_ÿA¼ ÈZ‡sMg'zõìÎÀÿ ÅÂÒšn={óáÃû¯Úî¬~gþÍyþ2;Ÿž^Gp®íBu§Z 6‚‰ãÇeø(· ¿§1£F`jjJƒ†M¨íÒ555F¥LÚÏê5ë©SÏ»êLš<ݺРž‹´|dd${öî£}»Ï“¦Я/ùò™RÇ¥õ\Q§v-éqzæÎžÉÍ[·©fï(MìªhæßÓÈŸ?­Û¶ÇÊÆŽ¡ÃGf9ÅTvó5qSZ'±07ÇïêUªZY¢.˦èÆÔwMÎ{Ðm¿H£!d+ó,"4,Œ)“&È«þµVmÛÓ®Mkê+tÿ]â| ‚ Â¯áæ­ÛlÛ¾ƒ{÷ï÷)MMMÊ•+ËàýÑÕÕ•7ÿOˆŽŽ¡JU¼ÆÄä¿‘ùúÒ$ŽßJDd$—._Á¼RÖæÖxüäU,*ZÑ@,ð ˆâ^‰ ¯$Ù+•ôﴓ ‚ðMU¨PzÄÂùsyûöM›·ÄûØ´´’gÐÌΞ<}ÊÀACxíïO ÇêhhhðG‰âtéÜIÞTá·¥¡¡!/JSVÛ ‚ ‚ ‚ ÂÍoÑáœ2vÌ(©³ùÖíÛäÈ‘ƒ¿J–”7Í,\Œ¥eeÝORR7oÞ"¯n^y3AAAAA~cªòáÇPWWWšœgõšus—ú 1¯bE‡N] ‘ê^ûûS¢di˜ö÷LŽ÷fêô88:søÈQü®^¥i‹VT´°ÄÖÁ‘å+V‘””ÀÞ}û=vbÒ”i88:óþÃÂÒe+¤ýY·~ŽÎT©ZQcÆ1jÌ8¶mß)Õ ‚ ‚ ‚ ‚ ‚ðëËö)5.^º,/J“•eyÑw·hÉR®^»Æ/ræÈI§.ÝX´x)Ç !0(ˆ>ý0cú4\êÖáîÝ{tìÜ•jÕl䫹\½víÚÒеÁÁ!tëÑ›‰ãÇÒ ~=Þ¾{G«6íÈ;íÚ¶àØqojÕtÆë;::ÚÓµ{/FN“Æ –Rvôî7€²¥KsþÌ)è?p0£ÆŒcÉ¢ø¿yÕ+~xtCEzõíÏŠ•«?v «V,£AÃÆôíÓ›:µk)ly2Ÿ“¾¬\½†í[7S¬hQyx2xÈ0Ê•-+o*‚ðÛòóóãÃûpéßò&‚ ‚ ‚ ‚ðŸ—íG8[YVÉÒëgØ·ÿ½zt'ož½ÐÒÒDSS“šÎNr4³çÌ“ÿ?ó³ùu!«äqËÒ ac._¾)çjÞ‚…ò&’‰“§²|Å*yñO£x¬3‹)~ÖñMÏÞ}ûiÓ¾£¼8]Ù5Þ~¬l?Â9; bĨ1¨««HΜ9¥:³üù•Úç35UêàÍHHH(¦¦&Je  8$Xz_¸p!ÔÕ?ŸÂ à`LL”—!e]¹rå"W®\RYÁHLL$,,Uµäû¦¦¦R}uuââã¥÷ ¢|¹rJeÆFFJïA~GQQQT¬X‰ÈèXråÑ#WžÏu¯ßP¡BEnÞ¼¦fòÓ(BÚ¦Nû›ÃGâ{â8jjÉ×Üÿ’ÃGŽb[ÍFé:,'ŸLøßÊî“k•+[ §§'/dÄqágHJJâÈÑc,Yº8èöyUfƒ‚X¸h ǽ½‰ŒŒ¢äŸ0iâxÊ–)#oú]½ö÷§n½´lÞœ±cFÉ«³[·o³dér®\ñ#&6SSÚµiMçNiwfõº +¾uÜðî]¶ŽòbŠ-ÊÑà 4’YŒmš5mŒ–––¼ø‡‘ÇY=Ö|§ã›–èèh6nÚÌ‘£Ç‰ŠŠ"!!\:¸Ö¯GÇí•ú›„¯—˜˜È¶í;غ}¯_û£§§K÷®]hß®-¤ÜX˜4e*;u/úKÈö#œ¿WWWéõO²hÁ<.œ=Í…³§¹|á,gOù@ʈ€€¥öaaaJ難¨(½/P°¯_û+•½yó†ffÒ{UåÓg oÀ«W¯”Ê 0ããÇ„¿/•ùû¿AMM|ù>w2«ªþ³¯ƒ¡Áûªô^áwdooOTL,ZÚÚò*´´´‰ŒŽÅÁ¡º¼JPËAŒ ðõ=%¯Îö˜EeË”¡x±bòâï&44”Ùsæ—fü—Ö±–÷¥úÇW.(8˜­Û‚Š Ö¯áˆ×!ŽõbÝêU¼yû–Î]»§;û¿âãÇ,X¸˜÷>È«~ˆèèhî?xÈì™sÝï‹Ìgæì¹Ü¸q€iÏÀÀÀ@¾Ø/#ýÿ¿‘Ö­[Ë‹Ò5~â$ο@Ó&˜¿p¯ý“;†ÃÃÃyð0ù°ƒ½=âØqo’’’xüø ž^JëR¤¯§Ç»÷ å.Hê„„„àvð¤ÜùØ´e+M›4–-ùY Çê<ñ·ƒ‡HLL$<<œ×þþ˜˜˜`gkË‚…‹ùôéÑÑÑ,^ºŒúõ\È‘#‡|5_­NÚì?àÆó/8ás’û¿Ñ\A„´øùùñúµ?šZ_v6§ÒÒÖæù‹ç\¿~]^%¤ðô:LéR¥iÓº%ÛwîRª‹ŠŠbÔè±T©Z »ê5X¿qY®—Û¹k7εêRº\EkK×µÌ&ñ2t8ӦϠj5;*[Ù0nÂDIHH ]‡NÒ¬e+y÷.€á#G³{Ï^†E¹Š¸<”棕wîÜ¥n}W*[ZÓ¦}G¥GËU´àÖíÛÒû[·oS©rò˜o5qbb"sæÎÇ®z *[ZSÛ¥>.^”>SÑ®Ý{p®U—Š–¸ÔoÈqïR]FÇ(UzÇþÚµë4iÖ‹*Uq©ß0ÝôŠ©$2š 9-Ï_¼ S×îT³wÄÒÚ–ÁC†'oö…¸¸8¦Ï˜EÕjv˜W±¢]‡ÎJéÈ9xȃFMšS©²õ]ãwõªTÿÚߟºPÙÒšºõ]ñðô¢j5;©>Õ›·(_©²ôÝxñâ%%J–fëöR›®Ý{²fízÔÔÕ˜4eÕì1¯bÅè±ã¥e3J¹‘ÙdØ‚ ÿT¯ÝÙ¾u3æ•*Ê«ð>áCÝú®T´°¤}ÇÎJ)ÇÌòçg@ÿ¾)\---ÔwáõkéïÚÛ·ïèÑ«6¶˜W±¢mûN<{þ\Z>))‰å+VQÝ©¥ÊV zš;î-ÕgôÙ©ò ..î‹ÎÂìfÊô¿iѼ)ÿ4‚ ¢¥¥E¹²e¥ÑàŽÎ\ñ»Jëv(U¶oß¾Sº.„¿O¿ƒ°®fOeKkš·jCHHhšq…|ü|-µ²¡¶K}Nøœ”êSn¤礮/£kuFû•*88„³fÓ²u;ôôôPQQI3þ“_ƒÕÕÕÙ±s7ŽÎT©Z¡ÃGi¤ÜHïÜe_ÅÇÇ3dØiý­Ú´S 8|ÄhúôêI›V­?auê5À¥~C&LšÌ¸1£166fÿäŽ~E‰‰‰ 2Œƒ‡˜˜˜i¼ý5ñEVb+ùqˆŽŽaÔ˜qXZÛbïèÄú ©[ß•'OŸ¢­­††Mšµ`섇'ϧó£èèè0uòDÊ–)ƒšš*”§HáÂRLËŸü!_ì—ñÛw8·nÝ:ËΉ‰‰\¸p‰7oÞ0°?ªZYÒ²u;ÊU´ aãf\ñKþãdbbÂâ… ˜;–U™ àÔé3Ìž;ŸóçpÝï£FcÐÿ†rïþ©MzLj Ž}hh(Ýzô¢k—Îø]¾ÀàAèÓo!!™?E¥8ò¹Ó¾¬X™vGCzvïÆ)Ÿã?âÅ›73$jÁÂÅ\½vCn¸rñ<–U*Ó©k7¥Q«×®cåò%\½|Z5?a²T7`à`þúë/.ž?Ãö-›Ø´y«T§¨\Ù2äÌ‘ƒ›7oAÊy*ù矜¾í] IDAT8‘üT]BBWü®bgW RF¸U¬Pž³§|8âåÁIßSÒM‡Œ(N†í{â8=fÑâ¥òf‚ _-õ±ü´®aoß¾£ß€AôêÑ«—/г{·tÿfEGG³nýFj:;Iú¸6¨÷±#\:–%Š3eêti™­Û¶³iófϘε+Y¿nµÔ›•Ï~ÿásæÎgò¤ $¤±ýÙEHH(wïÞ£iãô¨Œ7žýúråâ¹/RxnÚ´€3§|¸tá,ãÇŽÆÀ@?͸B®PÁ‚Ìžù7çÏžbíªÌ·@ê7X±r5}{÷Âïòfþ= “¦¢´ŽÂÃÓ‹‰Æqåâ9ÆŽÉ€AÿSú\Eò8'UF×êŒö+0(ˆiÓgеGOŠ/Žç!7ºu팺ºzºñŸ¢øøx^¼|ɉãGð=qŒàfÍ™+o&IëÜe_©««Ó ~=ŽxâÂÙS±lùJ<|ȇï©[§63fÍÆÄĄÙ;{&þþohP¿çÏy£¤ÉDDD0wöLTUU3·¿&¾ÈJl%? /æùóçxõÂûèa^ûûóèÑcH¹aÑ»W<º‘ÏÔ„¶í;1köÜŸöD~HH(Ï_¼ bÅ ôêÙ=ÝøôWð[t8+¦ÏPL£ñ5ͤ<Úzô°Íš&ÿWWWgÈàAœ=åíë~øú§mëVRûêöö8ÈÕËÙ´a=ºueáüä? ÌÌxüà®t¡´07çØO®\áƒY3ê¹Ô…”Üúœ9wNZoF²:r®\¹°®j…ššyò䯼R%^½~-oö…ýÜèÓ«'††¨ªªÒ¿_bbb¥'áÚ·k‹‰‰ ***Ôs©Ëã'OxõêwîÞcЀ~¨©©¡««›nþ>UUU¬­«rþBòèòcǽéÛ§Wü®Í›7ÑÑÖ¦äŸ`ll,Å’F††T¶0Wí—žŒ&ÃAøRŸªQä{ê%Š“®O¶¶Õ0¯TI©Í‹/©leCó*øû¿aÒ„äÑ©9sæ¤~=´´4QWW§i“ÆJïyxÒ±c{ªT©Œ¦¦&E‹‘ÒJfå³g̘E‹æÍ(R¸°Ryv“š¾ÓÌLy)¹Ö­Zb]Õ /Ò9.R˜ë7npÂç$III”+[V©>#Å‹£D‰âÒall„Ê“àN5¥N6ëªèêæåÅËä§™þšÎÎ+ZRâ2¥Kãsòó(gEò8'Uz×j2دÈÈHœjÖáí»wìܶ…æM›¤Ïe¤k—N¨©©¡­­M÷®]8|$ýënZç.£øŠ”>)MMMÔÔÔ°··ãUJÚÖ«W¯c]µ*~~Wiܨ!aááèèè@é>ÔTU™;Ož>cÉ¢Ò¤Ìâí¯‰/²[Ƀ‡§½{õ$wîÜäÈ‘ƒ~}z+­@CCƒ¶mZ³{ç6>z„S­ºÄgqβo%!!a#FÒµK'é;[¶L¾|ºíWñËgwwÿòáÛ æÕ«W”+[uuuŽ÷æÞ½ûT®l!o*‚ðÛ°°°@5¼lÊ’¨\9ýÜz¿³í;v†•Mr öéÓ'rçÎM¿¾½QSS#((˜ü ?¬ŒŒ”nžfV¯(((˜Š’)ÊÊ$¾ò {s¨«gÄ/žüã%#yóæ•þ­¡¡AÞ¼yy ýðQ”˜øåxEYÙùdÄE f×öm,[±’¥ËVдIc† (Mœ*$$„òå•'.PÀŒ  ¬£ôŽý»€?~¢”f"&&–ˆ,NÀœÕÉoܼÅê5kyûö-¨¨ðêÕkÚÌ|@BHh(ù>CEE…ff„„|±•Oa¿ÕÕÕ¥Gcƒ‚È+Ú ùÝŒ ¥ËÙÙVã‡'-[4çÁÇ8Õp¤|¹²œ9{ŽGcgg+µUœŸƒ”}OLÈ|T^F“a ‚ |/!!¡ä˯ÜI*ï4-PÀŒCnûùðñG§A£&x<€®®.aaaÌ_¸ˆë7n’˜È§OŸˆWHOLÁ”Ö—*³Ï¾té2×nÜ`ò¤ Jm²£ÔÉ肃CÐÕÕ•WKJdÓ¸aƒúèæÍËÊÕk˜2m:}{÷¢e‹æòfi:äáÉî={“SB¨¨JbÒçkâ5@]=G¦±RVÈo„ñN6¿T*yœ“*½k5ì—ŽŽ^îlÞ²z®¨S«­[·Tšs++·ßÄØ˜ÐÐÐtKZç.£ø*0(ˆ¥K—sûî]HJ",<\:RDz™Y~>|H©¿JräÈQ¢c¢IJJÂÃÓ‹jÕl¤uß»wŸ»wïQ©RE¥ø ³xûk⋬ÄVòㄉ‰±ô^OOï‹xÿÅ‹—lß¹oojתɴ)“Òü.|/ <###öï'•<ä‹sø+ùqGXøeÅÆÄð÷ÌÙ}¢C§.Œ9œ¦M£P(0hˆ¼˜Z¦¦&< ¦L™ÒRZHh(&JûT‘Ê{Èc˜‡·ïÞ+Í@ÿòeê“K[ZX0iÊ4Ž;†•¥:::ØÛÛqÜÿOŸ>£UËæRYM õUÒ“'OæÌšAíZI=žAþ ÆÆF¼ˆúò€’äÉ×”455É—//ùòå¥d‰lÙ² +W±·³eüÄÉäÊ•‹]Û·¢££Ã­[·éÞ«´¬¾¾J8.eémÛïÐaîß@™rªE½|öqùbÆFÛüS sS¬XQ|öïgЀþòlIj×¥6ÖVØX[qãæM:wíAáÂ…¨inþU½BÙ•+W5f;¶n–®‰µ,¬UÊd¤Þó=”ëJ$?¬®RE}½:µºHjû$½ÏejbÂÈáCÐσ½ž^tíÞ“‚¦¦,ÿsIšûKYDD „äº\Ž9RmU÷>SûL$ǰ.??[7m@GG‡mÛw²ïÀHÇz.9öè‘#˜0i27o¡]›Öä/Ÿ&ÍZ`aQ›F “¢±}ëfš·hÍÊÕkèÑ­+d ¾ý-õ‹ï©[¥l?e¤—òöcbbéíшˆÚ·kÃ>ï½*½Ûÿ Ÿ>}¢oÿ2eÒ©~úîÝ;Ž;NÀ…³üïÞ=ùb¿…Ô‚A¦¦¦ìÚ¾• €‹\ àï~µqAþkNœ8A6]bÔÄ Ž‰þ@6=]NžT?ìï¿î€¯%Š— råJÒMf¾|yiâîζí;pªëÀŠU«yûöqqq,]¶\eéå+sq®‡÷¾ýܾ}‡ÄÄD‚ƒƒyûöÝwMâ«,K–,dË–Û·“æTP7œ85[¶l#*êñññ,ýs¦¦&”*•T™.T¨ .]‚ä^Þ>ûT–͌ɈCCŸK“÷åΕ‹B¦¦Òd6Êš5i̾ý¾RÌæ€Ëœ>s·®ò¢j¥¶ïêÔáÞ½ûìÞãÉçÏŸ‰çλj'tú^>|àÇT©R…BApHç/|¶™–fM›°jÍZ^¾|IBBëÖo {ölT«ZE^ô+… ¤T©’,Yú'ñññ¼ÿž›RoX/P ?ùóåcã¦-Ôut ŽçÎçÆÍ›XÔ®%_䛥5vXX8C†m”'Ѿpñ"cÇOø¦ß¶ B k+þwïÇŽû“˜˜ÈÅK—¸p1éúFr£ßµë7x÷îoÞ¾eë¶¼~ó†’%ŠCræüùò¢¥¥ETÔ‹¯®õuë:²~ãF®]»N||´mÓ¾¡þ·lÅ*>~üÈ»wïX±j5õ’C¢f†ˆðÊ™™¡££CLL,ûøJy6ÖÖœ:s–Ȩ(Š+ʦ ëØ³s;ºÑ³{7öîÞÉàTÞçÊ• ýœ9Y´p.[!M®˜^}û[êßS·rvªËÊUkxÿþ=ñññ_ÅDîÚ¥öyÑ¢y³¼±9&&–î={cddĘQ#ˆ%::šØØX²eˆ±‘‘Ê÷ò» ΂ ‚ðƒèééqýú5L äãÝë—D†?'2ü9ïß¼¢inÞ¼‘ê²ÿºm;vФq#y2M»sæì9BBCDGÓ£{7y1*W®Ä„qc0h0ÕjÔbÒ”©,˜7‡bj†~ª“Ú¾74ÌÍúu«ÙãéI•ê5©^³6“¦Nãã§OòU|·\¹r1jÄ0ºtëI“æ-™9kM§¾O”uëÒ‹ZµhÔ¤5-¬9yú «W.ÏÐ1­P(X²p׮ߠ¦…5mÚwÄÞ>ídKK >z„­ $7ZëêéR¬hQi(õß‘ÖdØ¢?púÌ>|øðÕ$Ú!!¡\¸pé«A„×oÜÄÙÕÉS§ñðÑcœ]Ý4d$Ç_¼p³æÌ¥RÕ¬Y»žíÛI˾zõŠÑcÆQËÒKk[öxz²bÙRL“Ãd Ð/Ÿ}TªZƒŽ»ââ\OZ kçN´nÙ’ƒ‡R¾RUZ¶nË;w!Ûþ·©coÇÊåK9uú u]©RÝœ»p÷¯/“ø¦åÎ;¸¹7Á¼¶%îMšckc-]säõ eöv¶XZÔÆ±^}š·lÃù °±þgâÒ2˜™³æP±Ju¦NŸÁ¼9³(T(©Çðßõ­ŸK¡P`cm%…sH¯þgfV3³²Ø98aicO®\¹9b¸¼Øw;f6mÂͽ =zõ–æÄÈ™3C  Sçnœ=w^êüòåKözz¦>, @©’%1l(ýæÕ«WéÖ·3Z¿à;ëVƒöÇĤöŽõp®ï–T?JnXÖÓÓÍ”‡òßëðÑ£œ9{Ží;vR¡r5éÕ¦}G444X±|)¾²ˆ¿“”[åþþ ÙKC饩ôÒ²Ú€NòK7 ðê¹âž ¡LþדÎÈ]¼€yêòdAAø%ó?AÕ*U ¢¦y ²)Åc•»zõ*uë¹pÈ!‚ŠS§Ï0aÒdŽù}o<AAøu\»~ƒM›·pëömâ>Å¡««KÅŠ2h@¦<Ìþbbb©P¹*§Oÿjþ’_ÕÅK—0¯QCžü·¼ÿðK—¿š55÷<¢zÕJUà#ð ˆ>+½”^‰²W éÿêƒÃ‚ ‚©*UªDNý¤I\Dc³ .^¤x±âäÉcÈëׯYµz µký¼^8‚ ‚ ü·T¬PžŠ³fÈ“ÿUîܹ‹Ž®E &!!EK–P¤páMcóïL48 ‚ ‚ Â?,(è*C‡äíÛwhijbccͰ!ƒåÅAA„T„…‡3cÖlÂÂÂQ(”)Sš%‹È‹ ?hpAA„Xï^=èÝ«‡}ûSÓÂ÷&ÍåÙÿˆ”÷`^ÛŠ:uëá³o?ýŠY…ÊÄÇÇ0eÚ V®Z#[CæÉ¬õËß·:*Wãá£G‰ÛýÊÛÿ7øÞ}ô½Ë ÂÁÝ»QÓÂZžüŸrðÐaº÷ì#ONWXX8¶öŽÄÄÄʳ~¨&ÍZ¨/ýjç?å}Þuògí_AÈLÿ‰Î>>>ò$?ªÁy¤)ä56¦WÏîò,È@¾ ‚ð聯5+¹ äÉ*Rz= _ëÞ³gÏc÷Žm”)SZ%ÏÛg£ÆŒ£c‡ö žôõèC‰%äÙjýìóŸü<Ñ}ÍÚ¿êÄÄİyËVŽó'::šøøx²eÏF}çz´mÓ-­ÿD“áÂØñ¹yë6úúôõèM×úRþÓ§ÏTÊÿN~ûÎ?SÓ&îÔ­ë ý}ðÐaÞ¿Ÿj¾ ‚ ª*”/ÇO/y2»÷ìM·1SøyÖ­ßȽ{÷åÉ*ž>}Fî\¹Éž=;—©V¥Š”÷úͺ÷êýû÷ÑÔÔTYNÙÄÉS¾ºy ¸Dçí9yü^ž» ºÂ†M›Uʤxú,˜råÊ¢­­ŽŽŽ<û¡ü yóS­ZUy1ÌÊ–¥èÈ“3Í^jÔm×ËÛ{[›ŸÞØüðÑ#V­þù=ä”÷Q||<ÓfÌâÇhy±¯¨Û·‚ð³¬Û°--Õ‡DÇÄ0gÖ ÎŸ9Åð¡C=v<¡ÏŸpÜÿkÖ®g颅œ;}‚úÎÎôêÓWå¾:5åÌ̸~å²ÊkÚ”ITªX‘,Y² PÈ—ú"11‘½ -áòå@yÑ_B``:u¥dÉìܾ…³§ü™=s:U«~¹¾ÊåɃyêòä¯È¯ëZZZÔsª«RæïÊ›×Xúž¶oÙD–,Y¤¿½=w`kcMΜ_® ŠÔ›´þéóß«W¯˜¿`qqqjÏÓêöµ"•àØ¿rQ/^жC'P(X¹âOöyïÅw¿7+þ\Êó°0º÷ìjl!ㆠ‰™YYΟ9É¢…ó™1s6·oß ""‚ö;Ëùm¤~t [933Š- ÉÃIS¦ñþýµù‚ ‚ |­®£#¾~ùøñ£”öðÑ#ÂÃ#¨X±¼JÙk×®Ó²u[j[ÚШq3)DÉ!+‚®\¥}§.TªZƒ°°pbbb;~"–6ö889³qÓf6n* ³ÿüù3³çÎÇÚ®–6öL˜4…ØXõC\ðöÙG“f-¨eiM‡Î]U†ëW3¯ÍÍ[·¤¿oÞºõ]ÃxÕ}ލ/èÛ V¶Ô©[›·¨,³|Å*¬íêPÛÒ†ÉS§3~âdvìLºq[·~#½=ú©”ïíÑOe{½¼qri€…•-]ºõ $4’…ŠV¶´n×—/_1sö\Ž÷gúÌÙ8:¹pøÈQ¥µÃ“§Oqus§}ÇÎãêæÎ„‰“9xø®nî¼}û]œê2gÖŒTov¼¼}x÷î=v66*éúy`kkƒ®®.FyòPÓ¼=V)°pñ¼¼¼ÙÀG'NŸ9‹—·ã&LbÝúXÚØ3nÂ$®\½JË6í0¯m…½£+W­!11’ßLj‘£™4e*ÖvXÙÚ³eëvöðÅɥ浭èÕ§/ïÞ½“½õïaÇÎÝtéÖC^dǽ¼}:|$“¦LÅÚ®öŽN¬X¹Zz_¤ñÝ…„†âìêÆ¹ópqmˆ‹kRï]ùúGŒÍÌYs’~?V¶Lœ>žN]ºI«¶íptr!<_Ê稜¥5Ýzö&2*iNjǺ |‹àà`vìØEÛ¶I=œShii1 ŸåË™¡§§‹­ Ù³e#4$é|uÜߟ&Ý)Zô´µµiÛ¦&&&œ:}FZÇqÿ4mÑŠ*ÕkbicÏâ¥Jyššš*¯M[¶ÒNé=hii±fÝz¬íê`mW‡‹–Hç¹ÄÄDbcc¨Z¥2 …‚bÅŠbllDtLŒ´ü¯dú¬Ù4i܈~}055EOOrff˜•- ©Ô!¼¼}¤s[jǺºëº<$ÄÉS§iѪ-6vØÖ©Ëšuë¥÷5jÌ8V¯]Go~Ô¶´¡NÝzìÚ½GÊW–ò=)4’b•¿;d!ÈÞ¾{K—n=¨rî?yJÊ“_ÓÔ]ß\8àëGó–m¨iaMã¦-¸rõª´Ž´>WŠ/^2gÞ|Ú¶ï„ …BíyZy_“üÛÛµ{¯tÞ1jŒô E¾SûîþÎuzÔèqtïÚ…Íš1yÊ4ÜܛШq3&OÆÈáÃ022ÂgßÈ@}ñöí;´i×+[{,mì1r´Tî[ëçûøÒ acj[ÙbïèôU½6Ezß]dd$ý¦–¥5µ­l=v¼J]Lݶ3[HHwîÜ¥wÏžhjjRºTIœ“§¬X¹š¦MËûmˆç¿!&&–‘£ÇR£–%ÖvuX·~ήnoOŽôåþýü¹l…”/·k÷^Ö®^É)ÿc”-S†ƒ‡¦ÚXúwÈ?Ç€CÈ—/§NcÃÚÕ,_±ŠÓgÎBòèª-Û¶±vÕJNŸyœQ#†‘;w.†LéÒ¥9|(GùR×Qu4WáB…Øï㉋‹3£Fg¿'… bãº5ì÷ñ$gÎèêêÒ8¹±QgÏ‚Y¶bÓ¦N">!õ}œ˜˜HЕ«T­RYžEÿ¾¸5pÅ­+GùbeiÀ±ãþ<~òÏ=Œ1Œ¡pXî IDAT/^Ò«O?Ú¶nÅù3'Ù¼q=;víbûŽÒºöûúQÓÜœ³§ü?v 3fÍæà¡ÃìݵãGõâ;ÕÜ\§ö2Êïà!ªU­Ê)ÿc¬Z¾ŒÍ[·rðÐaHç»#9>äÚuëYºd¡4´]n¿¯E‹þÿÑÃxíÙ‰¿ÿIŽ÷‡äåú.ÎìóÞË)ÿ£±båjù*X´x)=âÀ>/|÷yóøñc¢£SïÄçøxjT¯&ÏJÕ¦-[6dgNùÓ·Oo .õLoû†¹sÓµs'ŽòÅwŸ7×oÜàà¡ÃÉC÷GP @~ŽòeóÆuðç2p,žçϜġŽ=“&O“òÒú\‘QQÌœ5‡ž}<(Z´(^{wÑ©c{´´´2tžþüù3OŸ=ã ï>Ž<À‹—/UÚ‡äÔ}wß{þß½{¼{÷§ºŽÌ™7ccc|<÷0cÚBC“®õ]œ¹x1c¡gfΙK½zu9}â8GùÒ¹sGøŽúyîܹ;n³gÍàÜéìÙ¹{[ÕŽÊÒúîúDCCN;ÂÑC¾¼xñBzÐBÝ>ÍL=Ƥ@•Ð(¥J–à¯ÿÝàÜ… äÈ‘ú9ñßî—op¾x) C¯ŸaáâÅ<~ü˜c‡ý8vø Á!!j‡jjj²~mÒ½{ÇvNú%_¾¼*e^¾|IÏÞôïçAPÀEƌɊUª•öÐP._ÄwŸ7çN'õÚX¾b%QQ/èÚ½íÛ¶!(à;¶maëöílÙú%â‘£Çxôø1~û}7f/_¾¤k÷žté܉À€ ÐÞý2åÄ/‚ |p+0ˆÅ#G1¥M[^%7˜üW)÷†nìÝ›V#..ŽýÐØ½¡JONÿ')`RçzI±ÿêØÛ‘;w.Ξÿò µy³¦˜×¨N¶lÙP(øŸ}ûh×¶ÍWËÿ ^½JjÀ31ùz¾eòº²¿s¬-ú‡tÎ*]ºFFyMUCr(Œ ’F¦Õ4¯¾~Nž>ûû×Å:ööÒyÓ¢vmÊ”.ÍÉS_z9+“_ßS´nÕccc õœêJIãs}øðçún„…‡³iýZ7j¨v®ˆôtìÐMMM²fÍJçŽ8|$õk‰ºïî{¯ÓW¯^ǼF Hî„èÖÀ’{¹gÍšÒ÷¡N‘Â…9|ø7nÞBWW—’Éq¶¿µ~®¥¥…©‰ Û¶ïàùó0råÊ…iòƒQuRûî?yÂÍ›·8 :::dÍš•ÁƒpôØq•^ÎêöifЉ‰A/«jq]==bb’z‡……«ôøþÝüòÀå1n~%|ý˜:y’[Σw/6lT#0=ÇüOP¢Dqœê:P²D ê»8K޽{J7Žu8|øG£p¡B4tk€ItïÚ…Ý{|øÀÑcÇññüºG¸2åNúú*çÏ—O ˜Þö¯ß¸Éºõ #¡uÁR¾Ü·žÈÀ±EùråTòòäQùûŒ¢ByÕPDÊ”¿?m--â’³ß{¬ À›7oX°h1ëV¯’g©X³j>|àÆÍ[ôéןùsfS­ZUÔw!ìùsºtëAtL Nu0+[–üùòAòïÚÔ4íFV€Gs)à2Ó¦NVI×ÕÕU9KádÞ½{GûŽ6d0u¸qã&‡ eêäI¿\;EÊ|QQ/З•ÉëBÊþαîëw½ž^|øðÄä× ‰_êù’¿¯ZZÚ™r]ÔÏ©z466"<¹n$'¿¾§È§t­ÓRºÎ‘ÆçÊ–-Þž»ÙºmîM›S×ÁæÍ›ªà8-9•æ)062âÕ«W©îußÝ÷^§ß¿/5,(Ÿû÷ïSºTIŽ9JLl ‰‰‰øÍLÙ²e%&Z5OlL 9s&£ôîÕ“„4Fëý›}}´ ©òÃÏ•+Wª•çôDFD’OVIO9á(S>Q+W_¼xùU¯iSSS•›¡Â… ©œ`ÃÂùÿ5-¬¤´ØØ¼WcPAøgäÔ×§¶5,-Ù4r4w÷ìÁ³m·nI{f›ßX–,Ypq®Ç^/o®]»N›Ö­äE062¢œYY6mHò®ŽBÖèhhhHDD¤Ô ãíÛw*7†††Ì˜6…šæI=@Òþ%öÛû÷ïyóæt¨©©I¢R#³rÙo¥ü9ò%5œ9è«vÒ;c##Â#T·ñ%—¦¦ÆWa?”ãÁQ¥Jkúöé­R&…•¥V–ܼu‹½<(T¨ 5ªWO³—Ȱ!ƒèЮ-}úõg÷Žm}¢[^ :÷F Q( >RZº¯ö[Ï dàXÌch(=@J!¿Hñ½¿7CÃÜ©ÆÙ&ßCjǺ ¤çâ¥ÂÂÂqvUibV¡2^{wQ¢xqH~Àb”'E æÔ©ÓøŸ<%M Ú­kºuíÉ ØŽõê3uòH~ØtÿÁ—pX©Ù°q3®É ªÊbccyýæ”!=ì¹~ãº:ºÒ–òåËáZ¿>ž^Þ¿\ƒsîܹ(ZôøùÑÏ£<["¯ É¥v¬§uÞ¹ví:ã'NfÓúµ”.] ;Õ°É1™3›¼q9,<œJ•Tî¥Híš–Ú>Iïs™(ÀÐÁñèÝoŸ}ôêÓS/œŸæþR)õà 'GŽjÅIå}¦ö™Hç:7¯1’{Ö:„)Ó¦³yë6Ú´jI¾üùhÕ¦µjÕ¤k}È@}QSS“V-[вEsöí?@·½8{êÄwÕÏ ôõ4°?}z÷dÖì¹ 1’ëÔOÞ+_6…©IÞ½{§rl‡†>GSSS¥~‘Úò™¥Dñâ„„†+uýß½û.œ4©PÁ‚¼xñ‚\¹¾tZùüؽû sss“^ß+Ož<*YZ•çôN8yò&«(¿|ùuh‹Ô*‚¦M QI ÅÔÄDú[~2262¢Bùr\8{Zz] ¼¤öF^AøgiikÓ~úTŠ•3#üÌYîy&5¤ýW¹7rcÇŽ]| R¥Š( BBC¹ ³ÒÀÀ€¨¨(^¼x)mÿ[Ï dàXtttÀÛgŸ”vâä))Æ£\–,YÈ–-wî$Ír/ïí§ºŽì;àË;w“Î!!¼}›~G“´ŽuAHO]Gn]¿"½–.^HéR%¹uýŠÔsöÜ9^½zEtt4—8{î¼ÔÀGr£0ÀÇèÓw \ëc’|Ÿ[ÇÞŽ3gÏáëwØØXÞ¼}«2I/Éoöí?@ÛTîsÿ\¶œ¸¸8ž?c÷^/ê&:611!,<Œk×®CrãàéÓ§¿éšõO4 ?k×m`ÕšµDFFË“§O¥x×éIëXOëºAŽÙ)^¼§Ïœ%êÅ •2?ʉ“§¸uû6‰‰‰œ8yŠ;wî~5™ð÷ÊèçÒÓÓ£e‹æxïÝM«–I£c2zž^¹z-?~äÝ»w¬^»Ç:öò"ß-­ë´•¥%gÎ'êÅ Šýƒµ«W²}Ë&¸Ö§[—Îlߺ™þ}=¤ö§ôê‹W®^%66…BYÙ²ÄÇÇóéÓÇo®ŸÇÅÅqõÚ5âããÑÑÑ¡dÉ’|øô¼ÀÄÉSRÝ—ÊŒ±¨]›%K—ñéÓ'bbbX¶b%ÎõœÔ†>Ù²u;›·$…£}øð#G•®3fÎV™¤ô[S­j–¯XI||<÷îßçÀ_Ü’ò›7kÂâ%_&9ýݨtòÓª•ú :ã&L¤ž“µkÕÄÙ©.+W­¡JåJèééIñ”ÕI9áܾ}›|ùò~uØÚÚ0yê4Ž÷ÇÞÞŽ'OžrÀ×|rjokÃŒ³ðÞ·Ÿ† \yþ<Œ›·Ðµó—YPåêÔaÖì¹ìÞãI£† P(üï÷(R¤°3KAø~±ÑѼâËHuRbx©£©­ë„ ìskÈÝùó)áÞH}w»ÿ³²eÉ—//VVVjGå΋•+þdÖœyL›1--MJ”(Á¢óR½¦õëÛ‡©ÓgR¯¾úúthßV%¦_Ÿ^=hÛ¾ïÞ½#—]ºt’zDËÙÚØÐ¹kBBCùã",\0WzàGWW;[Ê—/Ç_ýEŸ¾ýøôé9²çÀÆÚJzеK'ÆŒ€—·£F û*nçƒG(žjäÞýûÔªi®’ŸCCÕð2zYõˆýKîܹˆˆˆ&ıµOj0HpAm/ðôäÈ‘ƒË–2mÆL¦Ï˜EŽ9hѬé/Ñà\­ZU.1{î<âãhÛº•*-­ï.3Œ1Œ)Ó¦³kÏôsæÄ¹ž¾Õ7:÷ïë‘|¬5@OO—.:R¤pay1~ü˜²3 ”®]»÷âÖíÛѰ+=ºw•ò*V¬ÀÜÙ3Y¾rcÇODOO÷Fn*ñ‡·nßAåJ¥†CeåË™‘Ç0uê&ÅÃoìîN£ä0•E fâøqŒ0‘ˆˆHtuuiØÀ•ŽíÛÉÖòk°³µaéâ¬\½–ÕkÖññãGŒòäaØÐÁ:G¤u¬Ë¯ë•+W’–³µ±æÔéÓÔws'¡!•+WüæIp¿× ý™;o7nÞ"OCfNŸšá9!Òó­ŸK¡P¨äËÏÓreË–¡lÙ28¹4 ::+K †,/öÝÒºNçÌ™ƒýûÒ½Go†DêÕÐÔÔäÕ«Wœ:}†šææ*£ùÓ«/úú¢oÿAhiia ¯Ï„qc¥fßR?gÞü…m cÆŽ§–¥ Ù²eãO/©.Ö¼YÓ =øý·J¹kU¾{UÈ^J/M¥—Ðt’_ºWÏ/–~YÌ9u.^ H³¢•nnnøø|™ÔE9䯿Œ68'$$Pϥݻu¥iw¢££™8y*þ'Nb ¯OçN˜2mÞž»)V´(ÃFŒ"_¾¼ ЀÍ[¶òç²$&&²}ëf–.[®’êô¦ÏœÅ«W¯([¦ ÅŠ%"2’…óç‚­½#ݾ!\;wíÆËg[7màλLš2•{÷#GZ·lA×.P(ìÙëÉÎ]{رM5Æô›7™6c·nÝFKK“R¥J±lé⯆ ‚ _;悪UªDMóhÉ*?S¦LQù{é²å Ô™"%~sj9»ð1(ko Ì3Þ0'|›˜˜Xª×¬Í±ÃS—G'&OšðMCì–.ÝzP×Ñ‘͛ʳ„/oöìõT{û_3jÌ8òçϧ6|ȯ,½c±e›v´mÝê«6‚ ‚®ß¸ÉÖmÛ¹s÷.qŸâÐÕÕ¥|ùr ìßWenáǺzíš4‰cfyÿá—.S¥rRx±ôÜðˆêU+Ub€À' ø¬ôJPz%Ê^)¤ÿÿ'z8§6ã[›Igqø`Ò°E€¬Y³2súTéXÆŽŸH¶¬I±Ìš1MÊhÛ¦µ4Ÿº|k+K¬­,¥¿gÏ™'r751áþ_·•J'= iÞìKµL™ÒlÛ²I¥LŠ&ÝiÒØ]žLùr娶y£lˆˆ³,‚ ¤ªBùrT(¯ÚAF2Ëoßମwsf¹sç.:º:)\˜„„-YB‘Â…¿š¼/£Ž÷§fMs²fÍÊýûðôòfäˆaòb‚ ÂŒaÅJ|ˆÿLâÙ³ò,áoˆ`μù„‡G P((Uª$óçÍ–AÈòå˱g×yr†|ŒeÖœy©áïgÕ[¾e»÷ï?`íº ?rcccâââ;z$ÚÚÚò¢?l?ªcd”‡1£G¢§÷ÏÞ¤¶Ý+W®²výþúë$$$`fV–žÝ»Q¦Li•²ÿ”òûHOpp0#Gåú›ä20`@ÿ¾4jè&/ö[ ΂ ‚ð rµ´dÂãǪÍÉI|ü7++ȳ…LϤ)ÓØ»kÇOip¶·³•þï{ð7oÞJµ±ÖØÈc##yòO÷-ŸáwQÎÌLž$‚ ‘´mÓMMM455!ùZÛ«O_Ü5dͪå>r”£ÆP©bEŠ+*-ûîÝ;fÏGñâÅ”Öaaá´jÓŽ6­[1yÒ ôõ¥¨ÊÔmû[ŒŸ0‰âÅŠË“9ƦK§ŽÒß(ŠTë?òšegkêËøøñ#—è޳ŊÅÒ¢öO«·¤·Ý“§NóæÍÜáÂWë IDAT¸òôéSLMLÈ›7/Y²dIµ³ÃÜrZZZ¸8ד'ÿpê¶»~ã&|}2bø*Wª„B¡ !!³çÎÑà`ÆŽ‰•¥¥Ê2ÿ„òûHÏ€ÁC©^­*ë×®æ÷îÓ®}GJ/Ž™YYyÑßη=ÖAᇠäÓ“'Ø%&ʳ$މ‰¼{ð€«W¯Ê³þSöìõdÀ !Œ›0‘šVXÚØñç²$&ï»èèhFŽCõšXÙÚ³nÃFttt¤å?yBÇ.ݰ°¶£F-KJ\\ñññ´mß‘ˆˆš¶h‰aaá|þü™é3gSÓŠµ,3n±±ê‡>|ôˆ–­ÛR±Juœœ]9~ÜŸšVR~pHí;v¦ZZ8»ºqÀ×O%?e¨æ¾ý˜?!|ý°±s`úÌÙR™òá‚AA4iÞ³ •1¯m‰¯ßAH^ç¾ýhÔ¸•«™ãêæN`P$÷H™3w>V¶öT«Q 'W.\TrO¥ª5¸zõš”ficG¿ƒ¤¿W®^C·½ ƒŸáæ­[4lÜ”ªÕkâäâšjŽa#F±|ÅJ:vîJåjæ8ÔuæÒ¥fΞCM +ª™×þjßìܵ‡ºÎTªZ׆=v\e}»vïaè𑔯Tï}ûصg/vNT«Q‹ö;¢´Æ/¼÷íÇÉÙ•jæµ±´±c݆¼Þy °nÃFlì¤WñRe9sö$÷jÜ´9U«×Äŵ¡ÊpàÔÖ-‚ðo‰“³+5jYòðÑ#úLÙò•¤ëÝÕk׈ýˆGï^äÈ‘ƒ½žÞ*T½ž^*ë™9{.MÜÝÉ–5«Júšuë±³µ¥oŸÞèëCrZ2°m€cÇýqvu£RÕ´ëÐImȲ}ûG­šæò¬_ކBCjT×ÔÔD¡P|UGP¦|Í  ÁÊÖž­Ûv`[§.ÕÌk3dØÞ¿/•OëÚ•¬,-)]ª÷<Y½%8$;éú[¥º9»t#"2RZÇŠU«qtrÁ¼¶%uëÕçÔiÕžÜÊV®^ƒµ]jÔ²däè±*½ÙSÛÇýOФY ¶ïØIéÒ¥ðõ;Ȥ©Óyòô)6v,\´„Rªlyù¢ð÷ãž½žŒ3ŽÕkÖQ£–%£ÆŒ#8$„â¥ÊÉÛ^±j5Ýzô¢jõšXÙÚ³}ÇNi©ÕuÕ9}æ .® ©RÝœö;óâå )O¾Ý +WðöÞÇæëˆˆˆ¤AÃÆ4hÔ˜z. ÐÉ¢ÃòeK?q²T'?wþ‚ʺW¯Y'…ëHù lݶ[{G*T®ÆˆQ£UBá4hÔ˜;wÿ’Þÿ‰“¸7iN- kj[Ù²rõ)OùûH˧OŸ˜6c5-¬(W± Í[¶!!!A^ì»sëÖmúyx ©©I™Ò¥pu­§—·T&µûˆßhpA„_L`` f¨|”ÿø‘ÑÙ¾~Ô¨^ gO³~Íj6lÚ$5°Î›¿ûrä/GùñèÑ#¢££¥eóÒ£[WNùåè!?®]¿Î_?455Y¿v5»wlç¤ÿQòåËË¢%K ºr…C~8yü(÷îÝgÑâ¥Òú”õöèGùrå¸|ñ[6m`éò*ùýú¤téÒ\<†m›7²qÓ•ü \ëÓ¢y3ê»8sÒÿ(#‡•QE—n=iѬ)ׂðÚ³›ÚµjJù«Ö¬eŲ%\ ®£ãÆO àòeöí?€ß~._:ÏŠeK)S¦ŒÒšASS“šæ5¤†è7o’={vΞ=ÇçÏŸ8þâW½YÒú GŽcÃÚÕ\ k}ÆŒ› ²¬²5ë60vÌ(._<‡-í;uAOO³§N°{ç6¶nÛÆµë78uú ³çÎgÁü9\ ¼ÄÈC0hˆÊÍÊì¹ó©R¹2çϜĥžgÏgæ¬9¬Zþ'ÏQºtiú+5¦§ˆ‹‹cÄÈÑ,˜?—ËÏáã¹5=·;uhÏIÿ£œô?J×.(gfFMó¼|ù’®Ý{Ò¥s'.0p@?z{ôãÅ‹—^· ¿±‘‡üöséüþ(R„Å çsûÆU.œ= Àƒ)Sº …‚]»÷ð)îƒôçÑãÇÒ:.D÷n]ˆWm ¸LùiѪ-6vtèÔ…;wîB¶ýüyýг{7‚.У[W:¬²þ7oß2gî|&MO|&6Dýªž?ãÁÃ9x€cG̬9sÒ¼v¥åÓ§O÷?Á“§ORm´ åòå@|÷ysîôI–¯ø¹JåÊlߺ™‹çÎжMkÆOœ¬´ôGŽcÕ구Z±ŒógNRÓ¼†ô W.11‘#GÑ´E+9¬™ÓY¶t1%K”ÀŹ£Gç?ŠpÒÿ(ýûyÈOSfîÇ#Gñèñcüöû0nÌ(y6ËW¬¢O¯ž\`æôiŒŸ8™¨¨¤ÆâÔêºr‘‘ôöèGŸÞ= ¼táC‡àã“ô0^5k×3 _""#™0i2+–/eŸ×^ŠýƒÑÑýã ôõyúô/_¾¤goú÷ó (à"cFdŪ¤zvŠÐP=zı#ÙïíÉá#G8x‹Ì%(à•*V`ÎÜ/ñÕ ,Èì™Ó9ökV.g†>WYgzæ-XH`` {ví ðÒy¦O›üÍávÒòàá#LMLT”.U’»ÉáG¦Í˜)ýÿw“y{RAá'(\¨®õ](^¼M7–n>L¯îÝ0Ð×GGG>½U–Íž=;µj𣩩IΜ9¨R¹2Ï‚ƒUÊ(ÛëéEÏîÝÐÏ™==]Z·jÁ¡#GäÅxðð!<¤?´µµÉ“ÇŽíÛIùÏž=ãÖí; è—ÔãÁÀÀ€NÛ«¬ã{;vœbEÿ y³¦hii‘?> ¤üvmÛ7o^ õ]œ¥ÞFyóæåÝûwìÚ³—>P¤paôsæTZs+K i²¥#GQÇÎŽ"áRÀe>þÌåÀ@¬¬,ä‹¥ªyÓ&Òûsvrâñ“'ò"G‡:+ZMMMê99On]ÑÔÔ¤Há”,QBZÞÓË›Æî¤a•V––ØÚXãåí#­¯j•Ê´jÙœìÙ³£­­Í^O/Ü5¤xñb( :wìÀµë7—–!¹á½ ©)›·l%4ô9¹sç¦`Á‚*e”=xø…‹—2wÎL´´´8vÜSê»8Còç24ÌÍ™sç¾yÝ‚ ÿfÑ11äÈ‘ƒ¨¨Ì¿€i“'‘#G^½zÉøÆŽŸÀ¤ ãÕÆÎˆˆàìÙs,Z0—ÇШ¡]º÷ÌÐÄf'O¢x±¢4tk€††––T©\Y¥ÌŒ³hÞ¬)E VIÿU-^ú'5-¬¤×­[·åEÒÕ£[W´µµÑÏ™“Þ½zrðPR='­k—:'O¦lùJ”«X…IS¦±få J•,)/&ñèÝ==]tuuqt¨Ãƒ_&x®^­*††¹°³µ&8•ºÚÁC‡qoÔR%K¢©©IC·üQ¤ˆ¼‹/eèð‘ ìßÓ¦R¬è—.™!³ö£B¡`âø±æNuî–:övTªT€Úµjb` Ï“§Iõ¡ŒÖuOž€ã_ZÄ Å–«˜ ""! ØŠÝ^»»»°Ûk‹qk£ØÝÝØI£¤À²ïÀ²{hã¾ÊÏóœçagævçôœ9¿9~ü$S&OD7§.'OžBGG#CÃ4oîR“?r½(ŸÔ$Ýl’K1W®\*!R45µˆK|M4((ˆ T_}-T¨ ŠÏ%J¨Æõóóçø‰“ìÛŸÜ£GWW—ÐÏŸUêT]]íÛþaÕ*/š4kMkƃ™YÊz‹‹cØðQ Ø_q#óÉÏ_ßç*¯uGG%<,,KËAøÝÉÏi´jÙ‚R¥JòèñcÅ€_+V­¦RÅŠØT±–Î ‰½Tûôî¥8F{4i̼ yúô)+VWLþÄF²$•®®^½Æ­;w˜2y¢J™_Y—?;ѶmkÅg}}?ÉZƒVÞÄÐ$$^S—î¹+5Nެ^¹œ'OŸÒ¼e› ¯s”¯“´45‰M|sJ&“±båjΞ;O\\,±qq©^P¡¼ê¹_ù:CY¿¾½±°(Í’¥ËX±ríÚ¶Áµv-•ëÄïñ£ê±Hs45ÓoºS®;’®‡ë/³×ºþþŠFã$ùÍÌKã{}ùŠŽŽ… äÕë×ÄÄÄàççÇÓgÏøÆËW¯ˆ páB8x3ɵ©©‰‰âÁR###ÅßÚÚÚ*×}šššÄÅ&ü&€ý²c箄P%jj/ÏÚ[AAäËg*Mþaôôr©¦'*2’¼yõ  ÄsÆLþ^ëŇYë™ý»H«Í†æž‹e–ïaÊý Î#F¡PÁ‚ èßWšõÍ&Mñ$Ÿ©iŠQ{A„_‡µµ5:ÅŠq<$„Úi\PQS#w©RT–ôÄÉN ,È›·oUÒbccyûöùL“/?}Rí}úæí; F 766ÆÏÏŸ?,Îû_¾„)4cbbèÔ¹+cG¤y³¦¨©©1hÈ0År’ze(366fîì™*!*RcjbBXx8‘‘‘ŠFeå^²ÆFÆ| #**Zñš]p°êE·²Ô¾KZŒ x+©7ejé¼*X²d æÏM@` }ú `ùŠU)^#-RÄccc:LpH0V•+¡—3'} $OÞ«««.ÏÔÔ„?;u`ðÀ*é©ÑÏ›—Ç2p@?¦Ï˜ÅàaÃÙ²)e¬åÅK–bhh@»¶É7w¦&&T(_Ž­ÿlR)›$³ËAøÝ•(^ŒK—/“ß,?sgÏàÞý”,™0@ß¡CGxúì;vîRÌÓ»o긻±dñB .L``òƒD¯¤KScjjBdÞàà`ò'6Þ:r_ßç”)—Ðs4Éž½û¸~%õÞ¨ÿozzz˜§ß°›‘OŸü(RÄ€·oß‘;wn4553³BBB8qò”49MßúA²»½çÎáY´(ÇR¹ð:¢¦ÆŒ¢EÙ{.!avÕ¼YS6lØÄé3g‰ŠŠ"00ˆ©Ó¦cn^X¥×’ŸŸŸ"L‹—/Ù¹Ë[1Џ»[mV®öâË—0bccYº|…b¾ˆˆ"""°²ªŒššïÞ¿çÒåËŠ|mmmôôôxø0áuT¹\N³¦MX°h±b ¹ÐÐPž|ø¨xUÑÐÀóB…Ò=NŽ<}öŒ'O!—˹rõ*—¯\UäO?VåwíÒ™?;vøe›”5ëÖCxx8Ë–¯P\S¥wîÊÈA¹pñRšñ”Óãç@±¢E122D.—ãí­: ¤277Wvïñáù‹ÈårŽ;®/7-å,-™;{&;·mÁT©SÃ÷øÖzLëúî[dt­«,i8vür¹_ßç©ÆzNâîæÊæ-[Я/»wmgùÒ¿(ó‡Û¶lb­×*Êü‘ÐëììÄÓ§O9™ØVôúõ›t—?òäÉM©R ¦Îœ=G€äáQZ”ë·^Ý:¬öZK``PÂzH¼f¼|å ã'NB.—óõëWFŽ˽û÷!q@jiüé´äË—ª6U×ûOŸ=cïÞ}4iÔíÚræÔqöùì–Ζmü§œç_‰AM>æ#`Qæ6©k×®Ó¦]G,,J³Ç{ׯ\dáü¹ØØ$¿Ò\±By¶+ÝT&Ù¾cçO{r’Yå,-3ŒK#“ɘâ9ðð„¸2Yqðð•àÓó=ÿG!»ÓÕÕåðÇ̱¶ÆÎÀ€@ÀÞÀ€UªpôñãLõÞù¹Ôtfâ„qÌ[°ªvöÔ©ß/_ÂX¿ÆK¥LÕª6\»~ƒjö´jÓžNÚ+‡D¡‚qquÇÅÕB (Â=0fÔºvïE³–­™5{.Í›6U,`øÐÁŒ›0 ;{GÞ¼yËÀþý¨f[•VmÚS¾’5=š+Âw(SSScñ¢ûö³`Á"|vï¤WŸ~)þˆO(ÂïäÄ©ÓX[YqãæMªÙVEO)ojJZ$Ü<ù>ɸñOÙíÛ·¹–:£ÊÍ›Ù:ŒFVíòÞÍŽ»2ýZâÿÓõ7é7` —/¤Þ3ýì¹óLš2•“ÇŽH³AA~ªwïßãìâÊ“‡÷~Xãÿ¢ÿR=~ýú• 7süÄIBCC‘ÉdäÏoFëV-SPÙœ¹ó  aÆ´©Ò¬ÿœ+W¯b[µª4ù»„GDpõÚõ¡¦Å÷ùKl¬+YQÀW ˆ┦x¥I.™’(þþåc8_¹zMš”ªŒ¦ÜŠEMK âå„ä1Fߕ۰TZ4MAAÁ<|øˆžéï&¦&”+gÉá£Ç¯mÛ¾“Í›ñþÕ²V•+Ó¼iSŒŒ Ù°q3'OåÔqÕ͈ˆ:wíAㆠhß®-ýú¢lÙ2\¹tž>àѼÅ‹ËÔS$Óf΢^½:üÙ±ÑÑѼ~ó Ö¯õ²BevnÛªh2|DвR Ôçñã'*ØØXš¶hņ›©[×iÓg²lÉbòæÍ›êÿARªT©•’>dò¢á¿$0׿¼ËW®P²DIŒ eµ×ªÛÙI‹ ‚ ‚ Â/GGG‡îݺн[iV 'Ož¢Z5[ræÌ‰¯ïsvïñatb¯o!{úåœ3jHÎŒSïeÜ –ƒ&ÖSÇE#”xyr4_¾„¡©¡““##† •AA„ßÚŽ]ÞŒ3Ž˜˜råÊE«–-¾+¬†ðëû圄…÷e  åô5ØàªæA-ÞÄÇ#—Ëù89%ÿY)%U #Þ¡¯¯/ÍVáæZ›ISÌ]Bémk¤³¦jİ¡ô0ˆœ9sÒ´Icrç΃Ÿ¿j¨Q¤ˆ¹JÙæÍ<ø³s7´ut¨©42}?ÿŠ-Š‘‘!r¹oï=Ò"ä35¥t©RŒ5‚ƒ‡²ßg7E‹¡BùòL›1“Æ¢§§ÇûPWS§@üŠy¿~ýª²¬¤ “ܸy˲eÉ‘#åË•C&“ñõk4úúúèééñðáCÌÌò!—˹yëVªe?þÌÜù :xùó›a` Ï¥+Wˆ‹‹C]]ðð†ÅÔ)“¨nWú<8pðõëÕE[[;ÅÿЂ üΤÇÝ´d¶œBT2uuÔtr žÕyAAAá_”­{8Ÿˆ§Œ±šZˆ‹ÿJ”ì §>®Â3¤[6À“‘ʼn1ÎAè™ „]Mè=œ‘Z.5Yµb)gÏÇ­n¬lléôgW?y"-J9N†[2 IDATKKòç7£©G“TG'íÞµ ¸×m@ë¶(R´yòä– UËØT©Â°£Ëå,[²˜°°pkÖ¢’uUzöêËÇO壢¢°¬PYe’ÚàŽ5kSÝÁ™ƒ†à9e²"TÈð¡ƒ7avö޼yó6Ͳ‘œ;žˆˆš4nŒ–¦&¶v5˜<Å“‰“§PÝÎŽÚµ\È™3'³gNgâ¤)|üø)Õÿ#‚ ¤$ Á_S“Si– ‚ ‚ ‚ üR’º“*w+U“LêJ“†Ò¤ hZ€Nâ”ãÚÛK–(¦´¸ÔéçÍ#MJáÊÕkß5hà†w x6“¸¸xbã .be ‹“ qq !ÏIÅ/•¨þ¡<¶§I!‚ i:qê4ÖVVܸy“j¶UÑLåᢲ¤‡îf.”S’/çÎó¦QCòÚÚRøðai¶ ‚ ‚ ‚ðº}ç¶U«J“¿KxDW¯]ǪrÊΧ©ñ}þëJÖ@ðˆb8¥)^i’K¦$Š¿³uHŽ…ƒ¥É‚ ‚ð[ ºs›` Môíí¥Y‚ ‚ ‚ ‚ðKÉÖ Î‚ ‚ðÿäéé©ò9$(0ÕôqãÆ©|–zzà _54Èåæ&ÍAAA„_J¶Žá,‚ ÿ/žžžÌ7Ÿ¥ËW(¦„¡jå*ióæÏOÑ­ìÛ¼º{u ôð«V¯ÃÕ½—._`̸ ,^²TZDø ¢¢¢éÛ ÕìñhÖRšýKòœ>“U«»Þã³—ö;ðþÃ,+TF&“IæøõýÎßýß°båj†À§O~8»¸ ilù–öÎ=v\eY‚ð+Øã³—Öí:H“Ùã³—º aSÍWwÂÃÃ¥E„ìð‘£ôèÕWšœ!é±èßÒ¬E+nÜH+£ë%åóå¯@¹®3:ïý¿êW~$Ñà,‚ ?‰nΜ™¤;éêêIgSˆ‹‰aÿ¤I„«k`1h¨)¹ýõèÕË •yôè±4 Ÿ½û°¬P™9óH³„_Àýxòô©49…Úîu '$$„æ­Ú¨äÉårV®ò¢Bå*¼ÿðA%/É—/aÔr«Ãä©Émbbb?aöÎØ;ÖdμÄÇǫ̗Ägï^9wú[ÿÙ(Íþ%y4iDíÚ.ÒäÎ{4é·ÐÈ£/^’&gÆÆFŒ9]ÝÊ6çôL™4sgNRÓÙIºá'û]÷ÿ·ØØX¦N›Á€~}¹vù>Þ;É•+áááÌš=—Úîu±®j§Ò@úàáCz÷íOU»T³wdÀ !„„„(òoÞºMÇÎ]±®j‡cÍZÌš3O¥‘/>>žÍÿl¥IÓT±µ£ª]4÷< ß€AT¯á„•M5ê6hĆ›¤Å¬­­èÚåOir ÒóºôXô#øùùcY¡rªSƒFôï×—R¥JIgMÕ¿u¾LËÑcÇUšd¶®ùIõ›š¨¨(V{­¡U›ö4lÜ”z Ó¢u[Öÿ½¸¸8iqá¼ÿž.ÝzPÕ®nuê³oÿEÞ§O~ô˜}ËgAAøÅÅÆ²qôXžß@¾ö”òh"-òŸP¡|9víÞ#Mfç.o,J—–& ¿ˆuë7ð왯4YÅ›7o140$W®\\»~ƒ*VVмÐÏŸéÑ»/Ï|}ÑHg0ÎÉS=100PI[ºlïÞàÐ}Ø»›7n°éŸ-*e’¼yûŽråÊ¢¥¥…ŽŽŽ4û—dY¶,Å‹e<@÷÷xñò%«½~^a™u÷î="""¨VÍVš•mhjjRÇ=9¼’tþüù3_¾„Q¹REÔÕÕÑÒÒR™_ø¹~×}çWðåKÑÑÑØÙU wîÜØ ܳw?>ùùñ÷Z/n\½ÄÒ¿*æ ¦v-ìÛáý>DEE±`Ñ_Šü³gÏѼ©'fÃúµœ8yŠÝJ-^Â.ïÝL™4«—.páì©tÏ;¿²7nÒ©s7J—.Åö­›¹pösfÍÀÚ:ùü*eblŒmUir ÒóºôXô#äËgÊÝ[×¹{ë:[7oD[[[ñÙg÷NœÉ“'aÛPWK»Iëß8_* aÁÂÅÄÆÆ"“ɘ>s6‘ŠüÔêZ-Î$?£~¥ƒ‚hß©3¨©±jå2öùxsp¿+—-åã§OôèÕç·~øò«6r4––e¹tþ ‹-`æ¬9<|ø€Ysæbhh(%ÛH{ïAá_÷94”‹§N1¦u;ÎîÝK®"Ehºté®ws7WW:Ìׯ_i/^¾ÄÏÏŸŠË«”½sç.­Û¶§z 'š4m¡QAbÈŠ¤^N•¬«òé“QQÑŒŸ8™N.Ôv¯Ë†›hÜ´9/^¾ ..Ž9óàX³5œ\˜4Å“èèÔ_mtu¯‡ÏÞ}4kÑ »ŽtêÒM±€*¶Õ¹ÿàâóý¨fï¨øœY©ýŽÀ  úŒ½ƒ3µÜê°aÓf•yV¬\cÍZT¯áÄÔi3˜8y*Û¶'ܸ­[¿>ý¨”ïÓo€Ê2¼÷øà^¯!öÎtíÞSÑÛ8ôógŽSÍÚØ;8Ó¶C'‚ƒC˜5g'NžbƬ9¸º×KñJÿë7ohÐȃŽváÝ»w4häÁ¤ÉS9|ô yðåK9tt¨ëîÆÜÙ3Ó¼ÙÙã³—°°pj:©öà{Æ€AC¨fïH-·:8xHQ>£Wˆ“Œ7¯µëèÓoÕk8QË­;vîRä§µ}ûú>§oÿ¼ÿW÷zŠRYýÝqqqŒ=W÷zØ;Ö¤C§Î¼{÷N±< ¼wï¡nƒFØVw K·(òÓ[IvzïÆ£qcÔÕnqÒÚvßHømIùv5éÞ« qöãããY¸è/j¹ÕÁÞÁ™†MšrõÚ5ÈľýðhÞ’¾Á7lcé}ß´ö‘ËW®ª|çuë7(€Îñ9½º–zøðí:ü‰ƒ³ 5œ\5z¬"/­å“‰ãó™³çhÕ¦=N5kã\Ë5ëÖ+òR[Ÿ¯ß¼¡{¯>Ô¬íN 'FŒClllšûNzõù_ñâÅKþìÒ»ŽÔoØ„ç/^(òNŸ>Cú ©ß(áÁzÍZnT®bËa# qý„††2oÎ, , ò Åѡ͚z`blŒÎNN¼yóV‘?h`5l@Þ¼y)Z¤Õl«òÌ7¡á444”Í[¶ð×âT¨P>Õ‡4_¾„)®¬lªÑ¬E+•åÿJfÌžC³¦MЯ/… BWW—r––X–- i\C(‡fÊÊy]"£ý(½ó‘2 444PSO¸îMúœô@9À—°/tíÞ“ê‰ÇÓgÎ*ò”Ï—i»\Ýëqàà!Z¶nG5{Gš6oÅ­Û·ËHïw% fîü´ïØ}}}ÔÔÔèܵ;´ißW÷zøùù«Ô5‰Ê;vz+΋£ÆŒSôˆ–ÖoZënÔè±Ìš=7á:ÏÁ™ÉS=ouetÞ3v=ºu¥U‹LõœN#f4iÚ‚©Ó¦3zäLLLØ»/¡7nF׋ßs|–þ®}Ò°qSª;8ãâêžâº6IFë. €ƒ‡bWÑêÎŒ?QåZ,µÿý£½ÿžGÓ§W/444øÃ¢4uëÖaï¾ý|ýú•R%KJgË6Dƒ³ ‚ üŸ-]¾BñÊ`uÇšt8„ÏžqU7'[ƒC°qvIñjajSYëJ´ëÛ ï£{ˆ‹•þ›ß’±‰1––e9zü„"mç®Ý4õh‚L–&!$$„Þ}ûÓ©c.ž?Cÿ~}8x(ÁÁɯÕNœ<…¾½{qáì)òå3eéòå¼~ýšCû}8´/ï?|À×÷¹¢ü²+¹uû6û|vsìðA|}Ÿ³lùJE¾ÔŽÞ¬õZÅÙS'([¦ ƒ‡O³±ô{HÇ ÁÃ033ãìéü½Ö‹+WsîüHŒ¸yËÖ®^Ź3'©X¡<»¼wK™¦K—¯0wÞ–ýµˆógOaaaÁ°á#øçŸ­œ<~„sgN2fÔ 9|(üaÁè‘Ã9vä n®µU–YÄÜœý{wS¯^]ÆŒÉþ½»1/bΆukØ¿w7yòä&GŽ4M§WÿÛ·ïX¾r5Ó§MAŸ\ÇÑÑÑ|üø‰’%K(ÒJ—.Å3ßç)'öïG£† hÔ°ÇŽÄ¡†='NžâÕë×ìݽ‹1£FLï¾hß¶ —ΟaÓ†õlÛ±ƒ­Û¶+–µÿà!ªÙÚráì)&ŽÇÌÙs8|ä(Þ;¶ròØaƒ‚ØžÆÍ5Àö;Y·Æ‹³§ŽGë¶hݪ%—/œeðÀLšâùMےךuôêÑ‹çÏ0mê¦N›APPBãeZÛwÉ’%;z äçØ‘ƒlÚ°NºX…¬ünMMMê׫Ë>oΞ:މ‰ +Wy)–%“Éxüä){wïâÜéhkk³|å*H¼™ÏhDEEqäè1<š4‚ ¶]€?rãÆMöìÚÁ©ãG=SoܼɃ‡ðñÞÉ…s§Y²x!Šy32áb*WªÄéG©ãæšf]§& 0ƒ‡Ò³G7.ž;ÃÐÁƒ8p ¹1X™tîÖ¥3K—,`ïî],]œÜ 4+ÛXFßWº„„„Ðà`úöéÅ¥óg5r8^k“·›ôŽÏY©ëYsçQ§ŽçNŸäø‘ƒtI|5=½å'Iïø\¸P!¦{NáÌ©ã¬Xú‹/áãÇOŠy¥ëÓÈÐn]:süÈAîóáî½{>r4Í}'£úÌîâãã4tÅ‹åÌÉã¬õZ…ÏÞ}Š|gg'ØÇþ½ ç¦3'sëúæÏ Àõ7©X±C‡Ä­N}Z´nËá# û¬”ŸŸ?»}|ps­%Í‚ÄPM÷ï? d‰„sÄí;w)R¤;vzS·A#4ò`é²*ÇÛ‰“§ðêÕ+6mXÇ¥óg˜0n,ùó›)-õ×£GiÒ(á˜é5„²o=¯“‰ý(½óÑ÷8tøãÆŽæâ¹ÓŒ1Œ¡ÃGªü_eÒcW’uo`Éâ\:†Úµ\˜2uº"/½ßȬÙséÕ·Å‹g÷:ÿÙMMMV¯\À–M9vä`Šº&±AøÍÛ·>¸c‡Ìü… ÇðÔ¤¶îö}öŒ°°/¸»¹2wþLMMÙ»{3§{òáÃGê׫˕+ÉÃéùžã³òï244`ü„IÌ™=“‹çN³kûV\Ò •Þºë?hÆFFœ>qŒãG¤xÐ$µ:ý‘^¼|EÁTB£X”.Å“§ÏèÞ­K¶~+F48 ‚ B6rãÞMF.C›ñíù”pÁø;S<7ÂÛ;!¬Fll,û ©Gc•ÄS§ÏP `êÖq –KM ¸p)9–kËͱ­jƒžžjjj:|„Ý»‘;wn´´´èݳ‡¢,‰½aºwíBÞ{iܨ!%JGMMNÚs÷Þ}üýý)l^˜;wïrúÌYär9å,-¥³§ëÁÇ”*U’øøxÞ½{OáÂ…¤ER%“É1z £GÇØÈH%/©× nŽä ûœººÈd2¢£“{ɧGMMñcGchh@Ž98yêæ… Ó ~=ÔÕÕ)??];ÿÉî=ɽ¦ .¤¸w©éŒ††íZ·BOO===ìlmyýúÒQÕ²e òäÉMΜ9qrpà?,¨žøZyíZ.DFF$-CÎNŽT¨ð&@5ÛªäÍ›‡7o¾GV·ïÔdõw;:Ô GŽhhhP£†=ïÞ«ÆæîÔ¡=ZZZhkkãìì¤Ø2³Ž=†eÙ2Šém»Iz÷쎮nräÈA-—š¼x‘ÐëÕÔÔ”ðˆp¼÷øAssòæÉ£˜/#V•+ѲE3råÊ…––V–êúܹó+VŒºuÜQSS£lÙ2¸¦Ò¸“UYÙÆ2ú¾Ò}äÔ™³”(Q×Ú |¥J–T‹Éàøœ•º.Z¤GãÞýäÈ‘ƒÒ‰q\Ó[~’ôŽÏÅ‹£D‰âüñ‡&&Æ|PŠ/]Ÿ¹r嶪 äÉ“›J+òV©× TFõ™Ý½yû–çÏ_0p@´µµÉ—Ï”æÍšJ‹¥) €K—¯Ð©c{Ž>ÀÔI™ê9]ñJ:‰ã:ØÕp¤¶{]*WªD«–-T–‘Äkí:¢¢£hP¿>$.ûåËW*X€{÷°aýZÎ?Ï?[·Aâ˜'NžbøÐ!-R*V¬¢ô¯ )nuÁ‚¤Y*¤×Bʾ缞Ñ~”Þùè{Ôrq¡XÑ¢ØW¯N™?þàÌÙä^ÎʤǮ$mÛ´ÆÔÔ555긻©ôÀOëwEDDP·~#>ùù±qýZš6iüMÛÅŸ: ¡¡AΜ9éòg'ŽKûØÚº33ËG‹æÍÐÐÐÀÔÔkk+ŹŒtλ·oßÅ6q0ò[·nÓ¨aHìåž3gNH'ÜGj¾çø¬ü»455)T° [¶nããÇOP¨PÚׇi­»W¯_sÿþ€ŽŽ9sædèA?qR¥—sjuú#EEE¡›SW%-‡®.QQ ¡VÊ–)ƒƒCB‡‡ìHSš ‚ ¿«oï^Œ7NšœeŸ¿|æÆ½›,Ù¹œ›/nÓzN;¼ÇíÄ(×ï¬v-<§ÏäÝ»wÜ»ÿ€òåÊajªÚ ᓟÏŸ¿À±fr¯¦¯_cˆP¬¥„$Ž_@@ ¦¦&ŠÏúúúŠW6“òÇŽŸˆ¦fBšL¶¶¶"_J___ñ·®®.¹råÂ? @q£¢,>^µ·mV(ÿŽ¤Æ³“{ÇÅÆao_€àà`*U¬¨È#1Fbz”Øó÷àÔé38xP‘¦««KèçÏ4¬_ý¼yñZ»Ž³fÓ«G÷L5"Ìž;Ÿ³gÏñæí[† Al\QQQ4lÜ”š5:8! @Z–­X‰eÙ²8;¥ I’t“­l*2* mmíL¼cn^MÍäKä  àuV°`AƒÂ/$ïcêêêhjjªÄäÓÔÒLwð#¥²ÚÚÚ*Ÿ“n`cÓ™?-ffª½ð45µß#+Û÷Ý»÷hÓ¾#$ÆU½|!áf>+¿; 0+VñàÑ#Ô€ÐPòå˧(Kâs-MMd‰ÛbfÖÁ.ïÝ´TjdJoÛÕÓK¬Uùÿkij*금¹9›þ^Ï*¯5¬X¹&Ø¿oªõ“Ú¾\¼¸ê>Ÿ^]W®bKLL »¶oÅß?€ùó«Ìo–/¾JDzo‘•m,½ïK*ûH€f’uiblLhh(dp|N«®?~’b››0n Ûwìdä¨1äÉ“›áÆbmU9Ýå'Iïø|ðÐa¼wï!""ybOÑxyòqPº>ï޻ϺõóéÓ'äÀ»wïi[¸•JeÕgv‚žžžÊƒé6ž¹\N£õç²?þ° F {.^¾LÙ²eps­MUY¿a#½úögõŠe*ËÙ±s6nâïµkç¹<á-˜¤s—¡¡-[4çÈÑcth×–ÐÐPd2™âAÖ¯,i<ƒÀÀ òæÍ+ÍV^ )ûÖó:á~”Þùè{HP™ššà§ô`Q™ôØ•ÄLéšRSSS¥‡{Z¿KOOŸÝ;ùgË6<š·Ä­vmZ¶lNÁé7øKåIŒU`jbBHHHšõ’Úº“^k)}ÿôλáááŠk¦òãëëË¥9vì8QÑQÈår>¢ˆ©žåëÅï9>+ÿ.uuu6m\ÏÚµëiѺ-U¬­=rDŠk€$i­»ààråÊ¥¸(T° ñññ„†~VĈO­N$=½œDEF©¤EGE‘'OÂ>:lĨë0;I¹· ‚ ‚ð[Ê›'/.ö5q°­ÁH¯±ìº½‹¾ú±¥÷æŸòÔþߢ­­M½ºuðÞãÃ;wi×¶´¦&&”³,ËÆ¿Ó~ý_-1®k###üý½0¾| S¹É022bætOªÙ&ôɈŸ_rì·ððp>þ¬¸ÔÐÐ@®Ô0¥\6«”‡±‰1;|0ÕAïLMLðóWý_þþÉqq54ÔS„jðóK¾Q355Áʪ-ýûöQ)“Ä¡†=5ì¹ÿà={÷Ãܼ0UmlÒÝÞF B§íé;` ;·máð‘£\»vñãÆH‹¦jýßÑÑÑáè±cDF&Ü]½zûö`n^_ßç˜ðôé³,õê–@T°PÁq¨?~ü¨rS™ÞïÍŒï?-ê‰10S“Þö-ý:*”çÁÝ[ª‰YüÞcÆM ¿™¯õBGG‡í;vqàj¨å>Ê2Z¯^¿Æ÷ùs\k¹(òÓÛv“b9'ÅzNM‰Å™5cAA 4„Õ^kéÛ'!cFû²´ÞÓ«ë[×U_W~ðð!gΪ6–$5Ü~¬¬«ô¾/©ì#ÆÆF|’ÔCRoK2q|N«®¥Ûœ††mZ·¢u«–ìÛ€î={sáìé —O:Çç;wî2qòT6®_Ë$„òpª©Ú£\y}ÆÄÄнgoFŠG“ƨ©©1|ähE~jÕœQ}fw&ÆÆDFF&ôôÓMèé§ü:}F *¨rÞ"1r£½®®.ºººäÏoF¿¾½iÐȃˆˆÅÃ¥¿7ldý†M¬óZMñâÉ L… $88¹\®ØGbbcËÎ;7êêê|üô#£_ûὡ¡Å‹ãÀ¡C è×Wš­ ½’ú–ózV÷£IÚ¸üÉÏJ•T´'‘»’¤U'ý®‚ 0|è`úõé…ÏÞ}ôîÛŸB ò×¢éÖ—²€€E^???rçÎj£8i|Ï´~œwóå3årb,å‘Çá9}›þÙB»6­1ËoF›v°³«Fà odt½ø=ÇgéïÒÏ›—!ƒÒ·O/fÏ™ÇðQ£Ù°.õ°Òy“*X€°°0B?F?ñ̇ÑÐÐPy¸Öü?J©’%yÿáQQÑŠ]OŸùR¤ˆ9aaaœ~BT”j¯eY³v=áááÈd2¼Ö¬UÉ÷hÒˆÅK–*§>þÌÓg 1×R³s—·¢7ÔÂÅK(bnŽE鄯ìÂ… q%q ,™LÆþɽ.¿GssÊYZ2kÎ\ÂÃÑËå¼ÿðA_°V-öøìåùó„W OŸ>Ãë7ɯ°.\˜ÇŸ(^/¼wï¾Ê«¤5dÛöܹs¹\Ntt4÷îÝàñ“§Š†°"ææèçÍKxx†<|ô$=`’<þœ‰½}}ŸSªTæL9zè{÷ìÂ{çv¼wn§E³¦¸¹ÖVÜÌ4iÔ¯5k ãóçϬû{ Ô“.&Óœ b_â:ûôÉÍ[¶âѤ±´èo%½í[__ŸÀÀ@‚‚‚S]ß"À?˲eÑÑÑ!**šƒ‡K‹¤)£u°{·u븫¼"Þ¶›‘?)ö}}Ì R äô-ûrzu-åPÞg¾¾œ8y ¹\Îóç/8tøˆ´ØO••ï àè耯¯/§OŸàÍ›·*ß9½ãszu-uëöm¢££QSSòlYd211_Ó]~’´ŽÏ~þþäÎK÷ýÜù ¦¾&22’ˆˆ*Uªˆššï?|à²RŒÓÔö¬ÖgvS¨PA,,J³|Å*d2?~b·´Xš<7æð‘£œ=w¹\ÎÍ[·¹pñ5ßä9}ú /^¾$** ֭߀¹yaEcó’¥ËÙ°i3«V,¥@üDFF‰\.O ¢®ˆÛüáãG¶nÝNÍšÎØ]Ý®ó,âý‡ÄÅÅñüù‹,5˜ÿ›† ÈÚu³zÍZˆŠŠæõ›7™äð[ÏëYÝ~¤ÓgÎòàáCär9§ÏœåÑ£Ç)þV™ý]ººº´nÕï´i𶃶¶6zzzRíihhÀª•˘=w>ÓgÎBSSƒR¥J±xá|E*©ýû2mÆ,êÔo„~Þ¼têØ^¥Áªoï^´ïØ™°°0 ôõéÚµ³¢G´”³“]ºõäý‡+V”E ç)z¸Œ=’3çpðàatrèиQC®&6Z}¯Å ç3kÎ\\ëÔC&‹§`L?†üùÍp­]‹W¯^Ñ­go¾~ýJÝ:îØT±VÌëä耋‹3mÛwBWW—"EÌ©§{µº]5FÆøI“ùðá#9rä ¦³åË—ãÉ“'ôí?€˜˜rçÊ“£ƒâa@·®7~{|ö2fÔÔWmð}þò%%C<óõÅ®š­J~z¤½Ìtsêý5CÄÞäݺv& 0÷z ‘Ëãqws£S‡ö*ódEîܹY¹|)ÓgÎbÆÌÙäΛV-šÿö ÎémßeË”ÁÝ͆Mš’ß,»v$Ä3ý£GÀsú vìÚEÞ 6„ª6UÐÐÐ $$„³çÎSÍÖV%ŒEF׋ßs|V&“ɘ¿`ÏŸ¿ ‡nÌò™1qÜXHì¡|õêuâããS½š=sÓfÌ¢¶{]ÔÕ5pt¨Á𡃥Åxüø1r²C?æâÅKÄÆ& À~íÆ ÎxÿIˌ鞌?»NèééѯooŵȒ¿2{î|Ex ì&éÎSùTM2©+MJ“&  h:‰SŽk7n_,Y"ã8(úyS BÙ•«×°­j#MA„_‰S§±¶²âÆÍ›T³­Š¦äâÇÓÓSåóÒå+@éf>Ɉߜ÷Mõ¸ùù&ûšùPÍ,ózÿEQQÑØT«Î‰£‡ÓŒ—W÷zL2é·xeºk÷ž¸¹ºÒªesi– ±`áb‚CB˜:y¢4ë_÷;ŸAþMwïÝçŸ-[yôø1±1±äÈ‘ƒòåË1x`•Ø÷ÂÏuûÎÅ Ž?JxDW¯]ǪreiVª|Ÿ¿Äƺ’5|b€X NiŠWšä’)‰âoÑÃYA~iCò–í»RMÿ™”«Çõ;×8æwT48K<~ü:17'>>že+VPÄÜ<ËÍI2óŠŸ BvtúôªVµ!gΜ<þŸ½û>lˆ´Øÿ8> ‚ ¤T¡|9*”Wí #?J¶npÎ]¡›4 €°»^Ò$AAÈ–*¨„ìEÂ/H³þóüüý™;~~þ¨©©aaQšóçH‹ ‚ ðÞãÃØ “ˆEOOÍ›Q¯ni1AAþ#²uƒ³hXþw>rÏé3ˆŠŒb„q4nØ@ZDAø—•ÈSY^/Ô_J³þó”c~¯cG28ìW±fõJi’ ÂwY¼p¾4é—ñ;ŸA!»HrRÈ’{÷ïÓ³w_¬mªaY¡2µÜê°nýߊüÍ[¶Ò°±å+YQ¥ª]»÷äλ*Ëèܵ¥Ë”âlyªØV§C§Îܼu‹ÈÈHªÙ;püÄI•ò›·l¥nƒFø>NÝ(iQ–FÍ äöí;”´(Ëšµ)Ñ—¯dÍë×É£ÑìØåM‹Öm±²±¥\E+\Ýë±lyÖn>9šb鉓§0~ì®_½¤@^Aøÿ1Ð6@¦G€n€4KAAA~¸lÝÃ9­iÉLèk×®Ó¹[ºtîĸ1£066Æ÷ùsÅ(ôsæÎgÿƒLž4k«Ê|þò…ѾSgþ^祰{İ¡tëÚ™ÐÐP6lÜL—n=¹tþ û÷gÞ‚…¸ÔtF]]¨¨(–,YƬ™Ó)Y¢«W.ÇÙÅ•­›7’3gNÞ¿{ /¡v­Z)b®ôU=–«×®3fÔªÙVECCƒ/_òõëWiÑ4Éd2¦xNÇ{Ç6råÊ@DDAAÁX[Y¡¦¦†–––t6A„lOGGGš”ªÌ–ûtÐ!>G!-wîÜôìÞ æÌÏ–Íó%Ñ××§gn,^²”÷ï?вE36lÚÄŸ½4õhšuë±øÃG‡ÒYòç7ÃÖÆ†ÑãÆ³yÃzE¸² /qèðŽÜOþüfŠôr––*å”5›*Ö\½vÃGŽ2eòD¶oß¿¿?Í[µFC]ƒ™Ó§1wÁ<š· D‰¬_³Zº(AAAAA²¹_¾ÁùÊÕkÒ¤TÙVµ‘&ýpAAÁ<|øˆžS¥Y\½z ###Ec³²ºuê°qÓ?ÄÄÄ ­­­’̺¿7P¸paŠ1GCCƒ‘Ç1qÒì«Û±nÝßlù'eCµ²¯Ñ_:dõ5៭Ûhצµ´'NžÄÙÉQ¥±93æÌ[Àà˜8~,:::Ô«ãŽe…Êìܶ3³|¬³\•-{wïÂÀÀ@ºAAAAAþ~ùçïiHN+¤Æ·ö|  `ÁÒ,>þ‚‘aê­¦&&ÄÇÇŠ©©)sæÍgþÂEäÉ“›*UX¿fµ"…³“#E‹¡u»ŽÔ­[‡Ò¥JI–¨*6.–9r0kÆtº÷싳sІåÀÀ ÌÌ’Óž>{FÛöŸ¯\<‡†††âsk«Ê´iÝRñ9+á7AAAAAøïøåœ¿Ç·6,§%©çn``úúúÒlÌò™œÐ(-‚ºº:yòäQ¤ :„n];«”S6p@?Z¶nGÿ¾¤YiªbmE3&Œ?µ^«PWOÒ@_ÅçâÅŠ±ßg7oÞ¼¡m‡ä†g©%JH“A„ßÄ7`wâßòX[[K‹‚ ‚ ‚ “ܙ å®Ð-KSFŒŒ )Q¢8{÷ï—fP¦L¹{ï¾4‹£ÇŽcU¹9räf¥ÉÈÐc~üDõNDEEK³¸~ã&Õì¤É¿ §šµ¹pñ’4ù§Xºl…Tê-**š½úP¹Š-õ6`ßþTwp¦JU;9ª²,!¥y R¥ªeËWâÔé3Ø;Ö$66VZìÿfÒO–¯X%Mþ)vyï¦U›öÒä_^Fû£EÙò<ñBšüÓŒ5†ù Á7Ô©òwý7×ýÚñèGHoÍhݧ%£ù6öàÚµëÒdáxôè1•«ØJ“…ßLFûÐÕ»÷ï)iQ™L&Íúe8լ͕«W¥É Y¯¦s×Ò"ÂÿY¶np»ë•¥)3F Êj¯µ¬Xµ¢¢¢yõú5¯_¿!~3:´oË€ƒ9á"QQÑ„††²îï lØ´‰¡CK÷Sèêæ`æôiLŸ9›øøäƒ‡›kmÊY–¥S—n\º|…ÈÈHbbbøøñ“Êü&Mæâ¥Ë*iÊ´µµÑÓÓãáÇÈåriAáÿ(22’rµÊq«Ý-BV…ÀX`,¯ æf‹›XÖ²$::õÆÓ_ÍÅK—éЩ3V6¶”¯dG³–øìKýÁïÏbbb̸±£ÑÕÍüCc!e½yïÞ¿W/Ç{ç6âãã™8y Ó=§põòj¹Ô¤s×”´(ËǤ‹Ã{÷JZ”eƬ9Ò¬ÿ_ßç¬]÷7öíáÁÝ[ØW·cüØÑ* þm;vy«|nÞÌ7·Ú*i?Êá#G —&³½¼ÿºŸ¹îCBB8qò”4ù»HG?Âÿk>^‘Ÿd·sèíÛw(_)å›y'OÆ©æÏ9ÞYÅŠ•«ðhÖ÷º ¨íV—ÆM›³fí:âââ¤ÅÓõ­Ç©*U¬éѽ«4ù—ðîÝ;:têLE+œ]\Ùã³€ç/^(ŽgÙU¶npþj¹ÔdÕŠ¥œ=w·º °²±¥ÓŸ]yüä ãÆŒ¦SÇöxNŸ•-N.®œ>}†uk¼°©’ò`™U¯^¿¦g¯¾´m߉€À@ilªXÓ¸Q¾| S¤©««³fõJj»¸0aâdªØVǺj5ÆM˜DƒúõPSS#>>žË—¯òáÃG•åI :˜q&agïÈ›7o¥Ù‚ ÂÿQº5xÕùT‘æ€ÜVΫ¯p¨ÿëöÈMrêôzöîKw7Ž>Ä™“ÇèÙ£ÓgÌÄkÍ:iñŸFSS“zuëH“… Hëíõ›·T¨P---ttt åË—0¬­*£®®®h”©X¡<ÛwîRZR‚í;vòG&U²«7oÞP¨`AòåˇššÚÚÚÔqw“û×<ñ‚+U{´–³´¤Dñâ*i?‚L&cŠçtÂÃ#¤YßäG/Oøyëààá#?qRšü]¤Ç£áÿµºÔt&OžÜÒd©í¯ÿ–òåÊñäá=•iöÌéXU®Œ¶¶¶JÙ‰“¦P²DI•´•Ë—ªÌûøÁ]Šù{gVUò>ðÏå‚¢ˆŠ„Škw¡RJ+‚¤Ý±vwwÇêÚØºvbw×îÚÝ* ¢Ôüþ÷^z×ýþ\÷|xîópfæÌ93gfÞsÞyç3,-“,CCÃhÔЙãGqòØabbb˜;ÿéü)Ófð56–cG²uó&6mÞ¶í;U®9ÿ¶Å½² ýñxòä)ËWúi„„†âÛº-(¬[»Š£‡pâØaÖø­äí»wtîÚ=ÛÔgœ216Æ*yLøÞ8dU«VáúWX¶t1S§ÍàÞ½û”)]Z×~T~h…³¦ËŒô~…õë³yãzn^ûwoqöô \5„dw;uäÈÁý<¸{‹[×ÿ`ýÚÕÔ1¯­–ÇÚÕ+3õß `fV’§î«½•23ãàþ½<}tŸ½»w`ldDÍš58uü¨Ú¹ãÆŒæé£û˜™•”ÂråÊÅ€þ}9~ô÷ïÜäÎÍëœ9yŒ_æÏEKK ---Ž9ˆ·—³gNgðÀ*¹&Ñ®m.]8Ëå‹ç03+Iþüú<}t_òs-####óÿõk×xõù¢NÆ«O„…àYÄ3nÞ¼©õ]1kÎ\ú÷íCÛ6­14,D¡B…hìÒˆ)“&òË¢_ùüù3-<}ømËVµó<½}Y¿a$[J88»P§ž:u! 0PJgçà̟׮Ӻ]*U­Á»wï>r4;vîb؈QT«iξýÒ,9|õê5í;vƼ®%nî͹~㆔'É/ß={÷¥N=+Ø;²v}Æ{1¬ð[EC7,¬ëÓ¨qο ÅÙ98³ÿÀAZxúP«ŽîÍ<¸vý:¾­Ú¦É×§UÖ¬]§¦I\\ÓgÎÆÒ¦µëZЮCgž=K]¾ó…QcÆQϪ>¶N¬]·W÷f.ñ?ánîÍ©]ׂº&Å©ÖÛ¼¿°k×nöùÀÎÁ™~«èÚ½'Mšµ G¯¤Étׯ9pðÚ&ÅÏž?çýû jÕª!…ܸqOo_éY¨.™MïùfU¾øøxfÌšƒ¥MêYÕgìø‰Òj€{÷îãÛª-Öõ©gUŸ!C‡K×R%66Vªãª5jãÛª­dM·}ÇNœ¹RÓ¼nîÍÕ”hÃGŽf…ß*ºÿÜ óº–4°wdë¶í¼Ttò´¼zý;g.Z̳çÏ©P¹št~@` :u¡N=+\Ý›qðÐa5W/ÕjšsçnªÛ·;wïª-O¯í¿|õŠN]»ccë@=«ú 2Œ¸¸8žûÌúJFc^bb"sç- ½#uêYáâæÎ•«WÙà ,äà¡ÃØ98KÖ™™•)½¶¬ŠæxtöÜyÈF{=v<«V¯¥žU}F¯’cöú¨*™5éq÷Þ=š{zc^×7w5ªËÊÓ«ûŒúkVòà[¢T*Õ~ë6l¤SÇöjiö8H\\\¥‘–––Ú¹gÏG[G›ú6ÖØÛÙâë㉱1… ÂÑÁW¯^CòøqèðF†‰±1‡¡X±¢ìÜjEùüÅ :uéF­:Ø;6L3¡­££ÃÊU«±´i€¥MæÎÿ%Í8õ=‘šQ$2%³w² 3ê´åÙ3~â$êZÚ`a]Ÿ cßþ88»PÓ¼ÝzôT×׬]'É’QcÆ1jÌ86oIZ‘ÑØÕûIfu—ÂÃGèÛ ÃGަ|Ù¤‰˜œÞF²0¥RÉŽ»pjÔ˜šæõhß±³Ú¾_)²°¦y=êÛ9°lùJµîÃGŒ¦wÏŸiÓªã'L¢q“¦¸¹7g¤Ɍ3öìM²è]µz-Ýî%Kò †µë7d8N©rûÎ]¬ëÛqëÖmÍ(5—P4°wdó–mØ;5¢Ž…5C‡”V5eÿ- àÞ½ûôïÛ¥RI¥Špwož½û@elüÑQ¨ü´eò†‚:@n  ä # P(TjV\»)""?dùËW®þ®$#####óÝpâÔiùAœ8uZDEGkF§¡LùJ¢LùJšÁß”+Vˆ¼Þy×Èô—×+¯X¹r¥æéß !!¡¢LùJâÅË—šQ"!!AT¨\Mœ¿pQlÜô›ðnÙZŠ{ñò¥¨X¥º.^æõ¬Ä“'OEbb¢˜6c–ðôö•ÒÚÚ;‰F®MÄ¥ËWDTT”HLLÃFŒu-mÄæ-ÛħOŸDll¬x Ê”¯$âããEbb¢hÚÂSLš2UÄÆÆŠÐÐ0áéÓRXX×—òõmÕVLœ{¦‘«AÁÁ¢jZâÀÁC"11Qܽ{O˜×µýBµzBˆ)S§‹ “¦H燄ˆ2å+‰h•¾Ó©Kw±×¿èØ¥›Øë¿_ Ÿ6c–X¼d™5fœ˜>s¶Bˆ°°0Q»Ž…8pðBˆcÇOˆêµêHuÞóͪ|óü"¼[¶‘>ˆÏŸc„o«¶bÖì¹B!Z·ë Ö®ß „"&&F<|ô(ùîÔ™1k¶ðôöâË—/RÞgÏu,¬Å»w…Bœ;^T©^KÜðP!İ£DMózâÆ›B!.^º,ÊWª*BBB…H._ã&M¥ë<}öL”¯TU:öðòÓfÌñññ"""Bø¶j«Ö.«Ö¨-nß¹#ß¾sGÔ4¯'§×ö?}ú$.]¾"âããŇ…ƒs#±gï>!’ËãàœÚ^Sò˜·à)>³òîܵ[”­PYlÙºMÄÇÇ‹÷ïß +äè1µ<…âË—/¢LùJâÝ»÷RXÊù{÷ù ‘Üž¬êÛIíA!NŸ9+bbbD||¼èÛ 9jL†ù©"jÔ®+¶mß!âââÄÛ·ïDDD„BOŸ–bü„IâË—/"::ZtéÖCôé7@:7«zVíS¦NÞ-[‹ˆÈHñåË1nÂÄ ûÛÂE‹EŸ~D||¼HHHP»†­½“ðmÕVDDDˆØØX1uúLѸIS©ïe6&©>³»v ßVm¥|UÉê^Uóɬ¯d4æ]¹zUØÚ;‰OŸ> ‘<–G~Húfœ=gž9z¬”‡ÈF™4Û²&šãQvÚk k1zìx&™ªdÕGUŸ}fc&¶öNÂË·•Ô]²T4jÜD->%ߌê>½þš•<ø§¸|动oç µO!„ˆüðAØÚ;‰/_Šé3g‹)S§«£J«¶íÅæ-Û4ƒ…B¼{÷^4má)6lÜ$„âåËW¢JõZB!ž>}&êYÙˆ‡‰Úu,„B|þüYØØÚ‹9s狸¸8øVØ;5’Æ¡û÷ˆ2å+‰ñ&‰ØØX(ìŠmÛw¨\õû!'2TdÒE6dJfï("‹±0³þ®Ê7EÕµ5ƒÅÉS§…­½“tœU[Ví#)²ãð‘£B!Ž;.ÊU¬"º÷ì-¢¢¢DTT”hæá%Vø­BqêôQÏÊF<{þ\!ÄþEÙ •Åo›·JùiŽ Ùy?ɬîîÝ»/zõé':tê"Î_¸(…‹¿pÿ"Y˜òž6~âd+¾~ý*ºtë!ÆM˜(Dò»xMózbï>‘ E};±qÓoB!>z$½W3NL›1Kˆä~ÓÂÓGºöà!ÄBø­Z#ºõè)TéÖ£§X³n½ŒS¶öNâÊÕ«âñã'º½¸tùŠZœêsM‘_)嚈–­ÛJåÊ*þ[ræì9áÜÈU-lËÖm¢mûNjaW®^U;þ|ŠŠ'OŸI£‹Íè÷ǵ›¨ TJÅ€!P Y'œ'YG¬“¬3V&ëUuÊ?´…³ŒŒŒŒŒŒÌ¿“?PÈ fZZZŽ»{îÝ»/YkøûÀÉÑvïÙ‹G‹æ”-[…BA—N¹uûAA©ÖŒ­[µÄÊÒ===iS\óÚµhÝÊ—|ùò¥ñ½ùæM¬,-P*•äϯOíZµx£ÑF3";å-Z´­Zú¢T*)\¸0uê˜gh•–&&&4oÖc##ê˜×æÅË—R¼½-ººº(•Jlmð& u…Cfœƒ‚jU«ªÅ·mÓŠ‚ ¢££Ãàýyþü/^¼Ìñ˜”9¹×ÌúJFc^áÂ…ùõ‰»vM)33 äÏ/§Jvʤٖ³";íU¡P0iÂ8 åh#øôÈl¬I_o/i#yW^¾J\Ȭî5ÉJüS¬^³ŽvÊg£ IDATmÛ¨YõÍœ9_oJ™™©¥ÕäÎÝ»|¤ ÀÉѽþûé×§7þû0fôH‚‚‚9qòû¤.§Î“'‘>P89ÿ²éø-SFýCB•àòë룯ŸzOE‹•þOQf7ru“ÂâbãhР¾tœBBBËWøqîüâã㈋Oó1X4ù>Iö‰œâ. wîÜxz´`ÇÎ]Ô¨^ ÿŒ1LåÌô §h‘"Ò±B¡ ¸©)aaI®0‚ƒC(\ØDŠ700Èp©_pp¦ÅŠ©…-Rä/)Þ4iÔЙ‰“§òæÍnß¹KõjÕ¤g–Âû  ž>}¦¶Ä÷Ë—¯D©\_óùfU¾ààFŒƒ¶vRXBB¢äctòÄñlÙºÁC†‘?¿>£FŽHwŽÐ°0µk¤FõêêËë‹7%$$u?Ž"*Ï@[['[ Ÿ/yóæ•ÂŒÔÒh’˜˜ÖíŽfÛ¿uû~«VóîÝ;P(xó&€v%Z«¥Éˆì”Wó™êhkg«¼)-ª^_:ÚÚ$&$-u aÉ’eܽ„ "22MýfDHhhš{ '_¾|äË—O +Q¼8‰‰‰DDDª )¤WÏ)„„„RÌ4µ™gØßš7u§`¬ð[Å”iÓéÓ«'-}}¤øe$É㜾¾>AÁÁäJV¶fgLÊŒœÜkF}%³1¯”™Û·lféò,Yº/O† ÆÇ/Ùg5ÛrVd§½š™•D[ûÛ|>g6Ö¤‡j[W•šdT÷é‘•<ø'xþâW®þΜÙ3¥°ßÿƒ·n1yÒµ´é±zÍ:Zúú¤ÙÄ×µ± –„„„°zí:ºöèɺÕ~2(HôçÏlÞº --¾>Þ„„„;wn”J%ÁÁÁDDD`ÝÀNÊ+>>*•+IǺºº,P@:611!8$D:þÉŽ ͬ?fW¦dôŽ’ªcaNú»®nnöïKRp¦péÒeæ/HuߔӶlXÈPú_KK mmm SôuReQHHÕ«© &ÆÆjÇšcCvÞO2ª;+K ¶oùµë7Фi |}¼ñôh®&_rrÿÙ‘…ªã‹Ž¶6 É.cÂÂÂ)RD½Ý/^œÐ°¤q1**JR,›šãñãÇTªX£Gó%!Æ&¥y ÙqO3kÎ<¢££)P0µf‡*ý¶H‘„‡‡«½cdÿ­Æy=½¼Ä|ŽQ ‹ùü™ReöÌ·«I™ÿwÌÍÍùIÿ'"®F ,ÒWt(.+(W¨µjÕÒŒúnÐÓÓ£”™ÇŸ¤{·.jq.^„d êåéÁô³°·³åóçÏØ&+LLŒéÔ±=ƒôW;_…VÚÅ^ZZ[cñ)**Éb!O’ÅBDDDj¼I’æì©úbMÁoÕjŽ?ÎÚU~âù‹4jÜD-Mz÷—BëV¾xû´ÂÛÓƒ¨¨(ììl5“¤¡xqSÞP©RE),ðí[LMM022"((X²ŠûøñS†ÆÆFjÖâhÔÅß!W®\¸7qcÇ®Ýܼy‹íÓúò316¦zµªlÝœä¯;=4ë/«ò1wöL¬­’,vTQ*•´kÛ†¶mZ³wŸ?ºtãÏ«—Ó(> 2àÍ›€4›3/^<{`à[J—N²š"‹¶—F†F|üô‰˜˜/Òý„‡«? ¥R))cÞ¿¯Æõccc騹+cFÀÛË…BÁÀÁC¥ø¬Œ–²U^EÆí[•Œ,¤”Zé+œFáø½‘šÙ;Hvd éÈXU² 3êïiQ`l¤®ìÖœÜËi[ÖS2ÃÈÐ0Í»Nxx’ÿü4dž¿ò~¢JÍš5XXsAAAlüm MšµÀËÃCªŸœÜf²0…Œ&‹—(Îá#ê{…½}û–âÉõZ¤Ha.%û¦3j$'Oaæßhß¶ E‹Å˧%66ÖÒŠ¥R+ÜPÝC!£b>”¯_¿2`ÐìÛ£6ÁšïßIû™½y€¾¾¾úÄ@ñß‚òåʨ֗=~B©R™¯æøQȸ•ËÈÈÈÈÈÈü+9ð<¥6–Bq5훛ⲂR¿•âüÁ¤M’¾g† Ì¢ÅKغm;>~$&&†S§Ï0rÔúôî%Y6¨oCTt4K–.§EófÒ‹³§G ¶lÝÎ7BðåË—t7É %K– Bùr,üu1ñññDFFJ’lµS½Z5¦Í˜ITTByûöZ>AÁ!üTª††…B°{wƼéñS©RTªT‰©3fÒ¢Ej¹3ÃÇÛ ¿Õk'11‘µëÖ“/Ÿž´¹±«K#Vú­&***ÙúI}·ð “ÊkgÛ€ÇOžpüÄI„<}úŒƒ‡Ò*þ*Þ^lÞ¼•§Ïžã`Ÿj}–‚³“Ož@š•éLÕ*UÈ;711_8pð—U~Žö¼|õš}û˜˜Hdd$.\˜õëóËÂ_‰%&&†_—,މ›ä¶!'õìÒ(iÍ?Ç’eË5“H:j(?'ŒÃÓG÷¥_×.éÔ¡½š²`݆8:اYÙpêÔiž=NLL AAA¬Z½3³’èéé¡T*iÞ¬)¦ÅMÑÏ—gÏž3ÁBZ$»â±¶²$æK ËW¬”ÚÒë×oxüä‰Ú5ýº˜¸¸8Þ¾}Ƕ»¾û¨˜¬dhfý1;2%+2 3ëï…¬Úòß¡qcöìÝ'Ýï©Ógxø(ó¾úWÞOÒ£pá Þ^Ô«[—¡ÃG¦‘Ù±zíZbcc‰ŠŠbé²å’’¬âß¿bèð‘¼{—4Iòë’¥’{¥ë7n0j̸4ŠóŒ(\¸0õêÖ‘úÒã'Oð÷ß/AÀßÚ0ó{GV8ËÈÈÈÈÈü`äÉ“‡û§îc¾Óƒn0˜ Ý ¨³·ϼ{ŸVÒ½kBBCqqu§U›ö˜•2Kã>$+Ú´nÉÍ›·ðöòÔŒJ—î]»`ceE /,ml9{þ«V.—ÚÃàA05-†cÃÆ¸6iFÉ’%Ô|•>xð€@òKô¯ aÞ‚_0¯gÉä©Óèܹ£”öïRµJŠ-‚§G‹t•醆…X·v»öì¡v]KêZZ3yÚt¾ÆÆj&•Ȫ|úõÅÒ¢-[·£ZMsš{xó絤ã<Œ­ƒ3Ö ìé?p0S'OJ×ÊfØ!TªXW÷fÔ4¯Ëä)S¨U«&Çeàà!Ô©gÅä©Óøeþ\ÉÇóßA¡P°xá/ܺ}K[Úvè„££ƒZš ãÆpøðQÜ›yвM;ll¬3´&"ùÃoôÈátíÞ/ßVÌš=oÏÔvV¥reÜ\]iܤ)Í=¼ÔÎå(ï°!ƒ;~"V6¶¼~ÖúX“qcG³~ãFšyxñs¯Þ’/Í2˯H‘Â,_º˜5k×Q½V\Üܹw/I9=î,"##±up©‘+zzzL?V:7'õ(ˆ™³çðþ} …‚J•*²ø×_4“ýkù‘ËwýúMÉǪ¶R‰-ÇÑL&#####“%²LIâë—/̘5‡gÏž‘H‘"…™?w6¦ÅŠi&•‘‘Ñ@v©!#####óù7¸ÔP\Oó¢¶l'###########ó½ð£ºÔ7 ”‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ù&È.5dddddd¾_¿~Õ J—ì¦ûÖü]WFFFFFFFFFFFF濃lá,####################óMÎ222222222222222222222߄ڥF¿1³5ƒøuÚpÍ ™¿É­pþ¯)–ß½{—OKN?Jž<ºšÑ22222ÿc¦NªvšnøØ±cÕŽedddddddddddddþ­È.5þÅܹ{—‡IÇÆÆFŒ3JV6vìÚ­”!œK–-—~"ùO5lÞüùiÐ2ÿ=º¸qùÊUFÏ¢ÅK4“ÈüÄÄ|¡O¿XÚØâáå«ý]2uúLVú­`ï>Úuè @àÛ·T©^‹„„3¾þ—÷þþ}öŽ ‰‰ù¢õMPí¿GŽ£GÏ>RÜ¿±½ÉÈÈüØhŽSÙåŸK3Â˧%×®]‡l¼/©ÊËïÕºÎJîýÕ¯ŒÌ·ä‡¶pÎÈ¥FFüÛ,¢ýV­ÁÉÑŠ* ­­›kcÍd29äÙóç,_±/Oͨt9tä(wïÞÃÉÑA3JFFæ?Nž¼y)dh¬¬FŠÕ³LZzôìÃÅK—عm •*UT‹Û翟ÑcÇÓ©c† ¤'óÿÏÝ{÷ÐÑÑ¡BùòšQj8»¸²w×âââèÞ³7;·m‘ℬô[Í’eË9|ÐÓbÅ dñÒ圿p‘„„xLMM2h V–<<[4× þîiæáÅÈaC±¶¶ÒŒÀÈÈ‘#†ýO 4ÌÍkc`` ÿÛ›ŒÌ·ââ¥K¬ð[Í£G‰gåò¥˜×®ÅÚu˜;frªW¯Æ–Mغm;ë7n"44Œ²eË0fÔªV©@||<‹—.çàÁCDþLÍÕ;fÅŠ…d%ßšµëyòô)úúùhÖÔ!ƒ¢P(HLLdËÖíìØ¹‹€À´´”\¾p¥R©r7ÿîÞ»Çò~\¿~ƒ/_¿R¸° ­[úÒ¡};ͤÎ8•šrýŸKƒ‚‚qlè¢ ÀO¥JqÀýúö¡\¹ršÑéò¿’—qìø ¬­,É—/ä ®ù‡ê7=bbbØôÛfNœ<ÍçÏŸIHH@/ŸM\Ó®m´µh•áÿ„ÀÀ@ÆM˜ÄÝ{÷)X ýúö¦©{HžX˜6c&]»tÒ<í‡à‡n=ÿ„9$4”qã'òçŸ×È“7]:w¢sÇœ>s–£Æpø€?††…xõê5-¼|ظ~ U«TaÛöø­ZÃÛwï(\¸0kW¯¤”™7nÜdÊ´é¼zõšÂ… 3fôHl’_íœп/k×­'ðí[*V¬È”I(Sº4ÓfÌâø‰“\¾r•ù 2jäpªV­‚½cCÝ¿ƒR©$..Ž9óà¿?±±±T®T™IÆQ¦Li)ÿ¡C±zÍ:^½~i±bLš8óÚµ5JJ@` mÛuäçÝYé·ŠðˆÜ\]hÓº5&NæÅË—”(QœÙ3gP©b’"üô™³,úu ïß¿G¡¥E§ŽíéÑ­+ÃGަL™Òüùç5®_¿A^½¼ôéÕ“V-“¬>^¾zÅÄÉSyòä)qqqØX[1{ættttX³vë7lâsL ÎNŽT«Z•6­[B²¥òÒe+øôñ#•+Wbú´)75% 0Ž»2iÂx&NšÀ‰c‡yòä)=ûô% ;gŠ)ÂÂópoÖ‚E `meI\\Í=¼iÕÒƒ‚,X°Ø¸8.]ºLãÆ.Œ1 ™oCõjUÙµg/c+T ß¹kw–ÊL™ÿ?Ö®Û€ƒ½]¦Ïèõë72(D¾|ù8vüuTÞ?"?|`؈QÈŸ?ÍGDd$Õ«UeôÈáèëëã¿ÿýæü™“èêê2vÂ$òëësöÔqÂÃ#èÓoJ-%;uPËàõ›ªV­,½Wü¨R¹²fÐ7çù‹ø­Zý¯S8ß¾}‡èèh,“'ÒC[[›Æ.4ƒÿŒŒ062’ŽÿíMFæ[pîüFÏè‘Ãqrt W®\Ò¤K§Žíéо­Zú “&clœ4aêôV¯YÇŠeK(Q¢8Û¶ï¤WŸ~>àO¾|ùرsgΜeûÖßÐ××gƬ9Œ3žukü ùû½_ßÞÔ¬QààºöèI… hÚÄ €…‹sþÂE&OOÕªUHHHH#wþ-\»v½úбC;FŠ¡¡!Ïž?—”ëé¡9Ne„¦\ÿ'ÆÒÂ…M¸}ãOîß@‡Î]ùóê%µ4öv¶jÇZŠ´“É)ü/ä¥*¬[¿‘¾}z¡¥¥Åô™³Ù¶y“¤pN¯®3z6ÿDýjÆÏ½úÐØ¥+W,¥@þü„‡G°ÂÏ={ã·bÙ¿¶?|/ 1Š:æµñ[±Œ'OŸÑµ[Ê”.MåÊ•˜5g.… Ò<å‡!ãÞùpõ÷?²õû_Ñ·ß@Š-ÊÕËؼq=K–.çì¹ó8ØÛáêÒˆq&’˜˜Èð‘£ù¹{WªV©Âé3g™3o³gMçö?Y¹l %K” <<œn=zÒµKg®ýq…AûÓ»oÂÂÂ¥ëmÛ¾“ë×rõÒªT®LßþIHH`̨T®\‰±£Gröô‰t£_þÊõ78°o/^½L½ºuèÔµ_¾¤.Ëð[½†Ësý+4jèÌø “ÕòHÀ·oyñâ'áÀ¾=;~‚AC†²è—y\ÿã 5kTgî¼ùRú’%J0gÖ ._<Çê•Ë™7ÿÞ¾}'Å/_áGŸ^=¹öÇf͘΄IS ÀÈП»wãÜéœ8z˜[·osðÐaHVd¯ð[ÅÚ5~üqå"6ÖVìTq…qñÒefÍž‹ßò¥üqõ+VdÀÀÁRü»wïñ[µš•+–²ßÊ•+Ë„qc15-ÆÙÓ'ضeEŠfò¤ Œ=–èèh.ZLáÂ…iß® MÝ›ÐÒׇ&n®œ=}BV6ËÈÈÈ|c5lÈ¡ÃGøúõ«öüÅ ‚‚‚©Q£šZÚ[·nÓªM;¬ëÛÑÂÓGrQA²ËŠë7nÒ¡sWjš×ãýû bb¾0nÂ$êÛ9âìâʆ›hîéÍó/ ÙjjμØ:8QßΑ‰“§ªÉPUº¸±Ï?^>-±ªoKÇ.ݤ|êXXs÷Þ=éøî½{XÚ¨4e‡ôÊF¿ƒ°i`S£ÆlØô›Ú9ËWøaëà„u};¦L›Á„ISض}'$@öîÛ_-}ï¾ýÕòؽw.nM±i`O×î?øö-$+… †ƒ36 ìiÓ¾#ááÌš3“§N3cÖº¸qìø •ÜáÕë׸7ó C§.àÞ̃‰“¦päØqÜ›yðñã'tsçÆÕ¥sgÏL³Ü´j•*´nÕ}}}œùüù3Ÿ¢¢ˆçܹóôéõ3¹sç¦hÑ" èß—}þûÕòXøëböîÝǃ‡ièâÆù ٻϟñ'³vÝêÛ92~bÒ{Ñ›7iÕ¶=Ö plèÂJ¿Õ! Ù­ÅÈQc˜ýøô铯$ÑÐÅýâåÓ’:ÖtèÜ•ÇOžÐà`,mlqjÔXz÷!KˆS=v<«Ö¬¥wßþX׷éQcvìÜ%ÅgÔ¾Ÿ>}FŸ~ |KC7Ée‡&9-w||<#F¡¡‹6¶´ïØ™€€)?¥RÉî={quo†…uºtëAHHˆŸÙ3Haçî=x4oŽ––÷ï? mûN4°w¤¾##Gt–1ÿ•ú_¾Âî={cÓÀž¦-<9sæ¬¯ŠªËÍö¶Âo5õ퉗Ò_ºtëöÄÅÅ©ä’Äè±ãñ[µšî?÷ÂÒÆ7÷æüùç5æ-ø%©7°gμT+ÑŒž/ÉuàêÞŒK—¯àæÞ7÷¤‰…À·oéÚýglØÓÜÓ›ÃGŽbëà$å™Ù»ÿà!š6÷ĺ=Ž ¥4Þ IDAT]ÒŒC2ÿm-^ÂÈáCqsmLîܹQ(’+åÿ”߇9zì­“ N>—§¥Kÿ„ŽŽíÚ¶ÆÔÔ”sç/MéÒ?a``€¶¶6õêÖáË—éÚíÛ¶¡A}ôõõ)S¦45kTçõë×DFFòÛ–-üºhÕ«WCKK+̈́Ж­Ûhæá…U}[ºà·zZü÷ÄŒÙsðòlAÿ¾}(^¼8yòä¡j•*’â5½wÕq*'r]s,={î<-[·ÃÎÁ{§F¬^»Nº¯¬ä‘*)í@¡•¤ˆUmh¸ øøé#]»ÿŒuÊx|öœ§*/3’ï ]Ü8xè0¾­Úbic‹§wKnܼ)å‘Y¹R gîü´ëЙ‚ ¢P(èܵ;!!!´nמ†.n«Õ5ÉJå;wKrqäè±DEEA²*½g7rÔfÍž+ÉIS¦J“9YÉÝÑcÆÓ£[WZúø0eêtšyxÑÂÓ‡)Ó¦3jÄpŒñß²ñ¾˜‘Ì% Ù‘^¹²+O²zv!!! 4«ú¶X7°g̸ jïbé]û[ȃéݳ'J¥’ŠÊãêÚÿýøúõ+åÊ–Õ<í‡á»W8[Ô«›­_zô3;Ýß_åõë7\¿qƒAú£T*)Q¢ 8zì8#G çéÓgtéþ3ZZ ztï€ÿþøz{Q»V-´µµ)W®,ZZZœµkÕâMò yðÐa¼==)ýÓO¸7q“®°{Ï^ð'ðí[ž>M•ƒK—¯àÆÍ›ìß·‡ãGñôé3–.[!Åk²cçnÖ¬ZɹÓ'©\©ƒ† K£,ýh–cà ¡)R„sgN²~Í*–¯ðãü…‹¼”ø·-[Xã·’ógOQ£z5víNšdÍ—¯\eî¼,ýu!ΦB… 6€Í›·pêÄQΟ=Åè‘Ã)TÈ€ÆP±bFÆñ£‡hÔÐY-O³’%9à¿77WFÁÿ=”4+Ɇµ«9࿇üùõÑÕÕÅÓ£…ÚyéÌ´³¨oc±‘qqñ$&&’[7U®-Z„×oÞ¤QNè×—fMÝiÖÔãGÑ ¾ 'Oæå«WøïÙÅè‘à §WŸþ´kÓšËβiÃ:¶íØÁÖmÛ¥¼:Œ¥…Ïf¸±Ìœ=‡#G±{ÇVN?BhXÛ3ø¸ؾc'kW¯âÜéÄÇÇÓªM{ZµôåÊÅs П‰“§þ¥¶´jõZzöèÎ¥ g™6e2S¦Í 2jßIËÕGR¬XQŽ=Ħ k5³•ÈI¹µµµiâæÊþ}»9wúÆÆÆ¬X¹JÊ+!!‡ã¿gçÏœ$W®\,[±’?æ³z111=v͘5w7âü™Sœ8zˆ.™,WÍiýoüm3ÇæÂ¹ÓôëÓ›ÁÃFðö]ª1Ezh¶·ݺ ¯ŸS§ÏHiü¤©»[…W ë6lbÔÈá\|ÄçÏ1xxùÒÈÕ‘£Ç‘*ŸUÙ²uöv¶˜˜˜ˆ¶ŽúÂlc##^¿~€·§lß±‹k×®³fíz† ¨–>…Û·ïðÇŸ×p°KjŸ7oÝÆÌÌŒ;wãêÞ ÷f,Yº\­¿—)Sš_æÏåò…sø-_Æê5븓ÜϾ'ÂÃ#xðà!-š%¡ù¡Ê_•ë%ŠgúÔÉœ=}‚åK~eá¢Å¼{÷^ŠÏLý9ÊØ1£¸tþ #‡eȰj×UES¾§°vý/ZÀå gqvrdò”éR\få eÖì¹ôìÓ—Ò¥K³w÷:wꀶ¶6~+–°eÓFŽ=”¦®IV¿~ó†#‡ösüÈAÂÂÙÿËBÍdé=»‡SºôOœ>qŒ½»¶súôYi©Ìäîã'Oøôé#.2wþLLLðß³‹™Ó§JÆMÜ\¹z5U9œÉÜÌdG ªå*TÈ Gò$³g×oà`Œ 9sò8'Ž",,LšhH!½:ý–<ñÓbÅÔôMÊ—ãÑã'tïÖ¿UߟñoÍw¯pþ;ü:mxº¿¿JŠ¢²‘«–6 °´iÀ±cÇùüù3yòèÒ±C;.\¸H÷®]$_!!¡.\X-/€÷AA<}úLÊËÒ¦ááD©Ìº,XPú?Ož<èëë,…eFXx8E‹‘Ž ÅMM K²(ªr_ÚÚÚÙþ˜144”þÏ•+††©Ë´µµ‰KµÖ8pð;wÅ˧%^¾­ 'Q¤* ЍÜ#€¶¶Ždíqëöúö({îüDbÒcHHHšz5I^zEòGèö;¥ºmáåMžÞXÔ«‹žž …‚ÃGŽÒ£{7ôõõÑÑÑ¡×Ï=¤´$[ÃtïÚ…ùó“'.­Zúpüdªâ[“V-}(P :::ôïÛ›/^òòeêì·Bµܼu‹~}z£T*)^¼8NŽOVП8yŠfM›R¶l”J%ÍšºcV²¤f–²wŸ?Í›5¥L™Ò( :¶oÇí;w ¦DÉܺ}›3gÏ!„üif—{÷ïS®\Y ¤D‰âšI2äöí;Ôµ´Á±¡ Ïž?gh²ïyóæÅ®A*V¬€µ•%¨Xp«¾¿e{;[ªWOZ `iQòóúMÒ}ä´}§GNËmÛ >ººº(•Jê×·! 0ÉZ>…ŽíÛ¡££C®\¹°··“úOvžÁÑcÇ©R¹¦¦¦”23ãØ±ãܹ{]]]Êgâó3§õïìäH¹²eQ(4jèLùòå8wî¼JŽY£P(ðñòb÷ž¤±-&æ 'OÆ£EÆ-NŽ”þé'”J%:‘@·.IF f%KR®lY^%[nfõ|ccc:d0?•*Ež<ºpÿÁCúöN²Â*P €š›ƒÌÆX¥RIqSS¶lÝÆ»wï100 xñì÷g™›Ð¤½*=~ÌæM8°o7ºººLHvk¨Êׯ_Ù²m;Ú¥¶=kk+ü÷àÝ»÷ÄÆÆâ¿ÿW®þNBbÒw«Íšºóë’% :ŒòåËQµJU•\a¤)Ô±°¦{ÏÞ 4€Ê•+Aò÷ä‹/)nZŒƒþ{Ù°n ç/\`óÖ¤I€zuëJNeÊ”¦VÍ<{þ\Šÿ^HQà›š&íwšïBªü¹^ºôO’ëΊ+`llÄÛäQd!þNŽŽüTª6ÖÖTªX‘³çR­œUÑ”ï)´iÝ  ]©=ߌÊk“f¼ bãº5x¶hžádaftêØ¥RIÞ¼yéÒ©#ÇŽg,‡Ó{vEŠÆÇÛ ¥R‰‰‰ ææµyþ‚CB¤U“'Oÿ ªåNž„vožª¤Š‹ÇÆÆ’åbÍI«ˆRÈÊ‚Cu3³ààNŸ9ËÁC‡¤°”ÉÛ¦MÜ(X «Ö¬eƬÙôìÑïll¸;{î|Î;Ïë7oæsRîÐP–/_ɽP$ûâÖ4(R$õXG[›„䶘g°k÷|}}¤ãñcG³}ÇNFŒMþüú :óÚµ¤xUrZÿ þ(Z¤Á*î?²‹§Gs–._NPP0^»F©RfT¬P¿ÕkøeᯬÈÿua’« Uòå˧öM¢Tj“ƒç[¦têXŠ~¾|’¢ÀØ8Õ×hfc¬––›6®cÍšuø´jCóÚŒ1<Í3“ùo"„@¡P0tð@ÉʯkçNxxûHq)ìó?@ñâ¦T«–ª0nÚÄ÷ïÞѵûÏ|މÁ¥‘3U*W– «ÖoØÈñ§8|ÀmmmæÌ[@¿Yµr¹”Ç ýéÑ­ ¯^¿aÞü„……ѽ[W„€òåËI²«P!|}¼9zì8íÛ¶äß¶lÝNdd$ZZ ß¾“öúžHÙŒ.44Œc”*šïBªüU¹pèðvïÙKtt4"Ùâ:»Ff‡¿Ã)˜˜gh §)ßS(¢òN©i„—Q¹ôôôØ·g'›·lÃÃÛ—FÎÎøúzKg—üÉîÁHÖEDDdX/é=;Í÷a•ûÏLîFEEIã}±bEyúô)+”çøñÄ|‰AÁá#G±Jž|MÕ÷ÅŒdnf²#ÕråTždôìÂÃ#È—/Ÿä? ¸©)‰‰‰DF~ܲ¥W§ß=½¼Ä|Nuñð%&†üù“úèÐá#Ó<É´½í"+rN)efFõjÕ˜6c&ÇAOOÀ·oÑRhQ¬XQFއ{7ÆŒI¿ƒ˜1k“'NÀ͵1cÇOÄÓ£•*U$00üù àìäÄì9óعk-š7E¡PðøñJ•2“vSݶ} ÈŸ??sçÿB)³¤Q€BÜ»ÿ€æÍš¦»Óµ·~«×PǼ6 dý†ä˧GóŒ7üÖ“?¿¾¤œ={î¼4ËÑÑÑDGGS»v- \¾rEšanÜØ… 'ãããE)33N>ÃÃG¥ó==Z0xèpìmm©Y³_¿~åÑ£ÇÔ¨Q]å*IŒŸ8‰Æ..X[Yb``@HH¡¡a*d€––kÖ®ãÓ§(¦Lš@•Ê•K‹$ ¬PŠŠâÇÒ R©”Vèh¦Í)ªå026B©TrüÈ¡t'ÃMŒ V¿VppªbL©ÔJ³º)((õCÍÄĘڵÛЯOoµ4)4¨oCƒú6ܽwŸ{õ¥dÉÔ«[7ÓÉØáCÓ±};úôÀÎm[8rôüñ'ãÆþ{wEóÀü{È‹ ¨„¯ùJ(ÒÝHˆJØ vwvww·€]Ø ¶b`) qÔÝüþàn½[¸ñýñê||öydf¶wgöfgg&²“ÊU¥Š&¼<=°yë6ÄÄÞG£† ¡§§‡ëÖ0iV®^;ƒÈ±± ª«W·X?Ô_¿~•øQ)kñ³óK#í¥>ä\ßìÍiÖÌOÝ— ,åvOœ<µkÕÂö-› ªªŠãÄ©}#CxŸ”DÞ9x÷þ=^ÇÇÃK¬ˆËå¢SHG„t쀨ã'Úo®_ùÑ}…¸ÒìJ¸?~ús)•Ù²hkkÃÃÝ'NžBÌýûl[ô)|hŸÞíÓ›¼TÛ)ëüŠˆ?³êTÓÁ÷ÌLðx¹L¥ ø'ÏòòXm--Œ1 ƒöÇ‚…‹1füìØúû~&L)®NíÚàp8HKOg~ã@EEEâš&„`ç®Ýèß/Tlî"¡}û T8è|FF¼|Zaö¬é€ÓÂÊaQÅÒ¸1£`ne‹OŸ>1-#µµ´ ­¥…ºuëâS‡8tøBûöž^]|û–&Qñ_PÀ¼œ‰ƒé3faë–Ì`yƒ†Ê)úÿP­ZUÔ¯ÿ7Nœ:…¡ƒ±£ìg!¶²”ë>´³°sÛüóO€‹›d·²Ê£ŸÁ®\NHLdºëdc—ï"ÒŽ‰¼ýª[§ÆŒÁû#"2  ^ݺX¹|©Ìã%.99™¹N¡©©Yb¥8¤l§´}‚œrWW·&n ûR7f4ÂçÌÅ®={Ñ¥SjÕ®…N]ºÁÎέý[ ‚ôôtðù|,[± †hÒ¸¨2[__·ï rÌçóqüÄÃ?ÃÐÀ&ÆÆ˜¿p²²²@Áç/_˜þ=<Üq,"ññEŸ^ºt™ùäôõõ÷‚ù¼ðñã'Ÿ’¶mÓûÂÇ@Ann.ÓweÜ‹—HOO„Û¡­¥…¬¬l@øRüÙó8€ÕF$>> êµü~ý:žy1­ˆÛwîâý‡àóùàóù8á"^¾|…f&E-âÄË9z,‡A¿°¢q5ÊÂÕÙ ©©©ˆž³„„DìÞ»E­ýWɺ¾µµµ‘’’RÔ Z ç¯,’“’aldUUUðx¹8yê4;‰TòÎÁÑ£ðõñ–øDúþƒÈÍ͇ñ‘ø|>òó >ú3®\½Æ4r8uú ^¿Ž‡›Ké€í‚qâÔ)ÄÄÄ¢U+?vt™É:¿%Ñ××CãÆ°nýðù|deea÷ž½L¼¬<¶  >ŸÏ‡ªª*7nŒì좼€¢TUUáßÊ3f†#33ÙÙÙX·a#\œ%ï™ËW®"3+ Þ-½$Â0^¾yóƒ† GkÿVÌW»úúˆ¾t<^.Ž‹D•*UP½zu?q’(øõëxˆ`*m¬­Àå*1ý6ùúûö€››+ õ[**©ª¢ºNuðù|D_ºŒ;wŠÊòŠhäðaزu;6nÞ‚äädðx¹xÿáÓßµx<Ö®ß_ï»>Ù½gví.*óÞ¼y‹ “¦àû÷¢}7!3HiiÕ¬Y–æLÙúêõkœ8qmü[ACC5ªW/ÕóÐMɯN~Št©QÚVÐÕ«ë`éâ…ì`X˜›#D8’.„ê7…Ÿ@ÏîÝг{7æoSìݵƒÌ03kŽú±ƒá:Ï‘üÁúúÅ3æÿ\.Ç ÁðaC$Òˆ\Ž–l)bhh 1IôêÖ-–FÔ!¾ˆƒ½³ìJ•*aÞœÙñâÌûÑ©»Èõ+EÜ@¯ž=Ыg‰xqýBû¢ŸppFî Ÿ¶mÓmÛ´fþaïÇÙÓ?*ì9æÏ•ÜæØ»?:Ëçp8ضåÇ 7::Õdv‹BQÔŸ+7'iýU‡¨¯’pUTà?}:¢Ú´EÜÒ¥hP¼éáÂØÈµjéÂÉÉ©ÄVÕªUņõk°`ÑÌ™7ÊÊ\4jÔ+–-aZT± 2³ç·O«6ÐÖÒBî]%*¬ èèÚ½233QU[}úô’Ú¬«‹ z÷í‡Ï_¾àï¿ëaù²ÅÌKâIÆaî¼…8yò4TÕTѶMkÜV@ÿ¬Ë–`þÂEðòñŸ/@Ý:u0uÊDÔ®] ^žx÷îúö€¼¼<øúxÃÊÒ‚™×ÅÙ îî®èܵÔÕÕahh?a?{æ;~ìhL™>_¾|…ššÜ\]`jj‚/^`СÈÏχæ_špqvb^ôíÓ “§LDZˆHL?þ¬Š´ø·o™q^½~]ªÈ>|ÀÌY³™VMõÿþóçÎfúä<~â$æ-X‡ƒf¦&X¿nÍO}®¨©©‰õkWcμù˜;o455ѱ}»ÿ|…³¬ëÛ¨iSx·l‰ÖA¨]K—TîgL?ásæâàáÃЪR¾>Þ8yZ±Y²ÎŸÏGDdV®X&1ÏÉSg0dØH(++C[K Ó§N––²Ê¡"ÔÛÛ ‹/ÁóçqЬ¢‰óæÈìcR sÀÑÁ¾Ø§á?CÖù- ‡ÃÁÒE 1mÆ,8»y¢NÚhíߊP\VËáp°dérÄÇ¿šºjéÖ´ɓث þ`“&ŒÃ‚EKкm ù|89:`ü¸1i¶m߉N;”غ³oØ<}ö 5jÔ@ÛÖþ/'ŒƒÙsçÃËÇhܨ!Ö­Y555\¸y áû÷ï¨V­<Ü\™A¹\.Ö¯Yð9óàìêõÊêhÄ|m`ang'G´j.— _ï Ù†ˆ›« V¯\† ›¶`Óæ­ÈËËCêÕ1vÌ(賓Sšr½E 3f>Wg\¹z­Ú¢ºŽZ´hÎ Äû«> ‹—,Ãã'OQ½ºæÏ]ª1!d)í~q8‰øÆ`úÌp³JlákdÔFFMáí×999prtÀ˜Ñ£ØÉÊLV¹[¥Š&F ‚°~1fôHX[Y‚Ëå"-- W®^ƒ­D7òž¥•¹¤–%=Ÿóù|©åÉ—/_qçÎ=‚ °-˜7³ç·§·/””¸pvrÄaQ¶¸¸8Ud§gdàÆ›(Þ~7&úúòïiæÎ Çä)Ó`çè 4€é6hÕÊeX°h ó û»ýjÿõÊaMJbWlR%?( IDATP € Uá¤v7æÁ† ä÷ƒ¢­%ÿêö»°±¶bÿ1\Ü<1gö,8ØÛ±£~)>Ÿ€ vì`üý÷ßX±l ;øÿ&9%?~„©‰ ”••qîü 9çΜ,ußIEQeq!ú,ÌÍ [k(³~ÂÃ%¿zX½¶¨?AQE€ˆ¨ÿfiÎøú!/6ΑжQ¼bNDíiQ%j®qQ !ªd<^.¬líqáìi©}ÅIãåí‡Y3§Ëü|½¢èÚ-½¼Ð±Cñ²ž¢(Ù&NžŠÚµkIíf¦´ø|>|üZcÆ´)°ÿ—Ÿùå¹výÂçÌÅéQì(Š¢(ê7ðèñìÙ»ÏãâP_555˜šš`İ!c“P¿Öƒ‡™AËKVv6îܽóŠuùõ:þ-¬,Ì,ðäÈP PlˆM„5‰0ÿ/þúúãq¹\DEeW8y¹¹˜;!âããÁç P«–.–,Z@+›)Šª0ØÉ{.1\žÆ­üðñî]d=[¦ gªdqq/ ª¦ C¬Y·†¥®lQä?Š¢þûÊó^ß¶c'ªhU‘90Ó¿åÎÝ»hP¿ttª!##[¶nƒ--s(Š¢~[ÍLMÐÌ”v Jý´Â¹cwyAIÒÓÓÃÁ}{ØÁEQ¿æfÈæ‚\¿ÎŽ¢~BbR-YŠÄÄ$p84iÒK—ï6‹¢(ª¼E_ºŒ‰“§ nݺXºh¡ÂLýJ÷ï?Ä„IS™™e.NNŽ9|;EQEQ”\´Â™¢(Š¢*8õ¡Ãç£ÒÛ·ì(ê'ˆ÷Mø³Øc*Td›7®gQ¥ 9á3ÙAeâæê‚›×~Œ÷Rô ëûSlREQE‰Ð gŠ¢(Šªà¸U«¢fa!8IÉì(Š¢(Š¢(Š¢(ŠªPh…3EQE•UUUvP‰MÇPU€—Sôÿ2*õz)Š¢(Š¢(Š¢(ª””ØEQEQEQEQEQU´Â™¢(Š¢(Š¢(Š¢(Š¢(Š*´Â™¢(Š¢(Š¢(Š¢(Š¢(Š*´Â™¢(Š¢*¸˜˜l°AøŠ¢(Š¢(Š¢(Šª¨h…3EQEUP999p77Ç0//Ĉ0¢eKxYZ‚Ç㱓SÀÉS§Ñ«O;¸\|úü ›Ïç¦Ï ÇÚu˜øÓgÎÂÑÅ V¶ˆˆ:.6'UØÇ[ö¹¢þ[þó÷o¬£<|ýš{Gðx¹ì¨Ÿö+óË_åß>o÷bbaëàÄüݺm îÞ½'‘¦´\Üa̸ °¶s„¹• Ú«lzÿþ ‚•­¬lpâä)‰x‘ò¾6~vy#†C“&MØÁÞÖmÛѰ‰‘Ät/&ŸŸµë6ÀÍÓMMšÃÝË‘QìE”ÙÉS§ÔF¦f°up¼ AlÚ¼µØv5lb„v;1ó ìØ¹~þmajfŽææV¶‚®WŸ04lb„gÏž³£päè14lb„¹ó²£*¬ÂÔÌ‚Œ‹Ñ—àâö£<¦þ¿x<֭߀Ààðöõ‡gK_´ j‡Í[¶¢°°\¦²>'°Ë“ŠäÓ§OèÖ£š›[ÁÕÝ Ç""ñoÞ0yÎïŠV8SEQTäïèˆéïÞÁÀ“Lz÷mœ~´zú]= /ž=Æù3'aei‰Þ}ûUèÖÝ5kÔ€­ ;ø—016FƒúõÙÙÙHMý ssp8¨¨¨°“ÿöâß¼Áºõе@. ñãÍçó13|²²²ÙÉ~¹“§Ïàü…‹ìà ïWŸY6nÚ‚/^²ƒòâÿdÊÊÊðóõa— ñüRÞ=Åãñ÷â%Ο‹1w°rÙRÌ_¸>b'EZz:š73Å…³§{÷6zõ莃†0/iÑ©K7´ôôÄÍk—q÷Öu©ûXÞׯÏ.ÏÝÍUªh²ƒKMIéß­HNNA¯ž=ðâÙcf²´0„Û’“ƒåK#öîmLš0ã&LÂç/_˜ù9ŽØÒJ')9#†ÅíW±kû6DF@äñ€>½{JlÓ‹gÑ.8P¢_¼d<„9á3ñ0öîݾ.—+¶†Š¥y3S8t˜ŒáŸÿàË xõê5ÖmØÈ®’SRСS€ÃÁ¶­›pæÔqœ?{ [6nÀ—¯_Ñ«O¨Â/h~æ9áß|þ.­á£ÆÀÄıwoaíšUŸ=OŸ>Cƒúõ™|çwõï–4EQEɃü÷ïá&lS/B°£~KÚÚÚèÖYYYøü¹èGèú›àåí{G´ôi…+W¯ÂÖH‹/…“«;,­íàíç[·o"¢ŽÃÛ×–6öptqÃÖí;$Ö£(iË9|ä(:vê ?UtqóÄž½ûáêî…f-,1~â$¤3¶lÝ&†2ngrJ ú Kk;8¹ºK¬kìø‰8xè0ÆŒ›S3 ¦{-[·ÁÅÍV¶˜0i &Lš‚={÷3ó<|nžÞ°´¶C÷ž½ñéóg@zF;gXZÛ¡}Hg¤¦~cæƒðÇXXÿøô©h_Dç )) …¹• ,mì1nÂ$dffJÌ+Âãåb¤)°¶s„³›¶nÛ_ÿ6Ìño>Ÿ®Ý{")) í:†ÀÅÍ ‰ìÅI·Ÿ>F÷ž½aim_ÿ68qò”Ägô"QÇO`éÒå8qò\Ü<™–jò–/.??sæ-€­ƒLš›£CH@X!áÙÒfÖðóo+Q±Úo6mÞ*¶$ÀÔÌÏŸÇÂã³~ã&„ö +[8¹ºcßþ€Œó#ë::|ä(&NžŠM›·ÂÚÎ'OEaa!FÇ\G!»âãÇÌ<1±±îãf-`c§NcöÜù8wþÂç̃‹›'NŸ9ˤ 5žËåâà¡Ãðhé3 ktëÑ IIIÌ|÷ï?@P»°°²…ŸÛb-hÅí?pž-}adj7Oo¼{ÿP`Òò8óЍã'Ô-,màß&1±E-F¡À5%ëØ‹cr-o½l²î{Q~©È=¥¡¡ð™Óabl .—‹æÍ›¡ž¡a‰ù£©‰ ºvé MÍ¢ŠYï–^ÈÉÉÁwá=±fízthßí‚¡¬¬ H©Ð,ëµ!í¼I[ž¸÷ï? [^ÌuÅþªÇEìò§OŸ¡CHØØ;ÂÚΣF¹÷‰h^_ÿ6°´¶“YΔ—ä”Ô­[\.—™D”••1zäp435ºº<ÜÝð—†>**€/`Ôè±0³°†GKœ}ú„§OŸaèàÁàr¹húOøû·ÂÑc€ðøWäXå…#6)àP @€: UTP@-0ЀÝݘ$-=C[·ï°ƒ(Š¢(ªÂ81š¤¥gó£IVv6;º˜›’›²ƒ‹Y¿~= «\™@æZ¹2Ù°a{öb‚°ƒ+¼ž½CÉÆM[!„¤¦¦’EK–W–$??ŸBÈ»÷HJJ*!„í;vW–„BnݾMœ]=Hff&!„·ïÞ‘ôŒ ’ŸŸOþ1nFž=c–ùáÃáÚ'k9‡!BºBùøéiи) Ÿ=—’÷ï?–ÖÄÝË›|øððù|2yê4Ò»o³lgWÒ!¤ IKK#ùùù$|Î<âÓª5),,d–WXXH!d̸ dñÒe„B22¾“›’oß¾B9z,‚ø¶jÃ,÷Ǥ‰‘)s¼Ä•e;;„t!Óg†“ÂÂBòáÃbamG.]¾Bˆp»¬lÈž½ûIff&ÉÏÏ'£/k;ÿæ !„¨ã'HÃ&Fd÷ž}„B®]¿A,¬íÈ«W¯‰@ ³çÎ'Aí:BY¾b4d),,$|>ŸfÖäþý„B®ß¸I75!ÉÉ)„H9?²®£C‡K{2qòT’’’Jx<!„èK— Ç#………dðÐádü„I„B’’“Iss+²ÿÀARPP@¾|ùJÒÒÒŸc‘bk–ÄŽ¿©Óg’üü|’——Gz÷ #S¦M'DxÏ›[Úã'NB9{î¹qó125cò®¼¼<uüÉÉá‘‚‚2uúL‰ó-îþýÄÒÆžŸO–¯XE]ܘrCüš>tøiØÄˆœ:}†BÈ™³çH£ŒIhÿ$++‹dee‘6ÁdýÆM„(˜±Ë*ye„¼c÷ôé32`ÐÒ½gorõÚu&œ”aû‰Œü@^~–œœBÌ,¬É±ˆHÂçóɧϟ‰£‹Ù¹k7!„¸/˜gµ “¦ÙsçByöì9 jϬ{ä¨1„B6nÚBú†õ'âú†õ'[¶m'DÊs‚³«¹uû6yùò±wr%7nÞ’ˆ?¯ìçï™á³I~~>IÏÈ ;uaöK^|yºtù ñlé+¶wß~Ò¥[O‰°[·oKü]2³²È…èKÅêb¥Mwc暨@€.ZÂ:aua±Š°Î˜+¬C¯Sfüö-œ·ìÀ›÷?ÞŽþJì?CÔŠ¦¬Ä¶ÛSö`Š·LŠ¢(Š* /‘©üZ·Å»wï±móF¦u‘•¥ttªÜ\ñéÓ'€®®.2³2qððdgg£ž¡!´ªT—Ë…¾žvíÞƒ/_¾¢ZµjÐ××—XŸ"J»œ¾}zËåÂÀ@¦&&ðõñ¾¾>”””àéáÁ´véÒ9ÚÚÚPQQÁÈáCñæÍ[¼}û£µ–"|}¼‘”œŒ‡Š>Ó;7Wæx•DÑíüðá#bïßLjaC‹Ž…¾>¼<=pæì9fYæ-Ð)¤þúë/¨¨¨àÄÉSh„úÿ ðo准 0é=†À€¶hذ8z÷ì‡#11†õ ñàáC\Œ¾BLML˜ùdyûî=zŒ1£GBUU•+WƸ±£qöÜù[ÿž8y ú÷ƒ¦¦&TTT0x d+œ²’·?~ÄÓgÏ1|hQëmmmôêÙ½©ä-Ÿ-2ò8†Œºuê@UU•é&äè±ÀÄØàäèWg¦¯AEx¸»Á̬¨½-´µµðþƒäõ-¢ÈuÄáp0cÚèèTƒšZQ®.ÎPSS—Ë…³³> [A^¸p êÿíÛAYYµkׂ¶¶6³¬²èݳTTTP©R%¸»»1÷ᅋѨ«W­ü|^žÐÑ©†k7n°–DFG‡vÁ0oÑÊÊÊhÔ¨¡DwÒÖyœH·®] «« ‡ƒV~¾xr¯)E޽,ÒÖË&ï¾/+>Ÿ1ãÆ£OïžÌ²ÙëÖoÀþ%Òø´j ãf-°qó¬XºêêêL\“ÆÑ¶µ?”””`gk++K¦/ûJ•*Á¿•ÔÕÕ ¬¬Œà Àb­['M™S3 ôìб£GÂØ¸xŸ©yyyؽwzõøq¯$%%áÍ›·Ð׫‹s§Obïî¸|å vîÞ#1o…BÚâàÁ¢n5 …vÁ-S!ãZ•—‡ˆ(š°I{N+Inn.lœ$¦ÑcÇI¤9z,û÷Cõê:PRRÂÁ‘››‡7oI¤10ЇwK€§‡;¸\.ºwé hhhÀÁÎïÞ•]Šäcì²J‘2BÚ±»yë6‚ÛÃ̬9¶oÝ G{f‘Òl?Ȥågç/\€¡Ú¶i %%%Ô­Sa}ûàÐá£€ØØ°³µÄÄÄ"0 - ìÖHCCòõHi%$$¢whfMŸZªn3ú…ö…ŠŠ ´ªTÁÀýqúŒd'/¾<ðx<¨Wþ‘—€zåÊÈÉ)¹û¨ßMÑ7D¿1k3lÚs {¶‡^íšìèßV»à@‰Bš¢(Šúï°°°À.55 '‡%ᩪ*XZ²ƒ+cFDß>½ØÁàóùX·~#®\½†ÂÂ2?¤êâÀÞ=X³n=V¯Y‡à @Œ1 •*UÂý{°aÃ&·‡•¥¦LšˆZµt%–Ý«O®^+ú¬tÒÄñÈËËâÅKáƒýº5«ZŽˆŽŽóÿJ•*ITú*++£°@r@ñJ2uuuhjj"1) ††édQUUEP`:ŒæÍLy„.ìýóòôJ±‰‰EŸº·ôõcâ ò àääÈüÝ ä±ääd435•«Y£óÿÄÄ$œ¿pQÇ‹ºß€pßÓ32жµ?´µ´°~ã&Ìš=ƒôGÇí™tÒ¤¦~Ã_ý…¿þú‹ Ó×Óƒ@ @ZZ:ó¹½HRR2tu<+V­ZÜrøÌQÞv$§$Có¯¿P¹re&¾FêÌÿå‘·|ö~¦¤¦Jì§Hjj*š5“3?~Ä£ÇOÐÌÔ´Xþ(ëZ•—‡ˆ(š€@ðã>õœÆ¦¦¦Š¨ˆ¢ N‘7nbÉÒóR¿}Cm±kœÃá@¯n]¤¦¦2aâtªýxÞQRR‚²²²Ä3²Š2Sv)’±Ë*EÊiÇÎÎÖöîÆÖí;Ъu:´o‡ À¶ùBi¶_‘ü@Z~–šú­Ø½§§§‡”Ԣ炬¬,&Ϭ[·^¾|‰¦ÿ4Á™3gÁËå‚'OÁ¡„JsQ—^²Ì_¸ÙÙÙÐÒþ‘o)B<Ÿ«UKß¾}“x&‘/~.–†Feðr$Çžáåä@Këç^ˆÿW”ß‘¬ š40D§o¬ÛqCû„ fué-{ÊKy¼Å%NÙ ‹Z§PEQÿ=PýûoœOKƒ§”ªg8h6j„-Z°£þ7mÆ™sç°uÓFèèTÛ·oÑÒ§ß°a,Y´É))8x(Ö®Û€aCC[K cnj°¡ƒ1gî|Œ={wIö]ºusñKú‡…Jü­ÈrDJû\Àü?++ ééé¨V­ôÏ/B: ]û´ DVV\\œöOÔW²¢ÛY£f p¹\\¾xªªªìh€’’䲪ëè0•\"ß¾ý臹fÍèÙ£F *‘FÄÅÙ .ÎNxüä z÷íCCØÚH¶rao¾¾^]dff"=#ÚŸ?—Ë•øq%R½zu$&&1­¿Ï”úãYÑc¶ƒ‚ï™™àñr¡®^ÔŠ÷Û·4ÖR~`¯[ÞòÙªU«Š?~ú„¦MÿaÂ>ù‚ºuëJ¤‘u²)’±Ë*EÊYÇÎ̬9–›-Fbb"vîÞ‹VmÈŸÒl¿"ù´üLO_§NŸ‘ûòå ô„ǵV-]ÜöM=iÂxLŸ9 ;víF·.Q»Nm·ï{´màr•Š=W‰÷×/m·Æ¼¼< 1 Ç#Ž*üõRBB"ÓXããÇOÐÔÔ”|1 '¾<4nÔŸ>–¸—^¼|…zõ ÙIKÒ¯ò߈iÓ†0ù§!v9ÅŽ*µ7oß"¤sW47·‚·¯?.^Œ–xs¥¬¬Œ}û2²‹w>®È 7â¾g~/ê¨ßÆÞ~þ¸}‰‰Sdài]rÈŒBœ´Á(€«ÌÅŒY³áàìs+Lœ<µXBQE•MäÕ«¯WçJxú:Ãá`n½zˆ¼z•õÇHLJÆßõêAG§!8rä÷åËW¦û‡jU«Â@OYYY(((@ìýûàóùPUUE“&MÊ4@Hy-Gšý"-- Z”¾º IDAT|>‹–,C=CCüÓäǧҊú»^=4mÚásç!  Ô¥UÏÐÍLM1{î²²²°c§ô©U«jãå«W(,,,Ó~úùú`ã¦-HIIŸÏgƒl„¨ã'™¿ïÞ‹ÁÕk×Ѧµ?ÀÀÀ÷îÅ0­‘*ú\[QìóS–ë()1 &ÆÆPUU—‹ã'N2qîn®x÷þ"¢ŽC  ==y™R­jU<}öÒšJ^<›§‡^½zC‡¢°°°è8>'ÙŠ ÂãuÏž=/ÚÇOŸðý{ñ–Ðl²ò8yä]Se9öe!ï¾'ïžâñrÖ jÔ¨ÉÇ#77999ÌK;wcûŽ¢}¼yë6Þ½>Ÿ>Ÿ³çÎ#.îÌšµ\íÒK—­À—/_‘››‹UkÖÁÕŹÄJÄÒ^òΛ¬åè£IãFX¾r ‘žžÎìSIbbc‘›› ‡Sðù|äååʼODvïÞËä«×¬…ž^]4)¡œ?®ñño0fÜæú Ÿ=—._aÍQ²ƒ‡àë×dggãÚµëØ·ÿÓÝÀ§ÏŸqõÚ5|ûö 999¸uû6®]¿#£¦Ìüq/^àÄÉS „àλ¸{÷<=Üá× µkéBYY))©X½v3Ÿ@ @dÔq|ýš/¯^½Æá£G%– Ñ—.#3+ ¾>Þáv¶6àr•°|Å*ðù||þò»wï…‡pÝY»à@ìÙ³¯ãßÀÍÕ…-óZ•—‡(ÂÀ@·îÜ„­©#"£˜8iÏieÕ¾]06nÞ‚oß¾A `ë¶íøë/ XZ˜³“–Ziò1‘Ò”²èêêbôÈá8{ê,ʸ/ŠäÒ¸»º 55•üùë×ìØµÁAgg\¹vÉ))hР>vnߊÃö! mô Å‘C0jÄpæå ž?cºûzøð‘D7,ìç]Ýšhß.ÖVV=v|±òAšÍ[·"??YYYX³vÓ ‰¼ø„„DŒ;_¿½$Y¹z Ó½Xìýû˜0i ø Ö{éêêÂÚÊ’¹—^¾z…ÈÈ(´iͤù™3+º _á|ûÎ]…&Y>{…'q¯Ñ5øÇgce5pðP˜š˜àÞíؽs;V¯[/_XXˆ÷>àâù3¸|ñRRS±`ÑbÀaa}íJ4îÜºŽ©“'J|®Êvâä)LŸ6÷nßÀä‰ã1tøÈŸ~$„`ÈðhÔ¨!nݸŠÛ·Êì¯mö¼ùðóóÁí×p%ú<ÂÂú2qwïÞƒYóf¸~%gNÀ¥ËWJm™¢(Š*=uuuœ~ö -,`Wµ*„p¨ZK--q6.®ÄÇŠÐ>½‘œ’o_„tîÃz†¨R¥¨ÅKzz:ú K{xxù ;'ýÂBÁçó±pÑØØ9ÂÉÕÇ""1kú4ö¢å*¯åHãáîŽn=zÃÂÚŸ<ÁšÕ+JÕšE\çNñàÁC´ bGý”5«V 33 În0³°F¿þƒð5Aú3Š—§zôè†n=zÁÙÍW®^“è‡ÏÑÁ“&ŒÃ„ÉSЬ…%œÝ<±OØ¿çóçÏÑ&06öŽ îWç<ÁÏ×>­Z£m`0`É¢ùHOO‡³›|Þ‚r¶ƒÃá`Õòexøè1lœÑ¥{O¸»»±ÁhÛ*Êʰ±sÄŒ™á€œå³5 Mÿi_ÿ60³°ÂÌYEËhÑ ӧNÆð‘£`im‡™á³±lÉ"¦ç°Ð>(,äÃ׿ ƒ;à{ff©>¿/éü”ö:š2y"¶ï܉6Áè7` SaaK«ukVaËÖmhÖÂÞ~þxú´¨ò²_X_DG_‚¥=¢ŽK¶ìR$žMG§¶mÝ„ÃGÂÜÊV¶ö˜9{òòóÙIáÝÒ ƒöÇÀ!Ã`ÒÜ=z÷EFF:;Y1²ò8y¹¦J{ìËBÞ}Ï&ëž:{þ<®]¿}û Y KfêÒ½' Ì'žÇUä¾ÿ¡a`fa 3 k¬Y»K-`úííÒ~¾>éÒ6öNÈÈÈÀœðYë)íµ!ï¼ÉZ‡ÃÁŠåKñøñSXÛ9 s×èØ¡DqÇOœ‚³›'ì\1tøH„Ïœmmm™÷ (q¹6t0ºtë–6¸uçÖ®^Yb‹qñãš–žŽk×®#_xß¾{·Øy’æÞ½·ƒµ#fÏ›ñcÇ0•;………X·~ܽ|`am‡)Sg`@¿P´¾ì€.;áÂÅh´°´ÁøI“±`Þ¦OݑÇáXdÌ,¬Ñ³w_øùú0óÀÙsçÑ6¨Ì,¬Ð£w_7mŠÉÇK¤Ù¼eºvîT¬u#—ËÅ–ððÑcØØ9¢S—nhåç‹v ·ŠÌÄØµk×BP`@‰/œe]«Šä!òL›2 §N›@tìÜöL ViÏieÚ§7ììܶθ|õ6mXW.ÏÉ¥ÍÇPÊ2Bjjj%öå¬yù,šššØ²iöíÛK{tîÖí‚‚˜gÊ*U41zäpôêŠë7n2•°ß¾}Ñ£Ç$Z/€›« <=ÝÑ®C'µÇÖí;à/¶=%='ˆ Ÿ9ï޽džM›ÙQŨ¨¨ aƒ†héÓ Ž.î¨S§&ŽÿÑxRV|vN6®^»†ìì¢Æ =Æë×E㉉I¸yó–ÂΰpÁ<<‹ƒ¹•-zõ ÃðaC$ºî½ö;ãˆMJ‘•…#ª G"ÔP@UÕÔ` #-ØÝyPl´Ã’&Eܺ}‡Tjq¯ß‘ ³W’_ÙQ¥ö:>ž4lbÄŒ¦J!‘QÇ™ÑZE£]&&%1ñ×®ß V¶„BŽEFgWröÜy¹#ÛŽ7Lš2M"¬CH²k÷B)\4’ºøˆïß ›‘ïß¿3ó‰ïÛÄÉSIÇN]ÈÃG’#Â:|„Ø;¹J„ 6‚¬\½F"Œ¢(êwvþb4IKÏ ç/F“¬ìlvt1 7% 7eËuÿþ}² ËŽ– 1 ˆ;˜ª€œ]=Èõ7ÙÁe¶ÿÀAÒ®c'vp…Ô¾#9É®0rrx¤a#òõk;ê—+i¤vŠú嚪è÷=EQ%«(yHE@ó1I>"£ÆŒ#>­Z/Òªu™8y*ùöí;é¿BT/'­ÎM^üÿí۷ÙA?-3+‹\ˆ¾T¬.VÚt7æ` )€úôèР%¬VÖ«댹Â:dñ:eFùvPRݼ÷}º”ˀ߾¥¡Š¦¦Ä ,ì×HŒ°ª[³&Óù¸´AoÖmØXl0"ör ìß0Õ8E>-(¯Á(Àê\ÂæÅûi¢(Š¢Ê‡™™ÌDü¡}6ÿI)Ï‘”œŒ5ë6`ÒÉÑÜÿ’SRðñãG˜š˜@YYçÎ_Àóçq°>STÏŸÇAUMõ !°bÕ*Ô34,6`ίpëöm4lÐÕ«ë ==7m†½;E)¬"\Sÿ…ûž¢¨’U„<¤" ù˜|Í›™¢ù‚yì`Šúý+œ{vüÑ7ÊϪY£2³²““à rÀî@’’’ ¯¯;Çï|¼¤Aoú‡…Œ¬Á íÔܼ¨¢A‘[JR^ƒQW©ø§9EQEýÿuêÒ q/^¢w¯ðòô`Gÿëòrs1wþBÄÇǃÏ V-],Y´uëÔa'ý¿IHLļ ‘‡ƒ¦MÿÁª•ËØÉ~‰ØØLߨÊ\.\\œ1vô(v2ŠRXE¸¦þ ÷=EQ%«yHE@ó1Š*»ß¾Â¹<‰rXº|%Ƈƒ% ˜²výFL›2 ùùùX¿q|ZzÂAojéÖDÕªUez#ráb4ž<} c##D_ºŒ§OŸañ‚ù€ØÀ-¡}zCIIIá[Ä£=r²²²Š F1uú øx{ÃÞÎ1±±062‚šššÄ`EQE•¿ËÑçÙAe²w÷NvÐÿ•žžîÛîPÜ\]Jìúß0p@? ÐLQeV®©ÿÂ}OQTÉ*BRÐ|ì¿G¯n]¼~Q4†CIäÅSåç«p2i;°röÄ¥ ä0iÊ4XÙ:@W·&:vh/ŒRjllcc#¸yz#;;.ÎN˜0¾èSÖçÏŸ#¬ÿäççCó/M¹?lÆŽ…ù áá£Ç¨Q£:–,Zƒ¢–Óa¡}0vÜDøú·AeõÊpvvThàÑ>Lž2Öv¨¥[ ú‡aöÜ¢O nݺƒf¦E˜?q  …²²2´µ´˜Á((Š¢(Š¢(Š¢(Š¢(Š¢ØD:‹wì,ÞÙ³hAÑÄ›”TXP€Úݘ76(1Vm-Éþ‰KrûÎ]ØX[±ƒ+”{1±„µ5;ø§degãÎÝ{0WpüŸ×ñoaeaf€ @>€…b“@l"¬I„ù¿’X EQEQ?- IÊÊH«Yƒ%WZ~¸éʨÁ+ý¼EQEQEQUZ´Â™¢(Š¢*¸ìø7Hår‘ó·ü/ˆØâ¿¿7ƒ‹ú‚ÒÏKQEQEQEQ¥E+œ’¥…9íNƒ¢(Šú¥R>À7®28ì(¹|yn¦2þ*ý¼EQEQEQUZÜ EQõo —ø;-5¥ÄðÉ“'KüÍöòÄIäq¹ø«eKv”\ÇŸœ„R^º¥Ÿ—¢(Š¢(Š¢(Š¢J‹¶p¦(Š¢¨_ <<‹/Áêµë˜‰ÿ‰‡-^²¤X´¸/1±x÷蔚4v)“ˆy‹Goáµ&°©Uºy)ª¼|þò…0“-!!®î^àñrÙQ?íXD$ºvïÅþ¿ðòöÃÍ[·ÙÁ¿DEÚoŠ¢(ªb;}æ,ÂúbËõ+ËoY‚ÛwDLL,`âä©X±j5; #|Ο ø?_iŽED¢Gï¾ì`©šµ°Ä›·oÙÁÔ†V8SEQÔ/¢^¹2ªéÔ9©«k°gcæçãøôéÈRâ¢Éðá‡ÃN"U~a>¦œ%#¬‡ƒÅç­(Âú‚q³xþ<Ž…ˆÈ(7k…‹—²£þHéé鈾t™\*GŽE°ƒ~¹êÕu0~ܨ««±£þXÓfÌ‚EKØÁÆþ‡ÜnžÞnßÇ""™¸ë7n {¯>°±w‚ƒ“+f†ÏFAAÄüÉ))°¶sDff¦Dø¯ôäéS¼xù’\*ÉÉÉ0nÖÙÙÙì(Š¢ä „àì¹ój×Áí;²£ñòÕ+téÖæV¶ðòö“ÈW ãf-ŠMË–¯<W,nÝúÌü±÷ {¯>°°¶ƒ³›æ/\,QÉ÷ôÙ3tëÑ öŽ.ðóo‹}û0q³mÑ“§O1xèpØ;ºÀÜʾþm°cç.v2†……9úôîÉ.†þŠò;11©Ø¹MþmCB£Fس–(0  <=ÝÙÁÿš³çÎ#++‹ù[Ñc_t|KÂãñ°qÓftìÔ­ÛÁÏ¿-Ú‡tƶí;PXXÈNN•’@ ÀÞ}ûÑ6¨,mìáéí‹={÷1ñiii>r´Ä<¿ZáLQEQPaAvN˜„ø'O¡ëè€Fì$R`ÜÆIxüú)œôh¢ø¼M3S>zŒŒC‡ IãÆìà?Öé³çp1ú;XaoÞ¾ÅÆMÿ~+ eeeøxÿºî^””þ{/ZªU«ŠªUµÙÁ¥ò«öûÕë×X´d)-˜‡èóg0kÆtLŸŽÏŸ?îÞ‹EïÝqùâ9;z1±÷±UÑq,"î®.ÐÔÔ”ÿ•¶nÛW¯^³ƒKE[[ªªªÐÐþ’¢¨’­Û°»vï³³; |>C‡„ƒƒ._<‡AûcòÔéxó¦¨uäªËðèþ=fz{†°¶¶¤¤¦ÂȨ©Dš~a?Zb^¹rí‚qñÜiìØ¶.Fã¨ð+!ý Fk\¿z +—/Ų«pï^ŒBÛVÑÄÄÄ¢G¯¾hܸìÛëW¢±pþ\XX˜³“2jT¯á±”…þŠò[W·&s÷íÞ‰J•*1G=puqF•*?Ê%Žô*-c##Ô/ÀÛe•––†¥ËV   |>sæ-@vv_Ò±æHiLò+Ž/[Jj*ºöèp8ذ~ ¢"Žàäñ¬_³_Ö ÔØÿ™™™Xµz-2¾gGý+x<^¼|…9á3qûÆU,]´‹—.ÇãÇO“§Í€ºº:{¶ß†ô»“¢(Š¢¨]Fz:nDGcbH\‰ŒÄ_††Z½Z¡ÖÍéé¸x=ÇtAÄ¥HÔÓ6Äšî«¥>Ìþ´ôòÂÉS§‘——Ç„½yû‰‰IhÞÜT"íÇÒ¹+ì]Ô^¢ /o?¦•“™…5ÁãåbÊ´ptq‡§·/vìÜ…¶Aí˜O ±pñR8»yÀÑÅÓg†#7·äOKZ~Jj*† 'Wx´ôÁŽ]»™ô'OÅÆM›Úolœáçß÷îÅ`ñÒepv󀽓k±ÖÛ‡…Ÿ[ØØ;! ¨=SÁ|âä)¬\¹§Ïœ…—·3Ÿ¬õ‹{ý:ƒ† ÃçÏ_àåíÇtÇ0qòT9z &M¥=¢NœÄûÚ Ü<½áè⎱ã'J´`=tøüüÛ¢…¥ ¼ýZãý‡bk*²ÿÀ!´Bzzz±OJ½¼ýpâä)té[gµëˆû0óÊ;glJJ\Ì Ÿg7¸{ycý†M „ŠϩÓgbë¶ptqÇÔé3QXXˆq&ÁËÛÎnèÖ£>}ú?õòöÑcðök ;Gg„öˆä”¢¾Ù )) ÃGކ½lì$Z*?}ö íC:ÃÞÑ­‚˜O‚Ùªjk£ZÕªK{jÖ¬O¡m«hæ.Xˆà  <zzzPWW‡‰±1ŒŒ)y›x7L¥ÉGÙå÷å+WѱSW¸¸yÂÕ£%6oÝÆl×ÄÉS±iËV <öŽ.ðh郃‡3ñâ˜s(|q*~^QBUß3¿£Oh?Ø;¹¢u@.]¾Âĉw¹QR™/Zž¬çYû%’šú ‹–,E×î½ ­­ ‡ƒ^}B‘œœŒN]»ÁËÛ‰‰Iź¼RVVÆÁCG˜2müÄÉL‹höñ•vîÆO˜„ù 1ÏŽ3f…C rÊL˜8i*ÂúöAÇöí1+|Ú# ¨=fÍžƒ ãÆ¢FˆŒ:Á¤;~"F@€œœL™:ÎnÌ󦪪*“¾4ÏÓX°h œÝ<`çèŒ^}Â$^ð”td=V®\•*UBHç®X¶b222$Ö÷«ihh`úÔÉ062—Ë…©©Éÿػ밨–>€ãßeQ@DZQPìL PÅîîöÚÝÝ]×n¯Ý­ˆÝ}íîBiQéXæý8ìR½Þë{ïù<Ï>;3çì)Ιù ö9rðêõk¢££9þ}zý&_ì_CipV( …â¶tù iÈ`ÅÊ.t0˜#ÏŸsÝ(Û?R¶jµDC “zUrv¡_¯Á<=õ£ÇðwĹbÚ–-\Ì‘¶í²wßi¢¢~!tVÖV)R˜ã'OIi»÷ì£IãFh4±jâz•ôêÓŽÚsùâ9úõíÍ€ACøô)P*3aÒdúôêÉ¥ógÈ’%3K—/çíÛ·=|€£‡òáãG^¼x)•_¶b%·ïÜáÐ}œðpçÅ‹—,[¾RÊ—“¯à ¡ØØØpþì)6¬[Ê•«¹pñ’Tþ›5r8—Ο¡J•ÊtíÑCCCΜ<ζ-Ù±s'÷âz@\¼t™ù 1gö ®]¾À°¡ƒ6bOž>£nÚ4kÚ„Z5Ý8qÌaC¤úùñòæÍØQ#É–-+'޹³yãz)oþÂE”tpàì©ãÔr«¥…ݺtæä1wÜàÞýûx;q_Êæ/\Äôi“¹qõK-$»Ö'Á¡#î¬ß°µ«V`f–t/Þõ6²dÑ®\Ú•˹|ñuj×bâä¤c·W¯îгS%yr²äשì÷ìcáB…([¦4½úôçü…‹ôîÛŸ¶­[“=»îy&®!çÖí;”.•¿ûæÍ[Dk4”+[FJ;ì~”òŽŽ\:† ãÆ2sö<Žgï®íœ>á@;ã&RÚö­[c‡¨ž>yŒ çN3zäp,,Ì1l `Ôˆaœ8æŽ[êßu¿˜}É;7û÷î¢s§èëë³zår¶mÞĉc5q ±ïÞ¿ÇÃý'<Žðéóþ./&IêÜv?Jîܹ8sò8û÷ìäÌ™sœ:}Ryf>{þœ  ¯Ôt«ÁÜù Èœ93÷íaæô©|üè@Ý:µ¹v-ñüS¦M'88˜™Ó§¢§§Ç¢ÅKyùú5GíÇýÐÞ¼yChhBÏîo©O/YºœÛwî°o÷..?KÙ2¥éÞ³—Nµü8¤T7T«ÕôèÞ•ý{va“%3ºtgþ‚ß LxÞÿ>} äí»w/^Œ¨¨hbbb00ü¹aSþIJƒ³B¡P( @ÅÍ›1j­ÛÎÄË럩ˆÉ©€Æ °wolX¨¨(9B“Æ ¥›gΞ#›m6jת €k5,,̹tåŠT¦Eóf8–+‹±±1*•Š£Çèѽ&&&¤K—Ž^¿õÊצ{×.˜fÊ„‘‘!­Z6çÄ©„†o9íõ{z~àÎÝ»ôëÓµZ®Õ\8¡ÕpîZܹͅr¡V«q«áŠF£¡[—ΨÕjìsä _Þ¼RჇÓ¨a©—R¥Š©ììġÉ{ž¼ï™êç§E©’´hÞ”Œ3’.]:2f̈c¹²¨Õj2e2Á¡D ÞÇõ–9â~”fMãP¢úúúäÍ›=½Øª¦žž.^â÷E‹Y³r9™3'þâ¯MëVdΜ•JE­šn¼|õJÊKíœÉå´·§ºklüF;;;5l s T*ãÆŒÂÂÂø eg' Q«Õ89UÂóÃG©<@¯ßºcddˆ¡¡!®Õ\¤ž7oÞ¾åñ“' :˜Œ3’)“ ¶Ù²IË5kÒSSSjÖ¨‘dïo€lY³¦x|ää×5iØïïÝG===:wìÀƒ‡™2u:^^ÞÔ©SKgÙx+W­ÁÈȈF ?öìÛOãF tzfÏn'5^Ts©ŠZ­¦m«–cllLGGÞ¾M8VÉm{öÙ¹{ïgÏGAÑ"E¤eä¾ç~àP¢„”¯P(¾ös;^hX&&&|bá¢ÅLž0“$„<|ÈË/©_¯®”Ö¶u+<Žâò…slX§E¶º IDAT¿–G3eÚ åâ­Y·ž°ð0êÕMX¾reg‚C‚6b¢}»¶RoÚoÙ¶Zü6ÙÚ&©Ô;’Û¯j×m€·›þXG“F I—.´\ZuêØµZM† èÒ©#ÇO$_OKêÜÙØd¡y³¦¨Õj2gÎLéÒ¥tz'÷̼sçŽq“‘ß¾}‡õëA\/÷ 2@á>Ôzzü¾x ¯^¿aÁ¼9ÒIÇOž¤G×.˜™šb``@¯žº=v¿¥>}àà!~ëÞ KK ôôôèÕ³áá\½v]*#?i©Ъe ¶lúƒç/^P»^ÿ=FµF£aÔ˜±têØž\9sbddHñâÅØ°q“¼è¿Fì¢P( …âÓ§WOÆŽ+Oþ[}ùò•›·±dÉAnÝ~G«ÖËÙ»w–ÿ|¼Òê®Õ˜:}&žžžÜðbE‹&jóöñáåËWTvq•Ò""" Ñêå”GÇÏÏÏŸÌ™­¥÷fffÒ—Ìøü1ã& ¯›¦ÑÄ>}z)_N{ý¾¾¾Ôk˜?;:*šJ•*Jï---¤¿ãsµ‡ ªÕúhâ*Ã-ªûÅÏÖ6~~ á´¥ôù÷îݧu»˜˜˜põRÒ_ÌrçŽý’ïÞý¬ÿcÞÞÞÀÓóm²ÇNåççOñbºaNâ©T*¦LNLLLª±{m´Î­¾¾¾NüÀÔΙœ‰VœG€ÌÖÖ\»vCzŸ#Gvé q½•V¬XÅÃÇQŸ?“%K)ÐyŸN_Ÿ¨øsä@Fcc鋚œMÂròýJ«øÐÚä×5©ì÷ìãýû4tëV¯¤@ü?q’î¿õbÕŠå,S}ãæ-œ8uе«WJ?:„„„pòÔiîÓFmažð §§‡¾¾> iúéô¥/…)m{ýºu035eͺõ̘5›ž=ºÓ¬ii=Ú¾ç~¡P(~333BCC™>sÍ›5%oÞ<}Æ“'O)Q¢¸N}Øß?€¬Ù²Jï­­¬¾»>ý)0­:ˆJ¥ÂÎÖ–OŸzÃËCZê†ïÞ½gçîÝœ9sŽÕ]™4a\’×ÂÏ¢Ñh:|$VVVôéÕSJŸ3s:“¦N—: üÛü}GX¡P( Å/ËÔ4Õ\ÊãìT†£¶±gÏúô9À¶­mÒ>ú§JŸ>=uj×bïþܽ{¶mZË‹ÙÚš¢E ³iCB89U\ÃWƒû¡Ø ÿ’£§Rah¨Û ¼aã&þظ™õkV“;wBcÕ½û÷140”FY+V”zuë²oÿË•Mó¶ý ,,ÌÉ;GŽ¥ß>òlIj÷¶´ÞGµÝ½{ “¦°éuÒó¡Š‹nØŸ5™­¼qÙÛLJ¤G£ÈŸùñ’;&©í—m¶l 2ˆ¾½{ràà!zõ釭-‹_âñÒæçç‡]\ø1LLL’mMj;“Û'RyffÉ’™«q±°G ÊÔé3ؼum[·Â&« ­Û¶§B…ò:£ ¬¬­ØøÇ:ÚµïÄÚõЭKl<êøºYüdÞòºÙ·Ô§mm³áùáƒt¼‰‹gM«!_~Rª†……3`ÐüüühÛ¦{vm×éÝþwˆŒŒdðÐáXXX0qüX:–«W,ãÎÝ»:Ëü[$u* …B¡øÏI—NŸY3ÚP¬h..\ôcß¾„ÉÿI5`ÇŽ]¼|õš*IÌr_ÍÅ…—/_±oÿA¢££Ñh4Úç´çƟ‗—7·îÜ%_Þ¼,Z²”ÓgβxÑBÒ¥KGhh¨ÇqϾý4iÔPg}ß*¥mòôŸ?†¸ÿ?3SS‚ƒC°07çÑã'Cö{î …âç(R¸0¶¶¶”)Sš°ðp._¾Âþ¨÷|‹·iËVªV©œèG«'OñêÕkÂÂÂxòô‹—.“Âåvãæ-¬Z±”lÙ²J÷%!¶¶¶xûxs÷î=ˆkü»páùòÅÞÓÒºm¿ŠÁ°nýV¯]‡ŸŸaaá¼}÷ŽwïÞË‹&é[î£Ú||}11ÉHÞ¼± ñ.^’ž?ÛÙsçyøèBΞ;ÏãÇOp©RE^커u¿ŒŒŒhÕ²öî¦u«ØQ_éÓ§ÇØØ˜ÇC2ádV­YGDDAAA¬Y·žaO×”ž™ÎNN\¼|ÿ€rçÎź5«Ø¾eõëÕ¥{×.lߺ™ýúê4Žš™™aš)óæÎbÕêµÒäŠ5ªWcͺõ|ýDTT+W'Ì A*õi_FŽ+Mzܤq#Öý±ÀÀ@bbbظi33Sª¤ƒÎ:µ¥V7ìÜ©ûöì¤YÓ&{csXX8}ú ÀÊÊŠ‘ÇNhh¨“Zþ¿ôo“ôO' …B¡P(~Xxh($ò ^XX¤¿ŠtéÔLšX—ú Ž0ÁS7ΛlØ¿K‘Â…±±É‚³³s¢arÄõìYµr³çÎgúÌYèë«É—/‹ÎOvèkÿ~}˜6cµê6ÀÌÔ”ŽÚéTDㇼµëЙ   ÌÍÌèÚµ³Ôƒ"5‹ÎgÖœ¹Ô¨U&ÛlÙ?n4Y³ê+M‹%Š3vôH†ɧ€OØdµaάäŽVØ ~}N>C媮ԮU“qcGÓç.TˆšnnÔoÔ„¬6Yسk‡¼fff :˜ž½ûaaaN¶¬YiÒ(!dGê®xûø0`ðPüýýÉ’%3«W,Ó鉒!CæÎ™EûŽ)]ªd¢¡ ©IíœÉµiÝŠûî3gî“Êq= Z·lÁ ýåÅÒl̨̘9ww hØ >×ã S’Ò~ÿÈ>6oÚo/oZµiGtT4éÓ§§yó¦Ôªé†¯¯¯4QÕj5t–Û½cï߽ǵš‹Nú·JiÛŸ>}JŸ~ý‰ŒŒÄ$£ U*;K?NuëÚ™±ã&²ÿÀAFN½ºu¾ù~¡P(¾ßý;~!!!|úHÃ&Í(X ³fL`ÞìYŒŸ4™ªÕj`meÅÈáÃ(\¸´|HH»÷ìeŲÅZkåëëÇœ¹óñó÷ÇÚÊŠÚµjÒ«gl ×/_¾°|å*5i®³Ü¹3'ÉioϤ ã7q¾¾~Ò°~=:uh/•KmÛ~%.U«°tñBV­YÇšµë‰ˆˆÀÚÊŠáÆ#GvyñD¾å>ZR«°j•Êœ¿pº ceiIÉ’%¾iòÛ1xàæÍ_Èý±²²dÖŒiINdû=¾u¿T*•Nþ ý˜8y*bÒ”$GÔ.\ˆÂ… Q³N}BCCqvªÄ°¡‰ÃÁ|¯”ž™™2™0h@?züÖ›aCS®lÔj5œ¿p‘òŽŽINt?_>†Äa#Ø»kúõ«›ÕÇÈÈ®;‘ÓÞ^*ŸR}:$4„K—/Ó½kºtêHDxÍ[µ!<<‚B… ²|éâdCpJÝÐÈÈ åå‹ümNž>Íå+W!.¬O¼bÅŠ²}Ë&qgæì¹,[’üd‘ÿÏâ¿>jTÉ^zZ/µÖKH¤ â^†7nÞ¹œ7OâØ2rf¦º±v’ríú Ë••'“©ÌÒïàÁƒò$…B¡P(RtêÌYJ—*ÅÍ[·(ïX}YCèÔ©SuÞ/]¾´*^ñþéøÍÉ©Yû$·nEpè`%Ê;šÉ³ÿuÂÂÂ)[¾"§Ž{$[ÉVüZ”s¦P( …Bñ}îÝÀÖmÛyüä Q‘QR¬XQ 臙ÙÿgÝÿÿ±nxçî]iÇ¿JpH×oüI©’%åYIzñò5eK;”€ ˆ¢µ^1Z/!{Å“þþOôpN­19­Ò?ÊËË›¦Í[rêÄ1‰Ró½Ëý¸õ`×_û˵B¡PüJä ÉÛvÆþ²-OÿUÕ«›—?oxrâxð¿²ÁùÉ“§`Ÿ#111,[±û9þo*§ÿEÊ9S( …B¡øk/V”âÅt;Èü¿Qꆿ®ÿDƒó¯ÂÚÚŠ±cFIÆÜº}'Õá…òåþŸ¤u¿W™2¥¥y …Bñ×r(a‰FÂ¥Kòœ__æÎ_€/*•Šò³`þy1Å/D9g …B¡P(ŠxJÝð×¥48ÿôõõ©S»–ôÞÝãRÞ§OŸèÙ»/sfÍ ¦[ ž=NÛö¨X¡¼Î:ê׫˓'OùÈŒiSäÙ©Z½v«W,#sæÌ,^²Œñ&säÐþ4å÷êÛŸ¢… såây4 ý bÔ˜q,Y´Pëtmܸ€‹çÏ R©xøè––ôí7Â… qíÊE>~üHãf-É+×í㎻ٴa=ÆÆÆÌž;Ÿ¾ýrøÀ>Ô² ¹´%·×®_çÐá#=|Œ3òæí[% ‡B¡ø) äIIJk¹šÄÄ@XXìß …B¡P( …B¡P¤æ—ïáìX®lš^‡—¯^ñòå+ôïKºté°²²¤S‡öRþ©3gÉ—//5Ýj?_>êÖ©­µ†¿NûvmÉ’% *•ŠºujóâåË4å¿~ó†{÷î3lè` È!#†åø‰“)ör¶ÏiÏ»w9}æ,BŠ- À»wï¹uû6ƒôG­V“={vjTwåØñòU|“¶mZaffFºté<°?¯^½æõë7òb:’ÛÆ,Y²Ä®={ !§½=¦™2ÉW( …B¡P( …B¡P(?è—opþ•|úH&2fÌ(¥ÙØØHûùúa“%‹ôž¸Ã?CV­ÏÑ××—Âm¤–ð‰Œ3êìCv;;bbb ü,¥É5¬_iS&³~ÃF\ª»±cç.|||p«]‡ò•œ)_É™ãÇO*[Còbb„< 333éo###LLLðñõÕ)#—Ü6æ´·gç¶­Ü¿ÿ€*Õj0cÖ"##å‹+ …B¡P( …B¡P(ŠôË‡ÔøY4h OJUfkk‚‚ƒ %C†  Õà `ee‰·Ö{âÂl$G¥RÉ“ÒL¥—òoÉåg·³%((ˆÏ_¾`fj À‡Q«ÕdÍšÐxž”ø`ì÷< K·ß°·Ï jµšs§O&9D<©}T«ÕÄhb¤÷ÞÞÞ:ùò´àà`>þŒ…El”$µåÉ›7óçÎÆÏߟÞ}û³|Å*ôï+_\¡P( …B¡P( …B¡Pü€¤[%ÿcZ·n-OJRŽÙ)? ~_Ltt4AAAìÚ½GʯZµ Ïž=ãôé3¼}ûŽ#îGµÖ ËÜÜŒgÏŸMLLBìÏ”%KœœXøûb"## cñÒeÔ«[‡téÒÉ‹K?yJ`` Äõ635%886¸O ïtïþºõèÉ‘Cû±¶²ÒYG¼Ê.®¸:@dd$ºvç྄QKB–¯XÅï‹—pê„v¶¶xzzòû⥜;èè(ììì1l(•*V`ç®ÝŒ;^ZÀò¥‹©QÝU'-ÞýX²t9þy“ðˆll²Ð®Mk:wê(/ú·+S¦4æææÒ{cÇqªTQgˆä4kÚ###yr")­ÓÚÚŠ±cFadôó¯5m»öì¥yÓ&òd…Œüürëö\«%Ü7 … ((ˆÑcÇsáâ%ôÕj7jȨ‘ÃÑK& drŽz£ß€A)>W¿Õƒ‡™:mÏŸ¿ÀÜÜœÎ:жMBAXX[¶ngͺuÔ«S‡±cFé,ÿ+éܵ—._F¥R‘.]:ììl©_·.Ý»u!}úôòâßL~ßÿbȰòdZ·jÁ”IåÉ©š0i2“'N ¦[ „¬ÿcAÁÁܼ~===>zy‘'Oùbi"¯$õ¬4p Þÿ?‰ŠŠbúÌÙœ¿pˆˆ²gÏÎÈaC)Q¢8ÁÁÁ,Z²Œ£|þü™œööŒ3šråÊê¬ãöí;¬ûcOŸ> &&†"E Ó³Gw *¨Söï’ÖzèÏÃÖmÛÙ²m;žž077£{×.´o×â~Ä™4e*;u/ú¯ð¯op>xð <é§:}ú åË;’!C^¼xɾý5r¸¼X"†FMšÉ“É•+‹Η'ÿ¿Â6Ä"ñD‚ …B¡øùœœêñæncs燈˜¶mÙD¶¬YÙ²u½úôãòÅsR?6nÂÝ݃‘#†RÒÁA•~éòe ¸±£pvJèùwIK=ôïÆ“§Ï˜3k… äÁƒ‡´íЉâÅŠQ¢Dq¦Í˜‰¥¥¥|±ŸsÕþ‡íÚ³—*ÕjP¢TY:véFËÍS «O­VsèÀ¾D¯¿³¡÷WØ…B¡PüsnÞ¼ÉÛ·‘‘|ƒ‘5xù2ˆ;wîȳ~ =•jµZz%÷edÆ´©lß±“G³|å*ìísР~=y1Þ¼}‹[­º´nÛž÷ïßãV«.cÆŽÇÝãnµêòõk†Ô­]‹ßÌK4ü®XÑ¢´kÛjºÕ 44”¯AAøøc“%sš¶yÊô´hÞ”Á={vŒŒŒ(V´¨TIŽïuR¾’3¥Ê:Ò®Cg^¾L/PÅ¥:û¤~ÃÆs(Mëvxúì½úô£dGœ«VãÐá„QAÃGŽfÅÊUtêÒ’e©îV›ë×o0kÎ\ÊWr¦ŒcEfÌJ±’A£ÑЮC'|}}iÖ²U\ªãí­;I²œv¨‡Ñ¢U[+:Q®‚C†OÓ:µ‡@ÆÄÄ0wÞœ«V£L¹ Ô¬S«×®é”_¦ŠKuvíÙ‹Kõš”*ëH§®Ýñõó“Êܼu‹¦-ZáPºNU\X¾bBž?Až½ñôŒ]GRá(KN£ÑàPºwîܕҜª¸è E^µf-Ýë¥s~>‚¿sÄý(U\ªë\G>¤a“f”.[žšuê%;ìøGŽÅž½û=v¥ëáÚ÷Q÷ IDAT[ïÑÑÑ 6‚*.Õ)[¾­Ú´ãýû÷R¾â¿M£Ñà~ÔƒQ#†‘ÙÚ÷£dË–•Ý{÷Je^½~-]oU«Õ`ÍÚõ:ë˜5gM7Æ8nôp¼   †I¹ NTtªÂa­çZ#–ªººQ¨h ªV«Á‰“§¤¼°°PÊ–)J¥"oÞé X±| &M‘žƒž>СSÊ”«@íz 8â~”ò•œ¥mùÖzmjûÖW;v[m sÀ¥zMiþ¯¿‚±±1S'O¤h‘"¨ÕjJ”(NN{{éüEDD?_>ùbÿ:*­— Žëýœ0Œc `X6@ P( T¸qóŽüü%ÕWZ\½v]ž¤P( Å/ãäé3"ðóqòô"ÏN$OþB"OþBòä_ÆÊ•+E† =ˆ_2t«V­’/þ—ëÔ¥»X½fS(\Lü¾x‰ˆŽŽ¯ß¼EK”wîÞB±{Ï^Ñ¢U[!„ááá"OþBÂËË[Ú>mï==Ežü…t>kÞ‚…B!Z·ë ÖoØ(„",,Lâ.„âø‰“¢xÉ2Ò5øâÅKñüù !„=ù >|B1eêtѬekøù³ã&Lyò/^¾B$._¹*¢££Å—/_…Ku7±oÿ!âÎOžü…ıã'„B¼{÷NTª\UÚíó'„-Zµ'OÑÑÑâÝ»w¢t¹ âì¹óR~¼ßzõËW¬Bqïþ}Q³N=QªŒ£ˆŠŠ"îÿrÃÆÍ‰Îùì9óÄÈÑcuÖU¹ª«hÚ¢• B±xé2áV«®N™x?z,Ê8V£ÇŽþþ:ÿ#W¯]Ïž=«ŠËW®ê|f¼³f‹&ÍZÏDxx¸ô™çÎ_e+Šû!„8á‚(R¼¤xôø‰²ë<µk+©mLëuÜÿ¯ŸŸ(Qª¬Ø±s—ˆŠŠ?zIÇ:µcŸÒõð­÷ !„8söœ ÑÑÑ¢oÿbä¨1Ržâ¿íÍ›·¢Hñ’BÄÝËU¨$ž<}*J•qB**U®*æÌ/¢¢¢Ä‡EUW7áq츴ŽÞµêÖ‘‘‘¢aãfâø‰“RÞ¸ E“æ-E@@ìÿU‡N]Džü…Dxx¸BˆM›·ˆòÅõë7DXX˜xõúµøøÑKZ~ó–­¢M»ŽâÉÓ§búÌÙ¢wßþÒ}MÛÔi3Ä”©ÓåÉ¿”äêMÃFŒ#F"•{ijÏPù}¿rUWqñÒe!ÒPgIÊê5ëD§. u(·­eËW[·íAAA"22RÌ[°P4kÙZ|þòE„††‰­ÚŠY³ç !„øòå«È“¿øô铴ޱã'ˆé3gKï×ý±AtëÑSz¯½Ý)­;©:ArϺøõùøúŠ©Ófˆ›Š»÷ˆÈÈH©Ü½û÷EÑ¥´–Œ=¿õê#D2u ·þVmÛ‹¯_¿Šèèh±`á"Q»n¡Ñh„H¥ž1lÄ(áPºœ¸}ûŽBˆK—¯ˆü…Š ??!„¢º[m1eêtáq츨U·¾T¯;qò”¨\ÕUúÜÞ}û‹³ç΋÷žžÂ±¢“ðüðAˆ¸zÄé3g…B4nÚ\ªc7nÚ\L›1KDGG‹ÀÀ@Ñ¢U[áXÑIZÿ·ÖkSÛïøç³üºÕvúÌYQº\qóÖ-%ž={.íßÏàï Š/)^¾z%„âÏ›7EùŠÎâêµkò¢?,(8Xœ:s6Q[lr¯7ï PÈ ØYKÀ4®MØ(®8]\›±:® Y»MY¢ôpV( …BñËZ¼tå+9K¯‡æ$«YÓ^^8”(Ž¥¥…<[ǃ‡)P ?111¼ïIŽÙåE’uçÎ]Š—,ƒS^¼|ÉÈä¼É'pâ˜;^¿ÂÖÍxøèS¦N×Yž¸€¶¶ÉñÜ·ÿ½{þ†••%zzzôëÛ›ðð._¹*•iݺ™2™!C\ªT¡páB8Uª€[ꄆ†âïï/•¯QÝ•<¹s£V«©U³†ßºwC­V“ÓÞžüùòý¥=;ˆ›ÿÂÃã÷î?ÀÐÐùóË‹¤*K–,±kÏ^BBBÈio/õÆIJßÞ=122ÄÐÐÕ]¥^V'OÂ>G6¨žž¶Ù²Ñ£[WvïÙ'_E²"##9b8¹såÂÈÈS§Ï`kgKÝ:±=‘jTwÅÒÒ‚‹—/'Onix¡Bɜٚ>àqü8½ztÇÌÔúöé­õI1cF*”wD­V“)“ ¥J–ä½§§”Ÿ+gNÜjT {öì4iÜc‰Ãݼ{÷ž[·o3h@Ôj5Ù³g§FuWŽ?!/гS%®\íe{âä)\]\È™+'×oüItt4Þ¼‰³sl(›´hѬ)fffÔ®™|Ï¡=*•ŠIÆaii¡cÞÛÛ‡.Ý{0eâx*”w”Òµþi¸—’Â34%i©³¤UéR%iݪ3f$]ºtìÝ·Ÿž=ºcš)FF†´iÝ’c'?¿¾Ç_¹î\kÔÂËÛ›[7Ó¼i“$¯Ù”ÈëñÚ´j‰‰‰ jµš^={ðòÕ+^½z ©Ô3\«¹ààP€ŠÊcffÊÛw±÷o :wêÈî½û7aÙ³g§LéØð$Úüüý™§Ó×—ŽA@À'll²h•;;;üåÓ"ožØIo^¼x©3,4<<‚à¸0+‡¸³k÷‚ƒƒA¥" à1"6\ƒŸŸ?Ù´~tÈlm­ÓÐq÷Þ}V¯Y‹——¨T¼ïI»ì “Ye2ÕmœÌ’93W¯^×Iðñ‰ WâV;!Ì[TdÎIü8UªÄŒYsˆŠŠâäÉÓLž4£ Fœ>}ƒØk,WΜx¦ñKvÃŽ¾¾~’C±ù Ž…½}ôõµ™5g!!!˜š™Ê³$þdÉ’YžL@@Å‹ÓI³³³ÅÏ/ñõ’–kK¾i½®“ûòó÷'KÝÏԖܱOËõð-÷ _??–.]΃G@?þ¿ ? øy,ÌÍ eëöèé©hѼ~~~ V«ñõõ%00ŠÎU¤e¢£5)\€«VãP¢D²Ï€OŸÈ–5«ô^þC®Ÿ¿?ÙíìtÒâѺm{FA­šnܽ{~1kÆôd úäéé‰UÜœ©ÝKIáš’´ÔYÒJ>ÁŸ¯¯#FA_?ö™ ÑÄ$ºO~¯¿rÝÆÆÆ=rM›·R·A#j¹¹ÑºuKiâé¤Ä×´i×1♚&<à 055ÅÛLJ¼yó¤XÏ@v>‰¿ÇÓõ6rÄý(gOÇÈȈå+VѪM{ìÛ-MºççïOûŽé×§·Ôø v¶¶¼yû–ÈÈH|||xöü9_ƒ‚xýæ Á!!dÏnÇí;w0ɘ‘ Z!q¬­ϳò-õÚÔö;-üüüq(Ûÿ3i4 ‚µµ5úņP0hHŠÏñÿw‰ke …B¡P(þ“J—.M®\žDˆØ^“r*Õ1òå3¡dÉ’ò¬ŸÂØØ8Ù‰ÿ´=wž[·osäà~*V(Ϙqãñ8rã¸ñFN—NéÑ«7÷íÁý¨×®]gÒÄÄ1_S“)“ 5Ýj°jÍZnüy3ÉlM ††‰gɶ´´ OžÜ<|˜Áȳ!®aë½§§Î ß>~ÄVë‹Krñ¡“ó­åã}ïrÄÍÑ®mÚ¶iÍþéÔ¥^»‚Zým=HòæÍÃü¹³ñó÷§wßþ,_±Šý*íÚ’ëb—ÝŽ£ÇtÒ>~ü(}Lënj¯?³µ5Å‹eûÖÍ:eˆ‹í”ˆˆ Âáû’üÇœ÷ï=¥ÏŽggg‡§¬ç߇É;¶g’¶Ô®-’ÙÆ´\×ÉýYZX¦+9¹cŸ–ë!¹ó™”á#G“-kV¶nÚ€Û¶ïäÐÝ8ºŠÿ.+++Ôj5 üÎŽí[P©TÜðPê™hkkKî\¹8rh¿|QŽ=ƳçÏÙµ{”Ö«O?jÕtcÉ¢…X[[I1e‰›¤M›™©)^^Þ:iñîܽ‹¡!µjºP¢DqԯϞ½ûþ5 Î?zqáâ%æÏ¦{)),,œ/_¾`ia‘j=ƒ$ާ¶½ûöÓ§WOéÙ8p@?vïÝËí;w©X¡<?zѹkwºwëJ³¦u–µ´°ÄËË›%ŠS»VMZ¶n‡M¶lÚÈÄIS06ÎÀÂùóÐÓÓÃÊÒŠ¯AA„……K3>}Ší§-µã/-û––)>Gÿ ‘‘‘ô0KKK¦Nž(ß   Nž:Í«—xöü¹|±…ÄW²B¡P(Šÿ¬ ’3çTTªÄà UªcäÌ9ƒ 'ÿ'1nÂD¦Nž„¡¡!5ÝjP¸P!fÎN˜ÔJÛ‹/È—7/Ïž='þÄ ÅɹrõoÞ¾E£Ñ Ñh8~â$Ož<Å¡xqˆ«¸ûû „àÅ‹—Ì™;Ÿ&ÊWq3ɯ^³Ž«VãëëKXX8oÞ¾åíÛw4oÖ”Õk×ñéÓ'bbbXÿÇ2f4Nr¨ãÏ–>}zŒyô(6¤É· -¾yëááá¨T*Š-ŠF£!""ü›Öùñ£—4|ßÂÜœvv±=Z¾QµªUàÀ¡Ãxyy³qóš6‰ýennŽŸŸþþ‰¾&§º«+ÏŸ¿`÷ž}DGG£Ñhxüø aaaøøú’)“ ùòÅ^oçÎ_ÀO+ÄIM·ê¬\½†¯_ƒˆŠŠbéòR^HH!!!”*U•J…ç‡\¹ª;4ÙËË›Ý{ö¡Ñhxýæ {÷î“N´å´·§x±bL›1“àà`„x~øÀÇ^ò¢8UªÈªÕk©îꊞž… $**Š#îG“mÞÜÜŒgÏŸæc§íGEr²dÉLófM)W¶,C‡Lò:«S»«×¬Ãß? öü=y @ó¦M8tØ]zãÏ›\¸x)É IS»¶’’Öë:¹ÿ¡j.Uyóö&&&†ÏŸ?§©çù·^©ñõñ¥h‘"Îá#îò"Šÿ0µZMÃõ±µ³Å$cF^¾|Åü¿Ó¨A}ˆâÆŠ•«¤ëñÝ»÷RŒûá¼xúHz-R„åK³dÑBˆ›¼wõšuÆê5ët>ßÍ­lÜÈÝ»÷Ðh4x{ûðêul(;;;¼¼½¸};v"d___Î;÷Mõ‚_•¿'Nž¢cç®T(ïˆk5—º—¦ægÖYš6iÄ‚ßI÷·ÏŸ?óôÙ3y±ï’Òº“ª¤õYgddDÛ6­9zø íÚ¶ ›m6¢££¥Ék9}æœlɤmÙ²MzF-]¶;;[ ÈŸj=#5¹ræäĉ“DDDpõÚ5¾|ùBî\¹xûöm;t¢G÷®Ô©]“ÐÐPBCC¥I&kºÕ`˶íôïÛ‡}{v²|éb ,ÀŽm›Y·f… Æþ›#Gv ÈÏ’¥ËÐh4³qSâêÓêGö{üÄIR¨—:µkqàÐa=zû,ôôäë× ¼½}:|¤ôcÕâ¥Ë¤pZ·nßfÔ˜qÉŽØÒNž½±¶¶fìè‘„‡‡Jxx8ÆÆÆd¶¶þW?3•Î …B¡P($FFFf¦¦LYm²pè@ê±---øcý¦ÏœÍä©ÓÐ×WS @–/]L5—ªœ=w޵êbmeE©RT©œzcÈ Lš2j5jbddHn]É•3'Ä}Ñ=r8]»÷ÄÒÒ‚lY³Ò¬IìvÆkß®-÷îßcÆÌYè©Õ´kÓš†q8rË–,bÚŒ™TvqE£‰ÁÎ֖ɓƓ-[ÂPôxN•*²}ÇNF OèùV­jU¶ïÜ•l¯¿F râä)+8Q¯no5ð£Ç"5S'O¤A£¦¬Z³–ßd1^‡ ÂÌY³©]¯ááa-R„m[6Q²¤Çeàà!ø5[VΟ+ÅxÖ–Úµ•”´^×)ý­X¶„Ùsç1fìxŒ30yℇoÇû–ë!5ãÆŽfâä)lß¹3SSêÖ©Ía÷ïhÅ·2hcÆMÀÕ­6†††4jØ€ŽÚ`hhÈÆõk™5g5jÖ!4,Œ9²3bè$GÉ 8€IS¦áâꆡ‘!#‡ãô™³R~·.ÑDk8d>>>d¶¶fØÐÁäΕ‹\9s2}êF‡/FFF4nØ€®;IËoÙºÍ[·I¡t.]¹B‹æÍèÜ1qüÙ_Áì¹ó˜3o>FFFäΕ“öíÚÒ¶M+T*Õ_r/MÎϬ³Ä† XBËÖíøúõ+ææôèÑí»æ„KiÝIÕ ¾õY§R©¤ç¾™©)Æe䘱Òý¼I£†66Y=v<ïß¿gĨ1Œ5FZæ·îÝ6t0½{ýF›vQ© ]›ÖdÉ’…èèhž>}ƫׯ©_¯®´ŒJ¥bÉï 3nå+U&[¶¬4jØ€ç/^He¾Å÷îwLL W¯^§x±ØŽ"5ÝjàåíMï~ðóóÃÆ& ¬]MdT.^¤gîÜ»wŸˆðØFy_®\¹ŠF£I2Þ»¶ã'OrñRìœÛwì”ÒK”(ΞÛY¹b)ÓgÎþWüÈ•”øþêÚýÖãgŒéi½ÔZ/} }Üì„q/Ã7ï\Λ'ñ0393Y̹¤\»~ÇreåÉ …B¡PüN9KéR¥¸yëåËa¬—,)y Ä6J¾xšüÄw¿’;wîP²ä nÝ*ó·…ÑP( …B¡P(¿¶ˆˆ6nÚÂÉS§ùüù3†¬YmhÕ²…4™rrÎ_¸ÈÄÉS8}B7Õѵë×q,WNžüC‚CB¸~ãOJ¥ñûÛ‹—¯)[Ú¡4D‘@­õŠÑz Ù+žô·ÒÃY¡P( E’ÒXWQ( …B¡P(ÿtïÖ…îݺȳ¹ú?öî:.ÊäàøL” =»›n)EìöìîFÁî>=;1ïìÂîîî:ÅBPQêùý<°Kx§§çoÞ¾öõrgæyvŸawžgç™ùÎùó”(^##CÞ½{ÇÒe~ØXg~–¡ðß#:œAAAAAø&®\¹†÷P_>|GG¥ÂÑÑ!ƒ)‹ ?Ñá,‚ ‚ ‚ ‚ Â7ѳG7zöè¦L~bÚÊAAAAAAø;ÄgAAøJ>NX½8#™-÷cÐ…ÿÜ{AAA¾—ÿËç?âííͼyóÐÒÒRf ‚ ‚ðèéé)“á?áÓ§OÊ$AAAø¿õÙá|óæM ÿõÎæ×¯ßиisܾþ÷£ºmûŽÔòð UËæÊ¬ÖŸa˜šæc`ÿ~Ê,Aá?Hz´Q™$?4­âÍ”I‚ ‚ ‚ðíÿ"†óÝ»w™6mšüüÚµkT©R…©S§r÷î]µ²ß’±±#†ûÊÍaaa>rTYì?aßþDDD(“AAAAAø?öÓw80iÒ$ÜÝÝå´¤gwww&MšD@@€Ú6ßŠŽŽžµkÉÏ÷ìÛÏ¡ÃGÔÊüÄÅÅ1nÂ$"""•Y‚ ‚À•+WðóóÃÏÏ+W®(³AAA„ŸÔOÝáüâÅ ÆŽK¯^½¨R¥ ÁÁÁDDDðË/¿PµjUzöìÉØ±cyùò¥rs?¦E«ÖT®fŽGm/Ž9Š•­½œæì9<½êSÍÜ’¶í;²Ìoý àÅË—”(]ޏ¸8vîÚͬY³Ù½g/ŽÎ®Lž:=Å«$xòô)í;uÁÖÁ k; ò&&&FÞ—½SMÖ®Û€“‹;5,m<ÄGu¼eë6ų́1c±²µÇÎÑ™ #I’¼ÿ%ËüppvÁÂÚßá#ÑÖNþ8ÄÆÆ2È{(ŽÎ®˜[ÙÒ¢Ukž?N\\­Û¶'((ˆ&Í[àèìÊ›7i–Wzó&Öœ9{€˜˜<½ê³zÍŸ"cÑâ%´ïØ™ª5,qu¯Í… ™:}V¶öÔ°´ÑXW‚ ÂáãÇ899Ѿ}{Ö¬YÚ5kèС5kÖ$**JYü›¨âå͉ ™›Á´q÷Yju˜¨Lδç¯ßRÀº£~ŽEWn9†]³‘ðŽíŸÖ÷?qêÒ=L-»(“3må–c8µ£LþW5nڜ˗Šœ”:u鯆›•ÉßÕvÿ´nÛA™üM}×ÔäGyšDE}¢WŸ~XÙ:аqxœ› IDATÆ¡p¾æ± 1Š9óæCâLÑ®Ý{)‹ü#ßbŸ?››·nÓ¼ek,mì±±wâü…‹Ü»w+[eÑÿ+÷³óæM N5݈Šúw×0HyLù½Òd¤),Yê§LþnRÖõËW¯(_©*qqqÊbðë7-ÛýwЮcgerš*U­AÀãÇÊdáÿÌßá|þÂÅL=4™;w.VVVXYYÉi×®]£R¥Jrüfkkk,--™3gNŠ-ÓÖ³w_*V¨À¥ógøsÍ*æ/Z,ç…††Ò½goúõíÍ•‹ç1Ü—ÅK—©mŸ¤®Wš7kJÏÚ?zß¡ÞÊ"Ò­KgN=Ä¡ý{¹~ã»÷ì•ó_¿~ã€GÜ·›Ã÷ñâÅ ¦ÍøMÎß½g/ææœ;}’•~ËXµf {öîàà¡Ã,]¶œ¥‹röÔq¬,-8uúŒ¼­ŽŽu½ê°ï.Î>±±1 .F¥R±ryÂ1mÞ°žãGajš/ÍòJ¦¦ù7v4¾ÃFÉì9óÈ—/mZ·’Ëø­XÅÈøtþ ÎÎN´íÐ }}}NŸ8ÆæëX»n×oÜTÛ¯ ‚ðý%u6—.]šV­ZQ«V-jÕªEË–-)Q¢NNNÿÊâj¶ R3e²FöæeÒµ¾29Cå=ràäuL ø}D{²éë*‹ü«Þ}ˆÄÌ®ÝG,UKÿEÓÞ3)êðå?&3{l!aáì8tI™¬Ñß­ïÿš®Ý{Q¾RUµÇR¿åtèÔ•JUkàæáÉ™3gÙ¸i uê6àóçäNý›·ncçX“·oÕö Чw/J–,©Lþn¶lÝÆŒ™³ ñ‡ý‘£Ç”EèÕ§^õª¥EDD0`7nžjéß“§W}Ž;À»wï8šøÿêÖíÛÜð@™ü8xè?ÞNS½|Ëãòß±ƒààN;Ìúµk”ÙßôµSª^½:¶W&§ò%ŸÁÌîó{ gàà!XÚØckïÄÔi3ˆ—ó£¢¢X±r5Î.LùÂÁE·ïÜ¡G¯>XXÛaeë@ßþ ScÖﳩP¡A„ïÏÓÓ“ªU«òË/¿(³(V¬•*U¢N:ʬ¯Î«fu reW&k”ß$5­+(“Óuîê_„GFáj[‰,:*šÕ±Vù×u±£<¹ÔÒ®ß}Šyôt³¨¥gVfmÓž³ì8œ¹ç¿SßÿUôãÆÕKò£sǬð[B>†óÁÆÆšfMS @~.Z‰3ÌF‹ÏÁ*w‰“£¹råT&7/^¢Fõê\¾|…jÕ’¯±“¬ß°‘À  µ´{÷мek²fͪ–þ½åÉ“‡¼yó°ïÀÁ4;пԊ•«ù믇Êä¿-..ŽIS¦ùQ™õŸ¢¬—o}\Ïž¿ B…rdÉ’]]õißúµS262Jó÷kJ_òÌì>¿—ÉS§ó9:š];¶±zårÖmØÈæ-Ûäü¾ýrïþ},Ì¿üÞ¾ ÅÕ¥&»wngï.¢¢¢˜5{®²ÁÁ!XYZ R©ÐÕÕ%K–„scŠŸ¡ÿy—/_¡]‡Î”*U’ëÿäô‰£LŸ:™êÕ«)‹Ê2ûÙQ~_utt¨å‘¶ôkÈ—ÏD>g®ÿs Y³f•ŸûoK˜É¢<jk¥Ý¥U¾\9Ši¸&ýV˜õûbbb4¶)šê:e?HJߢ~•BÞ¾¥u» ¥Å’Å Øé¿•=»üY¼`>¯ß¼¡k÷žiŽÀþ¯gÞü…¼ÿðA™õ¯ˆŠŠâþƒ¿˜4açÏœdÖŒéü6k67oÞ`Äè±èëë+7ûi¤ýíü ,XQ£F1oÞ,ü3áw‹†¾ÌYµW­¾Þ¿£A·éV]r½xvœÌ”EÛår­ÎÅÔ²‹ìÂõ‡TiO\\Úן¾Á¥õ8òVë@ÅÚƒ8så¾Zþî£W0oàK~«®´éÆ´%þr^{ïùøm^¢UÿÙ´èû»ZzJÚZÚ¨T*ù‘ÖÊñcǰióî޽ǒe~˜™– (¹yxröÜyvîÞCÝú°±w¢¦›«ÿHOvçÎ]~mÓ{§šØ9ÖÄÇw8$ŽN«ai£¶¿+WÓ§ßùùõë7hѪ56vŽ4hÔT~-¥ÉS§áU¯!ûdêôÔöªÇ“§Oiݦ=‹'²xÌÊÕkèÚ¹“ÚöººY>̇æÍšª¥“ØíàìÂÝ»÷”Yø­X‰«Gmìk2rôXµp$Žºöôª¥= 5Uë°Ûî¿ßáL6glì;~‚<Ò2O ؽg/sçÎgßþ¸yx2ý·„QÜ)=}öŒ.Ý{âìêcM†ø “Cߥ4uúo>r”ÉS§ãæáɃ‡ ƒºvóðäÊÕk´íЉ*Õ-xó&P΋‹‹£C§.Ó²uÜ<< LèÐW騘8y*ήXÛ90jÌ8µÎ‚­Ûýñ𬋭½ºtãå«Wr^JÃFŒbÑâ¥téÞ[{'ê6h$ü8~â$Í[¶ÆÑÙ'wüV¬TÛ>¥´ŽSY/ûöHó¸2û¾cbb˜6c&Î.XÛ9СSW¦tÏž;íÛýÙµ{/nžœÒ»ç¨e|ˆˆbÍÌ>j釩i>è‡÷P_6mÞÊè‘#”ER‰‰‰aä¨1LŸ6…3'±eãzj:90uÆoÔªåÎÉcG8´39}7,,Œ½úЮmΜ:NŸÞ=é7`¡¡©§¦ûÂúµkÈŸß”½»v0Ü×7WvíØF÷n q²cbbâ;ŒÑ#G3§ú¨ì_ŠÕx] `;7æ5j``` Ìâð‘£,_±ŠóæpüÈA,-ÌåuAN>ÃÌßç0}ÚdΟ9‰÷àxõåÞýäià»öì¥X±_8zèÛ·läèÑã>’Ð&ôèÞSÓ|Ôñ¬M“ƨåáÎÁý{ð”Ü)ŸÄ0o^:wìÀ¡ý{سӟ7oÊ3 Sê=ˆ2eJã;Ô›ƒû÷àîæš©º=v½ztçô‰£äËg"§«T*–.^Àº?Öppÿ9ÿòå+T®T‘£‡ö³Ó'Nž’;¸Ïž;ÏŒßf±`îlN8JéÒ¥œ¢£QiÍŸk2x §N¥O¯ž ôʫׯ(\¨“&ŒãøÑC,š?—Ùsæñúõå.Ò=Ne½Ôòp×x\_ò¾çÍ_ÈÕkר¶y§OüFuºtïÁ§OŸè×§7õêzQ¯®÷ïÁÞÎVÞîߪSM._¹Âî={ñߺ™Ó'1oÎï”.]:ÕgpÄ0œÙ±+¹óçÀÁƒ”,Y‚Ò¥J©í3­zÿþæ58Ÿ8û÷ÖíÛäÈ‘ƒ³gÏÉ–Ο¿ˆ­ú©êåË„Nø¢EŠð˜u60{Öo<{úL.“ôû5^ÃhJmmmlm¬Ù°îOÎ>A×Îðê«qäe``ÛüýqwKèP662b§ÿVN?BÑ"E˜9cW/çÄÑÃò6¡¡a¼zùŠÃö±~íìÙ»mÛ“o@Ž;Ž'OžðÇêœ=uœQ#†« ÔúQ„††q÷î=Ô«§ÌR“VÛ°vmÂTÿ#‡ösòø†ù !oÞ<©¾¯în®jÛ‘‰va™ßŠ„Ag§Ž3qü8ÆOœÌÛ·i÷•dÖÞ}û1Ü—3'á3d0ƒ¼‡jlH<‡³‹sõÚ5vúoãà¾=<|øHcøU2hÇ“(ëaþÂ…<}ú”½»üÙ»k/_½âáÄëE•JE×.ؾe¦ùLhß± 3gÍÖvç߯ÓgϨT©"11±ÄÇÇ£«÷mæ|Oš¯Ò2åË—ÇÛÛ›k׮ɣ›¼½½)—x·/3ÌÌ SºTIfÍžKll,ááájw朜yðàG¿àOŸ>S‹¹¬”'þú‹ØØ„À¨1c9sö‘‘‘DFFR­ZU´´´xñò%gÏ%_P'ñ[±‚èèh"""X°p‘Ú´‹ÀÀ„»^$.v¸yËV9ßÝÝmÛýy€$I8xHíb<(0ˆ åË£««KTÔ'víÞ#çeÍš•ìÙ³sçÎHüQ—^ù7o<ÄGn˜—¯XIxxãÇŽf@¿> œ¼¢ ‚ $yðø5®?dÊ_ÑÓÍBŽlzLóiÍÖýçåQΟ£c˜áÛ–ÒÅ hŒ5¼a÷:4q¢t±„Y=-¼l)W¢²˜š‘}“M_}½¬4p3çî£äÑ ›öž¥FÅâüR8õ‡‚ùòò>ü#Ë7!<2Š’Eó“'wvtT*~)lÂü?öñìUÆysQ¬pêQ\š¬ÚzŒ¶(W¢ZZZ èX‡ ×ò20”ظ8ZœÃìQí15NÝ9÷5¥ulš´¬kË•Û xžpcûOÿSÔu©ŽQõNÇGÏ9såã4GG¥¢Xá|4p7gëþ ¸ÛWæÔ¥{ÄÄÆqìÜŠ™å£žK vN¸Yqäì-<*«í/¥€çA\»û„ñ›“5‹&†¹é×^}ÔpÙåÏB•rEÉob 6zܶziºµt#W}²fIè Qik3ü·uÜ xÉæùƒÈ¢“0âJ“…‹—È#æœ]¸s'í…,]]]xýæ •+U”¤G¥RQ¨`AÖ­ßÀë×oÈ“'… %KÑ"E8pà 7oÝFOOR™ŒuyôØq ,@íZ¸Ôt&oÞ<œ>{VY€»÷îÉû¾{÷.%K©¿Î¬Ùs±²´ÀÚÊR-=#¦¦ùømúT:¢~½º”*Y•J…WOŠ)"çïØ¹‹õëÉ£ùlmlp°·cgŠN:SÓ|4mÒ•J…‰‰ Õ«W“GO•/W.Óa>räÈ¥…9ªÄÐwU*WNú.-™©ëfM›`iaNöìÙ3=ÃØØXodhHõjUå0tÛýwP¿^]Š/†––íÚ´æÆÍ[)Â$qu©IÉ%ÐÒÒÂÝÍ•R¥Jr"qTi±b¿P¼x€2eJcllÄ+ #{3sœù’÷í¿c'ݺtÆÐ0/ÚÚÚôèÞ•OŸ>sî¼úͦ/ñ5ëT""#غݟÈÈHŠ˜™‘;—zx¤$ ê×c÷î=òL»÷а~êÎÅôêÝÖÆZ^ÿèÈÑc8;:bVÄŒK—¯Ë•«W±µÍ8”Ò—øEŽìÙ‘$‰QcÆÑ¯OoŠ˜™ñþÇTÆ)¸OÉÝÍUnëxÖ&>>Nm —ÿŽXÛ9àêQ›ªUªhœ=‘ž>}z‘%K äÏOÓÆ 9x(¡C:::šÃGŽâ=h E‹AWW—Ê•+Éá8~$Ih ¦?s;½¶¥°Ya®ß¸Á±ã'$‰ åË«å§'£vÁÉÑJ•*`eiAîܹxö<ù¦ÃßåR³¦ÔÖÆ†²eÊpüDòMï”´´´9Ü—¼yó —¢“¯U˘˜˜ ¥¥E-wÈyiWdd$µëÔãM` kV.§QƒúësѾ]T*Ù²e£cûv8˜|3DIÓß.½s‰3’žÚÙÙò"ñеk7°´°àêÕkԫ뉣ܳe˪´µ™=wŸ0ë·éò¢‡ѵSG rçFWW—ÝÕGìn÷ßA—NÉ+úúz´hÞ”ƒ‡5gfÚqe=ìÝ·Ÿ®]:“3gN²dÉBn]Õö  ««K‹æÍøsÍJþzøÚ^õÿõÕqqqøAûvmø¥hQôõõ¨T©"«V§^Sàg‘ð ù?qõêUêÖ­«LÎ4---æÌžÅð‘£1·²%_>š7k*Ï716fþÜ9Lž:a#GQ®lY¼êx¬>õ5Iƒúõ9xè0–ÖvxÕñdô¨œ;wJ+acmÅ0Ÿ!têÒCüÈŸŸ&©mŸ%KJ/{­:¼{ÿ{;[µ;uæ\¼t™)Ó¦O»6­å†ÄÃÝÇÓ®C'¢£cpsu¡QÃò¶#G c̸ñ¬ß¸ƒÜ¹©ãY›]{’;‘½ `Ĩ1H#G³~íé–üÉÉS§èÞµ ÷<`þÂElÚ°•JE«–-8xè0Ó›¥öÞA„ÿ–ªU«fjÞ°°0ªUK;–`JAoß“+‡>¹r$Ç6û¥ ññ!aᨧҗ-Q0ÅVê^…a^©¸ZZ~“ô;g ™&ÇÎÍ¢£"&6ù±ßÆ#to¥9DEÉ¢ù9½i<çoe¼­´oâÄÄA-ÐÍš…3›&0u±?5êû`o^–Ù£Ú«½NJñ)Âg½|ŠÿÁK¬ÝqJNËžM—Ðw,úó Õ+ë¦z(o!½cSÊkƒz®5øcûIFõiÂÚ§˜5¢²/ß$Œl*ãÖ_N‹Ž‰Åþ åJ"O®ìœ¿öþ‡.âU³Žåè3v9#û4æôåû,”öÄ×AaäÊFîœ ?š çW¯ïõ»Nã·ñ"¢ÐÒÒ"èíµp`e5ܘ¸v÷ Wï<ƺj)t³¦Ý®Mkš7Oîô0HMiÊÔé4¨_#GqêôìlÓa¨­­ÍkV²|ùJš¶hEêÕð:„|ùL5b7mf¨Ï0råʉ÷àAT×[P;Þ7¯ùMMåß4{öîcë¶íDFF"%ŽØÒJ/3Ç™‘/yß¡aajá µ´´(T°`º3N3ò5ëT“"ffü±j%K–ù±hñR6¨O¿>½4Þø°³µ!&&†+W®R¨P!nÞ¼ÅìYÉ Æ'I¯Þm¬­™þÛ,bbb8rä£FGO_cÇŽ£«›•¼yò¨ÝÄùòæ1àcT6mF[[‹Æ‚®®®&!=ñññø-_Á‘£Çøôé3ÚÚZDGÇ—âÜìîæŠ…¹9!!!¬\½†î½ú°tѵý¤EOOOíónbbBpHB›ñîÝ;âââ(X0íëŒEž< ò!!oÕÂn*¥×¶Ô­ã‰AîÜ,[¾‚ÉS§Ñ½kš4VïƒHKFíBÊP¤$…Éü ~Ê4&&Æ©Ö HbfVXî$MÉ4Å÷UGqNH븲gÏŽÿ¶Í¬]·†MšáîêJ³fMR…-ÍH®3€LŒ K³^4ýí”mMÊsZpH‹-áöÝ»haïÞÉak"""äŽåòóðáCÊ”.ÅÁƒ‡ˆú…$Iìݷ병îßÀ½{÷©\¹’Zò–üòËόԾÛÁÁ! 9Ä›ôqqñÛ82ÙŽ+ë!88“ä0­©Ú–gÏž³qófŽ=Ž›« cGÔøYøVâââ<Ä###zõè.§OŸ2‰±&áêòý·ü–þ½þÎ$I"44” Š‹Ô/õKÑ¢¬]³J~~éòµ|{;ì“§ŒNŸ1Sþ"*X‡÷F“«xýZõcìKÑ¡};:´Oý-ILL ¿¶jAÛ6¿*³ qJÒÄñc™8~¬2 €îݺÒ]ÃÝk+KöïÙ¥–ÖªeòEtë_[Ñú×Vòó"EÌÒ,_¼X1ΟIþ¡|åbò´ ---V.O˜Ö0mJòô€Š*põ’ú4Ž A\#} IDATë’ëLY^Aø>ªU«†¡¡!i†ªzøð!ùòåS›m”ž_ ›ð>ü#¡ï"Èk°~ÂÓWÁ¨TÚÎoÈ«À„Ñ<Ú‰qþ4Égd wl& Má´ö÷àñkn=xN#´Gl–+Qˆ?gõåMð;õ˜Á¤ÛÛ¿y r0u诌íߌWñë€9_7•J;UâoÞÊÿÏo’‡~í=?0uG–e£adÓÓeóÞ„P?/qôÜ-îJ{Jæß•Ö±)GÀ´oìÄÀ‰«ðtªJÄÇOÔrHý7Ïob€ŽJ›''h\ØÐÍ.!¬Æ®#—ÙíçKé_ ðâu(v¡p~CŠL{ ScÞ‡$òãg²gKù.矽ú€.¾‹9¹aUÊ%ŒŒÊo¥~M¤ésß8'7ŒÃ¦é¦-ÙÁÐnõ•EdÙ²eÓ¸ðŸÒ‰“§¸vý:Û6oÄÊÒ‚ÑcDZcÛ²g×<‚<‰AîÜ Ð^=»3múoxûø²z…*•Š–-šÓ¢y3vîÚM—n=8}â*m•Z\R¡áLŒ©P¾kV­P+£T°`AvíØÆÈÑc©é섳“#u4bÕr?yâØñxòô).‰%"2g–/]B‰ê72ËØÈ(ÕèÑwïÞÉÿ/X° /_ª/ZýêÕk~ù%yaìô˜JIÓç:Itt4]ºõ`¨÷ 6¨––ÞC}•ÅdÊ}e¦®µ±©SRî/‰J;íÎ;cªUkEŸ^=•Y)Cï=ñ‚jÕªrýú FÏš•Ë)S¦4ŽÎ©§×“‰ãT‡ò9_ø¾ ,À‹—/å÷EbÔ̬գéµùÊuš–âÅ‹1uòDBÞ¾¥oÿ,]¶œ^=»§zO*•Šºuë°kÏÌ ›áäèêÆ™¨wCCCö8HhX(U*W"›¾>ý &g®œ_}t3‰¯§R©˜;w>kV¯@KK‹[·ïÈ£F3²qó=ÆÂysäNU kõMúúúèëë“?¿)½{õÀ«^C"##3lG>}úÄ»÷ïåº Â81gΜ9ÑÖÖæõ›×jë ýˆòæÍC±b¿°{ï^úöî¥Ì–¥×¶ØÛÙbogË­Û·éÖ£7ff…±07OõyL)3킦sê× ì\~H•*šg@¥Õþ§U'WÁð4€Þ=»ã¿c'=zõ¡PÁ‚Ì=+ÝúJ)88Xž¡¨"UIÓûLë˜HŒaßÔ”UË—¡««ËÆM[ؽ7a~¾|&œKŒ…=Ô{0&Mæµëøµe Ló›Òò×6X[[Q×+y±o#c#V¯\Në6íñ[±’ÎâQ,‡÷ùð!\­ÓÞÐÐ)“&`e™0¢:=™iÇ•õôúI³®R¾~TÔ'ú Dpp0¿¶jÁ–MëÕF·ÿ¢££8xyóæęjkO*Tˆ¥‹pí Ö·ù/IûÓù“ÑÒÒbþüùrçï·räÈQ9^ÍÇضÝ?ÍußZ3’Aá›Ø½{7ׯ_çÑ£„¸i)=|ø›7o²{wêÅGÒR0_^<*3ê÷ |ŽŽ!òãgÆÍÙL˺¶rˆƒŒ4©mÅêm'øëIB<º]G.sãÞߛ¹|ÓZxÙ ¯§yTƳW!òëçÍE1³||ˆˆ":&–3Wîžn*•)‡ˆ(Š›åãÚÝ'rˆó×þâÎÃäiùí;±xÝAÎ^}€$ID}Šæüµ¿x||>·öýƵ]Ó¹¶k:]š»Ò´¶5'7$,„ó5¥ulFyrrëÁsbbð°¯Lxdæm¥M±–KÍy¥ ˜°’ £iž¼–ã(»ÛWfÓž³dÍ¢C¹…P©´©íT…É‹¶áa¯ùÇd’âfù¨XÚŒ1s6ÇÛwáÌY™< ñU`¹²S¾Taö¿Ê›àäŽË´åÍIžÜÙÙ8wçoåôeõ…¿Txx8cÇO`̨‘èééáæêBÙ2e˜13õ"u)ÅÄÄpíúuâââÐÕÕ¥T©RDFFpõÚ5>}ú„––åË•#..ŽèèÏä/ŸØØXyeôwïÞqìxòÂ[5yô(€mÛwK\\÷îÝ'**áï¬ô( €Å‹Cxx„ÜÙ 0uÊ$öìògëælݼ‘Ñ£FP°`¶nÞ¨Öù«I``>ÃF¤Z‹ÀÅ¥&þ;vðø1’$qèðî?Hø>4nØ€Ý{öÉaâ._¹Êé3g©ãY;Å^2ÇÀ 7=|¨ú.ÉljŒŒ¤J•ÊhiiñòÕ+Îiˆs™$ož<ÜI\1>>þ‹ëZ))¼ÝÝ» aZÒ CRýzuÙ°q3ׯß@’$>}ú$49qò”\{÷íçáÃG8;:DΜ9ä›'O&ämòM²”2:Ne½h:®/yß6`ùÊU„……Ïê5#GvªUM}ÃKIÓkgäKÞ[Z^¿~ÃÓg ç¤<˜*$/¦é3ذ~}Ž;ÁþhØ@ó ¯ŒêÝÆÚ ¿å+©é쌶¶6eÊ”&&&†}ûÈñ›/\¼ÈØñ$‰ÏŸ?3|ähnÝNˆ«¿eë6–-×Ü™­IRø› 3G3gî|ꦱ8ªÒÛ·¢§§OTÔ'.^¢öرã<~LTTAAA¬X¹3³Â™êlN²`á"bbbxýú ›·nÇÝ=a&“¾¾>6ÖVÌœ5›—¯^Ë£GcÛÿöïÇò«Xê·œàà`¢¢>ñôÙ³L/rxïþù&^33 rç&""áÜ¢ü¾¦ô%íÂ×vìø nß¹ƒ$I;~‚»wïá옰¦Á?•ÙãÒ××§EóføoÝLË 2Û¦,Y¶œÏŸ?βå+pûŠ#]ƒƒ‚)_®œötÏÞ}rž½§Îœ%äí[Šû…åË–°þÏ5ÔõªC—NY¿öúõé­Ö9j``@î\¹ømÆT–,õ“Wts­É²å+øð!œ˜˜/MPаA=æÌ›//ªúþý{ü•pîVžóÿN;îáæŠßò•DDDÇ2¿åjùÚ·eÛ–4iÜè_ïlŽŠúD¯>ý022ÂgÈ`>}úÄÇå˜ÔÊïÒÏ&s¿Ö„LÛ´e+C‡ ::š9rмYÓ4WA„Ÿ‰¾¾>ǧN:œ={VžÒùáÃLMM9yòdšSèÒòÇ̾ô³œ"ö=Q©´ñtªÆ ß6ÊbijàfÎý€W¸´‡––u]ªSÓúËg;ÅÅųzÛ ü§þéí»pZ˜K`È{ræÐ£r™¢ü6¬-qqñøL[Ëí¿ž“]_—ÂùX8.aa5¯šÕ©ïjŽUãád××¥dÑü´ðJ^ÌÊÍ®3‡·£³Ï"ž¾ &›ž.õ\k`Y¥$ùŒÔG¶eϦKÔ§hL Sxû§Ò:6€6 Ø~ð"ù,:ÓÂË–ã:£RiÓ¦Sûs÷@Ú§[fÀ„•±ïI\\}ýä°6I^½|EÁ‚øëáC9~fåç\¹r¡ÒVejÄwäÇHNŸ9C—N•Y¸¹ºðäÉ:wíNtt .5©_/9\^åÊ•1Ìï¡>„¾ Å4¿)Ó§N¦˜†iÈ©W·.‡ÅÁÉ…Úµ<9b˜œg``ÀÁéÞ³yóæ¡@þü4jšN©s§Œ9†íþ;æ3¯:ž_Tך èׇ1ã& ŸæHÖ”l¬­ð2˜‘cÆòêÕkôôôpvr¤bEÍí¡‡‡3~›ÉÝ»÷È™+'Ó¦L¢P¡B˜˜˜pâäIêÔkˆ‘¡!U«VV[€/¥Œ>SšêEy\_ò¾;¶oÇçOŸiÚ¢Ÿ>}¦lÙ2,œ?7ÓçåkgäKÞ[ZÞ½{ÇÐaà yKŽìÙ)]ºÞƒAŸÁbÅ~ÁÔ4oÞ¦9¨)£z·±¶bÓæ- ˜ÎÈÉÁM[¶ÊmÑ«W¯¹páñññÄÇÇsæì9Ü\Bt<øë/µ05™Ñ¯O/ÆŒ›@m¯úèêêR¯®—ÚlÙõ6²nÃFy¿gÏŸ§q£†´mý+Í›7e°·Î.ä΋®;S¸prÈ£=dÒ”i‘-›>ÕªUcáü¹r~F*V(‘¡‘<#£QÆ4HÑ®L<‘3gÑò×6DF~Ĭpa~›>Uí&ÛÂÙÉ‘ùsgɲå,ó[ÁçÏŸ162bˆ÷ ÌÌn°¦çþýûôêÓ—èèhræÈ‰£ƒ=Žö ¡«š¢ÐÉÑ!ÓíÂ×6°?~›ù;7oÝÆÈÈ©“'ª}>þ‰/=.---µüŒÚ”råÊR®\Y<<ëòñãGìílåïÿ×àë3„ “&³iËrçÊEíZìÙ—Ðéœ+WNôëC×n=ñ< ó¨T*ÂÂÂ8qòV––:(U²$ƒ`÷P¶nÚ@¿>½™8y*µêÔE__NÚ«…æI !ѺmÂÃÃÉc`@§N(U²dªsþßiÇûö镸úõ0È›vm[ËËúúz_¼–Ä×tèÈyqã”ë¿U¬Xõ®a×î=L™6ƒó¾þÌÄAÒ8ÿ”ãýµíUЇÈè&>ô.^¾v¦DñŒ/ê rk^ !¥ó.ª]€ ‚ ÂäðÑcT¯VËW®`eiN±ËWJèк}ãª2뇥§—ŽàÓ§Ïʬt]¿~ &0|øðL…ÑÐÓÓCz´Q™üÕY5Nï6µhÝ áG” üZÅ›©­ž.ÿuÃFŒ"~Ó*BAø±Ý¸y‹µëÖs÷Þ=b¢cÐÓÓ£bÅ è׃ô×<ùQEE}ÂÜʆÃö¥Ùiþ£¹výº¼ˆã×É…‹—¨V5s*>zŒyõ*Õ(à3 ı)ñ)’â‘Dþ¿á,‚ ÂWW¹reªWOXÌ.3ÍßÊ›àw<¤FÅâdÑQ±ýàE®Ýy‚½yeÑÿó×ìgé†CÊdfh³UæW¤ÿt²€«w’WcOrrÃ8rfÏÜHQARKkú· ‚ðó¨T±•*& ù¯ºwï>ºzº13#>>ž‹QÄÌì?ÓÙü3΂ ‚ ü´¢>E3xÒî>zI\\<…òçå™}Ò]pîg׫½Úx(“ÿ“VL#0AAþ_1cæ,ƒÐÒÒ¢téRÌš9]YLøD‡³ ‚ ? ­âÍ”I_Õ݇/iÚ{¦2YAH4iÂ×_xTA¾…”±Æ…‹èpAᇠâà ‚ ‚ ‚ ü÷‰gAAøJtuØËHfË}oQQ ­ý]]mtuV{ά˜˜bccÑÑÉòŸ9^AAAáŸÓV&‚ ‚ „…Å¢Ò ÆÄä2+C?~$** •ŽJ™%‚ ‚ ‚ üÄD‡³ ‚ ýõ0•ê-ÅŠTfeèM` QŸ>“#Ge– ‚ ‚ ‚ð΂ ‚ htõJ0*Uöö_~¹ððá#>þLÑ"E•Y‚ ‚ ‚ ÂOLÄpA„odìØ±jÏÃÞ†hL=z´ÚóÅŽÐV}¢–GneV†Îž=ÃçÏÑ”/_N™%‚ ‚ ‚ üľ|È’ ‚ ;v,S¦NcöÜyòCJü—2mê´iŒ3F¹ùwwñÒK®]LÙ2ZXYåQf§ëÞ½ûܽ{ccJ”(¡ÌþîêÖoÈÅ‹—”É0Äg3Ÿ­LþOzñò%%J—#..N™Àë×o°±s$*ê“2K#GgWNŸ9«LþjÆŒ›ÀÂEK”ɲ¶í;²vÝeò#£úþþÉçuþ‚Eô0H™üU|íÏJéry Lþ&þIþL¾æybËÖm4oÙZ™,üKªÖ°äîÝ{ÊäT¶l݆‹{-*U­£3Ê"?¥={÷Ñ¡SWer†¾ôúµ¤ünfÔ^et^ý·¥¬ëŒÎ™ß«~Ó²eë6Zµi§LNÓ¿yÞ~\¢ÃYA¾ýlÙÈkhœîC_?»r³ï.::–Ãw ­ÉàÁåÑÒR–H[LL .$&&†õë¡õ%+tèÔ•¥Ë©=-YJë¶(]®"ŽÎ®œ:ušuë7âæáÉçÏŸåmoܼ……µÁ! £ÊSп¥K—V&77mfÊ´éøãèÐá#jùS§n†ø SK ¥WŸ~T­a‰“‹;‹—.#>>^­Œìæ­[Ü»_~nllĈá¾èëë©•û^š4nˆ»»«2ù›PÖ… .,,ŒÃGŽ*“…ÿ }ûü­ŽÃržø»¯ù³;yê-[·¥Ju *T®ÆÅK—•EÒôçÚurgp“æ-¹yë–œwçÎÝT× ó,RÛ>#111Œ;žýûqãê%öîÚ‘j Š/_R±J5&Lœ¬–þ£¹yëÝzô¢º¹å+UÅŽ+V®R“Õ¨Q®]:)“SQž7¾Å9ôÍ›ÀTˤ‡{­:ð…ßÍ󼪉²-Èl]óêW“¨¨(-^BÃÆÍð¨í…«{mê7j‚ßòÄÆÆ*‹ Ë/hÓ®•«™ãTÓíþ;ÔòŸ>}¦öügòÓ‡Ô¨W¯ž2I£;Ôÿè‚ ‚ðÿ(&&–AƒWsýæ#*Ò¤q)e‘4ÅÄÄ0uÚ îܽ‡yêØÛÙ)‹|±!ÞƒèÔ¡½ü\[[›î]»àèìÊèQ#°³³`ÿÌ·€Áƒ‹ï°Œ惱‘Qн%¨éì¤Lú®ÎŸ¿@:ž\¼x‰þýúÈy»÷ìeÊ´é”-[6Å |†$w®\œ;}‚·oCéÚ½'*m;uP€¥Ë–ãRÓ™2‰?Tuttð¬]KY컩P¾¼2é›QÖ… nϾýܺu—šÎʬLÓÖãz¾·¸¸8ÆM˜ÄÖMRufäïž'þÉkþÌŽ?ÁŸaŒ1 7W²f͚餇aÉR?–/[‚™YaÖ®Û@ç®Ý9|`9rä 8$„òå˱uSò Tß¿ n~¿ÿOŸ>akk@Μ9•E=f%Šÿx³¶Rºxñ:w¥c‡vŒ惑‘=J÷濉±1&ÆÆÊäT”çoq55ÍÇý;7¸uë6-[·åæ5õÊ禮VÚmí¿y^%q €ßò•ôï×mmíTm¦ºNëoó-êW)8$„Ž»Rdz6+W,#w®\¼}Ê‚E‹èЩ +—/C¥R)7ýÏÇoùJ:th'ß¿­ÿ oÌkTgåòe<øë!mÚ¶§d‰”/_ŽÀÀ@ZþÚ†Y3žülÒþvþDvìØ‘îãßò5¦E|© ŽÎ®œ¿pA™,‚ ü{÷î=¡ac_¶n?Î/Es°tI“Œ~£ðîÝ;Ž?A§.ÝØ»oùòåÃÇghšÑ_B[K•J%?ÒÚçä‰X¿a#wîÜeáâ%)bF½º^Êb ˜îî¿sµ½¨aiƒ£3+V­àöí;4kñ+–6vXXÛ1hðHáS±Juµý-ó[A÷ž½åçW¯^£Q“fT7·ÂÓ«~šSëÇOœ„{­:ìÙ·Ÿ‰“§àâ^‹ÇOžÐ¬y+ytVöìÙY»f•+VTÛ666–cÇŽÓ·wOtuu)P ?ƒögë¶íjå–,óS›.»qÓfJ”.Ç£G ×qqqT©n!ûð!œŽ»bam‡#kþøSÞ666–ÉS§cek…µ#FáÓ§„ëš/_ââ^‹S§Ïàê^W÷Úðõ±eë6 ¨1c1·²ÅÒÆŽÕkþÄç.œ]=¨RÝ‚Î]»™ü[$™8y*f¤)8:»²oÿTÓY]Ùºm;uë7¤š¹%­Ú´Kóš+½zH©S—n,Z²T~>hð¬lí‘$ €ë7nRµ†%qqq©¦/Y懃³ Övø™ªeùŠ•8:»bne‹ïð‘ø©rcÓ–­8»zPÚ¶í;òâåKH£.RjШ)®[¯–Ö¨I3V­þƒØØXy•_·E«Ö<þ\­l’.Ýz°Ìo…ZZÅ*Õå©íéÕaZß¿Œ¤uÌ$Ž®ôôªO5sKÚ¶ïÈÛзjÛ&Ù¹k7³fÍf÷ž½8:»2yjÂÀËW®Ð¸Y ªT·ÀÎÑ™…‹–ÈGMnß¾Cm¯zÔ°°NõY:zì8 7ÃÚÖ{'–,ó“ó>~üˆï°˜[ÙbïT“«V£««+ç§ôw¾sC|†1Á"ÚwêB k<<½8’ÆhîŒþÞIuR¾RU,mìØ³w$vbtïÙ›Öò1$â3ŒE‹—оcgªÖ°ÄÕ½6.\dêôXÙÚSÃÒF®ó$iý]_¼|‰£³«œ_ÍÜ’öºL\\­Û¶'((ˆ&Í[àèìÊ›7™þl¥6nÚŒ«{mªT·ÀÓ«¾Úl™¿Sï_ÓÌßg3Üw(^u<ÑÕÕEKKK­+àñcù½9ÕtSk;>L³¦M(^¼Y²d¡]ÛÖ*TˆcÇOBüùÓ½V8wþ<5Ý<¨nnEï¾ýy÷þ=GŽ¥¦›nµnúÚØ9R®búô ¶ýÎ]»‰‰‰ÁÚÊR-ýG3~Òdš5mÌÀþý(\¸0úúúT¬PAîxutvåÒå+´lÝ–²*óúõµ/ïÞ¿§wßþXÛ:PÚ¦-Zñöm¨Æó†òš^»6Äg‹—.£K·T7·ÂÞ©&ë7l”óSJúj«Îy)ÿ®hYô!ümÛw¤†¥MB{vô˜œ—ò¼ºeë6†Å2¿XXÛ1lÄ(y;wí¦A£¦T­a‰W½†\¾rEÞGzÇ•$$ä-S¦M§yËÖäÉ“---m2¼ŽŽŽë7l’ÛØÁC|äÑÊúMëo—^Û”Q>dè0zvïF«-5z,µêÔÅÓ«>£ÇŽcäða˜˜˜°m{êþ²øøx ò¦ß€AÄÇÇgxÞJï|¯#·qÕÌ-iݶƒ|½Jõõ ßá#±°¶ÃÁÙ…+WQÛ«È–-ººº4jÒŒ3çÝ»wj¯÷­½xñ‚Û·ïзwoT*eË”ÆË«Û¶û°`ábš5m¢Üì§£•â¡ ¨G?gt} ; Ȧ€P(T¬/^¾&…½{Ÿá#3ο LúbuëÖU&¥’™2_CLLŒ´{Ï^ùyhh¨tèðµ2)U¶‚ôðÑ#eòqpr‘Î?¯L–$I’öîÛ/…‡‡+“A 9*…½{/:rTŠˆŒTË3fŒ”ÇÐH*^ªlº¼†Æ™*÷#?J•­ U¨\Mªfn)uîÒM R«‹¿«}Ç.ÒÒe˕ɒ”x.;|ä¨ZÚ†›$7OÉÆÞI y«–—’ƒ“‹têô)::Z*S¾’tçî=I’$éíÛ·Ò³gÏ$I’¤–­ÛJ+V­–$I’¢¢¢¤{÷ïK’$I7nÞ”*T®–bo’´tÙr©[^’”¸j5,¥]»÷H’$I’*U­‘æû —jºyH’$IÇOœ”òV‘$I’æÍ_(yõ•Ÿü%/UV LQ×÷îß—ÊU¬"ÅÇÇËi’$IwîÜ•*T®&ÅÄÄH’$I»v—<½êK‹—.“$I’®^½&Õ°´‘âââ$Rus+ùxÏŸ¿ •*[A~ßfý.5iÞRz÷þ½ôñc”ԬůÒÔi3$I’¤ç/^He+T–Ú¶ï(= >~Œú¢úؼe«T¢t9iï¾ý’$IÒþ¥’eÊK]º÷”"""¤ˆˆ©^ÃÆòûÎèoñüÅ ©x©²Rll¬$I’Ô¨isi»ÿ¹¬2ßÁÉEjÖâW),,LŠŽŽ–&Lš"ÕªSW-ÿÔé3’”A=¤´|å*©]ÇÎ’$IRll¬dne+¹×®#]»~C’$IZ¸x‰Ô³w_I’$É{¨¯ôÛ¬ß%)±žjXÚH÷îß—bcc¥íþ;¤â¥ÊJ®]/I’$9zL²°¶•H’$I;wí–J”.'çŸ:}Fªna-ýõ×C)>>^š8yªÔ¨I3)‰².RZóÇŸR“æ-åçŸ<‘Ê”¯$…††J’$IG—¢¢¢¤ØØX©wßþ’ïpIÒPŸ»vOõý­P¹štçÎ]IÊ Óúþ)¥¬³ôŽ90(HªP¹ª´k÷)>>^ºuë¶TÝÜJêÛ b ¦MÿíìuXYÀpaAAìîDé0±Öîìn]ÅîZ;ÖîÀÄÂZsí^A×BT.óýŒÜ¡]ýÖuçÇsŸ‡{bæž3gÎ{ läv IDATæ÷}0fÜñ{XX¸PµFmáÀA_A©T ¯ß¼ì\„Í[¶ªÔKÃÑÙMhÛ¡“ðþý{!))IX¸h‰Ð ‘— T*A„€€@áéÓAH½?K—«(¼y$‚ Ló™!üܦ-ÄÇÇ 'OJ”.—éúÿK£Ç 5ml…'þ)$'' ÇŽû å+U^¿y#æ§õ©Íõ ªT¯%ìܵ[HLL‚‚Þ QQQ‚ Bë¶„)S}„¤¤$áåË—BÚu…³çΫœ? 0PHJJ|fÌÊ”¯$,^ºLHJJžÿõ—P±J5ñÉ¹QcÆ ±±qB\\œÐ¥{Oá—i>‚ B||¼P¢t9áíÛàÔÖä~l¥¿ßÓæ¦í;v IIIBpp°P×ÎQ8îwBZ-Ós¦ÕO»çBĺöNâ5Ê®RfΞ#´ø¹µðúÍ!>>^çÎ_jÚØ ÷îßAÎ_¸ T¨\M”oyí÷¯ILLŒP²LyaÛöBÃÆM'WwaøÈÑBDDʘŒì…¹ó‰‰‰Â›7A‚³›‡Ø¿#FV®^£rÌ>ý¼…eËWBê<[©j ¡ZÍÚ‚­½0~âd•çÙª5j -Zµ"##…ØØX¡WŸ~dmhX˜P¢t9áÝ»÷*é‚ ÑïÞ ŽÎnÂó¿þfÌš#Ló™!-ò]!”(]N¸ÿ4KÄÑÙMðhÐH¸tùŠ#$'' {öîZ·í ‚ ,^²Lð8XHJJ”J¥p÷Þ=±®TnHçüìæµ‘£Ç UkÔnݺ-‚ ü~é²Pº\E!,,\<ž”»÷î å*V‘&«Ü›#GU‘…iã>ýyÓæ³={÷ 5ml…q& ááB\\œx¼&ÍZÁÁÁBrr²°xÉ2¡aã¦âù²kWHh¨à3}¦àÕ¼¥°kÏ^!!!A¬—Õ\Ö×iý7cÖ!))Iøøñ£Ð¥{Oaâä)*ùé× ™]»œæ¦¬æðÇOžˆóÌØñ…é3g Bj›µh%ÖM»WöìÝ'´ëØYA˜0i²Ð³w_q]™“ÜÊNÞK™3w¾Ð²u[!,,\P*•Ââ%Ë{'•ë%퇙³çmÛwÞ¿/$$$S}¦g›ñññ–­Û„†› ³çÌçŸoÍÙsç…z TÒ¶ïØ)tèÔUApu÷֭ߥ~îïð!&F8í6ƒ.6«Ïõ· :P(X&€! ŸªÖIÕk¦êŒ©:äô:e‘ÿ„…ó÷‚Ô-âèq¿ qÿIÒ\Àbb>J³dddddd²F¨^­*S&Mä×åK)œ ×Ìܲtù¯Ô±s?<”ñôô èí[ªV©Œ¡a!iv V––lÙº  ·*T+++Š-Êñã~ܽwmmmÊ”Î]h‘Ógü±°´ QÃKC÷znââ¥KÒ¢½z¢P((Z¤¥K•â¯)÷yv×5ýû¢££¶¶6îõÜT¬á¤|ÉØ033¥m›Ö( LLL¨Y³F¶ç‘bllLS¯&62¢fê<ÿ+enÉMÓðõ=Ì °07GKK‹Å‹°ÿÀAZ4o&Z²:ØÛãìä¨+4/ýþ5 àñ“'ìÙµƒÇ£­­Íø‰“8á"ÉÉÆFCCss3ZÿÜR´˜···cÿƒ½%!!ýréò”É)–Ÿ;vàÌI?n\»Â¶-›¸ÿ“¦LM÷  wÏ,XúõéßÉS*ùÙ1kÖZ·ú™¢EŠH³¾+¢¢¢°°0—f©Ð®mêÖ±AWW7Ãz¡HÑ"ܾs‡3þgJ+ªägGv󀛫 U«VÀ¶n”µÅË¿?ÞÜëÕe¡ƒ½=Ê—Çÿìg+çô¨©©ñËä‰B[ûsläN;`bb‚šš6 0PÌ˪]?~Äͽ>oƒƒÙ¹m ­Z¶@SSS¬—[ztïŠB¡ _¾|ôêÑã~×idvírš›²šÃoÞ¼MÝ:u¸qã&Í›5 *:]Ý”ýe¤ãC¡®Îü…‹|öœeK¡¡‘¡7'¹•¼—²ÿÀAú÷탑‘!êêê ПøøO\º|E,#í‡#GѯoôôôÐÔÔd@ÿ~*ÇÐÒÒ¢CûvìÞ¹?Ÿ>ÅÍ£Áÿ%Fu\\:ùtTÒtòå#66Eçöömp–ž??| ç¯Í³çÏ7~"?ÁÔÄ„Ñ#‡3nâ$®ü~€K—¯à3}&Á!ÁT¬PGîÝ¿Ïâ…óyýæ ήî†F†Œ1׿óNFFFæ¿Æ ÞL™2Eš,tïÚ…öíÛŠß ¨ä§ÇgúLZ¶hΩÓg8á"ŽÙÇVWWg×Îm¬^½–f-[Q«f &އ©© S§LbûŽ >’ô;f4µjª†oH#YøìVB@@ uìÄ´øøOĤ†Hãõë×tïÙ‡wïߥÈðú ¥@=öìÙÇÆõk177S©#eá¼9Lœ2'×z˜›™ãéQ/Se¬ššvuëråÊ5©R¹n®.Œ›0‰¨¨(®\½**BÌÌTÏ«¡¡Irêƒ}hh£ÇŽGC#ŵU©Læ§Ÿ~R)_²DŠ„<ôG†… ÅÿÕÕÕÑÐÐÀÐðsš†¦F¶é¯Å—`n|éèè §§GHh¨Š2—\ö@É’%(P@ŸÛwîrêô\©]»S§ù0 ?nܼÉtUÅ@XX•%aTÌÌL³ÍO2$$”S§Ïpèða1MGG‡èwï011Ó2Ã@_7Wøb w|fü¸1ª8Z¾|÷>A *:SÓÏ¿+'Ò‡ È®órÿ¥‘]›CCð0WU˜™šŠáYr"""SSÕ~³´´$<"㦤ièëë‹ÿkii¡¯¯OpH%K–àð‘£ìÞ³7ÅuZMˆˆHq솅…cžNad\¸0Šâgæõž3H÷ÛHí‹ÐP•4r¸Þaáᙎ¥4%©Gƒ”‰ ‰8¤›Ó?üôÓOäÏŸ_åGCC“¤ÄDÈẦ)EÒAM ³™#¾dlÚª©‘ý\$%ýýKjýdeÊ5Ï®Òó†GD`bb¬’Aåʪs‚¥¥aaŸÇh^úýk"jjjŒ5BÜ­wÏ4òjŠ „††…­ƒ“X')II…ò){4mÒ˜·AAtîÚØ¸8Ô÷ RÅŠ˜¥^w…B‘QŠœ(^¬ÆÆ{à ñXHƈ±‰1ñññ|øð!ÓXÍé¹ví:·îÜaê/)Êñï™´—‚áá*²LJÉÔ—™Ñ´Ic ôõYµf-Ó¦ÏÀ»__Ú´n%-–)ÙÍkH®iã-÷PVHãò&8“—5EŠX‹JÒô˜¥»Ï444TÂÝdÕ.]]]Žñeó–m4òjF}Úµkƒ¥……X77¤ÿý&ÆÆDFFfÙ/™];é‘~nÊn‰‰çP sþüóOÊ•-ƒŸß ââã#G‰qÍ=zÌǨV­ªÊš''¹•¼—)ÞÛ¤®a--,ˆˆøKÚ¡¡a*óbÁ‚3ÈÍ/^²}çNNŸöÇÓÃéÓ~Ét,|mtuó§’‹¾~Ê=ª®®Î ˆW-ó£ðí{øorõÚuiR¦ØÔ®%Mú&ô0;;6ÿ¶wïÞÓ§¿·˜Ißþ˜;{&žîüùô):uŶnÊ›£ô4i܈ǟÅÌéÓ¤Ù,X¸˜€gÏ8éwmm¦ÏœEll¬˜¿dÙrnÞº…ß±#ü¤ù]»÷dÉÒåŒ9œM›¶pñ¼?jjjÇ^¸x v¶uUʤaggËþyùêžîhiiQǦ6'OæÆÍ[Ì3K,›713ŒŒŒ˜7gV¦k›4ÒÇÎm¤!µ¦ÉŽœ®…”Ü;}ý˜˜¢££)T(ãõÈM?¤aogË•«Wñ÷?ËÚÕ+)V¬(oƒC8rôf¦f™®— e°nL³^024Ì)þol\˜®]:1t°ªÒ%œú¢e‹æÌ˜9g'GbccÅ—7£ÆŒÃÜÌŒm›CKK‹í;vqèÈiuHiˆïÞ§lÊ•Fv}˜Õý—¦¬ÊŒìÚ|çÎÝ ý•¾?¥HûÇÒÊ’cÇýTÒ‚‚‚²U,¤WàÆÅÅóîÝ; âÖ­ÛŒ›0‰Û¶P®\YêÚ9ŠeŒŒ 7æzÿþƒŠò#3òzÏIï“—¯^Q3¥kv×Û°a¦ñ» §(Î9•eìiiÿfGv×5-α4¾y™çKÆ9lL–žÌÎIê|•ÙµQJ¡Byõêu† ?---yýúµJÚ›7A/žbùI6¿í[canŽšš‘QQXè¤Xú%&&¢©©‰šš/VŒ#‡2îAFß>½éÛ'e/‚èèhœ\Ý™=ÓGZ u55ttò©¤¥Üÿ) ùÐPtt´sT6ó;A@@ å*¦Xæ¦qÀ÷\ÍÜSçŸÂа%JÇ÷ða† ,ÍQËâ~IÃÉÑ'Ç£¹î=ûP¤ˆ5ull²?9ÍkêêY×ÿ;H_–‡„P½z5•´4²º³ê“œÚeiaÁØÑ#2hûö gï¾XYZ²ò×eÙöWzBCCEïºàà`ôôô²T„fö;³j9Ìᦦ&\Jµ¬?v S¦NcÓ–­têÐ3s3Z¶jƒ-Íšz‰Ç+l\˜۶кM{V¯]GŸ^=!r+;y/ÅÒÒ‚W¯_‹ý ð&(‹tòVÚiçOóXIþ¸¸xúDhh(;uàÐÁ}*ÖíßšÒ¥JñúÍâââE9óäϧ-šâ1QÄÚšððpòçÏþyåßJÖ£ó;Á¦v­\}þ>{F`à3€¦¦&FF†tíÜIÌ?í–R¥Jâéᩃ+ÍíKø;® 9¹Ã‡Ð½Wo¦M™”íæ¹qÏÊ‹[žŒŒŒŒŒÌ×æÃ‡Lœ<Ÿ©¿ ­­§‡;åË•cÖœì7@JLLäæ­[(•J´´´(S¦Œ¸YË›7‰GMMJ+¢T*ùô)s s’’’¸sç.¤*­Îø–yõÜÜxú4€={÷“””„R©äÑ£ÇÄÅen¹H©’%ILLäǘ\+›IÝ´…T§={÷³k×ú÷ë#-©.É÷î?àêµë¢—’›« ë6l¤h‘"vMÏŠ–-š±pñQÑÍ“?ÿ”Ékä…œ®…”B òàá#H×wRvîÚMTTJ¥’y Q´HÊ–ÉèrŸ—~°·³åØ1?455)Y² …'GV¬ZƒCÆpîì?pÀgÏ'OñøÉçãׯïÉþE÷÷3þgUò[4oÆö»¸uë6‚ /ö¹è {;b>~dù¯+iÖÔK´ ¥b… hiiÏá#G¥UE¬­­ùãâñ÷ìÙ«’Ÿ]fuÿeGvmvrtàϧO9yê4‚ È‘£Ç¤‡)XЀ?Ÿ>%))‰ääd\ˆˆˆàà¡ Ô·oƒÙ´e+-[4—VÙºu;áá(•J–ÿºKK Ê”)-z2”*U€sç/þÙ ÕÓ£«Ö¬åýû$&&²|EÊ¢¹%7÷ÜÙsçyôø ¤†gyú47çtGI!»ëíêâÌ_/^rðÐa’““‰ŽŽæõ›7-R„Ê•*1}æ,bbb×oÞôV娹%»ëš?ýôººº<|˜ŠI„/[y!³sæD^ÚØ°A}Ö¬]/Ž­´ëتe >*~¿þÇ .\ü=ËÍssâÊÕ«Lœ<Aøôé£ÇŽ7–ݵ{«Ö¬•VÉ---šz5aâ¤)|øð?²ì׸º¤xÄÚÖ­C\|+W­ÇÌË—¯øóéSñi/«ŸÑ§ßš5õÂÒÒ¿' |F\\?aáâ%žÁ×®Û@tt4qqñ¬\½O”ÐM91yâxž<?=ºw£kçNß²9Q#†³fízV®^Chh(qqñüõâ…+'=~"¾Œ+Z¤úúb¸ÍìäFNóÚ·äôî?x€ œñ?˃qK[—ܶKGG‡íÛqì°/;´‡<Ì+V­áÓ§O|øðUkÖR?U—ô5ÈnwrtäüÅß §D‰âlþm{wí YS/úöîž=»>tˆÊ ½‚ ¢_ K/à׫ÄÍs’[ÙÉûààFŒÃÛ·)/B[ýÜ’5ëÖIrr26þFþüºÔ¬Q]å˜éiàéÁê5눉‰A©T²rÕj•üž=ºqäÐÚ´nõU6“j^»VM–-ÿ¥RÉŸOŸâë{ˆf©ž…íÚ¶fá¢%Òj? ß½Âù{"22ŠzzäÏŸ_LKĥ!·p™‘[ׄ´¸–>3fÿ RÝa¦O›Ê†ß6áRσ»v‹õfÏÏû÷Ð7Pu©“‘‰ ¡áé&ÚܺåÉÈÈÈü׈%*"<ÛO\ÜgÏ™Üѹkw‚CB˜ê3ƒ‹¿_bƬ9ØÛÚª¼@2i"¾‡ŽpåêU•ºéQ*•Ì·›ºö88»rà /Ó¦¤¸Í>r G—zØ:83hÈ0|¦þ‚úúLž81ã'ФY  F‹Ô¸w¤Zmܰ–½û÷S½VjÕ±eêô|JHHwæÏ¼yýKK Ÿ=cæ–ƒ¾‡¨icK]{'Žûù±~Ýš ®•i.Œ¹™††…Ä2ÎÎN<{ö{ûÏî’91xàêØÔ¦M»ŽTªZƒ¦ÍæŸws—’×þÈ 9] )}z÷Äßÿ,5ml9t8s«\7WW:uéNÚu¹wÿ>¿._’©•R^úÁÞΖ?Ÿ>Åýž˜ææêB`à3ìí2W8{z¸Ó¥sGºtë­çÎ_ Eófb¾{=7ºtéD§.Ýptqãü…‹*ãßÞΖñcG3vÂD*W«‰£K=v¤[ æÔ …‚æM½8uú -[~VªNœ0Žß6oÆ«yKúôëŸA©“žÞ½z”¤¤Ac/š·lÍûTB“dׇYÝÙ‘]›MLLXºxó.¢Fí:Lõ™N·n]¤‡iÖ´)šØÔµç—©>èéé±~íjvìØIM[ÚwêÂÏ-ZðsËÒª¨+ 4€ºP­¦ W®]cÅò¥¨««ãê⌽-îõѺm._¹‚“ãçðÇÁÒÂWwO\Ý=±´0W‰ß¹¹ç6¬Ï¬Ùs¨Y».ó.báü¹¢…]z²»Þ¦¦&¬üuë7l¤rµšx6l,ÆØÿuÙ>|ˆÁÑŪ5jÓ§¯7oƒ¿LáœÝuÍ #‡e¤)ÔµsäåËW_4¶òŠôœ9‘—6Ž>œreËР±Uk¤„ç¨V­*S&M`ȰáÔ¬]—©>ÓY´`žã9¯¼yÄ•+×HNN&99™‹¿_Ãs<ùóOîß ­’-“'ŽÇÌÌ Ïq©ç‰††'Œ@[[›MÖñàá#Ü=RµFm¼ &4äóód—n=)_©*=z÷Ŷn&Ž+æ…„„Ò£WjÔ®K¿þ¨ccÃè‘ÃÅ|55èÖµ3Ínƒ£šššLH ô£áæêÂê•Ë9á" S½– ]ºöàñ“”9ñèÑ#¼š·ÄÆÖžæ-[ãì䈋sJ¨“ìäFNóÚ·dÔˆáÌž3*Õk1}æ,Ì›ƒµuÆùìKÈk»ÔÔÔprtu69Í*”§B…ò¸ÔóÄÞÉ•‚ 2vÌhi±/&»9¼@=F B·î½øýÒeÑ"822’}ûœyX€2¥K3fÔHNTTTŽr+;yÿ1ö#.^äãÇ”½ztÇ®n]šµlE;GÎ]¸ÈÚÕ+³ Á0lè`,,Ìqu¯OƒF^X[[‰Šeí,½ÿþ_Ì3‹GS½VºõèÍÁ©R¥2¤Æ£N¿ÏÛFÚ :ýJZMòQO÷Q¤ûh?¥îN¨•úѾ~ãö¥’%r~`2ÐWµ“W¯]ÿÛÖË^^^øú~¶ÆMŸžžÌÊHyñâ%îõrûÆ5òåKqÓ9|ä(>3frå÷ ìÚ½‡»÷°w×±ŽÏô™„…‡gˆá¬P(˜7!‘‘Y†Ô°sta†ÏTqR{ÿþÕkÙàwì0%ŠÇÖÁ9W® iî0K/ Ž N.õ>lŸ>}bñÒe>¸(_©*Ïù‹Jæq&¡££ÍÄñ) €ƒ‡R¼x1†Ĩ1ãP&%1Þ1ß«yKZ4o¦bý-###ó#rÚÿ,5ªWçÆÍ›Ô±©nªlHC—yɲå³9=Òr222ÿœ\ê1s†OŽëªï•–­ÛÒ¹c•xÜ22RF‡™™i®Â7ÈÈÈÈÈüØÜ¹{Í[¶òàáCÑÖÖ¦J•ÊŒ6DŒ þo#..žÊÕjpáì™ Æ“ß+W¯]ævmiòß"æãG®]ÿƒêÕ21#% ð9µjT­ÄŸ€ HJ÷IN÷$Ÿ4Äÿ3ó£]»vÒ¤L±¶¶¢LéR,\¼”Ñ#‡ÇîtîÎÎNL›>ƒ3güquuáÅ‹—9zŒÚY(Í 4àòÕ«$%%¡®®Žºº:“¦üB}OOlëÖ]ªU­ŠŽŽv–® ÖÖVXZXMHhJìš”M )X°`wclj׿ò•«Œ5†5«V¨¸}˜šš ­Z¶ Oÿüܲ%åÊ–ݳ† (+Í-¯\Ù2ÙºåÉÈÈÈü×*’·lß•iºŒŒÌ÷AV.¯ßaáá¼zõŠJ+¢¡¡ÁÉS§yôèq¦qxed¤ü[ƹŒŒŒŒÌ·¥JåJTI·Ç¿‘G£¥­EÑ"EHNNfɲe-Rä_£lþ‘ùÏ+œÛµk—k…³ššK/düÄÉÔªc‡‰‰1mZ·ãÏ.Ìò¥K˜9{ã&N¢|¹r4nÔа0é¡ Õ]ïä©ÓØÔµ§q£†Lž4+W®Q¹RŠyýð¡CøeÚt\Ý=ÑÑѦwÏ\`mÚuäýû÷*XÞ½{¦(œ=¢wß~$$$ —_g'Ñ&=>S§àÕ¬¥ô=ÍíC˜8™Û¶¨¸gE„G`fn–Á=+Í-ïÁƒ‡Ð/¥[žŒŒŒŒŒŒŒŒÌßçS|<3gÏ%00¥2SSÌ›“é„22222222?*Á!!Ìš3—ààÔÔÔ(W®,Ë–.’“ùøO„ÔÈŠ¼(›³â70h0W~¿ Í`î¼DFEe6ãߎì–'##ó_&§RJ–)@À“”8—2222222222222ÿ]äÿRr›ùkræŒ?uêØ/_>Ùà cÇŒ’û¡ÝòddXÄ=÷ IDATdddddddddddddddddø/(œÿßìÞ»Ñã&@þüùiÓº5”“‘‘‘‘ùùôé“4)Sr[NFFFFFFFFFFFFFæß†¬pþ›Ô¬Q]%œÆŠåKUòtæÌš!M’‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ù¢.M‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ùd…³ŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒÌWA©!#####óðññQùžiú„ T¾ËÈÈÈÈÈÈÈÈÈÈÈÈÈü[‘-œeddddd¾>>>Ì›¿€å+VŠ!õ/}Úü 2( eþ{¸{6äò•«Œ›0‰%Ë–K‹È|âââñ8˜:vŽ4oÙZšýÝóOŽ•–­ÚpãÆMiòßæMP*WC©TJ³D¾Õ¹³ãÀA_:vî¹ü™qóÖm]ÜÄïÿD;ddþ«Ü»ÿ€6í:bc뀭ƒ3W¯]—ùOrÜï½ûzK“s$88gWwâââ¥Yß”ôófN2ÐgÆ,V¯Y'MþÇHß×9É‘ªed¾&²…³ŒŒŒŒŒÌ7B'_> –&«fõ,“‘Þ}½ùýÒ%öìÜN¹reUòúbÜ„ItíÒ™‘ǪäÉüóÜðMMMÊ”.-ÍR¡žgìÝMbb"½úögÏÎíbž ¬^³Žå+Vrìˆ/ææÄÄÄðëÊÕø8Á»wï(bmÍØÑ£¨Y³Ïž?§IÓéÎ𙫗.?~•´ƒ¾¾„……sáìi’““Uòþ_ü~é /% |ùòQªTIfLû iÑ/âÕ«×,]þ+W®^åÇÌLMiÔ¨½{ö@SSSZ}úıã~lß¶¾Ò¹Ÿ=ΚµëþQ…ó×h‡ŒÌ¿AC†áäèÀ¢ùs aÀ ¡ä×ËO¯Ýˆˆˆ`éâ…89:H«ò4 €)¿LcËo(W®,‡¥¯÷@.œ=“'e\XX8íÚ¶A¡Pˆr%))‰Ø¸8æÍ™EÉ%¸rõ*C† zõj˜›™IñÝsãÆMz÷ó¦K玌5CCCŸ=CMMMZT¤°‘…Œ¤ÉÊu ê{zH‹ý-LLŒEþðá#:wëÁW/©”‘ΛÙÉÀ åËK“¾)QQQlüm3¼û¡®®ÎŒYsعm‹¸þȬ¯³º6ߢ¥„GDЧŸ7õ==X½êWô  22ŠUkÖлoÖ¬Z‘a&“{âââxòçSføL¥l™2<|øˆ®=zQ©bE*Uª(-þÑõÝ)#######óãáîÎÑcÇùô铘öìùsBBB©R¥’JÙ;wîÒ¶}GlíhÖ¢•¢‚Ô7oݦs·T­Q›ààâââ™8ùì\©çÙ€M›·Ð´ÅÏ<{þRDçÎ_ˆ£‹öN®L™êC||æ®îž 9è{ˆ–­ÚP×Þ‘.Ý{ŠÇ¨icËýÄï÷< Ž]Þ•M™µ#<"‚ƒ‡bçàŒ›G}6mÙªRgåª58º¸akïÄ´é3™üË4vîÚ©ý R)ßÀ •cì;pφM°sp¦G¯>¼ ‚TeéÐá#qr©‡ƒ3í;u!22ŠÙsçsúŒ?3gÏÅݳ!'NžJwtxñò%½šÓ¹kw^¿~Mc¯æLùeÇOœ¤±WsÞ¿ÿ€¶– <=˜7gVwÓ2¥K3zÔ,ÌÍQWW§Q£†¼{ÿžˆÈHHµŒKû¨©©±aã&ztëªr €ÅK—qàÀA9†»gC.\ü}™4e*6nÂÞÉ•IS¦pëömÚvè„­®îž¬^³A 5Ô˜±ã™ê3;Gœ]Ùºm‡Žųallèç=>H~AÊÃé§OŸhܨ!ºººâá^O´(ê?`6nR©SÓÆ–ÇŸˆßßxO^}°up¦I³œ=w^Ì[µfU*WbܘÑXZZ’?~ªU­Êòe‹¹rõšèR>nÂ$V®ZC¯¾ý±K;Nªµá‘£ÇXºt9ÇýNàîÙ¹óB&a`Ö¬]G¯>ý¨cçHÃÆMùãÌ_¸(eì98‹õH½·F»gCì]èÔ¥¯_¿ó¥œ8uš’%KPÄÚ29÷Úõè?`¶öN¸yÔg÷ž½bÝCGŽÒ¤i lœqu÷dÓ–­â=p0oÞáîÙP •ñâåKzõíK=Oì\5f‰‰‰â±òÊË—¯èÞ³·8'ݺ}[%_ÚŽ}û0vüDjÚØrèÈQ•²22ÿVÞ¾ &0ðýûöASSKKKF ÊÁƒ‡Ä2aáᘛ›«ÌßiÄÅÆ‘/ŸeË–Àζ. (•IzÀ{à`œ]Ý©kïH×î½øëÅ ñ¸Mš¶ÀÞÉ•çýňQc¨VÓF m£¡¡ÁA¨T±::Ú¸8;‘_W— 7)ràù_‰s›GýFæäsæÒ²E3 ðÆÒÒ*V¨ *^3[C¤”¹. qîüڴ눓K=œÝS9犕˗²xÉ2Q‘Í<ýwÉNJ‘Ê÷46ü¶‰eKrùâ9ê¹¹2uÚ 1/»v……‡3{Î<úz xñâØ·›n];£¡¡ÁšU+ؾe3'ýŽfèkRÂ/_½âøÑCœ<~„ˆÈH,Z,-&’Ùµ;|ôÅ‹ÃÿÔ ìÝ…¿ÿ9NŸñ‡díŸOŸòáÃ{<=Ü™·`!ÆÆÆøîßˬ>½ QÃ\M·NÈŽÙóæS¿¾Ξá”ßQºwOyÑŸ×õy¡B3•ÛY‘ݵ8dF††œ=}’S~G‰ˆˆ_4¤‘YŸ~K"#£xñò%•+6š™3o¾J™ Yá,#####ó¡<¸q“¥cÇáÓ¡#QoS}ÿUÔ€æM½Ø·ï‰‰‰>r„Í›Š¦þgÏanaNƒú)±ÿÜ\](T¨ ¿_¾,–iÝêglj×BWW555Ž÷£w¯žèéé¡©©I¿>½Å²¤ZÃôêÑýÐÑѦm›Vœ<õCfÛ6­Ð××GSS“Aúóüù_üõWŠ•Õ×$};^¿~Ãí;wèÝ…B¥¥%n®.âÃð©ÓgðjÒ„’%K P(ðjÒX´Í úÒÔ« %JGMM.:r÷Þ}BCC±²¶âÎÝ»œ=wA¨X¡‚´z¶pt°G[[…B½½¯ÓY¦çÍ›7Ot-”ž/•ëGgßþ|üø!Õ’3Yø¼žÈjžþ»d'¥Hå{¦éÖ”*ÞiYµKWW—ƒû÷°mûNšÿÜzõhÝúgqƒãÜR Œ0.\˜¨¨¨,û%³k']k¦ûýÙÉÚ˜˜Q±lnnF@@eË”æäÉSÄÅÇ!ÇŽûQ7“õUé׋“&Œc×î=Œ3Žô9b85ªWËóú<¯r;«kEþüùUöï°´° 99™èèw¢lάO¿J¥’£Æ`dd„w¿¾ºŽ5wkW­ <"BZå‡ ãÝ&######óQ@_[jÛÛ³yìxïÝË~ïtܶ¾ñ›÷ï•4ë¥}rçÎ]:´o'-‚qáÂT¬PžÍ¿¥¸Æg†šÄÖÐÐÐÐ0Ñ ãýû*†††ÌšáC› œ ùû-&&†wï>[—* „tJæôeóJúv6B¡PpòøQå^Æ… ªz®ÐÐÏJD…B=CØÏjÆÆ…©^½=½û«”IÃÁÞ{;î?x@Ÿ~°¶¶¢v­ZÙZ‰Œ1Œ.:â=h0{vnç¸ß ®_ÿƒ‰ÆI‹fÉÛ·ÁôîÛŸîݺҼYæîë׭§K§™>\f‡t" K‹ q¨ß¾}«òP™]{s‹B¡ IãF÷;Áµë×±©] uuu”ÉŸ¯Ï»÷ï3Äú“>X‡„PµjÊK†òåÊqúŒ…Att47nÞ¢[×.bštL¾zýšêÕ«A.Û—›2iŒ›0 3SS~[¿---víÞË‘cǤÅHNNæÀA_ÌMqÏ õÔXŸ™a ¯Ï°¡ƒñîß—9sç3rÌX6mX—a:MHH WŸ~Œ9œæÍ𢦦ÆÈÑcU å#CC>ÄÄ'*˳Rþ§‘];ddþÍ/^Œ5+¿/\´„ºu²Vd©««£›ª ;}Æg'Ч*†š5õbמ½œ¿p‘Íš2múL غi#ZZZ<|øïA¹{q™FÚfnE‹áüù øŸ;OÍš5077§XÑ¢ìßû9„Ò÷J¡B)^¼GŽcÐoi¶ˆt-$åKäú;w™üË46o\/ÆÚvrQ »ñ­æ·ìd ©|O#«>É©]ææŒ>”ýûrÐ÷ý¼biaÁÒÅ ³í¯ô„……‰¼!!!èéée¹nÉìwfÕ&rµ&&Æ\I¥222222ßšštž9+rñwžîO )ñ_¥y3/vîÜMà³ç™îbïêâB`à3öð%)) ¥RÉãÇOˆ‹‹“ñt¯Çºõ‰‰‰A©T²vÝz•üæÍ¼X²l¹¸IÞ»wïøóéS•2éÙ³wÑÑÑ(•J-YFkkÊ”NQf[YYrõzÊmJ¥’Ã_iC°"ÖÖT¬PÙsçƒ ¼ ã º¹¹rà ¯èš|öì9•°VVV<~üDt/¼wハ+iS¯&ìܵ‡;wî"ñññÜKÃûøÉŸDGGCêï0Ð×'&æ#… äá£Ç ±€I#00©Öœ”*URZ$K^¾|E×½èѽ+žõˆ%66Ves·kׯóüùsZýÜR¥î—àìè@DD„¸‰[pp[·ï y³¦Ò¢yæ¯/¸zí:QQQÄÅÅsùÊUnß¾#nðdeeÅÍ›·Ä>ÜŸÉÄ{àjT¯¦bE}þÂEÑ­óØq?qI}m` ÏÓ€’’’2½žy%,4Œ åË£¥¥E\\Ž5k׉2öÕ«×< ê»`ØÁ¬ßðkÖ­',,Œ¸¸x^¼|ÉË—ŸãegÇ—ÊõÐPôôòS²dÊ5¹pñ÷ÿ›Åfv2ðï’ÛvéèèжMkîÛC»¶)^1?ýôººº°výÜÝ\¥E¾˜ìd­ƒ½=/]&<"‚âÅ‹±~íjvlÝL“ÆèÕ#Ń`ðÀ¢r4§õâ­Û·‰GMM åË£T*IHø”çõyvrûÚõëü2Í'˾L±±1v¶¶,[¾‚„„âââX±j5 ê{fúdë¶¢Œ~öì9cÇOäýû”¶Îš=W%®|^ˆ‹‹Ç{à`ŒŒŒ3jñññÄÆÆOû¶m8éw”}{¾ÿZ_Jæ¯N~0|}?ÇØËŒÿ—ÂùíÛ`Z¶jÃé“~èè|Ž$####ócKŸÝî3#..Vš$¢ÐÔ¤ñ”)òjÊã… )Õ¼ÙÖʹBùò˜ššààà ö"B… ²zկ̙·€³f£¡¡ T©R,Y´ KWüA½™>s6õya ¯O—ÎUbú¥¹¼uìÜ>PÐÀ€=º‰ÑRœœèÞ³o‚‚(V¬(‹Í-\ÆÍÌYs9zô8ZÚZ4õjµTôßeɢ̞;÷ú Q*“±07gÒÄq˜™™â^Ï¿þú‹ž}úñéÓ'Ô÷¤VÍb]'G\]iß± :::)bMÃÔ8{¶uë0fÔ&Nù…  ·hkkãâìD¥Jyòä Þ‘€^~=œÄ—={tcÂÄ)8è˸1£2„µ|þœ’©¡FžP·ŽJ~v¬]¿×¯_3~âdÆOœ,¦÷ìÞ¡CRvP_½fmZµBWW7]Í/COOU+–3cÖlfΚƒžžmZýüUÎ111Ìš=——¯^‘””„µ•zãêâ @î]7~M[üL>|ØÛÛfÑ2lÈ`æ/XĽû022döÌéb~ÄÄÄ„† êÓ·wO ,OOwæÍ_À£GÑ+ ÇœY3D«+¯&M8}ÆGg7Ô>Þý| IDAT÷Ì“5zfŒ3 Ÿ3Ù½w/ú Р¾'GgT:ïÝ·ÿoõ³R©dÁÂÅ>C[GSS&O©Ößž4iÖ3SöîÞɨÃèÛ … ÄÜÌŒͲި0'ÔÔÔ˜?oS~ñÁÁÙczõìÎì¹ó¤Eed~x._¹Ê !ÃÐÔÔ¤JåJ¬^¹ Hµ0ܶ}‡8Ÿ—)SšU+–až‚¦YS/^½~M›öùø1ãÂ…™0n •+U„Ô `™æÃª5ë°¶²¢gnâ¥9‘””Äšµxôø1Ÿ>}ÂÂÜœÞ=»Ó$Ufikk³nõJæ/\L£&͈‹ÇÊÊ’áCSªdî_”þ¿pqvbùÒE¬^»žµë6ðéÓ' 1jäp¬­­¤Å3¹^­ZU±ž³“#ç/\ ‘WsŒ ©V­Š¸ï·&;øwÉk»ÔÔÔTò‡È”©>¿LËÔ·|ùr”/_φMˆÅÁÞŽ‘#†K‹}1ÙÉÚô:x ½ûôgäˆaÔ®U…BATTç/\¤ŽJ‹œÖ‹Gù1pð04440Ð×gʤ‰bh—¼¬Ï³“ÛAAo¹ví’““3}2gÖt¦ÏœM=Ϩ«+pt°ÏrããÇ#¢ÈŽ~÷ŽK—.‹† ×oÜÀÊ*çû'3N9#îͱ;ÝæÑ•*UdÇÖÍb¼þÂý"¾wÒV™éŸ^Õ$õtEºð  h¥~´¯ß¸}©d‰œã è«ÆÚÉŒ«×RÜ ÿ^^^¹R8çTæk””ĉ“§hØ >¤ºÕݼu;ÓÝÃedddd¾NûŸ¥Fõêܸy“:6µÑ,~|||T¾/_±Ò)2ÓH‹ßœ~ òéæM}b`“{ÅœLÞˆ‹‹§V[NŸ8že¬¸¬p÷lÈ´©Sr~㟤G¯>x¸»Ó¦õÏÒ,™ÿ(ã&LÂÌÌ4ËÐ)2222222?wïÝgÛö‡ó—v÷Þ=7iF¹ ñôªÉ¡C‡©lÿ>—ä©?Nã]³6*ÚÒ¢ek-^J^±E<~ò„ÂÅbóÙlß±“iÓ¦³s×nœ]Ý?q²ÞO‰Å !?SÉÎ'×j,]¶¯š>J®œèèhÆOœLe{G*Ù90t؃‰dæ/\„»§7¶Uð¨^à «Ûw줎o¬ll©éS—sçÏаqS–._¡´hи K–.3(“$I’¾ órå1ÓE#NžTWIŸÁ? €î={SÙÞ {'Wþ¾ôÓ¦&¼K’$%eìè‘l\¿.ÁKv6K’$I’ô_öÝp>s6eù ?7õFJuîÚG{{V._Ê‹/éÐùý °!!!tìÜ•ÉÇãéáÎÍ[·hÚ¼%UìÎÀ[«f ®_¿AHh(ãÇŽVW0}æLîß¿ÏÁ}»I›6-&MæÖ­÷̘5›ó.°w÷NR§JMËÖm™1s6ýûÅvpW°²¢¾¯/ææf¬X¹šá#GsøÀ^eý…‹—°pÞ²fÍÊÌYs6|;·o¡‰_#,\L«ŸZðèÑ#þùç2ófÏRÖ•$I’¾ÓB1×éH}Jú ú¹ ?×þ½_fÀoañÂùê"é?nܘQê"I’$I’$IúdßýgÛJSôúîܽË;wéѽ+©R¥Âœ–-š+õ¡H‘Âxz¸P´Hjx{émáãìܵ›N;!CR¥JE×Î ê7mÞBÇöíÈ”1#&&iiâ׈½û÷+õm¬177ÀÕÅ)A"òæÍš’-[64 5¼½¸}ç^Õ=  äïKÿ°eÛv\]œ•mI’$Iß–6K²FG“% v†vI’$I’$I’$Iú^}÷#œ¿'!!¡dÌôéÓ+eÙ³gWþHölÙ”e€¬––„††”¥T@@ AÉ,Y²ÌÆÈ€AC06Ž-ÓébH:uÜÿuÌ›¿cÇOýŽwÑÑ róåÐÛWccct:iÒ¤Á·nÖoØH¹²eضmƒôÓ[S’$IJLš4iÔE‰Ji;Eš4‘±ÿ—$I’$I’$I’¤ïÔ¶ÃÙÇÇG]ôAY--yNDDéÒ¥Àßß_©·°0ç¹Þ2qi6’¢ÑhÔE,,,ð÷ XÑ¢¼|ùJéޝŸ2iB¢);.ZÌÞýûYºh!ææfܽwê5 ÚhŒ’àî׸!õ4¦¾o]ÂÃÃqvvR7‘$I’$I’$I’$I’$I2t㈟ŸŸº(Qyóæ¡XÑ"L›>“èèh^½zÅú •zgn޼ɡC‡xðà!;wíÖÛ‚¡,Y2sóÖ-¢££‰‰‰`؈‘œúã4^ž,X¸˜ððð¸Ë Ö¯ç[‡iÓgðøÉ¸qó&þÈŸss3„lÚ´Å`Ý)??%J”`Ìø Ô©ãc0²Z’$I’$I’$I’$I’$)1ÿùg??¿w8k4fLŸÆ•«W©XÙž›àââ¬Ôgµ´döÌLž:ÊöŽŒ=†š5¼ ¶¡¯NíÚ¤26ÆÖΑ£ÆÃéÓgyúô½{õ W®œTu¯ŽW òæÍCÚ´i•õ{tëJeÛJ4òkF™òÖÔ®[Ÿ¿Î ]›ÖáéU“ÆMš“/>2fÌ ¬›Müqñâßԯ竮’$I’$I’$I’$I’$IJà?‘R#©ôÓÙ¯@þü¬Y¹\YŽïàçä耓£ƒ²¶³9%:LDD·oßaó–­‰æXN‰k×®s÷Þ=bbbˆŽŽfƬYäÏ—ìÙ '&ü™3oíÛ¶QWI’$IßHDDU+T ‡»;ç€s@/ÜmlˆŒŒT7—¾±ÙsæÑ£Wu1µj×åÏ?ÿRU7m¦‘_3eÙÙÕ“§þ0h“R#Faî<ÃT^ÿ%{öîÃÁÙ늕ٺ}‡ºZúDÉ}f’óÿø'VRÇ]j)݇¯­ÿÀÁLýuººX’¾º¾Ãù[[¿qÎUÝ)W¡"?µnK£† ’M«‘œçþþtêÒ +l«pñïKÌšù«ºÙç×´9ž^5©ç[w·jêjI’$鈈ˆÀ«ti~¾p¡¡ÌæÇBBpþ<^¥JõåóïÙ˜±ãqpv5˜8÷{׫gŠ+¦.þh{öî#<<\]üŭ߸É`¹~½ºxx¸”})ßꘒ£>^µá#GñóÁüuö¼«{ª«?ÚÅ‹S¸XI:tꢮB«›'…‹•T-|ŽÕk£Víº”)_›Jv´i׿ÿ¾dÐæø‰øÔ­G‰Òå°±­B“æ?ñøñcƒ6ßZ«6íY´x©º¾àçI’¤ÿ!{öO]jÕ®«®þl÷îß§[^T¬lO©²Võ…iLL +V®Æ»fmÊ”¯@¹  âºP¸XIåU¬dƒõ¿'­Ú´7Ø×ÂÅJ2oÁBu³ojÞ‚…)^Šb%ËP¼TY]ª2tØ•6–– 2“÷éC“ó¡{8€5íÛýÏ©÷áŸË—¹~ã†A›ïÝ—ŒÙ„lݾƒæ?µÂ£z <ª× zZŒ;ŽààuóBLL «V¯Á«¦eÊ[ãäZ•«V+õÇOœÀ¯Y ƒu~$ÿ‰”_“uNŸ<®,Ï=Ó þs¸º8㪗#ú[Y»z¥ºH’$IúÆj:80âþ}\Õ€›ˆû÷ñqtdߟª«(oÞ¼aûÎäÌ‘“£GQµjbgäûSÕÕE]ôÑt:£ÆŒcÓúu¤OŸ^]ýÅܹ{—yó¤Þ*]ª”A›/å[Sr;^}¯_¿&88ë Ðh4¤J•JÝä“*Xsç΄¥……RþÇé3˜Æ¥_û\“§LeÇÎ]Œ1 ë V¼xù’»vÓì§V,_ºˆ VV„½xAÇÎÝ4 uëÔ&"2’sçΓ={võæ¾_âó$IÒÿÏì¹ó8yò..Î=zT]ýYž?÷ǯisš6ñcô¨dΔ‰wïÞ©›%é—©¿rôØqÆEÙ²eÐéthµZ¥>((ˆysfý_þ.ÿýûõ¡M«–ʲ‘ÑÿŒ¡‹³ çÏE§Óq÷î=,ZŒO_¶lÜ@öìÙ066ÆÛ«ºzµD}è/«¥%Y--ÕÅŸ-$$„ÅK–ѳG7ŒŒ4ê& õ>,\´„jU])þøÕHóñïƒ/³ét:zôêCºté7fyò临±[¶n£¡_V-_FŽßo,ò)"##¹~ã&“'ާDñâ\¾|…¦-ZR¶LÊ•+Ë™³Ñ®u+õj?Œ×I’$I’ôU;wŽ·à*„ºJá.¯îÜáâÅ‹êªÊ®Ý{(Y¢$Mü±vÝïuýfÞü´lÝ+[Ü<¼8{öO&NžBe{Gll«0~âd¥}tt4ã'N¦²½#•ì:l„2Jüñ“'8»º±~ã&\Ý<©PÑ––mÚŒÀ9~âÞ5kS¡¢--Z¶&8$X©SÓDsã¦ÍôéÛŸ±ã&(ûõóðÄÄÄpåÊU6nŠm*Ù9Чot:ÍZ´$ €úãìêÆóçþÜð€–mÚaïäJ%;zõé—¢?¬“ZïÖ­Û´ïØ™Çc?þÑPõã—¿¯ß€›‡å­+á]³6Rê>t|ñ’:¦èèhúô€³«+ÛÓ¸I3=zq×¥šGuNœ<…›‡n^Jy‹–­±©d‡WMvîÚMe{GågѱsWl*ÙáèR•¥ËW$y¼ñnݺM‹V±£‘êÖo@Ë6í s×îT¨ûÔÙ€ACxõê$³‰ñðpgÓæ-eë~_O­Z5 Ê’º^úë¸yxQ²Ly\Ý<¹ÿàAA,Z²”™3~ÅÅÙ‰ 2;W.:´kKÃõ˜".~×߇±ã'²ÿÀAÆŒ›€³«{öîK4þKNJã­Ä¼|õ26n²­‚§wM>@ÃÆM•)^ƒÆMX¼di¢1q#Ì]Ý<±©dG‹–­yüä a/^е{Oìì°©dGƒÆM”‘Ë /ÁÜÜœIƱaÓf<½kR«Ž/¾ RÃÛ‹ŽíÛÄK–.SbAC~fПY³vè‡a#FR±²=¶UX±r5[·ïÀÕÍ“òÖ•hÛ¾£§Mœ<…¦Í[*×eëö¸Tuÿb#·“cjjʘQ#(]ªZ­–råÊ’?_>îܽ @ßÞ=ÿ5ƒi>‡FïehãF?§Ò&€)ÈXÙ¼@! $`Øýyî¢ {ñÁWJœ>sV]$I’$I߇‹Ð°âÀ¡Ã"üõkuu…Š–…Š–P'0þ|Ñ>]:! ÙW»téÄ‚ Ô«ÿP4j"vïÙ+^¿~-Ê[WOŸ>Sêú $ll«ˆÛwîˆèèh1fÜQ¬d1}æ,-îÝ¿/J—³ÿ¾$„â—i¿ŠúüDØ‹"""R4lÜTLœ4E!Ä£ÇE¡¢%DÿƒEDD¤ˆŒŒ?µn+FŽ#„Â? @”.g%vìÜ%bbbÄåËW„uÅÊ¢{ÏÞÊþèsr©&Nœ<%„bÃÆM¢p±’bíoëDtt´xþü¹°³w{öîBá׬…Xº|…BˆÈÈHqýÆ !„QQQ¢PÑâÙ³çÊv_½z%NýqZDGG‹/^ W7±yËVåç4lÜTi«¿É­wôØqáêæ¡¬'âÎí/Ó~Uêml«ˆ._BqìøqQª¬•¸zíº)8>}‰“B>rTDFFŠèèhѵ{O1pÐ!â®K‰ÒåD‹–­Å»wEDD¤Bˆºõˆ±ã'Šèèh*6n*l«8(Ûkظ©1jŒˆŽŽ>Ö•ìÄ‘£Ç„Hâxõ½xñR*ZB„„„(e¾ ‰aÃGЍ¨(ñúõkѺm{Ñ¥[!’ÙG}.\UÝ=ÅùóD5÷êJyHHˆ¨XÙ^ܽwO*ZB¼Žû=’Üõ:tøˆ°®d'Î?/Þ½{'nÞ¼%t:رs—°spV¶­ïϿΉ"ÅK‰7oÞˆèèhQÇ·hÓ®ƒ¸}ûŽºiÉ]›/ù™iÙºX¸h‰ºXÕ{¹ß€A¢¼u%qáÂE!„'Oý!Š–(-ƒ„B´mß1ÁvJ—« ®^½&„bç®ÝÂÉ¥š“§L-[·111í%Iú:ö8(júÔ1(‹ˆˆöN.bò”©âÝ»wâÉ“§Â¥š‡Á=d÷ž½"((X!Ķí;DY+-„¢vÝúbƬ٢aã¦ÂÉ¥šhѲµòyBˆ;wgÿŒ½_„… ßļ …Buë‰ß7loß¾Uê6lÜ$ -!öîÛ/„âáÇÂÞÉEìØ¹K©×ßßÄ–­Û”å¤â¿¤|L¼¥¯ß€A¢’½¸s÷®zqÜ“'OÅæ-[…W ¥íÇE±’eDPPp¢1Û‰“§„u%;qëÖm#ÆŽŸ(|ë7B1}Æ,Ñ¥[-t:¸ôÏ?B!t:°wra/^ˆ-Û¶‹úü”óXÞº’ˆˆˆ‘¢Š£‹qqŽþþnß±S.VR¬^ó›zça÷ž½B!öîÛ/Š/%Úuì,ÂÃÃExx¸ð©[OÌ_¸H!ÄÛ·oEÍÚuŲå+…@€¨XÙ^üù×9ñÿ,J•µRŽ-Þé3g –¿„Wááâàá# úb“zýyî¢*%€‚@n `dŠë6‰ë#N×g¬ëCÖïSVÈÎ’$I’$}—nÞºÅãÇqw«FºtéðöªÎïë7´qw«F¡‚ÑjµT÷tG§ÓÑ¡][´Z-ùóå£h‘"Üð€M›·Ð±};2ë‰IZšø5bïþýÛëÚ¹#&&iI›6-înÕ¸s'vÂÑ£Ç(X° 5¼½Ðh4”*U’ê‘Û7GŽì4nÔ­VK¶lÙ°±±V¶] ~öìÙË¥.“6mZŠ-ª^]‘>}zì*Û¢Õjɘ1¬¬x”‚Ü»ŸºÀæ-[ñ­[GI³áèà€‹³[¶nSÚ$w|)áâìDÚ´iÑjµ899òèqìh€·oß2p@ (€‰IZ=zÄ•«×èÙ½+Z­–Ì™3Óªåûüw>âü… ôêÑ­VKž}‚Qê÷îßçêµk ØŸôéÓ“1cì@ñÖ¯GæÌ™ðòŒ}jˆ¸[ÕÜ«óìùsÖ­YEƒz¾ ¶] ~<Ücç¼È“'¾uë°gï>ƒ6Iù˜ø/Þ§Æ[înn,Pââ¸R%KrøÈ¼ª{Èß—þ`Ë¶í¸º8+ï µM›·P·Nm .„F£¡uËŸøûÒ?øûû“/>.þý7‡AA™Ò¥!î©­ìÙ³“)cFÎ;G o/R¥JÅ»wŒÄÄ$6Š¿ïܵ›ú¾¾ÊþÖ¬áMáÂ…Þï7oª{zàV­*Z­–M›`jjŠ©©)övvÜ¿{S¥JÅ´)“™9k6Ý{ô¢QÃúØXW0ØÞ· Óéè7` mZ·TŽíG—ðÙ9I’$I’þ¯¬­­Y•6-|`±+iÒÐÉÆF]üÃXûÛï„„†b[%6UÂÛ·oÉ!]»tB÷H«~@œ:ujÒ§OOš4i”2cãTDÇ¥"dÀ !Ç®«ÓÅ:uj¥-`Ç6•±1!nÝ\9s굄Ù³+Ž’-[6ƒåTÆÆDÇm{Ôˆa¬ým½ûô#cÆ 8€Š6Öíãý}é.Z̳gÏ@£áÑ£Ç4Ëã§n–À§®LÙ²†“$å΋ÀÀ e9¹ãû€À@fÏžËå«WABÃÂä.\¨ Aû éÓ“N/ï±¥åûœÈþþ±|zx½Ÿ´ùÝÛw8::(Ë#88„ôéÓä/Ì“;7111„††a¤¿¡¿É©W¯.¿oØHÅŠ6¬[¿_&OT7IözQ¾\lg«¾ìÙ²ª.†¸ÇÆŒŒÈ˜1#éÒ¥£G÷®tíÒ‰í;vÒ©KWÌ›› Ã %׿k}f’£ÞcãTɾßÔ\Û·£zZ´nÕò«äø”$)å ¥ŠãûÉÑÑ:J•,q)5,\Äþ‰Šzƒ‘‘†·oß¡‹ŽM¿ „ s§ŽÊ}¨nÚü2íWnÞ¼I¹re¹ví:³æÌåÁƒ‡„†…Q¹RŸu¡xñb4jØâb ¿ÆØ½g/-[4‡¸ŽQâ:­š5mÂæ­Û8täH‚°ïEë–?ѤIce9KæÌ\¿qƒ|ùò¤NÒétÌ›¿cÇOýŽwÑÑ ~WæÐ»·'˜¼yâä_xýú5™2Ǧ2ù?ÁÂÜ\] )Œ×Ô Júz‘ÞÔÔ nЧŸ7Xÿ8MMMÙ½s+W­¡†Oª{xàç×È ³:c¦Øûj¼lY³rúôYƒ²¤|LüïSã­Lq÷ÿxY³ZòÜߟ4iÒà[·ë7l¤\Ù2lÛ¶ƒAú´ÕçïÀƒ‡Ø¾c‡RfbbB؋ԮU“Ì™21á"FG—NiÔ°áá¯Ioj @®\¹¸qã&ÄMHhllÌË—¯ØàöUªHÙ2†q§ú^mnöþ½cdd„±±üÂeB IDAT1æzï'ãT†ç¥páBØÙUfÿƒÌ›3K)ÿVâsX[ZZÒ£[WuõKv8K’$IÒwÆÚÚš4 p 4·DFìÕhÈP¤VVVêªBdd[·mcíªäÈ‘C)oÒ¼GŽ£Z\¾³™haaÁ”I¨bWY]¥HjrKK ¥#3^hhâ{‰In²­VK³¦MhÚÄ-[·Ñ²u[þ:óÚ¸ŽÌxoß¾å§Vm2hõëù¢ÑhèÙ»¯A›Ä|h½Âܹs'õôäÉS |?:#¹ãÓ—Øõê?p09sä`ÍÊå¤I“†µ¿ýÎö; Úè_ s ^¾zEdd”2š8D¯£Õ2«%Z­–£‡|ù/‘]HVžÜ¹xõêa/^(ùAŸ})8^µlÙ²áèàÀ¯Ógòöí["##™9{5kx'x´6%,-,¨TцþÓ8nT¾]/o¯êlݾƒ«W¯ÅÛãǼ|ùŠ9²Ó¼Yº÷èʼn“§ˆŒŒ",,Œ¥ËW°bÕ*úôîqÿqú !!!DFFqòÔœ?AyôUßÇ^}Ÿò™‰ÖEóæÍå¥M—yóæå¯¿Î)×vÆõK–.ãÕ«pFN¯ÝèÝ÷ý„Œ+V®fùŠ÷ï%I’¾¾*v•‰ŒŠdÞüÊïì‡qóÖ-ˆjnnމI:"#£˜5g.zO€5jXŸiÓgððá#t:ËV¬ÄÔԔ… Mhh¹âF¤^¿qƒuz©¹bS1}Æ,t:Ož>eõêµT«V➘ٷÿ¡¡¡„……±rÕjnÞ¼…‹ËûÑØÿVþÈŸss3„lÚ”x‡r²eËJƒúõ¨T±"}ûL0BZ-<<œ .Ò¦}G^¼xIçNÔMàñÚÇÞà ,HñbŘ6}QQQDEE}tZš6ñc÷Žm4kÚD)öì96nF§Óqïþ}6mÚ¬¤zP3Ë’…+W¯AÜÈý¤â¿¯áà¡Ã\¾r!‡áÊ•«Ts¼Q ~J”(Á˜ñ¨SÇGyŠ0±˜Í·nÖþö;.\DATT”2Yäµë7”/–óçËGæL™MVKKÌÌÌ8qâ$¦¦¦L2‰M~gÈ 89:°eÓz¦N™¤ŒÂ®^Ý“Í[¶*©M>Âõ¸QÑŸâåËWôí?Ñ£F0vôHο Ä#§Ïœáçá#”÷î°#•‰…÷í?ÀÄÉS ®Ã»oÿ<|˜ð ÿäDFFѾcg,--:x QQQDDD(_„Oýu:ûT¯öÃ#œ%I’$é;dbbž«WñqtdØ;”‰ à®dÉB†Â…ÙwâD²#pþíÖ®[G£õÕÅÔó­ËÌÙsxòô©ºêƒba›E#¿f¼|ù³,Yhß¾mŠræeË–™ÓeÂ¤É 4˜Ò¥JѪÕOÊ(©Ï±cçn:u鎱±1™3eb̨‘Ê(¡~}z1tØÄÏÃùmÍ*ìO›v177#gŽÔ÷õUo.,Y²$»^©’%ñöò¢zZäÈží[7¬oeUžÆҳw‚ƒ‚É‘3¿NB¡‚)K!¡¦>¦Ÿ‡fĨÑüöûïdΔ‰Þ^ìØ•tǦF£aÖô_òóp*Û;‘3gêÔöáÖíÛJ›9³f0vüœ\«¡ÓÅ;W.FFΜ9>x¼‰™:e"#GÅɵFFZ\œ’}äôCê×óåÔ§í´ÿÐõòôpçÙóçtîÖƒÀÀ@²gÏÆ²Å ɘ1C"w®\Œ7ž’:ujÊ—+ËÒÅ‹”|…áááŒ;žM¾¼yéÕ«nq,ú>öÚèû”ÏÌ”_¦1å—iÊr÷®]èÞ­‹A›iß® ý Æ«¦éLÒáää <ú~ãæMfÏÇúukÑjµ4ñkÌþ™üË4ìϵk×$ßa"IÒÇ»ôÏe Ìëׯ Á«¦%Šgê”I¤M›–K3qò/¸{zIÞ¼yзE‹¡I“ÆôìÕÛ*dΜ‰N:7oeÛ¾uëFË6m £d‰’ÌŸ3[ùBpØÐÁtïÑ‹×ØXWÀ·nnÆu^iµZ–,\ÀˆQc°µs i:5h@}ߺ7ÂwåªÕô8€%гdÑüé‚þÚµiMßñôªIæÌ™©_ß7ÑÑ¿)1fÔ|êÔcÁ¢Åth×V]Í‘£Ç(V² ©R¥"Gö츹Ueú´_¤yˆ—\¼ö)÷p€ysfÆ^ç¸4mÍšøÑ¯oou³Òh48;Ånƒ¸<×—þ¹Äø 1ÒjiÖÄÚ>µ ։ס}[ʦÍ[øyÈ .þ})ÉøïKëß·'MáïKÿ`iiÁÔ)“ >GMüѽgo&Žk°ž:fs°¯ÂA4ôgžE »[5îÞ»GóŸZ¡Ñh¨êêšà ¬1|ä(ªØÙ)qΤ ãèÔ¹+¬¬xòä)§OŸ%&&FÃéÓg)[¦,Äåž>wîQQo8~â?µh¼?o²ïÀežŒßÖý®”—+W–93§3gî|½Ö?žøaSúç4ª—‘ÞK«÷2RÇÍN˜&î•öÏsO.ôáØ™U¹nsæìŸØÆåW’$I’¤ïÍÁÃG°®PsçÏSÙ¶Ò±,\¬$·o$Ýá’˜‹/òg\ê ›óçØ4’ô©Ž?ÁˆQ£9´¯ºJ’$I’$IJÆïë7°~ã&Öÿö~ÂÌ/ÍßߟÅK—súÌ¢"cGv.\ˆNÛ+S'¥^ÃÆ´hÖ4ÉÎü»3gÏb[©’ºø³„¿~ÍÙ?ÿ¢B ÿn¼}ç­Ë[‘Àà-ðˆÖ{Å轄êOù¿á,I’$Iß¹òåË£döJaÐ I?²ÓgÎP¸Pa,,Ì cá¢ÅT±³S7“$I’$Iú×øûïK 6\]ŒO­Z´kÛZ]¬Xµz ë~_¯.fÈàT¶M~tp@` sæ-`È êª/*[¶l Ø_]œ@`P=¢LéÒ³ÿÀA®]»ŽÍ&T”¾?²ÃY’$I’$IúW9þ"ý âåËWkµ8;;Ñ¿ou3I’$I’¤råʦ8Mˆ¾fM›ä–N)¿¦Í¹~ã&­[ý„»[5uõÿÅ›¨(ÆOœÌ;wÐébÈž=S§Lú!RÙü×ÈgI’$I’$é_¥s§IN6$I’$I’$}ØÚÕ+ÕEÿw¹sçþª©=¤oç‡îpöññQ%kÛ¶mê"I’$I’$I’$I’$I’$)…~èçïͳgϩנ÷ïÅÄ$­ºZ’$Iú—{óæº(Q)m§ˆŒDgd„&MZŒ>v]I’$I’$I’$Iú†ŒÔÒ×ciiÁÐ!ƒ”ÎæÐÐP:¬n&I’$It¡¡šÕR]%I’$I’$I’$Iß•~„sJÓd|lúOallŒ·Wueyמ½\¾|…jU] ÚI’$I’¾×wî¬Õ’©@ÌÕ•’$I’$I’$I’ô‘#œ?ÒÝ{÷hܤå*TÄÓ«&‡¦²½£RêÓx׬M…ж´hÙšE‹—Ò£Wì¬éŸ<¡p±’èt:¶ïØÉ´iÓÙ¹k7ήnŒŸ8Yï§Äê?p0³çÌ£e›vØT²ÃÓ;öçéׯ߰‘~Q¦¼5[·ïà÷õpóð¢¼u%¼kÖæÀÁCz[•$I’þm‚ÿ¾HˆÖ½½ºJ’$I’$I’$I’¾+ßýç3gÿT%ʶREuÑWѹkwííY¹|)/^¼¤Cç.J]HH;weòÄñxz¸sóÖ-š6oI»ÊÛ¨U³×¯ß $4”ñcG««ËV¬dõÊe)\˜½ûöÓ­goöíÙI®œ9˜üË4zõèÎðŸ‡&MŽ?Áä_¦±tñJ—*Åñ'èÔ¥;ë×­¥DñbêÍK’$I_ј1c –Cƒƒ-:t¨Á²ÚÍ»x£Õ’ÞÃC]%I’$I’$I’$Iß•ï~„³m¥Š)z} wîÞåλôèÞ•T©RaaaNËÍ•úƒ‡P¤Ha<=Ü(Z¤5¼½ô¶ðñ<ÜÝ(Z¤†êž/^Œ#GŽ*õÖ¬ðkÜôéÓ“*U*6oÙŠoÝ:”.U G\œØ²5e©E$I’¤/c̘1Lùe*³çÎS^"îŸ~Ù/S§&è€Ö÷ôÜyî_º„Q±bd®TI]ýŸ´gï>Úw|ÿ…ïç(keÃÝ{÷ÔÅŸdðÐa̘5¾ð>þhê5hĹsçÕÅ_ܘqX°p±º€ÈÈ(ºtëmGªyTgÛötíÞ€'OŸRª¬:N½š$I’ôlÙºÆMßÿýÿrýú *Û;©‹ÿS>5^yþÜ—ªîDFF©«¾*ýB?îJLrqÀÿƒþ¹þP¬ñÿ:¿IÙ²u?µn«.NÒ—Œ¯¥¯ï~„ó÷$$$”Œ2>}z¥,{öìÊÿÉž-›² ÕÒ’ÐÐPƒ²‘9S&ƒåÙ³ã ,*TÈ >88˜²eË”å΋ÀÀØQu’$IÒ·c’.fæÉOô?ê91Ñoß²cÄ´ëÙ4u“ZûŽ]8yê”AYÏݨSÛ‡,Y²”o¬­+|‘}Ü´e+¾uj«‹ÿÕºuíB‘"EÔÅ_\Ý:>˜˜˜¨‹غmAœ8zcccÉ™#‡º™$I’ô DFFòÛºõ,]¾ïêÕ8 ŸR×¹kwŽ;nР]›ÖôìÑ Û*DFFª«Y0o6öUª „`ÿƒÌ›¿6®_§núC¹|å óæ/äüù D½yC¶lYñkÔÍ›©›ÂGÄ+—¯\!UªT+Z s臉IZuÓOæï@UwOu1òçgǶÍC$| ûö Š]e¥ÿ(¥çš¯t~ɪÕk8pð0èt:LÓ›Rë:Íš6ÁØXv~Ž˜˜Öý¾žß~_Ï“'OÉœ9­[þD¿ÆJ›‡¬ó#‘ïžÕÒ’WááDDD.]:üýý•z sžë-—f#)št<þÜ`ùá£GØØX+ËFF†ÛÈ;7?6({òä) 0(“$I’¾oÑïÞ±rÐî\¾B{ŠÔ­£nòŸÐ»Wƒ§‰ŒŒŒÐh4XZX´ûÞXZX|ö>Þ½w…‹ÿpÎ.Îßf4Y©’%ÕEЇSºtIR¥J@¶lYÉ–-«º™$I’ô tïÙ333*ULøäò¬¿"„P–…øÔ©G¥¸§œÏœ2ìŒ~úôõùQ¦tì ¬y òǧqrräøñ„×)ø“ü_ãܹó´ïÔ…ŸZ4c`ÿ¾˜››sçîÝdûR¯,]¶Wg¥ÃÙØØ˜êž_6Õ[¶lY¹tá/®^½F‹VmøëŒáÀu a¤Iú¡ýä !44”eËWÒµK'ŒŒŒ7aëÖ¬R:œ;×I]›¯q~Õ‚‚ƒéЩ Õ==X0™2f„¸–ó.¤}ÇÎ,œ?­V«^õ_ãÕ«W,_±ŠæÍ›*Ç÷-EFFrãæ-ÆEñbŸzõ-Û´£LéÒ”)Sš€€Z´lͯӦ¨Wý!$ýé”È›7ÅŠaÚô™DGGóêÕ+ÖoبԻ¸8sóæMeb¿²s×n½-Ê’%37oÝ"::š˜˜†É©?N+mŽ=Ƶë7عk7·nݦš«‹R¯Ö ž/ÛwìRÖùó¯s?qŸZ5ÕM%I’¤ïЋ°0N>ÌàÆM9¶méóåÃwöìë/¢`¤1B«Õ*/FÖ­ÛhÖ¢GÇÁ¹*!!±O=|øˆÊöN\¹zUµ%ˆˆˆàça#°wr¥šGuV¬ZMš4i”úÎ]»³tÙ ƒull«p=îž:xè0æÍ_H»Ž±wt¡V_ƒ4Wúô÷ €ž½ûb[ÅÛ*ŽLš2€Ò®cg\ÝØT²cÔ˜±ü:u … T7•$I’¾³çΣTY+J•µÂÕÑ…!]ºsãÊeòY•§ëokHg–²Çïþ‹œñtwSìÁC‡Ñ¦ÕO‰Žj™1s6wîÝcçö-ìÚ¾•û÷ï¡n–¬•«×пooN;L·.éÝoOŸ½¿o'¥[ÞdΜ™ƒûv³Ï.š6‰}”ÎÜÌŒ¶­[q`ï.vmßÊ¥þaÏÞ}.\ˆ!ƒ’3göïÝŪKèÙ«/Ù³gçØ‘ƒ,_²ˆyórüÄIÕO‹õôÙ3Î;Ï–ë9|` ½ÏehU¾<+—/åø‘Cø5nÄè±ãõÖ†ß×o`éâE;|€èèh7iNãF 9}ò½ztgĨ1ÊBsæÍçÂÅ‹lߺ™ý{vqûöæÌo°½¤,Z¼”ŽíÛqêÄQÆŽÅè±ã Nú ±ÏÕ£[W|jÕħVMöïÝ…£ƒ½º‰9ç’$I’¡˜˜zöéKÁ‚ù9zèK-`ë¶ímâÛI"Ÿ­¾¥ËWЬIu1ááálÚ¼…¦Mý”2eÛzÈúBBByúä)÷íá·5«Øµ{›·lUê *ȯS§ðljc,œ7—ÅK–ñÏ?— ¶ñ= åÚµëÔññQW>r]:uää±Ã žìY³æ7ØËñ£‡<°?ffYЯÅ‹cЀ~ìß» w7ƒõòäÎ͸1£8zøófÏdúŒY<{öþií¯u¯ß½g/C‡ âÔñ# ìß—>ýü\}æþƒlÛ¼‘Áû+åK—¯`ÖŒiüqâ(nÕª2jô8¥.¹ã bâ¤)tìÒ•‚ ²eÓzZµl±±1 çÏ`íª•ìß»+Á¹&®#öá£GìÙµý{vÂÔ_§«›)»v;ví¦`Á>°-çðᣌillL o/¶oÝıð´´dþ‚Eܼu‹W¯^âéáΔ©ÓÈš5+Û6od¸1JT o/Μyß¹oôØq„‡‡3aÜŒŒŒ>_LŒ8kö\.\¼Èæ ë9yìm¬i×±“Aµú<Ìž;—°{ÇVvïØÆ“§O¹}ûÄ}aѾ]¶l\OölYiÙºS§Mÿ¬´·Ÿ#$$”*ipO>M† ïSöþh~øgŸ½Rª@þü¬Y¹œ aÏÎí”)]Ú ÞÉÑÝ;¶qúäq–,Z@êÔ©•ô¹såâö«Ê·sææfü¶fçþ<ÍÈÃ022bßžÔ¯WWÙž™™Ë—.毳phÿ^ƒÇ*&MGïž=”åxÞ^ÕÙ»kýƒí[6%xìD’$Iú~  ´MºOÏÐÕ«È¢7WÀÑÜù ”QGN®Õ¸zõšº }ûôæÎ»tèÜ## mZ¿=¢oß´oӚ̙2‘&M:uL|DkrܪU¥HáÂh4šØ‰}‹áX"¹%õÝð€kׯӿooÒ§OOƌȕ3'éӧǶRE´Z-3f |¹rzÄ;wéѽ©S§&[¶¬IŽèÓO‘˜ËW®pçöjÕ¬¡®`ý†M”/W–‚¦“LnÛݺu!UªTäÌ‘ƒõêüޝT±¢²½B… bU¾\‚Ú߃ø´\¹b㋤4lPÛJ155MÎ!OÞ<ü}éGŽCAéR¥ ê“S°` ŠäV¼x1,--xúô©RÿµîõÕªV¥@þüØW©B‰âÅ9zìý(g}†Ÿ‡ ÂÌ, iÓ¾ÏÜį1Y³fE£ÑPÝÓÃàú&u\¯_¿Æ«†ÏýýY¹l ¾uj+iº>FËŸš£ÕjI—.­[þľýIlj]»ìٳѠ~=´Z-Y³fÅÚº‚A¬çäè@Ú´iÑjµ88ØóøIì5¹xñ¶q“‘_¸pQy">ìÅ ¥ÿJýþÐ1}æ,î޻ϴ_&+_æ|(¾þ˜që¶íth×ss3ŒŒŒèÔ±=QQo8}æ¬ÒF}vïÙKûvmÉ!©R¥¢S‡öÛH“& 5dõÊeܺ}¯šµ‰ŽŽV7ûªt:ƒ† ¥åOÍ•÷ìóçþ#ö4?tçmÛ¶©‹¾ºC‡S¹²-éÒ¥ãöí;lÞ²•Azßž}¬änŒ’$IÒ¡K§Ž :T],?5oF£F ”åÌ™2qóÖ-ƒ6mqB IDAT&&iiÖÔÑcÇ3{Ư%þ}zPP09r¾ŸÎÒÂBù8)êûpb“ù”©“ÞÔT àõ]úç2K—-çùóçàñã'4ÉÓHÝ âÒrÔ¬ý>Ÿwô»hìí«èµ2¤ÿxr*ccÞÅ×:Ž…‹–pâä)tºhÞEG'8Vs33åÿ©S§6XŽÿ£*~{A ùy8ÆÆ±çS§‹!uêÔJûäèOÀ `lœê“ÿPÃçú”s.I’$½Š©©©AþÔO¤uùŠUÔ¯ç›èDj:ŽUkÖ0rø0uU²Ò¦MkpoÏš5«Aú©}û°ö·ß ÃÈHÓ§Ïp«VU©ÿ^ÄOFL&U¬¢¯P"ññjÕð&s¦L,Z²”ñ'ѱ}»$¿PÛµ{›6oáõë׈¸ë#Þ*ÿ’÷z}ê¼¼Y³ZâwïVË›7O¢“àeÏú~ô±±±±òôÉ—©©)[7o`ÍÚuÔ­ß776¬¯ (H©ŒbS¿÷Ä|hhh’ç%±k—Uo߉‹õâ÷?0(ˆyópåÚ54@hX˜†‡‡+qiΜ9¸}û6Å‹eÿþDFE"„`÷ž½ØÅ 4¸qã&ׯߠ\¹²1Þ‡âë‰CBCÉ®»j4rçÊe07šú<‘5ëûIÚ3gΜ ¾øð¿oØÀáÃGqw«ÆÈá?'ú^øZt:}ûÄ‚.:*åFFFtîÔ‘˜˜?ÝñoôíÎðÄú›0x(oß¾%}úô4jØ Ù´’$I’$%-]ºtX˜›«‹ „††2wÞš6iÌ”©¿bkk›è£æææ*Þ¼|ùÊà ###tzß‹—/ä˜ÓŸ,àÑãÇT¨`eP¦–Å, /^¾äåËWJNI€·oßÒ®C'ôëCÝ:µÑh4ô0H©W§í¶°Œ à÷ïÙe/9Iu¾/YºŒ‡±`îÌ̲pïþ}jú¼ŠDF¶$ÇÜÜœ ãÆPÙ6v´ÌÇPO€œR)¹^ŸëSι$I’ôž¥…DFFbbbqvëùs:Ì®íïÓ]èÛ³w&iM°¯b§®JVTTa/^(ÎÊÄnwîÜeÄÈÑ,]²P‰ºtïi°þ÷ÂÌ,  `çîÝtïÚE]­Ð$Äst°ÇÑÁžËW®Ð¡SWòæÍC¥Š“ þþûÃGŽfå²%/^ gWôŸz¯ÿuçòsÊ—/gP/© “:':®\9sÒ¯O/ºvîÈÖmÛéÔ¥¹såbæôiÉž/}äÎâbÌ 2$ÙšØ~&uLÄå°Î‘=;Ë—,"Mš4ü¾~#;wÇο‘-[VNǬЯ/cÆgÕšµ4õkLöÙñkÚ;»ÊOXXZ°bÙš5oÉâ¥Ëh÷Dá‡âë‰såÊÉã'O”óM\>ëœzùêóÿó‹)ªŸE^} ¤i“Æl\ÿ›ÁèöoáíÛ·ôîÛ333F j›çÍ“‡àà`²dÉl°Î"éw§”"6Ö8}òý£´sgÏäÏÓ'ùûüŸœy­¬øóÂEȦvDd$ffy(Y²Ç~=NtFÉ­7íð‘£üñ矤¥¥qøÈQ.\¸ˆ×óu¶þܾ.cccÚ´nÅÖMðo“>KÍÀÀSSS.\H/—Ó ¬ÅK—óôéS?~ÌÒå+¨óGÏGEFñIùò’È®€ÝJÌÃÝ_O}ÿ>Å‹cùÒÅü¼f5Ÿ6jH÷n]ùyíôïÛG+9jii‰…¹93gLeñ’eÊâŠ÷ûúe¿Õ¿íš5ýŒå+WKjj*?¬þ‘ô+yòä‰2@¢UËæÌûßõÝ>’pB!ÞÄ'Oˆ½ýÒ-!áÕ­ÚÖoØÈÍ7п/_Ň8|øˆº+ýûöÁ¡@ê5ü”z ?Å¡@~Š)¢Ä»uíLrr Mšµ µ{ÇÅ)uû2ùùÕaÆÌYÔôðfî¼ÿ1mÊ$edÊËÌ›;‹Û·oãéSOŸÚlÛ¾KKK†~5ˆž½úÒ¦]fΚC³Ïž—n(_®~uëòégÍhÙ:}¤ïæÌ"..ž:õàRÃ>}ñêÉÏ®;ͧMšÑ¡SW )¬5úúUõþ²'.Õiß± Õ\jТ•?¡gž¯òþ:Ä?‰çx` ññé'¿¹ù¼^‡×õž !ÄÇHGG‡™Ó§rþ·ß©éé×½ûÒ©c­>?ÿ²Ž&ÍZ°mÇN¶íØI“f-øáÇ5J<>>ž 7Ñ¡}ö‹ž:uš›·nÒ¤ñ§ê¿ýþMšµ`òÔiüuýMšµ`؈QJ¼b…O°ÎgM­ºõhݶõëùñYÆqœñôp§aãÏðô©ÍñÀïd9L>Þ^ÌŸ7‡_Ò¨I3ÜÜ=ù¼{O.]N¿Pþw.]ºDóVmððö¥µ{<=Üñòôàón]8rä(5<¼µ—dÔg®áæJÃÆMiס3Á!!» ïë2h@fΚCu7w¦NŸÁÔÉßR¨Ðßÿ.ËW}]:::x¸×TÊ9 ìß—qßLÄ˧6·n½¸>Gùòå(_¾~ >¥VÝúXYY1ä«Áênÿ؈áCùqíZZ´ö§O¿þÔ¯ç§ÄÌÍÍØ¿/_ôèʼn `eDpll,[·m'""û²$¥K•â«A©T±•*jyß\¼x C#CŠ.Ljj* .¤HáÂïM²ùC& g!„B!„B!Ä{%"2’³f‰ŽŽeÊ”fö¬éênâ? g!„Bˆ\˜4ñu“B!„â?âåé¡ÔïY4P!„B!„B!Äk!#œ…Bˆ×äì¹sê&-kV¯„\ôB!„Bñá{Ý ¾+$á,„B¼&ê!„B!„"·¤¤†B!„B!„Bˆ×BÎB!„B!„B!^ I8 !„B!„B!„x->øÎ7V7ekÛ¶mê&!„B!„B!„¯àƒO8“‹drn“ÒÿÖ½{á4oÙšûö`ll¤¿²¡ÃGbooÇ ýÕ!!„B!„B!„xë>Š„ó»ÂÆÆšÑ£F(ÉæØØXBÏœ¥–¯º«Bˆ@JJ ·nßæÆÍ›<|øÔ”Tu!„B!ÄG@£«Á‚"… S¨`AtuuÕ]„ø`HÂù-ÒÓÓ£AýzÊþ®Ý{øý÷?þUÂY£#e¸…â]”œ’BPPá‘‘˜š˜bbb‚ŽüÍB!„⣔––Ê“' œ åöíÛ¸¹¹¡«‘óña’Ù¯èÚ_Ѧm{*;:ãW¿µ¦‡<DƒFMptv¡cç®,]¶‚þpûÎJ–)OJJ Ûwìdöì¹ìÜ€—Om&OžåQÒÅÇÇ3xÈ0ª8U§†‡7?ÿ²Žz ?%ìÚ5¥Ï£ÇèØ¹+Õ\jà× Vb[·ïÀ¯~#ª¹ÔÀݡ«~PbB!Þ¬°°0""£°²´ÂÀÀ@’ÍB!„B|Ätt4`eiEDdW¯^UwâƒñÎp9©nÊ–KuguÓÑ«O?m¹qãÆÊ–[¶66<Ž‹ãÉ“'J[DÄó$®µu>³ì“Qf#':::ê&-ÖÖÖZIâ¨èhRRR´úDDFjí‡GD(#™--,:d0ÇÀ:_>~5D«¯Bˆ7§D‰ØÙÚû –gÏž‘––ªî"„B!„øH¤¥¥òìÙ3bÄbgkKÉ’%Õ]„ø`¼ó%5ÞuS¶ .D™Ò¥˜=wÆ &!!õ6*qoo/&|;‰ƒáëëÃ7Ù¹+€ê9”±²²äDp0ÉÉÉh44 cǧžŸ5Ü\ñ«[›E‹—Pµjò˜š²ê‡Õ‡àÀÁCüþÇ¥4ŽðÇ2sÚT’’’øí÷ß©\©†††”)S†Ð³gÕwBñ†èéêRÃÍ›·nqóæ-<|@jŠ$…B!„øit5XZXR®l *„FóÑŽ>áìïïŸë„³ŽŽßÍͨ1_ãìZ;;[Z·jɥ˗!côüyß1yê4FŽKùråhÔ°‘QQêCðY“&ìÛ7w5lÀ×cGB¥Š•jeÊWd׎­”(^\z£vìfý†M¬X¶XB!þ1á,„B!„B¼A‘QQTvtæñãÇêЪZ5'¾èÞMÝ,„Bü+ôçÆ«›^jÛ¶mê&!„B!„â_Ù´y µ}}033S‡þS¶66ØÚب›…BˆEF8¿E÷î…SÃÝ‹„„Duè•lÜ´™ÖþíÕÍB!„B!^ƒÔÔTfÌœ‡·/Õª»á× AÁÁxùÔæÔéPüÛw¤\…ÊÜ»γgϘ4e®5=¨PÙ‘VmÚ‘ššªoÆM´hÑ€'Ož0bähœ]kâáíËŠU?`hh¨ôMJJRŽåèìBûŽ] »¦Ä½|j³eë6>mÒ”ŠUœðoß‘K—/óeï¾T­æ‚‡·/ÛwìTú_¿qƒÎݺSÓÓ‡ênî <„¤¤$P[Þ¾s/ŸÚ¬ß¸ ŸÚ~8:»Ð¹[w"£¢”ce•ÓkÞ¸i3}ÅØqãq­é»— ¾_DZZd<æËâB!Þ’p~‹ll¬=jÆÆFÄÆÆràà!u7!„B!„ÿ¡“§N±}ÇNvlãTÈ }?ŸråÊ)ñQcÆÒ¯OoNbooǬ9s9}ú4×ÿÂéLž4&ýtûäÉS$§¤àêR€Y³çrõÚ5öíÙÅþ=üõ×_¸ôó/ëX³ú‚‘œœL³­i×ÖŸ3§‚2x£Æ|MJJ ÖùòÑ£ûç=´Ÿý{8wþ<;w(ÇÊêÎÝ»œ:uš]Û·xì e_ßùe¯y箪;;tü+—-eÕêÕì Ø­Ü÷ïâB!Þo|ÂyÛ¶m¹ÚÞ===Ô¯§ìïÚ½‡ýjõB!„Bñß²³³ãqÜcÖoÜD||½HL|Jà‰ ¥¿ÌÍÍ011ÁÇË‹òåËá^³uëÔæÉ“'DGG'OÜ\]ÐÕÕÅÜÜ ÇªU¹uû¶r,µ>½zbll„‘‘uj×Ò]ÕË^s‘Â…iÔ°%K– E³fìÞ³7×q!„ï·º†ó›pí¯¿9j .^ÂÞÎŽaC3rÌX‚Ž ðD¿LxD8>ùO~ûýwæÎžÉí;wðö­Ã¥?cWÀnfϞ˳¤$OP¯ž#† Ñz¬­Ûw°`ÁBîÇÄ`ddH·®]èÒ©£V2¦T}5x Ë–¯äÆÍ›8(ÀøqcprtTwB!„x+ÌŸÇÙ³gé?` Ÿ|RAfÿþ}¬ûågêÕ«O³æ-ÔáÞüÎÜ9³qrr¢GOídÔ»dÓÆ ìÞ€¿[||kqøÈ!¶nÚD›¶ípqqUwW$''3~Ü×è3zÌ×J"î}áæ\EÝôA8qò¬ºé£U´HÖý´– 1ÁBš7kÊàý100 d–ä*@ôýûØÙÙjµÄÇdzgï>vïÜ®´EEESÀ¡€²okcƒ®®®²?&†üööÊ¾ŽŽ¸ÿ¾Ò–/o^å¶Ö¾¾¾>IÉÉœ;ÿK–.ãÞ½{ £Ã­[·i_È_é¯fŸå±õõô”ã¨åôš,,-´öííí8u:4×q!„ï·w>árRÝ”-—êÎê¦7¢WŸ~xÔ¬ÉêU+xøð=zõVb111ôìÕ‡éS'ãW·—¯\¡]‡ÎÔp{ñÇö§rñâ%bbc™üíu˜¤¤$†Ŧ ë(W¶ 111ÄÇÇ«»)–,[Î’… °µµeÞÿ0öëoع}‹º›B!Ä?’–šÊ°aCyð +++¦L™†NÆÔéwÉÞ={(Uº4ÅŠS‡Ä[`žÇ[[òäÉ£iÑh4ØÚÚ o` $›ãâsèà!¼½}03·VËNRrz¹‚…¾Þó„§HW²d f͘FTt4½úôãû…‹é߯À ÿòæµâÖ­Û”-SF«}ûŽT­Z…üùŸ'q­­­‰ˆˆTú>zôX)P° ·nߦ\¹²JÛ»wqppPös{‘æÙ³gtêÒQ#†Ñ¢y3ttt0è+u7-™e1þNN¯ <:wì Ä:L©R%ñ«[€Ò¥JѰAý,GÈ=]]] ,ÈkÖr÷î=òæÍK¡B…ÔÝÚ·ÃÎÎ6¨ÏÕ°0u!„Bˆìâ¥Kƒ5>>žøøx«¢££Ãí;w8ô¼4Ç«;n¼RÚ#§× Á–­é¥+¯ýõ6n¢ž_Ý\Ç…B¼ßÞùÎï’˜˜XÌÍÌ´Fldn…½²OÆô¨ØØX­¶ÜÐh4¬ûe-‹/峿-q®æÄ˜Q#±·×>~¦üYWOOOë ¹B!Ä¿t€zõ°î—Ÿ9H¹r啸µk×X³f5áá”/_T£ï>zÈêU+¹xñ¶¶¶|Rá­¸Úµ°06mÚÄõë¡««K±âÅè×o†ãdzß^""Â161ÆÝݓʕ«°ðûüôÓZ~úi-íÚuÀËÛ›bÙ°~=—.^$ñi"%K–¢uë6ØçÏORR½{õ¤V­Zä/àÀæMqªVöíµË˜Mžü-IÏ’hß¡#Ë—-A£ÑðÍ„o¹zõ ›6näöí[˜š˜âV£>mŒF£!%%… ë!((=]=š·lÉ?þ€ƒCAFŒ¥uüœ¥±ðûüþûoØÙÙÒ¾}'ž$}¹s÷ÆÃØØ„qß|Ã}ûؽ;€îÝ{°{÷.""")Yª$]:wÅÂÒRý0lÙ²™];wЪuj×®Crr2Û·m%8$ˆ‡aiiEË-©Rµ*={tÇØØ„¹ßÍãèÑ#lÙ²€ñ_Mÿä·Ï¯uüÜ|–•*W¡H‘ÂìÛ·cccê7h€·—©©©aÂøqܸ~ƒ:µkiõkÞ’Äħ”/_Ž¥‹*å<^…••#‡¥[÷žäË——ùóÓ¢™v<·RSS ¡RÅJÃkþiÍjªWwæä©ÓL™6””T:uhOãO)Çú»¸Bˆ÷›$œ_­ ãâxòä &&&qe6“µu>³ì“Qf#'7 ÊÒ‚¡CÓ¿_&MžÊÀ¯†ðÓ?¨»A6Sº„B!^—gOŸq&ô4ÆÆ&x{û°“ÐÐPÚwxŠ!Ïž=cá‚ÿñàáC*Uª„F£Khèi­c¬YýçÏŸ§P¡‚.R”C‡r^89**ŠY³g””LõêÕ1Ð7@W£‹F£ádH«V.ÇÔÄwwââã±¶¶F_ß<ˆÅÉ©¥K—¦T©Ò¤¦¦2ﻹܺu‹5Ý162âСƒÌö˜  IDATš9ñ&¢§—^ë4èÄ ±ÏoOϧ­guçî¾›; cSJ–*Íý˜ûÌ™3 }]=7ùŒׯ³cÇvôõõ©ß !‡äÀäË›jÎÕÙµsÏž>Sö¥NŸ>MµjÎT®R…“!!,\¸€‰ßNÆÚƆËW.óèÑ#ÌÍÍ =€»»‡úœ>}ŠU«VâàP–-Zø+K–,Æ*o^êÖõãLèiΟ;Ë™3¡ìݳ‡ÔÔTÚµk‡…ùó««~XAîèðç°fÍjzõî«õ8Ùùùçµ=r„üöùñöò"<<Ûk¾ZYåÅÜ‚è¨(ê7hˆ¥…æÚ íÜ~–çÏ%>.WW7ÿÊÚ¤D±hôt•d¶Ú¤)S±Îg­n±òåËiÕ]ÎêÈ¡ýê&Œ?n,ãÇiÿ;’~±.+SSS¦M™¤ÕÖ¡};å¶®®.ú÷e@ÿìÿS?þçݺðy·.ʾ®®.W/ý©ìwé܉.;)ûY5oÖ”æÍšPÐÁAë~­Z¶ UËô:û†½»w*±œ^3@jJ ßNÏ·Æ«C‹¸Bˆ÷›$œ_AáÂ…(Sº³çÎcØÁ$$$°~ÃF%îííÅ„o'qðà!|}}¸qã&;wP=‡’VV–œ&99FƒF£aì¸ñÔóóùš¿ýþ;•+UÂÐÐ2eÊzVñB!ÄÛwæl(‰‰‰¸¸º¢§§GÕªŽ=r„ÐÐP\]ݸ~ý>¤h‘¢ôéÛ€9sfñç@F¢ðüùóèêé1hðPLMM±µ±aóæMªGJ|‚gOŸáã[ ÿ¶Z±£Gоcgœœœ´bEŠå?~§téÒøø¦(¼ví·nÝ¢D‰’t‰‹‹#88ˆ3¡¡8Ww þÉ“8Ì”–šŠ—·/M›¦ ص3ýyúÕÂËË›”šÉ„†žæÔéSÔoгgÏж}*V¬ˆ£““'MTõåŠ)Ê=zpÿþ}®……qãÆu<=½Ø´q¡¡§ñòôâlèŒM¨šÍ¢ÑÇŽ i³æ”+W[;[fÏšÉéÓ§)Q¢$]ºtã›oƱtÉb’’’ptr¢šsu­cxyùвe+8°?¿ýöi©©Z}ÔRRR<~FÃà!C177Wb©ªûV¬X‘€]–DGEQÝŇl’þׯ_ÏÕg©£ÑЯŒM062" `çΟ£V­ZtïÞCuÔtæfo¾fôÖ-[ÐÑÑ¡q“&Ꜵ4u‹¶¿‹ !„x¿IÂùèèèðÝÜÙŒó5ή5±³³¥u«–\º|2F@ÏŸ÷“§Nc䘱”/WŽF ¥>Ÿ5i¾ýpqs§QÃ|=v´2E)%%…é3fqåÊUŒMŒÉoŸŸ ã¾VB!„â :‘>Bï~ô}V­ZITT$'quuãáƒôš»öùŸ—?°µµSÎã“ššŠ•¥%¦¦¦ØÙ=/K¦ö ö@¶IÇ2bYÏz™ûÑѱHW&Èr,ã—&›3U«ö<›>“mÏžöì PÚd”S{ôð!¶¶é—ùßWa™e-ë|Ö\ ãáÃGÔ¬éÎÖ­[8uê$xøè!ž^^ÙN¹½Ÿþ<ÿ7o®v{ÆL<ûüù©P¡g37Ô­[O«@Þ¼y022ÂÌÔ”ò$ቺ›–Çqq$''can¡•lþ§rûYblœ>1_FßÇË’%‹”~Y¥p6T7¿6»8rä0iiiP¯Þ?[çE!„â}ðÁ'œ7n¬núWŠ-ÊÚÕ«”ýS§Cµâžîxz¸+ûÓgÌRÊo¨§(åË——Ÿ×þ¨ìZS”2ë_©eöD6SªŠ)üÂT(!„BˆâÑ£G\¸þ»âêÕ+\½zE‰]¼t1}!A‹ôdbT–‹ì11÷•ÛfyÌÐh4Ä=~Lbb"FFFÜ¿Ÿž<ÌNžŒÑ¦áá÷Ô!ÌÌ̈ˆ'<<\k- x^6:5ËÐ9K«ô„mTôóç–ù<3“‘::ºÊí—Ñè>/‰fn–^rÂËÛ7·šJ»®nz©33ssÂÃù};;ûl×õHNNFO/çŸä™IV€ÈÈôÒm昙™áäèÄÉS'ùõ×cÔ¬ùb9 3 sî…ߣCÇN88TÚóäIOþ_¾t‰sçÎaanÁÃGÙ°~C† Õ*Ù™~‘áÉ“ÇÅ¡«§‡‰Iúýsbjb‚F£áqÜcââ“'OîF§¦d?ô1·ŸeBB¢òx™G,Ìͱ±¶fà ÁJ¿¬²–yÝìßÏ®;36}ðÈ„oÆc o€o-íº¾B|(Ôç«jBñþËù×í`Û¶ôUoߦƒáêꂉ‰ W¯†±yËVF ªî&„Bñ^ "55•Ê•«Ð»Ïóz¢‹.àôéÓáëS 3s3®²há÷ðÛo¿)}5 *TàüùóÌž=“bE‹¨Ä՜ٳ;€ƒ®ž·oÞdäè1¸¸¸rõê~Xµ’?ÿtæI|<útêÔYYÄîÐÁƒ<ˆ}@ñÅ©R¹ ¹ÆÊ•+062âäÉ,,-©\©²ú¡_‰«›{öì&$8SÌÍ-xð ;[;Š)JåJU¸rù2«X…“s5þø=}Äw¦'YµruêøÑ¼EzTµˆÈ,ø ׯ_ÇÊÊŠ¢E‹àåíCHH0ÁÁA8p X±ôv5/Oo._ºÄÞ={p÷pGW£!<"‚š5Üyfù”•«V€Ž_öîÃÞ=» =Íþýû¨S×O9Æ‘£GHJJâÖ­›¤¤¤P­šóß®G¢¯¯£S5N aÆŒi”+[ŽˆˆHªT©Š»Ç‹ÉqËŒÏoýºŸ(X°žž^Z£æK–(‘«Ï2--9sfS´HQ££ÑP¥Š#†Z ]¾ ÇŽeÓ¦Œ5ÛŒÚÕÃGŒdÒ·Ñ7ÐÇÃÃS}-³ýEBR #ë–ÔjŸqð_ù×jB!„xÈJs¯Ùú›ðò­CeGg:uýœÖ­ZÒ¨au7!„Bˆ÷‰ ôr®nnZíÕ]\ ÄÀЀž={ãPÀóçÏñôÙSš7ÓN ¶kß‘òå?áÎÛ\ »J×®Ÿkųrp(È—½úP¨PaN:É™ÐP ¦—Ððòö¦yó–qìØQ®†]¡H‘"¸Vw¥R¥J<|ø€ÀÀ_yúô):  ¤Z5g΄†t"òå?að ¯026V=ò«±±±aÐà¯(\¸0öïgÃú_8wö,&eC|kÕÂËÛ›„Ä'œ ÁÍ­†Öý ÒK?iµgÕ®m{ŒMøý÷ß(T¨=¿ì­Œˆ.Uª ššJM÷ç3ìÔœ«W§K—®èéé±e˶lÙÂíÛ·121fúõDGEáééIñâÅñ÷o‹‘±1[¶l&üÞóæ5ÜjpùòeîÞ½G¥ÊUð÷¾ÀÙËtìÐO//?~Ì‘#Gˆ‰!ên4hØB… ÆÙ3gHMÕéœÛÏÒÒ‚âE‹„…¹;u¦€Cöù&±v͆ ®UÆÁÁ¡C‡±vÍB‚ƒµî#„Bñ!È–ux‚ŽjÓdÙt³lz€ flF'OŸ ,Y"ûÑYYfL½|™à“¸ä°àžBñ_;pè0NŽŽœ ÅÕ%½®kPp®.Õ1Í(§”éàÑW©B|\nݺńoÆQ¬xqFŒ¥¿²§OŸ2fô(âãã˜2u:fo`á»M7°{wmÛ¶ÃÛÇW~§$%%Ñ»WOòä1cÖì9êðkåæ\…¤äu³"44”Å‹2tØ0Š/¡ÆôiSéÑóKªV­ªC.G8ß{ô”¿üN—ê¬>y‡øg)Ô(–—¯jÃÔ w¥bôõt9qòí-Rîë©}+.>þoGÍ¿.¡Y–ØqÌ(­B-ïç!„â=OÈÉS8æðûBíjØ_8;Uq€§À3 Hβ¥fÙÒT[&å¶ŒpB!„â=’ššÊÆ ˜3{ÄâíãûF’ÍY¥e©‹ý®{žk`àqœc² D‰ 8ˆãÇU‡^Yäã§ü“À/]ª²¡›#w%ð¿c7ÔÝ„B!ÞŠº†³B!„šÔÔT؇¡¡!^ÞÞ4kÚLÝEüÇúd©wþ2eË–¥lÙ²êæ¤ƒ³úºôu5tq)Èø€« «%5ž…BñöIÂY!„Bˆ· P¡B,^²LÝüÊôôôXðý"uóѬy š5Ï~AÃw¾¾þkyß%­yª™RÓ@WU~ÂÜèù©MCb’HNMCOóvÊT!„Bd’’B!„BñÊoaȇOÕÍ\IÀ:V[TÜ3åö݇OÉc +Éf!„Bü'$á,„B!„ï ïRù¸ÇÏ¡wy”˜LBR*[‹äBøcj—±Öê»æô]ž¥¤ÿ,…Á·ð-O+.„Bñ¶HI !„â-ðªY]Ý$„â=õìÙ3Ìò˜ª›_;³<¦,ëXY®°<èI)©T(`ÎâöN”u°àQrzÝærù-ð_uއ IÔ,‘‘ Ëcf˜ûÓ½ÄÄDù®B!Äk‘û_ B!„B!Þª ÌYÞÁIݬ%)%•6Î…hW½°:$„BñÖIÂY!„B!ÞwiÀGR²¹g¯>¤¦¤¨›µ,ü~>ÍûSA²LùŠìÚ±•Å‹«CoÔ®€Ý¬ß°‰Ë«Ckèð‘ØÛÛ1h@uH!ÄGNÎB!„BñŽùä›}ꦗª4q¿º‰?ÆÖQ7}BBNÒ·ooôõr>ÕÑy·²ï‘QQÔñkÀ¯Gbff¦ÿgªUsÂÊÊJÝ,„Bü+9C !„B!„øO|¨Éâ×¥MË›˜¨›ßY›6o¡¶¯Ï;•l°µ±ÁÖÆFÝ,„Bü+ïÏ#!„B!„â-HMMeÆÌÙxxûR­º~  €—OmNÅ¿}GÊU¨Ì½{á<{öŒIS¦áZÓƒ •iÕ¦©©©Êñ6lØD‹Íxòä #FŽÆÙµ&Þ¾¬Xõ†††Jߤ¤$åXŽÎ.´ïØ…°°kJÜ˧6[¶nãÓ&M©XÅ ÿö¹tù2_öîKÕj.xxû²}ÇN¥ÿõ7èÜ­;5=}¨îæÎÀÁCHJJ`ã¦Í´öoÀí;wðò©Íú›ð©í‡£³ »u'2*J9–Ú£GéúùTws§†»«\£î"„â#ôA'œ7nüJ›Bñ>{úô)eÊWÄ¥†‡:$²ؽ‡nÝ{ª›ÿÖ½{áxxù’¨½QMš6çÔ©Ó 9š9ßÍSwQ|3q -Q7ÿg²¾×·ïÜ¡LùФäPwõ¿zs²ióÚwê¢nÎQùŠU»öztÿœ£‡ö³OçΟgç®åXYݹ{—S§N³kûV`ᢜë;ïØ±“aC¿"äį̙5ƒ‰“¦¼4A-„âã %5Þ¢{÷ÂiÞ²5öíÁØØH~g}Ú¤)cGÂÙ¹š:$„âJMMÅ»V]"""°··ãÐþ½¯¼¸Ñ²å+qv®F¥ŠÔ¡ÊïüÁü 9}:”ħO±··£m›ÖtîÔQÝ''Ç\Õ«üý?Ð××§LéÒØØX3rİ×ú—omu3Å‹#`ç6ôïGéŒçðwš7û #£×÷ü^Õž½û¨YÃÞøû·ÁÜ<½<‡—î5kP·Nm}5”èèhìììÈ“'ò\ÍÍÍp¬Z•[·og<Ú‹úôê©ü-®S»{÷æ\OÜËÓCùž¬^ÝKK nܸ)e:„â#'¿¨ß"kF¡|yÇÆÆzæ,µ|}Ô]ß)ô§L™2êf!„ÿBpÈI"""°¶ÎGxxAÁ!ÔpsUwËÑ… ™6c&cFx!ᬫûj‰ë÷Ù©S§éöEOºtîÈÈáC±¶¶&ìÚµ—.•Ûz•K—­À×Ç[9‘ÖÓÓ£~=?u·ÅÞÞŽ?; ÀüI»Ž9{:D«wz"!“F'çÏ÷“òåÕMoTLL +Vþ@¿¾½Ñh4Lœ4…õ?¯UÎÙ½×9}6oâýU‹ŠŽæó/zÒ ~=–/[Œ…¹9÷ïǰpñbºuïÁò¥‹ÑÕÕUßõ½ñøñcV¬üN:(¯O¼~ê&ñµhÞ”~ýr<ðææÄÅÇSºt)æÌš‰½½ºû?R´HÖý´– 1ÁBš7kÊàý•Ͼd–„2@ôýûØÙÙjµÄÇdzgï>vïÜ®´EEESÀ!=1MÆßʬwîÇÄßÞ^Ù×ÑÑ¡ ƒ÷ïßWÚòåÍ«Ü600ÐÚ××× )9€sçcÉÒeÜ»wtt¸uë6í ù+ýÕì³<¶¾žžrœìäÏŸ_k_OOŸÔÔìg²!„øxä|Æòضm[®¶·AOOõë)û»vïaÿƒZ}ÞE¾>ÞÊÕs!„¯ÇÖmé'žÝ?ïÀ–­Ï¿‹öìÝG™ò8xˆÒÖãËÞ”)_‘“'9wî<=zõ`·“)S¾"?ý¼NékdhÄwóæãéS7w&Nš¬UGró–­|Ú¤•©U§‹—.Sâ3gÍ¡ì'•»vv:Q¡²#ááÊ}ß5'O¡e‹f è×—B… allL…O>Q¯¾µý8z†v;S¡²#÷î…³ióüÛ¥~~ðð!ý ÂÝÓ7wZ·mÏýû1Lž:ý2iÊ4|kû±gï¾JB>r”æ-Ûàî郇w-–,[®<¯á#G³xé2z|Ù›ê®5ñ®U‡_Ö­WâYéêꢫ«‹&ãBAæ~fòÁ·¶'‚”þ?¢s×Ïq©áAƒO›pèpú”gT%76mÞÂè±ãX¶|%nî^Œ;N9ÞŽ»hÖ¢5Õ\jÐø³æ„ž9£ãe¯+Stô}¦Í˜IÛö°´´DGG‡Ž»Ië¶íð­íGxx„Ö{MÆo¡_ÖmÀ·¶®5=:|$qqqMÉœ>»!C‡3yÊ4jzzãRïÇ£üûMNNfȰÊñÛ¶ïÈ­[·”Ç>b4_öøÿÖ­7~ F£ÆM?a"£F ÇÖÖ–-[Ÿ'…2¥¦¦2xÈ0Bjj*Ož$$$2jÌ׸¹{áS».+Wý@ÃÆŸví&&&вµ?³æ|ǃ´OˆÁ´é3)X¨Çæè‘ƒ?v'GG&Mž¢îú¯”,Y‚Y3¦°s¡gÎðýÂç¥%tT³’òæµâÖ­G oß±“ªU«?ÿó$®µµ5‘Êþ£GµÊ ,èðÂä;wïâàà ìçtñNíÙ³gtêÒ /O6¬û™ë~þÛ Ü¯2ã*ó»K!„ÈJ¾^ѵ¿þ¢MÛöTvtƯ~#<„kÍçµ2OÑ Q]èØ¹+K—­ ÿÀÁq"U²LyRRRؾc'³gÏe箼|j3yêô,“§N§ß€AZmS§Ï WŸ~DDDлoª8U§ŠSu&M™ÀÐá#™¿`!»uW·8xðrŒ¡ÃG²~ÃF† AÅ*Nlݾ#W‹R<¡ì !„øwÙ»o?fff´mÓš|ùò²wß~Ô]³ehdD©’%¨çW—1£Fà\ÍI‰ß¹{—Ý{÷R¯nVÿ¸–]»!#™=|ähŸ&òy×.˜[˜3sÖ–­X©Ü?--¶í:rõj¥J•ÄÆÆZ‰½KîßáÂ…‹4ûì3uH˘¯ÇÑ·w/‚½0òíÇ×päÐ~N?ʘQ#È—//#† ¡\¹²Œ>”ƒû÷à—ñ^fU¨`A¦Nþ–_bÉÂÌžówïÞSâ‹—,£WÏ„gò·?á[¢£ŸNû§vìfì˜Qcäð¡ ô•ÖãfµÿÀA®ß¸ÁŽ­›=r¸Ò¾tù ¾Ÿÿ'ƒŽS·Nm¾7A‰½ìuEFE1yÊ4º÷ü’âÅ‹³}ë&ºu팞žË—¦'b~Y»†ƒû÷¼ð^“‘ˆ½yëûöìâà¾ÝD߿όY³ÕÝÙ}vÛwî¢xñb=t€m›7pðàa從ž6`׎­?z¥¦õå+Wxôè!õüê2mÆLìììØ¹m 3¦Máλ4jØ€  çÉýLã'L$..ŽéS'£Ñh˜3wW¯]c÷®íìÙµƒëׯkÕ_ýß‚ï =s†];¶qpß®\¹Êÿæ¯uÌLßÍ›Oè™3lÝ´‘àÀ_©î\n_ôÐJP«ß‡yóçsýúuöì`oÀNîܽËÕ«aqÁ¢gîlß² {;[:têÊŒ™³‰‰‰Éò¨B¼ßBBN2x`e6…±±1ú÷åÔéPu×ìîÝ{\¿q€¼VV.XP¹@–õë±dér¢£ï“’’Â…‹— £œFËæÍ´úúÕ­Í¢%Kyôè1IIIÌÿ~¡V¼e‹æ,Y¶œ˜˜RSSY±ryò˜RÍÉQ«_nÄÇÇ£cUttt¸}ç'²ù;—[cÇ׺*„BdçO8‡œÌÕö¶ôêÓŠ*p*85«W1á"%CÏ^}è߯¡'ƒ=j‹–,Õº¦O5¤u«–4lPŸ#‡ö3bØóQl-š5åÀÁCÊš´´4¶ïØI‹fMèÙ«/VVVüzä G c‡vÊ}Wþ°š‘Çr28ýûÑwÀ îÜM?‘˜>s6ŽU«râ×#4¨ç—«E)„B¼>û >>o/ ¨S» ìÝ·_Ý5[eË”¦bÅOp®æDûvm)Y²„VŸ%‹¾gäˆa´o߀ËW®°nýFÆCß>½˜3s?e© P¶lŽÚÏæ ëÞÙò±±±( =W­u«–¸ºTÇÔÔô…a…‹æÜùó:|„´´4*|’þ¾æF‰Å•÷½lÙ2ØÚÚp7Ë÷­¯7•+WÀÍÕKK nÞº©Äÿ©ÚµjQ¼Xz­R÷š5)_®‡<åœ•ŽŽ_E¾|yµj;·o×;;;ttt¨_ÏOk±»œ^W||x€©©)d3bPW£aöÜï»ößÍ™¥ÔwÞ³o=»Ž¥…†††ôúR{ÊÍ[¶Ò£ûçX˜›cll„›VìÝŸýëܲu_öøkë|h4z÷êIbâSN+}Ôïî€ÝôìñfffèëëÓ«g­cÒÖ¿ ¿üô#—¯\¡nýF$¿dZ¼ï]=Ýþ=''§ û #sÿ΃èÙ«Õ\jP«N=âŸ<¡ÇÝÕÝC¦\Ù2ÔoÔ˜*NÎ|3a"W¯†qãú êÔ®¥ÕwðÀtpÀ·Ž¾uü(èP€bE‹*ñîݺRÓÍÏš·Äµ¦'GŽýÊÒÅ ÿQ)+++FJ·î=iÞª S§Í E3íxn¥¦¦’ãEN!„"Ó;_ÃÙ¥º³ºé?víaaרðËOèëëcmÎ;ðmÆÔ­‡SªTIeTéR¥hØ ¾rBü*J•*IéR¥س—–Í›rò$ÉÉÉxyyò×õëüyákV¯ÄÄÄ2ÈT·NmJ—*#ß–,[ÎáÃGh×6½N—“cUüÛ´RúçfQ !„¯Of9Û·ï0jÌ×ܸ™ž„ܲuMªêîeõÕLMM•E‹¬,-!cÚ> $D2jG,˜>=7"òùÔ^__Ÿÿtñ¹ÜÈ\Œ.:ú>–¯3;ê:›Y5nÔK /]Æ·“§ðe/hÕ²…º[¶vî `ÃÆMé‡ut¸?†Ô´ç¥K²ÖÀ$£®¥:AòO¨ëòÚÚÚ¼ðùe*\¸P¶‹àå·{>úXOOOk]¥] IDAT*wN¯ËÔÔ”Û6³fíÏ4nÚ¿:uhݺ%³LñάÏßÖÆ†˜˜˜ß—ì>;[[í©úYždTß¿ˆßÿüÒÒxðð!v¯5..NùÝT @~._¾LÙ2¥Ù»w ‰ ¤¥¥±+`75j¸)Ǿxñ.\¤J•ÊZ‰ž¿«¿ňQcÐÓKoKIIÍ1Q”]­V‡´jµªß‡ÈÈ(­Z±VVV/\ºqã&¿¬_ÏÁƒ‡©[§6Æí¿!ÞGžŒùz<={tÇ¡@î…‡óÝwÿÃËËSÝõ+_¾œVÝ嬎zñ’±±ãÇeü¸±Zí§B^œ)jjjÊ´)“´Ú:´>€HWW—ýû2 _­>™Ôÿy·.|Þ­‹²¯««ËÕK*û]:w¢KçNÊ~VÍ›5¥yÆ ¦‚Z÷hÕ²…ò½¨ÑhØ»{§S¿€ãGŸÏ®Bññz}—€?11±˜›™)S·PLFEFaŸåŽŒªEó¦lͨ#¸uÛ>kÒ]]]¢£¢Écjªœ4©e®vœ)¿½½Ö‰h‰Ú£à²;ÑQ/J!„âõˆŽ¾¯LE =s† 7qòä)‚‚CˆˆˆP’BY§èß¼ù¼-YFb¦d©Íœée£NmmÓ¿—îdŒú̬™™€Îô:G‰½)ùòå¥D‰âìØµKÒ¢®³©æéáΫV0oîlfÍùŽàôEûÔ£]³:{ö£ÇŽcدXÿËO¬ÿyí ‰`&çûÿêärxD„’|WËiÁœÞ“¿{]6d0[7m ~{z|Ù›_ö&%%å¥ïWV‘YžDDfff9&B³{ž9½&2jX'%'ó㪬ÿå'ºuyž€±··Sê96”›6Ó²M[ªT©LíZ¾´lí­ÖEkköí àöí;Zµ¬ÿ®þªµµ5sfÍàøÑÃ?z˜ ãG9šM‚ŠjµÞ½wO»V«ê}xÙã'$$Ò­{Oúô@Ñ"Eزi=ƒöWïB| 臩‰ müÛSÃÝ‹V­Ûb`hÈpÕ¬Q!„Bü7rþÅ.^`kcÃã¸8­@DÄ󅔬­óžeŸŒ29ù»³FröÜ9n߹Þ={•©Oyóååá£G}ÊãÇY¼t~uj«»üc‘‘|R¾<†††$$$²sW€óôðàØñ@¢¢£)Q¢8«V,cýÏkiÒøSztÿœ ë~f`ÿ~Z‹eYYYaanΜÙ3X¸h‰²¸bÝ:µX¼t™RõûEÏhÖ´ s¾›Çí;évs‘Š»¸rå*µ^Rãu.J!„âå¶d”ÓP—Îø´QCÈ(·Q´HFŽ¥¥%K–.çáÇ ý*}ÚL5ÄÛ˓Ȩ(6nÞ¢u1ôeêùÕeò·Ð××gÑ’¥<‰ÂÁƒèÔ±ƒºë{Á×Ç›… æqì×ãÔoÔg×tíö—._VwÍÖ… hÚ¢5<¼hÑÊ/O¼3¦dѽ‡Á¥†;vj¢öñö¢f 7ê5lL›¶ ÆÓÃ]«Ï›òÕ L›>GgW&OÆŒiSø?{÷ÖÔõpüÂÞÜ¢"Š‚Š{ï­¸wkÝÚZ÷^­uWë®­[këÞ{oAÜ{àÀ… ‚ eCÈï@L"޶öW«ïçyîcrι''÷^ ¼9÷=¹sç2lö—üÙ÷¥P(¨R¹’6àýønì8*U©þÚ¬|2nQ÷ö.L­º ¨Z£6 úáf$Ž5‚ßW®¤i‹V|Ýû[Ô¯§­³µµa`ÿ¾tíÖ“À“AÚÁQQQlÞ²•°0ýIº zz2tð  Btt4úõ%gŽÔ®×€Úõ#{6½ü«}zC¹²ehÿÅW/Y†æ-Ûh3‹OˆçD@ññš/6ºuéLÅòåiѺ-«TçØ‰ü:ï)8ú÷ëCŽÙ©]¯!ü›‘+WNm`Ùœ å5¹ª…ø”©Õj?~LØ“§DfñŘB!þ=™S]u§¼* 6#M©³¦€ `–±™Ÿ9w1°@~ÍB6oco§ÛiVN>ó·r8ûûû³mÛ6Ãâ,½oÛ{÷ï3jÌ÷ܸq77WÚ´nÅ‚…‹ 83&ÿ8•èèh¼ &¾|<‹ˆ`öÌé„>~Lµµ ¾~¥RÉóçQôîÓ—Û·ïШa¾ÿn4õ4¦G÷n´l¡É£uìø ºtëÁ¸±ßÓ¾fV@hh(cÇMàÌÙs|ѾCdè𑘙™òðá#®]»Ž­-C¢^Ý: >ww7öï§íK¥R1÷ç_Ø´e IIÉx{æ»Ñ#µ U­^‹IÇSQ'§¡BMîþ’~~œ;žreË@FZŒreË`eöH÷v{!Ä¿çò•«ü±r×®_'-5 333Šóe`ÿ¾oLMò±KLL¢D©29¸wwI!þ óŽÇÅÇ¿õÐE‹—R´hÊ—+Khh(ƒ‡çÖ­ÛØÙÙòâÅK zz2íÇÉäÌ•Óp×לxõØ/#bЩÓo¤#„BüWÄÅÇsúÌYüJ¼ùŽ9]wîÞ£tÉâ%D HR4-]gSl™´³N˜÷ ñ÷׬@þ¡xäÍ˪ßÓ>Ïœ­’©JåJz3¦ý4C›kÙp''GÖ¬úCûÐ[„Œþ nÈ™3'‹Î7,ÀÑÑ‘ñ?Œ5,†7,ìð®E)xôB!„ÿ¾>E³ü}è¿äæÍ`LÍLÉ›'éééüüË/äÍ“G‚Íâ“¶yËVšø7`ü„I”)]ŠeKcaaNRR .fÌãX¶X?ÅB!þÿ>é€óûÌXþÐ:L¹re±´´äλlÞ²•Ç6ûG½)g⟕žžNll,Ñ11òŒB!ÄG",<œ©?M',,…BA¡B^Ì™=𙟔˜˜íú·nßfÞÏs´ Žš››óí·ßPµZMƒ½„Bñoø¤Îÿ†õ71lähRRR°¶¶¦MëV4jØÀ°ÙÂÐá#Ù»oþëå%B!„ÿžjU«hs ñ¹055%**''G²¹g#>!;ÛWi_ÆÅáä줷B!þpþ›J•ôÓæoøuÞ\½úÿ·y‹èOS§ðÓÔ)†ÅB!„BñU¥r%F§Ž_Ò¨a J»vmp°³ãyT¬ZC÷n] wB!Ä¿@ÎB!„B!>jÆfÖì9̘9›„ÄD¦ü8M¯Í¬Ùs©W·Îk  !„âÿKÎB!„B!>jVVVŒ9°X!„!#Ã!„B!„B!„⯀³B!„B!„BˆBÎB!„B!„B!> 8 !„B!„B!„ø $à,„B!„B!„⃀³Bñ‰HNNÆËÛ‡²*VýãJ•­€—·ÉÉɆUB!„B!>#pB!þéééT©^ /oªÖ¨Ezzºa“wZ²t9—¯\5,þO¸zí‹–,5,þSÒÓÓY¹j5 ý›R¼dª×ªÃ+WiëŸ> ã›oûR£V]jÖ®Gßþ‰Œ|®×@Cÿ¦°ü·T©^‹Re+ðuï>DGGëµ ¹wÆMš3|äh½òLÏ""ð+]Ž—/_r" €;Q²LyÊ–¯ÄØqãIMMÕ¶ ÉìÓ™6}&—/_`òSqrrbÿÞ]ìÙµ¦Ïœ¥×Ç¥K—‰§|ùrœ`ñ’eü¶l1'OÅÕÕ…Qc¾×¶Ýµ{]ºõ GÎz}èÚ¼e+5«WÃÆÆ†ÓgÎÑ­s'Žfû¶Íœ9{Že¿­ &&†>ý0°?Ο ¢ã—èõõ·$''¿ó}eJHH`Äè1äÍ›G¯\×ÜŸáQècöïÝÍî[9sæ +þX @Ll,¾>EÙ·{g‚éÔñKz÷éGRR’a7c…Šør7$„_~EÑb~„……k÷Í´aã&jÔª‹_érÌžû3–zõ»÷ì¥U›v”)W‘¥ÊÒ¥[B?`Ôèï8tø111xyûP±J5’’’˜6}†¶ß/¾êÌõë7ôúÕeeeŸ±ßQÄÛ¥R‰¯¯yrçænHd¤ñ,P¥R‰‰‰ ùóå#--M¯õ7ѼiSŒŒŒØ¾c-[6Ç#o^LLLè×ç[9JLl¬öõ~_¾ߢEõúеiÓZ´hÀÀþ}©^½æææ¸º¸P¡|9îÝ»ÀÁCGð*Xš5ª£P(hâß;{;ŽŸxçûÊ4nÂ$ü7ÂÁÁA¯\׎]»èÕ³;¶¶6888н[W6oÞ@Ñ"Eèо66šÀpÚµHHHàÅË×g&GF>ÇÕÍ¥R©ÝŒŒ^ýùw77½z!„B!Äçé“8÷55ËM!„ø7%&&±oÿlllhß¶ NNŽìÛ€ÄÄDæY237dz@êխØQ#(]ª¤¶þñ“'ìÙ·zujðû«Øµ{d³‡MRrݺtÆÖΖé3f±dÙríþjµšö:rçÎ]<= àâ⬭¸y3˜Ñß%üÙ3êխ͉€Àׂҩ©©X[[Ó£{7*U¬@@àI&OÑ|ûøø`aaÁ˜Q#Ø¿??N›Îâ%Ëðö.ÌÀþ} ¡{¯¯ß;5ÃóçQ|¤­‹£O¿”*[ú ýY¾âw½ý…B!„ŸcÂOÉ܉C ‹„Bˆ݃‰Ç¿q#LMM©]«&kÖ®gßþ4ñolØü5…¼ âãS„”.U’/:´‡Œ½™-ø•Ù³cckÃÏó~åVFÐtÝúŒýn +”Ç¿q#êÔoÈêÕkéÞµ‹vÿB…¼Xðë<ÌÍ͵e™<„Z­æ«Ž_0tð RRR(_©*qqqÚ6þá߸däRÞ·ÿ·ïhÆÐªes¾ÿafffÚ±«Õj6mÞ‚R©dâ„q˜›™ͼ_çsöÜ9jT×Ì‚~•JŰ#éÒù+òyxPÄÛ›*U*±`Ñ¢££éÞµ 9s¼J‡±{Ï^Šñ&gΜ$$&bii©­°°´ >!A¯ìM6lÚLófMPd‘^ä×ù ±´´¤y³¦ñZú³Â-,,^ûÒ!«÷õôiÓgÎæ÷åKõfÊìËRçu,-,P©T$%%caaÎ¥K—éÔµ; øúú0iÂ8^iÞ¬ •+UÀÅÅ…ØØXfÌšC÷ž_³{ç6ŒŒŒØ¼aff昚špáâ%¾íÛ{û÷ºž…B!„Ÿ–7ÿ•"²Ô¹k xySÀËŸâ%iÙ¦'³¬ÏÜæ/\¤×Çþ)àåMȽ{zå/^¢€—·v±2å+Ñë›o¹tI??gækdu›ñ¦Í[(àåÍä§i˼}Š¿6¦‹/éí—I¥RQ²t9Nd,žDÆ )Ÿâ~ü4}¦^Û>ý0ùÇiLûi¾%JáWº, -`þÂExyûpÉ ßä•«W©X¥º^™®õ7½Ñ•«W³œ &„»Ìt¡¡5æ{î†h>tÓjJ5Hñ6VVVäÈž{{Șq ðäÉräÐÔçÌÈGþìYÆÞ5jTÏ2Ø @¾|ù055ÅÝÝM[¯V«™¿`ü›Q¶|%ê7ò -õÍïáùó(’’’P©T”)Wߥ˜÷ë| ›ëQ©T 4úôþF[>`ÐÌÌÌ9´‡ìåúŒÐYìoÃÆMÚôd·ƒàrbB"övvzeY‰gßþ4oª (ëZ¾âwöîßϼ¹³µbk+«×‚ˉ‰‰ØÚÚjŸgõ¾ÒÓÓ2|C [6w½_geeÁíL ‰‰˜ššba¡9·ÅŠùráì)ÎÒ½kÚuè¨ýb@—B¡ÀÕÕ…B½½=#† åá£GÜ»¯Iboo……9J¥’R%ýhݲGŽ3ìF!„Bñø¤g8ÿÙôï;#zøÐ!tëÚ™/^²jõjz}Ó›€cGµ‹ã 2ˆ®;iÛÎ>Z½f-~%J°fízF×M ®\<‡Z­&<ü›·l¥CÇNüòóªT®¤mWÌׇu62ö»W8¬[¿B^^ze×­¡hÑ"ÚçoÊ­¨T*)_¾'©T±'ƒpvvaÿƒ 42‚ A§N3ó§©TªT‘ˆÈHèÙ½›¶/{{;†ŶÍ111Ñ–¿ÉÝæ/XH+?þßfÑâ¥Ô¬Q=Ë÷+„«ÈÈçž àü… œ¿pA[tê4ááák>žuƒŸºé Ȩtr3gzÛÿ¹®®.„Ü»ÇãÐÇäÍ“‡G¡¡ €Î¤|ËÌYg'MŠG4cJKK#2"R[¿{Ï^fΞƒ¯¯‹Î']¥¢Mû/´õ™ÒÓUÚÇvv¶˜˜˜ T*Yºx!Æ:ŸS9tf%JII¡ß€A8991nìwÚÏÜ—/_rðÐa‚ŽallŒ‹³3#† ¥nƒFL™<‘‡qûÎêÔª©í« §'wîÞÕ>ŽŽæyT”vôÛìØ¹‹âÅ‹½^°pûä·¥‹õ×< °zõZ½¶ÁÁ·¨S»¼å}]½v³gÏqïÞ=ÆM˜@LL,ßÿp‡Lž8^ÛŸ©©)yòäæÎ»Ú4·nÝ&OîÜÚ6™lmm¨S»‹–,åÌÙsÚ”-o¢V§£V«±0ן¥I•®Òµ…B!„Ÿ—O:àü¾ä¿ÊÖÖ†¯:~ÉO3fñøÉlm5O#…Ѻ¡séÒeV¯ú_vbðÀþ˜šš6C¡PàîîÆ×½zžžÎø “Ø¿w—¶¾~½zÌ_¸ˆÆ`ffÛ°°p*W®¨Ó“†‘òÍc2T©bÖ¬]¯}~èðÚ·mÃÒeË ¹w|ܼLBB¥K—ÒÛWWÃõ¹pá¿üº€~}5‹[½ÉíÛwèÕû[BCSµz-ÜÝÝ™=s:ü›2göL*”/Gjj*Mšµ¤m›Ö< eÿƒœ :ÅŒ™³1|(õêÖ1ìV!>:;vîD¥RQ£z5~7W[Þ·ÿ@öîÛÏÖí;¨S» …‚“A§X°h1÷îÝ×w3¹dW­ZCijŠóÕûbòMÚµmCЩӌ?&sððaÚ¶neØôªW¯ÊÏ¿üʲå+xñâ%!!!Ú…õÈÈQ  JSÁ¾ýtöÖ|¹éääÈóçQŒ=SSSÆ~7†Í›²fíz~ž÷ ÕªU%99™ë×o0íÇÉzûgJLL¢wŸ¾äÌ™“áC“”¤y]###¬¬¬puqaç®Ý|Ñ¡=jµšÝ{ö’/ŸJ¥’M›¶Ð°A}½YÜÍš6¡ÿ€A4kÒ„9²3çç_¨P¾NNŽ:¯šµ ›6Óù«Žze³æÌ% _æÍÅÔÔTû‚¥¥%5«WcÒä9|øÕªUeÇÎ]<{öŒjU«¼õ}y.Äñ£‡ô^ç›Þ}hѼ9 ê×Ó+hÖ¤ -ƧhT*K–-Çß_“ê$èÔiÜÝÝÈ•P?tøÁÁ·(î«Éýû«P«Õtü²‡ÁÃ#/yrç&**šIS~¤t©RdÏžˆÈH.]ºLùre133ãdÐ)Ö¯ßÈÜ9úwF !„B!>}ÀùÔé3†EYÊjžZ\\ËWüNîܹȟO“Wñ]Ö®[¿c zzRÐÓ“={÷is\¾I“&™9{Ož<%{öl¸¸ºP´höìÛO“Œý×®Û@«–-xœq»ô_U©RE¾;Ž˜ØXìlm9tøË—.ânÈ]ȾýX´d)ë׬¢k÷žT(_Ž®]:0tøH´¯9á"§R½J!„B|î フ‹ÏrÑÕÂyÍRøiþ´ èÔij¾cZ!„â¿ .>žÓgÎâW¢„aU–îܽGé’ÅK‰@2¤i:[ºÎ¦6Ø2iô3œÿŽ¿X~›!ƒÒ­kgV®ZÍ«Vãêšñ[J†Ìφö8HDd$í¾ÐÌ,R§§ûâwCBÈŸ±ðRV2ók:9;é•ש]‹±ã&ðèÑ#._¹Š¯nn¯mÒµyã:|Š5,~£Š+xò$ÎNÎT¯Z2Rm <”ððpΜ=ÇÐ!ƒ wËRÏÝØ·ÿ‹—.£RM^Џ‘ IDATè?£WîÔkؘ.;iƒÍB!„B!„BˆÏ'p~Ó ç7ù³ê¶mZ³â•ü¾rÞãVä5k×1jÄ0ê×{•cqÚô¬Y»žQ#†éµÕµvÝz .ôZ°ÕÔÔ”F °~ã&.^¼DÇ/__鯪\©"³çÌÅÚÚš ZZZRºT)–ý¶k++¼ 4Ü-KJ¥’©?N¢uÛY.T”)« jµšq&ÒºUK6mÞB«͵·ÿ¿f@!„B!„B!ÞÏ'pþ³ä?K©T2|è Š£†8:jJW§ëÝ:mddDhh(çÎ_àç9³°¶¶ÖÖµkÛ†^_÷fðÀþÚ22V§ô(”•«W³~ÃF~[¶D¯>SËÍèÔ¹¦ffT¯¦™‰œ•t•þ˜ oa3T¾\Y Œ……%å˕Ֆ׬Q™³æP£Fu½öïRÐÓ“î]»0eêOzåßýzuëR¡|9ˆˆˆ 2ò9ŽŽ±tÙr^¾ŒcüßSÄ»0aÓ†u˜˜˜àèàÀµë7hâߘôôô7æøB!„B!„BüH„îoª^­*>E‹2mú«•اN›Ž—·v[°h1kÖ®§N­šzÁf€R%ýpttdÏÞ}$&&âåíƒo‰RtìÜ•ØØlÙ¸áyWŠ)B¶lî4oÖô­Aä­ÛêéâÅK†MôXYYQÄÛ_Ÿ¢˜››kËkT¯Nì‹TªTQ[öÓŒYšÍ7±pqÖq€^=»cog§}žžžNPÐižËEuýÓ³ …B|ºdÑ@!„â¯1œ,#‹ !„†,ø“`ò›©T*š6oiXŒ‡‡sfÍ0,B!„B!„Bˆwú¤ÎâÍ”J%Û·n6,B!„B!„Bˆ¿Lr8 !„B!„B!„ø $à,„B!„B!„⃀³B!„B!„BˆBÎB!„B!>?ªTÃ!„B|pB!Ä'«îÜ@‚îE²ºýqžuçB ‹?¸Ç1‰øL8ˆ*] À¤=Á,:qß°Ù¿jΑ»Tš~Œª3Žó(:Á°Z¼ÅÇx>…ø'(c ‹„Bñ!„âŸU£V]?y€µµ5yóЫgjÕ¬aØôÿjï¾ý¤§§S¿^]êڵ§/™<„ócINSáfkN›’9èX6·aÓÿ›ÍŸÐ¬xvÃâOVÓâÙ17þxæ1܈cEÐCvö®€½… fÑØþ >¶ó)>gÏž3,úGåôE‘ƒqÜ3ÀŰZ!„“œ…BˆIófM‰çÀÁCôí?õkWQÄÛÛ°ÙÿEZZßÿ0ž2¥Ký§ÎçÆÐkÕ:–ËÃÐÚq¶6%$2…°åÿOHd<‹|VgowâÕ£˜$rØ[àfcfX%ÞÃÇv>ÅçC•žŽ¥……añ‡lX"„BˆHÎB!Ä¿¤_Ÿoqwwcò”©,_ñ;ÇPÄÛ›Ý{ö²tÙrg+½×É´4ðkÎ…’œšNµ‚ÎéDÚÓÒÕŒÙ~ócILM#¯“%ý‹ËÁ‚Ç1‰tùý½*çeQÀ}bSñÉnËo\¬5AÚS÷£™²7˜ð—Éx»ÛP)¿מ¾dZó¢:#нí:n¶æô©–-—žt/ G+Sv] C•®¦vaWF×÷ÒŽï· ‡¬:JbjÕ jfÉfCë’9 zÖ¤ïè±ê"£ë{1q·&H´ã›ò\zËä=·xˆ«)Ãꤜ‡#{¯‡3ëÐ]Â^$Qwn MŠeã›*o=÷uç2¥if¾ÃåÇ/ØÕ»<ÆF Æí æü£,L”t,›‹/3fÍÞvgKÎ?Œåbh,–¦JzTÊK+¿Úqo¸ð˜å'ò46 7[3~mWœ<Ž–o·®¥Þûšñr³~ëyÎêØ½küò|Þ{ɤ=Á<ŒN5”ÏçÈ”¦E´ïU!„B|zä^9!„â_–”œ€ÒX @jj*ÖÖÖôèÞJ+x’ÉS¦êíóÝ÷?°uÛv<<ò’3G~œ6ÅK–áí]˜ýûB÷^_óâÅKí>7m&àäIš7mÀª5kÙ¹k7¾>>*äŘQ#hÙ¼™v¿UT| 7ÃãhZ,›aU–‚îE1ãàæ¶öåø *r·að¦«Úú¹ìù­cIލLÛR9˜¸GܲÀûÌiSŒ€!U©UÈ•ñ;oèÕäw¶bdÝ‚d·³`oŸ ¬èTŠŠù8ÿ(–´Œ|LJ‚#ðt±âÈ­H®=y‰‰RAawkæ½Ç…G1lìQ–ƒªP*=W]$)-Ýà•4ý,zÀ¼¶Å94 ¥ó8pR'_µ±‘‚EÜÙúu9¨Œ‹µ‹^åå}›ÈùG1lêQ–Cý+°8àQ )ô]w‰ÞUó8¸*Ãëz±ô¤¦î}캆‡“%ûUbC²¹É¡àŽÝ‰déÉÌo_Œc«PÎÑÍ5)fÞ$,6‰¥˜ÛÆ— ÝË•Â7«/Ñ©|nW¡Oµüô_…¨øêz»1¤¶'y-ÙÛ§ßTñxç¹»óßTÉÇñA•q³5gà†+d³3çè€Ê,ýÒ…'îsâîsmû%èYÙƒ€ÁU˜àïÍÄ=ÁçY÷ØezÛø ýó9ºëÎ=fØækX›3´Ž'~¹ìõÚ !„BˆO‹œ…BˆÉÑCpwן5º{Ï^fΞƒ¯¯‹Î']¥¢Mû/ôÚ(•¯f*ÚÙÙbbb‚R©déâ…ëÔåÈñ*§¬‰É›ƒ²ŠŒ™’*•ʰê£åheJ>g+v]{FŸjÖ†Õ¯q±1ã‹Üö|[õU¾çL‹îsàæ3´/£•)÷žÇãÿk^£÷]ˆ0‹ ËçsdÛå§„Æ$R«+fÆF”ÎãÀ¡à.>ŠaRÍb‘9ì-IÄËíÕûy›¬Í5¬ËÙÚŒgq¯fèzáÑÛ®“ÍΜeKbflÄúóÙ¥pôr>ër²2#ü…&}C¦÷ 6óŽcådeª èfÒM)qn„f¶}¦Ç1šY·ºcu±1£HvV|UJ§å›½íÜgÒ³³µ)J#{ûTÄÌ8ë3f²âheJhƸuý™q¿ï5óWÏóÛÆoèïœO¥BA»R9i[*'Û/?¥ÇÊ œTEo¶µB!„ø´dýô'Äßßÿ½6!„âc˜¨™©¬JSÁêµë ›¼ÆÄĄ͛’””ÄÏó~áâåËœ:s†e¿­ÀÎN웸ºhú <Ä”©?±xÉ2Ã&¥5 °ìäÜçÙËd’RU<ˆJàaÔëé.šËÆús¹ô85”–Ε'/ cFj^'+­LQÛ.ëìþ K"â’yŸBºZ3 ºB>G®?}ÉÙ1T÷ÒëjYqê!¹-µ õ5+–eˆJÐì»âÔC¬ÌŒ)‘ëõÙ²µ ¹°ír!‘ñ¨ƒÁÜ~§­–±ØŸ™±I©*v_ ×Ûÿmªx:q;"ž#·5Aç‡Q ì¹þ*ÄßQ§°+Û.?åAÆ9:z;RoÜï£FAîF$°åÒÒÒÕ¨ÒՇǑ˜šõ&o;÷YÉãhIÑì¶LÝ›¸ä4Ôï§±šŸÏw©ëíÊΫaÜ C „Æ$ò2)íOû}¯™¿sž?„wÏ ¡±$¥¥£ÈXHP•®Î2'¹B!„øt|3œ·mÛfX¤GÎͼ_æsëömfÏœnX%„â/jØ ‡áø‰FŽþŽ6­ZR£z5‚ƒo6Õ3jÄpìííÙ¶}?Ný KKKJ•*‰‘‘ééïîäÏŸ.;±yËVÖ­ß@Ó&ÿÏÆj™Û¦‹OÜcIà’ÓÒq±6cHíävÔO#PÞÑ!µ=ù~ÇMžÄ$ba¢¤ZAg|²ÛÒ©\nFn½F“ùAؙӬxvlÌÿÚ¯I…Ým¨çíJÓùA¸Ú˜±±GY\¬Íp·5ÃÂD©MáP¥€cwÜà«òy´ûv.Ÿ‡ä´tÚ.9Crj:…Ü­™×ÖSåësjråÞóz¬ºHjZ:5¼\h¢³€âˆº^LÜÌúó±³0¡ž·ë{#]¬Í˜ÕÒ‡iûo3vÇ ¹ÛP¿ˆ:9ÿª^.Ü{O·?. P@5OgÊäÕ¤xy_ŽV¦,ìP‚iûo1yï-”F ºZ3»•/YÌœ}Û¹“Y­|™ºïuæžÙíÌÓ°ð{å ¯UÈ•°É XY›žd~»âär°xïq¿ï5ówÎó‡ð®ó¹çZ8ý×]ÆX©ÀÖܘïz¯8B!„â¿+ó9Ý囑ΦÔÙŒSÀ0ËØÌÏœ»X ¿‡NwY³W§NŸ¡l™Ò†ÅŠ¿¿ÿ{œßÕ&Sç®=8~âxyd@¿¾T¬PþµúLƒ  WîÚçûäëÞ}Ø·g'ù<^«‹/ѲM;ímÒvvvø•(Î×={P¬˜¯¶]æklÛ¼oïÂÚr€M›·0tøHºvé̈aCðö)NJFÐLÖ®¦xñbze–œ…Ÿ»ƒ‡PÒÏsçÏS®l‚N¦\Ù2XYê;ÿK©*„ÈʬCw‰NHá‡Fú¿{|í—ž¡}é\Ú¼Äâ¿MΧxº©¡ââã9}æ,–¯§ú'ùø…ŒÏïšÕ«V !„ÿ9™Ÿ©~%JVeéÎÝ{”.Y¼$$)@*¦³¥ëljƒ-“öñëÓeÄ; :„;Á× 8v„Z5ªÓë›Þ¼xñR[?tÈ ‚¯_Ñn=»wÓÛõšµø•(ÁšµëõÊÉb_¿ÂÍk—Ù¶y#Å|}éбǎ뱋ùú°nÃF½2€uë7PÈË˰˜ëÖèéï›…Bñi;r;’„Í%w#âØvù)e=^-š÷WEÆ%s14–ÔŒ…G‡_î×Ó†ˆŸœO!„Baè¯Ý+*°µµá«Ž_òÓŒY<~ò[[M ×HaôÚ7ö™B?æÒ¥Ë¬^õ;¾ìÄàý15Õ_IœŒ…\ÜÝÝøºWÒÓÓ?aû÷îÒÖׯWù 1bØÌÌ4·YÞ !,,œÊ•+êô¤a¤|ó˜2¥¥¥1lÄ(Ξ=GBb"ùóy0íÇÉäÊ• €ã'N0yÊ4ÂÂÃ(Z¤ ä×ÛÿÜùóLš2•»wC°¶¶¢C»vôêÙ]»(ÍÚuëY´x)Ož>ÅÍÍeK’7Ï«[B…Bˆ?ÃgÂAÃ"ñ¶ù*Ã6_5,þ êÎ 4,ÿao;ŸWF×4,B!„Ÿ>à|êôâ,ýÝÔE\\ËWüNîܹȟïÝiDȺúû7¦ §'==Ù³wþ6ÓÓ¤IcfΞÓ'OÉž]“›ÑÅÕ…¢E‹°gß~šdì¿vÝZµlÁã'O zx?ÆÆÆ4nÔ‰ãÀÄÄ„þó˯ ˜>Ü»wŸÜl!„⯠•B!„B||>ú€ó¿H~—iÓg0cÖlRSS©X¡<+Wü¦7KyÊÔiL™:Mû|ͪ?(UÒ•Jņ ›X±|)mZ·dõÚuï 8;:h^‰ÕœQ«iÙ¼kÖ®§IãF¤¦¦²mûv¶nÚÀ¬9?ëw4kÑZûX©T|ýŠ^}¦jU«hW©R™­[·pôè1òåËGÃõ(RÄ›zõêòò¥&•ȃÉ“;7Mü#{vztëʆ›ù¢C{¶mßAë–-´ùc<= h_G!„B!„BñiøèΣ!ƒÒ­kgV®ZÍ«Vãêê¢W?|èºuí¬WFÆb‘‘´û¢#êôtb_¼ànHùóå3l®õ(4'g'½ò:µk1vÜ=zÄå+WñõñÁÍÍM¯M¦Í×áST³ Æ›<‹ˆ`Þ¼_¹zý:¨ÕDÇÄàî®YìåÙ³rdÏ®×>›»»6àüüyîîú¯3gN"ŸGIñb’7Z!„B!„BˆOÙg»h ¿¿¿vû«Ú¶iMzz:¿¯\eX•¥5k×1jÄ0vlÝÌŽ­›Ù¹}+Müg¹x ®µëÖS¸p!\]ôÛ¦¦¦4jØ€õ7±vÝzZ·j©Wÿg >’Ô´4Výþׯ¥{×®Ú:gÂÃÃõÚGGGkçÌ•“ÐÐÇzõOž¥F»víþrÀ zµªø-Ê´é3™ÖÝŒt6¥Îf ˜&€YÆf~æÜÅÀù=tºËš½­aÑkN>ó· |[ÊŒ¿lBñy;xø%ýü8wþ<åÊ– èÔiÊ•-ƒ•¥¥^[Ý»K„BˆÏád™¸øxNŸ9‹¥……^ù?ÍÇG³ÎMЩÓÔ¬^ͰZ!„øÏÉüLõ+Q°*KwîÞ£tÉâ%D HR4-]gSl™´?ùÎÛ¶m3,B!„B!„BñÎB!„B!„B!> 8 !„™VmÛãåíÃí;w «¸vý:å*VaüÄÉLŸ1 /oþX¹Ê°)7oãåíC«¶í «> {¯‡ÓkÕÃâ,=ŽIÄgÂATéºw†½bX?iO0‹NÜ7l–¥-—žÒqùYÃâ¦îÜ@‚îi1½í:s„6ÿ 9GîRiú1ªÎ8ΣèÃêÿÃëû¿ ÅÂSœ{cX,²°àø=†lº @Ø‹$jÌ:ARª¤{B!ć'g!„â_pñâ%z~Ý›r«P̯4 7aî¼_ ›eÉ‚ܹsáææjXõÙéµêËO>0,¦ÍâÓl¹ô¿Üöt©×°ÉÑ´xvjr1,þË6_|bX$þîFı"è!{”e_ߊärÐÏáþ©ŠNHåÈ­HÃâÿ«¾ÕóSÐUQîɇïl6LnRW3ƒž5©+ÜlÍéS-¿=dÕ™PSÓ¨^P3ó¹H6Z—Ì }OÞ{‹ƒ7Ÿ‘ª¢NaWÆ4(Äýç ô]w™Ç1‰Ôˆ›©v¼º–ÞgË¥§¼HJÃÎÜ„au<©˜ßɰÙ[={™Ì¤=Áœ~R¡ ZAg†Ö)ˆ™æ× ¡±LÛw‹[Ïâ°23fdÝ‚Ôõv#üe2SöÞÒ¦íhQ";ƒkyÒ{Í%Jç±§Sù<Ú×(óã~ïT /7kFo»Ž_n{Î=Œaÿg|ß°ÅsÚÑcÕEF×÷bâî`v|SžKc™¼ç¢qµ1eX‚”óp„Œ”!ýjäç·“xH6;sF7(D‰œv¤¨Ò™sø.;®„ŸœF!w~ûª$F ›/>aQÀ}^$¥QÈÍš&‡½±‰©ü°ó&BcIU¥“×Ñ’9­}q´2Õ¾€TU:³3úNQ¥SØÍ†Qõ½ÈçlÅÞëáÌ:t—°IÔH“bÙø¦Š‡ÞþÇîDòËÑÂ_¦`¤€¥sѥ«ã•ém㉌KfÜ®`Î?ŠÁÂDIDz¹ø²lnD%0iO0w#âIU©)çáÀoL”Fl¹ô”‹¡1äu´dÙɇT÷rflÃÂl¸ð˜å'ò46 7[3~mWc#Å{_ÿ»®…3÷H©ªt‚îES§°+ƒjxë8³ºRUj‚îEaefÌþá( zVÊ‹… óކJ‰\vüج¨öÕUwn ?4*D9G¶\zJн(­LÙu5 UºšÚ…]]ß #Åë_¼½íçiô¶ëx8[rþa,Cc±4UÒ£R±=€ IDAT^Zùå`Α»ÜyϜ־ھæ¾ËígqÌmSL[ö¦cô¦ëüØHÆl»Áæžeq´2åaTm—œaa‡LÛ›g/“é°üJ…‚_ùáfkþÆk $ŠŸößÒþ_—ßåÕLðÇ1‰Ôû9‹#k°÷Ƴ,Ç)„BñW½þ[›B!þ1!÷îñàÁCìííiÛº•^R©¹µ9Óü‹hÔ¨!A§NqôØqæüã ]YS!„âïø|îùB!>QÏ5³CÝÝ\12zûÇððaC3jcÇŒ øÖ-Ã&Y:pðÇcÜØï˜ñÓTÃ&Ÿ”ùÇïSmæq½-øYœa3ŽÞŠ$¿³•6øTÀÅŠz:·•gú²L.L”F˜*¨VЙûÏã ›¼fϵg4+–'MŠúEÜ^K·ájcF#wÈÈ¡Z"—=÷Ÿ¿ÿs~¹ìµÈÊœ N4lòV÷Ÿ'põÉ ú×È™±–¦JÕòäàÍ^&§qøV$y,iQ";ÆF Ümͱ·0áþón†Å1¸–'ÖfÆØ˜kgQ¾â¹ìhå—k3cL”šë>E•ÎÚžx8Yan¢äÈ­H²Û™iÏG /­L9™1£ }é\¸Ù˜¡êz»¢sìv^ £wÕ|d·³ÀÌØH{ì·^~Š¿o6ò»X£È8·WŸ¼ üe2¹-¸üøGoE¢Î˜ž•m—ŸÒ£’NV¦)ôªâAršŠS:c{›|ÎVÚÙ¥^nÖ¸X›ñ$6ɰÙÇó(:‹¡±|[5J#¹,¨áå›ϰ63¦L^” 6æÆÏi§wm(P0ª¾ŽV¦˜±óJÍKd§xN;Œäw¶Ò›üW®Þcœ¼áZÈåhI횟ÉêQ)hW:V¦ÆX™S>Ÿ#ßs!Fw;sZùå@i¤ÀÍÆììÝwtTU×Àáß”d&½¡$$ЃҥWQETŠ"V,ŸXÛ ŠbCôEAQ°ð J“‚tÐ @ …ô^&™òý1ɹ™p?kÍZÉ9çÞœ¹÷N2Ù³ï>Ä4ö&!Óñüëz=õŽ  mCO:7õÁËʼns9%„x¹Ð¹™Ë]`ÿ¹\JËMôŠð·ÛÞ‘º®óIý›“YÌcßÅ¢R©x¨– {m×ö¶ÓY4ósept* e°+ޱB!ÄßM2œ…Bˆ+ÈËÛzûFf&‹•ƒÛ¼+EEFàíã @yYý2J³2³³ÞÖߤ‰õvöëÕè.¹;&Ä®í‘űvßWÊ(4ز+ù»;“Sllƒ«džjÕjÌf‹]¿#…Z‡Ø,e‚<í¿×ªUXêÞ5Td^ÏÛ~–íñY”›-Mf깩MNq9î:-îUJ4ôÖc¶XÈ-.#³Ð@ƒÒ!YEe¸é´¸:Ûgá×Ä¢xRá5Ô¹næwqq½´üR2‹éýá6[›Áh¦ ôbÍÚªçN«Vaªr^²ŠÊª•}HÏ7°9.“UG¬ÁA' ù¥F†¶ÆËʼn/·Ÿeƺ“LèÑ”»:4´ÛžŠ¬Ôà*?[„xéÉ**³W“_¦±46…Bƒ]T†ÙÁ‰¯i>éÖŸs뜶±å& Ýí٪GRò™¿3‘Ô¼RT@rn)#o°–qõqA[¥–{famZ9r)×?Pç<©áZðuu²}­V©ÐªUøUÉ4תÕMõ›C {õטÉl×õ|=+^¯NjÆŠÝݱïo8Ńݚ°êÈnmlwŒkR×u®wÒ0êÆFL_Çì{Ú9,R©¶k;£À@ˆ"ƒ>ÈCg÷zB!„ø»HÀY!„¸‚ÂÃÂðõõ%++›å+VrÛ°[m}Ê´“óÅ ÌŸáëçK™3œ;ŸDhh()©©Ê!×W'5þ‚LŽø¹éHËÏ´kS›4µyjâçæl ¸UÊV$kÝom}Àü‰l8‘ÎÜQðusæLVÃæìR«Uˆ·žƒ‘¼’r¼\¬×WJn •5›ÙÏÍ™ó²¦}\È/-§ ÔXm6µÚº Y¥üÒrJö¾š>X©L ðÐÑ*ă…cª×®®TÃi…Š9&å”x±N-û½¿±7Oö²ÖÙVêîg«ãýØwhìëJ§&ö‹L6ôv!)·„¨ ‹ûNÍ3Ô+Ëû`r¯¯:ÎÂ1ÖšÖ}>ú]9ÌÆÑ|‚®NdȪ!û5³°Œ¦~nøº9cÛíüF‡Žîa¾|ú[e&3%å&>Ûv–!­­uˆ{Eøs>§„UG.X³žKÊIÎ-!ÌßÈ@w>ù-R£™R£™ø ëskìc]X­rÎKcS?µ~úFŸQÌÏS0š-˜ÌâÒ ))·_L³&ƒ¢ƒX°3‘¬¢2[b€ÛÚ5`ɾd&çaJf§äp2½ÐöCc_¼\œ(2TÏÞ® v$’]l=7 wŸÃM§¥ChÍYÂ•Ò xè°föþŸEf¡A9 j™O_WZ‡xòîúSŒX*}KÍ+¥È`¢È`¤}#¯ŠìævŸÍQîÚΠè@V¹À‰´B,@RnÉ%e¾z¹h9•^ˆÑlÁl±Ô:Ï«Í_}=iT*îh߀™ëOÒÐÛ…æçWIyŒêºÎ_[qœ!­‚xyP$nÌÜpg7g-ÇӬ׵¥Žk»Gs?Ng±). ŸQXëï:å<…B!þ ÉpB!®°w݉‡‡ ¾^ÈÁC‡1™biBtËÊ¡—äûGq>é<«VÿÊšuëxuÊd^sšrØ¿R€»ŽîjÃÌõ§x}åqZ{0¤UŽ€FߨÎd1þÛ¨TÐ;ŸNMí3ekÓ2؃ÁÑÜþÙ.=tü4¡³]ÿØ.yå—£ÜöÙ.¼ôZ†·©–m\oßÞš·×Æ1ðãíhÔ*njîÇsý­‹yêùøî¶|°ñ4¯¯<Ž«NËÔ!Q4ôvaÖÝmykM½?°–yC#žéëθ®™²üÃçîÆÅIMæþ¶zņ¯›3Ÿß×™ëOòöÚ“hÔ*"Ý™5¢-. ÖæÙ¾á¼·á4ÃçÜLt°_éH×f¾¸³ ïo<Í”LjöàN¡¿P œ"Ô0O!„BˆKUù¶²êÛK•â¡®òÐTyhgÀ ÐU<ô{÷Åîhn­Yo/ëµÙ½g/;ݨlB!® 7o¡cL ûöï§KçNìÚ½‡.;áæz±6-€ÉT¿,Mqå}´)žœâ2Þ¸¥¥²ë/5/£n µ-(„¸~$fs×{ØôL<ªÔEõ£ÑØTXTÄž½àêRw©šwf¾‡Ùì 8w/>?©ÎÅyÚ´i ¿ûõ±Þ!$„B\Ë*ÿ¦Ætè ìrètünìØ¾#P€2 0Vy˜«<,ŠG%Û×òÎH!„ÿ*[NeÒ©‰®Îâ3 Y~(•I¬¾Ef¡¤ÜRZ5ð@«Q³).ƒ¸´Bb×]vAqm)7™yÃiîê"ÁæÀÑ£ÇuïHe³Íâï¾W6 !„â º®ßMœü®² €ÙÓ_P6 !„âÓfÚFeÓ%{qÙ^T,´v¹ š½CÙ$„¸Ž|»ç¼²éšvxJ?eÓUiÐÀ5.ìøýK”MB!„¸‚®ë€³–…Bˆë×µBqy¹º¸››‹Oõ:ù•%¬êSNC!„ë:à|¹õ0ˆsçg0ìܾ•}÷=ßÿgÑ9ëh×®-O=ùíÚµµ÷жïØJ¥ÂÉɉFrëС<<þAœmãJJJ˜5ûÖ¬]Ozz:Þ^^ôêyÏ>û4¶qU-ùi)#î¼CÙìÐá#Gprr¢E”, "„B!„¸64h©S§éä`½Ÿø„xª/þ)„Bˆ+çº8×TR£&ueD¯_³ÚöuûŽøjþ´o×*½˜ùÞ¬\µš7^•Ž1ÈËÏgÕê_¹Ì8¾^0Ï®X÷ “žcüCã0 žõ!ݺv¡¼¼œÛ†ßÅÈ{îæ|Rë7ldç®Ý|ðá,^~éXefB!„BqõéÓ§G㥗_¡u«VøûSXTÄÁCGhØ0„[oªÜD!„WÐUpÞ½g¯²É¡În§º’öìÙ‹ŸŸŸ-Ø\ÕÁƒùæÛÅ”••̨ٕÊÓÓƒ>½{±cçN†Ýz ;wí¢{·n¶`s%•JÅàùmë6»€sDDs^›:…×ßü›Ö¯µµ¿ùÆk¼üÊV¯ü…9Ÿ}NPPÜ? •JÅþ}ÿ}Ü6ìVÛx!„B!„¸š©Õjžzò b"6ö YÙ9¸¹¹1úþQtîÜIê7 !„ÿ°«:àüWƒÈ5•ԸܙÏyyùøùV_´ 0 ³ÙLnn.Ên¡bUo«*00€ììle³C7̦Í[x쉉œ]»t¦_ß>PQ cÁW y쉉¼ôâ󄇅‘––Æ?ûœ Ò;ú^}ý D·®]ðññ!##ƒÌÌ,|}}P«ÕÌ_ð…üç×hÝ’ÿ›ôò0ec•JEDóæ<8nœ²K!„WˆD/£)¯¼Ì˜Ñ÷3í­·‰¹±3½ú`Ë–ßXðå»OÙ„J¥bÜØ1Œ;FÙegÁ—Ÿ+›òððàÕ)“yuÊdeT¬Î¼nÍÅ@±J¥â·§ÛÙ¿w·]ÿWóçÙ¾ïÃúµ«mß !„¸rbc2gîç›Ãç¿Ÿáø…Œ& aþ®<й1C[ÛÆä—s0)Þ‘~éç£Õ‚o;&õÂCïømÙo§2™¼ü“úGp{»¶öŸ¤ðúªãvcghKߨêë5<Õ'œÈ@weó¿Âúãét óÅ]g=¾1½ñquV»,ïëٲ؆·Q6ÛLû5Ž©C¢è×"£ÉqùƒKñþ$~ܗ̹œtZ5mB¿¯íy9<ï&‹…‡ &Ô›_í‚»N[cIqõS«58úmgÌf ;vîäàÁC¼ðüsÊ!B!„¸þ¾ÿÄ„BáЛÓÞÂh4òÚ«S5ò[»Éd²·uÛ6&>ý,©.pã ykÚð÷÷cÇÎ]Œ{èaúõíÃ?ùØn£ÑÈ;3ßcùŠU8;;Ûêþ_ï<ôZîïÊÇ›ãIÍ/ÅCïNf¡7WDZÿ|..NFwåΡ" 6í×8¶œÌÄÕYã75cÑÞ$>¸³5aþnÊÝÛù`c<õlÆÈÙÚ´ D­VñÒ²#Üݱ[Ne2{Kå&3»Îä0°e ÏõoNV¡ Oà sU* Ìß•Çz6câ•Ýd•àQ÷~ÍÞÁ·´ K3_~>˜Ê®3Ùøº9³úÈLf Z2eHjÅ‚Âɹ%Œ]¸Ÿ‡»7aÁÎsŒÜÔÜŸWGâ®Ó’œ[„űLÅô_ãXùx×Zû”åÇõqaÿù\ަàçæÌ³ýšÓ»"(ž˜]Ì[kâˆÏ(¢Üd¡K3¦ ‹ÆI£æçƒ©Ä&åÒÔו;ÏÑ'ÊŸ)CZ0uÅ1öŸË£¤ÜHS?W¦kEˆ—ž¿ÙOzû¾Ú‡F¥bá˜vžÉaéd޽€ôo­‰cOb•ŠÞ‘þ¼00Šç÷à7xô¦¦|±ý,¹%å´ ñdÚ°èjAëÕGÓžïIyÌ\w’3YŸé´ÜÓñ=šV –™-foI`åá ””›ðssfò(:5ñá‰ïrcoÛÞÙÂ7co *ȽÎcZW¹É̬Íñ¬<|2“™–ALe{LY~Œ˜ÆÞì;—Ëúãé<Ú³?H!9·„A³wäál;žñ™EL]~ €‘_î%Ìß•¹£:Ôz¬©¸NgÜÞŠY›Os(9ŸÕOt%Øóâ¢Û™…¾Ú™È¢o Uk6³‡NËCÝš’QXÆO±àŽÏ{lRNϸXfAyĵã¾Q#•Mì=ÈèîàÑÇŸTv !„â ‘€³Bq%œ9Cbâ9¼½½y÷»>Fc÷ýgs¿à–[†²k÷n~Ûº?ù”7_ÕnŒ#ß.þŽ…ß,Âßß>½{±hñwÊ!×¥Bƒ‘o÷œ'ÔÇ•¦~®üßÿÓ²'¿Ýu)y¥Œš¿—fþnô÷ãÃñ$ç–°vb7tZ ï¬;IBF¡r·Õd•ŸQè°tEŸHŒf ±IyÜÜ*ˆ“i…ä—ñÆ--mc ËL<»ä0¥å&üÝuŒˆ ±c•noç8{”ŠçûëÑ |µóz'5ý¢x¦os\í¯#GV¹ÀÔ›[°ñéd•qï—{éæKÿÕË´\È/%!«˜åu¡¤ÜÄ“?äÃMñLeíÏ+eþŽDfßÓ–ÁÁÚŽ;À¢½ç™ÿ@GÂÜØp"I?fùc]ñrÁÏÍ™‡º5¥coŠ &îùr/kŽ¥qkk9‘Mqô‹ dÙ#qÕiѪUÜÜ*˜×†¶ÄI£â…¥GøbûYÞ¼¥%Ÿß×flfÑØŽU \VõÌ’CD7ðdó37a2[xî§Ã¼¶ò8ÜÙ€”¼öŸÏeé„ΠRñô™·=±Z)Gç;«¨Œ'¾‹å•ÁQÜÜ:ˆ ù¥Œùz?îz-÷Vù°`ß¹\VIcÙ#q×iIÌ.ÆÇÕÉnLmj;¦uõúÛœÏå§ ñqubî¶³<²8–wE¯µf&ÏÚÏ“½ÃxyP$:­š¨@w¦¯9Éê'º*fáþnÌÕnïýÆã;ÙžG]ÇàõUÇ™<8ŠV!¸:Ûÿ«òǹ\üÜmÁ檵 bñžó͇ç}ç™3´ öä™%‡ˆK+ÄËʼnÿëלNM}”»×°~}ú R©0™LøûYß!„âÊ»<÷¶ !„¢^²³¬õ†ƒƒQ«kÿ3üÒ‹Ï3uò˼>u q'O*‡8´aã&¦ÿçMÞ|ýU>x¯î5 ®emާãÛ›é6ó7öŸËeþpÖ¨9ŸSLlROö C£VêãBߨ6œH`ÉtêÖO½:­šÇz6«×-öy%åø:¨¬V©ðsבS\¦ì²ùq|'V?Ñ•mÏõäõ[ZðÅö³¬8l]øÏ˜:$Šuå÷I=™ÿ@ ÇR ˜±®~×H°—ž1 ѨUyèˆiìMBf‘r˜Íƒ]›à¤Qã©wâ‘ÍØpÜz ÊLfžA3?7ôNš:;@¿¨@š¸¡´$2Э§²p×iéÔÔJ…‡^KûF^$唨¶U¡bò(|ÝœmÁЛšû¡×ªÑ¨Tô÷#¹GŒä… IDATÊøÚœÍ*æHJ>Ïô G§Uãê¬á¹þl<‘AÁh7¡G3ôNôZ5}£j=VUmŠË ÔÇ…[Ú£V©ñra\ׯü›¢J ‡ŽC9ËbS(*3ÒÄ×O}ýεÓºú—JeBfø¹9£V©x´g3 F»ÏX_´õbDLCÜuÚK*Qßc="¦!šúàæ¬­–œ_RŽ·‹ãcâïî„¥ÊëSéB^)ÛNgòdïpV?Ù»5á©Õ8^\ÝrrrÈήþؽgyyy¨ÕjÞšþåfB!„¸B$ÃY!„¸‚¼¼½ÈÈÌÄb± R”0¨**ÒšAéíã @yYý#Y™Ö RxX3š4qœ={½x¦O8c»6áû?’øþ$[©ƒôkÐ÷Ö9;mcËMº‡[Ì-.§×Ŭ×wšZÎG¥ ŠzÊÙÅeÕêD›-òKÊk]”®jÀ,&Ô›;;4dë©,[o}é4è¬ÙÌM|]y¬W“9ªæP ¢„V­¢¶5ݼªÌ9ÈSOvqFóÅð|³ŠŒrêqÜQì ØSOF¡u»#)ùÌß™Hj^)* 9·Ô®tI¨ Ú*eD2 ÌÝv–c©ùG#A5ÿªrŠËq×ií–kè­Çl±[\f+1\¥†¶V­®÷xÙEeÕ2«ù¸U\ýµÜÄוoÆtä‹í‰|þûnoÂÄ>a8×ܵXì?©í˜ÖÕŸ]\fWºB„xéÉ*º¸}xefêR×±®,«Q[9›@O=¹5ˆsKŒhT*ý ½]HÊ-!*ÈúZHÍ3ÐÐÛZŽƒŠ€­å÷u¨ëXWRžßªZ¹“YXÆÑÔüje56žÈ m#OôZ5e>hìëj@0Í5^£âê6Þ\ýº~ñåÉL{óuΜaÎgs%à,„BüCä–Bq©Õjþï™§ âãq=ÌK¯Lá¾Ñc™ñî{Êá—¤oïÞLžú*oÏx—IÏ¿¤r]Ò¨U<׿9ÿÝš@vqM|]iâÉ»ëOQh0b©X/5Ïxë×"yÛÏ’_ZŽÉlañÞ$»ý-Þ{žE{ÎÛµUz¦o8s¶žaÉþdòKË))7ñÛ©L¦®8Î#75µeqz¹h9•^ˆÑlÁl±Yh`S\EeFŒf Ûã³øé@ ·¶ †:~¦Ò/‡RÉ**ÃÄgòáÆS¶ý\n_ï>O™ÉL¡ÁÈÜßÏ0 eõZÏ•ê:îÛNgq2ÝZ/{ͱ4â3‹éáO‘ÁD‘ÁHûF^ÙÍ%ì>›SeïÕ¥ˆö@§USZnâ×£i¶>g7g-ÇÓ¬?KŸ òÐÑ=Ì—OK Ìd¦¤ÜÄgÛÎ2¤uÐ%•Pžïžþd—³ª"~!¿”ïþHrX›;5¯”Äìb|ÜœiäãBaE©‰Æ>®ì?—‡¹"¶ÔAIŽšŽi}ú‡·kÀ‚‰d—a¶XX¸ûn:-B­wd8âãêDF¡¬"ë6u¹Ç:ØSϽ76â¹ŸŽ°óL6¥å&rKÊùf÷9í=ϳ}­ ::ïwvaÙÁöËÅd±ð¿É”™Ìt½”×­Ö '§ê¦M£×ëi±üb©!„B\Y’á,„B\a#îº|½ƒ‡c2ÅÒ0$„è–-”C/É÷â|ÒyV­þ•5ëÖñê”ɼþæ4å°ëRÏæþ´jàɬMñ¼qKK>Ñ–w×dàìí˜Íâ¥cêЖ4ðÒóTŸ0ÞZs’›?݉‹“† =šÚ•/8‘Vè0ƒ ‹@ôN>ßv†™ëOQRnÂËʼnD0¬íÅÒÃÚ4`S\½>ØÆVA<Ö³‹÷žgêŠã”™Ì4öqáÕ›£èÔĺpYm?Siÿ¹\>Üxš"ƒ_7·µ æ‘›¬eT.''špW†ÍÙE^I9ÝÂ|™4ÀØ«ImÇ`Pt 3×Ÿâø…<õN¼s{+B}¬Ù´“DðÄ÷ñqu¢—žá‚³U½<(ŠékâX²?/'GÚŸîΛ«Nððõè»mÞ¾½5o¯càÇÛѨUÜÔÜçú×þüj¢<ßS†DñÙ½íykM3ÖžÄC¯eDLC†·¯þœòJ¼ôóQ² ¸é´Dºóüký¸®™²üÃçîÆÅIMæþ„\ÌF¦ŽcZWÿ¸®M0ÍŒür/†r3-‚ÝùtdÛËy´ ö`pt ·¶‹@?Mè¬RÍå8Ö/Œ$ÄKÏ;ëNq.»˜r“™ˆ7æÝßv /È•ç=2Ðéâ™öë ’sK ówåÓ{ÚÙꀋëÃSŸÀl63~üƒÊn!„B\!•7­U½yM¥x¨«<4UZÀptýÞ}±;š‡×ýÏŽ·WõÕ¥…BˆkÉÆÍ[èþýûéÒ¹»vï¡KçN¸¹^¬i `2™ì¾W§öÓ7±ô‘ε֑u$.­q ÷ñl¿æŒˆi¨ì¾f%ç–0ø“ÄNî[¯úÖõ1eù1‚½ô<Ù+LÙ%.Q]Ç´®þkÙ²Øfn8Å÷u¨VfC\Ý4û@…EEìÙû®.?(¹Ú´i ¿ûõ±Þ!$„B\Ë*ÿ¦Ætè ìrètünìØ¾#P€2 0Vy˜«<,ŠG%Û×ò‘¾B!Ä_äÎG#Úòκ“üï@²²ûÚWϬëúªo·¨¿ºŽi]ýתáíCÛ¥1/:ÀÑÔe·B!„øHI !„B\“ÚLÛ¨lº,nûl—²éOycÕ ÞXuBÙ|MkÿÖ&eÓ_öùïg”Mâ/ªë˜ÖÕ­ùåeS½žÒOÙ$„B!þ 8 !„âš$A"!„B!„¸úHI !„B!„B!„—…œ…B!„B!„B\pB!„B!„BqYHÀY!„B!„B!Äe!g!„B!„B!„—…œ…B!„B!„B\pB!„B!„BqYHÀY!„B!„B!Äe!g!„â_Î`0݆ÎÝnRv‰«È…üRú~ô;¥å&e—Cƒfï`×™le³Í”åǘ½%€µÇÒxtñ凒sKh3m#&³EÙuYT×ÏSýÕÊ!âo´þD:ý?ÞN÷÷¶²êÈe÷5£®ëÿjóg^ƒB!„W;­²A!„¯¾ý‘œ’€F£! ÀŸž7ÝÄ+/½€‹‹‹r¸¸ üoé2îºc¸²ù/yñåÉDFDðЃc™·ý,ÎçñéÈvvcÞßpšœâ2¦ ‹Æß]Ç‹#Ð;iìÆ\1½ñquV6_²õÇÓéæ‹»NÞj^k¦ýÇÔ!QôkˆÑdVv_·–Ŧ0¼}ˆ²ùйܝA!„Bˆ’d8 !„ÿ±cF3nìhÔj5?.ù~ô±rÈ¥ÑÈÛGâøü‹yÊæ¿dûŽˆe옔]5ÒªU ŠR6_î::5õQ6_“ÅÂŒu')2•]â*WTf$»¨Œ¡Þ¨§Éï„„Ì"æíHT6_Q—ó5(„BñO“´!„â2nÌh‚ƒƒh×¶-Ÿ~–“§NðþñÅ—óYµâg^}í :̆µ¿r 6–ù ¾"1ñåF#Ú·ãÍ7^£QÆlû};ã'<Êä—_â÷íÛÙµ{¾¾><ñØ£Œ¸ëNÊÊÊøäÓ9¬XµŠŒŒL‚‚‚xaÒÿÑ»WOô:=Ïþ”ÿ-]†¡´”[oÊ+/½ˆZ}õúöÄÓO=i=.çÎÓªU4¯M̬?a÷ž½¸»»1éÿžå–¡7°å·­Ìþ俤¥¥¡R«ýÀ}<üЃ,_¹ŠÏ>ûœ¬ìlôzãÆŽ¡G·n<>ñ)’’’éÛAAA|·h!F£‘÷?œÅò+0›- èßW^z½^ÏÒe?³ÿ@,Íš6eÞüôëÛ‡io¾n7ï~\Â=#F ÑÔ?[99·„ÁŸì ö•¾hÔ*JËM¼½ö$[Nf¢sRs§P–H჻ÚæïÀÑÔ|>ØxšäÜRüÝyõætlì­Ü5?Leéd޽€Ýgs˜±6Ž´ÑÁô÷ãhj3ïh €F­bil _í:GvQÑ ‘Äg1uù1F~¹—0WæŽê`·mbv1o­‰#>£ˆr“….Í|˜6,ºZ`º¶ùÍfmŠgÅáT,è×"€F¢×ª1š-L]qŒýçò()7ÒÔÏ•éÃZêãBrn Ç2eHÓ`åã]9”ÇÌu'9™^ˆ›NË+ƒ"mÌÔçúÏ,â©‘œ[ Ù;òpfáØjgmד½›ñÕÎsœÏ)!º“‡´à“-ñì=›ƒ›N˳ýšss«êU} &ç–ðà7xô¦¦|±ý,¹%å´ ñdÚ°hÜuÊMk=/µ]o»ÏæðÒ²£l|¦ZµõÚۑ͋ˎ°é™ÕΫB!D}IÀY!„ø‡¤¥¥QT\ĺõèÞ½›­Ïb±0ê¾ÑDD4' ÀŸòòrÜÝÝ™ððx:ĺõx{Æ»|:{–m»·f¼C·®]vë-ü´t¯½ñztïNƒÁL{ßÿ°„ð°0îy7 giÒØHNIaͺu 8€_–¯à›oÓ¾];[°öjõÃKøæë¯Ðj5Œ?»î¾—9ŸÎæÓÙ³X±rS_{ƒ!ƒ¡ÑhmÔˆwÞžNóæáœ8Ç#îaè!øóÊä©üïÇïiIvv6EEE„††2uò+¼9m:ë׬¶ýÌOþ;‡ý°zårœœypü>ùt“ž{€ 71 ?Vþ² 77×*³£ÑÈÖmÛxâñGíÚÿ¬O·žálV1+ŸèŠ^«æý§‰Ï,²³).ƒÏï뀷‹Ÿm;Û«OðË£]ìÆ(e—ñÔ™>,šþ-9Qăßì£sS_Û“ÙÂÉôB~~¤3àé1÷÷³LÅç÷uà†›Y4¶cµ@s¥FÞ.LMx€;qi…Üó冴 ¢—ãñŽ|úÛœÏå§ ñqubî¶³<²8–[ÇÓ?$º'ëŸêŽÅù¥åÌÞ’À¾s¹,~ðüÜt$ç–Ø½uÙ—A¿¨@–=Ò×*åB^_uœÉƒ£h⫳–1_ýAËžüv×M¤ä•2jþ^šù»Ñ#Ü€ÕG.0õæl|º™EeÜûå^º…ùÒ¿E [Og2kS<³ïiGëO³‹ õq!»¸ŒÇ¿;ÈÔ›£Ħ¸ žYr˜ÕOt%>³ˆÕGÒXöHgÜuZ³‹ñquª2s«íñYÌÚ|šÏFu :؃í Ù<óãA=x#‘îÌÕnïýÆã;9ÜÞÏÍ™‡º5¥coŠ &îùr/kŽ¥qk›vãöË­q>s¶ZÏÛòǺà¬Q3aÑælMàÙ¾ÍѪUÜÜ*˜×†¶ÄI£â…¥GøbûYÞ¼¥%òJ™¿#‘Ù÷´¥§žÌBˤþÜÖ®™…»’3õ¹þÃýÝxeP$Óלdõ]míµÍ“Z®…%û“ùjtG4jàÞ/÷0ûžvÌÑ–UG.ðƪ㠊DSÇ5—’WÂþó¹,ÐT*žþñ ó¶'òò HåÐ:ÏKM×[¿¸ëµl>™Á€¬<|¡m‚%Ø,„Bˆ¿DÞI!„ÿ»ï½›o¹+Wѧw/ÆŽ¶/¯Ð¢E¿mÞÀ²ÿýˆF£aØ­·°àË/ÿÐ8^yéEN>m·MãÆ¡|ùÅ\¦½ù:;݈Éd"!!£ÑÈÒe¿ ÑhXøÕ|&¿ü_~ñ-ZDÙmÿÅÜ9¼òò‹Üÿ(Nž²ßÿÕhäÈ{ðôôÀÕÕ•Þ={Ò²e ºw³ŽôïGqq1™™™„‡‡Ñ¼y8TßÀÀRRRlÁèE‹¿#%%___BCCí~NUË~þ…G—§'..zîy7ë6X?8P©T¼6u2~~¾èõöAÔŒŒLJJJ  ³kßu&›Þn³{|¿/ÉnLUkަ1¡GS“ÍÙ¬bN\(dRÿÜuZ<ôZz[룯:|'z…âå‚N«¶eDׇ “‡DáëæŒ^{ñmôˆ˜†tjꃛ³–¤œbb“òx²WµŠPúF°áDºm|°—ž1 ѨUyèˆiìMBŇ«_àŽ!´oä…V­"Üß µJÅ–“™„xélç¢oT¾nÎì<“M ‡ŽC9ËbS(*3ÒÄ×O}õ€ñòC©ÜÖ6„è`º‡ùrSsVªßâ€î:-šú Q©ðÐkißÈ‹¤œå°ZçóË¡TÆwoŠ§Þ ½“†»;6bÉ Û¶75÷C¯U£Q©èîGr•ý—™Ì™IS?Wîì‚V­"ØSo»Þ¹Äë¿R]ó¬éZ¸§c#<ôZ\5ôŒð£E]›Y?¬é×"â2™…e¶ñµ™Ð£z' z­š¾Q¶kD©®óRÓõ¦îêÂÒÖ5JËMlŒK现–µB!®’á,„BüC¦ÿç ÜÜÜØ°q+W­æégŸã¿Ÿ\¬ãÜ·o[°Òb±0÷óy¬\µšŒŒ eÖ€…±Ü¾NnXXªŠÌ9ëíôeåådçäPVVF€¿?þþÖ,K%777†X >ÞÖÛÎËË­Y¡W3?ß‹™·ÎÎÎvß;9YƒMåFëqZµúWþ÷ÓR A¥"++³ÅŒZ­æ»Åß0oÞ|î¼{$7tŒaòË/\=Ð žžÁË“§¢ÕZ³)M&3ÎÎüjÜ8­ÖñÛ¬ÜÜ\\\ôÕúc{óömÑvmŸm;Ki¹É®­RF¡À*Ä>®Nh*n‹¯\%cX«Va²XìúÉ(4TËLöww&§ØþZ°ß·³¹î}WúõhKcS(4QÙEe˜ë1·ª²‹Ë®2Oâ¥'«¨ w75è§”UTF Gõ²Ž(çêãb+=PUÕ uzõµy뜶¶r“…îá¯Ë@EY­ZEåú|™…e´mèe×–_JBf1½?Üfk3Í”ZºßŒéÈÛùü÷ÜÞ.„‰}ÂpVd©f•Ñ:ÄÓ®­¡ ™…»¶šIÉgþÎDRóJQɹ¥Œ¼¡‘rX­óÉ(00uÅ1Ûµj¶XlóÌ(40wÛYŽ¥æcòJŒyØ/¤×Ìïâ™…‚j9——rýWªmžÔr-øº]œ¯³Fm÷½SÅøú.Æìyñ¹iÕê·«ë¼Ôv½ÝÞ.„ÿn=CZ~)ûÎçÑÄוÈ@ë‡AB!„—ÊñBB!„øÛõèÞàà Ú´iÍÊU«Ùºíw»~M•ÚÉ¿®Yˇ³>¦mÛ6|ñùg˜M&îu¿Ýx犫’—§'†ìœrrrlÁèª*ƒ³×šÊ{]bc2åÕ×ùîÛ…¶Ìî=ûØú½½¼˜ôܳL|òqf¼3“ç^x‘E ¿ÂÑîýýýywÆ[tíÒYÙ€ZUóMdž^ž”””RRRŠ‹ËÅ€˜³F¿"0ä⤩1àìïæLz~)Ö`gA©“"è«q0÷ºø¹éHË·f„WR›KÔÐls09×Wgᘈ ²¶ú|dí×GCo’rKlûHÍ3ÐÐÛW'òKË)(5â¡·»ëãêDRNIµ šÚA@2-ß>ëÚA|íþîÎhÔ*ÖN쎮JækU5퇊€eRnõ¬á­Bþîμu[+:;X oÊòc4ðÒ³`tGtZ5Kö'³úˆ}öuÕò'~nΜwa]©Þ׿ƒ‹¶¶yRË9¬¡ù’Ô§ÔK}ÎKMs¥âõÐ/*€ÕGÓØ.—ÛÛÙ—GB!„¸Žß !„âo÷傼÷þ‡L|ÚZ÷·cŒý]U•”XƒD&£‰ŒŒ ¾ûáGåZét: €Édâþ1ã˜þö ~ä1¾ÿa‰rèu+-=OO[I­Û~'£¢ÔFyy9bc1™Lèt:"##­YЙâdffa6[Óï~}<›¤äd¨ÈZ®\ô±.A8;;s>é¼²ëOÐ2ù;)41Y,ÌÛqV9ä’ôŒðãTF[NY͹ìbÖ»X¢.Î5nÎZާYŸ2§4½À€‡Þ‰ðŠ@ùïñYõΰ­jx»,Ø‘Hv±5;záîs¸é´tõ"ÌßÈ@w>ù-R£™R£™ø ë|EÙÍ«¬E ÐØÇ•¸´B ÖløÃ)ù$dÖ¿C¥&¾®´ñäÝõ§(4±T,ø˜ZÏ’!ƒ¢Yuä'Ò ±I¹%”é@|F1?LÁh¶`2[ˆK+¤¤ÜDj^)‰ÙÖ¹ú¸9ÓÈDžŠçQÕðö!üz$Íöœ÷ŸÏeGB¶ÃE씊 &Š FÚ7òªÈ¢-a÷Ùå0€Zçs[»ÌÞOrEP=·¤œSÖRé‹Tê´jJËMüz4­Ê^«ëáÏùœV¹€Ùb!·¤Ü¶ß?ÃÇÕ‰ŒBYU2ík›çÕäÏœ—šŒˆiȪ#Øw.—[Ú+»…B!þ4ÉpB!þ! ¿Y„Z­ÆßÏ;†ßÎsÏ>£b3ôæÁlÞ²…m¿oç•)¯rψ»èÛ§7qq'•CkôŸ7^ÃÓÓƒõ6òýKhÒ¸±-øúoЧw/~Ûº•ÁC‡áïçGLL{zÞÔ“ÉÄ{ïÈéÓñ¸¸ºÌ›¯½ @tË– <˜¡Ãn'8(_–ýÄÄ'`ÔýcÈÏÏÇ×LJñã$2"Âîg:¢Õj¹©GwÖoØX¯ñ5™Ø;œ·×Æ1ôÓx¹8ñ@çP»Z²—*À]ÇGwµaæúS¼¾ò8-‚=Ò*ˆŒ‚ú…ŸîΛ«Nððõèû^,ƒÐ+Ÿ­§²6g'~nδõ¶-¦÷gŒëÚƒÑÌÈ/÷b(7Ó"ØOG¶µ•=˜uw[ÞZGï¬%(FÞЈgúºólßpÞÛpšáswQRn&:؃¯Çt¤g„}"ý¹Áèµjšø¹2¸XG>Ñ–w×dàìí˜Íâ¥cêЖõZ±‹@.äxvÉ![y“ÏîmO¨ Ÿß×™ëOòöÚ“hÔ*"Ý™5¢-y¥F^úù(Y…ÜtZ"Ýy~@å®i×ЋWGòüÒ#d•ì©ãÝá­ëUÇÚÇÕ‰I"xâûƒø¸:ÑÀKÏðvŽkýÖ6ŸÇ{† Œùzù¥F|\y°[c"ÜxyPÓ×ıd2^.N ެ5èä©çã»ÛòÁÆÓ¼¾ò8®:-S‡DÙêu×WË`Grûg»ôÐñӄεÎójògÎKM:6öÆh†îá~k !„BüY•7XU½ÑJ¥x¨«<4UZÀptýÞ}±;š‡W_´FÉÛ˾~œBq­Ù¸y cbØ·?]:w`×î=téÜ 7׋6*šBTÚöûvÞœ6Õ+~¹l¥LJËMtzg ëŸê^­ó_õѦxrŠËxã––†Ë£! IDATÊ.!Ä5Îd±pó';ymh º…]¬5þwÓhìk¬±g︺ü¹ þª6mZCÅßï~}z+»…BˆkNåßÔ˜5ßA[Õéø3ÜØ±}G 0e@9`¬ò0WyXJ¶¯ÿzŒB!„øSnêÑíÛ3ÿ«¯•]õ—VÈ™¬"Ì F³…ÿn=C?×ËlÞr*“â2ë‡$ñ…,?”JçfW.%„¸r¾Þy½†®W0Ø,„Bˆë›”ÔB!„ø¼;ã-ÚLÛ¨ìúK.÷þ*½¸ì/Ö²HœâÚÖ¶ÊïŽÃSúÙõ !„BüpB!„øI`G!þZ­ü;,„Bü¤¤†B!„Bˆooe“B!.ùHW!„B!Ä¿†V«ÅÇÛ› à e—B!. 8 !„B!„¸*´iÓZÙ$„BˆkŒ”ÔB!„B!„BqYHÀY!„â2ÿí~~Ü—ÀÚci<ºø€rˆB!„B\÷$à,„BˆkÖÑÔN¦*›/ɲØeÓ%‹iì̓ݚھ__>ƒ Xuä³·$0óŽV¼ôó1’sK4{AÎ,{F³…Y›âYq8‹úµà…‘èµÖÏëçïHäû}IÊÍôŽôG­RÙæöóÁT–HfÁèŽ<øÍ~Ò Ü÷Õ>4* ÇÄкU+|¼½Ù¼å7n2¸Ê³B!„Bˆk›d8 !„âšôü€Z¹ó€HÖNìÆ€–ì:“ÍO3ûî¶l{®'-‚=˜´ô{‡‘_ZÎâ=çÉ(4ðîºS¼}[+Ú„xñÊ HB¼\X;± ÇÞÀœ­g8p>—åuaíÄnœN/dÎÖ6ÅeðÕ®D>ÙžMÏöàÆ&>ì<“m7?ZÅç÷u`ÑØŽ¬Ø O=ýûõeã¦ÍŠ-„B!„âÚ&g!„B\7~9”ʰ¶ pG<Ð)”#)ù¤pÒ¨yçöVÌÙv†ç~:Ì1!tõRîÂæ—C©ŒïÞO½z' wwlƬ?‘ΰ¶ ˆpC£RqK›`šú¹*wQ«Frîüye³B!„B\Ó¤¤†B!®éù6Çe²êÈ[›‹“†üR#A:ÂÜéÜÔ‡Mq||w;»m•2 L]q ÚZ*Ãl±à¬±~VŸQ` uO»ñA:»ïëâëëKNN®²Y!„B!®ipB!Ä5«JÙd:™ñ]ëÐ+È›÷»Ôfò¦K$e`c¡$´Ž;A>Ž|¶õ­k¸Ð±ŽŸõ®Ï[+ÏÐÄ׉zÞt«ïIßGðt°b͈VŒj_ˆeè'¸S¨ÆÅÖ’áÁþÔö°£s]O®ßÎgÄŠÓ«µ„zЧqÓåŒ àÓÍ—˜ü8¤þ®¶ìÚ³‡—‡¿d:T!„B!kpB!Äc«©¯_ocÔÖ+È›^AÞFmŸ÷khô}3?g½ÛÞðýÔ§KÊk”0W˜ñVho…µ—z5¤:¯†T7m oã*ô-€~¾…/Ï·(Ëf>wþ<·ÓoÓ9¬£¡M!„B!þ ¤¤†B!ÄÿN§cê´|2y¶¶¶¦ÝB!„BñX“ g!„B<–‚>ÛmÚôX8;±¿¯øÙ´Y!„B!þ$à,„BˆÇÒÙ‰L›„B!„Büͤ¤†B!„B!„BˆGBÎB!„B!„B! 8 !„B!„B!„x$$à,„B!„B!„â‘€³B!„B!„BˆGBÎB!„B!„B! 8 !„B!„B!„x$$à,„B!„B!„â‘€³Bñ„S©TÖ¢Up;Ó®¥>ýðÇ'L›+´uÛv^~õ5Ófñÿ”œ|‹vÂ(((4íhû…^[qÊ´¹B‰Y}¶VgÚôOßv™Å‡âL‡Uh]t2C~øÃ´ù‘0]×Ä ˜»/Öt˜ø‹kxó÷h‚¿ÜOÿ…GL»…B!*%g!„â,¬s8õƒ¬Dý &të̤ÉS(((0*þcǼE:uL›+Ô¼y3^}e¸ió}õìÝ—ÈÈ(Óæ¿Lff&{öî3mþ9wþ<—¯\1m~$<<Ü™ðáxll¬M»Ú¿a¯U*={÷åÌ™³4Ÿ±—óÉ9Fcò‹4}¶›Ä,ýωfþÎ ®n4æQéÛćNu=L›ÿ´µ§“L›Äc`]t2i9*ö¿ÓŽ__niÚ-„BQ) 8 !„“aC‡ðÒ°!( V®Zͬoç˜ùŸR*ŸŒ_ :†vÀÑÑÁ´¹Bž´nõp–èè3äååѦMkÓ®¿ÌÖí;ؽg¯ióÿË’¥ßsùò_p677§{·pÓæ‡öoÙëy Ò((ˆF‚L»*åaoEËê.¦ÍD}ojºÛ™6ÿ)±éy,‰ºaÚ, Y4¬ê„…R•ù“ñÿƒB! sÓ!„Büo¼4tÞÞ^4nÔˆÑcÞæÊÕ«|ýÍ·,^ºŒÍ×ññä)DŸ9Ë®í[9uú4˾ÿ7nR¬VÓ´Ic>2ߪU9x(’WF¼ÆG~À¡ÈHŽ=†«« o¼þŸ@QQÿýn>7o&--///ƽ÷¡Ú`meÍœ¹ß±:b-ªÂBž~º'>BñÏ 4¤¦¦òégÓ9zì …’°Ž¡Lø`$$&2ü•Lž4‘O§N`ûÖM„u糩S. R~ÿÃüôó ò èÖ€† ðü g‰X»ŽU«#øõ—å$$&2dèpFz “EPP3§†§GY6èª5ôïÛ…Ba8æÕW^fÉÒeddfÒ½[Wž4ˆO¦L%îÆ |}«òùŒéÔ Ôg]/Z²”ˆˆuÜɹƒ“£>O»¶!hµZ¾=— ›6Q_€›»“'}DZZ:³gÏ¥¨¸˜Ã‡Þ•ñï¿KZz:“?ù”'Nbckð¡C6äE>˜0‘Í›qülß±“O§L¦w¯ž†×0ãó/Ùµ{GŽãÛÙs?î=4¨_á~V¶ÞþÏ<Ç3Ïôgð ç ó>óì z?ý4aa¡têÒ gO£T*ÿôZËïuÄÚu>|;{;¶m߉BaÆë#GâäìÄœ¹ß‘™™IófMùúËÏqpÐ_p¨lí»×§OGóÙôܼ§§'>oxÝký†U«×°hÁêHMw;æì‹aíéd4Z‡®ÝfR@Ú¸àZ:óöÇ’’S„ ^xÊáÁeû%„Bˆ'×?÷/H!„â_.%%…˜ØXvìÜ@HH°¡O§Ó1ø…!\»CíÚµððp§¸¸{{{F¼ú mC‚‰Œ:ÌŒ™_”›¦ÏüµZMï§{‘’’Êä)SIN¾À´3Y¸x 6Ö6@æ×ÒYvø 7æÀ;íi]Ãõ®'nfäãÈ®1mÙðZk^»Í΋©¸Û1!¼>N6l|W°À\aFÞ¬½5{ßn‡‡½‹#ï¿.ScWÁÝÞŠ½cÛ±}té¹ELÞt€ô\£~=Í€¦U92.”ß_~ŠV%ß1+£q±µ`ç[!ìÂó-ôAô1{O M|Ø3¶-]ëyp+»eQ7˜û\#V¿Ú’Œü"FýͰ6þD¾×žÑ¡Œ]u–Œ¼"Ã<ßGÅ1ç¹ÆD¾ßÎu=™ºY¿nî±¾ù®s*>‹ ¯·fûè`®¥æ2ÿ€¾¾õŠã `»Æ„pàv|Ø-ð®`3Àwûõs¬ÑŠCï¶§E5F®8M¡ZË[¡ônäMïFÞl|W°À×Ù†i½ë³wl[æ jœ}1$gK]v!„BHÀY!„øÛ<ûü ôèÕ‡›6Ó1´ƒ!£³Tݺìß»‹µ«W¢T*éýt/¾_º˜W^~‰ ŒàêµkFÇøûû±tñB>ûôZµ| FCll,jµšˆµëQ*•,ÿa}øK/ nÝ@£ã/œÏ„ÇóŸÿ àÊUãùÿI®ÇÅqöì9Þ}g,VVVØÚÚ2îýwÙ¹k799úú·EEEŒ÷>5kÔ¨°^ð–­ÛЯ5kÔ gîè³:+3êµØØXcmmMçNaÄÄ”ÝÄlë¶í4lP__ã Õ𗆢T*ñ÷÷£aƒt ÇÏÏ…BA§°0nܼiÛ¢y3ÜÜôÁ°ÐíHHHÀÓÓ“œÜVG¬%//êÕªáäèh8®¼›7ã9uú4cF¿‰R©ÄÏÏΠ7š5m çboo………Ññ•©h?+[oÏž=¸pá"ñññlÚ´…°Ž¡¸¸—ø³k­h¯ýýý ÁñNaQ*•¼8øyììì°³³#¤MnÜx´{½gï>|ªúУ{7:w ÃÍÍ•ÈÇ c*Z©øøjÖ¬‰™™™Qûk+N:ë áÑý»ÊëTï¿’N€»ëꃞµ<ìèVßËt/¶ôÃB©ÀR© ´Ž;q·óL‡ÜeÛùTú5ö¡†›¾ÄF÷^w•Ûðt°¢W7îöV4õs&îv¾Ñ˜{iWË ksJ33Ú¸‘˜ùpõìãnçs.écð2W`k©äÝεÙ})•š½WÒ©îfË€¦>˜+Ìðv´ÆÙÆ‚¸Ûù\º•Ë{kcoeŽƒµ9U<³º‰Ÿ›UÅÞÊ‹’’DE-ïw©M 7;¬-”ì»’Ž“•á|„zàjgÉá’Œe€ÁOùáå`…^ߓؒ½»×úÖŸIæ•ê8Z[`m¡äÙæ¾ìº”€¿« gï°ÿJ:º’lôŠl8“̈¶5p³³DafÆkík Rk8Znm÷RÓÝŽ{½ìñ°·"IÎB!„’B!ÄßgÚÔ)ØÙÙ±k÷6mÞ˜·ßeÞËê8‡…uÄÚZÔÓét,\´„M›·––†ªHŸ§.VÆF«ÒÀ^Qq1™™ááûÝ™jvvvTõñÀÅÙ€ââb“Qÿ™ØÛÛco¯xøV­ŠV«%33 EI( ¦>˜\‘´´4‚êK”*_£"ÞÞúÀ€…¹9Åê²s°zMƒÊ•(åæV¶ç–––¸º–]ÍÍÍ çQ£Ñ°pÑŠD­.¦X­F§ÓP½Z5~ýù',ZÌü‹è߯/o¥åÝ™‹©©©tïõ´¡­¸¨˜¶mC ß¾~å÷ó^ëuvr"¬c(ë7nâÍQ¯³qÓf>ü`\¹™ôþìZ+ÚkW}ð@¡P`nnn´÷ææ¨KÎ×½Öþ0{}+%…˜˜XBÚ‡Ú Uä–\ô ’õ—ÊÌÌÄÁ¡ì=\jf¿†z–v еô¨$蜖«ÂËÑø‚Š»½%™ùÆÿ~½ÊƘ+hµú×{/i¹*ú,=LÊpx9o®0£d+ï+-WŃq\H¾ƒÈ.Pãåp÷>ßKf~1öVæØ—”ϨêlV§#+¿ˆô\^”¹W„•9¶–JÓ® •¾?JTR纆›­áë”;…Ħç:ë ¡M¥Ö’SXös£ü¹3W˜¡)9/÷Z_ZŽŠI/ TèÞku:,K~æõlè“K#㘹ã #ÚV癦UMfÐgÆ{—{n3ÀÇÉšÛ岯ïeëù"N'‘«Rcdä¡}Ð/„Bˆ5 8 !„“¶!!x{{ÔM›·•P–«¼uÛvfÍžC£FA,^´­FÃsƒÿc4À²’LU'GG”J%™™dffÞ•e Ü•yùOç[Õ‡œœ²²³qvÒ×;MLLB©TR¥Š7)%Ì{Õ vws3›ÙÍÎ’ø ²¦]l-¸SXLN¡kã?‹ Д žÞ),¦P­5cú^(¥(×îá`E–½»œH©ÊÞ÷ZŸ»½%Óû4 U%7Žlàf¨ãýú¯§ðwµ¥e5ã±UmHÈ* Ыì‚Gr¶ê²¼£³ùdóE–Õ×´èø­ñÿaB!„xrUü“B!þrK¿ÿž¯¾žÅè1oмYSÓ!ú)kÔÒÒÒøõ÷•¦CîÉÊÊŠð®]Ðh4ügèKL›1“WG¾Îo¿—Õ³}ÜxyyÑ6$„9s¿£¨¨ˆ‚‚¾›¿€ž=º?pð<<¼+ëÖo ÞíÞ}û¹|EóƇ±Žž=º²ÒÿŒÔ´tjT¯Ž››+:Žuë6ú’’’ ëtuqÁß×—ÜÜ\œ¸rõ*jµ­VKõjÕjØŸAnn.:Ž„ÄD’’’ óÝ«‹ .^@«5´•º×zÚ†“›—Ǽù éÓûi”Ê»35ÿÌZÿI{Ý),Œk×bX±µZF£áÒ¥ËÜଈŸ¯/ñ ‰weÏ>ŒöµÝ¸š–Ǿ«ú óÍŒ|¶]0¾ògu­çɆ3ÉÜÈЗyØ5«©ú½x.¶¤åª¸]IökjÉM­ÌkØz>ÅtÈ}y9XRÓ•ïöÇR¤ÑRP¬aÁÁ8º7ôÂB© Cmwâ3 Ø|î–>ë¹ ˜Ä¬jºÛQÇÓžÿî¥P­¥P­%&MÿÚü]l9y3۰擺Õ*¬Ž1iù¬‹NB­Õ¡Ñ긜’KAqåJÝk}}WaîÞ³ôﳬ‚b®¦éK¤\IÍ5\pðwµÁÉÆ‚<•ñ§aú5®Â÷Q7ÈÈן›åGobgeNS?ý¼{IÍQá`mA€‡>ËûPÌmÒsU¦Ã„Bñ„’€³Bñ7YþÓ/,ýþÒÓÒé߯/_i|ÀòzöèF—Έ‰eÂÄñòô$¬cÙGøÄÔ)“ôÜ@233ùí÷U$'ߢV­Ê?êÿ8øê‹deeѱsWºvï…Oœ`:¬R;…ñâ‹/0lø+tìÜ•ƒ‡"iݪ¥é°ûÒh4¬[¿ýû›v=”—_FZz:=zõað†â_ÍGG}9ƒììlÞ=†VÁíèÚ­'yùù¼úÊËôéÝ ss‚Ûv`êgÓøïœoÉÉÉ¥cç®4oÙ†×GæVʃgŽŽxõeöíÛO«àvlڼŴî³^¥RIßÞO³{Ï^ú•»¹Ÿ©‡Yë?m¯ÝÜ\Y¶tëÖñTëZ‡´cêô†²7÷Ó´iNœú,8ÂÅ[ú’'³ŸmD|f>¡ß$ô›ƒl<«x¿ÔÆVK¿…G´ô¹*¡^ñÃpµ³dÑ MYLÈWûi÷Ífl¿L‘I¶te*[ߨö5iYÃ…¡?ž åçûxnÉqNÞÔgÊ_¼•óKŽÑaÖAž_zœvµÜi_ÛÝdfx©M5ÚÔteÐÒãtœuˆÈ˜Û|7¨‘¡4ǽt¨íN›®ôž˜øƒ£q™ÞXP!„O¦Òp•ÿ —™ÉCQî¡,÷0, Àªäa}üÄé¨Z•×J,åìTñW„BˆÇÅî½ûhÞ¬'Nž4)=FëV-±³-«áIIL<Ì‹/ ¦÷Ó½L»„øK|ýÍ·ÜJIáËÏg˜výißî‰!3¿ˆ)½ê™vý¿ ^vœÁOùn(ÄŸaú‰‡Ü¼<ŽÿƒV-Ÿ2jÿ_9rôòB®BñOTúj³¦•‚¶¼k1×yªy“æ@ Š€b@]î¡-÷ЙMqq1:Ž»vséÒeš7of:Tˆ¿Ì£^ãüù œ>mÚõÀö]M7ÔyŽIËeÙdZÕ(»‰âŸ•ž«âtB6Å-:`÷å4.§äÒÌÿþe„B!Ä“In(„Bˆ'–ª°™_|Ell,oo/¾úb&U}|L‡ ñ—±¶¶f˦õ}¶6í6íþÓÆ¯=ÇøµçL›‰ð¹Q¦MBpvâÝ7NB!Ä“EÎB!„xbùúúòûŠŸM›…ø[H N!„BüHI !„B!„B!„„œ…B!„B!„B<pB!„B!„BñHHÀY!„B!„B!Ä#!g!„Bˆ?)|nG®g˜6ÿcMßv™Å‡âL›ENÅg:ë áû‹Žrâf–Ñ!„B!ÄÝ$à,„Bñ?²öt’iÓÿTß&>tªëaÚüò¨öè|rWRsM›ÿ´·:PÇÓ€Ìübö]I7ôíÛ€¡ÑhÊ!„B!Ä“IÎB!„ÿ±éy,‰ºaÚü?UßÛšîv¦Íÿr¾?|ƒ+).àÜ¡¶;Öæì¸˜ÂÞ+i†¾Ðíqwwã§_V”;B!„Bˆ'“þ·f!„fY,° IDATBˆÇŒV§cî¾X6½EA±7;K>êHËj.¤çªøtËeNÆgac¡dH+?^lå€Z«cÒÆ œ¼™MA±šên¶LëÝ?³ ±â4»2mëe6jé„l¾Üq…+©¹ØY™3!¼áõ½8Ÿ|‡ov_#1«w{K>îQ—æþÎFkIÏã­•gHÌ* |n^–,ÖµVÇì=1l<›ŒNêz0®k¬Í¬‹NætBÕ]mùþðM:ºójHu†ÿtŠ—ƒýYvø&™ùEt­çÅ U™ºå72 ¨êlÍô> Ù¸åMÜp/GkF‡Ö$1«€á?âµvÕYGVA1A>Ž|Ö»>öV¦‡ràZ:óöÇ’’S„ ^xÊáÁÕ óÖp·åäÍlN'dck©dDÛê lV•Ã×3ø`íyvm‹¹Â €¨Ø Ư=Çž±m±Pêó*Û£ÊÎeÊB,>Æ×‚hUÝ…b–g—c`³ª$f²çrÇâ2˜»/–÷:×¢K=O¢³™±í ñ™x:X2¾kZ×pàfF>S¶\âÒ­\<,y:¨J¹W¯/Ÿ2¥W]2ò‹™»/–b–#×3éZÏ“w;×â™ý™õí† yÑè8!„B!ž4pB!ÄcéÄÍ,¶œKaíÈVØ[™s##[ ÞY}–zUÙÿL;’² ¼ì85Üíhà†¹ÂŒ ¼™Ü³J3ÆEœcqdŸöªÀ­ìB–EÝ`îs¨âhMz®ŠQ¿žæ½ÎµéÓ¸ é¹*¬-”†u친ƢšâlcÁ‚ƒ×ùtË%Ö¿ÖÚÐànÇ„ð:LÛv…-o´1´Ï?pSñYlx½5–J#~9Åü±¼V JæîèÉÚ‘­°µ2çv®Š¤ìâ2 Ø<ª IÙ<·ô8'ã³Xð|ª:[óÙÖËÌÚ}ùÏ7)·‚Š%ep2>‹ˆ­ÀÌŒ1+£YyƒÃë˜Å×Ù†i½ëàaÏå”\ž[zŒî ¼¨âd ÀÒÈ,Ü”FU9—Éȧ ô u Wì­ÍÙ{%.u=Øtö=ƒ¼ Áfî±G÷:—“ºòñÆ‹DŒlÉ’Èx9XñüS~˜§â³ü”½‚¼ÈÈ/bÔ¯ÑLêH·ú^ì¹œÆØUgÙòF\ì,ywÍYšù»°àù&äªyó÷hÃÊëÑÀ‹+)¹dæ1¥ä=Юmo¿û>×ãâ¨Q½ºÑ1B!„B3ŸÓ ټ١&J…~.6„z°ëRªáØvµÜ°6W 43£m€‰™†¾"–÷»Ô¦†›ÖJö^I§º›-šú`®0ÃÛÑg}` “ª†ï»ÖóäÆí|Cßý¬?“Ì+!Õq´¶ÀÚBɳÍ}Ùu©¬Tƒf|Ô=W;K¬ÍË~mÚÚ¿äµÙÒ Š#áõ<ñs±AafFX 7˽žûѶÖJ¬Í„z›žg:€šîvx賦½ìñ°·")»ÐÐZǃFUhUÝ' nf`<ÓÔ‡ˆSúÚÌ…Åv_N¥ñ•¹ß¹ ¯ïEsgƬ<ÃÚÓILí]}õÝö]IÇÇÉŠn%™éa¸ÚYrøz ™ù\NÉåÍКX(¸ÚYòŸ’Œøemm§‡ ‰¦]B!„B”ÜÑt9V4ðq`ùÐÆ%õ›sUj Š5Ø””KÉÌ×»+b:w©¬ìlœëw !„Bñ¤¹û7w!„BˆÇ@rv!72ôå+\ì,ñu±!W¥/­ÑÐÇ‘/v^%W¥F$f\Rþ!5GE}o¬ÌkØz>Ådfcj»ŸYÀæs·Ðêtd“˜Uyº2.¶¤åª¸].3¸Oã*ÌÝc˜/« ˜«i—´ø;¥æ¨p°¶ ÀCÌ=s›ô\•é°{ج*›ÏÝâÄÍ,C]eS¦{t¿sùã‘äªÔLê^—7:Ôd\Ä9ŠK²ª]l-¹”’%™ãau<ˆIËg]tj­VÇå”\ Š5ø¹ÚRËÃŽy®£ÖêÏñ/ÇâÖVž“9WSsQku†s©R©HIIÁ·jUÓáB!„B@úax ¿O`à⣼ù{4ÝêëodW/Gkæ<ÛˆܤÕçûè³ào陣ž·Ýê{ÒwÁ.>À¨ö5iYÃ…¡?ž åçûxnÉqNÞÌ4=ôoס¶;mj¸Ò{þa^üáŽÆeÒ6ÀÍtØ=5÷wF­…7­ËJ€”WÑUv.¯¦å±èPÓû4@©0ã¹¾¸ÙY2{o /‡TgÿÕtÚ}}€-çRpµ³dÑ MYLÈWûi÷Ífl¿L‘Z‹ðõ€ Î'Ý¡ý7xiù 4«š7kƉ“'iݪ%GŽ£u«–ØÙ–ÕÐh4Fß ñ¤Ñètôøïa&÷¬KpͲÌÿ#_ƒ–O=ÅËÇ™v !* TêË×”ÊÍËãØñ?hÕò)£öÿ•#GÑ©c¨i³BñØ)ý?µYÓ¦¦]ºs§š7i* (ÔåÚrÉ£”ákÉpB!„¹ßÄÁZI›a°ùPd$iié ú¢i—B!„O¹i B!KAŸí6mFÿÂóvvb'Ú†„˜6 !„BñD’€³B!Kg'v2mB!„Bñ7“’B!„B!„B! 8 !„B!„B!„x$$à,„B!„B!„â‘€³B!„B!„BˆGBÎB!„B!„B! 8 !„B!„B!„x$$à,„B!„B!„â‘€³B!„B!„BˆGBÎB!ÄN¥RX?ˆVÁíL»þ•úôÀœ0m®ÐÖmÛyùÕ×L›;ÉÉ·h×!Œ‚‚B>˜0‘oçÌ5&ž@åÄÍ,Óæ'Òö )¼¶â”i³B!„xHæ¦ B!„øk…u'1) ¥R‰‡‡;íÛµcÂã°±±1.±±cÞ¢N:¦ÍjÞ¼...¦Í÷Õ³w_&ŒGHH°i×ßÂÃà ŽÇÆÆÚ´ëeuÄZžéßϨ-2ê0³¾M||f ëÖ¬ÂÛÛËh %Nú|ŽŸM¥Q£ šÏØK‘F‹à`mA3'Æu©ƒŸË_ÿoìh\&‹]çâ­Ô5Ýmy±•?=zÆdæMhwC[çÙ‡HÉQ¾¯ãiÏš­ ß›Ú56\à½ÎµéÛ¸Š¡}Í©$>Ù|Ñhìì ô0jx«cu<íM›Ÿ;/¦Ò¦¦+öVú?‰šù;ãbki:ì‘8Ÿœƒ…Òì‰Ùëµ§“è×ÄÇ´Y!„O 8 !„“aC‡`n®dËÖm¬\µkk&|8ÞtØÿŒRùd|ð©chÓ¦Jyzxàéqwî^¢£Ï——G›6­M»þ6ææætïnÚüË¢ÅKŒÎ{÷î㳟óùŒi´hÞ NWî¨2ó,¤QPÚ~{¹%õ«8š£âóíW˜°þ ¤}¨aÝgΞ£E«àJŸgÞü…„´¥eë¦LƤÉSøõ·•\»ÃëoŒ&!AÿºK÷üËof1mêC°ÀÌìîÀ©F£aÕê5¼0xif€—ƒ}›T!&=ÏИ͠¥Ç ùêýáÈõ C_^‘šן§Í—ûé4û«N&ÒwáQbË_™ovÇðzû já‹«%®¶–t©çÉÇ=êòÝþXò‹4l9ŸÂÜ}±l»BøÜ(¾Þuì‚bff¸ÚY¢T˜é¼VJ^SMw[~~©EYpºœÛyÅx8X•Í£0«,vMøÜ(ÃkŸ¸áK£âxã·hB¾:@—9‘¬:Yñ{!1«€.s"Yy"îÿ¢Ýט°þ¹*µ¡¿ç¼Ã¾žA¯y‡é5ï0ÜgßÃçF±þL2%ø«ý¼´ü„Ñž¸–Π¥Çèøí!:Í>IJ¨†¾‰.q:‰6\ åçûØ|îj­Žן'|ní¿9Àÿ >³VÇðå'IÍQñÂ'ŸEÊBÖE'3ä‡? sžJÈfð²ã´ùr?çD²øP¥—;³ ŸÅÚÓIôø.Šà¯ö3rÅ)ÒrË2ÔK}¹ó*{.§ñÅÎ+„ÏbçÅT¸Ïüåiu:fï¡ËœHÚ~}€> ŽpìF&oü͇Ëö åçû¸œ¢ÿ·?qüÎȧ Çn{¿þb–¯v]%tÖA‚¿ÚÏË?4:'ás£8ŸÍ°å'h6c/Gã2½òŒaÊï§B!žpB!þ&)))ÄÄÆ²cç.£ò :ŽÁ/ áÚµj×®…‡‡;ÅÅÅØÛÛ3âÕWhLdÔafÌü¢ÜŒ0}æç¨Õjz?Ý‹””T&O™Jrò-¦Í˜ÉÂÅK°±¶áùAÏR½Z5ªùûŽMLJbÛŽtëÚ€Ÿ~^Á–­Û ýÿDo¼5wwíßËÞ]ÛIOOç£I“ ýÉÉ·X²tóçÍe]Äj£cöí?Àâ¥ËX²xG"ܦ5k"Öš3HLJâĉ“l\ÁÁ}{XT.[PPÀÖmÛé߯iéé¼:rÏ>3€“ǰfåï´iÝŠôôÛŒxí ^|a0ÇD²âçåü¶r%+~ýÍè¹âââØ±m3ë#V³s×nÞ}ß~ó%ÇDÒ¤q#¾þf–a|rò-b¯Ç²móvlÛLBB_•ë¯LÔá#|ùÕ7,øn.G¢R·n]Þ~ç=ÓaPò=zì8”yEÆÉɉ³çÎpøÈÚ´n…R©49R_ûç+øqÙRG q£ ÑZµ˜ôѪVõaÏ®íüúËrRRRHLL">>ž>ýÐ!¬3S¦NC¥º; }æ µ†õë›v’£bÍ©$Ú×Ògófä1ê×h†µñ'ò½öŒ `쪳dä0kw ‰YlÌ–7‚¹x+‡Ø4}ï^nç“–[a銎uÜQkuœNȦG/žiZ•nõ½Ø>:˜w;×âN¡NGçÙ‡þr?ƒ—'*¶,kªocl,îÞg€\•šŸŽÞ$ä«tš}ˆéÛ.“_TñESK#o0²] "ßkÏg½ë3mÛen—ì‹©[w ‰½Ï†×[³ù6$då3kOLYv!Ë¢n0÷¹F¬~µå}÷`ÍÉD–¾ØŒýo·£~GÞY}MÉ _g¦õ®ÏÞ±m™7¨ söÅœ­¯K0{O M|Ø3¶-]ëyb®0£GoÖ¿Þš½o·ÃÃÞŠÅ‘q(f,z¡)¿ kÎöÑÁx9—›¹WÄ¿žfðS~D¾×žåC›±òd"¿ý‘`“”]ÀÉø,"F´bÏX} ü%‘ÆÁ_€÷»Ô¦®—=ãºÔaûè`ºÔó| ùK¸™Å–s)¬ÙŠCï¶gγ¨ëõà™Ò¿çý.u8øn{Þ ­É{kÎ’”]ð@ýßí¿Î©ø,ÖŒÐ?w‹j.Œ\qšBuÙÅÈO6_dTûš|·-«»2!¼>N6lÌò¿øB!„øg’€³Bñ7yöùèÑ«7m¦ch† yѨ¿nÝ@öïÝÅÚÕ+Q*•ô~ºß/]Ì+/¿Ä„ô¥7®^»ftŒ¿¿K/ä³O?¡U˧Ðh4ÄÆÆ¢V«‰X»¥RÉò–ñч°tñêÖ 4:~ñÂùLøp<ÿùÏ`®\5žÿŸäz\gÏžãÝwÆbee…­­-ãÞ—»v²œ‹ŠŠ?î}jÖ¨Qaýâ-[·1 _?jÖ¨@ÏÝ ¨i:ÌȨ×F`ccµµ5;…kèÛºm; ÔÇ××€={öR³Fu>3sssªTñÆÙÙ™Ý{öàïçGï§{¡P(¨êãÃ+Ã_bMĺrÏÃ_ŠR©Äß߆ Ð-<??? ¸qó¦ÑøW_Ž……NŽŽ¼þÚH¶ïÐ_̸—µëÖÓ·OojÕ ÀÌÌŒaC^äÌÙs¤¤¤˜¥mp0'OžD­VsôØq|}«Ò©cGöîÛÀÑ£Çh[IÝê;wѧ·þy”J%}ûô¦z5}y‰ŠÜº•Bqq1ññ ¬^ùÖEpéÒeæ-Xh:”øøjÖ¬yWöó‹?üA³{é<ûUm˜Ò«û®¤ããdE·úúZÐa¸ÚYr¸$Ûv×¥T^®Ž£µVæ ^o_£ÂÌSSÙŸVPXaf†›½™ùoý\lØùVÛG‡°çív hZ•·VFŸ™o:ô¾&udãëm8ô^{–½ØŒ É9Ìܡφ¿ŸÐ:4ªê@«ê.8ÙXp3³,8ijx›jX(8Z[0²m v•dïi´¼ß¥65Üì°¶PÞwßžkዳJo†Ö$îv>q%µ5ÝíðÐZ½ìñ°·"©\À¹‰Ÿ›UÅÞÊ‹’Aíj¹am®@ifFÛ7ïñZÊÛs9 ?zy£03ÃÇɆ—Úø³î´¾þ~©mk`m¡ÄÚ\AX ÇeÁóóx:X‘£*fíé$òŠÔTsµÅÑúîÌöÊt ô¤–‡f@—ºžÔñ´çÀÕÛÔ¿áL2#ÚÖÀÍÎ…™¯µ¯J­áh¹s6°YUZVwÁÎÒ¼ÒLz!„Bü`Ƽˆ££Ñgβ{Ï^:vè@Ë–O1õ³iŒzm$'Obê§Ÿ}†gŸþ8EFFM›41<€——§Ñ÷å™)XYY1æ­7Q*•8YX0øùçXöü=æ-£±™™™88ÜñùÓ°4¨âÀ»kÎRX¬ÁÊ\ÿžH¹SHlz>¡³ƪÔZr õ{••_L§² öV•–·(Ï«¤žrF~ÖÆ¿fku:îßó¦t¥õƒ• 34õ!ât"‡c3ðknk:ôž¬-”X—d?Wsµåõ5ùh½> ý~¼MjB[(ÌPk*/­S¾¤‡—£5ùE¨µeáùnek¿ß¾8—›ÏÆB‰ƒµ9i¹ExÀÖó)DœN"W¥Æ ÈÈ+B[®¦w€»ák€´\ Æq!ù: »@—Cåû_^F^Ñ]YϾ.6ÜÎ7þ™X~¿ÌŠ{îUy:?%çð§¡ÍYyƒE‡¢èÛØ‡ÑkbYIÝ}Ó:ç¦eW¼­IË-»ðq¯þŒü"¼Ë­Ó ðq²6Êz¯i²ïB!„pB!þ&mCBðöö"(¨!›6oáÀÁCFýÊ’À”dÎΚ=‡F‚X¼hZ†çÿÇh<€¥EÅYoNŽŽ(•J223ÉÌÌ4£Ë³¨äØ*ߪ>äää•sI 511 ¥RI•*Þ¤¤ê3-Kk)WÄÝÍÔ’q¥22*/cÀ=æ»ÇÕk×èÚ¹“¡ÍÍÕøøx£q¾~¾l۾è-))Éð/eš±{?·n¥P­š¾LJ||˜›ßû×=OO†6ÿcF¿iÚÅÒÅ L› nÑ£GÙ·o? çGÕ¹•’Ê–­Û¨â]…ª>>Tõñáò…³FÇyzx’jœ5šZVÿÚô¥úûù¢R©ÈÍËÃÉQŸq«**ÂÊò999‘™©¯i[‘±aµè¿ðÏ6÷¥®—=V4ðq`ùЊ?îïnoIÊ•áoé¹*CY‡{±³4§š«-{.§ñRÉÍK.)Qš=lúz+¢ÑêƒÇÿ_Z­®Òò¦ö=—r§W}P9!³+sÌËÝ PQn¾ûí;À­;e%SrUj² Šqµ³$:1›O6_dùЖ”“èø­ñÏLÓµOÜp*NÖ|?¤9Væ VLdË9}‰¡û½L_v”ËÖHÊ*ÄÇÉøýWþõ݋鰿T€‡=3û6 =WÅØUgYyƒQík Pèo€XêNa±Q¹ JJŸ”Ÿ™O3ýEÅûõWu¶!!«À°çÉÙ*ª:Û¾¿ë~”¦/V!„OœŠÿbB!Ä_né÷ßóÕ׳=æmš7Ó×­HA>  QkHKKã×ßõ7µ{PVVV„wí‚F£á?C_bÚŒ™¼:òu~û}•éÐdž——mCB˜3÷;ŠŠŠ(((à»ù èÙ£ûÏÃû²nýânèë®îÝ·ŸËWô7o|XëèÙ£»!+ chnÜŒgæÍhµZ²²²HHL¤c‡öddd°a“>«89ù?¯ø•þýú–›ñá}ÿã‘››Ëü /©Ç}/ýúöá·ßWqút4:ŽÂÂBΜ1—܆mÛv`aaa(Ѿ][.^BÛ¶—ÓèÒ¥3k×­çÚ5}ß½{÷ö’Œü´´4ÒÓo£Õjqvv¦s§0>›6ƒ¼¼~âtT­€ûÿBëì¤ÿ8¡ÿÇÞ]ÇWY¿uÁˆÛh `”0:•PÄÆÀB¿6&6¶ Èϰ¥¶! )0šQ£Æ’uog÷ïÃÎMMÊðý|<îÇcçº>w‹ë|Îõ©©¢b–ÆÆM›lEʵëÖÓ=¢žö=W­Ö“3øäÂ6îªk¸þÚk¸ìÒ‘æÔëhB eç¶X«Ö:áBpãÍ2x0W_u¥9õ§M›þ&IÉɼöÊKæTµy!šnøÓýjã’s¹éóÜ? %ã‚Ìé+!³€¡ÿ·šØ'úW©¿uU ™¹šç.mKDÓS[þÈ_3å§4ðvãî¾§_ õ\ùóÉü½*7/õþ ¢[W»ø?eíºõ èi‹ˆˆÔ8'~¦†…žù´•íÛO×ðp (Š ´ÒVVi3LÛ ¶¯ÏüÖ´ˆˆˆÈE.5-ͱ±”””`K—E±{wág˜%+®»&ÝÁŽ;‰ÝbNý«Zû{ñæ¸N¼òë¾Ûœ`N×|Uœu]Ugj‹"ݹžÒsåEDDDþ,µÔ‘ÿ¬¢ÂB^~õu8€ÕZFƒþ¼þê˧,Þ'>777-˜OÇ©Q° Êœ®£Þ[ký)Ï.Üͳ ËûH_,B^Œ6‡þ–[go6‡¤|°*Þ²s®üß±mÊ©}×EDDä⦂³ˆˆˆüg5lدç|i×8 ƒ‚ˆÛyæ…þ.TŸ~ü‘9ô·©¸%""""òïRK ©*8‹ˆˆˆˆˆˆˆˆˆHµPÁYDDDDDDDDDDª… Î""""""""""R-´h ˆˆˆÔX…%Vúa;›gÒ ¶+?ÜÞÝ\јØÆìHÌÁÙÑB+?/[¬Ì0˜»á(sþ8JvA Þn|3±)©©Œ5_Ï™Mƒþ¶ñ""""""œEDD¤Æ:šY@‡ oœ«¯KØŠ}i<ôývÐ’×Æt l<”ÉÔ%q¤æqc&|²æ‘Á>vç7¢ö³+)›¯ !ÐÛ5p?__n¸î:ž›úïüß[¶ñ""""""œEDD¤Fzkù~~ŒMÄZf°jßqžÞšˆ¦u™³ŸÛ’(¶–ÑÖ¿O kMsO¦ü´“°ÆuØx8“¥»RxzD»YËÓ£ösgŸf\Õ¥¡-6¨­ýq;W†7äíß—ÊúƒéÌ\~€‡¶$¤‘7?ÄcÉÝ=©åVþ+–¥ÒqÇŽÅô7g’šŠŸ¯o¥ŒˆˆˆˆˆÈÅCg©‘î‰lAA±k™ÁãC[ðfô~6ÉäûÛ"¨ëáÌû+rûœX~žÔ7§òYÐ3¢÷swdsÒ ×ŠØ ÇóŠÙŸšKÿÖ§„ûµò¡´Ì öh“³ùH&×tmÄÈŽåë…Û“hÛÀ‹wWƳr_†×tmÈ5]P·n]B:w"&f9ã¯g:ºˆˆˆˆˆÈÅ¡ú>*"""ò/ûik"·õnF}O,îèÓŒ¢R+ëâÓmcBy3.,/W§SZqd”PÏÃÅ.à`±PßË•Œübs €Ä¬B¶&dÚЛŸïìÁŒqywE#:33“ØØ-¼þÊË•Î&"""""rqQÁYDDDj¬G·²{ìè`ᮾ͹«os»ø S/kgVïõéÝ¢>qɹÜôùFŠJËìÆœX°²>žÌº>Ì.vÂ÷?Ì£w¯ž40§DDDDDD.*8‹ˆˆˆœEk/Þ׉I_Åb±À¡¾%FZÚq>ÿòKæ~ù…9%"""""rQQÁYDDDj¤ŽS£Ì¡óîÙ…»yvánsøœ¶MÀoÑËÌa‘‹Ž Î"""R#m›2À‘YÕWÐ9 œEDDDDDDDDD¤Z¨à,""""""""""ÕBg©*8‹ˆˆˆˆˆˆˆˆˆHµPÁYDDDDDDDDDDª… Î""""""""""R-Tp‘j¡‚³ˆˆH 2îªkhÝ®#{÷í£¨¨ˆÖí:Ñóó0©‚ÄÄ$.éÛŸ‚‚BsJ.Cf®fm|:ó¶$r瘇ÈyòÖòýôž¶‚¾ÓWr$#ßœ>ï¦ü´“™Ë˜Ã5Ê™«Ùp(Ã>£iy\þÁ:z¼öÎÛÁÓ vñÙÚÃæa""""<œEDDþa£Æ\Nëví¶ÿ{û]ó09Ï|}}xü±Gpww ##ƒè˜åæa6eeeÌž3——&$¼ýæËÙsÌÃìˆçÒQcyôñ)vñââbž˜ò=zÓ½W^ymeeevc*{ä±'˜õñ§Ü1g3§F±;9×<Œù[é85ŠiËö™SrÈÈ/aùž4søÎÛÁŠ}åãÆ¾¿–ìÂ[Î>XOÈ Ñ$dØâe†ÁÜ?Ž2ú½µt{e9ƒgþΜ Glù‡3¹uöfz¼ö—L[Ásc9ZiÿÊö§æòùÚÃ|[¿ÞÓ‹Fu=ÌCj¤¥»RÈ-*5‡ÿUSÇñVÌ~Þþí]šÔeÍä¾¼4º=W„ÙÊǼ‹ˆˆˆÈOg‘ÉåcG3áúë˜pýutîÜÉœ–óÌÉɉaC‡Ø/þåW¢¢cìÆTVPP@Üž½¼úò‹l\¿†Ó§ñÚ´7غu›y(‹/áæ‰·Ô0Èœbæÿ½Ã‘£ ,ýe1‹ÌgÆ |þåló0~_½†Í±±Ü8áz[¬C`m~Øœ`7àûÍ ´òó2‡åñë®dbö¤šÃ§Ø|$‹ÐFuÈÈ/ÁÑÁBm7g² J¸cÎfö¦äáè`±Û§ ÄÊÞ”\^Ýž5÷eÚåy#jÛŽe”]ȵݱòÁ>Dß×›@o7žY°Ëî'É,$¨Ž;þµ\quº8þ\°/ÿº‡¼ ¨à\TZÆâÉŒêÀ‘ŒBy`:Ö¦I½‹£Ø/"""ÿ-N怈ˆˆü3&Ýy ƒì‹‘ÉÉɼúútÖ­[O^~>a¡¡<þèôhÑÜnÜ™lÙ²•צ¿Á®]»qvvfÐÀ<üи»»Ó­GoœY»z% 6’ƒ‡qû­yàþ{YõûïÜrë\>v4O~ˆgŸ›ÊêÕk(*.¢QÃFLºóv»í…à@|ý˜Ÿ,âð‘“3M,ZÄ Ï?GíÚµ¸uâ-¼óî{ÜxÃÉ¢ò _ó-ãÇÃÑÑÑÒÖY«ñàÀ`[Að@Z)9Åôl^¯ÒÞ°%!‹—–ìáHF~µ\xdp+º7+3å§„5®ÃÆÃ™,Ý•ÂÓ#Ú0¢C>[{˜9ŽRPRJ¿V¾´¨Å•á ø1öþ~ìÂRÚø{ñìȶÕq·;/-&õmÆçk“˜]Hk?/žÞ†æ>žt{e9ŸÜNû€òçaGb·~¹‰Õ“ûšŽtv§»!íü™½ŸŸ·%b0 /n…[ÅóõþÊxæþq”«Áðþ”Z Ú6ðâÊð†|ºæeòöUmç¸ë«-toV—ë#ÃYžƒ2Ã`æò,Ø–DA‰•úž.<1¬5i¹ÅÌ\~€kkã3ÜÖ¶´àÚO6‘_JZn×~üùÅ¥ä—X¹ìݵ<:¤aë0¤?cC y!Ún_O'žÞÆö¸c`m×óà@Zk3¢CƒJ£-ô öáõe{+ÅÊý²3™7£÷“”]È™«Õ9€QpÛœX¦ kÍ ‹ãX0©›fñÚ¯{ˆ?ž§«ã˜ػ) !³€›¿ØÌ-=óñšÃdä3¸­?Wu âùE»9”^@P7^ÕþŒo’ä–pÇÜXv%æàè`ab¯&\Óµ‡ÒóyqIûSó(±toV—©—µÃÙÑy[‰=šIÓz|²æ0‘­|8x<Ÿ”œ"®ýt#Ž O fò;XýP_,NÏgÄ;k˜2¬5ã+^çwÎ%¢i]nìÑä¬÷j>_¿Ö><3¢­Ý½ìHÌæ_oeÆ•èX€e»ShéëI ·w½…}©y¼´doDíçÛ[»òü¢8Zúz2±wS&|º‘ž-ê3©O3žY¸‹¬‚RÞ¸âÔï=""""ÿ6œEDD.V«•Ûݻã;f4µ¼¼ørÎ\n¼y"‹̧V­ò¢Ü™$;Æ„›'×_{-ñòÍ·ß‘””ćï¿KÏÝYº,Ší;vâçëËÁC‡ðñ©Ïº XõûúöéÃ~Ä¢ÅK¸rÜtìО-[·P> ïBò¿{ï§wÏž|öÉ,²²²¹óîÿÙréééLºû^yéÈÞ}û¸~ÂÍôèaw €‘#†·‡ôŒ ^xþYsú´ŽOçÐáÃgœÞ·Ïé{krìX"-[¶°ÅZµ fï¾ý†Årræjii)+V®ä®IwØb¾µ\iP‹e»Sl…Äb1¦s‰Ù'{R§ç3iîžÞš¡íü‰ŽKå¾o·±è®Ôót`Fô~îŽlÎcCZáêäÀŠ}i|¼æŸÞF³úž,Þ‘Ì#?n§}@kÖÆ§3=jŸÞFs_/¦-ÛËC?lgîÍ]mç­ìûM ̺> OGÞŒÞÏßmãûÛ#p¬tŸÕÁ|ﮈgó‘L~º³;.ŽÜ6{3ï®8Àýý[òËÎdæüq”¯£i}nKbÊO;™2¬üÏålÏÁÆÃ™,ڞ̷GàåêÄ¡ô|êz8S»‰3{’sÉÈ/æÙ‘öÅÈfßÔ•å{Óˆ‰KåÙ‘my3z?êºsyh mÌØ“_ŸMz^1‡ÓóéT^Ü<ÁjHËçÝÓùÔc iç³£oÅìgÞÝ¡¢xœ”UÈÇ«1s|'j»q<¯˜»æÆòøÐÖ ïàORv!>Û„—›Ww)/ØË*à`z 'õàXVãgm`Ó‘LÞ»:„ :nL]ÇQûx÷êÓU”[´#™On'Ø×“?g2ñ‹M j뇯—+õ=]¸¥gS›Ô!¿ÈÊøYX²3™K;–ŸŠŽKe@k?~¼=W',@——c˜}c8þµÝ(3 œØž˜Mç o¢ãR öõdùž4Ƈ7ÄZf°ùH ®Ò½šÏWÙþ´<îýf+/no+6ü°ùcBqvtàÿÆwæòÖqÇ%ÍÔÖÏnG‹…—F·ãªYÙʇŒüVî;Î÷·ú½LDDDäBpq|FNDD¤0h¨­‡óê5kÙ¾}»wÇÂK/<Ïã=ˆaCIIMeé²(óî§X°pL¸áz|à>fÎxƒ€€¬X¹Š£GÚ  ¿ÿ¾š5k×âààÀõ×^Ëöí;(((dÕªßqrr¢Wϸ»•ÏVÝGýúõyþÙ§ÏXXý·ì?p€ýûð¿»'áììŒO}&\-½ü7Z¶lÁàAnÙ’áÆV:Â_gµZyä±Ç¹ù¦ 4oV>ã°ª Êûæz¸ŸœìáîŽÕj¥°°¨ÒHHMM£  Ííg¸ŒîÈ›Pb-cÁ¶$F‡b'Ç-ß“F ·+CÛùпµ/õ<]XS±@H#oÆ…áåꄳ£Kv¤0¦s Íê—ÏBÖÞß6#™Š>Ñ—u  …¯àúnØ~,›äûk?a|—†ÔqwÆÙÑ»#›sðx>ÓòÌÃþ6ó}ÌßšÈÄ^M©í挛³#W†7dÙîòvËv§rYÇZøxâh±pY§šÔ¯z낳=~µ\É)*áÇØcä—Ò¤ž‡­%FUìJÌ±ÍøÝ•”MkÿÓÏþ=k™Áã?ídB&¶G€O×"â•åŒ}-Í}¼ì ÙçRl-cò `šÕ÷ÄÍÙ‘è¸TÕugdÇ8X,z»sSÆÌ‹-Mž0¡{c,4ªëAû€Ú iëG£ºî8X,ôoíËáŒÓ÷‘èÝ¢>Á¾å×ߥq¼=œ9R1ÞËÕ‰nMëâh±PË͉†Þ­t, žÖšzž.¶Yí•9X,D4­ËºŠÿ Ñq©Ü~I36É¢ ÄʶcÙx¸8ìëY¥{=Óù’³‹¸cN,S†·¡[Óº¶øÑÌv%å0¤}qùLÕõà¡-y|þNžY°‹ç/mG÷ª¿®DDDDþIšá,""ò/¹|ìh¼<Ë‹I ع³¼ŸjÃJ=5*ÿøxrrŠ-v&ÇŽ•?‚Ë‹H‹… À@“HIMµœÿظ ??_‚[¶¤_¿¾¼1ã-–ÿö{÷í£{D7¼¼¼˜xËM¤§§óÝ?2éî{hÖ´)oÏœQåÖÿ„ŒŒLjת…—×É‚\ƒ'Û¤¦¤ÒÀ¿¼Ðz‚¯v±3yÿØþÆ ôïÇ;ÿ÷T›ïp2¾¾¾üï®I¦½ÎÍÓ³¼€–_P`»öü‚\\\l ž™™‰»»NN§þÊ6 //.‰ãHF;³éXÿZ®vc’³ 9–Oä+m±¢Ò2r Oö±mQ©˜ š[D‡@ûÙô¾•Ž›’]DL\ ·'ÙbîÎŽd–žr~À®(æîìH-7'Rs‹iQÞ©ÃŽQ¹Zþ'r9E<ùóN[¯ã2ÃÀű¼˜ž_LHÃò^¹'øæÚ++«tmg{‚}=ùbB8þ~ˆV­ftç@þׯ¹íÜg²dg2ïüOrN!ÞîÎ|½1#ù<:o¾^.|rC¸y—Ó²–Lþq;¾^.¶ö 'ÜØ£ z4áxnßn:ÆÕo`Þå3À«¢Y¥¢|z^1þµí_¯ ëºs<ÿä‡õ+fÒ¸8:P×ãäëÁÉÁB©õÌÿæÞöÇwv°`-+¿ýX6¯9DbVaE B®ª˜m Ш®;N¦>×f=›×gñŽ$® boj‘­|i˜ÀšéìKÍ¥W‹òÖ3U¹×3ïè}äYñ6‡çmIdp;?ÜO¶Ê9—Ë:0sù|¼\ìZç„¿C±µ|ÑÑïnøKoRˆˆˆˆT§Sÿz‘„¹‡óñãå3íŽ=j‹èý{º…çÌüüÊgÊM(/<†ÁÑ„ò…å‚ñóó£u«VìÙ»—´ãitéN«à`¼k׿ÇyóˆìÛwwwž~j ÷üï.Þ}ï>ûâKÞ~÷=¦¿þªí|ÿ6_rrsÉÏÏÇã¼–œœlËûøÔ'©Òcà¬ÅæÊ­,n¿u"·ß:Ñ.V\\̽÷?Hýúõyî™§pp¨Z¡®2š4i̾}ûñó-¯ºîÙ³—&Ë{WVÛ»6…žRŒvqt`X{æmIdËÑL®íVþæDe¾µ\iX‹Ï't1§lÌ÷]ßÓ…”œb»XzÞÉǾµ\¹®qîî[µ7’²OÎ|Î-*%³ ÄÖÎÃÑÁbWÈMªÔäÏ2߇— /ŽjOD¥Y¥'øz¹ž2#;µÒ=;8X°šŠßÉ•®í\ÏA _/^Ýž´Ü"îûvý~ˆI}šq¶."CÛù3´?#ÞYÃW·t¥ÄZÆMŸob~E[‹ª(¶–ñà÷Û¨ïéÂSÃÛàpšZ/WnêÙ„wVàhFÝ ö³©|¼†uÝùu—ýaÇ2 ô¶/ÜŸzUwºë§â>o½™Éƒ‚ˆxøÇívc̵ßÓªgóz¼üKÑ{RéÙ¼®NDûðÛÞ4Žd0.¬üûnUîÕ|¾Ð’¢Ò2&ÿ°ïníFwgÊ ƒù[yýòæágõþÊxšÕ÷ ³ |ý˜Šö*ëg*"""ò¯úó%‰ˆˆÈyB«à`bc·ðØOòâK¯°hñüüüèyîEÔF]:www>ÿâK¦M“ÿÝ{?IIÉô‹ì‹ÅLßȾ}HII!>þ ]ÂðX,têÔ‘õ}œûVœ§¿1ƒ§žyŽù?ýLQqyaîÄÌÜ EãÆhÜ’3ߦ´´”œœ¾ûþ[¾oß>ìÝ»—˜˜ò:Ì¢ÅK*Á^:ÞìÙ»—ÒÒRÊÊÊg VVPPÈ“îÆ××—Ç}˜ÂÂBòóó),,/D®[¿ž§Ÿ}®J³tÇŒÅ~DNN™™™ÌúäS.»l¤yþ~~¸¸¸pä¨ý¢ƒ'Œ äëG‰?žOŸ–>æ4ý[ù²?5Ÿy[ŽQZf`-3ˆKÎ¥ Äjj3¸­?mMäPz>¿íMcoJ®-?ªsßnL`KBPXZƶcÙ•Ž`ï»Í dä—`5 ÞŠÙO“zW´ŒhXÇõËßh±–,ØvrÆðß5ªs3cö“YÞf!³ „½©å­<¶ñeþÖDö§–ß×ò½i¶ûh\׃¸ä\rŠÊg‚o;–Í´“ù³=‰Y…¶cÕõt¡a]wr+ŽãíîÄÞ”\JË »Bû E¥e”Z j¹:±/%–í$ª¢°ÄÊÝ_mÁ×Ë•‡µ¢°¤Œüb+…¥å¯åe»S8^ñÆA~±•W¤¾§Ëi{¬Š>Á>¤ç—Øfy'e2÷£Œ>M_èê–Wd%¯¨”†Þ¶ ×<ó›IT¼AãéâÄ®äòs£buo7æ¬?€6åoØE¶òam|;³m‹kþ{õ«åÊØ@º4®Ããów`k¤ãáâHç ûYög³ýX6s7eêeíxit{¦Eíãp¥×¬ˆˆˆÈ…D3œEDD.Ìúð¬ì IDAT=^|ùU–.‹ÂÁb¡WÏ<úðd»¶gÒ°aC>õ!¯¾>Ï¿œ··7ã¯ǃÜgÓ§Ï%¼ÿáGÑ%< €ÎY¹êw5jdëGìëëËO ðÃóðôð`ÈàAÜïÉù.‹…7ߘƓO?K÷^}ð÷÷cÜ—³gï^ü|}™9ãM^~õ5¦<ý mÛ´aÄða¤¤–÷ñ5uÙe,‹Š¦gフ>Œ§Ÿšb—_Åï«ËVüú›omñN:òíWsHH8ƺu(++ÃÑñì“¿íÖ[HMKcàᔕY6t(7M¸Á< '''.éÝ‹¥Ë¢hlNÓ®A-ük¹Ò7ØÇÖ:¢²zž.|pm(¯-ÝÃK¿ìÁÑÁB+?/fŒëtÆò÷oíKüñ<&~¹‹"ƒ}ìzÏöhVɃ‚yzÁnŽeàîìHd+»ÅÐ*ë×ʇ‰_nâXV!Íê{ðæ¸N¶Y¯kÃËKâX´=7g.ëÀúCg/VÕ¤>ÍLøl#Ù…¥Ôõpáæž öõd`?âçsûœXŠJËÚÞŸ.MêØöí\Ÿ~­|¸î“?psr I}†¶?ÙžålÏAVa)ÎÛÁñÜ"<]håçÅäAM¸¬cÑq©ô¾’aíýOY¤ðPz>Më—€÷¦äþ©‚sT\jyoîxøvSù':ÖfÎÍ]YŸÁK¿ì!»°gG ‚¼ùàÚP\OÓ߸*j¹:ñÞÕ!¼¸$Ž—ÙC-7'Æ…ÙfÝžOu=œyhP0w}µ…ºÎx»vD³{û·à¹…»yøì†0×ó góú|»)>-ëCE¯d7gšyxØÚTǽ>5¼ W~´žWdGb£;W}Ö‚+ÎÛÁCƒ‚ ðv#¸!¢ÎÛÁ7v9íÿ}‘Ó‰ßN*ÿ–b1m•6ÇJ›à8®›Û†±«[¶8÷â9u¼OÿG‰ˆˆHM³œð°06nÚD÷ˆn¬]·žîÝð¬hñp‚Õzæ¥R}6nÚÌ=÷ÝÏï+Êg5›M›þ&é¼ðü³æÔkåªßynê ,úy>ÎÎÿÎ"a×|¼kº6bdÇ“=²«bÈÌÕÀ"rþ˜ß˜ËÍËcý†?ˆèÖÕ.þOY»n=úEšÃ"""5ΉŸ©a¡¡æÔiíÛO×ðp (Š ´ÒVVi3LÛ ¶¯ÿÚ”‘ &f9ùùå;ß·o?óæÿDîæa´Kz÷"4$„?ýÌœ:/Òr‹ˆ=šE‰µ £bæl\r.a«þñÿʪÒbDDDDDD.j©!"""­ï~ø‘Ǧïv$æ°'%×>Å=ýZÐÊÏËþÓ Ã`Üø«‰ŽYnN‰ˆˆˆˆˆT™ Î""""gáëåJ·¦uÍáóî“5‡Ø“|î‚sß`j¹9™ÃšÅbá駦ðô³ÏSPP`N‹ˆˆˆˆˆTÉßÿëDDDDä_0þ£õŒ d|xC[ìªY¸´c®íÖˆcñáïÉ.,¥¿ÏŽlKPw2 ¸mN,S†µæ…Åq,˜Ôƒ…Û“ø`ÕAÒóŠquvdBD#®h̼-‰ü°9ÏoìÀæ£Y¼öëâçãéêÄø° &önŠ˜·%‘µñéÔótaÑö$¬eƒÚú1eXk,ÛužUP³ w³ùh%Ö2šÖóà­+;1kõ!¢ãRY0™ËðÐÀ–´ ¨uÚë2s5ÏŽlC÷fõªtþÏÖfΆ£””Ò¯•/íjqexC:´oOÝ:uˆYþÇ µ»V‘ªPÁYDDDj¤Ñ!ü¼5ÉVp>”žÏž”\†whÀÚøt¦GíãÓÂhîëÅ´e{yè‡í̽¹+IY…|¼ú3Çw" ¶%Ö2žüy_ÝÒ•V~^¤ç“Wd5Žçs×ÜXÚšáüIÊ.dÂg›ðrsâê.å×±h{OoCÔ½½IË+æêYèÙ¼Ûø™Çœ GÁËîí…Ø•”K=O& fó‘L®éÚˆ‘YpÊuŸÎÙοb_¯9ħ7„Ѭ¾'‹w$óÈÛiÐÚ¶ÿÀý‰ŠŽQÁYDDDDDþµÔ‘ix{v%åp$£¼ýâíÉDûP×Ùù[¹¬S-|½°×wkÄöcÙ$çPl-cò `šÕ÷ÄÍÙG ë¸3wÃQ³ ©çáB£ºî¦3Bt\*êº3²c,½Ý¹©GcæÅ³iàíÆ¸° ,ø×r%¬q¤åÙç„ÆõÜÙšÍo{Ò0*fŸùºOçlç_²#…1iV߀aíýiîSþõ qøÈ»˜ˆˆˆˆˆHUi†³ˆˆˆÔHÞîÎD¶òaÁ¶DîìÓœ…Û“xxp0)ÙEÄÄ¥±p{’m¼»³#Ù…¥x8—¿ßÞ¬¾‡-ç`±ðÅá|¼æWÍÚ@Xã:<:8Ó,âô¼âSb ëºs<¿ÄöØÏËÕ.ïä`ÁZVþuøK1W<øîÖFth€·»3³~?ÈË¿îá¶ÞM¹"4Èn³Ê×}:g;jní‹Ú¾µìÇ׫WŒŒL»˜ˆˆˆˆˆHU©à,"""5Öèμ¶t/}‚}É/¶Ò«E}¨(¢^׸w÷mnÞ…„ÌòÑæžÊÞîÎÜß¿%“ú4çµ¥{ydÞ>½!ÜnLúîüº+Å.v,³@ï“E[‡S[5Ûl|¬Ÿ9DïõéÝ¢>;s¸sîf×ó [“ºœ¦å3œæºÍÎvþúž.¤äÛÅÒóìgffRÇ»¶]LDDDDD¤ªÔRCDDDj¬ž-ê‘W\Êû+ã¹´S+б£:ðíÆ¶$da…¥el;–mÞݦÄZFìÑ,¬†«“­ü<É-*5£O°éù%¶™ÓIÙ…Ìýã(£;š‡VÉž”\2*fG7®çŽ·»3yç­ëáÂîäÊ Ãn¿¿jp[?~ښȡô|~Û›ÆÞ”\»1GŽ¥aÓ 1Šˆˆˆˆˆüšá,"""5–£ÅÂ¥˜µú ÷õïn‹÷hVɃ‚yzÁnŽeàîìHd+:ž~æ®Õ€7¢ö±?-wgGÔvå©ámÍèåêÄ{W‡ðâ’8^þeµÜœĘ¿VpÞ•”Ã]Ë·Pl-£–«}‚}èìÀ-½šòÔÏ;™¿%‘G·"´‘·y÷?­k_âç1ñËÍX,ìC·¦uíÆ,‹Žæ–›o²‹‰ˆˆˆˆˆTÕ‰]Vþð¥Å´9TÚ+mN€ à ¸Vln6Æ®nÙ¢Y¥Ãž>ª)""5]TÌrÂÃÂØ¸iÝ#º°vÝzºGtÃÓþϮÕjµ{,r¡¸æã \Óµ#;6`ûŽÜqçÝüºd!¦×°ˆHurt´_ø47/õþ ¢[W»ø?eíºõ èi‹ˆˆÔ8'~¦†…†šS§µo<]ÃC (J€ÒJ[Y¥Í0m'ؾVK ‘ÿˆ´Ü"bfQb-ââR‰KÎ%¬±7†aðü /ñÌÓOªØ,"""""™ZjˆˆˆHÔqj”9$Ñ™«Ù6e_ÏùÒœùSTp‘iÛ”戈ˆˆˆˆüËÔRCDDDDDDDDDDª… Î""""""""""R-ÔRCDDäàèèh‰ˆˆˆˆˆˆ\t4ÃYDDDDDDDDDDª… Î""""""""""R-Tp‘j¡‚³ˆˆˆˆˆˆˆˆˆˆT œEDDDDDDDDD¤Z¨à,""""""""""ÕBg©*8‹ˆˆˆˆˆˆˆˆˆHµPÁYDDDDDDDDDDª… Î""""""""""R-Tp‘j¡‚³ˆˆˆˆˆˆˆˆˆˆT œEDDDDDDDDD¤Z¨à,""""""""""ÕBg©*8‹ˆˆˆˆˆˆˆˆˆHµPÁYDDDDDDDDDDª… Î""""""""""R-Tp‘j¡‚³ˆˆˆˆˆˆˆˆˆˆT œEDDDDDDDDD¤Z¨à,"""§xøÑÇyíõéæ°Í¹òrþ…v‰`×®Ýæð/5-^}úÑ«O?:†„ñu´wï>"zö&nÏsªJ¾ýî{ ŠÕj5§DDDDDäÚvèllݶÍ.VTTdôêi<õÌsFjjš‘——glÚ´ÙnŒaÆæÍ±F‡Îaæ°a†1oþOÆÈËF›Ãç³ÜèÑÓØ¶}»aµZ¥Ë¢ŒÌdžaú™ÑªmcÇŽ†aÆ¡C‡Îa]}ûö†a㯾ÖïÖã”íàÁCvçù/ÊÉÍ5¢b–Û~žþÓÛ²èó%‰ˆˆÔH'~¦šk±gÚ6lŒ5€0 -Ðhøõ°{Eع¢fìXQC®\S¶Ñ g‘ÿ€-[·aqp }ûv 0€uë7• Ào+VвEsF]v)ôîÝ‹°ÐPÛ¾çÊŸË’_~¡{D—ƒ——>>õiÓºµ-¿`á"&L¸ž®]»àææF³¦M h`wŒ3‰ŠŠ±»¶–-[pÝ5WóÃóÍCiܨ1㯀»»›9}N·ßv+µk×ÂÑÑgggV¬\EY™Á÷ß‹““\yÅå,Z¼€˜å¿Ñ²E èÅb¡WÏ„‡‡™û·Ü6ñêÖ­‹»»;wÞ~¿,]@íÚµ¸tä¾úúŽOgë¶mŒ>Ìt„ÓûþÇ4pƒÀb±Ñ­¡!‰ŽY€——oN©/¾Ì]÷ÜǵW_ED·nvǸâò±88”ÿªyõøñ,]…avcþŠ?6n"''—)?ŠO}<<< 1;/æÿô3ã.K‡öíqpp`à€þ„‡…²°âß }¥V7¢{D7–EGðoÍ`ÁüOÙ6 ²í/""""RÓ©‡³ˆˆÈÀ¢ÅKHNN¦{¯K(..æ×¥ËwùXŽO' 0Ðn|PÐÉÇçÊŸKjj¹ –š–F£† Íá*9ž~œ€€»X`P ©‹Ríb­[·2‡þóþ)))dddÐó’¾¶Xi©•öÅÆôŒtüüý*íq¼3iÐàdaÞÏßÂÂB[–n¼™{ÿw7K~ù…úW¹owJJ*+V®²½^¨xÍT.˜wîÔ‘Ðά]·ŽO>úÀ?ÁËËËöµ··7………äææVùÎ$5-þþ8;;›SçÝñãÇébzÓ 00ÔÔ“¯·Ê÷ P§Ž7i©iÜ}ϽìÛÀ.ðý7_ѤIcsXDDDD¤FRÁYDDä?`É’_xÿÝÿ£M›6üôÓÏ,Z´„q—ÅÏÏ—ãiå±ÒÓÓ ¨(fž+.u¼½Ù»oŸ9lSÇÛ›ÄÄ$sØŽÅbÁZÑ£·2?__¢£cìb Gðñõ±‹89ý½_{ÌûѼY3þ<Ï.~‚¿ŸIIö÷•ž‘iW$þ»’““ޤ$§àîîf+è¶ ¦Eó,‹Šfñ’_¹ãö[M{ŸYPPW\>†§¦Âž½{èÛ·ñññ,^ò †aðÇÆM¬]wr¹öîÝÇýN¶-ø÷g|4ë233)((ä½>dÈàÁvù믻†Ùsær4!ž=ºÛåÎæŠ±cX°p1Ë¢¢)..Æjµ²eë6ÒÒŽpìX"OyŠé¯¿Â+/½Àú 0ÿ§ŸíŽñåì9dgçPPPÀû|ÄàAíòU×.á899ñÊkÓÈÊΦ°°›6™‡U€¿?‡áà¡C”¿žÎeÌèQ|÷ýlß±Ã0Xͦ͛6t¨mÌøx~ùu©íÿÊú 0p@||êÓ ÿ)Û_.œ‹ˆˆˆˆ\€Tp¹È-Zò ýúEb±œ\ÇÁÏ϶mÚðëÒeøùù1sÆ›¼úú4B»1ëãO™pÃõvcÏ–?—ÐÐÞzs:ïø]"z2hÈp[Ÿc€‰7ßÄ5W]Å}N¦cH8W]s»ví¶;Æ ×]‹Ÿ¯/‘Þµ»­¸Y¯^=f}ð>_|9›ðnÜxËDnšp£. À˯¾F¯>ýøböæÿô3=/‰äµ×§ÛûLŽ9Âà¡#èÓo#.Íà¡#l3\ÝÜÜøü“YìØ¹‹AC†޻”䨘 ûöÌ·xëÿÞ&$¼~4‹ýûÙƒŠkÖ®µÓ«Êb›n¼1WŒ§WŸ¾8;;3åñGíÆ 8€ƒ‡qÙ¥#lý”«"8¸%3gLgÖǟУWºvïÉëÓ¦ÛŠÏ÷=ðW_u%ݺáééÉ›Ó^ã¹ç_°p† Ę+ÆÑ«O$NNN<ùÄcÄ<Èà¡#èÚ½?/\ÄGBÏÞ}yࡇøyÁB Jh—Š‹‹¹æºˆ0˜Ï¿˜ €‡‡_|ö1{öì!²ÿ º÷êÃëÓß´÷…—^¡o¿\7á& ëÁ !ÃÙ¼9Ö6¦k×.Œ¿ò ®¹na]#xúÙçl¹³éÝ»?ô÷Ü÷B»ð挙¼=ó-»v‘}ûCh—{âI^~q*-š7·;ŽˆˆˆˆÈÅìÄ_ž•W¬¼º ¥¢(}bs¬´9.«ºVln6Æ®nÙ¢ücƒgSÇ»¶9$""R£DÅ,'<,Œ›6Ñ=¢|Á´µëÖÓ=¢žæá"<üèãøúø0ù¡̩󢸸˜Þ}ûóíWsþÑÁ¡]"øtÖ‡tîÜÉœº¨}òÙç¬\¹ŠOÓÓZDÎ.7/õþ ¢[Wsê±vÝzô‹4‡EDDjœ?S«ºÐû¾ýñt   €" (J+me•6ô`ûºêS]DDDD¤FùhÖ'„tîô›O0ŒÊ¿{þwüGo[DDDDÄFg‘‹ÌüŸЭGo¢bb˜úü³æ´ˆˆˆˆˆÈyó÷–k‘*{õåÍ¡óbÔ¥#m}¬ÿ ›ÿ8uqÄÿ‚›&ÜÀMn0‡EDDDDþS4ÃYDDDDDDDDDDª… Î""""""""""R-Tp‘j¡‚³ˆˆˆˆˆˆˆˆˆˆT œEDDDDDDDDD¤Z¨à,""""""""""ÕBg©*8‹ˆˆˆˆˆˆˆˆˆHµPÁYDDDDDDDDDDª… Î""""""""""R-Tp‘j¡‚³ˆˆˆˆˆˆˆˆˆˆT 's@DDDDDäßVPP`Éyæîîn‰ˆˆˆüi*8‹ˆˆˆˆÈIÐŽ ü"""R]ÔRCDDDDDDDDDDª… Î""""""""""R-Tp‘j¡‚³ˆˆˆˆˆÔ8»w領´Ô>Eii)»wï6‡EDDDäÁ¾l{j›ŸÈ×…QTZÆØ÷Öœ]€“ƒ…¡íØÆÉȧC7ÎŽ¸:9YPBNa)¡ëà`±àìxêŸYîÎŽl{j[ŸÄ÷·w§S77~ºUûÒÌCEDDDj´S©!jÕªÅóÏ?ϦM›øê«¯˜;w.±±±<÷ÜsÔªUË<ü¬,´ôõâ¥Ñhå_‹w~;@Bfížýk™Á›Ñ{ùaó1lMdà›+ùè÷x €Ñï®æ®¹›MGµgük»qÛ%Í¸í’æ¼¸ä䂆)9EÜóu,¯DÓóÕž˜¿œ¢R¶%dÑå¥(ÛÌéÃéù´{öW¾úãˆmßÛgoâ“ÕIÈ,`à›+ùasCÞZIÄ+ÑÜúåFRs‹lcEDDDÎ'œEDDDD¤FóööfêÔ©ÄÄİ|ùržþy¼½ÿ^«Š‘Xsà¸9Ì}ýƒÕ9€QXvß%LìÕŒw®àçI½x»â몸´S瓘U>“úž¯cññreŃ‘,»¯i¹Å<ùÓÚÖÆÙÑmDzˆÚB+?/bâR°–l:œI¯–>Ë*`ãá æßÙ“ßŒàƒ•ñ¶óŠˆˆˆœO*8‹ˆˆˆˆHW¯^=¦NÊÔ©S©W¯ž9ý§Õõp&« Ä®Vu=\È*(áàñ|¶%dñÀÀ`\ðpqä¡A­X¶+…¼b+Ý›Õc]|:TœïèÓœM‡3)(±²5! Oj “IDATGZùyÙŽ}GŸ¸9;âæäÀ€6~H˳åDäÿÛ»—Þ:ê3€ÃïqÛ!Nš ŽL(¥*¨$"¡ ¥¥T,XVý m¿@—UU$]T]Tê7`Ó‹ºD*BP\B“fQõBábX@jc‘øÒEΘÞÌŒíqâ?4š™wæÌgé§ñ€Í$8·„ÇÇáÇóx]>¸4ö\ ›eæÒ|DDØs[\œ»{vÆž]_ü]÷;÷ÅÒòr\úìrœ:z0^¿p1.Î]Ž7?šÇï;_ŸÞ¯¼õß8ýÎÅxôžÅ•#¦ö^ýƒ‡£##±°¸tÍq€Í"8——ãç>ŒÇî=”uêwgfâ«S·Ç¡=»bzÿXüïó…kžªþðÒ|ìèõbjïî8uô@œ{ÿR¼ð¯âÔѱkt$ÿÊ¡xéÍãÕ·/Æ©£W_§Qéõ®Ù¸Qg€ˆ˜ý|!ÎÍ\Š?{6>¿?úÖÝù” »¼¸oÿg.žyîŸñ‡¿~?}êþˆˆ¸ãö]ñèÑñëÏÇåÅ¥˜¿²¿ùóÛñÔS±sÇH™ÜS“»ãÙ×ß‹ïÝGDD<~ß¡xõí‹ñ·?‰oÞ}íÎ7Ë¿¯° ½üïã§Ÿ;z15¹;¾{ßáøåŒ½»wæS×mþÊb<ðôóÑëE˜¸-NÜõ¥øý‰»N¬œó‹ï?Ï<÷xâW/ÇŽ‘^žO` æççcll,Ù$7ûß{vn.N¿ñ—8yâá|è†xíõÓñÄãßÉc:Õÿ©Çz(ªuþ­ ñðñoˆùˆø<".GÄ•ˆX(–¥bYNKeeÛ+5è„WjÛÒ×~þ§<êÄßöäÊöfÝc=Êï°Yg`[ºöFÜ`+ñJ :!8Ð ¯Ô¶¤ùùù<`‹œ€-gll,^©@'g:!8Ð Á€NÎtBp ‚3œè„à @'g:!8Ð Á€NÎtBp ‚3œè„à @'g:!8Ð Á€NÎtBp ‚3œè„à @'g:!8Ð Á€NÎС^¯—GÀü ·Á:411³³sy ´˜‹‰‰ñ<†Ðhë7==3ÌDÄrLLLäÃ@2;;3ÌÄôôt> !Á6¨üàýûöEDÄ;ï¾ssžt€6½^/&&Æczz:öMNæÃÀ:Üì×T ΰAããW_£±gÏÕ'š÷ïÛ·žàF™‹ññ±<¾¡gØ #SS13ó~Üyç^£Cè䉇cÖo&0äª×T™:’ÝP‚3lÐdÿW€/¼ón|öÙgù0lª^¯ããcqdêHìÝ»7¾¡gèÀäääJx€íê¦çKŸ|šG0TŽ;–G°­ä¬‡à @'g:!8Ð Á€NÎtBp ‚3̓.œ9{6ØB&'÷çцmJp>~ìX°…œëBm˜WjÐ Á€NÎtBp ‚3œè„à @'g:!8Ð Á€NÎt¢«à¼Ü_vÝ®‚s¥Ó/ÀðXkp®žd®Â²À 0üÊÖ»î7Z¬%87Ý iÀÖ×Yã48¯vÃüä3[_~²¹”÷W5HpnºhӀᔻoÞo5HpnS>Ùì g€á2HÛm;v¶àÜt‘¦›×ÍUã]wëm ÎuÊå'››B4[Sn»y]ª›]£)8×}°né -åƒlYu±¹Më9MÁ¹Rw£20çEpeßÍû­q¹ÎjÁ9Ë7È7œ†Gn¼Y¢WUœóóóÈ Ãa©¦ñ®ÖzÕç6MÑy©XU×­ ÍeÈ Á9ߤ Í9:0St.›ïš œ£¦pçмØ_ùãjVØhò…zÅí\Åçj]Þ7[™UO8Wƒy—Ó,_x©¿_ý±ÀºÏWç-öƒóBªsÈα9_`;+mµ.ŸL®¶«h¼P¬Ëø\æüts~Ê9ß·tÝl-¯Ô¨>ÜK_¾W¬ó;œ«sF‹à\>Ñ\«{”ëRÝ àVs]ÐM¡¹nÉñ¸ Ëy©Âsõ™›ëîߪ-8/q9ŠÐ[í/õ#ñR¿²~°ê‡*cs~…FÝRÊûÛI«í‡«%çÜjÛžn®¶Ë{•÷kÕœ³º‹U_"Ϫuu|G]>É\÷¼_§ip+©k²QÓ`Ëý*WÛuKšÓyåõÊë,ç冠Û6šè\ͪ§™ËØÜôtsÔ¬¸^™«uÎå~ŽÎuóºÀ\7‹¦yÎY͵éË?H/Eçh ÎQ³.ÕͶ‹º6[µØr»n)ƒrÝ,+¯[ÞkUu!·mV®ËX\å“ëfy)¯·øB«í2çp\.e\n ÍåuÊu©nÖvó¼.çX¼Ú’Ï«»F)ïp}ì-ÃpÞ®Û¯–¥þ±jϯ4Ýï:MQ·n^Κ‚qÞÎûuÛ庒÷øB޾9çxœ·Ë¥îœJ¾OÓ,¢%ì2ϱxµ \7+åý¦ÀvU{ó,‡ã“ó~Ý:o—šæ­A·éX[t®›5­óvÛ €kՅߺ`\·n;/o—šæÄݦãy^‘ëfmÛYÛ1€íª-ú6Eã•ëŽ5íWšæ+‰ºmçäcM1¹í¼:«ØÎV‹¿MA¹i»n¿ÔvlÅ a·í¼ºcy–÷KmÇLSÎó¼ß4«´»ÆŽ #include #include #include "lanes.h" #include "git.h" using namespace QGit; FileHistory::FileHistory(QObject* p, Git* g) : QAbstractItemModel(p), git(g) { headerInfo << "Graph" << "Id" << "Short Log" << "Commit" << "Author" << "Author Date"; lns = new Lanes(); revs.reserve(QGit::MAX_DICT_SIZE); clear(); // after _headerInfo is set connect(git, SIGNAL(newRevsAdded(const FileHistory*, const QVector&)), this, SLOT(on_newRevsAdded(const FileHistory*, const QVector&))); connect(git, SIGNAL(loadCompleted(const FileHistory*, const QString&)), this, SLOT(on_loadCompleted(const FileHistory*, const QString&))); connect(git, SIGNAL(changeFont(const QFont&)), this, SLOT(on_changeFont(const QFont&))); } FileHistory::~FileHistory() { clear(); delete lns; } void FileHistory::resetFileNames(SCRef fn) { fNames.clear(); fNames.append(fn); curFNames = fNames; } int FileHistory::rowCount(const QModelIndex& parent) const { return (!parent.isValid() ? rowCnt : 0); } bool FileHistory::hasChildren(const QModelIndex& parent) const { return !parent.isValid(); } int FileHistory::row(SCRef sha) const { const Rev* r = git->revLookup(sha, this); return (r ? r->orderIdx : -1); } const QString FileHistory::sha(int row) const { return (row < 0 || row >= rowCnt ? "" : QString(revOrder.at(row))); } void FileHistory::flushTail() { if (earlyOutputCnt < 0 || earlyOutputCnt >= revOrder.count()) { dbp("ASSERT in FileHistory::flushTail(), earlyOutputCnt is %1", earlyOutputCnt); return; } int cnt = revOrder.count() - earlyOutputCnt + 1; beginResetModel(); while (cnt > 0) { const ShaString& sha = revOrder.last(); const Rev* c = revs[sha]; delete c; revs.remove(sha); revOrder.pop_back(); cnt--; } // reset all lanes, will be redrawn for (int i = earlyOutputCntBase; i < revOrder.count(); i++) { Rev* c = const_cast(revs[revOrder[i]]); c->lanes.clear(); } firstFreeLane = earlyOutputCntBase; lns->clear(); rowCnt = revOrder.count(); endResetModel(); } void FileHistory::clear(bool complete) { if (!complete) { if (revOrder.count() > 0) flushTail(); return; } git->cancelDataLoading(this); beginResetModel(); qDeleteAll(revs); revs.clear(); revOrder.clear(); firstFreeLane = loadTime = earlyOutputCntBase = 0; setEarlyOutputState(false); lns->clear(); fNames.clear(); curFNames.clear(); qDeleteAll(rowData); rowData.clear(); if (testFlag(REL_DATE_F)) { secs = QDateTime::currentDateTime().toTime_t(); headerInfo[ColumnType::TIME_COL] = "Last Change"; } else { secs = 0; headerInfo[ColumnType::TIME_COL] = "Author Date"; } rowCnt = revOrder.count(); annIdValid = false; endResetModel(); emit headerDataChanged(Qt::Horizontal, 0, ColumnType::TIME_COL); } void FileHistory::on_newRevsAdded(const FileHistory* fh, const QVector& shaVec) { if (fh != this) // signal newRevsAdded() is broadcast return; // do not process revisions if there are possible renamed points // or pending renamed patch to apply if (!renamedRevs.isEmpty() || !renamedPatches.isEmpty()) return; // do not attempt to insert 0 rows since the inclusive range would be invalid if (rowCnt == shaVec.count()) return; beginInsertRows(QModelIndex(), rowCnt, shaVec.count()-1); rowCnt = shaVec.count(); endInsertRows(); } void FileHistory::on_loadCompleted(const FileHistory* fh, const QString&) { if (fh != this || rowCnt >= revOrder.count()) return; // now we can process last revision rowCnt = revOrder.count(); beginResetModel(); // force a reset to avoid artifacts in file history graph under Windows endResetModel(); // adjust Id column width according to the numbers of revisions we have if (!git->isMainHistory(this)) on_changeFont(QGit::STD_FONT); } void FileHistory::on_changeFont(const QFont& f) { QString maxStr(QString::number(rowCnt).length() + 1, '8'); QFontMetrics fmRows(f); int neededWidth = fmRows.boundingRect(maxStr).width(); QString id("Id"); QFontMetrics fmId(qApp->font()); while (fmId.boundingRect(id).width() < neededWidth) id += ' '; headerInfo[1] = id; emit headerDataChanged(Qt::Horizontal, 1, 1); } Qt::ItemFlags FileHistory::flags(const QModelIndex&) const { return Qt::ItemIsEnabled | Qt::ItemIsSelectable; // read only } QVariant FileHistory::headerData(int section, Qt::Orientation orientation, int role) const { if (orientation == Qt::Horizontal && role == Qt::DisplayRole) return headerInfo.at(section); return QVariant(); } QModelIndex FileHistory::index(int row, int column, const QModelIndex&) const { /* index() is called much more then data(), also by a 100X factor on big archives, so we use just the row number as QModelIndex payload and defer the revision lookup later, inside data(). Because row and column info are stored anyway in QModelIndex we don't need to add any additional data. */ if (row < 0 || row >= rowCnt) return QModelIndex(); return createIndex(row, column, (void*)0); } QModelIndex FileHistory::parent(const QModelIndex&) const { static const QModelIndex no_parent; return no_parent; } const QString FileHistory::timeDiff(unsigned long secs) const { ulong days = secs / (3600 * 24); ulong hours = (secs - days * 3600 * 24) / 3600; ulong min = (secs - days * 3600 * 24 - hours * 3600) / 60; ulong sec = secs - days * 3600 * 24 - hours * 3600 - min * 60; QString tmp; if (days > 0) tmp.append(QString::number(days) + "d "); if (hours > 0 || !tmp.isEmpty()) tmp.append(QString::number(hours) + "h "); if (min > 0 || !tmp.isEmpty()) tmp.append(QString::number(min) + "m "); tmp.append(QString::number(sec) + "s"); return tmp; } QVariant FileHistory::data(const QModelIndex& index, int role) const { static const QVariant no_value; if (!index.isValid() || role != Qt::DisplayRole) { if (role == Qt::FontRole && index.column() == QGit::HASH_COL) return QGit::TYPE_WRITER_FONT; return no_value; // fast path, 90% of calls ends here! } const Rev* r = git->revLookup(revOrder.at(index.row()), this); if (!r) return no_value; int col = index.column(); // calculate lanes if (r->lanes.count() == 0) git->setLane(r->sha(), const_cast(this)); if (col == QGit::ANN_ID_COL) return (annIdValid ? rowCnt - index.row() : QVariant()); if (col == QGit::LOG_COL) return r->shortLog(); if (col == QGit::HASH_COL) return r->shortHash(git->shortHashLength()); if (col == QGit::AUTH_COL) return r->author(); if (col == QGit::TIME_COL && r->sha() != QGit::ZERO_SHA_RAW) { if (secs != 0) // secs is 0 for absolute date return timeDiff(secs - r->authorDate().toULong()); else return git->getLocalDate(r->authorDate()); } return no_value; } qgit-qgit-2.11/src/FileHistory.h000066400000000000000000000041411500324541100165370ustar00rootroot00000000000000/* Description: interface to git programs Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef FILEHISTORY_H #define FILEHISTORY_H #include #include "common.h" //class Annotate; //class DataLoader; class Git; class Lanes; class FileHistory : public QAbstractItemModel { Q_OBJECT public: FileHistory(QObject* parent, Git* git); ~FileHistory(); void clear(bool complete = true); const QString sha(int row) const; int row(SCRef sha) const; const QStringList fileNames() const { return fNames; } void resetFileNames(SCRef fn); void setEarlyOutputState(bool b = true) { earlyOutputCnt = (b ? earlyOutputCntBase : -1); } void setAnnIdValid(bool b = true) { annIdValid = b; } virtual QVariant data(const QModelIndex &index, int role) const; virtual Qt::ItemFlags flags(const QModelIndex& index) const; virtual QVariant headerData(int s, Qt::Orientation o, int role = Qt::DisplayRole) const; virtual QModelIndex index(int r, int c, const QModelIndex& par = QModelIndex()) const; virtual QModelIndex parent(const QModelIndex& index) const; virtual int rowCount(const QModelIndex& par = QModelIndex()) const; virtual bool hasChildren(const QModelIndex& par = QModelIndex()) const; virtual int columnCount(const QModelIndex&) const { return 6; } public slots: void on_changeFont(const QFont&); private slots: void on_newRevsAdded(const FileHistory*, const QVector&); void on_loadCompleted(const FileHistory*, const QString&); private: friend class Annotate; friend class DataLoader; friend class Git; void flushTail(); const QString timeDiff(unsigned long secs) const; Git* git; RevMap revs; ShaVect revOrder; Lanes* lns; uint firstFreeLane; QList rowData; QList headerInfo; int rowCnt; bool annIdValid; unsigned long secs; int loadTime; int earlyOutputCnt; int earlyOutputCntBase; QStringList fNames; QStringList curFNames; QStringList renamedRevs; QHash renamedPatches; }; #endif // FILEHISTORY_H qgit-qgit-2.11/src/annotate.cpp000066400000000000000000000601301500324541100164420ustar00rootroot00000000000000/* Description: file history annotation Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include "FileHistory.h" #include "git.h" #include "myprocess.h" #include "annotate.h" #define MAX_AUTHOR_LEN 16 using namespace QGit; Annotate::Annotate(Git* parent, QObject* guiObj) : QObject(parent) { EM_INIT(exAnnCanceled, "Canceling annotation"); git = parent; gui = guiObj; cancelingAnnotate = annotateRunning = annotateActivity = false; valid = canceled = isError = false; connect(this, SIGNAL(annotateReady(Annotate*, bool, const QString&)), git, SIGNAL(annotateReady(Annotate*, bool, const QString&))); } const FileAnnotation* Annotate::lookupAnnotation(SCRef sha) { if (!valid || sha.isEmpty()) return NULL; AnnotateHistory::const_iterator it = ah.constFind(toTempSha(sha)); if (it != ah.constEnd()) return &(it.value()); // ok, we are not lucky. Check for an ancestor before to give up int shaIdx; const QString ancestorSha = getAncestor(sha, &shaIdx); if (!ancestorSha.isEmpty()) { it = ah.constFind(toTempSha(ancestorSha)); if (it != ah.constEnd()) return &(it.value()); } return NULL; } void Annotate::deleteWhenDone() { if (!EM_IS_PENDING(exAnnCanceled)) EM_RAISE(exAnnCanceled); if (annotateRunning) cancelingAnnotate = true; on_deleteWhenDone(); } void Annotate::on_deleteWhenDone() { if (!(annotateRunning || EM_IS_PENDING(exAnnCanceled))) deleteLater(); else QTimer::singleShot(20, this, SLOT(on_deleteWhenDone())); } bool Annotate::start(const FileHistory* _fh) { // could change during annotation, so save them fh = _fh; histRevOrder = fh->revOrder; if (histRevOrder.isEmpty()) { valid = false; return false; } annotateRunning = true; // init AnnotateHistory annFilesNum = 0; annId = histRevOrder.count(); annNumLen = QString::number(histRevOrder.count()).length(); ShaVect::const_iterator it(histRevOrder.constBegin()); do ah.insert(*it, FileAnnotation(annId--)); while (++it != histRevOrder.constEnd()); // annotating the file history could be time consuming, // so return now and use a timer to start annotation QTimer::singleShot(100, this, SLOT(slotComputeDiffs())); return true; } void Annotate::slotComputeDiffs() { processingTime.start(); if (!cancelingAnnotate) annotateFileHistory(); // now could call Qt event loop valid = !(isError || cancelingAnnotate); canceled = cancelingAnnotate; cancelingAnnotate = annotateRunning = false; if (canceled) deleteWhenDone(); else { QString msg("%1 %2"); msg = msg.arg(ah.count()).arg(processingTime.elapsed()); emit annotateReady(this, valid, msg); } } void Annotate::annotateFileHistory() { // sweep from the oldest to newest so that parent // annotations are calculated before children ShaVect::const_iterator it(histRevOrder.constEnd()); do { --it; doAnnotate(*it); } while (it != histRevOrder.constBegin() && !isError && !cancelingAnnotate); } void Annotate::doAnnotate(const ShaString& ss) { // all the parents annotations must be valid here const QString sha(ss); FileAnnotation* fa = getFileAnnotation(sha); if (fa == NULL || fa->isValid || isError || cancelingAnnotate) return; const Rev* r = git->revLookup(ss, fh); // historyRevs if (r == NULL) { dbp("ASSERT doAnnotate: no revision %1", sha); isError = true; return; } const QString& diff(getPatch(sha)); // set FileAnnotation::fileSha if (r->parentsCount() == 0) { // initial revision setInitialAnnotation(ah[ss].fileSha, fa); // calls Qt event loop fa->isValid = true; return; } // now create a new annotation from first parent diffs const QStringList& parents(r->parents()); const QString& parSha = parents.first(); FileAnnotation* pa = getFileAnnotation(parSha); if (!pa || !pa->isValid) { dbp("ASSERT in doAnnotate: annotation for %1 not valid", parSha); isError = true; return; } const QString& author(setupAuthor(r->author(), fa->annId)); setAnnotation(diff, author, pa->lines, fa->lines); // then add other parents diff if any QStringList::const_iterator it(parents.constBegin()); ++it; int parentNum = 1; while (it != parents.constEnd()) { FileAnnotation* pa = getFileAnnotation(*it); const QString& diff(getPatch(sha, parentNum++)); QStringList tmpAnn; setAnnotation(diff, "Merge", pa->lines, tmpAnn); // the two annotations must be of the same length if (fa->lines.count() != tmpAnn.count()) { qDebug("ASSERT: merging annotations of different length\n merging " "%s in %s", (*it).toLatin1().constData(), sha.toLatin1().constData()); isError = true; return; } // finally we unify the annotations unify(tmpAnn, fa->lines); fa->lines = tmpAnn; ++it; } fa->isValid = true; } FileAnnotation* Annotate::getFileAnnotation(SCRef sha) { AnnotateHistory::iterator it(ah.find(toTempSha(sha))); if (it == ah.end()) { dbp("ASSERT getFileAnnotation: no revision %1", sha); isError = true; return NULL; } return &(*it); } void Annotate::setInitialAnnotation(SCRef fileSha, FileAnnotation* fa) { QByteArray fileData; // fh->fileNames() are in cronological order, so we need the last one git->getFile(fileSha, NULL, &fileData, fh->fileNames().last()); // calls Qt event loop if (cancelingAnnotate) return; int lineNum = fileData.count('\n'); if (!fileData.endsWith('\n') && !fileData.isEmpty()) // No newline at end of file lineNum++; const QString empty; for (int i = 0; i < lineNum; i++) fa->lines.append(empty); } const QString Annotate::setupAuthor(SCRef origAuthor, int annId) { QString tmp(origAuthor.section('<', 0, 0).trimmed()); // strip e-mail address if (tmp.isEmpty()) { // probably only e-mail tmp = origAuthor; tmp.remove('<').remove('>'); tmp = tmp.trimmed(); tmp.truncate(MAX_AUTHOR_LEN); } // shrink author name if necessary if (tmp.length() > MAX_AUTHOR_LEN) { SCRef firstName(tmp.section(' ', 0, 0).trimmed()); SCRef surname(tmp.section(' ', 1).trimmed()); if (!firstName.isEmpty() && !surname.isEmpty()) tmp = firstName.left(1) + ". " + surname; tmp.truncate(MAX_AUTHOR_LEN); } return QString("%1.%2").arg(annId, annNumLen).arg(tmp); } void Annotate::unify(SList dst, SCList src) { const QString m("Merge"); for (int i = 0; i < dst.size(); ++i) { if (dst.at(i) == m) dst[i] = src.at(i); } } bool Annotate::setAnnotation(SCRef diff, SCRef author, SCList prevAnn, SList newAnn, int ofs) { newAnn.clear(); QStringList::const_iterator cur(prevAnn.constBegin()); QString line; int idx = 0, num, lineNumStart, lineNumEnd; int curLineNum = 1; // warning, starts from 1 instead of 0 bool inHeader = true; while (getNextSection(diff, idx, line, "\n")) { char firstChar = line.at(0).toLatin1(); if (inHeader) { if (firstChar == '@') inHeader = false; else continue; } switch (firstChar) { case '@': // an unified diff fragment header has form '@@ -a,b +c,d @@' // where 'a' is old file line number and 'b' is old file // number of lines of the hunk, 'c' and 'd' are the same // for new file. If the file does not have enough lines // then also the form '@@ -a +c @@' is used. if (ofs == 0) lineNumStart = line.indexOf('-') + 1; else // in this case we are given diff fragments with // faked small files that span the fragment plus // some padding. So we use 'c' instead of 'a' to // find the beginning of our patch in the faked file, // this value will be offsetted by ofs later lineNumStart = line.indexOf('+') + 1; lineNumEnd = line.indexOf(',', lineNumStart); if (lineNumEnd == -1) // small file case lineNumEnd = line.indexOf(' ', lineNumStart); num = line.mid(lineNumStart, lineNumEnd - lineNumStart).toInt(); num -= ofs; // offset for range filter computation // diff lines start from 1, 0 is empty file, // instead QValueList::at() starts from 0 if (num < 0 || num > prevAnn.size()) { dbp("ASSERT setAnnotation: start line number is %1", num); isError = true; return false; } for ( ; curLineNum < num; ++curLineNum) { newAnn.append(*cur); ++cur; } break; case '+': newAnn.append(author); break; case '-': if (curLineNum > prevAnn.size()) { dbp("ASSERT setAnnotation: remove end of " "file, diff is %1", diff); isError = true; return false; } else { ++cur; ++curLineNum; } break; case '\\': // diff(1) produces a "\ No newline at end of file", but the // message is locale dependent, so just test the space after '\' if (line[1] == ' ') break; // fall through default: if (curLineNum > prevAnn.size()) { dbp("ASSERT setAnnotation: end of " "file reached, diff is %1", diff); isError = true; return false; } else { newAnn.append(*cur); ++cur; ++curLineNum; } break; } } // copy the tail for ( ; curLineNum <= prevAnn.size(); ++curLineNum) { newAnn.append(*cur); ++cur; } return true; } const QString Annotate::getPatch(SCRef sha, int parentNum) { QString mergeSha(sha); if (parentNum) mergeSha = QString::number(parentNum) + " m " + sha; const Rev* r = git->revLookup(mergeSha, fh); if (!r) return QString(); const QString diff(r->diff()); QVector ba; const ShaString& ss = toPersistentSha(sha, ba); if (ah[ss].fileSha.isEmpty() && !parentNum) { int idx = diff.indexOf(".."); if (idx != -1) ah[ss].fileSha = diff.mid(idx + 2, 40); else // file mode change only, same sha of parent ah[ss].fileSha = ah[r->parent(0)].fileSha; } return diff; } bool Annotate::getNextSection(SCRef d, int& idx, QString& sec, SCRef target) { if (idx >= d.length()) return false; int newIdx = d.indexOf(target, idx); if (newIdx == -1) // last section, take all newIdx = d.length() - 1; sec = d.mid(idx, newIdx - idx + 1); idx = newIdx + 1; return true; } // ****************************** RANGE FILTER ***************************** bool Annotate::getRange(SCRef sha, RangeInfo* r) { if (!ranges.contains(sha) || !valid || canceled) { r->clear(); return false; } *r = ranges[sha]; // by copy return true; } void Annotate::updateCrossRanges(SCRef chunk, bool rev, int fileLen, int ofs, RangeInfo* r) { /* here the deal is to fake a file that will be modified by chunk, the file must contain also the whole output range. Then we apply an annotation step and see what happens... First we mark each line of the file with the corresponding line number, then apply the patch and check where the lines have been moved around. Now we have to cases: - In reverse case we infer the before-patch range knowing the after-patch range. So we check what lines we have in the region corresponding to after-patch range. - In forward case we infer the after-patch range knowing the before-patch range. So we scan the resulting annotation to find line numbers corresponding to the before-patch range. */ // because of the padding the file first line number will be // // fileFirstLineNr = newLineId - beforePadding = fileOffset + 1 QStringList beforeAnn; QStringList afterAnn; for (int lineNum = ofs + 1; lineNum <= ofs + fileLen; lineNum++) beforeAnn.append(QString::number(lineNum)); const QString fakedAuthor("*"); setAnnotation(chunk, fakedAuthor, beforeAnn, afterAnn, ofs); int newStart = ofs + 1; int newEnd = ofs + fileLen; if (rev) { // let's see what line number we have at given range interval limits. // at() counts from 0. //QLinkedList::const_iterator itStart(afterAnn.at(r->start - ofs - 1)); //QLinkedList::const_iterator itEnd(afterAnn.at(r->end - ofs - 1)); QStringList::const_iterator itStart(afterAnn.constBegin()); for (int i = 0; i < r->start - ofs - 1; i++) ++itStart; QStringList::const_iterator itEnd(afterAnn.constBegin()); for (int i = 0; i < r->end - ofs - 1; i++) ++itEnd; bool leftExtended = (*itStart == fakedAuthor); bool rightExtended = (*itEnd == fakedAuthor); // if range boundary is a line added by the patch // we consider inclusive and extend the range ++itStart; do { --itStart; if (*itStart != fakedAuthor) { newStart = (*itStart).toInt(); break; } } while (itStart != afterAnn.constBegin()); while (itEnd != afterAnn.constEnd()) { if (*itEnd != fakedAuthor) { newEnd = (*itEnd).toInt(); break; } ++itEnd; } if (leftExtended && *itStart != fakedAuthor) newStart++; if (rightExtended && itEnd != afterAnn.constEnd()) newEnd--; r->modified = (leftExtended || rightExtended); if (!r->modified) { // check for consecutive sequence for (int i = r->start; i <= r->end; ++i, ++itStart) if (i - r->start != (*itStart).toInt() - newStart) { r->modified = true; break; } } if (newStart > newEnd) // selected range is whole inside new added lines newStart = newEnd = 0; } else { // forward case // scan afterAnn to check for before-patch range boundaries QStringList::const_iterator itStart(afterAnn.constEnd()); QStringList::const_iterator itEnd(afterAnn.constEnd()); QStringList::const_iterator it(afterAnn.constBegin()); for (int lineNum = ofs + 1; it != afterAnn.constEnd(); ++lineNum, ++it) { if (*it != fakedAuthor) { if ((*it).toInt() <= r->start) { newStart = lineNum; itStart = it; } if ( (*it).toInt() >= r->end && itEnd == afterAnn.constEnd()) { // one-shot newEnd = lineNum; itEnd = it; } } } if (itStart != afterAnn.constEnd() && (*itStart).toInt() < r->start) newStart++; if (itEnd != afterAnn.constEnd() && (*itEnd).toInt() > r->end) newEnd--; r->modified = (itStart == afterAnn.constEnd() || itEnd == afterAnn.constEnd()); if (!r->modified) { // check for consecutive sequence for (int i = r->start; i <= r->end; ++itStart, i++) if ((*itStart).toInt() != i) { r->modified = true; break; } } if (newStart > newEnd) // selected range has been deleted newStart = newEnd = 0; } r->start = newStart; r->end = newEnd; } void Annotate::updateRange(RangeInfo* r, SCRef diff, bool reverse) { r->modified = false; if (r->start == 0) return; // r(start, end) is updated after each chunk incrementally and // not at the end of the whole diff to be always in sync with // chunk headers that are updated in the same way by GNU diff. // // so in case of reverse we have to apply the chunks from last // one to first. int idx = 0; QString chunk; QStringList chunkList; while (getNextSection(diff, idx, chunk, "\n@")) if (reverse) chunkList.prepend(chunk); else chunkList.append(chunk); QStringList::const_iterator chunkIt(chunkList.constBegin()); while (chunkIt != chunkList.constEnd()) { // an unified diff fragment header has form '@@ -a,b +c,d @@' // where 'a' is old file line number and 'b' is old file // number of lines of the hunk, 'c' and 'd' are the same // for new file. If the file does not have enough lines // then also the form '@@ -a +c @@' is used. chunk = *chunkIt++; int m = chunk.indexOf('-'); int c1 = chunk.indexOf(',', m); int p = chunk.indexOf('+', c1); int c2 = chunk.indexOf(',', p); int e = chunk.indexOf(' ', c2); int oldLineCnt = chunk.mid(c1 + 1, p - c1 - 2).toInt(); int newLineId = chunk.mid(p + 1, c2 - p - 1).toInt(); int newLineCnt = chunk.mid(c2 + 1, e - c2 - 1).toInt(); int lineNumDiff = newLineCnt - oldLineCnt; // because r(start, end) is updated after each chunk we have to // consider the updated patch delimiters to compare with r(start, end) int patchStart = newLineId; // patch end depends only to lines count so is... int patchEnd = patchStart + (reverse ? newLineCnt : oldLineCnt); patchEnd--; // with 1 line patch patchStart == patchEnd // case 1: patch range after our range if (patchStart > r->end) continue; // case 2: patch range before our range if (patchEnd < r->start) { r->start += (reverse ? -lineNumDiff : lineNumDiff); r->end += (reverse ? -lineNumDiff : lineNumDiff); continue; } // case 3: the patch is whole inside our range if (patchStart >= r->start && patchEnd <= r->end) { r->end += (reverse ? -lineNumDiff : lineNumDiff); r->modified = true; continue; } // case 4: ranges are crossing // add padding so that resulting file is the UNION: selectRange U patchRange // reverse independent int beforePadding = (r->start > patchStart ? 0 : patchStart - r->start); // reverse dependent int afterPadding = (patchEnd > r->end ? 0 : r->end - patchEnd); // file is the faked file on which we will apply the diff, // so it is always the _old_ before the patch one. int fileLenght = beforePadding + oldLineCnt + afterPadding; // given the chunk header @@ -a,b +c,d @@, line nr. 'c' must correspond // to the file line nr. 1 because we have only a partial file. // More, there is also the file padding to consider. // So we need that 'c' corresponds to file line nr. 'beforePadding + 1' // // the transformation in setAnnotation() is // newLineNum = 'c' - offset = beforePadding + 1 // so... int fileOffset = newLineId - beforePadding - 1; // because of the padding the file first line number will be // fileFirstLineNr = newLineId - beforePadding = fileOffset + 1 updateCrossRanges(chunk, reverse, fileLenght, fileOffset, r); } } const QString Annotate::getAncestor(SCRef sha, int* shaIdx) { QString fileSha; try { annotateActivity = true; EM_REGISTER(exAnnCanceled); QStringList fn(fh->fileNames()); FOREACH_SL (it, fn) { fileSha = git->getFileSha(*it, sha); // calls qApp->processEvents() if (!fileSha.isEmpty()) break; } if (fileSha.isEmpty()) { dbp("ASSERT in getAncestor: empty file from %1", sha); return ""; } EM_REMOVE(exAnnCanceled); annotateActivity = false; } catch(int i) { EM_REMOVE(exAnnCanceled); annotateActivity = false; if (EM_MATCH(i, exAnnCanceled, "getting ancestor")) { EM_THROW_PENDING; return ""; } const QString info("Exception \'" + EM_DESC(i) + "\' " "not handled in Annotation lookup...re-throw"); dbs(info); throw; } // NOTE: more then one revision could have the same file sha as our // input revision. This happens if the patch is reverted or if the patch // modify only file mode but no content. From the point of view of code // range filtering this is equivalent, so we don't care to find the correct // ancestor, but just the first revision with the same file sha for (*shaIdx = 0; *shaIdx < histRevOrder.count(); (*shaIdx)++) { const FileAnnotation& fa(ah[histRevOrder[*shaIdx]]); if (fa.fileSha == fileSha) return histRevOrder[*shaIdx]; } // ok still not found, this could happen if sha is an unapplied // stgit patch. In this case fall back on the first in the list // that is the newest. if (git->getAllRefSha(Git::UN_APPLIED).contains(sha)) return histRevOrder.first(); dbp("ASSERT in getAncestor: ancestor of %1 not found", sha); return ""; } bool Annotate::isDescendant(SCRef sha, SCRef target) { // quickly check if target is a direct descendant of sha, i.e. if starting // from target, sha could be reached walking along his parents. In case // a merge is found the search returns false because you'll need, // in general, all the previous ranges to compute the target one. const Rev* r = git->revLookup(sha, fh); if (!r) return false; int shaIdx = r->orderIdx; r = git->revLookup(target, fh); while (r && r->orderIdx < shaIdx && r->parentsCount() == 1) r = git->revLookup(r->parent(0), fh); return (r && r->orderIdx == shaIdx); } /* Range filtering uses only annotated added/removed lines to compute ranges, patch content is never checked, this algorithm is fast but fails in case of code shuffle; if a patch moves some code between two independents part of the same file this will be interpreted as a delete of origin code. New added code is not recognized as the same of old one because content is not checked. Only checking for copies would fix the corner case, but implementation is too difficult, so better accept this design limitation for now. */ const QString Annotate::computeRanges(SCRef sha, int paraFrom, int paraTo, SCRef target) { ranges.clear(); if (!valid || canceled || sha.isEmpty()) { dbp("ASSERT in computeRanges: annotation from %1 not valid", sha); return ""; } // paragraphs start from 0 but ranges from 1 int rangeStart = paraFrom + 1; int rangeEnd = paraTo + 1; QString ancestor(sha); int shaIdx; QVector ba; const ShaString& ss = toPersistentSha(sha, ba); for (shaIdx = 0; shaIdx < histRevOrder.count(); shaIdx++) if (histRevOrder[shaIdx] == ss) break; if (shaIdx == histRevOrder.count()) { // not in history, find an ancestor ancestor = getAncestor(sha, &shaIdx); if (ancestor.isEmpty()) return ""; } // insert starting one, always included by default, could be removed after ranges.insert(ancestor, RangeInfo(rangeStart, rangeEnd, true)); // check if target is a descendant, so to skip back history walking bool isDirectDescendant = isDescendant(ancestor, target); // going back in history, to oldest following first parent lane const QString oldest(histRevOrder.last()); // causes a detach! const Rev* curRev = git->revLookup(ancestor, fh); // historyRevs QString curRevSha(curRev->sha()); while (curRevSha != oldest && !isDirectDescendant) { const QString& diff(getPatch(curRevSha)); if (diff.isEmpty()) { if (curRev->parentsCount() == 0) // is initial break; dbp("ASSERT in rangeFilter 1: diff for %1 not found", curRevSha); return ""; } RangeInfo r(ranges[curRevSha]); updateRange(&r, diff, true); // special case for modified flag. Mark always the 'after patch' revision // with modified flag, not the before patch. So we have to stick the flag // to the newer revision. ranges[curRevSha].modified = r.modified; // if the second revision does not modify the range then r.modified == false // and the first revision range is created with modified == false, if the // first revision is initial then the loop is exited without update the flag // and the first revision is missed. // // we want to always include first revision as a compare base also if // does not modify anything. Of course range must be valid. r.modified = (r.start != 0); if (curRev->parentsCount() == 0) break; curRev = git->revLookup(curRev->parent(0), fh); curRevSha = curRev->sha(); ranges.insert(curRevSha, r); if (curRevSha == target) // stop now, no need to continue return ancestor; } // now that we have initial revision go back and sweep up all the // remaining stuff, we are guaranteed a good parent is always // found but in case of an independent branch, see below if (!isDirectDescendant) shaIdx = histRevOrder.count() - 1; for ( ; shaIdx >= 0; shaIdx--) { SCRef sha(histRevOrder[shaIdx]); if (!ranges.contains(sha)) { curRev = git->revLookup(sha, fh); if (curRev->parentsCount() == 0) { // the start of an independent branch is found in this case // insert an empty range, the whole branch will be ignored. // Merge of outside branches are very rare so this solution // seems enough if we don't want to dive in (useless) complications. ranges.insert(sha, RangeInfo()); continue; } const QString& diff(getPatch(sha)); if (diff.isEmpty()) { dbp("ASSERT in rangeFilter 2: diff for %1 not found", sha); return ""; } QString parSha(curRev->parent(0)); if (!ranges.contains(parSha)) { if (isDirectDescendant) // we must be in a parallel lane, no need continue; // to compute range info, simply go on dbp("ASSERT in rangeFilter: range info for %1 not found", parSha); return ""; } RangeInfo r(ranges[parSha]); updateRange(&r, diff, false); ranges.insert(sha, r); if (sha == target) // stop now, no need to continue return ancestor; } } return ancestor; } bool Annotate::seekPosition(int* paraFrom, int* paraTo, SCRef fromSha, SCRef toSha) { if ((*paraFrom == 0 && *paraTo == 0) || fromSha == toSha) return true; Ranges backup(ranges); // implicitly shared if (computeRanges(fromSha, *paraFrom, *paraTo, toSha).isEmpty()) goto fail; if (!ranges.contains(toSha)) goto fail; *paraFrom = ranges[toSha].start - 1; *paraTo = ranges[toSha].end - 1; ranges = backup; return true; fail: ranges = backup; return false; } qgit-qgit-2.11/src/annotate.h000066400000000000000000000044411500324541100161120ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef ANNOTATE_H #define ANNOTATE_H #include #include #include "exceptionmanager.h" #include "common.h" class Git; class FileHistory; class MyProcess; class RangeInfo { public: RangeInfo() { clear(); } RangeInfo(int s, int e, bool m) : start(s), end(e), modified(m) {} void clear() { start = end = 0; modified = false; } int start, end; // ranges count file lines from 1 like patches diffs bool modified; }; typedef QHash Ranges; class Annotate : public QObject { Q_OBJECT public: Annotate(Git* parent, QObject* guiObj); void deleteWhenDone(); const FileAnnotation* lookupAnnotation(SCRef sha); bool start(const FileHistory* fh); bool isCanceled() { return canceled; } const QString getAncestor(SCRef sha, int* shaIdx); bool getRange(SCRef sha, RangeInfo* r); bool seekPosition(int* rangeStart, int* rangeEnd, SCRef fromSha, SCRef toSha); const QString computeRanges(SCRef sha, int paraFrom, int paraTo, SCRef target = ""); signals: void annotateReady(Annotate*, bool, const QString&); private slots: void on_deleteWhenDone(); void slotComputeDiffs(); private: void annotateFileHistory(); void doAnnotate(const ShaString& sha); FileAnnotation* getFileAnnotation(SCRef sha); void setInitialAnnotation(SCRef fileSha, FileAnnotation* fa); const QString setupAuthor(SCRef origAuthor, int annId); bool setAnnotation(SCRef diff, SCRef aut, SCList pAnn, SList nAnn, int ofs = 0); bool getNextLine(SCRef d, int& idx, QString& line); static void unify(SList dst, SCList src); const QString getPatch(SCRef sha, int parentNum = 0); bool getNextSection(SCRef d, int& idx, QString& sec, SCRef target); void updateRange(RangeInfo* r, SCRef diff, bool reverse); void updateCrossRanges(SCRef cnk, bool rev, int oStart, int oLineCnt, RangeInfo* r); bool isDescendant(SCRef sha, SCRef target); EM_DECLARE(exAnnCanceled); Git* git; QObject* gui; const FileHistory* fh; AnnotateHistory ah; bool cancelingAnnotate; bool annotateRunning; bool annotateActivity; bool isError; int annNumLen; int annId; int annFilesNum; ShaVect histRevOrder; // TODO use reference bool valid; bool canceled; QElapsedTimer processingTime; Ranges ranges; }; #endif qgit-qgit-2.11/src/app_icon.rc000066400000000000000000000000601500324541100162370ustar00rootroot00000000000000IDI_ICON1 ICON DISCARDABLE "resources\qgit.ico" qgit-qgit-2.11/src/cache.cpp000066400000000000000000000076521500324541100157060ustar00rootroot00000000000000/* Description: file names persistent cache Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include "cache.h" using namespace QGit; bool Cache::save(const QString& gitDir, const RevFileMap& rf, const StrVect& dirs, const StrVect& files) { if (gitDir.isEmpty() || rf.isEmpty()) return false; QString path(gitDir + C_DAT_FILE); QString tmpPath(path + BAK_EXT); QDir dir; if (!dir.exists(gitDir)) { dbs("Git directory not found, unable to save cache"); return false; } QFile f(tmpPath); if (!f.open(QIODevice::WriteOnly | QIODevice::Unbuffered)) return false; dbs("Saving cache. Please wait..."); // compress in memory before write to file QByteArray data; QDataStream stream(&data, QIODevice::WriteOnly); // Write a header with a "magic number" and a version stream << (quint32)C_MAGIC; stream << (qint32)C_VERSION; stream << (qint32)dirs.count(); for (int i = 0; i < dirs.count(); ++i) stream << dirs.at(i); stream << (qint32)files.count(); for (int i = 0; i < files.count(); ++i) stream << files.at(i); // to achieve a better compression we save the sha's as // one very long string instead of feeding the stream with // each one. With this trick we gain a 15% size reduction // in the final compressed file. The save/load speed is // almost the same. uint bufSize = rf.count() * 41 + 1000; // a little bit more space then required QByteArray buf; buf.reserve(bufSize); QVector v; v.reserve(rf.count()); QVector ba; ShaString CUSTOM_SHA_RAW(toPersistentSha(CUSTOM_SHA, ba)); unsigned int newSize = 0; FOREACH (RevFileMap, it, rf) { const ShaString& sha = it.key(); if ( sha == ZERO_SHA_RAW || sha == CUSTOM_SHA_RAW || sha.latin1()[0] == 'A') // ALL_MERGE_FILES + rev sha continue; v.append(it.value()); buf.append(sha.latin1()).append('\0'); newSize += 41; if (newSize > bufSize) { dbs("ASSERT in Cache::save, out of allocated space"); return false; } } buf.resize(newSize); stream << (qint32)newSize; stream << buf; for (int i = 0; i < v.size(); ++i) *(v.at(i)) >> stream; dbs("Compressing data..."); f.write(qCompress(data, 1)); // no need to encode with compressed data f.close(); // rename C_DAT_FILE + BAK_EXT -> C_DAT_FILE if (dir.exists(path)) { if (!dir.remove(path)) { dbs("access denied to " + path); dir.remove(tmpPath); return false; } } dir.rename(tmpPath, path); dbs("Done."); return true; } bool Cache::load(const QString& gitDir, RevFileMap& rfm, StrVect& dirs, StrVect& files, QByteArray& revsFilesShaBuf) { // check for cache file QString path(gitDir + C_DAT_FILE); QFile f(path); if (!f.exists()) return true; // no cache file is not an error if (!f.open(QIODevice::ReadOnly | QIODevice::Unbuffered)) return false; QDataStream stream(qUncompress(f.readAll())); quint32 magic; qint32 version; qint32 dirsNum, filesNum, bufSize; stream >> magic; stream >> version; if (magic != C_MAGIC || version != C_VERSION) { f.close(); return false; } // read the data stream >> dirsNum; dirs.resize(dirsNum); for (int i = 0; i < dirsNum; ++i) stream >> dirs[i]; stream >> filesNum; files.resize(filesNum); for (int i = 0; i < filesNum; ++i) stream >> files[i]; stream >> bufSize; revsFilesShaBuf.clear(); revsFilesShaBuf.reserve(bufSize); stream >> revsFilesShaBuf; const char* data = revsFilesShaBuf.constData(); const char* endptr = &*revsFilesShaBuf.constEnd(); while (!stream.atEnd()) { RevFile* rf = new RevFile(); *rf << stream; if (data > endptr - 41) { dbs("ASSERT in Cache::load, corrupted SHA"); return false; } ShaString sha(data); rfm.insert(sha, rf); data += 40; if (*data != '\0') { dbp("ASSERT in Cache::load, corrupted SHA after %1", sha); return false; } data++; } f.close(); return true; } qgit-qgit-2.11/src/cache.h000066400000000000000000000010201500324541100153320ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef CACHE_H #define CACHE_H #include "git.h" class Cache : public QObject { Q_OBJECT public: explicit Cache(QObject* par) : QObject(par) {} static bool save(const QString& gitDir, const RevFileMap& rf, const StrVect& dirs, const StrVect& files); static bool load(const QString& gitDir, RevFileMap& rf, StrVect& dirs, StrVect& files, QByteArray& revsFilesShaBuf); }; #endif qgit-qgit-2.11/src/commit.ui000066400000000000000000000223641500324541100157630ustar00rootroot00000000000000 CommitBase 0 0 647 531 Commit changes :/icons/resources/svn-commit.svg 0 0 0 0 0 6 0 0 0 0 Qt::Vertical Qt::CustomContextMenu Check files to commit false false true 2 File Index status 0 0 0 0 0 Commit message (first line is the sub&ject): false textEditMsg Lines starting with '#' will be ignored Press <Ctrl+Enter> to commit changes QTextEdit::NoWrap false false 6 0 0 0 0 150 24 Monospace QFrame::Sunken Line: %1 Col: %2 false Qt::Horizontal QSizePolicy::Expanding 30 20 0 0 Settin&gs Alt+G false false 0 0 Canc&el Alt+E false true 0 0 Update index for selected files Update &Index 0 0 Commit selected files &Commit Alt+C pushButtonCancel pushButtonUpdateCache pushButtonOk pushButtonCancel clicked() CommitBase pushButtonCancel_clicked() 20 20 20 20 pushButtonUpdateCache clicked() CommitBase pushButtonUpdateCache_clicked() 20 20 20 20 pushButtonSettings clicked() CommitBase pushButtonSettings_clicked() 20 20 20 20 qgit-qgit-2.11/src/commitimpl.cpp000066400000000000000000000270471500324541100170150ustar00rootroot00000000000000/* Description: changes commit dialog Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include #include #include #include #include #include #include #include "exceptionmanager.h" #include "common.h" #include "git.h" #include "settingsimpl.h" #include "commitimpl.h" using namespace QGit; QString CommitImpl::lastMsgBeforeError; CommitImpl::CommitImpl(Git* g, bool amend) : git(g) { // adjust GUI setAttribute(Qt::WA_DeleteOnClose); setupUi(this); textEditMsg->setFont(TYPE_WRITER_FONT); QVector v(1, splitter); QGit::restoreGeometrySetting(CMT_GEOM_KEY, this, &v); QSettings settings; QString templ(settings.value(CMT_TEMPL_KEY, CMT_TEMPL_DEF).toString()); QString msg; QDir d; if (d.exists(templ)) readFromFile(templ, msg); // set-up files list const RevFile* f = git->getFiles(ZERO_SHA); for (int i = 0; f && i < f->count(); ++i) { // in case of amend f could be null bool inIndex = f->statusCmp(i, RevFile::IN_INDEX); bool isNew = (f->statusCmp(i, RevFile::NEW) || f->statusCmp(i, RevFile::UNKNOWN)); QColor myColor = QPalette().color(QPalette::WindowText); if (isNew) myColor = Qt::darkGreen; else if (f->statusCmp(i, RevFile::DELETED)) myColor = Qt::red; QTreeWidgetItem* item = new QTreeWidgetItem(treeWidgetFiles); item->setText(0, git->filePath(*f, i)); item->setText(1, inIndex ? "Updated in index" : "Not updated in index"); item->setCheckState(0, inIndex || !isNew ? Qt::Checked : Qt::Unchecked); item->setForeground(0, myColor); } treeWidgetFiles->resizeColumnToContents(0); // compute cursor offsets. Take advantage of fixed width font textEditMsg->setPlainText("\nx\nx"); // cursor doesn't move on empty text textEditMsg->moveCursor(QTextCursor::Start); textEditMsg->verticalScrollBar()->setValue(0); textEditMsg->horizontalScrollBar()->setValue(0); int y0 = textEditMsg->cursorRect().y(); int x0 = textEditMsg->cursorRect().x(); textEditMsg->moveCursor(QTextCursor::Down); textEditMsg->moveCursor(QTextCursor::Right); textEditMsg->verticalScrollBar()->setValue(0); int y1 = textEditMsg->cursorRect().y(); int x1 = textEditMsg->cursorRect().x(); ofsX = x1 - x0; ofsY = y1 - y0; textEditMsg->moveCursor(QTextCursor::Start); textEditMsg_cursorPositionChanged(); if (lastMsgBeforeError.isEmpty()) { // setup textEditMsg with old commit message to be amended QString status(""); if (amend) status = git->getLastCommitMsg(); // setup textEditMsg with default value if user opted to do so (default) if (testFlag(USE_CMT_MSG_F, FLAGS_KEY)) status += git->getNewCommitMsg(); msg = status.trimmed(); } else msg = lastMsgBeforeError; textEditMsg->setPlainText(msg); textEditMsg->setFocus(); // if message is not changed we avoid calling refresh // to change patch name in stgCommit() origMsg = msg; // setup button functions if (amend) { if (git->isStGITStack()) { pushButtonOk->setText("&Add to top"); pushButtonOk->setShortcut(QKeySequence("Alt+A")); pushButtonOk->setToolTip("Refresh top stack patch"); } else { pushButtonOk->setText("&Amend"); pushButtonOk->setShortcut(QKeySequence("Alt+A")); pushButtonOk->setToolTip("Amend latest commit"); } connect(pushButtonOk, SIGNAL(clicked()), this, SLOT(pushButtonAmend_clicked())); } else { if (git->isStGITStack()) { pushButtonOk->setText("&New patch"); pushButtonOk->setShortcut(QKeySequence("Alt+N")); pushButtonOk->setToolTip("Create a new patch"); } connect(pushButtonOk, SIGNAL(clicked()), this, SLOT(pushButtonCommit_clicked())); } connect(treeWidgetFiles, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(contextMenuPopup(const QPoint&))); connect(textEditMsg, SIGNAL(cursorPositionChanged()), this, SLOT(textEditMsg_cursorPositionChanged())); textEditMsg->installEventFilter(this); } void CommitImpl::closeEvent(QCloseEvent*) { QVector v(1, splitter); QGit::saveGeometrySetting(CMT_GEOM_KEY, this, &v); } void CommitImpl::contextMenuPopup(const QPoint& pos) { QMenu* contextMenu = new QMenu(this); QAction* a = contextMenu->addAction("Select All"); connect(a, SIGNAL(triggered()), this, SLOT(checkAll())); a = contextMenu->addAction("Unselect All"); connect(a, SIGNAL(triggered()), this, SLOT(unCheckAll())); contextMenu->popup(mapToGlobal(pos)); } void CommitImpl::checkAll() { checkUncheck(true); } void CommitImpl::unCheckAll() { checkUncheck(false); } void CommitImpl::checkUncheck(bool checkAll) { QTreeWidgetItemIterator it(treeWidgetFiles); while (*it) { (*it)->setCheckState(0, checkAll ? Qt::Checked : Qt::Unchecked); ++it; } } bool CommitImpl::getFiles(SList selFiles) { // check for files to commit selFiles.clear(); QTreeWidgetItemIterator it(treeWidgetFiles); while (*it) { if ((*it)->checkState(0) == Qt::Checked) selFiles.append((*it)->text(0)); ++it; } return !selFiles.isEmpty(); } void CommitImpl::warnNoFiles() { QMessageBox::warning(this, "Commit changes - QGit", "Sorry, no files are selected for updating.", QMessageBox::Ok, QMessageBox::NoButton); } bool CommitImpl::checkFiles(SList selFiles) { if (getFiles(selFiles)) return true; warnNoFiles(); return false; } bool CommitImpl::checkMsg(QString& msg) { msg = textEditMsg->toPlainText(); msg.remove(QRegExp("(^|\\n)\\s*#[^\\n]*")); // strip comments msg.replace(QRegExp("[ \\t\\r\\f\\v]+\\n"), "\n"); // strip line trailing cruft msg = msg.trimmed(); if (msg.isEmpty()) { QMessageBox::warning(this, "Commit changes - QGit", "Sorry, I don't want an empty message.", QMessageBox::Ok, QMessageBox::NoButton); return false; } // split subject from message body QString subj(msg.section('\n', 0, 0, QString::SectionIncludeTrailingSep)); QString body(msg.section('\n', 1).trimmed()); msg = subj + '\n' + body + '\n'; return true; } bool CommitImpl::checkPatchName(QString& patchName) { bool ok; patchName = patchName.simplified(); patchName.replace(' ', "_"); patchName = QInputDialog::getText(this, "Create new patch - QGit", "Enter patch name:", QLineEdit::Normal, patchName, &ok); if (!ok || patchName.isEmpty()) return false; QString tmp(patchName.trimmed()); if (patchName != tmp.remove(' ')) QMessageBox::warning(this, "Create new patch - QGit", "Sorry, control " "characters or spaces\n are not allowed in patch name."); else if (git->isPatchName(patchName)) QMessageBox::warning(this, "Create new patch - QGit", "Sorry, patch name " "already exists.\nPlease choose a different name."); else return true; return false; } bool CommitImpl::checkConfirm(SCRef msg, SCRef patchName, SCList selFiles, bool amend) { // QTextCodec* tc = QTextCodec::codecForCStrings(); // QTextCodec::setCodecForCStrings(0); // set temporary Latin-1 // NOTEME: i18n-ugly QString whatToDo = amend ? (git->isStGITStack() ? "refresh top patch with" : "amend last commit with") : (git->isStGITStack() ? "create a new patch with" : "commit"); QString text("Do you want to " + whatToDo); bool const fullList = selFiles.size() < 20; if (fullList) text.append(" the following file(s)?\n\n" + selFiles.join("\n") + "\n\nwith the message:\n\n"); else text.append(" those " + QString::number(selFiles.size()) + " files the with the message:\n\n"); text.append(msg); if (git->isStGITStack()) text.append("\n\nAnd patch name: " + patchName); // QTextCodec::setCodecForCStrings(tc); QMessageBox msgBox(this); msgBox.setWindowTitle("Commit changes - QGit"); msgBox.setText(text); if (!fullList) msgBox.setDetailedText(selFiles.join("\n")); msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); msgBox.setDefaultButton(QMessageBox::Yes); return msgBox.exec() != QMessageBox::No; } void CommitImpl::pushButtonSettings_clicked() { SettingsImpl setView(this, git, 3); setView.exec(); } void CommitImpl::pushButtonCancel_clicked() { close(); } void CommitImpl::pushButtonCommit_clicked() { QStringList selFiles; // retrieve selected files if (!checkFiles(selFiles)) return; QString msg; // check for commit message and strip comments if (!checkMsg(msg)) return; QString patchName(msg.section('\n', 0, 0)); // the subject if (git->isStGITStack() && !checkPatchName(patchName)) return; // ask for confirmation if (!checkConfirm(msg, patchName, selFiles, !Git::optAmend)) return; // ok, let's go QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); EM_PROCESS_EVENTS; // to close message box bool ok; if (git->isStGITStack()) ok = git->stgCommit(selFiles, msg, patchName, !Git::optFold); else ok = git->commitFiles(selFiles, msg, !Git::optAmend); lastMsgBeforeError = (ok ? "" : msg); QApplication::restoreOverrideCursor(); hide(); emit changesCommitted(ok); close(); } void CommitImpl::pushButtonAmend_clicked() { QStringList selFiles; // retrieve selected files getFiles(selFiles); // FIXME: If there are no files AND no changes to message, we should not // commit. Disabling the commit button in such case might be preferable. QString msg(textEditMsg->toPlainText()); if (msg == origMsg && selFiles.isEmpty()) { warnNoFiles(); return; } if (msg == origMsg && git->isStGITStack()) msg = ""; else if (!checkMsg(msg)) // We are going to replace the message, so it better isn't empty return; // ask for confirmation // FIXME: We don't need patch name for refresh, do we? if (!checkConfirm(msg, "", selFiles, Git::optAmend)) return; // ok, let's go QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); EM_PROCESS_EVENTS; // to close message box bool ok; if (git->isStGITStack()) ok = git->stgCommit(selFiles, msg, "", Git::optFold); else ok = git->commitFiles(selFiles, msg, Git::optAmend); QApplication::restoreOverrideCursor(); hide(); emit changesCommitted(ok); close(); } void CommitImpl::pushButtonUpdateCache_clicked() { QStringList selFiles; if (!checkFiles(selFiles)) return; bool ok = git->updateIndex(selFiles); QApplication::restoreOverrideCursor(); emit changesCommitted(ok); close(); } void CommitImpl::textEditMsg_cursorPositionChanged() { int col_pos, line_pos; computePosition(col_pos, line_pos); QString lineNumber = QString("Line: %1 Col: %2") .arg(line_pos + 1).arg(col_pos + 1); textLabelLineCol->setText(lineNumber); } void CommitImpl::computePosition(int &col_pos, int &line_pos) { QRect r = textEditMsg->cursorRect(); int vs = textEditMsg->verticalScrollBar()->value(); int hs = textEditMsg->horizontalScrollBar()->value(); // when in start position r.x() = -r.width() / 2 col_pos = (r.x() + hs + r.width() / 2) / ofsX; line_pos = (r.y() + vs) / ofsY; } bool CommitImpl::eventFilter(QObject* obj, QEvent* event) { if (obj == textEditMsg) { if (event->type() == QEvent::KeyPress) { QKeyEvent* keyEvent = static_cast(event); if (( keyEvent->key() == Qt::Key_Return || keyEvent->key() == Qt::Key_Enter ) && keyEvent->modifiers() & Qt::ControlModifier) { QMetaObject::invokeMethod(pushButtonOk, "clicked", Qt::QueuedConnection); return true; } } return false; } return QObject::eventFilter(obj, event); } qgit-qgit-2.11/src/commitimpl.h000066400000000000000000000022731500324541100164540ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef COMMITIMPL_H #define COMMITIMPL_H #include "ui_commit.h" #include "common.h" class Git; class CommitImpl : public QWidget, public Ui_CommitBase { Q_OBJECT public: explicit CommitImpl(Git* g, bool amend); signals: void changesCommitted(bool); public slots: virtual void closeEvent(QCloseEvent*); void pushButtonCommit_clicked(); void pushButtonAmend_clicked(); void pushButtonCancel_clicked(); void pushButtonUpdateCache_clicked(); void pushButtonSettings_clicked(); void textEditMsg_cursorPositionChanged(); private slots: void contextMenuPopup(const QPoint&); void checkAll(); void unCheckAll(); private: void checkUncheck(bool checkAll); bool getFiles(SList selFiles); void warnNoFiles(); bool checkFiles(SList selFiles); bool checkMsg(QString& msg); bool checkPatchName(QString& patchName); bool checkConfirm(SCRef msg, SCRef patchName, SCList selFiles, bool amend); void computePosition(int &col_pos, int &line_pos); bool eventFilter(QObject* obj, QEvent* event); Git* git; QString origMsg; int ofsX, ofsY; static QString lastMsgBeforeError; }; #endif qgit-qgit-2.11/src/common.cpp000066400000000000000000000170361500324541100161300ustar00rootroot00000000000000/* Description: interface to git programs Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include "common.h" const QString Rev::mid(int start, int len) const { // warning no sanity check is done on arguments const char* data = ba.constData(); return QString::fromLocal8Bit(data + start, len); } const QString Rev::midSha(int start, int len) const { // warning no sanity check is done on arguments const char* data = ba.constData(); return QString::fromLatin1(data + start, len); // faster then formAscii } const ShaString Rev::parent(int idx) const { return ShaString(ba.constData() + shaStart + 41 + 41 * idx); } const QStringList Rev::parents() const { QStringList p; int idx = shaStart + 41; for (int i = 0; i < parentsCnt; i++) { p.append(midSha(idx, 40)); idx += 41; } return p; } int Rev::indexData(bool quick, bool withDiff) const { /* This is what 'git log' produces: - a possible one line with "Final output:\n" in case of --early-output option - one line with "log size" + len of this record - one line with boundary info + sha + an arbitrary amount of parent's sha - one line with committer name + e-mail - one line with author name + e-mail - one line with author date as unix timestamp - zero or more non blank lines with other info, as the encoding FIXME - one blank line - zero or one line with log title - zero or more lines with log message - zero or more lines with diff content (only for file history) - a terminating '\0' */ static int error = -1; static int shaLength = 40; // from git ref. spec. static int shaEndlLength = shaLength + 1; // an sha key + \n static int shaXEndlLength = shaLength + 2; // an sha key + X marker + \n static char finalOutputMarker = 'F'; // marks the beginning of "Final output" string static char logSizeMarker = 'l'; // marks the beginning of "log size" string static int logSizeStrLength = 9; // "log size" static int asciiPosOfZeroChar = 48; // char "0" has value 48 in ascii table const int last = ba.size() - 1; int logSize = 0, idx = start; int logEnd, revEnd; // direct access is faster then QByteArray.at() const char* data = ba.constData(); char* fixup = const_cast(data); // to build '\0' terminating strings if (start + shaXEndlLength > last) // at least sha header must be present return -1; if (data[start] == finalOutputMarker) // "Final output", let caller handle this return (ba.indexOf('\n', start) != -1 ? -2 : -1); // parse 'log size xxx\n' if present -- from git ref. spec. if (data[idx] == logSizeMarker) { idx += logSizeStrLength; // move idx to beginning of log size value // parse log size value int digit; while ((digit = data[idx++]) != '\n') logSize = logSize * 10 + digit - asciiPosOfZeroChar; } // idx points to the boundary information, which has the same length as an sha header. if (++idx + shaXEndlLength > last) return error; shaStart = idx; // ok, now shaStart is valid but msgSize could be still 0 if not available logEnd = shaStart - 1 + logSize; if (logEnd > last) return error; idx += shaLength; // now points to 'X' place holder fixup[idx] = '\0'; // we want sha to be a '\0' terminated ascii string parentsCnt = 0; if (data[idx + 2] == '\n') // initial revision ++idx; else do { parentsCnt++; idx += shaEndlLength; if (idx + 1 >= last) break; fixup[idx] = '\0'; // we want parents '\0' terminated } while (data[idx + 1] != '\n'); ++idx; // now points to the trailing '\n' of sha line // check for !msgSize if (withDiff || !logSize) { revEnd = (logEnd > idx) ? logEnd - 1: idx; revEnd = ba.indexOf('\0', revEnd + 1); if (revEnd == -1) return -1; } else revEnd = logEnd; if (revEnd > last) // after this point we know to have the whole record return error; // ok, now revEnd is valid but logEnd could be not if !logSize // in case of diff we are sure content will be consumed so // we go all the way if (quick && !withDiff) return ++revEnd; // commiter comStart = ++idx; idx = ba.indexOf('\n', idx); // committer line end if (idx == -1) { dbs("ASSERT in indexData: unexpected end of data"); return -1; } // author autStart = ++idx; idx = ba.indexOf('\n', idx); // author line end if (idx == -1) { dbs("ASSERT in indexData: unexpected end of data"); return -1; } // author date in Unix format (seconds since epoch) autDateStart = ++idx; idx = ba.indexOf('\n', idx); // author date end without '\n' if (idx == -1) { dbs("ASSERT in indexData: unexpected end of data"); return -1; } // if no error, point to trailing \n ++idx; diffStart = diffLen = 0; if (withDiff) { diffStart = logSize ? logEnd : ba.indexOf("\ndiff ", idx); if (diffStart != -1 && diffStart < revEnd) diffLen = revEnd - ++diffStart; else diffStart = 0; } if (!logSize) logEnd = diffStart ? diffStart : revEnd; // ok, now logEnd is valid and we can handle the log sLogStart = idx; if (logEnd < sLogStart) { // no shortlog no longLog sLogStart = sLogLen = 0; lLogStart = lLogLen = 0; } else { lLogStart = ba.indexOf('\n', sLogStart); if (lLogStart != -1 && lLogStart < logEnd - 1) { sLogLen = lLogStart - sLogStart; // skip sLog trailing '\n' lLogLen = logEnd - lLogStart; // include heading '\n' in long log } else { // no longLog sLogLen = logEnd - sLogStart; if (data[sLogStart + sLogLen - 1] == '\n') sLogLen--; // skip trailing '\n' if any lLogStart = lLogLen = 0; } } indexed = true; return ++revEnd; } /** * RevFile streaming out */ const RevFile& RevFile::operator>>(QDataStream& stream) const { stream << pathsIdx; // skip common case of only modified files bool isEmpty = onlyModified; stream << (quint32)isEmpty; if (!isEmpty) stream << status; // skip common case of just one parent isEmpty = (mergeParent.isEmpty() || mergeParent.last() == 1); stream << (quint32)isEmpty; if (!isEmpty) stream << mergeParent; // skip common case of no rename/copies isEmpty = extStatus.isEmpty(); stream << (quint32)isEmpty; if (!isEmpty) stream << extStatus; return *this; } /** * RevFile streaming in */ RevFile& RevFile::operator<<(QDataStream& stream) { stream >> pathsIdx; bool isEmpty; quint32 tmp; stream >> tmp; onlyModified = (bool)tmp; if (!onlyModified) stream >> status; stream >> tmp; isEmpty = (bool)tmp; if (!isEmpty) stream >> mergeParent; stream >> tmp; isEmpty = (bool)tmp; if (!isEmpty) stream >> extStatus; return *this; } QString qt4and5escaping(QString toescape) { return toescape.toHtmlEscaped(); } qgit-qgit-2.11/src/common.h000066400000000000000000000351751500324541100156010ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef COMMON_H #define COMMON_H #include #include #include #include #include #include #include #include // QString::SplitBehavior becomes Qt::SplitBehavior in Qt 5.14 #if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) # define QGIT_SPLITBEHAVIOR(x) Qt::x #else # define QGIT_SPLITBEHAVIOR(x) QString::x #endif /* QVariant does not support size_t type used in Qt containers, this is a problem on 64bit systems where size_t != uint and when using debug macros on size_t variables, as example dbs(vector.count()), a compile error occurs. Workaround this using a function template and a specialization. Function _valueOf() is used by debug macros */ template inline const QString _valueOf(const T& x) { return QVariant(x).toString(); } template<> inline const QString _valueOf(const QStringList& x) { return x.join(" "); } inline const QString& _valueOf(const QString& x) { return x; } inline const QString _valueOf(size_t x) { return QString::number((uint)x); } // some debug macros #define constlatin(x) (_valueOf(x).toLatin1().constData()) #define dbs(x) qDebug(constlatin(x), "") #define dbp(s, x) qDebug(constlatin(_valueOf(s).arg(x)), "") // some syntactic sugar #define FOREACH(type, i, c) for (type::const_iterator i((c).constBegin()), \ _e##i##_((c).constEnd()); i != _e##i##_; ++i) #define FOREACH_SL(i, c) FOREACH(QStringList, i, c) class QDataStream; class QProcess; class QSplitter; class QWidget; class ShaString; // type shortcuts typedef const QString& SCRef; typedef QStringList& SList; typedef const QStringList& SCList; typedef QVector StrVect; typedef QVector ShaVect; typedef QSet ShaSet; uint qHash(const ShaString&); // optimized custom hash for sha strings namespace QGit { // minimum git version required extern const QString GIT_VERSION; // tab pages enum TabType { TAB_REV, TAB_PATCH, TAB_FILE }; // graph elements enum LaneType { EMPTY, ACTIVE, NOT_ACTIVE, MERGE_FORK, MERGE_FORK_R, MERGE_FORK_L, JOIN, JOIN_R, JOIN_L, HEAD, HEAD_R, HEAD_L, TAIL, TAIL_R, TAIL_L, CROSS, CROSS_EMPTY, INITIAL, BRANCH, UNAPPLIED, APPLIED, BOUNDARY, BOUNDARY_C, // corresponds to MERGE_FORK BOUNDARY_R, // corresponds to MERGE_FORK_R BOUNDARY_L, // corresponds to MERGE_FORK_L LANE_TYPES_NUM }; const int COLORS_NUM = 8; // graph helpers inline bool isHead(int x) { return (x == HEAD || x == HEAD_R || x == HEAD_L); } inline bool isTail(int x) { return (x == TAIL || x == TAIL_R || x == TAIL_L); } inline bool isJoin(int x) { return (x == JOIN || x == JOIN_R || x == JOIN_L); } inline bool isFreeLane(int x) { return (x == NOT_ACTIVE || x == CROSS || isJoin(x)); } inline bool isBoundary(int x) { return (x == BOUNDARY || x == BOUNDARY_C || x == BOUNDARY_R || x == BOUNDARY_L); } inline bool isMerge(int x) { return (x == MERGE_FORK || x == MERGE_FORK_R || x == MERGE_FORK_L || isBoundary(x)); } inline bool isActive(int x) { return (x == ACTIVE || x == INITIAL || x == BRANCH || isMerge(x)); } // custom events enum EventType { ERROR_EV = 65432, POPUP_LIST_EV = 65433, POPUP_FILE_EV = 65434, POPUP_TREE_EV = 65435, MSG_EV = 65436, ANN_PRG_EV = 65437, UPD_DM_EV = 65438, UPD_DM_MST_EV = 65439 }; // list views columns enum ColumnType { GRAPH_COL = 0, ANN_ID_COL = 1, LOG_COL = 2, HASH_COL = 3, AUTH_COL = 4, TIME_COL = 5, COMMIT_COL = 97, // dummy col used for sha searching LOG_MSG_COL = 98, // dummy col used for log messages searching SHA_MAP_COL = 99 // dummy col used when filter output is a set of matching sha }; inline bool isInfoCol(int x) { return (x == TIME_COL || x == LOG_COL || x == AUTH_COL); } // default list view widths const int DEF_GRAPH_COL_WIDTH = 80; const int DEF_LOG_COL_WIDTH = 500; const int DEF_HASH_COL_WIDTH = 90; const int DEF_AUTH_COL_WIDTH = 230; const int DEF_TIME_COL_WIDTH = 160; // colors extern const QColor BROWN; extern const QColor ORANGE; extern const QColor DARK_ORANGE; extern const QColor LIGHT_ORANGE; extern const QColor LIGHT_BLUE; extern const QColor PURPLE; extern const QColor DARK_GREEN; // initialized at startup according to system wide settings extern QFont STD_FONT; extern QFont TYPE_WRITER_FONT; extern QString GIT_DIR; // patches drag and drop extern const QString PATCHES_DIR; extern const QString PATCHES_NAME; // git index parameters extern const QByteArray ZERO_SHA_BA; extern const ShaString ZERO_SHA_RAW; extern const QString ZERO_SHA; extern const QString CUSTOM_SHA; extern const QString ALL_MERGE_FILES; // settings keys extern const QString ORG_KEY; extern const QString APP_KEY; extern const QString GIT_DIR_KEY; extern const QString PATCH_DIR_KEY; extern const QString FMT_P_OPT_KEY; extern const QString AM_P_OPT_KEY; extern const QString STD_FNT_KEY; extern const QString TYPWRT_FNT_KEY; extern const QString FLAGS_KEY; extern const QString CON_GEOM_KEY; extern const QString CMT_GEOM_KEY; extern const QString MAIN_GEOM_KEY; extern const QString REV_GEOM_KEY; extern const QString REV_COLS_KEY; extern const QString FILE_COLS_KEY; extern const QString CMT_TEMPL_KEY; extern const QString CMT_ARGS_KEY; extern const QString RANGE_FROM_KEY; extern const QString RANGE_TO_KEY; extern const QString RANGE_OPT_KEY; extern const QString EX_KEY; extern const QString EX_PER_DIR_KEY; extern const QString EXT_DIFF_KEY; extern const QString EXT_EDITOR_KEY; extern const QString DCLICK_ACT_KEY; extern const QString REC_REP_KEY; extern const QString ACT_LIST_KEY; extern const QString ACT_GEOM_KEY; extern const QString ACT_GROUP_KEY; extern const QString ACT_TEXT_KEY; extern const QString ACT_FLAGS_KEY; // settings default values extern const QString CMT_TEMPL_DEF; extern const QString EX_DEF; extern const QString EX_PER_DIR_DEF; extern const QString EXT_DIFF_DEF; extern const QString EXT_EDITOR_DEF; enum FileDoubleClickAction { VIEW_PATCH, OPEN_IN_EDITOR, OPEN_IN_DIFFER, }; // settings booleans enum FlagType { MSG_ON_NEW_F = 1 << 0, ACT_REFRESH_F = 1 << 1, NUMBERS_F = 1 << 2, LOG_DIFF_TAB_F = 1 << 3, ACT_CMD_LINE_F = 1 << 4, DIFF_INDEX_F = 1 << 5, SIGN_PATCH_F = 1 << 6, SIGN_CMT_F = 1 << 7, VERIFY_CMT_F = 1 << 8, SMART_LBL_F = 1 << 9, REL_DATE_F = 1 << 10, ALL_BRANCHES_F = 1 << 11, WHOLE_HISTORY_F = 1 << 12, RANGE_SELECT_F = 1 << 13, REOPEN_REPO_F = 1 << 14, USE_CMT_MSG_F = 1 << 15, // OPEN_IN_EDITOR_F = 1 << 16, // not used anymore; subject to be replaced ENABLE_DRAGNDROP_F = 1 << 17, ENABLE_SHORTREF_F = 1 << 18, }; const int FLAGS_DEF = USE_CMT_MSG_F | RANGE_SELECT_F | SMART_LBL_F | VERIFY_CMT_F | SIGN_PATCH_F | LOG_DIFF_TAB_F | MSG_ON_NEW_F | ENABLE_DRAGNDROP_F; // ShaString helpers const ShaString toTempSha(const QString&); // use as argument only, see definition const ShaString toPersistentSha(const QString&, QVector&); // settings helpers uint flags(SCRef flagsVariable); bool testFlag(uint f, SCRef fv = FLAGS_KEY); void setFlag(uint f, bool b, SCRef fv = FLAGS_KEY); // tree view icons helpers void initMimePix(); void freeMimePix(); const QPixmap* mimePix(SCRef fileName); // geometry settings helers typedef QVector splitVect; void saveGeometrySetting(SCRef name, QWidget* w = NULL, splitVect* svPtr = NULL); void restoreGeometrySetting(SCRef name, QWidget* w = NULL, splitVect* svPtr = NULL); // misc helpers bool stripPartialParaghraps(const QByteArray& src, QString* dst, QString* prev); bool writeToFile(SCRef fileName, SCRef data, bool setExecutable = false); bool writeToFile(SCRef fileName, const QByteArray& data, bool setExecutable = false); bool readFromFile(SCRef fileName, QString& data); bool startProcess(QProcess* proc, SCList args, SCRef buf = "", bool* winShell = NULL); // cache file const uint C_MAGIC = 0xA0B0C0D0; const int C_VERSION = 15; extern const QString BAK_EXT; extern const QString C_DAT_FILE; // misc const int MAX_DICT_SIZE = 100003; // must be a prime number see QDict docs const int MAX_MENU_ENTRIES = 20; const int MAX_RECENT_REPOS = 7; extern const QString QUOTE_CHAR; extern const QString SCRIPT_EXT; } class ShaString : public QLatin1String { public: inline ShaString() : QLatin1String(NULL) {} inline ShaString(const ShaString& sha) : QLatin1String(sha.latin1()) {} inline explicit ShaString(const char* sha) : QLatin1String(sha) {} inline bool operator!=(const ShaString& o) const { return !operator==(o); } inline bool operator==(const ShaString& o) const { return (latin1() == o.latin1()) || !qstrcmp(latin1(), o.latin1()); } }; class Rev { // prevent implicit C++ compiler defaults Rev(); Rev(const Rev&); Rev& operator=(const Rev&); public: Rev(const QByteArray& b, uint s, int idx, int* next, bool withDiff) : orderIdx(idx), ba(b), start(s) { indexed = isDiffCache = isApplied = isUnApplied = false; descRefsMaster = ancRefsMaster = descBrnMaster = -1; *next = indexData(true, withDiff); } bool isBoundary() const { return (ba.at(shaStart - 1) == '-'); } uint parentsCount() const { return parentsCnt; } const ShaString parent(int idx) const; const QStringList parents() const; const ShaString sha() const { return ShaString(ba.constData() + shaStart); } const QString shortHash(int len) const { return midSha(shaStart, len); } const QString committer() const { setup(); return mid(comStart, autStart - comStart - 1); } const QString author() const { setup(); return mid(autStart, autDateStart - autStart - 1); } const QString authorDate() const { setup(); return mid(autDateStart, 10); } const QString shortLog() const { setup(); return mid(sLogStart, sLogLen); } const QString longLog() const { setup(); return mid(lLogStart, lLogLen); } const QString diff() const { setup(); return mid(diffStart, diffLen); } QVector lanes, children; QVector descRefs; // list of descendant refs index, normally tags QVector ancRefs; // list of ancestor refs index, normally tags QVector descBranches; // list of descendant branches index int descRefsMaster; // in case of many Rev have the same descRefs, ancRefs or int ancRefsMaster; // descBranches these are stored only once in a Rev pointed int descBrnMaster; // by corresponding index xxxMaster int orderIdx; private: inline void setup() const { if (!indexed) indexData(false, false); } int indexData(bool quick, bool withDiff) const; const QString mid(int start, int len) const; const QString midSha(int start, int len) const; const QByteArray& ba; // reference here! const int start; mutable int parentsCnt, shaStart, comStart, autStart, autDateStart; mutable int sLogStart, sLogLen, lLogStart, lLogLen, diffStart, diffLen; mutable bool indexed; public: bool isDiffCache, isApplied, isUnApplied; // put here to optimize padding }; typedef QHash RevMap; // faster then a map class RevFile { friend class Cache; // to directly load status friend class Git; // Status information is splitted in a flags vector and in a string // vector in 'status' are stored flags according to the info returned // by 'git diff-tree' without -C option. // In case of a working directory file an IN_INDEX flag is or-ed togheter in // case file is present in git index. // If file is renamed or copied an entry in 'extStatus' stores the // value returned by 'git diff-tree -C' plus source and destination // files info. // When status of all the files is 'modified' then onlyModified is // set, this let us to do some optimization in this common case bool onlyModified; QVector status; QVector extStatus; // prevent implicit C++ compiler defaults RevFile(const RevFile&); RevFile& operator=(const RevFile&); public: enum StatusFlag { MODIFIED = 1, DELETED = 2, NEW = 4, RENAMED = 8, COPIED = 16, UNKNOWN = 32, IN_INDEX = 64, ANY = 127 }; RevFile() : onlyModified(true) {} /* This QByteArray keeps indices in some dir and names vectors, * defined outside RevFile. Paths are splitted in dir and file * name, first all the dirs are listed then the file names to * achieve a better compression when saved to disk. * A single QByteArray is used instead of two vectors because it's * much faster to load from disk when using a QDataStream */ QByteArray pathsIdx; int dirAt(uint idx) const { return ((const int*)pathsIdx.constData())[idx]; } int nameAt(uint idx) const { return ((const int*)pathsIdx.constData())[count() + idx]; } QVector mergeParent; // helper functions int count() const { return pathsIdx.size() / ((int)sizeof(int) * 2); } bool statusCmp(int idx, StatusFlag sf) const { return ((onlyModified ? MODIFIED : status.at(idx)) & sf); } const QString extendedStatus(int idx) const { /* rf.extStatus has size equal to position of latest copied/renamed file, that could be lower then count(), so we have to explicitly check for an out of bound condition. */ return (!extStatus.isEmpty() && idx < extStatus.count() ? extStatus.at(idx) : ""); } const RevFile& operator>>(QDataStream&) const; RevFile& operator<<(QDataStream&); }; typedef QHash RevFileMap; class FileAnnotation { public: explicit FileAnnotation(int id) : isValid(false), annId(id) {} FileAnnotation() : isValid(false) {} QStringList lines; bool isValid; int annId; QString fileSha; }; typedef QHash AnnotateHistory; class BaseEvent: public QEvent { public: BaseEvent(SCRef d, int id) : QEvent((QEvent::Type)id), payLoad(d) {} const QString myData() const { return payLoad; } private: const QString payLoad; // passed by copy }; #define DEF_EVENT(X, T) class X : public BaseEvent { public: \ explicit X (SCRef d) : BaseEvent(d, T) {} } DEF_EVENT(MessageEvent, QGit::MSG_EV); DEF_EVENT(AnnotateProgressEvent, QGit::ANN_PRG_EV); class DeferredPopupEvent : public BaseEvent { public: DeferredPopupEvent(SCRef msg, int type) : BaseEvent(msg, type) {} }; class MainExecErrorEvent : public BaseEvent { public: MainExecErrorEvent(SCRef c, SCRef e) : BaseEvent("", QGit::ERROR_EV), cmd(c), err(e) {} const QString command() const { return cmd; } const QString report() const { return err; } private: const QString cmd, err; }; #endif QString qt4and5escaping(QString toescape); qgit-qgit-2.11/src/config.h000066400000000000000000000012131500324541100155400ustar00rootroot00000000000000/* config.h. Generated by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ /* Name of package */ #define PACKAGE "qgit" /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "" /* Define to the full name of this package. */ #define PACKAGE_NAME "qgit" /* Define to the full name and version of this package. */ #define PACKAGE_STRING "qgit" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "qgit" /* Define to the version of this package. */ #define PACKAGE_VERSION "2.11" /* Version number of package */ #define VERSION "2.11" qgit-qgit-2.11/src/console.ui000066400000000000000000000220321500324541100161250ustar00rootroot00000000000000 Console 0 0 724 442 Action output window - QGit :/icons/resources/utilities-terminal.svg:/icons/resources/utilities-terminal.svg 6 0 0 0 0 3 0 Sans Serif 9 75 false true false false Shows action definition ... Qt::PlainText Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop true Qt::Horizontal 40 20 0 0 Click to terminate action execution &Terminate :/icons/resources/window-close.svg:/icons/resources/window-close.svg true false 85 255 0 255 255 255 0 0 0 103 141 178 255 255 255 85 255 0 255 255 255 0 0 0 103 141 178 255 255 255 199 199 199 255 255 255 239 239 239 86 117 148 255 255 255 false false true false QDialogButtonBox::Close Terminate pushButtonTerminate pushButtonTerminate clicked() Console pushButtonTerminate_clicked() 658 49 361 220 buttonBox rejected() Console pushButtonOk_clicked() 361 374 361 220 qgit-qgit-2.11/src/consoleimpl.cpp000066400000000000000000000047311500324541100171620ustar00rootroot00000000000000/* Description: stdout viewer Author: Marco Costalba (C) 2006-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include "myprocess.h" #include "git.h" #include "consoleimpl.h" ConsoleImpl::ConsoleImpl(const QString& nm, Git* g) : git(g), actionName(nm) { setAttribute(Qt::WA_DeleteOnClose); setupUi(this); textEditOutput->setFont(QGit::TYPE_WRITER_FONT); QFont f = textLabelCmd->font(); f.setBold(true); textLabelCmd->setFont(f); setWindowTitle("\'" + actionName + "\' output window - QGit"); QGit::restoreGeometrySetting(QGit::CON_GEOM_KEY, this); } void ConsoleImpl::typeWriterFontChanged() { QTextEdit* te = textEditOutput; te->setFont(QGit::TYPE_WRITER_FONT); te->setPlainText(te->toPlainText()); te->moveCursor(QTextCursor::End); } void ConsoleImpl::pushButtonOk_clicked() { close(); } void ConsoleImpl::pushButtonTerminate_clicked() { git->cancelProcess(proc); procFinished(); } void ConsoleImpl::closeEvent(QCloseEvent* ce) { if (proc && proc->state() == QProcess::Running) if (QMessageBox::question(this, "Action output window - QGit", "Action is still running.\nAre you sure you want to close " "the window and leave the action running in background?", "&Yes", "&No", QString(), 1, 1) == 1) { ce->ignore(); return; } if (QApplication::overrideCursor()) QApplication::restoreOverrideCursor(); QGit::saveGeometrySetting(QGit::CON_GEOM_KEY, this); QMainWindow::closeEvent(ce); } bool ConsoleImpl::start(const QString& cmd) { statusBar()->showMessage("Executing \'" + actionName + "\' action..."); textLabelCmd->setText(cmd); if (cmd.indexOf('\n') < 0) proc = git->runAsync(cmd, this); else proc = git->runAsScript(cmd, this); // wrap multiline cmd in a script if (proc.isNull()) deleteLater(); else QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); return !proc.isNull(); } void ConsoleImpl::procReadyRead(const QByteArray& data) { QString newParagraph; if (QGit::stripPartialParaghraps(data, &newParagraph, &inpBuf)) // QTextEdit::append() adds a new paragraph, // i.e. inserts a LF if not already present. textEditOutput->append(newParagraph); } void ConsoleImpl::procFinished() { textEditOutput->append(inpBuf); inpBuf = ""; QApplication::restoreOverrideCursor(); statusBar()->showMessage("End of \'" + actionName + "\' execution."); pushButtonTerminate->setEnabled(false); emit customAction_exited(actionName); } qgit-qgit-2.11/src/consoleimpl.h000066400000000000000000000015131500324541100166220ustar00rootroot00000000000000/* Description: stdout viewer Author: Marco Costalba (C) 2006-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef CONSOLEIMPL_H #define CONSOLEIMPL_H #include #include #include "ui_console.h" class MyProcess; class Git; class ConsoleImpl : public QMainWindow, Ui_Console { // we need a statusbar Q_OBJECT public: ConsoleImpl(const QString& nm, Git* g); bool start(const QString &cmd); signals: void customAction_exited(const QString& name); public slots: void typeWriterFontChanged(); void procReadyRead(const QByteArray& data); void procFinished(); protected slots: virtual void closeEvent(QCloseEvent* ce); void pushButtonTerminate_clicked(); void pushButtonOk_clicked(); private: Git* git; QString actionName; QPointer proc; QString inpBuf; }; #endif qgit-qgit-2.11/src/customaction.ui000066400000000000000000000241011500324541100171720ustar00rootroot00000000000000 CustomActionBase 0 0 579 492 Actions builder :/icons/resources/emblem-favorite.svg:/icons/resources/emblem-favorite.svg 0 0 QFrame::StyledPanel QFrame::Raised &New :/icons/resources/archive-insert.svg:/icons/resources/archive-insert.svg Alt+N &Rename :/icons/resources/document-edit-sign.svg:/icons/resources/document-edit-sign.svg Alt+R R&emove :/icons/resources/archive-remove.svg:/icons/resources/archive-remove.svg Alt+E Qt::LeftToRight Move &up :/icons/resources/go-up.svg:/icons/resources/go-up.svg Alt+U Move &down :/icons/resources/go-down.svg:/icons/resources/go-down.svg Alt+D 0 0 Qt::Horizontal QFrame::StyledPanel QFrame::Raised &Name listWidgetNames QFrame::StyledPanel QFrame::Raised Insert commands to run: Insert commands to run. See handbook (F1) for some examples. false Inserting tokens of the form <code>%lineedit:arguments=defaults%</code><br/> will open a dialog to enter arguments. Additionally, you can use<br/> variables <code>$CURRENT_BRANCH</code> and <code>$SHA</code>. false If checked main view will be automatically refreshed when done Refresh &view at the end Alt+V QDialogButtonBox::Ok pushButtonNew clicked() CustomActionBase pushButtonNew_clicked() 20 20 20 20 pushButtonRename clicked() CustomActionBase pushButtonRename_clicked() 20 20 20 20 pushButtonRemove clicked() CustomActionBase pushButtonRemove_clicked() 20 20 20 20 checkBoxRefreshAfterAction toggled(bool) CustomActionBase checkBoxRefreshAfterAction_toggled(bool) 20 20 20 20 pushButtonMoveUp clicked() CustomActionBase pushButtonMoveUp_clicked() 20 20 20 20 pushButtonMoveDown clicked() CustomActionBase pushButtonMoveDown_clicked() 20 20 20 20 textEditAction textChanged() CustomActionBase textEditAction_textChanged() 395 239 330 231 listWidgetNames currentItemChanged(QListWidgetItem*,QListWidgetItem*) CustomActionBase listWidgetNames_currentItemChanged(QListWidgetItem*,QListWidgetItem*) 129 256 337 232 buttonBox accepted() CustomActionBase pushButtonOk_clicked() 289 428 289 245 qgit-qgit-2.11/src/customactionimpl.cpp000066400000000000000000000127321500324541100202300ustar00rootroot00000000000000/* Description: custom action handling Author: Marco Costalba (C) 2006-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include "common.h" #include "customactionimpl.h" using namespace QGit; CustomActionImpl::CustomActionImpl() { setAttribute(Qt::WA_DeleteOnClose); setupUi(this); QSettings settings; restoreGeometry(settings.value(ACT_GEOM_KEY).toByteArray()); QStringList actions = settings.value(ACT_LIST_KEY).toStringList(); listWidgetNames->insertItems(0, actions); if (listWidgetNames->count()) listWidgetNames->setCurrentItem(listWidgetNames->item(0)); else listWidgetNames_currentItemChanged(NULL, NULL); } void CustomActionImpl::closeEvent(QCloseEvent* ce) { QSettings settings; settings.setValue(ACT_GEOM_KEY, saveGeometry()); QWidget::closeEvent(ce); } void CustomActionImpl::loadAction(const QString& name) { const QString flags(ACT_GROUP_KEY + name + ACT_FLAGS_KEY); checkBoxRefreshAfterAction->setChecked(testFlag(ACT_REFRESH_F, flags)); QSettings set; const QString& data(set.value(ACT_GROUP_KEY + name + ACT_TEXT_KEY, "").toString()); textEditAction->setPlainText(data); } void CustomActionImpl::removeAction(const QString& name) { QSettings set; set.remove(ACT_GROUP_KEY + name); } const QStringList CustomActionImpl::actions() { QStringList actionsList; QListWidgetItem* item; int row = 0; while ((item = listWidgetNames->item(row)) != 0) { actionsList.append(item->text()); row++; } return actionsList; } void CustomActionImpl::updateActions() { QSettings settings; settings.setValue(ACT_LIST_KEY, actions()); emit listChanged(actions()); } void CustomActionImpl::listWidgetNames_currentItemChanged(QListWidgetItem* item, QListWidgetItem*) { bool empty = (item == NULL); if (!empty) { loadAction(item->text()); listWidgetNames->scrollToItem(item); } else { textEditAction->clear(); if (checkBoxRefreshAfterAction->isChecked()) checkBoxRefreshAfterAction->toggle(); } textEditAction->setEnabled(!empty); checkBoxRefreshAfterAction->setEnabled(!empty); pushButtonRename->setEnabled(!empty); pushButtonRemove->setEnabled(!empty); pushButtonMoveUp->setEnabled(!empty && (item != listWidgetNames->item(0))); int lastRow = listWidgetNames->count() - 1; pushButtonMoveDown->setEnabled(!empty && (item != listWidgetNames->item(lastRow))); } bool CustomActionImpl::getNewName(QString& name, const QString& caption) { bool ok; const QString oldName = name; name = QInputDialog::getText(this, caption + " - QGit", "Enter action name:", QLineEdit::Normal, name, &ok); if (!ok || name.isEmpty() || name == oldName) return false; if (actions().contains(name)) { QMessageBox::warning(this, caption + " - QGit", "Sorry, action name " "already exists.\nPlease choose a different name."); return false; } return true; } void CustomActionImpl::pushButtonNew_clicked() { QString name; if (!getNewName(name, "Create new action")) return; QListWidgetItem* item = new QListWidgetItem(name); listWidgetNames->addItem(item); updateActions(); listWidgetNames->setCurrentItem(item); textEditAction->setPlainText(""); textEditAction->selectAll(); textEditAction->setFocus(); } void CustomActionImpl::pushButtonRename_clicked() { QListWidgetItem* item = listWidgetNames->currentItem(); if (!item || !item->isSelected()) return; QString newName(item->text()); if (!getNewName(newName, "Rename action")) return; const QString oldActionName(item->text()); item->setText(newName); updateActions(); listWidgetNames_currentItemChanged(item, item); loadAction(oldActionName); removeAction(oldActionName); } void CustomActionImpl::pushButtonRemove_clicked() { QListWidgetItem* item = listWidgetNames->currentItem(); if (!item || !item->isSelected()) return; removeAction(item->text()); delete item; updateActions(); if (!listWidgetNames->count()) listWidgetNames_currentItemChanged(NULL, NULL); } void CustomActionImpl::pushButtonMoveUp_clicked() { QListWidgetItem* item = listWidgetNames->currentItem(); int row = listWidgetNames->row(item); if (!item || row == 0) return; item = listWidgetNames->takeItem(row); listWidgetNames->insertItem(row - 1, item); updateActions(); listWidgetNames->setCurrentItem(item); } void CustomActionImpl::pushButtonMoveDown_clicked() { QListWidgetItem* item = listWidgetNames->currentItem(); int row = listWidgetNames->row(item); if (!item || row == listWidgetNames->count() - 1) return; item = listWidgetNames->takeItem(row); listWidgetNames->insertItem(row + 1, item); updateActions(); listWidgetNames->setCurrentItem(item); } void CustomActionImpl::textEditAction_textChanged() { QListWidgetItem* item = listWidgetNames->currentItem(); if (item) { QSettings s; QString key(ACT_GROUP_KEY + item->text() + ACT_TEXT_KEY); s.setValue(key, textEditAction->toPlainText()); } } void CustomActionImpl::checkBoxRefreshAfterAction_toggled(bool b) { QListWidgetItem* item = listWidgetNames->currentItem(); if (item) { QString flags(ACT_GROUP_KEY + item->text() + ACT_FLAGS_KEY); setFlag(ACT_REFRESH_F, b, flags); } } void CustomActionImpl::checkBoxAskArgs_toggled(bool b) { QListWidgetItem* item = listWidgetNames->currentItem(); if (item) { QString flags(ACT_GROUP_KEY + item->text() + ACT_FLAGS_KEY); setFlag(ACT_CMD_LINE_F, b, flags); } } void CustomActionImpl::pushButtonOk_clicked() { close(); } qgit-qgit-2.11/src/customactionimpl.h000066400000000000000000000020401500324541100176640ustar00rootroot00000000000000/* Description: custom action handling Author: Marco Costalba (C) 2006-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef CUSTOMACTIONIMPL_H #define CUSTOMACTIONIMPL_H #include "ui_customaction.h" class CustomActionImpl : public QWidget, public Ui_CustomActionBase { Q_OBJECT public: CustomActionImpl(); signals: void listChanged(const QStringList&); protected slots: virtual void closeEvent(QCloseEvent*); void listWidgetNames_currentItemChanged(QListWidgetItem*, QListWidgetItem*); void pushButtonNew_clicked(); void pushButtonRename_clicked(); void pushButtonRemove_clicked(); void pushButtonMoveUp_clicked(); void pushButtonMoveDown_clicked(); void checkBoxRefreshAfterAction_toggled(bool); void checkBoxAskArgs_toggled(bool); void textEditAction_textChanged(); void pushButtonOk_clicked(); private: const QStringList actions(); void updateActions(); bool getNewName(QString& name, const QString& caption); void loadAction(const QString& name); void removeAction(const QString& name); }; #endif qgit-qgit-2.11/src/dataloader.cpp000066400000000000000000000203631500324541100167350ustar00rootroot00000000000000/* Description: async stream reader, used to load repository data on startup Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include "FileHistory.h" #include "git.h" #include "dataloader.h" #define GUI_UPDATE_INTERVAL 500 #define READ_BLOCK_SIZE 65535 class UnbufferedTemporaryFile : public QTemporaryFile { public: explicit UnbufferedTemporaryFile(QObject* p) : QTemporaryFile(p) {} bool unbufOpen() { return open(QIODevice::ReadOnly | QIODevice::Unbuffered); } }; DataLoader::DataLoader(Git* g, FileHistory* f) : QProcess(g), git(g), fh(f) { canceling = parsing = false; isProcExited = true; halfChunk = NULL; dataFile = NULL; loadedBytes = 0; guiUpdateTimer.setSingleShot(true); connect(git, SIGNAL(cancelAllProcesses()), this, SLOT(on_cancel())); connect(&guiUpdateTimer, SIGNAL(timeout()), this, SLOT(on_timeout())); } DataLoader::~DataLoader() { // avoid a Qt warning in case we are // destroyed while still running waitForFinished(1000); } void DataLoader::on_cancel(const FileHistory* f) { if (f == fh) on_cancel(); } void DataLoader::on_cancel() { if (!canceling) { // just once canceling = true; kill(); // SIGKILL (Unix and Mac), TerminateProcess (Windows) } } bool DataLoader::start(SCList args, SCRef wd, SCRef buf) { if (!isProcExited) { dbs("ASSERT in DataLoader::start(), called while processing"); return false; } isProcExited = false; setWorkingDirectory(wd); connect(this, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(on_finished(int, QProcess::ExitStatus))); if (!createTemporaryFile() || !QGit::startProcess(this, args, buf)) { deleteLater(); return false; } loadTime.start(); guiUpdateTimer.start(GUI_UPDATE_INTERVAL); return true; } void DataLoader::on_finished(int, QProcess::ExitStatus) { isProcExited = true; if (parsing && guiUpdateTimer.isActive()) dbs("ASSERT in DataLoader: timer active while parsing"); if (parsing == guiUpdateTimer.isActive() && !canceling) dbs("ASSERT in DataLoader: inconsistent timer"); if (guiUpdateTimer.isActive()) // no need to wait anymore guiUpdateTimer.start(1); } void DataLoader::on_timeout() { if (canceling) { deleteLater(); return; // we leave with guiUpdateTimer not active } parsing = true; // process could exit while we are processing so save the flag now bool lastBuffer = isProcExited; loadedBytes += readNewData(lastBuffer); emit newDataReady(fh); // inserting in list view is about 3% of total time if (lastBuffer) { emit loaded(fh, loadedBytes, loadTime.elapsed(), true, "", ""); deleteLater(); } else if (isProcExited) { // exited while parsing dbs("Exited while parsing!!!!"); guiUpdateTimer.start(1); } else guiUpdateTimer.start(GUI_UPDATE_INTERVAL); parsing = false; } void DataLoader::parseSingleBuffer(const QByteArray& ba) { if (ba.size() == 0 || canceling) return; int ofs = 0, newOfs, bz = ba.size(); /* Due to unknown reasons randomly first byte * of 'ba' is 0, this seems to happen only when * using QFile::read(), i.e. with temporary file * interface. Until we discover the real reason * workaround this skipping the bogus byte */ if (ba.at(0) == 0 && bz > 1 && !halfChunk) ofs++; while (bz - ofs > 0) { if (!halfChunk) { newOfs = git->addChunk(fh, ba, ofs); if (newOfs == -1) break; // half chunk detected ofs = newOfs; } else { // less then 1% of cases with READ_BLOCK_SIZE = 64KB int end = ba.indexOf('\0'); if (end == -1) // consecutives half chunks break; ofs = end + 1; baAppend(&halfChunk, ba.constData(), ofs); fh->rowData.append(halfChunk); addSplittedChunks(halfChunk); halfChunk = NULL; } } // save any remaining half chunk if (bz - ofs > 0) baAppend(&halfChunk, ba.constData() + ofs, bz - ofs); } void DataLoader::addSplittedChunks(const QByteArray* hc) { if (hc->at(hc->size() - 1) != 0) { dbs("ASSERT in DataLoader, bad half chunk"); return; } // do not assume we have only one chunk in hc int ofs = 0; while (ofs != -1 && ofs != (int)hc->size()) ofs = git->addChunk(fh, *hc, ofs); } void DataLoader::baAppend(QByteArray** baPtr, const char* ascii, int len) { if (*baPtr) // we cannot use QByteArray::append(const char*) // because 'ascii' is not '\0' terminating (*baPtr)->append(QByteArray::fromRawData(ascii, len)); else *baPtr = new QByteArray(ascii, len); } // *************** git interface facility dependant code ***************************** #ifdef USE_QPROCESS ulong DataLoader::readNewData(bool lastBuffer) { /* QByteArray copy c'tor uses shallow copy, but there is a deep copy in QProcess::readStdout(), from an internal buffers list to return value. Qt uses a select() to detect new data is ready, copies immediately the data to the heap with a read() and stores the pointer to new data in a pointer list, from qprocess_unix.cpp: const int basize = 4096; QByteArray *ba = new QByteArray(basize); n = ::read(fd, ba->data(), basize); buffer->append(ba); // added to a QPtrList pointer list When we call QProcess::readStdout() data from buffers pointed by the pointer list is memcpy() to the function return value, from qprocess.cpp: .... return buf->readAll(); // memcpy() here */ QByteArray* ba = new QByteArray(readAllStandardOutput()); if (lastBuffer) ba->append('\0'); // be sure stream is null terminated if (ba->size() == 0) { delete ba; return 0; } fh->rowData.append(ba); parseSingleBuffer(*ba); return ba->size(); } bool DataLoader::createTemporaryFile() { return true; } #else // temporary file as data exchange facility ulong DataLoader::readNewData(bool lastBuffer) { bool ok = dataFile && (dataFile->isOpen() || (dataFile->exists() && dataFile->unbufOpen())); if (!ok) return 0; ulong cnt = 0; qint64 readPos = dataFile->pos(); while (true) { // this is the ONLY deep copy involved in the whole loading // QFile::read() calls standard C read() function when // file is open with Unbuffered flag, or fread() otherwise QByteArray* ba = new QByteArray(); ba->resize(READ_BLOCK_SIZE); int len = static_cast(dataFile->read(ba->data(), READ_BLOCK_SIZE)); if (len <= 0) { delete ba; break; } else if (len < ba->size()) // unlikely ba->resize(len); // current read position must be updated manually, it's // not correctly incremented by read() if the producer // process has already finished readPos += len; dataFile->seek(readPos); cnt += len; fh->rowData.append(ba); parseSingleBuffer(*ba); // avoid reading small chunks if data producer is still running if (len < READ_BLOCK_SIZE && !lastBuffer) break; } if (lastBuffer) { // be sure stream is null terminated QByteArray* zb = new QByteArray(1, '\0'); fh->rowData.append(zb); parseSingleBuffer(*zb); } return cnt; } bool DataLoader::createTemporaryFile() { // redirect 'git log' output to a temporary file dataFile = new UnbufferedTemporaryFile(this); #ifndef Q_OS_WIN32 /* For performance reasons we would like to use a tmpfs filesystem if available, this is normally mounted under '/tmp' in Linux. According to Qt docs, a temporary file is placed in QDir::tempPath(), that should be system's temporary directory. On Unix/Linux systems this is usually /tmp; on Windows this is usually the path in the TEMP or TMP environment variable. But due to a bug in Qt 4.2 QDir::tempPath() is instead set to $HOME/tmp under Unix/Linux, that is not a tmpfs filesystem. So try to manually set the best directory for our temporary file. */ QDir dir("/tmp"); bool foundTmpDir = (dir.exists() && dir.isReadable()); if (foundTmpDir && dir.absolutePath() != QDir::tempPath()) { dataFile->setFileTemplate(dir.absolutePath() + "/qt_temp"); if (!dataFile->open()) { // test for write access delete dataFile; dataFile = new UnbufferedTemporaryFile(this); dbs("WARNING: directory '/tmp' is not writable, " "fallback on Qt default one, there could " "be a performance penalty."); } else dataFile->close(); } #endif if (!dataFile->open()) // to read the file name return false; setStandardOutputFile(dataFile->fileName()); dataFile->close(); return true; } #endif // USE_QPROCESS qgit-qgit-2.11/src/dataloader.h000066400000000000000000000025321500324541100164000ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef DATALOADER_H #define DATALOADER_H #include #include #include class Git; class FileHistory; class QString; class UnbufferedTemporaryFile; // data exchange facility with 'git log' could be based on QProcess or on // a temporary file (default). Uncomment following line to use QProcess // #define USE_QPROCESS class DataLoader : public QProcess { Q_OBJECT public: DataLoader(Git* g, FileHistory* f); ~DataLoader(); bool start(const QStringList& args, const QString& wd, const QString& buf); signals: void newDataReady(const FileHistory*); void loaded(FileHistory*,ulong,int,bool,const QString&,const QString&); private slots: void on_finished(int, QProcess::ExitStatus); void on_cancel(); void on_cancel(const FileHistory*); void on_timeout(); private: void parseSingleBuffer(const QByteArray& ba); void baAppend(QByteArray** src, const char* ascii, int len); void addSplittedChunks(const QByteArray* halfChunk); bool createTemporaryFile(); ulong readNewData(bool lastBuffer); Git* git; FileHistory* fh; QByteArray* halfChunk; UnbufferedTemporaryFile* dataFile; QElapsedTimer loadTime; QTimer guiUpdateTimer; ulong loadedBytes; bool isProcExited; bool parsing; bool canceling; }; #endif qgit-qgit-2.11/src/domain.cpp000066400000000000000000000204131500324541100161000ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include "FileHistory.h" #include "exceptionmanager.h" #include "mainimpl.h" #include "git.h" #include "domain.h" using namespace QGit; void StateInfo::S::clear() { sha = fn = dtSha = ""; isM = allM = false; sel = true; } bool StateInfo::S::operator==(const StateInfo::S& st) const { if (&st == this) return true; return ( sha == st.sha && fn == st.fn && dtSha == st.dtSha && sel == st.sel && isM == st.isM && allM == st.allM); } bool StateInfo::S::operator!=(const StateInfo::S& st) const { return !(StateInfo::S::operator==(st)); } void StateInfo::clear() { nextS.clear(); curS.clear(); prevS.clear(); isLocked = false; } StateInfo::StateInfo(const StateInfo& otherState) : curS(otherState.curS), prevS(otherState.prevS), nextS(otherState.nextS), isLocked(otherState.isLocked) {} StateInfo& StateInfo::operator=(const StateInfo& newState) { if (&newState != this) { if (isLocked) nextS = newState.curS; else curS = newState.curS; // prevS is mot modified to allow a rollback } return *this; } bool StateInfo::operator==(const StateInfo& newState) const { if (&newState == this) return true; return (curS == newState.curS); // compare is made on curS only } bool StateInfo::operator!=(const StateInfo& newState) const { return !(StateInfo::operator==(newState)); } bool StateInfo::isChanged(uint what) const { bool ret = false; if (what & SHA) ret = (sha(true) != sha(false)); if (!ret && (what & FILE_NAME)) ret = (fileName(true) != fileName(false)); if (!ret && (what & DIFF_TO_SHA)) ret = (diffToSha(true) != diffToSha(false)); if (!ret && (what & ALL_MERGE_FILES)) ret = (allMergeFiles(true) != allMergeFiles(false)); return ret; } // ************************* Domain **************************** Domain::Domain(MainImpl* m, Git* g, bool isMain) : QObject(m), git(g) { EM_INIT(exDeleteRequest, "Deleting domain"); EM_INIT(exCancelRequest, "Canceling update"); fileHistory = new FileHistory(this, git); if (isMain) git->setDefaultModel(fileHistory); st.clear(); busy = linked = false; popupType = 0; container = new QWidget(NULL); // will be reparented to m()->tabWdg } Domain::~Domain() { if (!parent()) return; // remove before to delete, avoids a Qt warning in QInputContext() m()->tabWdg->removeTab(m()->tabWdg->indexOf(container)); container->deleteLater(); } void Domain::clear(bool complete) { if (complete) st.clear(); fileHistory->clear(); } void Domain::on_closeAllTabs() { delete this; // must be sync, deleteLater() does not work } void Domain::deleteWhenDone() { if (!EM_IS_PENDING(exDeleteRequest)) EM_RAISE(exDeleteRequest); emit cancelDomainProcesses(); on_deleteWhenDone(); } void Domain::on_deleteWhenDone() { if (!EM_IS_PENDING(exDeleteRequest)) deleteLater(); else QTimer::singleShot(20, this, SLOT(on_deleteWhenDone())); } void Domain::setThrowOnDelete(bool b) { if (b) EM_REGISTER(exDeleteRequest); else EM_REMOVE(exDeleteRequest); } bool Domain::isThrowOnDeleteRaised(int excpId, SCRef curContext) { return EM_MATCH(excpId, exDeleteRequest, curContext); } MainImpl* Domain::m() const { return static_cast(parent()); } void Domain::showStatusBarMessage(const QString& msg, int timeout) { m()->statusBar()->showMessage(msg, timeout); } void Domain::setTabCaption(const QString& caption) { int idx = m()->tabWdg->indexOf(container); m()->tabWdg->setTabText(idx, caption); } void Domain::unlinkDomain(Domain* d) { d->linked = false; while (d->disconnect(SIGNAL(updateRequested(StateInfo)), this)) ;// a signal is emitted for every connection you make, // so if you duplicate a connection, two signals will be emitted. } void Domain::linkDomain(Domain* d) { unlinkDomain(d); // be sure only one connection is active connect(d, SIGNAL(updateRequested(StateInfo)), this, SLOT(on_updateRequested(StateInfo))); d->linked = true; } void Domain::on_updateRequested(StateInfo newSt) { st = newSt; UPDATE(); } bool Domain::flushQueue() { // during dragging any state update is queued, so try to flush pending now if (!busy && st.flushQueue()) { UPDATE(); return true; } return false; } bool Domain::event(QEvent* e) { bool fromMaster = false; switch (int(e->type())) { case UPD_DM_MST_EV: fromMaster = true; // fall through case UPD_DM_EV: update(fromMaster, ((UpdateDomainEvent*)e)->isForced()); break; case MSG_EV: if (!busy && !st.requestPending()) QApplication::postEvent(m(), new MessageEvent(((MessageEvent*)e)->myData())); else // waiting for the end of updating statusBarRequest = ((MessageEvent*)e)->myData(); break; default: break; } return QObject::event(e); } void Domain::populateState() { const Rev* r = git->revLookup(st.sha()); if (r) st.setIsMerge(r->parentsCount() > 1); } void Domain::update(bool fromMaster, bool force) { if (busy && st.requestPending()) { // quick exit current (obsoleted) update but only if state // is going to change. Without this check calling update() // many times with the same data nullify the update EM_RAISE(exCancelRequest); emit cancelDomainProcesses(); } if (busy) return; if (linked && !fromMaster) { // in this case let the update to fall down from master domain StateInfo tmp(st); st.rollBack(); // we don't want to filter out next update sent from master emit updateRequested(tmp); return; } try { EM_REGISTER_Q(exCancelRequest); // quiet, no messages when thrown setThrowOnDelete(true); git->setThrowOnStop(true); git->setCurContext(this); busy = true; populateState(); // complete any missing state information st.setLock(true); // any state change will be queued now if (doUpdate(force)) st.commit(); else st.rollBack(); st.setLock(false); busy = false; if (git->curContext() != this) qDebug("ASSERT in Domain::update, context is %p " "instead of %p", (void*)git->curContext(), (void*)this); git->setCurContext(NULL); git->setThrowOnStop(false); setThrowOnDelete(false); EM_REMOVE(exCancelRequest); } catch (int i) { /* If we have a cancel request because of a new update is in queue we cannot roolback current state to avoid new update is filtered out in case rolled back sha and new sha are the same. This could happen with arrow navigation: sha -> go UP (new sha) -> go DOWN (cancel) -> rollback to sha And pending request 'sha' is filtered out leaving us in an inconsistent state. */ st.commit(); st.setLock(false); busy = false; git->setCurContext(NULL); git->setThrowOnStop(false); setThrowOnDelete(false); EM_REMOVE(exCancelRequest); if (QApplication::overrideCursor()) QApplication::restoreOverrideCursor(); QString context("updating "); if (git->isThrowOnStopRaised(i, context + metaObject()->className())) { EM_THROW_PENDING; return; } if (isThrowOnDeleteRaised(i, context + metaObject()->className())) { EM_THROW_PENDING; return; } if (i == exCancelRequest) EM_THROW_PENDING; // do not return else { const QString info("Exception \'" + EM_DESC(i) + "\' " "not handled in init...re-throw"); dbs(info); throw; } } bool nextRequestPending = flushQueue(); if (!nextRequestPending && !statusBarRequest.isEmpty()) { // update status bar when we are sure no more work is pending QApplication::postEvent(m(), new MessageEvent(statusBarRequest)); statusBarRequest = ""; } if (!nextRequestPending && popupType) sendPopupEvent(); } void Domain::sendPopupEvent() { // call an async context popup, must be executed // after returning to event loop DeferredPopupEvent* e = new DeferredPopupEvent(popupData, popupType); QApplication::postEvent(m(), e); popupType = 0; } void Domain::on_contextMenu(const QString& data, int type) { popupType = type; popupData = data; if (busy) return; // we are in the middle of an update // if list view is already updated pop-up // context menu, otherwise it means update() // has still not been called, a pop-up request, // will be fired up at the end of next update() if ((type == POPUP_LIST_EV) && (data != st.sha())) return; sendPopupEvent(); } qgit-qgit-2.11/src/domain.h000066400000000000000000000107461500324541100155550ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef DOMAIN_H #define DOMAIN_H #include #include #include "exceptionmanager.h" #include "common.h" #define UPDATE_DOMAIN(x) QApplication::postEvent(x, new UpdateDomainEvent(false)) #define UPDATE() QApplication::postEvent(this, new UpdateDomainEvent(false)) #define UPDATE_DM_MASTER(x, f) QApplication::postEvent(x, new UpdateDomainEvent(true, f)) class Domain; class FileHistory; class Git; class MainImpl; class UpdateDomainEvent : public QEvent { public: explicit UpdateDomainEvent(bool fromMaster, bool force = false) : QEvent(fromMaster ? (QEvent::Type)QGit::UPD_DM_MST_EV : (QEvent::Type)QGit::UPD_DM_EV), f(force) {} bool isForced() const { return f; } private: bool f; }; class StateInfo { public: StateInfo() { clear(); } StateInfo(const StateInfo& otherState); StateInfo& operator=(const StateInfo& newState); bool operator==(const StateInfo& newState) const; bool operator!=(const StateInfo& newState) const; void clear(); const QString sha(bool n = true) const { return (n ? curS.sha : prevS.sha); } const QString fileName(bool n = true) const { return (n ? curS.fn : prevS.fn); } const QString diffToSha(bool n = true) const {return(n ? curS.dtSha : prevS.dtSha); } bool selectItem(bool n = true) const { return (n ? curS.sel : prevS.sel); } bool isMerge(bool n = true) const { return (n ? curS.isM : prevS.isM); } bool allMergeFiles(bool n = true) const { return (n ? curS.allM : prevS.allM); } void setSha(const QString& s) { if (isLocked) nextS.sha = s; else curS.sha = s; } void setFileName(const QString& s) { if (isLocked) nextS.fn = s; else curS.fn = s; } void setDiffToSha(const QString& s) { if (isLocked) nextS.dtSha = s; else curS.dtSha = s; } void setSelectItem(bool b) { if (isLocked) nextS.sel = b; else curS.sel = b; } void setIsMerge(bool b) { if (isLocked) nextS.isM = b; else curS.isM = b; } void setAllMergeFiles(bool b) { if (isLocked) nextS.allM = b; else curS.allM = b; } bool isChanged(uint what = ANY) const; enum Field { SHA = 1, FILE_NAME = 2, DIFF_TO_SHA = 4, ALL_MERGE_FILES = 8, ANY = 15 }; private: friend class Domain; bool requestPending() const { return (!nextS.sha.isEmpty() && (nextS != curS)); } void setLock(bool b) { isLocked = b; if (b) nextS = curS; } void commit() { prevS = curS; } void rollBack() { if (nextS == curS) nextS.clear(); // invalidate to avoid infinite loop curS = prevS; } bool flushQueue() { if (requestPending()) { curS = nextS; return true; } return false; } class S { public: S() { clear(); } void clear(); bool operator==(const S& newState) const; bool operator!=(const S& newState) const; QString sha; QString fn; QString dtSha; bool sel; bool isM; bool allM; }; S curS; // current state, what returns from StateInfo::sha() S prevS; // previous good state, used to rollBack in case state update fails S nextS; // next queued state, waiting for current update to finish bool isLocked; }; class Domain: public QObject { Q_OBJECT public: Domain() {} Domain(MainImpl* m, Git* git, bool isMain); virtual ~Domain(); void deleteWhenDone(); // will delete when no more run() are pending void showStatusBarMessage(const QString& msg, int timeout = 0); void setThrowOnDelete(bool b); bool isThrowOnDeleteRaised(int excpId, SCRef curContext); MainImpl* m() const; FileHistory* model() const { return fileHistory; } bool isLinked() const { return linked; } QWidget* tabPage() const { return container; } virtual bool isMatch(SCRef) { return false; } StateInfo st; signals: void updateRequested(StateInfo newSt); void cancelDomainProcesses(); public slots: void on_closeAllTabs(); protected slots: virtual void on_contextMenu(const QString&, int); void on_updateRequested(StateInfo newSt); void on_deleteWhenDone(); protected: virtual void clear(bool complete = true); virtual bool event(QEvent* e); virtual bool doUpdate(bool force) = 0; void linkDomain(Domain* d); void unlinkDomain(Domain* d); void setTabCaption(const QString& caption); Git* git; QWidget* container; bool busy; private: void populateState(); void update(bool fromMaster, bool force); bool flushQueue(); void sendPopupEvent(); EM_DECLARE(exDeleteRequest); EM_DECLARE(exCancelRequest); FileHistory* fileHistory; bool linked; int popupType; QString popupData; QString statusBarRequest; }; #endif qgit-qgit-2.11/src/exceptionmanager.cpp000066400000000000000000000114571500324541100201720ustar00rootroot00000000000000/* Description: Support for recursive C++ exception handling compatible with Qt qApp->processEvents() See exception_manager.txt for details. Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include "exceptionmanager.h" ExceptionManager::ExceptionManager() { excpId = regionId = currentRegionId = 1; descriptions.append("we start from 1"); } void ExceptionManager::init(int* excp, const QString& desc) { *excp = excpId++; descriptions.append(desc); } const QString ExceptionManager::desc(int excpId) { return descriptions[excpId]; } bool ExceptionManager::isMatch(int value, int excp, const QString& context) { bool match = (value == excp); if (match) { QString info("Caught exception \'" + descriptions[excp] + "\' while in " + context); qDebug("%s", info.toLatin1().constData()); } return match; } void ExceptionManager::add(int excpId, bool verbose) { // add a new exception in currentThrowableSet // are prepended so to use a for loop starting // from begin to find the latest. Exceptions are // always added/removed from both totalThrowableSet // and regionThrowableSet totalThrowableSet.prepend(Exception(excpId, verbose)); regionThrowableSet.prepend(Exception(excpId, verbose)); } void ExceptionManager::remove(int excpId) { // removes ONE exception in totalThrowableSet and ONE in regionThrowableSet. // if add and remove calls are correctly nested the removed // excp should be the first in both throwable sets if (totalThrowableSet.isEmpty() || regionThrowableSet.isEmpty()) { qDebug("ASSERT in remove: removing %i from an empty set", excpId); return; } // remove from region. SetIt itReg(regionThrowableSet.begin()); if ((*itReg).excpId != excpId) { qDebug("ASSERT in remove: %i is not the first in list", excpId); return; } regionThrowableSet.erase(itReg); // remove from total. SetIt itTot(totalThrowableSet.begin()); if ((*itTot).excpId != excpId) { qDebug("ASSERT in remove: %i is not the first in list", excpId); return; } totalThrowableSet.erase(itTot); } ExceptionManager::SetIt ExceptionManager::findExcp(ThrowableSet& ts, const SetIt& startIt, int excpId) { SetIt it(startIt); for ( ; it != ts.end(); ++it) if ((*it).excpId == excpId) break; return it; } void ExceptionManager::setRaisedFlag(ThrowableSet& ts, int excpId) { SetIt it(findExcp(ts, ts.begin(), excpId)); while (it != ts.end()) { (*it).isRaised = true; it = findExcp(ts, ++it, excpId); } } void ExceptionManager::raise(int excpId) { if (totalThrowableSet.isEmpty()) return; // check totalThrowableSet to find if excpId is throwable SetIt it = findExcp(totalThrowableSet, totalThrowableSet.begin(), excpId); if (it == totalThrowableSet.end()) return; // we have found an exception. Set raised flag in regionThrowableSet setRaisedFlag(regionThrowableSet, excpId); // then set the flag in all regions throwableSetList QMap::iterator itList(throwableSetMap.begin()); while (itList != throwableSetMap.end()) { setRaisedFlag(*itList, excpId); ++itList; } } int ExceptionManager::saveThrowableSet() { // here we save regionThrowableSet _and_ update the region. // regionThrowableSet is saved with the current region index. // then current region is changed to a new and never used index int oldCurrentRegionId = currentRegionId; throwableSetMap.insert(currentRegionId, regionThrowableSet); currentRegionId = ++regionId; // we use this call to trigger a region boundary crossing // so we have to clear the new region throwables. We still // have totalThrowableSet to catch any request. regionThrowableSet.clear(); return oldCurrentRegionId; } void ExceptionManager::restoreThrowableSet(int regionId) { if (!throwableSetMap.contains(regionId)) { qDebug("ASSERT in restoreThrowableSet: region %i not found", regionId); return; } regionThrowableSet = throwableSetMap[regionId]; throwableSetMap.remove(regionId); } bool ExceptionManager::isPending(int excpId) { // check in ALL regions if an exception request is pending QMap::const_iterator itList(throwableSetMap.constBegin()); while (itList != throwableSetMap.constEnd()) { ThrowableSet::const_iterator it((*itList).constBegin()); for ( ; it != (*itList).constEnd(); ++it) if ((*it).isRaised && (*it).excpId == excpId) return true; ++itList; } return false; } void ExceptionManager::throwPending() { if (regionThrowableSet.isEmpty()) return; ThrowableSet::const_iterator it(regionThrowableSet.constBegin()); for ( ; it != regionThrowableSet.constEnd(); ++it) if ((*it).isRaised) break; if (it == regionThrowableSet.constEnd()) return; int excpToThrow = (*it).excpId; if ((*it).verbose) qDebug("Thrown exception \'%s\'", desc(excpToThrow).toLatin1().constData()); throw excpToThrow; } qgit-qgit-2.11/src/exceptionmanager.h000066400000000000000000000055001500324541100176270ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef EXCEPTIONMANAGER_H #define EXCEPTIONMANAGER_H #include #include #include // exception manager sugar macro #define EM_DECLARE(x) int x #define EM_INIT(x,y) ExceptionManager::em()->init(&x, QString(y)) #define EM_REGISTER(x) ExceptionManager::em()->add(x, true) #define EM_REGISTER_Q(x) ExceptionManager::em()->add(x, false) #define EM_REMOVE(x) ExceptionManager::em()->remove(x) #define EM_RAISE(x) ExceptionManager::em()->raise(x) #define EM_MATCH(x,y,z) ExceptionManager::em()->isMatch(x,y,QString(z)) #define EM_DESC(x) ExceptionManager::em()->desc(x) #define EM_IS_PENDING(x) ExceptionManager::em()->isPending(x) #define EM_THROW_PENDING ExceptionManager::em()->throwPending() #define EM_BEFORE_PROCESS_EVENTS int _region = ExceptionManager::em()->saveThrowableSet() #define EM_AFTER_PROCESS_EVENTS ExceptionManager::em()->restoreThrowableSet(_region); \ ExceptionManager::em()->throwPending() #define EM_PROCESS_EVENTS do { EM_BEFORE_PROCESS_EVENTS; \ qApp->processEvents(); \ EM_AFTER_PROCESS_EVENTS; \ } while (false) #define EM_PROCESS_EVENTS_NO_INPUT do { EM_BEFORE_PROCESS_EVENTS; \ qApp->processEvents(QEventLoop::ExcludeUserInputEvents); \ EM_AFTER_PROCESS_EVENTS; \ } while (false) class ExceptionManager { // singleton class protected: ExceptionManager(); ExceptionManager(const ExceptionManager&); ExceptionManager& operator=(const ExceptionManager&); public: static ExceptionManager* em() { static ExceptionManager private_em; return &private_em; } void init(int* excpId, const QString& desc); void add(int excpId, bool verbose); void remove(int excpId); void raise(int excpId); void throwPending(); int saveThrowableSet(); void restoreThrowableSet(int regionId); bool isMatch(int value, int excpId, const QString& context); const QString desc(int excpId); bool isPending(int excpId); private: int excpId; int regionId; int currentRegionId; class Exception { public: Exception() {} Exception(int ex, bool v) : excpId(ex), verbose(v), isRaised(false) {} int excpId; bool verbose; bool isRaised; }; typedef QList ThrowableSet; typedef ThrowableSet::iterator SetIt; QMap throwableSetMap; ThrowableSet totalThrowableSet; ThrowableSet regionThrowableSet; QVector descriptions; SetIt findExcp(ThrowableSet& ts, const SetIt& startIt, int excpId); void setRaisedFlag(ThrowableSet& ts, int excpId); }; #endif qgit-qgit-2.11/src/filecontent.cpp000066400000000000000000000375551500324541100171620ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include #include #include #include #include #include #include #include "domain.h" #include "myprocess.h" #include "mainimpl.h" #include "git.h" #include "annotate.h" #include "filecontent.h" class FileHighlighter : public QSyntaxHighlighter { public: FileHighlighter(FileContent* fc) : QSyntaxHighlighter(fc), f(fc) {} virtual void highlightBlock(const QString& p) { // state is used to count lines, starting from 0 if (currentBlockState() == -1) // only once setCurrentBlockState(previousBlockState() + 1); if (f->isHtmlSource) return; if ( f->isRangeFilterActive && f->rangeInfo->start != 0 && f->rangeInfo->start <= currentBlockState() && f->rangeInfo->end >= currentBlockState()) { QTextCharFormat myFormat; myFormat.setFontWeight(QFont::Bold); myFormat.setForeground(Qt::blue); setFormat(0, p.length(), myFormat); } return; } private: FileContent* f; }; FileContent::FileContent(QWidget* parent) : QTextEdit(parent) { isRangeFilterActive = isHtmlSource = isImageFile = isAnnotationAppended = false; isShowAnnotate = true; rangeInfo = new RangeInfo(); fileHighlighter = new FileHighlighter(this); setFont(QGit::TYPE_WRITER_FONT); } FileContent::~FileContent() { clearAll(!optEmitSignal); delete fileHighlighter; delete rangeInfo; } void FileContent::setup(Domain* dm, Git* g, QListWidget* lw) { d = dm; git = g; st = &(d->st); listWidgetAnn = lw; lw->setParent(this); lw->setSelectionMode(QAbstractItemView::NoSelection); QPalette pl = lw->palette(); pl.setColor(QPalette::Text, Qt::lightGray); lw->setPalette(pl); clearAll(!optEmitSignal); connect(d->m(), SIGNAL(typeWriterFontChanged()), this, SLOT(typeWriterFontChanged())); connect(git, SIGNAL(annotateReady(Annotate*, bool, const QString&)), this, SLOT(on_annotateReady(Annotate*, bool, const QString&))); connect(listWidgetAnn, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(on_list_doubleClicked(QListWidgetItem*))); QScrollBar* vsb = verticalScrollBar(); connect(vsb, SIGNAL(valueChanged(int)), this, SLOT(on_scrollBar_valueChanged(int))); vsb->setSingleStep(fontMetrics().lineSpacing()); vsb = listWidgetAnn->verticalScrollBar(); connect(vsb, SIGNAL(valueChanged(int)), this, SLOT(on_listScrollBar_valueChanged(int))); vsb->setSingleStep(fontMetrics().lineSpacing()); } void FileContent::on_scrollBar_valueChanged(int value) { listWidgetAnn->verticalScrollBar()->setValue(value); } void FileContent::on_listScrollBar_valueChanged(int value) { verticalScrollBar()->setValue(value); } int FileContent::itemAnnId(QListWidgetItem* item) { if (item == NULL) return 0; QString id(item->text()); if (!id.contains('.')) return 0; return id.section('.', 0, 0).toInt(); } void FileContent::on_list_doubleClicked(QListWidgetItem* item) { int id = itemAnnId(item); if (id) emit revIdSelected(id); } void FileContent::clearAnnotate(bool emitSignal) { git->cancelAnnotate(annotateObj); annotateObj = NULL; curAnn = NULL; isAnnotationLoading = false; if (emitSignal) emit annotationAvailable(false); } void FileContent::clearText(bool emitSignal) { git->cancelProcess(proc); proc = NULL; fileRowData.clear(); QTextEdit::clear(); // explicit call because our clear() is only declared listWidgetAnn->clear(); isFileAvail = isAnnotationAppended = false; if (emitSignal) emit fileAvailable(false); } void FileContent::clearAll(bool emitSignal) { clearAnnotate(emitSignal); clearText(emitSignal); } void FileContent::setShowAnnotate(bool b) { // add an annotation if is available and still not appended, this // can happen if annotation became available while loading the file. // If isShowAnnotate is false try to remove any annotation. isShowAnnotate = b; if ( !isFileAvail || (!curAnn && isShowAnnotate) || (isAnnotationAppended == isShowAnnotate)) return; setAnnList(); } void FileContent::setHighlightSource(bool b) { if (b && !git->isTextHighlighter()) { dbs("ASSERT in setHighlightSource: no highlighter found"); return; } isHtmlSource = b; doUpdate(true); } void FileContent::doUpdate(bool force) { bool shaChanged = (st->sha(true) != st->sha(false)); bool fileNameChanged = (st->fileName(true) != st->fileName(false)); if (!fileNameChanged && !shaChanged && !force) return; saveScreenState(); if (fileNameChanged) { clearAll(optEmitSignal); isImageFile = Git::isImageFile(st->fileName()); } else clearText(optEmitSignal); lookupAnnotation(); // before file loading QString fileSha; if (curAnn) fileSha = curAnn->fileSha; else fileSha = git->getFileSha(st->fileName(), st->sha()); // both calls bound procFinished() and procReadyRead() slots if (isHtmlSource && !isImageFile) proc = git->getHighlightedFile(fileSha, this, NULL, st->fileName()); else proc = git->getFile(fileSha, this, NULL, st->fileName()); // non blocking ss.isValid = false; if (isRangeFilterActive) getRange(st->sha(), rangeInfo); else if (curAnn) { // call seekPosition() while loading the file so to shadow the compute time int& from = ss.hasSelectedText ? ss.paraFrom : ss.topPara; int& to = ss.hasSelectedText ? ss.paraTo : ss.topPara; ss.isValid = annotateObj->seekPosition(&from, &to, st->sha(false), st->sha(true)); } } bool FileContent::startAnnotate(FileHistory* fh, SCRef ht) { if (!isImageFile) annotateObj = git->startAnnotate(fh, d); // non blocking histTime = ht; isAnnotationLoading = (annotateObj != NULL); return isAnnotationLoading; } uint FileContent::annotateLength(const FileAnnotation* annFile) { int maxLen = 0; FOREACH_SL (it, annFile->lines) if ((*it).length() > maxLen) maxLen = (*it).length(); return maxLen; } bool FileContent::getRange(SCRef sha, RangeInfo* r) { if (annotateObj) return annotateObj->getRange(sha, r); return false; } void FileContent::scrollCursorToTop() { QScrollBar* vsb = verticalScrollBar(); vsb->setValue(vsb->value() + cursorRect().top()); } void FileContent::scrollLineToTop(int lineNum) { QTextCursor tc = textCursor(); tc.movePosition(QTextCursor::Start); tc.movePosition(QTextCursor::NextBlock, QTextCursor::MoveAnchor, lineNum); setTextCursor(tc); scrollCursorToTop(); } int FileContent::positionToLineNum(int pos) { QTextCursor tc = textCursor(); if (pos != -1) tc.setPosition(pos); return tc.blockNumber(); } int FileContent::lineAtTop() { return cursorForPosition(QPoint(1, 1)).blockNumber(); } void FileContent::setSelection(int paraFrom, int indexFrom, int paraTo, int indexTo) { scrollLineToTop(paraFrom); QTextCursor tc = textCursor(); tc.setPosition(tc.position() + indexFrom); tc.movePosition(QTextCursor::StartOfBlock, QTextCursor::KeepAnchor); int delta = paraTo - paraFrom; tc.movePosition(QTextCursor::NextBlock, QTextCursor::KeepAnchor, delta); tc.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor, indexTo); setTextCursor(tc); } void FileContent::saveScreenState() { ss.isValid = true; QTextCursor tc = textCursor(); ss.hasSelectedText = tc.hasSelection(); if (ss.hasSelectedText) { int endPos = tc.selectionEnd(); ss.paraFrom = positionToLineNum(tc.selectionStart()); ss.paraTo = positionToLineNum(tc.selectionEnd()); tc.setPosition(tc.selectionStart()); ss.indexFrom = tc.columnNumber(); tc.setPosition(endPos); ss.indexTo = tc.columnNumber(); } else ss.topPara = lineAtTop(); } void FileContent::restoreScreenState() { if (!ss.isValid) return; if (ss.hasSelectedText) setSelection(ss.paraFrom, ss.indexFrom, ss.paraTo, ss.indexTo); else scrollLineToTop(ss.topPara); } void FileContent::goToAnnotation(int revId, int dir) { if (!isAnnotationAppended || !curAnn || (revId == 0)) return; const QString header(QString::number(revId) + "."); int row = (dir == 0 ? -1 : lineAtTop()); QListWidgetItem* itm = NULL; do { row += (dir >= 0 ? 1 : -1); itm = listWidgetAnn->item(row); if (itm && itm->text().trimmed().startsWith(header)) { scrollLineToTop(row); break; } } while (itm); } bool FileContent::goToRangeStart() { if ( !isRangeFilterActive || !curAnn || (rangeInfo->start == 0)) return false; scrollLineToTop(rangeInfo->start); return true; } void FileContent::copySelection() { QClipboard* cb = QApplication::clipboard(); QString sel(textCursor().selectedText()); /* Workaround a Qt issue, QTextCursor::selectedText() substitutes '\n' with '\0'. Restore proper content. QString::replace() doesn't seem to work, go with a loop. */ for (int i = 0; i < sel.length(); i++) { const char c = sel.at(i).toLatin1(); if (c == 0) sel[i] = '\n'; } cb->setText(sel, QClipboard::Clipboard); } bool FileContent::rangeFilter(bool b) { isRangeFilterActive = false; if (b) { if (!annotateObj) { dbs("ASSERT in rangeFilter: annotateObj not available"); return false; } QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); EM_PROCESS_EVENTS_NO_INPUT; QString ancestor; QTextCursor tc = textCursor(); int paraFrom = positionToLineNum(tc.selectionStart()); int paraTo = positionToLineNum(tc.selectionEnd()); try { d->setThrowOnDelete(true); // could call qApp->processEvents() ancestor = annotateObj->computeRanges(st->sha(), paraFrom, paraTo); d->setThrowOnDelete(false); } catch (int i) { d->setThrowOnDelete(false); QApplication::restoreOverrideCursor(); if (d->isThrowOnDeleteRaised(i, "range filtering")) { EM_THROW_PENDING; return false; } const QString info("Exception \'" + EM_DESC(i) + "\' " "not handled in lookupAnnotation...re-throw"); dbs(info); throw; } QApplication::restoreOverrideCursor(); if (!ancestor.isEmpty() && getRange(ancestor, rangeInfo)) { isRangeFilterActive = true; fileHighlighter->rehighlight(); goToRangeStart(); return true; } } else { setFontWeight(QFont::Normal); // bold if the first line was highlighted fileHighlighter->rehighlight(); setSelection(rangeInfo->start, 0, rangeInfo->end, 0); rangeInfo->clear(); } return false; } bool FileContent::lookupAnnotation() { if ( st->sha().isEmpty() || st->fileName().isEmpty() || isAnnotationLoading || !annotateObj) return false; try { d->setThrowOnDelete(true); // could call qApp->processEvents() curAnn = git->lookupAnnotation(annotateObj, st->sha()); if (!curAnn) { dbp("ASSERT in lookupAnnotation: no annotation for %1", st->fileName()); clearAnnotate(optEmitSignal); } else if (curAnn->lines.empty()) curAnn = NULL; d->setThrowOnDelete(false); } catch (int i) { d->setThrowOnDelete(false); if (d->isThrowOnDeleteRaised(i, "looking up annotation")) { EM_THROW_PENDING; return false; } const QString info("Exception \'" + EM_DESC(i) + "\' " "not handled in lookupAnnotation...re-throw"); dbs(info); throw; } return (curAnn != NULL); } void FileContent::on_annotateReady(Annotate* readyAnn, bool ok, const QString& msg) { if (readyAnn != annotateObj) // Git::annotateReady() is sent to all receivers return; isAnnotationLoading = false; if (!ok) { d->showStatusBarMessage("Sorry, annotation not available for this file."); return; } QString fileNum = msg.section(' ', 0, 0); QString annTime = msg.section(' ', 1, 1); QString stats("File '%1': revisions %2, history loaded in %3 ms, files annotated in %4 ms"); d->showStatusBarMessage(stats.arg(st->fileName(), fileNum, histTime, annTime), 12000); if (lookupAnnotation()) emit annotationAvailable(true); } void FileContent::typeWriterFontChanged() { setFont(QGit::TYPE_WRITER_FONT); if (!isHtmlSource && !isImageFile && isFileAvail) { setPlainText(toPlainText()); setAnnList(); } } void FileContent::procReadyRead(const QByteArray& fileChunk) { fileRowData.append(fileChunk); // set text at the end of loading, much faster } void FileContent::procFinished(bool emitSignal) { if (isImageFile) showFileImage(); else { if (!fileRowData.endsWith("\n")) fileRowData.append('\n'); // fake a trailing new line if (isHtmlSource) setHtml(fileRowData); else { QTextCharFormat cf; // to restore also default color cf.setFont(font()); setCurrentCharFormat(cf); setPlainText(fileRowData); // much faster then append() } } setAnnList(); isFileAvail = true; if (ss.isValid) restoreScreenState(); // could be slow for big files else moveCursor(QTextCursor::Start); if (emitSignal) emit fileAvailable(true); } void FileContent::showFileImage() { QTemporaryFile f; if (f.open()) { QString header("

"); QGit::writeToFile(f.fileName(), fileRowData); setHtml(header); } } void FileContent::setAnnList() { int linesNum = document()->blockCount(); int linesNumDigits = QString::number(linesNum).length(); int curId = 0, annoMaxLen = 0; QStringList::const_iterator it, endIt; isAnnotationAppended = isShowAnnotate && curAnn; if (isAnnotationAppended) { annoMaxLen = annotateLength(curAnn); it = curAnn->lines.constBegin(); endIt = curAnn->lines.constEnd(); curId = curAnn->annId; } listWidgetAnn->setFont(currentFont()); QString tmp; tmp.fill('M', annoMaxLen + 1 + linesNumDigits + 2); int width = listWidgetAnn->fontMetrics().boundingRect(tmp).width(); QStringList sl; QVector curIdLines; for (int i = 0; i < linesNum; i++) { if (isAnnotationAppended) { if (it != endIt) tmp = (*(it++)).leftJustified(annoMaxLen); else tmp = QString().leftJustified(annoMaxLen); if (tmp.section('.',0 ,0).toInt() == curId) curIdLines.append(i); } else tmp.clear(); tmp.append(QString(" %1 ").arg(i + 1, linesNumDigits)); sl.append(tmp); } sl.append(QString()); // QTextEdit adds a blank line after content listWidgetAnn->setUpdatesEnabled(false); listWidgetAnn->clear(); listWidgetAnn->addItems(sl); QAbstractTextDocumentLayout *layout = document()->documentLayout(); if (layout != NULL) { qreal previousBottom = 0.; QTextBlock block = document()->begin(); for (int i = 0; i < linesNum; i++) { qreal bottom = layout->blockBoundingRect(block).bottom(); QListWidgetItem* item = listWidgetAnn->item(i); item->setSizeHint(QSize(0, static_cast(bottom - previousBottom))); item->setTextAlignment(Qt::AlignVCenter); // Move down a pixel or so. previousBottom = bottom; block = block.next(); } } QBrush fore(Qt::darkRed); QBrush back(Qt::lightGray); QFont f(listWidgetAnn->font()); f.setBold(true); FOREACH (QVector, it, curIdLines) { QListWidgetItem* item = listWidgetAnn->item(*it); item->setForeground(fore); item->setBackground(back); item->setFont(f); } /* When listWidgetAnn get focus for the first time the current item, if not already present, is set to the first row and scrolling starts from there, so set a proper current item here */ int topRow = lineAtTop() + 1; listWidgetAnn->setCurrentRow(topRow); listWidgetAnn->adjustSize(); // update scrollbar state adjustAnnListSize(width); listWidgetAnn->setUpdatesEnabled(true); } void FileContent::adjustAnnListSize(int width) { QRect r = listWidgetAnn->geometry(); r.setWidth(width); int height = geometry().height(); if (horizontalScrollBar()->isVisible()) height -= horizontalScrollBar()->height(); r.setHeight(height); listWidgetAnn->setGeometry(r); setViewportMargins(width, 0, 0, 0); // move textedit view to the left of listWidgetAnn } void FileContent::resizeEvent(QResizeEvent* e) { QTextEdit::resizeEvent(e); int width = listWidgetAnn->geometry().width(); adjustAnnListSize(width); // update list width } qgit-qgit-2.11/src/filecontent.h000066400000000000000000000055611500324541100166170ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef FILECONTENT_H #define FILECONTENT_H #include #include #include "common.h" class FileHighlighter; class Domain; class StateInfo; class Annotate; class Git; class MyProcess; class RangeInfo; class FileHistory; class QListWidget; class QListWidgetItem; class FileContent: public QTextEdit { Q_OBJECT public: FileContent(QWidget* parent); ~FileContent(); void setup(Domain* parent, Git* git, QListWidget* lwa); void doUpdate(bool force = false); void clearAll(bool emitSignal = true); void copySelection(); void goToAnnotation(int id, int direction); bool goToRangeStart(); bool rangeFilter(bool b); bool getRange(SCRef sha, RangeInfo* r); bool startAnnotate(FileHistory* fh, SCRef histTime); void setShowAnnotate(bool b); void setHighlightSource(bool b); void setSelection(int paraFrom, int indexFrom, int paraTo, int indexTo); int itemAnnId(QListWidgetItem* item); bool isFileAvailable() const { return isFileAvail; } bool isAnnotateAvailable() const { return curAnn != NULL; } signals: void annotationAvailable(bool); void fileAvailable(bool); void revIdSelected(int); public slots: void on_annotateReady(Annotate*, bool, const QString&); void procReadyRead(const QByteArray&); void procFinished(bool emitSignal = true); void typeWriterFontChanged(); protected: virtual void resizeEvent(QResizeEvent* e); private slots: void on_list_doubleClicked(QListWidgetItem*); void on_scrollBar_valueChanged(int); void on_listScrollBar_valueChanged(int); private: friend class FileHighlighter; void clear(); // declared as private, to avoid indirect access to QTextEdit::clear() void clearAnnotate(bool emitSignal); void clearText(bool emitSignal); void findInFile(SCRef str); void scrollCursorToTop(); void scrollLineToTop(int lineNum); int positionToLineNum(int pos = -1); int lineAtTop(); bool lookupAnnotation(); uint annotateLength(const FileAnnotation* curAnn); void saveScreenState(); void restoreScreenState(); void showFileImage(); void adjustAnnListSize(int width); void setAnnList(); Domain* d; Git* git; QListWidget* listWidgetAnn; StateInfo* st; RangeInfo* rangeInfo; FileHighlighter* fileHighlighter; QPointer proc; QPointer annotateObj; // valid from beginning of annotation loading const FileAnnotation* curAnn; // valid at the end of annotation loading QByteArray fileRowData; QString histTime; bool isFileAvail; bool isAnnotationLoading; bool isAnnotationAppended; bool isRangeFilterActive; bool isShowAnnotate; bool isHtmlSource; bool isImageFile; struct ScreenState { bool isValid, hasSelectedText; int topPara, paraFrom, indexFrom, paraTo, indexTo; }; ScreenState ss; enum BoolOption { // used as self-documenting boolean parameters optFalse, optEmitSignal }; }; #endif qgit-qgit-2.11/src/filelist.cpp000066400000000000000000000160251500324541100164500ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include #include #include #include #include "git.h" #include "domain.h" #include "filelist.h" FileList::FileList(QWidget* p) : QListWidget(p), d(NULL), git(NULL), st(NULL) {} void FileList::setup(Domain* dm, Git* g) { d = dm; git = g; st = &(d->st); setFont(QGit::STD_FONT); connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(on_customContextMenuRequested(const QPoint&))); connect(this, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), this, SLOT(on_currentItemChanged(QListWidgetItem*, QListWidgetItem*))); } void FileList::addItem(const QString& label, const QColor& clr) { QListWidgetItem* item = new QListWidgetItem(label, this); item->setForeground(clr); } QString FileList::currentText() { QListWidgetItem* item = currentItem(); return (item ? item->data(Qt::DisplayRole).toString() : ""); } void FileList::on_changeFont(const QFont& f) { setFont(f); } void FileList::focusInEvent(QFocusEvent*) { // Workaround a Qt4.2 bug // // When an item is clicked and FileList still doesn't have the // focus we could have a double currentItemChanged() signal, // the first with current set to first item, the second with // current correctly set to the clicked one. // Oddly enough overriding this virtual function we remove // the spurious first signal if any. // // Unluckily in case the clicked one is the first in list we // have only one event and we could miss an update in that case, // so try to handle that if (!st->isMerge() && row(currentItem()) == 0) on_currentItemChanged(currentItem(), currentItem()); } void FileList::on_currentItemChanged(QListWidgetItem* current, QListWidgetItem*) { if (!current) return; if (st->isMerge() && row(current) == 0) { // header clicked // In a listbox without current item, as soon as the box // gains focus the first item becomes the current item // and a spurious currentChanged() signal is sent. // In case of a merge the signal arrives here and fakes // the user clicking on the header. // // The problem arise when user clicks on a merge header, // then list box gains focus and current item becomes null // because the content of the list is cleared and updated. // // If now tab is changed list box loose the focus and, // upon changing back again the tab the signal triggers // because Qt gives back the focus to the listbox. // // The workaround here is to give the focus away as soon // as the user clicks on the merge header. Note that a // lb->clearFocus() is not enough, we really need to // reassign the focus to someone else. d->tabPage()->setFocus(); st->setAllMergeFiles(!st->allMergeFiles()); } else { QString fileName(currentText()); git->removeExtraFileInfo(&fileName); // if we are called by updateFileList() fileName is already updated if (st->fileName() == fileName) // avoid loops return; st->setFileName(fileName); } st->setSelectItem(true); UPDATE_DOMAIN(d); } void FileList::on_customContextMenuRequested(const QPoint&) { int row = currentRow(); if (row == -1 || (row == 0 && st->isMerge())) // header clicked return; emit contextMenu(currentText(), QGit::POPUP_FILE_EV); } bool FileList::startDragging(QMouseEvent* /*e*/) { const QString& dragFileName = currentText(); if (dragFileName.isEmpty()) return false; QMimeData* mimeData = new QMimeData; mimeData->setText(dragFileName); QDrag *drag = new QDrag(this); drag->setMimeData(mimeData); // attach some nice pixmap to the drag (to know what is dragged) int spacing = 4; QFont f; QFontMetrics fm(f); QSize size = fm.boundingRect(dragFileName).size() + QSize(2*spacing, 2); QPixmap pixmap(size); QPainter painter; painter.begin(&pixmap); painter.setBrush(QPalette().color(QPalette::Window)); painter.drawRect(0,0, size.width()-1, size.height()-1); painter.drawText(spacing, fm.ascent()+1, dragFileName); painter.end(); drag->setPixmap(pixmap); // exec blocks until dragging is finished drag->exec(Qt::CopyAction, Qt::CopyAction); return true; } void FileList::mouseMoveEvent(QMouseEvent* e) { if (e->buttons() == Qt::LeftButton && QGit::testFlag(QGit::ENABLE_DRAGNDROP_F)) if (startDragging(e)) return; QListWidget::mouseMoveEvent(e); } void FileList::insertFiles(const RevFile* files) { clear(); if (!files) return; if (st->isMerge()) { const QString header((st->allMergeFiles()) ? "Click to view only interesting files" : "Click to view all merge files"); const bool useDark = QPalette().color(QPalette::Window).value() > QPalette().color(QPalette::WindowText).value(); QColor color (Qt::blue); if (!useDark) color = color.lighter(); addItem(header, color); } if (files->count() == 0) return; bool isMergeParents = !files->mergeParent.isEmpty(); int prevPar = (isMergeParents ? files->mergeParent.first() : 1); setUpdatesEnabled(false); for (int i = 0; i < files->count(); ++i) { if (files->statusCmp(i, RevFile::UNKNOWN)) continue; const bool useDark = QPalette().color(QPalette::Window).value() > QPalette().color(QPalette::WindowText).value(); QColor clr = palette().color(QPalette::WindowText); if (isMergeParents && files->mergeParent.at(i) != prevPar) { prevPar = files->mergeParent.at(i); new QListWidgetItem("", this); new QListWidgetItem("", this); } QString extSt(files->extendedStatus(i)); if (extSt.isEmpty()) { if (files->statusCmp(i, RevFile::NEW)) clr = useDark ? Qt::darkGreen : Qt::green; else if (files->statusCmp(i, RevFile::DELETED)) clr = Qt::red; } else { clr = useDark ? Qt::darkBlue : QColor(Qt::blue).lighter(); // in case of rename deleted file is not shown and... if (files->statusCmp(i, RevFile::DELETED)) continue; // ...new file is shown with extended info if (files->statusCmp(i, RevFile::NEW)) { addItem(extSt, clr); continue; } } addItem(git->filePath(*files, i), clr); } setUpdatesEnabled(true); } void FileList::update(const RevFile* files, bool newFiles) { QPalette pl = QApplication::palette(); if (!st->diffToSha().isEmpty()) pl.setColor(QPalette::Base, QGit::LIGHT_BLUE); setPalette(pl); if (newFiles) insertFiles(files); QString fileName(currentText()); git->removeExtraFileInfo(&fileName); // could be a renamed/copied file if (!fileName.isEmpty() && (fileName == st->fileName())) { currentItem()->setSelected(st->selectItem()); // just a refresh return; } clearSelection(); if (st->fileName().isEmpty()) return; QList l = findItems(st->fileName(), Qt::MatchExactly); if (l.isEmpty()) { // could be a renamed/copied file, try harder fileName = st->fileName(); git->addExtraFileInfo(&fileName, st->sha(), st->diffToSha(), st->allMergeFiles()); l = findItems(fileName, Qt::MatchExactly); } if (!l.isEmpty()) { setCurrentItem(l.first()); l.first()->setSelected(st->selectItem()); } } qgit-qgit-2.11/src/filelist.h000066400000000000000000000016701500324541100161150ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef FILELIST_H #define FILELIST_H #include #include "common.h" class Domain; class StateInfo; class Git; class FileList: public QListWidget { Q_OBJECT public: FileList(QWidget* parent); void setup(Domain* dm, Git* g); void update(const RevFile* files, bool newFiles); void addItem(const QString& label, const QColor& clr); QString currentText(); signals: void contextMenu(const QString&, int); public slots: void on_changeFont(const QFont& f); protected: virtual void focusInEvent(QFocusEvent*); virtual void mouseMoveEvent(QMouseEvent*); bool startDragging(QMouseEvent *e); private slots: void on_currentItemChanged(QListWidgetItem*, QListWidgetItem*); void on_customContextMenuRequested(const QPoint&); private: void insertFiles(const RevFile* files); Domain* d; Git* git; StateInfo* st; }; #endif qgit-qgit-2.11/src/fileview.cpp000066400000000000000000000252541500324541100164530ustar00rootroot00000000000000/* Description: file viewer window Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include "FileHistory.h" #include "mainimpl.h" #include "git.h" #include "annotate.h" #include "listview.h" #include "filecontent.h" #include "fileview.h" #define MAX_LINE_NUM 5 FileView::FileView(MainImpl* mi, Git* g) : Domain(mi, g, false) { fileTab = new Ui_TabFile(); fileTab->setupUi(container); fileTab->histListView->setup(this, git); fileTab->textEditFile->setup(this, git, fileTab->listWidgetAnn); // an empty string turn off the special-value text display fileTab->spinBoxRevision->setSpecialValueText(" "); // Add GNU source-highlight version to tooltip, or add a message that it's not installed. QToolButton* highlight = fileTab->toolButtonHighlightText; highlight->setToolTip(highlight->toolTip().arg(git->textHighlighterVersion())); clear(true); // init some stuff fileTab->listWidgetAnn->installEventFilter(this); connect(git, SIGNAL(loadCompleted(const FileHistory*, const QString&)), this, SLOT(on_loadCompleted(const FileHistory*, const QString&))); connect(m(), SIGNAL(changeFont(const QFont&)), fileTab->histListView, SLOT(on_changeFont(const QFont&))); connect(fileTab->histListView, SIGNAL(contextMenu(const QString&, int)), this, SLOT(on_contextMenu(const QString&, int))); connect(fileTab->textEditFile, SIGNAL(annotationAvailable(bool)), this, SLOT(on_annotationAvailable(bool))); connect(fileTab->textEditFile, SIGNAL(fileAvailable(bool)), this, SLOT(on_fileAvailable(bool))); connect(fileTab->textEditFile, SIGNAL(revIdSelected(int)), this, SLOT(on_revIdSelected(int))); connect(fileTab->toolButtonCopy, SIGNAL(clicked()), this, SLOT(on_toolButtonCopy_clicked())); connect(fileTab->toolButtonShowAnnotate, SIGNAL(toggled(bool)), this, SLOT(on_toolButtonShowAnnotate_toggled(bool))); connect(fileTab->toolButtonFindAnnotate, SIGNAL(toggled(bool)), this, SLOT(on_toolButtonFindAnnotate_toggled(bool))); connect(fileTab->toolButtonGoNext, SIGNAL(clicked()), this, SLOT(on_toolButtonGoNext_clicked())); connect(fileTab->toolButtonGoPrev, SIGNAL(clicked()), this, SLOT(on_toolButtonGoPrev_clicked())); connect(fileTab->toolButtonRangeFilter, SIGNAL(toggled(bool)), this, SLOT(on_toolButtonRangeFilter_toggled(bool))); connect(fileTab->toolButtonPin, SIGNAL(toggled(bool)), this, SLOT(on_toolButtonPin_toggled(bool))); connect(fileTab->toolButtonHighlightText, SIGNAL(toggled(bool)), this, SLOT(on_toolButtonHighlightText_toggled(bool))); connect(fileTab->spinBoxRevision, SIGNAL(valueChanged(int)), this, SLOT(on_spinBoxRevision_valueChanged(int))); } FileView::~FileView() { if (!parent()) return; delete fileTab->textEditFile; // must be deleted before fileTab delete fileTab; showStatusBarMessage(""); // cleanup any pending progress info QApplication::restoreOverrideCursor(); } bool FileView::eventFilter(QObject* obj, QEvent* e) { QListWidget* lw = fileTab->listWidgetAnn; if (e->type() == QEvent::ToolTip && obj == lw) { QHelpEvent* h = static_cast(e); int id = fileTab->textEditFile->itemAnnId(lw->itemAt(h->pos())); QRegExp re; SCRef sha(fileTab->histListView->shaFromAnnId(id)); SCRef d(git->getDesc(sha, re, re, false, model())); lw->setToolTip(d); } return QObject::eventFilter(obj, e); } void FileView::clear(bool complete) { Domain::clear(complete); if (complete) { setTabCaption("File"); fileTab->toolButtonCopy->setEnabled(false); } fileTab->textEditFile->clearAll(); // emits file/ann available signals fileTab->toolButtonPin->setEnabled(false); fileTab->toolButtonPin->setChecked(false); // TODO signals pressed() and clicked() are not emitted fileTab->spinBoxRevision->setEnabled(false); fileTab->spinBoxRevision->setValue(fileTab->spinBoxRevision->minimum()); // clears the box } bool FileView::goToCurrentAnnotation(int direction) { SCRef ids = fileTab->histListView->currentText(QGit::ANN_ID_COL); int id = (!ids.isEmpty() ? ids.toInt() : 0); fileTab->textEditFile->goToAnnotation(id, direction); return (id != 0); } void FileView::updateSpinBoxValue() { SCRef ids = fileTab->histListView->currentText(QGit::ANN_ID_COL); if ( ids.isEmpty() || !fileTab->spinBoxRevision->isEnabled() || fileTab->spinBoxRevision->value() == ids.toInt()) return; fileTab->spinBoxRevision->setValue(ids.toInt()); // emit QSpinBox::valueChanged() } bool FileView::isMatch(SCRef sha) { static RangeInfo r; // fast path here, avoid allocation on each call if (!fileTab->textEditFile->getRange(sha, &r)) return false; return r.modified; } void FileView::filterOnRange(bool isOn) { int matchedCnt = fileTab->histListView->filterRows(isOn, false); QString msg; if (isOn) msg = QString("Found %1 matches. Toggle filter " "button to remove the filter").arg(matchedCnt); showStatusBarMessage(msg); QApplication::postEvent(this, new MessageEvent(msg)); // deferred message, after update } bool FileView::doUpdate(bool force) { if (st.fileName().isEmpty()) return false; if (st.isChanged(StateInfo::FILE_NAME) || force) { clear(false); setTabCaption(st.fileName()); if (git->startFileHistory(st.sha(), st.fileName(), model())) { QApplication::restoreOverrideCursor(); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); showStatusBarMessage("Retrieving history of '" + st.fileName() + "'..."); } } else if (fileTab->histListView->update() || st.sha().isEmpty()) { updateSpinBoxValue(); showStatusBarMessage(git->getRevInfo(st.sha())); } if (!fileTab->toolButtonPin->isChecked()) fileTab->textEditFile->doUpdate(); return true; // always accept new state } // ************************************ SLOTS ******************************** void FileView::updateEnabledButtons() { QToolButton* copy = fileTab->toolButtonCopy; QToolButton* showAnnotate = fileTab->toolButtonShowAnnotate; QToolButton* findAnnotate = fileTab->toolButtonFindAnnotate; QToolButton* goPrev = fileTab->toolButtonGoPrev; QToolButton* goNext = fileTab->toolButtonGoNext; QToolButton* rangeFilter = fileTab->toolButtonRangeFilter; QToolButton* highlight = fileTab->toolButtonHighlightText; bool fileAvailable = fileTab->textEditFile->isFileAvailable(); bool annotateAvailable = fileTab->textEditFile->isAnnotateAvailable(); // first enable copy->setEnabled(fileAvailable); showAnnotate->setEnabled(annotateAvailable); findAnnotate->setEnabled(annotateAvailable); goPrev->setEnabled(annotateAvailable); goNext->setEnabled(annotateAvailable); rangeFilter->setEnabled(annotateAvailable); highlight->setEnabled(fileAvailable && git->isTextHighlighter()); // then disable if (!showAnnotate->isChecked()) { findAnnotate->setEnabled(false); goPrev->setEnabled(false); goNext->setEnabled(false); } if (highlight->isChecked()) rangeFilter->setEnabled(false); if (rangeFilter->isChecked()) highlight->setEnabled(false); // special case: reset range filter when changing file if (!annotateAvailable && rangeFilter->isChecked()) rangeFilter->toggle(); } void FileView::on_toolButtonCopy_clicked() { fileTab->textEditFile->copySelection(); } void FileView::on_toolButtonShowAnnotate_toggled(bool b) { updateEnabledButtons(); fileTab->textEditFile->setShowAnnotate(b); if (b && fileTab->toolButtonFindAnnotate->isChecked()) goToCurrentAnnotation(); } void FileView::on_toolButtonFindAnnotate_toggled(bool b) { updateEnabledButtons(); if (b) goToCurrentAnnotation(); } void FileView::on_toolButtonGoNext_clicked() { goToCurrentAnnotation(1); } void FileView::on_toolButtonGoPrev_clicked() { goToCurrentAnnotation(-1); } void FileView::on_toolButtonPin_toggled(bool b) { // button is enabled and togglable only if st.sha() is found fileTab->spinBoxRevision->setDisabled(b); if (!b) { updateSpinBoxValue(); // UPDATE() call is filtered in this case fileTab->textEditFile->doUpdate(true); } } void FileView::on_toolButtonRangeFilter_toggled(bool b) { updateEnabledButtons(); if (b) { if (!fileTab->textEditFile->isAnnotateAvailable()) { dbs("ASSERT in on_toolButtonRangeFilter_toggled: annotate not available"); return; } if (!fileTab->textEditFile->textCursor().hasSelection()) { showStatusBarMessage("Please select some text"); return; } } bool rangeFilterActive = fileTab->textEditFile->rangeFilter(b); filterOnRange(rangeFilterActive); } void FileView::on_toolButtonHighlightText_toggled(bool b) { updateEnabledButtons(); fileTab->textEditFile->setHighlightSource(b); } void FileView::on_spinBoxRevision_valueChanged(int id) { if (id != fileTab->spinBoxRevision->minimum()) { SCRef selRev(fileTab->histListView->shaFromAnnId(id)); if (st.sha() != selRev) { // to avoid looping st.setSha(selRev); st.setSelectItem(true); UPDATE(); } } } void FileView::on_loadCompleted(const FileHistory* f, const QString& msg) { QApplication::restoreOverrideCursor(); if (f != model()) return; showStatusBarMessage(""); fileTab->histListView->showIdValues(); int maxId = model()->rowCount(); if (maxId == 0) return; fileTab->spinBoxRevision->setMaximum(maxId); fileTab->toolButtonPin->setEnabled(true); fileTab->spinBoxRevision->setEnabled(true); // update histListView now to avoid to miss // following status bar messages doUpdate(false); QString histTime = msg.section(" ms", 0, 0).section(" ", -1); if (fileTab->textEditFile->startAnnotate(model(), histTime)) showStatusBarMessage("Annotating revisions of '" + st.fileName() + "'..."); } void FileView::showAnnotation() { if ( !fileTab->toolButtonPin->isChecked() && fileTab->toolButtonShowAnnotate->isEnabled() && fileTab->toolButtonShowAnnotate->isChecked()) { fileTab->textEditFile->setShowAnnotate(true); if ( fileTab->toolButtonFindAnnotate->isEnabled() && fileTab->toolButtonFindAnnotate->isChecked()) goToCurrentAnnotation(); } } void FileView::on_annotationAvailable(bool b) { updateEnabledButtons(); if (b) showAnnotation(); // in case annotation got ready after file } void FileView::on_fileAvailable(bool b) { updateEnabledButtons(); if (b) { // code range is independent from annotation if (fileTab->toolButtonRangeFilter->isChecked()) fileTab->textEditFile->goToRangeStart(); showAnnotation(); // in case file got ready after annotation } } void FileView::on_revIdSelected(int id) { if (id == 0) return; if (fileTab->spinBoxRevision->isEnabled()) fileTab->spinBoxRevision->setValue(id); else { ListView* h = fileTab->histListView; int row = h->model()->rowCount() - id; QModelIndex idx = h->model()->index(row, 0); h->setCurrentIndex(idx); } } qgit-qgit-2.11/src/fileview.h000066400000000000000000000030671500324541100161160ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef FILEVIEW_H #define FILEVIEW_H #include "ui_fileview.h" // needed by moc_* file to understand tab() function #include "common.h" #include "domain.h" class MainImpl; class Git; class FileHistory; class FileView: public Domain { Q_OBJECT public: FileView() {} FileView(MainImpl* m, Git* git); ~FileView(); virtual void clear(bool complete = true); void append(SCRef data); void historyReady(); void updateHistViewer(SCRef revSha, SCRef fileName, bool fromUpstream = true); void eof(); Ui_TabFile* tab() { return fileTab; } public slots: void on_toolButtonCopy_clicked(); void on_toolButtonShowAnnotate_toggled(bool); void on_toolButtonFindAnnotate_toggled(bool); void on_toolButtonGoNext_clicked(); void on_toolButtonGoPrev_clicked(); void on_toolButtonRangeFilter_toggled(bool); void on_toolButtonPin_toggled(bool); void on_toolButtonHighlightText_toggled(bool); void on_spinBoxRevision_valueChanged(int); void on_loadCompleted(const FileHistory*, const QString&); void on_annotationAvailable(bool); void on_fileAvailable(bool); void on_revIdSelected(int); protected: virtual bool doUpdate(bool force); virtual bool isMatch(SCRef sha); virtual bool eventFilter(QObject *obj, QEvent *e); private: friend class MainImpl; friend class FileHighlighter; void showAnnotation(); bool goToCurrentAnnotation(int direction = 0); void filterOnRange(bool b); void updateSpinBoxValue(); void updateEnabledButtons(); Ui_TabFile* fileTab; }; #endif qgit-qgit-2.11/src/fileview.ui000066400000000000000000000332301500324541100162770ustar00rootroot00000000000000 TabFile 0 0 599 480 File 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 30 Copy selection to the clipboard stripping line headers (CTRL+C) :/icons/resources/edit-copy.svg:/icons/resources/edit-copy.svg Ctrl+C true false 30 30 Hide/show file annotation :/icons/resources/view-split-effect.svg:/icons/resources/view-split-effect.svg true true true false 30 30 Lock selection to first tagged line of current revision (CTRL + L) :/icons/resources/document-encrypted.svg:/icons/resources/document-encrypted.svg true true false Go to previous annotation line :/icons/resources/go-up.svg:/icons/resources/go-up.svg true false Go to next annotation line :/icons/resources/go-down.svg:/icons/resources/go-down.svg true false 30 30 Filter revisions on selected line range :/icons/resources/view-filter.svg:/icons/resources/view-filter.svg true true false 30 30 Source highlight (%1) :/icons/resources/colors-chromablue.svg:/icons/resources/colors-chromablue.svg true true Qt::Horizontal QSizePolicy::Expanding 300 20 QFrame::StyledPanel QFrame::Raised 0 2 2 2 2 0 0 0 0 0 Pin View (Alt-V) :/icons/resources/window-pin.svg:/icons/resources/window-pin.svg true true 65535 Qt::Vertical Qt::CustomContextMenu true false true false true QFrame::StyledPanel QFrame::Sunken 0 0 0 0 0 1 0 0 0 0 QFrame::NoFrame Qt::ScrollBarAlwaysOff Qt::ScrollBarAlwaysOff QAbstractItemView::ScrollPerPixel QAbstractItemView::ScrollPerPixel QFrame::NoFrame false QTextEdit::NoWrap true ListView QTreeView
listview.h
FileContent QTextEdit
filecontent.h
qgit-qgit-2.11/src/git.cpp000066400000000000000000003043501500324541100154210ustar00rootroot00000000000000/* Description: interface to git programs Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include #include #include #include //#include //CT TODO remove #include #include #include #include #include "FileHistory.h" #include "annotate.h" #include "cache.h" #include "dataloader.h" #include "git.h" #include "lanes.h" #include "myprocess.h" #include "rangeselectimpl.h" #define SHOW_MSG(x) QApplication::postEvent(parent(), new MessageEvent(x)); EM_PROCESS_EVENTS_NO_INPUT; #define GIT_LOG_FORMAT "%m%HX%PX%n%cn<%ce>%n%an<%ae>%n%at%n%s%n" // Used on init() for reading parameters once; // It's OK to be unique among qgit windows. static bool startup = true; using namespace QGit; // **************************************************************************** bool Git::TreeEntry::operator<(const TreeEntry& te) const { if (this->type == te.type) return( this->name.localeAwareCompare( te.name ) < 0 ); // directories are smaller then files // to appear as first when sorted if (this->type == "tree") return true; if (te.type == "tree") return false; return( this->name.localeAwareCompare( te.name ) < 0 ); } Git::Git(QObject* p) : QObject(p) { EM_INIT(exGitStopped, "Stopping connection with git"); fileCacheAccessed = cacheNeedsUpdate = isMergeHead = false; isStGIT = isGIT = loadingUnAppliedPatches = isTextHighlighterFound = false; errorReportingEnabled = true; // report errors if run() fails curDomain = NULL; shortHashLen = shortHashLenDefault; revData = NULL; revsFiles.reserve(MAX_DICT_SIZE); } void Git::checkEnvironment() { QString version; if (run("git --version", &version)) { version = version.section(' ', -1, -1).section('.', 0, 2); if (version < GIT_VERSION) { // simply send information, the 'not compatible version' // policy should be implemented upstream const QString cmd("Current git version is " + version + " but is required " + GIT_VERSION + " or better"); const QString errorDesc("Your installed git is too old." "\nPlease upgrade to avoid possible misbehaviours."); MainExecErrorEvent* e = new MainExecErrorEvent(cmd, errorDesc); QApplication::postEvent(parent(), e); } } else { dbs("Cannot find git files"); return; } errorReportingEnabled = false; isTextHighlighterFound = run("source-highlight -V", &version); errorReportingEnabled = true; if (isTextHighlighterFound) textHighlighterVersionFound = version.section('\n', 0, 0); else textHighlighterVersionFound = "GNU source-highlight not installed"; } void Git::userInfo(SList info) { /* git looks for commit user information in following order: - GIT_AUTHOR_NAME and GIT_AUTHOR_EMAIL environment variables - repository config file - global config file - your name, hostname and domain */ const QString env(QProcess::systemEnvironment().join(",")); QString user(env.section("GIT_AUTHOR_NAME", 1).section(",", 0, 0).section("=", 1).trimmed()); QString email(env.section("GIT_AUTHOR_EMAIL", 1).section(",", 0, 0).section("=", 1).trimmed()); info.clear(); info << "Environment" << user << email; errorReportingEnabled = false; // 'git config' could fail, see docs run("git config user.name", &user); run("git config user.email", &email); info << "Local config" << user << email; run("git config --global user.name", &user); run("git config --global user.email", &email); info << "Global config" << user << email; errorReportingEnabled = true; } const QStringList Git::getGitConfigList(bool global) { QString runOutput; errorReportingEnabled = false; // 'git config' could fail, see docs if (global) run("git config --global --list", &runOutput); else run("git config --list", &runOutput); errorReportingEnabled = true; return runOutput.split('\n', QGIT_SPLITBEHAVIOR(SkipEmptyParts)); } bool Git::isImageFile(SCRef file) { const QString ext(file.section('.', -1).toLower()); return QImageReader::supportedImageFormats().contains(ext.toLatin1()); } //CT TODO investigate if there is a better way of getting this (from git e.g.) bool Git::isBinaryFile(SCRef file) { static const char* binaryFileExtensions[] = {"bmp", "gif", "jpeg", "jpg", "png", "svg", "tiff", "pcx", "xcf", "xpm", "bz", "bz2", "rar", "tar", "z", "gz", "tgz", "zip", 0}; if (isImageFile(file)) return true; const QString ext(file.section('.', -1).toLower()); int i = 0; while (binaryFileExtensions[i] != 0) if (ext == binaryFileExtensions[i++]) return true; return false; } void Git::setThrowOnStop(bool b) { if (b) EM_REGISTER(exGitStopped); else EM_REMOVE(exGitStopped); } bool Git::isThrowOnStopRaised(int excpId, SCRef curContext) { return EM_MATCH(excpId, exGitStopped, curContext); } void Git::setTextCodec(QTextCodec* tc) { QTextCodec::setCodecForLocale(tc); QString name(tc ? tc->name() : "Latin1"); // workaround Qt issue of mime name different from // standard http://www.iana.org/assignments/character-sets if (name == "Big5-HKSCS") name = "Big5"; bool dummy; if (tc != getTextCodec(&dummy)) run("git config i18n.commitencoding " + name); } QTextCodec* Git::getTextCodec(bool* isGitArchive) { *isGitArchive = isGIT; if (!isGIT) // can be called also when not in an archive return NULL; QString runOutput; if (!run("git config i18n.commitencoding", &runOutput)) return NULL; if (runOutput.isEmpty()) // git docs says default is utf-8 return QTextCodec::codecForName(QByteArray("utf8")); return QTextCodec::codecForName(runOutput.trimmed().toLatin1()); } //CT TODO utility function; can go elsewhere const QString Git::quote(SCRef nm) { return (QUOTE_CHAR + nm + QUOTE_CHAR); } //CT TODO utility function; can go elsewhere const QString Git::quote(SCList sl) { QString q(sl.join(QUOTE_CHAR + ' ' + QUOTE_CHAR)); q.prepend(QUOTE_CHAR).append(QUOTE_CHAR); return q; } uint Git::checkRef(const ShaString& sha, uint mask) const { RefMap::const_iterator it(refsShaMap.constFind(sha)); return (it != refsShaMap.constEnd() ? (*it).type & mask : 0); } uint Git::checkRef(SCRef sha, uint mask) const { RefMap::const_iterator it(refsShaMap.constFind(toTempSha(sha))); return (it != refsShaMap.constEnd() ? (*it).type & mask : 0); } const QStringList Git::getRefNames(SCRef sha, uint mask) const { QStringList result; if (!checkRef(sha, mask)) return result; const Reference& rf = refsShaMap[toTempSha(sha)]; if (mask & TAG) result << rf.tags; if (mask & BRANCH) result << rf.branches; if (mask & RMT_BRANCH) result << rf.remoteBranches; if (mask & REF) result << rf.refs; if (mask == APPLIED || mask == UN_APPLIED) result << QStringList(rf.stgitPatch); return result; } const QStringList Git::getAllRefSha(uint mask) { QStringList shas; FOREACH (RefMap, it, refsShaMap) if ((*it).type & mask) shas.append(it.key()); return shas; } /* const QString Git::refAsShortHash(SCRef sha) { QString shortHash; const bool success = run("git rev-parse --short " + sha, &shortHash); // Fall back to input hash `sha` if rev-parse fails return success ? shortHash : sha; } */ int Git::getShortHashLength() { int len = 0; QString shortHash; if (run("git rev-parse --short HEAD", &shortHash)) len = shortHash.trimmed().size(); // Result contains a newline. return (len > shortHashLenDefault) ? len : shortHashLenDefault; } const QString Git::getRefSha(SCRef refName, RefType type, bool askGit) { bool any = (type == ANY_REF); FOREACH (RefMap, it, refsShaMap) { const Reference& rf = *it; if ((any || type == TAG) && rf.tags.contains(refName)) return it.key(); else if ((any || type == BRANCH) && rf.branches.contains(refName)) return it.key(); else if ((any || type == RMT_BRANCH) && rf.remoteBranches.contains(refName)) return it.key(); else if ((any || type == REF) && rf.refs.contains(refName)) return it.key(); else if ((any || type == APPLIED || type == UN_APPLIED) && rf.stgitPatch == refName) return it.key(); } if (!askGit) return ""; // if a ref was not found perhaps is an abbreviated form QString runOutput; errorReportingEnabled = false; bool ok = run("git rev-parse --revs-only " + refName, &runOutput); errorReportingEnabled = true; return (ok ? runOutput.trimmed() : ""); } void Git::appendNamesWithId(QStringList& names, SCRef sha, SCList data, bool onlyLoaded) { const Rev* r = revLookup(sha); if (onlyLoaded && !r) return; if (onlyLoaded) { // prepare for later sorting SCRef cap = QString("%1 ").arg(r->orderIdx, 6); FOREACH_SL (it, data) names.append(cap + *it); } else names += data; } const QStringList Git::getAllRefNames(uint mask, bool onlyLoaded) { // returns reference names sorted by loading order if 'onlyLoaded' is set QStringList names; FOREACH (RefMap, it, refsShaMap) { if (mask & TAG) appendNamesWithId(names, it.key(), (*it).tags, onlyLoaded); if (mask & BRANCH) appendNamesWithId(names, it.key(), (*it).branches, onlyLoaded); if (mask & RMT_BRANCH) appendNamesWithId(names, it.key(), (*it).remoteBranches, onlyLoaded); if (mask & REF) appendNamesWithId(names, it.key(), (*it).refs, onlyLoaded); if ((mask & (APPLIED | UN_APPLIED)) && !onlyLoaded) names.append((*it).stgitPatch); // doesn't work with 'onlyLoaded' } if (onlyLoaded) { names.sort(); QStringList::iterator itN(names.begin()); for ( ; itN != names.end(); ++itN) // strip 'idx' (*itN) = (*itN).section(' ', -1, -1); } return names; } const QString Git::getRevInfo(SCRef sha) { if (sha.isEmpty()) return ""; uint type = checkRef(sha); if (type == 0) return ""; QString refsInfo; if (type & BRANCH) { const QString cap(type & CUR_BRANCH ? "HEAD: " : "Branch: "); refsInfo = cap + getRefNames(sha, BRANCH).join(" "); } if (type & RMT_BRANCH) refsInfo.append(" Remote branch: " + getRefNames(sha, RMT_BRANCH).join(" ")); if (type & TAG) refsInfo.append(" Tag: " + getRefNames(sha, TAG).join(" ")); if (type & REF) refsInfo.append(" Ref: " + getRefNames(sha, REF).join(" ")); if (type & APPLIED) refsInfo.append(" Patch: " + getRefNames(sha, APPLIED).join(" ")); if (type & UN_APPLIED) refsInfo.append(" Patch: " + getRefNames(sha, UN_APPLIED).join(" ")); if (type & TAG) { SCRef msg(getTagMsg(sha)); if (!msg.isEmpty()) refsInfo.append(" [" + msg + "]"); } return refsInfo.trimmed(); } const QString Git::getTagMsg(SCRef sha) { if (!checkRef(sha, TAG)) { dbs("ASSERT in Git::getTagMsg, tag not found"); return ""; } Reference& rf = refsShaMap[toTempSha(sha)]; if (!rf.tagMsg.isEmpty()) return rf.tagMsg; QRegExp pgp("-----BEGIN PGP SIGNATURE*END PGP SIGNATURE-----", Qt::CaseSensitive, QRegExp::Wildcard); if (!rf.tagObj.isEmpty()) { QString ro; if (run("git cat-file tag " + rf.tagObj, &ro)) rf.tagMsg = ro.section("\n\n", 1).remove(pgp).trimmed(); } return rf.tagMsg; } bool Git::isPatchName(SCRef nm) { if (!getRefSha(nm, UN_APPLIED, false).isEmpty()) return true; return !getRefSha(nm, APPLIED, false).isEmpty(); } void Git::addExtraFileInfo(QString* rowName, SCRef sha, SCRef diffToSha, bool allMergeFiles) { const RevFile* files = getFiles(sha, diffToSha, allMergeFiles); if (!files) return; int idx = findFileIndex(*files, *rowName); if (idx == -1) return; QString extSt(files->extendedStatus(idx)); if (extSt.isEmpty()) return; *rowName = extSt; } void Git::removeExtraFileInfo(QString* rowName) { if (rowName->contains(" --> ")) // return destination file name *rowName = rowName->section(" --> ", 1, 1).section(" (", 0, 0); } void Git::formatPatchFileHeader(QString* rowName, SCRef sha, SCRef diffToSha, bool combined, bool allMergeFiles) { if (combined) { rowName->prepend("diff --combined "); return; // TODO rename/copy still not supported in this case } // let's see if it's a rename/copy... addExtraFileInfo(rowName, sha, diffToSha, allMergeFiles); if (rowName->contains(" --> ")) { // ...it is! SCRef destFile(rowName->section(" --> ", 1, 1).section(" (", 0, 0)); SCRef origFile(rowName->section(" --> ", 0, 0)); *rowName = "diff --git a/" + origFile + " b/" + destFile; } else *rowName = "diff --git a/" + *rowName + " b/" + *rowName; } Annotate* Git::startAnnotate(FileHistory* fh, QObject* guiObj) { // non blocking Annotate* ann = new Annotate(this, guiObj); if (!ann->start(fh)) // non blocking call return NULL; // ann will delete itself when done return ann; // caller will delete with Git::cancelAnnotate() } void Git::cancelAnnotate(Annotate* ann) { if (ann) ann->deleteWhenDone(); } const FileAnnotation* Git::lookupAnnotation(Annotate* ann, SCRef sha) { return (ann ? ann->lookupAnnotation(sha) : NULL); } void Git::cancelDataLoading(const FileHistory* fh) { // normally called when closing file viewer emit cancelLoading(fh); // non blocking } const Rev* Git::revLookup(SCRef sha, const FileHistory* fh) const { return revLookup(toTempSha(sha), fh); } const Rev* Git::revLookup(const ShaString& sha, const FileHistory* fh) const { const RevMap& r = (fh ? fh->revs : revData->revs); return (sha.latin1() ? r.value(sha) : NULL); } bool Git::run(SCRef runCmd, QString* runOutput, QObject* receiver, SCRef buf) { QByteArray ba; bool ret = run(runOutput ? &ba : NULL, runCmd, receiver, buf); if (runOutput) *runOutput = ba; return ret; } bool Git::run(QByteArray* runOutput, SCRef runCmd, QObject* receiver, SCRef buf) { MyProcess p(parent(), this, workDir, errorReportingEnabled); return p.runSync(runCmd, runOutput, receiver, buf); } MyProcess* Git::runAsync(SCRef runCmd, QObject* receiver, SCRef buf) { MyProcess* p = new MyProcess(parent(), this, workDir, errorReportingEnabled); if (!p->runAsync(runCmd, receiver, buf)) { delete p; p = NULL; } return p; // auto-deleted when done } MyProcess* Git::runAsScript(SCRef runCmd, QObject* receiver, SCRef buf) { const QString scriptFile(workDir + "/qgit_script" + QGit::SCRIPT_EXT); #ifndef Q_OS_WIN32 // without this process doesn't start under Linux QString cmd(runCmd.startsWith("#!") ? runCmd : "#!/bin/sh\n" + runCmd); #else QString cmd(runCmd); #endif if (!writeToFile(scriptFile, cmd, true)) return NULL; MyProcess* p = runAsync(scriptFile, receiver, buf); if (p) connect(p, SIGNAL(eof()), this, SLOT(on_runAsScript_eof())); return p; } void Git::on_runAsScript_eof() { QDir dir(workDir); dir.remove("qgit_script" + QGit::SCRIPT_EXT); } void Git::cancelProcess(MyProcess* p) { if (p) p->on_cancel(); // non blocking call } int Git::findFileIndex(const RevFile& rf, SCRef name) { if (name.isEmpty()) return -1; int idx = name.lastIndexOf('/') + 1; SCRef dr = name.left(idx); SCRef nm = name.mid(idx); for (uint i = 0, cnt = rf.count(); i < cnt; ++i) { if (fileNamesVec[rf.nameAt(i)] == nm && dirNamesVec[rf.dirAt(i)] == dr) return i; } return -1; } const QString Git::getLaneParent(SCRef fromSHA, int laneNum) { const Rev* rs = revLookup(fromSHA); if (!rs) return ""; for (int idx = rs->orderIdx - 1; idx >= 0; idx--) { const Rev* r = revLookup(revData->revOrder[idx]); if (laneNum >= r->lanes.count()) return ""; if (!isFreeLane(r->lanes[laneNum])) { int type = r->lanes[laneNum], parNum = 0; while (!isMerge(type) && type != ACTIVE) { if (isHead(type)) parNum++; type = r->lanes[--laneNum]; } return r->parent(parNum); } } return ""; } const QStringList Git::getChildren(SCRef parent) { QStringList children; const Rev* r = revLookup(parent); if (!r) return children; for (int i = 0; i < r->children.count(); i++) children.append(revData->revOrder[r->children[i]]); // reorder children by loading order QStringList::iterator itC(children.begin()); for ( ; itC != children.end(); ++itC) { const Rev* r = revLookup(*itC); (*itC).prepend(QString("%1 ").arg(r->orderIdx, 6)); } children.sort(); for (itC = children.begin(); itC != children.end(); ++itC) (*itC) = (*itC).section(' ', -1, -1); return children; } const QString Git::getShortLog(SCRef sha) { const Rev* r = revLookup(sha); return (r ? r->shortLog() : ""); } MyProcess* Git::getDiff(SCRef sha, QObject* receiver, SCRef diffToSha, bool combined) { if (sha.isEmpty()) return NULL; QString runCmd; if (sha != ZERO_SHA) { runCmd = "git diff-tree --no-color -r --patch-with-stat "; runCmd.append(combined ? "-c " : "-C -m "); // TODO rename for combined const Rev* r = revLookup(sha); if (r->parentsCount() == 0) runCmd.append("--root "); runCmd.append(diffToSha + " " + sha); // diffToSha could be empty } else runCmd = "git diff-index --no-color -r -m --patch-with-stat HEAD"; return runAsync(runCmd, receiver); } const QString Git::getWorkDirDiff(SCRef fileName) { QString runCmd("git diff-index --no-color -r -z -m -p --full-index --no-commit-id HEAD"), runOutput; if (!fileName.isEmpty()) runCmd.append(" -- " + quote(fileName)); if (!run(runCmd, &runOutput)) return ""; /* For unknown reasons file sha of index is not ZERO_SHA but a value of unknown origin. Replace that with ZERO_SHA so to not fool annotate */ int idx = runOutput.indexOf(".."); if (idx != -1) runOutput.replace(idx + 2, 40, ZERO_SHA); return runOutput; } const QString Git::getFileSha(SCRef file, SCRef revSha) { if (revSha == ZERO_SHA) { QStringList files, dummy; getWorkDirFiles(files, dummy, RevFile::ANY); if (files.contains(file)) return ZERO_SHA; // it is unknown to git } const QString sha(revSha == ZERO_SHA ? "HEAD" : revSha); QString runCmd("git ls-tree -r " + sha + " " + quote(file)), runOutput; if (!run(runCmd, &runOutput)) return ""; return runOutput.mid(12, 40); // could be empty, deleted file case } MyProcess* Git::getFile(SCRef fileSha, QObject* receiver, QByteArray* result, SCRef fileName) { QString runCmd; /* symlinks in git are one line files with just the name of the target, not the target content. Instead 'cat' command resolves symlinks and returns target content. So we use 'cat' only if the file is modified in working directory, to let annotation work for changed files, otherwise we go with a safe 'git cat-file blob HEAD' instead. NOTE: This fails if the modified file is a new symlink, converted from an old plain file. In this case annotation will fail until change is committed. */ if (fileSha == ZERO_SHA) #ifdef Q_OS_WIN32 { QString winPath = quote(fileName); winPath.replace("/", "\\"); runCmd = "type " + winPath; } #else runCmd = "cat " + quote(fileName); #endif else { if (fileSha.isEmpty()) // deleted runCmd = "git diff-tree HEAD HEAD"; // fake an empty file reading else runCmd = "git cat-file blob " + fileSha; } if (!receiver) { run(result, runCmd); return NULL; // in case of sync call we ignore run() return value } return runAsync(runCmd, receiver); } MyProcess* Git::getHighlightedFile(SCRef fileSha, QObject* receiver, QString* result, SCRef fileName) { if (!isTextHighlighter()) { dbs("ASSERT in getHighlightedFile: highlighter not found"); return NULL; } QString ext(fileName.section('.', -1, -1, QString::SectionIncludeLeadingSep)); QString inputFile(workDir + "/qgit_hlght_input" + ext); if (!saveFile(fileSha, fileName, inputFile)) return NULL; QString runCmd("source-highlight --failsafe -f html -i " + quote(inputFile)); if (!receiver) { run(runCmd, result); on_getHighlightedFile_eof(); return NULL; // in case of sync call we ignore run() return value } MyProcess* p = runAsync(runCmd, receiver); if (p) connect(p, SIGNAL(eof()), this, SLOT(on_getHighlightedFile_eof())); return p; } void Git::on_getHighlightedFile_eof() { QDir dir(workDir); const QStringList sl(dir.entryList(QStringList() << "qgit_hlght_input*")); FOREACH_SL (it, sl) dir.remove(*it); } bool Git::saveFile(SCRef fileSha, SCRef fileName, SCRef path) { QByteArray fileData; getFile(fileSha, NULL, &fileData, fileName); // sync call if (isBinaryFile(fileName)) return writeToFile(path, fileData); return writeToFile(path, QString(fileData)); } bool Git::getTree(SCRef treeSha, TreeInfo& ti, bool isWorkingDir, SCRef path) { QStringList deleted; if (isWorkingDir) { // retrieve unknown and deleted files under path QStringList unknowns, dummy; getWorkDirFiles(unknowns, dummy, RevFile::UNKNOWN); FOREACH_SL (it, unknowns) { // don't add files under other directories QFileInfo f(*it); SCRef d(f.dir().path()); if (d == path || (path.isEmpty() && d == ".")) { TreeEntry te(f.fileName(), "", "?"); ti.append(te); } } getWorkDirFiles(deleted, dummy, RevFile::DELETED); } // if needed fake a working directory tree starting from HEAD tree QString runOutput, tree(treeSha); if (treeSha == ZERO_SHA) { // HEAD could be empty for just init'ed repositories if (!run("git rev-parse --revs-only HEAD", &tree)) return false; tree = tree.trimmed(); } if (!tree.isEmpty() && !run("git ls-tree " + tree, &runOutput)) return false; const QStringList sl(runOutput.split('\n', QGIT_SPLITBEHAVIOR(SkipEmptyParts))); FOREACH_SL (it, sl) { // append any not deleted file SCRef fn((*it).section('\t', 1, 1)); SCRef fp(path.isEmpty() ? fn : path + '/' + fn); if (deleted.empty() || (deleted.indexOf(fp) == -1)) { TreeEntry te(fn, (*it).mid(12, 40), (*it).mid(7, 4)); ti.append(te); } } std::sort(ti.begin(), ti.end()); // list directories before files return true; } void Git::getWorkDirFiles(SList files, SList dirs, RevFile::StatusFlag status) { files.clear(); dirs.clear(); const RevFile* f = getFiles(ZERO_SHA); if (!f) return; for (int i = 0; i < f->count(); i++) { if (f->statusCmp(i, status)) { SCRef fp(filePath(*f, i)); files.append(fp); for (int j = 0, cnt = fp.count('/'); j < cnt; j++) { SCRef dir(fp.section('/', 0, j)); if (dirs.indexOf(dir) == -1) dirs.append(dir); } } } } bool Git::isNothingToCommit() { if (!revsFiles.contains(ZERO_SHA_RAW)) return true; const RevFile* rf = revsFiles[ZERO_SHA_RAW]; return (rf->count() == workingDirInfo.otherFiles.count()); } bool Git::isTreeModified(SCRef sha) { const RevFile* f = getFiles(sha); if (!f) return true; // no files info, stay on the safe side for (int i = 0; i < f->count(); ++i) if (!f->statusCmp(i, RevFile::MODIFIED)) return true; return false; } bool Git::isParentOf(SCRef par, SCRef child) { const Rev* c = revLookup(child); return (c && c->parentsCount() == 1 && QString(c->parent(0)) == par); // no merges } bool Git::isContiguous(const QStringList &revs) { if (revs.count() == 1) return true; for (QStringList::const_iterator it=revs.begin(), end=revs.end()-1; it!=end; ++it) { const Rev* c = revLookup(*it); if (!c->parents().contains(*(it+1))) return false; } return true; } bool Git::isSameFiles(SCRef tree1Sha, SCRef tree2Sha) { // early skip common case of browsing with up and down arrows, i.e. // going from parent(child) to child(parent). In this case we can // check RevFileMap and skip a costly 'git diff-tree' call. if (isParentOf(tree1Sha, tree2Sha)) return !isTreeModified(tree2Sha); if (isParentOf(tree2Sha, tree1Sha)) return !isTreeModified(tree1Sha); const QString runCmd("git diff-tree --no-color -r " + tree1Sha + " " + tree2Sha); QString runOutput; if (!run(runCmd, &runOutput)) return false; bool isChanged = (runOutput.indexOf(" A\t") != -1 || runOutput.indexOf(" D\t") != -1); return !isChanged; } const QStringList Git::getDescendantBranches(SCRef sha, bool shaOnly) { QStringList tl; const Rev* r = revLookup(sha); if (!r || (r->descBrnMaster == -1)) return tl; const QVector& nr = revLookup(revData->revOrder[r->descBrnMaster])->descBranches; for (int i = 0; i < nr.count(); i++) { const ShaString& sha = revData->revOrder[nr[i]]; if (shaOnly) { tl.append(sha); continue; } SCRef cap = " (" + sha + ") "; RefMap::const_iterator it(refsShaMap.find(sha)); if (it == refsShaMap.constEnd()) continue; if (!(*it).branches.empty()) tl.append((*it).branches.join(" ").append(cap)); if (!(*it).remoteBranches.empty()) tl.append((*it).remoteBranches.join(" ").append(cap)); } return tl; } const QStringList Git::getNearTags(bool goDown, SCRef sha) { QStringList tl; const Rev* r = revLookup(sha); if (!r) return tl; int nearRefsMaster = (goDown ? r->descRefsMaster : r->ancRefsMaster); if (nearRefsMaster == -1) return tl; const QVector& nr = goDown ? revLookup(revData->revOrder[nearRefsMaster])->descRefs : revLookup(revData->revOrder[nearRefsMaster])->ancRefs; for (int i = 0; i < nr.count(); i++) { const ShaString& sha = revData->revOrder[nr[i]]; SCRef cap = " (" + sha + ")"; RefMap::const_iterator it(refsShaMap.find(sha)); if (it != refsShaMap.constEnd()) tl.append((*it).tags.join(cap).append(cap)); } return tl; } const QString Git::getLastCommitMsg() { // FIXME: Make sure the amend action is not called when there is // nothing to amend. That is in empty repository or over StGit stack // with nothing applied. QString sha; QString top; if (run("git rev-parse --verify HEAD", &top)) sha = top.trimmed(); else { dbs("ASSERT: getLastCommitMsg head is not valid"); return ""; } const Rev* c = revLookup(sha); if (!c) { dbp("ASSERT: getLastCommitMsg sha <%1> not found", sha); return ""; } return c->shortLog() + "\n\n" + c->longLog().trimmed(); } const QString Git::getNewCommitMsg() { const Rev* c = revLookup(ZERO_SHA); if (!c) { dbs("ASSERT: getNewCommitMsg zero_sha not found"); return ""; } QString status = c->longLog(); status.prepend('\n').replace(QRegExp("\\n([^#\\n]?)"), "\n#\\1"); // comment all the lines if (isMergeHead) { QFile file(QDir(gitDir).absoluteFilePath("MERGE_MSG")); if (file.open(QIODevice::ReadOnly)) { QTextStream in(&file); while(!in.atEnd()) status.prepend(in.readLine()); file.close(); } } return status; } //CT TODO utility function; can go elsewhere const QString Git::colorMatch(SCRef txt, QRegExp& regExp) { QString text = qt4and5escaping(txt); if (regExp.isEmpty()) return text; SCRef startCol(QString::fromLatin1("")); SCRef endCol(QString::fromLatin1("")); int pos = 0; while ((pos = text.indexOf(regExp, pos)) != -1) { SCRef match(regExp.cap(0)); const QString coloredText(startCol + match + endCol); text.replace(pos, match.length(), coloredText); pos += coloredText.length(); } return text; } //CT TODO utility function; can go elsewhere const QString Git::formatList(SCList sl, SCRef name, bool inOneLine) { if (sl.isEmpty()) return QString(); QString ls = "" + name + ""; const QString joinStr = inOneLine ? ", " : "\n" + ls; ls += sl.join(joinStr); ls += "\n"; return ls; } const QString Git::getDesc(SCRef sha, QRegExp& shortLogRE, QRegExp& longLogRE, bool showHeader, FileHistory* fh) { if (sha.isEmpty()) return ""; const Rev* c = revLookup(sha, fh); if (!c) // sha of a not loaded revision, as return ""; // example asked from file history QString text; if (c->isDiffCache) text = Qt::convertFromPlainText(c->longLog()); else { QTextStream ts(&text); ts << "
\n" ""; ts << ""; if (showHeader) { if (c->committer() != c->author()) ts << formatList(QStringList(qt4and5escaping(c->committer())), "Committer"); ts << formatList(QStringList(qt4and5escaping(c->author())), "Author"); ts << formatList(QStringList(getLocalDate(c->authorDate())), " Author date"); if (c->isUnApplied || c->isApplied) { QStringList patches(getRefNames(sha, APPLIED)); patches += getRefNames(sha, UN_APPLIED); ts << formatList(patches, "Patch"); } else { ts << formatList(c->parents(), "Parent", false); ts << formatList(getChildren(sha), "Child", false); ts << formatList(getDescendantBranches(sha), "Branch", false); ts << formatList(getNearTags(!optGoDown, sha), "Follows"); ts << formatList(getNearTags(optGoDown, sha), "Precedes"); } } QString longLog(c->longLog()); if (showHeader) { longLog.prepend(QString("\n") + c->shortLog() + "\n"); } QString log(colorMatch(longLog, longLogRE)); log.replace("\n", "\n ").prepend('\n'); ts << "
" << colorMatch(c->shortLog(), shortLogRE) << "
" << log << "
"; } // highlight SHA's // // added to commit logs, we avoid to call git rev-parse for a possible abbreviated // sha if there isn't a leading trailing space or an open parenthesis and, // in that case, before the space must not be a ':' character. // It's an ugly heuristic, but seems to work in most cases. QRegExp reSHA("..[0-9a-f]{21,40}|[^:][\\s(][0-9a-f]{6,20}", Qt::CaseInsensitive); reSHA.setMinimal(false); int pos = 0; while ((pos = text.indexOf(reSHA, pos)) != -1) { SCRef ref = reSHA.cap(0).mid(2); const Rev* r = (ref.length() == 40 ? revLookup(ref) : revLookup(getRefSha(ref))); if (r && r->sha() != ZERO_SHA_RAW) { QString slog(r->shortLog()); if (slog.isEmpty()) // very rare but possible slog = r->sha(); if (slog.length() > 60) slog = slog.left(57).trimmed().append("..."); const QString link("sha() + "\">" + qt4and5escaping(slog) + ""); text.replace(pos + 2, ref.length(), link); pos += link.length(); } else pos += reSHA.cap(0).length(); } return text; } const RevFile* Git::insertNewFiles(SCRef sha, SCRef data) { /* we use an independent FileNamesLoader to avoid data * corruption if we are loading file names in background */ FileNamesLoader fl; RevFile* rf = new RevFile(); parseDiffFormat(*rf, data, fl); flushFileNames(fl); revsFiles.insert(toPersistentSha(sha, revsFilesShaBackupBuf), rf); return rf; } bool Git::runDiffTreeWithRenameDetection(SCRef runCmd, QString* runOutput) { /* Under some cases git could warn out: "too many files, skipping inexact rename detection" So if this occurs fallback on NO rename detection. */ QString cmd(runCmd); // runCmd must be without -C option cmd.replace("git diff-tree", "git diff-tree -C"); errorReportingEnabled = false; bool renameDetectionOk = run(cmd, runOutput); errorReportingEnabled = true; if (!renameDetectionOk) // retry without rename detection return run(runCmd, runOutput); return true; } const RevFile* Git::getAllMergeFiles(const Rev* r) { SCRef mySha(ALL_MERGE_FILES + r->sha()); if (revsFiles.contains(toTempSha(mySha))) return revsFiles[toTempSha(mySha)]; EM_PROCESS_EVENTS; // 'git diff-tree' could be slow QString runCmd("git diff-tree --no-color -r -m " + r->sha()), runOutput; if (!runDiffTreeWithRenameDetection(runCmd, &runOutput)) return NULL; return insertNewFiles(mySha, runOutput); } const RevFile* Git::getFiles(SCRef sha, SCRef diffToSha, bool allFiles, SCRef path) { const Rev* r = revLookup(sha); if (!r) return NULL; if (r->parentsCount() == 0) // skip initial rev return NULL; if (r->parentsCount() > 1 && diffToSha.isEmpty() && allFiles) return getAllMergeFiles(r); if (!diffToSha.isEmpty() && (sha != ZERO_SHA)) { QString runCmd("git diff-tree --no-color -r -m "); runCmd.append(diffToSha + " " + sha); if (!path.isEmpty()) runCmd.append(" " + path); EM_PROCESS_EVENTS; // 'git diff-tree' could be slow QString runOutput; if (!runDiffTreeWithRenameDetection(runCmd, &runOutput)) return NULL; // we insert a dummy revision file object. It will be // overwritten at each request but we don't care. return insertNewFiles(CUSTOM_SHA, runOutput); } if (revsFiles.contains(r->sha())) return revsFiles[r->sha()]; // ZERO_SHA search arrives here if (sha == ZERO_SHA) { dbs("ASSERT in Git::getFiles, ZERO_SHA not found"); return NULL; } EM_PROCESS_EVENTS; // 'git diff-tree' could be slow QString runCmd("git diff-tree --no-color -r -c " + sha), runOutput; if (!runDiffTreeWithRenameDetection(runCmd, &runOutput)) return NULL; if (revsFiles.contains(r->sha())) // has been created in the mean time? return revsFiles[r->sha()]; cacheNeedsUpdate = true; return insertNewFiles(sha, runOutput); } bool Git::startFileHistory(SCRef sha, SCRef startingFileName, FileHistory* fh) { QStringList args(getDescendantBranches(sha, true)); if (args.isEmpty()) args << "HEAD"; QString newestFileName = getNewestFileName(args, startingFileName); fh->resetFileNames(newestFileName); args.clear(); // load history from all the branches args << getAllRefSha(BRANCH | RMT_BRANCH); args << "--" << newestFileName; return startRevList(args, fh); } const QString Git::getNewestFileName(SCList branches, SCRef fileName) { QString curFileName(fileName), runOutput, args; while (true) { args = branches.join(" ") + " -- " + curFileName; if (!run("git ls-tree " + args, &runOutput)) break; if (!runOutput.isEmpty()) break; QString msg("Retrieving file renames, now at '" + curFileName + "'..."); QApplication::postEvent(parent(), new MessageEvent(msg)); EM_PROCESS_EVENTS_NO_INPUT; if (!run("git rev-list -n1 " + args, &runOutput)) break; if (runOutput.isEmpty()) // try harder if (!run("git rev-list --full-history -n1 " + args, &runOutput)) break; if (runOutput.isEmpty()) break; SCRef sha = runOutput.trimmed(); QStringList newCur; if (!populateRenamedPatches(sha, QStringList(curFileName), NULL, &newCur, true)) break; curFileName = newCur.first(); } return curFileName; } void Git::getFileFilter(SCRef path, ShaSet& shaSet) const { shaSet.clear(); QRegExp rx(path, Qt::CaseInsensitive, QRegExp::Wildcard); FOREACH (ShaVect, it, revData->revOrder) { if (!revsFiles.contains(*it)) continue; // case insensitive, wildcard search const RevFile* rf = revsFiles[*it]; for (int i = 0; i < rf->count(); ++i) if (filePath(*rf, i).contains(rx)) { shaSet.insert(*it); break; } } } bool Git::getPatchFilter(SCRef exp, bool isRegExp, ShaSet& shaSet) { shaSet.clear(); QString buf; FOREACH (ShaVect, it, revData->revOrder) if (*it != ZERO_SHA_RAW) buf.append(*it).append('\n'); if (buf.isEmpty()) return true; EM_PROCESS_EVENTS; // 'git diff-tree' could be slow QString runCmd("git diff-tree --no-color -r -s --stdin "), runOutput; if (isRegExp) runCmd.append("--pickaxe-regex "); runCmd.append(quote("-S" + exp)); if (!run(runCmd, &runOutput, NULL, buf)) return false; const QStringList sl(runOutput.split('\n', QGIT_SPLITBEHAVIOR(SkipEmptyParts))); FOREACH_SL (it, sl) shaSet.insert(*it); return true; } bool Git::resetCommits(int parentDepth) { QString runCmd("git reset --soft HEAD~"); runCmd.append(QString::number(parentDepth)); return run(runCmd); } bool Git::merge(SCRef into, SCList sources, QString *error) { if (error) *error = ""; if (!run(QString("git checkout -q %1").arg(into))) return false; // failed to checkout QString cmd = QString("git merge -q --no-commit ") + sources.join(" "); MyProcess p(parent(), this, workDir, false); p.runSync(cmd, NULL, NULL, ""); const QString& e = p.getErrorOutput(); if (e.contains("stopped before committing as requested")) return true; if (error) *error = e; return false; } bool Git::applyPatchFile(SCRef patchPath, bool fold, bool isDragDrop) { if (isStGIT) { if (fold) { bool ok = run("stg fold " + quote(patchPath)); // merge in working directory if (ok) ok = run("stg refresh"); // update top patch return ok; } else return run("stg import --mail " + quote(patchPath)); } QString runCmd("git am "); QSettings settings; const QString APOpt(settings.value(AM_P_OPT_KEY).toString()); if (!APOpt.isEmpty()) runCmd.append(APOpt.trimmed() + " "); if (isDragDrop) runCmd.append("--keep "); if (testFlag(SIGN_PATCH_F)) runCmd.append("--signoff "); return run(runCmd + quote(patchPath)); } const QStringList Git::sortShaListByIndex(SCList shaList) { QStringList orderedShaList; FOREACH_SL (it, shaList) appendNamesWithId(orderedShaList, *it, QStringList(*it), true); orderedShaList.sort(); QStringList::iterator itN(orderedShaList.begin()); for ( ; itN != orderedShaList.end(); ++itN) // strip 'idx' (*itN) = (*itN).section(' ', -1, -1); return orderedShaList; } bool Git::formatPatch(SCList shaList, SCRef dirPath, SCRef remoteDir) { bool remote = !remoteDir.isEmpty(); QSettings settings; const QString FPOpt(settings.value(FMT_P_OPT_KEY).toString()); QString runCmd("git format-patch --no-color"); if (testFlag(NUMBERS_F) && !remote) runCmd.append(" -n"); if (remote) runCmd.append(" --keep-subject"); runCmd.append(" -o " + quote(dirPath)); if (!FPOpt.isEmpty()) runCmd.append(" " + FPOpt.trimmed()); const QString tmp(workDir); if (remote) workDir = remoteDir; // run() uses workDir value // shaList is ordered by newest to oldest runCmd.append(" " + shaList.last()); runCmd.append(QString::fromLatin1("^..") + shaList.first()); bool ret = run(runCmd); workDir = tmp; return ret; } const QStringList Git::getOtherFiles(SCList selFiles, bool onlyInIndex) { const RevFile* files = getFiles(ZERO_SHA); // files != NULL QStringList notSelFiles; for (int i = 0; i < files->count(); ++i) { SCRef fp = filePath(*files, i); if (selFiles.indexOf(fp) == -1) { // not selected... if (!onlyInIndex || files->statusCmp(i, RevFile::IN_INDEX)) notSelFiles.append(fp); } } return notSelFiles; } bool Git::updateIndex(SCList selFiles) { const RevFile* files = getFiles(ZERO_SHA); // files != NULL QStringList toAdd, toRemove; FOREACH_SL (it, selFiles) { int idx = findFileIndex(*files, *it); if (files->statusCmp(idx, RevFile::DELETED)) toRemove << *it; else toAdd << *it; } if (!toRemove.isEmpty() && !run("git rm --cached --ignore-unmatch -- " + quote(toRemove))) return false; if (!toAdd.isEmpty() && !run("git add -- " + quote(toAdd))) return false; return true; } bool Git::commitFiles(SCList selFiles, SCRef msg, bool amend) { const QString msgFile(gitDir + "/qgit_cmt_msg.txt"); if (!writeToFile(msgFile, msg)) // early skip return false; // add user selectable commit options QSettings settings; const QString CMArgs(settings.value(CMT_ARGS_KEY).toString()); QString cmtOptions; if (!CMArgs.isEmpty()) cmtOptions.append(" " + CMArgs); if (testFlag(SIGN_CMT_F)) cmtOptions.append(" -s"); if (testFlag(VERIFY_CMT_F)) cmtOptions.append(" -v"); if (amend) cmtOptions.append(" --amend"); bool ret = false; // get not selected files but updated in index to restore at the end const QStringList notSel(getOtherFiles(selFiles, optOnlyInIndex)); // call git reset to remove not selected files from index if (!notSel.empty() && !run("git reset -- " + quote(notSel))) goto fail; // update index with selected files if (!updateIndex(selFiles)) goto fail; // now we can finally commit.. if (!run("git commit" + cmtOptions + " -F " + quote(msgFile))) goto fail; // restore not selected files that were already in index if (!notSel.empty() && !updateIndex(notSel)) goto fail; ret = true; fail: QDir dir(workDir); dir.remove(msgFile); return ret; } bool Git::mkPatchFromWorkDir(SCRef msg, SCRef patchFile, SCList files) { /* unfortunately 'git diff' sees only files already * known to git or already in index, so update index first * to be sure also unknown files are correctly found */ if (!updateIndex(files)) return false; QString runOutput; if (!run("git diff --no-ext-diff -C HEAD -- " + quote(files), &runOutput)) return false; const QString patch("Subject: " + msg + "\n---\n" + runOutput); return writeToFile(patchFile, patch); } bool Git::stgCommit(SCList selFiles, SCRef msg, SCRef patchName, bool fold) { /* Here the deal is to use 'stg import' and 'stg fold' to add a new * patch or refresh the current one respectively. Unfortunately refresh * does not work with partial selection of files and also does not take * patch message from a file that is needed to avoid artifacts with '\n' * and friends. * * So steps are: * * - Create a patch file with the changes you want to import/fold in StGit * - Stash working directory files because import/fold wants a clean directory * - Import/fold the patch * - Unstash and merge working directory modified files * - Restore index with not selected files */ /* Step 1: Create a patch file with the changes you want to import/fold */ bool ret = false; const QString patchFile(gitDir + "/qgit_tmp_patch.txt"); // in case we don't have files to restore we can shortcut various commands bool partialSelection = !getOtherFiles(selFiles, !optOnlyInIndex).isEmpty(); // get not selected files but updated in index to restore at the end QStringList notSel; if (partialSelection) // otherwise notSel is for sure empty notSel = getOtherFiles(selFiles, optOnlyInIndex); // create a patch with diffs between working directory and HEAD if (!mkPatchFromWorkDir(msg, patchFile, selFiles)) goto fail; /* Step 2: Stash working directory modified files */ if (partialSelection) { errorReportingEnabled = false; run("git stash"); // unfortunately 'git stash' is noisy on stderr errorReportingEnabled = true; } /* Step 3: Call stg import/fold */ // setup a clean state if (!run("stg status --reset")) goto fail_and_unstash; if (fold) { // update patch message before to fold, note that // command 'stg edit' requires stg version 0.14 or later if (!msg.isEmpty() && !run("stg edit --message " + quote(msg.trimmed()))) goto fail_and_unstash; if (!run("stg fold " + quote(patchFile))) goto fail_and_unstash; if (!run("stg refresh")) // refresh needed after fold goto fail_and_unstash; } else if (!run("stg import --mail --name " + quote(patchName) + " " + quote(patchFile))) goto fail_and_unstash; if (partialSelection) { /* Step 4: Unstash and merge working directory modified files */ errorReportingEnabled = false; run("git stash pop"); // unfortunately 'git stash' is noisy on stderr errorReportingEnabled = true; /* Step 5: restore not selected files that were already in index */ if (!notSel.empty() && !updateIndex(notSel)) goto fail; } ret = true; goto exit; fail_and_unstash: if (partialSelection) { run("git reset"); errorReportingEnabled = false; run("git stash pop"); errorReportingEnabled = true; } fail: exit: QDir dir(workDir); dir.remove(patchFile); return ret; } bool Git::stgPush(SCRef sha) { const QStringList patch(getRefNames(sha, UN_APPLIED)); if (patch.count() != 1) { dbp("ASSERT in Git::stgPush, found %1 patches instead of 1", patch.count()); return false; } return run("stg push " + quote(patch.first())); } bool Git::stgPop(SCRef sha) { const QStringList patch(getRefNames(sha, APPLIED)); if (patch.count() != 1) { dbp("ASSERT in Git::stgPop, found %1 patches instead of 1", patch.count()); return false; } return run("stg pop " + quote(patch)); } //! cache for dates conversion. Common among qgit windows static QHash localDates; /** * Accesses a cache that avoids slow date calculation * * @param gitDate * the reference from which we want to get the date * * @return * human-readable date **/ const QString Git::getLocalDate(SCRef gitDate) { QString localDate(localDates.value(gitDate)); // cache miss if (localDate.isEmpty()) { static QDateTime d; d.setTime_t(gitDate.toUInt()); localDate = QLocale::system().toString(d, QLocale::ShortFormat); // save to cache localDates[gitDate] = localDate; } return localDate; } const QStringList Git::getArgs(bool* quit, bool repoChanged) { QString args; QStringList arglist = qApp->arguments(); // Remove first argument which is the path of the current executable arglist.removeFirst(); if (startup) { bool ignoreNext = false; foreach (QString arg, arglist) { // ignore --view-file=* and --view-file * QGit arguments if (ignoreNext) { ignoreNext = false; continue; } else if (arg.startsWith("--view-file=")) continue; else if (arg == "--view-file") { ignoreNext = true; continue; } // in arguments with spaces double quotes // are stripped by Qt, so re-add them if (arg.contains(' ')) arg.prepend('\"').append('\"'); args.append(arg + ' '); } } if (!startup || args.isEmpty()) { // need to retrieve args if (testFlag(RANGE_SELECT_F)) { // open range dialog RangeSelectImpl rs((QWidget*)parent(), &args, repoChanged, this); *quit = (rs.exec() == QDialog::Rejected); // modal execution if (*quit) return QStringList(); } else { args = RangeSelectImpl::getDefaultArgs(); } } startup = false; return MyProcess::splitArgList(args); } bool Git::getGitDBDir(SCRef wd, QString& gd, bool& changed) { // we could run from a subdirectory, so we need to get correct directories QString runOutput, tmp(workDir); workDir = wd; errorReportingEnabled = false; bool success = run("git rev-parse --git-dir", &runOutput); // run under newWorkDir errorReportingEnabled = true; workDir = tmp; runOutput = runOutput.trimmed(); if (success) { // 'git rev-parse --git-dir' output could be a relative // to working directory (as ex .git) or an absolute path QDir d(runOutput.startsWith("/") ? runOutput : wd + "/" + runOutput); changed = (d.absolutePath() != gitDir); gd = d.absolutePath(); } return success; } bool Git::getBaseDir(SCRef wd, QString& bd, bool& changed) { // we could run from a subdirectory, so we need to get correct directories // We use --show-cdup and not --git-dir for this, in order to take into account configurations // in which .git is indeed a "symlink", a text file containing the path of the actual .git database dir. // In that particular case, the parent directory of the one given by --git-dir is *not* necessarily // the base directory of the repository. QString runOutput, tmp(workDir); workDir = wd; errorReportingEnabled = false; bool success = run("git rev-parse --show-cdup", &runOutput); // run under newWorkDir errorReportingEnabled = true; workDir = tmp; runOutput = runOutput.trimmed(); if (success) { // 'git rev-parse --show-cdup' is relative to working directory. QDir d(wd + "/" + runOutput); bd = d.absolutePath(); changed = (bd != workDir); } else { changed = true; bd = wd; } return success; } Git::Reference* Git::lookupOrAddReference(const ShaString& sha) { RefMap::iterator it(refsShaMap.find(sha)); if (it == refsShaMap.end()) it = refsShaMap.insert(sha, Reference()); return &(*it); } Git::Reference* Git::lookupReference(const ShaString& sha) { RefMap::iterator it(refsShaMap.find(sha)); if (it == refsShaMap.end()) return 0; return &(*it); } bool Git::getRefs() { // check for a StGIT stack QDir d(gitDir); QString stgCurBranch; if (d.exists("patches")) { // early skip errorReportingEnabled = false; isStGIT = run("stg branch", &stgCurBranch); // slow command errorReportingEnabled = true; stgCurBranch = stgCurBranch.trimmed(); } else isStGIT = false; // check for a merge and read current branch sha isMergeHead = d.exists("MERGE_HEAD"); QString curBranchSHA; if (!run("git rev-parse --revs-only HEAD", &curBranchSHA)) return false; if (!run("git branch", &curBranchName)) return false; curBranchSHA = curBranchSHA.trimmed(); curBranchName = curBranchName.prepend('\n').section("\n*", 1); curBranchName = curBranchName.section('\n', 0, 0).trimmed(); if (curBranchName.contains(" detached ")) curBranchName = ""; // read refs, normally unsorted QString runOutput; if (!run("git show-ref -d", &runOutput)) return false; refsShaMap.clear(); shaBackupBuf.clear(); // revs are already empty now QString prevRefSha; QStringList patchNames, patchShas; const QStringList rLst(runOutput.split('\n', QGIT_SPLITBEHAVIOR(SkipEmptyParts))); FOREACH_SL (it, rLst) { SCRef revSha = (*it).left(40); SCRef refName = (*it).mid(41); if (refName.startsWith("refs/patches/")) { // save StGIT patch sha, to be used later SCRef patchesDir("refs/patches/" + stgCurBranch + "/"); if (refName.startsWith(patchesDir)) { patchNames.append(refName.mid(patchesDir.length())); patchShas.append(revSha); } // StGIT patches should not be added to refs, // but an applied StGIT patch could be also an head or // a tag in this case will be added in another loop cycle continue; } // one rev could have many tags Reference* cur = lookupOrAddReference(toPersistentSha(revSha, shaBackupBuf)); if (refName.startsWith("refs/tags/")) { if (refName.endsWith("^{}")) { // tag dereference // we assume that a tag dereference follows strictly // the corresponding tag object in rLst. So the // last added tag is a tag object, not a commit object cur->tags.append(refName.mid(10, refName.length() - 13)); // store tag object. Will be used to fetching // tag message (if any) when necessary. cur->tagObj = prevRefSha; // tagObj must be removed from ref map if (!prevRefSha.isEmpty()) refsShaMap.remove(toTempSha(prevRefSha)); } else cur->tags.append(refName.mid(10)); cur->type |= TAG; } else if (refName.startsWith("refs/heads/")) { cur->branches.append(refName.mid(11)); cur->type |= BRANCH; if (curBranchSHA == revSha) cur->type |= CUR_BRANCH; } else if (refName.startsWith("refs/remotes/") && !refName.endsWith("HEAD")) { cur->remoteBranches.append(refName.mid(13)); cur->type |= RMT_BRANCH; } else if (!refName.startsWith("refs/bases/") && !refName.endsWith("HEAD")) { cur->refs.append(refName); cur->type |= REF; } prevRefSha = revSha; } if (isStGIT && !patchNames.isEmpty()) parseStGitPatches(patchNames, patchShas); // mark current head (even when detached) Reference* cur = lookupOrAddReference(toPersistentSha(curBranchSHA, shaBackupBuf)); cur->type |= CUR_BRANCH; return !refsShaMap.empty(); } void Git::parseStGitPatches(SCList patchNames, SCList patchShas) { patchesStillToFind = 0; // get patch names and status of current branch QString runOutput; if (!run("stg series", &runOutput)) return; const QStringList pl(runOutput.split('\n', QGIT_SPLITBEHAVIOR(SkipEmptyParts))); FOREACH_SL (it, pl) { SCRef status = (*it).left(1); SCRef patchName = (*it).mid(2); bool applied = (status == "+" || status == ">"); int pos = patchNames.indexOf(patchName); if (pos == -1) { dbp("ASSERT in Git::parseStGitPatches(), patch %1 " "not found in references list.", patchName); continue; } const ShaString& ss = toPersistentSha(patchShas.at(pos), shaBackupBuf); Reference* cur = lookupOrAddReference(ss); cur->stgitPatch = patchName; cur->type |= (applied ? APPLIED : UN_APPLIED); if (applied) patchesStillToFind++; } } const QStringList Git::getOthersFiles() { // add files present in working directory but not in git archive QString runCmd("git ls-files --others"); QSettings settings; QString exFile(settings.value(EX_KEY, EX_DEF).toString()); if (!exFile.isEmpty()) { QString path = (exFile.startsWith("/")) ? exFile : workDir + "/" + exFile; if (QFile::exists(path)) runCmd.append(" --exclude-from=" + quote(exFile)); } QString exPerDir(settings.value(EX_PER_DIR_KEY, EX_PER_DIR_DEF).toString()); if (!exPerDir.isEmpty()) runCmd.append(" --exclude-per-directory=" + quote(exPerDir)); QString runOutput; run(runCmd, &runOutput); return runOutput.split('\n', QGIT_SPLITBEHAVIOR(SkipEmptyParts)); } Rev* Git::fakeRevData(SCRef sha, SCList parents, SCRef author, SCRef date, SCRef log, SCRef longLog, SCRef patch, int idx, FileHistory* fh) { QString data('>' + sha + 'X' + parents.join(" ") + " \n"); data.append(author + '\n' + author + '\n' + date + '\n'); data.append(log + '\n' + longLog); QString header("log size " + QString::number(QByteArray(data.toLatin1()).length() - 1) + '\n'); data.prepend(header); if (!patch.isEmpty()) data.append('\n' + patch); QTextCodec* tc = QTextCodec::codecForLocale(); QByteArray* ba = new QByteArray(tc->fromUnicode(data)); ba->append('\0'); fh->rowData.append(ba); int dummy; Rev* c = new Rev(*ba, 0, idx, &dummy, !isMainHistory(fh)); return c; } const Rev* Git::fakeWorkDirRev(SCRef parent, SCRef log, SCRef longLog, int idx, FileHistory* fh) { QString patch; if (!isMainHistory(fh)) patch = getWorkDirDiff(fh->fileNames().first()); QString date(QString::number(QDateTime::currentDateTime().toTime_t())); QString author("-"); QStringList parents(parent); Rev* c = fakeRevData(ZERO_SHA, parents, author, date, log, longLog, patch, idx, fh); c->isDiffCache = true; c->lanes.append(EMPTY); return c; } const RevFile* Git::fakeWorkDirRevFile(const WorkingDirInfo& wd) { FileNamesLoader fl; RevFile* rf = new RevFile(); parseDiffFormat(*rf, wd.diffIndex, fl); rf->onlyModified = false; FOREACH_SL (it, wd.otherFiles) { appendFileName(*rf, *it, fl); rf->status.append(RevFile::UNKNOWN); rf->mergeParent.append(1); } RevFile cachedFiles; parseDiffFormat(cachedFiles, wd.diffIndexCached, fl); flushFileNames(fl); for (int i = 0; i < rf->count(); i++) if (findFileIndex(cachedFiles, filePath(*rf, i)) != -1) rf->status[i] |= RevFile::IN_INDEX; return rf; } void Git::getDiffIndex() { QString status; if (!run("git status", &status)) // git status refreshes the index, run as first return; QString head; if (!run("git rev-parse --revs-only HEAD", &head)) return; head = head.trimmed(); if (!head.isEmpty()) { // repository initialized but still no history if (!run("git diff-index " + head, &workingDirInfo.diffIndex)) return; // check for files already updated in cache, we will // save this information in status third field if (!run("git diff-index --cached " + head, &workingDirInfo.diffIndexCached)) return; } // get any file not in tree workingDirInfo.otherFiles = getOthersFiles(); // now mockup a RevFile revsFiles.insert(ZERO_SHA_RAW, fakeWorkDirRevFile(workingDirInfo)); // then mockup the corresponding Rev SCRef log = (isNothingToCommit() ? "Nothing to commit" : "Working directory changes"); const Rev* r = fakeWorkDirRev(head, log, status, revData->revOrder.count(), revData); revData->revs.insert(ZERO_SHA_RAW, r); revData->revOrder.append(ZERO_SHA_RAW); revData->earlyOutputCntBase = revData->revOrder.count(); // finally send it to GUI emit newRevsAdded(revData, revData->revOrder); } void Git::parseDiffFormatLine(RevFile& rf, SCRef line, int parNum, FileNamesLoader& fl) { if (line[1] == ':') { // it's a combined merge /* For combined merges rename/copy information is useless * because nor the original file name, nor similarity info * is given, just the status tracks that in the left/right * branch a renamed/copy occurred (as example status could * be RM or MR). For visualization purposes we could consider * the file as modified */ appendFileName(rf, line.section('\t', -1), fl); setStatus(rf, "M"); rf.mergeParent.append(parNum); } else { // faster parsing in normal case if (line.at(98) == '\t') { appendFileName(rf, line.mid(99), fl); setStatus(rf, line.at(97)); rf.mergeParent.append(parNum); } else // it's a rename or a copy, we are not in fast path now! setExtStatus(rf, line.mid(97), parNum, fl); } } //CT TODO can go in RevFile void Git::setStatus(RevFile& rf, SCRef rowSt) { char status = rowSt.at(0).toLatin1(); switch (status) { case 'M': case 'T': case 'U': rf.status.append(RevFile::MODIFIED); break; case 'D': rf.status.append(RevFile::DELETED); rf.onlyModified = false; break; case 'A': rf.status.append(RevFile::NEW); rf.onlyModified = false; break; case '?': rf.status.append(RevFile::UNKNOWN); rf.onlyModified = false; break; default: dbp("ASSERT in Git::setStatus, unknown status <%1>. " "'MODIFIED' will be used instead.", rowSt); rf.status.append(RevFile::MODIFIED); break; } } void Git::setExtStatus(RevFile& rf, SCRef rowSt, int parNum, FileNamesLoader& fl) { const QStringList sl(rowSt.split('\t', QGIT_SPLITBEHAVIOR(SkipEmptyParts))); if (sl.count() != 3) { dbp("ASSERT in setExtStatus, unexpected status string %1", rowSt); return; } // we want store extra info with format "orig --> dest (Rxx%)" // but git give us something like "Rxx\t\t" SCRef type = sl[0]; SCRef orig = sl[1]; SCRef dest = sl[2]; const QString extStatusInfo(orig + " --> " + dest + " (" + type + "%)"); /* NOTE: we set rf.extStatus size equal to position of latest copied/renamed file. So it can have size lower then rf.count() if after copied/renamed file there are others. Here we have no possibility to know final dimension of this RefFile. We are still in parsing. */ // simulate new file appendFileName(rf, dest, fl); rf.mergeParent.append(parNum); rf.status.append(RevFile::NEW); rf.extStatus.resize(rf.status.size()); rf.extStatus[rf.status.size() - 1] = extStatusInfo; // simulate deleted orig file only in case of rename if (type.at(0) == 'R') { // renamed file appendFileName(rf, orig, fl); rf.mergeParent.append(parNum); rf.status.append(RevFile::DELETED); rf.extStatus.resize(rf.status.size()); rf.extStatus[rf.status.size() - 1] = extStatusInfo; } rf.onlyModified = false; } //CT TODO utility function; can go elsewhere void Git::parseDiffFormat(RevFile& rf, SCRef buf, FileNamesLoader& fl) { int parNum = 1, startPos = 0, endPos = buf.indexOf('\n'); while (endPos != -1) { SCRef line = buf.mid(startPos, endPos - startPos); if (line[0] == ':') // avoid sha's in merges output parseDiffFormatLine(rf, line, parNum, fl); else parNum++; startPos = endPos + 1; endPos = buf.indexOf('\n', endPos + 99); } } bool Git::startParseProc(SCList initCmd, FileHistory* fh, SCRef buf) { DataLoader* dl = new DataLoader(this, fh); // auto-deleted when done connect(this, SIGNAL(cancelLoading(const FileHistory*)), dl, SLOT(on_cancel(const FileHistory*))); connect(dl, SIGNAL(newDataReady(const FileHistory*)), this, SLOT(on_newDataReady(const FileHistory*))); connect(dl, SIGNAL(loaded(FileHistory*, ulong, int, bool, const QString&, const QString&)), this, SLOT(on_loaded(FileHistory*, ulong, int, bool, const QString&, const QString&))); return dl->start(initCmd, workDir, buf); } bool Git::startRevList(SCList args, FileHistory* fh) { QString baseCmd("git -c log.diffMerges=separate log --topo-order --no-color " #ifndef Q_OS_WIN32 "--log-size " // FIXME broken on Windows #endif "--parents --boundary -z " "--pretty=format:" GIT_LOG_FORMAT); // we don't need log message body for file history if (isMainHistory(fh)) baseCmd.append("%b"); QStringList initCmd(baseCmd.split(' ')); if (!isMainHistory(fh)) { /* NOTE: we don't use '--remove-empty' option because in case a file is deleted and then a new file with the same name is created again in the same directory then, with this option, file history is truncated to the file deletion revision. */ initCmd << QString("-r -m -p --full-index --simplify-merges").split(' '); } else {} // initCmd << QString("--early-output"); currently disabled return startParseProc(initCmd + args, fh, QString()); } bool Git::startUnappliedList() { QStringList unAppliedShaList(getAllRefSha(UN_APPLIED)); if (unAppliedShaList.isEmpty()) return false; // WARNING: with this command 'git log' could send spurious // revs so we need some filter out logic during loading QString cmd("git log --no-color --parents -z " #ifndef Q_OS_WIN32 "--log-size " // FIXME broken on Windows #endif "--pretty=format:" GIT_LOG_FORMAT "%b ^HEAD"); QStringList sl(cmd.split(' ')); sl << unAppliedShaList; return startParseProc(sl, revData, QString()); } void Git::stop(bool saveCache) { // normally called when changing directory or closing EM_RAISE(exGitStopped); // stop all data sending from process and asks them // to terminate. Note that process could still keep // running for a while although silently emit cancelAllProcesses(); // non blocking // after cancelAllProcesses() procFinished() is not called anymore // TODO perhaps is better to call procFinished() also if process terminated // incorrectly as QProcess does. BUt first we need to fix FileView::on_loadCompleted() emit fileNamesLoad(1, revsFiles.count() - filesLoadingStartOfs); if (cacheNeedsUpdate && saveCache) { cacheNeedsUpdate = false; if (!filesLoadingCurSha.isEmpty()) // we are in the middle of a loading revsFiles.remove(toTempSha(filesLoadingCurSha)); // remove partial data if (!revsFiles.isEmpty()) { SHOW_MSG("Saving cache. Please wait..."); if (!Cache::save(gitDir, revsFiles, dirNamesVec, fileNamesVec)) dbs("ERROR unable to save file names cache"); } } } void Git::clearRevs() { revData->clear(); patchesStillToFind = 0; // TODO TEST WITH FILTERING firstNonStGitPatch = ""; workingDirInfo.clear(); revsFiles.remove(ZERO_SHA_RAW); } void Git::clearFileNames() { qDeleteAll(revsFiles); revsFiles.clear(); fileNamesMap.clear(); dirNamesMap.clear(); dirNamesVec.clear(); fileNamesVec.clear(); revsFilesShaBackupBuf.clear(); cacheNeedsUpdate = false; } bool Git::init(SCRef wd, bool askForRange, const QStringList* passedArgs, bool overwriteArgs, bool* quit) { // normally called when changing git directory. Must be called after stop() *quit = false; clearRevs(); /* we only update filtering info here, original arguments * are not overwritten. Only getArgs() can update arguments, * an exception is if flag overwriteArgs is set */ loadArguments.filteredLoading = (!overwriteArgs && passedArgs != NULL); if (loadArguments.filteredLoading) loadArguments.filterList = *passedArgs; if (overwriteArgs) // in this case must be passedArgs != NULL loadArguments.args = *passedArgs; try { setThrowOnStop(true); const QString msg1("Path is '" + workDir + "' Loading "); // check if repository is valid bool repoChanged; isGIT = getGitDBDir(wd, gitDir, repoChanged); if (repoChanged) { bool dummy; getBaseDir(wd, workDir, dummy); localDates.clear(); fileCacheAccessed = false; SHOW_MSG(msg1 + "file names cache..."); loadFileCache(); SHOW_MSG(""); } if (!isGIT) { setThrowOnStop(false); return false; } if (!passedArgs) { // update text codec according to repo settings bool dummy; QTextCodec::setCodecForLocale(getTextCodec(&dummy)); // load references SHOW_MSG(msg1 + "refs..."); if (!getRefs()) dbs("WARNING: no tags or heads found"); // startup input range dialog SHOW_MSG(""); if (startup || askForRange) { loadArguments.args = getArgs(quit, repoChanged); // must be called with refs loaded if (*quit) { setThrowOnStop(false); return false; } } // load StGit unapplied patches, must be after getRefs() if (isStGIT) { loadingUnAppliedPatches = startUnappliedList(); if (loadingUnAppliedPatches) { SHOW_MSG(msg1 + "StGIT unapplied patches..."); setThrowOnStop(false); // we will continue with init2() at // the end of loading... return true; } } } init2(); shortHashLen = getShortHashLength(); setThrowOnStop(false); return true; } catch (int i) { setThrowOnStop(false); if (isThrowOnStopRaised(i, "initializing 1")) { EM_THROW_PENDING; return false; } const QString info("Exception \'" + EM_DESC(i) + "\' " "not handled in init...re-throw"); dbs(info); throw; } } void Git::init2() { const QString msg1("Path is '" + workDir + "' Loading "); // after loading unapplied patch update base early output offset to // avoid losing unapplied patches at first early output event if (isStGIT) revData->earlyOutputCntBase = revData->revOrder.count(); try { setThrowOnStop(true); // load working directory files if (!loadArguments.filteredLoading && testFlag(DIFF_INDEX_F)) { SHOW_MSG(msg1 + "working directory changed files..."); getDiffIndex(); // blocking, we could be in setRepository() now } SHOW_MSG(msg1 + "revisions..."); // build up command line arguments QStringList args(loadArguments.args); if (loadArguments.filteredLoading) { if (!args.contains("--")) args << "--"; args << loadArguments.filterList; } if (!startRevList(args, revData)) SHOW_MSG("ERROR: unable to start 'git log'"); setThrowOnStop(false); } catch (int i) { setThrowOnStop(false); if (isThrowOnStopRaised(i, "initializing 2")) { EM_THROW_PENDING; return; } const QString info("Exception \'" + EM_DESC(i) + "\' " "not handled in init2...re-throw"); dbs(info); throw; } } void Git::on_newDataReady(const FileHistory* fh) { emit newRevsAdded(fh , fh->revOrder); } void Git::on_loaded(FileHistory* fh, ulong byteSize, int loadTime, bool normalExit, SCRef cmd, SCRef errorDesc) { if (!errorDesc.isEmpty()) { MainExecErrorEvent* e = new MainExecErrorEvent(cmd, errorDesc); QApplication::postEvent(parent(), e); } if (normalExit) { // do not send anything if killed on_newDataReady(fh); if (!loadingUnAppliedPatches) { fh->loadTime += loadTime; ulong kb = byteSize / 1024; double mbs = (double)byteSize / fh->loadTime / 1000; QString tmp; tmp.asprintf("Loaded %i revisions (%li KB), " "time elapsed: %i ms (%.2f MB/s)", fh->revs.count(), kb, fh->loadTime, mbs); if (!tryFollowRenames(fh)) emit loadCompleted(fh, tmp); if (isMainHistory(fh)) // wait the dust to settle down before to start // background file names loading for new revisions QTimer::singleShot(500, this, SLOT(loadFileNames())); } } if (loadingUnAppliedPatches) { loadingUnAppliedPatches = false; revData->lns->clear(); // again to reset lanes init2(); // continue with loading of remaining revisions } } bool Git::tryFollowRenames(FileHistory* fh) { if (isMainHistory(fh)) return false; QStringList oldNames; QMutableStringListIterator it(fh->renamedRevs); while (it.hasNext()) if (!populateRenamedPatches(it.next(), fh->curFNames, fh, &oldNames, false)) it.remove(); if (fh->renamedRevs.isEmpty()) return false; QStringList args; args << fh->renamedRevs << "--" << oldNames; fh->fNames << oldNames; fh->curFNames = oldNames; fh->renamedRevs.clear(); return startRevList(args, fh); } bool Git::populateRenamedPatches(SCRef renamedSha, SCList newNames, FileHistory* fh, QStringList* oldNames, bool backTrack) { QString runOutput; if (!run("git diff-tree -r -M " + renamedSha, &runOutput)) return false; // find the first renamed file with the new file name in renamedFiles list QString line; FOREACH_SL (it, newNames) { if (backTrack) { line = runOutput.section('\t' + *it + '\t', 0, 0, QString::SectionIncludeTrailingSep); line.chop(1); } else line = runOutput.section('\t' + *it + '\n', 0, 0); if (!line.isEmpty()) break; } if (line.contains('\n')) line = line.section('\n', -1, -1); SCRef status = line.section('\t', -2, -2).section(' ', -1, -1); if (!status.startsWith('R')) return false; if (backTrack) { SCRef nextFile = runOutput.section(line, 1, 1).section('\t', 1, 1); oldNames->append(nextFile.section('\n', 0, 0)); return true; } // get the diff betwen two files SCRef prevFileSha = line.section(' ', 2, 2); SCRef lastFileSha = line.section(' ', 3, 3); if (prevFileSha == lastFileSha) // just renamed runOutput.clear(); else if (!run("git diff --no-ext-diff -r --full-index " + prevFileSha + " " + lastFileSha, &runOutput)) return false; SCRef prevFile = line.section('\t', -1, -1); if (!oldNames->contains(prevFile)) oldNames->append(prevFile); // save the patch, will be used later to create a // proper graft sha with correct parent info if (fh) { QString tmp(!runOutput.isEmpty() ? runOutput : "diff --no-ext-diff --\nsimilarity index 100%\n"); fh->renamedPatches.insert(renamedSha, tmp); } return true; } void Git::populateFileNamesMap() { for (int i = 0; i < dirNamesVec.count(); ++i) dirNamesMap.insert(dirNamesVec[i], i); for (int i = 0; i < fileNamesVec.count(); ++i) fileNamesMap.insert(fileNamesVec[i], i); } void Git::loadFileCache() { if (!fileCacheAccessed) { fileCacheAccessed = true; clearFileNames(); QByteArray shaBuf; if (Cache::load(gitDir, revsFiles, dirNamesVec, fileNamesVec, shaBuf)) { revsFilesShaBackupBuf.append(shaBuf); populateFileNamesMap(); } else { // The cache isn't valid. Clear it before we corrupt it // by freeing `shaBuf`. clearFileNames(); dbs("ERROR: unable to load file names cache"); } } } void Git::loadFileNames() { indexTree(); // we are sure data loading is finished at this point int revCnt = 0; QString diffTreeBuf; FOREACH (ShaVect, it, revData->revOrder) { if (!revsFiles.contains(*it)) { const Rev* c = revLookup(*it); if (c->parentsCount() == 1) { // skip initials and merges diffTreeBuf.append(*it).append('\n'); revCnt++; } } } if (!diffTreeBuf.isEmpty()) { filesLoadingPending = filesLoadingCurSha = ""; filesLoadingStartOfs = revsFiles.count(); emit fileNamesLoad(3, revCnt); const QString runCmd("git diff-tree --no-color -r -C --stdin"); runAsync(runCmd, this, diffTreeBuf); } } bool Git::filterEarlyOutputRev(FileHistory* fh, Rev* rev) { if (fh->earlyOutputCnt < fh->revOrder.count()) { const ShaString& sha = fh->revOrder[fh->earlyOutputCnt++]; const Rev* c = revLookup(sha, fh); if (c) { if (rev->sha() != sha || rev->parents() != c->parents()) { // mismatch found! set correct value, 'rev' will // overwrite 'c' upon returning rev->orderIdx = c->orderIdx; revData->clear(false); // flush the tail } else return true; // filter out 'rev' } } // we have new revisions, exit from early output state fh->setEarlyOutputState(false); return false; } int Git::addChunk(FileHistory* fh, const QByteArray& ba, int start) { RevMap& r = fh->revs; int nextStart; Rev* rev; do { // only here we create a new rev rev = new Rev(ba, start, fh->revOrder.count(), &nextStart, !isMainHistory(fh)); if (nextStart == -2) { delete rev; fh->setEarlyOutputState(true); start = ba.indexOf('\n', start) + 1; } } while (nextStart == -2); if (nextStart == -1) { // half chunk detected delete rev; return -1; } const ShaString& sha = rev->sha(); if (fh->earlyOutputCnt != -1 && filterEarlyOutputRev(fh, rev)) { delete rev; return nextStart; } if (isStGIT) { if (loadingUnAppliedPatches) { // filter out possible spurious revs Reference* rf = lookupReference(sha); if (!(rf && (rf->type & UN_APPLIED))) { delete rev; return nextStart; } } // remove StGIT spurious revs filter if (!firstNonStGitPatch.isEmpty() && firstNonStGitPatch == sha) firstNonStGitPatch = ""; // StGIT called with --all option creates spurious revs so filter // out unknown revs until no more StGIT patches are waited and // firstNonStGitPatch is reached if (!(firstNonStGitPatch.isEmpty() && patchesStillToFind == 0) && !loadingUnAppliedPatches && isMainHistory(fh)) { Reference* rf = lookupReference(sha); if (!(rf && (rf->type & APPLIED))) { delete rev; return nextStart; } } if (r.contains(sha)) { // StGIT unapplied patches could be sent again by // 'git log' as example if called with --all option. if (r[sha]->isUnApplied) { delete rev; return nextStart; } // could be a side effect of 'git log -m', see below if (isMainHistory(fh) || rev->parentsCount() < 2) dbp("ASSERT: addChunk sha <%1> already received", sha); } } if (r.isEmpty() && !isMainHistory(fh)) { bool added = copyDiffIndex(fh, sha); rev->orderIdx = added ? 1 : 0; } if ( !isMainHistory(fh) && !fh->renamedPatches.isEmpty() && fh->renamedPatches.contains(sha)) { // this is the new rev with renamed file, the rev is correct but // the patch, create a new rev with proper patch and use that instead const Rev* prevSha = revLookup(sha, fh); Rev* c = fakeRevData(sha, rev->parents(), rev->author(), rev->authorDate(), rev->shortLog(), rev->longLog(), fh->renamedPatches[sha], prevSha->orderIdx, fh); r.insert(sha, c); // overwrite old content fh->renamedPatches.remove(sha); return nextStart; } if (!isMainHistory(fh) && rev->parentsCount() > 1 && r.contains(sha)) { /* In this case git log is called with -m option and merges are splitted in one commit per parent but all them have the same sha. So we add only the first to fh->revOrder to display history correctly, but we nevertheless add all the commits to 'r' so that annotation code can get the patches. */ QString mergeSha; int i = 0; do mergeSha = QString::number(++i) + " m " + sha; while (r.contains(toTempSha(mergeSha))); const ShaString& ss = toPersistentSha(mergeSha, shaBackupBuf); r.insert(ss, rev); } else { r.insert(sha, rev); fh->revOrder.append(sha); if (rev->parentsCount() == 0 && !isMainHistory(fh)) fh->renamedRevs.append(sha); } if (isStGIT) { // updateLanes() is called too late, after loadingUnAppliedPatches // has been reset so update the lanes now. if (loadingUnAppliedPatches) { Rev* c = const_cast(revLookup(sha, fh)); c->isUnApplied = true; c->lanes.append(UNAPPLIED); } else if (patchesStillToFind > 0 || !isMainHistory(fh)) { // try to avoid costly lookup Reference* rf = lookupReference(sha); if (rf && (rf->type & APPLIED)) { Rev* c = const_cast(revLookup(sha, fh)); c->isApplied = true; if (isMainHistory(fh)) { patchesStillToFind--; if (patchesStillToFind == 0) // any rev will be discarded until // firstNonStGitPatch arrives firstNonStGitPatch = c->parent(0); } } } } return nextStart; } bool Git::copyDiffIndex(FileHistory* fh, SCRef parent) { // must be called with empty revs and empty revOrder if (!fh->revOrder.isEmpty() || !fh->revs.isEmpty()) { dbs("ASSERT in copyDiffIndex: called with wrong context"); return false; } const Rev* r = revLookup(ZERO_SHA); if (!r) return false; const RevFile* files = getFiles(ZERO_SHA); if (!files || findFileIndex(*files, fh->fileNames().first()) == -1) return false; // insert a custom ZERO_SHA rev with proper parent const Rev* rf = fakeWorkDirRev(parent, "Working directory changes", "long log\n", 0, fh); fh->revs.insert(ZERO_SHA_RAW, rf); fh->revOrder.append(ZERO_SHA_RAW); return true; } void Git::setLane(SCRef sha, FileHistory* fh) { Lanes* l = fh->lns; uint i = fh->firstFreeLane; QVector ba; const ShaString& ss = toPersistentSha(sha, ba); const ShaVect& shaVec(fh->revOrder); for (uint cnt = shaVec.count(); i < cnt; ++i) { const ShaString& curSha = shaVec[i]; Rev* r = const_cast(revLookup(curSha, fh)); if (r->lanes.count() == 0) updateLanes(*r, *l, curSha); if (curSha == ss) break; } fh->firstFreeLane = ++i; } void Git::updateLanes(Rev& c, Lanes& lns, SCRef sha) { // we could get third argument from c.sha(), but we are in fast path here // and c.sha() involves a deep copy, so we accept a little redundancy if (lns.isEmpty()) lns.init(sha); bool isDiscontinuity; bool isFork = lns.isFork(sha, isDiscontinuity); bool isMerge = (c.parentsCount() > 1); bool isInitial = (c.parentsCount() == 0); if (isDiscontinuity) lns.changeActiveLane(sha); // uses previous isBoundary state lns.setBoundary(c.isBoundary()); // update must be here if (isFork) lns.setFork(sha); if (isMerge) lns.setMerge(c.parents()); if (c.isApplied) lns.setApplied(); if (isInitial) lns.setInitial(); lns.getLanes(c.lanes); // here lanes are snapshotted SCRef nextSha = (isInitial) ? "" : QString(c.parent(0)); lns.nextParent(nextSha); if (c.isApplied) lns.afterApplied(); if (isMerge) lns.afterMerge(); if (isFork) lns.afterFork(); if (lns.isBranch()) lns.afterBranch(); // QString tmp = "", tmp2; // for (uint i = 0; i < c.lanes.count(); i++) { // tmp2.setNum(c.lanes[i]); // tmp.append(tmp2 + "-"); // } // qDebug("%s %s", tmp.toUtf8().data(), sha.toUtf8().data()); } void Git::procFinished() { flushFileNames(fileLoader); filesLoadingPending = filesLoadingCurSha = ""; emit fileNamesLoad(1, revsFiles.count() - filesLoadingStartOfs); } void Git::procReadyRead(const QByteArray& fileChunk) { QTextCodec* tc = QTextCodec::codecForLocale(); if (filesLoadingPending.isEmpty()) filesLoadingPending = tc->toUnicode(fileChunk); else filesLoadingPending.append(tc->toUnicode(fileChunk)); // add to previous half lines RevFile* rf = NULL; if (!filesLoadingCurSha.isEmpty() && revsFiles.contains(toTempSha(filesLoadingCurSha))) rf = const_cast(revsFiles[toTempSha(filesLoadingCurSha)]); int nextEOL = filesLoadingPending.indexOf('\n'); int lastEOL = -1; while (nextEOL != -1) { SCRef line(filesLoadingPending.mid(lastEOL + 1, nextEOL - lastEOL - 1)); if (line.at(0) != ':') { SCRef sha = line.left(40); if (!rf || sha != filesLoadingCurSha) { // new commit rf = new RevFile(); revsFiles.insert(toPersistentSha(sha, revsFilesShaBackupBuf), rf); filesLoadingCurSha = sha; cacheNeedsUpdate = true; } else dbp("ASSERT: repeated sha %1 in file names loading", sha); } else // line.constref(0) == ':' parseDiffFormatLine(*rf, line, 1, fileLoader); lastEOL = nextEOL; nextEOL = filesLoadingPending.indexOf('\n', lastEOL + 1); } if (lastEOL != -1) filesLoadingPending.remove(0, lastEOL + 1); emit fileNamesLoad(2, revsFiles.count() - filesLoadingStartOfs); } void Git::flushFileNames(FileNamesLoader& fl) { if (!fl.rf) return; QByteArray& b = fl.rf->pathsIdx; QVector& dirs = fl.rfDirs; b.clear(); b.resize(2 * dirs.size() * static_cast(sizeof(int))); int* d = (int*)(b.data()); for (int i = 0; i < dirs.size(); i++) { d[i] = dirs.at(i); d[dirs.size() + i] = fl.rfNames.at(i); } dirs.clear(); fl.rfNames.clear(); fl.rf = NULL; } void Git::appendFileName(RevFile& rf, SCRef name, FileNamesLoader& fl) { if (fl.rf != &rf) { flushFileNames(fl); fl.rf = &rf; } int idx = name.lastIndexOf('/') + 1; SCRef dr = name.left(idx); SCRef nm = name.mid(idx); QHash::const_iterator it(dirNamesMap.constFind(dr)); if (it == dirNamesMap.constEnd()) { int idx = dirNamesVec.count(); dirNamesMap.insert(dr, idx); dirNamesVec.append(dr); fl.rfDirs.append(idx); } else fl.rfDirs.append(*it); it = fileNamesMap.constFind(nm); if (it == fileNamesMap.constEnd()) { int idx = fileNamesVec.count(); fileNamesMap.insert(nm, idx); fileNamesVec.append(nm); fl.rfNames.append(idx); } else fl.rfNames.append(*it); } void Git::updateDescMap(const Rev* r,uint idx, QHash, bool>& dm, QHash >& dv) { QVector descVec; if (r->descRefsMaster != -1) { const Rev* tmp = revLookup(revData->revOrder[r->descRefsMaster]); const QVector& nr = tmp->descRefs; for (int i = 0; i < nr.count(); i++) { if (!dv.contains(nr[i])) { dbp("ASSERT descendant for %1 not found", r->sha()); return; } const QVector& dvv = dv[nr[i]]; // copy the whole vector instead of each element // in the first iteration of the loop below descVec = dvv; // quick (shared) copy for (int y = 0; y < dvv.count(); y++) { uint v = (uint)dvv[y]; QPair key = qMakePair(idx, v); QPair keyN = qMakePair(v, idx); dm.insert(key, true); dm.insert(keyN, false); // we don't want duplicated entry, otherwise 'dvv' grows // greatly in repos with many tagged development branches if (i > 0 && !descVec.contains(v)) // i > 0 is rare, no descVec.append(v); // need to optimize } } } descVec.append(idx); dv.insert(idx, descVec); } void Git::mergeBranches(Rev* p, const Rev* r) { int r_descBrnMaster = (checkRef(r->sha(), BRANCH | RMT_BRANCH) ? r->orderIdx : r->descBrnMaster); if (p->descBrnMaster == r_descBrnMaster || r_descBrnMaster == -1) return; // we want all the descendant branches, so just avoid duplicates const QVector& src1 = revLookup(revData->revOrder[p->descBrnMaster])->descBranches; const QVector& src2 = revLookup(revData->revOrder[r_descBrnMaster])->descBranches; QVector dst(src1); for (int i = 0; i < src2.count(); i++) if (std::find(src1.constBegin(), src1.constEnd(), src2[i]) == src1.constEnd()) dst.append(src2[i]); p->descBranches = dst; p->descBrnMaster = p->orderIdx; } void Git::mergeNearTags(bool down, Rev* p, const Rev* r, const QHash, bool>& dm) { bool isTag = checkRef(r->sha(), TAG); int r_descRefsMaster = isTag ? r->orderIdx : r->descRefsMaster; int r_ancRefsMaster = isTag ? r->orderIdx : r->ancRefsMaster; if (down && (p->descRefsMaster == r_descRefsMaster || r_descRefsMaster == -1)) return; if (!down && (p->ancRefsMaster == r_ancRefsMaster || r_ancRefsMaster == -1)) return; // we want the nearest tag only, so remove any tag // that is ancestor of any other tag in p U r const ShaVect& ro = revData->revOrder; const ShaString& sha1 = down ? ro[p->descRefsMaster] : ro[p->ancRefsMaster]; const ShaString& sha2 = down ? ro[r_descRefsMaster] : ro[r_ancRefsMaster]; const QVector& src1 = down ? revLookup(sha1)->descRefs : revLookup(sha1)->ancRefs; const QVector& src2 = down ? revLookup(sha2)->descRefs : revLookup(sha2)->ancRefs; QVector dst(src1); for (int s2 = 0; s2 < src2.count(); s2++) { bool add = false; for (int s1 = 0; s1 < src1.count(); s1++) { if (src2[s2] == src1[s1]) { add = false; break; } QPair key = qMakePair((uint)src2[s2], (uint)src1[s1]); if (!dm.contains(key)) { // could be empty if all tags are independent add = true; // could be an independent path continue; } add = (down && dm[key]) || (!down && !dm[key]); if (add) dst[s1] = -1; // mark for removing else break; } if (add) dst.append(src2[s2]); } QVector& nearRefs = (down ? p->descRefs : p->ancRefs); int& nearRefsMaster = (down ? p->descRefsMaster : p->ancRefsMaster); nearRefs.clear(); for (int s2 = 0; s2 < dst.count(); s2++) if (dst[s2] != -1) nearRefs.append(dst[s2]); nearRefsMaster = p->orderIdx; } void Git::indexTree() { const ShaVect& ro = revData->revOrder; if (ro.count() == 0) return; // we keep the pairs(x, y). Value is true if x is // ancestor of y or false if y is ancestor of x QHash, bool> descMap; QHash > descVect; // walk down the tree from latest to oldest, // compute children and nearest descendants for (uint i = 0, cnt = ro.count(); i < cnt; i++) { uint type = checkRef(ro[i]); bool isB = (type & (BRANCH | RMT_BRANCH)); bool isT = (type & TAG); const Rev* r = revLookup(ro[i]); if (isB) { Rev* rr = const_cast(r); if (r->descBrnMaster != -1) { const ShaString& sha = ro[r->descBrnMaster]; rr->descBranches = revLookup(sha)->descBranches; } rr->descBranches.append(i); } if (isT) { updateDescMap(r, i, descMap, descVect); Rev* rr = const_cast(r); rr->descRefs.clear(); rr->descRefs.append(i); } for (uint y = 0; y < r->parentsCount(); y++) { Rev* p = const_cast(revLookup(r->parent(y))); if (p) { p->children.append(i); if (p->descBrnMaster == -1) p->descBrnMaster = isB ? r->orderIdx : r->descBrnMaster; else mergeBranches(p, r); if (p->descRefsMaster == -1) p->descRefsMaster = isT ? r->orderIdx : r->descRefsMaster; else mergeNearTags(optGoDown, p, r, descMap); } } } // walk backward through the tree and compute nearest tagged ancestors for (int i = ro.count() - 1; i >= 0; i--) { const Rev* r = revLookup(ro[i]); bool isTag = checkRef(ro[i], TAG); if (isTag) { Rev* rr = const_cast(r); rr->ancRefs.clear(); rr->ancRefs.append(i); } for (int y = 0; y < r->children.count(); y++) { Rev* c = const_cast(revLookup(ro[r->children[y]])); if (c) { if (c->ancRefsMaster == -1) c->ancRefsMaster = isTag ? r->orderIdx:r->ancRefsMaster; else mergeNearTags(!optGoDown, c, r, descMap); } } } } qgit-qgit-2.11/src/git.h000066400000000000000000000266131500324541100150710ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef GIT_H #define GIT_H #include "exceptionmanager.h" #include "common.h" template struct QPair; class QRegExp; class QTextCodec; class Annotate; //class DataLoader; class Domain; class FileHistory; class Lanes; class MyProcess; class Git : public QObject { Q_OBJECT public: explicit Git(QObject* parent); // used as self-documenting boolean parameters static const bool optSaveCache = true; static const bool optGoDown = true; //CT TODO private, enum static const bool optOnlyLoaded = true; static const bool optDragDrop = true; static const bool optFold = true; static const bool optAmend = true; //CT TODO enum static const bool optOnlyInIndex = true; //CT TODO private, enum static const int shortHashLenDefault = 7; enum RefType { TAG = 1, BRANCH = 2, RMT_BRANCH = 4, CUR_BRANCH = 8, REF = 16, APPLIED = 32, UN_APPLIED = 64, ANY_REF = 127 }; struct TreeEntry { TreeEntry(SCRef n, SCRef s, SCRef t) : name(n), sha(s), type(t) {} bool operator<(const TreeEntry&) const; QString name; QString sha; QString type; }; typedef QList TreeInfo; void setDefaultModel(FileHistory* fh) { revData = fh; } void checkEnvironment(); void userInfo(SList info); const QStringList getGitConfigList(bool global); bool getGitDBDir(SCRef wd, QString& gd, bool& changed); bool getBaseDir(SCRef wd, QString& bd, bool& changed); bool init(SCRef wd, bool range, const QStringList* args, bool overwrite, bool* quit); void stop(bool saveCache); void setThrowOnStop(bool b); bool isThrowOnStopRaised(int excpId, SCRef curContext); void setLane(SCRef sha, FileHistory* fh); Annotate* startAnnotate(FileHistory* fh, QObject* guiObj); const FileAnnotation* lookupAnnotation(Annotate* ann, SCRef sha); void cancelAnnotate(Annotate* ann); bool startFileHistory(SCRef sha, SCRef startingFileName, FileHistory* fh); void cancelDataLoading(const FileHistory* fh); void cancelProcess(MyProcess* p); bool isCommittingMerge() const { return isMergeHead; } bool isStGITStack() const { return isStGIT; } bool isPatchName(SCRef nm); bool isSameFiles(SCRef tree1Sha, SCRef tree2Sha); static bool isImageFile(SCRef file); static bool isBinaryFile(SCRef file); bool isNothingToCommit(); bool isUnknownFiles() const { return (workingDirInfo.otherFiles.count() > 0); } bool isTextHighlighter() const { return isTextHighlighterFound; } const QString textHighlighterVersion() const { return textHighlighterVersionFound; } bool isMainHistory(const FileHistory* fh) { return (fh == revData); } bool isContiguous(const QStringList &revs); MyProcess* getDiff(SCRef sha, QObject* receiver, SCRef diffToSha, bool combined); const QString getWorkDirDiff(SCRef fileName = ""); MyProcess* getFile(SCRef fileSha, QObject* receiver, QByteArray* result, SCRef fileName); MyProcess* getHighlightedFile(SCRef fileSha, QObject* receiver, QString* result, SCRef fileName); const QString getFileSha(SCRef file, SCRef revSha); bool saveFile(SCRef fileSha, SCRef fileName, SCRef path); void getFileFilter(SCRef path, ShaSet& shaSet) const; bool getPatchFilter(SCRef exp, bool isRegExp, ShaSet& shaSet); const RevFile* getFiles(SCRef sha, SCRef sha2 = "", bool all = false, SCRef path = ""); bool getTree(SCRef ts, TreeInfo& ti, bool wd, SCRef treePath); static const QString getLocalDate(SCRef gitDate); const QString getCurrentBranchName() const {return curBranchName;} const QString getDesc(SCRef sha, QRegExp& slogRE, QRegExp& lLogRE, bool showH, FileHistory* fh); const QString getLastCommitMsg(); const QString getNewCommitMsg(); const QString getLaneParent(SCRef fromSHA, int laneNum); const QStringList getChildren(SCRef parent); const QStringList getNearTags(bool goDown, SCRef sha); const QStringList getDescendantBranches(SCRef sha, bool shaOnly = false); const QString getShortLog(SCRef sha); const QString getTagMsg(SCRef sha); const Rev* revLookup(const ShaString& sha, const FileHistory* fh = NULL) const; const Rev* revLookup(SCRef sha, const FileHistory* fh = NULL) const; uint checkRef(const ShaString& sha, uint mask = ANY_REF) const; uint checkRef(SCRef sha, uint mask = ANY_REF) const; const QString getRevInfo(SCRef sha); int getShortHashLength(); const QString getRefSha(SCRef refName, RefType type = ANY_REF, bool askGit = true); const QStringList getRefNames(SCRef sha, uint mask = ANY_REF) const; const QStringList getAllRefNames(uint mask, bool onlyLoaded); const QStringList getAllRefSha(uint mask); const QStringList sortShaListByIndex(SCList shaList); //const QString refAsShortHash(SCRef sha); void getWorkDirFiles(SList files, SList dirs, RevFile::StatusFlag status); QTextCodec* getTextCodec(bool* isGitArchive); bool formatPatch(SCList shaList, SCRef dirPath, SCRef remoteDir = ""); bool updateIndex(SCList selFiles); bool commitFiles(SCList files, SCRef msg, bool amend); bool applyPatchFile(SCRef patchPath, bool fold, bool sign); bool resetCommits(int parentDepth); bool merge(SCRef into, SCList sources, QString* error=NULL); bool stgCommit(SCList selFiles, SCRef msg, SCRef patchName, bool fold); bool stgPush(SCRef sha); bool stgPop(SCRef sha); void setTextCodec(QTextCodec* tc); void addExtraFileInfo(QString* rowName, SCRef sha, SCRef diffToSha, bool allMergeFiles); void removeExtraFileInfo(QString* rowName); void formatPatchFileHeader(QString* rowName, SCRef sha, SCRef dts, bool cmb, bool all); int findFileIndex(const RevFile& rf, SCRef name); const QString filePath(const RevFile& rf, uint i) const { return dirNamesVec[rf.dirAt(i)] + fileNamesVec[rf.nameAt(i)]; } int shortHashLength() const { return shortHashLen; } void setCurContext(Domain* d) { curDomain = d; } Domain* curContext() const { return curDomain; } signals: void newRevsAdded(const FileHistory*, const QVector&); void loadCompleted(const FileHistory*, const QString&); void cancelLoading(const FileHistory*); void cancelAllProcesses(); void annotateReady(Annotate*, bool, const QString&); void fileNamesLoad(int, int); void changeFont(const QFont&); public slots: void procReadyRead(const QByteArray&); void procFinished(); private slots: void loadFileCache(); void loadFileNames(); void on_runAsScript_eof(); void on_getHighlightedFile_eof(); void on_newDataReady(const FileHistory*); void on_loaded(FileHistory*, ulong,int,bool,const QString&,const QString&); private: friend class MainImpl; friend class DataLoader; friend class ConsoleImpl; friend class RevsView; struct Reference { // stores tag information associated to a revision Reference() : type(0) {} uint type; QStringList branches; QStringList remoteBranches; QStringList tags; QStringList refs; QString tagObj; // TODO support more then one obj QString tagMsg; QString stgitPatch; }; typedef QHash RefMap; struct WorkingDirInfo { void clear() { diffIndex = diffIndexCached = ""; otherFiles.clear(); } QString diffIndex; QString diffIndexCached; QStringList otherFiles; }; WorkingDirInfo workingDirInfo; struct LoadArguments { // used to pass arguments to init2() QStringList args; bool filteredLoading; QStringList filterList; }; LoadArguments loadArguments; struct FileNamesLoader { FileNamesLoader() : rf(NULL) {} RevFile* rf; QVector rfDirs; QVector rfNames; }; FileNamesLoader fileLoader; void init2(); bool run(SCRef cmd, QString* out = NULL, QObject* rcv = NULL, SCRef buf = ""); bool run(QByteArray* runOutput, SCRef cmd, QObject* rcv = NULL, SCRef buf = ""); MyProcess* runAsync(SCRef cmd, QObject* rcv, SCRef buf = ""); MyProcess* runAsScript(SCRef cmd, QObject* rcv = NULL, SCRef buf = ""); const QStringList getArgs(bool* quit, bool repoChanged); bool getRefs(); void parseStGitPatches(SCList patchNames, SCList patchShas); void clearRevs(); void clearFileNames(); bool startRevList(SCList args, FileHistory* fh); bool startUnappliedList(); bool startParseProc(SCList initCmd, FileHistory* fh, SCRef buf); bool tryFollowRenames(FileHistory* fh); bool populateRenamedPatches(SCRef sha, SCList nn, FileHistory* fh, QStringList* on, bool bt); bool filterEarlyOutputRev(FileHistory* fh, Rev* rev); int addChunk(FileHistory* fh, const QByteArray& ba, int ofs); void parseDiffFormat(RevFile& rf, SCRef buf, FileNamesLoader& fl); void parseDiffFormatLine(RevFile& rf, SCRef line, int parNum, FileNamesLoader& fl); void getDiffIndex(); Rev* fakeRevData(SCRef sha, SCList parents, SCRef author, SCRef date, SCRef log, SCRef longLog, SCRef patch, int idx, FileHistory* fh); const Rev* fakeWorkDirRev(SCRef parent, SCRef log, SCRef longLog, int idx, FileHistory* fh); const RevFile* fakeWorkDirRevFile(const WorkingDirInfo& wd); bool copyDiffIndex(FileHistory* fh, SCRef parent); const RevFile* insertNewFiles(SCRef sha, SCRef data); const RevFile* getAllMergeFiles(const Rev* r); bool runDiffTreeWithRenameDetection(SCRef runCmd, QString* runOutput); bool isParentOf(SCRef par, SCRef child); bool isTreeModified(SCRef sha); void indexTree(); void updateDescMap(const Rev* r, uint i, QHash,bool>& dm, QHash >& dv); void mergeNearTags(bool down, Rev* p, const Rev* r, const QHash, bool>&dm); void mergeBranches(Rev* p, const Rev* r); void updateLanes(Rev& c, Lanes& lns, SCRef sha); bool mkPatchFromWorkDir(SCRef msg, SCRef patchFile, SCList files); const QStringList getOthersFiles(); const QStringList getOtherFiles(SCList selFiles, bool onlyInIndex); const QString getNewestFileName(SCList args, SCRef fileName); static const QString colorMatch(SCRef txt, QRegExp& regExp); void appendFileName(RevFile& rf, SCRef name, FileNamesLoader& fl); void flushFileNames(FileNamesLoader& fl); void populateFileNamesMap(); const QString formatList(SCList sl, SCRef name, bool inOneLine = true); static const QString quote(SCRef nm); static const QString quote(SCList sl); static const QStringList noSpaceSepHack(SCRef cmd); void removeDeleted(SCList selFiles); void setStatus(RevFile& rf, SCRef rowSt); void setExtStatus(RevFile& rf, SCRef rowSt, int parNum, FileNamesLoader& fl); void appendNamesWithId(QStringList& names, SCRef sha, SCList data, bool onlyLoaded); Reference* lookupReference(const ShaString& sha); Reference* lookupOrAddReference(const ShaString& sha); EM_DECLARE(exGitStopped); Domain* curDomain; QString workDir; // workDir is always without trailing '/' QString gitDir; QString filesLoadingPending; QString filesLoadingCurSha; QString curBranchName; int filesLoadingStartOfs; bool cacheNeedsUpdate; bool errorReportingEnabled; bool isMergeHead; bool isStGIT; bool isGIT; bool isTextHighlighterFound; QString textHighlighterVersionFound; bool loadingUnAppliedPatches; bool fileCacheAccessed; int patchesStillToFind; int shortHashLen; QString firstNonStGitPatch; RevFileMap revsFiles; QVector revsFilesShaBackupBuf; RefMap refsShaMap; QVector shaBackupBuf; StrVect fileNamesVec; StrVect dirNamesVec; QHash fileNamesMap; // quick lookup file name QHash dirNamesMap; // quick lookup directory name FileHistory* revData; }; #endif qgit-qgit-2.11/src/help.h000066400000000000000000000527261500324541100152420ustar00rootroot00000000000000/* Help content is generated automatically from README.adoc by helpgen script */ static const char* helpInfo = "\n" "

QGit Handbook

\n" "

Command line arguments

\n" "

Run qgit from a git working directory, command line arguments\n" "are filtered by git log. Some examples:

\n" "
\n" "
qgit --no-merges\n"
"qgit v2.6.18.. include/scsi drivers/scsi\n"
"qgit --since=\"2 weeks ago\" -- kernel/\n"
"qgit -r --name-status release..test
\n" "

If qgit is launched without arguments or if you change archive with\n" "open menu, a dialog for range select is shown.\n" "You can select top and bottom rev tags from the list or paste a\n" "specific revision. Values are passed to git log to narrow\n" "data loading to chosen revisions.

\n" "
\n" "

Main view

\n" "

You can navigate through logs, file names, file history, archive tree.\n" "All the views will be updated accordingly.

\n" "

Copy/paste is supported on all fields. Copy (CTRL+C) is supported on\n" "all views.

\n" "

All the references found recursively under .git/refs/ directory are\n" "highlighted according to their type: current branch(HEAD), branch, tag,\n" "other. Reference names and any associated messages can be viewed in status\n" "bar when a tagged revision is selected.

\n" "

When you right click on main view a context sensitive pop-up menu is shows\n" "available commands and a quick jump tag list.

\n" "
\n" "
\n" "Key bindings\n" "
\n" "
\n" "
\n" "
\n" "
\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "\n" "

r

Go to revisions list page

p

Go to patch page

f

Go to file page

<Alt+wheel>

Go to next/previous page

t

Toggle tree view

s

Toggle view of secondary panes

h

Toggle view of revision header

<Home>

Move to first revision

<End>

Move to last revision

i

Move up one revision in main view (global scope)

n, k

Move down one revision in main view (global scope)

<Shift-Up>

Move to previous highlighted line

<Shift-Down>

Move to next highlighted line

<Left>

Go back in history list

<Right>

Go forward in history list

<CTRL-plus>

Increase font size

<CTRL-minus>

Decrease font size

<Delete>, b

Scroll content up one page

<Backspace>

Scroll content up one page

<Space>

Scroll content down one page

u

Scroll content up 18 lines

d

Scroll content down 18 lines

\n" "
\n" "
\n" "
\n" "Directory tree\n" "
\n" "
\n" "

\n" "From menu or toolbar button it is possible to show a side panel with\n" "tree view of repository files and directories.\n" "

\n" "

Double clicking on a file opens file annotation window. With filter by tree\n" "button it is possible to compress revision list to show only selected\n" "files/directories in tree view.

\n" "

Tree view supports multi-selection. When you right click on a file on tree\n" "view a context sensitive pop-up menu is shows with available commands.

\n" "
\n" "
\n" "Working directory changes\n" "
\n" "
\n" "

\n" "When Check working dir flag is set, as example from main view context\n" "pop-up menu, a pseudo-revision is shown and highlighted at the top of the\n" "list. Highlight and revision name reflect current working directory status:\n" "Nothing to commit or Working directory changes respectively.\n" "

\n" "

To check for working directory modified files set corresponding preference in\n" "Edit→Settings→'Working dir'. QGit checks for possible new files added in\n" "working directory using ignoring rules according to git ls-files\n" "specifications, see menu Edit→Settings→'Working dir'.

\n" "\n" "\n" "\n" "
\n" "

Tip

\n" "
If you don’t need to see modified files in working dir, disable\n" "corresponding setting and start-up time will be shorter.
\n" "
\n" "
\n" "Lane info\n" "
\n" "
\n" "

\n" "Selecting a lane with mouse right button will display a pop-up\n" "with the list of children and parent. Select one and you jump to it.\n" "

\n" "
\n" "
\n" "Filter / Highlight\n" "
\n" "
\n" "

\n" "Use the combo box to select where you want to filter or highlight on.\n" "Currently supported fields are: log header, log message, revision author,\n" "revision SHA1, file name and patch content.\n" "

\n" "

Write a filter string, press filter button and the view\n" "will update showing only commits that contain the filter string,\n" "case insensitive. Toggle filter button to release the filter.

\n" "

Alternatively press the magnifying glass button, in this case matched\n" "lines will be highlighted, you can use <Shift-Up> and <Shift-Down>\n" "keys to browse them. Toggle the button to remove the highlighting.

\n" "\n" "\n" "\n" "
\n" "

Note

\n" "
In case of patch content regexp filtering, the given string is\n" "interpreted as a POSIX regular expression, not as a simple substring.
\n" "\n" "\n" "\n" "
\n" "

Tip

\n" "
Very useful to quick retrieve a sha writing only first 3-4\n" "digits and filtering / highlighting on revision sha. The sha value\n" "can then be copied from SHA field.
\n" "\n" "\n" "\n" "
\n" "

Tip

\n" "
It is possible to insert an abbreviated sha directly in the\n" "SHA line edit at the top right of the window. After pressing enter\n" "this will trigger an higlighting of the matched revisions. It is\n" "a kind of shortcut of the previous tip.
\n" "
\n" "
\n" "Save patch series\n" "
\n" "
\n" "

\n" "After mouse selecting the chosen revisions (use standard CTRL+left click)\n" "for single select or SHIFT+left click for range select), press Save\n" "Patch button or use file menu and a dialog will let you choose patches\n" "destination directory. Then git format-patch-script will be called and\n" "patches created. It is possible to specify additional options with\n" "Edit→Settings menu.\n" "

\n" "
\n" "
\n" "Apply patch\n" "
\n" "
\n" "

\n" "This menu entry is complementary to save patch and it’s an interface\n" "to git am.\n" "

\n" "
\n" "
\n" "Drag and drop\n" "
\n" "
\n" "

\n" "It is possible to drag some selected revs from one instance of qgit to another\n" "open on a different archive. In this case git format-patch is used in the\n" "dragging archive to create temporary patches imported in the dropping archive\n" "by git am.\n" "

\n" "
\n" "
\n" "Make branch\n" "
\n" "
\n" "

\n" "Select a revision and open Edit→'Make Branch' or use right click context\n" "pop-up menu. A dialog will be shown asking for a branch name.\n" "

\n" "
\n" "
\n" "Make tag\n" "
\n" "
\n" "

\n" "Select a revision and open Edit→'Make Tag' or use right click context\n" "pop-up menu. Two dialogs will be shown, the first asking for a tag name, the\n" "second for a tag message (not mandatory). If a non empty message is written,\n" "this will be saved together with the tag. Tags and tag messages can be viewed\n" "in status bar when a tagged revision is selected.\n" "

\n" "
\n" "
\n" "Delete tag\n" "
\n" "
\n" "

\n" "Select a tagged revision and open Edit→'Delete Tag' or use right click\n" "context pop-up menu. After confirmation the selected revision will be\n" "untagged.\n" "

\n" "
\n" "
\n" "Save file\n" "
\n" "
\n" "

\n" "Select a file from tree or file list and open File→'Save file as' or use the\n" "tree view context sensitive pop-up menu (right click), a dialog will be shown\n" "asking for a file name (default to current) and destination directory. Input\n" "a valid name, press OK and the file will be saved.\n" "

\n" "
\n" "
\n" "Commit changes\n" "
\n" "
\n" "

\n" "When enabled with Edit→Settings→'Working dir'→'Diff against working dir'\n" "and there is something committable, a special highlighted first revision is\n" "shown, with the status of the archive and the possible pending stuff.\n" "From Edit→Commit it is then possible to invoke the commit dialog.\n" "

\n" "

In commit dialog select the files to commit or, simply, to sync with index\n" "(call git update-index on them). A proper commit message may be entered and,\n" "after confirmation, changes are committed and a new revision is created.

\n" "

It is also possible to amend last commit. The Edit→Amend commit opens the\n" "same dialog, but changes are added to the head commit instead of creating new\n" "commit.

\n" "

The core commit function is performed by git commit.

\n" "\n" "\n" "\n" "
\n" "

Tip

\n" "
It is possible to use a template for commit message, use\n" "Edit→Settings→Commit to define template file path.
\n" "
\n" "
\n" "
\n" "

Patch viewer

\n" "

To open patch tab use context menu, double click on a revision or file in\n" "main view or select View→'View patch' menu (CTRL+P). The patch shown is\n" "the diff of current selected commit against:

\n" "
    \n" "
  • \n" "

    \n" "Parent (default)\n" "

    \n" "
  • \n" "
  • \n" "

    \n" "HEAD\n" "

    \n" "
  • \n" "
  • \n" "

    \n" "Selected SHA or reference name\n" "

    \n" "
  • \n" "
\n" "

In the last case SHA is chosen by writing or pasting a tree-ish or a reference\n" "names in the corresponding field and pressing return. You get the same result\n" "also with a CTRL+right click on a revision in main list. Selected target\n" "will be highlighted. CTRL+right click again on the highlighted revision to\n" "release the filter.

\n" "

With the filter button at the right of the tool bar it is possible to\n" "toggle the display of removed code lines. This can be useful to easy\n" "reading of the patch.

\n" "
\n" "

External diff tool

\n" "

From View→External diff it is possible to invoke an external diff tool,\n" "as example to view the diffs in a two vertical tiled windows.

\n" "

External diff tool shows the diffs between two files.\n" "First file is the current selected file of current revision.\n" "Second file is the same file of the parent revision or of a specific revision\n" "if diff to sha feature is enabled (diff target is highlighted, see above).

\n" "

Default external viewer is kompare, but it is possible to set a preferred one\n" "from Edit→Settings→External Diff Tool.

\n" "
\n" "

File viewer

\n" "

It is possible to view file contents of any file at any revision time in\n" "history.

\n" "
\n" "
\n" "File list panel\n" "
\n" "
\n" "

\n" "In the bottom right of main view a list of files modified by current\n" "revision is shown. Selecting a file name will update the patch view\n" "to center on the file. File names colors use the following convention\n" "

\n" "
    \n" "
  • \n" "

    \n" "black for modified files\n" "

    \n" "
  • \n" "
  • \n" "

    \n" "green for new files\n" "

    \n" "
  • \n" "
  • \n" "

    \n" "red for removed files\n" "

    \n" "
  • \n" "
  • \n" "

    \n" "dark blue for renamed/copied files\n" "

    \n" "
  • \n" "
\n" "
\n" "
\n" "Merge files\n" "
\n" "
\n" "

\n" "In case of merges the groups of files corresponding to each merge parent\n" "are separated by two empty lines.\n" "

\n" "

In case of merges you can chose between to see all the merge files or only\n" "the interesting ones (default), i.e. the files modified by more then one\n" "merge parent.

\n" "
\n" "
\n" "File content\n" "
\n" "
\n" "

\n" "To view file content double click on a file name in tree view, or use context\n" "menu in file list or select View→'View file' menu (CTRL+A).\n" "

\n" "

In file view page will be shown current revision’s file content and file\n" "history.

\n" "

It is possible to copy to the clipboard the selected content with CTRL+C or\n" "with the corresponding button.

\n" "
\n" "
\n" "File annotations\n" "
\n" "
\n" "

\n" "On opening or updating file viewer, file history will be retrieved from archive\n" "together with file content. Annotations are then calculated in background\n" "and the view is updated when ready.\n" "

\n" "

Double clicking on an annotation index number will update history list\n" "to point to corresponding revision.

\n" "

Hovering the mouse over an annotation index will show a tool tip with the\n" "corresponding revision description.

\n" "

File content will change too, to show new selected revision file. To keep\n" "the same view content after double clicking, probably what you want, just pin\n" "it with Pin view check button. Next to the check button there is a spinbox\n" "to show/select the current revision number.

\n" "

Double click on history list entry to update main, patch and tree views to\n" "corresponding revision.

\n" "
\n" "
\n" "Code region filter\n" "
\n" "
\n" "

\n" "When annotation info is available the filter button is enabled and it is\n" "possible to mouse select a region of file content. Then, when pressing\n" "the filter button, only revisions that modify the selected region will be\n" "visible. Selected code region is highlighted and a shrunken history is\n" "shown. Filter button is a toggle button, so just press it again to\n" "release the filter.\n" "

\n" "
\n" "
\n" "Syntax highlighter\n" "
\n" "
\n" "

\n" "If GNU Source-highlight (http://www.gnu.org/software/src-highlite/) is\n" "installed and in PATH then it is possible to toggle source code highlight\n" "pressing the Color text tool button. Please refer to Source-highlight\n" "site for the list of supported languages and additional documentation.\n" "

\n" "
\n" "
\n" "
\n" "

Actions

\n" "

Actions can be added/removed using a dedicated dialog invoked\n" "from Actions→Setup actions… menu. Actions can be activated\n" "clicking on their name from the Actions menu.

\n" "

Each action can be associated to a list of any type of git or shell\n" "commands or to an external script.

\n" "

While an action is running a terminal window is shown to display the\n" "corresponding output.

\n" "

An action can also ask for command line arguments before to run so\n" "to allow for maximum flexibility.

\n" "\n" "\n" "\n" "
\n" "

Note

\n" "
command line arguments are always appended to the first command only.\n" "This lets you define an action like:
\n" "
\n" "
git fetch\n"
"git merge
\n" "

And if you type origin when prompted, the action executed will be:

\n" "
\n" "
git fetch origin\n"
"git merge
\n" "

If you need a more complex arguments passing with a shell like notation\n" "define a script and associate your action to it.

\n" "
\n" "

Integration with StGIT

\n" "

When a StGIT stack is found on top of a git archive, qgit transparently\n" "handles the added information.

\n" "

Integration with StGIT is implemented both by new and modified functions.

\n" "

New functions are automatically activated:

    \n" "
  • \n" "

    \n" "Visualization of applied and unapplied patches in main view.\n" "

    \n" "
  • \n" "
  • \n" "

    \n" "Interface to push/pop patches by a mouse right click on selected items.\n" " Push supports also multi-selection.\n" "

    \n" "
  • \n" "
\n" "

Existing functions change behavior:

    \n" "
  • \n" "

    \n" "Amend commit dialog refreshes top stack patch with modified files instead\n" " of amending the commit. It is appropriately renamed in the menu.\n" "

    \n" "
  • \n" "
  • \n" "

    \n" "Commit dialog creates a new patch on the top of the stack filled with\n" " modified working directory content instead of commit a new revision to\n" " git repository.\n" "

    \n" "
  • \n" "
  • \n" "

    \n" "Apply patch changes to interface StGIT import and fold commands instead\n" " of applying patch directly on the git repository.\n" "

    \n" "
  • \n" "
\n" "
\n"; qgit-qgit-2.11/src/help.ui000066400000000000000000000031401500324541100154120ustar00rootroot00000000000000 HelpBase 0 0 631 451 Help :/icons/resources/question.svg:/icons/resources/question.svg Qt::Vertical false true QDialogButtonBox::Close buttonBox rejected() HelpBase close() 315 393 315 225 qgit-qgit-2.11/src/helpgen.sh000077500000000000000000000010721500324541100161060ustar00rootroot00000000000000#!/bin/sh # Generate help.h from README.adoc set -e infile="$1" outfile="$2" tmpfile1="$2.t1" tmpfile2="$2.t2" asciidoc --attribute 'newline=\n' --backend=html4 --no-header-footer \ --out-file="$tmpfile1" "$infile" sed -n -e 's/"/\\"/g' -e '/Command line arguments/,$s/^.*$/"&\\n"/p' \ "$tmpfile1" >"$tmpfile2" cat >"$outfile" <

QGit Handbook

\n" `cat "$tmpfile2"` "\n"; EOF rm -f "$tmpfile1" "$tmpfile2" qgit-qgit-2.11/src/icons.qrc000066400000000000000000000100771500324541100157540ustar00rootroot00000000000000 resources/go-down.svg resources/go-up.svg resources/emblem-favorite.svg resources/archive-insert.svg resources/window-close.svg resources/colors-chromablue.svg resources/configure.svg resources/edit-copy.svg resources/document-encrypted.svg resources/view-filter.svg resources/edit-find.svg resources/folder.svg resources/folder-open.svg resources/question.svg resources/text-x-patch.svg resources/document-save.svg resources/minusonly.svg resources/snap-page.svg resources/go-next.svg resources/window-pin.svg resources/utilities-terminal.svg resources/document-edit-sign.svg resources/plusminus.svg resources/plusonly.svg resources/go-previous.svg resources/qgit.svg resources/join.svg resources/view-refresh.svg resources/archive-remove.svg resources/svn-commit.svg resources/view-split-effect.svg resources/view-split-top-bottom.svg resources/view-list-tree.svg resources/autocorrection.svg resources/file/application-json.svg resources/file/application-pdf.svg resources/file/application-x-ace.svg resources/file/application-x-bzip.svg resources/file/application-x-compressed-tar.svg resources/file/application-x-designer.svg resources/file/application-x-java.svg resources/file/application-x-javascript.svg resources/file/application-x-perl.svg resources/file/application-x-python-bytecode.svg resources/file/application-x-ruby.svg resources/file/application-x-sharedlib.svg resources/file/application-x-tar.svg resources/file/application-zip.svg resources/file/dialog-xml-editor.svg resources/file/image-bmp.svg resources/file/image-gif.svg resources/file/image-jpeg.svg resources/file/image-png.svg resources/file/image-svg+xml-compressed.svg resources/file/image-tiff.svg resources/file/image-x-generic.svg resources/file/image-x-ico.svg resources/file/image-x-xcf.svg resources/file/project-development.svg resources/file/text-css.svg resources/file/text-csv.svg resources/file/text-dockerfile.svg resources/file/text-html.svg resources/file/text-rtf.svg resources/file/text-rust.svg resources/file/text-x-c++hdr.svg resources/file/text-x-c++src.svg resources/file/text-x-chdr.svg resources/file/text-x-cmake.svg resources/file/text-x-csharp.svg resources/file/text-x-csrc.svg resources/file/text-x-generic.svg resources/file/text-x-go.svg resources/file/text-x-markdown.svg resources/file/text-x-patch.svg resources/file/text-x-qml.svg resources/file/text-x-r.svg resources/file/text-x-script.svg resources/file/text-x-tex.svg qgit-qgit-2.11/src/inputdialog.cpp000066400000000000000000000154071500324541100171570ustar00rootroot00000000000000#include "inputdialog.h" #include "common.h" #include #include #include #include #include #include #include #include #include #include namespace QGit { InputDialog::WidgetItem::WidgetItem() : widget(NULL) { } void InputDialog::WidgetItem::init(QWidget* w, const char *name) { widget = w; prop_name = name; } QString parseString(const QString &value, const InputDialog::VariableMap &vars) { if (value.startsWith('$')) return vars.value(value.mid(1), QString()).toString(); else return value; } QStringList parseStringList(const QString &value, const InputDialog::VariableMap &vars) { QStringList values = value.split(','); QStringList result; for (QStringList::iterator it=values.begin(), end=values.end(); it!=end; ++it) { if (it->startsWith('$')) result.append(vars.value(value.mid(1), QStringList()).toStringList()); else result.append(*it); } return result; } class RefNameValidator : public QValidator { public: RefNameValidator(bool allowEmpty=false, QObject *parent=0) : QValidator(parent) , invalid("[ ~^:\?*[]") , allowEmpty(allowEmpty) {} void fixup(QString& input) const; State validate(QString & input, int & pos) const; private: const QRegExp invalid; bool allowEmpty; }; void RefNameValidator::fixup(QString &input) const { // remove invalid chars input.replace(invalid, ""); input.replace("/.","/"); // no dot after slash input.replace("..","."); // no two dots in a row input.replace("//","/"); // no two slashes in a row input.replace("@{", "@"); // no sequence @{ } QValidator::State RefNameValidator::validate(QString &input, int &pos) const { // https://www.kernel.org/pub/software/scm/git/docs/git-check-ref-format.html // automatically remove invalid chars QString front = input.left(pos); fixup(front); QString rear = input.mid(pos); fixup(rear); input = front + rear; // keep cursor were it was pos = front.length(); QString fixed(input); fixup(fixed); if (fixed != input) return Invalid; // empty string or single @ are not allowed if ((input.isEmpty() && !allowEmpty) || input == "@") return Intermediate; return Acceptable; } InputDialog::InputDialog(const QString &cmd, const VariableMap &variables, const QString &title, QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f) , cmd(cmd) { this->setWindowTitle(title); QGridLayout *layout = new QGridLayout(this); QRegExp re("%(([a-z_]+)([[]([a-z ,]+)[]])?:)?([^%=]+)(=[^%]+)?%"); int start = 0; int row = 0; while ((start = re.indexIn(cmd, start)) != -1) { const QString type = re.cap(2); const QStringList opts = re.cap(4).split(',', QGIT_SPLITBEHAVIOR(SkipEmptyParts)); const QString name = re.cap(5); const QString value = re.cap(6).mid(1); if (widgets.count(name)) { // widget already created if (!type.isEmpty()) dbs("token must not be redefined: " + name); continue; } WidgetItemPtr item (new WidgetItem()); item->start = start; item->end = start = start + re.matchedLength(); if (type == "combobox") { QComboBox *w = new QComboBox(this); w->addItems(parseStringList(value, variables)); if (opts.contains("editable")) w->setEditable(true); w->setMinimumWidth(100); if (opts.contains("ref")) { w->setValidator(new RefNameValidator(opts.contains("empty"))); validators.insert(name, w->validator()); connect(w, SIGNAL(editTextChanged(QString)), this, SLOT(validate())); } item->init(w, "currentText"); } else if (type == "listbox") { QListView *w = new QListView(this); w->setModel(new QStringListModel(parseStringList(value, variables))); item->init(w, NULL); } else if (type == "lineedit" || type == "") { QLineEdit *w = new QLineEdit(this); w->setText(parseString(value, variables)); QStringList values = parseStringList(value, variables); if (!values.isEmpty()) // use default string list as w->setCompleter(new QCompleter(values)); if (opts.contains("ref")) { w->setValidator(new RefNameValidator(opts.contains("empty"))); validators.insert(name, w->validator()); connect(w, SIGNAL(textEdited(QString)), this, SLOT(validate())); } item->init(w, "text"); } else if (type == "textedit") { QTextEdit *w = new QTextEdit(this); w->setText(parseString(value, variables)); item->init(w, "plainText"); } else { dbs("unknown widget type: " + type); continue; } widgets.insert(name, item); if (name.startsWith('_')) { // _name triggers hiding of label layout->addWidget(item->widget, row, 1); } else { layout->addWidget(new QLabel(name + ":"), row, 0); layout->addWidget(item->widget, row, 1); } ++row; } QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); layout->addWidget(buttons, row, 0, 1, 2); okButton = buttons->button(QDialogButtonBox::Ok); connect(okButton, SIGNAL(pressed()), this, SLOT(accept())); connect(buttons->button(QDialogButtonBox::Cancel), SIGNAL(pressed()), this, SLOT(reject())); validate(); } QWidget *InputDialog::widget(const QString &token) { WidgetItemPtr item = widgets.value(token); return item ? item->widget : NULL; } QVariant InputDialog::value(const QString &token) const { WidgetItemPtr item = widgets.value(token); if (!item) { dbs("unknown token: " + token); return QString(); } return item->widget->property(item->prop_name); } bool InputDialog::validate() { bool result=true; for (QMap::const_iterator it=validators.begin(), end=validators.end(); result && it != end; ++it) { QString val = value(it.key()).toString(); int pos=0; if (it.value()->validate(val, pos) != QValidator::Acceptable) result=false; } okButton->setEnabled(result); return result; } QString InputDialog::replace(const VariableMap &variables) const { QString result = cmd; int shift = 0, start = 0, len = 0; // will keep track of position shifts during replacements for (WidgetMap::const_iterator it = widgets.begin(), end = widgets.end(); it != end; ++it) { QString token = "%" + it.key() + "%"; WidgetItemPtr item = it.value(); start = item->start - shift; len = item->end - item->start; QString value = item->widget->property(item->prop_name).toString(); result.replace(start, len, value); // replace main token shift += len - value.length(); result.replace(token, value); // replace all other occurences of %name% } for (VariableMap::const_iterator it=variables.begin(), end=variables.end(); it != end; ++it) { QString token = "$" + it.key(); QString val = it.value().type() == QVariant::StringList ? it.value().toStringList().join(" ") : it.value().toString(); result.replace(token, val); } return result; } } // namespace QGit qgit-qgit-2.11/src/inputdialog.h000066400000000000000000000031151500324541100166150ustar00rootroot00000000000000#pragma once #include #include class QValidator; class QPushButton; namespace QGit { /** create an input dialog from a command containing tokens of the form * %[options]:=% * For default values, variables of the form $VAR_NAME can be used. * For each of those tokens, an input widget is created. * Supported widgets include: lineedit, combobox, textedit * options include: * - [ref]: enable ref name validation * - [editable]: ediable combobox */ class InputDialog : public QDialog { Q_OBJECT struct WidgetItem { WidgetItem(); void init(QWidget* w, const char *name); const char *prop_name; // property name QWidget *widget; int start, end; }; typedef QSharedPointer WidgetItemPtr; typedef QMap WidgetMap; // map from token names to WidgetMap widgets; QString cmd; QMap validators; QPushButton *okButton; public: typedef QMap VariableMap; explicit InputDialog(const QString &cmd, const VariableMap &variables, const QString &title="", QWidget *parent = 0, Qt::WindowFlags f = Qt::WindowFlags()); /// any widgets defined? bool empty() const {return widgets.empty();} /// retrieve widget of given token QWidget *widget(const QString &token); /// retrieve value of given token QVariant value(const QString &token) const; /// replace all tokens in cmd by their values QString replace(const VariableMap &variables) const; public Q_SLOTS: virtual bool validate(); }; } // namespace QGit qgit-qgit-2.11/src/lanes.cpp000066400000000000000000000130651500324541100157400ustar00rootroot00000000000000/* Description: history graph computation Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include "common.h" #include "lanes.h" #define IS_NODE(x) (x == NODE || x == NODE_R || x == NODE_L) using namespace QGit; void Lanes::init(const QString& expectedSha) { clear(); activeLane = 0; setBoundary(false); add(BRANCH, expectedSha, activeLane); } void Lanes::clear() { typeVec.clear(); nextShaVec.clear(); } void Lanes::setBoundary(bool b) { // changes the state so must be called as first one NODE = b ? BOUNDARY_C : MERGE_FORK; NODE_R = b ? BOUNDARY_R : MERGE_FORK_R; NODE_L = b ? BOUNDARY_L : MERGE_FORK_L; boundary = b; if (boundary) typeVec[activeLane] = BOUNDARY; } bool Lanes::isFork(const QString& sha, bool& isDiscontinuity) { int pos = findNextSha(sha, 0); isDiscontinuity = (activeLane != pos); if (pos == -1) // new branch case return false; return (findNextSha(sha, pos + 1) != -1); /* int cnt = 0; while (pos != -1) { cnt++; pos = findNextSha(sha, pos + 1); // if (isDiscontinuity) // isDiscontinuity = (activeLane != pos); } return (cnt > 1); */ } void Lanes::setFork(const QString& sha) { int rangeStart, rangeEnd, idx; rangeStart = rangeEnd = idx = findNextSha(sha, 0); while (idx != -1) { rangeEnd = idx; typeVec[idx] = TAIL; idx = findNextSha(sha, idx + 1); } typeVec[activeLane] = NODE; int& startT = typeVec[rangeStart]; int& endT = typeVec[rangeEnd]; if (startT == NODE) startT = NODE_L; if (endT == NODE) endT = NODE_R; if (startT == TAIL) startT = TAIL_L; if (endT == TAIL) endT = TAIL_R; for (int i = rangeStart + 1; i < rangeEnd; i++) { int& t = typeVec[i]; if (t == NOT_ACTIVE) t = CROSS; else if (t == EMPTY) t = CROSS_EMPTY; } } void Lanes::setMerge(const QStringList& parents) { // setFork() must be called before setMerge() if (boundary) return; // handle as a simple active line int& t = typeVec[activeLane]; bool wasFork = (t == NODE); bool wasFork_L = (t == NODE_L); bool wasFork_R = (t == NODE_R); bool startJoinWasACross = false, endJoinWasACross = false; t = NODE; int rangeStart = activeLane, rangeEnd = activeLane; QStringList::const_iterator it(parents.constBegin()); for (++it; it != parents.constEnd(); ++it) { // skip first parent int idx = findNextSha(*it, 0); if (idx != -1) { if (idx > rangeEnd) { rangeEnd = idx; endJoinWasACross = typeVec[idx] == CROSS; } if (idx < rangeStart) { rangeStart = idx; startJoinWasACross = typeVec[idx] == CROSS; } typeVec[idx] = JOIN; } else rangeEnd = add(HEAD, *it, rangeEnd + 1); } int& startT = typeVec[rangeStart]; int& endT = typeVec[rangeEnd]; if (startT == NODE && !wasFork && !wasFork_R) startT = NODE_L; if (endT == NODE && !wasFork && !wasFork_L) endT = NODE_R; if (startT == JOIN && !startJoinWasACross) startT = JOIN_L; if (endT == JOIN && !endJoinWasACross) endT = JOIN_R; if (startT == HEAD) startT = HEAD_L; if (endT == HEAD) endT = HEAD_R; for (int i = rangeStart + 1; i < rangeEnd; i++) { int& t = typeVec[i]; if (t == NOT_ACTIVE) t = CROSS; else if (t == EMPTY) t = CROSS_EMPTY; else if (t == TAIL_R || t == TAIL_L) t = TAIL; } } void Lanes::setInitial() { int& t = typeVec[activeLane]; if (!IS_NODE(t) && t != APPLIED) t = (boundary ? BOUNDARY : INITIAL); } void Lanes::setApplied() { // applied patches are not merges, nor forks typeVec[activeLane] = APPLIED; // TODO test with boundaries } void Lanes::changeActiveLane(const QString& sha) { int& t = typeVec[activeLane]; if (t == INITIAL || isBoundary(t)) t = EMPTY; else t = NOT_ACTIVE; int idx = findNextSha(sha, 0); // find first sha if (idx != -1) typeVec[idx] = ACTIVE; // called before setBoundary() else idx = add(BRANCH, sha, activeLane); // new branch activeLane = idx; } void Lanes::afterMerge() { if (boundary) return; // will be reset by changeActiveLane() for (int i = 0; i < typeVec.count(); i++) { int& t = typeVec[i]; if (isHead(t) || isJoin(t) || t == CROSS) t = NOT_ACTIVE; else if (t == CROSS_EMPTY) t = EMPTY; else if (IS_NODE(t)) t = ACTIVE; } } void Lanes::afterFork() { for (int i = 0; i < typeVec.count(); i++) { int& t = typeVec[i]; if (t == CROSS) t = NOT_ACTIVE; else if (isTail(t) || t == CROSS_EMPTY) t = EMPTY; if (!boundary && IS_NODE(t)) t = ACTIVE; // boundary will be reset by changeActiveLane() } while (typeVec.last() == EMPTY) { typeVec.pop_back(); nextShaVec.pop_back(); } } bool Lanes::isBranch() { return (typeVec[activeLane] == BRANCH); } void Lanes::afterBranch() { typeVec[activeLane] = ACTIVE; // TODO test with boundaries } void Lanes::afterApplied() { typeVec[activeLane] = ACTIVE; // TODO test with boundaries } void Lanes::nextParent(const QString& sha) { nextShaVec[activeLane] = (boundary ? "" : sha); } int Lanes::findNextSha(const QString& next, int pos) { for (int i = pos; i < nextShaVec.count(); i++) if (nextShaVec[i] == next) return i; return -1; } int Lanes::findType(int type, int pos) { for (int i = pos; i < typeVec.count(); i++) if (typeVec[i] == type) return i; return -1; } int Lanes::add(int type, const QString& next, int pos) { // first check empty lanes starting from pos if (pos < (int)typeVec.count()) { pos = findType(EMPTY, pos); if (pos != -1) { typeVec[pos] = type; nextShaVec[pos] = next; return pos; } } // if all lanes are occupied add a new lane typeVec.append(type); nextShaVec.append(next); return typeVec.count() - 1; } qgit-qgit-2.11/src/lanes.h000066400000000000000000000034341500324541100154040ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef LANES_H #define LANES_H #include #include class QStringList; // // At any given time, the Lanes class represents a single revision (row) of the history graph. // The Lanes class contains a vector of the sha1 hashes of the next commit to appear in each lane (column). // The Lanes class also contains a vector used to decide which glyph to draw on the history graph. // // For each revision (row) (from recent (top) to ancient past (bottom)), the Lanes class is updated, and the // current revision (row) of glyphs is saved elsewhere (via getLanes()). // // The ListView class is responsible for rendering the glyphs. // class Lanes { public: Lanes() {} // init() will setup us later, when data is available bool isEmpty() { return typeVec.empty(); } void init(const QString& expectedSha); void clear(); bool isFork(const QString& sha, bool& isDiscontinuity); void setBoundary(bool isBoundary); void setFork(const QString& sha); void setMerge(const QStringList& parents); void setInitial(); void setApplied(); void changeActiveLane(const QString& sha); void afterMerge(); void afterFork(); bool isBranch(); void afterBranch(); void afterApplied(); void nextParent(const QString& sha); void getLanes(QVector &ln) { ln = typeVec; } // O(1) vector is implicitly shared private: int findNextSha(const QString& next, int pos); int findType(int type, int pos); int add(int type, const QString& next, int pos); int activeLane; QVector typeVec; // Describes which glyphs should be drawn. QVector nextShaVec; // The sha1 hashes of the next commit to appear in each lane (column). bool boundary; int NODE, NODE_L, NODE_R; }; #endif qgit-qgit-2.11/src/listview.cpp000066400000000000000000001053131500324541100165020ustar00rootroot00000000000000/* Description: qgit revision list view Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include #include #include #include #include #include #include #include "FileHistory.h" #include "domain.h" #include "mainimpl.h" #include "git.h" #include "listview.h" void getTagMarkParams(QString &name, QStyleOptionViewItem& o, const int type, const bool isCurrent); uint refTypeFromName(SCRef name); using namespace QGit; ListView::ListView(QWidget* parent) : QTreeView(parent), d(NULL), git(NULL), fh(NULL), lp(NULL), dropInfo(NULL) {} void ListView::setup(Domain* dm, Git* g) { d = dm; git = g; fh = d->model(); st = &(d->st); filterNextContextMenuRequest = false; setFont(QGit::STD_FONT); // create ListViewProxy unplugged, will be plug // to the model only when filtering is needed lp = new ListViewProxy(this, d, git); setModel(fh); ListViewDelegate* lvd = new ListViewDelegate(git, lp, this); lvd->setLaneHeight(fontMetrics().height() + 2); setItemDelegate(lvd); setupGeometry(); // after setting delegate // shortcuts are activated only if widget is visible, this is good new QShortcut(Qt::Key_Up, this, SLOT(on_keyUp())); new QShortcut(Qt::Key_Down, this, SLOT(on_keyDown())); connect(lvd, SIGNAL(updateView()), viewport(), SLOT(update())); connect(this, SIGNAL(diffTargetChanged(int)), lvd, SLOT(diffTargetChanged(int))); connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(on_customContextMenuRequested(const QPoint&))); } ListView::~ListView() { git->cancelDataLoading(fh); // non blocking const QString settingsKey = git->isMainHistory(fh) ? QGit::REV_COLS_KEY : QGit::FILE_COLS_KEY; QSettings settings; settings.setValue(settingsKey, header()->saveState()); } const QString ListView::sha(int row) const { if (!lp->sourceModel()) // unplugged return fh->sha(row); QModelIndex idx = lp->mapToSource(lp->index(row, 0)); return fh->sha(idx.row()); } int ListView::row(SCRef sha) const { if (!lp->sourceModel()) // unplugged return fh->row(sha); int row = fh->row(sha); QModelIndex idx = fh->index(row, 0); return lp->mapFromSource(idx).row(); } void ListView::setupGeometry() { QHeaderView* hv = header(); hv->setStretchLastSection(true); hv->setSectionResizeMode(LOG_COL, QHeaderView::Interactive); hv->setSectionResizeMode(TIME_COL, QHeaderView::Interactive); hv->setSectionResizeMode(ANN_ID_COL, QHeaderView::ResizeToContents); hv->resizeSection(GRAPH_COL, DEF_GRAPH_COL_WIDTH); hv->resizeSection(LOG_COL, DEF_LOG_COL_WIDTH); hv->resizeSection(HASH_COL, DEF_HASH_COL_WIDTH); hv->resizeSection(AUTH_COL, DEF_AUTH_COL_WIDTH); hv->resizeSection(TIME_COL, DEF_TIME_COL_WIDTH); if (git->isMainHistory(fh)) hideColumn(ANN_ID_COL); const QString settingsKey = git->isMainHistory(fh) ? QGit::REV_COLS_KEY : QGit::FILE_COLS_KEY; QSettings settings; QVariant v = settings.value(settingsKey); if (v.isValid()) hv->restoreState(v.toByteArray()); } void ListView::scrollToNextHighlighted(int direction) { // Depending on the value of direction, scroll to: // -1 = the next highlighted item above the current one (i.e. newer in history) // 1 = the next highlighted item below the current one (i.e. older in history) // 0 = the first highlighted item from the top of the list QModelIndex idx = currentIndex(); if (!direction) { idx = idx.sibling(0,0); if (lp->isHighlighted(idx.row())) { setCurrentIndex(idx); return; } } do { idx = (direction >= 0 ? indexBelow(idx) : indexAbove(idx)); if (!idx.isValid()) return; } while (!lp->isHighlighted(idx.row())); setCurrentIndex(idx); } void ListView::scrollToNext(int direction) { // Depending on the value of direction, scroll to: // -1 = the next child in history // 1 = the previous parent in history SCRef s = sha(currentIndex().row()); const Rev* r = git->revLookup(s); if (!r) return; const QStringList& next = direction < 0 ? git->getChildren(s) : r->parents(); if (next.size() >= 1) setCurrentIndex(model()->index(row(next.first()), 0)); } void ListView::scrollToCurrent(ScrollHint hint) { if (currentIndex().isValid()) scrollTo(currentIndex(), hint); } void ListView::on_keyUp() { QModelIndex idx = indexAbove(currentIndex()); if (idx.isValid()) setCurrentIndex(idx); } void ListView::on_keyDown() { QModelIndex idx = indexBelow(currentIndex()); if (idx.isValid()) setCurrentIndex(idx); } void ListView::on_changeFont(const QFont& f) { setFont(f); ListViewDelegate* lvd = static_cast(itemDelegate()); lvd->setLaneHeight(fontMetrics().height()); scrollToCurrent(); } const QString ListView::currentText(int column) { QModelIndex idx = model()->index(currentIndex().row(), column); return (idx.isValid() ? idx.data().toString() : ""); } int ListView::getLaneType(SCRef sha, int pos) const { const Rev* r = git->revLookup(sha, fh); return (r && pos < r->lanes.count() && pos >= 0 ? r->lanes.at(pos) : -1); } void ListView::showIdValues() { fh->setAnnIdValid(); viewport()->update(); } void ListView::getSelectedItems(QStringList& selectedItems) { selectedItems.clear(); QModelIndexList ml = selectionModel()->selectedRows(); FOREACH (QModelIndexList, it, ml) selectedItems.append(sha((*it).row())); // selectedRows() returns the items in an unspecified order, // so be sure rows are ordered from newest to oldest. selectedItems = git->sortShaListByIndex(selectedItems); } const QString ListView::shaFromAnnId(int id) { if (git->isMainHistory(fh)) return ""; return sha(model()->rowCount() - id); } int ListView::filterRows(bool isOn, bool highlight, SCRef filter, int colNum, ShaSet* set) { setUpdatesEnabled(false); int matchedNum = lp->setFilter(isOn, highlight, filter, colNum, set); viewport()->update(); setUpdatesEnabled(true); UPDATE_DOMAIN(d); return matchedNum; } bool ListView::update() { int stRow = row(st->sha()); if (stRow == -1) return false; // main/tree view asked us a sha not in history QModelIndex index = currentIndex(); QItemSelectionModel* sel = selectionModel(); if (index.isValid() && (index.row() == stRow)) { if (sel->isSelected(index) != st->selectItem()) sel->select(index, QItemSelectionModel::Toggle); scrollTo(index); } else { // setCurrentIndex() does not clear previous // selections in a multi selection QListView clearSelection(); QModelIndex newIndex = model()->index(stRow, 0); if (newIndex.isValid()) { // emits QItemSelectionModel::currentChanged() setCurrentIndex(newIndex); scrollTo(newIndex); if (!st->selectItem()) sel->select(newIndex, QItemSelectionModel::Deselect); } } if (git->isMainHistory(fh)) emit diffTargetChanged(row(st->diffToSha())); return currentIndex().isValid(); } void ListView::currentChanged(const QModelIndex& index, const QModelIndex&) { SCRef selRev = sha(index.row()); if (st->sha() != selRev) { // to avoid looping st->setSha(selRev); st->setSelectItem(true); UPDATE_DOMAIN(d); } } void ListView::markDiffToSha(SCRef sha) { if (sha != st->diffToSha()) { st->setDiffToSha(sha); emit showStatusMessage("Marked " + sha + " for diff. (Ctrl-RightClick)"); } else { st->setDiffToSha(""); // restore std view emit showStatusMessage("Unmarked diff reference."); } UPDATE_DOMAIN(d); } bool ListView::filterRightButtonPressed(QMouseEvent* e) { QModelIndex index = indexAt(e->pos()); SCRef selSha = sha(index.row()); if (selSha.isEmpty()) return false; if (e->modifiers() == Qt::ControlModifier) { // check for 'diff to' function if (selSha != ZERO_SHA) { filterNextContextMenuRequest = true; markDiffToSha(selSha); return true; // filter event out } } // check for 'children & parents' function, i.e. if mouse is on the graph if (index.column() == GRAPH_COL) { filterNextContextMenuRequest = true; QStringList parents, children; if (getLaneParentsChildren(selSha, e->pos().x(), parents, children)) emit lanesContextMenuRequested(parents, children); return true; // filter event out } return false; } void ListView::mousePressEvent(QMouseEvent* e) { lastRefName = refNameAt(e->pos()); if (e->button() == Qt::RightButton && filterRightButtonPressed(e)) return; // filtered out QTreeView::mousePressEvent(e); } void ListView::mouseReleaseEvent(QMouseEvent* e) { lastRefName = ""; // reset QTreeView::mouseReleaseEvent(e); } QPixmap ListView::pixmapFromSelection(const QStringList &revs, const QString &ref) const { const int maxRows = 10; const int dotdotRow = 5; QStyleOptionViewItem opt; opt.initFrom(this); // ListViewDelegate *lvd = dynamic_cast(itemDelegate()); QFontMetrics fm(opt.font); int height = fm.height()+2; int row = 0, rows = std::min(revs.count() + (ref.isEmpty() ? 0 : 1), maxRows); int spacing = 4; QPixmap pixmap (columnWidth(LOG_COL), rows*height); pixmap.fill(Qt::transparent); QPainter painter(&pixmap); // render selected ref name if (!ref.isEmpty()) { QStyleOptionViewItem o(opt); QString dummy; getTagMarkParams(dummy, o, refTypeFromName(ref), false); painter.fillRect(0, 0, fm.horizontalAdvance(ref)+2*spacing, height, o.palette.window()); painter.drawText(spacing, fm.ascent()+1, ref); row = 1; } painter.fillRect(0, row*height, pixmap.width(), (rows-row)*height, opt.palette.window()); for (QStringList::const_iterator it = revs.begin(), end = revs.end(); it != end; ++it) { const Rev* r = git->revLookup(it->section(" ", 0, 0)); if (!r) continue; // should not happen painter.drawText(spacing, row*height + fm.ascent()+1, r->shortLog()); ++row; // jump to last dotdotRows-1 items if necessary if (rows-row == dotdotRow && end-it > dotdotRow+1) { ++row; // leave one line empty it += end-it - dotdotRow; } } painter.end(); return pixmap; } void ListView::startDragging(QMouseEvent* /*e*/) { QStringList selRevs; getSelectedItems(selRevs); selRevs.removeAll(ZERO_SHA); QDrag* drag = new QDrag(this); QMimeData* mimeData = new QMimeData; if (!selRevs.empty()) { Qt::DropActions actions = Qt::CopyAction; // patch Qt::DropAction default_action = Qt::CopyAction; // compose mime data bool contiguous = git->isContiguous(selRevs); // standard text for range description if (contiguous) { QString text; if (selRevs.size() > 1) text += selRevs.back() + ".."; text += lastRefName.isEmpty() ? selRevs.front() : lastRefName; mimeData->setText(text); } // revision range for patch/merge/rebase operations QString mime = QString("%1@%2\n").arg(contiguous ? "RANGE" : "LIST").arg(d->m()->currentDir()); if (contiguous && !lastRefName.isEmpty()) selRevs.front() += " " + lastRefName; // append ref name mime.append(selRevs.join("\n")); mimeData->setData("application/x-qgit-revs", mime.toUtf8()); drag->setMimeData(mimeData); drag->setPixmap(pixmapFromSelection(selRevs, lastRefName)); if (contiguous) { // rebase enabled actions |= Qt::MoveAction; // rebase (local branch) or push (remote branch) } // merging (of several shas) is also enabled actions |= Qt::LinkAction; drag->exec(actions, default_action); } } void ListView::mouseMoveEvent(QMouseEvent* e) { if (e->buttons() == Qt::LeftButton && QGit::testFlag(QGit::ENABLE_DRAGNDROP_F)) { startDragging(e); return; } QTreeView::mouseMoveEvent(e); } struct ListView::DropInfo { DropInfo (uint f) : flags(f) {} enum Flags { PATCHES = 1 << 0, REV_LIST = 1 << 1, REV_RANGE = 1 << 2, SAME_REPO = 1 << 3, }; enum Action { PatchAction = Qt::CopyAction, RebaseAction = Qt::MoveAction, MoveRefAction = (Qt::LinkAction << 1) | Qt::MoveAction, MergeAction = Qt::LinkAction, }; QString sourceRepo; QString sourceRef; uint sourceRefType; Action action; uint flags; QStringList shas; static QString actionName (ListView::DropInfo::Action a) { switch (a) { case PatchAction: return "patching"; case RebaseAction: return "rebasing"; case MoveRefAction: return "moving"; case MergeAction: return "merging"; default: return "This should not happen."; } } }; uint refTypeFromName(SCRef name) { if (name.startsWith("tags/")) return Git::TAG; if (name.startsWith("remotes/")) return Git::RMT_BRANCH; if (!name.isEmpty()) return Git::BRANCH; return 0; } void ListView::dragEnterEvent(QDragEnterEvent* e) { if (dropInfo) delete dropInfo; dropInfo = NULL; bool bCleanWorkDir = git->isNothingToCommit(); // accept local file urls for patching bool valid=true; const QList& urls = e->mimeData()->urls(); for(QList::const_iterator it=urls.begin(), end=urls.end(); valid && it!=end; ++it) valid &= it->isLocalFile(); if (urls.size() > 0 && valid && bCleanWorkDir) { dropInfo = new DropInfo(DropInfo::PATCHES); e->accept(); } // parse internal mime format if (!e->mimeData()->hasFormat("application/x-qgit-revs")) return; dropInfo = new DropInfo(DropInfo::REV_LIST); SCRef revsText(e->mimeData()->data("application/x-qgit-revs")); QString header = revsText.section("\n", 0, 0); dropInfo->shas = revsText.section("\n", 1).split('\n', QGIT_SPLITBEHAVIOR(SkipEmptyParts)); // extract refname and sha from first entry again dropInfo->sourceRef = dropInfo->shas.front().section(" ", 1); dropInfo->shas.front() = dropInfo->shas.front().section(" ", 0, 0); dropInfo->sourceRefType = refTypeFromName(dropInfo->sourceRef); // check source repo dropInfo->sourceRepo = header.section("@", 1); if (dropInfo->sourceRepo != d->m()->currentDir()) { if (!QDir().exists(dropInfo->sourceRepo)) { emit showStatusMessage("Remote repository missing: " + dropInfo->sourceRepo, 10000); e->ignore(); return; } } else dropInfo->flags |= DropInfo::SAME_REPO; if (!bCleanWorkDir && // dirty work dir doesn't allow merging/rebasing // only exception is moving ref names within same repo !(dropInfo->sourceRefType != 0 && dropInfo->shas.count() == 1 && (dropInfo->flags & DropInfo::SAME_REPO))) { emit showStatusMessage("Drag-n-drop rejected: First clean your working dir!", 10000); e->ignore(); return; } e->accept(); if (header.startsWith("RANGE")) dropInfo->flags |= DropInfo::REV_RANGE; } void ListView::dragMoveEvent(QDragMoveEvent* e) { // When getting here, dragEnterEvent already accepted the drag in general SCRef targetRef = refNameAt(e->pos()); uint targetRefType = refTypeFromName(targetRef); QModelIndex idx = indexAt(e->pos()); SCRef targetSHA = sha(idx.row()); uint accepted_actions = DropInfo::PatchAction; // applying patches is always allowed DropInfo::Action action, default_action = DropInfo::PatchAction; // extended drop actions (merging, rebasing, pushing) are only allowed if (dropInfo->flags & DropInfo::SAME_REPO && // on same repo dropInfo->flags & DropInfo::REV_LIST && // qgit drags idx.column() == LOG_COL) { // and when dropping onto LOG_COL // only accept drop when target has different sha than source shas if (dropInfo->shas.contains(targetSHA)) { e->ignore(); emit showStatusMessage("Cannot drop onto current selection."); return; } // decide the preferred drop action based on context and // rebasing is allowed onto any sha (and workdir), // but only if source sha list is contiguous range if (dropInfo->flags & DropInfo::REV_RANGE) { accepted_actions |= DropInfo::RebaseAction; default_action = DropInfo::RebaseAction; } // merging is allowed onto any local branch if (targetRefType == Git::BRANCH) { accepted_actions |= DropInfo::MergeAction; default_action = DropInfo::MergeAction; } // pushing is allowed when sha list has 1 item and sourceRef is remote branch if (dropInfo->shas.count() == 1 && dropInfo->sourceRefType != 0 && targetSHA != ZERO_SHA) { accepted_actions |= DropInfo::MoveRefAction; default_action = DropInfo::MoveRefAction; } } else if (e->source() == this && idx.row() == currentIndex().row()) { // move at least by one line before enabling drag e->ignore(); showStatusMessage(""); return; } e->accept(); // check whether modifier keys enforce an action switch (e->keyboardModifiers()) { case Qt::ControlModifier: action = DropInfo::PatchAction; break; case Qt::ShiftModifier: action = DropInfo::RebaseAction; break; case Qt::AltModifier: action = DropInfo::MergeAction; break; default: action = default_action; break; } QString statusMsg; if ((action & accepted_actions) == 0) { statusMsg = DropInfo::actionName(action) + " not allowed. "; statusMsg[0] = statusMsg[0].toUpper(); action = default_action; } // inform user about the to-be-performed action in statusBar switch (action) { case DropInfo::PatchAction: statusMsg += "Applying patches"; break; case DropInfo::RebaseAction: statusMsg += QString("Rebasing %1 onto %2") .arg((dropInfo->sourceRefType == Git::BRANCH && dropInfo->shas.count() == 1) ? dropInfo->sourceRef : "selection") .arg(targetRefType == Git::BRANCH ? targetRef : targetSHA); break; case DropInfo::MoveRefAction: statusMsg += "Moving " + dropInfo->sourceRef; break; case DropInfo::MergeAction: statusMsg += "Merging selected branches into " + targetRef; break; } emit showStatusMessage(statusMsg); dropInfo->action = action; e->setDropAction(static_cast(action & 0x7)); } void ListView::dragLeaveEvent(QDragLeaveEvent* /*e*/) { if (dropInfo) delete dropInfo; dropInfo = NULL; showStatusMessage(""); } void ListView::dropEvent(QDropEvent *e) { if (dropInfo->flags & DropInfo::PATCHES) { QStringList files; QList urls = e->mimeData()->urls(); FOREACH(QList, it, urls) files << it->toLocalFile(); emit applyPatches(files); return; } SCRef targetRef = refNameAt(e->pos()); // uint targetRefType = refTypeFromName(targetRef); SCRef targetSHA = sha(indexAt(e->pos()).row()); switch(dropInfo->action) { case DropInfo::PatchAction: emit applyRevisions(dropInfo->shas, dropInfo->sourceRepo); break; case DropInfo::RebaseAction: if (dropInfo->sourceRefType == Git::BRANCH && dropInfo->shas.count() == 1) emit rebase("", dropInfo->sourceRef, targetSHA); else emit rebase(dropInfo->shas.last(), dropInfo->sourceRef.isEmpty() ? dropInfo->shas.first() : dropInfo->sourceRef, targetSHA); break; case DropInfo::MergeAction: emit merge(dropInfo->shas, targetRef); break; case DropInfo::MoveRefAction: emit moveRef(dropInfo->sourceRef, targetSHA); break; } } void ListView::on_customContextMenuRequested(const QPoint& pos) { QModelIndex index = indexAt(pos); if (!index.isValid()) return; if (filterNextContextMenuRequest) { // event filter does not work on them filterNextContextMenuRequest = false; return; } emit contextMenu(sha(index.row()), POPUP_LIST_EV); } bool ListView::getLaneParentsChildren(SCRef sha, int x, SList p, SList c) { ListViewDelegate* lvd = static_cast(itemDelegate()); uint lane = x / lvd->laneWidth(); int t = getLaneType(sha, lane); if (t == EMPTY || t == -1) return false; // first find the parents p.clear(); QString root; if (!isFreeLane(t)) { p = git->revLookup(sha, fh)->parents(); // pointer cannot be NULL root = sha; } else { SCRef par(git->getLaneParent(sha, lane)); if (par.isEmpty()) { dbs("ASSERT getLaneParentsChildren: parent not found"); return false; } p.append(par); root = p.first(); } // then find children c = git->getChildren(root); return true; } /** Iterator over all refnames of a given sha. * References are traversed in following order: * detached (name empty), local branches, remote branches, tags, other refs */ class RefNameIterator { Git* git; const QString sha; uint ref_types; // all reference types associated with sha int cur_state; // state indicating the currently processed ref type QStringList ref_names; // ref_names of current type QStringList::const_iterator cur_name; QString cur_branch; public: RefNameIterator(const QString &sha, Git* git); bool valid() const {return cur_state != -1;} QString name() const {return *cur_name;} int type() {return cur_state;} bool isCurrentBranch() {return *cur_name == cur_branch;} void next(); }; RefNameIterator::RefNameIterator(const QString &sha, Git *git) : git(git), sha(sha), cur_state(0), cur_branch(git->getCurrentBranchName()) { ref_types = git->checkRef(sha); if (ref_types == 0) { cur_state = -1; // indicates end return; } // initialize dummy string list ref_names << ""; cur_name = ref_names.begin(); // detached ? if ((ref_types & Git::CUR_BRANCH) && cur_branch.isEmpty()) { // indicate detached state with type() == 0 and empty ref name cur_branch = *cur_name; } else { // advance to first real ref name next(); } } void RefNameIterator::next() { ++cur_name; // switch to next ref type if required while (valid() && cur_name == ref_names.end()) { switch (cur_state) { case 0: cur_state = Git::BRANCH; break; case Git::BRANCH: cur_state = Git::RMT_BRANCH; break; case Git::RMT_BRANCH: cur_state = Git::TAG; break; case Git::TAG: cur_state = Git::REF; break; default: cur_state = -1; // indicate end } ref_names = git->getRefNames(sha, (Git::RefType)cur_state); cur_name = ref_names.begin(); } } // ***************************************************************************** ListViewDelegate::ListViewDelegate(Git* g, ListViewProxy* px, QObject* p) : QItemDelegate(p) { git = g; lp = px; laneHeight = 0; diffTargetRow = -1; } QSize ListViewDelegate::sizeHint(const QStyleOptionViewItem&, const QModelIndex&) const { return QSize(laneWidth(), laneHeight); } void ListViewDelegate::diffTargetChanged(int row) { if (diffTargetRow != row) { diffTargetRow = row; emit updateView(); } } const Rev* ListViewDelegate::revLookup(int row, FileHistory** fhPtr) const { ListView* lv = static_cast(parent()); FileHistory* fh = static_cast(lv->model()); if (lp->sourceModel()) fh = static_cast(lp->sourceModel()); if (fhPtr) *fhPtr = fh; return git->revLookup(lv->sha(row), fh); } static QColor blend(const QColor& col1, const QColor& col2, int amount = 128) { // Returns ((256 - amount)*col1 + amount*col2) / 256; return QColor(((256 - amount)*col1.red() + amount*col2.red() ) / 256, ((256 - amount)*col1.green() + amount*col2.green()) / 256, ((256 - amount)*col1.blue() + amount*col2.blue() ) / 256); } void ListViewDelegate::paintGraphLane(QPainter* p, int type, int x1, int x2, const QColor& col, const QColor& activeCol, const QBrush& back) const { const int padding = 2; x1 += padding; x2 += padding; int h = laneHeight / 2; int m = (x1 + x2) / 2; int r = (x2 - x1) * 1 / 3; int d = 2 * r; #define P_CENTER m , h #define P_0 x2, h // > #define P_90 m , 0 // ^ #define P_180 x1, h // < #define P_270 m , 2 * h // v #define DELTA_UR 2*(x1 - m), 2*h , 0*16, 90*16 // -, #define DELTA_DR 2*(x1 - m), 2*-h, 270*16, 90*16 // -' #define DELTA_UL 2*(x2 - m), 2*h , 90*16, 90*16 // ,- #define DELTA_DL 2*(x2 - m), 2*-h, 180*16, 90*16 // '- #define CENTER_UR x1, 2*h, 225 #define CENTER_DR x1, 0 , 135 #define CENTER_UL x2, 2*h, 315 #define CENTER_DL x2, 0 , 45 #define R_CENTER m - r, h - r, d, d static QPen lanePen(QPalette().color(QPalette::WindowText), 2); // fast path here // arc switch (type) { case JOIN: case JOIN_R: case HEAD: case HEAD_R: { QConicalGradient gradient(CENTER_UR); gradient.setColorAt(0.375, col); gradient.setColorAt(0.625, activeCol); lanePen.setBrush(gradient); p->setPen(lanePen); p->drawArc(P_CENTER, DELTA_UR); break; } case JOIN_L: { QConicalGradient gradient(CENTER_UL); gradient.setColorAt(0.375, activeCol); gradient.setColorAt(0.625, col); lanePen.setBrush(gradient); p->setPen(lanePen); p->drawArc(P_CENTER, DELTA_UL); break; } case TAIL: case TAIL_R: { QConicalGradient gradient(CENTER_DR); gradient.setColorAt(0.375, activeCol); gradient.setColorAt(0.625, col); lanePen.setBrush(gradient); p->setPen(lanePen); p->drawArc(P_CENTER, DELTA_DR); break; } default: break; } lanePen.setColor(col); p->setPen(lanePen); // vertical line switch (type) { case ACTIVE: case NOT_ACTIVE: case MERGE_FORK: case MERGE_FORK_R: case MERGE_FORK_L: case JOIN: case JOIN_R: case JOIN_L: case CROSS: p->drawLine(P_90, P_270); break; case HEAD_L: case BRANCH: p->drawLine(P_CENTER, P_270); break; case TAIL_L: case INITIAL: case BOUNDARY: case BOUNDARY_C: case BOUNDARY_R: case BOUNDARY_L: p->drawLine(P_90, P_CENTER); break; default: break; } lanePen.setColor(activeCol); p->setPen(lanePen); // horizontal line switch (type) { case MERGE_FORK: case JOIN: case HEAD: case TAIL: case CROSS: case CROSS_EMPTY: case BOUNDARY_C: p->drawLine(P_180, P_0); break; case MERGE_FORK_R: case BOUNDARY_R: p->drawLine(P_180, P_CENTER); break; case MERGE_FORK_L: case HEAD_L: case TAIL_L: case BOUNDARY_L: p->drawLine(P_CENTER, P_0); break; default: break; } // center symbol, e.g. rect or ellipse switch (type) { case ACTIVE: case INITIAL: case BRANCH: p->setPen(Qt::black); p->setBrush(col); p->drawEllipse(R_CENTER); break; case MERGE_FORK: case MERGE_FORK_R: case MERGE_FORK_L: p->setPen(Qt::black); p->setBrush(col); p->drawRect(R_CENTER); break; case UNAPPLIED: // Red minus sign p->setPen(Qt::NoPen); p->setBrush(Qt::red); p->drawRect(m - r, h - 1, d, 2); break; case APPLIED: // Green plus sign p->setPen(Qt::NoPen); p->setBrush(DARK_GREEN); p->drawRect(m - r, h - 1, d, 2); p->drawRect(m - 1, h - r, 2, d); break; case BOUNDARY: p->setPen(Qt::black); p->setBrush(back); p->drawEllipse(R_CENTER); break; case BOUNDARY_C: case BOUNDARY_R: case BOUNDARY_L: p->setPen(Qt::black); p->setBrush(back); p->drawRect(R_CENTER); break; default: break; } #undef P_CENTER #undef P_0 #undef P_90 #undef P_180 #undef P_270 #undef DELTA_UR #undef DELTA_DR #undef DELTA_UL #undef DELTA_DL #undef CENTER_UR #undef CENTER_DR #undef CENTER_UL #undef CENTER_DL #undef R_CENTER } void ListViewDelegate::paintGraph(QPainter* p, const QStyleOptionViewItem& opt, const QModelIndex& i) const { // static const QColor & baseColor = QPalette().color(QPalette::WindowText); static const QColor colors[COLORS_NUM] = { QPalette().color(QPalette::WindowText), Qt::red, DARK_GREEN, Qt::blue, Qt::darkGray, BROWN, Qt::magenta, ORANGE }; if (opt.state & QStyle::State_Selected) p->fillRect(opt.rect, opt.palette.highlight()); else if (i.row() & 1) p->fillRect(opt.rect, opt.palette.alternateBase()); else p->fillRect(opt.rect, opt.palette.base()); FileHistory* fh; const Rev* r = revLookup(i.row(), &fh); if (!r) return; p->save(); p->setClipRect(opt.rect, Qt::IntersectClip); p->translate(opt.rect.topLeft()); // calculate lanes if (r->lanes.count() == 0) git->setLane(r->sha(), fh); QBrush back = opt.palette.base(); const QVector& lanes(r->lanes); uint laneNum = lanes.count(); uint activeLane = 0; for (uint i = 0; i < laneNum; i++) if (isActive(lanes[i])) { activeLane = i; break; } int x1 = 0, x2 = 0; int maxWidth = opt.rect.width(); int lw = laneWidth(); QColor activeColor = colors[activeLane % COLORS_NUM]; if (opt.state & QStyle::State_Selected) activeColor = blend(activeColor, opt.palette.highlightedText().color(), 208); for (uint i = 0; i < laneNum && x2 < maxWidth; i++) { x1 = x2; x2 += lw; int ln = lanes[i]; if (ln == EMPTY) continue; QColor color = i == activeLane ? activeColor : colors[i % COLORS_NUM]; paintGraphLane(p, ln, x1, x2, color, activeColor, back); } p->restore(); } void ListViewDelegate::paintLog(QPainter* p, const QStyleOptionViewItem& opt, const QModelIndex& index) const { int row = index.row(); const Rev* r = revLookup(row); if (!r) return; if (r->isDiffCache) p->fillRect(opt.rect, changedFiles(ZERO_SHA) ? ORANGE : DARK_ORANGE); if (diffTargetRow == row) p->fillRect(opt.rect, LIGHT_BLUE); bool isHighlighted = lp->isHighlighted(row); QPixmap* pm = getTagMarks(r->sha(), opt); if (!pm && !isHighlighted) { // fast path in common case QItemDelegate::paint(p, opt, index); return; } QStyleOptionViewItem newOpt(opt); // we need a copy if (pm) { p->drawPixmap(newOpt.rect.x(), newOpt.rect.y() + 1, *pm); // +1 means leave a pixel spacing above the pixmap newOpt.rect.adjust(static_cast(pm->width() / dpr()), 0, 0, 0); delete pm; } if (isHighlighted) newOpt.font.setBold(true); QItemDelegate::paint(p, newOpt, index); } void ListViewDelegate::paint(QPainter* p, const QStyleOptionViewItem& opt, const QModelIndex& index) const { p->setRenderHints(QPainter::Antialiasing); if (index.column() == GRAPH_COL) return paintGraph(p, opt, index); if (index.column() == LOG_COL) return paintLog(p, opt, index); return QItemDelegate::paint(p, opt, index); } bool ListViewDelegate::changedFiles(SCRef sha) const { const RevFile* f = git->getFiles(sha); if (f) for (int i = 0; i < f->count(); i++) if (!f->statusCmp(i, RevFile::UNKNOWN)) return true; return false; } // adapt style and name based on type void getTagMarkParams(QString &name, QStyleOptionViewItem& o, const int type, const bool isCurrent) { QColor clr; switch (type) { case 0: name = "detached"; clr = Qt::red; break; case Git::BRANCH: clr = isCurrent ? Qt::green : DARK_GREEN; break; case Git::RMT_BRANCH: clr = LIGHT_ORANGE; break; case Git::TAG: clr = Qt::yellow; break; case Git::REF: clr = PURPLE; break; } o.palette.setColor(QPalette::Window, clr); o.palette.setColor(QPalette::WindowText, QColor(Qt::black)); o.font.setBold(isCurrent); } QPixmap* ListViewDelegate::getTagMarks(SCRef sha, const QStyleOptionViewItem& opt) const { uint rt = git->checkRef(sha); if (rt == 0) return NULL; // common case: no refs at all QPixmap* pm = new QPixmap(); // must be deleted by caller for (RefNameIterator it(sha, git); it.valid(); it.next()) { QStyleOptionViewItem o(opt); QString name = it.name(); getTagMarkParams(name, o, it.type(), it.isCurrentBranch()); addTextPixmap(&pm, name, o); } return pm; } QString ListView::refNameAt(const QPoint &pos) { QModelIndex index = indexAt(pos); if (index.column() != LOG_COL) return QString(); int spacing = 4; // inner spacing within pixmaps (cf. addTextPixmap) int ofs = visualRect(index).left(); for (RefNameIterator it(sha(index.row()), git); it.valid(); it.next()) { QStyleOptionViewItem o; QString name = it.name(); getTagMarkParams(name, o, it.type(), it.isCurrentBranch()); QFontMetrics fm(o.font); ofs += fm.boundingRect(name).width() + 2*spacing; if (pos.x() <= ofs) { // name found: return fully-qualified ref name (cf. Git::getRefs() for names) switch (it.type()) { case Git::BRANCH: return it.name(); break; case Git::TAG: return "tags/" + it.name(); break; case Git::RMT_BRANCH: return "remotes/" + it.name(); break; case Git::REF: return "bases/" + it.name(); break; default: return QString(); break; } } ofs += 2; // distance between pixmaps (cf. addTextPixmap) } return QString(); } /* * Return the device pixel ratio */ qreal ListViewDelegate::dpr(void) const { return qApp->devicePixelRatio(); } void ListViewDelegate::addTextPixmap(QPixmap** pp, SCRef txt, const QStyleOptionViewItem& opt) const { QPixmap* pm = *pp; const unsigned int mark_spacing = 2; // Space between markers in pixels unsigned int offset = pm->isNull() ? 0 : static_cast(pm->width() / dpr()) + mark_spacing; // Marker's offset in the base pixmap QFontMetrics fm(opt.font); const unsigned int text_spacing = 4; unsigned int text_width = fm.boundingRect(txt).width() + 2 * text_spacing; unsigned int text_height = fm.height(); // Define size of the new Pixmap QSize pixmapSize(static_cast((offset + text_width) * dpr()), static_cast(text_height * dpr())); QPixmap* newPm = new QPixmap(pixmapSize); newPm->setDevicePixelRatio(dpr()); QPainter p; p.begin(newPm); if (!pm->isNull()) { newPm->fill(opt.palette.base().color()); p.drawPixmap(0, 0, *pm); } p.setPen(opt.palette.color(QPalette::WindowText)); p.setBrush(opt.palette.color(QPalette::Window)); p.setFont(opt.font); p.drawRect(offset, 0, text_width - 1, text_height - 1); p.drawText(offset + text_spacing, fm.ascent(), txt); p.end(); delete pm; *pp = newPm; } // ***************************************************************************** ListViewProxy::ListViewProxy(QObject* p, Domain * dm, Git * g) : QSortFilterProxyModel(p) { d = dm; git = g; colNum = 0; isHighLight = false; setDynamicSortFilter(false); } bool ListViewProxy::isMatch(SCRef sha) const { if (colNum == SHA_MAP_COL) // in this case shaMap contains all good sha to search for return shaSet.contains(sha); const Rev* r = git->revLookup(sha); if (!r) { dbp("ASSERT in ListViewFilter::isMatch, sha <%1> not found", sha); return false; } QString target; if (colNum == LOG_COL) target = r->shortLog(); else if (colNum == AUTH_COL) target = r->author(); else if (colNum == LOG_MSG_COL) target = r->longLog(); else if (colNum == COMMIT_COL) target = sha; // wildcard search, case insensitive return (target.contains(filter)); } bool ListViewProxy::isMatch(int source_row) const { FileHistory* fh = d->model(); if (fh->rowCount() <= source_row) // FIXME required to avoid an ASSERT in d->isMatch() return false; bool extFilter = (colNum == -1); return ((!extFilter && isMatch(fh->sha(source_row))) ||( extFilter && d->isMatch(fh->sha(source_row)))); } bool ListViewProxy::isHighlighted(int row) const { // FIXME row == source_row only because when // higlights the rows are not hidden return (isHighLight && isMatch(row)); } bool ListViewProxy::filterAcceptsRow(int source_row, const QModelIndex&) const { return (isHighLight || isMatch(source_row)); } int ListViewProxy::setFilter(bool isOn, bool h, SCRef fl, int cn, ShaSet* s) { filter = QRegExp(fl, Qt::CaseInsensitive, QRegExp::Wildcard); colNum = cn; if (s) shaSet = *s; // isHighlighted() is called also when filter is off, // so reset 'isHighLight' flag in that case isHighLight = h && isOn; ListView* lv = static_cast(parent()); FileHistory* fh = d->model(); SCRef cur = lv->sha(lv->currentIndex().row()); if (!isOn && sourceModel()){ lv->setModel(fh); setSourceModel(NULL); } else if (isOn && !isHighLight) { setSourceModel(fh); // trigger a rows scanning lv->setModel(this); } lv->setCurrentIndex(lv->model()->index(lv->row(cur), 0)); return (sourceModel() ? rowCount() : 0); } qgit-qgit-2.11/src/listview.h000066400000000000000000000106371500324541100161530ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef LISTVIEW_H #define LISTVIEW_H #include #include #include #include #include "common.h" class Git; class StateInfo; class Domain; class FileHistory; class ListViewProxy; class ListView: public QTreeView { Q_OBJECT struct DropInfo; public: ListView(QWidget* parent); ~ListView(); void setup(Domain* d, Git* g); const QString shaFromAnnId(int id); void showIdValues(); void scrollToCurrent(ScrollHint hint = EnsureVisible); void scrollToNextHighlighted(int direction); void scrollToNext(int direction); void getSelectedItems(QStringList& selectedItems); bool update(); void addNewRevs(const QVector& shaVec); const QString currentText(int col); int filterRows(bool, bool, SCRef = QString(), int = -1, ShaSet* = NULL); const QString sha(int row) const; int row(SCRef sha) const; QString refNameAt(const QPoint &pos); const QString& selectedRefName() const {return lastRefName;} void markDiffToSha(SCRef sha); signals: void lanesContextMenuRequested(const QStringList&, const QStringList&); void applyRevisions(const QStringList& shas, const QString& remoteRepo); void applyPatches(const QStringList &files); void rebase(const QString& from, const QString& to, const QString& onto); void merge(const QStringList& shas, const QString& into); void moveRef(const QString& refName, const QString& toSHA); void contextMenu(const QString&, int); void diffTargetChanged(int); // used by new model_view integration void showStatusMessage(const QString&, int timeout=0); public slots: void on_changeFont(const QFont& f); void on_keyUp(); void on_keyDown(); protected: virtual void mousePressEvent(QMouseEvent* e); virtual void mouseMoveEvent(QMouseEvent* e); virtual void mouseReleaseEvent(QMouseEvent* e); virtual void dragEnterEvent(QDragEnterEvent* e); virtual void dragMoveEvent(QDragMoveEvent* e); virtual void dragLeaveEvent(QDragLeaveEvent* event); virtual void dropEvent(QDropEvent* e); void startDragging(QMouseEvent *e); QPixmap pixmapFromSelection(const QStringList &revs, const QString &ref) const; private slots: void on_customContextMenuRequested(const QPoint&); virtual void currentChanged(const QModelIndex&, const QModelIndex&); private: void setupGeometry(); bool filterRightButtonPressed(QMouseEvent* e); bool getLaneParentsChildren(SCRef sha, int x, SList p, SList c); int getLaneType(SCRef sha, int pos) const; Domain* d; Git* git; StateInfo* st; FileHistory* fh; ListViewProxy* lp; unsigned long secs; bool filterNextContextMenuRequest; QString lastRefName; // last ref name clicked on DropInfo *dropInfo; // struct describing to-be-dropped content }; class ListViewDelegate : public QItemDelegate { friend class ListView; Q_OBJECT public: ListViewDelegate(Git* git, ListViewProxy* lp, QObject* parent); virtual void paint(QPainter* p, const QStyleOptionViewItem& o, const QModelIndex &i) const; virtual QSize sizeHint(const QStyleOptionViewItem& o, const QModelIndex &i) const; int laneWidth() const { return 3 * laneHeight / 4; } void setLaneHeight(int h) { laneHeight = h; } signals: void updateView(); public slots: void diffTargetChanged(int); private: const Rev* revLookup(int row, FileHistory** fhPtr = NULL) const; void paintLog(QPainter* p, const QStyleOptionViewItem& o, const QModelIndex &i) const; void paintGraph(QPainter* p, const QStyleOptionViewItem& o, const QModelIndex &i) const; void paintGraphLane(QPainter* p, int type, int x1, int x2, const QColor& col, const QColor& activeCol, const QBrush& back) const; QPixmap* getTagMarks(SCRef sha, const QStyleOptionViewItem& opt) const; void addTextPixmap(QPixmap** pp, SCRef txt, const QStyleOptionViewItem& opt) const; bool changedFiles(SCRef sha) const; qreal dpr(void) const; Git* git; ListViewProxy* lp; int laneHeight; int diffTargetRow; }; class ListViewProxy : public QSortFilterProxyModel { Q_OBJECT public: ListViewProxy(QObject* parent, Domain* d, Git* g); int setFilter(bool isOn, bool highlight, SCRef filter, int colNum, ShaSet* s); bool isHighlighted(int row) const; protected: virtual bool filterAcceptsRow(int sourceRow, const QModelIndex& sourceParent) const; private: bool isMatch(int row) const; bool isMatch(SCRef sha) const; Domain* d; Git* git; bool isHighLight; QRegExp filter; int colNum; ShaSet shaSet; }; #endif qgit-qgit-2.11/src/mainimpl.cpp000066400000000000000000002073401500324541100164450ustar00rootroot00000000000000/* Description: qgit main view Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "config.h" // defines PACKAGE_VERSION #include "consoleimpl.h" #include "commitimpl.h" #include "common.h" #include "customactionimpl.h" #include "fileview.h" #include "git.h" #include "help.h" #include "listview.h" #include "mainimpl.h" #include "inputdialog.h" #include "patchview.h" #include "rangeselectimpl.h" #include "revdesc.h" #include "revsview.h" #include "settingsimpl.h" #include "treeview.h" #include "ui_help.h" #include "ui_revsview.h" #include "ui_fileview.h" #include "ui_patchview.h" using namespace QGit; MainImpl::MainImpl(SCRef cd, QWidget* p) : QMainWindow(p) { EM_INIT(exExiting, "Exiting"); setAttribute(Qt::WA_DeleteOnClose); setupUi(this); // manual setup widgets not buildable with Qt designer lineEditSHA = new QLineEdit(NULL); lineEditFilter = new QLineEdit(NULL); cmbSearch = new QComboBox(NULL); QString list("Short log,Log msg,Author,SHA1,File,Patch,Patch (regExp)"); cmbSearch->addItems(list.split(",")); toolBar->addWidget(lineEditSHA); QAction* act = toolBar->insertWidget(ActSearchAndFilter, lineEditFilter); toolBar->insertWidget(act, cmbSearch); connect(lineEditSHA, SIGNAL(returnPressed()), this, SLOT(lineEditSHA_returnPressed())); connect(lineEditFilter, SIGNAL(returnPressed()), this, SLOT(lineEditFilter_returnPressed())); // our interface to git world git = new Git(this); setupShortcuts(); qApp->installEventFilter(this); // init native types setRepositoryBusy = false; // init filter match highlighters shortLogRE.setMinimal(true); shortLogRE.setCaseSensitivity(Qt::CaseInsensitive); longLogRE.setMinimal(true); longLogRE.setCaseSensitivity(Qt::CaseInsensitive); // set-up standard revisions and files list font QSettings settings; QString font(settings.value(STD_FNT_KEY).toString()); if (font.isEmpty()) { font = QFontDatabase::systemFont(QFontDatabase::GeneralFont).toString(); } QGit::STD_FONT.fromString(font); // set-up typewriter (fixed width) font font = settings.value(TYPWRT_FNT_KEY).toString(); if (font.isEmpty()) { // choose a sensible default QFont fnt = QFontDatabase::systemFont(QFontDatabase::FixedFont); font = fnt.toString(); // to current style hint } QGit::TYPE_WRITER_FONT.fromString(font); // set-up tab view delete tabWdg->currentWidget(); // cannot be done in Qt Designer rv = new RevsView(this, git, true); // set has main domain tabWdg->addTab(rv->tabPage(), "&Rev list"); // hide close button for rev list tab QTabBar* const tabBar = tabWdg->tabBar(); tabBar->setTabButton(0, QTabBar::RightSide, NULL); tabBar->setTabButton(0, QTabBar::LeftSide, NULL); connect(tabWdg, SIGNAL(tabCloseRequested(int)), SLOT(tabBar_tabCloseRequested(int))); // set-up file names loading progress bar pbFileNamesLoading = new QProgressBar(statusBar()); pbFileNamesLoading->setTextVisible(false); pbFileNamesLoading->setToolTip("Background file names loading"); pbFileNamesLoading->hide(); statusBar()->addPermanentWidget(pbFileNamesLoading); QVector v(1, treeSplitter); QGit::restoreGeometrySetting(QGit::MAIN_GEOM_KEY, this, &v); treeView->hide(); // set-up menu for recent visited repositories connect(File, SIGNAL(triggered(QAction*)), this, SLOT(openRecent_triggered(QAction*))); doUpdateRecentRepoMenu(""); // set-up menu for custom actions connect(Actions, SIGNAL(triggered(QAction*)), this, SLOT(customAction_triggered(QAction*))); doUpdateCustomActionMenu(settings.value(ACT_LIST_KEY).toStringList()); // manual adjust lineEditSHA width QString tmp(41, '8'); int wd = lineEditSHA->fontMetrics().boundingRect(tmp).width(); lineEditSHA->setMinimumWidth(wd); // disable all actions updateGlobalActions(false); connect(git, SIGNAL(fileNamesLoad(int, int)), this, SLOT(fileNamesLoad(int, int))); connect(git, SIGNAL(newRevsAdded(const FileHistory*, const QVector&)), this, SLOT(newRevsAdded(const FileHistory*, const QVector&))); connect(this, SIGNAL(typeWriterFontChanged()), this, SIGNAL(updateRevDesc())); connect(this, SIGNAL(changeFont(const QFont&)), git, SIGNAL(changeFont(const QFont&))); // connect cross-domain update signals connect(rv->tab()->listViewLog, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(listViewLog_doubleClicked(const QModelIndex&))); connect(rv->tab()->listViewLog, SIGNAL(showStatusMessage(QString,int)), statusBar(), SLOT(showMessage(QString,int))); connect(rv->tab()->fileList, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(fileList_itemDoubleClicked(QListWidgetItem*))); connect(treeView, SIGNAL(itemDoubleClicked(QTreeWidgetItem*, int)), this, SLOT(treeView_doubleClicked(QTreeWidgetItem*, int))); // use most recent repo as startup dir if it exists and user opted to do so QStringList recents(settings.value(REC_REP_KEY).toStringList()); QDir checkRepo; if ( recents.size() >= 1 && testFlag(REOPEN_REPO_F, FLAGS_KEY) && checkRepo.exists(recents.at(0))) { startUpDir = recents.at(0); } else { startUpDir = (cd.isEmpty() ? QDir::current().absolutePath() : cd); } // handle --view-file=* or --view-file * argument QStringList arglist = qApp->arguments(); // Remove first argument which is the path of the current executable arglist.removeFirst(); bool retainNext = false; foreach (QString arg, arglist) { if (retainNext) { retainNext = false; startUpFile = arg; } else if (arg == "--view-file") retainNext = true; else if (arg.startsWith("--view-file=")) startUpFile = arg.mid(12); } // MainImpl c'tor is called before to enter event loop, // but some stuff requires event loop to init properly QTimer::singleShot(10, this, SLOT(initWithEventLoopActive())); } void MainImpl::initWithEventLoopActive() { emit flagChanged(QGit::ENABLE_DRAGNDROP_F); git->checkEnvironment(); setRepository(startUpDir); startUpDir = ""; // one shot // handle --view-file=* or --view-file * argument if (!startUpFile.isEmpty()) { rv->st.setSha("HEAD"); rv->st.setFileName(startUpFile); openFileTab(); startUpFile = QString(); // one shot } } void MainImpl::saveCurrentGeometry() { QVector v(1, treeSplitter); QGit::saveGeometrySetting(QGit::MAIN_GEOM_KEY, this, &v); } void MainImpl::highlightAbbrevSha(SCRef abbrevSha) { // reset any previous highlight if (ActSearchAndHighlight->isChecked()) ActSearchAndHighlight->toggle(); // set to highlight on SHA matching cmbSearch->setCurrentIndex(CS_SHA1); // set substring to search for lineEditFilter->setText(abbrevSha); // go with highlighting ActSearchAndHighlight->toggle(); } void MainImpl::lineEditSHA_returnPressed() { QString sha = git->getRefSha(lineEditSHA->text()); if (!sha.isEmpty()) // good, we can resolve to an unique sha { rv->st.setSha(sha); UPDATE_DOMAIN(rv); } else { // try a multiple match search highlightAbbrevSha(lineEditSHA->text()); goMatch(0); } } void MainImpl::ActBack_activated() { lineEditSHA->undo(); // first for insert(text) if (lineEditSHA->text().isEmpty()) lineEditSHA->undo(); // double undo, see RevsView::updateLineEditSHA() lineEditSHA_returnPressed(); } void MainImpl::ActForward_activated() { lineEditSHA->redo(); if (lineEditSHA->text().isEmpty()) lineEditSHA->redo(); lineEditSHA_returnPressed(); } // *************************** ExternalDiffViewer *************************** void MainImpl::ActExternalDiff_activated() { QStringList args; QStringList filenames; getExternalDiffArgs(&args, &filenames); ExternalDiffProc* externalDiff = new ExternalDiffProc(filenames, this); externalDiff->setWorkingDirectory(curDir); if (!QGit::startProcess(externalDiff, args)) { QString text("Cannot start external viewer: "); text.append(args[0]); QMessageBox::warning(this, "Error - QGit", text); delete externalDiff; } } const QRegExp MainImpl::emptySha("0*"); QString MainImpl::copyFileToDiffIfNeeded(QStringList* filenames, QString sha) { if (emptySha.exactMatch(sha)) { return QString(curDir + "/" + rv->st.fileName()); } QFileInfo f(rv->st.fileName()); QFileInfo fi(f); QString fName(curDir + "/" + sha.left(6) + "_" + fi.fileName()); QByteArray fileContent; QTextCodec* tc = QTextCodec::codecForLocale(); QString fileSha(git->getFileSha(rv->st.fileName(), sha)); git->getFile(fileSha, NULL, &fileContent, rv->st.fileName()); if (!writeToFile(fName, tc->toUnicode(fileContent))) { statusBar()->showMessage("Unable to save " + fName); } filenames->append(fName); return fName; } void MainImpl::getExternalDiffArgs(QStringList* args, QStringList* filenames) { QString prevRevSha(rv->st.diffToSha()); if (prevRevSha.isEmpty()) { // default to first parent const Rev* r = git->revLookup(rv->st.sha()); prevRevSha = (r && r->parentsCount() > 0 ? r->parent(0) : rv->st.sha()); } // save files to diff in working directory, // will be removed by ExternalDiffProc on exit QString fName1 = copyFileToDiffIfNeeded(filenames, rv->st.sha()); QString fName2 = copyFileToDiffIfNeeded(filenames, prevRevSha); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); // get external diff viewer command QSettings settings; QString extDiff(settings.value(EXT_DIFF_KEY, EXT_DIFF_DEF).toString()); QApplication::restoreOverrideCursor(); // if command doesn't have %1 and %2 to denote filenames, add them to end if (!extDiff.contains("%1")) { extDiff.append(" %1"); } if (!extDiff.contains("%2")) { extDiff.append(" %2"); } // set process arguments QStringList extDiffArgs = extDiff.split(' '); QString curArg; for (int i = 0; i < extDiffArgs.count(); i++) { curArg = extDiffArgs.value(i); // perform any filename replacements that are necessary // (done inside the loop to handle whitespace in paths properly) curArg.replace("%1", fName2); curArg.replace("%2", fName1); args->append(curArg); } } // *************************** ExternalEditor *************************** void MainImpl::ActExternalEditor_activated() { const QStringList &args = getExternalEditorArgs(); ExternalEditorProc* externalEditor = new ExternalEditorProc(this); externalEditor->setWorkingDirectory(curDir); if (!QGit::startProcess(externalEditor, args)) { QString text("Cannot start external editor: "); text.append(args[0]); QMessageBox::warning(this, "Error - QGit", text); delete externalEditor; } } QStringList MainImpl::getExternalEditorArgs() { QString fName1(curDir + "/" + rv->st.fileName()); // get external diff viewer command QSettings settings; QString extEditor(settings.value(EXT_EDITOR_KEY, EXT_EDITOR_DEF).toString()); // if command doesn't have %1 to denote filename, add to end if (!extEditor.contains("%1")) extEditor.append(" %1"); // set process arguments QStringList args = extEditor.split(' '); for (int i = 0; i < args.count(); i++) { QString &curArg = args[i]; // perform any filename replacements that are necessary // (done inside the loop to handle whitespace in paths properly) curArg.replace("%1", fName1); } return args; } // ********************** Repository open or changed ************************* void MainImpl::setRepository(SCRef newDir, bool refresh, bool keepSelection, const QStringList* passedArgs, bool overwriteArgs) { /* Because Git::init calls processEvents(), if setRepository() is called in a tight loop (as example keeping pressed F5 refresh button) then a lot of pending init() calls would be stacked. On returning from processEvents() an exception is trown and init is exited, so we end up with a long list of 'exception thrown' messages. But the worst thing is that we have to wait for _all_ the init call to exit and this could take a long time as example in case of working directory refreshing 'git update-index' of a big tree. So we use a guard flag to guarantee we have only one init() call 'in flight' */ if (setRepositoryBusy) return; setRepositoryBusy = true; // check for a refresh or open of a new repository while in filtered view if (ActFilterTree->isChecked() && passedArgs == NULL) // toggle() triggers a refresh and a following setRepository() // call that is filtered out by setRepositoryBusy guard flag ActFilterTree->toggle(); // triggers ActFilterTree_toggled() try { EM_REGISTER(exExiting); bool archiveChanged; git->getBaseDir(newDir, curDir, archiveChanged); git->stop(archiveChanged); // stop all pending processes, non blocking if (archiveChanged && refresh) dbs("ASSERT in setRepository: different dir with no range select"); // now we can clear all our data bool complete = !refresh || !keepSelection; rv->clear(complete); if (archiveChanged) emit closeAllTabs(); // disable all actions updateGlobalActions(false); updateContextActions("", "", false, false); ActCommit_setEnabled(false); // tree name should be set before init because in case of // StGIT archives the first revs are sent before init returns QString n(curDir); treeView->setTreeName(n.prepend('/').section('/', -1, -1)); QString curBranch; bool quit; bool ok = git->init(curDir, !refresh, passedArgs, overwriteArgs, &quit); // blocking call if (quit) goto exit; curBranch = git->getCurrentBranchName(); if (curBranch.length()) curBranch = " [" + curBranch + "]"; setWindowTitle(curDir + curBranch + " - QGit"); if (ActFilterTree->isChecked()) setWindowTitle(windowTitle() + " - FILTER ON < " + passedArgs->join(" ") + " >"); updateCommitMenu(ok && git->isStGITStack()); ActCheckWorkDir->setChecked(testFlag(DIFF_INDEX_F)); // could be changed in Git::init() if (ok) { updateGlobalActions(true); if (archiveChanged) updateRecentRepoMenu(curDir); } else statusBar()->showMessage("Not a git archive"); exit: setRepositoryBusy = false; EM_REMOVE(exExiting); if (quit && !startUpDir.isEmpty()) close(); } catch (int i) { EM_REMOVE(exExiting); if (EM_MATCH(i, exExiting, "loading repository")) { EM_THROW_PENDING; return; } const QString info("Exception \'" + EM_DESC(i) + "\' not " "handled in setRepository...re-throw"); dbs(info); throw; } } void MainImpl::updateGlobalActions(bool b) { ActRefresh->setEnabled(b); ActCheckWorkDir->setEnabled(b); ActViewRev->setEnabled(b); ActViewDiff->setEnabled(b); ActViewDiffNewTab->setEnabled(b && firstTab()); ActShowTree->setEnabled(b); ActMailApplyPatch->setEnabled(b); ActMailFormatPatch->setEnabled(b); rv->setEnabled(b); } const QString REV_LOCAL_BRANCHES("REV_LOCAL_BRANCHES"); const QString REV_REMOTE_BRANCHES("REV_REMOTE_BRANCHES"); const QString REV_TAGS("REV_TAGS"); const QString CURRENT_BRANCH("CURRENT_BRANCH"); const QString SELECTED_NAME("SELECTED_NAME"); void MainImpl::updateRevVariables(SCRef sha) { QMap &v = revision_variables; v.clear(); const QStringList &remote_branches = git->getRefNames(sha, Git::RMT_BRANCH); QString curBranch; v.insert(REV_LOCAL_BRANCHES, git->getRefNames(sha, Git::BRANCH)); v.insert(CURRENT_BRANCH, git->getCurrentBranchName()); v.insert(REV_REMOTE_BRANCHES, remote_branches); v.insert(REV_TAGS, git->getRefNames(sha, Git::TAG)); v.insert("SHA", sha); // determine which name the user clicked on ListView* lv = rv->tab()->listViewLog; v.insert(SELECTED_NAME, lv->selectedRefName()); } void MainImpl::updateContextActions(SCRef newRevSha, SCRef newFileName, bool isDir, bool found) { bool pathActionsEnabled = !newFileName.isEmpty(); bool fileActionsEnabled = (pathActionsEnabled && !isDir); ActViewFile->setEnabled(fileActionsEnabled); ActViewFileNewTab->setEnabled(fileActionsEnabled && firstTab()); ActExternalDiff->setEnabled(fileActionsEnabled); ActExternalEditor->setEnabled(fileActionsEnabled); ActSaveFile->setEnabled(fileActionsEnabled); ActFilterTree->setEnabled(pathActionsEnabled || ActFilterTree->isChecked()); // bool isTag = false; bool isUnApplied = false; bool isApplied = false; uint ref_type = 0; if (found) { const Rev* r = git->revLookup(newRevSha); ref_type = git->checkRef(newRevSha, Git::ANY_REF); // isTag = ref_type & Git::TAG; isUnApplied = r->isUnApplied; isApplied = r->isApplied; } ActMarkDiffToSha->setEnabled(newRevSha != ZERO_SHA); ActCheckout->setEnabled(found && (newRevSha != ZERO_SHA) && !isUnApplied); ActBranch->setEnabled(found && (newRevSha != ZERO_SHA) && !isUnApplied); ActTag->setEnabled(found && (newRevSha != ZERO_SHA) && !isUnApplied); ActDelete->setEnabled(ref_type != 0); ActPush->setEnabled(found && isUnApplied && git->isNothingToCommit()); ActPop->setEnabled(found && isApplied && git->isNothingToCommit()); } // ************************* cross-domain update Actions *************************** void MainImpl::listViewLog_doubleClicked(const QModelIndex& index) { if (index.isValid() && ActViewDiff->isEnabled()) ActViewDiff->activate(QAction::Trigger); } void MainImpl::histListView_doubleClicked(const QModelIndex& index) { if (index.isValid() && ActViewRev->isEnabled()) ActViewRev->activate(QAction::Trigger); } void MainImpl::fileList_itemDoubleClicked(QListWidgetItem* item) { bool isFirst = (item && item->listWidget()->item(0) == item); if (isFirst && rv->st.isMerge()) return; QSettings settings; FileDoubleClickAction action_idx = static_cast( settings.value(DCLICK_ACT_KEY, VIEW_PATCH).toUInt()); if (action_idx == OPEN_IN_EDITOR) { if (item && ActExternalEditor->isEnabled()) ActExternalEditor->activate(QAction::Trigger); } else if (action_idx == OPEN_IN_DIFFER) { bool isMainView = (item && item->listWidget() == rv->tab()->fileList); if (isMainView && ActExternalDiff->isEnabled()) ActExternalDiff->activate(QAction::Trigger); } else { bool isMainView = (item && item->listWidget() == rv->tab()->fileList); if (isMainView && ActViewDiff->isEnabled()) ActViewDiff->activate(QAction::Trigger); if (item && !isMainView && ActViewFile->isEnabled()) ActViewFile->activate(QAction::Trigger); } } void MainImpl::treeView_doubleClicked(QTreeWidgetItem* item, int) { QSettings settings; FileDoubleClickAction action_idx = static_cast( settings.value(DCLICK_ACT_KEY, VIEW_PATCH).toUInt()); if (action_idx == OPEN_IN_EDITOR) { if (item && ActExternalEditor->isEnabled()) ActExternalEditor->activate(QAction::Trigger); } else if (action_idx == OPEN_IN_DIFFER) { if (item && ActExternalDiff->isEnabled()) ActExternalDiff->activate(QAction::Trigger); } else { if (item && ActViewFile->isEnabled()) ActViewFile->activate(QAction::Trigger); } } void MainImpl::tabBar_tabCloseRequested(int index) { Domain* t; switch (tabType(&t, index)) { case TAB_REV: break; case TAB_PATCH: t->deleteWhenDone(); ActViewDiffNewTab->setEnabled(ActViewDiff->isEnabled() && firstTab()); break; case TAB_FILE: t->deleteWhenDone(); ActViewFileNewTab->setEnabled(ActViewFile->isEnabled() && firstTab()); break; default: dbs("ASSERT in tabBar_tabCloseRequested: unknown current page"); break; } } void MainImpl::ActRangeDlg_activated() { QString args; RangeSelectImpl rs(this, &args, false, git); bool quit = (rs.exec() == QDialog::Rejected); // modal execution if (!quit) { const QStringList l(args.split(" ")); setRepository(curDir, true, true, &l, true); } } void MainImpl::ActViewRev_activated() { Domain* t; if (currentTabType(&t) == TAB_FILE) { rv->st = t->st; UPDATE_DOMAIN(rv); } tabWdg->setCurrentWidget(rv->tabPage()); } void MainImpl::ActViewFile_activated() { openFileTab(firstTab()); } void MainImpl::ActViewFileNewTab_activated() { openFileTab(); } void MainImpl::openFileTab(FileView* fv) { if (!fv) { fv = new FileView(this, git); tabWdg->addTab(fv->tabPage(), "File"); connect(fv->tab()->histListView, SIGNAL(doubleClicked(const QModelIndex&)), this, SLOT(histListView_doubleClicked(const QModelIndex&))); connect(this, SIGNAL(closeAllTabs()), fv, SLOT(on_closeAllTabs())); ActViewFileNewTab->setEnabled(ActViewFile->isEnabled()); } tabWdg->setCurrentWidget(fv->tabPage()); fv->st = rv->st; UPDATE_DOMAIN(fv); } void MainImpl::ActViewDiff_activated() { Domain* t; if (currentTabType(&t) == TAB_FILE) { rv->st = t->st; UPDATE_DOMAIN(rv); } rv->viewPatch(false); ActViewDiffNewTab->setEnabled(true); if (ActSearchAndFilter->isChecked() || ActSearchAndHighlight->isChecked()) { bool isRegExp = (cmbSearch->currentIndex() == CS_PATCH_REGEXP); emit highlightPatch(lineEditFilter->text(), isRegExp); } } void MainImpl::ActViewDiffNewTab_activated() { rv->viewPatch(true); } bool MainImpl::eventFilter(QObject* obj, QEvent* ev) { if (ev->type() == QEvent::Wheel) { QWheelEvent* e = static_cast(ev); if (e->modifiers() == Qt::AltModifier) { int idx = tabWdg->currentIndex(); if (e->angleDelta().y() < 0) idx = (++idx == tabWdg->count() ? 0 : idx); else idx = (--idx < 0 ? tabWdg->count() - 1 : idx); tabWdg->setCurrentIndex(idx); return true; } } return QWidget::eventFilter(obj, ev); } void MainImpl::applyRevisions(SCList remoteRevs, SCRef remoteRepo) { // remoteRevs is already sanity checked to contain some possible valid data QDir dr(curDir + QGit::PATCHES_DIR); dr.setFilter(QDir::Files); if (!dr.exists(remoteRepo)) { statusBar()->showMessage("Remote repository missing: " + remoteRepo); return; } if (dr.exists() && dr.count()) { statusBar()->showMessage(QString("Please remove stale import directory " + dr.absolutePath())); return; } bool workDirOnly, fold; if (!askApplyPatchParameters(&workDirOnly, &fold)) return; // ok, let's go QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); raise(); EM_PROCESS_EVENTS; uint revNum = 0; QStringList::const_iterator it(remoteRevs.constEnd()); do { --it; SCRef sha = *it; statusBar()->showMessage(QString("Importing revision %1 of %2: %3") .arg(++revNum).arg(remoteRevs.count()).arg(sha)); // we create patches one by one if (!git->formatPatch(QStringList(sha), dr.absolutePath(), remoteRepo)) break; dr.refresh(); if (dr.count() != 1) { qDebug("ASSERT in on_droppedRevisions: found %i files " "in %s", dr.count(), qPrintable(dr.absolutePath())); break; } SCRef fn(dr.absoluteFilePath(dr[0])); bool is_applied = git->applyPatchFile(fn, fold, Git::optDragDrop); dr.remove(fn); if (!is_applied) { statusBar()->showMessage(QString("Failed to import revision %1 of %2: %3") .arg(revNum).arg(remoteRevs.count()).arg(sha)); break; } } while (it != remoteRevs.constBegin()); if (it == remoteRevs.constBegin()) statusBar()->clearMessage(); if (workDirOnly && (revNum > 0)) git->resetCommits(revNum); dr.rmdir(dr.absolutePath()); // 'dr' must be already empty QApplication::restoreOverrideCursor(); refreshRepo(); } bool MainImpl::applyPatches(const QStringList &files) { bool workDirOnly, fold; if (!askApplyPatchParameters(&workDirOnly, &fold)) return false; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QStringList::const_iterator it=files.begin(), end=files.end(); for(; it!=end; ++it) { statusBar()->showMessage("Applying " + *it); if (!git->applyPatchFile(*it, fold, Git::optDragDrop)) statusBar()->showMessage("Failed to apply " + *it); } if (it == end) statusBar()->clearMessage(); if (workDirOnly && (files.count() > 0)) git->resetCommits(files.count()); QApplication::restoreOverrideCursor(); refreshRepo(); return true; } void MainImpl::rebase(const QString &from, const QString &to, const QString &onto) { bool success = false; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); if (from.isEmpty()) { success = git->run(QString("git checkout -q %1").arg(to)) && git->run(QString("git rebase %1").arg(onto)); } else { success = git->run(QString("git rebase --onto %3 %1^ %2").arg(from, to, onto)); } if (!success) { // TODO say something about rebase failure } refreshRepo(true); QApplication::restoreOverrideCursor(); } void MainImpl::merge(const QStringList &shas, const QString &into) { QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QString output; if (git->merge(into, shas, &output)) { refreshRepo(true); statusBar()->showMessage(QString("Successfully merged into %1").arg(into)); ActCommit_activated(); } else if (!output.isEmpty()) { QMessageBox::warning(this, "git merge failed", QString("\n\nGit says: \n\n" + output)); } refreshRepo(true); QApplication::restoreOverrideCursor(); } void MainImpl::moveRef(const QString &target, const QString &toSHA) { QString cmd; if (target.startsWith("remotes/")) { QString remote = target.section("/", 1, 1); QString name = target.section("/", 2); cmd = QString("git push -q %1 %2:%3").arg(remote, toSHA, name); } else if (target.startsWith("tags/")) { cmd = QString("git tag -f %1 %2").arg(target.section("/",1), toSHA); } else if (!target.isEmpty()) { const QString &sha = git->getRefSha(target, Git::BRANCH, false); if (sha.isEmpty()) return; const QStringList &children = git->getChildren(sha); if ((children.count() == 0 || (children.count() == 1 && children.front() == ZERO_SHA)) && // no children git->getRefNames(sha, Git::ANY_REF).count() == 1 && // last ref name QMessageBox::question(this, "move branch", QString("This is the last reference to this branch.\n" "Do you really want to move '%1'?").arg(target)) == QMessageBox::No) return; if (target == git->getCurrentBranchName()) // move current branch cmd = QString("git checkout -q -B %1 %2").arg(target, toSHA); else // move any other local branch cmd = QString("git branch -f %1 %2").arg(target, toSHA); } QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); if (git->run(cmd)) refreshRepo(true); QApplication::restoreOverrideCursor(); } // ******************************* Filter ****************************** void MainImpl::newRevsAdded(const FileHistory* fh, const QVector&) { if (!git->isMainHistory(fh)) return; if (ActSearchAndFilter->isChecked()) ActSearchAndFilter_toggled(true); // filter again on new arrived data if (ActSearchAndHighlight->isChecked()) ActSearchAndHighlight_toggled(true); // filter again on new arrived data // first rev could be a StGIT unapplied patch so check more then once if ( !ActCommit->isEnabled() && (!git->isNothingToCommit() || git->isUnknownFiles())) ActCommit_setEnabled(true); } void MainImpl::lineEditFilter_returnPressed() { ActSearchAndFilter->setChecked(true); } void MainImpl::ActSearchAndFilter_toggled(bool isOn) { ActSearchAndHighlight->setEnabled(!isOn); ActSearchAndFilter->setEnabled(false); filterList(isOn, false); // blocking call ActSearchAndFilter->setEnabled(true); } void MainImpl::ActSearchAndHighlight_toggled(bool isOn) { ActSearchAndFilter->setEnabled(!isOn); ActSearchAndHighlight->setEnabled(false); filterList(isOn, true); // blocking call ActSearchAndHighlight->setEnabled(true); } void MainImpl::filterList(bool isOn, bool onlyHighlight) { lineEditFilter->setEnabled(!isOn); cmbSearch->setEnabled(!isOn); SCRef filter(lineEditFilter->text()); if (filter.isEmpty()) return; ShaSet shaSet; bool patchNeedsUpdate, isRegExp; patchNeedsUpdate = isRegExp = false; int idx = cmbSearch->currentIndex(), colNum = 0; if (isOn) { switch (idx) { case CS_SHORT_LOG: colNum = LOG_COL; shortLogRE.setPattern(filter); break; case CS_LOG_MSG: colNum = LOG_MSG_COL; longLogRE.setPattern(filter); break; case CS_AUTHOR: colNum = AUTH_COL; break; case CS_SHA1: colNum = COMMIT_COL; break; case CS_FILE: case CS_PATCH: case CS_PATCH_REGEXP: colNum = SHA_MAP_COL; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); EM_PROCESS_EVENTS; // to paint wait cursor if (idx == CS_FILE) git->getFileFilter(filter, shaSet); else { isRegExp = (idx == CS_PATCH_REGEXP); if (!git->getPatchFilter(filter, isRegExp, shaSet)) { QApplication::restoreOverrideCursor(); ActSearchAndFilter->toggle(); return; } patchNeedsUpdate = (shaSet.count() > 0); } QApplication::restoreOverrideCursor(); break; } } else { patchNeedsUpdate = (idx == CS_PATCH || idx == CS_PATCH_REGEXP); shortLogRE.setPattern(""); longLogRE.setPattern(""); } QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); ListView* lv = rv->tab()->listViewLog; int matchedCnt = lv->filterRows(isOn, onlyHighlight, filter, colNum, &shaSet); QApplication::restoreOverrideCursor(); emit updateRevDesc(); // could be highlighted if (patchNeedsUpdate) emit highlightPatch(isOn ? filter : "", isRegExp); QString msg; if (isOn && !onlyHighlight) msg = QString("Found %1 matches. Toggle filter/highlight " "button to remove the filter").arg(matchedCnt); QApplication::postEvent(rv, new MessageEvent(msg)); // deferred message, after update } bool MainImpl::event(QEvent* e) { BaseEvent* de = dynamic_cast(e); if (!de) return QWidget::event(e); SCRef data = de->myData(); bool ret = true; switch ((EventType)e->type()) { case ERROR_EV: { QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor)); EM_PROCESS_EVENTS; MainExecErrorEvent* me = (MainExecErrorEvent*)e; QString text("An error occurred while executing command:\n\n"); text.append(me->command() + "\n\n" + me->report()); QMessageBox::warning(this, "Error - QGit", text); QApplication::restoreOverrideCursor(); } break; case MSG_EV: statusBar()->showMessage(data); break; case POPUP_LIST_EV: doContexPopup(data); break; case POPUP_FILE_EV: case POPUP_TREE_EV: doFileContexPopup(data, e->type()); break; default: dbp("ASSERT in MainImpl::event unhandled event %1", e->type()); ret = false; break; } return ret; } int MainImpl::currentTabType(Domain** t) { return tabType(t, tabWdg->currentIndex()); } int MainImpl::tabType(Domain** t, int index) { *t = NULL; QWidget* curPage = tabWdg->widget(index); if (curPage == rv->tabPage()) { *t = rv; return TAB_REV; } QList* l = getTabs(curPage); if (l->count() > 0) { *t = l->first(); delete l; return TAB_PATCH; } delete l; QList* l2 = getTabs(curPage); if (l2->count() > 0) { *t = l2->first(); delete l2; return TAB_FILE; } if (l2->count() > 0) dbs("ASSERT in tabType file not found"); delete l2; return -1; } template QList* MainImpl::getTabs(QWidget* tabPage) { QList l = this->findChildren(); QList* ret = new QList; for (int i = 0; i < l.size(); ++i) { if (!tabPage || l.at(i)->tabPage() == tabPage) ret->append(l.at(i)); } return ret; // 'ret' must be deleted by caller } template X* MainImpl::firstTab(QWidget* startPage) { int minVal = 99, firstVal = 99; int startPos = tabWdg->indexOf(startPage); X* min = NULL; X* first = NULL; QList* l = getTabs(); for (int i = 0; i < l->size(); ++i) { X* d = l->at(i); int idx = tabWdg->indexOf(d->tabPage()); if (idx < minVal) { minVal = idx; min = d; } if (idx < firstVal && idx > startPos) { firstVal = idx; first = d; } } delete l; return (first ? first : min); } void MainImpl::tabWdg_currentChanged(int w) { if (w == -1) return; // set correct focus for keyboard browsing Domain* t; switch (currentTabType(&t)) { case TAB_REV: static_cast(t)->tab()->listViewLog->setFocus(); break; case TAB_PATCH: static_cast(t)->tab()->textEditDiff->setFocus(); break; case TAB_FILE: static_cast(t)->tab()->histListView->setFocus(); break; default: dbs("ASSERT in tabWdg_currentChanged: unknown current page"); break; } } void MainImpl::setupShortcuts() { new QShortcut(Qt::Key_I, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_K, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_N, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_Left, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_Right, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_Delete, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_Backspace, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_Space, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_B, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_D, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_F, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_P, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_R, this, SLOT(shortCutActivated())); new QShortcut(Qt::Key_U, this, SLOT(shortCutActivated())); new QShortcut(Qt::SHIFT | Qt::Key_Up, this, SLOT(shortCutActivated())); new QShortcut(Qt::SHIFT | Qt::Key_Down, this, SLOT(shortCutActivated())); new QShortcut(Qt::CTRL | Qt::Key_Plus, this, SLOT(shortCutActivated())); new QShortcut(Qt::CTRL | Qt::Key_Minus, this, SLOT(shortCutActivated())); } void MainImpl::shortCutActivated() { QShortcut* se = dynamic_cast(sender()); if (se) { const QKeySequence& key = se->key(); if (key == Qt::Key_I) { rv->tab()->listViewLog->on_keyUp(); } else if ((key == Qt::Key_K) || (key == Qt::Key_N)) { rv->tab()->listViewLog->on_keyDown(); } else if (key == (Qt::SHIFT | Qt::Key_Up)) { goMatch(-1); } else if (key == (Qt::SHIFT | Qt::Key_Down)) { goMatch(1); } else if (key == Qt::Key_Left) { ActBack_activated(); } else if (key == Qt::Key_Right) { ActForward_activated(); } else if (key == (Qt::CTRL | Qt::Key_Plus)) { adjustFontSize(1); //TODO replace magic constant } else if (key == (Qt::CTRL | Qt::Key_Minus)) { adjustFontSize(-1); //TODO replace magic constant } else if (key == Qt::Key_U) { scrollTextEdit(-18); //TODO replace magic constant } else if (key == Qt::Key_D) { scrollTextEdit(18); //TODO replace magic constant } else if (key == Qt::Key_Delete || key == Qt::Key_B || key == Qt::Key_Backspace) { scrollTextEdit(-1); //TODO replace magic constant } else if (key == Qt::Key_Space) { scrollTextEdit(1); } else if (key == Qt::Key_R) { tabWdg->setCurrentWidget(rv->tabPage()); } else if (key == Qt::Key_P || key == Qt::Key_F) { QWidget* cp = tabWdg->currentWidget(); Domain* d = (key == Qt::Key_P) ? static_cast(firstTab(cp)) : static_cast(firstTab(cp)); if (d) tabWdg->setCurrentWidget(d->tabPage()); } } } void MainImpl::goMatch(int delta) { if (ActSearchAndHighlight->isChecked()) rv->tab()->listViewLog->scrollToNextHighlighted(delta); else rv->tab()->listViewLog->scrollToNext(delta); } QTextEdit* MainImpl::getCurrentTextEdit() { QTextEdit* te = NULL; Domain* t; switch (currentTabType(&t)) { case TAB_REV: te = static_cast(t)->tab()->textBrowserDesc; if (!te->isVisible()) te = static_cast(t)->tab()->textEditDiff; break; case TAB_PATCH: te = static_cast(t)->tab()->textEditDiff; break; case TAB_FILE: te = static_cast(t)->tab()->textEditFile; break; default: break; } return te; } void MainImpl::scrollTextEdit(int delta) { QTextEdit* te = getCurrentTextEdit(); if (!te) return; QScrollBar* vs = te->verticalScrollBar(); if (delta == 1 || delta == -1) vs->setValue(vs->value() + delta * (vs->pageStep() - vs->singleStep())); else vs->setValue(vs->value() + delta * vs->singleStep()); } void MainImpl::adjustFontSize(int delta) { // font size is changed on a 'per instance' base and only on list views int ps = QGit::STD_FONT.pointSize() + delta; if (ps < 2) return; QGit::STD_FONT.setPointSize(ps); QSettings settings; settings.setValue(QGit::STD_FNT_KEY, QGit::STD_FONT.toString()); emit changeFont(QGit::STD_FONT); } void MainImpl::fileNamesLoad(int status, int value) { switch (status) { case 1: // stop pbFileNamesLoading->hide(); break; case 2: // update pbFileNamesLoading->setValue(value); break; case 3: // start if (value > 200) { // don't show for few revisions pbFileNamesLoading->reset(); pbFileNamesLoading->setMaximum(value); pbFileNamesLoading->show(); } break; } } // ****************************** Menu ********************************* void MainImpl::updateCommitMenu(bool isStGITStack) { ActCommit->setText(isStGITStack ? "Commit St&GIT patch..." : "&Commit..."); ActAmend->setText(isStGITStack ? "Refresh St&GIT patch..." : "&Amend commit..."); } void MainImpl::updateRecentRepoMenu(SCRef newEntry) { // update menu of all windows foreach (QWidget* widget, QApplication::topLevelWidgets()) { MainImpl* w = dynamic_cast(widget); if (w) w->doUpdateRecentRepoMenu(newEntry); } } void MainImpl::doUpdateRecentRepoMenu(SCRef newEntry) { QList al(File->actions()); FOREACH (QList, it, al) { if ((*it)->data().toString().startsWith("RECENT")) File->removeAction(*it); } QSettings settings; QStringList recents(settings.value(REC_REP_KEY).toStringList()); int idx = recents.indexOf(newEntry); if (idx != -1) recents.removeAt(idx); if (!newEntry.isEmpty()) recents.prepend(newEntry); idx = 1; QStringList newRecents; FOREACH_SL (it, recents) { QAction* newAction = File->addAction(QString::number(idx++) + " " + *it); newAction->setData(QString("RECENT ") + *it); newRecents << *it; if (idx > MAX_RECENT_REPOS) break; } settings.setValue(REC_REP_KEY, newRecents); } static void prepareRefSubmenu(QMenu* menu, const QStringList& refs, const QChar sep = '/') { FOREACH_SL (it, refs) { const QStringList& parts(it->split(sep, QGIT_SPLITBEHAVIOR(SkipEmptyParts))); QMenu* add_here = menu; FOREACH_SL (pit, parts) { if (pit == parts.end() - 1) break; QMenu* found = add_here->findChild(*pit, Qt::FindDirectChildrenOnly); if(!found) { found = add_here->addMenu(*pit); found->setObjectName(*pit); } add_here = found; } QAction* act = add_here->addAction(*it); act->setData("Ref"); } } void MainImpl::doContexPopup(SCRef sha) { QMenu contextMenu(this); QMenu contextBrnMenu("Branches...", this); QMenu contextRmtMenu("Remote branches...", this); QMenu contextTagMenu("Tags...", this); connect(&contextMenu, SIGNAL(triggered(QAction*)), this, SLOT(goRef_triggered(QAction*))); Domain* t; int tt = currentTabType(&t); bool isRevPage = (tt == TAB_REV); bool isPatchPage = (tt == TAB_PATCH); bool isFilePage = (tt == TAB_FILE); if (isFilePage && ActViewRev->isEnabled()) contextMenu.addAction(ActViewRev); if (!isPatchPage && ActViewDiff->isEnabled()) contextMenu.addAction(ActViewDiff); if (isRevPage && ActViewDiffNewTab->isEnabled()) contextMenu.addAction(ActViewDiffNewTab); if (!isFilePage && ActExternalDiff->isEnabled()) contextMenu.addAction(ActExternalDiff); if (isFilePage && ActExternalEditor->isEnabled()) contextMenu.addAction(ActExternalEditor); if (isRevPage) { updateRevVariables(sha); if (ActCommit->isEnabled() && (sha == ZERO_SHA)) contextMenu.addAction(ActCommit); if (ActCheckout->isEnabled()) contextMenu.addAction(ActCheckout); if (ActBranch->isEnabled()) contextMenu.addAction(ActBranch); if (ActTag->isEnabled()) contextMenu.addAction(ActTag); if (ActDelete->isEnabled()) contextMenu.addAction(ActDelete); if (ActMailFormatPatch->isEnabled()) contextMenu.addAction(ActMailFormatPatch); if (ActPush->isEnabled()) contextMenu.addAction(ActPush); if (ActPop->isEnabled()) contextMenu.addAction(ActPop); contextMenu.addSeparator(); QStringList bn(git->getAllRefNames(Git::BRANCH, Git::optOnlyLoaded)); bn.sort(); prepareRefSubmenu(&contextBrnMenu, bn); contextMenu.addMenu(&contextBrnMenu); contextBrnMenu.setEnabled(bn.size() > 0); QStringList rbn(git->getAllRefNames(Git::RMT_BRANCH, Git::optOnlyLoaded)); rbn.sort(); prepareRefSubmenu(&contextRmtMenu, rbn); contextMenu.addMenu(&contextRmtMenu); contextRmtMenu.setEnabled(rbn.size() > 0); QStringList tn(git->getAllRefNames(Git::TAG, Git::optOnlyLoaded)); tn.sort(); prepareRefSubmenu(&contextTagMenu, tn); contextMenu.addSeparator(); contextMenu.addMenu(&contextTagMenu); contextTagMenu.setEnabled(tn.size() > 0); } QPoint p = QCursor::pos(); p += QPoint(10, 10); contextMenu.exec(p); // remove selected ref name after showing the popup revision_variables.remove(SELECTED_NAME); } void MainImpl::doFileContexPopup(SCRef fileName, int type) { QMenu contextMenu(this); Domain* t; int tt = currentTabType(&t); bool isRevPage = (tt == TAB_REV); bool isPatchPage = (tt == TAB_PATCH); bool isDir = treeView->isDir(fileName); if (type == POPUP_FILE_EV) if (!isPatchPage && ActViewDiff->isEnabled()) contextMenu.addAction(ActViewDiff); if (!isDir && ActViewFile->isEnabled()) contextMenu.addAction(ActViewFile); if (!isDir && ActViewFileNewTab->isEnabled()) contextMenu.addAction(ActViewFileNewTab); if (!isRevPage && (type == POPUP_FILE_EV) && ActViewRev->isEnabled()) contextMenu.addAction(ActViewRev); if (ActFilterTree->isEnabled()) contextMenu.addAction(ActFilterTree); if (!isDir) { if (ActSaveFile->isEnabled()) contextMenu.addAction(ActSaveFile); if ((type == POPUP_FILE_EV) && ActExternalDiff->isEnabled()) contextMenu.addAction(ActExternalDiff); if ((type == POPUP_FILE_EV) && ActExternalEditor->isEnabled()) contextMenu.addAction(ActExternalEditor); if (ActExternalEditor->isEnabled()) contextMenu.addAction(ActExternalEditor); } contextMenu.exec(QCursor::pos()); } void MainImpl::goRef_triggered(QAction* act) { if (!act || act->data() != "Ref") return; SCRef refSha(git->getRefSha(act->iconText())); rv->st.setSha(refSha); UPDATE_DOMAIN(rv); } void MainImpl::ActSplitView_activated() { Domain* t; switch (currentTabType(&t)) { case TAB_REV: { RevsView* rv = static_cast(t); QWidget* w = rv->tab()->fileList; QSplitter* sp = static_cast(w->parent()); sp->setHidden(w->isVisible()); } break; case TAB_PATCH: { PatchView* pv = static_cast(t); QWidget* w = pv->tab()->textBrowserDesc; w->setHidden(w->isVisible()); } break; case TAB_FILE: { FileView* fv = static_cast(t); QWidget* w = fv->tab()->histListView; w->setHidden(w->isVisible()); } break; default: dbs("ASSERT in ActSplitView_activated: unknown current page"); break; } } void MainImpl::ActToggleLogsDiff_activated() { Domain* t; if (currentTabType(&t) == TAB_REV) { RevsView* rv = static_cast(t); rv->toggleDiffView(); } } const QString MainImpl::getRevisionDesc(SCRef sha) { bool showHeader = ActShowDescHeader->isChecked(); return git->getDesc(sha, shortLogRE, longLogRE, showHeader, NULL); } void MainImpl::ActShowDescHeader_activated() { // each open tab get his description, // could be different for each tab emit updateRevDesc(); } void MainImpl::ActShowTree_toggled(bool b) { if (b) { treeView->show(); UPDATE_DOMAIN(rv); } else { saveCurrentGeometry(); treeView->hide(); } } void MainImpl::ActSaveFile_activated() { QFileInfo f(rv->st.fileName()); const QString fileName(QFileDialog::getSaveFileName(this, "Save file as", f.fileName())); if (fileName.isEmpty()) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QString fileSha(git->getFileSha(rv->st.fileName(), rv->st.sha())); if (!git->saveFile(fileSha, rv->st.fileName(), fileName)) statusBar()->showMessage("Unable to save " + fileName); QApplication::restoreOverrideCursor(); } void MainImpl::openRecent_triggered(QAction* act) { const QString dataString = act->data().toString(); if (!dataString.startsWith("RECENT")) // only recent repos entries have "RECENT" in data field return; const QString workDir = dataString.mid(7); if (!workDir.isEmpty()) { QDir d(workDir); if (d.exists()) setRepository(workDir); else statusBar()->showMessage("Directory '" + workDir + "' does not seem to exist anymore"); } } void MainImpl::ActOpenRepo_activated() { const QString dirName(QFileDialog::getExistingDirectory(this, "Choose a directory", curDir)); if (!dirName.isEmpty()) { QDir d(dirName); setRepository(d.absolutePath()); } } void MainImpl::ActOpenRepoNewWindow_activated() { const QString dirName(QFileDialog::getExistingDirectory(this, "Choose a directory", curDir)); if (!dirName.isEmpty()) { QDir d(dirName); MainImpl* newWin = new MainImpl(d.absolutePath()); newWin->show(); } } void MainImpl::refreshRepo(bool b) { setRepository(curDir, true, b); } void MainImpl::ActRefresh_activated() { refreshRepo(true); } void MainImpl::ActMailFormatPatch_activated() { QStringList selectedItems; rv->tab()->listViewLog->getSelectedItems(selectedItems); if (selectedItems.isEmpty()) { statusBar()->showMessage("At least one selected revision needed"); return; } if (selectedItems.contains(ZERO_SHA)) { statusBar()->showMessage("Unable to save a patch for not committed content"); return; } QSettings settings; QString outDir(settings.value(PATCH_DIR_KEY, curDir).toString()); QString dirPath(QFileDialog::getExistingDirectory(this, "Choose destination directory - Save Patch", outDir)); if (dirPath.isEmpty()) return; QDir d(dirPath); settings.setValue(PATCH_DIR_KEY, d.absolutePath()); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); git->formatPatch(selectedItems, d.absolutePath()); QApplication::restoreOverrideCursor(); } bool MainImpl::askApplyPatchParameters(bool* workDirOnly, bool* fold) { int ret = 0; if (!git->isStGITStack()) { ret = QMessageBox::question(this, "Apply Patch", "Do you want to commit or just to apply changes to " "working directory?", "&Cancel", "&Working directory", "&Commit", 0, 0); *workDirOnly = (ret == 1); *fold = false; } else { ret = QMessageBox::question(this, "Apply Patch", "Do you want to " "import or fold the patch?", "&Cancel", "&Fold", "&Import", 0, 0); *workDirOnly = false; *fold = (ret == 1); } return (ret != 0); } void MainImpl::ActMailApplyPatch_activated() { QSettings settings; QString outDir(settings.value(PATCH_DIR_KEY, curDir).toString()); QString patchName(QFileDialog::getOpenFileName(this, "Choose the patch file - Apply Patch", outDir, "Patches (*.patch *.diff *.eml)\nAll Files (*.*)")); if (patchName.isEmpty()) return; QFileInfo f(patchName); settings.setValue(PATCH_DIR_KEY, f.absolutePath()); bool workDirOnly, fold; if (!askApplyPatchParameters(&workDirOnly, &fold)) return; QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); bool ok = git->applyPatchFile(f.absoluteFilePath(), fold, !Git::optDragDrop); if (workDirOnly && ok) git->resetCommits(1); QApplication::restoreOverrideCursor(); refreshRepo(false); } void MainImpl::ActCheckWorkDir_toggled(bool b) { if (!ActCheckWorkDir->isEnabled()) // to avoid looping with setChecked() return; setFlag(DIFF_INDEX_F, b); bool keepSelection = (rv->st.sha() != ZERO_SHA); refreshRepo(keepSelection); } void MainImpl::ActSettings_activated() { SettingsImpl setView(this, git); connect(&setView, SIGNAL(typeWriterFontChanged()), this, SIGNAL(typeWriterFontChanged())); connect(&setView, SIGNAL(flagChanged(uint)), this, SIGNAL(flagChanged(uint))); setView.exec(); // update ActCheckWorkDir if necessary if (ActCheckWorkDir->isChecked() != testFlag(DIFF_INDEX_F)) ActCheckWorkDir->toggle(); } void MainImpl::ActCustomActionSetup_activated() { CustomActionImpl* ca = new CustomActionImpl(); // has Qt::WA_DeleteOnClose connect(this, SIGNAL(closeAllWindows()), ca, SLOT(close())); connect(ca, SIGNAL(listChanged(const QStringList&)), this, SLOT(customActionListChanged(const QStringList&))); ca->show(); } void MainImpl::customActionListChanged(const QStringList& list) { // update menu of all windows foreach (QWidget* widget, QApplication::topLevelWidgets()) { MainImpl* w = dynamic_cast(widget); if (w) w->doUpdateCustomActionMenu(list); } } void MainImpl::doUpdateCustomActionMenu(const QStringList& list) { QAction* setupAct = Actions->actions().first(); // is never empty Actions->removeAction(setupAct); Actions->clear(); Actions->addAction(setupAct); if (list.isEmpty()) return; Actions->addSeparator(); FOREACH_SL (it, list) Actions->addAction(*it)->setMenuRole(QAction::NoRole); } void MainImpl::customAction_triggered(QAction* act) { QString actionName = act->text(); if (actionName == "Setup actions...") return; QSettings set; QStringList actionsList = set.value(ACT_LIST_KEY).toStringList(); if (!(actionsList.contains(actionName) || actionsList.contains(actionName.remove(QChar('&'))))) { dbp("ASSERT in customAction_activated, action %1 not found", actionName); return; } QString cmd = set.value(ACT_GROUP_KEY + actionName + ACT_TEXT_KEY).toString().trimmed(); if (testFlag(ACT_CMD_LINE_F, ACT_GROUP_KEY + actionName + ACT_FLAGS_KEY)) { // for backwards compatibility: if ACT_CMD_LINE_F is set, insert a dialog token in first line int pos = cmd.indexOf('\n'); if (pos < 0) pos = cmd.length(); cmd.insert(pos, " %lineedit:cmdline args%"); } updateRevVariables(lineEditSHA->text()); InputDialog dlg(cmd, revision_variables, "Run custom action: " + actionName, this); if (!dlg.empty() && dlg.exec() != QDialog::Accepted) return; try { cmd = dlg.replace(revision_variables); // replace variables } catch (const std::exception &e) { QMessageBox::warning(this, "Custom action command", e.what()); return; } if (cmd.isEmpty()) return; ConsoleImpl* c = new ConsoleImpl(actionName, git); // has Qt::WA_DeleteOnClose attribute connect(this, SIGNAL(typeWriterFontChanged()), c, SLOT(typeWriterFontChanged())); connect(this, SIGNAL(closeAllWindows()), c, SLOT(close())); connect(c, SIGNAL(customAction_exited(const QString&)), this, SLOT(customAction_exited(const QString&))); if (c->start(cmd)) c->show(); } void MainImpl::customAction_exited(const QString& name) { const QString flags(ACT_GROUP_KEY + name + ACT_FLAGS_KEY); if (testFlag(ACT_REFRESH_F, flags)) QTimer::singleShot(10, this, SLOT(refreshRepo())); // outside of event handler } void MainImpl::ActCommit_activated() { CommitImpl* c = new CommitImpl(git, false); // has Qt::WA_DeleteOnClose attribute connect(this, SIGNAL(closeAllWindows()), c, SLOT(close())); connect(c, SIGNAL(changesCommitted(bool)), this, SLOT(changesCommitted(bool))); c->show(); } void MainImpl::ActAmend_activated() { CommitImpl* c = new CommitImpl(git, true); // has Qt::WA_DeleteOnClose attribute connect(this, SIGNAL(closeAllWindows()), c, SLOT(close())); connect(c, SIGNAL(changesCommitted(bool)), this, SLOT(changesCommitted(bool))); c->show(); } void MainImpl::changesCommitted(bool ok) { if (ok) refreshRepo(false); else statusBar()->showMessage("Failed to commit changes"); } void MainImpl::ActCommit_setEnabled(bool b) { // pop and push commands fail if there are local changes, // so in this case we disable ActPop and ActPush if (b) { ActPush->setEnabled(false); ActPop->setEnabled(false); } ActCommit->setEnabled(b); } /** Checkout supports various operation modes: * - switching to an existing branch (standard use case) * - create and checkout a new branch * - resetting an existing branch to a new sha */ void MainImpl::ActCheckout_activated() { QString sha = lineEditSHA->text(), rev = sha; const QString branchKey("local branch name"); QString cmd = "git checkout -q "; const QString &selected_name = revision_variables.value(SELECTED_NAME).toString(); const QString ¤t_branch = revision_variables.value(CURRENT_BRANCH).toString(); const QStringList &local_branches = revision_variables.value(REV_LOCAL_BRANCHES).toStringList(); if (!selected_name.isEmpty() && local_branches.contains(selected_name) && selected_name != current_branch) { // standard branch switching: directly checkout selected branch rev = selected_name; } else { // ask for (new) local branch name QString title = QString("Checkout "); if (selected_name.isEmpty()) { title += QString("revision ") + sha.mid(0, 8); } else { title += QString("branch ") + selected_name; rev = selected_name; } // merge all reference names into a single list const QStringList &rmts = revision_variables.value(REV_REMOTE_BRANCHES).toStringList(); QStringList all_names; all_names << revision_variables.value(REV_LOCAL_BRANCHES).toStringList(); for(QStringList::const_iterator it=rmts.begin(), end=rmts.end(); it!=end; ++it) { // drop initial / from name int pos = it->indexOf('/'); if (pos < 0) continue; all_names << it->mid(pos+1); } revision_variables.insert("ALL_NAMES", all_names); InputDialog dlg(QString("%combobox[editable,ref,empty]:%1=$ALL_NAMES%").arg(branchKey), revision_variables, title, this); if (dlg.exec() != QDialog::Accepted) return; QString branch = dlg.value(branchKey).toString(); if (!branch.isEmpty()) { SCRef refsha = git->getRefSha(branch, Git::BRANCH, true); if (refsha == sha) rev = branch; // checkout existing branch, even if name wasn't directly selected else if (!refsha.isEmpty()) { if (QMessageBox::warning(this, "Checkout " + branch, QString("Branch %1 already exists. Reset?").arg(branch), QMessageBox::Yes | QMessageBox::No, QMessageBox::No) != QMessageBox::Yes) return; else cmd.append("-B ").append(branch); // reset an existing branch } else { cmd.append("-b ").append(branch); // create new local branch } } // if new branch name is empty, checkout detached } cmd.append(" ").append(rev); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); if (!git->run(cmd)) statusBar()->showMessage("Failed to checkout " + rev); refreshRepo(true); QApplication::restoreOverrideCursor(); } void MainImpl::ActBranch_activated() { doBranchOrTag(false); } void MainImpl::ActTag_activated() { doBranchOrTag(true); } const QStringList& stripNames(QStringList& names) { for(QStringList::iterator it=names.begin(), end=names.end(); it!=end; ++it) *it = it->section('/', -1); return names; } void MainImpl::doBranchOrTag(bool isTag) { const QString sha = lineEditSHA->text(); QString refDesc = isTag ? "tag" : "branch"; QString dlgTitle = "Create " + refDesc + " - QGit"; QString dlgDesc = "%lineedit[ref]:name=$ALL_NAMES%"; InputDialog::VariableMap dlgVars; QStringList allNames = git->getAllRefNames(Git::BRANCH | Git::RMT_BRANCH | Git::TAG, false); stripNames(allNames); allNames.removeDuplicates(); allNames.sort(); dlgVars.insert("ALL_NAMES", allNames); if (isTag) { QString revDesc(rv->tab()->listViewLog->currentText(LOG_COL)); dlgDesc += "%textedit:message=$MESSAGE%"; dlgVars.insert("MESSAGE", revDesc); } InputDialog dlg(dlgDesc, dlgVars, dlgTitle, this); if (dlg.exec() != QDialog::Accepted) return; const QString& ref = dlg.value("name").toString(); bool force = false; if (!git->getRefSha(ref, isTag ? Git::TAG : Git::BRANCH, false).isEmpty()) { if (QMessageBox::warning(this, dlgTitle, refDesc + " name '" + ref + "' already exists.\n" "Force reset?", QMessageBox::Yes | QMessageBox::No, QMessageBox::No) != QMessageBox::Yes) return; force = true; } QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); QString cmd; if (isTag) { const QString& msg = dlg.value("message").toString(); cmd = "git tag "; if (!msg.isEmpty()) cmd += "-m \"" + msg + "\" "; } else { cmd = "git branch "; } if (force) cmd += "-f "; cmd += ref + " " + sha; if (git->run(cmd)) refreshRepo(true); else statusBar()->showMessage("Failed to create " + refDesc + " " + ref); QApplication::restoreOverrideCursor(); } // put a ref name into a corresponding StringList for tags, remotes, and local branches typedef QMap RefGroupMap; static void groupRef(const QString& ref, RefGroupMap& groups) { QString group, name; if (ref.startsWith("tags/")) { group = ref.left(5); name = ref.mid(5); } else if (ref.startsWith("remotes/")) { group = ref.section('/', 1, 1); name = ref.section('/', 2); } else { group = ""; name = ref; } if (!groups.contains(group)) groups.insert(group, QStringList()); QStringList &l = groups[group]; l << name; } void MainImpl::ActDelete_activated() { const QString &selected_name = revision_variables.value(SELECTED_NAME).toString(); const QStringList &tags = revision_variables.value(REV_TAGS).toStringList(); const QStringList &rmts = revision_variables.value(REV_REMOTE_BRANCHES).toStringList(); // merge all reference names into a single list QStringList all_names; all_names << revision_variables.value(REV_LOCAL_BRANCHES).toStringList(); for (QStringList::const_iterator it=rmts.begin(), end=rmts.end(); it!=end; ++it) all_names << "remotes/" + *it; for (QStringList::const_iterator it=tags.begin(), end=tags.end(); it!=end; ++it) all_names << "tags/" + *it; // group selected names by origin and determine which ref names will remain QMap groups; QStringList remaining = all_names; if (!selected_name.isEmpty()) { groupRef(selected_name, groups); remaining.removeOne(selected_name); } else if (all_names.size() == 1) { const QString &name = all_names.first(); groupRef(name, groups); remaining.removeOne(name); } else { revision_variables.insert("ALL_NAMES", all_names); InputDialog dlg("%listbox:_refs=$ALL_NAMES%", revision_variables, "Delete references - QGit", this); QListView *w = dynamic_cast(dlg.widget("_refs")); w->setSelectionMode(QAbstractItemView::ExtendedSelection); if (dlg.exec() != QDialog::Accepted) return; QModelIndexList selected = w->selectionModel()->selectedIndexes(); for (QModelIndexList::const_iterator it=selected.begin(), end=selected.end(); it!=end; ++it) { const QString &name = it->data().toString(); groupRef(name, groups); remaining.removeOne(name); } } if (groups.empty()) return; // check whether all refs will be removed const QString sha = revision_variables.value("SHA").toString(); const QStringList &children = git->getChildren(sha); if ((children.count() == 0 || (children.count() == 1 && children.front() == ZERO_SHA)) && // no children remaining.count() == 0 && // all refs will be removed QMessageBox::warning(this, "remove references", "Do you really want to remove all\nremaining references to this branch?", QMessageBox::Yes | QMessageBox::No, QMessageBox::No) == QMessageBox::No) return; // group selected names by origin QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); bool ok = true; for (RefGroupMap::const_iterator g = groups.begin(), gend = groups.end(); g != gend; ++g) { QString cmd; if (g.key() == "") // local branches cmd = "git branch -D " + g.value().join(" "); else if (g.key() == "tags/") // tags cmd = "git tag -d " + g.value().join(" "); else // remote branches cmd = "git push -q " + g.key() + " :" + g.value().join(" :"); ok &= git->run(cmd); } refreshRepo(true); QApplication::restoreOverrideCursor(); if (!ok) statusBar()->showMessage("Failed, to remove some refs."); } void MainImpl::ActPush_activated() { QStringList selectedItems; rv->tab()->listViewLog->getSelectedItems(selectedItems); for (int i = 0; i < selectedItems.count(); i++) { if (!git->checkRef(selectedItems[i], Git::UN_APPLIED)) { statusBar()->showMessage("Please, select only unapplied patches"); return; } } QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); bool ok = true; for (int i = 0; i < selectedItems.count(); i++) { const QString tmp(QString("Pushing patch %1 of %2") .arg(i+1).arg(selectedItems.count())); statusBar()->showMessage(tmp); SCRef sha = selectedItems[selectedItems.count() - i - 1]; if (!git->stgPush(sha)) { statusBar()->showMessage("Failed to push patch " + sha); ok = false; break; } } if (ok) statusBar()->clearMessage(); QApplication::restoreOverrideCursor(); refreshRepo(false); } void MainImpl::ActPop_activated() { QStringList selectedItems; rv->tab()->listViewLog->getSelectedItems(selectedItems); if (selectedItems.count() > 1) { statusBar()->showMessage("Please, select one revision only"); return; } QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); git->stgPop(selectedItems[0]); QApplication::restoreOverrideCursor(); refreshRepo(false); } void MainImpl::ActFilterTree_toggled(bool b) { if (!ActFilterTree->isEnabled()) { dbs("ASSERT ActFilterTree_toggled while disabled"); return; } if (b) { QStringList selectedItems; if (!treeView->isVisible()) treeView->updateTree(); // force tree updating treeView->getTreeSelectedItems(selectedItems); if (selectedItems.count() == 0) { dbs("ASSERT tree filter action activated with no selected items"); return; } statusBar()->showMessage("Filter view on " + selectedItems.join(" ")); setRepository(curDir, true, true, &selectedItems); } else refreshRepo(true); } void MainImpl::ActFindNext_activated() { QTextEdit* te = getCurrentTextEdit(); if (!te || textToFind.isEmpty()) return; bool endOfDocument = false; while (true) { if (te->find(textToFind)) return; if (endOfDocument) { QMessageBox::warning(this, "Find text - QGit", "Text \"" + textToFind + "\" not found!", QMessageBox::Ok, 0); return; } if (QMessageBox::question(this, "Find text - QGit", "End of document " "reached\n\nDo you want to continue from beginning?", QMessageBox::Yes, QMessageBox::No | QMessageBox::Escape) == QMessageBox::No) return; endOfDocument = true; te->moveCursor(QTextCursor::Start); } } void MainImpl::ActFind_activated() { QTextEdit* te = getCurrentTextEdit(); if (!te) return; QString def(textToFind); if (te->textCursor().hasSelection()) def = te->textCursor().selectedText().section('\n', 0, 0); else te->moveCursor(QTextCursor::Start); bool ok; QString str(QInputDialog::getText(this, "Find text - QGit", "Text to find:", QLineEdit::Normal, def, &ok)); if (!ok || str.isEmpty()) return; // Highlight all occurrences. const QTextCursor origCursor = te->textCursor(); te->moveCursor(QTextCursor::Start); QList extras; while(te->find(str)) { QTextEdit::ExtraSelection extra; extra.format.setBackground(Qt::yellow); extra.cursor = te->textCursor(); extras.append(extra); } te->setExtraSelections(extras); te->setTextCursor(origCursor); // Do the normal find(). textToFind = str; // update with valid data only ActFindNext_activated(); } void MainImpl::ActHelp_activated() { QDialog* dlg = new QDialog(); dlg->setAttribute(Qt::WA_DeleteOnClose); Ui::HelpBase ui; ui.setupUi(dlg); ui.textEditHelp->setHtml(QString::fromLatin1(helpInfo)); // defined in help.h connect(this, SIGNAL(closeAllWindows()), dlg, SLOT(close())); dlg->show(); dlg->raise(); } void MainImpl::ActMarkDiffToSha_activated() { ListView* lv = rv->tab()->listViewLog; lv->markDiffToSha(lineEditSHA->text()); } void MainImpl::ActAbout_activated() { static const char* aboutMsg = "

QGit version " PACKAGE_VERSION "

" "

Copyright (c) 2005-2008 Marco Costalba
" "Copyright (c) 2011-2025 Cristian Tibirna

" "

Use and redistribute under the terms of the
" "GNU General Public License Version 2

" "

Contributors:
" "Copyright (c) " "2007 Andy Parkins, " "2007 Pavel Roskin, " "2007 Peter Oberndorfer, " "2007 Yaacov Akiba, " "2007 James McKaskill, " "2008 Jan Hudec, " "2008 Paul Gideon Dann, " "2008 Oliver Bock, " "2010 Cyp, " "2011 Jean-François Dagenais, " "2011 Pavel Tikhomirov, " "2011 Tim Blechmann, " "2014 Gregor Mi, " "2014 Sbytov N.N, " "2015 Daniel Levin, " "2017 Luigi Toscano, " "2016 Pavel Karelin, " "2016 Zane Bitter, " "2017 Andrey Rahmatullin, " "2017 Alex Hermann, " "2017 Matthias Schuster, " "2017 Urs Joss, " "2017 Patrick Lacasse, " "2018 Deve, " "2018 Andreas Sturmlechner, " "2018 David Edmundson, " "2016-2018 Robert Haschke, " "2018-2024 Filipe Rinaldi, " "2018 Mateusz Balbus, " "2019-2022 Sebastian Pipping, " "2019-2020 Matthias von Faber, " "2019 Kevin Kofler, " "2020 Matthieu Muffato, " "2020 Brent Roman, " "2020 Jonathan Marten, " "2020 Yichao Yu, " "2021 Karl Robillard " "2021 Vitaly Chesnokov " "2022 Frank Dietrich " "2023 Danilo Treffiletti " "2023 Magnus Holmgren " "2025 Thimothée Ravier " "

" "

This version was compiled against Qt " QT_VERSION_STR "

"; QMessageBox::about(this, "About QGit", QString::fromLatin1(aboutMsg)); } void MainImpl::closeEvent(QCloseEvent* ce) { saveCurrentGeometry(); // lastWindowClosed() signal is emitted by close(), after sending // closeEvent(), so we need to close _here_ all secondary windows before // the close() method checks for lastWindowClosed flag to avoid missing // the signal and stay in the main loop forever, because lastWindowClosed() // signal is connected to qApp->quit() // // note that we cannot rely on setting 'this' parent in secondary windows // because when close() is called children are still alive and, finally, // when children are deleted, d'tor do not call close() anymore. So we miss // lastWindowClosed() signal in this case. emit closeAllWindows(); hide(); EM_RAISE(exExiting); git->stop(Git::optSaveCache); if (!git->findChildren().isEmpty()) { // if not all processes have been deleted, there is // still some run() call not returned somewhere, it is // not safe to delete run() callers objects now QTimer::singleShot(100, this, SLOT(ActClose_activated())); ce->ignore(); return; } emit closeAllTabs(); delete rv; QWidget::closeEvent(ce); } void MainImpl::ActClose_activated() { close(); } void MainImpl::ActExit_activated() { qApp->closeAllWindows(); } qgit-qgit-2.11/src/mainimpl.h000066400000000000000000000155371500324541100161170ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef MAINIMPL_H #define MAINIMPL_H #include #include #include #include "exceptionmanager.h" #include "common.h" #include "ui_mainview.h" class QAction; class QCloseEvent; class QComboBox; class QEvent; class QListWidgetItem; class QModelIndex; class QProgressBar; class QShortcutEvent; class QTextEdit; class Domain; class Git; class FileHistory; class FileView; class RevsView; class MainImpl : public QMainWindow, public Ui_MainBase { Q_OBJECT public: MainImpl(const QString& curDir = "", QWidget* parent = 0); void updateContextActions(SCRef newRevSha, SCRef newFileName, bool isDir, bool found); const QString getRevisionDesc(SCRef sha); const QString currentDir() const {return curDir;} // not buildable with Qt designer, will be created manually QLineEdit* lineEditSHA; QLineEdit* lineEditFilter; enum ComboSearch { CS_SHORT_LOG, CS_LOG_MSG, CS_AUTHOR, CS_SHA1, CS_FILE, CS_PATCH, CS_PATCH_REGEXP }; QComboBox* cmbSearch; signals: void highlightPatch(const QString&, bool); void updateRevDesc(); void closeAllWindows(); void closeAllTabs(); void changeFont(const QFont&); void typeWriterFontChanged(); void flagChanged(uint); private slots: void tabWdg_currentChanged(int); void newRevsAdded(const FileHistory*, const QVector&); void fileNamesLoad(int, int); void applyRevisions(const QStringList& shas, const QString& remoteRepo); bool applyPatches(const QStringList &files); void rebase(const QString& from, const QString& to, const QString& onto); void merge(const QStringList& shas, const QString& into); void moveRef(const QString& refName, const QString& toSHA); void shortCutActivated(); protected: virtual bool event(QEvent* e); protected slots: void initWithEventLoopActive(); void refreshRepo(bool setCurRevAfterLoad = true); void listViewLog_doubleClicked(const QModelIndex&); void fileList_itemDoubleClicked(QListWidgetItem*); void treeView_doubleClicked(QTreeWidgetItem*, int); void histListView_doubleClicked(const QModelIndex&); void customActionListChanged(const QStringList& list); void openRecent_triggered(QAction*); void customAction_triggered(QAction*); void customAction_exited(const QString& name); void goRef_triggered(QAction*); void changesCommitted(bool); void lineEditSHA_returnPressed(); void lineEditFilter_returnPressed(); void tabBar_tabCloseRequested(int index); void ActBack_activated(); void ActForward_activated(); void ActFind_activated(); void ActFindNext_activated(); void ActRangeDlg_activated(); void ActViewRev_activated(); void ActViewFile_activated(); void ActViewFileNewTab_activated(); void ActViewDiff_activated(); void ActViewDiffNewTab_activated(); void ActExternalDiff_activated(); void ActExternalEditor_activated(); void ActSplitView_activated(); void ActToggleLogsDiff_activated(); void ActShowDescHeader_activated(); void ActOpenRepo_activated(); void ActOpenRepoNewWindow_activated(); void ActRefresh_activated(); void ActSaveFile_activated(); void ActMailFormatPatch_activated(); void ActMailApplyPatch_activated(); void ActSettings_activated(); void ActCommit_activated(); void ActAmend_activated(); void ActCheckout_activated(); void ActBranch_activated(); void ActTag_activated(); void ActDelete_activated(); void ActPush_activated(); void ActPop_activated(); void ActClose_activated(); void ActExit_activated(); void ActSearchAndFilter_toggled(bool); void ActSearchAndHighlight_toggled(bool); void ActCustomActionSetup_activated(); void ActCheckWorkDir_toggled(bool); void ActShowTree_toggled(bool); void ActFilterTree_toggled(bool); void ActAbout_activated(); void ActHelp_activated(); void ActMarkDiffToSha_activated(); void closeEvent(QCloseEvent* ce); private: friend class setRepoDelayed; virtual bool eventFilter(QObject* obj, QEvent* ev); void updateGlobalActions(bool b); void updateRevVariables(SCRef sha); void setupShortcuts(); int currentTabType(Domain** t); int tabType(Domain** t, int index); void filterList(bool isOn, bool onlyHighlight); bool isMatch(SCRef sha, SCRef f, int cn, const QMap& sm); void highlightAbbrevSha(SCRef abbrevSha); void setRepository(SCRef wd, bool = false, bool = false, const QStringList* = NULL, bool = false); void getExternalDiffArgs(QStringList* args, QStringList* filenames); QString copyFileToDiffIfNeeded(QStringList* filenames, QString sha); QStringList getExternalEditorArgs(); void lineEditSHASetText(SCRef text); void updateCommitMenu(bool isStGITStack); void updateRecentRepoMenu(SCRef newEntry = ""); void doUpdateRecentRepoMenu(SCRef newEntry); void doUpdateCustomActionMenu(const QStringList& list); void doBranchOrTag(bool isTag); void ActCommit_setEnabled(bool b); void doContexPopup(SCRef sha); void doFileContexPopup(SCRef fileName, int type); void adjustFontSize(int delta); void scrollTextEdit(int delta); void goMatch(int delta); bool askApplyPatchParameters(bool* commit, bool* fold); void saveCurrentGeometry(); QTextEdit* getCurrentTextEdit(); template QList* getTabs(QWidget* tabPage = NULL); template X* firstTab(QWidget* startPage = NULL); void openFileTab(FileView* fv = NULL); EM_DECLARE(exExiting); Git* git; RevsView* rv; QProgressBar* pbFileNamesLoading; // curDir is the repository working directory, could be different from qgit running // directory QDir::current(). Note that qgit could be run from subdirectory // so only after git->isArchive() that updates curDir to point to working directory // we are sure is correct. QString curDir; QString startUpDir; QString startUpFile; QString textToFind; QRegExp shortLogRE; QRegExp longLogRE; static const QRegExp emptySha; QMap revision_variables; // variables used in generic input dialogs bool setRepositoryBusy; }; class ExternalDiffProc : public QProcess { Q_OBJECT public: ExternalDiffProc(const QStringList& f, QObject* p) : QProcess(p), filenames(f) { connect(this, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(on_finished(int, QProcess::ExitStatus))); } ~ExternalDiffProc() { terminate(); removeFiles(); } QStringList filenames; private slots: void on_finished(int, QProcess::ExitStatus) { deleteLater(); } private: void removeFiles() { if (!filenames.empty()) { QDir d; // remove temporary files to diff on for (int i = 0; i < filenames.size(); i++) { d.remove(filenames[i]); } } } }; class ExternalEditorProc : public QProcess { Q_OBJECT public: ExternalEditorProc(QObject* p) : QProcess(p) { connect(this, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(on_finished(int, QProcess::ExitStatus))); } ~ExternalEditorProc() { terminate(); } private slots: void on_finished(int, QProcess::ExitStatus) { deleteLater(); } private: }; #endif qgit-qgit-2.11/src/mainview.ui000066400000000000000000001153401500324541100163070ustar00rootroot00000000000000 MainBase 0 0 905 477 true QGit :/icons/resources/qgit.svg:/icons/resources/qgit.svg 6 9 9 9 9 Qt::Horizontal Qt::CustomContextMenu QAbstractItemView::ExtendedSelection false 1 Git tree true Tab&Wdg Toolbar Qt::Horizontal 16 16 TopToolBarArea false 0 0 905 20 &Help &File true &Edit &Actions &View :/icons/resources/folder.svg:/icons/resources/folder.svg &Open... Open Ctrl+O E&xit Exit Ctrl+Q :/icons/resources/qgit.svg:/icons/resources/qgit.svg &About QGit About false :/icons/resources/document-save.svg:/icons/resources/document-save.svg &Save patch... Save patch Save a patch series to be sent by e-mail :/icons/resources/question.svg:/icons/resources/question.svg QGit ha&ndbook Handbook F1 :/icons/resources/configure.svg:/icons/resources/configure.svg &Settings... Settings QAction::PreferencesRole false :/icons/resources/svn-commit.svg:/icons/resources/svn-commit.svg &Commit... Commit Commit changes # false Make &tag... Make tag Tag selected revision Ctrl+T Open in a &new window... Open in a &new window Ctrl+N &Close Close Ctrl+W false :/icons/resources/text-x-patch.svg:/icons/resources/text-x-patch.svg Apply &patch... Apply a patch series false &Push patch Push patch Push this patch on StGIT stack PgUp false P&op patch Pop patch Pop patches from StGIT stack until this one included PgDown false :/icons/resources/view-refresh.svg:/icons/resources/view-refresh.svg Refresh Refresh view (F5) F5 false View &patch View patch Double click on revision log as a shortcut Double click on revision log as a shortcut Ctrl+P false View file View file Double click on file name as a shortcut Double click on file name as a shortcut Ctrl+A false Save file &as... Save file as... Save selected file Ctrl+S true false :/icons/resources/autocorrection.svg:/icons/resources/autocorrection.svg Toggle filter by tree Filter by tree Filter by tree selection, multiple selections allowed true false :/icons/resources/view-list-tree.svg:/icons/resources/view-list-tree.svg Toggle tree view Archive tree Toggle tree view (T) T false &Delete references... Delete tag Remove selected reference names true false &Check working directory Check working dir Check working directory &Mark for diff Mark for diff Mark selected revision to diff against false E&xternal diff... Launch external diff viewer Ctrl+D false External &editor... Launch external editor Ctrl+E false View revision View revision Double click on a revision in file history as a shortcut Ctrl+R :/icons/resources/view-split-top-bottom.svg:/icons/resources/view-split-top-bottom.svg Toggle split view Toggle split view Hide/unhide secondary pane S &Find... Find text in current view... Ctrl+F Find &next Find next Go to next occurrence of searched text F3 false :/icons/resources/go-next.svg:/icons/resources/go-next.svg &Forward Forward Alt+Right false :/icons/resources/go-previous.svg:/icons/resources/go-previous.svg &Back Back Alt+Left :/icons/resources/emblem-favorite.svg:/icons/resources/emblem-favorite.svg &Setup actions... Setup actions... QAction::NoRole false View file in new tab View file in new tab Ctrl+Shift+A false View patch in new tab View patch in new tab Ctrl+Shift+P true true :/icons/resources/view-filter.svg:/icons/resources/view-filter.svg Search and filter Toggle filter true true :/icons/resources/edit-find.svg:/icons/resources/edit-find.svg Search and highlight Toggle match highlight true true Show &header info Show header info Show revision description header info H Toggle message/diff Toggle message/diff Toggle between messages and patch content\n in revision description pane M :/icons/resources/join.svg:/icons/resources/join.svg Select range... Show 'Select range' dialog &Amend commit... Amend previous commit @ false Make &branch... Make new branch on selected revision Ctrl+B &Checkout... Checkout Checkout selected revision Ctrl+Shift+C TreeView QTreeWidget
treeview.h
ActAbout triggered() MainBase ActAbout_activated() -1 -1 20 20 ActCheckWorkDir toggled(bool) MainBase ActCheckWorkDir_toggled(bool) -1 -1 20 20 ActCheckout triggered() MainBase ActCheckout_activated() -1 -1 20 20 ActClose triggered() MainBase ActClose_activated() -1 -1 20 20 ActCommit triggered() MainBase ActCommit_activated() -1 -1 20 20 ActExit triggered() MainBase ActExit_activated() -1 -1 20 20 ActExternalDiff triggered() MainBase ActExternalDiff_activated() -1 -1 20 20 ActExternalEditor triggered() MainBase ActExternalEditor_activated() -1 -1 20 20 ActFilterTree toggled(bool) MainBase ActFilterTree_toggled(bool) -1 -1 20 20 ActHelp triggered() MainBase ActHelp_activated() -1 -1 20 20 ActMailApplyPatch triggered() MainBase ActMailApplyPatch_activated() -1 -1 20 20 ActMailFormatPatch triggered() MainBase ActMailFormatPatch_activated() -1 -1 20 20 ActOpenRepo triggered() MainBase ActOpenRepo_activated() -1 -1 20 20 ActOpenRepoNewWindow triggered() MainBase ActOpenRepoNewWindow_activated() -1 -1 20 20 ActPop triggered() MainBase ActPop_activated() -1 -1 20 20 ActPush triggered() MainBase ActPush_activated() -1 -1 20 20 ActRefresh triggered() MainBase ActRefresh_activated() -1 -1 20 20 ActSaveFile triggered() MainBase ActSaveFile_activated() -1 -1 20 20 ActSettings triggered() MainBase ActSettings_activated() -1 -1 20 20 ActShowTree toggled(bool) MainBase ActShowTree_toggled(bool) -1 -1 20 20 ActBranch triggered() MainBase ActBranch_activated() -1 -1 20 20 ActTag triggered() MainBase ActTag_activated() -1 -1 20 20 ActDelete triggered() MainBase ActDelete_activated() -1 -1 20 20 ActViewFile triggered() MainBase ActViewFile_activated() -1 -1 20 20 ActViewDiff triggered() MainBase ActViewDiff_activated() -1 -1 20 20 ActViewRev triggered() MainBase ActViewRev_activated() -1 -1 20 20 ActSplitView triggered() MainBase ActSplitView_activated() -1 -1 20 20 ActFind triggered() MainBase ActFind_activated() -1 -1 20 20 ActFindNext triggered() MainBase ActFindNext_activated() -1 -1 20 20 ActBack triggered() MainBase ActBack_activated() -1 -1 20 20 ActForward triggered() MainBase ActForward_activated() -1 -1 20 20 ActCustomActionSetup triggered() MainBase ActCustomActionSetup_activated() -1 -1 20 20 ActViewFileNewTab triggered() MainBase ActViewFileNewTab_activated() -1 -1 20 20 ActViewDiffNewTab triggered() MainBase ActViewDiffNewTab_activated() -1 -1 20 20 tabWdg currentChanged(int) MainBase tabWdg_currentChanged(int) 20 20 20 20 ActSearchAndFilter toggled(bool) MainBase ActSearchAndFilter_toggled(bool) -1 -1 487 238 ActSearchAndHighlight toggled(bool) MainBase ActSearchAndHighlight_toggled(bool) -1 -1 487 238 ActShowDescHeader triggered() MainBase ActShowDescHeader_activated() -1 -1 487 238 ActToggleLogsDiff triggered() MainBase ActToggleLogsDiff_activated() -1 -1 452 238 ActRangeDlg triggered() MainBase ActRangeDlg_activated() -1 -1 452 238 ActAmend triggered() MainBase ActAmend_activated() -1 -1 452 238 ActMarkDiffToSha triggered() MainBase ActMarkDiffToSha_activated() -1 -1 452 238
qgit-qgit-2.11/src/myprocess.cpp000066400000000000000000000150121500324541100166540ustar00rootroot00000000000000/* Description: interface to sync and async external program execution Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include "exceptionmanager.h" #include "common.h" #include "domain.h" #include "myprocess.h" MyProcess::MyProcess(QObject *go, Git* g, const QString& wd, bool err) : QProcess(g) { guiObject = go; git = g; workDir = wd; runOutput = NULL; receiver = NULL; errorReportingEnabled = err; canceling = async = isWinShell = isErrorExit = false; } bool MyProcess::runAsync(SCRef rc, QObject* rcv, SCRef buf) { async = true; runCmd = rc; receiver = rcv; setupSignals(); if (!launchMe(runCmd, buf)) return false; // caller will delete us return true; } bool MyProcess::runSync(SCRef rc, QByteArray* ro, QObject* rcv, SCRef buf) { async = false; runCmd = rc; runOutput = ro; receiver = rcv; if (runOutput) runOutput->clear(); setupSignals(); if (!launchMe(runCmd, buf)) return false; QElapsedTimer t; t.start(); busy = true; // we have to wait here until we exit while (busy) { waitForFinished(20); // suspend 20ms to let OS reschedule if (t.elapsed() > 200) { EM_PROCESS_EVENTS; t.restart(); } } return !isErrorExit; } void MyProcess::setupSignals() { connect(git, SIGNAL(cancelAllProcesses()), this, SLOT(on_cancel())); connect(this, SIGNAL(readyReadStandardOutput()), this, SLOT(on_readyReadStandardOutput())); connect(this, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(on_finished(int, QProcess::ExitStatus))); if (receiver) { connect(this, SIGNAL(readyReadStandardError ()), this, SLOT(on_readyReadStandardError())); connect(this, SIGNAL(procDataReady(const QByteArray&)), receiver, SLOT(procReadyRead(const QByteArray&))); connect(this, SIGNAL(eof()), receiver, SLOT(procFinished())); } Domain* d = git->curContext(); if (d) connect(d, SIGNAL(cancelDomainProcesses()), this, SLOT(on_cancel())); } void MyProcess::sendErrorMsg(bool notStarted) { if (!errorReportingEnabled) return; QByteArray err = readAllStandardError(); accError += err; QString errorDesc = accError; if (notStarted) errorDesc = QString::fromLatin1("Unable to start the process!"); const QString cmd(arguments.join(" ")); // hide any QUOTE_CHAR or related stuff MainExecErrorEvent* e = new MainExecErrorEvent(cmd, errorDesc); QApplication::postEvent(guiObject, e); } bool MyProcess::launchMe(SCRef runCmd, SCRef buf) { arguments = splitArgList(runCmd); if (arguments.isEmpty()) return false; setWorkingDirectory(workDir); if (!QGit::startProcess(this, arguments, buf, &isWinShell)) { sendErrorMsg(true); return false; } return true; } void MyProcess::on_readyReadStandardOutput() { if (canceling) return; if (receiver) emit procDataReady(readAllStandardOutput()); else if (runOutput) runOutput->append(readAllStandardOutput()); } void MyProcess::on_readyReadStandardError() { if (canceling) return; if (receiver) { QByteArray err = readAllStandardError(); accError += err; emit procDataReady(err); // redirect to stdout } else dbs("ASSERT in myReadFromStderr: NULL receiver"); } void MyProcess::on_finished(int exitCode, QProcess::ExitStatus exitStatus) { // Checking exingStatus is not reliable under Windows where if the // process was terminated with TerminateProcess() from another // application its value is still NormalExit // // Checking exit code for a failing command is unreliable too, as // exmple 'git status' returns 1 also without errors. // // On Windows exit code seems reliable in case of a command wrapped // in Window shell interpreter. // // So to detect a failing command we check also if stderr is not empty. QByteArray err = readAllStandardError(); accError += err; isErrorExit = (exitStatus != QProcess::NormalExit) #ifdef Q_OS_WIN32 || (exitCode && isWinShell) || !accError.isEmpty() #else || (exitCode && !accError.isEmpty()) #endif || canceling; if (!canceling) { // no more noise after cancel if (receiver) emit eof(); if (isErrorExit) sendErrorMsg(false); } busy = false; if (async) deleteLater(); } void MyProcess::on_cancel() { canceling = true; #ifdef Q_OS_WIN32 kill(); // uses TerminateProcess #else terminate(); // uses SIGTERM signal #endif waitForFinished(); } const QStringList MyProcess::splitArgList(SCRef cmd) { // return argument list handling quotes and double quotes // substring, as example from: // cmd some_arg "some thing" v='some value' // to (comma separated fields) // sl = // early exit the common case if (!( cmd.contains(QGit::QUOTE_CHAR) || cmd.contains("\"") || cmd.contains("\'"))) return cmd.split(' ', QGIT_SPLITBEHAVIOR(SkipEmptyParts)); // we have some work to do... // first find a possible separator const QString sepList("#%&!?"); // separator candidates int i = 0; while (cmd.contains(sepList[i]) && i < sepList.length()) i++; if (i == sepList.length()) { dbs("ASSERT no unique separator found."); return QStringList(); } const QChar& sepChar(sepList[i]); // remove all spaces QString newCmd(cmd); newCmd.replace(QChar(' '), sepChar); // re-add spaces in quoted sections restoreSpaces(newCmd, sepChar); // QUOTE_CHAR is used internally to delimit arguments // with quoted text wholly inside as // arg1 = <[patch] cool patch on "cool feature"> // and should be removed before to feed QProcess newCmd.remove(QGit::QUOTE_CHAR); // QProcess::setArguments doesn't want quote // delimited arguments, so remove trailing quotes QStringList sl(newCmd.split(sepChar, QGIT_SPLITBEHAVIOR(SkipEmptyParts))); QStringList::iterator it(sl.begin()); for ( ; it != sl.end(); ++it) { if (((*it).left(1) == "\"" && (*it).right(1) == "\"") || ((*it).left(1) == "\'" && (*it).right(1) == "\'")) *it = (*it).mid(1, (*it).length() - 2); } return sl; } void MyProcess::restoreSpaces(QString& newCmd, const QChar& sepChar) { // restore spaces inside quoted text, supports nested quote types QChar quoteChar; bool replace = false; for (int i = 0; i < newCmd.length(); i++) { const QChar& c = newCmd[i]; if ( !replace && (c == QGit::QUOTE_CHAR[0] || c == '\"' || c == '\'') && (newCmd.count(c) % 2 == 0)) { replace = true; quoteChar = c; continue; } if (replace && (c == quoteChar)) { replace = false; continue; } if (replace && c == sepChar) newCmd[i] = QChar(' '); } } qgit-qgit-2.11/src/myprocess.h000066400000000000000000000024351500324541100163260ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef MYPROCESS_H #define MYPROCESS_H #include #include "git.h" class Git; //custom process used to run shell commands in parallel class MyProcess : public QProcess { Q_OBJECT public: MyProcess(QObject *go, Git* g, const QString& wd, bool reportErrors); bool runSync(SCRef runCmd, QByteArray* runOutput, QObject* rcv, SCRef buf); bool runAsync(SCRef rc, QObject* rcv, SCRef buf); static const QStringList splitArgList(SCRef cmd); const QString& getErrorOutput() const { return accError; } signals: void procDataReady(const QByteArray&); void eof(); public slots: void on_cancel(); private slots: void on_readyReadStandardOutput(); void on_readyReadStandardError(); void on_finished(int, QProcess::ExitStatus); private: void setupSignals(); bool launchMe(SCRef runCmd, SCRef buf); void sendErrorMsg(bool notStarted = false); static void restoreSpaces(QString& newCmd, const QChar& sepChar); QObject* guiObject; Git* git; QString runCmd; QByteArray* runOutput; QString workDir; QObject* receiver; QStringList arguments; QString accError; bool errorReportingEnabled; bool canceling; bool busy; bool async; bool isWinShell; bool isErrorExit; }; #endif qgit-qgit-2.11/src/namespace_def.cpp000066400000000000000000000443561500324541100174170ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution Definitions of complex namespace constants Complex constant objects are not folded in like integral types, so they are declared 'extern' in namespace to avoid duplicating them as file scope data in each file where QGit namespace is included. */ #include #include #include #include #include #include #include #include #include #include #include "common.h" #include "git.h" #include "annotate.h" #ifdef Q_OS_WIN32 // ********* platform dependent code ****** const QString QGit::SCRIPT_EXT = ".bat"; static void adjustPath(QStringList& args, bool* winShell) { /* To run an application/script under Windows you need to wrap the command line in the shell interpreter. You need this also to start native commands as 'dir'. An exception is if application is 'git' in that case we call with absolute path to be sure to find it. */ if (args.first() == "git" || args.first().startsWith("git-")) { if (!QGit::GIT_DIR.isEmpty()) // application built from sources args.first().prepend(QGit::GIT_DIR + '/'); if (winShell) *winShell = false; } else if (winShell) { args.prepend("/c"); args.prepend("cmd.exe"); *winShell = true; } } #elif defined(Q_OS_MACX) // MacOS X specific code #include // used by chmod() #include // used by chmod() const QString QGit::SCRIPT_EXT = ".sh"; static void adjustPath(QStringList& args, bool*) { /* Under MacOS X, git typically doesn't live in the PATH So use GIT_DIR from the settings if available Note: I (OC) think that this should be the default behaviour, but I don't want to break other platforms, so I introduced the MacOS X special case. Feel free to make this the default if you do feel the same. */ if (args.first() == "git" || args.first().startsWith("git-")) { if (!QGit::GIT_DIR.isEmpty()) // application built from sources args.first().prepend(QGit::GIT_DIR + '/'); } } #else #include // used by chmod() #include // used by chmod() const QString QGit::SCRIPT_EXT = ".sh"; static void adjustPath(QStringList&, bool*) {} #endif // ********* end of platform dependent code ****** // definition of an optimized sha hash function static inline uint hexVal(const uchar* ch) { return (*ch < 64 ? *ch - 48 : *ch - 87); } uint qHash(const ShaString& s) { // fast path, called 6-7 times per revision const uchar* ch = reinterpret_cast(s.latin1()); return (hexVal(ch ) << 24) + (hexVal(ch + 2) << 20) + (hexVal(ch + 4) << 16) + (hexVal(ch + 6) << 12) + (hexVal(ch + 8) << 8) + (hexVal(ch + 10) << 4) + hexVal(ch + 12); } /* Value returned by this function should be used only as function argument, * and not stored in a variable because 'ba' value is overwritten at each * call so the returned ShaString could became stale very quickly */ const ShaString QGit::toTempSha(const QString& sha) { static QByteArray ba; ba = sha.toLatin1(); return ShaString(sha.isEmpty() ? NULL : ba.constData()); } const ShaString QGit::toPersistentSha(const QString& sha, QVector& v) { v.append(sha.toLatin1()); return ShaString(v.last().constData()); } // minimum git version required const QString QGit::GIT_VERSION = "1.5.5"; // colors const QColor QGit::BROWN = QColor(150, 75, 0); const QColor QGit::ORANGE = QColor(255, 160, 50); const QColor QGit::DARK_ORANGE = QColor(216, 144, 0); const QColor QGit::LIGHT_ORANGE = QColor(255, 221, 170); const QColor QGit::LIGHT_BLUE = QColor(85, 255, 255); const QColor QGit::PURPLE = QColor(221, 221, 255); const QColor QGit::DARK_GREEN = QColor(0, 205, 0); // initialized at startup according to system wide settings QString QGit::GIT_DIR; /* Default QFont c'tor calls static method QApplication::font() that could be still NOT initialized at this time, so set a dummy font family instead, it will be properly changed later, at startup */ QFont QGit::STD_FONT("Helvetica"); QFont QGit::TYPE_WRITER_FONT("Helvetica"); // patches drag and drop const QString QGit::PATCHES_DIR = "/.qgit_patches_copy"; const QString QGit::PATCHES_NAME = "qgit_import"; // git index parameters const QString QGit::ZERO_SHA = "0000000000000000000000000000000000000000"; const QString QGit::CUSTOM_SHA = "*** CUSTOM * CUSTOM * CUSTOM * CUSTOM **"; const QString QGit::ALL_MERGE_FILES = "ALL_MERGE_FILES"; const QByteArray QGit::ZERO_SHA_BA(QGit::ZERO_SHA.toLatin1()); const ShaString QGit::ZERO_SHA_RAW(QGit::ZERO_SHA_BA.constData()); // settings keys const QString QGit::ORG_KEY = "qgit"; const QString QGit::APP_KEY = "qgit4"; const QString QGit::GIT_DIR_KEY = "msysgit_exec_dir"; const QString QGit::DCLICK_ACT_KEY = "double_click_action"; const QString QGit::EXT_DIFF_KEY = "external_diff_viewer"; const QString QGit::EXT_EDITOR_KEY = "external_editor"; const QString QGit::REC_REP_KEY = "recent_open_repos"; const QString QGit::STD_FNT_KEY = "standard_font"; const QString QGit::TYPWRT_FNT_KEY = "typewriter_font"; const QString QGit::FLAGS_KEY = "flags"; const QString QGit::PATCH_DIR_KEY = "Patch/last_dir"; const QString QGit::FMT_P_OPT_KEY = "Patch/args"; const QString QGit::AM_P_OPT_KEY = "Patch/args_2"; const QString QGit::EX_KEY = "Working_dir/exclude_file_path"; const QString QGit::EX_PER_DIR_KEY = "Working_dir/exclude_per_directory_file_name"; const QString QGit::CON_GEOM_KEY = "Console/geometry"; const QString QGit::CMT_GEOM_KEY = "Commit/geometry"; const QString QGit::MAIN_GEOM_KEY = "Top_window/geometry"; const QString QGit::REV_GEOM_KEY = "Rev_List_view/geometry"; const QString QGit::REV_COLS_KEY = "Rev_List_view/columns"; const QString QGit::FILE_COLS_KEY = "File_List_view/columns"; const QString QGit::CMT_TEMPL_KEY = "Commit/template_file_path"; const QString QGit::CMT_ARGS_KEY = "Commit/args"; const QString QGit::RANGE_FROM_KEY = "RangeSelect/from"; const QString QGit::RANGE_TO_KEY = "RangeSelect/to"; const QString QGit::RANGE_OPT_KEY = "RangeSelect/options"; const QString QGit::ACT_GEOM_KEY = "Custom_actions/geometry"; const QString QGit::ACT_LIST_KEY = "Custom_actions/list"; const QString QGit::ACT_GROUP_KEY = "Custom_action_list/"; const QString QGit::ACT_TEXT_KEY = "/commands"; const QString QGit::ACT_FLAGS_KEY = "/flags"; // settings default values const QString QGit::CMT_TEMPL_DEF = ".git/commit-template"; const QString QGit::EX_DEF = ".git/info/exclude"; const QString QGit::EX_PER_DIR_DEF = ".gitignore"; const QString QGit::EXT_DIFF_DEF = "kompare"; const QString QGit::EXT_EDITOR_DEF = "emacs"; // cache file const QString QGit::BAK_EXT = ".bak"; const QString QGit::C_DAT_FILE = "/qgit_cache.dat"; // misc const QString QGit::QUOTE_CHAR = "$"; using namespace QGit; // settings helpers uint QGit::flags(SCRef flagsVariable) { QSettings settings; return settings.value(flagsVariable, FLAGS_DEF).toUInt(); } bool QGit::testFlag(uint f, SCRef flagsVariable) { return (flags(flagsVariable) & f); } void QGit::setFlag(uint f, bool b, SCRef flagsVariable) { QSettings settings; uint flags = settings.value(flagsVariable, FLAGS_DEF).toUInt(); flags = b ? flags | f : flags & ~f; settings.setValue(flagsVariable, flags); } // tree view icons helpers static QHash mimePixMap; void QGit::initMimePix() { if (!mimePixMap.empty()) // only once return; QPixmap* pm = new QPixmap(QString::fromUtf8(":/icons/resources/folder.svg")); mimePixMap.insert("#folder_closed", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/folder-open.svg")); mimePixMap.insert("#folder_open", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/snap-page.svg")); mimePixMap.insert("#default", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-cmake.svg")); mimePixMap.insert("CMakeLists.txt", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-dockerfile.svg")); mimePixMap.insert("Dockerfile", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-csv.svg")); mimePixMap.insert("csv", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-csrc.svg")); mimePixMap.insert("c", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-c++src.svg")); mimePixMap.insert("cpp", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-chdr.svg")); mimePixMap.insert("h", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-c++hdr.svg")); mimePixMap.insert("hpp", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-generic.svg")); mimePixMap.insert("txt", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-rtf.svg")); mimePixMap.insert("rtf", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-script.svg")); mimePixMap.insert("sh", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-x-perl.svg")); mimePixMap.insert("perl", pm); pm = new QPixmap(*pm); mimePixMap.insert("pl", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-x-python-bytecode.svg")); mimePixMap.insert("py", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-x-java.svg")); mimePixMap.insert("java", pm); pm = new QPixmap(*pm); mimePixMap.insert("jar", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-x-tar.svg")); mimePixMap.insert("tar", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-x-ace.svg")); mimePixMap.insert("gz", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-x-compressed-tar.svg")); mimePixMap.insert("tgz", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-zip.svg")); mimePixMap.insert("zip", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-x-bzip.svg")); mimePixMap.insert("bz", pm); pm = new QPixmap(*pm); mimePixMap.insert("bz2", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-html.svg")); mimePixMap.insert("html", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/dialog-xml-editor.svg")); mimePixMap.insert("xml", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/image-bmp.svg")); mimePixMap.insert("bmp", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/image-gif.svg")); mimePixMap.insert("gif", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/image-jpeg.svg")); mimePixMap.insert("jpg", pm); pm = new QPixmap(*pm); mimePixMap.insert("jpeg", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/image-png.svg")); mimePixMap.insert("png", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/image-svg+xml-compressed.svg")); mimePixMap.insert("svg", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/image-tiff.svg")); mimePixMap.insert("tiff", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/image-x-ico.svg")); mimePixMap.insert("ico", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/image-x-xcf.svg")); mimePixMap.insert("xcf", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/image-x-generic.svg")); mimePixMap.insert("pbm", pm); pm = new QPixmap(*pm); mimePixMap.insert("pgm", pm); pm = new QPixmap(*pm); mimePixMap.insert("ppm", pm); pm = new QPixmap(*pm); mimePixMap.insert("xbm", pm); pm = new QPixmap(*pm); mimePixMap.insert("xpm", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-json.svg")); mimePixMap.insert("json", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-pdf.svg")); mimePixMap.insert("pdf", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-x-javascript.svg")); mimePixMap.insert("js", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-go.svg")); mimePixMap.insert("go", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-markdown.svg")); mimePixMap.insert("md", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-patch.svg")); mimePixMap.insert("patch", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-qml.svg")); mimePixMap.insert("qml", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-tex.svg")); mimePixMap.insert("tex", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-x-ruby.svg")); mimePixMap.insert("rb", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-rust.svg")); mimePixMap.insert("rs", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-css.svg")); mimePixMap.insert("css", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-csharp.svg")); mimePixMap.insert("cs", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/text-x-r.svg")); mimePixMap.insert("r", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-x-designer.svg")); mimePixMap.insert("ui", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/project-development.svg")); mimePixMap.insert("pro", pm); pm = new QPixmap(*pm); mimePixMap.insert("sln", pm); pm = new QPixmap(*pm); mimePixMap.insert("vcproj", pm); pm = new QPixmap(*pm); mimePixMap.insert("vcxproj", pm); pm = new QPixmap(QString::fromUtf8(":/icons/resources/file/application-x-sharedlib.svg")); mimePixMap.insert("Makefile", pm); } void QGit::freeMimePix() { qDeleteAll(mimePixMap); } const QPixmap* QGit::mimePix(SCRef fileName) { // Try to match full filename (e.g. CMakeLists.txt) if (mimePixMap.contains(fileName)) return mimePixMap.value(fileName); // Try to match extension SCRef ext = fileName.section('.', -1, -1).toLower(); if (mimePixMap.contains(ext)) return mimePixMap.value(ext); return mimePixMap.value("#default"); } // geometry settings helers void QGit::saveGeometrySetting(SCRef name, QWidget* w, splitVect* svPtr) { QSettings settings; if (w && w->isVisible()) settings.setValue(name + "_window", w->saveGeometry()); if (!svPtr) return; int cnt = 0; FOREACH (splitVect, it, *svPtr) { cnt++; if ((*it)->sizes().contains(0)) continue; QString nm(name + "_splitter_" + QString::number(cnt)); settings.setValue(nm, (*it)->saveState()); } } void QGit::restoreGeometrySetting(SCRef name, QWidget* w, splitVect* svPtr) { QSettings settings; QString nm; if (w) { nm = name + "_window"; QVariant v = settings.value(nm); if (v.isValid()) w->restoreGeometry(v.toByteArray()); } if (!svPtr) return; int cnt = 0; FOREACH (splitVect, it, *svPtr) { cnt++; nm = name + "_splitter_" + QString::number(cnt); QVariant v = settings.value(nm); if (!v.isValid()) continue; (*it)->restoreState(v.toByteArray()); } } // misc helpers bool QGit::stripPartialParaghraps(const QByteArray& ba, QString* dst, QString* prev) { QTextCodec* tc = QTextCodec::codecForLocale(); if (ba.endsWith('\n')) { // optimize common case *dst = tc->toUnicode(ba); // handle rare case of a '\0' inside content while (dst->size() < ba.size() && ba.at(dst->size()) == '\0') { QString s = tc->toUnicode(ba.mid(dst->size() + 1)); // sizes should match dst->append(" ").append(s); } dst->truncate(dst->size() - 1); // strip trailing '\n' if (!prev->isEmpty()) { dst->prepend(*prev); prev->clear(); } return true; } QString src = tc->toUnicode(ba); // handle rare case of a '\0' inside content while (src.size() < ba.size() && ba.at(src.size()) == '\0') { QString s = tc->toUnicode(ba.mid(src.size() + 1)); src.append(" ").append(s); } int idx = src.lastIndexOf('\n'); if (idx == -1) { prev->append(src); dst->clear(); return false; } *dst = src.left(idx).prepend(*prev); // strip trailing '\n' *prev = src.mid(idx + 1); // src[idx] is '\n', skip it return true; } bool QGit::writeToFile(SCRef fileName, SCRef data, bool setExecutable) { QFile file(fileName); if (!file.open(QIODevice::WriteOnly)) { dbp("ERROR: unable to write file %1", fileName); return false; } QString data2(data); QTextStream stream(&file); #ifdef Q_OS_WIN32 data2.replace("\r\n", "\n"); // change windows CRLF to linux data2.replace("\n", "\r\n"); // then change all linux CRLF to windows #endif stream << data2; file.close(); #ifndef Q_OS_WIN32 if (setExecutable) chmod(fileName.toLatin1().constData(), 0755); #endif return true; } bool QGit::writeToFile(SCRef fileName, const QByteArray& data, bool setExecutable) { QFile file(fileName); if (!file.open(QIODevice::WriteOnly)) { dbp("ERROR: unable to write file %1", fileName); return false; } QDataStream stream(&file); stream.writeRawData(data.constData(), data.size()); file.close(); #ifndef Q_OS_WIN32 if (setExecutable) chmod(fileName.toLatin1().constData(), 0755); #endif return true; } bool QGit::readFromFile(SCRef fileName, QString& data) { data = ""; QFile file(fileName); if (!file.open(QIODevice::ReadOnly)) { dbp("ERROR: unable to read file %1", fileName); return false; } QTextStream stream(&file); data = stream.readAll(); file.close(); return true; } bool QGit::startProcess(QProcess* proc, SCList args, SCRef buf, bool* winShell) { if (!proc || args.isEmpty()) return false; QStringList arguments(args); adjustPath(arguments, winShell); QString prog(arguments.first()); arguments.removeFirst(); if (!buf.isEmpty()) { /* On Windows buffer size of QProcess's standard input pipe is quite limited and a crash can occur in case a big chunk of data is written to process stdin. As a workaround we use a temporary file to store data. Process stdin will be redirected to this file */ QTemporaryFile* bufFile = new QTemporaryFile(proc); bufFile->open(); QTextStream stream(bufFile); stream << buf; proc->setStandardInputFile(bufFile->fileName()); bufFile->close(); } QStringList env = QProcess::systemEnvironment(); env << "GIT_TRACE=0"; // avoid choking on debug traces env << "GIT_FLUSH=0"; // skip the fflush() in 'git log' proc->setEnvironment(env); proc->start(prog, arguments); // TODO test QIODevice::Unbuffered return proc->waitForStarted(); } qgit-qgit-2.11/src/patchcontent.cpp000066400000000000000000000231741500324541100173320ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include "common.h" #include "domain.h" #include "git.h" #include "myprocess.h" #include "patchcontent.h" void DiffHighlighter::highlightBlock(const QString& text) { // state is used to count paragraphs, starting from 0 setCurrentBlockState(previousBlockState() + 1); if (text.isEmpty()) return; const bool useDark = QPalette().color(QPalette::Window).value() > QPalette().color(QPalette::WindowText).value(); QBrush blue = useDark ? Qt::darkBlue : QColor(Qt::cyan); QBrush green = useDark ? Qt::darkGreen : QColor(Qt::green); QBrush magenta = useDark ? Qt::darkMagenta : QColor(Qt::magenta); QBrush backgroundPurple = useDark ? QGit::PURPLE : QGit::PURPLE.darker(600); QTextCharFormat myFormat; const char firstChar = text.at(0).toLatin1(); switch (firstChar) { case '@': myFormat.setForeground(magenta); break; case '+': myFormat.setForeground(green); break; case '-': myFormat.setForeground(Qt::red); break; case 'c': case 'd': case 'i': case 'n': case 'o': case 'r': case 's': if (text.startsWith("diff --git a/")) { myFormat.setForeground(blue); myFormat.setBackground(backgroundPurple); } else if (text.startsWith("copy ") || text.startsWith("index ") || text.startsWith("new ") || text.startsWith("old ") || text.startsWith("rename ") || text.startsWith("similarity ")) myFormat.setForeground(blue); else if (cl > 0 && text.startsWith("diff --combined")) { myFormat.setForeground(blue); myFormat.setBackground(backgroundPurple); } break; case ' ': if (cl > 0) { if (text.left(cl).contains('+')) myFormat.setForeground(green); else if (text.left(cl).contains('-')) myFormat.setForeground(Qt::red); } break; } if (myFormat.isValid()) setFormat(0, text.length(), myFormat); PatchContent* pc = static_cast(parent()); if (pc->matches.count() > 0) { int indexFrom, indexTo; if (pc->getMatch(currentBlockState(), &indexFrom, &indexTo)) { QTextEdit* te = dynamic_cast(parent()); QTextCharFormat fmt; fmt.setFont(te->currentFont()); fmt.setFontWeight(QFont::Bold); fmt.setForeground(Qt::blue); if (indexTo == 0) indexTo = text.length(); setFormat(indexFrom, indexTo - indexFrom, fmt); } } } PatchContent::PatchContent(QWidget* parent) : QTextEdit(parent) { diffLoaded = seekTarget = false; curFilter = prevFilter = VIEW_ALL; pickAxeRE.setMinimal(true); pickAxeRE.setCaseSensitivity(Qt::CaseInsensitive); setFont(QGit::TYPE_WRITER_FONT); diffHighlighter = new DiffHighlighter(this); } void PatchContent::setup(Domain*, Git* g) { git = g; } void PatchContent::clear() { git->cancelProcess(proc); QTextEdit::clear(); patchRowData.clear(); halfLine = ""; matches.clear(); diffLoaded = false; seekTarget = !target.isEmpty(); } void PatchContent::refresh() { int topPara = topToLineNum(); setUpdatesEnabled(false); QByteArray tmp(patchRowData); clear(); patchRowData = tmp; processData(patchRowData, &topPara); scrollLineToTop(topPara); setUpdatesEnabled(true); } void PatchContent::scrollCursorToTop() { QRect r = cursorRect(); QScrollBar* vsb = verticalScrollBar(); vsb->setValue(vsb->value() + r.top()); } void PatchContent::scrollLineToTop(int lineNum) { QTextCursor tc = textCursor(); tc.movePosition(QTextCursor::Start); tc.movePosition(QTextCursor::NextBlock, QTextCursor::MoveAnchor, lineNum); setTextCursor(tc); scrollCursorToTop(); } int PatchContent::positionToLineNum(int pos) { QTextCursor tc = textCursor(); tc.setPosition(pos); return tc.blockNumber(); } int PatchContent::topToLineNum() { return cursorForPosition(QPoint(1, 1)).blockNumber(); } bool PatchContent::centerTarget(SCRef target) { moveCursor(QTextCursor::Start); // find() updates cursor position if (!find(target, QTextDocument::FindCaseSensitively | QTextDocument::FindWholeWords)) return false; // move to the beginning of the line moveCursor(QTextCursor::StartOfLine); // grap copy of current cursor state QTextCursor tc = textCursor(); // move the target line to the top moveCursor(QTextCursor::End); setTextCursor(tc); return true; } void PatchContent::centerOnFileHeader(StateInfo& st) { if (st.fileName().isEmpty()) return; target = st.fileName(); bool combined = (st.isMerge() && !st.allMergeFiles()); git->formatPatchFileHeader(&target, st.sha(), st.diffToSha(), combined, st.allMergeFiles()); seekTarget = !target.isEmpty(); if (seekTarget) seekTarget = !centerTarget(target); } void PatchContent::centerMatch(int id) { if (matches.count() <= id) return; //FIXME // patchTab->textEditDiff->setSelection(matches[id].paraFrom, matches[id].indexFrom, // matches[id].paraTo, matches[id].indexTo); } void PatchContent::procReadyRead(const QByteArray& data) { patchRowData.append(data); if (document()->isEmpty() && isVisible()) processData(data); } void PatchContent::typeWriterFontChanged() { setFont(QGit::TYPE_WRITER_FONT); setPlainText(toPlainText()); } void PatchContent::processData(const QByteArray& fileChunk, int* prevLineNum) { QString newLines; if (!QGit::stripPartialParaghraps(fileChunk, &newLines, &halfLine)) return; if (!prevLineNum && curFilter == VIEW_ALL) goto skip_filter; // optimize common case { // scoped code because of goto QString filteredLines; int notNegCnt = 0, notPosCnt = 0; QVector toAdded(1), toRemoved(1); // lines count from 1 // prevLineNum will be set to the number of corresponding // line in full patch. Number is negative just for algorithm // reasons, prevLineNum counts lines from 1 if (prevLineNum && prevFilter == VIEW_ALL) *prevLineNum = -(*prevLineNum); // set once const QStringList sl(newLines.split('\n', QGIT_SPLITBEHAVIOR(KeepEmptyParts))); FOREACH_SL (it, sl) { // do not remove diff header because of centerTarget bool n = (*it).startsWith('-') && !(*it).startsWith("---"); bool p = (*it).startsWith('+') && !(*it).startsWith("+++"); if (!p) notPosCnt++; if (!n) notNegCnt++; toAdded.append(notNegCnt); toRemoved.append(notPosCnt); int curLineNum = toAdded.count() - 1; bool toRemove = (n && curFilter == VIEW_ADDED) || (p && curFilter == VIEW_REMOVED); if (!toRemove) filteredLines.append(*it).append('\n'); if (prevLineNum && *prevLineNum == notNegCnt && prevFilter == VIEW_ADDED) *prevLineNum = -curLineNum; // set once if (prevLineNum && *prevLineNum == notPosCnt && prevFilter == VIEW_REMOVED) *prevLineNum = -curLineNum; // set once } if (prevLineNum && *prevLineNum <= 0) { if (curFilter == VIEW_ALL) *prevLineNum = -(*prevLineNum); else if (curFilter == VIEW_ADDED) *prevLineNum = toAdded.at(-(*prevLineNum)); else if (curFilter == VIEW_REMOVED) *prevLineNum = toRemoved.at(-(*prevLineNum)); if (*prevLineNum < 0) *prevLineNum = 0; } newLines = filteredLines; } // end of scoped code skip_filter: setUpdatesEnabled(false); if (prevLineNum || document()->isEmpty()) { // use the faster setPlainText() setPlainText(newLines); moveCursor(QTextCursor::Start); } else { int topLine = cursorForPosition(QPoint(1, 1)).blockNumber(); append(newLines); if (topLine > 0) scrollLineToTop(topLine); } QScrollBar* vsb = verticalScrollBar(); vsb->setValue(vsb->value() + cursorRect().top()); setUpdatesEnabled(true); } void PatchContent::procFinished() { if (!patchRowData.endsWith("\n")) patchRowData.append('\n'); // flush pending half lines refresh(); // show patchRowData content if (seekTarget) seekTarget = !centerTarget(target); diffLoaded = true; if (computeMatches()) { diffHighlighter->rehighlight(); // slow on big data centerMatch(); } } int PatchContent::doSearch(SCRef txt, int pos) { if (isRegExp) return txt.indexOf(pickAxeRE, pos); return txt.indexOf(pickAxeRE.pattern(), pos, Qt::CaseInsensitive); } bool PatchContent::computeMatches() { matches.clear(); if (pickAxeRE.isEmpty()) return false; SCRef txt = toPlainText(); int pos, lastPos = 0, lastPara = 0; // must be at the end to catch patterns across more the one chunk while ((pos = doSearch(txt, lastPos)) != -1) { matches.append(MatchSelection()); MatchSelection& s = matches.last(); s.paraFrom = txt.mid(lastPos, pos - lastPos).count('\n'); s.paraFrom += lastPara; s.indexFrom = pos - txt.lastIndexOf('\n', pos) - 1; // index starts from 0 lastPos = pos; pos += (isRegExp ? pickAxeRE.matchedLength() : pickAxeRE.pattern().length()); pos--; s.paraTo = s.paraFrom + txt.mid(lastPos, pos - lastPos).count('\n'); s.indexTo = pos - txt.lastIndexOf('\n', pos) - 1; s.indexTo++; // in QTextEdit::setSelection() indexTo is not included lastPos = pos; lastPara = s.paraTo; } return !matches.isEmpty(); } bool PatchContent::getMatch(int para, int* indexFrom, int* indexTo) { for (int i = 0; i < matches.count(); i++) if (matches[i].paraFrom <= para && matches[i].paraTo >= para) { *indexFrom = (para == matches[i].paraFrom ? matches[i].indexFrom : 0); *indexTo = (para == matches[i].paraTo ? matches[i].indexTo : 0); return true; } return false; } void PatchContent::on_highlightPatch(const QString& exp, bool re) { pickAxeRE.setPattern(exp); isRegExp = re; if (diffLoaded) procFinished(); } void PatchContent::update(StateInfo& st) { bool combined = (st.isMerge() && !st.allMergeFiles()); if (combined) { const Rev* r = git->revLookup(st.sha()); if (r) diffHighlighter->setCombinedLength(r->parentsCount()); } else diffHighlighter->setCombinedLength(0); clear(); proc = git->getDiff(st.sha(), this, st.diffToSha(), combined); // non blocking } qgit-qgit-2.11/src/patchcontent.h000066400000000000000000000035231500324541100167730ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef PATCHCONTENT_H #define PATCHCONTENT_H #include #include #include #include "common.h" class Domain; class Git; class MyProcess; class StateInfo; class DiffHighlighter : public QSyntaxHighlighter { public: DiffHighlighter(QTextEdit* p) : QSyntaxHighlighter(p), cl(0) {} void setCombinedLength(uint c) { cl = c; } virtual void highlightBlock(const QString& text); private: uint cl; }; class PatchContent: public QTextEdit { Q_OBJECT public: PatchContent(QWidget* parent); void setup(Domain* parent, Git* git); void clear(); void centerOnFileHeader(StateInfo& st); void refresh(); void update(StateInfo& st); enum PatchFilter { VIEW_ALL, VIEW_ADDED, VIEW_REMOVED }; PatchFilter curFilter, prevFilter; public slots: void on_highlightPatch(const QString&, bool); void typeWriterFontChanged(); void procReadyRead(const QByteArray& data); void procFinished(); private: friend class DiffHighlighter; void scrollCursorToTop(); void scrollLineToTop(int lineNum); int positionToLineNum(int pos); int topToLineNum(); void saveRestoreSizes(bool startup = false); int doSearch(const QString& txt, int pos); bool computeMatches(); bool getMatch(int para, int* indexFrom, int* indexTo); void centerMatch(int id = 0); bool centerTarget(SCRef target); void processData(const QByteArray& data, int* prevLineNum = NULL); Git* git; DiffHighlighter* diffHighlighter; QPointer proc; bool diffLoaded; QByteArray patchRowData; QString halfLine; bool isRegExp; QRegExp pickAxeRE; QString target; bool seekTarget; struct MatchSelection { int paraFrom; int indexFrom; int paraTo; int indexTo; }; typedef QVector Matches; Matches matches; }; #endif qgit-qgit-2.11/src/patchview.cpp000066400000000000000000000113631500324541100166270ustar00rootroot00000000000000/* Description: patch viewer window Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include "common.h" #include "git.h" #include "mainimpl.h" #include "patchcontent.h" #include "patchview.h" PatchView::PatchView(MainImpl* mi, Git* g) : Domain(mi, g, false) { patchTab = new Ui_TabPatch(); patchTab->setupUi(container); SCRef ic(QString::fromUtf8(":/icons/resources/plusminus.svg")); patchTab->buttonFilterPatch->setIcon(QIcon(ic)); QButtonGroup* bg = new QButtonGroup(this); bg->addButton(patchTab->radioButtonParent, DIFF_TO_PARENT); bg->addButton(patchTab->radioButtonHead, DIFF_TO_HEAD); bg->addButton(patchTab->radioButtonSha, DIFF_TO_SHA); connect(bg, SIGNAL(buttonClicked(int)), this, SLOT(button_clicked(int))); patchTab->textBrowserDesc->setup(this); patchTab->textEditDiff->setup(this, git); patchTab->fileList->setup(this, git); connect(m(), SIGNAL(typeWriterFontChanged()), patchTab->textEditDiff, SLOT(typeWriterFontChanged())); connect(m(), SIGNAL(changeFont(const QFont&)), patchTab->fileList, SLOT(on_changeFont(const QFont&))); connect(patchTab->lineEditDiff, SIGNAL(returnPressed()), this, SLOT(lineEditDiff_returnPressed())); connect(patchTab->fileList, SIGNAL(contextMenu(const QString&, int)), this, SLOT(on_contextMenu(const QString&, int))); connect(patchTab->buttonFilterPatch, SIGNAL(clicked()), this, SLOT(buttonFilterPatch_clicked())); } PatchView::~PatchView() { if (!parent()) return; clear(); // to cancel any data loading delete patchTab; } void PatchView::clear(bool complete) { if (complete) { st.clear(); patchTab->textBrowserDesc->clear(); patchTab->fileList->clear(); } patchTab->textEditDiff->clear(); } void PatchView::buttonFilterPatch_clicked() { QString ic; PatchContent* pc = patchTab->textEditDiff; pc->prevFilter = pc->curFilter; if (pc->curFilter == PatchContent::VIEW_ALL) { pc->curFilter = PatchContent::VIEW_ADDED; ic = QString::fromUtf8(":/icons/resources/plusonly.svg"); } else if (pc->curFilter == PatchContent::VIEW_ADDED) { pc->curFilter = PatchContent::VIEW_REMOVED; ic = QString::fromUtf8(":/icons/resources/minusonly.svg"); } else if (pc->curFilter == PatchContent::VIEW_REMOVED) { pc->curFilter = PatchContent::VIEW_ALL; ic = QString::fromUtf8(":/icons/resources/plusminus.svg"); } patchTab->buttonFilterPatch->setIcon(QIcon(ic)); patchTab->textEditDiff->refresh(); } void PatchView::on_contextMenu(const QString& data, int type) { if (isLinked()) // skip if not linked to main view Domain::on_contextMenu(data, type); } void PatchView::lineEditDiff_returnPressed() { if (patchTab->lineEditDiff->text().isEmpty()) return; patchTab->radioButtonSha->setChecked(true); // could be called by code button_clicked(DIFF_TO_SHA); } void PatchView::button_clicked(int diffType) { QString sha; switch (diffType) { case DIFF_TO_PARENT: break; case DIFF_TO_HEAD: sha = "HEAD"; break; case DIFF_TO_SHA: sha = patchTab->lineEditDiff->text(); break; } if (sha == QGit::ZERO_SHA) return; // check for a ref name or an abbreviated form normalizedSha = (sha.length() != 40 && !sha.isEmpty() ? git->getRefSha(sha) : sha); if (normalizedSha != st.diffToSha()) { // avoid looping st.setDiffToSha(normalizedSha); // could be empty UPDATE(); } } void PatchView::on_updateRevDesc() { SCRef d = m()->getRevisionDesc(st.sha()); patchTab->textBrowserDesc->setHtml(d); } void PatchView::updatePatch() { PatchContent* pc = patchTab->textEditDiff; pc->clear(); if (normalizedSha != st.diffToSha()) { // note <(null)> != <(empty)> if (!st.diffToSha().isEmpty()) { patchTab->lineEditDiff->setText(st.diffToSha()); lineEditDiff_returnPressed(); } else if (!normalizedSha.isEmpty()) { normalizedSha = ""; // we cannot uncheck radioButtonSha directly // because "Parent" button will stay off patchTab->radioButtonParent->toggle(); } } pc->update(st); // non blocking } bool PatchView::doUpdate(bool force) { const RevFile* files = NULL; bool newFiles = false; if (st.isChanged(StateInfo::SHA) || force) { if (!isLinked()) { QString caption(git->getShortLog(st.sha())); if (caption.length() > 30) caption = caption.left(30 - 3).trimmed().append("..."); setTabCaption(caption); } on_updateRevDesc(); } if (st.isChanged(StateInfo::ANY & ~StateInfo::FILE_NAME) || force) { updatePatch(); patchTab->fileList->clear(); files = git->getFiles(st.sha(), st.diffToSha(), st.allMergeFiles()); newFiles = true; } // call always to allow a simple refresh patchTab->fileList->update(files, newFiles); if (st.isChanged() || force) patchTab->textEditDiff->centerOnFileHeader(st); return true; } qgit-qgit-2.11/src/patchview.h000066400000000000000000000016621500324541100162750ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef PATCHVIEW_H #define PATCHVIEW_H #include "ui_patchview.h" #include "domain.h" class Git; class PatchView :public Domain { Q_OBJECT public: PatchView() {} PatchView(MainImpl* mi, Git* g); ~PatchView(); void clear(bool complete = true); Ui_TabPatch* tab() { return patchTab; } signals: void diffTo(const QString&); void diffViewerDocked(); public slots: void on_updateRevDesc(); void lineEditDiff_returnPressed(); void button_clicked(int); void buttonFilterPatch_clicked(); protected slots: virtual void on_contextMenu(const QString&, int); protected: virtual bool doUpdate(bool force); private: void updatePatch(); void saveRestoreSizes(bool startup = false); Ui_TabPatch* patchTab; QString normalizedSha; enum ButtonId { DIFF_TO_PARENT = 0, DIFF_TO_HEAD = 1, DIFF_TO_SHA = 2 }; }; #endif qgit-qgit-2.11/src/patchview.ui000066400000000000000000000157401500324541100164650ustar00rootroot00000000000000 TabPatch 0 0 704 449 Patch 0 0 0 0 0 0 0 0 0 0 6 2 2 2 2 Diff to: false Qt::StrongFocus Check to diff against parent P&arent Alt+A true Qt::ClickFocus Check to diff against HEAD H&EAD Alt+E Qt::ClickFocus Use CTRL + right click to select a revision to diff against &SHA Alt+S Qt::Horizontal 20 0 1 0 SHA value of selected revision. Use CTRL + right click to select. Toggle view of added and removed lines (CTRL+H) Ctrl+H 0 0 Qt::Horizontal 5 0 Qt::Vertical QTextEdit::NoWrap false QTextEdit::NoWrap true Qt::TextSelectableByMouse 1 0 Qt::CustomContextMenu FileList QListWidget
filelist.h
RevDesc QTextBrowser
revdesc.h
PatchContent QTextEdit
patchcontent.h
revdesc.h
qgit-qgit-2.11/src/qgit.cpp000066400000000000000000000034711500324541100156020ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Author: Sebastian Pipping (C) 2021 Copyright: See COPYING file that comes with this distribution */ #include #include #include "config.h" // defines PACKAGE_VERSION #include "common.h" #include "mainimpl.h" #if defined(_MSC_VER) && defined(NDEBUG) #pragma comment(linker,"/entry:mainCRTStartup") #pragma comment(linker,"/subsystem:windows") #endif using namespace QGit; int main(int argc, char* argv[]) { QApplication app(argc, argv); app.setAttribute(Qt::AA_UseHighDpiPixmaps, true); QCoreApplication::setOrganizationName(ORG_KEY); QCoreApplication::setApplicationName(APP_KEY); QCommandLineParser parser; QCoreApplication::setApplicationVersion(PACKAGE_VERSION); parser.addHelpOption(); parser.addVersionOption(); parser.setApplicationDescription("QGit, a Git GUI viewer"); parser.addPositionalArgument("git-log-args", "Arguments forwarded to \"git log\"; for example:\n" " qgit --no-merges\n" " qgit v2.6.18.. include/scsi \\\n" " drivers/scsi\n" " qgit --since=\"2 weeks ago\" -- kernel/\n" " qgit -r --name-status release..test\n" "See \"man git-log\" for details.", "[git-log-args]"); parser.parse(app.arguments()); if (parser.isSet("help") || parser.isSet("help-all") || parser.isSet("version")) { QCoreApplication::setApplicationName("QGit"); parser.process(app.arguments()); // exits the process } /* On Windows msysgit exec directory is set up * during installation so to always find git.exe * also if not in PATH */ QSettings set; GIT_DIR = set.value(GIT_DIR_KEY).toString(); initMimePix(); MainImpl* mainWin = new MainImpl; mainWin->show(); QObject::connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit())); bool ret = app.exec(); freeMimePix(); return ret; } qgit-qgit-2.11/src/rangeselect.ui000066400000000000000000000316611500324541100167670ustar00rootroot00000000000000 RangeSelectBase 0 0 415 235 Range select :/icons/resources/join.svg true 0 4 4 4 4 6 0 0 0 0 0 0 0 0 2 2 0 0 Select a tag or paste/write a rev true QComboBox::NoInsert Top: false comboBoxTo &Bottom: false comboBoxFrom 0 0 Select a tag or paste/write a rev true QComboBox::NoInsert Qt::Vertical QSizePolicy::Expanding 395 16 QFrame::StyledPanel QFrame::Raised 6 9 9 9 9 6 0 0 0 0 Check to see git status. Necessary for committing. &Working dir Alt+W Check to enable '--all' option All branch&es Alt+E Check to view all the revisions Whole histor&y Alt+Y Qt::Vertical QSizePolicy::Expanding 395 16 6 0 0 0 0 0 0 &Additional options: false lineEditOptions 0 0 Extra options to feed 'git log' 6 0 0 0 0 0 0 You can always re-enable the dialog from settings. S&how this dialog when opening a repository Alt+H Qt::Horizontal QSizePolicy::Expanding 80 20 0 0 O&k Alt+K true pushButtonOk clicked() RangeSelectBase pushButtonOk_clicked() 20 20 20 20 checkBoxShowDialog toggled(bool) RangeSelectBase checkBoxShowDialog_toggled(bool) 20 20 20 20 checkBoxDiffCache toggled(bool) RangeSelectBase checkBoxDiffCache_toggled(bool) 78 98 207 117 checkBoxShowAll toggled(bool) RangeSelectBase checkBoxShowAll_toggled(bool) 207 98 207 117 checkBoxShowWholeHistory toggled(bool) RangeSelectBase checkBoxShowWholeHistory_toggled(bool) 336 98 207 117 qgit-qgit-2.11/src/rangeselectimpl.cpp000066400000000000000000000120441500324541100200100ustar00rootroot00000000000000/* Description: start-up dialog Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include "common.h" #include "git.h" #include "rangeselectimpl.h" using namespace QGit; RangeSelectImpl::RangeSelectImpl(QWidget* par, QString* r, bool repoChanged, Git* g) : QDialog(par), git(g), range(r) { setupUi(this); QStringList orl, tmp; orderRefs(git->getAllRefNames(Git::BRANCH, !Git::optOnlyLoaded), tmp); if (!tmp.isEmpty()) orl << tmp << ""; orderRefs(git->getAllRefNames(Git::RMT_BRANCH, !Git::optOnlyLoaded), tmp); if (!tmp.isEmpty()) orl << tmp << ""; orderRefs(git->getAllRefNames(Git::TAG, !Git::optOnlyLoaded), tmp); if (!tmp.isEmpty()) orl << tmp; // as default select first tag that is not also the current HEAD int defIdx = orl.count() - tmp.count(); if (!tmp.empty()) { SCRef tagSha(git->getRefSha(tmp.first(), Git::TAG, false)); if (!tagSha.isEmpty() && git->checkRef(tagSha, Git::CUR_BRANCH)) // in this case set as default tag the next one if any defIdx += (tmp.count() > 1 ? 1 : -1); } if (!orl.isEmpty() && orl.last().isEmpty()) orl.pop_back(); QString from, to, options; if (!repoChanged) { // range values are sensible only when reloading the same repo QSettings settings; from = settings.value(RANGE_FROM_KEY).toString(); to = settings.value(RANGE_TO_KEY).toString(); options = settings.value(RANGE_OPT_KEY).toString(); } comboBoxTo->insertItem(0, "HEAD"); comboBoxTo->insertItems(1, orl); int idx = repoChanged ? 0 : comboBoxTo->findText(to); if (idx != -1) comboBoxTo->setCurrentIndex(idx); else comboBoxTo->setEditText(to); comboBoxFrom->insertItems(0, orl); idx = repoChanged ? defIdx : comboBoxFrom->findText(from); if (idx != -1) comboBoxFrom->setCurrentIndex(idx); else comboBoxFrom->setEditText(from); comboBoxFrom->setFocus(); lineEditOptions->setText(options); int f = flags(FLAGS_KEY); checkBoxDiffCache->setChecked(f & DIFF_INDEX_F); checkBoxShowAll->setChecked(f & ALL_BRANCHES_F); checkBoxShowWholeHistory->setChecked(f & WHOLE_HISTORY_F); checkBoxShowDialog->setChecked(f & RANGE_SELECT_F); } void RangeSelectImpl::orderRefs(const QStringList& src, QStringList& dst) { // we use an heuristic to list release candidates before corresponding // releases as example v.2.6.18-rc4 before v.2.6.18 // match a (dotted) number + something else + a number + EOL QRegExp re("[\\d\\.]+([^\\d\\.]+\\d+$)"); // in ASCII the space ' ' (32) comes before '!' (33) and both // before the rest, we need this to correctly order a sequence like // // [v1.5, v1.5-rc1, v1.5.1] --> [v1.5.1, v1.5, v1.5-rc1] const QString rcMark(" $$%%"); // an impossible to find string starting with a space const QString noRcMark("!$$%%"); // an impossible to find string starting with a '!' typedef QMap OrderedMap; QRegExp verRE("([^\\d])(\\d{1,2})(?=[^\\d])"); OrderedMap map; FOREACH_SL (it, src) { QString tmpStr(*it); if (re.indexIn(tmpStr) != -1) tmpStr.insert(re.pos(1), rcMark); else tmpStr += noRcMark; // Normalize all numbers to 3 digits with leading zeros, so one-digit // version numbers are always smaller than two-digit version numbers // [v1.10.3, v1.5.1, v1.7.2] --> [v.1.10.3, v1.7.2, v1.5.1] // QMap automatically sorts by keys, so we only have to iterate over it // and return the original strings (stored as the data() in the map) while (tmpStr.contains(verRE)) tmpStr.replace(verRE, "\\10\\2"); map[tmpStr] = *it; } dst.clear(); FOREACH (OrderedMap, it, map) dst.prepend(it.value()); } void RangeSelectImpl::checkBoxDiffCache_toggled(bool b) { setFlag(DIFF_INDEX_F, b); } void RangeSelectImpl::checkBoxShowDialog_toggled(bool b) { setFlag(RANGE_SELECT_F, b); } void RangeSelectImpl::checkBoxShowAll_toggled(bool b) { QString opt(lineEditOptions->text()); opt.remove("--all"); if (b) opt.append(" --all"); lineEditOptions->setText(opt.trimmed()); setFlag(ALL_BRANCHES_F, b); } void RangeSelectImpl::checkBoxShowWholeHistory_toggled(bool b) { comboBoxFrom->setEnabled(!b); comboBoxTo->setEnabled(!b); setFlag(WHOLE_HISTORY_F, b); } void RangeSelectImpl::pushButtonOk_clicked() { if (testFlag(WHOLE_HISTORY_F)) *range = "HEAD"; else { *range = comboBoxFrom->currentText(); if (!range->isEmpty()) range->append(".."); range->append(comboBoxTo->currentText()); } // all stuff after "--" should go after range if (lineEditOptions->text().contains("--")) { QString tmp(lineEditOptions->text()); tmp.insert(tmp.indexOf("--"), *range + " "); *range = tmp; } else range->prepend(lineEditOptions->text() + " "); *range = range->trimmed(); // save settings before leaving QSettings settings; settings.setValue(RANGE_FROM_KEY, comboBoxFrom->currentText()); settings.setValue(RANGE_TO_KEY, comboBoxTo->currentText()); settings.setValue(RANGE_OPT_KEY, lineEditOptions->text()); done(QDialog::Accepted); } QString RangeSelectImpl::getDefaultArgs() { QSettings settings; return settings.value(RANGE_OPT_KEY).toString(); } qgit-qgit-2.11/src/rangeselectimpl.h000066400000000000000000000013061500324541100174540ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef RANGESELECTIMPL_H #define RANGESELECTIMPL_H #include "ui_rangeselect.h" class Git; class RangeSelectImpl: public QDialog, public Ui_RangeSelectBase { Q_OBJECT public: RangeSelectImpl(QWidget* par, QString* range, bool rc, Git* g); static QString getDefaultArgs(); public slots: void pushButtonOk_clicked(); void checkBoxDiffCache_toggled(bool b); void checkBoxShowAll_toggled(bool b); void checkBoxShowDialog_toggled(bool b); void checkBoxShowWholeHistory_toggled(bool b); private: void orderRefs(const QStringList& src, QStringList& dst); Git* git; QString* range; }; #endif qgit-qgit-2.11/src/resources/000077500000000000000000000000001500324541100161375ustar00rootroot00000000000000qgit-qgit-2.11/src/resources/COPYING-ICONS000066400000000000000000000230441500324541100200460ustar00rootroot00000000000000QGit uses icons from the Breeze-icons project [1]. These are released under the GPLv3 with an exception in section 5 according to Breeze-icons' license [2] which is has been included in this document. [1] https://github.com/KDE/breeze-icons [2] https://github.com/KDE/breeze-icons/blob/master/COPYING-ICONS ------------------------------------------------------------------------------- The Breeze Icon Theme in icons/ Copyright (C) 2014 Uri Herrera and others This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library. If not, see . Clarification: The GNU Lesser General Public License or LGPL is written for software libraries in the first place. We expressly want the LGPL to be valid for this artwork library too. KDE Breeze theme icons is a special kind of software library, it is an artwork library, it's elements can be used in a Graphical User Interface, or GUI. Source code, for this library means: - where they exist, SVG; - otherwise, if applicable, the multi-layered formats xcf or psd, or otherwise png. The LGPL in some sections obliges you to make the files carry notices. With images this is in some cases impossible or hardly useful. With this library a notice is placed at a prominent place in the directory containing the elements. You may follow this practice. The exception in section 5 of the GNU Lesser General Public License covers the use of elements of this art library in a GUI. https://vdesign.kde.org/ ----- GNU LESSER 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. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser 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 Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. qgit-qgit-2.11/src/resources/archive-insert.svg000066400000000000000000000010511500324541100216000ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/archive-remove.svg000066400000000000000000000013321500324541100215730ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/autocorrection.svg000066400000000000000000000012701500324541100217200ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/colors-chromablue.svg000066400000000000000000000006221500324541100223000ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/configure.svg000066400000000000000000000017351500324541100206470ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/document-edit-sign.svg000066400000000000000000000012501500324541100223550ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/document-encrypted.svg000066400000000000000000000010121500324541100224630ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/document-save.svg000066400000000000000000000013351500324541100214340ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/edit-copy.svg000066400000000000000000000010121500324541100205470ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/edit-find.svg000066400000000000000000000012541500324541100205250ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/emblem-favorite.svg000066400000000000000000000007601500324541100217410ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/000077500000000000000000000000001500324541100170565ustar00rootroot00000000000000qgit-qgit-2.11/src/resources/file/application-json.svg000066400000000000000000000045101500324541100230510ustar00rootroot00000000000000 image/svg+xml qgit-qgit-2.11/src/resources/file/application-pdf.svg000066400000000000000000000025231500324541100226530ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-x-ace.svg000066400000000000000000000004231500324541100230740ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-x-bzip.svg000066400000000000000000000004231500324541100233100ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-x-compressed-tar.svg000066400000000000000000000004231500324541100252740ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-x-designer.svg000066400000000000000000000022711500324541100241470ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-x-java.svg000066400000000000000000000005431500324541100232700ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-x-javascript.svg000066400000000000000000000014461500324541100245200ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-x-perl.svg000066400000000000000000000031021500324541100233030ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-x-python-bytecode.svg000066400000000000000000000015611500324541100254650ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-x-ruby.svg000066400000000000000000000005751500324541100233350ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-x-sharedlib.svg000066400000000000000000000035511500324541100243060ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-x-tar.svg000066400000000000000000000004231500324541100231320ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/application-zip.svg000066400000000000000000000004231500324541100227010ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/dialog-xml-editor.svg000066400000000000000000000013551500324541100231240ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/image-bmp.svg000066400000000000000000000011361500324541100214360ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/image-gif.svg000066400000000000000000000006731500324541100214320ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/image-jpeg.svg000066400000000000000000000011421500324541100216020ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/image-png.svg000066400000000000000000000011421500324541100214410ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/image-svg+xml-compressed.svg000066400000000000000000000012371500324541100244170ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/image-tiff.svg000066400000000000000000000011361500324541100216100ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/image-x-generic.svg000066400000000000000000000011361500324541100225410ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/image-x-ico.svg000066400000000000000000000003251500324541100216760ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/image-x-xcf.svg000066400000000000000000000012051500324541100217020ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/project-development.svg000066400000000000000000000005611500324541100235670ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-css.svg000066400000000000000000000015111500324541100213470ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-csv.svg000066400000000000000000000006061500324541100213560ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-dockerfile.svg000066400000000000000000000074211500324541100226740ustar00rootroot00000000000000 image/svg+xml qgit-qgit-2.11/src/resources/file/text-html.svg000066400000000000000000000251021500324541100215250ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-rtf.svg000066400000000000000000000003311500324541100213510ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-rust.svg000066400000000000000000000011451500324541100215570ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-c++hdr.svg000066400000000000000000000005011500324541100220700ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-c++src.svg000066400000000000000000000005651500324541100221140ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-chdr.svg000066400000000000000000000015341500324541100217510ustar00rootroot00000000000000 image/svg+xml qgit-qgit-2.11/src/resources/file/text-x-cmake.svg000066400000000000000000000016351500324541100221130ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-csharp.svg000066400000000000000000000003141500324541100223040ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-csrc.svg000066400000000000000000000004041500324541100217560ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-generic.svg000066400000000000000000000003311500324541100224370ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-go.svg000066400000000000000000000022301500324541100214300ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-markdown.svg000066400000000000000000000003671500324541100226560ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-patch.svg000066400000000000000000000015731500324541100221330ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-qml.svg000066400000000000000000000007231500324541100216210ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-r.svg000066400000000000000000000042231500324541100212700ustar00rootroot00000000000000 image/svg+xml qgit-qgit-2.11/src/resources/file/text-x-script.svg000066400000000000000000000003741500324541100223360ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/file/text-x-tex.svg000066400000000000000000000006221500324541100216260ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/folder-open.svg000066400000000000000000000010511500324541100210670ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/folder.svg000066400000000000000000000011411500324541100201300ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/go-down.svg000066400000000000000000000006561500324541100202410ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/go-next.svg000066400000000000000000000006541500324541100202460ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/go-previous.svg000066400000000000000000000006531500324541100211430ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/go-up.svg000066400000000000000000000006531500324541100177130ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/join.svg000066400000000000000000000022221500324541100176150ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/minusonly.svg000066400000000000000000000051011500324541100207120ustar00rootroot00000000000000 image/svg+xml qgit-qgit-2.11/src/resources/plusminus.svg000066400000000000000000000051011500324541100207140ustar00rootroot00000000000000 image/svg+xml qgit-qgit-2.11/src/resources/plusonly.svg000066400000000000000000000050701500324541100205470ustar00rootroot00000000000000 image/svg+xml qgit-qgit-2.11/src/resources/qgit.icns000066400000000000000000002532231500324541100177700ustar00rootroot00000000000000icnsV“ic12‰PNG  IHDR@@ªiqÞsRGB®ÎéDeXIfMM*‡i  @ @FQB°jIDATxíš_hEÇwK.Ôk¬´Š­m JÒÃKbbˆÚ(Šú¢‘êƒ Zš§"(¨(V-> R[*>êK}ðÁúÄ"Û‡`’ 9㟢û ‚Ô¹p¹õ3å6»3{7;»w‡w Ëî|ç÷›ßï÷ßÌÎì®í8ŽÕÊG²Áۯدc÷.í/œ—œ§=Xìņ@T;83žè–<åºu±ÒÄFÚ4qçÔŵvÔ…æ&6Òò`›.„ì#ö¸åX÷ju²cÝcÙÖõtë'°Ï7`Õ ¶õ™sØ9UM,¨Þ|àXÃ8dÄWgû«Lˆ^;Žõ-ÐòC M€$[ 2Ÿlk‰IðŒ&k7!¿Å£ó;åo=XpQØ6<ŒŸaì³|½qî)vƒy°Ø‹í9 vŠ›Ü@;š¼ƒbw¯±SÜäZ>ÌBázø=Ô=ªz‹ rØbCBaC¯=LYýζ{J–uƒi;aôé½¥ç‡0ºã9€àÐØ3•ëyÅökØ{ÖÄfË6&éóÐmù 0^ÌÙö¦Í–µ©Ù°lY+ý޳bbÛ˜ãÍ ÛòCÀx`Ú‹½½½é®®®û´S*•¾ÉårF{ˆº0<<¼}}}ýA¾ynnî w°©TêjÊbs¤}$‰Ã(5/CCC;ú9¾?>Ž£IÛ¶ÔŽ2f…X2`ll,¹¼¼,~x:ÂÙs FÍGNÀÀÀÀUôôGxu«‘geÚß.TªÈ¬\å>ì5R2™ÌÖŽŽŽÓ8¶'¬CAz´»smmí@>Ÿÿ3HN§.²Ç =ßÑÙÙùÆ•Á€©ãþ„'GdÃ*2îUNUÚ¯¾O …Ñ{çgäÖd²´3Âc3²íw$Ðû;E€2‡Á~áI0233stqqQ”W"§ÁÄŸ¤¿yëÊåúûûw)ê´àHÀáç±*›O.üý,V´¼Bxvvö,í>À­Œ´.ä·ZczzzR8óˆ,@ðÃ_i‹E“È„—+eÏõa1ïx0í¢1ÝÝÝ{±š–X¾N§ß’àZP2™|6~¾c r§ÕŒ `9šQØütjjjUQW3<==}áe dXV†ë`Æ0ÆÅZ^v|-Cbçdzp­ ×Ád—޾…¼ñà?êG˜#–úúú®t× »aâ£üéî¹|–òš€1Øû[fçjêäx»m.Ù.³1z2/f<hð{o£åò^S(©l+Äý°1ô‚걡ÁÁÁ^¿I=„G]ƒ2-æŸ/e¸fL+<1Aå%Fm<A²c%â~¨¬+ƒ²6æY'¿_0&@¸Í=êw¯mû–¬oÈêjÁÐ=†Üm2YÚÝ®»½HÞ ãL"›Ížá:ânÜuÿÎêêê!öÿ¸0åíèèèfä#0¡:KïßñþGƒBAG•%D“Q=ú&ØÁåéу¼-êR9#ê˜7& ^ © …\¡5Eð¢ýH2 â(Ž“âgÐãõ΋É+‡ìåÝ×m”³à"ݯàTEd÷1ï|¨ÐÅ#%@‡„ý8ù6·A$èú)䋜±K|7Œ²J'r„!Òøzó$·»T†5ñóÈï[dM½ªâ‘Ì^+¤èWìâøl眠î_o½FYè§­=q/üˆ%ÜòQd[±X|ìQÎëÜu÷çF'yzlaaAõV(@½öªØ p»Â‡’Ýq7Áí&;¶RwM¹þW0è9¾ žŸŸ7úïÇm³Ú}] ¨æL#êÿí’1MbÕIEND®B`‚ic07 c‰PNG  IHDR€€Ã>aËsRGB®ÎéDeXIfMM*‡i  € €HŽw ÅIDATxí\{ŒÕŸÙe_p»´´5U»›.ií¶°»¼¡ôA5‰ ‹©ÔVÛþAøÃDmI5F«I¥©”ÒPñ¥ÆGZiCÚB-X•º1R ­Sq …eÙÇôwôûÂç>²÷Ì™{î|ç&³3ßì9÷¼~sϽsï0Š¢@Kùz ¢|MWËÉãÊÅ áýáœ`0XidoE°!úa´ÛˆÖs¢²@MˆÕÍFñŠ‚í + h 0BD~‰ù­‘e #7å—HߨY¦0rS~‰ù­‘e #7å—HߨY¦0rS~‰ù­‘e #7å—HߨY¦0rS~‰ù­‘eΧƒÃ_…•Á[Á4#mmˆÂ SÂf´X?ÐnFlAõ¹àõhi4`Qƒ5kèzIXxoØ+Þµ¶ÄÏ &E÷D']ª®)À¥÷ÈV‚K.½/@¶@@\ª pé}²‚àR€Kï ­—*(\z_€l篂ƒ‰AOp*x _´@Æõ†r^]—!m|2²Ýqqþ*8+ûÃû›0𔑼0X­ž6¢õœHS€ç´U_`ëAÏùžÐV}€­=çWx@[õ¶ôœ_àymÕWØzÐs~€ç´U_`ëAÏùžÐV}€­=çWx@[õ¶ôœ_àymÕWØzÐsþòY†a°.¨4Š×º`{&M·’U)•¨l 5®õÒà:Žå+Àµx€ë8–¯p×âï Ø†uƒLö¸öõ0ù§‚`Íœ(rº7Àù(àÍ0lÀx«,?Á¤+"ýD̰'Codçídçk‘’"Ã’R €ì|-R’@dX²SJ¯EJRˆ KvJ)²óµHI ‘aÉN)çoƒ0¬x#¦dg²I_ ‚ÃA ºÔÈ=\Z¯²Me€ Ì=Pææk  (s”¹ùÎWIðÿÌ™3§ þ c]ú÷ïßÿÍŒe—K  ŸÄ¾Ž+qÔÃÉë‡Y=äè>…[K‡ÜNûçù´˜ÔŸÌž={b‚¹›€¾ ã+pý[œÇ€‰£òJã=ÚÚÚ.GÀWãø.‚4‘v€i1÷€·˜;wnÃùóçﬨ¨X skÍMVÊRx €éÓ§S¾~ǤRcôšï¯@»'Ñ̃oªrŒäo€\¿Íý³>õص$ä/0cÆŒü'`suBv§] }[` t~n4A²ˆïˆòýípâOpøôÚš†"÷cúξ}û~1$ÜíTÿÛp’oÁ/Ƶø9Z¯›‹7$žÅ9!¶ ‡X J n6l1 ÏžD¤sÑÛoBþÜ wؤ¨^äÙ?gïÒa«ÈØté°ÿ¸!Z&f¶À7 1ý3¾ŸŽ7x0fI³5À¦_’mIWl[ŸÍf+{D~äýÕh6çøÏ±oÆÓvKggç_Æ&Eñ¸áhŠÁýõöööUà{4oj,¢9uêÔÉþº8Öâéú5øZS >ðFhYZ ²â¨¹nÖ¬Y¢Þ^Š@uuõZx a—M‹ÑäŸes2öìÙsjüøñKÀFï%¸¥3–k¸LiÒ‹zÊÇvk c·555­Üºu+åþLÊŽ;ú8@º¾ÄˆÖc¥¤V@ »WÀ™uL‡v;wnY–Á/ê°öõõ-Çï·Š÷ Ïu˜Ï¸Å6u21€¥ßbZK;j¾×ÕÕõ?&_bä‡:ƒÊ¾ƒƒÛúÜ–˜–‰Þ–µÂîö°Èù{-í·f'ÐpûÍ|ÞZxˆxÓ–A¤ŒG˜<©‘WVV>€Êû9и–CŸ­À¸L·a¸w”É“yA—?p\›9ÕÓJÀ4cAç±{ßœúãТ{ŽÃú}Z´ÎÐÒÒ2ƱyÀy;ÓrˆE½Üy‡ÏàÅ×G,ä%ÂêµµµŸ†%4nZN¡ãõSâ¬èôÐ:OΧa:-ñ=H)}ˆÌ{ŠNŒÜ€P§cˆI”Åy  §†i«ÃȬۖœ•Ó«ªª8}[ÝFäw€³gÏRNç¬DûF´ÆáMLf]ñc¦‘1'Àê3”ð&vé…wùÇ9¡©ý*‡> Z´d_cÊ9ŠÔ“úôõX:9@AÁ¿¥èÿß0ä·óŸW§7œ+ ¤àUŽ3Ð,ÆvpV¾åÔÏ¥-¤¤ë8|°e3§n­`2å7¥A[•5w2yR#GoþnÒ‰)€k3³z3r1ŠÄbÐ7¡2gŠ´ÀùÒÞ½{›™šMë¢ùµsÐ…ü…º/"Z€‚60ÝQƒ^ô§ŠÉ—yA6­àŸ&³~–˜–‰æ6Ãî¸xr)8–.»ÀÙëÌî]F˵ň2"1صk×i8“ö² xnÅ“ø‹)b¬bz²i#«4ÑÊbSŠÄbúdcáCOGp9™k3‚±±§§gÞ+¤úõ-L_W×ÕÕ­G oãêúhéš ì1xSaÓuôd ßc)ÙÙÚÚڇ߄˹§ €¯Æ >‰¸KRðI!Q-)D=ë—Ö¸úÎ÷ÿö @?~œ”³çÏŸ?¡··÷Ô{$ÄŒz=ÿ%%zЏ Ú$‚u4´¢÷ëqËÀ¸õlÄš½Å©}‹Ëèi/äúÅ©£Àó6έé$ªˆyÎoÃéO8hɘM¡ý8^Áñ†ŽEé©B¤z¦ Ÿ‡ÿÓª]êáÛ¦ÉÓ¨s@H€WÄ€<…T°Áx—Iõiîÿß8Š“1ášf?Š#ÉÒýoÀgb¶%Yi’u‰Š–€žÄçqÄͽT‹B£‘ehö_r!ÜT¦móf*'6HM÷õ8Ä Œ¡ÑÌ"éÁ';Ä·EgÓ ù›ÒÁŠ÷„žÿŽÉ¡%X%Lsâ‹ø èAšôÁ|~Ó»w‰%ÂS¿»•§û|r¢7-@iÄÑ9¼Φ9€ËKï;¼>Ù+Ðäow¨C,ÑÞ´¥Öá㠿Ó6ctzïrŸÀIÈ¿_6¹ÂÇà“O½lHñbÁ(6WÜŽc%ެZ„ãµß z\ÒÄtbïP´¸£££òرc×¢U¸ ÷®ÁÁÝqT¬j´3ÍVÒxþ™ÆÆÆW\|•d4Ålîç¥Nhnn®©¯¯_ˆÞøW´¹ø_;ŽºRƒëÐì vãMÞÎîîî?9r¤×€Ï+’\`h&èMâeC@ш3½ñ»ç÷A S°i[×{X¬q4ÇðûŸÈë´c(×¥,ëZçå(ÀÒfe/ñÀÿ`ÍÆGü<IEND®B`‚ic13u‰PNG  IHDR\r¨fsRGB®ÎéDeXIfMM*‡i   gêI×IDATxí ´UyÇϽ7OòDh1j„¼ä•ypoLÂ#AdMtµja)i¥ Û…µ.k-µ*‚mµ‹ ¥…V³¢ ¬ÄR¯ËƬ¼Ã#Ò–@ˆXHÕÉò ¹§ÿ-'á>ιwæœýÍž=ç7kÍ:çÌìý}ßþ}3ÿÙ3³gNK¹\.1AÍI µ9›M«!G`;€@@š8ù4ƒ@P<-7µÌ(u•ŽóÚ²ÖÒÎòõåǽÚÄXp@ðÐUú¢¬^èÕrWéÙ{W› N€S€à) „#€„cg'€O@  {ŸˆŽd|Ãú/NKû.ŽvÉ=åË»£ÞSà€ÙV:¡t¸t»'¦E5sºVFm¥Nµ§é€S€¢î®´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%ÐR.—‹Ú¶ÄíjÑTúlihâ ù/ø]…xç0 {—z¶ÎÜgK´í7ýÆÏ[µ V6„ýá¶F¿žõúî.¿c­K¯Ñ. £Ò„"4É)@„I#dø"€ø"‰DHˆ0i„ __$± &!à‹à‹$v ! ¤2|@|‘Ä"$€D˜4B†€/€/’Ø@„€“FÈðEðE;ˆaÒ¾ ¾Hb@"L!CÀÀIì@ B@„I#dø"€ø"‰DHˆ0i„ __$± &!à‹à‹$v ! ¤2|@|‘Ä"$€D˜4B†€/€/’Ø@„€“FÈðEðE;ˆaÒ¾ ¾Hb@"L!CÀÀIì@ B@„I#dø"0È—!ìäˆÀ¸ÒûJ;Jm^#W:ìÕÆrA ¥\.ç"‚€²'À)@öÌñÜ@r“ @ö€ì™ã¹!€ä&ì Ù3Ç#rCÈM*Ù@²gŽG䆛T²'€dÏÈ  7© dO€gÄüG--ƒŽ/•Æe¡ü_©´ãÜrùP(ÿyñ‹('”JºJ¥§ó’â°' œ¿C^¶Ú{Ê·Nò¢ƒ€)À/Æ!o@¾óCt0%€˜âÅ8òMÈw~ˆ¦S¼‡@¾ ùÎÑAÀ”`ŠãÈ7 ßù!:˜@Lñbù&€ä;?DS€)^ŒC ߀|ç‡è `J0Å‹qä›ïüL ¦x1|@ò¢ƒ€)À/Æ!o@¾óCt0%€˜âÅ8òM€—‚*?¯•J/J /ÏwªˆÎ'—sŸöbµÕR.—c¸! p Ð @ªC f@ÌÙ#v4Hh Õ!3 æì;$€4ꈙsöˆ @HuÄLˆ9{Ä ¤:b&€Äœ=b‡@ƒ€R1@bαC A< Ø À"U?óÌ3Onii_¤6UkKWW×á 6tV[×lË€fËx?íÕ“¡×hþx?Eвj¯2ª(i¤œ4B/`ÝÙ³gOž9s攀!àºèD’Ä3fŒ:tè;Õ}=_!_¢®úimmm¬ï[#iaæä iÊ”)CG}~/Ö³yÌAà(à(а_Ô¥o5kÖÅúü”æù¼ª-l>šÅ;8ÓsæÌ9F;ûRõÝÕ÷ ÃÁ}“@%ÜñµÓ_!÷7ëûIÂÀm“@líííçkç¿U®§pK%€Eaÿ¥££cÂáÇ¿.OîÊ>‚` P)¨t÷—jçBîØù3`Ž‹dè$ãTw)]Ù?MÝý»d ½n#T„€zF`YíøÔýüuúÊÎoÈÓõ P?»š5.\8lÏž=_R׿¬©Éù'€xΑºü'ê¨ÿ™=óiÌAÀ;À#Ríü3´óÿ«L¾Å£YLõ$ðEýÜÔsQº_xu(]â–F<åV#újçPæÆx2‰™ê>¦S«‹×¯_ÿ“ê«Yš†ÓЪQVûÞ¯Uhfç¯ÁÈãâ1:‚¯tƒ©<ÚlZS@ƒ©×k´.Õé›23¤ASTON`„þž„÷òäU(YPJÂeÚß­£Ñ½*ΩTBf‹ ‘ðÞ£\âÑfÓ™BêL¹º ó´> êCë4AµÆ VîÕõ—ŽÆM5§ Ž¼kLÿ;\TUGÔQ*~ —¹ÝíW¿f›Ã2Ï ,¥1ýßVµ±)«RÜŽÀ8wûU/I%')#)€©»ÙzàÀåªrzŠj͆€{Iê=.GÙ¸+†`¥È£Î5oÐE¿<\túOűtÔ¨Qw¤¿о[§Ÿh††új#W¯’¬\húLÂâVŶjÇ_¶iÓ¦ú,[9‰Ù®z7éÎÀÊ7ºG¯™ @`@nõ¼yóÜ…¦»5‡ÌÝòí,:]ö}ìü"Q{*ø†{¥zí"¬9B Ô}ÄŸ:ïÿ¼6ªSB+¿ßÖEÇkuÔ1„ÿz}*î ºSòŠ>Ï©×Fõ¦ë•ê©úŸlÀFST¥0@š]×_±ûž¬'·ó|TcÞ¯ˆmçw ÔKùå¤I“ÎS–égˆ‡o®Ó©À쬓›? ŸŒiãmÑj÷òά9=££g»vþì'¼Ü¯ºï¾û« ŸW  4ÿ,ã€[•¾›3ö»¬7ì¨éò; x~ÆAÿpÈ!:ê?•±_3wú+îµ´yrõ…¹EzVã"³†À0P#‰S§Nu÷üUÕV‹Ö­½‹W¯^ý’•ƒPvÝiŒ®eœ££ò³ŒA§"·è M\모FÿÄ{µVM®±Úbñý2zyggç~ ãy°¹yóæ—õ'§j§ü~†ñœºwïÞßÏÐ_T®€*éÒQÊ?þI•UV‹:wíÚõAu•_³r»êÝì[wjµ6«˜$8×Ó ¨N¨ÂEçþïÓ⬎þ[† véÖ­[T ¥‹$t¯ªa—i~>£ž¨—´:L½ ½€T~^W}±÷¥»5~ýŠU«Víñn9ç%;Ô¸XaîÍ"Tõ²ìÑeÑ$/>€^Ý‹=µè¬^‹M~j£\ºvíÚ§MŒG`T··(Ì?Ë"T‰Í<åö´,|Åäè•-m(¿Ûk‘ÉOù¹WÃzÝÛ„šz÷_‰+³€ G†¯ÊÂOL>€nÙÒNé¦%ÝY}ýµÞke<&»ê•5Fàs§Aîå­LÝ Ý`hÐÈ;õó¤n‹L¾j›ÿ Ýÿ•‰ñŠ…%˜Å¨½ñºÀ;=BDf!#ÝÐê¨ìnOYOÏéá¢Û¬Äf_wBþV1ï´Ž[=ükjÇËÆm™«÷;¼ÉØG4æ€Jª4DÕ=ôcÊC=ŒåEêÛèV_ñ@£v¨ß¦S°s(Ó4«M7ø˜(êÑÙÖñêÃÝÖ>b·¯;ß²nƒ„x޵Xì#•LéüÓ ²œ¶éj÷ã–Š`{òäÉ?R;¬ß~Ä‹B* ðÆ^3å¯&ß6±Z0£î%"㇌›ÅˆÀ `@ *Ïþ¿Ýx£ë4¶_ó:[gܘ·Î˜1c„±(Ì#J“žýŸ¤6ËŒi£Þhi¿H¶ÕXoÜž½ui‚±(Ì#¯§éDãlí\·nÝÏ}ÆüĉŸRc^±l.¾ÙÒ~,¶€×35Ú2aÚØž³´_4Ûî:€Ú´Õ²]º#s‚¥ýXl#Ê”ºç#ö¼±ý"šɲQʹøÕô M@眣,·ÝÛ¶Ýf~(Û;-+çÃ,íÇb›·¥*Sê¢Ôa™³W-û²­£â-êÿ‹'{»±£|¼¤¼4bb º€!m&M´¾r¡2+%F‡,EYâbªø±l6œ(Sꢛ>§Íô"c,[Ê8Ǥ,Ÿª¸Ä¥°¯_O-í ÖƒéÆœ&á±”•([‹æ¾XXXƉ¼N×ô‚“\o™Ä"ÚÖ)ÀoY¶K=ëœ[†ïÍ6 ”ÚØ~éhuCŒ=¯Î¥êRõÈZ´ƒžZu¥§…Êù/<™ŠÚ ðzúvgñØ3Î8ã­Æ> c^ïf|›3Ö²A˜ÿµ´‹m@™4hÐ6}tY&M/™ni¿H¶uþoÍê°þŠÑ™ÚhApÿW§,w"qγ´_0Ûï2nÏöfú+¶þX"::íüi <¬ãe”É!^”¼hú’ʵ{؈I€Êf #´õ#¨§´··Od«ëŸÀÌ™3Ý‹YL_΢\oè?ŠæY‹Tr¸GW6ϦU_Ku=Æœ‘zÖb__ãÔB*еsþ‡¾ºÇP-§«+o²ô­mÇFBüã¸!Æ«}Dc¨¤jóæÍ/kÃØdœ¹7ëíC—ûˆÖ¼þàroúœ¾r¼NMÞЃJÑ®8ÐÊzþôÿKÝÏeK–,ióo9n‹Ž‰vÎe´Â<Ç´Á›  'Ê{þ4ù5õÙgŸý°‰åˆnÛ¶í*…ºu4ðk1ÙwC.cŠ×<Ö9sæ¸AAÖ/Œüù8Y]Ñ(Þ` ݽ¡W¥þ[~¬GK>-æ'[·'&ûôúfkyßEÞ—¸¡®_ðn5RƒÚùoVèÖ;¿£“En£ÊÐ+]mmmÿ¤E¦Ã‚+.¯ÕÕ_ØË}ÓýÔØˆóÕèeÐp—Ó»3ð•  WºÖ®]ëÆˆÿ{¯Å?u=°åŽŽŽŽã,ŒÇ`S§[Çëöë]ŠÕôÝ_ßW÷ÿù¸d#P…¶®‹|¥Êb‹Eãõ¾ïL™2e¨…ñ<Û¬Œ‡X¡Ýéù$¡ùks':@ª$mãÆhñãUVY,Z0vìØvÝ ãy´éÚªñw*¶s3Šï óøaF¾¢rƒÔH—¶Ñ›j¬ò¾X=Ž÷ëzÀ—ÝŽáÝxÎ º6Κ5ëV}|(ÃÐncnwUÎmÀ*PŽ,Ò9ª¼àÈoëOm£·ë/įÑg!­›ÓǾÛù%t£ï³Òh\þxýúõç™Þ,ÐO µ±ÎÕäÆgyd¾[þ–ê‚Õký„Ý*‰é`}‡æ+3 ¾¬sÿv‰*OÿÕ€Î)@ 0n±®¬Ñ‡»P•åt¥œuª›ü–,ZúÒ@Ÿß–ý•š¯´ôÓÛ¶Ä{9;o*=#=yôù¥¡£ŸÖBë׆÷ö;_~7訙ÙéGï|ý–­>î‚êB_6ÚÙ§;,Ë–mÚbœ$H½vÄëTìÖE}éÒQìÎ}ûö}bË–-{}·´7oÞ¼á¼Q>þTs›¥¯j¶ÅíZûÿ]µu,{ƒð‹šß´1µêzÀ¿©À¢š…lWlS ¨ ÚÅûI‚y‚üºæ ‚]©Ó·÷på`úÀÀŒ~S½Ö[o«yB?Þ”°Š÷bÚ ÕPå?×øåò6zw»b¼^ ¯÷Æ'7øk>ͨüÏaòZMZH‘xmàÐþ­U,ŠºûÙßUàõ~bá ­Mw­B\>©˜.QÝ,ï˜ô U1,—ûû¬`AU@U,µJnׯ¾´v‰L׸Éß6lùªU«ödéyîܹ£:ô{òéä™–¥ï~|ݦۧÔÏzVõ"€ô2ÐÏ… Ú³gÏ÷TÎçæeÚ/QZ¥£ßúï½B·¾^´LGúãåã"ùr]|÷êî~걩¸9rä%‡ê©ß¬u€:2_9ú­RÕ¼ùº·Â"ü/ík%kô¹A×.žY³fÍîî…ú®Ýý£ñ$Õ?S;ü\}ïÐ|Šæ ]|ù¯6=®^ÐYY÷‚ªÛ2 ÎŒiy»ªºBãê4‘uµÚ™ŸÓÎü‚>ݸ†]ˆW\ºhæŽäc´n˜>ߦÙ]½v±S¾ÓL/HàæJàÜ[–˜R@Rë^\"0K¿Ý­¹Xv–îááûN‰Øy:åÉêÉÍ"0ëÑFöÀ‘î‡.8mÒx–j™œs§‹¦éJÿB=–EìüåhŒ_IàSêR»BtAd™¢úÏ5âl öy"EŠV!À)@(õ,Ò˜÷u.ý¨êN®§>uØ®’ç«÷õlâ¬I€@M4éV¨'ð3Ý?WµÖ¥«IéÜùìü)ˆ PPšÕ=öØ »ví:[u¾š¦e& óýo 2d¡„–ë-ãJ\‚S€Ä¨ÒÔˆÁk£uÄ OW“Ò½Çku¾ÿ½–óÓÀÄZ&*ǬÐz7f€)=íêò/ÖQŸ7ú¤g—¨§‰0ÕWH¥¸ë§jþ’æ®ú¬4e­²î¬Ü¡Ñ}ÓÙùmóOÀ–ïQëê ÌWWöN-pÃi™jpW÷¯Ö…¾ÎÚEXã‹=_$°ãÝÕE,7rÐõx`¥/¯×´è £FšÊÎߎÕzVdû±;sæÌ“4~ýÓê|TÅš]„Ýû î×ûû>£?ïØÚ6V@  &5©Ó‚©T~qÒ:E*§¶?ªsýO鈿©H튩-@²åÞœ«¡­7h‡X¤pòø¸­OJîˆïvüÏååF>›- GÓ©Á ÁGÒÕš‹ö„áníô÷hþªÞ×÷ÓaoêP€¦_ÿœ;R·À>¤Ð®Ñ<5‡!¦ éI¾mÿþýߌíÕæikY ç™kooŸ¨Á0îe›î:Á<Í1œ"¸'$W(î‡4‚ocÎ7ux@DéwOjǺLO¾W× ÜkºòòN¾½Šk­bzH1=¨‹zÏG„µ©CE"Mÿ’%KÚ¶oß~ŠvºÙj‚d´@ŸnÔa=„ò³J³{-ùFuïש{Pß™"#€D–°þÂíèè8NÝîI*3Q‚àÞë7±2»gŽÓ|Œæ¡šû›h嫚wjvGòmn–½mêy<§ÿù{fõêÕ/iS Hbš&¨«Þ:mÚ´1ڙчᮮáì“p¼úä“OîÒŽÎ3 i€F^ˆ<„F´6R™º€@Ü€¸óGôhˆÐ>*C nÿˆÜìÝxSÐØIEND®B`‚ic08u‰PNG  IHDR\r¨fsRGB®ÎéDeXIfMM*‡i   gêI×IDATxí ´UyÇϽ7OòDh1j„¼ä•ypoLÂ#AdMtµja)i¥ Û…µ.k-µ*‚mµ‹ ¥…V³¢ ¬ÄR¯ËƬ¼Ã#Ò–@ˆXHÕÉò ¹§ÿ-'á>ιwæœýÍž=ç7kÍ:çÌìý}ßþ}3ÿÙ3³gNK¹\.1AÍI µ9›M«!G`;€@@š8ù4ƒ@P<-7µÌ(u•ŽóÚ²ÖÒÎòõåǽÚÄXp@ðÐUú¢¬^èÕrWéÙ{W› N€S€à) „#€„cg'€O@  {ŸˆŽd|Ãú/NKû.ŽvÉ=åË»£ÞSà€ÙV:¡t¸t»'¦E5sºVFm¥Nµ§é€S€¢î®´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%€5³´   QE%ÐR.—‹Ú¶ÄíjÑTúlihâ ù/ø]…xç0 {—z¶ÎÜgK´í7ýÆÏ[µ V6„ýá¶F¿žõúî.¿c­K¯Ñ. £Ò„"4É)@„I#dø"€ø"‰DHˆ0i„ __$± &!à‹à‹$v ! ¤2|@|‘Ä"$€D˜4B†€/€/’Ø@„€“FÈðEðE;ˆaÒ¾ ¾Hb@"L!CÀÀIì@ B@„I#dø"€ø"‰DHˆ0i„ __$± &!à‹à‹$v ! ¤2|@|‘Ä"$€D˜4B†€/€/’Ø@„€“FÈðEðE;ˆaÒ¾ ¾Hb@"L!CÀÀIì@ B@„I#dø"0È—!ìäˆÀ¸ÒûJ;Jm^#W:ìÕÆrA ¥\.ç"‚€²'À)@öÌñÜ@r“ @ö€ì™ã¹!€ä&ì Ù3Ç#rCÈM*Ù@²gŽG䆛T²'€dÏÈ  7© dO€gÄüG--ƒŽ/•Æe¡ü_©´ãÜrùP(ÿyñ‹('”JºJ¥§ó’â°' œ¿C^¶Ú{Ê·Nò¢ƒ€)À/Æ!o@¾óCt0%€˜âÅ8òMÈw~ˆ¦S¼‡@¾ ùÎÑAÀ”`ŠãÈ7 ßù!:˜@Lñbù&€ä;?DS€)^ŒC ߀|ç‡è `J0Å‹qä›ïüL ¦x1|@ò¢ƒ€)À/Æ!o@¾óCt0%€˜âÅ8òM€—‚*?¯•J/J /ÏwªˆÎ'—sŸöbµÕR.—c¸! p Ð @ªC f@ÌÙ#v4Hh Õ!3 æì;$€4ꈙsöˆ @HuÄLˆ9{Ä ¤:b&€Äœ=b‡@ƒ€R1@bαC A< Ø À"U?óÌ3Onii_¤6UkKWW×á 6tV[×lË€fËx?íÕ“¡×hþx?Eвj¯2ª(i¤œ4B/`ÝÙ³gOž9s攀!àºèD’Ä3fŒ:tè;Õ}=_!_¢®úimmm¬ï[#iaæä iÊ”)CG}~/Ö³yÌAà(à(а_Ô¥o5kÖÅúü”æù¼ª-l>šÅ;8ÓsæÌ9F;ûRõÝÕ÷ ÃÁ}“@%ÜñµÓ_!÷7ëûIÂÀm“@líííçkç¿U®§pK%€Eaÿ¥££cÂáÇ¿.OîÊ>‚` P)¨t÷—jçBîØù3`Ž‹dè$ãTw)]Ù?MÝý»d ½n#T„€zF`YíøÔýüuúÊÎoÈÓõ P?»š5.\8lÏž=_R׿¬©Éù'€xΑºü'ê¨ÿ™=óiÌAÀ;À#Ríü3´óÿ«L¾Å£YLõ$ðEýÜÔsQº_xu(]â–F<åV#újçPæÆx2‰™ê>¦S«‹×¯_ÿ“ê«Yš†ÓЪQVûÞ¯Uhfç¯ÁÈãâ1:‚¯tƒ©<ÚlZS@ƒ©×k´.Õé›23¤ASTON`„þž„÷òäU(YPJÂeÚß­£Ñ½*ΩTBf‹ ‘ðÞ£\âÑfÓ™BêL¹º ó´> êCë4AµÆ VîÕõ—ŽÆM5§ Ž¼kLÿ;\TUGÔQ*~ —¹ÝíW¿f›Ã2Ï ,¥1ýßVµ±)«RÜŽÀ8wûU/I%')#)€©»ÙzàÀåªrzŠj͆€{Iê=.GÙ¸+†`¥È£Î5oÐE¿<\túOűtÔ¨Qw¤¿о[§Ÿh††új#W¯’¬\húLÂâVŶjÇ_¶iÓ¦ú,[9‰Ù®z7éÎÀÊ7ºG¯™ @`@nõ¼yóÜ…¦»5‡ÌÝòí,:]ö}ìü"Q{*ø†{¥zí"¬9B Ô}ÄŸ:ïÿ¼6ªSB+¿ßÖEÇkuÔ1„ÿz}*î ºSòŠ>Ï©×Fõ¦ë•ê©úŸlÀFST¥0@š]×_±ûž¬'·ó|TcÞ¯ˆmçw ÔKùå¤I“ÎS–égˆ‡o®Ó©À쬓›? ŸŒiãmÑj÷òά9=££g»vþì'¼Ü¯ºï¾û« ŸW  4ÿ,ã€[•¾›3ö»¬7ì¨éò; x~ÆAÿpÈ!:ê?•±_3wú+îµ´yrõ…¹EzVã"³†À0P#‰S§Nu÷üUÕV‹Ö­½‹W¯^ý’•ƒPvÝiŒ®eœ££ò³ŒA§"·è M\모FÿÄ{µVM®±Úbñý2zyggç~ ãy°¹yóæ—õ'§j§ü~†ñœºwïÞßÏÐ_T®€*éÒQÊ?þI•UV‹:wíÚõAu•_³r»êÝì[wjµ6«˜$8×Ó ¨N¨ÂEçþïÓ⬎þ[† véÖ­[T ¥‹$t¯ªa—i~>£ž¨—´:L½ ½€T~^W}±÷¥»5~ýŠU«Víñn9ç%;Ô¸XaîÍ"Tõ²ìÑeÑ$/>€^Ý‹=µè¬^‹M~j£\ºvíÚ§MŒG`T··(Ì?Ë"T‰Í<åö´,|Åäè•-m(¿Ûk‘ÉOù¹WÃzÝÛ„šz÷_‰+³€ G†¯ÊÂOL>€nÙÒNé¦%ÝY}ýµÞke<&»ê•5Fàs§Aîå­LÝ Ý`hÐÈ;õó¤n‹L¾j›ÿ Ýÿ•‰ñŠ…%˜Å¨½ñºÀ;=BDf!#ÝÐê¨ìnOYOÏéá¢Û¬Äf_wBþV1ï´Ž[=ükjÇËÆm™«÷;¼ÉØG4æ€Jª4DÕ=ôcÊC=ŒåEêÛèV_ñ@£v¨ß¦S°s(Ó4«M7ø˜(êÑÙÖñêÃÝÖ>b·¯;ß²nƒ„x޵Xì#•LéüÓ ²œ¶éj÷ã–Š`{òäÉ?R;¬ß~Ä‹B* ðÆ^3å¯&ß6±Z0£î%"㇌›ÅˆÀ `@ *Ïþ¿Ýx£ë4¶_ó:[gܘ·Î˜1c„±(Ì#J“žýŸ¤6ËŒi£Þhi¿H¶ÕXoÜž½ui‚±(Ì#¯§éDãlí\·nÝÏ}ÆüĉŸRc^±l.¾ÙÒ~,¶€×35Ú2aÚØž³´_4Ûî:€Ú´Õ²]º#s‚¥ýXl#Ê”ºç#ö¼±ý"šɲQʹøÕô M@眣,·ÝÛ¶Ýf~(Û;-+çÃ,íÇb›·¥*Sê¢Ôa™³W-û²­£â-êÿ‹'{»±£|¼¤¼4bb º€!m&M´¾r¡2+%F‡,EYâbªø±l6œ(Sꢛ>§Íô"c,[Ê8Ǥ,Ÿª¸Ä¥°¯_O-í ÖƒéÆœ&á±”•([‹æ¾XXXƉ¼N×ô‚“\o™Ä"ÚÖ)ÀoY¶K=ëœ[†ïÍ6 ”ÚØ~éhuCŒ=¯Î¥êRõÈZ´ƒžZu¥§…Êù/<™ŠÚ ðzúvgñØ3Î8ã­Æ> c^ïf|›3Ö²A˜ÿµ´‹m@™4hÐ6}tY&M/™ni¿H¶uþoÍê°þŠÑ™ÚhApÿW§,w"qγ´_0Ûï2nÏöfú+¶þX"::íüi <¬ãe”É!^”¼hú’ʵ{؈I€Êf #´õ#¨§´··Od«ëŸÀÌ™3Ý‹YL_΢\oè?ŠæY‹Tr¸GW6ϦU_Ku=Æœ‘zÖb__ãÔB*еsþ‡¾ºÇP-§«+o²ô­mÇFBüã¸!Æ«}Dc¨¤jóæÍ/kÃØdœ¹7ëíC—ûˆÖ¼þàroúœ¾r¼NMÞЃJÑ®8ÐÊzþôÿKÝÏeK–,ióo9n‹Ž‰vÎe´Â<Ç´Á›  'Ê{þ4ù5õÙgŸý°‰åˆnÛ¶í*…ºu4ðk1ÙwC.cŠ×<Ö9sæ¸AAÖ/Œüù8Y]Ñ(Þ` ݽ¡W¥þ[~¬GK>-æ'[·'&ûôúfkyßEÞ—¸¡®_ðn5RƒÚùoVèÖ;¿£“En£ÊÐ+]mmmÿ¤E¦Ã‚+.¯ÕÕ_ØË}ÓýÔØˆóÕèeÐp—Ó»3ð•  WºÖ®]ëÆˆÿ{¯Å?u=°åŽŽŽŽã,ŒÇ`S§[Çëöë]ŠÕôÝ_ßW÷ÿù¸d#P…¶®‹|¥Êb‹Eãõ¾ïL™2e¨…ñ<Û¬Œ‡X¡Ýéù$¡ùks':@ª$mãÆhñãUVY,Z0vìØvÝ ãy´éÚªñw*¶s3Šï óøaF¾¢rƒÔH—¶Ñ›j¬ò¾X=Ž÷ëzÀ—ÝŽáÝxÎ º6Κ5ëV}|(ÃÐncnwUÎmÀ*PŽ,Ò9ª¼àÈoëOm£·ë/įÑg!­›ÓǾÛù%t£ï³Òh\þxýúõç™Þ,ÐO µ±ÎÕäÆgyd¾[þ–ê‚Õký„Ý*‰é`}‡æ+3 ¾¬sÿv‰*OÿÕ€Î)@ 0n±®¬Ñ‡»P•åt¥œuª›ü–,ZúÒ@Ÿß–ý•š¯´ôÓÛ¶Ä{9;o*=#=yôù¥¡£ŸÖBë׆÷ö;_~7訙ÙéGï|ý–­>î‚êB_6ÚÙ§;,Ë–mÚbœ$H½vÄëTìÖE}éÒQìÎ}ûö}bË–-{}·´7oÞ¼á¼Q>þTs›¥¯j¶ÅíZûÿ]µu,{ƒð‹šß´1µêzÀ¿©À¢š…lWlS ¨ ÚÅûI‚y‚üºæ ‚]©Ó·÷på`úÀÀŒ~S½Ö[o«yB?Þ”°Š÷bÚ ÕPå?×øåò6zw»b¼^ ¯÷Æ'7øk>ͨüÏaòZMZH‘xmàÐþ­U,ŠºûÙßUàõ~bá ­Mw­B\>©˜.QÝ,ï˜ô U1,—ûû¬`AU@U,µJnׯ¾´v‰L׸Éß6lùªU«ödéyîܹ£:ô{òéä™–¥ï~|ݦۧÔÏzVõ"€ô2ÐÏ… Ú³gÏ÷TÎçæeÚ/QZ¥£ßúï½B·¾^´LGúãåã"ùr]|÷êî~걩¸9rä%‡ê©ß¬u€:2_9ú­RÕ¼ùº·Â"ü/ík%kô¹A×.žY³fÍîî…ú®Ýý£ñ$Õ?S;ü\}ïÐ|Šæ ]|ù¯6=®^ÐYY÷‚ªÛ2 ÎŒiy»ªºBãê4‘uµÚ™ŸÓÎü‚>ݸ†]ˆW\ºhæŽäc´n˜>ߦÙ]½v±S¾ÓL/HàæJàÜ[–˜R@Rë^\"0K¿Ý­¹Xv–îááûN‰Øy:åÉêÉÍ"0ëÑFöÀ‘î‡.8mÒx–j™œs§‹¦éJÿB=–EìüåhŒ_IàSêR»BtAd™¢úÏ5âl öy"EŠV!À)@(õ,Ò˜÷u.ý¨êN®§>uØ®’ç«÷õlâ¬I€@M4éV¨'ð3Ý?WµÖ¥«IéÜùìü)ˆ PPšÕ=öØ »ví:[u¾š¦e& óýo 2d¡„–ë-ãJ\‚S€Ä¨ÒÔˆÁk£uÄ OW“Ò½Çku¾ÿ½–óÓÀÄZ&*ǬÐz7f€)=íêò/ÖQŸ7ú¤g—¨§‰0ÕWH¥¸ë§jþ’æ®ú¬4e­²î¬Ü¡Ñ}ÓÙùmóOÀ–ïQëê ÌWWöN-pÃi™jpW÷¯Ö…¾ÎÚEXã‹=_$°ãÝÕE,7rÐõx`¥/¯×´è £FšÊÎߎÕzVdû±;sæÌ“4~ýÓê|TÅš]„Ýû î×ûû>£?ïØÚ6V@  &5©Ó‚©T~qÒ:E*§¶?ªsýO鈿©H튩-@²åÞœ«¡­7h‡X¤pòø¸­OJîˆïvüÏååF>›- GÓ©Á ÁGÒÕš‹ö„áníô÷hþªÞ×÷ÓaoêP€¦_ÿœ;R·À>¤Ð®Ñ<5‡!¦ éI¾mÿþýߌíÕæikY ç™kooŸ¨Á0îe›î:Á<Í1œ"¸'$W(î‡4‚ocÎ7ux@DéwOjǺLO¾W× ÜkºòòN¾½Šk­bzH1=¨‹zÏG„µ©CE"Mÿ’%KÚ¶oß~ŠvºÙj‚d´@ŸnÔa=„ò³J³{-ùFuïש{Pß™"#€D–°þÂíèè8NÝîI*3Q‚àÞë7±2»gŽÓ|Œæ¡šû›h嫚wjvGòmn–½mêy<§ÿù{fõêÕ/iS Hbš&¨«Þ:mÚ´1ڙчᮮáì“p¼úä“OîÒŽÎ3 i€F^ˆ<„F´6R™º€@Ü€¸óGôhˆÐ>*C nÿˆÜìÝxSÐØIEND®B`‚ic04®ARGB„xx‹««ˆ’¦¦â⦦’…›°°åå°°›ˆ««‹••ˆHƒRH…âƒÿâ…€†C¾Èÿ÷Á…Cû´Èïú<…¾ÑÈqØÂ…Þ¨5ªÞ…ð()ñœ…Ñö¯¯÷Іc››c‚áÕƒÓÕ……Ô…¿€Ìc€Q†13€34…1333…33U3433…345733…233233…0„3†343343‚„€€‹€€ˆ…€……€ˆ€€‹€€¬+##(†13€34…1333…33U3433…345733…233233…0„3†343343‚ÿƒ+##(†13€34…1333…33U3433…345733…233233…0„3†343343‚ic149‰PNG  IHDRôxÔúsRGB®ÎéDeXIfMM*‡i    øµ…8ïIDATxíÝ œ]uyÿñ™Ìd2¡d”*›K‰Y&û€˜P¨"‹R5¶n¨«âÔJ#u…¿+þ­VPë‹-TEÑ–*böIpTh€ RBB`&“ÌL¿?:Ò¬gî{–ßïy>óz]ÈÜsïï÷<ïçÌ=Ï=çÜs››øA@_£|¥K¶ € hX@p(@à°è¤Œ € ë €h”@ `@@À¡ €Ã¢“2 €4¬ €8hu˜3)#œ@ó¥Íóô™‰þƒÁŃˉ•0p+@à¶ô$ž˜ÀÅûáDb~DqÒ$R,Âô+À!¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_æÁÁA¿Ù“ù.Í—6wêŽ+v¹“_b8XK0ÃÄñ€–ÿn˜Ç°¸ .«fjfM 5¶€ˆ§Bæ¦ MƒM3+Œ€©m„F%•fņx­Y„¿q~à« €h”@ `@@À¡ €Ã¢“2 €4¬ €8 pXtRF@€€u@‡4‹NÊ €а € àP€ÀaÑI@Ö@ Ð8,:)#€ @À:€ €€C‡E'e@hX@p(@à°è¤Œ € ë €h”@ `@@À¡ €Ã¢“2 €4¬ €8 pXtRF@€€u@‡4‹NÊ €а € àP€ÀaÑI@Ö@ Ð8,:)#€ @À:€ €€C‡E'e@hX@p(@à°è¤Œ € ë €h”@ `@@À¡ €Ã¢“2 €4¬ €8 pXtRF@€€u@‡4‹NÊ €а € àP ÕaΤ¼/Á¦kjoš¸¯ÅÜ_¡À¶¦·6 6}ªÂjŸº¹éMcš¾Rûxdi½MO–6E/@}‰Ê ppñàͶ¹¼™©VæK›{j}lålê¼xõ¨òBÙÈöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@ÈhÍ^ÌRˆDà+MíM_$–ì0z›z²ÀRˆA ypp0†8ˆ@Jà@‰ØL… €@,4±T‚8@(Q€ Dl¦B@ €X*A €”(@P"6S!€ ‹ @,• @J (›©@ˆE€ –J €% ДˆÍT €Ä"@K%ˆ@hJÄf*@b ˆ¥Ä €@‰4%b3 €±ÐÄR â@@ D€±™ @Xhb©q € P¢ @‰ØL… €@,4±T‚8@(Q€ Dl¦B@ €X*A €”(@P"6S!€ ‹ @,• @J (›©@ˆE 5–@ˆ£zuÍ͵BüIõ‘!°£©é—Ó/blÆLO€ ½šq[SÓüÁ¦¦6#€@¥ú‰¸¹Ò ˜<DS A@ <€ò¬™ @hh¢) € Pž @yÖÌ„ €@44Ñ”‚@@(O€ ÓµÞõZó“x  àX€Àqñ-¤>eÊ”ýÛÛÛ¿¨\Þ`!r@Ê (Kšyrбþmü¯ÓÀÇæ>8"€ÆFÏô „ÏõkãÿN¥¶L76þkLJ P¼{Š7f†´áŸ Û7u¬ÿì‡e(@À €»’§›°Nô;NÑߨÿ éfAä €@ˆ£D1Œ€.å{¶6ü+ô06þÃX±¨E€ %S™@8Þ¯ÿbýï» bBe01 `L€CÆ j)É“'ѵü¯ÖÆÿu–ò"7Úku“Ößm‘düx$qF$4‘‚0vÐW÷8a„Ö½ v]Âo$#0JÿñŠöe«W¯ÞœLÔêF€CnJN¢:Ëÿˆ¾¾¾ð¿éDM¤ìU`î½Uëôs÷º”;¨P€ B|¦ÞS`èLÿÛ´$œñϦ+‰eCë¶…|ÈÁˆ €‘BZHCï’:tÌ4lü°9 °“À‘aÝëøN÷ñO* ¨”ŸÉÿ 0gΜNý{©nÏþÃ}ücaݾEŸj™i,/ÒIT€ ÑÂY [gúϸY9…¦øAÀ²À:1ð˜c9IrKC€ :™2¼5jÔ” ³U&±Ý&êpÀ¿Òì¦Â¯¥ ДN΄ÐnÿÙz7ôïúý€?ÜÇÿp"0AMÀ8à¤Ú‘¦Iia¬‡5cÆŒÉÚí“òäê~Ö‹M~û‡~ħöÅÃýE Ð-Ìø{LŸ>ýЖ––Ó‚ƒ÷XÈøx–öÜÌu|=–lib©„“8ôB7¡µµ5óž“”IáŽÒ~G[QÍ–,YÒ¯|R%èT+ £ŠiÛ•óg«˜˜9m ÐØªgéÙèÝÿKõîÿŒÒ'®nÂohê™+W®\W]̼³€ö¬Ñu'Â'O~¸óý–ÿ­¿¹søÂ Ë.'7€rœMβpáBOïDô®ëýzÇyžnO™,hÂI­X±âQõg)…깨+£&àó\ á•6‚Ði"(Bª!lݺ5œŒ4)Õøëˆû mü_ª Ìÿ­ã9<´dÕhPÍÙßiÃøjMÎѰþs¼¼Ðz’äWœ @q¶¦Gž;wîAá±é$ÿ'¹ûµAéÔÆ?œíÏOºnþ?©f§)TbúðÔ©SH ,„¡ @„EI!¤þþþ*Îñ)ÄÚ@Œwë¹/Ð¥»1xjªÙíZGÃÉT0}™SN3fÌ{Ëœ¹ìÐØ©ei™LŸ>ýPMööÒ&¬f¢;wìØ±@»”ï¯fzfmT ««+|™Ñɺ…FÎìöĽsÚ´i›MÄ  (ŒÖîÀ£Gþ[e7Ön†M]úhã)ëÖ­{ÐpŽ.R \kkëB%{—á„ÿH“ÎÔ  (Öê°áÝ¿Þqœg5?åõ‹¶¶¶ÓtIßG çè*µåË—ÿF Ý©JÚòµÞÖÑÑqˆ«Â’lÃ4 ú@Ÿ·gþ1šuxÇÿ’eË–=f4?·i©¡{HÉŸ®ÛÃFÆêâTÍ´  (Öâ°êìêó-榜ÕžÓ9æo´ºJKµ½Gÿû3Ý6Íò-º.À£¹‘V4 Zrûöíá3Çû̯G»ˆÏÖGý~e07RÚI@MÀÏõNy‘îÚ±ÓÝVþ9N‰ü••dÈ£x€âMÌ®8¦wÈ&ßý+¯ ´‹øg& Eà è2η¨æáÛ+-þ¼›«Z,k19ÑãjnTíú…’²x’ÑWôÎÿs#¡LÕüózÀµ™Jsáajnþ<ÍЉºl€²ÅO/*?÷¿¢··÷‰–„°ؼyó[5ÄÚ‡‰îé:Äaño5:g ÑX¨bÁ9èãEÓ4E¸ Š¥ŸGõùðWtww÷YJŠ\jذaÃ6íÙzµžñdíÏŠÿ‘jÖ_ o <&þH‰°j€ª+ÀüzGñƬ+D½H^>^דx°9]2ø.­ ï6–X³Å¿Yc5Š"€(ÊoC'ýe¼Ö™^ðÿYÇ€¯¯ÿ™<â€Ö…«•×–rÓ:~Þ¢E‹Z,åD.ù ÐäojjDí"=C YºÎøïuÙÔ L‰d:nþxÃÅ3À¡7n|Q<áIŒ41V%¢˜ôùø×GNá íúÿ¯†bSúh`¸B`ø†K3?Z×_c&)D€ VƒN™2eíx‰lžÎâVíî]b(RÉQ@ëÆUîö‡¬z¨³.\Ø^u̯ @¼µ©<²ööö°ûlåäÀ€Þñ½éùXšEë‡vx „ÃCF·uëÖSäBЀjhÈs åò5½Ã[c(R)@@W„\¯a¯/`èJ†TSÃE*‘OcR€4êTz”ÚýߦI­ìþߪ“¼.)‘ “кòanåú/Õa€Ö$ AÐ… ÐNœæûí·ß)ŠÜÊ7‹]9t’WšÅ êR´®Ü«wÎá| ?Ïzâ‰'æYH„ò ÈßÔĈ:zš‰Dšš¶íرãsFr!’ZZZ.×TÛKš®ÐiÔÌüi¡0x²4É–®ðÀO/|†&Ч¾¾nݺK˜Š) h/ÀZwLœ  Ò›÷ Œ—¾ @ú5Ì=½ð-Ô Ö›»ºº6äÄ€.ô¡‘_éÝóO $Û6vìØpN?ì"`áE~—„ø¥q34qÒòøZãŒà\àŒä¿ÀH¤‘£ @Ž˜V†Ò†s¾\ݲeË äA  <þøã7húßWB.SëozV.1ˆ)Sål<™ðíÚí9£ñ‘ªA/xßß÷^mÌžºÀÐ:t]êy(þ™ú»æõÞ@!óL"OMciÃ9Ui$ù_]Ìå›ÊA qXøþˆñ3gÎ<6N¢ˆE€ –JD‡6œÎþ`õêÕë"!%ŒÄt2à2¥¾-0é$]¾B‚§(„5ÝAõ €Óþ™È ; ßz&!þQ€V¥Íþýê"ÈmæŽÜFb 4&ʘ_:N8%¿ÑªI/Ø?¨fffµ* uê{r;Þ@¤£ @Ž˜F†J½è1òÙm#«“4FýSeÒŸr6ú»˜œrüÄž¿ @þ¦ÉލO„/ÿyn² (p½È­Òñÿ§RÎØãX¾|ùE¾*8åŸ#ç|RN€Øó È×3éÑ´›óyI' à•ÃÊÔs þ8Ô\†½)ÿ´ö÷÷™rÄž¯ @¾ž©vDê ¨Xzħ€Ö­ði€¤ô-‡|0é æ< @¾ž©–ü}ŠaEêE þ8´àŽ8#«+ªä›üº²åÁ™4™<î¦þâð˜¾üç>wU#áRŽ:꨻5QO)“7ɳ‹š‘S H­bÆ«w88|CóÍe(;cÉ’%áS¿J9}ã)óG; @t%©. ã<°ºÙs™ù×¹ŒÂ ì[àÎ}/ЉþÆÿ8þ(‰°,€²¤˜GïJ ̬7f-d èoäÁFǨòùì¨R?¾¹iâ«I•¥¾àþ*ñ˜Û¾€ÞA'Ý(þÔ›|û+Y‰Ò”ˆÀTáB@ÉþèÝÍo’ žÀSx(•@÷gòßô¹¼¸{4#@3ü”¶”sÓG·¦?±Ç/ &ó‘ø£ÌŒ°=s) ] и*÷°ÉŽö?@/ÎOF¡ÙHý2ÓIÿÛX…âÉ¢5žPˆ$Ô¯žú‹s«Àÿ„°mÛ¶‡ÛÛÛEÐNhOO×N¿–ýÏÔ×1”½ÆD< @ÄÅ© ´¤È+õç J¾÷)»»»Ãá”oï}©ß{µ—é)H—2{R®^αs gÐćKúëNõÎpGâþ„¹ÀŽ;’þoêñG¾†¤ @Zõ*:Ú¾¢'(r|½;KýF‘<Œƒ€¾L'õ“èzs``#4F ™SI¿8èřݛ9­ ³wíeJ}Û¶÷̸ף €Çªï;礥µß¾Sc  h/Sê'Ñ¥þ7Þxá€g(ø‡’> “³ø¦3VãB´Ž\èÅNP¼q23Ð$SªRMúsôÚ=›ú‹s)Ef’‘ Œ5*õ&“OÊŒ¼üæžI`®¤ %”ôUÎôâLÐPùyòp©ïPüIÿW–×'@PŸ—éGëÅá¿RNPñ™rüÄ¿€Î8*þ(÷¡šä‡÷½”%Þh¼U<#_½¸ý.cq ‹ŽI!HbLW@Mæät£ojRü©ÿ§Ì]ì4Ñ•¤º€ 4I¿8WWyf®C õuŒ Žb[( €õ ב_ꇔêóæÍ_GÊ<šf̘1Q>´æ'Dø@öDX” C¢¨?¶©µà×±ÅTg<£úûû;ê|G &ý}ÌÔ›kzp¤R÷EaU @Pz¬SjãùŸ±ÆVk\z‡^¤ùA w]i2ùuKßeüßxî…u< €ãâïžzWW׺/õ …ÌÛ=/~G '¹9SÕ0O®_¿þ¡ª&gÞøhâ«IeéÝó€&¿§²ò™x¡vs²^çcÉ(CaÒßÇ)‰ƒÜ­’þ.ãÄý£ ŸÊèJRy@* ±ÒÉZÏolžÀ®3tϳv½7¹ßØýŸ\ÉŠ ˜ XßGÿUŠAï³.vrúοóoÐ ëÔ:ð|[4¶êÙp6ÚC¸ºáAªàeÕ‡@ÆÎM=ým¯J=âÏW€ _ÏäGÓ™Î^$æk—í!Ƀ¢˜>}zøìÿì(‚i íŰÐÜ7 ÀSw Ø]Äùï+W® ŸHú;¿ŽŒb/€óu9¯ô[[[ÿ\c%ýùÅÿàêÕ«›— ãØ °QǼ³°°àõy£0ž[ó dnáoÚ@âJ ®zÄ…‹¹sæÌ91PâHS`æÌ™Syòb÷šë_ÑQÓ-œàø:Yhi‚aïòÀÀÀ›ö¸“;¨C@Nëò0ñ7]Géxh 45 y{ȶmÛV(ç­ò~3_d Š¥pòÉ'ÓÔo¨hú<§}BͰ…½zyš0–hX öèîîîÓ^€ÛöXÞãuíó7¤6Ç ÐÓÓóWŠcB ±4CØ£§·72ϵ)@`³® g¥]†·4ð!#¹FA½½½‹5ôs ¾ìaïÓßðš²'e¾thÒ©Ué‘êP8AÄÊa€à÷®3fL.’ “˜={öq ÔÄ™ÿCà7 ý 'áOå ДožÔŒ:ú­¤ÎvŒ¾$èjå”ú»dgÉÒº´JŒÒÆò«zb[ÝOŽ÷ –þvãUN82€„‹WFè«V­Z©yÖ—1Wsè…þ…º¾û[˘‹9ÒÐ:q¢=9ˆ‡ôý¿vØGñ×4®Ë_sò×ÔüÈ4ø©¹sç•F¨DY´€>ö>%ò‰¢ç)yü+Kžé H°he‡ÜÒÒòš³·ìy œ/\"øú¡Ï{8 CÇ.®ø§Ãú½ì±Ö_O__ßuu<ž‡: pZøzÒ^±bÅ£ÚuþÝzžûc•ÏlÝ>{œÄW¬€®ø÷qÍ0¯ØYÊ]ç2|çŽ;îØTî¬Ì–¢ @ŠU« f}žøKL[è”z¡ü€Îü>£ÐIýÁqãÆ]kpħ @œu‰6*`ô”š€ðÑ)«?ª à8ª±êª¦ŸTðci=“ŽrûèÒ¥K-]«ã™ÜøGq4ÅÙšyÛ¶mW+¹û¬&¨Ówë,ñË­æç-/}zå3ÊùbÃyß3´gÎpФV„ @ªÆÇìîîîÓ ÎßYNSù½OŽ/©ào$ÑB«vÍjäÂ!‹M¡¦°µ®.Öž¹í5=˜!°“ר ƒÖ.°hÑ¢–{ï½·[Ï8¾ög¥÷HmC®ïééy}hzÒ‹ÞoÄálð÷M ,2®Ð½fÍšij8ùÏx¡‹Hw7E¨:sèﱞª^X_5vìØN:õë¹ZÉ/Ô*ÔLùXßø7©A½ˆ¿•5·ü<ØP¾¹©µ›üûJè,SIí=™»õB{ŽÞmýj7]äg²>ç> B ñƒ6þ7èëº_^äŒm[€=¶ë[FvïÒ$Ûʘ¨â9ŽÑ î2¾; â*dL¯fôLmüWé!æ7þʱG¯2¿.£Ü,ÊA€=9 zBÅëÝñ‡œ8 *Ï/êö^N¼Š£âá+}·nÝúa­ƒ—("oj”ëG´7êÒ8*@© ¸øcIµ8©Ä­ïÿ„býu*ñ6g³ž¡n?™3gÎá ŽÅÓлþ#žxâ‰[µA\¬¡¼¼žÝ;fÌ>¦ÚàºÃÓýüÁPëÖ¯_ÿ¤^€ß¤)»c/?'ë[® ̼ÅK±å©¸ª_—n'Å[ñ êPÔ[—-[ÖSà íD€CN ]FšzAzssÅ4‡^¿¯è¯uHÀä%’c²±è’¾‡è¯Ò?ÏŒ-¶âù²Ö³·—0S8ð²ËÌA)«O±µµ5œ”ô@õ‘”6þgkÆ j€.×G(wv?³©Ñö¸hã>‰áqãÿk]ÛÀò ý¬Ì‘dÊ€H a%Œp–¼6ˆá3Ø^ÖêÐÀ;ôµ¬?ó PDÞz×?_þ/iìEŒŸÀ˜ƒÊÿÏV®\yK±b"4‰*¥0õNøïïÛRŠ9çXùßQ#ô!©}wÎc»nèsýá$Óðy÷p¦×Ÿ+´ëÿ^“'ïbhŠqu=ª>–Õ®3³Waªkˆ¦¦pùà+õyíËÖ­[÷ s‹ºÒŸ7oÞaýýýPN²]דí=xíæÍ›;7lØàázöªqF4'åІ޹­QãRÎ#§ØÃ—']¯cØ—ê]Ü=9irí=:B‰…sI†¿Ýd’õ%µUëÍ,]ñï®úžÆ£^€`x#1B½˜Ÿ§§^;§[|ZØ#ðm#ðy#°Úb‚#ÍIçŽÌQ“vq‡öyÇÿ £L^«ÃHßzæþ@Ž49b2Ôžj®Ñ½oØs‰û{n×;»/í¿ÿþ7.]º´×£F8T´eË–—ëä¶ ´¡›ïÑ`˜œ¿ª=Fçó#0b€ÓñÄZ†Î¸U[Ëã>f“6~ßR3p^ì×zÈ_囩þ•÷«•/ß²¸—¢Ëf™š£S9î¿îÊM€ 7JÚ—€.™ûíö_ÒrؾÃýO ܧÿ~O·ok·ïíÚ˜¹²¢Ö•Î+uû åwœnüì[à!ý½ÌÖa¢‡öý– и @ㆌPƒ€tèa·é¶_ ç!MM÷i¯À¿jƒy‹.°ôãåË—oI ¥³³s¬>ýp’6dá"I/Õíy)Å_a¬=Ú;òB}Þ?4Ìü P¨ @¡¼ ¾³€öü¾Vµoè>ÏŸçÞ™¤Ö‡­’ÝOµA½Mÿÿ™l®õÉepÈëÅlüëCãÑÅÐãʨu ¬_¿þI}çù‹õ´ïÔùTŽ@:Ñï{mmmg…†7‰€ Ò¼ €ù§“`øâ“I“&…kÅ_NÔDŠ@M_×…š^¾lÙ²žš̓(A€sJ@fŠút‚T³Î X¬wL‹ë{&F JËô9ÿj}Wpähh¢)ì. &àºï3ºµì¾ŒßH@ _1^¤]þW$+!: pXô”RÖ_¤ÿ¤˜Ÿ¾\mJ±«k'ô†ÿ5zç>âÊQ ÐDY‚ÚY`ÆŒ“uýúðBÊ÷Èï ÿc¸Gß§pÎÚµkk€Ä…@à$@փ躺º6èìéNí ø÷èƒ%@×ZGÃW6Ïgãïz5H&y€dJå;P=ý˜v©ž!…pN'Sù^bÌ>œãw¹¾]ñOµñ$Ɖ Ý8°»¿G/ óÎÒ;­¯+У–=<ª$ÏÓÉ~?ð,9Ú`€ZºÉD'Vݤﶟ®w\ËÜ$M¢Q h\¥óSf³ñ²<5Œ À0@,ŽS`åÊ•h/ÀE÷iÝø*Õ8Ëd9ª°Î]¦uð¤+Vl´œ(¹Ùà€ÝÚºÉlΜ9:ñêZ%<ÙMÒ$Z¥ÀFíz£šÐÿ¨2æF Qö4*Èó+Ð q80]·pÁN¬¼"fÔ;þ«ôM~SÙø›­±«ÄØàªÜö“={ö:.¾KàPûÙ’a‰h½:_çŸü¸Ä9™ BØP(/ƒ—-°jÕª›õÕÂá‚A—é.ÅÊìГ¯hoo?‘#Œ<7FöÄXbÊE ££cšŽÕ~EƒÍËe@ñ&°VëÏ[µ»•·ÄÉׇ €:»ÍRÇlG©x›þÿ1!ð}nׄºߤGÿÞñ_©Ýþ|¤.:œ’ @JÕ"Ö tvvØ××÷~ ð.ÝÆŒx žhY`»Åk´ž\²~ýúßYN”Ü4¬®†¾XèãJúaýw•<Éf ܤwûïÖ»þ»³Ä2, ÐXª&¹Ô, Ã§è nŸÒ‹þüšŸÄ- Ü®wýëäÑÛ-&GNd Ðdé°Ì¼À¬Y³NV’ÕmùdIðmô¦‹G}RïøÃ×Lóƒ€K—e'éÝhv±ù;~›u%«‘ ÐŒÌgÐe…OÓa÷èö"¥È96ê®y³jú½ãÿ‰”ÈÆh7dƒC' ¾C©½Y·ý ¦è!¥mÚè/ѹ—é³ü¿ð09"P @=Z<Ö€N|¶.ó6%~¾n‡¹H3áöUº}E_Óûû4S jŠ (Þ˜ èØñ(}ÏÀ©:qì-Jçeº6–¥úõn©êtÕ¸qãn\ºti¸„/? !@Ã"ö& Ÿ«Íµ±y£–³·Çp_i4Ó5º]«wû¿-mV&BÀ€ €"’Bu:iðD5¯ÔíµŠâèê"q5sØÅ£nßÖI}·Ëž¯€vU~’ÍK€ /IÆq- ½Í:D0_‡^%ˆsu;Ü5HþÉ߯!o”ïõ]]]ËÙèç̈þhüÕœŒKОIÚX­ ÕYê ^¨)9g >÷ð%<]²»IŽß_«6úõòh† Nˆå4( sž¥×‹µ1;MC¢ÛQ iõé÷*±ŸÊê–ÖÖÖ­X±âQ«‰’1ÐÄPbp% ½‡k#·@·Ð „Û±®þ7Ù»ôÏÛäð£G¾uùòå¿ùßEü Š (Z˜ñF`Þ¼yãwìØ1U›©áLí)˜©Ÿ ›¥+†3ô×(·5Ú¥¿Fy.×^ýGt? P‘ @EðL‹@–@ggç½½½S´ÁŠ÷Ín÷÷÷÷?¸mÛ¶û»»»ût?? € @E"DF" ï3˜ØÖÖv€6ÎhƒþÖ'ªqxº)ÿ÷…qµÔíñðo=v@ÿÛîÓ5ô7õõõmÒÇîž^–óƒvhìÔ’L@¨Y`TÍä € `F€ÀL)I@Úhj·â‘ €˜ 0SJA@ v€Ú­x$ €fhÌ”’D@¨]€ v+‰ €€3¥$@jøo!äÝ´)éúIEND®B`‚ic099‰PNG  IHDRôxÔúsRGB®ÎéDeXIfMM*‡i    øµ…8ïIDATxíÝ œ]uyÿñ™Ìd2¡d”*›K‰Y&û€˜P¨"‹R5¶n¨«âÔJ#u…¿+þ­VPë‹-TEÑ–*böIpTh€ RBB`&“ÌL¿?:Ò¬gî{–ßïy>óz]ÈÜsïï÷<ïçÌ=Ï=çÜs››øA@_£|¥K¶ € hX@p(@à°è¤Œ € ë €h”@ `@@À¡ €Ã¢“2 €4¬ €8hu˜3)#œ@ó¥Íóô™‰þƒÁŃˉ•0p+@à¶ô$ž˜ÀÅûáDb~DqÒ$R,Âô+À!¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_¿µ's@Ç4Ž‹Oê €~hüÖžÌ@ Ð8.>©#€ø ð[{2Gp,@à¸ø¤Ž àW€ÀoíÉ@À± €ãâ“: €€_æÁÁA¿Ù“ù.Í—6wêŽ+v¹“_b8XK0ÃÄñ€–ÿn˜Ç°¸ .«fjfM 5¶€ˆ§Bæ¦ MƒM3+Œ€©m„F%•fņx­Y„¿q~à« €h”@ `@@À¡ €Ã¢“2 €4¬ €8 pXtRF@€€u@‡4‹NÊ €а € àP€ÀaÑI@Ö@ Ð8,:)#€ @À:€ €€C‡E'e@hX@p(@à°è¤Œ € ë €h”@ `@@À¡ €Ã¢“2 €4¬ €8 pXtRF@€€u@‡4‹NÊ €а € àP€ÀaÑI@Ö@ Ð8,:)#€ @À:€ €€C‡E'e@hX@p(@à°è¤Œ € ë €h”@ `@@À¡ €Ã¢“2 €4¬ €8 pXtRF@€€u@‡4‹NÊ €а € àP ÕaΤ¼/Á¦kjoš¸¯ÅÜ_¡À¶¦·6 6}ªÂjŸº¹éMcš¾Rûxdi½MO–6E/@}‰Ê ppñàͶ¹¼™©VæK›{j}lålê¼xõ¨òBÙÈöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@È Èöa) €&hL–•¤@ÈhÍ^ÌRˆDà+MíM_$–ì0z›z²ÀRˆA ypp0†8ˆ@Jà@‰ØL… €@,4±T‚8@(Q€ Dl¦B@ €X*A €”(@P"6S!€ ‹ @,• @J (›©@ˆE€ –J €% ДˆÍT €Ä"@K%ˆ@hJÄf*@b ˆ¥Ä €@‰4%b3 €±ÐÄR â@@ D€±™ @Xhb©q € P¢ @‰ØL… €@,4±T‚8@(Q€ Dl¦B@ €X*A €”(@P"6S!€ ‹ @,• @J (›©@ˆE 5–@ˆ£zuÍ͵BüIõ‘!°£©é—Ó/blÆLO€ ½šq[SÓüÁ¦¦6#€@¥ú‰¸¹Ò ˜<DS A@ <€ò¬™ @hh¢) € Pž @yÖÌ„ €@44Ñ”‚@@(O€ ÓµÞõZó“x  àX€Àqñ-¤>eÊ”ýÛÛÛ¿¨\Þ`!r@Ê (Kšyrбþmü¯ÓÀÇæ>8"€ÆFÏô „ÏõkãÿN¥¶L76þkLJ P¼{Š7f†´áŸ Û7u¬ÿì‡e(@À €»’§›°Nô;NÑߨÿ éfAä €@ˆ£D1Œ€.å{¶6ü+ô06þÃX±¨E€ %S™@8Þ¯ÿbýï» bBe01 `L€CÆ j)É“'ѵü¯ÖÆÿu–ò"7Úku“Ößm‘düx$qF$4‘‚0vÐW÷8a„Ö½ v]Âo$#0JÿñŠöe«W¯ÞœLÔêF€CnJN¢:Ëÿˆ¾¾¾ð¿éDM¤ìU`î½Uëôs÷º”;¨P€ B|¦ÞS`èLÿÛ´$œñϦ+‰eCë¶…|ÈÁˆ €‘BZHCï’:tÌ4lü°9 °“À‘aÝëøN÷ñO* ¨”ŸÉÿ 0gΜNý{©nÏþÃ}ücaݾEŸj™i,/ÒIT€ ÑÂY [gúϸY9…¦øAÀ²À:1ð˜c9IrKC€ :™2¼5jÔ” ³U&±Ý&êpÀ¿Òì¦Â¯¥ ДN΄ÐnÿÙz7ôïúý€?ÜÇÿp"0AMÀ8à¤Ú‘¦Iia¬‡5cÆŒÉÚí“òäê~Ö‹M~û‡~ħöÅÃýE Ð-Ìø{LŸ>ýЖ––Ó‚ƒ÷XÈøx–öÜÌu|=–lib©„“8ôB7¡µµ5óž“”IáŽÒ~G[QÍ–,YÒ¯|R%èT+ £ŠiÛ•óg«˜˜9m ÐØªgéÙèÝÿKõîÿŒÒ'®nÂohê™+W®\W]̼³€ö¬Ñu'Â'O~¸óý–ÿ­¿¹søÂ Ë.'7€rœMβpáBOïDô®ëýzÇyžnO™,hÂI­X±âQõg)…깨+£&àó\ á•6‚Ði"(Bª!lݺ5œŒ4)Õøëˆû mü_ª Ìÿ­ã9<´dÕhPÍÙßiÃøjMÎѰþs¼¼Ðz’äWœ @q¶¦Gž;wîAá±é$ÿ'¹ûµAéÔÆ?œíÏOºnþ?©f§)TbúðÔ©SH ,„¡ @„EI!¤þþþ*Îñ)ÄÚ@Œwë¹/Ð¥»1xjªÙíZGÃÉT0}™SN3fÌ{Ëœ¹ìÐØ©ei™LŸ>ýPMööÒ&¬f¢;wìØ±@»”ï¯fzfmT ««+|™Ñɺ…FÎìöĽsÚ´i›MÄ  (ŒÖîÀ£Gþ[e7Ön†M]úhã)ëÖ­{ÐpŽ.R \kkëB%{—á„ÿH“ÎÔ  (Öê°áÝ¿Þqœg5?åõ‹¶¶¶ÓtIßG çè*µåË—ÿF Ý©JÚòµÞÖÑÑqˆ«Â’lÃ4 ú@Ÿ·gþ1šuxÇÿ’eË–=f4?·i©¡{HÉŸ®ÛÃFÆêâTÍ´  (Öâ°êìêó-榜ÕžÓ9æo´ºJKµ½Gÿû3Ý6Íò-º.À£¹‘V4 Zrûöíá3Çû̯G»ˆÏÖGý~e07RÚI@MÀÏõNy‘îÚ±ÓÝVþ9N‰ü••dÈ£x€âMÌ®8¦wÈ&ßý+¯ ´‹øg& Eà è2η¨æáÛ+-þ¼›«Z,k19ÑãjnTíú…’²x’ÑWôÎÿs#¡LÕüózÀµ™Jsáajnþ<ÍЉºl€²ÅO/*?÷¿¢··÷‰–„°ؼyó[5ÄÚ‡‰îé:Äaño5:g ÑX¨bÁ9èãEÓ4E¸ Š¥ŸGõùðWtww÷YJŠ\jذaÃ6íÙzµžñdíÏŠÿ‘jÖ_ o <&þH‰°j€ª+ÀüzGñƬ+D½H^>^דx°9]2ø.­ ï6–X³Å¿Yc5Š"€(ÊoC'ýe¼Ö™^ðÿYÇ€¯¯ÿ™<â€Ö…«•×–rÓ:~Þ¢E‹Z,åD.ù ÐäojjDí"=C YºÎøïuÙÔ L‰d:nþxÃÅ3À¡7n|Q<áIŒ41V%¢˜ôùø×GNá íúÿ¯†bSúh`¸B`ø†K3?Z×_c&)D€ VƒN™2eíx‰lžÎâVíî]b(RÉQ@ëÆUîö‡¬z¨³.\Ø^u̯ @¼µ©<²ööö°ûlåäÀ€Þñ½éùXšEë‡vx „ÃCF·uëÖSäBЀjhÈs åò5½Ã[c(R)@@W„\¯a¯/`èJ†TSÃE*‘OcR€4êTz”ÚýߦI­ìþߪ“¼.)‘ “кòanåú/Õa€Ö$ AÐ… ÐNœæûí·ß)ŠÜÊ7‹]9t’WšÅ êR´®Ü«wÎá| ?Ïzâ‰'æYH„ò ÈßÔĈ:zš‰Dšš¶íرãsFr!’ZZZ.×TÛKš®ÐiÔÌüi¡0x²4É–®ðÀO/|†&Ч¾¾nݺK˜Š) h/ÀZwLœ  Ò›÷ Œ—¾ @ú5Ì=½ð-Ô Ö›»ºº6äÄ€.ô¡‘_éÝóO $Û6vìØpN?ì"`áE~—„ø¥q34qÒòøZãŒà\àŒä¿ÀH¤‘£ @Ž˜V†Ò†s¾\ݲeË äA  <þøã7húßWB.SëozV.1ˆ)Sål<™ðíÚí9£ñ‘ªA/xßß÷^mÌžºÀÐ:t]êy(þ™ú»æõÞ@!óL"OMciÃ9Ui$ù_]Ìå›ÊA qXøþˆñ3gÎ<6N¢ˆE€ –JD‡6œÎþ`õêÕë"!%ŒÄt2à2¥¾-0é$]¾B‚§(„5ÝAõ €Óþ™È ; ßz&!þQ€V¥Íþýê"ÈmæŽÜFb 4&ʘ_:N8%¿ÑªI/Ø?¨fffµ* uê{r;Þ@¤£ @Ž˜F†J½è1òÙm#«“4FýSeÒŸr6ú»˜œrüÄž¿ @þ¦ÉލO„/ÿyn² (p½È­Òñÿ§RÎØãX¾|ùE¾*8åŸ#ç|RN€Øó È×3éÑ´›óyI' à•ÃÊÔs þ8Ô\†½)ÿ´ö÷÷™rÄž¯ @¾ž©vDê ¨Xzħ€Ö­ði€¤ô-‡|0é æ< @¾ž©–ü}ŠaEêE þ8´àŽ8#«+ªä›üº²åÁ™4™<î¦þâð˜¾üç>wU#áRŽ:꨻5QO)“7ɳ‹š‘S H­bÆ«w88|CóÍe(;cÉ’%áS¿J9}ã)óG; @t%©. ã<°ºÙs™ù×¹ŒÂ ì[àÎ}/ЉþÆÿ8þ(‰°,€²¤˜GïJ ̬7f-d èoäÁFǨòùì¨R?¾¹iâ«I•¥¾àþ*ñ˜Û¾€ÞA'Ý(þÔ›|û+Y‰Ò”ˆÀTáB@ÉþèÝÍo’ žÀSx(•@÷gòßô¹¼¸{4#@3ü”¶”sÓG·¦?±Ç/ &ó‘ø£ÌŒ°=s) ] и*÷°ÉŽö?@/ÎOF¡ÙHý2ÓIÿÛX…âÉ¢5žPˆ$Ô¯žú‹s«Àÿ„°mÛ¶‡ÛÛÛEÐNhOO×N¿–ýÏÔ×1”½ÆD< @ÄÅ© ´¤È+õç J¾÷)»»»Ãá”oï}©ß{µ—é)H—2{R®^αs gÐćKúëNõÎpGâþ„¹ÀŽ;’þoêñG¾†¤ @Zõ*:Ú¾¢'(r|½;KýF‘<Œƒ€¾L'õ“èzs``#4F ™SI¿8èřݛ9­ ³wíeJ}Û¶÷̸ף €Çªï;礥µß¾Sc  h/Sê'Ñ¥þ7Þxá€g(ø‡’> “³ø¦3VãB´Ž\èÅNP¼q23Ð$SªRMúsôÚ=›ú‹s)Ef’‘ Œ5*õ&“OÊŒ¼üæžI`®¤ %”ôUÎôâLÐPùyòp©ïPüIÿW–×'@PŸ—éGëÅá¿RNPñ™rüÄ¿€Î8*þ(÷¡šä‡÷½”%Þh¼U<#_½¸ý.cq ‹ŽI!HbLW@Mæät£ojRü©ÿ§Ì]ì4Ñ•¤º€ 4I¿8WWyf®C õuŒ Žb[( €õ ב_ꇔêóæÍ_GÊ<šf̘1Q>´æ'Dø@öDX” C¢¨?¶©µà×±ÅTg<£úûû;ê|G &ý}ÌÔ›kzp¤R÷EaU @Pz¬SjãùŸ±ÆVk\z‡^¤ùA w]i2ùuKßeüßxî…u< €ãâïžzWW׺/õ …ÌÛ=/~G '¹9SÕ0O®_¿þ¡ª&gÞøhâ«IeéÝó€&¿§²ò™x¡vs²^çcÉ(CaÒßÇ)‰ƒÜ­’þ.ãÄý£ ŸÊèJRy@* ±ÒÉZÏolžÀ®3tϳv½7¹ßØýŸ\ÉŠ ˜ XßGÿUŠAï³.vrúοóoÐ ëÔ:ð|[4¶êÙp6ÚC¸ºáAªàeÕ‡@ÆÎM=ým¯J=âÏW€ _ÏäGÓ™Î^$æk—í!Ƀ¢˜>}zøìÿì(‚i íŰÐÜ7 ÀSw Ø]Äùï+W® ŸHú;¿ŽŒb/€óu9¯ô[[[ÿ\c%ýùÅÿàêÕ«›— ãØ °QǼ³°°àõy£0ž[ó dnáoÚ@âJ ®zÄ…‹¹sæÌ91PâHS`æÌ™Syòb÷šë_ÑQÓ-œàø:Yhi‚aïòÀÀÀ›ö¸“;¨C@Nëò0ñ7]Géxh 45 y{ȶmÛV(ç­ò~3_d Š¥pòÉ'ÓÔo¨hú<§}BͰ…½zyš0–hX öèîîîÓ^€ÛöXÞãuíó7¤6Ç ÐÓÓóWŠcB ±4CØ£§·72ϵ)@`³® g¥]†·4ð!#¹FA½½½‹5ôs ¾ìaïÓßðš²'e¾thÒ©Ué‘êP8AÄÊa€à÷®3fL.’ “˜={öq ÔÄ™ÿCà7 ý 'áOå ДožÔŒ:ú­¤ÎvŒ¾$èjå”ú»dgÉÒº´JŒÒÆò«zb[ÝOŽ÷ –þvãUN82€„‹WFè«V­Z©yÖ—1Wsè…þ…º¾û[˘‹9ÒÐ:q¢=9ˆ‡ôý¿vØGñ×4®Ë_sò×ÔüÈ4ø©¹sç•F¨DY´€>ö>%ò‰¢ç)yü+Kžé H°he‡ÜÒÒòš³·ìy œ/\"øú¡Ï{8 CÇ.®ø§Ãú½ì±Ö_O__ßuu<ž‡: pZøzÒ^±bÅ£ÚuþÝzžûc•ÏlÝ>{œÄW¬€®ø÷qÍ0¯ØYÊ]ç2|çŽ;îØTî¬Ì–¢ @ŠU« f}žøKL[è”z¡ü€Îü>£ÐIýÁqãÆ]kpħ @œu‰6*`ô”š€ðÑ)«?ª à8ª±êª¦ŸTðci=“ŽrûèÒ¥K-]«ã™ÜøGq4ÅÙšyÛ¶mW+¹û¬&¨Ówë,ñË­æç-/}zå3ÊùbÃyß3´gÎpФV„ @ªÆÇìîîîÓ ÎßYNSù½OŽ/©ào$ÑB«vÍjäÂ!‹M¡¦°µ®.Öž¹í5=˜!°“ר ƒÖ.°hÑ¢–{ï½·[Ï8¾ög¥÷HmC®ïééy}hzÒ‹ÞoÄálð÷M ,2®Ð½fÍšij8ùÏx¡‹Hw7E¨:sèﱞª^X_5vìØN:õë¹ZÉ/Ô*ÔLùXßø7©A½ˆ¿•5·ü<ØP¾¹©µ›üûJè,SIí=™»õB{ŽÞmýj7]äg²>ç> B ñƒ6þ7èëº_^äŒm[€=¶ë[FvïÒ$Ûʘ¨â9ŽÑ î2¾; â*dL¯fôLmüWé!æ7þʱG¯2¿.£Ü,ÊA€=9 zBÅëÝñ‡œ8 *Ï/êö^N¼Š£âá+}·nÝúa­ƒ—("oj”ëG´7êÒ8*@© ¸øcIµ8©Ä­ïÿ„býu*ñ6g³ž¡n?™3gÎá ŽÅÓлþ#žxâ‰[µA\¬¡¼¼žÝ;fÌ>¦ÚàºÃÓýüÁPëÖ¯_ÿ¤^€ß¤)»c/?'ë[® ̼ÅK±å©¸ª_—n'Å[ñ êPÔ[—-[ÖSà íD€CN ]FšzAzssÅ4‡^¿¯è¯uHÀä%’c²±è’¾‡è¯Ò?ÏŒ-¶âù²Ö³·—0S8ð²ËÌA)«O±µµ5œ”ô@õ‘”6þgkÆ j€.×G(wv?³©Ñö¸hã>‰áqãÿk]ÛÀò ý¬Ì‘dÊ€H a%Œp–¼6ˆá3Ø^ÖêÐÀ;ôµ¬?ó PDÞz×?_þ/iìEŒŸÀ˜ƒÊÿÏV®\yK±b"4‰*¥0õNøïïÛRŠ9çXùßQ#ô!©}wÎc»nèsýá$Óðy÷p¦×Ÿ+´ëÿ^“'ïbhŠqu=ª>–Õ®3³Waªkˆ¦¦pùà+õyíËÖ­[÷ s‹ºÒŸ7oÞaýýýPN²]דí=xíæÍ›;7lØàázöªqF4'åІ޹­QãRÎ#§ØÃ—']¯cØ—ê]Ü=9irí=:B‰…sI†¿Ýd’õ%µUëÍ,]ñï®úžÆ£^€`x#1B½˜Ÿ§§^;§[|ZØ#ðm#ðy#°Úb‚#ÍIçŽÌQ“vq‡öyÇÿ £L^«ÃHßzæþ@Ž49b2Ôžj®Ñ½oØs‰û{n×;»/í¿ÿþ7.]º´×£F8T´eË–—ëä¶ ´¡›ïÑ`˜œ¿ª=Fçó#0b€ÓñÄZ†Î¸U[Ëã>f“6~ßR3p^ì×zÈ_囩þ•÷«•/ß²¸—¢Ëf™š£S9î¿îÊM€ 7JÚ—€.™ûíö_ÒrؾÃýO ܧÿ~O·ok·ïíÚ˜¹²¢Ö•Î+uû åwœnüì[à!ý½ÌÖa¢‡öý– и @ㆌPƒ€tèa·é¶_ ç!MM÷i¯À¿jƒy‹.°ôãåË—oI ¥³³s¬>ýp’6dá"I/Õíy)Å_a¬=Ú;òB}Þ?4Ìü P¨ @¡¼ ¾³€öü¾Vµoè>ÏŸçÞ™¤Ö‡­’ÝOµA½Mÿÿ™l®õÉepÈëÅlüëCãÑÅÐãʨu ¬_¿þI}çù‹õ´ïÔùTŽ@:Ñï{mmmg…†7‰€ Ò¼ €ù§“`øâ“I“&…kÅ_NÔDŠ@M_×…š^¾lÙ²žš̓(A€sJ@fŠút‚T³Î X¬wL‹ë{&F JËô9ÿj}Wpähh¢)ì. &àºï3ºµì¾ŒßH@ _1^¤]þW$+!: pXô”RÖ_¤ÿ¤˜Ÿ¾\mJ±«k'ô†ÿ5zç>âÊQ ÐDY‚ÚY`ÆŒ“uýúðBÊ÷Èï ÿc¸Gß§pÎÚµkk€Ä…@à$@փ躺º6èìéNí ø÷èƒ%@×ZGÃW6Ïgãïz5H&y€dJå;P=ý˜v©ž!…pN'Sù^bÌ>œãw¹¾]ñOµñ$Ɖ Ý8°»¿G/ óÎÒ;­¯+У–=<ª$ÏÓÉ~?ð,9Ú`€ZºÉD'Vݤﶟ®w\ËÜ$M¢Q h\¥óSf³ñ²<5Œ À0@,ŽS`åÊ•h/ÀE÷iÝø*Õ8Ëd9ª°Î]¦uð¤+Vl´œ(¹Ùà€ÝÚºÉlΜ9:ñêZ%<ÙMÒ$Z¥ÀFíz£šÐÿ¨2æF Qö4*Èó+Ð q80]·pÁN¬¼"fÔ;þ«ôM~SÙø›­±«ÄØàªÜö“={ö:.¾KàPûÙ’a‰h½:_çŸü¸Ä9™ BØP(/ƒ—-°jÕª›õÕÂá‚A—é.ÅÊìГ¯hoo?‘#Œ<7FöÄXbÊE ££cšŽÕ~EƒÍËe@ñ&°VëÏ[µ»•·ÄÉׇ €:»ÍRÇlG©x›þÿ1!ð}nׄºߤGÿÞñ_©Ýþ|¤.:œ’ @JÕ"Ö tvvØ××÷~ ð.ÝÆŒx žhY`»Åk´ž\²~ýúßYN”Ü4¬®†¾XèãJúaýw•<Éf ܤwûïÖ»þ»³Ä2, ÐXª&¹Ô, Ã§è nŸÒ‹þüšŸÄ- Ü®wýëäÑÛ-&GNd Ðdé°Ì¼À¬Y³NV’ÕmùdIðmô¦‹G}RïøÃ×Lóƒ€K—e'éÝhv±ù;~›u%«‘ ÐŒÌgÐe…OÓa÷èö"¥È96ê®y³jú½ãÿ‰”ÈÆh7dƒC' ¾C©½Y·ý ¦è!¥mÚè/ѹ—é³ü¿ð09"P @=Z<Ö€N|¶.ó6%~¾n‡¹H3áöUº}E_Óûû4S jŠ (Þ˜ èØñ(}ÏÀ©:qì-Jçeº6–¥úõn©êtÕ¸qãn\ºti¸„/? !@Ã"ö& Ÿ«Íµ±y£–³·Çp_i4Ó5º]«wû¿-mV&BÀ€ €"’Bu:iðD5¯ÔíµŠâèê"q5sØÅ£nßÖI}·Ëž¯€vU~’ÍK€ /IÆq- ½Í:D0_‡^%ˆsu;Ü5HþÉ߯!o”ïõ]]]ËÙèç̈þhüÕœŒKОIÚX­ ÕYê ^¨)9g >÷ð%<]²»IŽß_«6úõòh† Nˆå4( sž¥×‹µ1;MC¢ÛQ iõé÷*±ŸÊê–ÖÖÖ­X±âQ«‰’1ÐÄPbp% ½‡k#·@·Ð „Û±®þ7Ù»ôÏÛäð£G¾uùòå¿ùßEü Š (Z˜ñF`Þ¼yãwìØ1U›©áLí)˜©Ÿ ›¥+†3ô×(·5Ú¥¿Fy.×^ýGt? P‘ @EðL‹@–@ggç½½½S´ÁŠ÷Ín÷÷÷÷?¸mÛ¶û»»»ût?? € @E"DF" ï3˜ØÖÖv€6ÎhƒþÖ'ªqxº)ÿ÷…qµÔíñðo=v@ÿÛîÓ5ô7õõõmÒÇîž^–óƒvhìÔ’L@¨Y`TÍä € `F€ÀL)I@Úhj·â‘ €˜ 0SJA@ v€Ú­x$ €fhÌ”’D@¨]€ v+‰ €€3¥$@jøo!äÝ´)éúIEND®B`‚ic05ARGB‹#hh#™WÿÿW™WÿÿW™WÿÿW“;‚MŠÿÿŠ‚M;Å‹ÿÅÅ‹ÿÅJ‚a—ÿÿ—‚aJ“WÿÿW™WÿÿW™WÿÿW™AÁÁA³~‹¤~Å‹ÿÅÅ‹ÿÅ‹ •ƒ" oº‘ƒÿ¾8ßÿí‘ÿê̘Ž:ôÿÿé‘ÿò6Ž âÿÿÆ$‘ÿäÇÿÿÛ gÿÿÝ€‘ÿÖÜÿÿa¯ÿÿk‘ÿÖkÿÿ¬Éÿÿ<Nˆr;ÿÿǶÿÿS…Uÿÿ´xÿÿ»…½ÿÿvñÿÿŒŽÿÿðŽ ]þÿÿÑl<ZZ= ŠÿÿÿŸÕ‹ÓÕÔÔÛ‹ÌÛ•6ƒ53€3…32€3„32Ž53ƒ34Ž9€342„394€37€€37€32€32€3233234334€32334…3€32…€3453UU2€37Ž434„32ˆ34’…344•913329Š‹ƒ€€ƒ™€€™€€™€€“‚ƒ€€ƒ‚€€€‚€‚€“€€™€€™€€™€€ÿ¹6ƒ53€3…32€3„32Ž53ƒ34Ž9€342„394€37€€37€32€32€3233234334€32334…3€32…€3453UU2€37Ž434„32ˆ34’…344•913329Šÿÿÿÿ¥6ƒ53€3…32€3„32Ž53ƒ34Ž9€342„394€37€€37€32€32€3233234334€32334…3€32…€3453UU2€37Ž434„32ˆ34’…344•913329Šic10–ˆ‰PNG  IHDR+ƒsRGB®ÎéDeXIfMM*‡i   ÓÝê@IDATxìÝ ˜dgY'ðîžé¹ä6€·ˆ fdX‘1“Ì%3Î& à‚ËVÐÅ"róEñÑåâ]TTpñ‚°«ëÂFWQYw%<"¹‡8è.È®"®Š†$d&ݽo™3™9Iu×wú|ç{ó<õÌôéªï¼ïï­é®ó¯SUó+++sþ @€ @€m ,´Ýžî @€ @€‰€Àý€ @€$$²  @€ @€€À}€ @€$$²  @€ @€€À}€ @€$$²  @€ @€€À}€ @€$$²  @€ @€€À}€ @€$$²  @€ @€€À}€ @€$$²  @€ @€€À}€ @€$$²  @€ @€€À}€ @€$$²  @€ @€ÀF @€@ù_š_œûÄÜ|™Õ¬òŸ?·²ò­+Çh @€³ f7´¸KàsÿxŽ‚Ÿ˜ûh¬¶£àŠ–"@€i¼ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+ H;z @€ @€@&@¦ië• @€Ò ÒŽ^ã @€ I@iÚz%@€ @€´€´£×8 @€ddš¶^  @€ @ ­€ íè5N€ @€™™¦­W @€H+0¿²²’¶y Ð-0ÿêùÃñÝÇu_Ãw8A`~î™s+sÛNØnÃÚæç>¦o[ûnI ¥À{V^¹rqÊÎ5M€Àý l¼ßïú&™Î柟@ïV- S_5ÙÞà®@ÅÏ¢„rÇ ¯Ç‘ø‚‰€—¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€¸ @€ @€€CÖ" @€؈€'Ø<÷ʹ¥¹Ÿ:é÷l$@àäwν7¾ñÅ'ÿ¦­køØÜƹǮñ¶nF §À†¹›s6®kH`~eeå®ãû @€Àó¯žÿH\íS\ÕU¦øèÊ+WvLu×$@€º¼ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t ºdl'@€ @€ ¦V @€ @€@—€ KÆv @€ Ѐ ¡aj… @€t lìú†í @€À*ç¾rîØÜâ*oåê÷'°¢þ @€EæWVVŠ,d @€ @ ^/¨w6*#@€ @€ÅÅ(-D€ @€êÔ;• @€ @€b€b”"@€ @€õ êÊ @€ @€@1@1J  @€ @€zõÎFe @€ @ ˜€ ¥… @€ @€@½€zg£2 @€ PL@PŒÒB @€ @ ^@½³Q @€(& (Fi! @€ P¯€ ÞÙ¨Œ @€£´ @€¨W@PïlTF€ @€Š ŠQZˆ @€Ô+ ¨w6*#@€ @€ÅÅ(-D€ @€êÔ;• @€ @€b€b”"@€ @€õ êÊ @€ @€@1@1J  @€ @€zõÎFe @€ @ ˜€ ¥… @€ @€@½€zg£2 @€ PL@PŒÒB @€ @ ^@½³Q @€(& (Fi! @€ P¯€ ÞÙ¨Œ @€£´ @€¨W@PïlTF€ @€Š ŠQZˆ @€Ô+ ¨w6*#@€ @€ÅÅ(-D€ @€êÔ;• @€ @€b€b”"@€ @€õ êÊ @€ @€@1@1J  @€ @€zõÎFe @€ @ ˜€ ¥… @€ @€@½€zg£2 @€ PL@PŒÒB @€ @ ^@½³Q @€(& (Fi! @€ P¯€ ÞÙ¨Œ @€£´ @€¨W@PïlTF€ @€Š ŠQZˆ @€Ô+ ¨w6*#@€ @€Å6[ÉB4%ð§óó[ž›ÛÝTSš!@€ â¾k¾leå= ZÕ"«¬ÌÕ dˆƒÿ ççæ^œ¥_} @€Vâwøë£@+Õ‚^PÓR @€ @ V@­“Q @€(( (ˆi) @€ P«€ Öɨ‹ @€Ä´ @€¨U@PëdÔE€ @€  bZŠ @€Ô* ¨u2ê"@€ @€1-E€ @€jÔ:u @€ @€‚€‚˜–"@€ @€µ jŒº @€ @€@A@ALK @€ @€ZµNF] @€ @  €  ¦¥ @€ @€@­€Z'£. @€ PP@PÓR @€ @ V@­“Q @€(( (ˆi) @€ P«€ Öɨ‹ @€Ä´ @€¨U@PëdÔE€ @€  bZŠ @€Ô* ¨u2ê"@€ @€1-E€ @€jÔ:u @€ @€‚€‚˜–"@€ @€µ jŒº @€ @€@A@ALK @€ @€ZµNF] @€ @  €  ¦¥ @€ @€@­€Z'£. @€ PP@PÓR @€ @ V@­“Q @€(( (ˆi) @€ P«€ Öɨ‹ @€Ä´ @€¨U@PëdÔE€ @€  bZŠ @€Ô* ¨u2ê"@€ @€1-E€ @€jÔ:u @€ @€‚€‚˜–"@€ @€µ jŒº @€ @€@A@ALK @€ @€ZµNF] @€ @  €  ¦¥ @€ @€@­€Z'£. @€ PP@PÓR @€ @ V@­“Q @€(( (ˆi) @€ P«€ Öɨ‹ @€Ä´ @€¨U@PëdÔE€ @€  bZŠ @€Ô* ¨u2ê"@€ @€1-E€ @€jÔ:u @€ @€‚€‚˜–"@€ @€µ jŒº @€ @€@A@ALK @€ @€ZµNF] @€ @  €  ¦¥ @€ @€@­€Z'£. @€ PP@PÓR @€ @ V@­“Q @€(( (ˆi) @€ P«€ Öɨ‹ @€Ä´ @€¨U@PëdÔE€ @€  bZŠ @€Ô* ¨u2ê"@€ @€1-E€ @€jÔ:u @€ @€‚€‚˜–"@€ @€µ jŒº @€ @€@A@ALK @€ @€ZµNF] @€ @  €  ¦¥ @€ @€@­€Z'£. @€ PP@PÓR @€ @ V@­“Q @€(( (ˆi) @€ P«€ Öɨ‹ @€˜_YY)¸œ¥hEàÍÏ?rynîá­ô£ E žáû‹/]Yùp–~õI€Àô€é­\“ @€ŒVÀKF;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^@0½•k @€ @€Ñ F;:… @€ @€éÓ[¹& @€­€`´£S8 @€˜^`ãôWuM @ ³ÀÎ8vìØŽÌz'0Ï\}õÕ6‚:•H€À€Ðí’ŒQ þÎÏÏÿþkW3D×E¯ç&êW«¬BÀKVåª @€ @`¬€±NNÝ @€ @`€U`¹* @€«€`¬“S7 @€X…€`X®J€ @€Æ* ëäÔM€ @€V!àcWåª 0N;wž¶uëÖ ¢úϾòÊ+mœ]¨š 0›€`6?·&@€ :´ñæ›oÞŸYÿø•••ÇoÙ²å‚ø{s|ýî(WPáÌ”D€ô/ èߨ @ gÇo¸á†Îù§þøû_Æeëd·ñwÏ{·< @`€qÌI• pƒ>äèÑ£_Ïì?%ò'—M®â€ÿ>P¾$@€Ü- pW @€ÑœwÞyÛ———Ÿýÿ:ô…/:àÍøJ€ , xvO€Ý;vìØ¼mÛ¶ÇÜý,ÿ×Ä5Ïš\ÛA·™ï @€º]2¶ @€À “×óßxã_;züCüýÙø… @€ ¨v 0F{ôGýÏŒË玱5 @€jÔ<µ @ axVaÏž=£Å§Çåp\Îl¸]­ @€ > @ —@¼‘ߣãü¾9þÿ]tî ?×øuK€ ( ß®  EàÀg,--]þÏŽgþŸ¥o} @€jÔ4 µ @ !:Å?þ~v¼‹ÿäÙþSãß u¨ @€À¸ãš—j  P½@œâÿð»OñN{VüW_³  @€¦¬G¬ƒÀÞ½{Ïݼ$.O‹ß/ë`n @€Õx€¶-×%@€ã:´åÖ[o=Ïò¿,¾qöqßô @€@U€ªÆ¡ŒC žíÿ’¨ôyw_2ŽªUI€È- È=Ý @`jx¿ùÝ»w?1þšœæÿ¯â²0õ]‘ @`pÀà#Pêˆþ…8ðÿš¸ü@ü{_ÝÕªŽ @ K@Ð%c;’ ìܹsÓÖ­[Ÿ¹gÏžï Š‘œCû @€Ñ F?B  @ ¬ÀùçŸúí·ß~Ñ–-[¾;ÞÜï Ê®n5 @€¡CÉÛ/*8pàÀçÝyç/²¾=.Û*+O9 @€3 ftsŒ]`ÿþýŸµ¼¼üâx¶ÿ;£—ÓÇÞú  @€N. 8¹‹­h^ ^ãZœæÿÂhôqñŒó×  ]@ý Ò ìÚµëÔÅÅÅçÆÁÿäÍý>7€†  @€II¯mò LÞÕóæÍωƒÿWE÷ŸŸO@Ç @€Ü€Üó×= >¼áÆoüæxÆÿ•Ñîô¬E @€“N‚bZØ»wï¡èå§ãrN+=éƒ @`m€µ¹¹ª8÷ÜswlذᇣȧW]¨â @€ÖM@°nÔvD€þâÀÿAqàÿ½qùŽØÛæþ÷h @€cŒeRê$@€Àý:thãÍ7ß|Qøÿ`\Í;ûß•o @€² ²N^ß4#°o߾Ǯ¬¬üüüüü—5Ó”F @€Š Š“Zë#pðàÁ‡;vìGãàÿy±ÇùõÙ«½ @€ŒU@0ÖÉ©›´ñLÿ|¼»ÿ³ãÀÿ§á³ÓBhœ @`U€Uq¹2†سgÏÙ»wï~cü¶{'@€›€`lS/)âÿSâ‰ÿ—Çå°)%‚¦  @€fÌÄçÆè_ ÞäïI±—_ŒgýÞÿÞì @ U@«“Õ£8pàÀKKK¯õ&£¥ @€Uªƒ" p¼@<ëÿ„8ðSlýÂã¿ã+ @€k¬ÍÍ­ ЋÀäµþ±ð¿ËwÇe¡—X” @ ¥€ åØ5M€@qð~Ôõ–¸<¢ÆúÔD€ 0nÀ¸ç§z˜<ë§ûÿx¼Ãÿ £ùZÒ @€@…€ ‡¢$òìÞ½ûËÞÿgçéZ§ @€Cx}éêöI€ˆ7úûÆ8ø¿2þéàß=‚ @ wgôNl8^ NùßÏøÿbœöÿŒã¿ã+ @€ý ú³µ2Nˆƒÿý±ñ­qðÖ ß´ @€@^Ð#®¥  ðOñŒÿBü¿4¾þ£¸8øÿ' @€¬›€3ÖÚŽÈ*pàÀÏÛ³gÏÛ¢ÿÇf5Ð7 @€Àð€ág ˆgýwG{¿—/j¸M­ @€Œ@ÀKF0$% 0NÉ»üGå—ÆÅÁÿ8G¨j @€@SÎhjœš!@ ;vlÞ¶mÛOD-/©¡5 @€˜Ü PPàœsÎù‚8øÿÍXò@Áe-E€ @`f/˜™Ð¸K ^ïþÆ¯Š¯ü»S @€T' ¨n$ "@`Œñ.ÿßu¿'.gޱ~5 @€´/ hÆ:$@ Gùøoö÷ªøëc7‹=îÊÒ @€fð3ñ¹1™:´e÷îÝoYYYyff½ @€ŒC@0Ž9©’ÊÎ;ï¼3—––Þ99 ²Ò”C€Ön_´°°ðñÖ]KËËË·¬åvnC€@@Ž9ë’‚qÊÿÎxÖÿ]qðÿE—µL'pZ\íG"„}ÒÕW_}ýt7q-˜x÷¬B þŸÿ—ÆMü¯ÂÍU  PXࡾwòé+…×µš4=^Í PR þ/Šƒÿß‹5·•\×Z °&Ç­þ{| ËSÖtk7"@€@B@¡k™Õ ijL/Žƒÿ7Å-½tjõ|nA€¾N‰3Þ~÷G±öµë @ @3£Ô} ÄÁÿ÷ÄÚ?—ù¾öa]X³À†~aò‘¬k^Á  D@dÐÚ$@`õñ€r>P¾.nùc«¿µ[ @€À: ÌÇYZ¯ŒŸÙoˆÝß®#¼] 0.? Ç5/Õ °N‡Ú§”¾%P~Ç:íÒn @`Fø™ýÂøÙýß<¸uƥܜM š«¦˜E Nù?å–[nùíXã›fYÇm  @` =úÛB€Aìí”Ê•Hy¬¯ÀΈ=¾;.O^ß=Ûx‚  ¦¥hF@ÐÌ(5B€À¬»ví:uiiéwb f]Ëí  @`p';vìÝ;wîß¿¾}ve/^@0ü T@€À:ļÄn~`ve 0.Ü·oß‹ÆU²j  °6ÀÚÜÜŠ Ä»gF¹N\b!@IDATóÑÌ”J€õˆ÷…ù™ø]ñuë¹Oû"@€À€!Ôí“uˆ×ü?.ØýÇØ¡Ÿwë¦nGÀ†ø]ñŸwïÞý•£«\ÁX…€Ä«ÀrUÆ%ÿgÇ;=¿#ªöQOãj  0„À–………ߎ—Œ}ù;·O¬‡€`=”íƒu8ï¼óÎŒƒÿ߉Ÿ¾î;·C«Àƒ¢ðwGð…cm@ݸ?Àýéø£8tèЖååå·GñÀr‚Š&@€À ½¿s×®]§Z… @ @¨–$@`8xÖþ–[nù•¨àÀpUØ3Œ\`צM›~uò;eä}(ŸÇ Žãðcˆ×ý¿*zø†±÷¡~V Þð߯ï”ï¶ {'@€@Y@YO« 0 @¼fóé±û°»&@€¶^}÷ï–¶ºÒ iiG¯qm ÄG7íŽþc\œ®ÙÖhuC€!&¿SÞ쓆} PR@PRÓZ "ÿnš¼ãÿ)ƒ`§ вÀiÑÜ;öïßÿY-7©7rrÌY—šˆwüßÿo‹Ïl¶I @€ÀÐÛ—––Þ¾sçÎMCbÿ˜E@0‹žÛ 0¸À­·ÞúÚ(â‚Á Q´.pÁæÍ›ªõ&õG€@Û€¶ç«;M LÞ˜)Þ¥ù¥M7©9¨F >ðEñÉß\MA !@€À*«suꈃÿ/J~%.Þô¯Ž‘Œ¢ŠŒ–GQ¨" ¨V B€7Ä{Ï|Yµ*Œ÷# ¸ß"@ N]»v•ýf\N¯³BUU(pCÔô½G}V…µ)‰q œï=sñÁƒ·Ž«lÕ @`nNà^@€Àè6nÜøÆ(úÑ£+\ÁC¼?vzxûöíÿ⪫®úñ믿þ†(Â> hNàÑ(z?€æÆª!í ll¿E Ð’@œúÿ‚8ýòÙ-õ¤—âwÆŠÿ5.?ýR|u  @à.ìÛ·ï=W^yåäŒ4 0 gŒbLŠ$@`"o¼ô¨øë'iè8¯ñÿµ 6<:üŸåà¿CÉfŠ ÄÏœ_Þ¿ÿYÅ´zô lyÊL>{9žùÿõXí”2+Z¥!Ûã¾ñ3ÑÏ_}õÕßxùå—¸¡Þ´B€@ÝZZZú/qvÚbÝeªŽw x €{£غuëÅ3-玢XE®—À±8ð˱cÇ^sÝu×}|½vj?¸Àøú5qyÅ}¶û’Õ 8 º‘(ˆû Ä©ÿ‹ƒÿ—Ýw»¯Ó ,ÅýáÍñ¬Û#ãµ·ÏwðŸö~ q5 ¼<ÎxbM©…'œLÅ6ªˆYzH<ËûŸ¢ ?¯ª™Êp…Ä}áÝq9'Nõÿ–k¯½öcÃUbÏ8N`ò;êWwïÞý9Çmõ*ð€Ê¢ŽˆÓ»ÿClyØñ[}•PàÏâYÿ—Çû½+aïZ&@`ŸåÏE©_?ŽrUI€@FϨeœºž ŒD NýNô=c$å*³OÆ}àùÛ·oÿòxÖßÁ?ÆV%@ @ÏŒ—\Xh9Ë @ ¸À|<°*¾¨  0«@<€úüXãCqyð¬k¹ý(â×ÓÊŽËË®¹æš¿e ¡Ü¿Šœßo°5-()ð×›6mzôe—]ö÷%µJx @ Ek ЇÀÏÇ¢þû­Ík———_þ\©*$@€À g=zô§cësNøŽ XÀK€Ý p¢À¾}ûž[Ÿzâwli\àÓÑßwÄ©þ{ü7>é\íÝí.åjY·!ðMñ»ìI$ P›€ ¶‰¨‡@r8õ[œöý³ÉÒµ§•¿oÆ »ãMþ~6濜@Ã- üyܧÏÿwËMêíD˜û›Î=÷Üø[ 0œ€`8{{&@à$q øºØüГ|˦6nŠ™Kø?öòË/ÿp›-ê*»@œÕò0Ø—×ÇÅ›/å¹CÏú(YëÚ%pR8 æ¿ÇG^îŠoþÁI¯`cKß}÷ﺖzÒ #ŒphJ&К@<#±9>éä'ÚmOgŒE@0–I©“@£ñæHÆ_Ÿ•Üè|£­ƃÞÉ)ÿom·E˜Màâ‹/^Šÿ#¯ŠŸ…O‰•>9Ûjn]±À…ûöí{BÅõ)€CÖ"ZvìØ1yÖß3"µhƺâ”ÿ·Å}¼ßŒnžF B€ß‹3¢Î àÓ4¬Ñø¹ø³|/&k[»T$ ¨hJ!M`Û¶m/ž'¯ÿ÷§-;£ïŠSþ¿Þ)ÿm V7ý L>ã¶Ûn{lìéõýïÍxT„/`¿vI€¸# 0ˆÀ;þžAvn§} |2ž½|røÿTŸ;±6–Ž9r4þ½$þ/}Kôy¬å^3ös}õyçwfÆÞõL€Àð€ág )î¼óÎŸŽÆ}.r[Óÿh¼Þÿ`œÆü?ÚjK7†ˆÿKoŽ—<9ö~Ó0ØkOgħ?ü`Ok[–÷+ ¸_ß$@ xæã`¬ûô>Ö¶æ0ñŒÖû6mÚ´ßëý‡ñ·×vâ%ÿ3B€ó£ÃÿÓn—);»hOüIÙ¹¦ T@0(¿È)¯üÑœ7Ûõ¯ßtÓMO¼ì²Ëþ¾Ù5F`@>!À(áŠ˰벓Çà^*UÖÔjL! ˜ÉU('ô¤¾²ÜŠVXàÇâÍþžý‘|äŽë°{M Dð×Ñà¡8Ûæ·šn4Qs1ËÇøXÀD×*J• B2ă…8øÿ‘ ½&èq%zü®x£²WÄL'ÿö‡ž&Ÿª—É˧~®ç]Y~âǧ÷X'k»!@à.€{ë&Ÿ}üŒØÙ9ë¶C;êK`)þÖ8qúj_ÂÖ%Ð!ŒËñï¥ñí×t\Åæq ì·xʸJV-cŒyzj'0"8ø_Œ®¯QÉJ=¹ÀäTÿ§ÅÈ›Nþm[ Xø?øÊ8«ÊÏÔõÀîy1Ç×Äe¾çÝXžÿ( pG @`½ž;Ú±^;³Ÿ^ŽÆcÔÃqàñŽ^V·(«ˆ |U«/_Õ\¹Fsâ,€§ÕX˜šhO@ÐÞLuD :ƒn¢¾¯ºÂ´£q ñ´8àxçjnäºô+oÂùÚØÃ·ÇÅ{qôKÝ÷ê?tèС}ïÄú¸ лÀwÜñüØÉÃzß‘ô%pGü]hüN_;°.kˆ³rÞÿG'?g—×¾Š[,ðÈ[o½õë®Áî H H0d-R`çΛâ´ñ— Yƒ}Ï$09íÿ©qðÿ®™Vqczˆÿ£¿!À b'ÎèUº¿Åc~¯œ¼_N{°2ææîô*°uëÖgÇ<ûß«ro‹OÞíÿYqÚÿï÷¶  PL B€_ŠƒÈï/¶ …Ö[àKb~ÏYïÚ¹¹æ­[ë*pøðá ñ`ÆT­«z±ÅèV^§ÿF±-D€@ïüHìÄGtö.ÝÏ⌫WL~wö³ºU  à ÷z¸á†¾.–d»°tO“—mLN)îiyË У@üßýîXþW{Ü…¥û8+~w~mË[™ìÎÈ~Ð?â ò{z\ÞÒý üdœöÿºþ–·2} LNßÙ¾}ûEñ3ø·úܵ{ð¾9½ÑZ˜€û½ìÛ·ïɱðî^·hŸ¿Ï nú¶6u¸øâ‹—Ÿ!ÀûÖawvQP fvp÷îÝ_QpIK @àÀ=þA€@Ixê{K®g­uxÿé§Ÿþ1;%¶.ÜvB _Ë.»ì¶;ï¼sr:ùÿêwOV/-°°°ð¥×´&÷Š ÄÇíE/(¾°ûøè† ¾ö’K.¹½ÏX›õ¸öÚkoŠg”/Œ½Þ´¾{¶·žºÿþ³f\ÃÍ  p‚€à˜U l¾hÖ5Ü~]n‰™=õòË/ÿäºîÕÎXxOÿ;zF\&íéÏ86,--½t¥ª’1 Æ4-µ@¼nñsâò§ T%Þ%°ÿÅ ´+éùñýûÚí°ÉΞ{ðàÁ‡4Ù™¦L@0½hS N#ÿÖèlK›Ý5ÙÕ¿ƒÿßl²3M pœ@ü_ÿ‰ÞrÜF_Ô,pê±cÇž[sj#@`|€ñÍLŪ8|øð†xöø3wÄ;þÿð8JU%%â“^!ÀU%Ö²Fÿñ;õÅñ¾:‹ýïÉÈ" È2i}Xn¸áßÄn¾pve³ üùÑ£G/Š—+³/eÆ"0ùd€8Së©Qïߌ¥æäu>,~L?%¹ö (( (ˆi)ÙâY%oþ7Ž;Á±åååwýõ×ÿÃ8ÊU%%>ðüeT~S¬), ÛÓZñ»õ›{ZÚ²$$º– ô!°gÏžGź‡úXۚžëšk®ùãâ«ZÑÄËÞža4ç.ôIçwÞÃsèžR€R’Ö!\ ž¡ø¶ ˜OÎP}û1§ß‰þ¯¯¾P лÀé§ŸþòØÉŸô¾#;˜U`Cœµõ¬Yq{LîÌ,p÷}ýÌ Y o¿×þ>Ïëþûf¶>q\rÉ%·/,,L~vß6ŽŠSWùÜp…ì©ïš'PF@PÆÑ*R Äc’'Àç¤F¨¿ùÉqÿEñÚßÿW©*$@`½®¸âŠÅÏðÉ™þÔ-°ýÜsϽ îUG€Àc˜’ T.p÷›IU^eúòÞ§þ¿+½N¸êª«~>~Ž¿ó„oØP•@œ­qQU)†Q F96E¨G`ÿþýŸÕ|M=©ä$~ìØ1ÏðÆ&â£âÏwÞù¼°ø{U <ýÀgT]¡â¨^@PýˆH nxÐøÌ¨pSÝU¦¯îÛ>øÁ~:½:âgÄßx)@'O-ß8%ÂÜgÔRŒ:§€`œsS5š&Ÿ%íO¥ñ€þ-qzïTZž²¨H ~V¼9ÊyOE%)å>ñ3ý[î³É—X•€`U\®L€À½âôÿGƃ‘}÷ÞæßU üõâââwUU‘b¨V`òR€ø¤D·W[¤ÂöÇ'ï|)¬U@°V9·#@`niié9ªxÙe—]æ5½UHqê¸üòË?9ÀÕU•jî-Áû×Ýûkÿ&@€Àj«Ñr]î+àAÈ}EêùúÒx×ÿ·ÖSŽJ‹ÀwÜñ£Q럥ÞluF@s8[Ïú%@ œ€ œ¥•¤ˆS¿<~dª¦ÇÓìÒòòò‹&§óާd• P‹À‘#GŽÆÏo‹zü ©e(Ç×qöž={uü&_ @`:ÀtN®E€À}âØòßÞg“/ëxÃ5×\óÁzÊQ cˆŸ!óÿulug©7^ðô,½ê“²€²žV#F |\˜¦Ùq5úÉxo†W«dÕ P£@üœÿþ¨ëhµ©iÎKðÜ X“€`MlnD ·À¹çžûÅ!pNn…:»gì~èÚk¯½©ÎêTE€À˜âcoˆzaL5'ªõìø$ž³õ«U  AZ†@&ø˜(Ï<Ô9ðÝ|óÍo¬³4U 0RŒº?5ÒÚ›.;Îöú7M7¨9zôÂjQÍ <µùGØ`œ®û}ùÈGîaéJ&@ R8 àïâgËk+-/{Y_›@ÿ¬^@°z3· ZàÀŸ_‘¡Î毋êÞ°«ÎÙ¨ŠÀ¨â¥E¯‹þjÔM´YügŸ}öƒÛlMWô% èKÖºˆS¿&Zó³£¾ù¾:¤/×W–Š»@„‹Ÿ‰^9ö>¬ã¦M›žÔ`_Z"@ Gâ{ĵ4ⳡŸÐb_#ï麫¯¾ú·GÞƒò ¨X`ûöío‰ò&o èO]O¬«Õ P»€ ö ©@Eñ:ÐÉŸÇUT’RB žùM\V` @ /‹/¾x)~þÿL_ë[wÍ_=ùżæ[»!ééF®akØ·oß®¸õç®}·ìAàúk®¹æ=¬kI'9ã›cÃß·ÑC œÍ{öÐEØ?ãŒgV*%0¸@¼þßéÿƒOáøâùk=û¼‰¯èGàî÷x}?«[u­q€—¬Ïí$$º– ¬U d<~­·u»^>3ñÎÿ½ÐZ”“ lذáçcû§Oö=Û†XXXøêaöl¯ŒQ@0Æ©©™À‡Ú»=€]Ûe‡@üÿ\<#w¬ãÛ6 @ ¸Àå—_þÉXôMŶàšâ,°ƒ;vìØ¼æÜT€TãÖ,µ |êSŸú—qëSÖ¾‚[øôââ¢á…Q-G€À lܸñ'ãZGøš®±N[·mÛ¶oöe7Œ\@0ò*ŸÀz Ä)†_µ^û²Ÿ©~õ²Ë.ûû©®éJ((ð|à/ã ¤·\ÒR3 Ä<3ãnN€@@’Ak“@ ¬a‰Bñ`ï— -e¬EàWÖr#·éG ^ è‡Öªš47R (/°wïÞÅXuwù•­¸F\yå•×®ñ¶nF€™âýGþ0ùØÌ Y ”ÀÁ»W—ZÏ:4* ht°Ú"PR žY˜|ư×ÿ—Da­˜Ç/Îps7%@€ÀÌñsh9yËÌ Y ”À©±Ð——ZÌ:´+ hw¶:#PL N7ß_l1 Í*ð©˜Çų.âö˜U Þf,ͺŽÛ—ˆPfO™•¬B€@Ë€–§«7…âAÅBKYfF˜Å‹So?3ã2nN€™®¸âŠ¿ˆ@ò̼ŠD ³·ÈB!@ i@ÓãÕ2ñOP†²Ä*¿^bk @ €7,9ë2 fEt{  †¬E³9ã2n^F`çŽ;6—YÊ*´* hu²ú"PHàØ±c“×ÿÏZÎ2³ ¼5žá™¼ñ–?¨BàÈ‘#Gã,±IàÏð›üàOÞ´×t :i|ƒ»¼`%w…xý•”¢ Ü[à÷þ¿‡X^^ö2€áøí™À(£“" *àc…å¿gç7ÿ»òž¯üƒ•œvÚi¥ÜRI9©Ëð>©Ç¯yS ¦br%yâÁÄμÝ×ÓyÌáíqY©§"• @à.K.¹äöøñ4 üX ÎsÀÀ3°{µ jŸú (pèС-±û/°»þg·ÿó?ý‹Õ x@#yô®]»N­£U P£€ Æ©¨‰@%Ÿþô§¿4JÙPI9™Ë¸éŒ3Îx_f½ P·@¼aìïF…Çê®2Eu6mÚôèj’5 ÖÄæFr,--9ý¿‚QÇ©µ§ØÞYA)J @€ÀI®¿þúˆo¼÷¤ß´q]âwÆ£Öu‡vF€À¨£—b ¬¯@¼–гëK~Ò½ÅþçI¿a#êxw]夭Fvô'ðÀ€6r ™œPÁô¼¹VsP÷/Aç¥J÷O´^ß¼|ÏœT@pR ¸[@0ü]á†+®¸âÆáËPî_àxĵqOÝÿµ|wœ°ÈvA`¬€±NNÝzØ»wï)±‹/êy7–`÷>ðU\ƒà \|ñÅKñúóˆ¯$}Ûwîܹ)½N* 8)‹ă¸ÉÁÿ<‰ab—[½ @`zxÏ’?šþÚ®Ù“ÀÆÅÅE~O¸–%0vÀØ'¨~ý xðПíÔ+Çkjß?õ•]‘ Dð¾K°ûˆ÷ŽÙ‚'œLÅ6&Ãßþîºë®ûèðe¨€Ó ÜvÛmWÆ5?3ݵ]«/b}áZ—ÀÈ# ò ô(ð…=®mééÞ/X™îª®E€áŽ9r4ª¸|øJrWÀY¹tO€@—€ KÆvÉî~€ä ö3˜¼£¶?›€Ÿ]O,^>æ €g`÷jÔ:u^ÀKžA¼ ãºK°{¬Z ÂË#«¾‘ˆ3^tA‹ ÐŒ€ ™Qj„@q@qÒÕ-¸´´$X™k PÀ† ÃÏá¡Ã— jÔ85X`ïÞ½‹Q‚ÃÎá¦k¯½öÿ[‚½ @`õqúù‡âVË«¿¥[8óðáà ®g)42Hm(,ðù±ž…QW¹Ü‘8Ö®ÍÕ ^ફ®š| ÀÃW’º‚ûØÇ>'µ€æ 8©€à¤,6H/ðÙéˆcÿ\‚Ý @`/˜E¯ÀmãL gòp´Ö­MT? Ä›Ï=¤À2–˜A ÞÀé#3ÜÜM  0´ÀŸ ]@öýÇï‘3³èŸ'šØB ½@¼ùÜg¥G@0ðìž™âg؟δ€—𻼄¢54& hl Ú!PB ¸yÐPr†5âÔMgÌàç¦ +/cúËa+°÷˜³ùÜ 8A@p‰ „€÷øn°uëÖ?¸»'@€ÀšâL2ÀšõŠÝP˜_ŒÒBÚ´3K()àYƒ’š«_ëÖK/½ô–ÕßÌ- P‡À±cÇþ**ñI&ÃŽC0¬¿½¨R@PåXE`X§ ë{ÿøà(€39rähÜüïfXÂMgð»|F@7'Ш€ ÑÁj‹ÀŒ^0#àŒ7ÌèæT!09 ÀŸâý|Nh×vK€@ŀЇ£4 lpßv=7÷ h@@˜9àã €Óܽ] P©€ ÒÁ(‹Àñ¬Á–!÷oßN›u @  À€c\XøÿíÝ |]e™ïñ&;WÚ¤-A ¨#±4·&Ô&ˆgFosè0:àAPQ¯G=GoãQÑzPDÅë/ ƒ¢‚±„4WÚ ìiTn‚mÒФIv:ÿUK?-MÈÞk½k­w½ï/ŸÏ&éÎZÏû<ßw³³×³ßµvé‡gh°T€€¥CZ¤,P‘òø¾?â;õ#€€8QEF‹`@F'Ž´ˆY€@ÌÀ„G £•ÍÛ‰´µc»…Pø.°Ów€”ëg@ÊÀðØ(@ÀÆY!'Ò(O?3˜™™¡àïôS9. ÐHw6«ÓžÑ@ÀF6Î 9!¾+Rœ·9šâð ÐtF$C) ½';"€€³<18;µ†@$®‰/ÚÎZ°+ZöF \.÷°Ÿ×ÄÝͨ:¥Çç á»9«™©Š×ù™™*E 9ž’³f$²$À €gK “)ÏÐÌ)ÐÓÓs§~¹vÎ øû h5Ó¸Vìw?&,Kx<†C p @&‰HA€) ï7äÔ~?ó# UNHwæx£/]FGÀJVN I!ºLw h¤ëÏè `@@«™hpŒ‚@Ÿ“©g@ ` 름„°Bà +²ð4 Þ5ótâ)Çt=®îœò·<]FGÀJVN I!º/Ò‚%éÏè €@t­fZ= "ŒEØ—]@ÀQŽN,e!Q€@DÀ(»kÀ3¢ìϾ €€%<—¥;ü-OןѰR€€•ÓBR¤+ wmxÑâÈÿð‡gh@Àˆ€š™<—‘ „¿å¡éØwh¸;·T†@h½hcÙ`h=#;ò¢Ù#A@ M])NÍüñ‹hX<9¤†@ŠÛRÛû¡YàýCœP3ù' Éhò<£©“6Ä(@ F\B#a^4¤8y,›MŸ¡@À¤«™Ljë±âwap]€€ë3L}„Ð(/B¸Üåp­(1P €@¢z ^cr @¢ê¦9 ™ ÿB Ðàa€ ð¢á ’¤ï¨jmm=:éA0%ÐÐÐpŒbU˜ŠGœP4óC±±n Ðp{~©Pœ7ŠÍèNù|þ¹F HP ¬¬¬.ÁájVóÍ‚Â] À  p°€V› ÷!€@ @€ÇÌ* óþ‚;Ðð.ZbÚ „¦ôî3 S˜!ãð7<$»!à &™#À‹‡0jÆ÷©çB€ÆM ˆ1 ì½à‰1Aèø^› à© O'ž²˜O@ŸÌ)ó!ÅÿûŠÅ‹¯ŒF@ÌŒŒŒ4(4Ã:Jyy9ÃCë±#n Ðp{~©Ð½½½hç¡°£)¿3ˆ8 €@ÜZþß÷ÄŸW`Û† ›w+6@/hx9íÀüZ>|Ý3ÿ–l³Àé1Ç'< `L@ € F °›ÃîÈ~ ྠ÷ç˜ - rw‡Þ™M ´sS”ÄA8öžÿJœc» þvÄÄFø)@ÀÏy§j àED¡RñmwHMMMk|ቌ˜]­HÕf¢%‚»#à±+® Ðp}†©ZÀ2Â~¦vÍårœ` “8 ›@ii)ËÿcÓ-<0«÷ ·bK| àã¬S3 ÌÌÌÐ(Ð*ÎÍt-^TÇ Ll0" ç*š•F$£™žžf@4BöFÀi=Y;] Å!€@x½‹PÒÔÔ´]jÃGaOy5cŽxÔ@,B €ÆÚÚÚŽÐçƒ œ3œ€Ålïïï?T¯ïy_ŒÛ"à‘+<šlJE X½/ 6»ÛÐY¹³ŒG%  `H ŸÏ¿R¡8ø7ä!Ì ÿôØhx0É”ˆ@½¸3ÊþìkF@óð*3‘ˆ‚˜à9ʼiȈƒ!÷c7ðD€€'M™„ÐEx1Ïì~/Ö[NÅ0kJ40 ÐÜܼXa: „"DD5bø›ÑÝp]€€ë3L}DàÅDtC*§¦¦^b"1@“:è NQª0“Xátº³ÃѱÞÐðfª)pza7¤=ÇÃíÍ^&´ƒÓL‚ ŒðÜd„ÑD'.\x¯‰@Ä@wh¸;·T†€¾¾¾)0Œ ‘ÔŒyi}}ý¢HAØ0(,ÿ×sÓ? I¨ð½ÓáwgOðA€€³LD¸#z"XTYYy¶8„@ŒèàÿŸè#ÁU€¿ÕQÙhx0É”ˆ@T’’’î¨1ØßŒ€æâ|3‘ˆ‚Dà9)º¡©š‹ ¦bÜ àîÜRÆôùμ«`L3r 5Zr{Bä(@" ´´´¯mð»!† ƒ€ã4Ÿ`ÊCÀ„ÀÀÀÀCŠó'±ˆaDà<#Q‚D¸ ÚîìmP`¸§§çaƒñ…Ž Ðptb) n!&!à œ·víÚ\¸]Ù ˆ.ÐÑÑQ¦óÿÿ%z$"è4‡0 ภÇ'˜ò0% z·šŠEœÈGoݺõÌÈQ€„=K»rwv3,Àßhà„CÀaO.¥!`R ¬¬ì·&ã+š€Îõ|G´ì„ÐsÐ;ÃïÍž¦ÊËËo5“x à¦@‰:†nVFU `\@Ÿû£‚>Ûx`†Ð ðÆÞÞÞÁP;³ R I_zþé ¹;»™ØÒ××÷<óa‰ˆ. °ÀÅY¥&âàÃøl‹Ž¬.«ŠVcˆ*À»ÿQÍî¯ùào³YR¢!à´ §§—â0.p³ñˆŒ"ðÏmmmË¢`_@ •+W­í×³ÛÆ.ð«ØG`pF€€3SI!$"¼È˜Id$)D <ŸÏ¿¹ Ù0! ëÁ¼MqÊMÄ"†i}ýÚH$‚ €€4¼˜fŠDÀŒ€Î1ü«"qÞ§N#QtÀEííí5F‚x­8ªÕ¯ßø4›ð«äº·'?,#"€@VhduæÈô~‘ÞÐŒ<‹À¡oŸå~îBŒ LMMWþ_j4(Á¢ ü2jöG¿hø5ßT‹@d™™‘xWCCÃãQ ˆìX±bÅR]lŽ Zöˆào²eB:d@€@&‰°I@K 7(Ÿ‡mʉ\,Õy¹¼0瀱 èsæß­à4cø!ýMîµ';!€€·4¼z G œ€Î9.xC¸½Ù+.ÍË;W¯^}h\ñ‰‹þ ´¶¶¦wÿ/ñWÀÚʯÓsÿnk³#1°R€€•ÓBRØ- ×?µ;C/³«Õù¹Á;t|!€F´Ìü} ÈÅFª Æßb#ŒAÀ/~Í7Õ"`D ¶¶ö3Œ ÆÔ˜¹¤¹¹ùHc „Þ ¬\¹òh=·¼Õ{ûFtØ[íK‹Œ@Àv¶Ïù!`¡@ggç„^råaûæf‘Rú¤}i‘dU@×¹T¹’ÕüÎûÆ¡¡¡I‡ë£4ˆI€@L°„EÀuÒÒÒ»^cFë{]KK˪ŒæNÚ `‘@ccã)Jç5¥D*{Ô„ço0%@ ;!€€^|ç>„u%š›/ê‚]%ÖeFB =…¨Ï[ú%Ìs‰}³¶£²²ò&ûÒ"#È‚ €,Ì9"`¡@__ßN¥u£…©‘Ò‚mzçîµ@ €aôò:íËj¢°€1î§&ïu]]]ã1AhpX€€Ã“KiÄ- !?Œ{ â‡лwŸ®¯¯® À P”@{{{žC>QÔNlœ˜€æ†¿½‰i3î ÐpoN©Äôi?×`£‰ È@Å]]]ý¯ÅìÀ¶ €@ 0>>þQ}ãEì|8lÓÕÿo¶35²B,ÐÈÂ,‘#– ìý4€k-MÏû´´BãZÆÛì= P°@SSS›Þa¾¤àØ0Q=¯ÿˆ«ÿ'JÎ`8'@À¹)¥ ’ÈårßHvDF+B LñºZ§T±›"€€§uuu•:øÿºÊÏyJ`}Ùjóà Z€@h:vD@ §§§Kß6£a­À ªªªÞomv$†Öè´®)™“¬IˆDž*ðŸ}O½“#€ÅÐ(F‹m@`.«çú÷[!ð–––z+2! °R@KÿWèÝÿ÷Z™I=)ðµ'à; V€@X9öC}333ßÑ?&÷ÝÁ¶ TËF×®]˲^Ûf†|°@ £££LÿA#·Ü‚tHav‰ŠŠŠŸýWÜ‹.@ p+¶D9´$ñQýê§süš»íhþ€©Ø$0::úåÓdSNärÀ»ºº?è^î@Š P$›#€Àìz‡™‹ÎNcÓ½nnnî°)!rAtôI!§êÝ®’î42:c Qb˜W D/Úç݈ @ùô²Tçk»gÏ·-¿OUà}rÃÊ 6<–j Ž© ¬X±b©–•ß©Dž•z2$ðtÃýýýÏÕkv^´?¿C‚XP!€À|z]2£Û7çÛŽß§.°L×l¸*õ,HRÐÁðœÍÁê31o_çà^#6@hÅf 0¿@yyy°D1?ÿ–l‘¦€^H¾ZŸ ð¦4s`lHW@Ï+ƒW¤›£ 0­¦í· ØŽM@‚hÄÄF Pˆ@ww÷:¸¼±mÙ&]ÍÓå«V­Z™nŒŽièZ z¸,±³8^w½.´ûPq{±5 0· €¹mø „ЋÊÏ…Ø]’¨Ö»J×é`ÏH~hFD´Z[[ÓØ×êV•VŒ[¸@>Ÿÿlá[³% 0¿ €ùØŠÐ;·ióî"vaÓôž]ZZú“úúúŠôR`dHJ@ïü—OOOÿXã›Ô˜ŒIàvýM½#RvFž"@à) ü¢ ËË£G!BBí•••¬ÚH›aHY`–”Ÿ–r _ +ê „b3(J€@Q\lŒ…wÜqÁ;L[ Ù–mÒÐÁÅúÇ7¤Ÿ  €@\úü|ž(®øÄ5.0¬¿¥×J@ð^ DÝEï@óZjú6E]g>2cØ¥ÓNïéééŠ)>a@ %ü¯Q£ï Ïé>)ÍAˆaßÚ××÷åû±  ð´¬xZ~‰‚|,Âþ욬@¥. x½7'$;,£!€@œ:ø¾þ¯ÓüÇ m6öãSSS|ôŸYS¢!€À^<@ ½s±S+Œ®Œ%8Aã®~s[[Û²¸ .$' Où8Jÿ7iÄC“•‘¢ hξ´qãÆ'¢Æa@`6³©pÐÕ¦ƒS&Œ#HRË4o?ohhX’Ô€ŒƒæÔÈ«Õi=7*ò³ÍG'bŒ»Ô y#0¡ð]€€ïêG F½ƒñ…ÿ^ŒC:är¹ÿ¨«««Œ'C#€€'4<™hÊD m}Æü¿)‡içÁø¡.TàÊà@#tvDãûü¿Åxp&%0¦‹6^šÔ`Œƒ~ Ðð{þ©ÄÕ`Á¹©|eWà º&À:šÙ@2wK€ƒgæó {?5Ç™‚(ì(ÑGìÍŽÌ@À)à³åuŽã°ŠZêTaþóššš :;;ùtÿ枊-X»vmnxx8ø¼ø -I‰4 lŸœœ\¾iÓ¦mávg/@ 8VçÅÖ A@Ÿ°]»_!»Ú!pÞØØØOV¯^]mG:d€_uuu•[·ný¡ªæà?ûS)ÿÙŸD*@ K4²4[䊀Aà/”âu Z=v–ÞµúMkkëa^CP< +©/^|³–ÿÿcÂC3œyGõ71¸x#_ €@b4£f †††ÆôÂõÓh8!ЖÏçÝÜÜ|¤ÕP– ÿ¯é4ªß*Í5–§JzèoáÇ‚¿‰lÊ& €€1Æ( „… Œ¼·ÐíÙÎj“•Ýz½+Ygu–$‡@Æöþ?v»ÊX‘ñRHÿowi%Ë£ 89"€€Þñ˜Ô;oCÂåzW²{ÕªUg8S… `‘€>}ãTý?ükQZ¤A@ÿïîë뛊‚]@P4B±±Dèíí½Y/€®‡ý­8tffæZ¢ü>k2"hjjzciié-*å”C ¸¶¿¿ÿ—` €ið1€i¨3&ìÐ;ÆËuÐx—þQ‰S_Ó…­.Vz8UÅ  @GGGÙèèèåZ-uq‚Ã2TüãºvʉúTœ?Æ?# € °à`îA„zzz†5ÔgŽa’xCUUÕoN>ùäÓ’‘pG øt;vüŠƒwæt¿J>ÅÁÿ~üˆ‰ ÐHœœ@à)ŸÒ¿ï{Ê}ü3û/,//ïÖ¹ËÍÙ/… HN@+£ZôqŸFìHnTFJH`¸¦¦æ²„Æb@`V³²p'$% ‹ íÔXïIj<ÆITàX»Ü\@ïd–$:2ƒ!Aà|µ^©?'ƒé“ò<z|WggçÄ<›ñk@ V®+/Á@ P$Dúï…nÏv™øéäääù›6mÚ–¹ÌI˜ÚÚÚj§§§¿¦aÖÆ<áSÐEooÑ…ÿ^œÒð ‹ì`À> ~@4ô®×;5>‰”æ$Ä;ö+***îÔ)§Ä; ÑÈ–€ÞõoÒÁÿ€²æà?[SWL¶|ôm1Zl‹± Ј•—à P¨ÀÀÀÀfmû¹B·g»L KuºÛ=ö¥EF ࣧø8ëÔŒ€¥uuu•‹/îWz'Yš"i™¸]:;_WÃÞb.$‘Ȇ@CCÃsr¹ÜÕÊ– ýecÊ¢d¹I‹ÚÂÇ¢F!d_0)À “šÄBH[¶l٥薈³ ðBÝ©w@ßÎj€,L9šëÁ…þôØß¤xü›@µ;Æ´No»€ƒ»'‰ìðM€¾Í8õ"–––Ïè‚Iÿ+©’¢›ujÀ===÷› GìP³ëHeu•n/³/;2ŠC@Ç>¡ ÿ}0ŽØÄD ° ¬û!€@lúüø+ø½± @`Û^¬wÉ6éÑóY `ÛÔOTà1­¦f°²énÝ8ø šýïýxvÒ%SðE€¾Ì4u"1 ¶éusðyعŒ¥NºÑ~§yKooïP´0ì@ú:ð?^Y\¡w‚_”~6d @^«šNѪ¦ÞÇd(@  1±¤! &Àçu0|< _~ L«Ü/WUU}pýúõ;ü*j]ÐrÿCôÜõ^øÿoÕSáBMÔP”À§uÕÿ`îùB¬à름„@àI½€Îä*ñO‚øó½L¥^¢+gߣwPÏó§l*uA@˳TÇfü§2qðï¤Wý555-n¶F’`@rÖŒ„!ôbz·jW–!üÙåç:˜z.¦œCÍV 466ž¨çªÏêö+$©$òºžÉš;’Œ1@04¨±$* å´—iÀ÷$:(ƒÙ&0­««Õøˆ–ÖþÙ¶äÈÇ_ø¥ó½?"×ëÆ5Kü}(,ÐsÔ'uý’xL@é ˜$RDÀwŽŽŽ²±±±ÛtðwŠïÔ¿`§ ¾TVVöÉîîîQ<HKàä“O^¨O,¹Xã|5iåÁ¸ÖlP&kÔ œ²&#Af 0 w!€€}­­­Çæóùe¶Ä¾ìÈ(‡õnÛG-ZôÎÎÎà¢|!ˆ€V$•k  u Îñ?"‘AÄvÇ•`ƒþï³=QòChð@Ìè‚pÿ¨U×f&aMBàä ºèÖWÕ˜Hb@ÆðS 8ðWÓéŸõ\œ´ÎOªžE`·î{µþ¯›åwÜ…X'@Àº)!!x:½ÿŠ~ÑÓmÃï¼Þyû</ç>Ö¢ëëë+ª««ÏÑÿ¿j ãbŒàYX§ƒÿ·g1qrF?hø9ïT@ft=€ª;vWX^™Ù"H¨º>îbmÔ”y )°YÀ›u0|¯~¾W´û}uuõïׯ_¿#óÕ©€öööšñññçí=Ø?Aµ>OW'êWÁ­Ì…©Á9÷«1w©sUQ °W€p^@M€+Tä[œ/”]xHÅM­:h~@Ш9ð`.—»jjêÁÁÁÁí6»bÅŠ¥•••G+—àÜü£”ã2à/ÓÏÁE8×íHÝøB +_ÔÁÿ;²’,y"€ah„QcÈ”€HJuM€(é³3•8É"0·@pêÀ}j<®Ç÷6ý¼]?oÓÏAc`Ïwý{‡þ=©ÛA˜ééé}?ëŸO^ <ø ‹ômÏÏÚo¡nÚ¯Fß—êþ%úy©~^üܧ¦ŸƒƒþCtã ¾¯ þý‹ß3.C  €À\4æ’á~pJ ¸ÀXUUÕ **øè0¾@xRà7###gnÙ²eדwðpU ÔÕ¨ Ø_`hhh²¬¬ìè¾Áýïçg@¯úÕ~%ÿ^?(¯XàÕtS,466>CçSß.‰:4@¼تÆð »»»ñZâ@À+^M7Å"€@ ÐÐÐP§sž§@@ÀK?«ÜÞÓÓ3ìeõÞ p €·SOáø+ +¨oÑEÌN“ÀŸýU r@À[Gô‰gpðïíüS8^ Ððzú)z{{ïU C4ü}P9ø'üŸ>00°Ù¿Ò©X°€ðV€&€·SOá à§ÿ~Î;U#€À~4öÃàGðO h¨êÓuc%€ÓOÅ àÀ_tÎÿ‹xçߟ §R˜]€Àì.Ü‹ ôõõÝ£rix4甊^ ÿ§ëœÿ»¼ªšb@YhÌ‚Â] àŸÀ~M€‡ý«žŠ@g8øwvj) ÂУÆ> à¤ÀÞ&@pa@šNÎ0E!€€gü{6ᔋó ”ìÞ½{þ­ØðH ¹¹ù*÷Wº=Ó£²)pIà!]íÿÅœóïÒ”R ˜`€ Eb €€SZ ðŸ¹\nµŠÚâTaƒø!0¬7¸NãàßɦJ(N€Åy±5x$ÐÖÖvÄôôôM*¹Á£²)Ȳ@ÿÔÔÔ™7nüK–‹ w@ .VÄ%K\ȼ@ww÷#§ª›3_  €î ÜZVVv:ÿîO4"€@xáíØ<9K¥þȃr)ȪÀu555/Qãv4«7 „ €$”2-°eË–]Ë—/Џ2Ó…< à @IIÉ7uðvgg焃åQ `T€kå$¸. OxŸjü´ëuR KuáÖ÷g$WÒDR údM ©©é­zÇiòfUÖ&|@ÀÝz~wooïå®D €@4’Pf pN@M€WéÅçwUØB犣 @Àn1¥w®Þù¿Îî4ɰO€€}sBF 5V¨ ðS¥ûœŒ¤Lš €@Öؽ{÷+ûõ•õBÈHC€å«i¨3&8! ×Ÿ›TH‹^ŒþÖ‰‚(°X@ϵ]ú˜¿fþ-ž$RCëX`ý‘ Ø.PWWW¹dÉ’¯èÅéù¶çJ~ €@F¾111ñ}4ëdFó'm@À VLI €€ :%à:%à ÕRæB=Ô€X WÐùþ—Z ) €™ ù)¤°I@M€¿WàÊi‰My‘  AZYõZ-ùÿYs'e@ÀJVN I!€@–Z[[Ÿ—Ïç¯W Çg¹rGRøÿ333¯Øœb 8'ÀE›R B´6lØðû\.÷B½suSÚ¹0> A&''WqðŸÁ™#e°^€ÖO "€@Vt*@‰N ¸Dù_¦[yVë o@ !i=m~BçûL Ô™„Æd@À+^M7Å"€@j¬Ñ‹Úïkì£ÓŸ1@ < çÉsz{{oÏ@®¤ˆdV€S2;u$ŽYЬ~§\WrJ@VfŒ<@ I=7ÞRVVÖÌÁ’ꌅ¾ °À×™§nH\@ïnqJ@âê ˆ °äßâÉ!5pS€€›óJU `±@ccã©¥¥¥Á)GYœ&©!€q <¨àçè|ÿõqBl@8à@þ…Ä. +[ߦ·Z©¿ˆ}0@,Ðs߯Õmæàß²‰!ðB€^L3E"€€z\ª ¾K¹}\·*s$'@À À¸Î÷ÿ?j‚®ã*ÿU …!@ ,6EâÐ)'ær¹oëqsñ‰‰X У^§wýï± R@¼ào§žÂ@À½¶yÑ¢E§(Ÿ÷ë6iK^ä˜VŒKukçà߀&!@ˆ¬ˆÈî €€I°B§|[1WšŒK,@ »4æy:ðHal†D˜E€³ p –@ÿ¦ššš`5@ðŽY>­<ˆ 0£}׌Œ4qðA‘]@X*!@º6À)ºRv° ÎDí$±@ HV Ææ €@Rz}ÇÄÄD£N ¸Bcï¨ñ…Ø*¬Xú¢n/ààßÖ)"/@`ÁVð(@2 ÐÜÜܨO ¸RÍ€– ¤KŠ à—À*÷"-÷ßàWÙT‹dO€@ö挌@ÀSü—ê´€ õý2ÔzÊ@Ù `ÀJåãË—/ÿì~ô#®Ybϼ  0§ €9iø `§€V©Õ—ªp®’x pƒ®Qò–žžžû=¨•@gh83•‚¾ ¨ðRÕü%ÝŽõ­vêEÔ†Õ|¼¸··÷¦Ô2``@Ð\04;"€é è|Û+**NÒ‹ñ*“]éfÃè à¸À”ê[755µ‚ƒÇgšò@ÀiV8=½‡¾¬Zµê$}ôV° Ã—š©’P“ñ×z~y[ÿÝÉŒÈ( €q ЈK–¸ €@ jœ¡ê—kèú†gHpKà^•ó!­6ºÆ­²¨ðW€Sü{*GtA®[jjjt‘À7©¼G,‘’@ ~Ç4Ä;ô\RÏÁüØŒ€$)À €$µ HP ¾¾~Quuõ{Ô x¯†­Nph†Bl Œ+íuº}Jþ#Ù,¬@žN€ÀÓéð;@À¶¶¶eù|þCj\¨rXùåÀœR†v+Þµzžxïààà Ç& €€E4,š RAâhlllÖż>«ÛiqŽClÈŽ€žîÐÿ»îÈNÖdŠ V€@X9öC2*ÐÒÒòr­ø°ÒoÌh ¤tàß§çh©ÿC±; €@†hdh²H0)|b€Þùû¤ZLÆ%X-°IÙý›>ÒïZ5‚¥ÿ|!€x$@À£É¦T@`6³©pÎ lTEŸàÀß¹y¥ @ (Eq±1 à®wç–ʼàÀßëé§x@à@zð/@À{Þ?pC€7æ‘*@£4Œr pC@×(ѧ¼LßÞ«ŠÚݨŠ*p_@ÿÏÞ¦Sû?ÃÅýÜŸk*DÂУÆ> €€GÍÍÍ: x‡,ÎQÙå•N©dE ¯Doš™™ù$ç—•)#O@ é¸3* 95ŽTàMj¼MÉš¹H÷FUÒ·tûœÞñ¿Ï½ò¨@À´ Ó¢ÄC¨¯¯_TYYù5Þ¥Rw¼\ÊCÀFa%u•nWêÀÄÆÉ @ÀNvÎ Y!€Ö ¨Pªë¼T‰^¢ŸÏ°>aD ûýúmÝ¢E‹þ_ggçtöË¡@¤h$-Îx €€ƒúä€ü&•öOº-r°DJB -ø:õæ«ýúJ+ ÆEpC€€óH €€ííí5»víz•šç²*ÀŠ)!‰ì ôë ÿªêêêï¯_¿>hð… €@d‘ € 0›@SSÓóÕx~wnÿm¶m¸Ñÿ3?Ôí+===wðþ €€  0·@]]]åâÅ‹_®w3ߨ›iË’¹·æ7x)°çÝ~ýÿñ=]Ôo§— ˆ €D˜@ hii >5à5ÎÑ÷c‚ûøBÀSûõÿÁ÷ËÊʾ±aÆß{j@Ù € ÐHœá@þ& SšôŽçyú×Ùº‰ <¦ƒþŸçr¹ïôööþZ?ïö fJD°H€€E“A* €€j”ª°Zµ€`eÀá>:P³³Ûtœƒª»¦¶¶ö&>¾ÏÙy¦0@ 421M$‰ø!°víÚÜððð)j œ«ƒ¦à#ûQ9U:&0¢Çïõªé}*Æ/‡††&«r@2*@ £GÚ €€ëU;vìøH½Z —¨^>IÀõIÏv}*ý›ôXýÉöíÛ±eË–]Ù.‡ì@\ àâ¬R à˜@pš@cccƒ¾Ÿ¡ÒÎÒ-8e€Oplž3XÎfåü³ÒÒÒ[.\x+Ëû38ƒ¤Œx&@À³ §\@À“O>ùðŠŠŠ`uÀËTÏßëVëB]Ô`½ÀN=æºÔˆºAý?ééé¹ßúŒI@ýhì‡Á €ÙN=M™¿LfgêûòìUAÆ lUn?×톑‘‘ß²´ßâ™"5@yhÌKÄ €Yhnn>R°=8]@ïÖ¶ëç³”?¹¦.ðge°^[ÊÊÊnÞ°aÃRψ@0$@À$a@ìXµjÕ3gffÖ(» ðBÝuãúBàkÀ°öo×OÁAÿ/þ„  €® Ðpuf© @`V`…€Vœ¦ƒ½SµAp;A·Ü¬s§kyt·n·iþ›ËånÓyü»V$õ € 0— €¹d¸@À úúúEUUU+Ul“ ›ÔhÒÏAS Ô ·‹ –ó÷kNûµ ¤jjjý¦M›¶¹]2Õ!€ 0· €¹mø  €€§429ñìWVVÞÞÕÕõx&+!i@b ,a@Ühoo¯Ù¹sgƒ–?_•+NЊãõýÙº±Z@ |ÍhŒ?éý{õŽþÝú(¾{óùü݇rÈàúõëw$0>C € i™ž>’GH[@«*tºL¢'éÀôDÝ–«1p’òZ¡[MÚùetü]Ê;øø½»t–éfðß5==}ÏÆŸÈhM¤ €@ê4RŸ@pU@Ÿ@pŒ\ƒÏRSàhÈ. ~Öí(ÝŽÑ홺ùö‰Á»øèv¿nßeó€l‚ŸïÓGïý±»»ûýÌ € `”p €* O$(Wƒà(-e?&hMí4–è祺o©~ÞÿvH¡±Þn§Æ .®·ç¦Ü·)÷=·ýîï×*‰TëC}}}S çÇp € < @Ȉ@]]]åa‡¶DKá—ªq°T×#Øó]é/Ô­\Ý‹ö–R®ïû~Þÿ~?yÿžMõ»1ý°ç€\¿Û÷³îÛ÷ó~÷?¡øm:ß|×»õÛÆÆÆ¶ Mî Æ@@ÀjVOÉ!€ € € `F€«›q$  € € €V аzzH@@@34Ì8@@@«hX==$‡ € € €€f‰‚ € € €€Õ4¬ž’C@@@ÀŒ 3ŽDA@@@ÀjVOÉ!€ € € `F€€G¢ € € € `µ «§‡ä@@@0#@ÀŒ#Q@@@°Z€€ÕÓCr € € €˜ `Æ‘( € € €X-@Àêé!9@@@ÌÐ0ãH@@@¬ `õô € € €fh˜q$  € € €V аzzH@@@3ÿÚ½dßjiÈIEND®B`‚ic11”‰PNG  IHDR szzôsRGB®ÎéDeXIfMM*‡i     ¬†bóöIDATX ÍVÍkA“Rô ø‚Ńà¡l>$½µ…Þc/õ¤Pý 4bÕ›Ôƒ,êÕ£"BÁ̪E=("*-´“³ão¶3›%;ÙÙìeØ}o~ïsÞ›YÆ9§8ƒ]g‡©G']Û4½ä—øç8~2qŒ\‡r w$? +”ë ÁWâ [À®±Iâ´[S$ˇYlýñÍ·XFëü2À}3mBv• %ŸÍ(l_á“aÿ ý b´7° N`ó¿ wŸl0¶`@ß›¢ç§±7žº£Y^åÏ<áLâ-H<ãgRÍ_-K¹àcØ{ V4‘±«:DG4¶Fý]=ÊùB˜¢1Ü•S,æAÛ‚‡&€$“Æ d‰ÊDé8iî"ü1†1qÎ;a>ŠÅâÜ'ˆŽã´l¢AI1&ÐW%ÊårÛ1?‡gƶíSBÖëõª ¯¯•5¸ENÀ²¬ãŒ±'°<„gÝó g~þŠÊ¬êÅ}4R…B¡„à/`¶Cšþí»ÐrcÐ?*/¨uãWP*•¶¡—âÒqƒÃñ[¬LwLJN]úß %a;/05&ÐívÏÀê ´ü’N§§›Íæ§€'¢ÍL&3\ýœŽw:ñ³:Œ `%ÓÊøÅz½¾©æƒTÈ sË‡Ïøx-eìS–(ÿ{Å+ ì‚¶0w/¤T*µ‚¹+†l¿ÒF ÀÙ)‡?£F£ñBñ¸ú^ÂÖ$<”[€àËÊ›q^ñ!ÔÓñÛÓ7&€’>„±Ûw8<Ãèf¥R ÍÃY±ݲ ¶ ûHòCI¤ÿ|>?‡Ò g[½ ú€dî[‘ž'@Å yLÎ!âsøZ–ä|(‰”€°ÆÊÏ‚ÜÆ3&æ!£…ä.`o<ÑñDÆ(Mœj÷Á‹•ŠUµî£m~Œg"jpa¹¾@$N¸v»Çþ8 p”û[6›µkµšøGÿ¸pèŽ{ÑŒIEND®B`‚info>bplist00Ô X$versionY$archiverT$topX$objects† _NSKeyedArchiverÑ Troot€§ U$nullÓ WNS.keysZNS.objectsV$class¢€€¢€€€Tname_assetcatalog-referenceTiconÓ   €Ò !"Z$classnameX$classes\NSDictionary¢!#XNSObject$)27ILQS[ahp{‚…‡‰ŒŽ’—°µ¼½¾ÀÅÐÙæé$òqgit-qgit-2.11/src/resources/qgit.ico000066400000000000000000000410761500324541100176070ustar00rootroot00000000000000@@ (B(@€ B666&222k333‘222§222À222À222§333‘333j000%777333†333à333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333à444…...777222“333ö333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ö333‘7774446333Û333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333à333<222\333û333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333û333Z222Q333û333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ô222¶222„333n333n444…444·333ô333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333û444O444,333ø333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333Þ222f@@@@@@444g333ß333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ø111*222Å333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333Ÿ+++ ;;; 333Ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333Ã222`333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333‘333’333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ444^333Ñ333ÿ333ÿ333ÿ333ÿ333ÿ222À333Â333ÿ333ÿ333ÿ333ÿ333ÿ333Î444'333ÿ333ÿ333ÿ333ÿ333ÿ333þ444,333-333þ333ÿ333ÿ333ÿ333ÿ333ÿ222$333d333ÿ333ÿ333ÿ333ÿ333ÿ333Ç333É333ÿ333ÿ333ÿ333ÿ333ÿ444b333Œ333ÿ333ÿ333ÿ333ÿ333ÿ333‡333ˆ333ÿ333ÿ333ÿ333ÿ333ÿ444Š333›333ÿ333ÿ333ÿ333ÿ333ÿ444l------------+++ 444l333ÿ333ÿ333ÿ333ÿ333ÿ333›222Ž333ÿ333ÿ333ÿ333ÿ333ÿ333s222$333ÿ333ÿ333ÿ333ÿ444­333~333ÿ333ÿ333ÿ333ÿ333ÿ444”444v333ÿ333ÿ333ÿ333ÿ333ÿ333 222$333ÿ333ÿ333ÿ333ÿ444­333¥333ÿ333ÿ333ÿ333ÿ333ÿ333y222G333ÿ333ÿ333ÿ333ÿ333ÿ333ë@@@222$333ÿ333ÿ333ÿ333ÿ444­777333ò333ÿ333ÿ333ÿ333ÿ333ÿ222G$$$333ó333ÿ333ÿ333ÿ333ÿ333ÿ444q222$333ÿ333ÿ333ÿ333ÿ444­333y333ÿ333ÿ333ÿ333ÿ333ÿ333ì333222333ÿ333ÿ333ÿ333ÿ333ÿ333ô111/222$333ÿ333ÿ333ÿ333ÿ444­2228333ù333ÿ333ÿ333ÿ333ÿ333ÿ333—333#333û333ÿ333ÿ333ÿ333ÿ333ÿ333å111/222$333ÿ333ÿ333ÿ333ÿ444­333<333é333ÿ333ÿ333ÿ333ÿ333ÿ333÷222$222‰333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333õ444q+++222$333ÿ333ÿ333ÿ333ÿ333å333ù333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333|333444Æ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ222Ê222$333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ222Å+++...333Ñ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333Û222$333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333Ð---333444Æ333ÿ333ÿ333ÿ333ÿ333ÿ333Û222$333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ444­444™444™444™333K@@@333w333ù333ÿ333ÿ333ÿ333Û222$333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333}666!444™333û333ÿ333Û222$333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333}777444l222222$333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333ÿ333}+++ 333U333U333U333U333U333U333U333U333U333U333U333U333U333U111*Ì ÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÙÌ Ô‰ÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔ‰Ô‰ÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔ‰Ô‰ÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔ‰Ô‰ÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔ‰Ô‰ÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔÿÔ‰Ö%ÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÔGÖ%€X€‚€‚€‚€‚€X€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®g€Â€Â€Â€Â€Â€Â€Â€Â€Â€Â€Â€Â€ì€ÿ€ÿ€ÿ€ÿ€ì€Â€Â€Â€Â€Â€Â€Â€Â€Â€Â€Â€Âg€‰€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€‰€‰€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€‰€‰€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€‰€‰€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€ÿ€‰Q€™€™€™€™€™€™€™€™€™€™€™€™߀ÿ€ÿ€ÿ€ÿ߀™€™€™€™€™€™€™€™€™€™€™€™Q€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€®€ÿ€ÿ€ÿ€ÿ€®€€Ð€Ð€Ð€Ð€ÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿøÿÿÿÿðÿÿÿÿàÿÿÿÿÀàÿÿÿÿ€øÿÿÿÿ€þÿÿÿÿ€þÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿ€ÿÿÿÿÿ€ÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿ€?ÿÿÿÿÀÿÿÿÿÀÿÿÿÿàÿÿÿÿðÿÿÿÿøÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿqgit-qgit-2.11/src/resources/qgit.png000066400000000000000000000014631500324541100176150ustar00rootroot00000000000000‰PNG  IHDR00Wù‡sRGB®Îé pHYs  šœØIDAThÞíšMHTQÇSÖ¢@£¤ZDDT‚Edmš„@+¥Qt‚‚6R›-"ƒ6Ñ¡ei-‚ rQ -" ©È"+¥%efÓb®0<î8ófæ>x3ó¿ŸÿûîùŸû1Xô~ýF Ý’t¨+Q̶Êpcs-¼¼Ø M£Ä-$(Ð"y(LˆfɶØmÁ/ýYÊÞìŠÅ{\ªP8‘ç€íÏ!O/Ðú@H ËÇno³ä©ŽZð“À›,e;U¡•jpÇ’TÓ‹?)å)4Zê>ð7$ÐrzøfÁZ*Ô»©z°ÂaŸ^­zôì‹Ë)T \sH ¸.%BSx-4æ‘Èï¹äM†2Zˆ‰H@U“"2˜í³Šª:êr Ù:= h¶5@0Ô·|V·Ë,Ùƒ! "ÍÀ`Q©8qzçZj*4ÞùÀ…"ôápÅ,þÆ€—Î ç¼L/R,ÚԩꇠY#°Ð‚÷mÀ`†rýÀqà¹_ $ÌÀBà {¬WÕvUý3DžÖÝž´eÀçŒÎ×xà¯@£ªåR‡Ñùf3çÓ­5ˆ7°Øœ.©ê€ŸJTµxè—AÀÖÈÓ yG€wi×IžßsDd¦kúeÁ*2Œò]`Éuý´`óÉ~‚]ж`+óñ®§ÐG‹ó5å#@½ûQš„eÔŽøT³`µò‰ó7,ØiÙ›‹ ‹ÈN³|ðZ·ª&];1@'©‹ìrÏ`\‘ÃæTá}Ú3¬6“º¥©ÊPoG`iȧÁ ¬CUÛÔ«j'p¶H 워S‰6à|u$€ZUž´=±ˆl7NY飨p 8ç×qlêE¤hHýÑ£,C¼Gêö&®ªŸ¦Ü©„!Sa¢lÒì¸Æ??«jQïþɽÎ`*c¡IEND®B`‚qgit-qgit-2.11/src/resources/qgit.svg000066400000000000000000000070721500324541100176320ustar00rootroot00000000000000 image/svg+xml qgit-qgit-2.11/src/resources/question.svg000066400000000000000000000024761500324541100205400ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/snap-page.svg000066400000000000000000000006561500324541100205420ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/svn-commit.svg000066400000000000000000000032621500324541100207570ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/text-x-patch.svg000066400000000000000000000015731500324541100212140ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/utilities-terminal.svg000066400000000000000000000033211500324541100225030ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/view-filter.svg000066400000000000000000000010771500324541100211220ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/view-list-tree.svg000066400000000000000000000010561500324541100215420ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/view-refresh.svg000066400000000000000000000035601500324541100212720ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/view-split-effect.svg000066400000000000000000000016371500324541100222240ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/view-split-top-bottom.svg000066400000000000000000000011411500324541100230620ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/window-close.svg000066400000000000000000000011621500324541100212720ustar00rootroot00000000000000 qgit-qgit-2.11/src/resources/window-pin.svg000066400000000000000000000013001500324541100207450ustar00rootroot00000000000000 qgit-qgit-2.11/src/revdesc.cpp000066400000000000000000000024101500324541100162610ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include #include #include "domain.h" #include "revdesc.h" RevDesc::RevDesc(QWidget* p) : QTextBrowser(p), d(NULL) { connect(this, SIGNAL(anchorClicked(const QUrl&)), this, SLOT(on_anchorClicked(const QUrl&))); connect(this, SIGNAL(highlighted(const QUrl&)), this, SLOT(on_highlighted(const QUrl&))); } void RevDesc::on_anchorClicked(const QUrl& link) { QRegExp re("[0-9a-f]{40}", Qt::CaseInsensitive); if (re.exactMatch(link.toString())) { setSource(QUrl()); // override default navigation behavior d->st.setSha(link.toString()); UPDATE_DOMAIN(d); } } void RevDesc::on_highlighted(const QUrl& link) { highlightedLink = link.toString(); } void RevDesc::on_linkCopy() { QClipboard* cb = QApplication::clipboard(); cb->setText(highlightedLink); } void RevDesc::contextMenuEvent(QContextMenuEvent* e) { QMenu* menu = createStandardContextMenu(); if (!highlightedLink.isEmpty()) { QAction* act = menu->addAction("Copy link SHA1"); connect(act, SIGNAL(triggered()), this, SLOT(on_linkCopy())); } menu->exec(e->globalPos()); delete menu; } qgit-qgit-2.11/src/revdesc.h000066400000000000000000000010421500324541100157260ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef REVDESC_H #define REVDESC_H #include class Domain; class RevDesc: public QTextBrowser { Q_OBJECT public: RevDesc(QWidget* parent); void setup(Domain* dm) { d = dm; } protected: virtual void contextMenuEvent(QContextMenuEvent* e); private slots: void on_anchorClicked(const QUrl& link); void on_highlighted(const QUrl& link); void on_linkCopy(); private: Domain* d; QString highlightedLink; }; #endif qgit-qgit-2.11/src/revsview.cpp000066400000000000000000000240461500324541100165110ustar00rootroot00000000000000/* Description: qgit revision list view Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include "common.h" #include "git.h" #include "domain.h" #include "treeview.h" #include "listview.h" #include "filelist.h" #include "revdesc.h" #include "patchview.h" #include "smartbrowse.h" #include "mainimpl.h" #include "revsview.h" RevsView::RevsView(MainImpl* mi, Git* g, bool isMain) : Domain(mi, g, isMain) { revTab = new Ui_TabRev(); revTab->setupUi(container); tab()->listViewLog->setup(this, g); tab()->textBrowserDesc->setup(this); tab()->textEditDiff->setup(this, git); tab()->fileList->setup(this, git); m()->treeView->setup(this, git); setTabLogDiffVisible(QGit::testFlag(QGit::LOG_DIFF_TAB_F)); SmartBrowse* sb = new SmartBrowse(this); // restore geometry QVector v; v << tab()->horizontalSplitter << tab()->verticalSplitter; QGit::restoreGeometrySetting(QGit::REV_GEOM_KEY, NULL, &v); connect(m(), SIGNAL(typeWriterFontChanged()), tab()->textEditDiff, SLOT(typeWriterFontChanged())); connect(m(), SIGNAL(flagChanged(uint)), sb, SLOT(flagChanged(uint))); connect(m(), SIGNAL(flagChanged(uint)), SLOT(on_flagChanged(uint))); connect(git, SIGNAL(newRevsAdded(const FileHistory*, const QVector&)), this, SLOT(on_newRevsAdded(const FileHistory*, const QVector&))); connect(git, SIGNAL(loadCompleted(const FileHistory*, const QString&)), this, SLOT(on_loadCompleted(const FileHistory*, const QString&))); connect(m(), SIGNAL(changeFont(const QFont&)), tab()->listViewLog, SLOT(on_changeFont(const QFont&))); connect(m(), SIGNAL(updateRevDesc()), this, SLOT(on_updateRevDesc())); connect(tab()->listViewLog, SIGNAL(lanesContextMenuRequested(const QStringList&, const QStringList&)), this, SLOT(on_lanesContextMenuRequested (const QStringList&, const QStringList&))); connect(tab()->listViewLog, SIGNAL(applyRevisions(const QStringList&, const QString&)), m(), SLOT(applyRevisions(const QStringList&, const QString&))); connect(tab()->listViewLog, SIGNAL(applyPatches(QStringList)), m(), SLOT(applyPatches(const QStringList&))); connect(tab()->listViewLog, SIGNAL(rebase(QString,QString,QString)), m(), SLOT(rebase(QString,QString,QString))); connect(tab()->listViewLog, SIGNAL(merge(QStringList,QString)), m(), SLOT(merge(QStringList,QString))); connect(tab()->listViewLog, SIGNAL(moveRef(QString,QString)), m(), SLOT(moveRef(QString,QString))); connect(tab()->listViewLog, SIGNAL(contextMenu(const QString&, int)), this, SLOT(on_contextMenu(const QString&, int))); connect(m()->treeView, SIGNAL(contextMenu(const QString&, int)), this, SLOT(on_contextMenu(const QString&, int))); connect(tab()->fileList, SIGNAL(contextMenu(const QString&, int)), this, SLOT(on_contextMenu(const QString&, int))); connect(m(), SIGNAL(changeFont(const QFont&)), tab()->fileList, SLOT(on_changeFont(const QFont&))); connect(m(), SIGNAL(highlightPatch(const QString&, bool)), tab()->textEditDiff, SLOT(on_highlightPatch(const QString&, bool))); } RevsView::~RevsView() { if (!parent()) return; QVector v; v << tab()->horizontalSplitter << tab()->verticalSplitter; QGit::saveGeometrySetting(QGit::REV_GEOM_KEY, NULL, &v); // manually delete before container is removed in Domain // d'tor to avoid a crash due to spurious events in // SmartBrowse::eventFilter() delete tab()->textBrowserDesc; delete tab()->textEditDiff; delete linkedPatchView; delete revTab; } void RevsView::clear(bool complete) { Domain::clear(complete); tab()->textBrowserDesc->clear(); tab()->textEditDiff->clear(); tab()->fileList->clear(); m()->treeView->clear(); updateLineEditSHA(true); if (linkedPatchView) linkedPatchView->clear(); } void RevsView::setEnabled(bool b) { container->setEnabled(b); if (linkedPatchView) linkedPatchView->tabPage()->setEnabled(b); } void RevsView::toggleDiffView() { QStackedWidget* s = tab()->stackedPanes; QTabWidget* t = tab()->tabLogDiff; bool isTabPage = (s->currentIndex() == 0); int idx = (isTabPage ? t->currentIndex() : s->currentIndex()); bool old = container->updatesEnabled(); container->setUpdatesEnabled(false); if (isTabPage) t->setCurrentIndex(1 - idx); else s->setCurrentIndex(3 - idx); container->setUpdatesEnabled(old); } void RevsView::setTabLogDiffVisible(bool b) { QStackedWidget* s = tab()->stackedPanes; QTabWidget* t = tab()->tabLogDiff; bool isTabPage = (s->currentIndex() == 0); int idx = (isTabPage ? t->currentIndex() : s->currentIndex()); container->setUpdatesEnabled(false); if (b && !isTabPage) { t->addTab(tab()->textBrowserDesc, "Log"); t->addTab(tab()->textEditDiff, "Diff"); t->setCurrentIndex(idx - 1); s->setCurrentIndex(0); } if (!b && isTabPage) { s->addWidget(tab()->textBrowserDesc); s->addWidget(tab()->textEditDiff); // manually remove the two remaining empty pages t->removeTab(0); t->removeTab(0); s->setCurrentIndex(idx + 1); } container->setUpdatesEnabled(true); } void RevsView::viewPatch(bool newTab) { if (!newTab && linkedPatchView) { m()->tabWdg->setCurrentWidget(linkedPatchView->tabPage()); return; } PatchView* pv = new PatchView(m(), git); m()->tabWdg->addTab(pv->tabPage(), "&Patch"); m()->tabWdg->setCurrentWidget(pv->tabPage()); if (!newTab) { // linkedPatchView == NULL linkedPatchView = pv; linkDomain(linkedPatchView); connect(m(), SIGNAL(highlightPatch(const QString&, bool)), pv->tab()->textEditDiff, SLOT(on_highlightPatch(const QString&, bool))); connect(pv->tab()->fileList, SIGNAL(itemDoubleClicked(QListWidgetItem*)), m(), SLOT(fileList_itemDoubleClicked(QListWidgetItem*))); } connect(m(), SIGNAL(updateRevDesc()), pv, SLOT(on_updateRevDesc())); connect(m(), SIGNAL(closeAllTabs()), pv, SLOT(on_closeAllTabs())); pv->st = st; UPDATE_DM_MASTER(pv, false); } void RevsView::on_newRevsAdded(const FileHistory* fh, const QVector&) { if (!git->isMainHistory(fh) || !st.sha().isEmpty()) return; ListView* lv = tab()->listViewLog; if (lv->model()->rowCount() == 0) return; st.setSha(lv->sha(0)); st.setSelectItem(true); UPDATE(); // give feedback to user as soon as possible } void RevsView::on_loadCompleted(const FileHistory* fh, const QString& stats) { if (!git->isMainHistory(fh)) return; UPDATE(); // restore revision after a refresh QApplication::postEvent(this, new MessageEvent(stats)); } void RevsView::on_updateRevDesc() { SCRef d = m()->getRevisionDesc(st.sha()); tab()->textBrowserDesc->setHtml(d); } void RevsView::on_flagChanged(uint flag) { if (flag == QGit::ENABLE_DRAGNDROP_F) { if (QGit::testFlag(QGit::ENABLE_DRAGNDROP_F)) { tab()->listViewLog->setSelectionMode(QAbstractItemView::ExtendedSelection); } else { tab()->listViewLog->setSelectionMode(QAbstractItemView::SingleSelection); } } } bool RevsView::doUpdate(bool force) { force = force || m()->lineEditSHA->text().isEmpty(); bool found = tab()->listViewLog->update(); if (!found && !st.sha().isEmpty()) { const QString tmp("Sorry, revision " + st.sha() + " has not been found in main view"); showStatusBarMessage(tmp); } else { // sha could be NULL if (st.isChanged(StateInfo::SHA) || force) { updateLineEditSHA(); on_updateRevDesc(); showStatusBarMessage(git->getRevInfo(st.sha())); if ( testFlag(QGit::MSG_ON_NEW_F) && tab()->textEditDiff->isVisible()) toggleDiffView(); } const RevFile* files = NULL; bool newFiles = false; if (st.isChanged(StateInfo::ANY & ~StateInfo::FILE_NAME) || force) { tab()->fileList->clear(); if (linkedPatchView) // give some feedback while waiting linkedPatchView->clear(); // blocking call, could be slow in case of all merge files files = git->getFiles(st.sha(), st.diffToSha(), st.allMergeFiles()); newFiles = true; tab()->textEditDiff->update(st); } // call always to allow a simple refresh tab()->fileList->update(files, newFiles); // update the tree at startup or when releasing a no-match toolbar search if (m()->treeView->isVisible() || st.sha(false).isEmpty()) m()->treeView->updateTree(); // blocking call if (st.selectItem()) { bool isDir = m()->treeView->isDir(st.fileName()); m()->updateContextActions(st.sha(), st.fileName(), isDir, found); } if (st.isChanged() || force) { // activate log or diff tab depending on file selection bool sha_changed = st.sha(true) != st.sha(false); tab()->tabLogDiff->setCurrentIndex(sha_changed ? 0 : 1); tab()->textEditDiff->centerOnFileHeader(st); } // at the end update diffs that is the slowest and must be // run after update of file list for 'diff to sha' to work if (linkedPatchView) { linkedPatchView->st = st; UPDATE_DM_MASTER(linkedPatchView, force); // async call } } return (found || st.sha().isEmpty()); } void RevsView::updateLineEditSHA(bool clear) { QLineEdit* l = m()->lineEditSHA; if (clear) l->setText(""); // clears history else if (l->text() != st.sha()) { auto hash = QGit::testFlag(QGit::ENABLE_SHORTREF_F) ? st.sha().left(git->shortHashLength()) : st.sha(); if (l->text().isEmpty()) l->setText(hash); // first rev clears history else { // setText() clears undo/redo history so // we use clear() + insert() instead l->clear(); l->insert(hash); } } m()->ActBack->setEnabled(l->isUndoAvailable()); m()->ActForward->setEnabled(l->isRedoAvailable()); } void RevsView::on_lanesContextMenuRequested(SCList parents, SCList children) { QMenu contextMenu; FOREACH_SL (it, children) contextMenu.addAction("Child: " + git->getShortLog(*it)); FOREACH_SL (it, parents) { QString log(git->getShortLog(*it)); contextMenu.addAction("Parent: " + (log.isEmpty() ? *it : log)); } QAction* act = contextMenu.exec(QCursor::pos()); // modal exec if (!act) return; int cc = children.count(); int id = contextMenu.actions().indexOf(act); SCRef target(id < cc ? children[id] : parents[id - cc]); st.setSha(target); UPDATE(); } qgit-qgit-2.11/src/revsview.h000066400000000000000000000022021500324541100161440ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef REVSVIEW_H #define REVSVIEW_H #include #include "ui_revsview.h" // needed by moc_* file to understand tab() function #include "common.h" #include "domain.h" class MainImpl; class Git; class FileHistory; class PatchView; class RevsView : public Domain { Q_OBJECT public: RevsView(MainImpl* parent, Git* git, bool isMain = false); ~RevsView(); void clear(bool complete); void viewPatch(bool newTab); void setEnabled(bool b); void setTabLogDiffVisible(bool); Ui_TabRev* tab() { return revTab; } public slots: void toggleDiffView(); private slots: void on_newRevsAdded(const FileHistory*, const QVector&); void on_loadCompleted(const FileHistory*, const QString& stats); void on_lanesContextMenuRequested(const QStringList&, const QStringList&); void on_updateRevDesc(); void on_flagChanged(uint flag); protected: virtual bool doUpdate(bool force); private: friend class MainImpl; void updateLineEditSHA(bool clear = false); Ui_TabRev* revTab; QPointer linkedPatchView; }; #endif qgit-qgit-2.11/src/revsview.ui000066400000000000000000000116711500324541100163440ustar00rootroot00000000000000 TabRev 0 0 693 523 Rev list 0 0 Qt::Vertical Qt::CustomContextMenu true true false true false true Qt::Horizontal 0 0 0 346 249 QTabWidget::East QTabWidget::Triangular 0 0 0 317 243 Log 0 0 QTextEdit::WidgetWidth 0 0 317 243 Diff 0 0 test false QTextEdit::NoWrap true Qt::CustomContextMenu ListView QTreeView
listview.h
RevDesc QTextBrowser
revdesc.h
FileList QListWidget
filelist.h
PatchContent QTextEdit
patchcontent.h
revdesc.h
qgit-qgit-2.11/src/settings.ui000066400000000000000000001504001500324541100163240ustar00rootroot00000000000000 settingsBase 0 0 513 377 0 0 Settings :/icons/resources/configure.svg:/icons/resources/configure.svg false true 5 &General 6 9 9 9 9 6 0 0 0 0 QFrame::StyledPanel QFrame::Raised 6 9 9 9 9 6 0 0 0 0 Check to see commit author date as relative time from now Relati&ve time in date column Alt+V Check to view range select dialog at repository opening Show range select when opening a repositor&y Alt+Y Reopen last repository on startup 4 0 0 0 0 Select action on file double click Double click action false comboBoxDoubleClickAction 1 0 Select text codec to use. You need to refresh the view (F5) after a codec change View patch Open in editor Open in diff tool Qt::Vertical 20 21 0 0 0 0 4 40 16777215 Browse directories ... Typewriter (fixed width) font used by patch and file viewers true &Fixed width font false lineEditTypeWriterFont Set path of the external diff tool &External diff tool false lineEditExternalDiffViewer Set path of the external editor &External editor false lineEditExternalEditor 40 16777215 Browse directories ... 40 16777215 Choose font ... Use %1 and %2 to denote files to diff. Use %1 to denote files to edit. Qt::Vertical 20 20 4 0 0 0 0 Select text codec to use. You need to refresh the view (F5) after a codec change Te&xt codec false comboBoxCodecs 1 0 Select text codec to use. You need to refresh the view (F5) after a codec change &Browse 6 9 9 9 9 0 0 0 0 0 QFrame::StyledPanel QFrame::Raised 0 2 2 2 2 4 0 0 0 0 Check to see tabbed revision log / diff pane Show tabbed revision msg / diff pane Check to show smart jump labels on revision description pane Show smart labels Check to see always the revision description in main view when browsing the repo. Patch content will be visible after request. Show always revision message as first Alt+Y Check to enable Git operations, etc. via drag & drop Enable drag && drop Check to display short commit hash instead of full-length hash Display short commit hash Qt::Vertical 20 71 Patc&h QFrame::StyledPanel QFrame::Raised 0 2 2 2 2 4 0 0 0 0 Check to see patch numbers on patch series header Num&bered patches Alt+B Check to add a 'Signed-off-by:' line if not already existent &Sign off patch Alt+S Qt::Vertical 399 91 &Apply patch extra options false lineEditApplyPatchExtraOptions Extra options to pass to 'git am' 32767 &Format patch extra options false lineEditFormatPatchExtraOptions Extra options to pass to 'git format-patch' 32767 &Working directory 6 9 9 9 9 0 0 0 0 0 QFrame::StyledPanel QFrame::Raised 4 5 5 5 5 Check to see git status. You need this to commit changes Diff again&st working directory Alt+S Qt::Vertical 20 40 0 0 0 0 4 Exclude patterns file that apply only to the directory and its subdirectories Exclude patterns are read from this file one per line E&xclude per dir false lineEditExcludePerDir &Exclude file path false lineEditExcludeFile &Commit 6 9 9 9 9 0 0 0 0 0 QFrame::StyledPanel QFrame::Raised 0 2 2 2 2 4 3 3 3 3 Check to add -s option to git commit-script &Sign off commit Alt+S Check to add -v option to git commit-script &Verify commit Alt+V Use default commit message Qt::Vertical 20 21 0 0 0 0 4 Defined in: Author lineEditAuthor true true E-mail lineEditMail Qt::Vertical 20 21 0 0 0 0 4 Ms&g template Qt::PlainText false lineEditAuthor &Extra options false lineEditCommitExtraOptions Commit message template file Extra options to pass to git commit-script Gi&t config Qt::Horizontal 40 20 Git options source: Local Global 2 Parameter Value QDialogButtonBox::Ok checkBoxNumbers toggled(bool) settingsBase checkBoxNumbers_toggled(bool) 26 47 20 20 lineEditFormatPatchExtraOptions textChanged(QString) settingsBase lineEditFormatPatchExtraOptions_textChanged(QString) 160 301 20 20 checkBoxDiffCache toggled(bool) settingsBase checkBoxDiffCache_toggled(bool) 28 49 20 20 lineEditExcludePerDir textChanged(QString) settingsBase lineEditExcludePerDir_textChanged(QString) 90 301 20 20 lineEditExcludeFile textChanged(QString) settingsBase lineEditExcludeFile_textChanged(QString) 90 277 20 20 checkBoxSign toggled(bool) settingsBase checkBoxSign_toggled(bool) 26 69 20 20 lineEditTemplate textChanged(QString) settingsBase lineEditTemplate_textChanged(QString) 91 277 20 20 lineEditCommitExtraOptions textChanged(QString) settingsBase lineEditCommitExtraOptions_textChanged(QString) 91 301 20 20 checkBoxRelativeDate toggled(bool) settingsBase checkBoxRelativeDate_toggled(bool) 33 54 20 20 checkBoxRangeSelectDialog toggled(bool) settingsBase checkBoxRangeSelectDialog_toggled(bool) 33 78 20 20 checkBoxReopenLastRepo toggled(bool) settingsBase checkBoxReopenLastRepo_toggled(bool) 33 102 20 20 comboBoxDoubleClickAction activated(int) settingsBase comboBoxDoubleClickAction_activated(int) 463 54 159 89 comboBoxCodecs activated(int) settingsBase comboBoxCodecs_activated(int) 112 320 20 20 checkBoxCommitVerify toggled(bool) settingsBase checkBoxCommitVerify_toggled(bool) 28 71 20 20 checkBoxCommitSign toggled(bool) settingsBase checkBoxCommitSign_toggled(bool) 28 49 20 20 checkBoxCommitUseDefMsg toggled(bool) settingsBase checkBoxCommitUseDefMsg_toggled(bool) 47 101 20 20 checkBoxCommitSign toggled(bool) settingsBase checkBoxCommitSign_toggled(bool) 28 49 20 20 lineEditExternalDiffViewer textChanged(QString) settingsBase lineEditExternalDiffViewer_textChanged(QString) 175 227 20 20 lineEditExternalEditor textChanged(QString) settingsBase lineEditExternalEditor_textChanged(QString) 175 227 20 20 pushButtonExtDiff clicked() settingsBase pushButtonExtDiff_clicked() 487 230 20 20 pushButtonExtEditor clicked() settingsBase pushButtonExtEditor_clicked() 468 250 256 188 pushButtonFont clicked() settingsBase pushButtonFont_clicked() 487 201 20 20 comboBoxUserSrc activated(int) settingsBase comboBoxUserSrc_activated(int) 440 206 256 195 checkBoxMsgOnNewSHA toggled(bool) settingsBase checkBoxMsgOnNewSHA_toggled(bool) 45 91 225 194 checkBoxLogDiffTab toggled(bool) settingsBase checkBoxLogDiffTab_toggled(bool) 45 47 225 194 checkBoxSmartLabels toggled(bool) settingsBase checkBoxSmartLabels_toggled(bool) 45 69 225 194 lineEditApplyPatchExtraOptions textChanged(QString) settingsBase lineEditApplyPatchExtraOptions_textChanged(QString) 160 275 221 171 comboBoxGitConfigSource activated(int) settingsBase comboBoxGitConfigSource_activated(int) 463 54 159 89 treeWidgetGitConfig itemChanged(QTreeWidgetItem*,int) settingsBase treeWidgetGitConfig_itemChanged(QTreeWidgetItem*, int) 236 172 147 359 buttonBox accepted() settingsBase accept() 256 451 256 236 checkBoxEnableDragnDrop toggled(bool) settingsBase checkBoxEnableDragnDrop_toggled(bool) 93 140 510 182 checkBoxShowShortRef toggled(bool) settingsBase checkBoxShowShortRef_toggled(bool) qgit-qgit-2.11/src/settingsimpl.cpp000066400000000000000000000246551500324541100173670ustar00rootroot00000000000000/* Description: settings dialog Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include #include "common.h" #include "git.h" #include "settingsimpl.h" /* By default, there are two entries in the search path: 1. SYSCONF - where SYSCONF is a directory specified when configuring Qt; by default it is INSTALL/etc/settings. 2. $HOME/.qt/ - where $HOME is the user's home directory. */ static const char* en[] = { "Latin1", "Big5 -- Chinese", "EUC-JP -- Japanese", "EUC-KR -- Korean", "GB18030 -- Chinese", "ISO-2022-JP -- Japanese", "Shift_JIS -- Japanese", "UTF-8 -- Unicode, 8-bit", "KOI8-R -- Russian", "KOI8-U -- Ukrainian", "ISO-8859-1 -- Western", "ISO-8859-2 -- Central European", "ISO-8859-3 -- Central European", "ISO-8859-4 -- Baltic", "ISO-8859-5 -- Cyrillic", "ISO-8859-6 -- Arabic", "ISO-8859-7 -- Greek", "ISO-8859-8 -- Hebrew, visually ordered", "ISO-8859-8-i -- Hebrew, logically ordered", "ISO-8859-9 -- Turkish", "ISO-8859-10", "ISO-8859-13", "ISO-8859-14", "ISO-8859-15 -- Western", "windows-1250 -- Central European", "windows-1251 -- Cyrillic", "windows-1252 -- Western", "windows-1253 -- Greek", "windows-1254 -- Turkish", "windows-1255 -- Hebrew", "windows-1256 -- Arabic", "windows-1257 -- Baltic", "windows-1258", 0 }; using namespace QGit; SettingsImpl::SettingsImpl(QWidget* p, Git* g, int defTab) : QDialog(p), git(g) { setupUi(this); int f = flags(FLAGS_KEY); checkBoxDiffCache->setChecked(f & DIFF_INDEX_F); checkBoxNumbers->setChecked(f & NUMBERS_F); checkBoxSign->setChecked(f & SIGN_PATCH_F); checkBoxCommitSign->setChecked(f & SIGN_CMT_F); checkBoxCommitVerify->setChecked(f & VERIFY_CMT_F); checkBoxCommitUseDefMsg->setChecked(f & USE_CMT_MSG_F); checkBoxRangeSelectDialog->setChecked(f & RANGE_SELECT_F); checkBoxReopenLastRepo->setChecked(f & REOPEN_REPO_F); checkBoxRelativeDate->setChecked(f & REL_DATE_F); checkBoxLogDiffTab->setChecked(f & LOG_DIFF_TAB_F); checkBoxSmartLabels->setChecked(f & SMART_LBL_F); checkBoxMsgOnNewSHA->setChecked(f & MSG_ON_NEW_F); checkBoxEnableDragnDrop->setChecked(f & ENABLE_DRAGNDROP_F); checkBoxShowShortRef->setChecked(f & ENABLE_SHORTREF_F); QSettings set; SCRef APOpt(set.value(AM_P_OPT_KEY).toString()); SCRef FPOpt(set.value(FMT_P_OPT_KEY).toString()); SCRef extDiff(set.value(EXT_DIFF_KEY, EXT_DIFF_DEF).toString()); SCRef extEditor(set.value(EXT_EDITOR_KEY, EXT_EDITOR_DEF).toString()); SCRef exFile(set.value(EX_KEY, EX_DEF).toString()); SCRef exPDir(set.value(EX_PER_DIR_KEY, EX_PER_DIR_DEF).toString()); SCRef tmplt(set.value(CMT_TEMPL_KEY, CMT_TEMPL_DEF).toString()); SCRef CMArgs(set.value(CMT_ARGS_KEY).toString()); lineEditApplyPatchExtraOptions->setText(APOpt); lineEditFormatPatchExtraOptions->setText(FPOpt); lineEditExternalDiffViewer->setText(extDiff); lineEditExternalEditor->setText(extEditor); lineEditExcludeFile->setText(exFile); lineEditExcludePerDir->setText(exPDir); lineEditTemplate->setText(tmplt); lineEditCommitExtraOptions->setText(CMArgs); lineEditTypeWriterFont->setText(TYPE_WRITER_FONT.toString()); lineEditTypeWriterFont->setCursorPosition(0); // font description could be long comboBoxDoubleClickAction->setCurrentIndex(set.value(DCLICK_ACT_KEY).toUInt()); setupCodecsCombo(); checkBoxDiffCache_toggled(checkBoxDiffCache->isChecked()); tabDialog->setCurrentIndex(defTab); userInfo(); comboBoxGitConfigSource_activated(0); } void SettingsImpl::userInfo() { /* QGit::userInfo() returns a QStringList formed by triples (defined in, user, email) */ git->userInfo(_uInfo); if (_uInfo.count() % 3 != 0) { dbs("ASSERT in SettingsImpl::userInfo(), bad info returned"); return; } bool found = false; int idx = 0; FOREACH_SL(it, _uInfo) { comboBoxUserSrc->addItem(*it); ++it; if (!found && !(*it).isEmpty()) found = true; if (!found) idx++; ++it; } if (!found) idx = 0; comboBoxUserSrc->setCurrentIndex(idx); comboBoxUserSrc_activated(idx); } void SettingsImpl::addConfigOption(QTreeWidgetItem* parent, QStringList paths, const QString& value) { if (paths.isEmpty()) { parent->setText(1, value); return; } QString name(paths.first()); paths.removeFirst(); // Options list is already ordered if (parent->childCount() == 0 || name != parent->child(0)->text(0)) parent->addChild(new QTreeWidgetItem(parent, QStringList(name))); addConfigOption(parent->child(parent->childCount() - 1), paths, value); } void SettingsImpl::readGitConfig(const QString& source) { populatingGitConfig = true; treeWidgetGitConfig->clear(); QStringList options(git->getGitConfigList(source == "Global")); options.sort(); FOREACH_SL(it, options) { QStringList paths = it->split("=").at(0).split("."); QString value = it->split("=").at(1); if (paths.isEmpty() || value.isEmpty()) { dbp("SettingsImpl::readGitConfig Unable to parse line %1", *it); continue; } QString name(paths.first()); paths.removeFirst(); QList items = treeWidgetGitConfig->findItems(name, Qt::MatchExactly); QTreeWidgetItem* item; if (items.isEmpty()) item = new QTreeWidgetItem(treeWidgetGitConfig, QStringList(name)); else item = items.first(); addConfigOption(item, paths, value); } populatingGitConfig = false; } void SettingsImpl::treeWidgetGitConfig_itemChanged(QTreeWidgetItem* item, int i) { if (populatingGitConfig) return; dbs(item->text(0));dbs(item->text(1));dbp("column %1", i); } void SettingsImpl::comboBoxUserSrc_activated(int i) { lineEditAuthor->setText(_uInfo[i * 3 + 1]); lineEditMail->setText(_uInfo[i * 3 + 2]); } void SettingsImpl::comboBoxGitConfigSource_activated(int) { readGitConfig(comboBoxGitConfigSource->currentText()); } void SettingsImpl::comboBoxDoubleClickAction_activated(int idx) { writeSetting(DCLICK_ACT_KEY, idx); } void SettingsImpl::writeSetting(const QString& key, const QVariant& value) { QSettings settings; settings.setValue(key, value); } void SettingsImpl::setupCodecList(QStringList& list) { int i = 0; while (en[i] != 0) list.append(QString::fromLatin1(en[i++])); } void SettingsImpl::setupCodecsCombo() { const QString localCodec(QTextCodec::codecForLocale()->name()); QStringList codecs; codecs.append(QString("Local Codec (" + localCodec + ")")); setupCodecList(codecs); comboBoxCodecs->insertItems(0, codecs); bool isGitArchive; QTextCodec* tc = git->getTextCodec(&isGitArchive); if (!isGitArchive) { comboBoxCodecs->setEnabled(false); return; } const QString curCodec(tc != 0 ? tc->name() : "Latin1"); QRegExp re("*" + curCodec + "*", Qt::CaseInsensitive, QRegExp::Wildcard); int idx = codecs.indexOf(re); if (idx == -1) { dbp("ASSERT: codec <%1> not available, using local codec", curCodec); idx = 0; } comboBoxCodecs->setCurrentIndex(idx); if (idx == 0) // signal activated() will not fire in this case comboBoxCodecs_activated(0); } void SettingsImpl::comboBoxCodecs_activated(int idx) { QString codecName(QTextCodec::codecForLocale()->name()); if (idx != 0) codecName = comboBoxCodecs->currentText().section(" --", 0, 0); git->setTextCodec(QTextCodec::codecForName(codecName.toLatin1())); } void SettingsImpl::pushButtonExtDiff_clicked() { QString extDiffName(QFileDialog::getOpenFileName(this, "Select the patch viewer")); if (!extDiffName.isEmpty()) lineEditExternalDiffViewer->setText(extDiffName); } void SettingsImpl::pushButtonExtEditor_clicked() { QString extEditorName(QFileDialog::getOpenFileName(this, "Select the external editor")); if (!extEditorName.isEmpty()) lineEditExternalEditor->setText(extEditorName); } void SettingsImpl::pushButtonFont_clicked() { bool ok; QFont fnt = QFontDialog::getFont(&ok, TYPE_WRITER_FONT, this); if (ok && TYPE_WRITER_FONT != fnt) { TYPE_WRITER_FONT = fnt; lineEditTypeWriterFont->setText(fnt.toString()); lineEditTypeWriterFont->setCursorPosition(0); writeSetting(TYPWRT_FNT_KEY, fnt.toString()); emit typeWriterFontChanged(); } } void SettingsImpl::changeFlag(uint f, bool b) { setFlag(f, b); emit flagChanged(f); } void SettingsImpl::checkBoxDiffCache_toggled(bool b) { lineEditExcludeFile->setEnabled(b); lineEditExcludePerDir->setEnabled(b); changeFlag(DIFF_INDEX_F, b); } void SettingsImpl::checkBoxNumbers_toggled(bool b) { changeFlag(NUMBERS_F, b); } void SettingsImpl::checkBoxSign_toggled(bool b) { changeFlag(SIGN_PATCH_F, b); } void SettingsImpl::checkBoxRangeSelectDialog_toggled(bool b) { changeFlag(RANGE_SELECT_F, b); } void SettingsImpl::checkBoxReopenLastRepo_toggled(bool b) { changeFlag(REOPEN_REPO_F, b); } void SettingsImpl::checkBoxRelativeDate_toggled(bool b) { changeFlag(REL_DATE_F, b); } void SettingsImpl::checkBoxLogDiffTab_toggled(bool b) { changeFlag(LOG_DIFF_TAB_F, b); } void SettingsImpl::checkBoxSmartLabels_toggled(bool b) { changeFlag(SMART_LBL_F, b); } void SettingsImpl::checkBoxMsgOnNewSHA_toggled(bool b) { changeFlag(MSG_ON_NEW_F, b); } void SettingsImpl::checkBoxEnableDragnDrop_toggled(bool b) { changeFlag(ENABLE_DRAGNDROP_F, b); } void SettingsImpl::checkBoxShowShortRef_toggled(bool b) { changeFlag(ENABLE_SHORTREF_F, b); } void SettingsImpl::checkBoxCommitSign_toggled(bool b) { changeFlag(SIGN_CMT_F, b); } void SettingsImpl::checkBoxCommitVerify_toggled(bool b) { changeFlag(VERIFY_CMT_F, b); } void SettingsImpl::checkBoxCommitUseDefMsg_toggled(bool b) { changeFlag(USE_CMT_MSG_F, b); } void SettingsImpl::lineEditExternalDiffViewer_textChanged(const QString& s) { writeSetting(EXT_DIFF_KEY, s); } void SettingsImpl::lineEditExternalEditor_textChanged(const QString& s) { writeSetting(EXT_EDITOR_KEY, s); } void SettingsImpl::lineEditApplyPatchExtraOptions_textChanged(const QString& s) { writeSetting(AM_P_OPT_KEY, s); } void SettingsImpl::lineEditFormatPatchExtraOptions_textChanged(const QString& s) { writeSetting(FMT_P_OPT_KEY, s); } void SettingsImpl::lineEditExcludeFile_textChanged(const QString& s) { writeSetting(EX_KEY, s); } void SettingsImpl::lineEditExcludePerDir_textChanged(const QString& s) { writeSetting(EX_PER_DIR_KEY, s); } void SettingsImpl::lineEditTemplate_textChanged(const QString& s) { writeSetting(CMT_TEMPL_KEY, s); } void SettingsImpl::lineEditCommitExtraOptions_textChanged(const QString& s) { writeSetting(CMT_ARGS_KEY, s); } qgit-qgit-2.11/src/settingsimpl.h000066400000000000000000000043371500324541100170270ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef SETTINGSIMPL_H #define SETTINGSIMPL_H #include "ui_settings.h" class QVariant; class Git; class SettingsImpl: public QDialog, public Ui_settingsBase { Q_OBJECT public: SettingsImpl(QWidget* parent, Git* git, int defTab = 0); signals: void typeWriterFontChanged(); void flagChanged(uint); protected slots: void checkBoxNumbers_toggled(bool b); void checkBoxSign_toggled(bool b); void checkBoxRangeSelectDialog_toggled(bool b); void checkBoxReopenLastRepo_toggled(bool b); void checkBoxRelativeDate_toggled(bool b); void checkBoxLogDiffTab_toggled(bool b); void checkBoxSmartLabels_toggled(bool b); void checkBoxMsgOnNewSHA_toggled(bool b); void checkBoxEnableDragnDrop_toggled(bool b); void checkBoxShowShortRef_toggled(bool b); void checkBoxDiffCache_toggled(bool b); void checkBoxCommitSign_toggled(bool b); void checkBoxCommitVerify_toggled(bool b); void checkBoxCommitUseDefMsg_toggled(bool b); void lineEditExternalDiffViewer_textChanged(const QString& s); void lineEditExternalEditor_textChanged(const QString& s); void lineEditApplyPatchExtraOptions_textChanged(const QString& s); void lineEditFormatPatchExtraOptions_textChanged(const QString& s); void lineEditExcludeFile_textChanged(const QString& s); void lineEditExcludePerDir_textChanged(const QString& s); void lineEditTemplate_textChanged(const QString& s); void lineEditCommitExtraOptions_textChanged(const QString& s); void comboBoxDoubleClickAction_activated(int i); void comboBoxCodecs_activated(int i); void comboBoxUserSrc_activated(int i); void comboBoxGitConfigSource_activated(int i); void treeWidgetGitConfig_itemChanged(QTreeWidgetItem*, int); void pushButtonExtDiff_clicked(); void pushButtonExtEditor_clicked(); void pushButtonFont_clicked(); private: void writeSetting(const QString& key, const QVariant& value); void addConfigOption(QTreeWidgetItem* parent, QStringList paths, const QString& value); void setupCodecList(QStringList& list); void setupCodecsCombo(); void readGitConfig(const QString& source); void userInfo(); void changeFlag(uint f, bool b); Git* git; QStringList _uInfo; bool populatingGitConfig; }; #endif qgit-qgit-2.11/src/smartbrowse.cpp000066400000000000000000000204221500324541100172010ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include #include #include #include "revsview.h" #include "smartbrowse.h" #define GO_UP 1 #define GO_DOWN 2 #define GO_LOG 3 #define GO_DIFF 4 #define AT_TOP 1 #define AT_BTM 2 SmartLabel::SmartLabel(const QString& text, QWidget* par) : QLabel(text, par) { this->setStyleSheet("SmartLabel { border: 1px solid LightGray;" "padding: 0px 2px 2px 2px; }"); } void SmartLabel::paintEvent(QPaintEvent* event) { // our QPainter must be destroyed before QLabel's paintEvent is called { QPainter painter(this); QColor backgroundColor = Qt::white; // give label a semi-transparent background backgroundColor.setAlpha(200); painter.fillRect(this->rect(), backgroundColor); } // let QLabel do the rest QLabel::paintEvent(event); } void SmartLabel::contextMenuEvent(QContextMenuEvent* e) { if (text().count("href=") != 2) return; QMenu* menu = new QMenu(this); menu->addAction("Switch links", this, SLOT(switchLinks())); menu->exec(e->globalPos()); delete menu; } void SmartLabel::switchLinks() { QString t(text()); QString link1(t.section("", 0, 0)); QString link2(t.section("", 0, 0)); t.replace(link1, "%1").replace(link2, "%2"); setText(t.arg(link2, link1)); adjustSize(); } SmartBrowse::SmartBrowse(RevsView* par) : QObject(par) { rv = par; wheelCnt = 0; lablesEnabled = QGit::testFlag(QGit::SMART_LBL_F); QString txt("

%2 %3

"); QString link("
%2"); QString linkUp(link.arg(QString::number(GO_UP), "Up")); QString linkDown(link.arg(QString::number(GO_DOWN), "Down")); QString linkLog(link.arg(QString::number(GO_LOG), "Log")); QString linkDiff(link.arg(QString::number(GO_DIFF), "Diff")); QTextEdit* log = static_cast(rv->tab()->textBrowserDesc); QTextEdit* diff = static_cast(rv->tab()->textEditDiff); logTopLbl = new SmartLabel(txt.arg("go-up.svg", linkUp, ""), log); logBottomLbl = new SmartLabel(txt.arg("go-down.svg", linkDiff, linkDown), log); diffTopLbl = new SmartLabel(txt.arg("go-up.svg", linkLog, linkUp), diff); diffBottomLbl = new SmartLabel(txt.arg("go-down.svg", linkUp, linkDown), diff); diffTopLbl->setFont(qApp->font()); // override parent's font to diffBottomLbl->setFont(qApp->font()); // avoid QGit::TYPE_WRITER_FONT setVisible(false); log->installEventFilter(this); diff->installEventFilter(this); QScrollBar* vsbLog = log->verticalScrollBar(); QScrollBar* vsbDiff = diff->verticalScrollBar(); vsbLog->installEventFilter(this); vsbDiff->installEventFilter(this); log->horizontalScrollBar()->installEventFilter(this); diff->horizontalScrollBar()->installEventFilter(this); connect(vsbLog, SIGNAL(valueChanged(int)), this, SLOT(updateVisibility())); connect(vsbDiff, SIGNAL(valueChanged(int)), this, SLOT(updateVisibility())); connect(logTopLbl, SIGNAL(linkActivated(const QString&)), this, SLOT(linkActivated(const QString&))); connect(logBottomLbl, SIGNAL(linkActivated(const QString&)), this, SLOT(linkActivated(const QString&))); connect(diffTopLbl, SIGNAL(linkActivated(const QString&)), this, SLOT(linkActivated(const QString&))); connect(diffBottomLbl, SIGNAL(linkActivated(const QString&)), this, SLOT(linkActivated(const QString&))); } void SmartBrowse::setVisible(bool b) { b = b && lablesEnabled; logTopLbl->setVisible(b); logBottomLbl->setVisible(b); diffTopLbl->setVisible(b); diffBottomLbl->setVisible(b); } QTextEdit* SmartBrowse::curTextEdit(bool* isDiff) { QTextEdit* log = static_cast(rv->tab()->textBrowserDesc); QTextEdit* diff = static_cast(rv->tab()->textEditDiff); if (isDiff) *isDiff = diff->isVisible(); if (!diff->isVisible() && !log->isVisible()) return NULL; return (diff->isVisible() ? diff : log); } int SmartBrowse::visibilityFlags(bool* isDiff) { static int MIN = 5; QTextEdit* te = curTextEdit(isDiff); if (!te) return 0; QScrollBar* vsb = te->verticalScrollBar(); bool v = lablesEnabled && te->isEnabled(); bool top = v && (!vsb->isVisible() || (vsb->value() - vsb->minimum() < MIN)); bool btm = v && (!vsb->isVisible() || (vsb->maximum() - vsb->value() < MIN)); return AT_TOP * top + AT_BTM * btm; } void SmartBrowse::updateVisibility() { bool isDiff; int flags = visibilityFlags(&isDiff); if (isDiff) { diffTopLbl->setVisible(flags & AT_TOP); diffBottomLbl->setVisible(flags & AT_BTM); } else { logTopLbl->setVisible(flags & AT_TOP); logBottomLbl->setVisible(flags & AT_BTM); } } void SmartBrowse::flagChanged(uint flag) { if (flag == QGit::SMART_LBL_F && curTextEdit()) { lablesEnabled = QGit::testFlag(QGit::SMART_LBL_F); setVisible(curTextEdit()->isEnabled()); updatePosition(); } if (flag == QGit::LOG_DIFF_TAB_F) rv->setTabLogDiffVisible(QGit::testFlag(QGit::LOG_DIFF_TAB_F)); } void SmartBrowse::linkActivated(const QString& text) { int key = text.toInt(); switch (key) { case GO_LOG: case GO_DIFF: rv->toggleDiffView(); break; case GO_UP: rv->tab()->listViewLog->on_keyUp(); break; case GO_DOWN: rv->tab()->listViewLog->on_keyDown(); break; default: dbp("ASSERT in SmartBrowse::linkActivated, key %1 not known", text); } } bool SmartBrowse::eventFilter(QObject *obj, QEvent *event) { if (!lablesEnabled) return QObject::eventFilter(obj, event); QTextEdit* te = dynamic_cast(obj); QScrollBar* sb = dynamic_cast(obj); QEvent::Type t = event->type(); if (te && t == QEvent::Resize) updatePosition(); if (sb && (t == QEvent::Show || t == QEvent::Hide)) updatePosition(); if (te && t == QEvent::EnabledChange) { setVisible(te->isEnabled()); updatePosition(); } if (sb && t == QEvent::Wheel && sb->orientation() == Qt::Vertical) { QWheelEvent* we = static_cast(event); if (wheelRolled(we->angleDelta().y(), visibilityFlags())) return true; // filter event out } return QObject::eventFilter(obj, event); } void SmartBrowse::updatePosition() { QTextEdit* te = curTextEdit(); if (!te) return; QScrollBar* vb = te->verticalScrollBar(); QScrollBar* hb = te->horizontalScrollBar(); int w = te->width() - vb->width() * vb->isVisible(); int h = te->height() - hb->height() * hb->isVisible(); logTopLbl->move(w - logTopLbl->width() - 10, 10); diffTopLbl->move(w - diffTopLbl->width() - 10, 10); logBottomLbl->move(w - logBottomLbl->width() - 10, h - logBottomLbl->height() - 10); diffBottomLbl->move(w - diffBottomLbl->width() - 10, h - diffBottomLbl->height() - 10); updateVisibility(); // we are called also when user toggle view manually, // so reset wheel counters to be sure we don't have alias scrollTimer.restart(); wheelCnt = 0; } bool SmartBrowse::wheelRolled(int delta, int flags) { bool justSwitched = (switchTimer.isValid() && switchTimer.elapsed() < 400); if (justSwitched) switchTimer.restart(); bool scrolling = (scrollTimer.isValid() && scrollTimer.elapsed() < 400); bool directionChanged = (wheelCnt * delta < 0); // we are called before the scroll bar is updated, so we need // to take in account roll direction to avoid false positives bool scrollingOut = ( ((flags & AT_TOP) && (delta > 0)) ||((flags & AT_BTM) && (delta < 0))); // a scroll action have to start when in range // but can continue also when goes out of range if (!scrollingOut || scrolling) scrollTimer.restart(); if (!scrollingOut || justSwitched) return justSwitched; // filter wheels events just after a switch // we want a quick rolling action to be considered valid bool tooSlow = (timeoutTimer.isValid() && timeoutTimer.elapsed() > 300); timeoutTimer.restart(); if (directionChanged || scrolling || tooSlow) wheelCnt = 0; // ok, we would be ready to switch, but we want to add some inertia wheelCnt += (delta > 0 ? 1 : -1); if (wheelCnt * wheelCnt < 9) return false; QLabel* l; if (wheelCnt > 0) l = logTopLbl->isVisible() ? logTopLbl : diffTopLbl; else l = logBottomLbl->isVisible() ? logBottomLbl : diffBottomLbl; wheelCnt = 0; switchTimer.restart(); linkActivated(l->text().section("href=", 1).section("\"", 1, 1)); return false; } qgit-qgit-2.11/src/smartbrowse.h000066400000000000000000000021431500324541100166460ustar00rootroot00000000000000/* Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef SMARTBROWSE_H #define SMARTBROWSE_H #include #include #include "revsview.h" class SmartLabel : public QLabel { Q_OBJECT public: SmartLabel(const QString& text, QWidget* par); void paintEvent(QPaintEvent* event); protected: virtual void contextMenuEvent(QContextMenuEvent* e); private slots: void switchLinks(); }; class SmartBrowse : public QObject { Q_OBJECT public: SmartBrowse(RevsView* par); protected: bool eventFilter(QObject *obj, QEvent *event); public slots: void updateVisibility(); void linkActivated(const QString&); void flagChanged(uint); private: QTextEdit* curTextEdit(bool* isDiff = NULL); void setVisible(bool b); void updatePosition(); int visibilityFlags(bool* isDiff = NULL); bool wheelRolled(int delta, int flags); RevsView* rv; SmartLabel* logTopLbl; SmartLabel* logBottomLbl; SmartLabel* diffTopLbl; SmartLabel* diffBottomLbl; QElapsedTimer scrollTimer, switchTimer, timeoutTimer; int wheelCnt; bool lablesEnabled; }; #endif qgit-qgit-2.11/src/src.pro000066400000000000000000000074321500324541100154440ustar00rootroot00000000000000# Under Windows launch script start_qgit.bat needs the # value GIT_EXEC_DIR to be set to the git bin directory GIT_EXEC_DIR = "$$(ProgramFiles)\\Git\\bin" # Under Windows uncomment following line to enable console messages #CONFIG += ENABLE_CONSOLE_MSG # check for Qt >= 5.11.0 CUR_QT = $$[QT_VERSION] # WARNING greaterThan is an undocumented function !greaterThan(CUR_QT, 5.11) { error("Sorry I need Qt 5.11.0 or later, you seem to have Qt $$CUR_QT instead") } # check for g++ compiler contains(QMAKE_CC,.*g\\+\\+.*) { CONFIG += HAVE_GCC } contains(QMAKE_CC,.*gcc.*) { CONFIG += HAVE_GCC } # General stuff TEMPLATE = app CONFIG += qt warn_on exceptions debug_and_release CONFIG += uic INCLUDEPATH += ../src MAKEFILE = qmake RESOURCES += icons.qrc # Qt5 needs "widgets" greaterThan(QT_MAJOR_VERSION, 4): QT += widgets # Platform dependent stuff win32 { TARGET = qgit target.path = $$GIT_EXEC_DIR CONFIG += windows embed_manifest_exe RC_FILE = app_icon.rc } unix:!macx { TARGET = qgit target.path = $$[QT_INSTALL_BINS] CONFIG += x11 } macx { TARGET = qgit target.path = ~/bin #CONFIG += x86 ppc RC_FILE = resources/qgit.icns } HAVE_GCC { QMAKE_CXXFLAGS_RELEASE += -s -O2 -Wno-non-virtual-dtor -Wno-long-long -pedantic QMAKE_CXXFLAGS_DEBUG += -g3 -ggdb -O0 -Wno-non-virtual-dtor -Wno-long-long -pedantic } ENABLE_CONSOLE_MSG { CONFIG -= windows CONFIG += console } INSTALLS += target # Directories DESTDIR = ../bin UI_DIR = $$BUILD_DIR MOC_DIR = $$BUILD_DIR RCC_DIR = $$BUILD_DIR OBJECTS_DIR = $$BUILD_DIR # project files FORMS += commit.ui console.ui customaction.ui fileview.ui help.ui \ mainview.ui patchview.ui rangeselect.ui revsview.ui settings.ui HEADERS += annotate.h cache.h commitimpl.h common.h config.h consoleimpl.h \ customactionimpl.h dataloader.h domain.h exceptionmanager.h \ filecontent.h filelist.h fileview.h git.h help.h inputdialog.h lanes.h \ listview.h mainimpl.h myprocess.h patchcontent.h patchview.h \ rangeselectimpl.h revdesc.h revsview.h settingsimpl.h \ smartbrowse.h treeview.h \ FileHistory.h SOURCES += annotate.cpp cache.cpp commitimpl.cpp consoleimpl.cpp \ customactionimpl.cpp dataloader.cpp domain.cpp exceptionmanager.cpp \ filecontent.cpp filelist.cpp fileview.cpp git.cpp inputdialog.cpp \ lanes.cpp listview.cpp mainimpl.cpp myprocess.cpp namespace_def.cpp \ patchcontent.cpp patchview.cpp qgit.cpp rangeselectimpl.cpp \ revdesc.cpp revsview.cpp settingsimpl.cpp smartbrowse.cpp treeview.cpp \ FileHistory.cc \ common.cpp DISTFILES += app_icon.rc helpgen.sh resources/* Src.vcproj todo.txt DISTFILES += ../COPYING ../exception_manager.txt ../README.adoc ../README_WIN.txt DISTFILES += ../qgit_inno_setup.iss ../QGit4.sln # Here we generate a batch called start_qgit.bat used, under Windows only, # to start qgit with proper PATH set. # # NOTE: qgit must be installed in git directory, among git exe files # for this to work. If you install with 'make install' this is already # done for you. # # Remember to set proper GIT_EXEC_DIR value at the beginning of this file # win32 { !exists($${GIT_EXEC_DIR}/git.exe) { error("I cannot found git files, please set GIT_EXEC_DIR in 'src.pro' file") } QGIT_BAT = ../start_qgit.bat CUR_PATH = $$system(echo %PATH%) LINE_1 = $$quote(set PATH=$$CUR_PATH;$$GIT_EXEC_DIR;) LINE_2 = $$quote(set PATH=$$CUR_PATH;) qgit_launcher.commands = @echo @echo OFF > $$QGIT_BAT qgit_launcher.commands += && @echo $$LINE_1 >> $$QGIT_BAT qgit_launcher.commands += && @echo bin\\$$TARGET >> $$QGIT_BAT qgit_launcher.commands += && @echo $$LINE_2 >> $$QGIT_BAT QMAKE_EXTRA_TARGETS += qgit_launcher PRE_TARGETDEPS += qgit_launcher } qgit-qgit-2.11/src/src.qbs000066400000000000000000000071451500324541100154320ustar00rootroot00000000000000import qbs import QbsFunctions Product { type: "application" destinationDirectory: "./bin" targetName: "qgit" Depends { name: "cpp" } Depends { name: "Qt"; submodules: ["core"] } Depends { name: "Qt.widgets"; } Probe { configure: { if (QbsFunctions.versionIsAtLeast(minimumQtVersion, Qt.core.version)) throw Error("The minimum required version Qt: " + minimumQtVersion + ". The current Qt version: " + Qt.core.version); } } cpp.cxxFlags: { var cxx = [ "-std=c++11", "-Wno-non-virtual-dtor", "-Wno-long-long", "-pedantic", ]; if (qbs.buildVariant === "debug") cxx.push("-ggdb3"); else cxx.push("-s"); if (project.conversionWarnEnabled) cxx.push("-Wconversion"); return cxx; } cpp.includePaths: [ "./", ] Group { name: "resources" files: { var files = [ "icons.qrc" ]; if (qbs.targetOS.contains('windows') && qbs.toolchain && qbs.toolchain.contains('msvc')) files.push("app_icon.rc"); if (qbs.targetOS.contains('macos') && qbs.toolchain && qbs.toolchain.contains('gcc')) files.push("resources/app_icon.rc"); return files; } } Group { name: "windows" files: [ "commitimpl.cpp", "commitimpl.h", "commit.ui", "consoleimpl.cpp", "consoleimpl.h", "console.ui", "customactionimpl.cpp", "customactionimpl.h", "customaction.ui", "fileview.cpp", "fileview.h", "fileview.ui", "help.h", "help.ui", "mainview.ui", "patchview.cpp", "patchview.h", "patchview.ui", "rangeselectimpl.cpp", "rangeselectimpl.h", "rangeselect.ui", "revsview.cpp", "revsview.h", "revsview.ui", "settingsimpl.cpp", "settingsimpl.h", "settings.ui", ] } Group { name: "others" files: [ "../exception_manager.txt", "../README.adoc", "../README_WIN.txt", "../qgit_inno_setup.iss", "helpgen.sh", "todo.txt", ] } files: [ "annotate.cpp", "annotate.h", "cache.cpp", "cache.h", "common.cpp", "common.h", "config.h", "dataloader.cpp", "dataloader.h", "domain.cpp", "domain.h", "exceptionmanager.cpp", "exceptionmanager.h", "filecontent.cpp", "filecontent.h", "filelist.cpp", "filelist.h", "git.cpp", "git.h", "inputdialog.cpp", "inputdialog.h", "lanes.cpp", "lanes.h", "listview.cpp", "listview.h", "mainimpl.cpp", "mainimpl.h", "myprocess.cpp", "myprocess.h", "patchcontent.cpp", "patchcontent.h", "revdesc.cpp", "revdesc.h", "smartbrowse.cpp", "smartbrowse.h", "treeview.cpp", "treeview.h", "FileHistory.cc", "FileHistory.h", "namespace_def.cpp", "qgit.cpp", ] //property var test: { // console.info("=== Qt.core.version ==="); // console.info(Qt.core.version); //} } qgit-qgit-2.11/src/todo.txt000066400000000000000000000003001500324541100156240ustar00rootroot00000000000000Add a QGit Icon When open history file viewer highlight all history entries in log view and stop highlight when closing.(?) RFC822-valid Subject lines which wrap across multiple text lines. qgit-qgit-2.11/src/treeview.cpp000066400000000000000000000167341500324541100164760ustar00rootroot00000000000000/* Description: files tree view Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #include #include #include "git.h" #include "domain.h" #include "mainimpl.h" #include "treeview.h" QString FileItem::fullName() const { QTreeWidgetItem* p = parent(); QString s(p ? text(0) : ""); // root directory has no fullName while (p && p->parent()) { s.prepend(p->text(0) + '/'); p = p->parent(); } return s; } void FileItem::setBold(bool b) { if (font(0).bold() == b) return; QFont fnt(font(0)); fnt.setBold(b); setFont(0, fnt); } DirItem::DirItem(DirItem* p, SCRef ts, SCRef nm) : FileItem(p, nm), treeSha(ts) {} DirItem::DirItem(QTreeWidget* p, SCRef ts, SCRef nm) : FileItem(p, nm), treeSha(ts) {} void TreeView::setup(Domain* dm, Git* g) { d = dm; git = g; st = &(d->st); ignoreCurrentChanged = false; isWorkingDir = false; // set built-in pixmaps folderClosed = QGit::mimePix(".#folder_closed"); folderOpen = QGit::mimePix(".#folder_open"); fileDefault = QGit::mimePix(".#default"); connect(this, SIGNAL(itemExpanded(QTreeWidgetItem*)), this, SLOT(on_itemExpanded(QTreeWidgetItem*))); connect(this, SIGNAL(itemCollapsed(QTreeWidgetItem*)), this, SLOT(on_itemCollapsed(QTreeWidgetItem*))); connect(this, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), this, SLOT(on_currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*))); connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(on_customContextMenuRequested(const QPoint&))); } void TreeView::on_currentItemChanged(QTreeWidgetItem* item, QTreeWidgetItem*) { if (item) { SCRef fn = ((FileItem*)item)->fullName(); if (!ignoreCurrentChanged && fn != st->fileName()) { st->setFileName(fn); st->setSelectItem(true); UPDATE_DOMAIN(d); } } } void TreeView::on_customContextMenuRequested(const QPoint& pos) { QTreeWidgetItem* item = itemAt(pos); if (item) emit contextMenu(fullName(item), QGit::POPUP_TREE_EV); } void TreeView::clear() { rootName = ""; QTreeWidget::clear(); } bool TreeView::isModified(SCRef path, bool isDir) { if (isDir) return modifiedDirs.contains(path); return modifiedFiles.contains(path); } bool TreeView::isDir(SCRef fileName) { // if currentItem is NULL or is different from fileName // return false, because treeview is not updated while // not visible, so could be out of sync. FileItem* item = static_cast(currentItem()); if (item == NULL || item->fullName() != fileName) return false; return dynamic_cast(item); } const QString TreeView::fullName(QTreeWidgetItem* item) { FileItem* f = static_cast(item); return (item ? f->fullName() : ""); } void TreeView::getTreeSelectedItems(QStringList& selectedItems) { selectedItems.clear(); QList ls = QTreeWidget::selectedItems(); FOREACH (QList, it, ls) { FileItem* f = static_cast(*it); selectedItems.append(f->fullName()); } } void TreeView::setTree(SCRef treeSha) { if (topLevelItemCount() == 0) // get working directory info only once after each TreeView::clear() git->getWorkDirFiles(modifiedFiles, modifiedDirs, RevFile::ANY); QTreeWidget::clear(); treeIsValid = true; if (!treeSha.isEmpty()) { // insert a new dir at the beginning of the list DirItem* root = new DirItem(this, treeSha, rootName); expandItem(root); // be interesting } } bool TreeView::getTree(SCRef treeSha, Git::TreeInfo& ti, bool wd, SCRef treePath) { // calls qApp->processEvents() treeIsValid = git->getTree(treeSha, ti, wd, treePath); return treeIsValid; } void TreeView::on_itemCollapsed(QTreeWidgetItem* item) { item->setData(0, Qt::DecorationRole, *folderClosed); } void TreeView::on_itemExpanded(QTreeWidgetItem* itm) { DirItem* item = dynamic_cast(itm); if (!item) return; item->setData(0, Qt::DecorationRole, *folderOpen); bool alreadyWaiting = false; if (QApplication::overrideCursor()) alreadyWaiting = (QApplication::overrideCursor()->shape() == Qt::WaitCursor); if (!alreadyWaiting) QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); if (item->childCount() < 2) { QTreeWidgetItem* dummy = item->child(0); if (dummy && dummy->text(0).isEmpty()) delete dummy; // remove dummy child Git::TreeInfo ti; if (!getTree(item->treeSha, ti, isWorkingDir, item->fullName())) return; if (!ti.empty()) { Git::TreeInfo::const_iterator it(ti.constBegin()); while (it != ti.constEnd()) { const Git::TreeEntry& te = *it; if (te.type == "tree") { DirItem* dir = new DirItem(item, te.sha, te.name); dir->setData(0, Qt::DecorationRole, *folderClosed); dir->setBold(isModified(dir->fullName(), true)); new DirItem(dir, "", ""); // dummy child to show expand sign } else { FileItem* file = new FileItem(item, te.name); file->setData(0, Qt::DecorationRole, *QGit::mimePix(te.name)); file->setBold(isModified(file->fullName())); } ++it; } } } if (!alreadyWaiting) QApplication::restoreOverrideCursor(); } void TreeView::updateTree() { if (st->sha().isEmpty()) return; // qt emits currentChanged() signal when populating // the list view, so we should ignore while here ignoreCurrentChanged = true; QApplication::setOverrideCursor(Qt::WaitCursor); isWorkingDir = (st->sha() == QGit::ZERO_SHA); bool newTree = true; DirItem* root = static_cast(topLevelItem(0)); if (root && treeIsValid) newTree = (root->treeSha != st->sha()); if ( newTree && treeIsValid && root && st->sha() != QGit::ZERO_SHA && root->treeSha != QGit::ZERO_SHA) { // root->treeSha could reference a different sha from current // one in case the tree is the same, i.e. has the same files. // so we prefer to use the previous state sha to call isSameFiles() // and benefit from the early skip logic. // In case previous sha is the same of current it means an update // call has been forced, in that case we use the 'real' root->treeSha if (st->sha(true) != st->sha(false)) newTree = !git->isSameFiles(st->sha(false), st->sha(true)); else newTree = !git->isSameFiles(root->treeSha, st->sha(true)); } if (newTree) // ok, we really need to update the tree setTree(st->sha()); else { FileItem* f = static_cast(currentItem()); if (f && f->fullName() == st->fileName()) { restoreStuff(); return; } } if (st->fileName().isEmpty()) { restoreStuff(); return; } setUpdatesEnabled(false); const QStringList lst(st->fileName().split("/")); QTreeWidgetItemIterator item(this); ++item; // first item is repository name FOREACH_SL (it, lst) { while (*item && treeIsValid) { if ((*item)->text(0) == *it) { // could be a different subdirectory with the // same name that appears before in tree view // to be sure we need to check the names SCRef fn = ((FileItem*)*item)->fullName(); if (st->fileName().startsWith(fn)) { if (dynamic_cast(*item)) { expandItem(*item); ++item; } break; // from while loop only } } ++item; } } // check if st->fileName() has been deleted by a patch older than this tree if (*item && treeIsValid) { clearSelection(); setCurrentItem(*item); // calls on_currentChanged() scrollToItem(*item); } setUpdatesEnabled(true); QTreeWidget::update(); restoreStuff(); } void TreeView::restoreStuff() { ignoreCurrentChanged = false; QApplication::restoreOverrideCursor(); } qgit-qgit-2.11/src/treeview.h000066400000000000000000000040041500324541100161260ustar00rootroot00000000000000/* Description: files tree view Author: Marco Costalba (C) 2005-2007 Copyright: See COPYING file that comes with this distribution */ #ifndef TREEVIEW_H #define TREEVIEW_H #include #include "common.h" #include "git.h" class DirItem; class TreeView; class Git; class StateInfo; class Domain; class FileItem : public QTreeWidgetItem { public: FileItem(FileItem* p, SCRef nm) : QTreeWidgetItem(p, QStringList(nm)) {} FileItem(QTreeWidget* p, SCRef nm) : QTreeWidgetItem(p, QStringList(nm)) {} virtual QString fullName() const; void setBold(bool b); }; class DirItem : public FileItem { public: DirItem(QTreeWidget* parent, SCRef ts, SCRef nm); DirItem(DirItem* parent, SCRef ts, SCRef nm); protected: friend class TreeView; QString treeSha; }; class TreeView : public QTreeWidget { Q_OBJECT public: TreeView(QWidget* par) : QTreeWidget(par), d(NULL), git(NULL), treeIsValid(false) {} void setup(Domain* d, Git* g); void setTreeName(SCRef treeName) { rootName = treeName; } void updateTree(); const QString fullName(QTreeWidgetItem* item); bool isDir(SCRef fileName); bool isModified(SCRef path, bool isDir = false); void clear(); void getTreeSelectedItems(QStringList& selectedItems); bool getTree(SCRef tSha, Git::TreeInfo& ti, bool wd, SCRef tPath); const QPixmap* folderClosed; const QPixmap* folderOpen; const QPixmap* fileDefault; signals: void updateViews(const QString& newRevSha, const QString& newFileName); void contextMenu(const QString&, int type); protected slots: void on_customContextMenuRequested(const QPoint&); void on_currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*); void on_itemExpanded(QTreeWidgetItem*); void on_itemCollapsed(QTreeWidgetItem*); private: void setTree(SCRef treeSha); void setFile(SCRef fileName); void restoreStuff(); Domain* d; Git* git; StateInfo* st; QString rootName; QStringList modifiedFiles; // no need a map, should not be a lot QStringList modifiedDirs; bool ignoreCurrentChanged; bool treeIsValid; bool isWorkingDir; }; #endif